@expo/serve-sim 0.1.45 → 0.1.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/middleware.js +2 -2
- package/dist/serve-sim.js +3 -3
- package/package.json +1 -1
package/dist/serve-sim.js
CHANGED
|
@@ -106,7 +106,7 @@ Upgrade: websocket\r
|
|
|
106
106
|
Connection: Upgrade\r
|
|
107
107
|
Sec-WebSocket-Accept: ${J}\r
|
|
108
108
|
\r
|
|
109
|
-
`),Q.resume(),!0}function hX($,Q,Z,J){if(!F5($,Q))return;let Y=new Z5(J);Y.binaryType="arraybuffer";let X=!1,G=!1,K=[],W=Buffer.from(Z),z=()=>{if(G)return;G=!0;try{Y.close()}catch{}try{Q.end(P8(8,Buffer.alloc(0)))}catch{}try{Q.destroy()}catch{}},V=(B)=>{if(X&&Y.readyState===Z5.OPEN){Y.send(B.opcode===1?B.payload.toString("utf8"):V5(B.payload));return}K.push({opcode:B.opcode,payload:Buffer.from(B.payload)})},L=()=>{try{while(W.length>0){let B=N5(W);if(!B)break;if(W=W.subarray(B.consumed),B.opcode===8){u4(Q,8,B.payload),z();return}if(B.opcode===9){u4(Q,10,B.payload);continue}if(B.opcode===1||B.opcode===2)V({opcode:B.opcode,payload:B.payload})}}catch{z()}};Y.onopen=()=>{X=!0;for(let B of K)Y.send(B.opcode===1?B.payload.toString("utf8"):V5(B.payload));K=[]},Y.onmessage=(B)=>{let N=B.data,M=typeof N==="string"?Buffer.from(N):Buffer.from(N);u4(Q,typeof N==="string"?1:2,M)},Y.onerror=z,Y.onclose=z,Q.on("data",(B)=>{if(typeof B==="string")B=Buffer.from(B);W=Buffer.concat([W,B]),L()}),Q.on("error",z),Q.on("close",z),L()}async function gX($,Q,Z){if(!C8(Z)){Q.writeHead(400,{"Content-Type":"application/json","Cache-Control":"no-store"}),Q.end(JSON.stringify({error:"invalid_device"}));return}if($.method!=="GET"){Q.writeHead(405,{Allow:"GET","Content-Type":"application/json","Cache-Control":"no-store"}),Q.end(JSON.stringify({error:"method_not_allowed"}));return}try{let J=await V$(Z);Q.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),Q.end(JSON.stringify(J))}catch(J){Q.writeHead(500,{"Content-Type":"application/json","Cache-Control":"no-store"}),Q.end(JSON.stringify({udid:Z,alive:!1,error:J instanceof Error?J.message:String(J)}))}}function uX($,Q,Z,J,Y){if(!Z)return!1;let X=J.split("?")[0];if(X==="/camera/status")return gX($,Q,Z),!0;if((X==="/webrtc/offer"||X==="/webrtc/close"||X==="/webrtc/stats"||X==="/stream-settings")&&$.method==="OPTIONS")return l6(Q),!0;if(X==="/webrtc/stats"){let K=p2(Z);if(!K)return!1;return K.handleWebRTCStats($,Q),!0}let G;try{G=w4(Z,Y)}catch{return!1}switch(X){case"/stream.mjpeg":return G.handleMjpeg($,Q),!0;case"/stream.avcc":return G.handleAvcc($,Q),!0;case"/stream-settings":return G.handleStreamSettings($,Q),!0;case"/config":return G.handleConfig($,Q),!0;case"/health":return G.handleHealth($,Q),!0;case"/webrtc/offer":return G.handleWebRTCOffer($,Q),!0;case"/webrtc/close":return G.handleWebRTCClose($,Q),!0;case"/ax":return G.handleAx($,Q),!0;case"/foreground":return G.handleForeground($,Q),!0;default:return!1}}async function j5($,Q,Z,J){if(await new Promise((X)=>y0("xcrun",["simctl","boot",$],()=>X())),!await new Promise((X)=>{y0("xcrun",["simctl","bootstatus",$,"-b"],{timeout:180000},(G)=>X(!G))})){if(!await new Promise((G)=>{y0("xcrun",["simctl","list","devices","-j"],(K,W)=>{if(K)return G(!1);try{let z=JSON.parse(W);G(Object.values(z.devices).flat().some((V)=>V.udid===$&&V.state==="Booted"))}catch{G(!1)}})}))return`Device ${$} failed to reach booted state`}return o4(Q4($,Q,Z,"127.0.0.1",J)),null}function mX($,Q){let Z=[],J=[],Y=Buffer.from(Q),X=!1,G=()=>{if(X)return;X=!0;for(let z of J)z()},K=()=>{G();try{$.end(P8(8,Buffer.alloc(0)))}catch{}try{$.destroy()}catch{}},W=()=>{for(;;){let z;try{z=N5(Y)}catch{K();return}if(!z)return;if(Y=Y.subarray(z.consumed),z.opcode===8)return K();if(z.opcode===9){u4($,10,z.payload);continue}if(z.opcode===1||z.opcode===2)for(let V of Z)V(z.payload)}};if($.on("data",(z)=>{Y=Buffer.concat([Y,z]),W()}),$.on("close",G),$.on("error",G),Q.length)W();return{send(z){u4($,2,z)},on(z,V){if(z==="message")Z.push(V);else J.push(V)},close:K}}function cX($,Q,Z,J,Y){if(!J)return!1;let X;try{X=w4(J,Y)}catch{return!1}if(!F5($,Q))return!0;return X.attachHidSocket(mX(Q,Z)),!0}function w$($,Q,Z,J,Y,X=!1){let G=(Q===""?"":Q)+"/grid/api",K=typeof Y==="string"?Y:void 0,W=typeof Y==="object"?Y:O5(K);return{...$,basePath:Q,logsEndpoint:n0(Q,"/logs",$.device),appStateEndpoint:n0(Q,"/appstate",$.device),eventLogEndpoint:n0(Q,"/api/event-log",$.device),eventLogEventsEndpoint:n0(Q,"/api/event-log/events",$.device),metricsEndpoint:n0(Q,"/metrics",$.device),axEndpoint:n0(Q,"/ax",$.device),cameraStatusEndpoint:`${Q==="/"?"":Q}/helper/${encodeURIComponent($.device)}/camera/status`,devtoolsEndpoint:n0(Q,"/devtools",$.device),streamSettingsEndpoint:kX($.streamUrl),serveSimBin:Z,gridApiEndpoint:G,gridStartEndpoint:G+"/start",gridShutdownEndpoint:G+"/shutdown",gridMemoryEndpoint:G+"/memory",previewEndpoint:Q===""?"/":Q,execToken:J,...K?{codec:K}:{},...W?{streamSettings:W}:{},...X?{proxyHelpers:!0}:{}}}async function lX($){return new Promise((Q)=>{let Z=TX();Z.once("error",()=>Q(!1)),Z.once("listening",()=>Z.close(()=>Q(!0))),Z.listen($,"127.0.0.1")})}async function H5($){let Q=`http://127.0.0.1:${$}`;try{let Z=await fetch(`${Q}/json/version`);if(!Z.ok)return null;if((await Z.json()).Browser!=="Safari/inspect-webkit")return null;return{port:$,cdpUrl:Q,async listTargets(){return(await(await fetch(`${Q}/json/list`)).json()).filter((G)=>G.id.startsWith("sim:")).map((G)=>{let W=G.id.split(":")[1],z=G.description?.match(/\(([^)]+)\)/)?.[1];return{id:G.id,title:G.title||G.url||"Untitled",url:/^https?:/i.test(G.url)?G.url:"about:blank",type:G.type||"page",udid:W,bundleId:z}})}}}catch{return null}}async function pX(){if(d0)try{return await(await d0).listTargets(),d0}catch{d0=null}return d0=(async()=>{let{startCdpServer:$}=await Promise.resolve().then(() => (eQ(),sQ));for(let Q=x$;Q<x$+50;Q++){if(!await lX(Q)){let Z=await H5(Q);if(Z)return Z;continue}try{let Z=await $({host:"127.0.0.1",port:Q});return{port:Q,cdpUrl:`http://127.0.0.1:${Q}`,async listTargets(){return Z.getTargets().filter((J)=>J.source?.kind==="simulator").map((J)=>{let Y=J.url??"";return{id:J.targetId,title:J.title||J.appName||Y||"Untitled",url:/^https?:/i.test(Y)?Y:"about:blank",type:J.type||"page",appName:J.appName,bundleId:J.bundleId,udid:J.source?.id,inUseByOtherInspector:!!J.inUseByOtherInspector}})},highlightTarget:Z.highlightTarget?.bind(Z),releaseHighlight:Z.releaseHighlight?.bind(Z)}}catch(Z){if(Z?.code==="EADDRINUSE"){let J=await H5(Q);if(J)return J;continue}throw Z}}throw Error(`No available inspect-webkit port found in ${x$}-${x$+49}`)})().catch(($)=>{throw d0=null,$}),d0}function dX($){return Array.isArray($)?$[0]:$}function T5($){return dX($.headers["x-forwarded-proto"])?.split(",",1)[0]?.trim().toLowerCase()}function nX($){return T5($)==="https"?"wss":"ws"}function S$($){return T5($)==="https"?"https":"http"}function iX($,Q,Z,J){let Y=new URL(`${$}/inspector.html`,"http://serve-sim.local");return Y.searchParams.set(Q,`${Z}/page/${encodeURIComponent(J)}`),`${Y.pathname}${Y.search}`}function D8(){try{let $=process.argv;if($[1]&&L5($[1]))return $[1]}catch{}return"serve-sim"}function oX(){if(!A8)A8=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT4KPHN0eWxlPi8qISB0YWlsd2luZGNzcyB2NC4xLjE0IHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSAqL0BsYXllciBwcm9wZXJ0aWVzO0BsYXllciB0aGVtZSxiYXNlLGNvbXBvbmVudHMsdXRpbGl0aWVzO0BsYXllciB0aGVtZXs6cm9vdCw6aG9zdHstLWZvbnQtc2Fuczp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7LS1mb250LW1vbm86dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLG1vbm9zcGFjZTstLWNvbG9yLWFtYmVyLTQwMDpva2xjaCg4Mi44JSAuMTg5IDg0LjQyOSk7LS1jb2xvci1lbWVyYWxkLTQwMDpva2xjaCg3Ni41JSAuMTc3IDE2My4yMjMpOy0tY29sb3ItY3lhbi00MDA6b2tsY2goNzguOSUgLjE1NCAyMTEuNTMpOy0tY29sb3Itc2t5LTQwMDpva2xjaCg3NC42JSAuMTYgMjMyLjY2MSk7LS1jb2xvci12aW9sZXQtNDAwOm9rbGNoKDcwLjIlIC4xODMgMjkzLjU0MSk7LS1jb2xvci1ibGFjazojMDAwOy0tY29sb3Itd2hpdGU6I2ZmZjstLXNwYWNpbmc6LjI1cmVtOy0tZm9udC13ZWlnaHQtbWVkaXVtOjUwMDstLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLXRyYWNraW5nLXdpZGU6LjAyNWVtOy0tbGVhZGluZy10aWdodDoxLjI1Oy0tbGVhZGluZy1zbnVnOjEuMzc1Oy0tcmFkaXVzLXhzOi4xMjVyZW07LS1yYWRpdXMtbWQ6LjM3NXJlbTstLXJhZGl1cy1sZzouNXJlbTstLXJhZGl1cy14bDouNzVyZW07LS1lYXNlLW91dDpjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy0tYmx1ci1tZDoxMnB4Oy0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7LS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tZGVmYXVsdC1mb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpOy0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7LS1jb2xvci1wYW5lbDojMWMxYzFlOy0tY29sb3ItcGFuZWwtYmc6dmFyKC0tc2VydmUtc2ltLXBhbmVsLWJnKTstLWNvbG9yLXBhbmVsLWJnLXRyYW5zbHVjZW50OnZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc2x1Y2VudCk7LS1jb2xvci1wYW5lbC1vdmVybGF5OiMxODE4MThhNjstLWNvbG9yLXBhbmVsLWRlZXA6IzExMTExMzstLWNvbG9yLXBhZ2U6IzBhMGEwYTstLWNvbG9yLWFjY2VudDojYTViNGZjOy0tY29sb3Itc3VjY2Vzcy1lbWVyYWxkOiMzNGQzOTk7LS1jb2xvci1kYW5nZXI6I2Y4NzE3MTstLWNvbG9yLWRhbmdlci1zb2Z0OiNmY2E1YTU7LS1jb2xvci13YXJuaW5nOiNmYmJmMjQ7LS1jb2xvci13YXJuaW5nLXNvZnQ6I2ZjZDM0ZDstLWZvbnQtc3lzdGVtOi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLHNhbnMtc2VyaWZ9fUBsYXllciBiYXNleyosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmJhY2tkcm9we2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjAgc29saWQ7bWFyZ2luOjA7cGFkZGluZzowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH1odG1sLDpob3N0ey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlO3RhYi1zaXplOjQ7bGluZS1oZWlnaHQ6MS41O2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtZm9udC1mYW1pbHksdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWhye2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHg7aGVpZ2h0OjB9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXAscHJle2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSx1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtbW9uby1mb250LXZhcmlhdGlvbi1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MH1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1vbCx1bCxtZW51e2xpc3Qtc3R5bGU6bm9uZX1pbWcsc3ZnLHZpZGVvLGNhbnZhcyxhdWRpbyxpZnJhbWUsZW1iZWQsb2JqZWN0e2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWltZyx2aWRlb3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b31idXR0b24saW5wdXQsc2VsZWN0LG9wdGdyb3VwLHRleHRhcmVhe2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntmb250OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXJhZGl1czowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06d2hlcmUoc2VsZWN0Oi13ZWJraXQtYW55KFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXB7Zm9udC13ZWlnaHQ6Ym9sZGVyfTp3aGVyZShzZWxlY3Q6LW1vei1hbnkoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cHtmb250LXdlaWdodDpib2xkZXJ9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0Oi13ZWJraXQtYW55KFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OndoZXJlKHNlbGVjdDotbW96LWFueShbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3VwIG9wdGlvbntwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fTp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cCBvcHRpb257cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OnBsYWNlaG9sZGVye29wYWNpdHk6MX1Ac3VwcG9ydHMgKCBub3QgKC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b24pKSBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogMXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLGN1cnJlbnRjb2xvciA1MCUsdHJhbnNwYXJlbnQpfX19dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZXt0ZXh0LWFsaWduOmluaGVyaXQ7bWluLWhlaWdodDoxbGh9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7ZGlzcGxheTppbmxpbmUtZmxleH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcntwYWRkaW5nOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2xpbmUtaGVpZ2h0OjF9Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9YnV0dG9ue2FwcGVhcmFuY2U6YnV0dG9ufWlucHV0OndoZXJlKFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF0pe2FwcGVhcmFuY2U6YnV0dG9ufTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnthcHBlYXJhbmNlOmJ1dHRvbn06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbGF5ZXIgdXRpbGl0aWVzey5cW2NvbnRhaW5lci10eXBlXDppbmxpbmUtc2l6ZVxde2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1hdXRve3BvaW50ZXItZXZlbnRzOmF1dG99LnBvaW50ZXItZXZlbnRzLW5vbmV7cG9pbnRlci1ldmVudHM6bm9uZX0uY29sbGFwc2V7dmlzaWJpbGl0eTpjb2xsYXBzZX0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufS52aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47Y2xpcC1wYXRoOmluc2V0KDUwJSk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MH0uYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGV9LmZpeGVke3Bvc2l0aW9uOmZpeGVkfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc3RhdGlje3Bvc2l0aW9uOnN0YXRpY30uc3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0uaW5zZXQtMHtpbnNldDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS50b3AtMHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTJ7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9LnRvcC0ze3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS50b3AtXFsycHhcXXt0b3A6MnB4fS50b3AtXFtjYWxjXCgxMDBcJVwrNHB4XClcXXt0b3A6Y2FsYygxMDAlICsgNHB4KX0udG9wLVxbY2FsY1woMTAwXCVcKzZweFwpXF17dG9wOmNhbGMoMTAwJSArIDZweCl9LnRvcC1mdWxse3RvcDoxMDAlfS5yaWdodC0we3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LnJpZ2h0LTBcLjV7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnJpZ2h0LTJcLjV7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5yaWdodC0ze3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LnJpZ2h0LVxbOXB4XF17cmlnaHQ6OXB4fS5ib3R0b20tMHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYm90dG9tLTBcLjV7Ym90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5ib3R0b20tM3tib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ubGVmdC0we2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LmxlZnQtM3tsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0yMHt6LWluZGV4OjIwfS56LTMwe3otaW5kZXg6MzB9LnotMzV7ei1pbmRleDozNX0uei0zNnt6LWluZGV4OjM2fS56LTQwe3otaW5kZXg6NDB9LnotNTB7ei1pbmRleDo1MH0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NDhyZW19fUBtZWRpYSAobWluLXdpZHRoOjY0cmVtKXsuY29udGFpbmVye21heC13aWR0aDo2NHJlbX19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjgwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5NnJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTZyZW19fS5tLTB7bWFyZ2luOmNhbGModmFyKC0tc3BhY2luZykqMCl9Li1teC0xe21hcmdpbi1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSotMSl9Lm14LTBcLjV7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubXgtMVwuNXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uLW15LTJ7bWFyZ2luLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqLTIpfS5teS0xe21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS4tbXQtMFwuNXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLS41KX0ubXQtMFwuNXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5tdC0xe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXQtMnttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9Lm10LVxbM3B4XF17bWFyZ2luLXRvcDozcHh9Lm1yLVxbM3B4XF17bWFyZ2luLXJpZ2h0OjNweH0ubWwtMFwuNXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubWwtMVwuNXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30uYm94LWJvcmRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9LmJsb2Nre2Rpc3BsYXk6YmxvY2t9LmNvbnRlbnRze2Rpc3BsYXk6Y29udGVudHN9LmZsZXh7ZGlzcGxheTpmbGV4fS5ncmlke2Rpc3BsYXk6Z3JpZH0uaGlkZGVue2Rpc3BsYXk6bm9uZX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LlxbYXNwZWN0LXJhdGlvXDoxNlwvMTFcXXthc3BlY3QtcmF0aW86MTYvMTF9LnNpemUtMVwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uc2l6ZS0yXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMi41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5zaXplLTNcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnNpemUtNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5zaXplLTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uc2l6ZS05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnNpemUtXFsycHhcXXt3aWR0aDoycHg7aGVpZ2h0OjJweH0uc2l6ZS1cWzE0cHhcXXt3aWR0aDoxNHB4O2hlaWdodDoxNHB4fS5zaXplLVxbMThweFxde3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9LnNpemUtXFsxOXB4XF17d2lkdGg6MTlweDtoZWlnaHQ6MTlweH0uc2l6ZS1mdWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMlwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1wuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5oLTR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmgtNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uaC01XC41e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjUuNSl9LmgtNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uaC03e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5oLTh7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LmgtMTB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5oLVxbM3B4XF17aGVpZ2h0OjNweH0uaC1cWzEzcHhcXXtoZWlnaHQ6MTNweH0uaC1cWzE0cHhcXXtoZWlnaHQ6MTRweH0uaC1cWzE2cHhcXXtoZWlnaHQ6MTZweH0uaC1cWzE4cHhcXXtoZWlnaHQ6MThweH0uaC1cWzIycHhcXXtoZWlnaHQ6MjJweH0uaC1cWzI2cHhcXXtoZWlnaHQ6MjZweH0uaC1cWzMwcHhcXXtoZWlnaHQ6MzBweH0uaC1mdWxse2hlaWdodDoxMDAlfS5oLXB4e2hlaWdodDoxcHh9Lmgtc2NyZWVue2hlaWdodDoxMDB2aH0ubWF4LWgtOTB7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjkwKX0ubWF4LWgtXFsyNjBweFxde21heC1oZWlnaHQ6MjYwcHh9Lm1heC1oLVxbMzIwcHhcXXttYXgtaGVpZ2h0OjMyMHB4fS5tYXgtaC1mdWxse21heC1oZWlnaHQ6MTAwJX0ubWluLWgtMHttaW4taGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1pbi1oLVxbMjJweFxde21pbi1oZWlnaHQ6MjJweH0ubWluLWgtXFszMHB4XF17bWluLWhlaWdodDozMHB4fS5taW4taC1cWzM2cHhcXXttaW4taGVpZ2h0OjM2cHh9Lm1pbi1oLVxbNDRweFxde21pbi1oZWlnaHQ6NDRweH0ubWluLWgtcHh7bWluLWhlaWdodDoxcHh9LnctMXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS53LTJcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0udy00e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnctNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS53LTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0udy03e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNyl9LnctOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS53LTEwe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTApfS53LTIxe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMjEpfS53LVxbMjJweFxde3dpZHRoOjIycHh9LnctXFszMHB4XF17d2lkdGg6MzBweH0udy1cWzMyXCVcXXt3aWR0aDozMiV9LnctXFszNlwlXF17d2lkdGg6MzYlfS53LVxbNDBcJVxde3dpZHRoOjQwJX0udy1cWzQyXCVcXXt3aWR0aDo0MiV9LnctXFs0NlwlXF17d2lkdGg6NDYlfS53LVxbNDhcJVxde3dpZHRoOjQ4JX0udy1cWzU4XCVcXXt3aWR0aDo1OCV9LnctXFs2MlwlXF17d2lkdGg6NjIlfS53LVxbNjhcJVxde3dpZHRoOjY4JX0udy1cWzcwXCVcXXt3aWR0aDo3MCV9LnctXFs3NFwlXF17d2lkdGg6NzQlfS53LVxbMTIwcHhcXXt3aWR0aDoxMjBweH0udy1cW2NhbGNcKDEwMFwlXCs4cHhcKVxde3dpZHRoOmNhbGMoMTAwJSArIDhweCl9LnctXFttaW5cKDMyMHB4XCxjYWxjXCgxMDB2dy0zMnB4XClcKVxde3dpZHRoOm1pbigzMjBweCwxMDB2dyAtIDMycHgpfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5tYXgtdy05MHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5MCl9Lm1heC13LTEyMHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMjApfS5tYXgtdy1cWzE1MHB4XF17bWF4LXdpZHRoOjE1MHB4fS5tYXgtdy1cWzIyMHB4XF17bWF4LXdpZHRoOjIyMHB4fS5tYXgtdy1cWzM2MHB4XF17bWF4LXdpZHRoOjM2MHB4fS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy1cWzU2cHhcXXttaW4td2lkdGg6NTZweH0ubWluLXctXFsyMDBweFxde21pbi13aWR0aDoyMDBweH0ubWluLXctXFsyMjBweFxde21pbi13aWR0aDoyMjBweH0ubWluLXctcHh7bWluLXdpZHRoOjFweH0uZmxleC0xe2ZsZXg6MX0uc2hyaW5re2ZsZXgtc2hyaW5rOjF9LnNocmluay0we2ZsZXgtc2hyaW5rOjB9Lmdyb3d7ZmxleC1ncm93OjF9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtMXstLXR3LXRyYW5zbGF0ZS14OmNhbGModmFyKC0tc3BhY2luZykqMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTpjYWxjKGNhbGMoMS8yKjEwMCUpKi0xKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2Zvcm17dHJhbnNmb3JtOnZhcigtLXR3LXJvdGF0ZS14LCl2YXIoLS10dy1yb3RhdGUteSwpdmFyKC0tdHctcm90YXRlLXosKXZhcigtLXR3LXNrZXcteCwpdmFyKC0tdHctc2tldy15LCl9LmFuaW1hdGUtXFtncmlkLXNwaW5fMFwuN3NfbGluZWFyX2luZmluaXRlXF17YW5pbWF0aW9uOmdyaWQtc3BpbiAuN3MgbGluZWFyIGluZmluaXRlfS5hbmltYXRlLVxbZ3JpZC1zcGluXzBcLjhzX2xpbmVhcl9pbmZpbml0ZVxde2FuaW1hdGlvbjpncmlkLXNwaW4gLjhzIGxpbmVhciBpbmZpbml0ZX0uY3Vyc29yLWNvbC1yZXNpemV7Y3Vyc29yOmNvbC1yZXNpemV9LmN1cnNvci1kZWZhdWx0e2N1cnNvcjpkZWZhdWx0fS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5jdXJzb3ItcG9pbnRlcntjdXJzb3I6cG9pbnRlcn0uY3Vyc29yLXByb2dyZXNze2N1cnNvcjpwcm9ncmVzc30uY3Vyc29yLXRleHR7Y3Vyc29yOnRleHR9LnRvdWNoLW5vbmV7dG91Y2gtYWN0aW9uOm5vbmV9LnJlc2l6ZXtyZXNpemU6Ym90aH0ubGlzdC1ub25le2xpc3Qtc3R5bGUtdHlwZTpub25lfS5hcHBlYXJhbmNlLW5vbmV7YXBwZWFyYW5jZTpub25lfS5cW2dyaWQtdGVtcGxhdGUtY29sdW1uc1w6MWZyXzFmcl8xZnJcXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmciAxZnJ9LlxbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXDphdXRvXzFmcl9hdXRvXF17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gMWZyIGF1dG99LlxbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXDphdXRvX21pbm1heFwoMFwsMWZyXClfYXV0b1xde2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvIG1pbm1heCgwLDFmcilhdXRvfS5ncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmdyaWQtY29scy1cWzU2cHhfMWZyX2F1dG9cXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NTZweCAxZnIgYXV0b30uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtbm93cmFwe2ZsZXgtd3JhcDpub3dyYXB9LnBsYWNlLWl0ZW1zLWNlbnRlcntwbGFjZS1pdGVtczogY2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOiBjZW50ZXJ9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0fS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5nYXAtMFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAtMntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ2FwLTJcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ2FwLTN7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC01e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5nYXAtXFs1cHhcXXtnYXA6NXB4fS5nYXAtcHh7Z2FwOjFweH0uZ2FwLXgtM3tjb2x1bW4tZ2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC15LTBcLjV7cm93LWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uanVzdGlmeS1zZWxmLWVuZHtqdXN0aWZ5LXNlbGY6ZmxleC1lbmR9LnRydW5jYXRle292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ub3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1cWzJweFxde2JvcmRlci1yYWRpdXM6MnB4fS5yb3VuZGVkLVxbM3B4XF17Ym9yZGVyLXJhZGl1czozcHh9LnJvdW5kZWQtXFs0cHhcXXtib3JkZXItcmFkaXVzOjRweH0ucm91bmRlZC1cWzVweFxde2JvcmRlci1yYWRpdXM6NXB4fS5yb3VuZGVkLVxbN3B4XF17Ym9yZGVyLXJhZGl1czo3cHh9LnJvdW5kZWQtXFs4cHhcXXtib3JkZXItcmFkaXVzOjhweH0ucm91bmRlZC1cWzlweFxde2JvcmRlci1yYWRpdXM6OXB4fS5yb3VuZGVkLVxbMTBweFxde2JvcmRlci1yYWRpdXM6MTBweH0ucm91bmRlZC1cWzE0cHhcXXtib3JkZXItcmFkaXVzOjE0cHh9LnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjMuNDAyODJlMzhweH0ucm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyl9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpfS5yb3VuZGVkLW5vbmV7Ym9yZGVyLXJhZGl1czowfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhsKX0ucm91bmRlZC14c3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyl9LnJvdW5kZWQtdC1cWzEwcHhcXXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEwcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MTBweH0uYm9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci0we2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5ib3JkZXItMntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItdHtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1ye2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWRhc2hlZHstLXR3LWJvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXN0eWxlOmRhc2hlZH0uYm9yZGVyLW5vbmV7LS10dy1ib3JkZXItc3R5bGU6bm9uZTtib3JkZXItc3R5bGU6bm9uZX0uXCFib3JkZXItXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjZcKVxde2JvcmRlci1jb2xvcjojMGE4NGZmOTkhaW1wb3J0YW50fS5ib3JkZXItXFtcIzNiNWY5OVxde2JvcmRlci1jb2xvcjojM2I1Zjk5fS5ib3JkZXItXFtcIzVmNjI2OFxde2JvcmRlci1jb2xvcjojNWY2MjY4fS5ib3JkZXItXFtcIzIyMlxde2JvcmRlci1jb2xvcjojMjIyfS5ib3JkZXItXFtcI2ZmNDUzYVxdXC81MHtib3JkZXItY29sb3I6I2ZmNDUzYTgwO2JvcmRlci1jb2xvcjpjb2xvcihkaXNwbGF5LXAzIC45MjI2NzMgLjMzMzEzNCAuMjcxNTEvLjUpO2JvcmRlci1jb2xvcjpsYWIoNTguNzYyOCUgNjkuODQ2NyA1MC4zODg2Ly41KX0uYm9yZGVyLWFjY2VudHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYWNjZW50KX0uYm9yZGVyLWRhbmdlclwvMjB7Ym9yZGVyLWNvbG9yOiNmODcxNzEzM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGFuZ2VyXC8yMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWRhbmdlcikyMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLWRhbmdlclwvMzB7Ym9yZGVyLWNvbG9yOiNmODcxNzE0ZH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGFuZ2VyXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWRhbmdlcikzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdhcm5pbmdcLzI1e2JvcmRlci1jb2xvcjojZmJiZjI0NDB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXdhcm5pbmdcLzI1e2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2FybmluZykyNSUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LmJvcmRlci13aGl0ZVwvOHtib3JkZXItY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvOHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTglLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMTB7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxYX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcLzEwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTAlLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMTJ7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcLzEye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTIlLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMjB7Ym9yZGVyLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMjB7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC8yNXtib3JkZXItY29sb3I6I2ZmZmZmZjQwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMjV7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyNSUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC8zMHtib3JkZXItY29sb3I6I2ZmZmZmZjRkfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMzB7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC9cWzBcLjA2XF17Ym9yZGVyLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcL1xbMFwuMDZcXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19LmJvcmRlci10LVxbXCNmNGY0ZjVcXXtib3JkZXItdG9wLWNvbG9yOiNmNGY0ZjV9LmJvcmRlci10LXdoaXRle2JvcmRlci10b3AtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5ib3JkZXItdC13aGl0ZVwvNjB7Ym9yZGVyLXRvcC1jb2xvcjojZmZmOX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItdC13aGl0ZVwvNjB7Ym9yZGVyLXRvcC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNjAlLHRyYW5zcGFyZW50KX19LlwhYmctXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjA4XClcXXtiYWNrZ3JvdW5kLWNvbG9yOiMwYTg0ZmYxNCFpbXBvcnRhbnR9LlwhYmctd2hpdGVcL1xbMFwuMTJcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxZiFpbXBvcnRhbnR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXCFiZy13aGl0ZVwvXFswXC4xMlxde2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTEyJSx0cmFuc3BhcmVudCkhaW1wb3J0YW50fX0uYmctXFtcIzBhMGEwY1xde2JhY2tncm91bmQtY29sb3I6IzBhMGEwY30uYmctXFtcIzBhODRmZlxde2JhY2tncm91bmQtY29sb3I6IzBhODRmZn0uYmctXFtcIzFjMWMxY1xde2JhY2tncm91bmQtY29sb3I6IzFjMWMxY30uYmctXFtcIzZlNmU3Mlxde2JhY2tncm91bmQtY29sb3I6IzZlNmU3Mn0uYmctXFtcIzlhOWE5ZVxde2JhY2tncm91bmQtY29sb3I6IzlhOWE5ZX0uYmctXFtcIzIwMmIzYVxde2JhY2tncm91bmQtY29sb3I6IzIwMmIzYX0uYmctXFtcIzIyMlxde2JhY2tncm91bmQtY29sb3I6IzIyMn0uYmctXFtcIzI2MzY0Y1xde2JhY2tncm91bmQtY29sb3I6IzI2MzY0Y30uYmctXFtcIzEwMTAxMFxde2JhY2tncm91bmQtY29sb3I6IzEwMTAxMH0uYmctXFtcI2Y4NzE3MVxde2JhY2tncm91bmQtY29sb3I6I2Y4NzE3MX0uYmctXFtcI2ZmNDUzYVxdXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQ1M2ExYTtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yKGRpc3BsYXktcDMgLjkyMjY3MyAuMzMzMTM0IC4yNzE1MS8uMSk7YmFja2dyb3VuZC1jb2xvcjpsYWIoNTguNzYyOCUgNjkuODQ2NyA1MC4zODg2Ly4xKX0uYmctXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjIyXClcXXtiYWNrZ3JvdW5kLWNvbG9yOiMwYTg0ZmYzOH0uYmctXFtyZ2JhXCg5OVwsMTAyXCwyNDFcLDBcLjE4XClcXXtiYWNrZ3JvdW5kLWNvbG9yOiM2MzY2ZjEyZX0uYmctYWNjZW50e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYWNjZW50KX0uYmctYmxhY2t7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9LmJnLWJsYWNrXC85MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDBlNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1wvOTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItYmxhY2spOTAlLHRyYW5zcGFyZW50KX19LmJnLWRhbmdlci1zb2Z0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLXNvZnQpfS5iZy1kYW5nZXJcLzEwe2JhY2tncm91bmQtY29sb3I6I2Y4NzE3MTFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRhbmdlclwvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItZGFuZ2VyKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcGFnZSl9LmJnLXBhbmVse2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcGFuZWwpfS5iZy1wYW5lbC1iZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmVsLWJnKX0uYmctcGFuZWwtYmctdHJhbnNsdWNlbnR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lbC1iZy10cmFuc2x1Y2VudCl9LmJnLXBhbmVsLWRlZXB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lbC1kZWVwKX0uYmctcGFuZWwtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmVsLW92ZXJsYXkpfS5iZy1zdWNjZXNzLWVtZXJhbGR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWVtZXJhbGQpfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmYmJmMjQxYX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13YXJuaW5nKTEwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uYmctd2hpdGVcLzZ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzZ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNiUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzh7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMTR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzh7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzEwe2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzEye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xMntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMiUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzE1e2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjI2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNSUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzIwe2JhY2tncm91bmQtY29sb3I6I2ZmZjN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzIwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvNDB7YmFja2dyb3VuZC1jb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvNDB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDAlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvNTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjAzXF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDh9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMDNcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkzJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvXFswXC4wNFxde2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjBhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC9cWzBcLjA0XF17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcL1xbMFwuMDZcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvXFswXC4wNlxde2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjA4XF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMTR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMDhcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4JSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvXFswXC4xMlxde2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC9cWzBcLjEyXF17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTIlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjE2XF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMjl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMTZcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNiUsdHJhbnNwYXJlbnQpfX0uYmctXFtsaW5lYXItZ3JhZGllbnRcKDE0NWRlZ1wsXCMyNTNhNWZcLFwjMTYyMTMyXClcXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsIzI1M2E1ZiwjMTYyMTMyKX0uYmctXFtsaW5lYXItZ3JhZGllbnRcKHRvX2JvdHRvbVwsXCMxYzFjMWVfMFwlXCxyZ2JhXCgyOFwsMjhcLDMwXCwwXClfMTAwXCVcKVxde2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KCMxYzFjMWUgMCUsIzFjMWMxZTAwIDEwMCUpfS5iZy1cW2xpbmVhci1ncmFkaWVudFwodG9fcmlnaHRcLHJnYmFcKDI4XCwyOFwsMzBcLDBcKV8wXCVcLFwjMWMxYzFlXzU1XCVcKVxde2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMxYzFjMWUwMCAwJSwjMWMxYzFlIDU1JSl9LmJnLVxbbGluZWFyLWdyYWRpZW50XCh0b190b3BcLFwjMWMxYzFlXzBcJVwscmdiYVwoMjhcLDI4XCwzMFwsMFwpXzEwMFwlXClcXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgjMWMxYzFlMDAgMCUsIzFjMWMxZSAxMDAlKX0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5vYmplY3QtY292ZXJ7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucC0wXC41e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnAtMXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnAtM1wuNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucC02e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHgtMFwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHgtMXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weC0xXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHgtMntwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weC0yXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucHgtM3twYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5weC0zXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB4LVxbNVwuNXB4XF17cGFkZGluZy1pbmxpbmUtc3RhcnQ6NS41cHg7cGFkZGluZy1pbmxpbmUtZW5kOjUuNXB4fS5weC1cWzdweFxde3BhZGRpbmctaW5saW5lLXN0YXJ0OjdweDtwYWRkaW5nLWlubGluZS1lbmQ6N3B4fS5weS0wXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnB5LTF7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weS0xXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5weS0ye3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHktMlwuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucHktNHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5weS1cWzJweFxde3BhZGRpbmctYmxvY2stc3RhcnQ6MnB4O3BhZGRpbmctYmxvY2stZW5kOjJweH0ucHktXFszcHhcXXtwYWRkaW5nLWJsb2NrLXN0YXJ0OjNweDtwYWRkaW5nLWJsb2NrLWVuZDozcHh9LnB5LVxbNXB4XF17cGFkZGluZy1ibG9jay1zdGFydDo1cHg7cGFkZGluZy1ibG9jay1lbmQ6NXB4fS5weS1cWzdweFxde3BhZGRpbmctYmxvY2stc3RhcnQ6N3B4O3BhZGRpbmctYmxvY2stZW5kOjdweH0ucHQtMFwuNXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHQtMXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5wdC0xXC41e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHQtMlwuNXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnByLTJ7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wci0zXC41e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5wci1cWzI2cHhcXXtwYWRkaW5nLXJpZ2h0OjI2cHh9LnBiLTBcLjV7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnBiLTF7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucGItMVwuNXtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnBiLTJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGItXFsycHhcXXtwYWRkaW5nLWJvdHRvbToycHh9LnBsLTJ7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnBsLTJcLjV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucGwtM3twYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucGwtN3twYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0ucGwtXFsyNnB4XF17cGFkZGluZy1sZWZ0OjI2cHh9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LlxbZm9udC1mYW1pbHlcOi1hcHBsZS1zeXN0ZW1cLHN5c3RlbS11aVwsc2Fucy1zZXJpZlxde2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sTm90byBTYW5zLFVidW50dSxDYW50YXJlbGwsSGVsdmV0aWNhIE5ldWUsc2Fucy1zZXJpZn0uZm9udC1cW2luaGVyaXRcXXtmb250LWZhbWlseTppbmhlcml0fS5mb250LW1vbm97Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uZm9udC1zeXN0ZW17Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zeXN0ZW0pfS50ZXh0LVxbOXB4XF17Zm9udC1zaXplOjlweH0udGV4dC1cWzEwcHhcXXtmb250LXNpemU6MTBweH0udGV4dC1cWzExXC41cHhcXXtmb250LXNpemU6MTEuNXB4fS50ZXh0LVxbMTFweFxde2ZvbnQtc2l6ZToxMXB4fS50ZXh0LVxbMTJweFxde2ZvbnQtc2l6ZToxMnB4fS50ZXh0LVxbMTNweFxde2ZvbnQtc2l6ZToxM3B4fS50ZXh0LVxbMTRweFxde2ZvbnQtc2l6ZToxNHB4fS50ZXh0LVxbMTdweFxde2ZvbnQtc2l6ZToxN3B4fS50ZXh0LVxbMThweFxde2ZvbnQtc2l6ZToxOHB4fS5sZWFkaW5nLVxbMVwuNVxdey0tdHctbGVhZGluZzoxLjU7bGluZS1oZWlnaHQ6MS41fS5sZWFkaW5nLVxbMVwuMzVcXXstLXR3LWxlYWRpbmc6MS4zNTtsaW5lLWhlaWdodDoxLjM1fS5sZWFkaW5nLW5vbmV7LS10dy1sZWFkaW5nOjE7bGluZS1oZWlnaHQ6MX0ubGVhZGluZy1zbnVney0tdHctbGVhZGluZzp2YXIoLS1sZWFkaW5nLXNudWcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctc251Zyl9LmxlYWRpbmctdGlnaHR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctdGlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctdGlnaHQpfS5mb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZm9udC1zZW1pYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCl9LnRyYWNraW5nLVxbMFwuMWVtXF17LS10dy10cmFja2luZzouMWVtO2xldHRlci1zcGFjaW5nOi4xZW19LnRyYWNraW5nLVxbMFwuMDJlbVxdey0tdHctdHJhY2tpbmc6LjAyZW07bGV0dGVyLXNwYWNpbmc6LjAyZW19LnRyYWNraW5nLVxbMFwuMDRlbVxdey0tdHctdHJhY2tpbmc6LjA0ZW07bGV0dGVyLXNwYWNpbmc6LjA0ZW19LnRyYWNraW5nLVxbMFwuMDZlbVxdey0tdHctdHJhY2tpbmc6LjA2ZW07bGV0dGVyLXNwYWNpbmc6LjA2ZW19LnRyYWNraW5nLVxbMFwuMDhlbVxdey0tdHctdHJhY2tpbmc6LjA4ZW07bGV0dGVyLXNwYWNpbmc6LjA4ZW19LnRyYWNraW5nLXdpZGV7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy13aWRlKTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlKX0uYnJlYWstd29yZHN7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkfS50ZXh0LWVsbGlwc2lze3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0uXCF0ZXh0LXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKSFpbXBvcnRhbnR9LnRleHQtXFtcIzBhMGEwY1xde2NvbG9yOiMwYTBhMGN9LnRleHQtXFtcIzhlOGU5M1xde2NvbG9yOiM4ZThlOTN9LnRleHQtXFtcIzM0ZDM5OVxde2NvbG9yOiMzNGQzOTl9LnRleHQtXFtcIzA2MjAxOFxde2NvbG9yOiMwNjIwMTh9LnRleHQtXFtcI2M4ZDdmZlxde2NvbG9yOiNjOGQ3ZmZ9LnRleHQtXFtcI2QyZTdmZlxde2NvbG9yOiNkMmU3ZmZ9LnRleHQtXFtcI2ZmYjNhZFxde2NvbG9yOiNmZmIzYWR9LnRleHQtYWNjZW50e2NvbG9yOnZhcigtLWNvbG9yLWFjY2VudCl9LnRleHQtYW1iZXItNDAwe2NvbG9yOnZhcigtLWNvbG9yLWFtYmVyLTQwMCl9LnRleHQtY3lhbi00MDB7Y29sb3I6dmFyKC0tY29sb3ItY3lhbi00MDApfS50ZXh0LWRhbmdlcntjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXIpfS50ZXh0LWRhbmdlci1zb2Z0e2NvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1zb2Z0KX0udGV4dC1lbWVyYWxkLTQwMHtjb2xvcjp2YXIoLS1jb2xvci1lbWVyYWxkLTQwMCl9LnRleHQtc2t5LTQwMHtjb2xvcjp2YXIoLS1jb2xvci1za3ktNDAwKX0udGV4dC12aW9sZXQtNDAwe2NvbG9yOnZhcigtLWNvbG9yLXZpb2xldC00MDApfS50ZXh0LXdhcm5pbmd7Y29sb3I6dmFyKC0tY29sb3Itd2FybmluZyl9LnRleHQtd2FybmluZy1zb2Z0e2NvbG9yOnZhcigtLWNvbG9yLXdhcm5pbmctc29mdCl9LnRleHQtd2hpdGV7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50ZXh0LXdoaXRlXC8zMHtjb2xvcjojZmZmZmZmNGR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvMzB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTMwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC8zNXtjb2xvcjojZmZmZmZmNTl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvMzV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTM1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC80MHtjb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC80MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzQ1e2NvbG9yOiNmZmZmZmY3M31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC80NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzUwe2NvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC81MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzU1e2NvbG9yOiNmZmZmZmY4Y31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC81NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzYwe2NvbG9yOiNmZmY5fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNjV7Y29sb3I6I2ZmZmZmZmE2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzY1e2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2NSUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNzB7Y29sb3I6I2ZmZmZmZmIzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzcwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNzV7Y29sb3I6I2ZmZmZmZmJmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzc1e2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3NSUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvODB7Y29sb3I6I2ZmZmN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvODB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvODV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC85MHtjb2xvcjojZmZmZmZmZTZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTkwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC85NXtjb2xvcjojZmZmZmZmZjJ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTk1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC9cWzBcLjQyXF17Y29sb3I6I2ZmZmZmZjZifUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcL1xbMFwuNDJcXXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDIlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcL1xbMFwuNDhcXXtjb2xvcjojZmZmZmZmN2F9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvXFswXC40OFxde2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk0OCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvXFswXC41OFxde2NvbG9yOiNmZmZmZmY5NH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC9cWzBcLjU4XF17Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTU4LjAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcL1xbMFwuOTJcXXtjb2xvcjojZmZmZmZmZWJ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvXFswXC45Mlxde2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MiUsdHJhbnNwYXJlbnQpfX0ubG93ZXJjYXNle3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwsKXZhcigtLXR3LXNsYXNoZWQtemVybywpdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKXZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbiwpfS5cW2ZvbnQtdmFyaWFudC1udW1lcmljXDp0YWJ1bGFyLW51bXNcXXtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Lm5vLXVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lfS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS00MHtvcGFjaXR5Oi40fS5vcGFjaXR5LTUwe29wYWNpdHk6LjV9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0ub3BhY2l0eS0xMDB7b3BhY2l0eToxfS5zaGFkb3d7LS10dy1zaGFkb3c6MCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctXFswXzFweF8ycHhfcmdiYVwoMFwsMFwsMFwsMFwuMThcKVwsMF82cHhfMThweF9yZ2JhXCgwXCwwXCwwXCwwXC4yOFwpXCxpbnNldF8wXzBfMF8xcHhfcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMDZcKVxdey0tdHctc2hhZG93OjAgMXB4IDJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDJlKSwwIDZweCAxOHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwNDcpLGluc2V0IDAgMCAwIDFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsI2ZmZmZmZjBmKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfOHB4XzI0cHhfcmdiYVwoMFwsMFwsMFwsMFwuNFwpXF17LS10dy1zaGFkb3c6MCA4cHggMjRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDYpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF9yZ2JhXCgwXCwwXCwwXCwwXC41XClcXXstLXR3LXNoYWRvdzowIDhweCAyNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwODApO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF9yZ2JhXCgwXCwwXCwwXCwwXC40NVwpXF17LS10dy1zaGFkb3c6MCA4cHggMjRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDczKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfMTJweF80MHB4X3JnYmFcKDBcLDBcLDBcLDBcLjU1XClcXXstLXR3LXNoYWRvdzowIDEycHggNDBweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDhjKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzhweF8wXzMycHhfcmdiYVwoMFwsMFwsMFwsMFwuMzVcKVxdey0tdHctc2hhZG93OjhweCAwIDMycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDA1OSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbGd7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmcsLnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LlxbYm94LXNoYWRvd1w6MF8wXzZweF9yZ2JhXCg3NFwsMjIyXCwxMjhcLDBcLjdcKVxde2JveC1zaGFkb3c6MCAwIDZweCAjNGFkZTgwYjN9LlxbYm94LXNoYWRvd1w6MF8wXzZweF9yZ2JhXCgyNDhcLDExM1wsMTEzXCwwXC41NVwpXF17Ym94LXNoYWRvdzowIDAgNnB4ICNmODcxNzE4Y30ucmluZy1cW1wjMWMxYzFlXF17LS10dy1yaW5nLWNvbG9yOiMxYzFjMWV9LnJpbmctd2hpdGVcLzEwey0tdHctcmluZy1jb2xvcjojZmZmZmZmMWF9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy13aGl0ZVwvMTB7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5ibHVyey0tdHctYmx1cjpibHVyKDhweCk7ZmlsdGVyOnZhcigtLXR3LWJsdXIsKXZhcigtLXR3LWJyaWdodG5lc3MsKXZhcigtLXR3LWNvbnRyYXN0LCl2YXIoLS10dy1ncmF5c2NhbGUsKXZhcigtLXR3LWh1ZS1yb3RhdGUsKXZhcigtLXR3LWludmVydCwpdmFyKC0tdHctc2F0dXJhdGUsKXZhcigtLXR3LXNlcGlhLCl2YXIoLS10dy1kcm9wLXNoYWRvdywpfS5ncmF5c2NhbGV7LS10dy1ncmF5c2NhbGU6Z3JheXNjYWxlKDEwMCUpO2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uYmFja2Ryb3AtYmx1cnstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cig4cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9LmJhY2tkcm9wLWJsdXItXFsxMnB4XF17LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0uYmFja2Ryb3AtYmx1ci1cWzE4cHhcXXstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cigxOHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1ibHVyLW1key0tdHctYmFja2Ryb3AtYmx1cjpibHVyKHZhcigtLWJsdXItbWQpKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1zYXR1cmF0ZS0xNTB7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTpzYXR1cmF0ZSgxNTAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1maWx0ZXJ7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sdHJhbnNsYXRlLHNjYWxlLHJvdGF0ZSxmaWx0ZXIsLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsYmFja2Ryb3AtZmlsdGVyLGRpc3BsYXksY29udGVudC12aXNpYmlsaXR5LG92ZXJsYXkscG9pbnRlci1ldmVudHM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1cW2JvcmRlci1jb2xvclwsYmFja2dyb3VuZFxde3RyYW5zaXRpb24tcHJvcGVydHk6Ym9yZGVyLWNvbG9yLGJhY2tncm91bmQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1cW3dpZHRoXCxiYWNrZ3JvdW5kXF17dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxiYWNrZ3JvdW5kO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3Isb3V0bGluZS1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2UsLS10dy1ncmFkaWVudC1mcm9tLC0tdHctZ3JhZGllbnQtdmlhLC0tdHctZ3JhZGllbnQtdG87dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5kdXJhdGlvbi0xNTB7LS10dy1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMjAwey0tdHctZHVyYXRpb246LjJzO3RyYW5zaXRpb24tZHVyYXRpb246LjJzfS5kdXJhdGlvbi0zMDB7LS10dy1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmVhc2Utb3V0ey0tdHctZWFzZTp2YXIoLS1lYXNlLW91dCk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tZWFzZS1vdXQpfS5vdXRsaW5lLW5vbmV7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc2VsZWN0LXRleHR7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LlxbLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXJcOmJsdXJcKDEycHhcKVxdey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCl9Llxbc2Nyb2xsYmFyLXdpZHRoXDp0aGluXF17c2Nyb2xsYmFyLXdpZHRoOnRoaW59Llxbc3RyZWFtXDphdmNjXF17c3RyZWFtOmF2Y2N9Llxbc3RyZWFtXDpoMjY0XF17c3RyZWFtOmgyNjR9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4yc1wsYm94LXNoYWRvd18wXC4yc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMnMsYm94LXNoYWRvdyAuMnN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4zc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuM3N9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xMnNcLGJvcmRlci1jb2xvcl8wXC4xMnNcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEycyxib3JkZXItY29sb3IgLjEyc30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjEyc1wsY29sb3JfMFwuMTJzXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnMsY29sb3IgLjEyc30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjEyc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzfS5cW3RyYW5zaXRpb25cOmJhY2tncm91bmRfMFwuMTVzXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xNXNfZWFzZVwsY29sb3JfMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxjb2xvciAuMTVzfS5cW3RyYW5zaXRpb25cOmJhY2tncm91bmRfMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1c30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjE4c19lYXNlXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xOHN9LlxbdHJhbnNpdGlvblw6bGVmdF8wXC4xNXNcXXt0cmFuc2l0aW9uOmxlZnQgLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjEyc1wsYmFja2dyb3VuZF8wXC4xMnNcLGNvbG9yXzBcLjEyc1xde3RyYW5zaXRpb246b3BhY2l0eSAuMTJzLGJhY2tncm91bmQgLjEycyxjb2xvciAuMTJzfS5cW3RyYW5zaXRpb25cOm9wYWNpdHlfMFwuMTJzXF17dHJhbnNpdGlvbjpvcGFjaXR5IC4xMnN9LlxbdHJhbnNpdGlvblw6b3BhY2l0eV8wXC4xNXNfZWFzZVwsYmFja2dyb3VuZF8wXC4xNXNfZWFzZVxde3RyYW5zaXRpb246b3BhY2l0eSAuMTVzLGJhY2tncm91bmQgLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjE1c19lYXNlXCx0cmFuc2Zvcm1fMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyx0cmFuc2Zvcm0gLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjE4c19lYXNlXF17dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHN9LlxbdHJhbnNpdGlvblw6cGFkZGluZ18wXC4yNXNfZWFzZVxde3RyYW5zaXRpb246cGFkZGluZyAuMjVzfS5cW3RyYW5zaXRpb25cOnRyYW5zZm9ybV8wXC4yNXNfZWFzZVwsb3BhY2l0eV8wXC4yc19lYXNlXF17dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyxvcGFjaXR5IC4yc30uXFt0cmFuc2l0aW9uXDp3aWR0aF8xMjBtc19saW5lYXJcXXt0cmFuc2l0aW9uOndpZHRoIC4xMnMgbGluZWFyfS5ncm91cC1mb2N1cy13aXRoaW5cOm9wYWNpdHktMDppcyg6d2hlcmUoLmdyb3VwKTpmb2N1cy13aXRoaW4gKil7b3BhY2l0eTowfUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6cG9pbnRlci1ldmVudHMtYXV0bzppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtwb2ludGVyLWV2ZW50czphdXRvfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZ3JvdXAtaG92ZXJcOmJsb2NrOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2Rpc3BsYXk6YmxvY2t9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6aGlkZGVuOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2Rpc3BsYXk6bm9uZX19QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXDp0cmFuc2xhdGUteC0wOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctdHJhbnNsYXRlLXg6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZ3JvdXAtaG92ZXJcOm9wYWNpdHktMDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtvcGFjaXR5OjB9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7b3BhY2l0eToxfX0ucGxhY2Vob2xkZXJcOnRleHQtd2hpdGVcLzQwOjpwbGFjZWhvbGRlcntjb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5wbGFjZWhvbGRlclw6dGV4dC13aGl0ZVwvNDA6OnBsYWNlaG9sZGVye2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZm9jdXMtd2l0aGluXDpiZy13aGl0ZVwvMTA6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXdpdGhpblw6Ymctd2hpdGVcLzEwOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci1cW3JnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjE2XClcXTpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZjI5fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci1cW3JnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjE4XClcXTpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZjJlfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci13aGl0ZVwvMjA6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpib3JkZXItd2hpdGVcLzIwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ym9yZGVyLXdoaXRlXC9cWzBcLjg4XF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmZmZmZmZlMH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLXdoaXRlXC9cWzBcLjg4XF06aG92ZXJ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4OCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvODpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxNH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzg6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvMTI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMWZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC8xMjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMiUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvMTg6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMmV9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC8xODpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxOCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC8yNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY0MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzI1OmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTI1JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA1XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA1XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNSUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wNlxdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjBmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wNlxdOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDdcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxMn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDdcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3LjAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDlcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxN31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDlcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjg4XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmZTB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjg4XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODglLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6dGV4dC1cW1wjMGEwYTBjXF06aG92ZXJ7Y29sb3I6IzBhMGEwY319QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDp0ZXh0LXdoaXRlOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDp0ZXh0LXdoaXRlXC84MDpob3Zlcntjb2xvcjojZmZmY31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6dGV4dC13aGl0ZVwvODA6aG92ZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTgwJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGVcLzg1OmhvdmVye2NvbG9yOiNmZmZmZmZkOX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6dGV4dC13aGl0ZVwvODU6aG92ZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGVcLzkwOmhvdmVye2NvbG9yOiNmZmZmZmZlNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6dGV4dC13aGl0ZVwvOTA6aG92ZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTkwJSx0cmFuc3BhcmVudCl9fX0uZm9jdXNcOmJvcmRlci1cW3JnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjI0XClcXTpmb2N1c3tib3JkZXItY29sb3I6I2ZmZmZmZjNkfS5mb2N1c1w6Ymctd2hpdGVcL1xbMFwuMDhcXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxNH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1c1w6Ymctd2hpdGVcL1xbMFwuMDhcXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4JSx0cmFuc3BhcmVudCl9fS5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3Vzey0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX0uZm9jdXMtdmlzaWJsZVw6Ymctd2hpdGVcLzg6Zm9jdXMtdmlzaWJsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxNH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXDpiZy13aGl0ZVwvODpmb2N1cy12aXNpYmxle2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTglLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcOm9wYWNpdHktMTAwOmZvY3VzLXZpc2libGV7b3BhY2l0eToxfS5mb2N1cy12aXNpYmxlXDpcW291dGxpbmVcOjFcLjVweF9zb2xpZF9yZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjU1XClcXTpmb2N1cy12aXNpYmxle291dGxpbmU6MS41cHggc29saWQgIzBhODRmZjhjfS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1vZmZzZXQtMjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1vZmZzZXQtNDpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjRweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS13aGl0ZVwvNjA6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOiNmZmY5fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXZpc2libGVcOm91dGxpbmUtd2hpdGVcLzYwOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNjAlLHRyYW5zcGFyZW50KX19LmFjdGl2ZVw6c2NhbGUtXFswXC45N1xdOmFjdGl2ZXtzY2FsZTouOTd9QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpib3JkZXItXFtyZ2JhXCgyNTVcLDI1NVwsMjU1XCwwXC4xOFwpXF06ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZjJlfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJvcmRlci13aGl0ZVwvMjA6ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6I2ZmZjN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZW5hYmxlZFw6aG92ZXJcOmJvcmRlci13aGl0ZVwvMjA6ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJvcmRlci13aGl0ZVwvXFswXC44OFxdOmVuYWJsZWQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmZmZmZmZlMH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5lbmFibGVkXDpob3Zlclw6Ym9yZGVyLXdoaXRlXC9cWzBcLjg4XF06ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg4JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJnLVxbXCMyYTJhMmNcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzJhMmEyY319QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wNlxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA2XF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA5XF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxN31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDlcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTklLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuMjJcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjM4fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC4yMlxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjIlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuODhcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZmUwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC44OFxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODglLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6dGV4dC1cW1wjMGEwYTBjXF06ZW5hYmxlZDpob3Zlcntjb2xvcjojMGEwYTBjfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOnRleHQtd2hpdGU6ZW5hYmxlZDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6YnJpZ2h0bmVzcy1cWzFcLjA4XF06ZW5hYmxlZDpob3ZlcnstLXR3LWJyaWdodG5lc3M6YnJpZ2h0bmVzcygxLjA4KTtmaWx0ZXI6dmFyKC0tdHctYmx1ciwpdmFyKC0tdHctYnJpZ2h0bmVzcywpdmFyKC0tdHctY29udHJhc3QsKXZhcigtLXR3LWdyYXlzY2FsZSwpdmFyKC0tdHctaHVlLXJvdGF0ZSwpdmFyKC0tdHctaW52ZXJ0LCl2YXIoLS10dy1zYXR1cmF0ZSwpdmFyKC0tdHctc2VwaWEsKXZhcigtLXR3LWRyb3Atc2hhZG93LCl9fS5kaXNhYmxlZFw6Y3Vyc29yLWRlZmF1bHQ6ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9LmRpc2FibGVkXDpjdXJzb3Itbm90LWFsbG93ZWQ6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5kaXNhYmxlZFw6dGV4dC13aGl0ZVwvNDA6ZGlzYWJsZWR7Y29sb3I6I2ZmZjZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGlzYWJsZWRcOnRleHQtd2hpdGVcLzQwOmRpc2FibGVke2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGlzYWJsZWRcOm9wYWNpdHktNDA6ZGlzYWJsZWR7b3BhY2l0eTouNH0uZGlzYWJsZWRcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX1AbWVkaWEgKG1heC13aWR0aDo4OTkuOTk5cHgpey5tYXgtXFs5MDBweFxdXDpoaWRkZW57ZGlzcGxheTpub25lfX0uXFtcJlw6XDotbW96LXJhbmdlLXByb2dyZXNzXF1cOmgtXFs0cHhcXTo6LW1vei1yYW5nZS1wcm9ncmVzc3toZWlnaHQ6NHB4fS5cW1wmXDpcOi1tb3otcmFuZ2UtcHJvZ3Jlc3NcXVw6cm91bmRlZC1mdWxsOjotbW96LXJhbmdlLXByb2dyZXNze2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5cW1wmXDpcOi1tb3otcmFuZ2UtcHJvZ3Jlc3NcXVw6YmctXFt2YXJcKC0tc2xpZGVyLWZpbGwtY29sb3JcKVxdOjotbW96LXJhbmdlLXByb2dyZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2xpZGVyLWZpbGwtY29sb3IpfS5cW1wmXDpcOi1tb3otcmFuZ2UtdGh1bWJcXVw6c2l6ZS1cWzEzcHhcXTo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxM3B4O2hlaWdodDoxM3B4fS5cW1wmXDpcOi1tb3otcmFuZ2UtdGh1bWJcXVw6cm91bmRlZC1mdWxsOjotbW96LXJhbmdlLXRodW1ie2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5cW1wmXDpcOi1tb3otcmFuZ2UtdGh1bWJcXVw6Ym9yZGVyLW5vbmU6Oi1tb3otcmFuZ2UtdGh1bWJ7LS10dy1ib3JkZXItc3R5bGU6bm9uZTtib3JkZXItc3R5bGU6bm9uZX0uXFtcJlw6XDotbW96LXJhbmdlLXRodW1iXF1cOmJnLXdoaXRlOjotbW96LXJhbmdlLXRodW1ie2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5cW1wmXDpcOi1tb3otcmFuZ2UtdHJhY2tcXVw6aC1cWzRweFxdOjotbW96LXJhbmdlLXRyYWNre2hlaWdodDo0cHh9LlxbXCZcOlw6LW1vei1yYW5nZS10cmFja1xdXDpyb3VuZGVkLWZ1bGw6Oi1tb3otcmFuZ2UtdHJhY2t7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LlxbXCZcOlw6LW1vei1yYW5nZS10cmFja1xdXDpiZy13aGl0ZVwvMjA6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmZmM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW1wmXDpcOi1tb3otcmFuZ2UtdHJhY2tcXVw6Ymctd2hpdGVcLzIwOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXF1cOmgtXFs0cHhcXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7aGVpZ2h0OjRweH0uXFtcJlw6XDotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja1xdXDpyb3VuZGVkLWZ1bGw6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXF1cOlxbYmFja2dyb3VuZFw6bGluZWFyLWdyYWRpZW50XCh0b19yaWdodFwsdmFyXCgtLXNsaWRlci1maWxsLWNvbG9yXClfdmFyXCgtLXNsaWRlci1maWxsXClcLHJnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjIyXClfdmFyXCgtLXNsaWRlci1maWxsXClcKVxdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1zbGlkZXItZmlsbC1jb2xvcil2YXIoLS1zbGlkZXItZmlsbCksI2ZmZmZmZjM4IHZhcigtLXNsaWRlci1maWxsKSl9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6LW10LVxbNFwuNXB4XF06Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi10b3A6LTQuNXB4fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXRodW1iXF1cOnNpemUtXFsxM3B4XF06Oi13ZWJraXQtc2xpZGVyLXRodW1ie3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6YXBwZWFyYW5jZS1ub25lOjotd2Via2l0LXNsaWRlci10aHVtYnthcHBlYXJhbmNlOm5vbmV9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6cm91bmRlZC1mdWxsOjotd2Via2l0LXNsaWRlci10aHVtYntib3JkZXItcmFkaXVzOjMuNDAyODJlMzhweH0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDpiZy13aGl0ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6c2hhZG93LVxbMF8xcHhfM3B4X3JnYmFcKDBcLDBcLDBcLDBcLjQ1XClcXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7LS10dy1zaGFkb3c6MCAxcHggM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwNzMpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uXFtcJlw6ZGlzYWJsZWRcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpiZy13aGl0ZVwvNTA6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmODB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFtcJlw6ZGlzYWJsZWRcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpiZy13aGl0ZVwvNTA6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LlxbXCZcOmRpc2FibGVkXDpcOi13ZWJraXQtc2xpZGVyLXRodW1iXF1cOmJnLXdoaXRlXC81MDpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmODB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFtcJlw6ZGlzYWJsZWRcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6Ymctd2hpdGVcLzUwOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk1MCUsdHJhbnNwYXJlbnQpfX19OnJvb3R7LS1idW5jc3MtbGlnaHQ6IDstLWJ1bmNzcy1kYXJrOmluaXRpYWw7Y29sb3Itc2NoZW1lOmRhcms7LS1zZXJ2ZS1zaW0tcGFuZWwtYmc6IzE4MTgxODstLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc2x1Y2VudDojMTgxODE4Yzc7LS1zZXJ2ZS1zaW0tcGFuZWwtYmctdHJhbnNwYXJlbnQ6IzE4MTgxODAwfUBzdXBwb3J0cyAoaW50ZXJwb2xhdGUtc2l6ZTogYWxsb3cta2V5d29yZHMpezpyb290e2ludGVycG9sYXRlLXNpemU6YWxsb3cta2V5d29yZHN9fWRldGFpbHMubGVtLXNlY3Rpb246OmRldGFpbHMtY29udGVudHtvdmVyZmxvdzpjbGlwO3RyYW5zaXRpb246aGVpZ2h0IC4yMnMgZWFzZSxjb250ZW50LXZpc2liaWxpdHkgLjIycyBhbGxvdy1kaXNjcmV0ZTtoZWlnaHQ6MH1kZXRhaWxzLmxlbS1zZWN0aW9uW29wZW5dOjpkZXRhaWxzLWNvbnRlbnR7aGVpZ2h0OmF1dG99ZGV0YWlscy5sZW0tc2VjdGlvbj5zdW1tYXJ5e2xpc3Qtc3R5bGU6bm9uZX1kZXRhaWxzLmxlbS1zZWN0aW9uPnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lfWRldGFpbHMubGVtLXNlY3Rpb24+c3VtbWFyeTpob3Zlcntjb2xvcjojZmZmfWRldGFpbHMubGVtLXNlY3Rpb24+c3VtbWFyeTpob3ZlciAubGVtLWNoZXZyb257Y29sb3I6I2ZmZmZmZmQ5IWltcG9ydGFudH0ubGVtLWNoZXZyb257dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE2cyxjb2xvciAuMTJzfUBjb250YWluZXIgKHdpZHRoPD0yMTBweCl7W2RhdGEtbG9jYXRpb24tc3RhdHVzLXRvdGFsXXtkaXNwbGF5Om5vbmV9fUBrZXlmcmFtZXMgZ3JpZC1zcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBzZXJ2ZS1zaW0tdG9hc3QtaW5kZXRlcm1pbmF0ZXswJXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlKDI1MCUpfX1Aa2V5ZnJhbWVzIHNlcnZlLXNpbS10b2FzdC1wb3AtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEycHgpc2NhbGUoLjk2KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMClzY2FsZSgxKX19QGtleWZyYW1lcyBzZXJ2ZS1zaW0tdG9hc3QtcG9wLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMClzY2FsZSgxKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KXNjYWxlKC45Nil9fS5zZXJ2ZS1zaW0tdG9hc3QtaW5kZXRlcm1pbmF0ZXthbmltYXRpb246c2VydmUtc2ltLXRvYXN0LWluZGV0ZXJtaW5hdGUgMS4xcyBlYXNlLWluLW91dCBpbmZpbml0ZX0uZ3JpZC1zaHV0ZG93bi1idG57b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMTJzLGJhY2tncm91bmQgLjEycyxjb2xvciAuMTJzfS5ncmlkLXRpbGU6aG92ZXIgLmdyaWQtc2h1dGRvd24tYnRue29wYWNpdHk6MX0uZ3JpZC1zaHV0ZG93bi1idG46aG92ZXI6bm90KDpkaXNhYmxlZCl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiM1YTFkMWQ7Ym9yZGVyLWNvbG9yOiNhMzN9LmdyaWQtdGlsZTpob3Zlcntib3JkZXItY29sb3I6IzU1NSFpbXBvcnRhbnR9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXp7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctcm90YXRlLXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yb3RhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS16e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2tldy14e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2tldy15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYm9yZGVyLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1sZWFkaW5ne3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZm9udC13ZWlnaHR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy10cmFja2luZ3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW9yZGluYWx7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zbGFzaGVkLXplcm97c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZpZ3VyZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtc3BhY2luZ3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtZnJhY3Rpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1zaGFkb3ctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3ctYWxwaGF7c3ludGF4OiI8cGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MTAwJX1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctYWxwaGF7c3ludGF4OiI8cGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MTAwJX1AcHJvcGVydHkgLS10dy1yaW5nLWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1yaW5nLWluc2V0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTojZmZmfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LW91dGxpbmUtc3R5bGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOnNvbGlkfUBwcm9wZXJ0eSAtLXR3LWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1icmlnaHRuZXNze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctY29udHJhc3R7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmF5c2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1odWUtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW52ZXJ0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3BhY2l0eXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNhdHVyYXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2VwaWF7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctYWxwaGF7c3ludGF4OiI8cGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MTAwJX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1zaXple3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYmx1cntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3N7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1jb250cmFzdHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1pbnZlcnR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2F0dXJhdGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zZXBpYXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWR1cmF0aW9ue3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZWFzZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBsYXllciBwcm9wZXJ0aWVze0BzdXBwb3J0cyAoKC13ZWJraXQtaHlwaGVuczogbm9uZSkgYW5kICggbm90IChtYXJnaW4tdHJpbTogaW5saW5lKSkpIG9yICgoLW1vei1vcmllbnQ6IGlubGluZSkgYW5kICggbm90IChjb2xvcjpyZ2IoZnJvbSByZWQgciBnIGIpKSkpeyosOmJlZm9yZSw6YWZ0ZXIsOjpiYWNrZHJvcHstLXR3LXRyYW5zbGF0ZS14OjA7LS10dy10cmFuc2xhdGUteTowOy0tdHctdHJhbnNsYXRlLXo6MDstLXR3LXJvdGF0ZS14OmluaXRpYWw7LS10dy1yb3RhdGUteTppbml0aWFsOy0tdHctcm90YXRlLXo6aW5pdGlhbDstLXR3LXNrZXcteDppbml0aWFsOy0tdHctc2tldy15OmluaXRpYWw7LS10dy1ib3JkZXItc3R5bGU6c29saWQ7LS10dy1sZWFkaW5nOmluaXRpYWw7LS10dy1mb250LXdlaWdodDppbml0aWFsOy0tdHctdHJhY2tpbmc6aW5pdGlhbDstLXR3LW9yZGluYWw6aW5pdGlhbDstLXR3LXNsYXNoZWQtemVybzppbml0aWFsOy0tdHctbnVtZXJpYy1maWd1cmU6aW5pdGlhbDstLXR3LW51bWVyaWMtc3BhY2luZzppbml0aWFsOy0tdHctbnVtZXJpYy1mcmFjdGlvbjppbml0aWFsOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctc2hhZG93LWFscGhhOjEwMCU7LS10dy1pbnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LXJpbmctaW5zZXQ6aW5pdGlhbDstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctb3V0bGluZS1zdHlsZTpzb2xpZDstLXR3LWJsdXI6aW5pdGlhbDstLXR3LWJyaWdodG5lc3M6aW5pdGlhbDstLXR3LWNvbnRyYXN0OmluaXRpYWw7LS10dy1ncmF5c2NhbGU6aW5pdGlhbDstLXR3LWh1ZS1yb3RhdGU6aW5pdGlhbDstLXR3LWludmVydDppbml0aWFsOy0tdHctb3BhY2l0eTppbml0aWFsOy0tdHctc2F0dXJhdGU6aW5pdGlhbDstLXR3LXNlcGlhOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdzppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWFscGhhOjEwMCU7LS10dy1kcm9wLXNoYWRvdy1zaXplOmluaXRpYWw7LS10dy1iYWNrZHJvcC1ibHVyOmluaXRpYWw7LS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1iYWNrZHJvcC1jb250cmFzdDppbml0aWFsOy0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1odWUtcm90YXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1pbnZlcnQ6aW5pdGlhbDstLXR3LWJhY2tkcm9wLW9wYWNpdHk6aW5pdGlhbDstLXR3LWJhY2tkcm9wLXNhdHVyYXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1zZXBpYTppbml0aWFsOy0tdHctZHVyYXRpb246aW5pdGlhbDstLXR3LWVhc2U6aW5pdGlhbH19fQo8L3N0eWxlPgo8L2hlYWQ+PGJvZHk+CjxkaXYgaWQ9InJvb3QiPjwvZGl2Pgo8IS0tX19TSU1fUFJFVklFV19DT05GSUdfXy0tPgo8c2NyaXB0IHR5cGU9Im1vZHVsZSI+dmFyIEUyLHQsajgsdjcsaDAseTgsdjgsUjgsejMsTjUsUDIsaDgsTzMsTDMsVTMsZzgsejU9e30sTDU9W10sUjc9L2FjaXR8ZXgoPzpzfGd8bnxwfCQpfHJwaHxncmlkfG93c3xtbmN8bnR3fGluZVtjaF18em9vfF5vcmR8aXRlcmEvaSx3Mj1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFAwKCQsUSl7Zm9yKHZhciBKIGluIFEpJFtKXT1RW0pdO3JldHVybiAkfWZ1bmN0aW9uIEYzKCQpeyQmJiQucGFyZW50Tm9kZSYmJC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCQpfWZ1bmN0aW9uIHUxKCQsUSxKKXt2YXIgWCxLLFkscT17fTtmb3IoWSBpbiBRKVk9PSJrZXkiP1g9UVtZXTpZPT0icmVmIj9LPVFbWV06cVtZXT1RW1ldO2lmKGFyZ3VtZW50cy5sZW5ndGg+MiYmKHEuY2hpbGRyZW49YXJndW1lbnRzLmxlbmd0aD4zP0UyLmNhbGwoYXJndW1lbnRzLDIpOkopLHR5cGVvZiAkPT0iZnVuY3Rpb24iJiYkLmRlZmF1bHRQcm9wcyE9bnVsbClmb3IoWSBpbiAkLmRlZmF1bHRQcm9wcylxW1ldPT09dm9pZCAwJiYocVtZXT0kLmRlZmF1bHRQcm9wc1tZXSk7cmV0dXJuIFQyKCQscSxYLEssbnVsbCl9ZnVuY3Rpb24gVDIoJCxRLEosWCxLKXt2YXIgWT17dHlwZTokLHByb3BzOlEsa2V5OkoscmVmOlgsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Oks9PW51bGw/KytqODpLLF9faTotMSxfX3U6MH07cmV0dXJuIEs9PW51bGwmJnQudm5vZGUhPW51bGwmJnQudm5vZGUoWSksWX1mdW5jdGlvbiBJMigpe3JldHVybntjdXJyZW50Om51bGx9fWZ1bmN0aW9uIFExKCQpe3JldHVybiAkLmNoaWxkcmVufWZ1bmN0aW9uIGQxKCQsUSl7dGhpcy5wcm9wcz0kLHRoaXMuY29udGV4dD1RfWZ1bmN0aW9uIFoyKCQsUSl7aWYoUT09bnVsbClyZXR1cm4gJC5fXz9aMigkLl9fLCQuX19pKzEpOm51bGw7Zm9yKHZhciBKO1E8JC5fX2subGVuZ3RoO1ErKylpZigoSj0kLl9fa1tRXSkhPW51bGwmJkouX19lIT1udWxsKXJldHVybiBKLl9fZTtyZXR1cm4gdHlwZW9mICQudHlwZT09ImZ1bmN0aW9uIj9aMigkKTpudWxsfWZ1bmN0aW9uIGg3KCQpe2lmKCQuX19QJiYkLl9fZCl7dmFyIFE9JC5fX3YsSj1RLl9fZSxYPVtdLEs9W10sWT1QMCh7fSxRKTtZLl9fdj1RLl9fdisxLHQudm5vZGUmJnQudm5vZGUoWSksTTMoJC5fX1AsWSxRLCQuX19uLCQuX19QLm5hbWVzcGFjZVVSSSwzMiZRLl9fdT9bSl06bnVsbCxYLEo9PW51bGw/WjIoUSk6SiwhISgzMiZRLl9fdSksSyksWS5fX3Y9US5fX3YsWS5fXy5fX2tbWS5fX2ldPVksdTgoWCxZLEspLFEuX19lPVEuX189bnVsbCxZLl9fZSE9SiYmZjgoWSl9fWZ1bmN0aW9uIGY4KCQpe2lmKCgkPSQuX18pIT1udWxsJiYkLl9fYyE9bnVsbClyZXR1cm4gJC5fX2U9JC5fX2MuYmFzZT1udWxsLCQuX19rLnNvbWUoZnVuY3Rpb24oUSl7aWYoUSE9bnVsbCYmUS5fX2UhPW51bGwpcmV0dXJuICQuX19lPSQuX19jLmJhc2U9US5fX2V9KSxmOCgkKX1mdW5jdGlvbiBIMygkKXsoISQuX19kJiYoJC5fX2Q9ITApJiZoMC5wdXNoKCQpJiYhVTUuX19yKyt8fHk4IT10LmRlYm91bmNlUmVuZGVyaW5nKSYmKCh5OD10LmRlYm91bmNlUmVuZGVyaW5nKXx8djgpKFU1KX1mdW5jdGlvbiBVNSgpe3RyeXtmb3IodmFyICQsUT0xO2gwLmxlbmd0aDspaDAubGVuZ3RoPlEmJmgwLnNvcnQoUjgpLCQ9aDAuc2hpZnQoKSxRPWgwLmxlbmd0aCxoNygkKX1maW5hbGx5e2gwLmxlbmd0aD1VNS5fX3I9MH19ZnVuY3Rpb24gbTgoJCxRLEosWCxLLFkscSxHLEIsTix6KXt2YXIgVixVLEMsTSxMLEgsTyxXPVgmJlguX19rfHxMNSxUPVEubGVuZ3RoO2ZvcihCPWc3KEosUSxXLEIsVCksVj0wO1Y8VDtWKyspKEM9Si5fX2tbVl0pIT1udWxsJiYoVT1DLl9faSE9LTEmJldbQy5fX2ldfHx6NSxDLl9faT1WLEg9TTMoJCxDLFUsSyxZLHEsRyxCLE4seiksTT1DLl9fZSxDLnJlZiYmVS5yZWYhPUMucmVmJiYoVS5yZWYmJkEzKFUucmVmLG51bGwsQyksei5wdXNoKEMucmVmLEMuX19jfHxNLEMpKSxMPT1udWxsJiZNIT1udWxsJiYoTD1NKSwoTz0hISg0JkMuX191KSl8fFUuX19rPT09Qy5fX2s/KEI9cDgoQyxCLCQsTyksTyYmVS5fX2UmJihVLl9fZT1udWxsKSk6dHlwZW9mIEMudHlwZT09ImZ1bmN0aW9uIiYmSCE9PXZvaWQgMD9CPUg6TSYmKEI9TS5uZXh0U2libGluZyksQy5fX3UmPS03KTtyZXR1cm4gSi5fX2U9TCxCfWZ1bmN0aW9uIGc3KCQsUSxKLFgsSyl7dmFyIFkscSxHLEIsTix6PUoubGVuZ3RoLFY9eixVPTA7Zm9yKCQuX19rPUFycmF5KEspLFk9MDtZPEs7WSsrKShxPVFbWV0pIT1udWxsJiZ0eXBlb2YgcSE9ImJvb2xlYW4iJiZ0eXBlb2YgcSE9ImZ1bmN0aW9uIj8odHlwZW9mIHE9PSJzdHJpbmcifHx0eXBlb2YgcT09Im51bWJlciJ8fHR5cGVvZiBxPT0iYmlnaW50Inx8cS5jb25zdHJ1Y3Rvcj09U3RyaW5nP3E9JC5fX2tbWV09VDIobnVsbCxxLG51bGwsbnVsbCxudWxsKTp3MihxKT9xPSQuX19rW1ldPVQyKFExLHtjaGlsZHJlbjpxfSxudWxsLG51bGwsbnVsbCk6cS5jb25zdHJ1Y3Rvcj09PXZvaWQgMCYmcS5fX2I+MD9xPSQuX19rW1ldPVQyKHEudHlwZSxxLnByb3BzLHEua2V5LHEucmVmP3EucmVmOm51bGwscS5fX3YpOiQuX19rW1ldPXEsQj1ZK1UscS5fXz0kLHEuX19iPSQuX19iKzEsRz1udWxsLChOPXEuX19pPWY3KHEsSixCLFYpKSE9LTEmJihWLS0sKEc9SltOXSkmJihHLl9fdXw9MikpLEc9PW51bGx8fEcuX192PT1udWxsPyhOPT0tMSYmKEs+ej9VLS06Szx6JiZVKyspLHR5cGVvZiBxLnR5cGUhPSJmdW5jdGlvbiImJihxLl9fdXw9NCkpOk4hPUImJihOPT1CLTE/VS0tOk49PUIrMT9VKys6KE4+Qj9VLS06VSsrLHEuX191fD00KSkpOiQuX19rW1ldPW51bGw7aWYoVilmb3IoWT0wO1k8ejtZKyspKEc9SltZXSkhPW51bGwmJigyJkcuX191KT09MCYmKEcuX19lPT1YJiYoWD1aMihHKSksZDgoRyxHKSk7cmV0dXJuIFh9ZnVuY3Rpb24gcDgoJCxRLEosWCl7dmFyIEssWTtpZih0eXBlb2YgJC50eXBlPT0iZnVuY3Rpb24iKXtmb3IoSz0kLl9fayxZPTA7SyYmWTxLLmxlbmd0aDtZKyspS1tZXSYmKEtbWV0uX189JCxRPXA4KEtbWV0sUSxKLFgpKTtyZXR1cm4gUX0kLl9fZSE9USYmKFgmJihRJiYkLnR5cGUmJiFRLnBhcmVudE5vZGUmJihRPVoyKCQpKSxKLmluc2VydEJlZm9yZSgkLl9fZSxRfHxudWxsKSksUT0kLl9fZSk7ZG8gUT1RJiZRLm5leHRTaWJsaW5nO3doaWxlKFEhPW51bGwmJlEubm9kZVR5cGU9PTgpO3JldHVybiBRfWZ1bmN0aW9uIFgwKCQsUSl7cmV0dXJuIFE9UXx8W10sJD09bnVsbHx8dHlwZW9mICQ9PSJib29sZWFuInx8KHcyKCQpPyQuc29tZShmdW5jdGlvbihKKXtYMChKLFEpfSk6US5wdXNoKCQpKSxRfWZ1bmN0aW9uIGY3KCQsUSxKLFgpe3ZhciBLLFkscSxHPSQua2V5LEI9JC50eXBlLE49UVtKXSx6PU4hPW51bGwmJigyJk4uX191KT09MDtpZihOPT09bnVsbCYmRz09bnVsbHx8eiYmRz09Ti5rZXkmJkI9PU4udHlwZSlyZXR1cm4gSjtpZihYPih6PzE6MCkpe2ZvcihLPUotMSxZPUorMTtLPj0wfHxZPFEubGVuZ3RoOylpZigoTj1RW3E9Sz49MD9LLS06WSsrXSkhPW51bGwmJigyJk4uX191KT09MCYmRz09Ti5rZXkmJkI9PU4udHlwZSlyZXR1cm4gcX1yZXR1cm4tMX1mdW5jdGlvbiBTOCgkLFEsSil7UVswXT09Ii0iPyQuc2V0UHJvcGVydHkoUSxKPT1udWxsPyIiOkopOiRbUV09Sj09bnVsbD8iIjp0eXBlb2YgSiE9Im51bWJlciJ8fFI3LnRlc3QoUSk/SjpKKyJweCJ9ZnVuY3Rpb24gQjUoJCxRLEosWCxLKXt2YXIgWSxxOyQ6aWYoUT09InN0eWxlIilpZih0eXBlb2YgSj09InN0cmluZyIpJC5zdHlsZS5jc3NUZXh0PUo7ZWxzZXtpZih0eXBlb2YgWD09InN0cmluZyImJigkLnN0eWxlLmNzc1RleHQ9WD0iIiksWClmb3IoUSBpbiBYKUomJlEgaW4gSnx8UzgoJC5zdHlsZSxRLCIiKTtpZihKKWZvcihRIGluIEopWCYmSltRXT09WFtRXXx8UzgoJC5zdHlsZSxRLEpbUV0pfWVsc2UgaWYoUVswXT09Im8iJiZRWzFdPT0ibiIpWT1RIT0oUT1RLnJlcGxhY2UoaDgsIiQxIikpLHE9US50b0xvd2VyQ2FzZSgpLFE9cSBpbiAkfHxRPT0ib25Gb2N1c091dCJ8fFE9PSJvbkZvY3VzSW4iP3Euc2xpY2UoMik6US5zbGljZSgyKSwkLmx8fCgkLmw9e30pLCQubFtRK1ldPUosSj9YP0pbUDJdPVhbUDJdOihKW1AyXT1PMywkLmFkZEV2ZW50TGlzdGVuZXIoUSxZP1UzOkwzLFkpKTokLnJlbW92ZUV2ZW50TGlzdGVuZXIoUSxZP1UzOkwzLFkpO2Vsc2V7aWYoSz09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIilRPVEucmVwbGFjZSgveGxpbmsoSHw6aCkvLCJoIikucmVwbGFjZSgvc05hbWUkLywicyIpO2Vsc2UgaWYoUSE9IndpZHRoIiYmUSE9ImhlaWdodCImJlEhPSJocmVmIiYmUSE9Imxpc3QiJiZRIT0iZm9ybSImJlEhPSJ0YWJJbmRleCImJlEhPSJkb3dubG9hZCImJlEhPSJyb3dTcGFuIiYmUSE9ImNvbFNwYW4iJiZRIT0icm9sZSImJlEhPSJwb3BvdmVyIiYmUSBpbiAkKXRyeXskW1FdPUo9PW51bGw/IiI6SjticmVhayAkfWNhdGNoKEcpe310eXBlb2YgSj09ImZ1bmN0aW9uInx8KEo9PW51bGx8fEo9PT0hMSYmUVs0XSE9Ii0iPyQucmVtb3ZlQXR0cmlidXRlKFEpOiQuc2V0QXR0cmlidXRlKFEsUT09InBvcG92ZXIiJiZKPT0xPyIiOkopKX19ZnVuY3Rpb24geDgoJCl7cmV0dXJuIGZ1bmN0aW9uKFEpe2lmKHRoaXMubCl7dmFyIEo9dGhpcy5sW1EudHlwZSskXTtpZihRW041XT09bnVsbClRW041XT1PMysrO2Vsc2UgaWYoUVtONV08SltQMl0pcmV0dXJuO3JldHVybiBKKHQuZXZlbnQ/dC5ldmVudChRKTpRKX19fWZ1bmN0aW9uIE0zKCQsUSxKLFgsSyxZLHEsRyxCLE4pe3ZhciB6LFYsVSxDLE0sTCxILE8sVyxULFAseCxELGUsUixkPVEudHlwZTtpZihRLmNvbnN0cnVjdG9yIT09dm9pZCAwKXJldHVybiBudWxsOzEyOCZKLl9fdSYmKEI9ISEoMzImSi5fX3UpLFk9W0c9US5fX2U9Si5fX2VdKSwoej10Ll9fYikmJnooUSk7JDppZih0eXBlb2YgZD09ImZ1bmN0aW9uIil0cnl7aWYoTz1RLnByb3BzLFc9ZC5wcm90b3R5cGUmJmQucHJvdG90eXBlLnJlbmRlcixUPSh6PWQuY29udGV4dFR5cGUpJiZYW3ouX19jXSxQPXo/VD9ULnByb3BzLnZhbHVlOnouX186WCxKLl9fYz9IPShWPVEuX19jPUouX19jKS5fXz1WLl9fRTooVz9RLl9fYz1WPW5ldyBkKE8sUCk6KFEuX19jPVY9bmV3IGQxKE8sUCksVi5jb25zdHJ1Y3Rvcj1kLFYucmVuZGVyPXA3KSxUJiZULnN1YihWKSxWLnN0YXRlfHwoVi5zdGF0ZT17fSksVi5fX249WCxVPVYuX19kPSEwLFYuX19oPVtdLFYuX3NiPVtdKSxXJiZWLl9fcz09bnVsbCYmKFYuX19zPVYuc3RhdGUpLFcmJmQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIT1udWxsJiYoVi5fX3M9PVYuc3RhdGUmJihWLl9fcz1QMCh7fSxWLl9fcykpLFAwKFYuX19zLGQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKE8sVi5fX3MpKSksQz1WLnByb3BzLE09Vi5zdGF0ZSxWLl9fdj1RLFUpVyYmZC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PW51bGwmJlYuY29tcG9uZW50V2lsbE1vdW50IT1udWxsJiZWLmNvbXBvbmVudFdpbGxNb3VudCgpLFcmJlYuY29tcG9uZW50RGlkTW91bnQhPW51bGwmJlYuX19oLnB1c2goVi5jb21wb25lbnREaWRNb3VudCk7ZWxzZXtpZihXJiZkLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09bnVsbCYmTyE9PUMmJlYuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyE9bnVsbCYmVi5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKE8sUCksUS5fX3Y9PUouX192fHwhVi5fX2UmJlYuc2hvdWxkQ29tcG9uZW50VXBkYXRlIT1udWxsJiZWLnNob3VsZENvbXBvbmVudFVwZGF0ZShPLFYuX19zLFApPT09ITEpe1EuX192IT1KLl9fdiYmKFYucHJvcHM9TyxWLnN0YXRlPVYuX19zLFYuX19kPSExKSxRLl9fZT1KLl9fZSxRLl9faz1KLl9fayxRLl9fay5zb21lKGZ1bmN0aW9uKG4pe24mJihuLl9fPVEpfSksTDUucHVzaC5hcHBseShWLl9faCxWLl9zYiksVi5fc2I9W10sVi5fX2gubGVuZ3RoJiZxLnB1c2goVik7YnJlYWsgJH1WLmNvbXBvbmVudFdpbGxVcGRhdGUhPW51bGwmJlYuY29tcG9uZW50V2lsbFVwZGF0ZShPLFYuX19zLFApLFcmJlYuY29tcG9uZW50RGlkVXBkYXRlIT1udWxsJiZWLl9faC5wdXNoKGZ1bmN0aW9uKCl7Vi5jb21wb25lbnREaWRVcGRhdGUoQyxNLEwpfSl9aWYoVi5jb250ZXh0PVAsVi5wcm9wcz1PLFYuX19QPSQsVi5fX2U9ITEseD10Ll9fcixEPTAsVylWLnN0YXRlPVYuX19zLFYuX19kPSExLHgmJngoUSksej1WLnJlbmRlcihWLnByb3BzLFYuc3RhdGUsVi5jb250ZXh0KSxMNS5wdXNoLmFwcGx5KFYuX19oLFYuX3NiKSxWLl9zYj1bXTtlbHNlIGRvIFYuX19kPSExLHgmJngoUSksej1WLnJlbmRlcihWLnByb3BzLFYuc3RhdGUsVi5jb250ZXh0KSxWLnN0YXRlPVYuX19zO3doaWxlKFYuX19kJiYrK0Q8MjUpO1Yuc3RhdGU9Vi5fX3MsVi5nZXRDaGlsZENvbnRleHQhPW51bGwmJihYPVAwKFAwKHt9LFgpLFYuZ2V0Q2hpbGRDb250ZXh0KCkpKSxXJiYhVSYmVi5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9bnVsbCYmKEw9Vi5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShDLE0pKSxlPXohPW51bGwmJnoudHlwZT09PVExJiZ6LmtleT09bnVsbD9sOCh6LnByb3BzLmNoaWxkcmVuKTp6LEc9bTgoJCx3MihlKT9lOltlXSxRLEosWCxLLFkscSxHLEIsTiksVi5iYXNlPVEuX19lLFEuX191Jj0tMTYxLFYuX19oLmxlbmd0aCYmcS5wdXNoKFYpLEgmJihWLl9fRT1WLl9fPW51bGwpfWNhdGNoKG4pe2lmKFEuX192PW51bGwsQnx8WSE9bnVsbClpZihuLnRoZW4pe2ZvcihRLl9fdXw9Qj8xNjA6MTI4O0cmJkcubm9kZVR5cGU9PTgmJkcubmV4dFNpYmxpbmc7KUc9Ry5uZXh0U2libGluZztZW1kuaW5kZXhPZihHKV09bnVsbCxRLl9fZT1HfWVsc2V7Zm9yKFI9WS5sZW5ndGg7Ui0tOylGMyhZW1JdKTtDMyhRKX1lbHNlIFEuX19lPUouX19lLFEuX19rPUouX19rLG4udGhlbnx8QzMoUSk7dC5fX2UobixRLEopfWVsc2UgWT09bnVsbCYmUS5fX3Y9PUouX192PyhRLl9faz1KLl9fayxRLl9fZT1KLl9fZSk6Rz1RLl9fZT1tNyhKLl9fZSxRLEosWCxLLFkscSxCLE4pO3JldHVybih6PXQuZGlmZmVkKSYmeihRKSwxMjgmUS5fX3U/dm9pZCAwOkd9ZnVuY3Rpb24gQzMoJCl7JCYmKCQuX19jJiYoJC5fX2MuX19lPSEwKSwkLl9fayYmJC5fX2suc29tZShDMykpfWZ1bmN0aW9uIHU4KCQsUSxKKXtmb3IodmFyIFg9MDtYPEoubGVuZ3RoO1grKylBMyhKW1hdLEpbKytYXSxKWysrWF0pO3QuX19jJiZ0Ll9fYyhRLCQpLCQuc29tZShmdW5jdGlvbihLKXt0cnl7JD1LLl9faCxLLl9faD1bXSwkLnNvbWUoZnVuY3Rpb24oWSl7WS5jYWxsKEspfSl9Y2F0Y2goWSl7dC5fX2UoWSxLLl9fdil9fSl9ZnVuY3Rpb24gbDgoJCl7cmV0dXJuIHR5cGVvZiAkIT0ib2JqZWN0Inx8JD09bnVsbHx8JC5fX2I+MD8kOncyKCQpPyQubWFwKGw4KTpQMCh7fSwkKX1mdW5jdGlvbiBtNygkLFEsSixYLEssWSxxLEcsQil7dmFyIE4seixWLFUsQyxNLEwsSD1KLnByb3BzfHx6NSxPPVEucHJvcHMsVz1RLnR5cGU7aWYoVz09InN2ZyI/Sz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciOlc9PSJtYXRoIj9LPSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpLfHwoSz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIpLFkhPW51bGwpe2ZvcihOPTA7TjxZLmxlbmd0aDtOKyspaWYoKEM9WVtOXSkmJiJzZXRBdHRyaWJ1dGUiaW4gQz09ISFXJiYoVz9DLmxvY2FsTmFtZT09VzpDLm5vZGVUeXBlPT0zKSl7JD1DLFlbTl09bnVsbDticmVha319aWYoJD09bnVsbCl7aWYoVz09bnVsbClyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoTyk7JD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoSyxXLE8uaXMmJk8pLEcmJih0Ll9fbSYmdC5fX20oUSxZKSxHPSExKSxZPW51bGx9aWYoVz09bnVsbClIPT09T3x8RyYmJC5kYXRhPT1PfHwoJC5kYXRhPU8pO2Vsc2V7aWYoWT1ZJiZFMi5jYWxsKCQuY2hpbGROb2RlcyksIUcmJlkhPW51bGwpZm9yKEg9e30sTj0wO048JC5hdHRyaWJ1dGVzLmxlbmd0aDtOKyspSFsoQz0kLmF0dHJpYnV0ZXNbTl0pLm5hbWVdPUMudmFsdWU7Zm9yKE4gaW4gSClDPUhbTl0sTj09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj9WPUM6Tj09ImNoaWxkcmVuInx8KE4gaW4gTyl8fE49PSJ2YWx1ZSImJigiZGVmYXVsdFZhbHVlImluIE8pfHxOPT0iY2hlY2tlZCImJigiZGVmYXVsdENoZWNrZWQiaW4gTyl8fEI1KCQsTixudWxsLEMsSyk7Zm9yKE4gaW4gTylDPU9bTl0sTj09ImNoaWxkcmVuIj9VPUM6Tj09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj96PUM6Tj09InZhbHVlIj9NPUM6Tj09ImNoZWNrZWQiP0w9QzpHJiZ0eXBlb2YgQyE9ImZ1bmN0aW9uInx8SFtOXT09PUN8fEI1KCQsTixDLEhbTl0sSyk7aWYoeilHfHxWJiYoei5fX2h0bWw9PVYuX19odG1sfHx6Ll9faHRtbD09JC5pbm5lckhUTUwpfHwoJC5pbm5lckhUTUw9ei5fX2h0bWwpLFEuX19rPVtdO2Vsc2UgaWYoViYmKCQuaW5uZXJIVE1MPSIiKSxtOChRLnR5cGU9PSJ0ZW1wbGF0ZSI/JC5jb250ZW50OiQsdzIoVSk/VTpbVV0sUSxKLFgsVz09ImZvcmVpZ25PYmplY3QiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIjpLLFkscSxZP1lbMF06Si5fX2smJloyKEosMCksRyxCKSxZIT1udWxsKWZvcihOPVkubGVuZ3RoO04tLTspRjMoWVtOXSk7R3x8KE49InZhbHVlIixXPT0icHJvZ3Jlc3MiJiZNPT1udWxsPyQucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpOk0hPW51bGwmJihNIT09JFtOXXx8Vz09InByb2dyZXNzIiYmIU18fFc9PSJvcHRpb24iJiZNIT1IW05dKSYmQjUoJCxOLE0sSFtOXSxLKSxOPSJjaGVja2VkIixMIT1udWxsJiZMIT0kW05dJiZCNSgkLE4sTCxIW05dLEspKX1yZXR1cm4gJH1mdW5jdGlvbiBBMygkLFEsSil7dHJ5e2lmKHR5cGVvZiAkPT0iZnVuY3Rpb24iKXt2YXIgWD10eXBlb2YgJC5fX3U9PSJmdW5jdGlvbiI7WCYmJC5fX3UoKSxYJiZRPT1udWxsfHwoJC5fX3U9JChRKSl9ZWxzZSAkLmN1cnJlbnQ9UX1jYXRjaChLKXt0Ll9fZShLLEopfX1mdW5jdGlvbiBkOCgkLFEsSil7dmFyIFgsSztpZih0LnVubW91bnQmJnQudW5tb3VudCgkKSwoWD0kLnJlZikmJihYLmN1cnJlbnQmJlguY3VycmVudCE9JC5fX2V8fEEzKFgsbnVsbCxRKSksKFg9JC5fX2MpIT1udWxsKXtpZihYLmNvbXBvbmVudFdpbGxVbm1vdW50KXRyeXtYLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goWSl7dC5fX2UoWSxRKX1YLmJhc2U9WC5fX1A9bnVsbH1pZihYPSQuX19rKWZvcihLPTA7SzxYLmxlbmd0aDtLKyspWFtLXSYmZDgoWFtLXSxRLEp8fHR5cGVvZiAkLnR5cGUhPSJmdW5jdGlvbiIpO0p8fEYzKCQuX19lKSwkLl9fYz0kLl9fPSQuX19lPXZvaWQgMH1mdW5jdGlvbiBwNygkLFEsSil7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IoJCxKKX1mdW5jdGlvbiB4MCgkLFEsSil7dmFyIFgsSyxZLHE7UT09ZG9jdW1lbnQmJihRPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCksdC5fXyYmdC5fXygkLFEpLEs9KFg9dHlwZW9mIEo9PSJmdW5jdGlvbiIpP251bGw6SiYmSi5fX2t8fFEuX19rLFk9W10scT1bXSxNMyhRLCQ9KCFYJiZKfHxRKS5fX2s9dTEoUTEsbnVsbCxbJF0pLEt8fHo1LHo1LFEubmFtZXNwYWNlVVJJLCFYJiZKP1tKXTpLP251bGw6US5maXJzdENoaWxkP0UyLmNhbGwoUS5jaGlsZE5vZGVzKTpudWxsLFksIVgmJko/SjpLP0suX19lOlEuZmlyc3RDaGlsZCxYLHEpLHU4KFksJCxxKX1mdW5jdGlvbiBINSgkLFEpe3gwKCQsUSxINSl9ZnVuY3Rpb24gazMoJCxRLEope3ZhciBYLEssWSxxLEc9UDAoe30sJC5wcm9wcyk7Zm9yKFkgaW4gJC50eXBlJiYkLnR5cGUuZGVmYXVsdFByb3BzJiYocT0kLnR5cGUuZGVmYXVsdFByb3BzKSxRKVk9PSJrZXkiP1g9UVtZXTpZPT0icmVmIj9LPVFbWV06R1tZXT1RW1ldPT09dm9pZCAwJiZxIT1udWxsP3FbWV06UVtZXTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4yJiYoRy5jaGlsZHJlbj1hcmd1bWVudHMubGVuZ3RoPjM/RTIuY2FsbChhcmd1bWVudHMsMik6SiksVDIoJC50eXBlLEcsWHx8JC5rZXksS3x8JC5yZWYsbnVsbCl9ZnVuY3Rpb24gTzAoJCl7ZnVuY3Rpb24gUShKKXt2YXIgWCxLO3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KFg9bmV3IFNldCwoSz17fSlbUS5fX2NdPXRoaXMsdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gS30sdGhpcy5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe1g9bnVsbH0sdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oWSl7dGhpcy5wcm9wcy52YWx1ZSE9WS52YWx1ZSYmWC5mb3JFYWNoKGZ1bmN0aW9uKHEpe3EuX19lPSEwLEgzKHEpfSl9LHRoaXMuc3ViPWZ1bmN0aW9uKFkpe1guYWRkKFkpO3ZhciBxPVkuY29tcG9uZW50V2lsbFVubW91bnQ7WS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe1gmJlguZGVsZXRlKFkpLHEmJnEuY2FsbChZKX19KSxKLmNoaWxkcmVufXJldHVybiBRLl9fYz0iX19jQyIrZzgrKyxRLl9fPSQsUS5Qcm92aWRlcj1RLl9fbD0oUS5Db25zdW1lcj1mdW5jdGlvbihKLFgpe3JldHVybiBKLmNoaWxkcmVuKFgpfSkuY29udGV4dFR5cGU9USxRfUUyPUw1LnNsaWNlLHQ9e19fZTpmdW5jdGlvbigkLFEsSixYKXtmb3IodmFyIEssWSxxO1E9US5fXzspaWYoKEs9US5fX2MpJiYhSy5fXyl0cnl7aWYoKFk9Sy5jb25zdHJ1Y3RvcikmJlkuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIT1udWxsJiYoSy5zZXRTdGF0ZShZLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcigkKSkscT1LLl9fZCksSy5jb21wb25lbnREaWRDYXRjaCE9bnVsbCYmKEsuY29tcG9uZW50RGlkQ2F0Y2goJCxYfHx7fSkscT1LLl9fZCkscSlyZXR1cm4gSy5fX0U9S31jYXRjaChHKXskPUd9dGhyb3cgJH19LGo4PTAsdjc9ZnVuY3Rpb24oJCl7cmV0dXJuICQhPW51bGwmJiQuY29uc3RydWN0b3I9PT12b2lkIDB9LGQxLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbigkLFEpe3ZhciBKO0o9dGhpcy5fX3MhPW51bGwmJnRoaXMuX19zIT10aGlzLnN0YXRlP3RoaXMuX19zOnRoaXMuX19zPVAwKHt9LHRoaXMuc3RhdGUpLHR5cGVvZiAkPT0iZnVuY3Rpb24iJiYoJD0kKFAwKHt9LEopLHRoaXMucHJvcHMpKSwkJiZQMChKLCQpLCQhPW51bGwmJnRoaXMuX192JiYoUSYmdGhpcy5fc2IucHVzaChRKSxIMyh0aGlzKSl9LGQxLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbigkKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLCQmJnRoaXMuX19oLnB1c2goJCksSDModGhpcykpfSxkMS5wcm90b3R5cGUucmVuZGVyPVExLGgwPVtdLHY4PXR5cGVvZiBQcm9taXNlPT0iZnVuY3Rpb24iP1Byb21pc2UucHJvdG90eXBlLnRoZW4uYmluZChQcm9taXNlLnJlc29sdmUoKSk6c2V0VGltZW91dCxSOD1mdW5jdGlvbigkLFEpe3JldHVybiAkLl9fdi5fX2ItUS5fX3YuX19ifSxVNS5fX3I9MCx6Mz1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDgpLE41PSJfX2QiK3ozLFAyPSJfX2EiK3ozLGg4PS8oUG9pbnRlckNhcHR1cmUpJHxDYXB0dXJlJC9pLE8zPTAsTDM9eDgoITEpLFUzPXg4KCEwKSxnOD0wO3ZhciBnMCx5MSxXMyxjOCxYMj0wLGU4PVtdLGcxPXQsbzg9ZzEuX19iLGk4PWcxLl9fcixuOD1nMS5kaWZmZWQscjg9ZzEuX19jLGE4PWcxLnVubW91bnQsczg9ZzEuX187ZnVuY3Rpb24gSzIoJCxRKXtnMS5fX2gmJmcxLl9faCh5MSwkLFgyfHxRKSxYMj0wO3ZhciBKPXkxLl9fSHx8KHkxLl9fSD17X186W10sX19oOltdfSk7cmV0dXJuICQ+PUouX18ubGVuZ3RoJiZKLl9fLnB1c2goe30pLEouX19bJF19ZnVuY3Rpb24gaygkKXtyZXR1cm4gWDI9MSxvMCgkOSwkKX1mdW5jdGlvbiBvMCgkLFEsSil7dmFyIFg9SzIoZzArKywyKTtpZihYLnQ9JCwhWC5fX2MmJihYLl9fPVtKP0ooUSk6JDkodm9pZCAwLFEpLGZ1bmN0aW9uKEcpe3ZhciBCPVguX19OP1guX19OWzBdOlguX19bMF0sTj1YLnQoQixHKTtCIT09TiYmKFguX19OPVtOLFguX19bMV1dLFguX19jLnNldFN0YXRlKHt9KSl9XSxYLl9fYz15MSwheTEuX19mKSl7dmFyIEs9ZnVuY3Rpb24oRyxCLE4pe2lmKCFYLl9fYy5fX0gpcmV0dXJuITA7dmFyIHo9WC5fX2MuX19ILl9fLmZpbHRlcihmdW5jdGlvbihVKXtyZXR1cm4gVS5fX2N9KTtpZih6LmV2ZXJ5KGZ1bmN0aW9uKFUpe3JldHVybiFVLl9fTn0pKXJldHVybiFZfHxZLmNhbGwodGhpcyxHLEIsTik7dmFyIFY9WC5fX2MucHJvcHMhPT1HO3JldHVybiB6LnNvbWUoZnVuY3Rpb24oVSl7aWYoVS5fX04pe3ZhciBDPVUuX19bMF07VS5fXz1VLl9fTixVLl9fTj12b2lkIDAsQyE9PVUuX19bMF0mJihWPSEwKX19KSxZJiZZLmNhbGwodGhpcyxHLEIsTil8fFZ9O3kxLl9fZj0hMDt2YXJ7c2hvdWxkQ29tcG9uZW50VXBkYXRlOlksY29tcG9uZW50V2lsbFVwZGF0ZTpxfT15MTt5MS5jb21wb25lbnRXaWxsVXBkYXRlPWZ1bmN0aW9uKEcsQixOKXtpZih0aGlzLl9fZSl7dmFyIHo9WTtZPXZvaWQgMCxLKEcsQixOKSxZPXp9cSYmcS5jYWxsKHRoaXMsRyxCLE4pfSx5MS5zaG91bGRDb21wb25lbnRVcGRhdGU9S31yZXR1cm4gWC5fX058fFguX199ZnVuY3Rpb24geSgkLFEpe3ZhciBKPUsyKGcwKyssMyk7IWcxLl9fcyYmRDMoSi5fX0gsUSkmJihKLl9fPSQsSi51PVEseTEuX19ILl9faC5wdXNoKEopKX1mdW5jdGlvbiBUMCgkLFEpe3ZhciBKPUsyKGcwKyssNCk7IWcxLl9fcyYmRDMoSi5fX0gsUSkmJihKLl9fPSQsSi51PVEseTEuX19oLnB1c2goSikpfWZ1bmN0aW9uIHcoJCl7cmV0dXJuIFgyPTUsRDEoZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDokfX0sW10pfWZ1bmN0aW9uIE81KCQsUSxKKXtYMj02LFQwKGZ1bmN0aW9uKCl7aWYodHlwZW9mICQ9PSJmdW5jdGlvbiIpe3ZhciBYPSQoUSgpKTtyZXR1cm4gZnVuY3Rpb24oKXskKG51bGwpLFgmJnR5cGVvZiBYPT0iZnVuY3Rpb24iJiZYKCl9fWlmKCQpcmV0dXJuICQuY3VycmVudD1RKCksZnVuY3Rpb24oKXtyZXR1cm4gJC5jdXJyZW50PW51bGx9fSxKPT1udWxsP0o6Si5jb25jYXQoJCkpfWZ1bmN0aW9uIEQxKCQsUSl7dmFyIEo9SzIoZzArKyw3KTtyZXR1cm4gRDMoSi5fX0gsUSkmJihKLl9fPSQoKSxKLl9fSD1RLEouX19oPSQpLEouX199ZnVuY3Rpb24gSSgkLFEpe3JldHVybiBYMj04LEQxKGZ1bmN0aW9uKCl7cmV0dXJuICR9LFEpfWZ1bmN0aW9uIEYwKCQpe3ZhciBRPXkxLmNvbnRleHRbJC5fX2NdLEo9SzIoZzArKyw5KTtyZXR1cm4gSi5jPSQsUT8oSi5fXz09bnVsbCYmKEouX189ITAsUS5zdWIoeTEpKSxRLnByb3BzLnZhbHVlKTokLl9ffWZ1bmN0aW9uIEY1KCQsUSl7ZzEudXNlRGVidWdWYWx1ZSYmZzEudXNlRGVidWdWYWx1ZShRP1EoJCk6JCl9ZnVuY3Rpb24gWTIoKXt2YXIgJD1LMihnMCsrLDExKTtpZighJC5fXyl7Zm9yKHZhciBRPXkxLl9fdjtRIT09bnVsbCYmIVEuX19tJiZRLl9fIT09bnVsbDspUT1RLl9fO3ZhciBKPVEuX19tfHwoUS5fX209WzAsMF0pOyQuX189IlAiK0pbMF0rIi0iK0pbMV0rK31yZXR1cm4gJC5fX31mdW5jdGlvbiB1Nygpe2Zvcih2YXIgJDskPWU4LnNoaWZ0KCk7KXt2YXIgUT0kLl9fSDtpZigkLl9fUCYmUSl0cnl7US5fX2guc29tZShDNSksUS5fX2guc29tZShfMyksUS5fX2g9W119Y2F0Y2goSil7US5fX2g9W10sZzEuX19lKEosJC5fX3YpfX19ZzEuX19iPWZ1bmN0aW9uKCQpe3kxPW51bGwsbzgmJm84KCQpfSxnMS5fXz1mdW5jdGlvbigkLFEpeyQmJlEuX19rJiZRLl9fay5fX20mJigkLl9fbT1RLl9fay5fX20pLHM4JiZzOCgkLFEpfSxnMS5fX3I9ZnVuY3Rpb24oJCl7aTgmJmk4KCQpLGcwPTA7dmFyIFE9KHkxPSQuX19jKS5fX0g7USYmKFczPT09eTE/KFEuX19oPVtdLHkxLl9faD1bXSxRLl9fLnNvbWUoZnVuY3Rpb24oSil7Si5fX04mJihKLl9fPUouX19OKSxKLnU9Si5fX049dm9pZCAwfSkpOihRLl9faC5zb21lKEM1KSxRLl9faC5zb21lKF8zKSxRLl9faD1bXSxnMD0wKSksVzM9eTF9LGcxLmRpZmZlZD1mdW5jdGlvbigkKXtuOCYmbjgoJCk7dmFyIFE9JC5fX2M7USYmUS5fX0gmJihRLl9fSC5fX2gubGVuZ3RoJiYoZTgucHVzaChRKSE9PTEmJmM4PT09ZzEucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKGM4PWcxLnJlcXVlc3RBbmltYXRpb25GcmFtZSl8fGw3KSh1NykpLFEuX19ILl9fLnNvbWUoZnVuY3Rpb24oSil7Si51JiYoSi5fX0g9Si51KSxKLnU9dm9pZCAwfSkpLFczPXkxPW51bGx9LGcxLl9fYz1mdW5jdGlvbigkLFEpe1Euc29tZShmdW5jdGlvbihKKXt0cnl7Si5fX2guc29tZShDNSksSi5fX2g9Si5fX2guZmlsdGVyKGZ1bmN0aW9uKFgpe3JldHVybiFYLl9ffHxfMyhYKX0pfWNhdGNoKFgpe1Euc29tZShmdW5jdGlvbihLKXtLLl9faCYmKEsuX19oPVtdKX0pLFE9W10sZzEuX19lKFgsSi5fX3YpfX0pLHI4JiZyOCgkLFEpfSxnMS51bm1vdW50PWZ1bmN0aW9uKCQpe2E4JiZhOCgkKTt2YXIgUSxKPSQuX19jO0omJkouX19IJiYoSi5fX0guX18uc29tZShmdW5jdGlvbihYKXt0cnl7QzUoWCl9Y2F0Y2goSyl7UT1LfX0pLEouX19IPXZvaWQgMCxRJiZnMS5fX2UoUSxKLl9fdikpfTt2YXIgdDg9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIjtmdW5jdGlvbiBsNygkKXt2YXIgUSxKPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KFgpLHQ4JiZjYW5jZWxBbmltYXRpb25GcmFtZShRKSxzZXRUaW1lb3V0KCQpfSxYPXNldFRpbWVvdXQoSiwzNSk7dDgmJihRPXJlcXVlc3RBbmltYXRpb25GcmFtZShKKSl9ZnVuY3Rpb24gQzUoJCl7dmFyIFE9eTEsSj0kLl9fYzt0eXBlb2YgSj09ImZ1bmN0aW9uIiYmKCQuX19jPXZvaWQgMCxKKCkpLHkxPVF9ZnVuY3Rpb24gXzMoJCl7dmFyIFE9eTE7JC5fX2M9JC5fXygpLHkxPVF9ZnVuY3Rpb24gRDMoJCxRKXtyZXR1cm4hJHx8JC5sZW5ndGghPT1RLmxlbmd0aHx8US5zb21lKGZ1bmN0aW9uKEosWCl7cmV0dXJuIEohPT0kW1hdfSl9ZnVuY3Rpb24gJDkoJCxRKXtyZXR1cm4gdHlwZW9mIFE9PSJmdW5jdGlvbiI/USgkKTpRfWZ1bmN0aW9uIGQ3KCQsUSl7Zm9yKHZhciBKIGluIFEpJFtKXT1RW0pdO3JldHVybiAkfWZ1bmN0aW9uIFE5KCQsUSl7Zm9yKHZhciBKIGluICQpaWYoSiE9PSJfX3NvdXJjZSImJiEoSiBpbiBRKSlyZXR1cm4hMDtmb3IodmFyIFggaW4gUSlpZihYIT09Il9fc291cmNlIiYmJFtYXSE9PVFbWF0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gSjkoJCxRKXt0aGlzLnByb3BzPSQsdGhpcy5jb250ZXh0PVF9KEo5LnByb3RvdHlwZT1uZXcgZDEpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLEo5LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oJCxRKXtyZXR1cm4gUTkodGhpcy5wcm9wcywkKXx8UTkodGhpcy5zdGF0ZSxRKX07dmFyIFo5PXQuX19iO3QuX19iPWZ1bmN0aW9uKCQpeyQudHlwZSYmJC50eXBlLl9fZiYmJC5yZWYmJigkLnByb3BzLnJlZj0kLnJlZiwkLnJlZj1udWxsKSxaOSYmWjkoJCl9O3ZhciBjNz10Ll9fZTt0Ll9fZT1mdW5jdGlvbigkLFEsSixYKXtpZigkLnRoZW4pe2Zvcih2YXIgSyxZPVE7WT1ZLl9fOylpZigoSz1ZLl9fYykmJksuX19jKXJldHVybiBRLl9fZT09bnVsbCYmKFEuX19lPUouX19lLFEuX19rPUouX19rKSxLLl9fYygkLFEpfWM3KCQsUSxKLFgpfTt2YXIgWDk9dC51bm1vdW50O2Z1bmN0aW9uIEI5KCQsUSxKKXtyZXR1cm4gJCYmKCQuX19jJiYkLl9fYy5fX0gmJigkLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihYKXt0eXBlb2YgWC5fX2M9PSJmdW5jdGlvbiImJlguX19jKCl9KSwkLl9fYy5fX0g9bnVsbCksKCQ9ZDcoe30sJCkpLl9fYyE9bnVsbCYmKCQuX19jLl9fUD09PUomJigkLl9fYy5fX1A9USksJC5fX2MuX19lPSEwLCQuX19jPW51bGwpLCQuX19rPSQuX19rJiYkLl9fay5tYXAoZnVuY3Rpb24oWCl7cmV0dXJuIEI5KFgsUSxKKX0pKSwkfWZ1bmN0aW9uIE45KCQsUSxKKXtyZXR1cm4gJCYmSiYmKCQuX192PW51bGwsJC5fX2s9JC5fX2smJiQuX19rLm1hcChmdW5jdGlvbihYKXtyZXR1cm4gTjkoWCxRLEopfSksJC5fX2MmJiQuX19jLl9fUD09PVEmJigkLl9fZSYmSi5hcHBlbmRDaGlsZCgkLl9fZSksJC5fX2MuX19lPSEwLCQuX19jLl9fUD1KKSksJH1mdW5jdGlvbiBQMygpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiB6OSgkKXt2YXIgUT0kLl9fJiYkLl9fLl9fYztyZXR1cm4gUSYmUS5fX2EmJlEuX19hKCQpfWZ1bmN0aW9uIE01KCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9dC51bm1vdW50PWZ1bmN0aW9uKCQpe3ZhciBRPSQuX19jO1EmJihRLl9fej0hMCksUSYmUS5fX1ImJlEuX19SKCksUSYmMzImJC5fX3UmJigkLnR5cGU9bnVsbCksWDkmJlg5KCQpfSwoUDMucHJvdG90eXBlPW5ldyBkMSkuX19jPWZ1bmN0aW9uKCQsUSl7dmFyIEo9US5fX2MsWD10aGlzO1gubz09bnVsbCYmKFgubz1bXSksWC5vLnB1c2goSik7dmFyIEs9ejkoWC5fX3YpLFk9ITEscT1mdW5jdGlvbigpe1l8fFguX196fHwoWT0hMCxKLl9fUj1udWxsLEs/SyhCKTpCKCkpfTtKLl9fUj1xO3ZhciBHPUouX19QO0ouX19QPW51bGw7dmFyIEI9ZnVuY3Rpb24oKXtpZighLS1YLl9fdSl7aWYoWC5zdGF0ZS5fX2Epe3ZhciBOPVguc3RhdGUuX19hO1guX192Ll9fa1swXT1OOShOLE4uX19jLl9fUCxOLl9fYy5fX08pfXZhciB6O2ZvcihYLnNldFN0YXRlKHtfX2E6WC5fX2I9bnVsbH0pO3o9WC5vLnBvcCgpOyl6Ll9fUD1HLHouZm9yY2VVcGRhdGUoKX19O1guX191Kyt8fDMyJlEuX191fHxYLnNldFN0YXRlKHtfX2E6WC5fX2I9WC5fX3YuX19rWzBdfSksJC50aGVuKHEscSl9LFAzLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sUDMucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigkLFEpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFg9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09QjkodGhpcy5fX2IsSixYLl9fTz1YLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgSz1RLl9fYSYmdTEoUTEsbnVsbCwkLmZhbGxiYWNrKTtyZXR1cm4gSyYmKEsuX191Jj0tMzMpLFt1MShRMSxudWxsLFEuX19hP251bGw6JC5jaGlsZHJlbiksS119O3ZhciBLOT1mdW5jdGlvbigkLFEsSil7aWYoKytKWzFdPT09SlswXSYmJC5sLmRlbGV0ZShRKSwkLnByb3BzLnJldmVhbE9yZGVyJiYoJC5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8ISQubC5zaXplKSlmb3IoSj0kLmk7Sjspe2Zvcig7Si5sZW5ndGg+MzspSi5wb3AoKSgpO2lmKEpbMV08SlswXSlicmVhazskLmk9Sj1KWzJdfX07KE01LnByb3RvdHlwZT1uZXcgZDEpLl9fYT1mdW5jdGlvbigkKXt2YXIgUT10aGlzLEo9ejkoUS5fX3YpLFg9US5sLmdldCgkKTtyZXR1cm4gWFswXSsrLGZ1bmN0aW9uKEspe3ZhciBZPWZ1bmN0aW9uKCl7US5wcm9wcy5yZXZlYWxPcmRlcj8oWC5wdXNoKEspLEs5KFEsJCxYKSk6SygpfTtKP0ooWSk6WSgpfX0sTTUucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigkKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgUT1YMCgkLmNoaWxkcmVuKTskLnJldmVhbE9yZGVyJiYkLnJldmVhbE9yZGVyWzBdPT09ImIiJiZRLnJldmVyc2UoKTtmb3IodmFyIEo9US5sZW5ndGg7Si0tOyl0aGlzLmwuc2V0KFFbSl0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuICQuY2hpbGRyZW59LE01LnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9TTUucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyICQ9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihRLEope0s5KCQsSixRKX0pfTt2YXIgbzc9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsaTc9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLG43PS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8scjc9L1tBLVowLTldL2csYTc9dHlwZW9mIGRvY3VtZW50PCJ1IixzNz1mdW5jdGlvbigkKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoJCl9O2Z1bmN0aW9uIEw5KCQsUSxKKXtyZXR1cm4gUS5fX2s9PW51bGwmJihRLnRleHRDb250ZW50PSIiKSx4MCgkLFEpLHR5cGVvZiBKPT0iZnVuY3Rpb24iJiZKKCksJD8kLl9fYzpudWxsfWQxLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLFsiY29tcG9uZW50V2lsbE1vdW50IiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsImNvbXBvbmVudFdpbGxVcGRhdGUiXS5mb3JFYWNoKGZ1bmN0aW9uKCQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShkMS5wcm90b3R5cGUsJCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIiskXX0sc2V0OmZ1bmN0aW9uKFEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCQse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpRfSl9fSl9KTt2YXIgWTk9dC5ldmVudDt0LmV2ZW50PWZ1bmN0aW9uKCQpe3JldHVybiBZOSYmKCQ9WTkoJCkpLCQucGVyc2lzdD1mdW5jdGlvbigpe30sJC5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sJC5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSwkLm5hdGl2ZUV2ZW50PSR9O3ZhciBVOSx0Nz17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0scTk9dC52bm9kZTt0LnZub2RlPWZ1bmN0aW9uKCQpe3R5cGVvZiAkLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihRKXt2YXJ7cHJvcHM6Six0eXBlOlh9PVEsSz17fSxZPVguaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIHEgaW4gSil7dmFyIEc9SltxXTtpZighKHE9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBKKSYmRz09bnVsbHx8YTcmJnE9PT0iY2hpbGRyZW4iJiZYPT09Im5vc2NyaXB0Inx8cT09PSJjbGFzcyJ8fHE9PT0iY2xhc3NOYW1lIikpe3ZhciBCPXEudG9Mb3dlckNhc2UoKTtxPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlPT1udWxsP3E9InZhbHVlIjpxPT09ImRvd25sb2FkIiYmRz09PSEwP0c9IiI6Qj09PSJ0cmFuc2xhdGUiJiZHPT09Im5vIj9HPSExOkJbMF09PT0ibyImJkJbMV09PT0ibiI/Qj09PSJvbmRvdWJsZWNsaWNrIj9xPSJvbmRibGNsaWNrIjpCIT09Im9uY2hhbmdlInx8WCE9PSJpbnB1dCImJlghPT0idGV4dGFyZWEifHxzNyhKLnR5cGUpP0I9PT0ib25mb2N1cyI/cT0ib25mb2N1c2luIjpCPT09Im9uYmx1ciI/cT0ib25mb2N1c291dCI6bjcudGVzdChxKSYmKHE9Qik6Qj1xPSJvbmlucHV0IjpZJiZpNy50ZXN0KHEpP3E9cS5yZXBsYWNlKHI3LCItJCYiKS50b0xvd2VyQ2FzZSgpOkc9PT1udWxsJiYoRz12b2lkIDApLEI9PT0ib25pbnB1dCImJktbcT1CXSYmKHE9Im9uaW5wdXRDYXB0dXJlIiksS1txXT1HfX1YPT0ic2VsZWN0IiYmKEsubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoSy52YWx1ZSkmJihLLnZhbHVlPVgwKEouY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oTil7Ti5wcm9wcy5zZWxlY3RlZD1LLnZhbHVlLmluZGV4T2YoTi5wcm9wcy52YWx1ZSkhPS0xfSkpLEsuZGVmYXVsdFZhbHVlIT1udWxsJiYoSy52YWx1ZT1YMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKE4pe04ucHJvcHMuc2VsZWN0ZWQ9Sy5tdWx0aXBsZT9LLmRlZmF1bHRWYWx1ZS5pbmRleE9mKE4ucHJvcHMudmFsdWUpIT0tMTpLLmRlZmF1bHRWYWx1ZT09Ti5wcm9wcy52YWx1ZX0pKSksSi5jbGFzcyYmIUouY2xhc3NOYW1lPyhLLmNsYXNzPUouY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KEssImNsYXNzTmFtZSIsdDcpKTpKLmNsYXNzTmFtZSYmKEsuY2xhc3M9Sy5jbGFzc05hbWU9Si5jbGFzc05hbWUpLFEucHJvcHM9S30oJCksJC4kJHR5cGVvZj1vNyxxOSYmcTkoJCl9O3ZhciBHOT10Ll9fcjt0Ll9fcj1mdW5jdGlvbigkKXtHOSYmRzkoJCksVTk9JC5fX2N9O3ZhciBWOT10LmRpZmZlZDt0LmRpZmZlZD1mdW5jdGlvbigkKXtWOSYmVjkoJCk7dmFye3Byb3BzOlEsX19lOkp9PSQ7SiE9bnVsbCYmJC50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIFEmJlEudmFsdWUhPT1KLnZhbHVlJiYoSi52YWx1ZT1RLnZhbHVlPT1udWxsPyIiOlEudmFsdWUpLFU5PW51bGx9O2Z1bmN0aW9uIEg5KCQpe3JldHVybiEhJC5fX2smJih4MChudWxsLCQpLCEwKX1mdW5jdGlvbiBDOSgkKXtyZXR1cm57cmVuZGVyOmZ1bmN0aW9uKFEpe0w5KFEsJCl9LHVubW91bnQ6ZnVuY3Rpb24oKXtIOSgkKX19fWZ1bmN0aW9uIFA5KCQsUSl7Zm9yKHZhciBKIGluIFEpJFtKXT1RW0pdO3JldHVybiAkfWZ1bmN0aW9uIEUzKCQsUSl7Zm9yKHZhciBKIGluICQpaWYoSiE9PSJfX3NvdXJjZSImJiEoSiBpbiBRKSlyZXR1cm4hMDtmb3IodmFyIFggaW4gUSlpZihYIT09Il9fc291cmNlIiYmJFtYXSE9PVFbWF0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gVDkoJCxRKXt2YXIgSj1RKCksWD1rKHt0OntfXzpKLHU6UX19KSxLPVhbMF0udCxZPVhbMV07cmV0dXJuIFQwKGZ1bmN0aW9uKCl7Sy5fXz1KLEsudT1RLFQzKEspJiZZKHt0Okt9KX0sWyQsSixRXSkseShmdW5jdGlvbigpe3JldHVybiBUMyhLKSYmWSh7dDpLfSksJChmdW5jdGlvbigpe1QzKEspJiZZKHt0Okt9KX0pfSxbJF0pLEp9ZnVuY3Rpb24gVDMoJCl7dHJ5e3JldHVybiEoKFE9JC5fXyk9PT0oSj0kLnUoKSkmJihRIT09MHx8MS9RPT0xL0opfHxRIT1RJiZKIT1KKX1jYXRjaChYKXtyZXR1cm4hMH12YXIgUSxKfWZ1bmN0aW9uIEU5KCQpeyQoKX1mdW5jdGlvbiB3OSgkKXtyZXR1cm4gJH1mdW5jdGlvbiBJOSgpe3JldHVyblshMSxFOV19dmFyIGI5PVQwO2Z1bmN0aW9uIHczKCQsUSl7dGhpcy5wcm9wcz0kLHRoaXMuY29udGV4dD1RfWZ1bmN0aW9uIGkwKCQsUSl7ZnVuY3Rpb24gSihLKXt2YXIgWT10aGlzLnByb3BzLnJlZjtyZXR1cm4gWSE9Sy5yZWYmJlkmJih0eXBlb2YgWT09ImZ1bmN0aW9uIj9ZKG51bGwpOlkuY3VycmVudD1udWxsKSxRPyFRKHRoaXMucHJvcHMsSyl8fFkhPUsucmVmOkUzKHRoaXMucHJvcHMsSyl9ZnVuY3Rpb24gWChLKXtyZXR1cm4gdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9Six1MSgkLEspfXJldHVybiBYLmRpc3BsYXlOYW1lPSJNZW1vKCIrKCQuZGlzcGxheU5hbWV8fCQubmFtZSkrIikiLFguX19mPVgucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWC50eXBlPSQsWH0odzMucHJvdG90eXBlPW5ldyBkMSkuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAsdzMucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbigkLFEpe3JldHVybiBFMyh0aGlzLnByb3BzLCQpfHxFMyh0aGlzLnN0YXRlLFEpfTt2YXIgTzk9dC5fX2I7dC5fX2I9ZnVuY3Rpb24oJCl7JC50eXBlJiYkLnR5cGUuX19mJiYkLnJlZiYmKCQucHJvcHMucmVmPSQucmVmLCQucmVmPW51bGwpLE85JiZPOSgkKX07dmFyIGU3PXR5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpfHwzOTExO2Z1bmN0aW9uIF8wKCQpe2Z1bmN0aW9uIFEoSil7dmFyIFg9UDkoe30sSik7cmV0dXJuIGRlbGV0ZSBYLnJlZiwkKFgsSi5yZWZ8fG51bGwpfXJldHVybiBRLiQkdHlwZW9mPWU3LFEucmVuZGVyPSQsUS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD1RLl9fZj0hMCxRLmRpc3BsYXlOYW1lPSJGb3J3YXJkUmVmKCIrKCQuZGlzcGxheU5hbWV8fCQubmFtZSkrIikiLFF9dmFyIEY5PWZ1bmN0aW9uKCQsUSl7cmV0dXJuICQ9PW51bGw/bnVsbDpYMChYMCgkKS5tYXAoUSkpfSwkJD17bWFwOkY5LGZvckVhY2g6RjksY291bnQ6ZnVuY3Rpb24oJCl7cmV0dXJuICQ/WDAoJCkubGVuZ3RoOjB9LG9ubHk6ZnVuY3Rpb24oJCl7dmFyIFE9WDAoJCk7aWYoUS5sZW5ndGghPT0xKXRocm93IkNoaWxkcmVuLm9ubHkiO3JldHVybiBRWzBdfSx0b0FycmF5OlgwfSxRJD10Ll9fZTt0Ll9fZT1mdW5jdGlvbigkLFEsSixYKXtpZigkLnRoZW4pe2Zvcih2YXIgSyxZPVE7WT1ZLl9fOylpZigoSz1ZLl9fYykmJksuX19jKXJldHVybiBRLl9fZT09bnVsbCYmKFEuX19lPUouX19lLFEuX19rPUouX19rKSxLLl9fYygkLFEpfVEkKCQsUSxKLFgpfTt2YXIgTTk9dC51bm1vdW50O2Z1bmN0aW9uIHk5KCQsUSxKKXtyZXR1cm4gJCYmKCQuX19jJiYkLl9fYy5fX0gmJigkLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihYKXt0eXBlb2YgWC5fX2M9PSJmdW5jdGlvbiImJlguX19jKCl9KSwkLl9fYy5fX0g9bnVsbCksKCQ9UDkoe30sJCkpLl9fYyE9bnVsbCYmKCQuX19jLl9fUD09PUomJigkLl9fYy5fX1A9USksJC5fX2MuX19lPSEwLCQuX19jPW51bGwpLCQuX19rPSQuX19rJiYkLl9fay5tYXAoZnVuY3Rpb24oWCl7cmV0dXJuIHk5KFgsUSxKKX0pKSwkfWZ1bmN0aW9uIFM5KCQsUSxKKXtyZXR1cm4gJCYmSiYmKCQuX192PW51bGwsJC5fX2s9JC5fX2smJiQuX19rLm1hcChmdW5jdGlvbihYKXtyZXR1cm4gUzkoWCxRLEopfSksJC5fX2MmJiQuX19jLl9fUD09PVEmJigkLl9fZSYmSi5hcHBlbmRDaGlsZCgkLl9fZSksJC5fX2MuX19lPSEwLCQuX19jLl9fUD1KKSksJH1mdW5jdGlvbiBBNSgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiB4OSgkKXt2YXIgUT0kLl9fJiYkLl9fLl9fYztyZXR1cm4gUSYmUS5fX2EmJlEuX19hKCQpfWZ1bmN0aW9uIEokKCQpe3ZhciBRLEosWCxLPW51bGw7ZnVuY3Rpb24gWShxKXtpZihRfHwoUT0kKCkpLnRoZW4oZnVuY3Rpb24oRyl7RyYmKEs9Ry5kZWZhdWx0fHxHKSxYPSEwfSxmdW5jdGlvbihHKXtKPUcsWD0hMH0pLEopdGhyb3cgSjtpZighWCl0aHJvdyBRO3JldHVybiBLP3UxKEsscSk6bnVsbH1yZXR1cm4gWS5kaXNwbGF5TmFtZT0iTGF6eSIsWS5fX2Y9ITAsWX1mdW5jdGlvbiBiMigpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfXQudW5tb3VudD1mdW5jdGlvbigkKXt2YXIgUT0kLl9fYztRJiYoUS5fX3o9ITApLFEmJlEuX19SJiZRLl9fUigpLFEmJjMyJiQuX191JiYoJC50eXBlPW51bGwpLE05JiZNOSgkKX0sKEE1LnByb3RvdHlwZT1uZXcgZDEpLl9fYz1mdW5jdGlvbigkLFEpe3ZhciBKPVEuX19jLFg9dGhpcztYLm89PW51bGwmJihYLm89W10pLFguby5wdXNoKEopO3ZhciBLPXg5KFguX192KSxZPSExLHE9ZnVuY3Rpb24oKXtZfHxYLl9fenx8KFk9ITAsSi5fX1I9bnVsbCxLP0soQik6QigpKX07Si5fX1I9cTt2YXIgRz1KLl9fUDtKLl9fUD1udWxsO3ZhciBCPWZ1bmN0aW9uKCl7aWYoIS0tWC5fX3Upe2lmKFguc3RhdGUuX19hKXt2YXIgTj1YLnN0YXRlLl9fYTtYLl9fdi5fX2tbMF09UzkoTixOLl9fYy5fX1AsTi5fX2MuX19PKX12YXIgejtmb3IoWC5zZXRTdGF0ZSh7X19hOlguX19iPW51bGx9KTt6PVguby5wb3AoKTspei5fX1A9Ryx6LmZvcmNlVXBkYXRlKCl9fTtYLl9fdSsrfHwzMiZRLl9fdXx8WC5zZXRTdGF0ZSh7X19hOlguX19iPVguX192Ll9fa1swXX0pLCQudGhlbihxLHEpfSxBNS5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0aGlzLm89W119LEE1LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oJCxRKXtpZih0aGlzLl9fYil7aWYodGhpcy5fX3YuX19rKXt2YXIgSj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxYPXRoaXMuX192Ll9fa1swXS5fX2M7dGhpcy5fX3YuX19rWzBdPXk5KHRoaXMuX19iLEosWC5fX089WC5fX1ApfXRoaXMuX19iPW51bGx9dmFyIEs9US5fX2EmJnUxKFExLG51bGwsJC5mYWxsYmFjayk7cmV0dXJuIEsmJihLLl9fdSY9LTMzKSxbdTEoUTEsbnVsbCxRLl9fYT9udWxsOiQuY2hpbGRyZW4pLEtdfTt2YXIgQTk9ZnVuY3Rpb24oJCxRLEope2lmKCsrSlsxXT09PUpbMF0mJiQubC5kZWxldGUoUSksJC5wcm9wcy5yZXZlYWxPcmRlciYmKCQucHJvcHMucmV2ZWFsT3JkZXJbMF0hPT0idCJ8fCEkLmwuc2l6ZSkpZm9yKEo9JC5pO0o7KXtmb3IoO0oubGVuZ3RoPjM7KUoucG9wKCkoKTtpZihKWzFdPEpbMF0pYnJlYWs7JC5pPUo9SlsyXX19O2Z1bmN0aW9uIFokKCQpe3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiAkLmNvbnRleHR9LCQuY2hpbGRyZW59ZnVuY3Rpb24gWCQoJCl7dmFyIFE9dGhpcyxKPSQuaDtpZihRLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7eDAobnVsbCxRLnYpLFEudj1udWxsLFEuaD1udWxsfSxRLmgmJlEuaCE9PUomJlEuY29tcG9uZW50V2lsbFVubW91bnQoKSwhUS52KXtmb3IodmFyIFg9US5fX3Y7WCE9PW51bGwmJiFYLl9fbSYmWC5fXyE9PW51bGw7KVg9WC5fXztRLmg9SixRLnY9e25vZGVUeXBlOjEscGFyZW50Tm9kZTpKLGNoaWxkTm9kZXM6W10sX19rOntfX206WC5fX219LGNvbnRhaW5zOmZ1bmN0aW9uKCl7cmV0dXJuITB9LG5hbWVzcGFjZVVSSTpKLm5hbWVzcGFjZVVSSSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24oSyxZKXt0aGlzLmNoaWxkTm9kZXMucHVzaChLKSxRLmguaW5zZXJ0QmVmb3JlKEssWSl9LHJlbW92ZUNoaWxkOmZ1bmN0aW9uKEspe3RoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2YoSyk+Pj4xLDEpLFEuaC5yZW1vdmVDaGlsZChLKX19fXgwKHUxKFokLHtjb250ZXh0OlEuY29udGV4dH0sJC5fX3YpLFEudil9ZnVuY3Rpb24gSTMoJCxRKXt2YXIgSj11MShYJCx7X192OiQsaDpRfSk7cmV0dXJuIEouY29udGFpbmVySW5mbz1RLEp9KGIyLnByb3RvdHlwZT1uZXcgZDEpLl9fYT1mdW5jdGlvbigkKXt2YXIgUT10aGlzLEo9eDkoUS5fX3YpLFg9US5sLmdldCgkKTtyZXR1cm4gWFswXSsrLGZ1bmN0aW9uKEspe3ZhciBZPWZ1bmN0aW9uKCl7US5wcm9wcy5yZXZlYWxPcmRlcj8oWC5wdXNoKEspLEE5KFEsJCxYKSk6SygpfTtKP0ooWSk6WSgpfX0sYjIucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigkKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgUT1YMCgkLmNoaWxkcmVuKTskLnJldmVhbE9yZGVyJiYkLnJldmVhbE9yZGVyWzBdPT09ImIiJiZRLnJldmVyc2UoKTtmb3IodmFyIEo9US5sZW5ndGg7Si0tOyl0aGlzLmwuc2V0KFFbSl0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuICQuY2hpbGRyZW59LGIyLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9YjIucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyICQ9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihRLEope0E5KCQsSixRKX0pfTt2YXIgajk9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsSyQ9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLFkkPS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8scSQ9L1tBLVowLTldL2csRyQ9dHlwZW9mIGRvY3VtZW50PCJ1IixWJD1mdW5jdGlvbigkKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoJCl9O2Z1bmN0aW9uIEIkKCQsUSxKKXtyZXR1cm4gUS5fX2s9PW51bGwmJihRLnRleHRDb250ZW50PSIiKSx4MCgkLFEpLHR5cGVvZiBKPT0iZnVuY3Rpb24iJiZKKCksJD8kLl9fYzpudWxsfWZ1bmN0aW9uIE4kKCQsUSxKKXtyZXR1cm4gSDUoJCxRKSx0eXBlb2YgSj09ImZ1bmN0aW9uIiYmSigpLCQ/JC5fX2M6bnVsbH1kMS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxbImNvbXBvbmVudFdpbGxNb3VudCIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJjb21wb25lbnRXaWxsVXBkYXRlIl0uZm9yRWFjaChmdW5jdGlvbigkKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZDEucHJvdG90eXBlLCQse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1siVU5TQUZFXyIrJF19LHNldDpmdW5jdGlvbihRKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywkLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6UX0pfX0pfSk7dmFyIGs5PXQuZXZlbnQ7dC5ldmVudD1mdW5jdGlvbigkKXtyZXR1cm4gazkmJigkPWs5KCQpKSwkLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LCQuaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LCQuaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sJC5uYXRpdmVFdmVudD0kfTt2YXIgYjMseiQ9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LFc5PXQudm5vZGU7dC52bm9kZT1mdW5jdGlvbigkKXt0eXBlb2YgJC50eXBlPT0ic3RyaW5nIiYmZnVuY3Rpb24oUSl7dmFye3Byb3BzOkosdHlwZTpYfT1RLEs9e30sWT1YLmluZGV4T2YoIi0iKT09LTE7Zm9yKHZhciBxIGluIEope3ZhciBHPUpbcV07aWYoIShxPT09InZhbHVlIiYmKCJkZWZhdWx0VmFsdWUiaW4gSikmJkc9PW51bGx8fEckJiZxPT09ImNoaWxkcmVuIiYmWD09PSJub3NjcmlwdCJ8fHE9PT0iY2xhc3MifHxxPT09ImNsYXNzTmFtZSIpKXt2YXIgQj1xLnRvTG93ZXJDYXNlKCk7cT09PSJkZWZhdWx0VmFsdWUiJiYidmFsdWUiaW4gSiYmSi52YWx1ZT09bnVsbD9xPSJ2YWx1ZSI6cT09PSJkb3dubG9hZCImJkc9PT0hMD9HPSIiOkI9PT0idHJhbnNsYXRlIiYmRz09PSJubyI/Rz0hMTpCWzBdPT09Im8iJiZCWzFdPT09Im4iP0I9PT0ib25kb3VibGVjbGljayI/cT0ib25kYmxjbGljayI6QiE9PSJvbmNoYW5nZSJ8fFghPT0iaW5wdXQiJiZYIT09InRleHRhcmVhInx8ViQoSi50eXBlKT9CPT09Im9uZm9jdXMiP3E9Im9uZm9jdXNpbiI6Qj09PSJvbmJsdXIiP3E9Im9uZm9jdXNvdXQiOlkkLnRlc3QocSkmJihxPUIpOkI9cT0ib25pbnB1dCI6WSYmSyQudGVzdChxKT9xPXEucmVwbGFjZShxJCwiLSQmIikudG9Mb3dlckNhc2UoKTpHPT09bnVsbCYmKEc9dm9pZCAwKSxCPT09Im9uaW5wdXQiJiZLW3E9Ql0mJihxPSJvbmlucHV0Q2FwdHVyZSIpLEtbcV09R319WD09InNlbGVjdCImJihLLm11bHRpcGxlJiZBcnJheS5pc0FycmF5KEsudmFsdWUpJiYoSy52YWx1ZT1YMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKE4pe04ucHJvcHMuc2VsZWN0ZWQ9Sy52YWx1ZS5pbmRleE9mKE4ucHJvcHMudmFsdWUpIT0tMX0pKSxLLmRlZmF1bHRWYWx1ZSE9bnVsbCYmKEsudmFsdWU9WDAoSi5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbihOKXtOLnByb3BzLnNlbGVjdGVkPUsubXVsdGlwbGU/Sy5kZWZhdWx0VmFsdWUuaW5kZXhPZihOLnByb3BzLnZhbHVlKSE9LTE6Sy5kZWZhdWx0VmFsdWU9PU4ucHJvcHMudmFsdWV9KSkpLEouY2xhc3MmJiFKLmNsYXNzTmFtZT8oSy5jbGFzcz1KLmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShLLCJjbGFzc05hbWUiLHokKSk6Si5jbGFzc05hbWUmJihLLmNsYXNzPUsuY2xhc3NOYW1lPUouY2xhc3NOYW1lKSxRLnByb3BzPUt9KCQpLCQuJCR0eXBlb2Y9ajksVzkmJlc5KCQpfTt2YXIgXzk9dC5fX3I7dC5fX3I9ZnVuY3Rpb24oJCl7XzkmJl85KCQpLGIzPSQuX19jfTt2YXIgRDk9dC5kaWZmZWQ7dC5kaWZmZWQ9ZnVuY3Rpb24oJCl7RDkmJkQ5KCQpO3Zhcntwcm9wczpRLF9fZTpKfT0kO0ohPW51bGwmJiQudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBRJiZRLnZhbHVlIT09Si52YWx1ZSYmKEoudmFsdWU9US52YWx1ZT09bnVsbD8iIjpRLnZhbHVlKSxiMz1udWxsfTt2YXIgTCQ9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKCQpe3JldHVybiBiMy5fX25bJC5fX2NdLnByb3BzLnZhbHVlfSx1c2VDYWxsYmFjazpJLHVzZUNvbnRleHQ6RjAsdXNlRGVidWdWYWx1ZTpGNSx1c2VEZWZlcnJlZFZhbHVlOnc5LHVzZUVmZmVjdDp5LHVzZUlkOlkyLHVzZUltcGVyYXRpdmVIYW5kbGU6TzUsdXNlSW5zZXJ0aW9uRWZmZWN0OmI5LHVzZUxheW91dEVmZmVjdDpUMCx1c2VNZW1vOkQxLHVzZVJlZHVjZXI6bzAsdXNlUmVmOncsdXNlU3RhdGU6ayx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpUOSx1c2VUcmFuc2l0aW9uOkk5fX19O2Z1bmN0aW9uIFUkKCQpe3JldHVybiB1MS5iaW5kKG51bGwsJCl9ZnVuY3Rpb24gazUoJCl7cmV0dXJuISEkJiYkLiQkdHlwZW9mPT09ajl9ZnVuY3Rpb24gSCQoJCl7cmV0dXJuIGs1KCQpJiYkLnR5cGU9PT1RMX1mdW5jdGlvbiBDJCgkKXtyZXR1cm4hISQmJnR5cGVvZiAkLmRpc3BsYXlOYW1lPT0ic3RyaW5nIiYmJC5kaXNwbGF5TmFtZS5pbmRleE9mKCJNZW1vKCIpPT0wfWZ1bmN0aW9uIE8kKCQpe3JldHVybiBrNSgkKT9rMy5hcHBseShudWxsLGFyZ3VtZW50cyk6JH1mdW5jdGlvbiBGJCgkKXtyZXR1cm4hISQuX19rJiYoeDAobnVsbCwkKSwhMCl9ZnVuY3Rpb24gTSQoJCl7cmV0dXJuICQmJigkLmJhc2V8fCQubm9kZVR5cGU9PT0xJiYkKXx8bnVsbH12YXIgQSQ9ZnVuY3Rpb24oJCxRKXtyZXR1cm4gJChRKX0sayQ9ZnVuY3Rpb24oJCxRKXt2YXIgSj10LmRlYm91bmNlUmVuZGVyaW5nO3QuZGVib3VuY2VSZW5kZXJpbmc9ZnVuY3Rpb24oSyl7cmV0dXJuIEsoKX07dmFyIFg9JChRKTtyZXR1cm4gdC5kZWJvdW5jZVJlbmRlcmluZz1KLFh9LFckPWs1LGc9e3VzZVN0YXRlOmssdXNlSWQ6WTIsdXNlUmVkdWNlcjpvMCx1c2VFZmZlY3Q6eSx1c2VMYXlvdXRFZmZlY3Q6VDAsdXNlSW5zZXJ0aW9uRWZmZWN0OmI5LHVzZVRyYW5zaXRpb246STksdXNlRGVmZXJyZWRWYWx1ZTp3OSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpUOSxzdGFydFRyYW5zaXRpb246RTksdXNlUmVmOncsdXNlSW1wZXJhdGl2ZUhhbmRsZTpPNSx1c2VNZW1vOkQxLHVzZUNhbGxiYWNrOkksdXNlQ29udGV4dDpGMCx1c2VEZWJ1Z1ZhbHVlOkY1LHZlcnNpb246IjE4LjMuMSIsQ2hpbGRyZW46JCQscmVuZGVyOkIkLGh5ZHJhdGU6TiQsdW5tb3VudENvbXBvbmVudEF0Tm9kZTpGJCxjcmVhdGVQb3J0YWw6STMsY3JlYXRlRWxlbWVudDp1MSxjcmVhdGVDb250ZXh0Ok8wLGNyZWF0ZUZhY3Rvcnk6VSQsY2xvbmVFbGVtZW50Ok8kLGNyZWF0ZVJlZjpJMixGcmFnbWVudDpRMSxpc1ZhbGlkRWxlbWVudDprNSxpc0VsZW1lbnQ6VyQsaXNGcmFnbWVudDpIJCxpc01lbW86QyQsZmluZERPTU5vZGU6TSQsQ29tcG9uZW50OmQxLFB1cmVDb21wb25lbnQ6dzMsbWVtbzppMCxmb3J3YXJkUmVmOl8wLGZsdXNoU3luYzprJCx1bnN0YWJsZV9iYXRjaGVkVXBkYXRlczpBJCxTdHJpY3RNb2RlOlExLFN1c3BlbnNlOkE1LFN1c3BlbnNlTGlzdDpiMixsYXp5OkokLF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOkwkfTt2YXIgeTI9e3BvcnRyYWl0OiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0X3Vwc2lkZV9kb3duIixwb3J0cmFpdF91cHNpZGVfZG93bjoibGFuZHNjYXBlX3JpZ2h0IixsYW5kc2NhcGVfcmlnaHQ6InBvcnRyYWl0In0seTM9e3BvcnRyYWl0OiJsYW5kc2NhcGVfcmlnaHQiLGxhbmRzY2FwZV9yaWdodDoicG9ydHJhaXRfdXBzaWRlX2Rvd24iLHBvcnRyYWl0X3Vwc2lkZV9kb3duOiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0In07dmFyIHEyPTM7ZnVuY3Rpb24gUzMoJCl7cmV0dXJuICQ+PTAuOTM/Mzp2b2lkIDB9ZnVuY3Rpb24geDMoJCl7cmV0dXJuICQ9PT0ibGFuZHNjYXBlX2xlZnQifHwkPT09ImxhbmRzY2FwZV9yaWdodCJ9ZnVuY3Rpb24gZjAoJCl7cmV0dXJuISEkJiYoeDMoJC5vcmllbnRhdGlvbil8fCQud2lkdGg+JC5oZWlnaHQpfWZ1bmN0aW9uIEcyKCQpe2lmKCEkfHwkLndpZHRoPD0wfHwkLmhlaWdodDw9MClyZXR1cm4gbnVsbDtsZXQgUT14MygkLm9yaWVudGF0aW9uKXx8JC53aWR0aD4kLmhlaWdodCxKPVE/TWF0aC5tYXgoJC53aWR0aCwkLmhlaWdodCk6TWF0aC5taW4oJC53aWR0aCwkLmhlaWdodCksWD1RP01hdGgubWluKCQud2lkdGgsJC5oZWlnaHQpOk1hdGgubWF4KCQud2lkdGgsJC5oZWlnaHQpO2lmKEo9PT0kLndpZHRoJiZYPT09JC5oZWlnaHQpcmV0dXJuICQ7cmV0dXJuey4uLiQsd2lkdGg6SixoZWlnaHQ6WH19ZnVuY3Rpb24gVjIoJCl7bGV0IFE9RzIoJCksSj12OSgkPy5vcmllbnRhdGlvbiksWD1NYXRoLmFicyhKKT09PTkwLEs9ISEkJiYkLndpZHRoPiQuaGVpZ2h0LFk9Sj09PTE4MHx8WCYmIUs7cmV0dXJue2Rpc3BsYXlDb25maWc6USxyb3RhdGlvbkRlZ3JlZXM6WT9KOjAsbmVlZHNDc3NSb3RhdGlvbjpZLGlucHV0T3JpZW50YXRpb246WT8kPy5vcmllbnRhdGlvbjp2b2lkIDB9fWZ1bmN0aW9uIHY5KCQpe3N3aXRjaCgkKXtjYXNlImxhbmRzY2FwZV9sZWZ0IjpyZXR1cm4gOTA7Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnJldHVybi05MDtjYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpyZXR1cm4gMTgwO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIEIyKCQsUSxKKXtzd2l0Y2goJCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJue3g6Six5OjEtUX07Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnJldHVybnt4OjEtSix5OlF9O2Nhc2UicG9ydHJhaXRfdXBzaWRlX2Rvd24iOnJldHVybnt4OjEtUSx5OjEtSn07ZGVmYXVsdDpyZXR1cm57eDpRLHk6Sn19fWZ1bmN0aW9uIFI5KCQsUSxKKXtzd2l0Y2goJCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJue2R4OkosZHk6LVF9O2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm57ZHg6LUosZHk6UX07Y2FzZSJwb3J0cmFpdF91cHNpZGVfZG93biI6cmV0dXJue2R4Oi1RLGR5Oi1KfTtkZWZhdWx0OnJldHVybntkeDpRLGR5Okp9fX1mdW5jdGlvbiBqMygkLFEpe3N3aXRjaCgkKXtjYXNlImxhbmRzY2FwZV9sZWZ0Ijpzd2l0Y2goUSl7Y2FzZSAxOnJldHVybiAzO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDE7Y2FzZSAzOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIFF9Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnN3aXRjaChRKXtjYXNlIDE6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiAzO2Nhc2UgMjpyZXR1cm4gNDtjYXNlIDM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gUX1jYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpzd2l0Y2goUSl7Y2FzZSAxOnJldHVybiA0O2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIFF9ZGVmYXVsdDpyZXR1cm4gUX19dmFyIGg5PTE2O2Z1bmN0aW9uIFMyKCQsUSxKKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiBudWxsO2xldCBYPU51bWJlci5pc0Zpbml0ZShKKSYmSj4wP0o6MSxLPVE9PT0xPyQqMTY6UT09PTI/JCpYOiQsWT1NYXRoLm1heCgtMjAwLE1hdGgubWluKDIwMCxLKSk7cmV0dXJuIE1hdGguYWJzKFkpPDAuMDE/bnVsbDpZfWZ1bmN0aW9uIHYzKCQsUSxKKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiAwO2xldCBYPU51bWJlci5pc0Zpbml0ZShKKSYmSj4wP0o6MTtpZihRPT09MSlyZXR1cm4gJCpoOTtpZihRPT09MilyZXR1cm4gJCpYO3JldHVybiAkfWZ1bmN0aW9uIGc5KCQsUSxKKXtpZighUXx8US53aWR0aDw9MHx8US5oZWlnaHQ8PTApcmV0dXJuIG51bGw7bGV0IFg9US5vcmllbnRhdGlvbj09PXZvaWQgMCYmJD8ub3JpZW50YXRpb24/ey4uLlEsb3JpZW50YXRpb246JC5vcmllbnRhdGlvbn06UTtpZigkJiYkLndpZHRoPT09WC53aWR0aCYmJC5oZWlnaHQ9PT1YLmhlaWdodCYmJC5vcmllbnRhdGlvbj09PVgub3JpZW50YXRpb24pcmV0dXJuIG51bGw7cmV0dXJue2NvbmZpZzpYLG5vdGlmeVBhcmVudDpKIT09ImV4dGVybmFsIn19ZnVuY3Rpb24gZjkoe3N0cmVhbU1vZGU6JCxhdmNjU3VwcG9ydGVkOlEsaGFzRXh0ZXJuYWxJbnB1dDpKLGhhc0V4dGVybmFsRnJhbWVzOlh9KXtsZXQgSz0kPT09ImF2Y2MiJiYhUT8ibWpwZWciOiQsWT1LPT09IndlYnJ0YyIscT1LPT09ImF2Y2MiLEc9Sz09PSJtanBlZyImJlg7cmV0dXJue2VmZmVjdGl2ZVN0cmVhbU1vZGU6Syx1c2VXZWJSdGM6WSx1c2VBdmNjOnEsZXh0ZXJuYWxJbnB1dDpKLGV4dGVybmFsTWpwZWc6RyxvcGVuRGlyZWN0Q29udHJvbFNvY2tldDohSixvcGVuRGlyZWN0TWpwZWc6Sz09PSJtanBlZyImJiFHfX12YXIgXyQ9e1sxXToiZGVzY3JpcHRpb24iLFsyXToia2V5ZnJhbWUiLFszXToiZGVsdGEiLFs0XToic2VlZCJ9O2NsYXNzIFc1e2J1ZmZlcj1uZXcgVWludDhBcnJheSg2NTUzNik7bGVuPTA7c3RhcnQ9MDthcHBlbmQoJCl7aWYodGhpcy5sZW4rJC5sZW5ndGg+dGhpcy5idWZmZXIubGVuZ3RoKXtpZih0aGlzLnN0YXJ0PjApdGhpcy5idWZmZXIuY29weVdpdGhpbigwLHRoaXMuc3RhcnQsdGhpcy5sZW4pLHRoaXMubGVuLT10aGlzLnN0YXJ0LHRoaXMuc3RhcnQ9MDtpZih0aGlzLmxlbiskLmxlbmd0aD50aGlzLmJ1ZmZlci5sZW5ndGgpe2xldCBRPXRoaXMuYnVmZmVyLmxlbmd0aDt3aGlsZShRPHRoaXMubGVuKyQubGVuZ3RoKVEqPTI7bGV0IEo9bmV3IFVpbnQ4QXJyYXkoUSk7Si5zZXQodGhpcy5idWZmZXIuc3ViYXJyYXkoMCx0aGlzLmxlbikpLHRoaXMuYnVmZmVyPUp9fXRoaXMuYnVmZmVyLnNldCgkLHRoaXMubGVuKSx0aGlzLmxlbis9JC5sZW5ndGh9cHVzaCgkKXtpZigkLmxlbmd0aD4wKXRoaXMuYXBwZW5kKCQpO2xldCBRPVtdLEo9dGhpcy5idWZmZXI7d2hpbGUodGhpcy5sZW4tdGhpcy5zdGFydD49NCl7bGV0IFg9dGhpcy5zdGFydCxLPShKW1hdPDwyNHxKW1grMV08PDE2fEpbWCsyXTw8OHxKW1grM10pPj4+MDtpZih0aGlzLmxlbi1YLTQ8SylicmVhaztpZihLPDEpe3RoaXMuc3RhcnQrPTQ7Y29udGludWV9bGV0IFk9SltYKzRdLHE9XyRbWV07aWYocSlRLnB1c2goe3R5cGU6cSxwYXlsb2FkOkouc2xpY2UoWCs1LFgrNCtLKX0pO3RoaXMuc3RhcnQrPTQrS31pZih0aGlzLnN0YXJ0PjApe2lmKHRoaXMuc3RhcnQ8dGhpcy5sZW4pdGhpcy5idWZmZXIuY29weVdpdGhpbigwLHRoaXMuc3RhcnQsdGhpcy5sZW4pO3RoaXMubGVuLT10aGlzLnN0YXJ0LHRoaXMuc3RhcnQ9MH1yZXR1cm4gUX1yZXNldCgpe3RoaXMubGVuPTAsdGhpcy5zdGFydD0wfX1mdW5jdGlvbiBSMygkKXtpZigkLmxlbmd0aDw0KXJldHVybiJhdmMxLjQyRTAxRSI7bGV0IFE9KEopPT5KLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7cmV0dXJuImF2YzEuIitRKCRbMV0pK1EoJFsyXSkrUSgkWzNdKX1mdW5jdGlvbiBuMCgpe3JldHVybiB0eXBlb2YgZ2xvYmFsVGhpczwidSImJnR5cGVvZiBnbG9iYWxUaGlzLlZpZGVvRGVjb2RlcjwidSJ9dmFyIEQkPTEwMDAsUCQ9MTY2Njc7ZnVuY3Rpb24gaDMoe3VybDokLGVuYWJsZWQ6USxjYW52YXNSZWY6SixvbkZpcnN0RnJhbWU6WCxvbkZyYW1lOkssb25EZWNvZGVkRnJhbWU6WSxvbkVycm9yOnEsb25EZWNvZGVyRXJyb3I6R30pe2xldCBCPXcoe29uRmlyc3RGcmFtZTpYLG9uRnJhbWU6SyxvbkRlY29kZWRGcmFtZTpZLG9uRXJyb3I6cSxvbkRlY29kZXJFcnJvcjpHfSk7Qi5jdXJyZW50PXtvbkZpcnN0RnJhbWU6WCxvbkZyYW1lOkssb25EZWNvZGVkRnJhbWU6WSxvbkVycm9yOnEsb25EZWNvZGVyRXJyb3I6R30seSgoKT0+e2lmKCFRfHwhJHx8IW4wKCkpcmV0dXJuO2xldCBOPW5ldyBBYm9ydENvbnRyb2xsZXIsej1uZXcgVzUsVj0hMSxVPSExLEM9ITEsTT0wLEw9bnVsbCxIPW51bGwsTz0oKT0+IVYmJiFOLnNpZ25hbC5hYm9ydGVkLFc9KG8pPT57aWYoQi5jdXJyZW50Lm9uRGVjb2RlckVycm9yKUIuY3VycmVudC5vbkRlY29kZXJFcnJvcigpO2Vsc2UgQi5jdXJyZW50Lm9uRXJyb3I/LihvKX0sVD0obyxhLGksTDEpPT57aWYoIU8oKSlyZXR1cm47bGV0IGw9Si5jdXJyZW50O2lmKCFsKXJldHVybjtpZihsLndpZHRoIT09YXx8bC5oZWlnaHQhPT1pKWwud2lkdGg9YSxsLmhlaWdodD1pO2xldCBmPWwuZ2V0Q29udGV4dCgiMmQiKTtpZighZilyZXR1cm47aWYoZi5kcmF3SW1hZ2UobywwLDAsYSxpKSxCLmN1cnJlbnQub25GcmFtZT8uKCksTDEmJiFDKUM9ITAsQi5jdXJyZW50Lm9uRGVjb2RlZEZyYW1lPy4oKTtpZighVSlVPSEwLEIuY3VycmVudC5vbkZpcnN0RnJhbWU/LigpfSxQPSgpPT5uZXcgVmlkZW9EZWNvZGVyKHtvdXRwdXQ6KG8pPT57dHJ5e2lmKE8oKSlUKG8sby5kaXNwbGF5V2lkdGgsby5kaXNwbGF5SGVpZ2h0LCEwKX1maW5hbGx5e28uY2xvc2UoKX19LGVycm9yOihvKT0+VyhgZGVjb2RlcjogJHtvLm1lc3NhZ2V9YCl9KSx4PWFzeW5jKG8pPT57bGV0IGE9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAobmV3IEJsb2IoW29dLHt0eXBlOiJpbWFnZS9qcGVnIn0pKTt0cnl7aWYoTygpKVQoYSxhLndpZHRoLGEuaGVpZ2h0LCExKX1maW5hbGx5e2EuY2xvc2UoKX19LEQ9KG8pPT57aWYoIUh8fEguc3RhdGU9PT0iY2xvc2VkIilIPVAoKTt0cnl7SC5jb25maWd1cmUoe2NvZGVjOlIzKG8pLGRlc2NyaXB0aW9uOm8sb3B0aW1pemVGb3I6ImxhdGVuY3kiLGhhcmR3YXJlQWNjZWxlcmF0aW9uOiJwcmVmZXItaGFyZHdhcmUifSl9Y2F0Y2goYSl7VyhgY29uZmlnOiAke2EubWVzc2FnZX1gKX19LGU9KG8sYSk9PntpZihIPy5zdGF0ZSE9PSJjb25maWd1cmVkIilyZXR1cm47dHJ5e0guZGVjb2RlKG5ldyBFbmNvZGVkVmlkZW9DaHVuayh7dHlwZTpvPT09ImtleWZyYW1lIj8ia2V5IjoiZGVsdGEiLHRpbWVzdGFtcDpNLGRhdGE6YX0pKSxNKz1QJH1jYXRjaHt9fSxSPShvLGEpPT57c3dpdGNoKG8pe2Nhc2Uic2VlZCI6eChhKS5jYXRjaCgoKT0+e30pO3JldHVybjtjYXNlImRlc2NyaXB0aW9uIjpEKGEpO3JldHVybjtjYXNlImtleWZyYW1lIjpjYXNlImRlbHRhIjplKG8sYSk7cmV0dXJufX0sZD0oKT0+e2lmKCFPKCl8fEwpcmV0dXJuO0w9c2V0VGltZW91dCgoKT0+e0w9bnVsbCxuKCl9LEQkKX0sbj1hc3luYygpPT57ei5yZXNldCgpO3RyeXtsZXQgYT0oYXdhaXQgZmV0Y2goYCR7JH0vc3RyZWFtLmF2Y2NgLHtzaWduYWw6Ti5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIWEpcmV0dXJuO2Zvcig7Oyl7bGV0e2RvbmU6aSx2YWx1ZTpMMX09YXdhaXQgYS5yZWFkKCk7aWYoaSlicmVhaztpZighTDEpY29udGludWU7Zm9yKGxldCBsIG9mIHoucHVzaChMMSkpUihsLnR5cGUsbC5wYXlsb2FkKX19Y2F0Y2h7fWZpbmFsbHl7aWYoTygpKWQoKX19O3JldHVybiBuKCksKCk9PntpZihWPSEwLEwpY2xlYXJUaW1lb3V0KEwpO2lmKE4uYWJvcnQoKSx6LnJlc2V0KCksSCYmSC5zdGF0ZSE9PSJjbG9zZWQiKXRyeXtILmNsb3NlKCl9Y2F0Y2h7fUg9bnVsbH19LFskLFEsSl0pfWZ1bmN0aW9uIG05KCQsUSl7bGV0IEo9MCxYPTAsSz0oKT0+e2xldHt2aWRlb1dpZHRoOlksdmlkZW9IZWlnaHQ6cX09JDtpZihZPD0wfHxxPD0wfHxZPT09SiYmcT09PVgpcmV0dXJuO0o9WSxYPXEsUSh7d2lkdGg6WSxoZWlnaHQ6cX0pfTtyZXR1cm4gJC5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRtZXRhZGF0YSIsSyksJC5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLEspLEsoKSx7Y2hlY2s6SyxkaXNjb25uZWN0KCl7JC5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkZWRtZXRhZGF0YSIsSyksJC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLEspfX19dmFyIFQkPTA7ZnVuY3Rpb24gWigkLFEsSixYLEssWSl7UXx8KFE9e30pO3ZhciBxLEcsQj1RO2lmKCJyZWYiaW4gQilmb3IoRyBpbiBCPXt9LFEpRz09InJlZiI/cT1RW0ddOkJbR109UVtHXTt2YXIgTj17dHlwZTokLHByb3BzOkIsa2V5OkoscmVmOnEsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Oi0tVCQsX19pOi0xLF9fdTowLF9fc291cmNlOkssX19zZWxmOll9O2lmKHR5cGVvZiAkPT0iZnVuY3Rpb24iJiYocT0kLmRlZmF1bHRQcm9wcykpZm9yKEcgaW4gcSlCW0ddPT09dm9pZCAwJiYoQltHXT1xW0ddKTtyZXR1cm4gdC52bm9kZSYmdC52bm9kZShOKSxOfXZhciBwOT1gdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nOScgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwwLjQ1KScgc3Ryb2tlPSdyZ2JhKDAsMCwwLDAuNTUpJyBzdHJva2Utd2lkdGg9JzEuMjUnIGZpbHRlcj0nZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsMC40NSkpJy8lM0UlM0Mvc3ZnJTNFIikgMTIgMTIsIHBvaW50ZXJgLEUkPTEuMDA0LHckPTMsSSQ9NCxiJD01LHkkPTEwLFMkPTExO2Z1bmN0aW9uIF81KHt1cmw6JCx3c1VybDpRLHN0eWxlOkosaW1hZ2VTdHlsZTpYLGNsYXNzTmFtZTpLLG9uSG9tZVByZXNzOlksb25TdHJlYW1Ub3VjaDpxLG9uU3RyZWFtTXVsdGlUb3VjaDpHLG9uU3RyZWFtQnV0dG9uOkIsb25TdHJlYW1EaWdpdGFsQ3Jvd246TixvblN0cmVhbVNjcm9sbDp6LGVuYWJsZURpZ2l0YWxDcm93bjpWLHN1YnNjcmliZUZyYW1lOlUsc3RyZWFtRnJhbWU6QyxzdHJlYW1Db25maWc6TSxvblNjcmVlbkNvbmZpZ0NoYW5nZTpMLGhpZGVDb250cm9sczpILG9uU3RyZWFtaW5nQ2hhbmdlOk8sY29ubmVjdGlvblF1YWxpdHk6VyxzdHJlYW1Nb2RlOlQ9ImF2Y2MiLHdlYlJ0Y1N0cmVhbTpQLG9uV2ViUnRjRnJhbWU6eCxzdHJlYW1FcnJvcjpELG9uQXZjY0Vycm9yOmUsb25BdmNjRGVjb2RlZEZyYW1lOlJ9KXtsZXR7dXNlV2ViUnRjOmQsdXNlQXZjYzpuLGV4dGVybmFsSW5wdXQ6byxleHRlcm5hbE1qcGVnOmEsb3BlbkRpcmVjdENvbnRyb2xTb2NrZXQ6aSxvcGVuRGlyZWN0TWpwZWc6TDF9PWY5KHtzdHJlYW1Nb2RlOlQsYXZjY1N1cHBvcnRlZDpuMCgpLGhhc0V4dGVybmFsSW5wdXQ6ISFxLGhhc0V4dGVybmFsRnJhbWVzOiEhVX0pLGw9dyhudWxsKSxmPXcobnVsbCksWDE9dyhudWxsKSxaMT13KG51bGwpLFUxPXcobnVsbCkscz13KG51bGwpLEoxPXcobnVsbCksW3ExLGpdPWsoITEpLFtwLF9dPWsobnVsbCksW2gsbV09ayhudWxsKSx2PXcobnVsbCksWTE9dyghMSksVjE9dyhMKTtWMS5jdXJyZW50PUw7bGV0IHcxPXcobnVsbCksW0YxLEkxXT1rKG51bGwpO3koKCk9PntsZXQgRj13MS5jdXJyZW50O2lmKCFGfHx0eXBlb2YgUmVzaXplT2JzZXJ2ZXI+InUiKXJldHVybjtsZXQgQT1uZXcgUmVzaXplT2JzZXJ2ZXIoKFMpPT57bGV0IGI9U1swXT8uY29udGVudFJlY3Q7aWYoYilJMSh7d2lkdGg6Yi53aWR0aCxoZWlnaHQ6Yi5oZWlnaHR9KX0pO3JldHVybiBBLm9ic2VydmUoRiksKCk9PkEuZGlzY29ubmVjdCgpfSxbXSk7bGV0W1cxLFIxXT1rKDApLGsxPXcoMCksW3IxLHgxXT1rKCExKSxNMT1JKChGLEE9InJlcG9ydGVkIik9PntpZihBPT09Im1lZGlhIiYmWTEuY3VycmVudClyZXR1cm47aWYoQSE9PSJtZWRpYSImJkYmJkYud2lkdGg+MCYmRi5oZWlnaHQ+MClZMS5jdXJyZW50PSEwO2xldCBTPWc5KHYuY3VycmVudCxGLEEpO2lmKCFTKXJldHVybjtpZih2LmN1cnJlbnQ9Uy5jb25maWcsbShTLmNvbmZpZyksUy5ub3RpZnlQYXJlbnQpVjEuY3VycmVudD8uKFMuY29uZmlnKX0sW10pO3koKCk9PntpZighZClyZXR1cm47aWYoRClqKCExKSxfKEQpO2Vsc2UgXyhudWxsKX0sW0QsZF0pO2xldCBOMT13KG51bGwpO3koKCk9PntpZihXPT09InBvb3IiKXtpZih4MSghMCksTjEuY3VycmVudCljbGVhclRpbWVvdXQoTjEuY3VycmVudCk7TjEuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57eDEoITEpLE4xLmN1cnJlbnQ9bnVsbH0sMzAwMCl9ZWxzZSBpZih4MSghMSksTjEuY3VycmVudCljbGVhclRpbWVvdXQoTjEuY3VycmVudCksTjEuY3VycmVudD1udWxsO3JldHVybigpPT57aWYoTjEuY3VycmVudCljbGVhclRpbWVvdXQoTjEuY3VycmVudCl9fSxbV10pO2xldCBhMT1gJHskfS9zdHJlYW0ubWpwZWdgO3koKCk9PntpZighZClyZXR1cm47bGV0IEY9WDEuY3VycmVudDtpZighRilyZXR1cm47bGV0IEE9ITEsUz0hMSxiPTAsYz1udWxsLCQxPSgpPT57aWYoU3x8QSlyZXR1cm47Yz8uY2hlY2soKSxBPSEwLHg/LigpLGooITApLF8obnVsbCl9LEgxPSgpPT57aWYoUylyZXR1cm47Yz8uY2hlY2soKSxlMS5jdXJyZW50PURhdGUubm93KCksazEuY3VycmVudCsrLCQxKCksaighMCksYj1GLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soSDEpfSxBMT0oKT0+e2lmKFMpcmV0dXJuO2M/LmNoZWNrKCksZTEuY3VycmVudD1EYXRlLm5vdygpLCQxKCksaighMCl9O2lmKEYuc3JjT2JqZWN0PVA/P251bGwsUCl7aWYoYz1tOShGLChaMCk9PntNMShaMCwibWVkaWEiKX0pLGooITEpLEYuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkZGF0YSIsJDEse29uY2U6ITB9KSx0eXBlb2YgRi5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrPT09ImZ1bmN0aW9uIiliPUYucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhIMSk7ZWxzZSBGLmFkZEV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLEExKTtGLnBsYXkoKS5jYXRjaCgoKT0+e30pfWVsc2UgaighMSk7cmV0dXJuKCk9PntpZihTPSEwLEYucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZGVkZGF0YSIsJDEpLEYucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsQTEpLGM/LmRpc2Nvbm5lY3QoKSxiJiZ0eXBlb2YgRi5jYW5jZWxWaWRlb0ZyYW1lQ2FsbGJhY2s9PT0iZnVuY3Rpb24iKUYuY2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNrKGIpO0Yuc3JjT2JqZWN0PW51bGx9fSxbZCxQLHgsTTFdKSx5KCgpPT57WTEuY3VycmVudD0hMSx2LmN1cnJlbnQ9bnVsbCxtKG51bGwpfSxbJCxRXSk7bGV0IGYxPXcoTyk7ZjEuY3VycmVudD1PLHkoKCk9PntmMS5jdXJyZW50Py4ocTEpfSxbcTFdKSx5KCgpPT57aWYoTSlNMShNLCJleHRlcm5hbCIpfSxbTSxNMSwkXSk7bGV0IGkxPXcoITEpO2kxLmN1cnJlbnQ9cTE7bGV0IHQxPXcobnVsbCkscTA9dyhudWxsKTt5KCgpPT57aWYoIWF8fCFVKXJldHVybjtsZXQgQT1zZXRUaW1lb3V0KCgpPT57aWYoIWkxLmN1cnJlbnQpXygiU3RyZWFtIGlzIG5vdCBwcm9kdWNpbmcgZnJhbWVzLiBUaGUgc2ltdWxhdG9yIG1heSBoYXZlIHN0b3BwZWQg4oCUIHRyeSByZWNvbm5lY3RpbmcuIil9LDYwMDApLFM9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uIGMoKXtsZXQgJDE9dDEuY3VycmVudDtpZigkMSl7dDEuY3VycmVudD1udWxsO2xldCBIMT1aMS5jdXJyZW50O2lmKEgxKXtpZihxMC5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwocTAuY3VycmVudCk7cTAuY3VycmVudD0kMSxIMS5zcmM9JDEsazEuY3VycmVudCsrfWVsc2UgVVJMLnJldm9rZU9iamVjdFVSTCgkMSl9Uz1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYyl9KSxiPVUoKGMpPT57aWYoZTEuY3VycmVudD1EYXRlLm5vdygpLHQxLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTCh0MS5jdXJyZW50KTtpZih0MS5jdXJyZW50PWMsIWkxLmN1cnJlbnQpY2xlYXJUaW1lb3V0KEEpLGooITApLF8obnVsbCl9KTtyZXR1cm4oKT0+e2lmKGNsZWFyVGltZW91dChBKSxjYW5jZWxBbmltYXRpb25GcmFtZShTKSxiPy4oKSx0MS5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwodDEuY3VycmVudCksdDEuY3VycmVudD1udWxsO2lmKHEwLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTChxMC5jdXJyZW50KSxxMC5jdXJyZW50PW51bGx9fSxbYSxVXSk7bGV0IEcwPUkoKCk9PntlMS5jdXJyZW50PURhdGUubm93KCksaighMCksXyhudWxsKX0sW10pLGwwPUkoKCk9PntpZihrMS5jdXJyZW50KyssZTEuY3VycmVudD1EYXRlLm5vdygpLCFpMS5jdXJyZW50KWooITApLF8obnVsbCl9LFtdKTtoMyh7dXJsOiQsZW5hYmxlZDpuLGNhbnZhc1JlZjpmLG9uRmlyc3RGcmFtZTpHMCxvbkZyYW1lOmwwLG9uRGVjb2RlZEZyYW1lOlIsb25FcnJvcjpfLG9uRGVjb2RlckVycm9yOmV9KTtsZXQgajE9SSgoRik9PntsZXQgQT1WMih2LmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sUz1CMihBLEYueCxGLnkpLGI9Ri5lZGdlPT09dm9pZCAwP3ZvaWQgMDpqMyhBLEYuZWRnZSksYz1iPT09dm9pZCAwP3t0eXBlOkYudHlwZSwuLi5TfTp7dHlwZTpGLnR5cGUsLi4uUyxlZGdlOmJ9O2lmKG8pe3E/LihjKTtyZXR1cm59bGV0ICQxPUoxLmN1cnJlbnQ7aWYoISQxfHwkMS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBIMT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoYykpLEExPW5ldyBVaW50OEFycmF5KDErSDEubGVuZ3RoKTtBMVswXT13JCxBMS5zZXQoSDEsMSksJDEuc2VuZChBMSl9LFtvLHFdKSxWMD1JKChGKT0+e2lmKG8pe0I/LihGKTtyZXR1cm59bGV0IEE9SjEuY3VycmVudDtpZighQXx8QS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBTPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeSh7YnV0dG9uOkZ9KSksYj1uZXcgVWludDhBcnJheSgxK1MubGVuZ3RoKTtiWzBdPUkkLGIuc2V0KFMsMSksQS5zZW5kKGIpfSxbbyxCXSksUTA9SSgoRik9PntpZighTnVtYmVyLmlzRmluaXRlKEYpfHxGPT09MClyZXR1cm47aWYobyl7Tj8uKEYpO3JldHVybn1sZXQgQT1KMS5jdXJyZW50O2lmKCFBfHxBLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IFM9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHtkZWx0YTpGfSkpLGI9bmV3IFVpbnQ4QXJyYXkoMStTLmxlbmd0aCk7YlswXT15JCxiLnNldChTLDEpLEEuc2VuZChiKX0sW28sTl0pLEQwPUkoKEYsQSxTLGIpPT57aWYoIU51bWJlci5pc0Zpbml0ZShGKXx8IU51bWJlci5pc0Zpbml0ZShBKXx8Rj09PTAmJkE9PT0wKXJldHVybjtsZXQgYz1WMih2LmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sJDE9UjkoYyxGLEEpLEgxPUIyKGMsUyxiKSxBMT17ZHg6JDEuZHgsZHk6JDEuZHkseDpIMS54LHk6SDEueX07aWYobyl7ej8uKEExKTtyZXR1cm59bGV0IG8xPUoxLmN1cnJlbnQ7aWYoIW8xfHxvMS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBaMD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoQTEpKSxjMD1uZXcgVWludDhBcnJheSgxK1owLmxlbmd0aCk7YzBbMF09UyQsYzAuc2V0KFowLDEpLG8xLnNlbmQoYzApfSxbbyx6XSksbTE9SSgoRik9PntsZXQgQT1WMih2LmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sUz1CMihBLEYueDEsRi55MSksYj1CMihBLEYueDIsRi55MiksYz17dHlwZTpGLnR5cGUseDE6Uy54LHkxOlMueSx4MjpiLngseTI6Yi55fTtpZihvKXtHPy4oYyk7cmV0dXJufWxldCAkMT1KMS5jdXJyZW50O2lmKCEkMXx8JDEucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgSDE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGMpKSxBMT1uZXcgVWludDhBcnJheSgxK0gxLmxlbmd0aCk7QTFbMF09YiQsQTEuc2V0KEgxLDEpLCQxLnNlbmQoQTEpfSxbbyxHXSk7eSgoKT0+e2lmKCFpJiYhTDEmJiFuKXJldHVybjtsZXQgRj1udWxsO2lmKGkpe2xldCAkMT1RPz8kLnJlcGxhY2UoL15odHRwLywid3MiKSsiL3dzIjtGPW5ldyBXZWJTb2NrZXQoJDEpLEYuYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLEoxLmN1cnJlbnQ9RixGLm9ubWVzc2FnZT0oSDEpPT57aWYoIShIMS5kYXRhIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXJldHVybjtsZXQgQTE9bmV3IFVpbnQ4QXJyYXkoSDEuZGF0YSk7aWYoQTEubGVuZ3RoPDF8fEExWzBdIT09MTMwKXJldHVybjt0cnl7TTEoSlNPTi5wYXJzZShuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoQTEuc3ViYXJyYXkoMSkpKSl9Y2F0Y2h7fX0sRi5vbm9wZW49KCk9Pl8obnVsbCksRi5vbmNsb3NlPSgpPT5qKCExKSxGLm9uZXJyb3I9KCk9PntfKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBmYWlsZWQiKSxqKCExKX19bGV0IEE9bnx8TDE/c2V0SW50ZXJ2YWwoKCk9PntSMShrMS5jdXJyZW50KSxrMS5jdXJyZW50PTB9LDEwMDApOm51bGwsUz1MMT9uZXcgQWJvcnRDb250cm9sbGVyOm51bGwsYj0hMSxjPUwxP3NldFRpbWVvdXQoKCk9PntpZighYilfKCJTdHJlYW0gaXMgbm90IHByb2R1Y2luZyBmcmFtZXMuIFRoZSBzaW11bGF0b3IgbWF5IGhhdmUgc3RvcHBlZCDigJQgdHJ5IHJlY29ubmVjdGluZy4iKX0sNjAwMCk6bnVsbDtpZihMMSYmUykoYXN5bmMoKT0+e3RyeXtsZXQgSDE9KGF3YWl0IGZldGNoKGExLHtzaWduYWw6Uy5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIUgxKXJldHVybjtsZXQgQTE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCItLWZyYW1lIik7d2hpbGUoITApe2xldHtkb25lOm8xLHZhbHVlOlowfT1hd2FpdCBIMS5yZWFkKCk7aWYobzEpYnJlYWs7aWYoWjApZm9yKGxldCBjMD0wO2MwPD1aMC5sZW5ndGgtQTEubGVuZ3RoO2MwKyspe2xldCBiOD0hMDtmb3IobGV0IFY1PTA7VjU8QTEubGVuZ3RoO1Y1KyspaWYoWjBbYzArVjVdIT09QTFbVjVdKXtiOD0hMTticmVha31pZihiOCl7aWYoazEuY3VycmVudCsrLCFiKXtpZihiPSEwLGMpY2xlYXJUaW1lb3V0KGMpO2ooITApLF8obnVsbCl9fX19fWNhdGNoe319KSgpO3JldHVybigpPT57aWYoUz8uYWJvcnQoKSxBKWNsZWFySW50ZXJ2YWwoQSk7aWYoYyljbGVhclRpbWVvdXQoYyk7aWYoRj8uY2xvc2UoKSxKMS5jdXJyZW50PT09RilKMS5jdXJyZW50PW51bGx9fSxbaSxMMSxhMSxNMSwkLG4sUV0pLHkoKCk9PntpZighZClyZXR1cm47bGV0IEY9c2V0SW50ZXJ2YWwoKCk9PntSMShrMS5jdXJyZW50KSxrMS5jdXJyZW50PTA7bGV0IEE9ZTEuY3VycmVudDtpZighZG9jdW1lbnQuaGlkZGVuJiZBJiZEYXRlLm5vdygpLUE+MzAwMClqKCExKX0sMTAwMCk7cmV0dXJuKCk9PmNsZWFySW50ZXJ2YWwoRil9LFtkXSk7bGV0IGUxPXcoMCk7eSgoKT0+e2lmKCFhKXJldHVybjtsZXQgRj0yMDAwLEE9KCk9PntsZXQgYz1lMS5jdXJyZW50O2lmKCFjfHwhaTEuY3VycmVudClyZXR1cm47aWYoRGF0ZS5ub3coKS1jPkYpaighMSl9LFM9c2V0SW50ZXJ2YWwoKCk9PntSMShrMS5jdXJyZW50KSxrMS5jdXJyZW50PTAsQSgpfSwxMDAwKSxiPSgpPT57aWYoIWRvY3VtZW50LmhpZGRlbilBKCl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixiKSwoKT0+e2NsZWFySW50ZXJ2YWwoUyksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYil9fSxbYV0pO2xldCBSMD1JKCgpPT57aWYoZClyZXR1cm4gWDEuY3VycmVudDtpZihuKXJldHVybiBmLmN1cnJlbnQ7cmV0dXJuIGE/WjEuY3VycmVudDpsLmN1cnJlbnR9LFthLG4sZF0pLGIxPUkoKCk9PntyZXR1cm4gVTEuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P1IwKCk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz9udWxsfSxbUjBdKSxCMD1JKChGLEEpPT57bGV0IFM9YjEoKTtpZighUylyZXR1cm47bGV0IGI9KEEuY2xpZW50WC1TLmxlZnQpL1Mud2lkdGgsYz0oQS5jbGllbnRZLVMudG9wKS9TLmhlaWdodDtqMSh7dHlwZTpGLHg6Yix5OmN9KX0sW2IxLGoxXSksVTA9SSgoRixBKT0+e2xldCBiPWIxKCk/LmhlaWdodHx8MSxjPVMyKEYsQSxiKTtpZihjPT09bnVsbClyZXR1cm4hMTtyZXR1cm4gUTAoYyksITB9LFtiMSxRMF0pLF8xPXcoITEpLEUxPXcoITEpLEowPXcoITEpLE4wPXcoe2R4OjAsZHk6MH0pLEgwPXcoITEpLFtBMCxLMV09ayghMSksRT13KHt4OjAuNSx5OjAuNX0pLFt1LHJdPWsobnVsbCk7eSgoKT0+e2xldCBGPShTKT0+e2lmKFMua2V5PT09IkFsdCIpSzEoITApfSxBPShTKT0+e2lmKFMua2V5PT09IkFsdCIpe2lmKEsxKCExKSwhRTEuY3VycmVudClyKG51bGwpfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixGKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLEEpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEYpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsQSl9fSxbXSkseSgoKT0+e2lmKEEwJiYhRTEuY3VycmVudCl7bGV0IEY9RS5jdXJyZW50O3Ioe3gxOkYueCx5MTpGLnkseDI6MS1GLngseTI6MS1GLnl9KX1lbHNlIGlmKCFBMCYmIUUxLmN1cnJlbnQpcihudWxsKX0sW0EwXSk7bGV0IEMxPXcobnVsbCksRzE9dyghMSksQjE9dygwKSxoMT1JKChGLEEpPT57RzEuY3VycmVudD0hMDtsZXQgUz1DMS5jdXJyZW50O2lmKFMpY2FuY2VsQW5pbWF0aW9uRnJhbWUoQjEuY3VycmVudCksQjEuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntTLnN0eWxlLmxlZnQ9YCR7RioxMDB9JWAsUy5zdHlsZS50b3A9YCR7QSoxMDB9JWAsUy5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX0sW10pLGwxPUkoKEYsQSk9PntpZighRzEuY3VycmVudClyZXR1cm47bGV0IFM9QzEuY3VycmVudDtpZihTKWNhbmNlbEFuaW1hdGlvbkZyYW1lKEIxLmN1cnJlbnQpLEIxLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Uy5zdHlsZS5sZWZ0PWAke0YqMTAwfSVgLFMuc3R5bGUudG9wPWAke0EqMTAwfSVgfSl9LFtdKSxwMT1JKCgpPT57RzEuY3VycmVudD0hMTtsZXQgRj1DMS5jdXJyZW50O2lmKEYpY2FuY2VsQW5pbWF0aW9uRnJhbWUoQjEuY3VycmVudCksRi5zdHlsZS5kaXNwbGF5PSJub25lIn0sW10pLEMwPUkoKEYpPT57aWYoRzEuY3VycmVudHx8RTEuY3VycmVudClyZXR1cm4hMTtsZXQgQT1iMSgpO2lmKCFBKXJldHVybiExO2xldCBTPXYzKEYuZGVsdGFYLEYuZGVsdGFNb2RlLEEud2lkdGgpLGI9djMoRi5kZWx0YVksRi5kZWx0YU1vZGUsQS5oZWlnaHQpO2lmKFM9PT0wJiZiPT09MClyZXR1cm4hMTtsZXQgYz1NYXRoLm1pbihNYXRoLm1heCgoRi5jbGllbnRYLUEubGVmdCkvQS53aWR0aCwwKSwxKSwkMT1NYXRoLm1pbihNYXRoLm1heCgoRi5jbGllbnRZLUEudG9wKS9BLmhlaWdodCwwKSwxKTtyZXR1cm4gRDAoUy9BLndpZHRoLGIvQS5oZWlnaHQsYywkMSksITB9LFtiMSxEMF0pO3koKCk9PntsZXQgRj1zLmN1cnJlbnQ7aWYoIUYpcmV0dXJuO2xldCBBPShTKT0+e2lmKCEoVj9VMChTLmRlbHRhWSxTLmRlbHRhTW9kZSk6QzAoUykpKXJldHVybjtTLnByZXZlbnREZWZhdWx0KCksUy5zdG9wUHJvcGFnYXRpb24oKX07cmV0dXJuIEYuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLEEse3Bhc3NpdmU6ITF9KSwoKT0+Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsQSl9LFtWLFUwLEMwXSk7bGV0IG4xPXcoMCksazA9dyhudWxsKSx6MD1JKCgpPT57bGV0IEY9RGF0ZS5ub3coKSxBPUYtbjEuY3VycmVudDtpZihuMS5jdXJyZW50PUYsQTwzMDApe2lmKGswLmN1cnJlbnQpY2xlYXJUaW1lb3V0KGswLmN1cnJlbnQpLGswLmN1cnJlbnQ9bnVsbDtpZihZKVkoKTtlbHNlIFYwKCJhcHBfc3dpdGNoZXIiKX1lbHNlIGswLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e2lmKFkpWSgpO2Vsc2UgVjAoImhvbWUiKTtrMC5jdXJyZW50PW51bGx9LDMwMCl9LFtWMCxZXSksUDE9VjIoaCksUzA9UDEuZGlzcGxheUNvbmZpZyxXMD0oKCk9PntpZighUzB8fCFGMSlyZXR1cm4gbnVsbDtpZihGMS53aWR0aD09PTB8fEYxLmhlaWdodD09PTApcmV0dXJuIG51bGw7bGV0IEY9TWF0aC5taW4oRjEud2lkdGgvUzAud2lkdGgsRjEuaGVpZ2h0L1MwLmhlaWdodCk7cmV0dXJue3dpZHRoOlMwLndpZHRoKkYsaGVpZ2h0OlMwLmhlaWdodCpGfX0pKCksSjI9UDEucm90YXRpb25EZWdyZWVzLEQyPVAxLm5lZWRzQ3NzUm90YXRpb24mJk1hdGguYWJzKEoyKT09PTkwLEIzPVgsZDA9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiI1MCUiLGxlZnQ6IjUwJSIsd2lkdGg6RDImJlcwP2Ake1cwLmhlaWdodH1weGA6IjEwMCUiLGhlaWdodDpEMiYmVzA/YCR7VzAud2lkdGh9cHhgOiIxMDAlIix0cmFuc2Zvcm06YHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSR7SjI9PT0wPyIiOmAgcm90YXRlKCR7SjJ9ZGVnKWB9YCx0cmFuc2Zvcm1PcmlnaW46ImNlbnRlciBjZW50ZXIiLGN1cnNvcjpwOSxkaXNwbGF5OiJibG9jayIsdXNlclNlbGVjdDoibm9uZSIsV2Via2l0VXNlclNlbGVjdDoibm9uZSIsdG91Y2hBY3Rpb246Im5vbmUiLC4uLlgsLi4uSjI9PT0wP3t9Ontib3JkZXJSYWRpdXM6MCxjb3JuZXJTaGFwZTp2b2lkIDB9fSxOMz17Li4uZDAsdHJhbnNmb3JtOmAke2QwLnRyYW5zZm9ybT8/IiJ9IHNjYWxlKCR7RSR9KWB9O3JldHVybiBaKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixmbGV4OjEsLi4uSD97fTp7Ym9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LG92ZXJmbG93OiJoaWRkZW4iLG1pbldpZHRoOjAsbWluSGVpZ2h0OjAsLi4uSn0sY2xhc3NOYW1lOkssY2hpbGRyZW46W1ooImRpdiIse3JlZjp3MSxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixmbGV4OjEsbWluSGVpZ2h0OjAsbWluV2lkdGg6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxjaGlsZHJlbjpaKCJkaXYiLHtyZWY6VTEsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6VzA/YCR7VzAud2lkdGh9cHhgOiIxMDAlIixoZWlnaHQ6VzA/YCR7VzAuaGVpZ2h0fXB4YDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyUmFkaXVzOkIzPy5ib3JkZXJSYWRpdXMsY29ybmVyU2hhcGU6QjM/LmNvcm5lclNoYXBlfSxjaGlsZHJlbjpbZD9aKCJ2aWRlbyIse3JlZjpYMSxtdXRlZDohMCxwbGF5c0lubGluZTohMCxhdXRvUGxheTohMCxzdHlsZTpkMH0pOm4/WigiY2FudmFzIix7cmVmOmYsc3R5bGU6TjN9KTpaKCJpbWciLHtyZWY6bCxzcmM6YT92b2lkIDA6YTEsZHJhZ2dhYmxlOiExLG9uTG9hZDooRik9PntsZXQgQT1GLmN1cnJlbnRUYXJnZXQ7aWYoQS5uYXR1cmFsV2lkdGg+MCYmQS5uYXR1cmFsSGVpZ2h0PjApTTEoe3dpZHRoOkEubmF0dXJhbFdpZHRoLGhlaWdodDpBLm5hdHVyYWxIZWlnaHR9LCJtZWRpYSIpfSxzdHlsZTphP3tkaXNwbGF5OiJub25lIn06ZDB9KSxhJiZaKCJpbWciLHtyZWY6WjEsZHJhZ2dhYmxlOiExLG9uTG9hZDooRik9PntsZXQgQT1GLmN1cnJlbnRUYXJnZXQ7aWYoQS5uYXR1cmFsV2lkdGg+MCYmQS5uYXR1cmFsSGVpZ2h0PjApTTEoe3dpZHRoOkEubmF0dXJhbFdpZHRoLGhlaWdodDpBLm5hdHVyYWxIZWlnaHR9LCJtZWRpYSIpfSxzdHlsZTpkMH0pLFooImRpdiIse3JlZjpzLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsY3Vyc29yOnA5LHRvdWNoQWN0aW9uOiJub25lIn0sb25Nb3VzZURvd246KEYpPT57Ri5wcmV2ZW50RGVmYXVsdCgpO2xldCBBPWIxKCk7aWYoIUEpcmV0dXJuO2xldCBTPShGLmNsaWVudFgtQS5sZWZ0KS9BLndpZHRoLGI9KEYuY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQ7aWYoRi5hbHRLZXkpe0UxLmN1cnJlbnQ9ITAsSjAuY3VycmVudD1GLnNoaWZ0S2V5O2xldCAkMT17eDE6Uyx5MTpiLHgyOjEtUyx5MjoxLWJ9O04wLmN1cnJlbnQ9e2R4OjEtUy1TLGR5OjEtYi1ifSxyKCQxKSxtMSh7dHlwZToiYmVnaW4iLC4uLiQxfSk7cmV0dXJufWgxKFMsYik7bGV0IGM9UzMoYik7aWYoYyE9PXZvaWQgMClfMS5jdXJyZW50PSEwLGoxKHt0eXBlOiJiZWdpbiIseDpTLHk6YixlZGdlOmN9KTtlbHNlIF8xLmN1cnJlbnQ9ITEsQjAoImJlZ2luIixGKX0sb25Nb3VzZU1vdmU6KEYpPT57bGV0IEE9YjEoKTtpZighQSlyZXR1cm47bGV0IFM9KEYuY2xpZW50WC1BLmxlZnQpL0Eud2lkdGgsYj0oRi5jbGllbnRZLUEudG9wKS9BLmhlaWdodDtpZihFLmN1cnJlbnQ9e3g6Uyx5OmJ9LEYuYnV0dG9ucz09PTApe2lmKEYuYWx0S2V5KXIoe3gxOlMseTE6Yix4MjoxLVMseTI6MS1ifSk7cmV0dXJufWlmKEUxLmN1cnJlbnQpe2xldCBjO2lmKEowLmN1cnJlbnQpe2xldCAkMT1OMC5jdXJyZW50O2M9e3gxOlMseTE6Yix4MjpTKyQxLmR4LHkyOmIrJDEuZHl9fWVsc2UgYz17eDE6Uyx5MTpiLHgyOjEtUyx5MjoxLWJ9O3IoYyksbTEoe3R5cGU6Im1vdmUiLC4uLmN9KTtyZXR1cm59aWYobDEoUyxiKSxfMS5jdXJyZW50KWoxKHt0eXBlOiJtb3ZlIix4OlMseTpiLGVkZ2U6cTJ9KTtlbHNlIEIwKCJtb3ZlIixGKX0sb25Nb3VzZVVwOihGKT0+e2lmKEUxLmN1cnJlbnQpe2xldCBBPWIxKCk7aWYoQSl7bGV0IFM9KEYuY2xpZW50WC1BLmxlZnQpL0Eud2lkdGgsYj0oRi5jbGllbnRZLUEudG9wKS9BLmhlaWdodDtpZihKMC5jdXJyZW50KXtsZXQgYz1OMC5jdXJyZW50O20xKHt0eXBlOiJlbmQiLHgxOlMseTE6Yix4MjpTK2MuZHgseTI6YitjLmR5fSl9ZWxzZSBtMSh7dHlwZToiZW5kIix4MTpTLHkxOmIseDI6MS1TLHkyOjEtYn0pfWlmKEUxLmN1cnJlbnQ9ITEsIUYuYWx0S2V5KXIobnVsbCk7cmV0dXJufWlmKHAxKCksXzEuY3VycmVudCl7bGV0IEE9YjEoKTtpZihBKXtsZXQgUz0oRi5jbGllbnRYLUEubGVmdCkvQS53aWR0aCxiPShGLmNsaWVudFktQS50b3ApL0EuaGVpZ2h0O2oxKHt0eXBlOiJlbmQiLHg6Uyx5OmIsZWRnZTpxMn0pfV8xLmN1cnJlbnQ9ITE7cmV0dXJufUIwKCJlbmQiLEYpfSxvbk1vdXNlTGVhdmU6KEYpPT57aWYoRTEuY3VycmVudCl7aWYodSltMSh7dHlwZToiZW5kIiwuLi51fSk7RTEuY3VycmVudD0hMSxyKG51bGwpO3JldHVybn1pZihwMSgpLF8xLmN1cnJlbnQpe2xldCBBPWIxKCk7aWYoQSl7bGV0IFM9KEYuY2xpZW50WC1BLmxlZnQpL0Eud2lkdGgsYj0oRi5jbGllbnRZLUEudG9wKS9BLmhlaWdodDtqMSh7dHlwZToiZW5kIix4OlMseTpiLGVkZ2U6cTJ9KX1fMS5jdXJyZW50PSExO3JldHVybn1pZihGLmJ1dHRvbnM+MClCMCgiZW5kIixGKTtyKG51bGwpfSxvblRvdWNoU3RhcnQ6KEYpPT57Ri5wcmV2ZW50RGVmYXVsdCgpO2xldCBBPWIxKCk7aWYoIUEpcmV0dXJuO2lmKEYudG91Y2hlcy5sZW5ndGg+PTIpe3AxKCk7bGV0IEgxPUYudG91Y2hlc1swXSxBMT1GLnRvdWNoZXNbMV0sbzE9e3gxOihIMS5jbGllbnRYLUEubGVmdCkvQS53aWR0aCx5MTooSDEuY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQseDI6KEExLmNsaWVudFgtQS5sZWZ0KS9BLndpZHRoLHkyOihBMS5jbGllbnRZLUEudG9wKS9BLmhlaWdodH07aWYoIUgwLmN1cnJlbnQmJiFfMS5jdXJyZW50KWoxKHt0eXBlOiJlbmQiLHg6bzEueDEseTpvMS55MX0pO0gwLmN1cnJlbnQ9ITAsRTEuY3VycmVudD0hMCxfMS5jdXJyZW50PSExLHIobzEpLG0xKHt0eXBlOiJiZWdpbiIsLi4ubzF9KTtyZXR1cm59bGV0IFM9Ri50b3VjaGVzWzBdO2lmKCFTKXJldHVybjtsZXQgYj0oUy5jbGllbnRYLUEubGVmdCkvQS53aWR0aCxjPShTLmNsaWVudFktQS50b3ApL0EuaGVpZ2h0O2gxKGIsYyk7bGV0ICQxPVMzKGMpO2lmKCQxIT09dm9pZCAwKV8xLmN1cnJlbnQ9ITAsajEoe3R5cGU6ImJlZ2luIix4OmIseTpjLGVkZ2U6JDF9KTtlbHNlIF8xLmN1cnJlbnQ9ITEsajEoe3R5cGU6ImJlZ2luIix4OmIseTpjfSl9LG9uVG91Y2hNb3ZlOihGKT0+e0YucHJldmVudERlZmF1bHQoKTtsZXQgQT1iMSgpO2lmKCFBKXJldHVybjtpZihIMC5jdXJyZW50JiZGLnRvdWNoZXMubGVuZ3RoPj0yKXtsZXQgJDE9Ri50b3VjaGVzWzBdLEgxPUYudG91Y2hlc1sxXSxBMT17eDE6KCQxLmNsaWVudFgtQS5sZWZ0KS9BLndpZHRoLHkxOigkMS5jbGllbnRZLUEudG9wKS9BLmhlaWdodCx4MjooSDEuY2xpZW50WC1BLmxlZnQpL0Eud2lkdGgseTI6KEgxLmNsaWVudFktQS50b3ApL0EuaGVpZ2h0fTtyKEExKSxtMSh7dHlwZToibW92ZSIsLi4uQTF9KTtyZXR1cm59bGV0IFM9Ri50b3VjaGVzWzBdO2lmKCFTKXJldHVybjtsZXQgYj0oUy5jbGllbnRYLUEubGVmdCkvQS53aWR0aCxjPShTLmNsaWVudFktQS50b3ApL0EuaGVpZ2h0O2lmKGwxKGIsYyksXzEuY3VycmVudClqMSh7dHlwZToibW92ZSIseDpiLHk6YyxlZGdlOnEyfSk7ZWxzZSBqMSh7dHlwZToibW92ZSIseDpiLHk6Y30pfSxvblRvdWNoRW5kOihGKT0+e0YucHJldmVudERlZmF1bHQoKTtsZXQgQT1iMSgpO2lmKCFBKXJldHVybjtpZihIMC5jdXJyZW50KXtpZihGLnRvdWNoZXMubGVuZ3RoPDIpe2xldCAkMT1GLmNoYW5nZWRUb3VjaGVzWzBdLEgxPXU7aWYoJDEmJkgxKW0xKHt0eXBlOiJlbmQiLHgxOigkMS5jbGllbnRYLUEubGVmdCkvQS53aWR0aCx5MTooJDEuY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQseDI6SDEueDIseTI6SDEueTJ9KTtlbHNlIGlmKEgxKW0xKHt0eXBlOiJlbmQiLC4uLkgxfSk7SDAuY3VycmVudD0hMSxFMS5jdXJyZW50PSExLHIobnVsbCl9cmV0dXJufWxldCBTPUYuY2hhbmdlZFRvdWNoZXNbMF07aWYoIVMpcmV0dXJuO2xldCBiPShTLmNsaWVudFgtQS5sZWZ0KS9BLndpZHRoLGM9KFMuY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQ7aWYocDEoKSxfMS5jdXJyZW50KWoxKHt0eXBlOiJlbmQiLHg6Yix5OmMsZWRnZTpxMn0pLF8xLmN1cnJlbnQ9ITE7ZWxzZSBqMSh7dHlwZToiZW5kIix4OmIseTpjfSl9fSksWigiZGl2Iix7cmVmOkMxLCJkYXRhLXRlc3RpZCI6InRvdWNoLWluZGljYXRvciIsc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToibm9uZSIsd2lkdGg6MjQsaGVpZ2h0OjI0LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiJyZ2JhKDU5LDEzMCwyNDYsMC41KSIsYm94U2hhZG93OiIwIDAgOHB4IHJnYmEoNTksMTMwLDI0NiwwLjMpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIscG9pbnRlckV2ZW50czoibm9uZSJ9fSksdSYmWihRMSx7Y2hpbGRyZW46W1ooImRpdiIseyJkYXRhLXRlc3RpZCI6ImZpbmdlci1kb3QiLHN0eWxlOmQ5KHUueDEsdS55MSl9KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTpkOSh1LngyLHUueTIpfSldfSksIXExJiYhcCYmWigiZGl2Iix7c3R5bGU6ey4uLnU5LC4uLlh8fHt9fSxjaGlsZHJlbjpaKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjODg4Iixmb250U2l6ZToxNH0sY2hpbGRyZW46IkNvbm5lY3RpbmcuLi4ifSl9KSxwJiZaKCJkaXYiLHtzdHlsZTp1OSxjaGlsZHJlbjpaKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZjQ0Iixmb250U2l6ZToxNCxwYWRkaW5nOjIwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46cH0pfSkscjEmJlooImRpdiIse3N0eWxlOngkLGNoaWxkcmVuOlooInNwYW4iLHtzdHlsZTp7Y29sb3I6IiNmYmJmMjQiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOiJTbG93IGNvbm5lY3Rpb24ifSl9KV19KX0pLCFIJiZaKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiNHB4IDhweCIsYm9yZGVyVG9wOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LGNoaWxkcmVuOltaKCJidXR0b24iLHtvbkNsaWNrOnowLHN0eWxlOntiYWNrZ3JvdW5kOiJub25lIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMikiLGNvbG9yOiIjYWFhIixmb250U2l6ZToxMSxmb250RmFtaWx5OiJtb25vc3BhY2UiLHBhZGRpbmc6IjJweCAxMHB4IixjdXJzb3I6InBvaW50ZXIiLGJvcmRlclJhZGl1czo0fSxjaGlsZHJlbjoiSG9tZSJ9KSxaKCJzcGFuIix7c3R5bGU6e2NvbG9yOlcxPjA/IiM0ZjQiOiIjODg4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJtb25vc3BhY2UiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjZ9LGNoaWxkcmVuOltXJiZaKCJzcGFuIix7ImRhdGEtdGVzdGlkIjoicXVhbGl0eS1kb3QiLHN0eWxlOnt3aWR0aDo4LGhlaWdodDo4LGJvcmRlclJhZGl1czoiNTAlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLGJhY2tncm91bmQ6Vz09PSJnb29kIj8iIzRhZGU4MCI6Vz09PSJkZWdyYWRlZCI/IiNmYWNjMTUiOiIjZWY0NDQ0In19KSxXMSwiIGZwcyJdfSldfSldfSl9dmFyIHgkPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDo4LGxlZnQ6IjUwJSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC01MCUpIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuNykiLGJvcmRlclJhZGl1czo2LHBhZGRpbmc6IjRweCAxMnB4Iixwb2ludGVyRXZlbnRzOiJub25lIn0sdTk9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC44KSJ9LGw5PTIwO2Z1bmN0aW9uIGQ5KCQsUSl7cmV0dXJue3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpgJHskKjEwMH0lYCx0b3A6YCR7USoxMDB9JWAsd2lkdGg6bDksaGVpZ2h0Omw5LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpIixib3JkZXI6IjEuMjVweCBzb2xpZCByZ2JhKDAsMCwwLDAuNTUpIixib3hTaGFkb3c6IjAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNDUpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIscG9pbnRlckV2ZW50czoibm9uZSJ9fWZ1bmN0aW9uIEUwKCQpe2lmKCEkKXJldHVybiJpcGhvbmUiO2xldCBRPSQudG9Mb3dlckNhc2UoKTtpZihRLmluY2x1ZGVzKCJpcGFkIikpcmV0dXJuImlwYWQiO2lmKFEuaW5jbHVkZXMoIndhdGNoIikpcmV0dXJuIndhdGNoIjtpZihRLmluY2x1ZGVzKCJ2aXNpb24iKSlyZXR1cm4idmlzaW9uIjtyZXR1cm4iaXBob25lIn12YXIgUzE9e2lwaG9uZTp7d2lkdGg6NDI3LGhlaWdodDo4ODEsYmV6ZWxYOjE4LGJlemVsWToxOCxpbm5lclJhZGl1czo1NX0saXBhZDp7d2lkdGg6NDMwLGhlaWdodDo2MDUsYmV6ZWxYOjE2LGJlemVsWToxNixpbm5lclJhZGl1czoxMn0sd2F0Y2g6e3dpZHRoOjI3NCxoZWlnaHQ6MzIyLGJlemVsWDoxMixiZXplbFk6MTIsaW5uZXJSYWRpdXM6Nzl9LHZpc2lvbjp7d2lkdGg6NjQwLGhlaWdodDo0MDAsYmV6ZWxYOjEyLGJlemVsWToxMixpbm5lclJhZGl1czozMn19LHpLPVMxLmlwaG9uZS53aWR0aCxMSz1TMS5pcGhvbmUuaGVpZ2h0LFVLPVMxLmlwaG9uZS5iZXplbFgsSEs9UzEuaXBob25lLmJlemVsWSxDSz1TMS5pcGhvbmUuaW5uZXJSYWRpdXMsYzk9eyJpUGhvbmUgMTcgUHJvIE1heCI6e3dpZHRoOjEzMjAsaGVpZ2h0OjI4Njh9LCJpUGhvbmUgMTcgUHJvIjp7d2lkdGg6MTIwNixoZWlnaHQ6MjYyMn0sImlQaG9uZSAxNyI6e3dpZHRoOjEyMDYsaGVpZ2h0OjI2MjJ9LCJpUGhvbmUgQWlyIjp7d2lkdGg6MTI2MCxoZWlnaHQ6MjczNn0sImlQaG9uZSAxNiBQcm8gTWF4Ijp7d2lkdGg6MTMyMCxoZWlnaHQ6Mjg2OH0sImlQaG9uZSAxNiBQcm8iOnt3aWR0aDoxMjA2LGhlaWdodDoyNjIyfSwiaVBob25lIDE2IFBsdXMiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE2Ijp7d2lkdGg6MTE3OSxoZWlnaHQ6MjU1Nn0sImlQaG9uZSAxNmUiOnt3aWR0aDoxMTcwLGhlaWdodDoyNTMyfSwiaVBob25lIDE1IFBybyBNYXgiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE1IFBybyI6e3dpZHRoOjExNzksaGVpZ2h0OjI1NTZ9LCJpUGhvbmUgMTUgUGx1cyI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTUiOnt3aWR0aDoxMTc5LGhlaWdodDoyNTU2fSwiaVBhZCBQcm8gMTMtaW5jaCAoTTUpIjp7d2lkdGg6MjA2NCxoZWlnaHQ6Mjc1Mn0sImlQYWQgUHJvIDExLWluY2ggKE01KSI6e3dpZHRoOjE2NjgsaGVpZ2h0OjI0MjB9LCJpUGFkIFBybyAxMy1pbmNoIChNNCkiOnt3aWR0aDoyMDY0LGhlaWdodDoyNzUyfSwiaVBhZCBQcm8gMTEtaW5jaCAoTTQpIjp7d2lkdGg6MTY2OCxoZWlnaHQ6MjQyMH0sImlQYWQgQWlyIDEzLWluY2ggKE0zKSI6e3dpZHRoOjIwNDgsaGVpZ2h0OjI3MzJ9LCJpUGFkIEFpciAxMS1pbmNoIChNMykiOnt3aWR0aDoxNjQwLGhlaWdodDoyMzYwfSwiaVBhZCAoQTE2KSI6e3dpZHRoOjE2NDAsaGVpZ2h0OjIzNjB9LCJpUGFkIG1pbmkgKEExNyBQcm8pIjp7d2lkdGg6MTQ4OCxoZWlnaHQ6MjI2Nn0sIkFwcGxlIFdhdGNoIFVsdHJhIDMgKDQ5bW0pIjp7d2lkdGg6NDIyLGhlaWdodDo1MTR9LCJBcHBsZSBXYXRjaCBVbHRyYSAyICg0OW1tKSI6e3dpZHRoOjQxMCxoZWlnaHQ6NTAyfSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU0UgMyAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFIDMgKDQwbW0pIjp7d2lkdGg6MzI0LGhlaWdodDozOTR9LCJBcHBsZSBXYXRjaCBTRSAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFICg0MG1tKSI6e3dpZHRoOjMyNCxoZWlnaHQ6Mzk0fSwiQXBwbGUgVmlzaW9uIFBybyI6e3dpZHRoOjE5MjAsaGVpZ2h0OjEwODB9fTtmdW5jdGlvbiBENSgkLFEpe2xldCBKPSQmJiQud2lkdGg+MCYmJC5oZWlnaHQ+MD8kOlEsWD1HMihKKTtpZihYKXJldHVybmAke1gud2lkdGh9IC8gJHtYLmhlaWdodH1gO3JldHVybmAke1MxLmlwaG9uZS53aWR0aC0yKlMxLmlwaG9uZS5iZXplbFh9IC8gJHtTMS5pcGhvbmUuaGVpZ2h0LTIqUzEuaXBob25lLmJlemVsWX1gfWZ1bmN0aW9uIE4yKCQ9ImlwaG9uZSIsUSl7bGV0IEo9UT9jOVtRXTpudWxsO2lmKEopcmV0dXJuIEo7bGV0IFg9UzFbJF07cmV0dXJue3dpZHRoOlgud2lkdGgtMipYLmJlemVsWCxoZWlnaHQ6WC5oZWlnaHQtMipYLmJlemVsWX19ZnVuY3Rpb24gejIoJD0iaXBob25lIixRKXtpZihmMChRKSlzd2l0Y2goJCl7Y2FzZSJpcGFkIjpyZXR1cm4gNzIwO2Nhc2UidmlzaW9uIjpyZXR1cm4gNTgwO2Nhc2Uid2F0Y2giOnJldHVybiAyMDA7ZGVmYXVsdDpyZXR1cm4gNjIwfXN3aXRjaCgkKXtjYXNlImlwYWQiOnJldHVybiA0MDA7Y2FzZSJ3YXRjaCI6cmV0dXJuIDIwMDtjYXNlInZpc2lvbiI6cmV0dXJuIDU4MDtkZWZhdWx0OnJldHVybiAzMjB9fWZ1bmN0aW9uIFA1KCQ9ImlwaG9uZSIsUSl7bGV0IEo9UzFbJF0sWD1KLndpZHRoLTIqSi5iZXplbFgsSz1KLmhlaWdodC0yKkouYmV6ZWxZO2lmKFg8SyYmZjAoUSkpcmV0dXJuYCR7Si5pbm5lclJhZGl1cy9LKjEwMH0lIC8gJHtKLmlubmVyUmFkaXVzL1gqMTAwfSVgO3JldHVybmAke0ouaW5uZXJSYWRpdXMvWCoxMDB9JSAvICR7Si5pbm5lclJhZGl1cy9LKjEwMH0lYH1mdW5jdGlvbiBvOSgkKXtsZXQgUT1TMVskLnR5cGVdLEo9US53aWR0aC0yKlEuYmV6ZWxYLFg9US5oZWlnaHQtMipRLmJlemVsWSxLLFk7aWYoSjxYJiZmMCgkLmNvbmZpZz8/bnVsbCkpSz1RLmlubmVyUmFkaXVzL1gsWT1RLmlubmVyUmFkaXVzL0o7ZWxzZSBLPVEuaW5uZXJSYWRpdXMvSixZPVEuaW5uZXJSYWRpdXMvWDtsZXQgcT1LKiQuY29udGFpbmVyV2lkdGgsRz1ZKiQuY29udGFpbmVySGVpZ2h0LEI9TWF0aC5zcXJ0KE1hdGgubWF4KHEqRywwKSk7cmV0dXJue3J4OnEscnk6RyxyR2VvbTpCfX12YXIgdiQ9MTMsUiQ9NjI7ZnVuY3Rpb24gZzMoJCl7bGV0e2NvbnRhaW5lcldpZHRoOlEsY29udGFpbmVySGVpZ2h0Okp9PSQsWD0oSCk9PkgudG9GaXhlZCgzKSxLPShILE8pPT57bGV0IFc9TyxUPU8sUD1SJC8yKihNYXRoLlBJLzE4MCkseD0yMjUqTWF0aC5QSS8xODAsRD14K1AsZT14LVAsUj1XK0gqTWF0aC5jb3MoRCksZD1UK0gqTWF0aC5zaW4oRCksbj1XK0gqTWF0aC5jb3MoZSksbz1UK0gqTWF0aC5zaW4oZSksYT1gTSAke1goUil9ICR7WChkKX0gQSAke1goSCl9ICR7WChIKX0gMCAwIDEgJHtYKG4pfSAke1gobyl9YCxpPWBNICR7WChuKX0gJHtYKG8pfSBBICR7WChIKX0gJHtYKEgpfSAwIDAgMCAke1goUil9ICR7WChkKX1gO3JldHVybntkOmEsZEZpbGw6aX19O2lmKCEoUT4wKXx8IShKPjApKXtsZXQgSD12JCxPPU1hdGguY2VpbChIKzE0KSx7ZDpXLGRGaWxsOlR9PUsoSCxPKTtyZXR1cm57ZDpXLGRGaWxsOlQsdmlld0JveFNpemU6T319bGV0e3JHZW9tOll9PW85KCQpLHE9TWF0aC5tYXgoMi4yLE1hdGgubWluKDUuMiwwLjAxMSpNYXRoLm1pbihRLEopKSksRz1ZKjAuMzQrcSxCPU1hdGgubWluKFEsSiksTj1NYXRoLm1pbigyMixNYXRoLm1heCgxMixCKjAuMDUyKSk7Rz1NYXRoLm1pbigyNCxNYXRoLm1heCgxMixHLE4pKTtsZXQgQz1NYXRoLm1heCgyNixNYXRoLmNlaWwoRysxMykpLHtkOk0sZEZpbGw6TH09SyhHLEMpO3JldHVybntkOk0sZEZpbGw6TCx2aWV3Qm94U2l6ZTpDfX1mdW5jdGlvbiBUNSh7dHlwZTokPSJpcGhvbmUiLHN0cmVhbWluZzpRPSExfSl7c3dpdGNoKCQpe2Nhc2UiaXBhZCI6cmV0dXJuIFooZyQse3N0cmVhbWluZzpRfSk7Y2FzZSJ3YXRjaCI6cmV0dXJuIFooZiQse3N0cmVhbWluZzpRfSk7Y2FzZSJ2aXNpb24iOnJldHVybiBaKG0kLHtzdHJlYW1pbmc6UX0pO2RlZmF1bHQ6cmV0dXJuIFooaCQse3N0cmVhbWluZzpRfSl9fWZ1bmN0aW9uIGgkKHtzdHJlYW1pbmc6JD0hMX0pe3JldHVybiBaKCJzdmciLHt2aWV3Qm94OiIwIDAgNDI3IDg4MSIsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSxmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOltaKCJkZWZzIix7Y2hpbGRyZW46W1ooImZpbHRlciIse2lkOiJjaHJvbWUtZmlsdGVyMCIseDoiLTAuMTY2OTkyIix5OiIwLjE2NjUwNCIsd2lkdGg6IjQyNyIsaGVpZ2h0OiI4ODAuNjY3IixmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltaKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxaKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWigiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuNSIscmVzdWx0OiJlZmZlY3QxX2ZvcmVncm91bmRCbHVyIn0pXX0pLFooImZpbHRlciIse2lkOiJjaHJvbWUtZmlsdGVyMSIseDoiNi4zMzIzNiIseToiNi4zMzM4MiIsd2lkdGg6IjQxNCIsaGVpZ2h0OiI4NjgiLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1ooImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFooImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxaKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC4zMzMzMzMiLHJlc3VsdDoiZWZmZWN0MV9mb3JlZ3JvdW5kQmx1ciJ9KV19KV19KSxaKCJyZWN0Iix7eDoiMy44MzI2OCIseToiMy44MzM2NiIsd2lkdGg6IjQxOSIsaGVpZ2h0OiI4NzMiLHJ4OiI2Ni4xNjY3IixzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiI0LjMzMzMzIn0pLFooInJlY3QiLHt4OiIwLjgzMzMzMyIseToiMC44MzMzMzMiLHdpZHRoOiI0MjUiLGhlaWdodDoiODc5IixyeDoiNjkuMTY2NyIsc3Ryb2tlOiIjMzczNzNhIixzdHJva2VXaWR0aDoiMS42NjY2NyJ9KSxaKCJnIix7b3BhY2l0eToiMC45IixmaWx0ZXI6InVybCgjY2hyb21lLWZpbHRlcjApIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiMS42NjYwMiIseToiMiIsd2lkdGg6IjQyMy4zMzMiLGhlaWdodDoiODc3IixyeDoiNjguNjY2NyIsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMS42NjY2NyJ9KX0pLFooImciLHtvcGFjaXR5OiIwLjgiLGZpbHRlcjoidXJsKCNjaHJvbWUtZmlsdGVyMSkiLGNoaWxkcmVuOlooInJlY3QiLHt4OiI3LjMzMjY4Iix5OiI3LjMzMzY2Iix3aWR0aDoiNDEyIixoZWlnaHQ6Ijg2NiIscng6IjYyLjY2NjciLHN0cm9rZToiIzY0NjQ2NCIsc3Ryb2tlV2lkdGg6IjAuNjY2NjY3In0pfSksWigicmVjdCIse3g6IjE1MS42NjYiLHk6IjMxLjY2NyIsd2lkdGg6IjEyMy4zMzMiLGhlaWdodDoiMzYiLHJ4OiIxOCIsZmlsbDoiYmxhY2siLHN0eWxlOntvcGFjaXR5OiQ/MDoxLHRyYW5zaXRpb246Im9wYWNpdHkgMC4zcyBlYXNlIn19KV19KX1mdW5jdGlvbiBnJCh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgUT1TMS5pcGFkLndpZHRoLEo9UzEuaXBhZC5oZWlnaHQsWD0zMCxLPTI2O3JldHVybiBaKCJzdmciLHt2aWV3Qm94OmAwIDAgJHtRfSAke0p9YCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9LGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2hpbGRyZW46W1ooImRlZnMiLHtjaGlsZHJlbjpbWigiZmlsdGVyIix7aWQ6ImlwYWQtZ2xvdzAiLHg6IjAiLHk6IjAiLHdpZHRoOlEsaGVpZ2h0OkosZmlsdGVyVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJzUkdCIixjaGlsZHJlbjpbWigiZmVGbG9vZCIse2Zsb29kT3BhY2l0eToiMCIscmVzdWx0OiJCYWNrZ3JvdW5kSW1hZ2VGaXgifSksWigiZmVCbGVuZCIse21vZGU6Im5vcm1hbCIsaW46IlNvdXJjZUdyYXBoaWMiLGluMjoiQmFja2dyb3VuZEltYWdlRml4IixyZXN1bHQ6InNoYXBlIn0pLFooImZlR2F1c3NpYW5CbHVyIix7c3RkRGV2aWF0aW9uOiIwLjUiLHJlc3VsdDoiYmx1ciJ9KV19KSxaKCJmaWx0ZXIiLHtpZDoiaXBhZC1nbG93MSIseDoiNSIseToiNSIsd2lkdGg6US0xMCxoZWlnaHQ6Si0xMCxmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltaKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxaKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWigiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuMzMzMzMzIixyZXN1bHQ6ImJsdXIifSldfSldfSksWigicmVjdCIse3g6IjMuNSIseToiMy41Iix3aWR0aDpRLTcsaGVpZ2h0OkotNyxyeDoyNixzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiI0In0pLFooInJlY3QiLHt4OiIwLjgzMyIseToiMC44MzMiLHdpZHRoOlEtMS42NjYsaGVpZ2h0OkotMS42NjYscng6MzAsc3Ryb2tlOiIjMzczNzNhIixzdHJva2VXaWR0aDoiMS42NjYifSksWigiZyIse29wYWNpdHk6IjAuOSIsZmlsdGVyOiJ1cmwoI2lwYWQtZ2xvdzApIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiMS41Iix5OiIxLjUiLHdpZHRoOlEtMyxoZWlnaHQ6Si0zLHJ4OjI5LHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pfSksWigiZyIse29wYWNpdHk6IjAuOCIsZmlsdGVyOiJ1cmwoI2lwYWQtZ2xvdzEpIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiNiIseToiNiIsd2lkdGg6US0xMixoZWlnaHQ6Si0xMixyeDoyNCxzdHJva2U6IiM2NDY0NjQiLHN0cm9rZVdpZHRoOiIwLjY2NiJ9KX0pLFooImNpcmNsZSIse2N4OlEvMixjeTpTMS5pcGFkLmJlemVsWS8yKzEscjoiMyIsZmlsbDoiIzFhMWExYSIsc3R5bGU6e29wYWNpdHk6JD8wOjAuOCx0cmFuc2l0aW9uOiJvcGFjaXR5IDAuM3MgZWFzZSJ9fSksWigicmVjdCIse3g6KFEtMTIwKS8yLHk6Si1TMS5pcGFkLmJlemVsWS8yLTIuNSx3aWR0aDoiMTIwIixoZWlnaHQ6IjUiLHJ4OiIyLjUiLGZpbGw6IndoaXRlIixzdHlsZTp7b3BhY2l0eTokPzA6MC4zNSxtaXhCbGVuZE1vZGU6ImRpZmZlcmVuY2UiLHRyYW5zaXRpb246Im9wYWNpdHkgMC4zcyBlYXNlIn19KV19KX1mdW5jdGlvbiBmJCh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgUT1TMS53YXRjaC53aWR0aCxKPVMxLndhdGNoLmhlaWdodCxYPTg4LEs9ODIsWT04LHE9MzYsRz1KLzItMTgtMTYsQj0yMixOPUovMi0xMSsxNjtyZXR1cm4gWigic3ZnIix7dmlld0JveDpgMCAwICR7UX0gJHtKfWAsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG92ZXJmbG93OiJ2aXNpYmxlIn0sZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpbWigiZGVmcyIse2NoaWxkcmVuOlooImZpbHRlciIse2lkOiJ3YXRjaC1nbG93MCIseDoiMCIseToiMCIsd2lkdGg6USsxMixoZWlnaHQ6SixmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltaKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxaKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWigiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuNSIscmVzdWx0OiJibHVyIn0pXX0pfSksWigicmVjdCIse3g6US0yLHk6Ryx3aWR0aDo4LGhlaWdodDozNixyeDoiMyIsZmlsbDoiIzJhMmEyYyIsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMSJ9KSxaKCJyZWN0Iix7eDpRLTEseTpOLHdpZHRoOjYsaGVpZ2h0OjIyLHJ4OiIyLjUiLGZpbGw6IiMyYTJhMmMiLHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjAuOCJ9KSxaKCJyZWN0Iix7eDoiMy41Iix5OiIzLjUiLHdpZHRoOlEtNyxoZWlnaHQ6Si03LHJ4OjgyLHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjMuNSJ9KSxaKCJyZWN0Iix7eDoiMC44MzMiLHk6IjAuODMzIix3aWR0aDpRLTEuNjY2LGhlaWdodDpKLTEuNjY2LHJ4Ojg4LHN0cm9rZToiIzM3MzczYSIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pLFooImciLHtvcGFjaXR5OiIwLjkiLGZpbHRlcjoidXJsKCN3YXRjaC1nbG93MCkiLGNoaWxkcmVuOlooInJlY3QiLHt4OiIxLjUiLHk6IjEuNSIsd2lkdGg6US0zLGhlaWdodDpKLTMscng6ODcsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMS42NjYifSl9KV19KX1mdW5jdGlvbiBtJCh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgUT1TMS52aXNpb24ud2lkdGgsSj1TMS52aXNpb24uaGVpZ2h0LFg9NDAsSz0zNDtyZXR1cm4gWigic3ZnIix7dmlld0JveDpgMCAwICR7UX0gJHtKfWAsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSxmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOltaKCJkZWZzIix7Y2hpbGRyZW46W1ooImZpbHRlciIse2lkOiJ2aXNpb24tZ2xvdzAiLHg6IjAiLHk6IjAiLHdpZHRoOlEsaGVpZ2h0OkosZmlsdGVyVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJzUkdCIixjaGlsZHJlbjpbWigiZmVGbG9vZCIse2Zsb29kT3BhY2l0eToiMCIscmVzdWx0OiJCYWNrZ3JvdW5kSW1hZ2VGaXgifSksWigiZmVCbGVuZCIse21vZGU6Im5vcm1hbCIsaW46IlNvdXJjZUdyYXBoaWMiLGluMjoiQmFja2dyb3VuZEltYWdlRml4IixyZXN1bHQ6InNoYXBlIn0pLFooImZlR2F1c3NpYW5CbHVyIix7c3RkRGV2aWF0aW9uOiIwLjUiLHJlc3VsdDoiYmx1ciJ9KV19KSxaKCJmaWx0ZXIiLHtpZDoidmlzaW9uLWdsb3cxIix4OiI1Iix5OiI1Iix3aWR0aDpRLTEwLGhlaWdodDpKLTEwLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1ooImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFooImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxaKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC4zMzMiLHJlc3VsdDoiYmx1ciJ9KV19KSxaKCJsaW5lYXJHcmFkaWVudCIse2lkOiJ2aXNpb24tZ2xhc3MiLHgxOiIwIix5MToiMCIseDI6IjAiLHkyOiIxIixjaGlsZHJlbjpbWigic3RvcCIse29mZnNldDoiMCUiLHN0b3BDb2xvcjoiIzU1NTU1OCIsc3RvcE9wYWNpdHk6IjAuMyJ9KSxaKCJzdG9wIix7b2Zmc2V0OiIxMDAlIixzdG9wQ29sb3I6IiMzYTNhM2QiLHN0b3BPcGFjaXR5OiIwLjEifSldfSldfSksWigicmVjdCIse3g6IjAiLHk6IjAiLHdpZHRoOlEsaGVpZ2h0Okoscng6NDAsZmlsbDoidXJsKCN2aXNpb24tZ2xhc3MpIn0pLFooInJlY3QiLHt4OiIzLjUiLHk6IjMuNSIsd2lkdGg6US03LGhlaWdodDpKLTcscng6MzQsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMyJ9KSxaKCJyZWN0Iix7eDoiMC44MzMiLHk6IjAuODMzIix3aWR0aDpRLTEuNjY2LGhlaWdodDpKLTEuNjY2LHJ4OjQwLHN0cm9rZToiIzM3MzczYSIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pLFooImciLHtvcGFjaXR5OiIwLjkiLGZpbHRlcjoidXJsKCN2aXNpb24tZ2xvdzApIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiMS41Iix5OiIxLjUiLHdpZHRoOlEtMyxoZWlnaHQ6Si0zLHJ4OjM5LHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pfSksWigiZyIse29wYWNpdHk6IjAuOCIsZmlsdGVyOiJ1cmwoI3Zpc2lvbi1nbG93MSkiLGNoaWxkcmVuOlooInJlY3QiLHt4OiI2Iix5OiI2Iix3aWR0aDpRLTEyLGhlaWdodDpKLTEyLHJ4OjMyLHN0cm9rZToiIzY0NjQ2NCIsc3Ryb2tlV2lkdGg6IjAuNjY2In0pfSksWigiZWxsaXBzZSIse2N4OlEvMixjeTpKLzIscng6US8yLTMwLHJ5OkovMi0yNCxzdHJva2U6IiM0YTRhNGQiLHN0cm9rZVdpZHRoOiIwLjUiLG9wYWNpdHk6IjAuMyIsc3R5bGU6e29wYWNpdHk6JD8wOjAuMyx0cmFuc2l0aW9uOiJvcGFjaXR5IDAuM3MgZWFzZSJ9fSldfSl9dmFyIGYzPU8wKG51bGwpO2Z1bmN0aW9uIEU1KCQpe2xldCBRPUYwKGYzKTtpZighUSl0aHJvdyBFcnJvcihgPFNpbXVsYXRvclRvb2xiYXIuJHskfT4gbXVzdCBiZSByZW5kZXJlZCBpbnNpZGUgPFNpbXVsYXRvclRvb2xiYXI+YCk7cmV0dXJuIFF9dmFyIHUkPXtkaXNwbGF5OiJmbGV4IixmbGV4V3JhcDoid3JhcCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsZ2FwOiI0cHggMTJweCIscGFkZGluZzoiOHB4IDEycHgiLGJvcmRlclJhZGl1czoyNCxiYWNrZ3JvdW5kOiJ2YXIoLS1zZXJ2ZS1zaW0tcGFuZWwtYmcsICMxODE4MTgpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSkiLGJveFNoYWRvdzoiMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yKSIsbWluV2lkdGg6MjQwLHdpZHRoOiIxMDAlIn07ZnVuY3Rpb24gbCQoe2V4ZWM6JCxvblJvdGF0ZTpRLG9yaWVudGF0aW9uOkosZGV2aWNlVWRpZDpYLGRldmljZU5hbWU6SyxkZXZpY2VSdW50aW1lOlksc3RyZWFtaW5nOnE9ITEsZGlzYWJsZWQ6Rz0hMSxjaGlsZHJlbjpCLHN0eWxlOk4sLi4uen0pe2xldCBWPUUwKEspLEM9e2V4ZWM6JCxvblJvdGF0ZTpRLG9yaWVudGF0aW9uOkosZGV2aWNlVWRpZDpYLGRldmljZU5hbWU6SyxkZXZpY2VSdW50aW1lOlksZGV2aWNlVHlwZTpWLHN0cmVhbWluZzpxLGRpc2FibGVkOkd8fCFYfHwhcX07cmV0dXJuIFooZjMuUHJvdmlkZXIse3ZhbHVlOkMsY2hpbGRyZW46WigiZGl2Iix7ImRhdGEtc2ltdWxhdG9yLXRvb2xiYXIiOiEwLHN0eWxlOnsuLi51JCwuLi5OfSwuLi56LGNoaWxkcmVuOkJ9KX0pfXZhciBkJD17ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0Iix0ZXh0QWxpZ246ImxlZnQiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGNvbG9yOiIjZmZmIixwYWRkaW5nOiIycHggNHB4IixtYXJnaW46Ii0ycHggLTRweCIsYm9yZGVyUmFkaXVzOjYsY3Vyc29yOiJwb2ludGVyIixtaW5XaWR0aDowLG1heFdpZHRoOiIxMDAlIixsaW5lSGVpZ2h0OjEuMixmb250RmFtaWx5OiJpbmhlcml0In0sYyQ9XzAoZnVuY3Rpb24oe25hbWU6USxzdWJ0aXRsZTpKLGhpZGVDaGV2cm9uOlgsaGlkZVN1YnRpdGxlOkssc3R5bGU6WSxvbk1vdXNlRW50ZXI6cSxvbk1vdXNlTGVhdmU6RywuLi5CfSxOKXtsZXQgej1FNSgiVGl0bGUiKSxbVixVXT1rKCExKSxDPVE/P3ouZGV2aWNlTmFtZT8/Ik5vIHNpbXVsYXRvciIsTT1KPz8oei5kZXZpY2VSdW50aW1lP3ouZGV2aWNlUnVudGltZS5yZXBsYWNlKC9cLi8sIiAiKToi4oCUIik7cmV0dXJuIFooImJ1dHRvbiIse3JlZjpOLHR5cGU6ImJ1dHRvbiIsImRhdGEtc2ltdWxhdG9yLXRvb2xiYXItdGl0bGUiOiEwLG9uTW91c2VFbnRlcjooTCk9PntVKCEwKSxxPy4oTCl9LG9uTW91c2VMZWF2ZTooTCk9PntVKCExKSxHPy4oTCl9LHN0eWxlOnsuLi5kJCxiYWNrZ3JvdW5kOlY/InJnYmEoMjU1LDI1NSwyNTUsMC4xKSI6InRyYW5zcGFyZW50IiwuLi5ZfSwuLi5CLGNoaWxkcmVuOltaKCJzcGFuIix7c3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZvbnRTaXplOjEyLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOiIjZmZmIixtYXhXaWR0aDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sY2hpbGRyZW46W0MsIVgmJlooInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3R5bGU6e2NvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNikiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46WigicG9seWxpbmUiLHtwb2ludHM6IjYgOSAxMiAxNSAxOCA5In0pfSldfSksIUsmJlooInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOk19KV19KX0pLG8kPXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZsZXhTaHJpbms6MH07ZnVuY3Rpb24gaSQoe3N0eWxlOiQsLi4uUX0pe3JldHVybiBaKCJkaXYiLHtzdHlsZTp7Li4ubyQsLi4uJH0sLi4uUX0pfXZhciBuJD17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIscGFkZGluZzo2LGJvcmRlclJhZGl1czoxMixjdXJzb3I6InBvaW50ZXIiLGRpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLHRyYW5zaXRpb246ImJhY2tncm91bmQtY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzIixwb3NpdGlvbjoicmVsYXRpdmUiLG92ZXJmbG93OiJ2aXNpYmxlIn0sdzU9XzAoZnVuY3Rpb24oe2ZvcmNlRGlzYWJsZWQ6USx0b29sdGlwOkosc3R5bGU6WCxkaXNhYmxlZDpLLHRpdGxlOlksb25Nb3VzZUVudGVyOnEsb25Nb3VzZUxlYXZlOkcsb25Qb2ludGVyRG93bjpCLG9uRm9jdXM6TixvbkJsdXI6eixvbkNsaWNrOlYsY2hpbGRyZW46VSwiYXJpYS1sYWJlbCI6QywuLi5NfSxMKXtsZXQgSD1GMChmMyksTz1LfHxRfHxIPy5kaXNhYmxlZCxbVyxUXT1rKCExKSxbUCx4XT1rKCExKSxEPXcoITEpLGU9WTIoKSxSPUo/P1k/Pyh0eXBlb2YgQz09PSJzdHJpbmciP0M6bnVsbCksZD0hIVImJiFPJiYoV3x8UCk7cmV0dXJuIFooImJ1dHRvbiIse3JlZjpMLHR5cGU6ImJ1dHRvbiIsZGlzYWJsZWQ6TywiYXJpYS1sYWJlbCI6QywiYXJpYS1kZXNjcmliZWRieSI6Uj9lOnZvaWQgMCxvblBvaW50ZXJEb3duOihuKT0+e0QuY3VycmVudD0hMCxCPy4obil9LG9uTW91c2VFbnRlcjoobik9PntUKCEwKSxxPy4obil9LG9uTW91c2VMZWF2ZToobik9PntUKCExKSxHPy4obil9LG9uRm9jdXM6KG4pPT57eCghRC5jdXJyZW50KSxOPy4obil9LG9uQmx1cjoobik9PntELmN1cnJlbnQ9ITEseCghMSksej8uKG4pfSxvbkNsaWNrOihuKT0+e1QoITEpLHgoITEpLG4uY3VycmVudFRhcmdldC5ibHVyKCksVj8uKG4pfSxzdHlsZTp7Li4ubiQsY29sb3I6Tz8icmdiYSgyNTUsMjU1LDI1NSwwLjI1KSI6InJnYmEoMjU1LDI1NSwyNTUsMC44KSIsYmFja2dyb3VuZDpXJiYhTz8icmdiYSgyNTUsMjU1LDI1NSwwLjEpIjoidHJhbnNwYXJlbnQiLGN1cnNvcjpPPyJub3QtYWxsb3dlZCI6InBvaW50ZXIiLC4uLlh9LC4uLk0sY2hpbGRyZW46W1UsUiYmWigic3BhbiIse2lkOmUscm9sZToidG9vbHRpcCIsImFyaWEtaGlkZGVuIjohZCxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiI1MCUiLGJvdHRvbToiY2FsYygxMDAlICsgOHB4KSIsdHJhbnNmb3JtOmB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoJHtkPzA6Mn1weClgLG9wYWNpdHk6ZD8xOjAscG9pbnRlckV2ZW50czoibm9uZSIsd2hpdGVTcGFjZToibm93cmFwIixwYWRkaW5nOiI0cHggN3B4Iixib3JkZXJSYWRpdXM6NixiYWNrZ3JvdW5kOiJ2YXIoLS1zZXJ2ZS1zaW0tcGFuZWwtYmcsICMxODE4MTgpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjkyKSIsZm9udFNpemU6MTEsZm9udFdlaWdodDo1MDAsbGluZUhlaWdodDoxLGJveFNoYWRvdzoiMCA0cHggMTRweCByZ2JhKDAsMCwwLDAuMzIpIix0cmFuc2l0aW9uOiJvcGFjaXR5IDAuMTJzIGVhc2UsIHRyYW5zZm9ybSAwLjEycyBlYXNlIix6SW5kZXg6MTAwfSxjaGlsZHJlbjpSfSldfSl9KTtmdW5jdGlvbiByJCgkLFEpe2lmKCQ9PT0id2F0Y2giKXJldHVybiBhJCgpO2lmKFEpcmV0dXJuYHhjcnVuIHNpbWN0bCBsYXVuY2ggJHtRfSBjb20uYXBwbGUuc3ByaW5nYm9hcmRgO3JldHVybiJzZXJ2ZS1zaW0gYnV0dG9uIGhvbWUifWZ1bmN0aW9uIGEkKCl7cmV0dXJuWyd0ZWxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gRXZlbnRzIiB0byB0ZWxsIHByb2Nlc3MgIlNpbXVsYXRvciIgdG8gc2V0IGZyb250bW9zdCB0byB0cnVlJywndGVsbCBhcHBsaWNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTaW11bGF0b3IiIHRvIHBlcmZvcm0gYWN0aW9uICJBWFJhaXNlIiBvZiAoZmlyc3Qgd2luZG93IHdob3NlIG5hbWUgY29udGFpbnMgIndhdGNoT1MiKScsJ3RlbGwgYXBwbGljYXRpb24gIlN5c3RlbSBFdmVudHMiIHRvIHRlbGwgcHJvY2VzcyAiU2ltdWxhdG9yIiB0byBjbGljayBtZW51IGl0ZW0gIkhvbWUiIG9mIG1lbnUgIkRldmljZSIgb2YgbWVudSBiYXIgaXRlbSAiRGV2aWNlIiBvZiBtZW51IGJhciAxJ10ubWFwKChRKT0+YC1lICcke1F9J2ApLnJlZHVjZSgoUSxKKT0+YCR7UX0gJHtKfWAsIm9zYXNjcmlwdCIpfXZhciBzJD1aKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpaKCJwYXRoIix7ZDoiTTMgMTAuNSAxMiAzbDkgNy41VjIwYTEgMSAwIDAgMS0xIDFoLTV2LTdoLTZ2N0g0YTEgMSAwIDAgMS0xLTF6In0pfSksdCQ9Wigic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgNDQgNDQiLGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2hpbGRyZW46WigicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixjbGlwUnVsZToiZXZlbm9kZCIsZmlsbDoiY3VycmVudENvbG9yIixkOiJNNDMuNjg3NSAxMi40Njg4VjguMjczNDRDNDMuNjg3NSA1LjcyNjU2IDQyLjk1MzEgMy43MTA5NCA0MS40ODQ0IDIuMjI2NTZDNDAuMDE1NiAwLjc0MjE4OCAzOCAwIDM1LjQzNzUgMEgzMS4xNDg0QzMwLjYwMTYgMCAzMC4xMzI4IDAuMTk1MzEyIDI5Ljc0MjIgMC41ODU5MzhDMjkuMzUxNiAwLjk3NjU2MiAyOS4xNTYyIDEuNDQ1MzEgMjkuMTU2MiAxLjk5MjE5QzI5LjE1NjIgMi41MjM0NCAyOS4zNTE2IDIuOTg0MzggMjkuNzQyMiAzLjM3NUMzMC4xMzI4IDMuNzY1NjIgMzAuNjAxNiAzLjk2MDk0IDMxLjE0ODQgMy45NjA5NEgzNS40Mzc1QzM2Ljc4MTIgMy45NjA5NCAzNy44MzU5IDQuMzQzNzUgMzguNjAxNiA1LjEwOTM4QzM5LjM1MTYgNS44NzUgMzkuNzI2NiA2LjkyOTY5IDM5LjcyNjYgOC4yNzM0NFYxMi40Njg4QzM5LjcyNjYgMTMgMzkuOTIxOSAxMy40NjA5IDQwLjMxMjUgMTMuODUxNkM0MC43MDMxIDE0LjI0MjIgNDEuMTcxOSAxNC40Mzc1IDQxLjcxODggMTQuNDM3NUM0Mi4yNSAxNC40Mzc1IDQyLjcxMDkgMTQuMjQyMiA0My4xMDE2IDEzLjg1MTZDNDMuNDkyMiAxMy40NjA5IDQzLjY4NzUgMTMgNDMuNjg3NSAxMi40Njg4Wk0wIDEyLjQ2ODhDMCAxMyAwLjE5NTMxMiAxMy40NjA5IDAuNTg1OTM4IDEzLjg1MTZDMC45NzY1NjIgMTQuMjQyMiAxLjQzNzUgMTQuNDM3NSAxLjk2ODc1IDE0LjQzNzVDMi41IDE0LjQzNzUgMi45NjA5NCAxNC4yNDIyIDMuMzUxNTYgMTMuODUxNkMzLjc0MjE5IDEzLjQ2MDkgMy45Mzc1IDEzIDMuOTM3NSAxMi40Njg4VjguMjczNDRDMy45Mzc1IDYuOTI5NjkgNC4zMjAzMSA1Ljg3NSA1LjA4NTk0IDUuMTA5MzhDNS44MzU5NCA0LjM0Mzc1IDYuODkwNjIgMy45NjA5NCA4LjI1IDMuOTYwOTRIMTIuNTM5MUMxMy4wODU5IDMuOTYwOTQgMTMuNTU0NyAzLjc2NTYyIDEzLjk0NTMgMy4zNzVDMTQuMzIwMyAyLjk4NDM4IDE0LjUwNzggMi41MjM0NCAxNC41MDc4IDEuOTkyMTlDMTQuNTA3OCAxLjQ0NTMxIDE0LjMyMDMgMC45NzY1NjIgMTMuOTQ1MyAwLjU4NTkzOEMxMy41NTQ3IDAuMTk1MzEyIDEzLjA4NTkgMCAxMi41MzkxIDBIOC4yNUM1LjY4NzUgMCAzLjY3MTg4IDAuNzQyMTg4IDIuMjAzMTIgMi4yMjY1NkMwLjczNDM3NSAzLjcxMDk0IDAgNS43MjY1NiAwIDguMjczNDRWMTIuNDY4OFpNNDMuNjg3NSAzMS4yNDIyQzQzLjY4NzUgMzAuNzEwOSA0My40OTIyIDMwLjI1IDQzLjEwMTYgMjkuODU5NEM0Mi43MTA5IDI5LjQ2ODggNDIuMjUgMjkuMjczNCA0MS43MTg4IDI5LjI3MzRDNDEuMTcxOSAyOS4yNzM0IDQwLjcwMzEgMjkuNDY4OCA0MC4zMTI1IDI5Ljg1OTRDMzkuOTIxOSAzMC4yNSAzOS43MjY2IDMwLjcxMDkgMzkuNzI2NiAzMS4yNDIyVjM1LjQzNzVDMzkuNzI2NiAzNi43ODEyIDM5LjM1MTYgMzcuODM1OSAzOC42MDE2IDM4LjYwMTZDMzcuODM1OSAzOS4zNjcyIDM2Ljc4MTIgMzkuNzUgMzUuNDM3NSAzOS43NUgzMS4xNDg0QzMwLjYwMTYgMzkuNzUgMzAuMTMyOCAzOS45NDUzIDI5Ljc0MjIgNDAuMzM1OUMyOS4zNTE2IDQwLjcyNjYgMjkuMTU2MiA0MS4xODc1IDI5LjE1NjIgNDEuNzE4OEMyOS4xNTYyIDQyLjI2NTYgMjkuMzUxNiA0Mi43MjY2IDI5Ljc0MjIgNDMuMTAxNkMzMC4xMzI4IDQzLjQ5MjIgMzAuNjAxNiA0My42ODc1IDMxLjE0ODQgNDMuNjg3NUgzNS40Mzc1QzM4IDQzLjY4NzUgNDAuMDE1NiA0Mi45NDUzIDQxLjQ4NDQgNDEuNDYwOUM0Mi45NTMxIDM5Ljk5MjIgNDMuNjg3NSAzNy45ODQ0IDQzLjY4NzUgMzUuNDM3NVYzMS4yNDIyWk0wIDMxLjI0MjJWMzUuNDM3NUMwIDM3Ljk4NDQgMC43MzQzNzUgMzkuOTkyMiAyLjIwMzEyIDQxLjQ2MDlDMy42NzE4OCA0Mi45NDUzIDUuNjg3NSA0My42ODc1IDguMjUgNDMuNjg3NUgxMi41MzkxQzEzLjA4NTkgNDMuNjg3NSAxMy41NTQ3IDQzLjQ5MjIgMTMuOTQ1MyA0My4xMDE2QzE0LjMyMDMgNDIuNzI2NiAxNC41MDc4IDQyLjI2NTYgMTQuNTA3OCA0MS43MTg4QzE0LjUwNzggNDEuMTg3NSAxNC4zMjAzIDQwLjcyNjYgMTMuOTQ1MyA0MC4zMzU5QzEzLjU1NDcgMzkuOTQ1MyAxMy4wODU5IDM5Ljc1IDEyLjUzOTEgMzkuNzVIOC4yNUM2Ljg5MDYyIDM5Ljc1IDUuODM1OTQgMzkuMzY3MiA1LjA4NTk0IDM4LjYwMTZDNC4zMjAzMSAzNy44MzU5IDMuOTM3NSAzNi43ODEyIDMuOTM3NSAzNS40Mzc1VjMxLjI0MjJDMy45Mzc1IDMwLjcxMDkgMy43NDIxOSAzMC4yNSAzLjM1MTU2IDI5Ljg1OTRDMi45NjA5NCAyOS40Njg4IDIuNSAyOS4yNzM0IDEuOTY4NzUgMjkuMjczNEMxLjQzNzUgMjkuMjczNCAwLjk3NjU2MiAyOS40Njg4IDAuNTg1OTM4IDI5Ljg1OTRDMC4xOTUzMTIgMzAuMjUgMCAzMC43MTA5IDAgMzEuMjQyMlpNMzEuNTkzOCAzMS44MDQ3QzMyLjc4MTIgMzEuODA0NyAzMy42NzE5IDMxLjUxNTYgMzQuMjY1NiAzMC45Mzc1QzM0Ljg1OTQgMzAuMzQzOCAzNS4xNTYyIDI5LjQ2ODggMzUuMTU2MiAyOC4zMTI1VjE2LjcxMDlDMzUuMTU2MiAxNS41MzkxIDM0Ljg1OTQgMTQuNjY0MSAzNC4yNjU2IDE0LjA4NTlDMzMuNjcxOSAxMy40OTIyIDMyLjc4MTIgMTMuMTk1MyAzMS41OTM4IDEzLjE5NTNIMjguODk4NEMyOC40NjA5IDEzLjE5NTMgMjguMTQ4NCAxMy4xNDA2IDI3Ljk2MDkgMTMuMDMxMkMyNy43NTc4IDEyLjkyMTkgMjcuNTIzNCAxMi43MjY2IDI3LjI1NzggMTIuNDQ1M0wyNi4zNjcyIDExLjUwNzhDMjYuMDg1OSAxMS4xOTUzIDI1Ljc4MTIgMTAuOTY4OCAyNS40NTMxIDEwLjgyODFDMjUuMTA5NCAxMC42NzE5IDI0LjY1NjIgMTAuNTkzOCAyNC4wOTM4IDEwLjU5MzhIMTkuNjE3MkMxOS4wNTQ3IDEwLjU5MzggMTguNjA5NCAxMC42NzE5IDE4LjI4MTIgMTAuODI4MUMxNy45Mzc1IDEwLjk2ODggMTcuNjI1IDExLjE5NTMgMTcuMzQzOCAxMS41MDc4TDE2LjQ3NjYgMTIuNDQ1M0MxNi4yMTA5IDEyLjc0MjIgMTUuOTc2NiAxMi45NDUzIDE1Ljc3MzQgMTMuMDU0N0MxNS41NTQ3IDEzLjE0ODQgMTUuMjM0NCAxMy4xOTUzIDE0LjgxMjUgMTMuMTk1M0gxMi4wNDY5QzEwLjg5MDYgMTMuMTk1MyAxMC4wMTU2IDEzLjQ5MjIgOS40MjE4OCAxNC4wODU5QzguODEyNSAxNC42NjQxIDguNTA3ODEgMTUuNTM5MSA4LjUwNzgxIDE2LjcxMDlWMjguMzEyNUM4LjUwNzgxIDI5LjQ2ODggOC44MTI1IDMwLjM0MzggOS40MjE4OCAzMC45Mzc1QzEwLjAxNTYgMzEuNTE1NiAxMC44OTA2IDMxLjgwNDcgMTIuMDQ2OSAzMS44MDQ3SDMxLjU5MzhaTTIxLjc5NjkgMjguOTQ1M0MyMC41OTM4IDI4Ljk0NTMgMTkuNSAyOC42NjQxIDE4LjUxNTYgMjguMTAxNkMxNy41MTU2IDI3LjUyMzQgMTYuNzI2NiAyNi43NDIyIDE2LjE0ODQgMjUuNzU3OEMxNS41NTQ3IDI0Ljc1NzggMTUuMjU3OCAyMy42MzI4IDE1LjI1NzggMjIuMzgyOEMxNS4yNTc4IDIxLjE3OTcgMTUuNTU0NyAyMC4wODU5IDE2LjE0ODQgMTkuMTAxNkMxNi43MjY2IDE4LjEwMTYgMTcuNTE1NiAxNy4zMTI1IDE4LjUxNTYgMTYuNzM0NEMxOS41IDE2LjE0MDYgMjAuNTkzOCAxNS44NDM4IDIxLjc5NjkgMTUuODQzOEMyMy4wMTU2IDE1Ljg0MzggMjQuMTI1IDE2LjE0MDYgMjUuMTI1IDE2LjczNDRDMjYuMTA5NCAxNy4zMTI1IDI2Ljg5ODQgMTguMTAxNiAyNy40OTIyIDE5LjEwMTZDMjguMDcwMyAyMC4wODU5IDI4LjM1OTQgMjEuMTc5NyAyOC4zNTk0IDIyLjM4MjhDMjguMzU5NCAyMy42MTcyIDI4LjA3MDMgMjQuNzI2NiAyNy40OTIyIDI1LjcxMDlDMjYuODk4NCAyNi42OTUzIDI2LjEwOTQgMjcuNDg0NCAyNS4xMjUgMjguMDc4MUMyNC4xMjUgMjguNjU2MiAyMy4wMTU2IDI4Ljk0NTMgMjEuNzk2OSAyOC45NDUzWk0yMS44MjAzIDI2LjkwNjJDMjIuNjQ4NCAyNi45MDYyIDIzLjQwNjIgMjYuNzEwOSAyNC4wOTM4IDI2LjMyMDNDMjQuNzgxMiAyNS45MTQxIDI1LjMyODEgMjUuMzY3MiAyNS43MzQ0IDI0LjY3OTdDMjYuMTI1IDIzLjk5MjIgMjYuMzIwMyAyMy4yMjY2IDI2LjMyMDMgMjIuMzgyOEMyNi4zMjAzIDIxLjU3MDMgMjYuMTI1IDIwLjgyMDMgMjUuNzM0NCAyMC4xMzI4QzI1LjMyODEgMTkuNDQ1MyAyNC43ODEyIDE4LjkwNjIgMjQuMDkzOCAxOC41MTU2QzIzLjQwNjIgMTguMTA5NCAyMi42NDg0IDE3LjkwNjIgMjEuODIwMyAxNy45MDYyQzIwLjk5MjIgMTcuOTA2MiAyMC4yNDIyIDE4LjEwOTQgMTkuNTcwMyAxOC41MTU2QzE4Ljg4MjggMTguOTA2MiAxOC4zMzU5IDE5LjQ0NTMgMTcuOTI5NyAyMC4xMzI4QzE3LjUyMzQgMjAuODIwMyAxNy4zMjAzIDIxLjU3MDMgMTcuMzIwMyAyMi4zODI4QzE3LjMyMDMgMjMuMjI2NiAxNy41MjM0IDIzLjk5MjIgMTcuOTI5NyAyNC42Nzk3QzE4LjMzNTkgMjUuMzY3MiAxOC44ODI4IDI1LjkxNDEgMTkuNTcwMyAyNi4zMjAzQzIwLjI0MjIgMjYuNzEwOSAyMC45OTIyIDI2LjkwNjIgMjEuODIwMyAyNi45MDYyWk0xMi42MzI4IDE4Ljk4NDRDMTIuMjEwOSAxOC45ODQ0IDExLjg1OTQgMTguODM1OSAxMS41NzgxIDE4LjUzOTFDMTEuMjgxMiAxOC4yNDIyIDExLjEzMjggMTcuODkwNiAxMS4xMzI4IDE3LjQ4NDRDMTEuMTMyOCAxNy4wNjI1IDExLjI4MTIgMTYuNzEwOSAxMS41NzgxIDE2LjQyOTdDMTEuODU5NCAxNi4xMzI4IDEyLjIxMDkgMTUuOTg0NCAxMi42MzI4IDE1Ljk4NDRDMTMuMDM5MSAxNS45ODQ0IDEzLjM5MDYgMTYuMTMyOCAxMy42ODc1IDE2LjQyOTdDMTMuOTg0NCAxNi43MTA5IDE0LjEzMjggMTcuMDYyNSAxNC4xMzI4IDE3LjQ4NDRDMTQuMTMyOCAxNy44OTA2IDEzLjk4NDQgMTguMjQyMiAxMy42ODc1IDE4LjUzOTFDMTMuMzkwNiAxOC44MzU5IDEzLjAzOTEgMTguOTg0NCAxMi42MzI4IDE4Ljk4NDRaIn0pfSksZSQ9Wigic3ZnIix7d2lkdGg6IjIxIixoZWlnaHQ6IjIxIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpbWigicGF0aCIse2Q6Ik0xMiA1SDZhMiAyIDAgMCAwLTIgMnYzIn0pLFooInBhdGgiLHtkOiJtOSA4IDMtMy0zLTMifSksWigicGF0aCIse2Q6Ik00IDE0djRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtMiJ9KV19KSwkUT1fMChmdW5jdGlvbih7b25DbGljazpRLC4uLkp9LFgpe2xldCBLPUU1KCJIb21lQnV0dG9uIik7cmV0dXJuIFoodzUse3JlZjpYLCJhcmlhLWxhYmVsIjoiSG9tZSIsb25DbGljazooWSk9PntpZihRPy4oWSksWS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtLLmV4ZWMociQoSy5kZXZpY2VUeXBlLEsuZGV2aWNlVWRpZCkpfSwuLi5KLGNoaWxkcmVuOnMkfSl9KSxRUT1fMChmdW5jdGlvbih7b25DbGljazpRLC4uLkp9LFgpe2xldCBLPUU1KCJTY3JlZW5zaG90QnV0dG9uIik7cmV0dXJuIFoodzUse3JlZjpYLCJhcmlhLWxhYmVsIjoiU2NyZWVuc2hvdCIsb25DbGljazooWSk9PntpZihRPy4oWSksWS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZihLLmRldmljZVVkaWQpSy5leGVjKGB4Y3J1biBzaW1jdGwgaW8gJHtLLmRldmljZVVkaWR9IHNjcmVlbnNob3Qgfi9EZXNrdG9wL3NlcnZlLXNpbS1zY3JlZW5zaG90LSQoZGF0ZSArJXMpLnBuZ2ApfSwuLi5KLGNoaWxkcmVuOnQkfSl9KSxKUT1fMChmdW5jdGlvbih7b25DbGljazpRLGZvcmNlRGlzYWJsZWQ6SiwuLi5YfSxLKXtsZXQgWT1FNSgiUm90YXRlQnV0dG9uIikscT1ZLmRldmljZVR5cGU9PT0id2F0Y2gifHxZLmRldmljZVR5cGU9PT0idmlzaW9uIixbRyxCXT1rKCJwb3J0cmFpdCIpO3JldHVybiB5KCgpPT57QihZLm9yaWVudGF0aW9uPz8icG9ydHJhaXQiKX0sW1kuZGV2aWNlVWRpZCxZLm9yaWVudGF0aW9uXSksWih3NSx7cmVmOkssImFyaWEtbGFiZWwiOiJSb3RhdGUgZGV2aWNlIixmb3JjZURpc2FibGVkOkp8fHEsb25DbGljazooTik9PntpZihRPy4oTiksTi5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighWS5kZXZpY2VVZGlkfHxxKXJldHVybjtsZXQgej15MltZLm9yaWVudGF0aW9uPz9HXTtpZihCKHopLFkub25Sb3RhdGUpWS5vblJvdGF0ZSh6KTtlbHNlIFkuZXhlYyhgc2VydmUtc2ltIHJvdGF0ZSAke3p9IC1kICR7WS5kZXZpY2VVZGlkfWApfSwuLi5YLGNoaWxkcmVuOmUkfSl9KSxjMT1sJDtjMS5UaXRsZT1jJDtjMS5BY3Rpb25zPWkkO2MxLkJ1dHRvbj13NTtjMS5Ib21lQnV0dG9uPSRRO2MxLlNjcmVlbnNob3RCdXR0b249UVE7YzEuUm90YXRlQnV0dG9uPUpRO3ZhciBJNT0oLi4uJCk9PiQuZmlsdGVyKChRLEosWCk9PntyZXR1cm4gQm9vbGVhbihRKSYmUS50cmltKCkhPT0iIiYmWC5pbmRleE9mKFEpPT09Sn0pLmpvaW4oIiAiKS50cmltKCk7dmFyIGk5PSgkKT0+JC5yZXBsYWNlKC8oW2EtejAtOV0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCk7dmFyIG45PSgkKT0+JC5yZXBsYWNlKC9eKFtBLVpdKXxbXHMtX10rKFx3KS9nLChRLEosWCk9Plg/WC50b1VwcGVyQ2FzZSgpOkoudG9Mb3dlckNhc2UoKSk7dmFyIG0zPSgkKT0+e2xldCBRPW45KCQpO3JldHVybiBRLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK1Euc2xpY2UoMSl9O3ZhciBiNT17eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix3aWR0aDoyNCxoZWlnaHQ6MjQsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6MixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIn07dmFyIHI5PSgkKT0+e2ZvcihsZXQgUSBpbiAkKWlmKFEuc3RhcnRzV2l0aCgiYXJpYS0iKXx8UT09PSJyb2xlInx8UT09PSJ0aXRsZSIpcmV0dXJuITA7cmV0dXJuITF9O3ZhciBaUT1PMCh7fSk7dmFyIGE5PSgpPT5GMChaUSk7dmFyIHM5PV8wKCh7Y29sb3I6JCxzaXplOlEsc3Ryb2tlV2lkdGg6SixhYnNvbHV0ZVN0cm9rZVdpZHRoOlgsY2xhc3NOYW1lOks9IiIsY2hpbGRyZW46WSxpY29uTm9kZTpxLC4uLkd9LEIpPT57bGV0e3NpemU6Tj0yNCxzdHJva2VXaWR0aDp6PTIsYWJzb2x1dGVTdHJva2VXaWR0aDpWPSExLGNvbG9yOlU9ImN1cnJlbnRDb2xvciIsY2xhc3NOYW1lOkM9IiJ9PWE5KCk/P3t9LE09WD8/Vj9OdW1iZXIoSj8/eikqMjQvTnVtYmVyKFE/P04pOko/P3o7cmV0dXJuIHUxKCJzdmciLHtyZWY6QiwuLi5iNSx3aWR0aDpRPz9OPz9iNS53aWR0aCxoZWlnaHQ6UT8/Tj8/YjUuaGVpZ2h0LHN0cm9rZTokPz9VLHN0cm9rZVdpZHRoOk0sY2xhc3NOYW1lOkk1KCJsdWNpZGUiLEMsSyksLi4uIVkmJiFyOShHKSYmeyJhcmlhLWhpZGRlbiI6InRydWUifSwuLi5HfSxbLi4ucS5tYXAoKFtMLEhdKT0+dTEoTCxIKSksLi4uQXJyYXkuaXNBcnJheShZKT9ZOltZXV0pfSk7dmFyIHoxPSgkLFEpPT57bGV0IEo9XzAoKHtjbGFzc05hbWU6WCwuLi5LfSxZKT0+dTEoczkse3JlZjpZLGljb25Ob2RlOlEsY2xhc3NOYW1lOkk1KGBsdWNpZGUtJHtpOShtMygkKSl9YCxgbHVjaWRlLSR7JH1gLFgpLC4uLkt9KSk7cmV0dXJuIEouZGlzcGxheU5hbWU9bTMoJCksSn07dmFyIFhRPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixrZXk6ImFmaXR2NyJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4IixrZXk6ImZoM2hxYSJ9XV0sdzA9ejEoInBhbmVsLWxlZnQiLFhRKTt2YXIgS1E9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiIsa2V5OiJ4d256aXAifV0sWyJwYXRoIix7ZDoiTTIxIDExVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2IixrZXk6IjE0cnN2cSJ9XV0sbTA9ejEoInNxdWFyZS1tb3VzZS1wb2ludGVyIixLUSk7dmFyIFlRPVtbInBhdGgiLHtkOiJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiLGtleToid21vZW5xIn1dLFsicGF0aCIse2Q6Ik0xMiA5djQiLGtleToianV6cHU3In1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEiLGtleToicDMycDA1In1dXSxJMD16MSgidHJpYW5nbGUtYWxlcnQiLFlRKTt2YXIgcVE9W1sicmVjdCIse3g6IjIiLHk6IjQiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNiIscng6IjIiLGtleToiaXp4bGFvIn1dLFsicGF0aCIse2Q6Ik0xMCA0djQiLGtleToicHA4dTgwIn1dLFsicGF0aCIse2Q6Ik0yIDhoMjAiLGtleToiZDExY3M3In1dLFsicGF0aCIse2Q6Ik02IDR2NCIsa2V5OiIxc3Z0ancifV1dLHgyPXoxKCJhcHAtd2luZG93IixxUSk7dmFyIEdRPVtbInBhdGgiLHtkOiJNNyA3aDEwdjEwIixrZXk6IjF0aXZuOSJ9XSxbInBhdGgiLHtkOiJNNyAxNyAxNyA3IixrZXk6IjF2a2l6YSJ9XV0sajI9ejEoImFycm93LXVwLXJpZ2h0IixHUSk7dmFyIFZRPVtbInBhdGgiLHtkOiJNMjAgNiA5IDE3bC01LTUiLGtleToiMWdtZjJjIn1dXSx2Mj16MSgiY2hlY2siLFZRKTt2YXIgQlE9W1sicGF0aCIse2Q6Im02IDkgNiA2IDYtNiIsa2V5OiJxcnVuc2wifV1dLFIyPXoxKCJjaGV2cm9uLWRvd24iLEJRKTt2YXIgTlE9W1sicGF0aCIse2Q6Im05IDE4IDYtNi02LTYiLGtleToibXRoaHdxIn1dXSxoMj16MSgiY2hldnJvbi1yaWdodCIsTlEpO3ZhciB6UT1bWyJwYXRoIix7ZDoiTTEyIDE1VjMiLGtleToibTlnMXgxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00IixrZXk6ImloN24zaCJ9XSxbInBhdGgiLHtkOiJtNyAxMCA1IDUgNS01IixrZXk6ImJyc243MCJ9XV0sZzI9ejEoImRvd25sb2FkIix6USk7dmFyIExRPVtbInBhdGgiLHtkOiJNMTIgNmEyIDIgMCAwIDEgMy40MTQtMS40MTRsNiA2YTIgMiAwIDAgMSAwIDIuODI4bC02IDZBMiAyIDAgMCAxIDEyIDE4eiIsa2V5OiJiMTloNXEifV0sWyJwYXRoIix7ZDoiTTIgNmEyIDIgMCAwIDEgMy40MTQtMS40MTRsNiA2YTIgMiAwIDAgMSAwIDIuODI4bC02IDZBMiAyIDAgMCAxIDIgMTh6IixrZXk6Img3aDVnZSJ9XV0sZjI9ejEoImZhc3QtZm9yd2FyZCIsTFEpO3ZhciBVUT1bWyJwYXRoIix7ZDoibTMgNyA1IDUtNSA1VjciLGtleToiY291aGk3In1dLFsicGF0aCIse2Q6Im0yMSA3LTUgNSA1IDVWNyIsa2V5OiI2b3VpYTcifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIiLGtleToiMWxoMWtnIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIixrZXk6IjhqY3h1ZCJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIixrZXk6IjF3b3FpdiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIixrZXk6InR1czAzbSJ9XV0sbTI9ejEoImZsaXAtaG9yaXpvbnRhbC0yIixVUSk7dmFyIEhRPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCIsa2V5OiIxbWdsYXkifV0sWyJwYXRoIix7ZDoiTTEyIDJhMTQuNSAxNC41IDAgMCAwIDAgMjAgMTQuNSAxNC41IDAgMCAwIDAtMjAiLGtleToiMTNvMXpsIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIixrZXk6IjlpNHB1NCJ9XV0scDI9ejEoImdsb2JlIixIUSk7dmFyIENRPVtbInBhdGgiLHtkOiJtMjIgMTEtMS4yOTYtMS4yOTZhMi40IDIuNCAwIDAgMC0zLjQwOCAwTDExIDE2IixrZXk6IjlrenkzNSJ9XSxbInBhdGgiLHtkOiJNNCA4YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxMGEyIDIgMCAwIDAgMi0yIixrZXk6IjF0MGYwdCJ9XSxbImNpcmNsZSIse2N4OiIxMyIsY3k6IjciLHI6IjEiLGZpbGw6ImN1cnJlbnRDb2xvciIsa2V5OiIxb2J1czYifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjE0IixoZWlnaHQ6IjE0IixyeDoiMiIsa2V5OiIxZ3ZoYnkifV1dLHUyPXoxKCJpbWFnZXMiLENRKTt2YXIgT1E9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLGtleToiYWZpdHY3In1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4IixrZXk6IjE0bnZwMCJ9XV0sbDI9ejEoInBhbmVsLXJpZ2h0IixPUSk7dmFyIEZRPVtbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4IixrZXk6IjEzNTdlMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSIsa2V5OiIxeGhxOGEifV1dLGQyPXoxKCJyb3RhdGUtY2N3IixGUSk7dmFyIE1RPVtbInBhdGgiLHtkOiJtMjEgMjEtNC4zNC00LjM0IixrZXk6IjE0ajdyaiJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4IixrZXk6IjRlajk3dSJ9XV0sYzI9ejEoInNlYXJjaCIsTVEpO3ZhciBBUT1bWyJwYXRoIix7ZDoiTTEwIDVIMyIsa2V5OiIxcWdmYXcifV0sWyJwYXRoIix7ZDoiTTEyIDE5SDMiLGtleToieWhtbjFqIn1dLFsicGF0aCIse2Q6Ik0xNCAzdjQiLGtleToiMXN1YTAzIn1dLFsicGF0aCIse2Q6Ik0xNiAxN3Y0IixrZXk6IjFxMHIxNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTkiLGtleToiMW80bHNxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWgtNSIsa2V5OiIxcmx0MXAifV0sWyJwYXRoIix7ZDoiTTIxIDVoLTciLGtleToiMW9zenoyIn1dLFsicGF0aCIse2Q6Ik04IDEwdjQiLGtleToidGdweHFrIn1dLFsicGF0aCIse2Q6Ik04IDEySDMiLGtleToiYTdzNGpiIn1dXSxqMD16MSgic2xpZGVycy1ob3Jpem9udGFsIixBUSk7dmFyIGtRPVtbInBhdGgiLHtkOiJNMTIgM3YxMiIsa2V5OiIxeDBqNXMifV0sWyJwYXRoIix7ZDoibTE3IDgtNS01LTUgNSIsa2V5OiI3cTk3cjgifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLGtleToiaWg3bjNoIn1dXSxvMj16MSgidXBsb2FkIixrUSk7dmFyIFdRPVtbInBhdGgiLHtkOiJtMTYgMTMgNS4yMjMgMy40ODJhLjUuNSAwIDAgMCAuNzc3LS40MTZWNy44N2EuNS41IDAgMCAwLS43NTItLjQzMkwxNiAxMC41IixrZXk6ImZ0eW1lYyJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTQiLGhlaWdodDoiMTIiLHJ4OiIyIixrZXk6IjE1OHgwMSJ9XV0scjA9ejEoInZpZGVvIixXUSk7dmFyIF9RPVtbInBhdGgiLHtkOiJNMTggNiA2IDE4IixrZXk6IjFibDVmOCJ9XSxbInBhdGgiLHtkOiJtNiA2IDEyIDEyIixrZXk6ImQ4Yms2diJ9XV0sTDA9ejEoIngiLF9RKTtmdW5jdGlvbiBpMih7b3BlbjokfSl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2xhc3NOYW1lOiJsZW0tY2hldnJvbiB0ZXh0LXdoaXRlLzUwIixzdHlsZTp7dHJhbnNmb3JtOiQ/InJvdGF0ZSgxODBkZWcpIjoicm90YXRlKDBkZWcpIn0sY2hpbGRyZW46WigicG9seWxpbmUiLHtwb2ludHM6IjYgOSAxMiAxNSAxOCA5In0pfSl9ZnVuY3Rpb24geTUoe2RpcjokfSl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiI5IixoZWlnaHQ6IjkiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjbGFzc05hbWU6Im1yLVszcHhdIixjaGlsZHJlbjokPT09InVwIj9aKCJwb2x5Z29uIix7cG9pbnRzOiIxMiw0IDIwLDE4IDQsMTgifSk6WigicG9seWdvbiIse3BvaW50czoiNCw2IDIwLDYgMTIsMjAifSl9KX1mdW5jdGlvbiBuMigpe3JldHVybiBaKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjaGlsZHJlbjpaKCJwb2x5Z29uIix7cG9pbnRzOiI2LDQgMjAsMTIgNiwyMCJ9KX0pfWZ1bmN0aW9uIHAzKCl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOltaKCJyZWN0Iix7eDoiNiIseToiNCIsd2lkdGg6IjQiLGhlaWdodDoiMTYifSksWigicmVjdCIse3g6IjE0Iix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiIxNiJ9KV19KX1mdW5jdGlvbiByMigpe3JldHVybiBaKCJzdmciLHt3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiNSIseToiNSIsd2lkdGg6IjE0IixoZWlnaHQ6IjE0IixyeDoiMS41In0pfSl9ZnVuY3Rpb24gdTMoKXtyZXR1cm4gWihmMix7c2l6ZToxMixzdHJva2VXaWR0aDoyLCJhcmlhLWhpZGRlbiI6InRydWUifSl9ZnVuY3Rpb24gbDMoKXtyZXR1cm4gWigic3ZnIix7d2lkdGg6IjkiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjQgMiA5IDEzIixmaWxsOiJjdXJyZW50Q29sb3IiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46WigicGF0aCIse2Q6Ik02LjAwODUyIDE0LjgwNTRDNS44OTE4MSAxNC45MzUgNS43NTgxNSAxNC45OTk4IDUuNjA3NTYgMTQuOTk5OEM1LjQ1Njk2IDE1LjAwMzMgNS4zMjMzIDE0Ljk2MTMgNS4yMDY1OSAxNC44NzM3QzUuMDkzNjQgMTQuNzg2MSA1LjAyNTg3IDE0LjY3MjMgNS4wMDMyOCAxNC41MzIyQzQuOTg0NDYgMTQuMzkyMSA1LjA0NjU4IDE0LjI0NSA1LjE4OTY1IDE0LjA5MDlMNi45NDU5OSAxMi4xNTIyTDcuMjQ1MyAxMC44NzU1TDguMTk5NzEgMTEuOTg5M0w4LjA1ODUzIDEyLjM5MzlDOC4wMjA4OCAxMi40OTU1IDcuOTg2OTkgMTIuNTcwOCA3Ljk1Njg3IDEyLjYxOThDNy45MzA1MiAxMi42Njg4IDcuODc0MDQgMTIuNzQwNiA3Ljc4NzQ1IDEyLjgzNTJMNi4wMDg1MiAxNC44MDU0Wk0xMC4zNDU3IDE0LjY0MjVMOS4xMDMyOSAxMi4zMDQ2QzkuMDc2OTQgMTIuMjYyNSA5LjA1NDM1IDEyLjIyMjMgOS4wMzU1MyAxMi4xODM3QzkuMDE2NyAxMi4xNDUyIDguOTc3MTcgMTIuMDkwOSA4LjkxNjkzIDEyLjAyMDlMNy43MTk2OCAxMC42MTgxQzcuNDkzNzkgMTAuMzU1NCA3LjMzNzU0IDEwLjEyOTUgNy4yNTA5NSA5Ljk0MDM0QzcuMTY0MzUgOS43NDc3IDcuMTM0MjQgOS40OTkwMSA3LjE2MDU5IDkuMTk0MjlMNy4yNjIyNCA3Ljk4MDY1QzcuMjY5NzcgNy45MDcxIDcuMjMyMTIgNy44NTQ1NiA3LjE0OTI5IDcuODIzMDRDNy4wNjY0NyA3Ljc5MTUxIDYuOTg1NTIgNy44MDkwMyA2LjkwNjQ2IDcuODc1NTdMNi40NzE2MSA4LjI0MzM0TDYuMzQxNzIgOS42NzIzOUM2LjMyMjg5IDkuODQ3NTIgNi4yNjQ1NCA5Ljk3ODg3IDYuMTY2NjUgMTAuMDY2NEM2LjA2ODc2IDEwLjE1NCA1LjkzODg3IDEwLjE5MjUgNS43NzY5OCAxMC4xODJDNS42MTEzMiAxMC4xNzUgNS40ODMzMSAxMC4xMTkgNS4zOTI5NSAxMC4wMTM5QzUuMzA2MzYgOS45MDg4MiA1LjI2ODcxIDkuNzczOTcgNS4yODAwMSA5LjYwOTM1TDUuMzg3MzEgOC4zMDYzOUM1LjQwMjM3IDguMTI3NzYgNS40MzgxMyA3Ljk3NTQgNS40OTQ2MSA3Ljg0OTMxQzUuNTU0ODUgNy43MjMyMSA1LjY2MDI2IDcuNTkxODcgNS44MTA4NiA3LjQ1NTI3TDYuNzE0NDUgNi42MjUxNkM3LjAwNDM1IDYuMzYyNDcgNy4yNjk3NyA2LjE2MTA3IDcuNTEwNzMgNi4wMjA5NkM3Ljc1MTY4IDUuODc3MzYgOC4wMjg0MSA1LjgwNTU2IDguMzQwOSA1LjgwNTU2QzguNzU4OCA1LjgwNTU2IDkuMDc4ODIgNS45MzM0IDkuMzAwOTUgNi4xODkwOUM5LjUyNjg1IDYuNDQ0NzggOS42MjQ3NCA2Ljc2MTc2IDkuNTk0NjIgNy4xNDAwNEw5LjQ3NjAyIDguNzMxOTVDOS40NTM0MyA5LjAxNTY2IDkuNDE5NTUgOS4yNjI1OSA5LjM3NDM3IDkuNDcyNzVDOS4zMjkxOSA5LjY4MjkgOS4yNTM4OSA5LjkyOTgzIDkuMTQ4NDcgMTAuMjEzNUw5LjA5MiAxMC4zNjA2TDkuODY1NjkgMTEuMzc5OUM5LjkyMjE3IDExLjQ1MzQgOS45ODA1MiAxMS41MzQgMTAuMDQwOCAxMS42MjE2QzEwLjEwMSAxMS43MDkxIDEwLjE1MzcgMTEuNzk2NyAxMC4xOTg5IDExLjg4NDNMMTEuNDA3NCAxNC4xNjQ0QzExLjUwNTMgMTQuMzUwMSAxMS41MjQxIDE0LjUxMTIgMTEuNDYzOSAxNC42NDc4QzExLjQwMzcgMTQuNzg0NCAxMS4zMDIgMTQuODgyNSAxMS4xNTg5IDE0Ljk0MkMxMS4wMTk2IDE1LjAwMTUgMTAuODcwOSAxNS4wMTAzIDEwLjcxMjggMTQuOTY4M0MxMC41NTg0IDE0LjkyNjIgMTAuNDM2MSAxNC44MTc3IDEwLjM0NTcgMTQuNjQyNVpNMTIuNDA3IDcuOTY0ODlDMTIuNTg0IDcuOTY0ODkgMTIuNzI3IDguMDEwNDIgMTIuODM2MiA4LjEwMTQ5QzEyLjk0NTQgOC4xODkwNSAxMyA4LjMwNjM5IDEzIDguNDUzNUMxMyA4LjYxMTExIDEyLjk0NTQgOC43MzM3IDEyLjgzNjIgOC44MjEyN0MxMi43MzA4IDguOTA4ODMgMTIuNTg3NyA4Ljk1MjYxIDEyLjQwNyA4Ljk1MjYxSDExLjEzMDdDMTAuOTUzOCA4Ljk1MjYxIDEwLjgxNDUgOC45MzY4NSAxMC43MTI4IDguOTA1MzNDMTAuNjExMiA4Ljg3MDMgMTAuNTEzMyA4LjgwNzI2IDEwLjQxOTEgOC43MTYxOUwxMC4wNTIxIDguMzc5OTRMMTAuMTQyNCA3LjA0MDIxTDExLjAzNDcgNy45NjQ4OUgxMi40MDdaTTkuMDAxNjQgNS4zMTE2OUM4Ljc3MTk4IDUuMzExNjkgOC41NjMwMyA1LjI2MDkxIDguMzc0NzggNS4xNTkzM0M4LjE4NjUzIDUuMDU0MjYgOC4wMzU5NCA0LjkxNDE1IDcuOTIyOTkgNC43MzkwM0M3LjgxMzgxIDQuNTYzOSA3Ljc1OTIxIDQuMzY5NSA3Ljc1OTIxIDQuMTU1ODVDNy43NTkyMSAzLjk0MjE5IDcuODEzODEgMy43NDc4IDcuOTIyOTkgMy41NzI2N0M4LjAzNTk0IDMuMzk3NTQgOC4xODY1MyAzLjI1OTE5IDguMzc0NzggMy4xNTc2MkM4LjU2MzAzIDMuMDUyNTQgOC43NzE5OCAzIDkuMDAxNjQgM0M5LjIzMTMgMyA5LjQ0MDI2IDMuMDUyNTQgOS42Mjg1IDMuMTU3NjJDOS44MTY3NSAzLjI1OTE5IDkuOTY1NDYgMy4zOTc1NCAxMC4wNzQ2IDMuNTcyNjdDMTAuMTg3NiAzLjc0NzggMTAuMjQ0MSAzLjk0MjE5IDEwLjI0NDEgNC4xNTU4NUMxMC4yNDQxIDQuMzY5NSAxMC4xODc2IDQuNTYzOSAxMC4wNzQ2IDQuNzM5MDNDOS45NjU0NiA0LjkxNDE1IDkuODE2NzUgNS4wNTQyNiA5LjYyODUgNS4xNTkzM0M5LjQ0MDI2IDUuMjYwOTEgOS4yMzEzIDUuMzExNjkgOS4wMDE2NCA1LjMxMTY5WiJ9KX0pfWZ1bmN0aW9uIGQzKCl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMjYgMSAxMiAxNCIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNMzMuMjQzNyA0LjU4NDU5QzMzLjAwMDggNC41ODQ1OSAzMi43ODE3IDQuNTI3MjggMzIuNTg2NiA0LjQxMjY4QzMyLjM5MTUgNC4yOTQxMiAzMi4yMzQyIDQuMTM4MDEgMzIuMTE0NyAzLjk0NDM3QzMxLjk5OTIgMy43NDY3NyAzMS45NDE0IDMuNTI5NDEgMzEuOTQxNCAzLjI5MjI5QzMxLjk0MTQgMy4wNTEyMiAzMS45OTkyIDIuODMzODcgMzIuMTE0NyAyLjY0MDIyQzMyLjIzNDIgMi40NDY1NyAzMi4zOTE1IDIuMjkyNDUgMzIuNTg2NiAyLjE3Nzg0QzMyLjc4MTcgMi4wNTkyOCAzMy4wMDA4IDIgMzMuMjQzNyAyQzMzLjQ4MjYgMiAzMy42OTk3IDIuMDU5MjggMzMuODk0OCAyLjE3Nzg0QzM0LjA5MzkgMi4yOTI0NSAzNC4yNTEyIDIuNDQ2NTcgMzQuMzY2NyAyLjY0MDIyQzM0LjQ4NjIgMi44MzM4NyAzNC41NDU5IDMuMDUxMjIgMzQuNTQ1OSAzLjI5MjI5QzM0LjU0NTkgMy41Mjk0MSAzNC40ODYyIDMuNzQ2NzcgMzQuMzY2NyAzLjk0NDM3QzM0LjI1MTIgNC4xMzgwMSAzNC4wOTM5IDQuMjk0MTIgMzMuODk0OCA0LjQxMjY4QzMzLjY5OTcgNC41MjcyOCAzMy40ODI2IDQuNTg0NTkgMzMuMjQzNyA0LjU4NDU5Wk0zMS4yMDA3IDkuNzQxOTFDMzEuMDczMyA5LjY3MDc3IDMwLjk0MTkgOS41OTU2OCAzMC44MDY1IDkuNTE2NjRDMzAuNjc1IDkuNDM3NiAzMC41NTk2IDkuMzQyNzYgMzAuNDYgOS4yMzIxQzMwLjM2MDQgOS4xMTc0OSAzMC4yOTI3IDguOTc3MiAzMC4yNTY5IDguODExMjJDMzAuMjI1IDguNjQxMjggMzAuMjQ0OSA4LjQyOTg1IDMwLjMxNjYgOC4xNzY5M0wzMC44MDY1IDYuNDgxNTNDMzAuODM4MyA2LjM2NjkyIDMwLjgxODQgNi4yNzk5OCAzMC43NDY3IDYuMjIwN0MzMC42NzkgNi4xNTc0NyAzMC41OTc0IDYuMTI5ODEgMzAuNTAxOCA2LjEzNzcxTDI5LjY1OTUgNi4xOTY5OUwyOS40MDI3IDcuOTIyMDJDMjkuMzc4OCA4LjEwNzc3IDI5LjMxNTEgOC4yNDYwOSAyOS4yMTE1IDguMzM2OThDMjkuMTA4IDguNDI3ODggMjguOTcyNiA4LjQ2NTQyIDI4LjgwNTMgOC40NDk2MUMyOC42NDIgOC40MzM4IDI4LjUxODYgOC4zNjY2MiAyOC40MzQ5IDguMjQ4MDZDMjguMzUxMyA4LjEyOTUgMjguMzIxNCA3Ljk3NzM1IDI4LjM0NTMgNy43OTE2MUwyOC42MjYxIDUuNjgxMjZDMjguNjUgNS41MTEzMiAyOC43MTU3IDUuMzc0OTggMjguODIzMiA1LjI3MjIzQzI4LjkzMDggNS4xNjk0OCAyOS4wNjgxIDUuMTEyMTcgMjkuMjM1NCA1LjEwMDMyTDMxLjMzMjEgNC45NTIxMkMzMS44ODE3IDQuOTEyNiAzMi4zMzU3IDQuOTY5OSAzMi42OTQxIDUuMTI0MDNDMzMuMDUyNSA1LjI3ODE2IDMzLjM2NzEgNS41Mzg5OSAzMy42Mzc5IDUuOTA2NTJMMzQuNjcxNCA3LjMyMzNMMzYuMTcwOCA2LjY2NTNDMzYuMzM4IDYuNTkwMjEgMzYuNDg5MyA2LjU3NDQgMzYuNjI0OCA2LjYxNzg3QzM2Ljc2MDIgNi42NTczOSAzNi44NjU3IDYuNzUyMjQgMzYuOTQxNCA2LjkwMjQyQzM3LjAxMyA3LjA1MjU5IDM3LjAxOSA3LjE5NDg2IDM2Ljk1OTMgNy4zMjkyM0MzNi45MDM1IDcuNDYzNiAzNi43OTIgNy41NjgzMiAzNi42MjQ4IDcuNjQzNDFMMzQuNzMxMSA4LjQ3OTI1QzM0LjYwMzcgOC41Mzg1MyAzNC40NzQzIDguNTUwMzkgMzQuMzQyOCA4LjUxNDgyQzM0LjIxNTQgOC40NzUzIDM0LjExMzggOC40MDAyMSAzNC4wMzgyIDguMjg5NTZMMzMuMzgxMSA3LjMzNTE2QzMzLjMxMzQgNy4yNDAzMSAzMy4yMjk4IDcuMTk4ODEgMzMuMTMwMiA3LjIxMDY3QzMzLjAzMDYgNy4yMjI1MyAzMi45NjQ5IDcuMjgzNzggMzIuOTMzMSA3LjM5NDQ0TDMyLjQ5MSA4LjkyOTc4TDM0LjczMTEgMTAuMzg4MUMzNC44NDI2IDEwLjQ1OTIgMzQuOTIyMyAxMC41NTYgMzQuOTcwMSAxMC42Nzg1QzM1LjAxNzkgMTAuODAxIDM1LjAyOTggMTAuOTI1NSAzNS4wMDU5IDExLjA1MkMzNC45ODYgMTEuMTc0NSAzNC45MjgyIDExLjI3NTMgMzQuODMyNyAxMS4zNTQzTDMyLjc3MTggMTMuMDk3MUMzMi42MDg1IDEzLjIzNTQgMzIuNDQ1MiAxMy4yOTg3IDMyLjI4MTkgMTMuMjg2OEMzMi4xMjI2IDEzLjI3NSAzMS45OTMyIDEzLjIxMzcgMzEuODkzNyAxMy4xMDMxQzMxLjc5ODEgMTIuOTk2NCAzMS43NTQzIDEyLjg2NTkgMzEuNzYyMiAxMi43MTE4QzMxLjc3MDIgMTIuNTUzNyAzMS44NTM4IDEyLjQwNzUgMzIuMDEzMSAxMi4yNzMxTDMzLjQ4ODYgMTEuMDE2NEwzMS4yMDA3IDkuNzQxOTFaTTI3LjIwNDQgMTQuODYzN0MyNy4wODQ5IDE0Ljc1NyAyNy4wMTcyIDE0LjYxODYgMjcuMDAxMyAxNC40NDg3QzI2Ljk4OTMgMTQuMjc4OCAyNy4wNjEgMTQuMTE2NyAyNy4yMTYzIDEzLjk2MjZMMjkuMjIzNSAxMS45NzY3TDI5LjkzNDMgOS40ODEwOEMzMC4wNDE4IDkuNjE1NDQgMzAuMTc1MyA5Ljc0NTg2IDMwLjMzNDUgOS44NzIzMkMzMC40OTc4IDkuOTk0ODMgMzAuNjkzIDEwLjExNzMgMzAuOTIgMTAuMjM5OUwzMS4xMTcxIDEwLjM0NjZMMzAuMzA0NyAxMi40MzMyQzMwLjI1MjkgMTIuNTU1NyAzMC4yMDkxIDEyLjY0MDcgMzAuMTczMyAxMi42ODgxQzMwLjE0MTQgMTIuNzM1NSAzMC4wODU2IDEyLjc5ODggMzAuMDA2IDEyLjg3NzhMMjguMDcwNiAxNC43ODA3QzI3LjkxOTIgMTQuOTI2OSAyNy43NjM5IDE1IDI3LjYwNDYgMTVDMjcuNDQ5MyAxNSAyNy4zMTU5IDE0Ljk1NDYgMjcuMjA0NCAxNC44NjM3WiJ9KX0pfWZ1bmN0aW9uIGMzKCl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiNDkgMyAxNiAxMiIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNNTcuMDAyOCAxMS45NDlDNTYuODQ4IDExLjk0OSA1Ni43MTcyIDExLjg5ODcgNTYuNjEwMyAxMS43OThDNTYuNTAzNSAxMS42OTM5IDU2LjQ1MDEgMTEuNTcwNyA1Ni40NTAxIDExLjQyODRWOS4wMjg2M0w1NC40MjE2IDcuMTA3NzZDNTQuMjIyNyA2LjkyMDM1IDU0LjA5NTUgNi42OTgyNSA1NC4wNDAzIDYuNDQxNDRDNTMuOTg1IDYuMTgxMTYgNTQuMDEwOCA1LjkyNzgyIDU0LjExNzYgNS42ODE0MkM1NC4yMjgyIDUuNDM4NDkgNTQuMzk3NyA1LjI0NDE0IDU0LjYyNjEgNS4wOTgzOUM1NC44NTgzIDQuOTQ5MTYgNTUuMTE2MiA0Ljg3NDU0IDU1LjM5OTkgNC44NzQ1NEg1OC4xMTM3QzU4LjQyMzIgNC44NzQ1NCA1OC42ODQ4IDQuOTc2OTIgNTguODk4NSA1LjE4MTY4QzU5LjExNTkgNS4zODI5NiA1OS4yMjQ2IDUuNjI5MzYgNTkuMjI0NiA1LjkyMDg3VjcuNzYzNjZINjAuODk5M0M2MS4wNTA0IDcuNzYzNjYgNjEuMTc5NCA3LjgxMzk5IDYxLjI4NjIgNy45MTQ2M0M2MS4zOTMxIDguMDE1MjcgNjEuNDQ2NSA4LjEzODQ3IDYxLjQ0NjUgOC4yODQyM0M2MS40NDY1IDguNDI2NTEgNjEuMzkzMSA4LjU0Nzk4IDYxLjI4NjIgOC42NDg2MkM2MS4xNzk0IDguNzQ5MjYgNjEuMDUwNCA4Ljc5OTU4IDYwLjg5OTMgOC43OTk1OEg1OC42NzE5QzU4LjUyMDkgOC43OTk1OCA1OC4zOTAxIDguNzQ5MjYgNTguMjc5NSA4LjY0ODYyQzU4LjE3MjcgOC41NDc5OCA1OC4xMTkyIDguNDI2NTEgNTguMTE5MiA4LjI4NDIzVjYuOTg4MDNDNTguMTE5MiA2LjkxODYyIDU4LjA5OSA2Ljg1NDQyIDU4LjA1ODQgNi43OTU0MkM1OC4wMTc5IDYuNzMyOTUgNTcuOTQ0MiA2LjcwMTcyIDU3LjgzNzMgNi43MDE3Mkg1Ni4wNjMyQzU1Ljk5MzIgNi43MDE3MiA1NS45NDUzIDYuNzI5NDggNTUuOTE5NSA2Ljc4NTAxQzU1Ljg5NzQgNi44MzcwNiA1NS45MDg0IDYuODg3MzkgNTUuOTUyNiA2LjkzNTk3TDU3LjQwMDcgOC40NTYwMUM1Ny41MDM5IDguNTYzNiA1Ny41NTU1IDguNjgxNTkgNTcuNTU1NSA4LjgwOTk5VjExLjQyODRDNTcuNTU1NSAxMS41NzA3IDU3LjUwMDIgMTEuNjkzOSA1Ny4zODk3IDExLjc5OEM1Ny4yODI4IDExLjg5ODcgNTcuMTUzOCAxMS45NDkgNTcuMDAyOCAxMS45NDlaTTUzLjAwMTIgMTRDNTIuNTg0OCAxNCA1Mi4xOTQyIDEzLjkyNzEgNTEuODI5NSAxMy43ODE0QzUxLjQ2ODQgMTMuNjM1NiA1MS4xNDk2IDEzLjQzMjYgNTAuODczMyAxMy4xNzIzQzUwLjYwMDYgMTIuOTEyIDUwLjM4NjkgMTIuNjExOCA1MC4yMzIxIDEyLjI3MTdDNTAuMDc3NCAxMS45MjgyIDUwIDExLjU2MDMgNTAgMTEuMTY4MUM1MCAxMC43NzYgNTAuMDc3NCAxMC40MDk5IDUwLjIzMjEgMTAuMDY5OEM1MC4zODY5IDkuNzI2MTggNTAuNjAwNiA5LjQyNDI2IDUwLjg3MzMgOS4xNjM5OEM1MS4xNDk2IDguOTAzNyA1MS40Njg0IDguNzAwNjggNTEuODI5NSA4LjU1NDkyQzUyLjE5NDIgOC40MDkxNiA1Mi41ODQ4IDguMzM2MjggNTMuMDAxMiA4LjMzNjI4QzUzLjQyMTIgOC4zMzYyOCA1My44MTE4IDguNDA5MTYgNTQuMTcyOSA4LjU1NDkyQzU0LjUzNzcgOC43MDA2OCA1NC44NTY0IDguOTAzNyA1NS4xMjkxIDkuMTYzOThDNTUuNDA1NCA5LjQyNDI2IDU1LjYyMSA5LjcyNjE4IDU1Ljc3NTggMTAuMDY5OEM1NS45MzA1IDEwLjQwOTkgNTYuMDA3OSAxMC43NzYgNTYuMDA3OSAxMS4xNjgxQzU2LjAwNzkgMTEuNTYwMyA1NS45MzA1IDExLjkyODIgNTUuNzc1OCAxMi4yNzE3QzU1LjYyMSAxMi42MTE4IDU1LjQwNTQgMTIuOTEyIDU1LjEyOTEgMTMuMTcyM0M1NC44NTY0IDEzLjQzMjYgNTQuNTM3NyAxMy42MzU2IDU0LjE3MjkgMTMuNzgxNEM1My44MTE4IDEzLjkyNzEgNTMuNDIxMiAxNCA1My4wMDEyIDE0Wk01My4wMDEyIDEzLjI2NkM1My40MTAyIDEzLjI2NiA1My43ODIzIDEzLjE3MDYgNTQuMTE3NiAxMi45Nzk3QzU0LjQ1NjYgMTIuNzkyMyA1NC43MjU2IDEyLjU0MDcgNTQuOTI0NiAxMi4yMjQ5QzU1LjEyNzMgMTEuOTA1NiA1NS4yMjg2IDExLjU1MzQgNTUuMjI4NiAxMS4xNjgxQzU1LjIyODYgMTAuNzgyOSA1NS4xMjczIDEwLjQzMjQgNTQuOTI0NiAxMC4xMTY2QzU0LjcyNTYgOS43OTczMyA1NC40NTY2IDkuNTQzOTkgNTQuMTE3NiA5LjM1NjU5QzUzLjc4MjMgOS4xNjU3MSA1My40MTAyIDkuMDcwMjggNTMuMDAxMiA5LjA3MDI4QzUyLjU5NTkgOS4wNzAyOCA1Mi4yMjM3IDkuMTY1NzEgNTEuODg0NyA5LjM1NjU5QzUxLjU0OTQgOS41NDM5OSA1MS4yODA0IDkuNzk3MzMgNTEuMDc3OCAxMC4xMTY2QzUwLjg3ODggMTAuNDMyNCA1MC43NzkzIDEwLjc4MjkgNTAuNzc5MyAxMS4xNjgxQzUwLjc3OTMgMTEuNTUzNCA1MC44Nzg4IDExLjkwNTYgNTEuMDc3OCAxMi4yMjQ5QzUxLjI4MDQgMTIuNTQwNyA1MS41NDk0IDEyLjc5MjMgNTEuODg0NyAxMi45Nzk3QzUyLjIyMzcgMTMuMTcwNiA1Mi41OTU5IDEzLjI2NiA1My4wMDEyIDEzLjI2NlpNNjIuNDgwMSA5LjYxMTY2QzYyLjM2MjIgOS41MTQ0OSA2Mi4zMDE0IDkuNDE1NTggNjIuMjk3NyA5LjMxNDk0QzYyLjI5NzcgOS4yMTA4MyA2Mi4zMzA4IDkuMTI0MDcgNjIuMzk3MiA5LjA1NDY2QzYyLjQ2NzIgOC45ODUyNSA2Mi41NTM4IDguOTQ1MzQgNjIuNjU2OSA4LjkzNDkzQzYyLjc2MzggOC45MjEwNSA2Mi44Njg4IDguOTU1NzUgNjIuOTcyIDkuMDM5MDRDNjMuMjg4OSA5LjMwMjc5IDYzLjUzOTQgOS42MTY4NyA2My43MjM2IDkuOTgxMjZDNjMuOTA3OSAxMC4zNDU3IDY0IDEwLjc0MTMgNjQgMTEuMTY4MUM2NCAxMS41NjAzIDYzLjkyMjYgMTEuOTI4MiA2My43Njc5IDEyLjI3MTdDNjMuNjEzMSAxMi42MTE4IDYzLjM5NzYgMTIuOTEyIDYzLjEyMTIgMTMuMTcyM0M2Mi44NDg1IDEzLjQzMjYgNjIuNTI5OCAxMy42MzU2IDYyLjE2NSAxMy43ODE0QzYxLjgwMzkgMTMuOTI3MSA2MS40MTUyIDE0IDYwLjk5ODggMTRDNjAuNTgyNCAxNCA2MC4xOTE5IDEzLjkyNzEgNTkuODI3MSAxMy43ODE0QzU5LjQ2MjMgMTMuNjM1NiA1OS4xNDE3IDEzLjQzMjYgNTguODY1NCAxMy4xNzIzQzU4LjU5MjcgMTIuOTEyIDU4LjM3OSAxMi42MTE4IDU4LjIyNDIgMTIuMjcxN0M1OC4wNjk1IDExLjkyODIgNTcuOTkyMSAxMS41NjAzIDU3Ljk5MjEgMTEuMTY4MUM1Ny45OTIxIDEwLjk2MzQgNTguMDE0MiAxMC43NjU2IDU4LjA1ODQgMTAuNTc0N0M1OC4xMDYzIDEwLjM4MDQgNTguMTcyNyAxMC4xOTMgNTguMjU3NCAxMC4wMTI1QzU4LjMwOSA5LjkwMTQ0IDU4LjM4MDggOS44MzAzIDU4LjQ3MyA5Ljc5OTA2QzU4LjU2ODggOS43NjQzNiA1OC42NjI3IDkuNzY0MzYgNTguNzU0OCA5Ljc5OTA2QzU4Ljg1MDYgOS44MzAzIDU4LjkyMjUgOS44OTI3NiA1OC45NzA0IDkuOTg2NDdDNTkuMDE4MyAxMC4wODAyIDU5LjAxMDkgMTAuMTk4MiA1OC45NDgzIDEwLjM0MDRDNTguODMwNCAxMC42MDA3IDU4Ljc3MTQgMTAuODc2NiA1OC43NzE0IDExLjE2ODFDNTguNzcxNCAxMS41NTM0IDU4Ljg3MDkgMTEuOTA1NiA1OS4wNjk5IDEyLjIyNDlDNTkuMjcyNSAxMi41NDA3IDU5LjU0MTUgMTIuNzkyMyA1OS44NzY4IDEyLjk3OTdDNjAuMjE1OCAxMy4xNzA2IDYwLjU4OTggMTMuMjY2IDYwLjk5ODggMTMuMjY2QzYxLjQwNzggMTMuMjY2IDYxLjc4IDEzLjE3MDYgNjIuMTE1MyAxMi45Nzk3QzYyLjQ1MDYgMTIuNzkyMyA2Mi43MTc3IDEyLjU0MDcgNjIuOTE2NyAxMi4yMjQ5QzYzLjExOTQgMTEuOTA1NiA2My4yMjA3IDExLjU1MzQgNjMuMjIwNyAxMS4xNjgxQzYzLjIyMDcgMTAuODU5MyA2My4xNTI1IDEwLjU3MTIgNjMuMDE2MiAxMC4zMDRDNjIuODgzNSAxMC4wMzMzIDYyLjcwNDggOS44MDI1MyA2Mi40ODAxIDkuNjExNjZaTTYwLjk5ODggNi4yNzQ4NkM2MC43NzQgNi4yNzQ4NiA2MC41Njk1IDYuMjI0NTQgNjAuMzg1MyA2LjEyMzg5QzYwLjIwMTEgNi4wMTk3OCA2MC4wNTM3IDUuODgyNyA1OS45NDMyIDUuNzEyNjVDNTkuODM2MyA1LjUzOTEzIDU5Ljc4MjkgNS4zNDY1MiA1OS43ODI5IDUuMTM0ODNDNTkuNzgyOSA0LjkyNjYgNTkuODM2MyA0LjczNzQ2IDU5Ljk0MzIgNC41Njc0MUM2MC4wNTM3IDQuMzkzODkgNjAuMjAxMSA0LjI1NjgxIDYwLjM4NTMgNC4xNTYxN0M2MC41Njk1IDQuMDUyMDYgNjAuNzc0IDQgNjAuOTk4OCA0QzYxLjIxOTkgNCA2MS40MjA3IDQuMDUyMDYgNjEuNjAxMyA0LjE1NjE3QzYxLjc4MTggNC4yNTY4MSA2MS45MjU1IDQuMzkzODkgNjIuMDMyNCA0LjU2NzQxQzYyLjE0MjkgNC43Mzc0NiA2Mi4xOTgyIDQuOTI2NiA2Mi4xOTgyIDUuMTM0ODNDNjIuMTk4MiA1LjM0NjUyIDYyLjE0MjkgNS41MzkxMyA2Mi4wMzI0IDUuNzEyNjVDNjEuOTI1NSA1Ljg4MjcgNjEuNzgxOCA2LjAxOTc4IDYxLjYwMTMgNi4xMjM4OUM2MS40MjA3IDYuMjI0NTQgNjEuMjE5OSA2LjI3NDg2IDYwLjk5ODggNi4yNzQ4NloifSl9KX1mdW5jdGlvbiBvMygpe3JldHVybiBaKCJzdmciLHt3aWR0aDoiMTYiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjcwIDUgMTggOSIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNODUuNTcyIDEyLjEwMzhDODYuMDYgMTIuMTAzOCA4Ni40MjA3IDExLjk4OTIgODYuNjU0MiAxMS43NjAxQzg2Ljg4NDcgMTEuNTI4MSA4NyAxMS4xNjQxIDg3IDEwLjY2ODFWMTAuMTExMkM4NyA5Ljc2OTAxIDg2LjkyMDcgOS40NjMwMiA4Ni43NjIgOS4xOTMyOUM4Ni42MDMzIDguOTIwNjUgODYuMzc1OCA4LjY5NzMzIDg2LjA3OTQgOC41MjMzMUM4NS43ODAxIDguMzQ5MjkgODUuNDIyMyA4LjIzNzYyIDg1LjAwNjIgOC4xODgzMkw4My4wMTY4IDcuOTUzMzlMODEuMTk4MSA2Ljg0ODM1QzgwLjkyMjcgNi42ODAxMyA4MC42NjA4IDYuNTQyMzcgODAuNDEyMyA2LjQzNTA1QzgwLjE2MDggNi4zMjQ4NCA3OS44OTc0IDYuMjM3ODMgNzkuNjIxOSA2LjE3NDAyQzc5LjM0NjUgNi4xMTAyMSA3OS4wMzgyIDYuMDY1MjYgNzguNjk2OSA2LjAzOTE1Qzc4LjM1MjYgNi4wMTMwNSA3Ny45NTE0IDYgNzcuNDkzNCA2SDc2LjgxMDhDNzYuMzg4NyA2IDc1Ljk5NSA2LjA0OTMxIDc1LjYyOTggNi4xNDc5MkM3NS4yNjE2IDYuMjQzNjMgNzQuOTE4OCA2LjM3MTI1IDc0LjYwMTUgNi41MzA3NkM3NC4yODExIDYuNjkwMjggNzMuOTg2MiA2Ljg2NTc2IDczLjcxNjggNy4wNTcxOEM3My40NDQ0IDcuMjQ4NiA3My4xOTU5IDcuNDM3MTIgNzIuOTcxNCA3LjYyMjc1TDcyLjI1NzQgNy44NTMzM0M3MS44MzIzIDcuOTg2NzQgNzEuNTE2NCA4LjE4Mzk3IDcxLjMwOTkgOC40NDVDNzEuMTAzMyA4LjcwMzEzIDcxIDkuMDMzNzcgNzEgOS40MzY5MlYxMC42NDJDNzEgMTEuMTQ2NyA3MS4xMTUzIDExLjUxNjUgNzEuMzQ1OCAxMS43NTE0QzcxLjU3NjMgMTEuOTg2MyA3MS45MzcgMTIuMTAzOCA3Mi40MjggMTIuMTAzOEg3Mi43MTU0QzcyLjcwMDQgMTIuMDM3MSA3Mi42ODg1IDExLjk3MDQgNzIuNjc5NSAxMS45MDM3QzcyLjY3MDUgMTEuODM0MSA3Mi42NjYgMTEuNzY0NSA3Mi42NjYgMTEuNjk0OEM3Mi42NjYgMTEuMzU1NSA3Mi43NDk4IDExLjA0OTUgNzIuOTE3NSAxMC43NzY5QzczLjA4NTEgMTAuNTA0MiA3My4zMTEyIDEwLjI4ODIgNzMuNTk1NiAxMC4xMjg3QzczLjg3NyA5Ljk2NjIzIDc0LjE5MjggOS44ODUwMiA3NC41NDMxIDkuODg1MDJDNzQuODkwNCA5Ljg4NTAyIDc1LjIwNjIgOS45NjYyMyA3NS40OTA2IDEwLjEyODdDNzUuNzcyIDEwLjI4ODIgNzUuOTk2NSAxMC41MDQyIDc2LjE2NDIgMTAuNzc2OUM3Ni4zMzE4IDExLjA0OTUgNzYuNDE1NyAxMS4zNTU1IDc2LjQxNTcgMTEuNjk0OEM3Ni40MTU3IDExLjc2NDUgNzYuNDExMiAxMS44MzQxIDc2LjQwMjIgMTEuOTAzN0M3Ni4zOTMyIDExLjk3MDQgNzYuMzgyNyAxMi4wMzcxIDc2LjM3MDggMTIuMTAzOEg4MS42MzgyQzgxLjYyMDMgMTIuMDM3MSA4MS42MDgzIDExLjk3MDQgODEuNjAyMyAxMS45MDM3QzgxLjU5MzMgMTEuODM0MSA4MS41ODg4IDExLjc2NDUgODEuNTg4OCAxMS42OTQ4QzgxLjU4ODggMTEuMzU1NSA4MS42NzI3IDExLjA0OTUgODEuODQwMyAxMC43NzY5QzgyLjAwNSAxMC41MDQyIDgyLjIyOTUgMTAuMjg4MiA4Mi41MTM5IDEwLjEyODdDODIuNzk1MyA5Ljk2NjIzIDgzLjExMTEgOS44ODUwMiA4My40NjE0IDkuODg1MDJDODMuODExNyA5Ljg4NTAyIDg0LjEyOSA5Ljk2NjIzIDg0LjQxMzQgMTAuMTI4N0M4NC42OTQ4IDEwLjI4ODIgODQuOTE5NCAxMC41MDQyIDg1LjA4NyAxMC43NzY5Qzg1LjI1MTcgMTEuMDQ5NSA4NS4zMzQgMTEuMzU1NSA4NS4zMzQgMTEuNjk0OEM4NS4zMzQgMTEuNzY0NSA4NS4zMzEgMTEuODM0MSA4NS4zMjUgMTEuOTAzN0M4NS4zMTYgMTEuOTcwNCA4NS4zMDQxIDEyLjAzNzEgODUuMjg5MSAxMi4xMDM4SDg1LjU3MlpNODMuNDYxNCAxM0M4My43MTI5IDEzIDgzLjk0MDQgMTIuOTQyIDg0LjE0NCAxMi44MjZDODQuMzQ3NiAxMi43MSA4NC41MDkyIDEyLjU1MzMgODQuNjI5IDEyLjM1NjFDODQuNzQ4NyAxMi4xNTg5IDg0LjgwODYgMTEuOTM4NSA4NC44MDg2IDExLjY5NDhDODQuODA4NiAxMS40NTEyIDg0Ljc0ODcgMTEuMjMwOCA4NC42MjkgMTEuMDMzNkM4NC41MDkyIDEwLjgzNjMgODQuMzQ3NiAxMC42Nzk3IDg0LjE0NCAxMC41NjM3QzgzLjk0MDQgMTAuNDQ3NyA4My43MTI5IDEwLjM4OTcgODMuNDYxNCAxMC4zODk3QzgzLjIwNjkgMTAuMzg5NyA4Mi45Nzc5IDEwLjQ0NzcgODIuNzc0MyAxMC41NjM3QzgyLjU3MDggMTAuNjc5NyA4Mi40MDkxIDEwLjgzNjMgODIuMjg5NCAxMS4wMzM2QzgyLjE2OTYgMTEuMjMwOCA4Mi4xMDk3IDExLjQ1MTIgODIuMTA5NyAxMS42OTQ4QzgyLjEwOTcgMTEuOTM4NSA4Mi4xNjk2IDEyLjE1ODkgODIuMjg5NCAxMi4zNTYxQzgyLjQwOTEgMTIuNTUzMyA4Mi41NzA4IDEyLjcxIDgyLjc3NDMgMTIuODI2QzgyLjk3NzkgMTIuOTQyIDgzLjIwNjkgMTMgODMuNDYxNCAxM1pNNzQuNTQzMSAxM0M3NC43OTQ2IDEzIDc1LjAyMjEgMTIuOTQyIDc1LjIyNTcgMTIuODI2Qzc1LjQyOTIgMTIuNzEgNzUuNTkwOSAxMi41NTMzIDc1LjcxMDYgMTIuMzU2MUM3NS44MzA0IDEyLjE1ODkgNzUuODkwMyAxMS45Mzg1IDc1Ljg5MDMgMTEuNjk0OEM3NS44OTAzIDExLjQ1MTIgNzUuODMwNCAxMS4yMzA4IDc1LjcxMDYgMTEuMDMzNkM3NS41OTA5IDEwLjgzNjMgNzUuNDI5MiAxMC42Nzk3IDc1LjIyNTcgMTAuNTYzN0M3NS4wMjIxIDEwLjQ0NzcgNzQuNzk0NiAxMC4zODk3IDc0LjU0MzEgMTAuMzg5N0M3NC4yODg2IDEwLjM4OTcgNzQuMDU5NiAxMC40NDc3IDczLjg1NiAxMC41NjM3QzczLjY1MjQgMTAuNjc5NyA3My40OTA4IDEwLjgzNjMgNzMuMzcxIDExLjAzMzZDNzMuMjUxMyAxMS4yMzA4IDczLjE5MTQgMTEuNDUxMiA3My4xOTE0IDExLjY5NDhDNzMuMTkxNCAxMS45Mzg1IDczLjI1MTMgMTIuMTU4OSA3My4zNzEgMTIuMzU2MUM3My40OTA4IDEyLjU1MzMgNzMuNjUyNCAxMi43MSA3My44NTYgMTIuODI2Qzc0LjA1OTYgMTIuOTQyIDc0LjI4ODYgMTMgNzQuNTQzMSAxM1oifSl9KX1mdW5jdGlvbiBhMCh7c2l6ZTokPTE4LHN0cm9rZVdpZHRoOlE9Mn0pe3JldHVybiBaKGQyLHtzaXplOiQsc3Ryb2tlV2lkdGg6UX0pfXZhciB0OT0iQWNjZXNzaWJpbGl0eSB1bmF2YWlsYWJsZSBvbiB0aGlzIHNpbXVsYXRvci4iO2Z1bmN0aW9uIFM1KCQpe3JldHVybiAkPy5lcnJvcnM/LmluY2x1ZGVzKHQ5KT8/ITF9ZnVuY3Rpb24geDUoJCxRKXtpZigkPT09USlyZXR1cm4hMDtpZigkLmlkIT09US5pZHx8JC5wYXRoIT09US5wYXRofHwkLmxhYmVsIT09US5sYWJlbHx8JC52YWx1ZSE9PVEudmFsdWV8fCQucm9sZSE9PVEucm9sZXx8JC50eXBlIT09US50eXBlfHwkLmVuYWJsZWQhPT1RLmVuYWJsZWQpcmV0dXJuITE7bGV0IEo9JC5mcmFtZSxYPVEuZnJhbWU7cmV0dXJuIEo9PT1YfHxKLng9PT1YLngmJkoueT09PVgueSYmSi53aWR0aD09PVgud2lkdGgmJkouaGVpZ2h0PT09WC5oZWlnaHR9ZnVuY3Rpb24gajUoJCxRKXtsZXQgSj0kLmxhYmVsfHwkLnJvbGV8fGBlbGVtZW50ICR7USsxfWAsWD0kLnJvbGV8fCQudHlwZTtyZXR1cm57aWQ6JC5pZCxwYXRoOiQucGF0aCxsYWJlbDpKLHZhbHVlOiQudmFsdWUscm9sZTpYLHR5cGU6JC50eXBlLGVuYWJsZWQ6JC5lbmFibGVkLGZyYW1lOiQuZnJhbWV9fWZ1bmN0aW9uIGU5KCQsUSl7bGV0IEo9TWF0aC5tYXgoMCwkLngpLFg9TWF0aC5tYXgoMCwkLnkpLEs9TWF0aC5taW4oUS53aWR0aCwkLngrJC53aWR0aCksWT1NYXRoLm1pbihRLmhlaWdodCwkLnkrJC5oZWlnaHQpLHE9TWF0aC5tYXgoMCxLLUopLEc9TWF0aC5tYXgoMCxZLVgpO3JldHVybiBxPjAmJkc+MD97eDpKLHk6WCx3aWR0aDpxLGhlaWdodDpHfTpudWxsfWZ1bmN0aW9uIHMwKCQpe3JldHVybiAkLmlkfWZ1bmN0aW9uIGkzKCQpe3JldHVybmAkeyQueH0sJHskLnl9ICR7JC53aWR0aH14JHskLmhlaWdodH1gfWZ1bmN0aW9uICQ2KCQpe3JldHVybltgQVggbGFiZWw6ICR7JC5sYWJlbHx8IlVubGFiZWxlZCJ9YCwkLnJvbGU/YHJvbGU6ICR7JC5yb2xlfWA6IiIsJC50eXBlP2B0eXBlOiAkeyQudHlwZX1gOiIiLCQudmFsdWU/YHZhbHVlOiAkeyQudmFsdWV9YDoiIiwkLmlkP2BpZDogJHskLmlkfWA6IiIsYHBhdGg6ICR7JC5wYXRofWAsYGZyYW1lOiAke2kzKCQuZnJhbWUpfWBdLmZpbHRlcihCb29sZWFuKS5qb2luKCI7ICIpfWZ1bmN0aW9uIGEyKCQpe3JldHVybiAkJiZ0eXBlb2YgJC5kZXZpY2U9PT0ic3RyaW5nIiYmdHlwZW9mICQudXJsPT09InN0cmluZyI/JDpudWxsfWZ1bmN0aW9uIFE2KCQpe2xldCBRPW5ldyBVUkwoJC5zdHJlYW1VcmwpO3JldHVybiBRLnBhdGhuYW1lPVEucGF0aG5hbWUucmVwbGFjZSgvXC9zdHJlYW1cLlteL10rJC8sIi9zdHJlYW0ubWpwZWciKSxRLnNlYXJjaD0iIixRLmhhc2g9IiIsUS50b1N0cmluZygpfWZ1bmN0aW9uIHY1KCQpe2xldCBRPW5ldyBVUkwoJC5zdHJlYW1VcmwpO3JldHVybiBRLnBhdGhuYW1lPVEucGF0aG5hbWUucmVwbGFjZSgvXC9zdHJlYW1cLlteL10rJC8sIi93ZWJydGMvb2ZmZXIiKSxRLnNlYXJjaD0iIixRLmhhc2g9IiIsUS50b1N0cmluZygpfWZ1bmN0aW9uIEo2KCQpe2xldCBRPW5ldyBVUkwodjUoJCkpO3JldHVybiBRLnBhdGhuYW1lPVEucGF0aG5hbWUucmVwbGFjZSgvXC9vZmZlciQvLCIvY2xvc2UiKSxRLnRvU3RyaW5nKCl9ZnVuY3Rpb24gWjYoJCl7bGV0IFE9bmV3IFVSTCh2NSgkKSk7cmV0dXJuIFEucGF0aG5hbWU9US5wYXRobmFtZS5yZXBsYWNlKC9cL29mZmVyJC8sIi9zdGF0cyIpLFEudG9TdHJpbmcoKX1mdW5jdGlvbiBYNigkLFEpe2xldCBKPW5ldyBVUkwoJCk7cmV0dXJuIEouc2VhcmNoUGFyYW1zLnNldCgic2Vzc2lvbklkIixRKSxKLnRvU3RyaW5nKCl9ZnVuY3Rpb24gdjEoJCl7bGV0IEo9d2luZG93Ll9fU0lNX1BSRVZJRVdfXz8uYmFzZVBhdGg/Pyh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXC8rJC8sIiIpfHwiLyIpO3JldHVybiBKPT09Ii8iP2AvJHskfWA6YCR7Sn0vJHskfWB9dmFyIERRPTUwMDAsUFE9MjAwMCxzMj1udWxsLG4zPW51bGwsVFE9MSxFUT0xLFUyPW5ldyBNYXAsTDI9bmV3IE1hcDtmdW5jdGlvbiB3USgpe2xldCAkPW5ldyBVUkwodjEoImV4ZWMtd3MiKSx3aW5kb3cubG9jYXRpb24uaHJlZik7cmV0dXJuICQucHJvdG9jb2w9JC5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6IiwkLnRvU3RyaW5nKCl9ZnVuY3Rpb24gSVEoJCl7Zm9yKGxldCBRIG9mIFUyLnZhbHVlcygpKVEucmVqZWN0KCQpO1UyLmNsZWFyKCl9ZnVuY3Rpb24gSzYoKXtyZXR1cm4gczI/Pz1uZXcgUHJvbWlzZSgoJCxRKT0+e2xldCBKPSExLFg7dHJ5e1g9bmV3IFdlYlNvY2tldCh3USgpKX1jYXRjaChxKXtzMj1udWxsLFEocSk7cmV0dXJufWxldCBLPXNldFRpbWVvdXQoKCk9PntpZighSilKPSEwLHMyPW51bGwsUShFcnJvcigiY29udHJvbCBzb2NrZXQgY29ubmVjdCB0aW1lb3V0IikpLFguY2xvc2UoKX0sRFEpO1gub25vcGVuPSgpPT57WC5zZW5kKEpTT04uc3RyaW5naWZ5KHt0b2tlbjp3aW5kb3cuX19TSU1fUFJFVklFV19fPy5leGVjVG9rZW4/PyIifSkpfSxYLm9ubWVzc2FnZT0ocSk9PntsZXQgRzt0cnl7Rz1KU09OLnBhcnNlKFN0cmluZyhxLmRhdGEpKX1jYXRjaHtyZXR1cm59aWYoRy5yZWFkeSl7aWYoIUopSj0hMCxjbGVhclRpbWVvdXQoSyksbjM9WCwkKFgpO3JldHVybn1pZih0eXBlb2YgRy5zdWI9PT0ibnVtYmVyIil7bGV0IE49TDIuZ2V0KEcuc3ViKTtpZighTilyZXR1cm47aWYoRy5lbmQpTDIuZGVsZXRlKEcuc3ViKSxOLm9uRW5kKCk7ZWxzZSBpZih0eXBlb2YgRy5kYXRhPT09InN0cmluZyIpTi5vbkRhdGEoRy5kYXRhKTtyZXR1cm59aWYodHlwZW9mIEcuaWQhPT0ibnVtYmVyIilyZXR1cm47bGV0IEI9VTIuZ2V0KEcuaWQpO2lmKCFCKXJldHVybjtVMi5kZWxldGUoRy5pZCksQi5yZXNvbHZlKEcpfTtsZXQgWT0oKT0+e3MyPW51bGwsbjM9bnVsbDtsZXQgcT1FcnJvcigiY29udHJvbCBzb2NrZXQgY2xvc2VkIOKAlCByZWxvYWQgdGhlIHBhZ2UgaWYgdGhpcyBwZXJzaXN0cyIpO0lRKHEpO2xldCBHPVsuLi5MMi52YWx1ZXMoKV07TDIuY2xlYXIoKTtmb3IobGV0IEIgb2YgRylCLm9uRW5kKCk7aWYoIUopSj0hMCxjbGVhclRpbWVvdXQoSyksUShxKX07WC5vbmVycm9yPVksWC5vbmNsb3NlPVl9KSxzMn1hc3luYyBmdW5jdGlvbiBZNigkLFEpe2xldCBKPWF3YWl0IEs2KCk7aWYoSi5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pdGhyb3cgRXJyb3IoImNvbnRyb2wgc29ja2V0IG5vdCBvcGVuIik7cmV0dXJuIG5ldyBQcm9taXNlKChYLEspPT57bGV0IFk9VFErKyxxPSgpPT57VTIuZGVsZXRlKFkpLEsoUT8ucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJBYm9ydGVkIiwiQWJvcnRFcnJvciIpKX07aWYoUSl7aWYoUS5hYm9ydGVkKXtxKCk7cmV0dXJufVEuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHEse29uY2U6ITB9KX1VMi5zZXQoWSx7cmVzb2x2ZTooRyk9PntRPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIscSksWChHKX0scmVqZWN0OihHKT0+e1E/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixxKSxLKEcpfX0pLEouc2VuZChKU09OLnN0cmluZ2lmeSh7aWQ6WSwuLi4kfSkpfSl9YXN5bmMgZnVuY3Rpb24gVDEoJCxRKXtsZXQgSj1hd2FpdCBZNih7Y29tbWFuZDokfSxRPy5zaWduYWwpO3JldHVybntzdGRvdXQ6Si5zdGRvdXQ/PyIiLHN0ZGVycjpKLnN0ZGVycj8/IiIsZXhpdENvZGU6Si5leGl0Q29kZT8/MX19YXN5bmMgZnVuY3Rpb24gcjMoJCxRKXtsZXQgSj1hd2FpdCBZNih7dWk6JH0sUT8uc2lnbmFsKTtpZihKLmVycm9yKXRocm93IEVycm9yKEouZXJyb3IpO3JldHVybiBKLnN0YXR1cz8/bnVsbH1mdW5jdGlvbiBiMCgkKXtsZXQgUT17b25tZXNzYWdlOm51bGwsb25lcnJvcjpudWxsLGNsb3NlOigpPT57fX0sSj0hMSxYPW51bGwsSz1udWxsLFk9IiIscT0oTik9PntZKz1OLnJlcGxhY2UoL1xyXG4vZyxgCmApO2xldCB6O3doaWxlKCh6PVkuaW5kZXhPZihgCgpgKSkhPT0tMSl7bGV0IFY9WS5zbGljZSgwLHopO1k9WS5zbGljZSh6KzIpO2xldCBVPVYuc3BsaXQoYApgKS5maWx0ZXIoKEMpPT5DLnN0YXJ0c1dpdGgoImRhdGE6IikpLm1hcCgoQyk9PkMuc2xpY2UoNSkucmVwbGFjZSgvXiAvLCIiKSkuam9pbihgCmApO2lmKFUpUS5vbm1lc3NhZ2U/Lih7ZGF0YTpVfSl9fSxHPSgpPT57aWYoSnx8SylyZXR1cm47US5vbmVycm9yPy4oKSxLPXNldFRpbWVvdXQoKCk9PntLPW51bGwsQigpfSxQUSl9LEI9YXN5bmMoKT0+e2lmKEopcmV0dXJuO3RyeXtsZXQgTj1hd2FpdCBLNigpO2lmKEopcmV0dXJuO1k9IiIsWD1FUSsrLEwyLnNldChYLHtvbkRhdGE6cSxvbkVuZDpHfSksTi5zZW5kKEpTT04uc3RyaW5naWZ5KHtzdWI6WCxwYXRoOiR9KSl9Y2F0Y2h7RygpfX07cmV0dXJuIEIoKSxRLmNsb3NlPSgpPT57aWYoSj0hMCxLKWNsZWFyVGltZW91dChLKTtpZihYIT09bnVsbCl7TDIuZGVsZXRlKFgpO3RyeXtuMz8uc2VuZChKU09OLnN0cmluZ2lmeSh7dW5zdWI6WH0pKX1jYXRjaHt9WD1udWxsfX0sUX1mdW5jdGlvbiBPMSgkKXtyZXR1cm5gJyR7JC5yZXBsYWNlKC8nL2csIidcXCcnIil9J2B9ZnVuY3Rpb24gcTYoJCl7bGV0W1EsSl09ayhudWxsKSxbWCxLXT1rKCJBWCBvZmYiKTtyZXR1cm4geSgoKT0+e2lmKCEkKXtKKG51bGwpLEsoIkFYIG9mZiIpO3JldHVybn1KKG51bGwpLEsoIkFYIHdhaXRpbmciKTtsZXQgWT1iMCgkKTtyZXR1cm4gWS5vbm1lc3NhZ2U9KHEpPT57dHJ5e2xldCBHPUpTT04ucGFyc2UocS5kYXRhKTtKKEcpLEsoUzUoRyk/IkFYIHVuYXZhaWxhYmxlIjpgJHtHLmVsZW1lbnRzLmxlbmd0aH0gQVggZWxlbWVudHNgKX1jYXRjaHtLKCJBWCBwYXJzZSBlcnJvciIpfX0sWS5vbmVycm9yPSgpPT57SygiQVggcmVjb25uZWN0aW5nIil9LCgpPT5ZLmNsb3NlKCl9LFskXSkse3NuYXBzaG90OlEsc3RhdHVzOlh9fXZhciBhMz1PMCh7c25hcHNob3Q6bnVsbCxzdGF0dXM6IkFYIG9mZiJ9KSxzMz1PMChudWxsKTtmdW5jdGlvbiBIMigpe3JldHVybiBGMChhMyl9ZnVuY3Rpb24gUjUoKXtsZXQgJD1GMChzMyk7aWYoISQpdGhyb3cgRXJyb3IoIkFYIHNlbGVjdGlvbiBjb250ZXh0IGlzIHVuYXZhaWxhYmxlIik7cmV0dXJuICR9dmFyIEc2PWkwKGZ1bmN0aW9uKHtlbGVtZW50OlEsaW5kZXg6SixzY3JlZW46WCxoaWdobGlnaHRlZDpLLHNlbGVjdGVkOlksb25IaWdobGlnaHQ6cSxvblNlbGVjdDpHfSl7bGV0IEI9czAoUSksTj1qNShRLEopLHo9ZTkoUS5mcmFtZSxYKTtpZigheilyZXR1cm4gbnVsbDtsZXQgVj0kNihOKTtyZXR1cm4gWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIiwiZGF0YS1heC1rZXkiOkIsImRhdGEtYXgtaWQiOk4uaWQsImRhdGEtYXgtcGF0aCI6Ti5wYXRoLCJkYXRhLWF4LWxhYmVsIjpOLmxhYmVsLCJkYXRhLWF4LXZhbHVlIjpOLnZhbHVlLCJkYXRhLWF4LXJvbGUiOk4ucm9sZSwiZGF0YS1heC10eXBlIjpOLnR5cGUsImRhdGEtYXgtZW5hYmxlZCI6U3RyaW5nKE4uZW5hYmxlZCksImRhdGEtYXgtZnJhbWUiOmkzKE4uZnJhbWUpLCJkYXRhLWF4LXNlbGVjdGVkIjpTdHJpbmcoWSksImFyaWEtbGFiZWwiOlEubGFiZWx8fFYsdGl0bGU6VixvbkNsaWNrOigpPT5HKEIpLG9uTW91c2VFbnRlcjooKT0+cShCKSxvbk1vdXNlTGVhdmU6KCk9PnEobnVsbCksY2xhc3NOYW1lOiJhYnNvbHV0ZSBib3gtYm9yZGVyIG1pbi13LXB4IG1pbi1oLXB4IHAtMCByb3VuZGVkLVszcHhdIGJvcmRlciBjdXJzb3ItcG9pbnRlciBwb2ludGVyLWV2ZW50cy1hdXRvIixzdHlsZTp7bGVmdDpgJHt6LngvWC53aWR0aCoxMDB9JWAsdG9wOmAke3oueS9YLmhlaWdodCoxMDB9JWAsd2lkdGg6YCR7ei53aWR0aC9YLndpZHRoKjEwMH0lYCxoZWlnaHQ6YCR7ei5oZWlnaHQvWC5oZWlnaHQqMTAwfSVgLGJvcmRlckNvbG9yOlk/IiM2MGE1ZmEiOks/IiNmYmJmMjQiOiIjMzRkMzk5IixiYWNrZ3JvdW5kOlk/InJnYmEoOTYsMTY1LDI1MCwwLjI0KSI6Sz8icmdiYSgyNDUsMTU4LDExLDAuMjgpIjoicmdiYSgxNiwxODUsMTI5LDAuMTIpIn19KX0sKCQsUSk9PiQuaW5kZXg9PT1RLmluZGV4JiYkLmhpZ2hsaWdodGVkPT09US5oaWdobGlnaHRlZCYmJC5zZWxlY3RlZD09PVEuc2VsZWN0ZWQmJiQub25IaWdobGlnaHQ9PT1RLm9uSGlnaGxpZ2h0JiYkLm9uU2VsZWN0PT09US5vblNlbGVjdCYmJC5zY3JlZW4ud2lkdGg9PT1RLnNjcmVlbi53aWR0aCYmJC5zY3JlZW4uaGVpZ2h0PT09US5zY3JlZW4uaGVpZ2h0JiZ4NSgkLmVsZW1lbnQsUS5lbGVtZW50KSk7ZnVuY3Rpb24gVjYoKXtsZXR7c25hcHNob3Q6JH09SDIoKSx7aGlnaGxpZ2h0ZWRLZXk6USxzZWxlY3RlZEtleTpKLHNldEhpZ2hsaWdodGVkS2V5Olgsc2V0U2VsZWN0ZWRLZXk6S309UjUoKTtpZighJD8uc2NyZWVuLndpZHRofHwhJD8uc2NyZWVuLmhlaWdodClyZXR1cm4gbnVsbDtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHotMTAgb3ZlcmZsb3ctaGlkZGVuIHBvaW50ZXItZXZlbnRzLW5vbmUiLGNoaWxkcmVuOiQuZWxlbWVudHMubWFwKChZLHEpPT57bGV0IEc9czAoWSk7cmV0dXJuIFooRzYse2VsZW1lbnQ6WSxpbmRleDpxLHNjcmVlbjokLnNjcmVlbixoaWdobGlnaHRlZDpHPT09USxzZWxlY3RlZDpHPT09SixvbkhpZ2hsaWdodDpYLG9uU2VsZWN0Okt9LEcpfSl9KX1mdW5jdGlvbiBCNih7ZW5kcG9pbnQ6JCxjaGlsZHJlbjpRfSl7bGV0e3NuYXBzaG90Okosc3RhdHVzOlh9PXE2KCQpLFtLLFldPWsobnVsbCksW3EsR109ayhudWxsKTt5KCgpPT57aWYoISQpWShudWxsKSxHKG51bGwpfSxbJF0pO2xldCBCPUQxKCgpPT4oe3NuYXBzaG90Okosc3RhdHVzOlh9KSxbSixYXSksTj1EMSgoKT0+KHtoaWdobGlnaHRlZEtleTpLLHNlbGVjdGVkS2V5OnEsc2V0SGlnaGxpZ2h0ZWRLZXk6WSxzZXRTZWxlY3RlZEtleTpHfSksW0sscV0pO3JldHVybiBaKGEzLHt2YWx1ZTpCLGNoaWxkcmVuOlooczMse3ZhbHVlOk4sY2hpbGRyZW46UX0pfSl9ZnVuY3Rpb24gTjYoe292ZXJsYXlFbmFibGVkOiQsc3RyZWFtaW5nOlEsb25Ub2dnbGVPdmVybGF5Okp9KXtsZXR7c3RhdHVzOlh9PUgyKCksW0ssWV09ayghMSkscT0kJiZRO3JldHVybiBaKGMxLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiQ/IkhpZGUgYWNjZXNzaWJpbGl0eSBvdmVybGF5IjoiU2hvdyBhY2Nlc3NpYmlsaXR5IG92ZXJsYXkiLCJhcmlhLXByZXNzZWQiOiQsdGl0bGU6WCxvbkNsaWNrOkosb25Nb3VzZUVudGVyOigpPT5ZKCEwKSxvbk1vdXNlTGVhdmU6KCk9PlkoITEpLHN0eWxlOnE/e2JhY2tncm91bmQ6Sz8icmdiYSgyNTUsMjU1LDI1NSwwLjEyKSI6InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOTUpIn06dm9pZCAwLGNoaWxkcmVuOloobTAse3NpemU6MTksc3Ryb2tlV2lkdGg6Mn0pfSl9ZnVuY3Rpb24gaDUoe2NsYXNzTmFtZTokPSIifSl7cmV0dXJuIFooImEiLHtocmVmOiJodHRwczovL2V4cG8uZGV2L3NlcnZpY2VzL3NpbXVsYXRvcnMiLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vcmVmZXJyZXIiLGNsYXNzTmFtZTpgaW5saW5lLWZsZXggaC1bMzBweF0gbWluLXctMCBpdGVtcy1jZW50ZXIgd2hpdGVzcGFjZS1ub3dyYXAgcm91bmRlZC1tZCBweC0xLjUgZm9udC1tb25vIHRleHQtWzEycHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS82NSBuby11bmRlcmxpbmUgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZS84NSBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS13aGl0ZS82MCAkeyR9YC50cmltKCksImFyaWEtbGFiZWwiOiJPcGVuIEVBUyBTaW11bGF0b3IiLHRpdGxlOiJPcGVuIEVBUyBTaW11bGF0b3IiLGNoaWxkcmVuOiJFQVMgU2ltdWxhdG9yIn0pfWZ1bmN0aW9uIHo2KHtvcGVuOiQsb25DbGljazpRfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZTpgZml4ZWQgdG9wLTMgbGVmdC0zIHotMzAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgcC0xIFt0cmFuc2l0aW9uOm9wYWNpdHlfMC4xOHNfZWFzZV0gJHskPyJvcGFjaXR5LTAgcG9pbnRlci1ldmVudHMtbm9uZSI6Im9wYWNpdHktMTAwIHBvaW50ZXItZXZlbnRzLWF1dG8ifWAsY2hpbGRyZW46W1ooImJ1dHRvbiIse29uQ2xpY2s6USxjbGFzc05hbWU6InctWzMwcHhdIGgtWzMwcHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHJvdW5kZWQtbWQgdGV4dC1bIzhlOGU5M10gY3Vyc29yLXBvaW50ZXIgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtbGFiZWwiOiJPcGVuIGRldmljZXMgc2lkZWJhciIsImFyaWEtcHJlc3NlZCI6JCx0aXRsZToiRGV2aWNlcyIsY2hpbGRyZW46Wih3MCx7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjc1fSl9KSxaKGg1LHt9KV19KX1mdW5jdGlvbiBMNigkKXtpZighTnVtYmVyLmlzRmluaXRlKCQpfHwkPD0wKXJldHVybiIwIEIiO2xldCBRPSQvMTA3Mzc0MTgyNDtpZihRPj0xKXJldHVybmAke1EudG9GaXhlZChRPj0xMD8wOjEpfSBHQmA7cmV0dXJuYCR7KCQvMTA0ODU3NikudG9GaXhlZCgwKX0gTUJgfWZ1bmN0aW9uIGc1KCQpe2xldCBRPSQubWF0Y2goL14oW2EtekEtWl0rKS0oLispJC8pO2lmKCFRKXJldHVybntvczokLHZlcnNpb246IiJ9O3JldHVybntvczpRWzFdLHZlcnNpb246UVsyXS5yZXBsYWNlKC8tL2csIi4iKX19ZnVuY3Rpb24gVTYoJCl7cmV0dXJuIGc1KCQpLnZlcnNpb258fCR9ZnVuY3Rpb24gZjUoJCl7bGV0e29zOlEsdmVyc2lvbjpKfT1nNSgkKTtyZXR1cm4gSj9gJHtRfSAke0p9YDpRfWZ1bmN0aW9uIHA1KHtjaHJvbWU6JCxzY3JlZW46USxpbnRlcmFjdGl2ZTpKPSExLG9uQnV0dG9uOlgsb25Dcm93bldoZWVsOkt9KXtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIixjaGlsZHJlbjpbJC5idXR0b25zLm1hcCgoWSk9PlooeVEse2Nocm9tZTokLGJ1dHRvbjpZLGludGVyYWN0aXZlOkosb25CdXR0b246WCxvbldoZWVsOkomJlkubmFtZT09PSJkaWdpdGFsLWNyb3duIj9LOnZvaWQgMH0sYGJ1dHRvbi0ke1kubmFtZX1gKSksJC5jb21wb3NpdGVJbWFnZT9aKEM2LHtjaHJvbWU6JCxpbWFnZTokLmNvbXBvc2l0ZUltYWdlLHJlY3Q6JC5ib2R5LHpJbmRleDoxfSk6JC5zbGljZSYmJC5jb3JuZXI/WihTUSx7Y2hyb21lOiR9KTpudWxsLFooImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgb3ZlcmZsb3ctaGlkZGVuIGJnLWJsYWNrIixzdHlsZTp7Li4udDMoJCwkLnNjcmVlbiwyKSxib3JkZXJSYWRpdXM6YlEoJCl9LGNoaWxkcmVuOlF9KV19KX1mdW5jdGlvbiBiUSgkKXtyZXR1cm5gJHskLnNjcmVlblJhZGl1cy8kLnNjcmVlbi53aWR0aCoxMDB9JSAvICR7JC5zY3JlZW5SYWRpdXMvJC5zY3JlZW4uaGVpZ2h0KjEwMH0lYH1mdW5jdGlvbiB5USh7Y2hyb21lOiQsYnV0dG9uOlEsaW50ZXJhY3RpdmU6SixvbkJ1dHRvbjpYLG9uV2hlZWw6S30pe2xldFtZLHFdPWsoITEpLFtHLEJdPWsoITEpLE49dyhudWxsKSx6PXcobnVsbCksVj13KEspO1YuY3VycmVudD1LLHkoKCk9PntsZXQgeD16LmN1cnJlbnQ7aWYoIXh8fCFLKXJldHVybjtsZXQgRD0oZSk9PntlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxWLmN1cnJlbnQ/LihlLmRlbHRhWSxlLmRlbHRhTW9kZSl9O3JldHVybiB4LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixELHtwYXNzaXZlOiExfSksKCk9PngucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLEQpfSxbISFLXSk7bGV0IFU9SiYmUS51c2FnZVBhZ2UhPW51bGwmJlEudXNhZ2UhPW51bGwsQz1JKCgpPT57aWYoTi5jdXJyZW50PT09bnVsbClyZXR1cm47Ti5jdXJyZW50PW51bGwsQighMSksWD8uKHtwaGFzZToidXAiLGJ1dHRvbjpRfSl9LFtRLFhdKSxNPUkoKHgpPT57aWYoeC5idXR0b24hPT0wJiZ4LnBvaW50ZXJUeXBlPT09Im1vdXNlIilyZXR1cm47eC5wcmV2ZW50RGVmYXVsdCgpLHguc3RvcFByb3BhZ2F0aW9uKCksTi5jdXJyZW50PXgucG9pbnRlcklkO3RyeXt4LmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoeC5wb2ludGVySWQpfWNhdGNoe31CKCEwKSxYPy4oe3BoYXNlOiJkb3duIixidXR0b246UX0pfSxbUSxYXSksTD1RLm9uVG9wPzU6MCxIPVUmJihZfHxHKSxPPShIP1EuaG92ZXIueDowKSoxMDAsVz0oSD9RLmhvdmVyLnk6MCkqMTAwLFQ9RyYmUS5pbWFnZURvd24/US5pbWFnZURvd246US5pbWFnZSxQPVU/e29uUG9pbnRlckRvd246TSxvblBvaW50ZXJVcDpDLG9uUG9pbnRlckNhbmNlbDpDLG9uUG9pbnRlckVudGVyOigpPT5xKCEwKSxvblBvaW50ZXJMZWF2ZTooKT0+e3EoITEpLEMoKX19Ont9O3JldHVybiBaKCJkaXYiLHtyZWY6eixyb2xlOlU/ImJ1dHRvbiI6dm9pZCAwLCJhcmlhLWxhYmVsIjpVP0g2KFEubmFtZSk6dm9pZCAwLCJhcmlhLWhpZGRlbiI6VT92b2lkIDA6ITAsdGl0bGU6VT9INihRLm5hbWUpOnZvaWQgMCxjbGFzc05hbWU6ImFic29sdXRlIHNlbGVjdC1ub25lIixzdHlsZTp7Li4udDMoJCxRLmZyYW1lLEwpLHRyYW5zZm9ybTpPfHxXP2B0cmFuc2xhdGUoJHtPfSUsICR7V30lKWA6dm9pZCAwLHRyYW5zaXRpb246InRyYW5zZm9ybSAwLjEycyBlYXNlIixjdXJzb3I6VT8icG9pbnRlciI6dm9pZCAwLHBvaW50ZXJFdmVudHM6VT8iYXV0byI6Im5vbmUiLHRvdWNoQWN0aW9uOiJub25lIn0sLi4uUCxjaGlsZHJlbjpUJiZaKCJpbWciLHthbHQ6IiIsImFyaWEtaGlkZGVuIjohMCxkcmFnZ2FibGU6ITEsc3JjOk82KCQuaWRlbnRpZmllcixUKSxjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgc2l6ZS1mdWxsIHNlbGVjdC1ub25lIixzdHlsZTp7b2JqZWN0Rml0OiJmaWxsIixmaWx0ZXI6RyYmIVEuaW1hZ2VEb3duPyJicmlnaHRuZXNzKDEuNCkiOnZvaWQgMCx0cmFuc2l0aW9uOiJmaWx0ZXIgMC4xMnMgZWFzZSIsV2Via2l0VXNlckRyYWc6Im5vbmUifX0pfSl9ZnVuY3Rpb24gSDYoJCl7cmV0dXJuICQuc3BsaXQoIi0iKS5tYXAoKFEpPT5RLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK1Euc2xpY2UoMSkpLmpvaW4oIiAiKX1mdW5jdGlvbiBTUSh7Y2hyb21lOiR9KXtpZighJC5zbGljZXx8ISQuY29ybmVyKXJldHVybiBudWxsO2xldHtib2R5OlEsY29ybmVyOkosc2xpY2U6WH09JCxLPU1hdGgubWF4KFEud2lkdGgtSi53aWR0aCoyLDApLFk9TWF0aC5tYXgoUS5oZWlnaHQtSi5oZWlnaHQqMiwwKSxxPVt7a2V5OiJ0b3AtbGVmdCIsaW1hZ2U6WC50b3BMZWZ0LHJlY3Q6e3g6US54LHk6US55LHdpZHRoOkoud2lkdGgsaGVpZ2h0OkouaGVpZ2h0fX0se2tleToidG9wLXJpZ2h0IixpbWFnZTpYLnRvcFJpZ2h0LHJlY3Q6e3g6US54K1Eud2lkdGgtSi53aWR0aCx5OlEueSx3aWR0aDpKLndpZHRoLGhlaWdodDpKLmhlaWdodH19LHtrZXk6ImJvdHRvbS1sZWZ0IixpbWFnZTpYLmJvdHRvbUxlZnQscmVjdDp7eDpRLngseTpRLnkrUS5oZWlnaHQtSi5oZWlnaHQsd2lkdGg6Si53aWR0aCxoZWlnaHQ6Si5oZWlnaHR9fSx7a2V5OiJib3R0b20tcmlnaHQiLGltYWdlOlguYm90dG9tUmlnaHQscmVjdDp7eDpRLngrUS53aWR0aC1KLndpZHRoLHk6US55K1EuaGVpZ2h0LUouaGVpZ2h0LHdpZHRoOkoud2lkdGgsaGVpZ2h0OkouaGVpZ2h0fX0se2tleToidG9wIixpbWFnZTpYLnRvcCxyZWN0Ont4OlEueCtKLndpZHRoLHk6US55LHdpZHRoOkssaGVpZ2h0OkouaGVpZ2h0fX0se2tleToiYm90dG9tIixpbWFnZTpYLmJvdHRvbSxyZWN0Ont4OlEueCtKLndpZHRoLHk6US55K1EuaGVpZ2h0LUouaGVpZ2h0LHdpZHRoOkssaGVpZ2h0OkouaGVpZ2h0fX0se2tleToibGVmdCIsaW1hZ2U6WC5sZWZ0LHJlY3Q6e3g6US54LHk6US55K0ouaGVpZ2h0LHdpZHRoOkoud2lkdGgsaGVpZ2h0Oll9fSx7a2V5OiJyaWdodCIsaW1hZ2U6WC5yaWdodCxyZWN0Ont4OlEueCtRLndpZHRoLUoud2lkdGgseTpRLnkrSi5oZWlnaHQsd2lkdGg6Si53aWR0aCxoZWlnaHQ6WX19XTtyZXR1cm4gWihRMSx7Y2hpbGRyZW46cS5maWx0ZXIoKEcpPT5HLnJlY3Qud2lkdGg+MCYmRy5yZWN0LmhlaWdodD4wKS5tYXAoKEcpPT5aKEM2LHtjaHJvbWU6JCxpbWFnZTpHLmltYWdlLHJlY3Q6Ry5yZWN0LHpJbmRleDoxfSxHLmtleSkpfSl9ZnVuY3Rpb24gQzYoe2Nocm9tZTokLGltYWdlOlEscmVjdDpKLHpJbmRleDpYfSl7cmV0dXJuIFooImltZyIse2FsdDoiIiwiYXJpYS1oaWRkZW4iOiEwLGRyYWdnYWJsZTohMSxzcmM6TzYoJC5pZGVudGlmaWVyLFEpLGNsYXNzTmFtZToiYWJzb2x1dGUgc2VsZWN0LW5vbmUiLHN0eWxlOnsuLi50MygkLEosWCksb2JqZWN0Rml0OiJmaWxsIixwb2ludGVyRXZlbnRzOiJub25lIixXZWJraXRVc2VyRHJhZzoibm9uZSJ9fSl9ZnVuY3Rpb24gTzYoJCxRKXtsZXQgSj1gZ3JpZC9hcGkvZGV2aWNla2l0LWNocm9tZT9jaHJvbWU9JHtlbmNvZGVVUklDb21wb25lbnQoJCl9JmltYWdlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KFEpfWA7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUiP2AvJHtKfWA6djEoSil9ZnVuY3Rpb24gdDMoJCxRLEope3JldHVybntsZWZ0Om01KFEueCwkLmZyYW1lLndpZHRoKSx0b3A6bTUoUS55LCQuZnJhbWUuaGVpZ2h0KSx3aWR0aDptNShRLndpZHRoLCQuZnJhbWUud2lkdGgpLGhlaWdodDptNShRLmhlaWdodCwkLmZyYW1lLmhlaWdodCksekluZGV4Okp9fWZ1bmN0aW9uIG01KCQsUSl7cmV0dXJuYCR7JC9RKjEwMH0lYH1mdW5jdGlvbiBGNih7bmFtZTokLHJ1bnRpbWU6USxjaHJvbWU6SixwbGFjZWhvbGRlckFzc2V0OlgsYnVzeTpLLGJ1c3lMYWJlbDpZPSJTdGFydGluZ+KApiIsZXJyb3I6cSxvblN0YXJ0Okd9KXtsZXQgQj1FMCgkKSxOPVMxW0JdLHo9WD8/bnVsbCxWPXo/bnVsbDpKPz9udWxsLFU9Vj97d2lkdGg6Vi5zY3JlZW4ud2lkdGgsaGVpZ2h0OlYuc2NyZWVuLmhlaWdodH06TjIoQiwkKSxDPXoyKEIsVSksTT16P3hRKEIsei5uYW1lKTpWP0MqVi5mcmFtZS53aWR0aC9WLnNjcmVlbi53aWR0aDpDKk4ud2lkdGgvKE4ud2lkdGgtMipOLmJlemVsWCksTD16P3t3aWR0aDp6LndpZHRoLGhlaWdodDp6LmhlaWdodH06Vj97d2lkdGg6Vi5mcmFtZS53aWR0aCxoZWlnaHQ6Vi5mcmFtZS5oZWlnaHR9Ont3aWR0aDpOLndpZHRoLGhlaWdodDpOLmhlaWdodH0sSD1gJHtMLndpZHRofSAvICR7TC5oZWlnaHR9YCxPPShMLndpZHRoL0wuaGVpZ2h0KmpRKEIpKS50b0ZpeGVkKDIpLFc9Qj09PSJ2aXNpb24iP1ooaFEse30pOloodlEse3R5cGU6Qn0pO3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC01IG1pbi13LTAgdy1mdWxsIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSB3LWZ1bGwiLHN0eWxlOnt3aWR0aDpgbWluKDEwMCUsICR7TX1weCwgJHtPfWR2aClgLG1heFdpZHRoOk0sYXNwZWN0UmF0aW86SH0sY2hpbGRyZW46ej9aKFJRLHtuYW1lOnoubmFtZSxmYWxsYmFjazpXfSk6Vj9aKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgcG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46WihwNSx7Y2hyb21lOlZ9KX0pOld9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtY2VudGVyIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxN3B4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvOTAiLGNoaWxkcmVuOiR9KSxaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOltmNShRKSwiIFNpbXVsYXRvciJdfSldfSkscSYmWigiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWRhbmdlciB0ZXh0LVsxMnB4XSBmb250LW1vbm8gbWF4LXctOTAgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOnF9KSxaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6RyxkaXNhYmxlZDpLLGNsYXNzTmFtZTpgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtNSBweS0yIHJvdW5kZWQtZnVsbCB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzXSAke0s/ImJnLXdoaXRlLzggdGV4dC13aGl0ZS81NSBjdXJzb3ItZGVmYXVsdCI6ImJnLXdoaXRlLzEyIHRleHQtd2hpdGUvOTAgaG92ZXI6Ymctd2hpdGUvMTggY3Vyc29yLXBvaW50ZXIifWAsY2hpbGRyZW46W0smJlooInNwYW4iLHsiYXJpYS1oaWRkZW4iOiEwLGNsYXNzTmFtZToic2l6ZS0zLjUgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZS8yNSBhbmltYXRlLVtncmlkLXNwaW5fMC44c19saW5lYXJfaW5maW5pdGVdIixzdHlsZTp7Ym9yZGVyVG9wQ29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC45KSJ9fSksSz9ZOiJTdGFydCJdfSldfSl9ZnVuY3Rpb24geFEoJCxRKXtpZigkPT09IndhdGNoIil7aWYoUS5pbmNsdWRlcygidWx0cmEiKSlyZXR1cm4gMjU1O2lmKFEuaW5jbHVkZXMoIndhdGNoLXNlLSIpfHxRLmluY2x1ZGVzKCJhcHBsZS13YXRjaC1zZS0iKSlyZXR1cm4gMjM4O3JldHVybiAyNTB9aWYoJD09PSJ2aXNpb24iKXJldHVybiAzOTA7aWYoJD09PSJpcGFkIilyZXR1cm4gMzQwO3JldHVybiAyODB9ZnVuY3Rpb24galEoJCl7aWYoJD09PSJ2aXNpb24iKXJldHVybiAzNDtpZigkPT09ImlwYWQiKXJldHVybiA1MDtpZigkPT09IndhdGNoIilyZXR1cm4gNTY7cmV0dXJuIDUyfWZ1bmN0aW9uIHZRKHt0eXBlOiR9KXtsZXQgUT1TMVskXTtyZXR1cm4gWihRMSx7Y2hpbGRyZW46W1ooInN2ZyIse3ZpZXdCb3g6YDAgMCAke1Eud2lkdGh9ICR7US5oZWlnaHR9YCxjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgc2l6ZS1mdWxsIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJ4TWlkWU1pZCBtZWV0IixjaGlsZHJlbjpbWigiZGVmcyIse2NoaWxkcmVuOlooImxpbmVhckdyYWRpZW50Iix7aWQ6InBsYWNlaG9sZGVyLXNjcmVlbiIseDE6IjAiLHkxOiIwIix4MjoiMSIseTI6IjEiLGNoaWxkcmVuOltaKCJzdG9wIix7b2Zmc2V0OiIwJSIsc3RvcENvbG9yOiIjNmZhOGU2In0pLFooInN0b3AiLHtvZmZzZXQ6IjU1JSIsc3RvcENvbG9yOiIjNWI5M2Q2In0pLFooInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjoiIzUxODhjZiJ9KV19KX0pLFooInJlY3QiLHt4OlEuYmV6ZWxYLHk6US5iZXplbFksd2lkdGg6US53aWR0aC0yKlEuYmV6ZWxYLGhlaWdodDpRLmhlaWdodC0yKlEuYmV6ZWxZLHJ4OlEuaW5uZXJSYWRpdXMsZmlsbDoidXJsKCNwbGFjZWhvbGRlci1zY3JlZW4pIn0pXX0pLFooImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjpaKFQ1LHt0eXBlOiR9KX0pXX0pfWZ1bmN0aW9uIFJRKHtuYW1lOiQsZmFsbGJhY2s6UX0pe2xldFtKLFhdPWsoImxvYWRpbmciKTtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHNpemUtZnVsbCBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjpbSiE9PSJsb2FkZWQiJiZRLEohPT0iZXJyb3IiJiZaKCJpbWciLHthbHQ6IiIsImFyaWEtaGlkZGVuIjohMCxkcmFnZ2FibGU6ITEsc3JjOmdRKCQpLGNsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBzaXplLWZ1bGwgc2VsZWN0LW5vbmUgb2JqZWN0LWNvbnRhaW4iLHN0eWxlOntXZWJraXRVc2VyRHJhZzoibm9uZSJ9LG9uTG9hZDooKT0+WCgibG9hZGVkIiksb25FcnJvcjooKT0+WCgiZXJyb3IiKX0pXX0pfWZ1bmN0aW9uIGhRKCl7bGV0e3dpZHRoOiQsaGVpZ2h0OlF9PVMxLnZpc2lvbjtyZXR1cm4gWigic3ZnIix7dmlld0JveDpgMCAwICR7JH0gJHtRfWAsY2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHNpemUtZnVsbCIscHJlc2VydmVBc3BlY3RSYXRpbzoieE1pZFlNaWQgbWVldCIsZmlsbDoibm9uZSIsImFyaWEtaGlkZGVuIjohMCxjaGlsZHJlbjpbWigiZGVmcyIse2NoaWxkcmVuOltaKCJsaW5lYXJHcmFkaWVudCIse2lkOiJ2aXNpb24tcGxhY2Vob2xkZXItc2hlbGwiLHgxOiIwIix5MToiMCIseDI6IjAiLHkyOiIxIixjaGlsZHJlbjpbWigic3RvcCIse29mZnNldDoiMCUiLHN0b3BDb2xvcjoiIzI4MjgyYiJ9KSxaKCJzdG9wIix7b2Zmc2V0OiI1NCUiLHN0b3BDb2xvcjoiIzEyMTIxNCJ9KSxaKCJzdG9wIix7b2Zmc2V0OiIxMDAlIixzdG9wQ29sb3I6IiMwNzA3MDgifSldfSksWigibGluZWFyR3JhZGllbnQiLHtpZDoidmlzaW9uLXBsYWNlaG9sZGVyLWdsYXNzIix4MToiMCIseTE6IjAiLHgyOiIxIix5MjoiMSIsY2hpbGRyZW46W1ooInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6IiMzMTM1M2EifSksWigic3RvcCIse29mZnNldDoiNDglIixzdG9wQ29sb3I6IiMwYTBiMGQifSksWigic3RvcCIse29mZnNldDoiMTAwJSIsc3RvcENvbG9yOiIjMDEwMTAyIn0pXX0pLFooInJhZGlhbEdyYWRpZW50Iix7aWQ6InZpc2lvbi1wbGFjZWhvbGRlci1sZW5zIixjeDoiNTAlIixjeToiNDYlIixyOiI2MCUiLGNoaWxkcmVuOltaKCJzdG9wIix7b2Zmc2V0OiIwJSIsc3RvcENvbG9yOiIjMjAyODMyIn0pLFooInN0b3AiLHtvZmZzZXQ6IjcyJSIsc3RvcENvbG9yOiIjMDkwYTBkIn0pLFooInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjoiIzAxMDEwMiJ9KV19KV19KSxaKCJwYXRoIix7ZDoiTTk1IDE3N0M5NSAxMTkgMTQ3IDg2IDIxOCA5MUMyNTcgOTQgMjg2IDExMSAzMjAgMTExQzM1NCAxMTEgMzgzIDk0IDQyMiA5MUM0OTMgODYgNTQ1IDExOSA1NDUgMTc3VjIyMkM1NDUgMjc4IDUwMSAzMTEgNDQzIDMxMEMzOTggMzA5IDM3MSAyODYgMzQ1IDI2OEMzMjkgMjU3IDMxMSAyNTcgMjk1IDI2OEMyNjkgMjg2IDI0MiAzMDkgMTk3IDMxMEMxMzkgMzExIDk1IDI3OCA5NSAyMjJWMTc3WiIsZmlsbDoidXJsKCN2aXNpb24tcGxhY2Vob2xkZXItc2hlbGwpIixzdHJva2U6IiMzZDNkNDIiLHN0cm9rZVdpZHRoOiI3In0pLFooInBhdGgiLHtkOiJNMTE3IDE4MUMxMTcgMTM0IDE1NyAxMTIgMjIwIDExNkMyNjAgMTE5IDI4NyAxMzYgMzIwIDEzNkMzNTMgMTM2IDM4MCAxMTkgNDIwIDExNkM0ODMgMTEyIDUyMyAxMzQgNTIzIDE4MVYyMTdDNTIzIDI2MyA0ODggMjg3IDQzOSAyODdDMzk5IDI4NyAzNjkgMjY0IDM0NSAyNTBDMzI5IDI0MCAzMTEgMjQwIDI5NSAyNTBDMjcxIDI2NCAyNDEgMjg3IDIwMSAyODdDMTUyIDI4NyAxMTcgMjYzIDExNyAyMTdWMTgxWiIsZmlsbDoidXJsKCN2aXNpb24tcGxhY2Vob2xkZXItZ2xhc3MpIixzdHJva2U6IiMxNzE4MWIiLHN0cm9rZVdpZHRoOiI1In0pLFooInBhdGgiLHtkOiJNMTQzIDE4NkMxNDUgMTQ4IDE3NiAxMzUgMjI2IDEzOEMyNjQgMTQxIDI4OSAxNTYgMzIwIDE1NkMzNTEgMTU2IDM3NiAxNDEgNDE0IDEzOEM0NjQgMTM1IDQ5NSAxNDggNDk3IDE4NlYyMTNDNDk3IDI1MCA0NjkgMjY2IDQzMiAyNjZDMzk0IDI2NiAzNjkgMjQ2IDM0MyAyMzVDMzI4IDIyOSAzMTIgMjI5IDI5NyAyMzVDMjcxIDI0NiAyNDYgMjY2IDIwOCAyNjZDMTcxIDI2NiAxNDMgMjUwIDE0MyAyMTNWMTg2WiIsZmlsbDoidXJsKCN2aXNpb24tcGxhY2Vob2xkZXItbGVucykiLHN0cm9rZToiIzI2MmEyZiIsc3Ryb2tlV2lkdGg6IjIifSksWigicGF0aCIse2Q6Ik0xNTEgMTcxQzE3OSAxNTAgMjE3IDE0NyAyNTEgMTU0TTM4OSAxNTRDNDIzIDE0NyA0NjEgMTUwIDQ4OSAxNzEiLHN0cm9rZToiIzRlNTM1YSIsc3Ryb2tlV2lkdGg6IjMiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLFooInBhdGgiLHtkOiJNMjc3IDIzM0MyODkgMjI0IDMwNCAyMTkgMzIwIDIxOUMzMzYgMjE5IDM1MSAyMjQgMzYzIDIzMyIsc3Ryb2tlOiIjM2I0MDQ2IixzdHJva2VXaWR0aDoiNCIsc3Ryb2tlTGluZWNhcDoicm91bmQifSldfSl9ZnVuY3Rpb24gZ1EoJCl7bGV0IFE9YGdyaWQvYXBpL2RldmljZS1wbGFjZWhvbGRlci1hc3NldD9uYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQpfWA7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUiP2AvJHtRfWA6djEoUSl9ZnVuY3Rpb24gQzIoe29wZW46JCx3aWR0aDpRLGNoaWxkcmVuOkosc3R5bGU6WCxzaWRlOks9InJpZ2h0In0pe3JldHVybiBaKCJhc2lkZSIse2NsYXNzTmFtZTpgZml4ZWQgei0zNSBtaW4tdy0wIG92ZXJmbG93LWhpZGRlbiBiZy1wYW5lbC1iZyB0ZXh0LXdoaXRlLzkwIGJhY2tkcm9wLWJsdXItWzE4cHhdIFtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLHN5c3RlbS11aSxzYW5zLXNlcmlmXSBbdHJhbnNpdGlvbjp0cmFuc2Zvcm1fMC4yNXNfZWFzZSxvcGFjaXR5XzAuMnNfZWFzZV0gZmxleCBmbGV4LWNvbCAke0s9PT0ibGVmdCI/InRvcC0wIGJvdHRvbS0wIGxlZnQtMCByb3VuZGVkLW5vbmUgYm9yZGVyLTAgYm9yZGVyLXIgYm9yZGVyLXdoaXRlLzEwIHNoYWRvdy1bOHB4XzBfMzJweF9yZ2JhKDAsMCwwLDAuMzUpXSI6InRvcC0zIGJvdHRvbS0zIHJpZ2h0LTMgcm91bmRlZC1bMTRweF0gYm9yZGVyIGJvcmRlci13aGl0ZS8xMCBzaGFkb3ctWzBfMTJweF80MHB4X3JnYmEoMCwwLDAsMC41NSldIn1gLHN0eWxlOnt3aWR0aDpRLHRyYW5zZm9ybTokPyJ0cmFuc2xhdGVYKDApIjpLPT09ImxlZnQiPyJ0cmFuc2xhdGVYKC0xMDAlKSI6InRyYW5zbGF0ZVgoY2FsYygxMDAlICsgMjRweCkpIixvcGFjaXR5OiQ/MTowLHBvaW50ZXJFdmVudHM6JD8iYXV0byI6Im5vbmUiLC4uLlh9LCJhcmlhLWhpZGRlbiI6ISQsY2hpbGRyZW46Sn0pfWZ1bmN0aW9uIE8yKHtjaGlsZHJlbjokLHN0eWxlOlF9KXtyZXR1cm4gWigiaGVhZGVyIix7Y2xhc3NOYW1lOiJmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIuNSBweC0yLjUgcHktMS41IHBsLTMiLHN0eWxlOlEsY2hpbGRyZW46JH0pfWZ1bmN0aW9uIE02KHtjaGlsZHJlbjokfSl7cmV0dXJuIFooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUvNTUiLGNoaWxkcmVuOiR9KX1mdW5jdGlvbiB1NSh7b25DbGljazokLGFyaWFMYWJlbDpRPSJDbG9zZSBwYW5lbCIsdGl0bGU6SixpY29uU2l6ZTpYPTE2fSl7cmV0dXJuIFooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazokLGNsYXNzTmFtZToiZmxleCBoLVszMHB4XSB3LVszMHB4XSBzaHJpbmstMCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXItbm9uZSBiZy10cmFuc3BhcmVudCBwLTAgdGV4dC1bIzhlOGU5M10gW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtbGFiZWwiOlEsdGl0bGU6SixjaGlsZHJlbjpaKEwwLHtzaXplOlgsc3Ryb2tlV2lkdGg6Mn0pfSl9ZnVuY3Rpb24gQTYoJCxRKXtsZXRbSixYXT1rKG51bGwpO3JldHVybiB5KCgpPT57aWYoIVF8fCEkKXJldHVybjtsZXQgSz0hMSxZPWFzeW5jKCk9Pnt0cnl7bGV0IEI9YXdhaXQoYXdhaXQgZmV0Y2goJCx7Y2FjaGU6Im5vLXN0b3JlIn0pKS5qc29uKCk7aWYoIUspWChCKX1jYXRjaHt9fTtZKCk7bGV0IHE9c2V0SW50ZXJ2YWwoWSw1MDAwKTtyZXR1cm4oKT0+e0s9ITAsY2xlYXJJbnRlcnZhbChxKX19LFskLFFdKSxKfWZ1bmN0aW9uIGs2KHtyZXBvcnQ6JH0pe2lmKCEkfHwkLnRvdGFsQnl0ZXM9PT0wKXJldHVybiBudWxsO2xldHtlc3RpbWF0ZWRBZGRpdGlvbmFsOlEsYXZhaWxhYmxlQnl0ZXM6Six0b3RhbEJ5dGVzOlgscnVubmluZ1NpbXVsYXRvcnM6S309JCxZPU1hdGgubWF4KDAsTWF0aC5taW4oMSwxLUovWCkpLHE9SytRLEc9UT09PTA/IiNlNjYiOlE8PTE/IiNlOWExM2IiOiIjM2IzIixCPVk+MC45PyIjZTY2IjpZPjAuNzU/IiNlOWExM2IiOiIjM2IzIjtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJpbmxpbmUtZmxleCBtYXgtdy1mdWxsIG1pbi13LTAgZmxleC1ub3dyYXAgaXRlbXMtY2VudGVyIGdhcC0xLjUgb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHB4LTIgcHktWzNweF0gcm91bmRlZC1mdWxsIGJnLVsjMTAxMDEwXSBib3JkZXIgYm9yZGVyLVsjMjIyXSBmb250LW1vbm8gdGV4dC1bMTFweF0gdGV4dC13aGl0ZS83MCBsZWFkaW5nLW5vbmUiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJzaXplLTEuNSByb3VuZGVkLVszcHhdIHNocmluay0wIixzdHlsZTp7YmFja2dyb3VuZDpHfX0pLFooInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAgdHJ1bmNhdGUiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2hpbGRyZW46W0ssIi8iLHEsIiBzaW1zIl19KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzQwIixjaGlsZHJlbjoiIMK3ICJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzU1IixjaGlsZHJlbjpbTDYoSiksIiBmcmVlIl19KV19KSxaKCJzcGFuIix7ImFyaWEtaGlkZGVuIjohMCxjbGFzc05hbWU6Im1sLTAuNSB3LTcgaC1bM3B4XSBzaHJpbmstMCBiZy1bIzFjMWMxY10gcm91bmRlZC1bMnB4XSBvdmVyZmxvdy1oaWRkZW4gaW5saW5lLWJsb2NrIixjaGlsZHJlbjpaKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBoLWZ1bGwgdHJhbnNpdGlvbi1bd2lkdGgsYmFja2dyb3VuZF0gZHVyYXRpb24tMzAwIGVhc2Utb3V0IixzdHlsZTp7d2lkdGg6YCR7KFkqMTAwKS50b0ZpeGVkKDEpfSVgLGJhY2tncm91bmQ6Qn19KX0pXX0pfWZ1bmN0aW9uIFc2KHt0eXBlOiQsc2l6ZTpRPTIwLHNjcmVlbk9uOko9ITF9KXtsZXQgWD17d2lkdGg6USxoZWlnaHQ6USx2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoxLjYsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9O3N3aXRjaCgkKXtjYXNlImlwYWQiOnJldHVybiBaKCJzdmciLHsuLi5YLGNoaWxkcmVuOltKJiZaKCJyZWN0Iix7eDoiNSIseToiMyIsd2lkdGg6IjE1IixoZWlnaHQ6IjE5IixyeDoiMS42NSIsZmlsbDoiIzQ3YjdmZiIsc3Ryb2tlOiJub25lIiwiZGF0YS10ZXN0aWQiOiJkZXZpY2UtZ2x5cGgtc2NyZWVuLW9uIn0pLFooInJlY3QiLHt4OiI0Iix5OiIyLjUiLHdpZHRoOiIxNiIsaGVpZ2h0OiIxOSIscng6IjIuNSJ9KSxaKCJsaW5lIix7eDE6IjEyIix5MToiMTguNSIseDI6IjEyIix5MjoiMTguNSJ9KV19KTtjYXNlIndhdGNoIjpyZXR1cm4gWigic3ZnIix7Li4uWCxjaGlsZHJlbjpbWigicmVjdCIse3g6IjYuNSIseToiNyIsd2lkdGg6IjExIixoZWlnaHQ6IjEwIixyeDoiMyJ9KSxaKCJwYXRoIix7ZDoiTTguNSA3bC42LTMuMkExLjUgMS41IDAgMCAxIDEwLjYgMi41aDIuOGExLjUgMS41IDAgMCAxIDEuNSAxLjNMMTUuNSA3In0pLFooInBhdGgiLHtkOiJNOC41IDE3bC42IDMuMmExLjUgMS41IDAgMCAwIDEuNSAxLjNoMi44YTEuNSAxLjUgMCAwIDAgMS41LTEuM2wuNi0zLjIifSldfSk7Y2FzZSJ2aXNpb24iOnJldHVybiBaKCJzdmciLHsuLi5YLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNMyAxMWE0IDQgMCAwIDEgNC00aDEwYTQgNCAwIDAgMSA0IDR2Mi41YTIuNSAyLjUgMCAwIDEtMi41IDIuNWMtMS44IDAtMi41LTEuMi0zLjUtMS44LS45LS41LTEuNi0uNy0yLjUtLjdzLTEuNi4yLTIuNS43Yy0xIC42LTEuNyAxLjgtMy41IDEuOEEyLjUgMi41IDAgMCAxIDMgMTMuNXoifSl9KTtkZWZhdWx0OnJldHVybiBaKCJzdmciLHsuLi5YLGNoaWxkcmVuOltKJiZaKCJyZWN0Iix7eDoiNiIseToiMyIsd2lkdGg6IjExIixoZWlnaHQ6IjE5IixyeDoiMiIsZmlsbDoiIzQ3YjdmZiIsc3Ryb2tlOiJub25lIiwiZGF0YS10ZXN0aWQiOiJkZXZpY2UtZ2x5cGgtc2NyZWVuLW9uIn0pLFooInJlY3QiLHt4OiI2LjUiLHk6IjIuNSIsd2lkdGg6IjExIixoZWlnaHQ6IjE5IixyeDoiMi44In0pLFooImxpbmUiLHt4MToiMTAuNSIseTE6IjUiLHgyOiIxMy41Iix5MjoiNSJ9KV19KX19ZnVuY3Rpb24gXzYoe2RldmljZTokLGFjdGl2ZTpRLHN0YXJ0aW5nOkosc2h1dHRpbmdEb3duOlgsb25TZWxlY3Q6SyxvblNodXRkb3duOll9KXtsZXQgcT0kLmhlbHBlcixHPSQuc3RhdGU9PT0iQm9vdGVkIixCPUUwKCQubmFtZSksTj1VNigkLnJ1bnRpbWUpLHo9cT8iU3RyZWFtaW5nIjpKP0c/IlN0YXJ0aW5n4oCmIjoiQm9vdGluZ+KApiI6WD8iU2h1dHRpbmcgZG93buKApiI6Rz8iQm9vdGVkIjpudWxsLFY9cT8iIzM0ZDM5OSI6Rz8iI2U5YTEzYiI6bnVsbCxVPXF8fEcsQz1xP1E/ImJnLVsjMjYzNjRjXSI6ImJnLVsjMjAyYjNhXSI6UT8iYmctd2hpdGUvMTUiOiJiZy13aGl0ZS82IixNPXE/InRleHQtWyNkMmU3ZmZdIjpRPyJ0ZXh0LXdoaXRlLzkwIjoidGV4dC13aGl0ZS81NSI7cmV0dXJuIFooImRpdiIse3JvbGU6ImJ1dHRvbiIsdGFiSW5kZXg6MCwiYXJpYS1wcmVzc2VkIjpRLG9uQ2xpY2s6SyxvbktleURvd246KEwpPT57aWYoTC5rZXk9PT0iRW50ZXIifHxMLmtleT09PSIgIilMLnByZXZlbnREZWZhdWx0KCksSygpfSxjbGFzc05hbWU6YGdyb3VwIHJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgcHgtMiBweS0xLjUgcm91bmRlZC1sZyBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTJzXSAke1E/ImJnLXdoaXRlLzEwIHRleHQtd2hpdGUiOiJ0ZXh0LXdoaXRlLzkwIGhvdmVyOmJnLXdoaXRlLzgifWAsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZTpgcmVsYXRpdmUgc2hyaW5rLTAgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgc2l6ZS05IHJvdW5kZWQtWzlweF0gb3ZlcmZsb3ctaGlkZGVuICR7Q31gLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOk0sY2hpbGRyZW46WihXNix7dHlwZTpCLHNjcmVlbk9uOkJvb2xlYW4ocSl9KX0pLFYmJiFxJiZaKCJzcGFuIix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMC41IHJpZ2h0LTAuNSBzaXplLTEuNSByb3VuZGVkLWZ1bGwgcmluZy0yIHJpbmctWyMxYzFjMWVdIixzdHlsZTp7YmFja2dyb3VuZDpWfX0pXX0pLFooImRpdiIse2NsYXNzTmFtZToibWluLXctMCBmbGV4LTEiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InRydW5jYXRlIHRleHQtWzEzcHhdIGZvbnQtc2VtaWJvbGQgbGVhZGluZy10aWdodCIsY2hpbGRyZW46JC5uYW1lfSkseiYmWigiZGl2Iix7Y2xhc3NOYW1lOmB0cnVuY2F0ZSB0ZXh0LVsxMXB4XSBsZWFkaW5nLXRpZ2h0ICR7cT8idGV4dC1bIzM0ZDM5OV0iOlE/InRleHQtd2hpdGUvNzUiOiJ0ZXh0LXdoaXRlLzQ1In1gLGNoaWxkcmVuOnp9KV19KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2Utcm93LXRyYWlsaW5nLXNsb3QiLGNsYXNzTmFtZToicmVsYXRpdmUgc2hyaW5rLTAgdy04IGgtNiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZCIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6YGFic29sdXRlIHJpZ2h0LTAgdGV4dC1bMTFweF0gZm9udC1tb25vIHRhYnVsYXItbnVtcyBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMTJzXSAke1E/InRleHQtd2hpdGUvODUiOiJ0ZXh0LXdoaXRlLzQwIn0gJHtVPyJncm91cC1ob3ZlcjpvcGFjaXR5LTAgZ3JvdXAtZm9jdXMtd2l0aGluOm9wYWNpdHktMCI6IiJ9YCxjaGlsZHJlbjpOfSksVSYmWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIix0aXRsZTpYPyJTaHV0dGluZyBkb3du4oCmIjoiU2h1dCBkb3duIHNpbXVsYXRvciIsImFyaWEtbGFiZWwiOiJTaHV0IGRvd24gc2ltdWxhdG9yIixvbkNsaWNrOihMKT0+e0wucHJldmVudERlZmF1bHQoKSxMLnN0b3BQcm9wYWdhdGlvbigpLFkoKX0sZGlzYWJsZWQ6WCxjbGFzc05hbWU6YGFic29sdXRlIHJpZ2h0LTAgdG9wLTEvMiAtdHJhbnNsYXRlLXktMS8yIGdyaWQgcGxhY2UtaXRlbXMtY2VudGVyIHNpemUtNSByb3VuZGVkLW1kIG9wYWNpdHktMCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCBmb2N1cy12aXNpYmxlOm9wYWNpdHktMTAwIFt0cmFuc2l0aW9uOm9wYWNpdHlfMC4xMnMsYmFja2dyb3VuZF8wLjEycyxjb2xvcl8wLjEyc10gJHtRPyJ0ZXh0LXdoaXRlLzgwIGhvdmVyOmJnLXdoaXRlLzIwIjoidGV4dC13aGl0ZS83MCBob3ZlcjpiZy13aGl0ZS8xMiBob3Zlcjp0ZXh0LXdoaXRlIn1gLGNoaWxkcmVuOlooTDAse3NpemU6MTMsc3Ryb2tlV2lkdGg6Mi4yfSl9KV19KV19KX12YXIgRjI9InZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZykiLGUzPSJ2YXIoLS1zZXJ2ZS1zaW0tcGFuZWwtYmctdHJhbnNwYXJlbnQpIjt2YXIgZlE9MTI7ZnVuY3Rpb24gRDYoe29wZW46JCxvbkNsb3NlOlEsd2lkdGg6SixzaWRlOlg9InJpZ2h0IixkZXZpY2VzOkssdG90YWw6WT0wLGhhc01vcmU6cT0hMSxvbkxvYWRNb3JlOkcsb25Mb2FkQWxsOkIsb25SZXNldFBhZ2U6TixzZWxlY3RlZFVkaWQ6eixvblNlbGVjdDpWLHN0YXJ0aW5nOlUsc2h1dHRpbmdEb3duOkMsb25TaHV0ZG93bjpNfSl7bGV0IEg9KHR5cGVvZiB3aW5kb3c+InUiP3ZvaWQgMDp3aW5kb3cuX19TSU1fUFJFVklFV19fKT8uZ3JpZE1lbW9yeUVuZHBvaW50Pz8odHlwZW9mIHdpbmRvdz4idSI/dm9pZCAwOnYxKCJncmlkL2FwaS9tZW1vcnkiKSksTz1BNihILCQpLFtXLFRdPWsoIiIpLFA9RDEoKCk9PntsZXQgUj1XLnRyaW0oKS50b0xvd2VyQ2FzZSgpO2lmKCFSfHwhSylyZXR1cm4gSztyZXR1cm4gSy5maWx0ZXIoKGQpPT5kLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhSKXx8ZjUoZC5ydW50aW1lKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFIpKX0sW0ssV10pLHg9dyghMSk7eSgoKT0+e2xldCBSPSEhVy50cmltKCk7aWYoUiYmcSlCPy4oKTtlbHNlIGlmKCFSJiZ4LmN1cnJlbnQpTj8uKCk7eC5jdXJyZW50PVJ9LFtXLHEsQixOXSk7bGV0IEQ9dyhudWxsKTtyZXR1cm4gWihDMix7b3BlbjokLHdpZHRoOkosc2lkZTpYLHN0eWxlOntiYWNrZ3JvdW5kQ29sb3I6RjJ9LGNoaWxkcmVuOltaKE8yLHtzdHlsZTp7anVzdGlmeUNvbnRlbnQ6ImZsZXgtc3RhcnQiLHBhZGRpbmdMZWZ0OjE2LHBhZGRpbmdUb3A6MTYsZ2FwOjR9LGNoaWxkcmVuOltaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6USxjbGFzc05hbWU6ImZsZXggaC1bMzBweF0gdy1bMzBweF0gc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyLW5vbmUgYmctdHJhbnNwYXJlbnQgdGV4dC1bIzhlOGU5M10gW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtbGFiZWwiOiJDbG9zZSBkZXZpY2VzIHNpZGViYXIiLCJhcmlhLXByZXNzZWQiOiEwLHRpdGxlOiJEZXZpY2VzIixjaGlsZHJlbjpaKHcwLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuNzV9KX0pLFooaDUse30pXX0pLFooImRpdiIse2NsYXNzTmFtZToicHgtNCBwYi0yIHB0LTAuNSBzaHJpbmstMCIsY2hpbGRyZW46WigibGFiZWwiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTIuNSBoLTggcm91bmRlZC1sZyBiZy13aGl0ZS82IGZvY3VzLXdpdGhpbjpiZy13aGl0ZS8xMCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTJzXSIsY2hpbGRyZW46W1ooYzIse3NpemU6MTQsc3Ryb2tlV2lkdGg6MixjbGFzc05hbWU6InRleHQtd2hpdGUvNDAgc2hyaW5rLTAifSksWigiaW5wdXQiLHt2YWx1ZTpXLG9uQ2hhbmdlOihSKT0+VChSLnRhcmdldC52YWx1ZSkscGxhY2Vob2xkZXI6IlNlYXJjaCIsY2xhc3NOYW1lOiJtaW4tdy0wIGZsZXgtMSBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSBvdXRsaW5lLW5vbmUgdGV4dC1bMTNweF0gdGV4dC13aGl0ZS85MCBwbGFjZWhvbGRlcjp0ZXh0LXdoaXRlLzQwIn0pLFcmJlooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsImFyaWEtbGFiZWwiOiJDbGVhciBzZWFyY2giLG9uQ2xpY2s6KCk9PlQoIiIpLGNsYXNzTmFtZToic2hyaW5rLTAgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgc2l6ZS00IHJvdW5kZWQtZnVsbCBiZy13aGl0ZS8xNSB0ZXh0LXdoaXRlLzcwIGhvdmVyOmJnLXdoaXRlLzI1IixjaGlsZHJlbjpaKEwwLHtzaXplOjksc3Ryb2tlV2lkdGg6M30pfSldfSl9KSxaKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIGZsZXgtMSBtaW4taC0wIixjaGlsZHJlbjpbWigiZGl2Iix7cmVmOkQsb25TY3JvbGw6KCk9PntpZihXLnRyaW0oKXx8IXF8fCFHKXJldHVybjtsZXQgUj1ELmN1cnJlbnQ7aWYoIVIpcmV0dXJuO2lmKFIuc2Nyb2xsVG9wK1IuY2xpZW50SGVpZ2h0Pj1SLnNjcm9sbEhlaWdodC0yNDApRygpfSxjbGFzc05hbWU6ImgtZnVsbCBtaW4taC0wIG92ZXJmbG93LXktYXV0byBweC00IHB5LTIgW3Njcm9sbGJhci13aWR0aDp0aGluXSIsY2hpbGRyZW46UD09PW51bGw/WihtUSx7fSk6UC5sZW5ndGg9PT0wP1ooImRpdiIse2NsYXNzTmFtZToicHgtMiBweS02IHRleHQtd2hpdGUvNDAgdGV4dC1bMTJweF0gdGV4dC1jZW50ZXIiLGNoaWxkcmVuOlc/Ik5vIG1hdGNoaW5nIHNpbXVsYXRvcnMuIjoiTm8gaU9TIHNpbXVsYXRvcnMgYXZhaWxhYmxlLiJ9KTpaKFExLHtjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJwdC0xIHBiLTEgdGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzQwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQXZhaWxhYmxlIn0pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IHBiLTEiLGNoaWxkcmVuOlAubWFwKChSKT0+WihfNix7ZGV2aWNlOlIsYWN0aXZlOlIuZGV2aWNlPT09eixzdGFydGluZzohIVVbUi5kZXZpY2VdLHNodXR0aW5nRG93bjohIUNbUi5kZXZpY2VdLG9uU2VsZWN0OigpPT5WKFIuZGV2aWNlKSxvblNodXRkb3duOigpPT5NKFIuZGV2aWNlKX0sUi5kZXZpY2UpKX0pLCFXJiZxJiZaKCJkaXYiLHtjbGFzc05hbWU6InB4LTIgcHktMiB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzM1IHRleHQtY2VudGVyIixjaGlsZHJlbjpLP2Ake0subGVuZ3RofSBvZiAke1l9YDpudWxsfSldfSl9KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2UtbGlzdC10b3AtZmFkZSIsY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgcmlnaHQtMCBoLVsxNnB4XSBwb2ludGVyLWV2ZW50cy1ub25lIixzdHlsZTp7YmFja2dyb3VuZDpgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHtGMn0gMCUsICR7ZTN9IDEwMCUpYH19KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2UtbGlzdC1ib3R0b20tZmFkZSIsY2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBoLVsxNnB4XSBwb2ludGVyLWV2ZW50cy1ub25lIixzdHlsZTp7YmFja2dyb3VuZDpgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJHtGMn0gMCUsICR7ZTN9IDEwMCUpYH19KV19KSxaKHVRLHtyZXBvcnQ6T30pXX0pfWZ1bmN0aW9uIG1RKCl7cmV0dXJuIFooUTEse2NoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InB4LTIgcHQtMSBwYi0xIHRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS80MCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkF2YWlsYWJsZSJ9KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2UtbGlzdC1za2VsZXRvbiIsY2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0wLjUgcGItMSIsImFyaWEtbGFiZWwiOiJMb2FkaW5nIHNpbXVsYXRvcnMiLCJhcmlhLWJ1c3kiOiJ0cnVlIixjaGlsZHJlbjpBcnJheS5mcm9tKHtsZW5ndGg6ZlF9LCgkLFEpPT5aKHBRLHtpbmRleDpRfSxRKSl9KV19KX1mdW5jdGlvbiBwUSh7aW5kZXg6JH0pe2xldCBRPVsidy1bNjIlXSIsInctWzc0JV0iLCJ3LVs1OCVdIiwidy1bNzAlXSJdWyQlNF0sSj1bInctWzQyJV0iLCJ3LVszNiVdIiwidy1bNDglXSIsInctWzMyJV0iXVskJTRdLFg9WyJ3LTciLCJ3LTYiLCJ3LTgiXVskJTNdO3JldHVybiBaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2Utcm93LXNrZWxldG9uIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgcHgtMiBweS0xLjUgcm91bmRlZC1sZyBzZWxlY3Qtbm9uZSIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgc2hyaW5rLTAgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgc2l6ZS05IHJvdW5kZWQtWzlweF0gb3ZlcmZsb3ctaGlkZGVuIGJnLXdoaXRlLzYiLGNoaWxkcmVuOlooInNwYW4iLHtjbGFzc05hbWU6InNpemUtNCByb3VuZGVkLVs0cHhdIGJnLXdoaXRlL1swLjEyXSJ9KX0pLFooImRpdiIse2NsYXNzTmFtZToibWluLXctMCBmbGV4LTEgZmxleCBmbGV4LWNvbCBnYXAtMS41IixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZTpgaC0zIHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4xMl0gJHtRfWB9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOmBoLTIuNSByb3VuZGVkLWZ1bGwgYmctd2hpdGUvWzAuMDhdICR7Sn1gfSldfSksWigic3BhbiIse2NsYXNzTmFtZTpgc2hyaW5rLTAgaC0yLjUgcm91bmRlZC1mdWxsIGJnLXdoaXRlL1swLjA4XSAke1h9YH0pXX0pfWZ1bmN0aW9uIHVRKHtyZXBvcnQ6JH0pe2lmKCEkfHwkLnRvdGFsQnl0ZXM8PTApcmV0dXJuIG51bGw7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToic2hyaW5rLTAgbWluLXctMCBvdmVyZmxvdy1oaWRkZW4gcHgtMyBweS0yIGZsZXgganVzdGlmeS1jZW50ZXIiLGNoaWxkcmVuOlooazYse3JlcG9ydDokfSl9KX1mdW5jdGlvbiBsNSh7cGFuZWxXaWR0aDokLHZpc2libGU6USxvblBvaW50ZXJEb3duOkosYXJpYUxhYmVsOlgsc2lkZTpLPSJyaWdodCJ9KXtsZXRbWSxxXT1rKCExKSxbRyxCXT1rKCExKSxOPVl8fEcsej0oSz09PSJsZWZ0Ij8wOjEyKSskLTk7cmV0dXJuIFooImRpdiIse3JvbGU6InNlcGFyYXRvciIsImFyaWEtb3JpZW50YXRpb24iOiJ2ZXJ0aWNhbCIsImFyaWEtbGFiZWwiOlgsImFyaWEtaGlkZGVuIjohUSxvblBvaW50ZXJEb3duOihVKT0+e0IoITApLEooVSl9LG9uUG9pbnRlclVwOigpPT5CKCExKSxvblBvaW50ZXJDYW5jZWw6KCk9PkIoITEpLG9uUG9pbnRlckVudGVyOigpPT5xKCEwKSxvblBvaW50ZXJMZWF2ZTooKT0+cSghMSksY2xhc3NOYW1lOmBmaXhlZCAke0s9PT0ibGVmdCI/InRvcC0wIGJvdHRvbS0wIjoidG9wLTMgYm90dG9tLTMifSB3LTQgei0zNiBjdXJzb3ItY29sLXJlc2l6ZSB0b3VjaC1ub25lIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0yMDAgJHtRPyJvcGFjaXR5LTEwMCBwb2ludGVyLWV2ZW50cy1hdXRvIjoib3BhY2l0eS0wIHBvaW50ZXItZXZlbnRzLW5vbmUifWAsc3R5bGU6Sz09PSJsZWZ0Ij97bGVmdDp6fTp7cmlnaHQ6en0sY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZTpgYWJzb2x1dGUgdG9wLTAgYm90dG9tLTAgbGVmdC0xLzIgdy1weCBwb2ludGVyLWV2ZW50cy1ub25lIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0xNTAgJHtOPyJvcGFjaXR5LTEwMCI6Im9wYWNpdHktMCJ9YCxzdHlsZTp7dHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC0wLjVweCkiLGJhY2tncm91bmQ6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC4yOCkgMzAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuMjgpIDcwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKSJ9fSksWigiZGl2Iix7Y2xhc3NOYW1lOmBhYnNvbHV0ZSB0b3AtMS8yIGxlZnQtMS8yIHctMSBoLTcgcm91bmRlZC14cyAtdHJhbnNsYXRlLXgtMS8yIC10cmFuc2xhdGUteS0xLzIgei0xIHBvaW50ZXItZXZlbnRzLW5vbmUgW3RyYW5zaXRpb246b3BhY2l0eV8wLjE1c19lYXNlLGJhY2tncm91bmRfMC4xNXNfZWFzZV0gJHtOPyJvcGFjaXR5LTEwMCI6Im9wYWNpdHktMCJ9ICR7Rz8iYmctWyM5YTlhOWVdIjoiYmctWyM2ZTZlNzJdIn1gfSldfSl9ZnVuY3Rpb24gUDYoKXtsZXRbJCxRXT1rKCgpPT50eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIikubWF0Y2hlcz09PSEwKTtyZXR1cm4geSgoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUifHwhd2luZG93Lm1hdGNoTWVkaWEpcmV0dXJuO2xldCBKPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb250cmFzdDogbW9yZSkiKSxYPSgpPT5RKEoubWF0Y2hlcyk7cmV0dXJuIFgoKSxKLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsWCksKCk9PkoucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixYKX0sW10pLCR9ZnVuY3Rpb24gZDUoKXtsZXRbJCxRXT1rKCgpPT50eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzPT09ITApO3JldHVybiB5KCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSJ8fCF3aW5kb3cubWF0Y2hNZWRpYSlyZXR1cm47bGV0IEo9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIiksWD0oKT0+UShKLm1hdGNoZXMpO3JldHVybiBYKCksSi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLFgpLCgpPT5KLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsWCl9LFtdKSwkfXZhciBUNj0yODA7dmFyICQ4PSJ3aWR0aCA3MG1zIGxpbmVhciIsUTg9IndpZHRoIDAuMjRzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSIsRTY9InBhZGRpbmctcmlnaHQgMC4yNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpIix3Nj0iY3ViaWMtYmV6aWVyKDAuMiwgMC44MiwgMC4yMiwgMSkiLG81PSJjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIixJNj0ibGluZWFyKDAsIDAuMzIgOSUsIDAuNjIgMTglLCAwLjg1IDI3JSwgMS4wMSAzNiUsIDEuMDcgNDUlLCAxLjA1IDU2JSwgMS4wMiA3MCUsIDEpIixiNj0iMC4xNnMiLHk2PSIwLjJzIixTNj01LHg2PXtpZGxlOjEsaG92ZXI6MS4wOSxkcmFnOjEuMTJ9LGo2PXtpZGxlOiIjNjg2ZTc4Iixob3ZlcjoiI2I3YmJjMiIsZHJhZzoiI2Y0ZjZmYSJ9LHY2PXtpZGxlOjIuNjUsaG92ZXI6NC4xNSxkcmFnOjQuNjV9LFI2PXtpZGxlOjAuMzgsaG92ZXI6MC44NixkcmFnOjF9LGM1PW51bGw7ZnVuY3Rpb24gaDYoKXtpZihjNSE9bnVsbClyZXR1cm4gYzU7aWYodHlwZW9mIENTUz4idSJ8fHR5cGVvZiBDU1Muc3VwcG9ydHMhPT0iZnVuY3Rpb24iKXJldHVybiExO3JldHVybiBjNT1DU1Muc3VwcG9ydHMoImFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24iLCJsaW5lYXIoMCwgMSkiKSxjNX12YXIgbFE9NDAsZzY9MTQsZjY9MjQwLG02PTMwLHA2PTAuMTUsZFE9ODAsdTY9MTUwLGw2PTI1MCxKOD0ic2VydmUtc2ltOnNpbXVsYXRvci1mcmFtZS1zY2FsZSI7ZnVuY3Rpb24gWjgoJCxRLEosWCl7bGV0IEs9JCozLFk9UT4wP01hdGgubWF4KDE4MCxRLTQ4KTpLLHE9Sj4wJiZOdW1iZXIuaXNGaW5pdGUoWCkmJlg+MD9NYXRoLm1heCgxODAsKEotMTM2KSpYKTpLO3JldHVybiBNYXRoLm1heCgxODAsTWF0aC5taW4oSyxZLHEpKX1mdW5jdGlvbiB0MCgkLFEsSixYLEspe2xldCBZPVo4KFEsSixYLEspLHE9TWF0aC5taW4oMjgwLFkpO3JldHVybiBNYXRoLm1pbihZLE1hdGgubWF4KHEsJCkpfWZ1bmN0aW9uIGQ2KCQsUSxKLFgsSyl7bGV0IFk9TnVtYmVyLmlzRmluaXRlKEspPyQqSzokO3JldHVybiB0MChZLCQsUSxKLFgpfWZ1bmN0aW9uIGk1KCQpe2lmKCFOdW1iZXIuaXNGaW5pdGUoJCkpcmV0dXJuICQ7bGV0IFE9dHlwZW9mIHdpbmRvdzwidSI/TWF0aC5tYXgoMSx3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk6MTtyZXR1cm4gTWF0aC5yb3VuZCgkKlEpL1F9ZnVuY3Rpb24gWDgoJCxRKXtpZigkPD0wfHxRPD0wKXJldHVybiAwO2xldCBKPTAuNTUsWD0kKlEqSi8oUStKKiQpO3JldHVybiBNYXRoLm1pbihsUSxYKX1mdW5jdGlvbiBjNigkLFEsSil7bGV0IFg9JCxLPUo7Zm9yKGxldCBZIG9mIFEpe2xldCBxPU1hdGguYWJzKCQtWSk7aWYocTxLKVg9WSxLPXF9cmV0dXJuIFh9ZnVuY3Rpb24gbzYoJCl7bGV0e2Zyb206USx0bzpKLHZlbG9jaXR5Olgsc3RpZmZuZXNzOkssZGFtcGluZzpZLG9uVXBkYXRlOnEsb25Db21wbGV0ZTpHfT0kLEI9MC40LE49MC4wMzMzMzMzMzMzMzMzMzMzMyx6PVEsVj1YLFU9cGVyZm9ybWFuY2Uubm93KCksQz0wLE09ITEsTD0oSCk9PntpZihNKXJldHVybjtsZXQgTz1NYXRoLm1pbigoSC1VKS8xMDAwLDAuMDMzMzMzMzMzMzMzMzMzMzMpO1U9SDtsZXQgVz0tSyooei1KKS1ZKlY7aWYoVis9VypPLHorPVYqTyxNYXRoLmFicyhWKTwwLjQmJk1hdGguYWJzKHotSik8MC40KXtxKEopLEc/LigpO3JldHVybn1xKHopLEM9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKEwpfTtyZXR1cm4gQz1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoTCksKCk9PntpZihNPSEwLEMpY2FuY2VsQW5pbWF0aW9uRnJhbWUoQyl9fWZ1bmN0aW9uIGk2KCQpe2lmKCQubGVuZ3RoPDIpcmV0dXJuIDA7bGV0IFE9JFskLmxlbmd0aC0xXSxKPSRbMF07Zm9yKGxldCBLPSQubGVuZ3RoLTE7Sz49MDtLLS0paWYoUS50LSRbS10udD49ZFEpe0o9JFtLXTticmVha31sZXQgWD0oUS50LUoudCkvMTAwMDtyZXR1cm4gWD4wPyhRLngtSi54KS9YOjB9dmFyIG42PSJkcm9wLXNoYWRvdygwIDAuNXB4IDFweCByZ2JhKDAsMCwwLDAuMSkpIGRyb3Atc2hhZG93KDAgMnB4IDVweCByZ2JhKDAsMCwwLDAuMTMpKSI7ZnVuY3Rpb24gY1Eoe2FyYzokLHBoYXNlOlEscmVkdWNlZE1vdGlvbjpKLGhpZ2hDb250cmFzdDpYLGZvY3VzVmlzaWJsZTpLfSl7bGV0IFk9USE9PSJpZGxlIixxPVg/MS4xMjoxLEc9Sj8xOng2W1FdLEI9djZbUV0qcSxOPVg/MTpSNltRXSx6PVk/YjY6eTYsVj1ZP3c2Om81LFU9WSYmaDYoKT9JNjpWLEM9Sj8ibm9uZSI6YHRyYW5zZm9ybSAke3p9ICR7VX1gLE09Sj8ibm9uZSI6YHN0cm9rZSAke3p9ICR7Vn0sIHN0cm9rZS13aWR0aCAke3p9ICR7Vn1gLEw9JC52aWV3Qm94U2l6ZSxIPSQuZCxPPXt0cmFuc2Zvcm06YHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgke0d9KWAsdHJhbnNmb3JtT3JpZ2luOiIxMDAlIDEwMCUiLHRyYW5zaXRpb246Qyx3aWxsQ2hhbmdlOko/dm9pZCAwOiJ0cmFuc2Zvcm0iLGJhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixXZWJraXRCYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiJ9O3JldHVybiBaKCJzdmciLHt3aWR0aDpMLGhlaWdodDpMLHZpZXdCb3g6YDAgMCAke0x9ICR7TH1gLGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsc2hhcGVSZW5kZXJpbmc6Imdlb21ldHJpY1ByZWNpc2lvbiIsc3R5bGU6e2Rpc3BsYXk6ImJsb2NrIixvdmVyZmxvdzoidmlzaWJsZSIsY3Vyc29yOiJpbmhlcml0Iix0b3VjaEFjdGlvbjoibm9uZSIscG9pbnRlckV2ZW50czoibm9uZSJ9LGNoaWxkcmVuOltaKCJnIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6e3BvaW50ZXJFdmVudHM6Im5vbmUifSxjaGlsZHJlbjpbWigicGF0aCIse2Q6SCxmaWxsOiJub25lIixzdHJva2U6InJnYmEoMTAsIDEzMiwgMjU1LCAwLjk1KSIsc3Ryb2tlV2lkdGg6KFM2KjIrNikqcSxzdHJva2VMaW5lY2FwOiJyb3VuZCIsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UiLHN0eWxlOntvcGFjaXR5Oks/MC45NTowLHRyYW5zaXRpb246Sj8ib3BhY2l0eSA4MG1zIGxpbmVhciI6YG9wYWNpdHkgMjAwbXMgJHtvNX1gLGZpbHRlcjoiZHJvcC1zaGFkb3coMCAwIDJweCByZ2JhKDEwLDEzMiwyNTUsMC41NSkpIGRyb3Atc2hhZG93KDAgMCA0cHggcmdiYSgxMCwxMzIsMjU1LDAuMzIpKSJ9fSksWigicGF0aCIse2Q6SCxmaWxsOiJub25lIixzdHJva2U6InJnYmEoMjU1LDI1NSwyNTUsMC45NSkiLHN0cm9rZVdpZHRoOjEuNSpxLHN0cm9rZUxpbmVjYXA6InJvdW5kIix2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSIsc3R5bGU6e29wYWNpdHk6Sz8wLjc6MCx0cmFuc2l0aW9uOko/Im9wYWNpdHkgODBtcyBsaW5lYXIiOmBvcGFjaXR5IDIwMG1zICR7bzV9YH19KV19KSxaKCJnIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6TyxjaGlsZHJlbjpaKCJnIix7c3R5bGU6e3BvaW50ZXJFdmVudHM6Im5vbmUifSxjaGlsZHJlbjpbWigicGF0aCIse2Q6SCxzdHJva2U6IiMzNDM2M2IiLHN0cm9rZVdpZHRoOkIrMi4yKnEsc3Ryb2tlTGluZWNhcDoicm91bmQiLHZlY3RvckVmZmVjdDoibm9uLXNjYWxpbmctc3Ryb2tlIixzdHlsZTp7b3BhY2l0eTpNYXRoLm1pbigxLE4rMC4wOCksdHJhbnNpdGlvbjpgJHtNfSwgb3BhY2l0eSAke3p9ICR7Vn1gLGZpbHRlcjpuNn19KSxaKCJwYXRoIix7ZDpILHN0cm9rZTpqNltRXSxzdHJva2VXaWR0aDpCLHN0cm9rZUxpbmVjYXA6InJvdW5kIix2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSIsc3R5bGU6e29wYWNpdHk6Tix0cmFuc2l0aW9uOmAke019LCBvcGFjaXR5ICR7en0gJHtWfWAsZmlsdGVyOm42fX0pXX0pfSldfSl9ZnVuY3Rpb24gcjYoe3NpbXVsYXRvclJlc2l6ZTokLGRldmljZVR5cGU6USxzdHJlYW1Db25maWc6Sixjb250YWluZXJXaWR0aDpYLGNvbnRhaW5lckhlaWdodDpLfSl7bGV0IFk9ZDUoKSxxPVA2KCksW0csQl09ayghMSksTj1EMSgoKT0+ZzMoe3R5cGU6USxjb25maWc6Sj8/bnVsbCxjb250YWluZXJXaWR0aDpYLGNvbnRhaW5lckhlaWdodDpLfSksW1EsSixYLEtdKSx6PSQuaXNSZXNpemluZ3x8JC5pc0luZXJ0aWE/ImRyYWciOiQuaGFuZGxlSG92ZXJlZD8iaG92ZXIiOiJpZGxlIjtyZXR1cm4gWigiZGl2Iix7cm9sZToic2VwYXJhdG9yIiwiYXJpYS1sYWJlbCI6IlJlc2l6ZSBzaW11bGF0b3Igd2lkdGguIERyYWcgdGhlIGNvcm5lciBvciB1c2UgTGVmdCBhbmQgUmlnaHQgQXJyb3cga2V5czsgaG9sZCBTaGlmdCBmb3IgbGFyZ2VyIHN0ZXBzLiIsImFyaWEtb3JpZW50YXRpb24iOiJ2ZXJ0aWNhbCIsImFyaWEtdmFsdWVtaW4iOk1hdGgucm91bmQoJC5taW5XaWR0aCksImFyaWEtdmFsdWVtYXgiOk1hdGgucm91bmQoJC5tYXhXaWR0aCksImFyaWEtdmFsdWVub3ciOk1hdGgucm91bmQoJC5jb21taXR0ZWRXaWR0aCksdGFiSW5kZXg6MCxyZWY6JC5oYW5kbGVSZWYsb25LZXlEb3duOiQub25LZXlEb3duLG9uUG9pbnRlckRvd246JC5vblBvaW50ZXJEb3duLG9uUG9pbnRlck1vdmU6JC5vblBvaW50ZXJNb3ZlLG9uUG9pbnRlclVwOiQub25Qb2ludGVyRW5kLG9uUG9pbnRlckNhbmNlbDokLm9uUG9pbnRlckVuZCxvbkxvc3RQb2ludGVyQ2FwdHVyZTokLm9uUG9pbnRlckVuZCxvblBvaW50ZXJFbnRlcjooKT0+JC5zZXRIYW5kbGVIb3ZlcmVkKCEwKSxvblBvaW50ZXJMZWF2ZTooKT0+JC5zZXRIYW5kbGVIb3ZlcmVkKCExKSxvbkZvY3VzOihWKT0+e0IoVi5jdXJyZW50VGFyZ2V0Lm1hdGNoZXM/LigiOmZvY3VzLXZpc2libGUiKT8/ITEpfSxvbkJsdXI6KCk9PkIoITEpLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHJpZ2h0Oi0xNCxib3R0b206LTE0LHdpZHRoOjYwLGhlaWdodDo2MCxib3JkZXI6Im5vbmUiLHBhZGRpbmc6MCxtYXJnaW46MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJmbGV4LWVuZCIsanVzdGlmeUNvbnRlbnQ6ImZsZXgtZW5kIixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsY3Vyc29yOiJud3NlLXJlc2l6ZSIsdG91Y2hBY3Rpb246Im5vbmUiLHBvaW50ZXJFdmVudHM6ImF1dG8iLG91dGxpbmU6Im5vbmUiLHpJbmRleDoyNSxXZWJraXRUYXBIaWdobGlnaHRDb2xvcjoidHJhbnNwYXJlbnQifSxjaGlsZHJlbjpaKGNRLHthcmM6TixwaGFzZTp6LHJlZHVjZWRNb3Rpb246WSxoaWdoQ29udHJhc3Q6cSxmb2N1c1Zpc2libGU6R30pfSl9ZnVuY3Rpb24gb1EoJCl7aWYoISR8fHR5cGVvZiBkb2N1bWVudD4idSIpcmV0dXJuO2xldCBRPWRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sSj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO0oudHlwZT0idGV4dC9jc3MiLFEuYXBwZW5kQ2hpbGQoSiksSi5zdHlsZVNoZWV0P0ouc3R5bGVTaGVldC5jc3NUZXh0PSQ6Si5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgkKSl9dmFyIGlRPSgkKT0+e3N3aXRjaCgkKXtjYXNlInN1Y2Nlc3MiOnJldHVybiBhUTtjYXNlImluZm8iOnJldHVybiB0UTtjYXNlIndhcm5pbmciOnJldHVybiBzUTtjYXNlImVycm9yIjpyZXR1cm4gZVE7ZGVmYXVsdDpyZXR1cm4gbnVsbH19LG5RPUFycmF5KDEyKS5maWxsKDApLHJRPSh7dmlzaWJsZTokLGNsYXNzTmFtZTpRfSk9PntyZXR1cm4gZy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6WyJzb25uZXItbG9hZGluZy13cmFwcGVyIixRXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpLCJkYXRhLXZpc2libGUiOiR9LGcuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJzb25uZXItc3Bpbm5lciJ9LG5RLm1hcCgoSixYKT0+Zy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6InNvbm5lci1sb2FkaW5nLWJhciIsa2V5OmBzcGlubmVyLWJhci0ke1h9YH0pKSkpfSxhUT1nLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDIwIDIwIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjAiLHdpZHRoOiIyMCJ9LGcuY3JlYXRlRWxlbWVudCgicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixkOiJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy44NTctOS44MDlhLjc1Ljc1IDAgMDAtMS4yMTQtLjg4MmwtMy40ODMgNC43OS0xLjg4LTEuODhhLjc1Ljc1IDAgMTAtMS4wNiAxLjA2MWwyLjUgMi41YS43NS43NSAwIDAwMS4xMzctLjA4OWw0LTUuNXoiLGNsaXBSdWxlOiJldmVub2RkIn0pKSxzUT1nLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjAiLHdpZHRoOiIyMCJ9LGcuY3JlYXRlRWxlbWVudCgicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixkOiJNOS40MDEgMy4wMDNjMS4xNTUtMiA0LjA0My0yIDUuMTk3IDBsNy4zNTUgMTIuNzQ4YzEuMTU0IDItLjI5IDQuNS0yLjU5OSA0LjVINC42NDVjLTIuMzA5IDAtMy43NTItMi41LTIuNTk4LTQuNUw5LjQgMy4wMDN6TTEyIDguMjVhLjc1Ljc1IDAgMDEuNzUuNzV2My43NWEuNzUuNzUgMCAwMS0xLjUgMFY5YS43NS43NSAwIDAxLjc1LS43NXptMCA4LjI1YS43NS43NSAwIDEwMC0xLjUuNzUuNzUgMCAwMDAgMS41eiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLHRRPWcuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sZy5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0xOCAxMGE4IDggMCAxMS0xNiAwIDggOCAwIDAxMTYgMHptLTctNGExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6TTkgOWEuNzUuNzUgMCAwMDAgMS41aC4yNTNhLjI1LjI1IDAgMDEuMjQ0LjMwNGwtLjQ1OSAyLjA2NkExLjc1IDEuNzUgMCAwMDEwLjc0NyAxNUgxMWEuNzUuNzUgMCAwMDAtMS41aC0uMjUzYS4yNS4yNSAwIDAxLS4yNDQtLjMwNGwuNDU5LTIuMDY2QTEuNzUgMS43NSAwIDAwOS4yNTMgOUg5eiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLGVRPWcuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sZy5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0xOCAxMGE4IDggMCAxMS0xNiAwIDggOCAwIDAxMTYgMHptLTgtNWEuNzUuNzUgMCAwMS43NS43NXY0LjVhLjc1Ljc1IDAgMDEtMS41IDB2LTQuNUEuNzUuNzUgMCAwMTEwIDV6bTAgMTBhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6IixjbGlwUnVsZToiZXZlbm9kZCJ9KSksJEo9Zy5jcmVhdGVFbGVtZW50KCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOiIxMiIsaGVpZ2h0OiIxMiIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9LGcuY3JlYXRlRWxlbWVudCgibGluZSIse3gxOiIxOCIseTE6IjYiLHgyOiI2Iix5MjoiMTgifSksZy5jcmVhdGVFbGVtZW50KCJsaW5lIix7eDE6IjYiLHkxOiI2Iix4MjoiMTgiLHkyOiIxOCJ9KSksUUo9KCk9PntsZXRbJCxRXT1nLnVzZVN0YXRlKGRvY3VtZW50LmhpZGRlbik7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57bGV0IEo9KCk9PntRKGRvY3VtZW50LmhpZGRlbil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixKKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLEopfSxbXSksJH0sSzg9MTtjbGFzcyB0Nntjb25zdHJ1Y3Rvcigpe3RoaXMuc3Vic2NyaWJlPSgkKT0+e3JldHVybiB0aGlzLnN1YnNjcmliZXJzLnB1c2goJCksKCk9PntsZXQgUT10aGlzLnN1YnNjcmliZXJzLmluZGV4T2YoJCk7dGhpcy5zdWJzY3JpYmVycy5zcGxpY2UoUSwxKX19LHRoaXMucHVibGlzaD0oJCk9Pnt0aGlzLnN1YnNjcmliZXJzLmZvckVhY2goKFEpPT5RKCQpKX0sdGhpcy5hZGRUb2FzdD0oJCk9Pnt0aGlzLnB1Ymxpc2goJCksdGhpcy50b2FzdHM9Wy4uLnRoaXMudG9hc3RzLCRdfSx0aGlzLmNyZWF0ZT0oJCk9Pnt2YXIgUTtsZXR7bWVzc2FnZTpKLC4uLlh9PSQsSz10eXBlb2YoJD09bnVsbD92b2lkIDA6JC5pZCk9PT0ibnVtYmVyInx8KChRPSQuaWQpPT1udWxsP3ZvaWQgMDpRLmxlbmd0aCk+MD8kLmlkOks4KyssWT10aGlzLnRvYXN0cy5maW5kKChHKT0+e3JldHVybiBHLmlkPT09S30pLHE9JC5kaXNtaXNzaWJsZT09PXZvaWQgMD8hMDokLmRpc21pc3NpYmxlO2lmKHRoaXMuZGlzbWlzc2VkVG9hc3RzLmhhcyhLKSl0aGlzLmRpc21pc3NlZFRvYXN0cy5kZWxldGUoSyk7aWYoWSl0aGlzLnRvYXN0cz10aGlzLnRvYXN0cy5tYXAoKEcpPT57aWYoRy5pZD09PUspcmV0dXJuIHRoaXMucHVibGlzaCh7Li4uRywuLi4kLGlkOkssdGl0bGU6Sn0pLHsuLi5HLC4uLiQsaWQ6SyxkaXNtaXNzaWJsZTpxLHRpdGxlOkp9O3JldHVybiBHfSk7ZWxzZSB0aGlzLmFkZFRvYXN0KHt0aXRsZTpKLC4uLlgsZGlzbWlzc2libGU6cSxpZDpLfSk7cmV0dXJuIEt9LHRoaXMuZGlzbWlzcz0oJCk9PntpZigkKXRoaXMuZGlzbWlzc2VkVG9hc3RzLmFkZCgkKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnRoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoUSk9PlEoe2lkOiQsZGlzbWlzczohMH0pKSk7ZWxzZSB0aGlzLnRvYXN0cy5mb3JFYWNoKChRKT0+e3RoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoSik9Pkooe2lkOlEuaWQsZGlzbWlzczohMH0pKX0pO3JldHVybiAkfSx0aGlzLm1lc3NhZ2U9KCQsUSk9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLlEsbWVzc2FnZTokfSl9LHRoaXMuZXJyb3I9KCQsUSk9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLlEsbWVzc2FnZTokLHR5cGU6ImVycm9yIn0pfSx0aGlzLnN1Y2Nlc3M9KCQsUSk9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLlEsdHlwZToic3VjY2VzcyIsbWVzc2FnZTokfSl9LHRoaXMuaW5mbz0oJCxRKT0+e3JldHVybiB0aGlzLmNyZWF0ZSh7Li4uUSx0eXBlOiJpbmZvIixtZXNzYWdlOiR9KX0sdGhpcy53YXJuaW5nPSgkLFEpPT57cmV0dXJuIHRoaXMuY3JlYXRlKHsuLi5RLHR5cGU6Indhcm5pbmciLG1lc3NhZ2U6JH0pfSx0aGlzLmxvYWRpbmc9KCQsUSk9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLlEsdHlwZToibG9hZGluZyIsbWVzc2FnZTokfSl9LHRoaXMucHJvbWlzZT0oJCxRKT0+e2lmKCFRKXJldHVybjtsZXQgSj12b2lkIDA7aWYoUS5sb2FkaW5nIT09dm9pZCAwKUo9dGhpcy5jcmVhdGUoey4uLlEscHJvbWlzZTokLHR5cGU6ImxvYWRpbmciLG1lc3NhZ2U6US5sb2FkaW5nLGRlc2NyaXB0aW9uOnR5cGVvZiBRLmRlc2NyaXB0aW9uIT09ImZ1bmN0aW9uIj9RLmRlc2NyaXB0aW9uOnZvaWQgMH0pO2xldCBYPVByb21pc2UucmVzb2x2ZSgkIGluc3RhbmNlb2YgRnVuY3Rpb24/JCgpOiQpLEs9SiE9PXZvaWQgMCxZLHE9WC50aGVuKGFzeW5jKEIpPT57aWYoWT1bInJlc29sdmUiLEJdLGcuaXNWYWxpZEVsZW1lbnQoQikpSz0hMSx0aGlzLmNyZWF0ZSh7aWQ6Six0eXBlOiJkZWZhdWx0IixtZXNzYWdlOkJ9KTtlbHNlIGlmKFpKKEIpJiYhQi5vayl7Sz0hMTtsZXQgej10eXBlb2YgUS5lcnJvcj09PSJmdW5jdGlvbiI/YXdhaXQgUS5lcnJvcihgSFRUUCBlcnJvciEgc3RhdHVzOiAke0Iuc3RhdHVzfWApOlEuZXJyb3IsVj10eXBlb2YgUS5kZXNjcmlwdGlvbj09PSJmdW5jdGlvbiI/YXdhaXQgUS5kZXNjcmlwdGlvbihgSFRUUCBlcnJvciEgc3RhdHVzOiAke0Iuc3RhdHVzfWApOlEuZGVzY3JpcHRpb24sQz10eXBlb2Ygej09PSJvYmplY3QiJiYhZy5pc1ZhbGlkRWxlbWVudCh6KT96OnttZXNzYWdlOnp9O3RoaXMuY3JlYXRlKHtpZDpKLHR5cGU6ImVycm9yIixkZXNjcmlwdGlvbjpWLC4uLkN9KX1lbHNlIGlmKEIgaW5zdGFuY2VvZiBFcnJvcil7Sz0hMTtsZXQgej10eXBlb2YgUS5lcnJvcj09PSJmdW5jdGlvbiI/YXdhaXQgUS5lcnJvcihCKTpRLmVycm9yLFY9dHlwZW9mIFEuZGVzY3JpcHRpb249PT0iZnVuY3Rpb24iP2F3YWl0IFEuZGVzY3JpcHRpb24oQik6US5kZXNjcmlwdGlvbixDPXR5cGVvZiB6PT09Im9iamVjdCImJiFnLmlzVmFsaWRFbGVtZW50KHopP3o6e21lc3NhZ2U6en07dGhpcy5jcmVhdGUoe2lkOkosdHlwZToiZXJyb3IiLGRlc2NyaXB0aW9uOlYsLi4uQ30pfWVsc2UgaWYoUS5zdWNjZXNzIT09dm9pZCAwKXtLPSExO2xldCB6PXR5cGVvZiBRLnN1Y2Nlc3M9PT0iZnVuY3Rpb24iP2F3YWl0IFEuc3VjY2VzcyhCKTpRLnN1Y2Nlc3MsVj10eXBlb2YgUS5kZXNjcmlwdGlvbj09PSJmdW5jdGlvbiI/YXdhaXQgUS5kZXNjcmlwdGlvbihCKTpRLmRlc2NyaXB0aW9uLEM9dHlwZW9mIHo9PT0ib2JqZWN0IiYmIWcuaXNWYWxpZEVsZW1lbnQoeik/ejp7bWVzc2FnZTp6fTt0aGlzLmNyZWF0ZSh7aWQ6Six0eXBlOiJzdWNjZXNzIixkZXNjcmlwdGlvbjpWLC4uLkN9KX19KS5jYXRjaChhc3luYyhCKT0+e2lmKFk9WyJyZWplY3QiLEJdLFEuZXJyb3IhPT12b2lkIDApe0s9ITE7bGV0IE49dHlwZW9mIFEuZXJyb3I9PT0iZnVuY3Rpb24iP2F3YWl0IFEuZXJyb3IoQik6US5lcnJvcix6PXR5cGVvZiBRLmRlc2NyaXB0aW9uPT09ImZ1bmN0aW9uIj9hd2FpdCBRLmRlc2NyaXB0aW9uKEIpOlEuZGVzY3JpcHRpb24sVT10eXBlb2YgTj09PSJvYmplY3QiJiYhZy5pc1ZhbGlkRWxlbWVudChOKT9OOnttZXNzYWdlOk59O3RoaXMuY3JlYXRlKHtpZDpKLHR5cGU6ImVycm9yIixkZXNjcmlwdGlvbjp6LC4uLlV9KX19KS5maW5hbGx5KCgpPT57aWYoSyl0aGlzLmRpc21pc3MoSiksSj12b2lkIDA7US5maW5hbGx5PT1udWxsfHxRLmZpbmFsbHkuY2FsbChRKX0pLEc9KCk9Pm5ldyBQcm9taXNlKChCLE4pPT5xLnRoZW4oKCk9PllbMF09PT0icmVqZWN0Ij9OKFlbMV0pOkIoWVsxXSkpLmNhdGNoKE4pKTtpZih0eXBlb2YgSiE9PSJzdHJpbmciJiZ0eXBlb2YgSiE9PSJudW1iZXIiKXJldHVybnt1bndyYXA6R307ZWxzZSByZXR1cm4gT2JqZWN0LmFzc2lnbihKLHt1bndyYXA6R30pfSx0aGlzLmN1c3RvbT0oJCxRKT0+e2xldCBKPShRPT1udWxsP3ZvaWQgMDpRLmlkKXx8SzgrKztyZXR1cm4gdGhpcy5jcmVhdGUoe2pzeDokKEopLGlkOkosLi4uUX0pLEp9LHRoaXMuZ2V0QWN0aXZlVG9hc3RzPSgpPT57cmV0dXJuIHRoaXMudG9hc3RzLmZpbHRlcigoJCk9PiF0aGlzLmRpc21pc3NlZFRvYXN0cy5oYXMoJC5pZCkpfSx0aGlzLnN1YnNjcmliZXJzPVtdLHRoaXMudG9hc3RzPVtdLHRoaXMuZGlzbWlzc2VkVG9hc3RzPW5ldyBTZXR9fXZhciBLMD1uZXcgdDYsSko9KCQsUSk9PntsZXQgSj0oUT09bnVsbD92b2lkIDA6US5pZCl8fEs4Kys7cmV0dXJuIEswLmFkZFRvYXN0KHt0aXRsZTokLC4uLlEsaWQ6Sn0pLEp9LFpKPSgkKT0+e3JldHVybiAkJiZ0eXBlb2YgJD09PSJvYmplY3QiJiYib2siaW4gJCYmdHlwZW9mICQub2s9PT0iYm9vbGVhbiImJiJzdGF0dXMiaW4gJCYmdHlwZW9mICQuc3RhdHVzPT09Im51bWJlciJ9LFhKPUpKLEtKPSgpPT5LMC50b2FzdHMsWUo9KCk9PkswLmdldEFjdGl2ZVRvYXN0cygpLHQyPU9iamVjdC5hc3NpZ24oWEose3N1Y2Nlc3M6SzAuc3VjY2VzcyxpbmZvOkswLmluZm8sd2FybmluZzpLMC53YXJuaW5nLGVycm9yOkswLmVycm9yLGN1c3RvbTpLMC5jdXN0b20sbWVzc2FnZTpLMC5tZXNzYWdlLHByb21pc2U6SzAucHJvbWlzZSxkaXNtaXNzOkswLmRpc21pc3MsbG9hZGluZzpLMC5sb2FkaW5nfSx7Z2V0SGlzdG9yeTpLSixnZXRUb2FzdHM6WUp9KTtvUSgiW2RhdGEtc29ubmVyLXRvYXN0ZXJdW2Rpcj1sdHJdLGh0bWxbZGlyPWx0cl17LS10b2FzdC1pY29uLW1hcmdpbi1zdGFydDotM3B4Oy0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kOjRweDstLXRvYXN0LXN2Zy1tYXJnaW4tc3RhcnQ6LTFweDstLXRvYXN0LXN2Zy1tYXJnaW4tZW5kOjBweDstLXRvYXN0LWJ1dHRvbi1tYXJnaW4tc3RhcnQ6YXV0bzstLXRvYXN0LWJ1dHRvbi1tYXJnaW4tZW5kOjA7LS10b2FzdC1jbG9zZS1idXR0b24tc3RhcnQ6MDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQ6dW5zZXQ7LS10b2FzdC1jbG9zZS1idXR0b24tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMzUlLCAtMzUlKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGlyPXJ0bF0saHRtbFtkaXI9cnRsXXstLXRvYXN0LWljb24tbWFyZ2luLXN0YXJ0OjRweDstLXRvYXN0LWljb24tbWFyZ2luLWVuZDotM3B4Oy0tdG9hc3Qtc3ZnLW1hcmdpbi1zdGFydDowcHg7LS10b2FzdC1zdmctbWFyZ2luLWVuZDotMXB4Oy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1zdGFydDowOy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQ6YXV0bzstLXRvYXN0LWNsb3NlLWJ1dHRvbi1zdGFydDp1bnNldDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQ6MDstLXRvYXN0LWNsb3NlLWJ1dHRvbi10cmFuc2Zvcm06dHJhbnNsYXRlKDM1JSwgLTM1JSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOnZhcigtLXdpZHRoKTtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sSGVsdmV0aWNhIE5ldWUsQXJpYWwsTm90byBTYW5zLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7LS1ncmF5MTpoc2woMCwgMCUsIDk5JSk7LS1ncmF5Mjpoc2woMCwgMCUsIDk3LjMlKTstLWdyYXkzOmhzbCgwLCAwJSwgOTUuMSUpOy0tZ3JheTQ6aHNsKDAsIDAlLCA5MyUpOy0tZ3JheTU6aHNsKDAsIDAlLCA5MC45JSk7LS1ncmF5Njpoc2woMCwgMCUsIDg4LjclKTstLWdyYXk3OmhzbCgwLCAwJSwgODUuOCUpOy0tZ3JheTg6aHNsKDAsIDAlLCA3OCUpOy0tZ3JheTk6aHNsKDAsIDAlLCA1Ni4xJSk7LS1ncmF5MTA6aHNsKDAsIDAlLCA1Mi4zJSk7LS1ncmF5MTE6aHNsKDAsIDAlLCA0My41JSk7LS1ncmF5MTI6aHNsKDAsIDAlLCA5JSk7LS1ib3JkZXItcmFkaXVzOjhweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowO21hcmdpbjowO2xpc3Qtc3R5bGU6bm9uZTtvdXRsaW5lOjA7ei1pbmRleDo5OTk5OTk5OTk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGVhc2V9QG1lZGlhIChob3Zlcjpub25lKSBhbmQgKHBvaW50ZXI6Y29hcnNlKXtbZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1saWZ0ZWQ9dHJ1ZV17dHJhbnNmb3JtOm5vbmV9fVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXgtcG9zaXRpb249cmlnaHRde3JpZ2h0OnZhcigtLW9mZnNldC1yaWdodCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OnZhcigtLW9mZnNldC1sZWZ0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS14LXBvc2l0aW9uPWNlbnRlcl17bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDp2YXIoLS1vZmZzZXQtdG9wKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV17Ym90dG9tOnZhcigtLW9mZnNldC1ib3R0b20pfVtkYXRhLXNvbm5lci10b2FzdF17LS15OnRyYW5zbGF0ZVkoMTAwJSk7LS1saWZ0LWFtb3VudDpjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tZ2FwKSk7ei1pbmRleDp2YXIoLS16LWluZGV4KTtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7dHJhbnNmb3JtOnZhcigtLXkpO3RvdWNoLWFjdGlvbjpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC40cyxvcGFjaXR5IC40cyxoZWlnaHQgLjRzLGJveC1zaGFkb3cgLjJzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdXRsaW5lOjA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVde3BhZGRpbmc6MTZweDtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC1iZyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ub3JtYWwtYm9yZGVyKTtjb2xvcjp2YXIoLS1ub3JtYWwtdGV4dCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1ib3JkZXItcmFkaXVzKTtib3gtc2hhZG93OjAgNHB4IDEycHggcmdiYSgwLDAsMCwuMSk7d2lkdGg6dmFyKC0td2lkdGgpO2ZvbnQtc2l6ZToxM3B4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH1bZGF0YS1zb25uZXItdG9hc3RdOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzowIDRweCAxMnB4IHJnYmEoMCwwLDAsLjEpLDAgMCAwIDJweCByZ2JhKDAsMCwwLC4yKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDowOy0teTp0cmFuc2xhdGVZKC0xMDAlKTstLWxpZnQ6MTstLWxpZnQtYW1vdW50OmNhbGMoMSAqIHZhcigtLWdhcCkpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV17Ym90dG9tOjA7LS15OnRyYW5zbGF0ZVkoMTAwJSk7LS1saWZ0Oi0xOy0tbGlmdC1hbW91bnQ6Y2FsYyh2YXIoLS1saWZ0KSAqIHZhcigtLWdhcCkpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGVzY3JpcHRpb25de2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQ7Y29sb3I6IzNmM2YzZn1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGVzY3JpcHRpb25de2NvbG9yOmluaGVyaXR9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLWRlc2NyaXB0aW9uXXtjb2xvcjojZThlOGU4fVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtdGl0bGVde2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6aW5oZXJpdH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWljb25de2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXNocmluazowO21hcmdpbi1sZWZ0OnZhcigtLXRvYXN0LWljb24tbWFyZ2luLXN0YXJ0KTttYXJnaW4tcmlnaHQ6dmFyKC0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcHJvbWlzZT10cnVlXSBbZGF0YS1pY29uXT5zdmd7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7YW5pbWF0aW9uOnNvbm5lci1mYWRlLWluIC4zcyBlYXNlIGZvcndhcmRzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtaWNvbl0+KntmbGV4LXNocmluazowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtaWNvbl0gc3Zne21hcmdpbi1sZWZ0OnZhcigtLXRvYXN0LXN2Zy1tYXJnaW4tc3RhcnQpO21hcmdpbi1yaWdodDp2YXIoLS10b2FzdC1zdmctbWFyZ2luLWVuZCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1jb250ZW50XXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25de2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDo4cHg7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbm9ybWFsLWJnKTtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC10ZXh0KTttYXJnaW4tbGVmdDp2YXIoLS10b2FzdC1idXR0b24tbWFyZ2luLXN0YXJ0KTttYXJnaW4tcmlnaHQ6dmFyKC0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQpO2JvcmRlcjpub25lO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXNocmluazowO3RyYW5zaXRpb246b3BhY2l0eSAuNHMsYm94LXNoYWRvdyAuMnN9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25dOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgwLDAsMCwuNCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25dOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6dmFyKC0tdG9hc3QtYnV0dG9uLW1hcmdpbi1zdGFydCk7bWFyZ2luLXJpZ2h0OnZhcigtLXRvYXN0LWJ1dHRvbi1tYXJnaW4tZW5kKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNhbmNlbF17Y29sb3I6dmFyKC0tbm9ybWFsLXRleHQpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDgpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXNvbm5lci10aGVtZT1kYXJrXSBbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNhbmNlbF17YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNsb3NlLWJ1dHRvbl17cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS10b2FzdC1jbG9zZS1idXR0b24tc3RhcnQpO3JpZ2h0OnZhcigtLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQpO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MDtjb2xvcjp2YXIoLS1ncmF5MTIpO2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdyYXk0KTt0cmFuc2Zvcm06dmFyKC0tdG9hc3QtY2xvc2UtYnV0dG9uLXRyYW5zZm9ybSk7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxO3RyYW5zaXRpb246b3BhY2l0eSAuMXMsYmFja2dyb3VuZCAuMnMsYm9yZGVyLWNvbG9yIC4yc31bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNsb3NlLWJ1dHRvbl06Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgNHB4IDEycHggcmdiYSgwLDAsMCwuMSksMCAwIDAgMnB4IHJnYmEoMCwwLDAsLjIpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17Y3Vyc29yOm5vdC1hbGxvd2VkfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV06aG92ZXIgW2RhdGEtY2xvc2UtYnV0dG9uXTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWdyYXkyKTtib3JkZXItY29sb3I6dmFyKC0tZ3JheTUpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwaW5nPXRydWVdOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMDAlO3JpZ2h0Oi0xMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6LTF9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXktcG9zaXRpb249dG9wXVtkYXRhLXN3aXBpbmc9dHJ1ZV06OmJlZm9yZXtib3R0b206NTAlO3RyYW5zZm9ybTpzY2FsZVkoMykgdHJhbnNsYXRlWSg1MCUpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV1bZGF0YS1zd2lwaW5nPXRydWVdOjpiZWZvcmV7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGVZKDMpIHRyYW5zbGF0ZVkoLTUwJSl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBpbmc9ZmFsc2VdW2RhdGEtcmVtb3ZlZD10cnVlXTo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt0cmFuc2Zvcm06c2NhbGVZKDIpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1leHBhbmRlZD10cnVlXTo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7aGVpZ2h0OmNhbGModmFyKC0tZ2FwKSArIDFweCk7Ym90dG9tOjEwMCU7d2lkdGg6MTAwJX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtbW91bnRlZD10cnVlXXstLXk6dHJhbnNsYXRlWSgwKTtvcGFjaXR5OjF9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWV4cGFuZGVkPWZhbHNlXVtkYXRhLWZyb250PWZhbHNlXXstLXNjYWxlOnZhcigtLXRvYXN0cy1iZWZvcmUpICogMC4wNSArIDE7LS15OnRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1saWZ0LWFtb3VudCkgKiB2YXIoLS10b2FzdHMtYmVmb3JlKSkpIHNjYWxlKGNhbGMoLTEgKiB2YXIoLS1zY2FsZSkpKTtoZWlnaHQ6dmFyKC0tZnJvbnQtdG9hc3QtaGVpZ2h0KX1bZGF0YS1zb25uZXItdG9hc3RdPip7dHJhbnNpdGlvbjpvcGFjaXR5IC40c31bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteC1wb3NpdGlvbj1yaWdodF17cmlnaHQ6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OjB9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWV4cGFuZGVkPWZhbHNlXVtkYXRhLWZyb250PWZhbHNlXVtkYXRhLXN0eWxlZD10cnVlXT4qe29wYWNpdHk6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdmlzaWJsZT1mYWxzZV17b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLW1vdW50ZWQ9dHJ1ZV1bZGF0YS1leHBhbmRlZD10cnVlXXstLXk6dHJhbnNsYXRlWShjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tb2Zmc2V0KSkpO2hlaWdodDp2YXIoLS1pbml0aWFsLWhlaWdodCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXJlbW92ZWQ9dHJ1ZV1bZGF0YS1mcm9udD10cnVlXVtkYXRhLXN3aXBlLW91dD1mYWxzZV17LS15OnRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1saWZ0KSAqIC0xMDAlKSk7b3BhY2l0eTowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPXRydWVdW2RhdGEtZnJvbnQ9ZmFsc2VdW2RhdGEtc3dpcGUtb3V0PWZhbHNlXVtkYXRhLWV4cGFuZGVkPXRydWVdey0teTp0cmFuc2xhdGVZKGNhbGModmFyKC0tbGlmdCkgKiB2YXIoLS1vZmZzZXQpICsgdmFyKC0tbGlmdCkgKiAtMTAwJSkpO29wYWNpdHk6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcmVtb3ZlZD10cnVlXVtkYXRhLWZyb250PWZhbHNlXVtkYXRhLXN3aXBlLW91dD1mYWxzZV1bZGF0YS1leHBhbmRlZD1mYWxzZV17LS15OnRyYW5zbGF0ZVkoNDAlKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjVzLG9wYWNpdHkgLjJzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPXRydWVdW2RhdGEtZnJvbnQ9ZmFsc2VdOjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0taW5pdGlhbC1oZWlnaHQpICsgMjAlKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGluZz10cnVlXXt0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWSh2YXIoLS1zd2lwZS1hbW91bnQteSwwKSkgdHJhbnNsYXRlWCh2YXIoLS1zd2lwZS1hbW91bnQteCwwKSk7dHJhbnNpdGlvbjpub25lfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZWQ9dHJ1ZV17dXNlci1zZWxlY3Q6bm9uZX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEteS1wb3NpdGlvbj1ib3R0b21dLFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS15LXBvc2l0aW9uPXRvcF17YW5pbWF0aW9uLWR1cmF0aW9uOi4yczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHN9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXN3aXBlLWRpcmVjdGlvbj1sZWZ0XXthbmltYXRpb24tbmFtZTpzd2lwZS1vdXQtbGVmdH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEtc3dpcGUtZGlyZWN0aW9uPXJpZ2h0XXthbmltYXRpb24tbmFtZTpzd2lwZS1vdXQtcmlnaHR9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXN3aXBlLWRpcmVjdGlvbj11cF17YW5pbWF0aW9uLW5hbWU6c3dpcGUtb3V0LXVwfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS1zd2lwZS1kaXJlY3Rpb249ZG93bl17YW5pbWF0aW9uLW5hbWU6c3dpcGUtb3V0LWRvd259QGtleWZyYW1lcyBzd2lwZS1vdXQtbGVmdHtmcm9te3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVYKHZhcigtLXN3aXBlLWFtb3VudC14KSk7b3BhY2l0eToxfXRve3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpcGUtYW1vdW50LXgpIC0gMTAwJSkpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2lwZS1vdXQtcmlnaHR7ZnJvbXt0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWCh2YXIoLS1zd2lwZS1hbW91bnQteCkpO29wYWNpdHk6MX10b3t0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWChjYWxjKHZhcigtLXN3aXBlLWFtb3VudC14KSArIDEwMCUpKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgc3dpcGUtb3V0LXVwe2Zyb217dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkodmFyKC0tc3dpcGUtYW1vdW50LXkpKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zd2lwZS1hbW91bnQteSkgLSAxMDAlKSk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHN3aXBlLW91dC1kb3due2Zyb217dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkodmFyKC0tc3dpcGUtYW1vdW50LXkpKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zd2lwZS1hbW91bnQteSkgKyAxMDAlKSk7b3BhY2l0eTowfX1AbWVkaWEgKG1heC13aWR0aDo2MDBweCl7W2RhdGEtc29ubmVyLXRvYXN0ZXJde3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OnZhcigtLW1vYmlsZS1vZmZzZXQtcmlnaHQpO2xlZnQ6dmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KTt3aWR0aDoxMDAlfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkaXI9cnRsXXtsZWZ0OmNhbGModmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KSAqIC0xKX1bZGF0YS1zb25uZXItdG9hc3Rlcl0gW2RhdGEtc29ubmVyLXRvYXN0XXtsZWZ0OjA7cmlnaHQ6MDt3aWR0aDpjYWxjKDEwMCUgLSB2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpICogMil9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OnZhcigtLW1vYmlsZS1vZmZzZXQtbGVmdCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj1ib3R0b21de2JvdHRvbTp2YXIoLS1tb2JpbGUtb2Zmc2V0LWJvdHRvbSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDp2YXIoLS1tb2JpbGUtb2Zmc2V0LXRvcCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1jZW50ZXJde2xlZnQ6dmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KTtyaWdodDp2YXIoLS1tb2JpbGUtb2Zmc2V0LXJpZ2h0KTt0cmFuc2Zvcm06bm9uZX19W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWxpZ2h0XXstLW5vcm1hbC1iZzojZmZmOy0tbm9ybWFsLWJvcmRlcjp2YXIoLS1ncmF5NCk7LS1ub3JtYWwtdGV4dDp2YXIoLS1ncmF5MTIpOy0tc3VjY2Vzcy1iZzpoc2woMTQzLCA4NSUsIDk2JSk7LS1zdWNjZXNzLWJvcmRlcjpoc2woMTQ1LCA5MiUsIDg3JSk7LS1zdWNjZXNzLXRleHQ6aHNsKDE0MCwgMTAwJSwgMjclKTstLWluZm8tYmc6aHNsKDIwOCwgMTAwJSwgOTclKTstLWluZm8tYm9yZGVyOmhzbCgyMjEsIDkxJSwgOTMlKTstLWluZm8tdGV4dDpoc2woMjEwLCA5MiUsIDQ1JSk7LS13YXJuaW5nLWJnOmhzbCg0OSwgMTAwJSwgOTclKTstLXdhcm5pbmctYm9yZGVyOmhzbCg0OSwgOTElLCA4NCUpOy0td2FybmluZy10ZXh0OmhzbCgzMSwgOTIlLCA0NSUpOy0tZXJyb3ItYmc6aHNsKDM1OSwgMTAwJSwgOTclKTstLWVycm9yLWJvcmRlcjpoc2woMzU5LCAxMDAlLCA5NCUpOy0tZXJyb3ItdGV4dDpoc2woMzYwLCAxMDAlLCA0NSUpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXNvbm5lci10aGVtZT1saWdodF0gW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWludmVydD10cnVlXXstLW5vcm1hbC1iZzojMDAwOy0tbm9ybWFsLWJvcmRlcjpoc2woMCwgMCUsIDIwJSk7LS1ub3JtYWwtdGV4dDp2YXIoLS1ncmF5MSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1pbnZlcnQ9dHJ1ZV17LS1ub3JtYWwtYmc6I2ZmZjstLW5vcm1hbC1ib3JkZXI6dmFyKC0tZ3JheTMpOy0tbm9ybWFsLXRleHQ6dmFyKC0tZ3JheTEyKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya117LS1ub3JtYWwtYmc6IzAwMDstLW5vcm1hbC1iZy1ob3Zlcjpoc2woMCwgMCUsIDEyJSk7LS1ub3JtYWwtYm9yZGVyOmhzbCgwLCAwJSwgMjAlKTstLW5vcm1hbC1ib3JkZXItaG92ZXI6aHNsKDAsIDAlLCAyNSUpOy0tbm9ybWFsLXRleHQ6dmFyKC0tZ3JheTEpOy0tc3VjY2Vzcy1iZzpoc2woMTUwLCAxMDAlLCA2JSk7LS1zdWNjZXNzLWJvcmRlcjpoc2woMTQ3LCAxMDAlLCAxMiUpOy0tc3VjY2Vzcy10ZXh0OmhzbCgxNTAsIDg2JSwgNjUlKTstLWluZm8tYmc6aHNsKDIxNSwgMTAwJSwgNiUpOy0taW5mby1ib3JkZXI6aHNsKDIyMywgNDMlLCAxNyUpOy0taW5mby10ZXh0OmhzbCgyMTYsIDg3JSwgNjUlKTstLXdhcm5pbmctYmc6aHNsKDY0LCAxMDAlLCA2JSk7LS13YXJuaW5nLWJvcmRlcjpoc2woNjAsIDEwMCUsIDklKTstLXdhcm5pbmctdGV4dDpoc2woNDYsIDg3JSwgNjUlKTstLWVycm9yLWJnOmhzbCgzNTgsIDc2JSwgMTAlKTstLWVycm9yLWJvcmRlcjpoc2woMzU3LCA4OSUsIDE2JSk7LS1lcnJvci10ZXh0OmhzbCgzNTgsIDEwMCUsIDgxJSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLXNvbm5lci10b2FzdF0gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLW5vcm1hbC1ib3JkZXIpO2NvbG9yOnZhcigtLW5vcm1hbC10ZXh0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya10gW2RhdGEtc29ubmVyLXRvYXN0XSBbZGF0YS1jbG9zZS1idXR0b25dOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnLWhvdmVyKTtib3JkZXItY29sb3I6dmFyKC0tbm9ybWFsLWJvcmRlci1ob3Zlcil9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1zdWNjZXNzXXtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzLWJvcmRlcik7Y29sb3I6dmFyKC0tc3VjY2Vzcy10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXN1Y2Nlc3NdIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLWJnKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcy1ib3JkZXIpO2NvbG9yOnZhcigtLXN1Y2Nlc3MtdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1pbmZvXXtiYWNrZ3JvdW5kOnZhcigtLWluZm8tYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1pbmZvLWJvcmRlcik7Y29sb3I6dmFyKC0taW5mby10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPWluZm9dIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1pbmZvLWJnKTtib3JkZXItY29sb3I6dmFyKC0taW5mby1ib3JkZXIpO2NvbG9yOnZhcigtLWluZm8tdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT13YXJuaW5nXXtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctYmcpO2JvcmRlci1jb2xvcjp2YXIoLS13YXJuaW5nLWJvcmRlcik7Y29sb3I6dmFyKC0td2FybmluZy10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXdhcm5pbmddIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLWJnKTtib3JkZXItY29sb3I6dmFyKC0td2FybmluZy1ib3JkZXIpO2NvbG9yOnZhcigtLXdhcm5pbmctdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1lcnJvcl17YmFja2dyb3VuZDp2YXIoLS1lcnJvci1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWVycm9yLWJvcmRlcik7Y29sb3I6dmFyKC0tZXJyb3ItdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1lcnJvcl0gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLWVycm9yLWJnKTtib3JkZXItY29sb3I6dmFyKC0tZXJyb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1lcnJvci10ZXh0KX0uc29ubmVyLWxvYWRpbmctd3JhcHBlcnstLXNpemU6MTZweDtoZWlnaHQ6dmFyKC0tc2l6ZSk7d2lkdGg6dmFyKC0tc2l6ZSk7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjEwfS5zb25uZXItbG9hZGluZy13cmFwcGVyW2RhdGEtdmlzaWJsZT1mYWxzZV17dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7YW5pbWF0aW9uOnNvbm5lci1mYWRlLW91dCAuMnMgZWFzZSBmb3J3YXJkc30uc29ubmVyLXNwaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTtsZWZ0OjUwJTtoZWlnaHQ6dmFyKC0tc2l6ZSk7d2lkdGg6dmFyKC0tc2l6ZSl9LnNvbm5lci1sb2FkaW5nLWJhcnthbmltYXRpb246c29ubmVyLXNwaW4gMS4ycyBsaW5lYXIgaW5maW5pdGU7YmFja2dyb3VuZDp2YXIoLS1ncmF5MTEpO2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDo4JTtsZWZ0Oi0xMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0zLjklO3dpZHRoOjI0JX0uc29ubmVyLWxvYWRpbmctYmFyOmZpcnN0LWNoaWxke2FuaW1hdGlvbi1kZWxheTotMS4yczt0cmFuc2Zvcm06cm90YXRlKC4wMDAxZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi0xLjFzO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCgzKXthbmltYXRpb24tZGVsYXk6LTFzO3RyYW5zZm9ybTpyb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LS45czt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoNSl7YW5pbWF0aW9uLWRlbGF5Oi0uOHM7dHJhbnNmb3JtOnJvdGF0ZSgxMjBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg2KXthbmltYXRpb24tZGVsYXk6LS43czt0cmFuc2Zvcm06cm90YXRlKDE1MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDcpe2FuaW1hdGlvbi1kZWxheTotLjZzO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoOCl7YW5pbWF0aW9uLWRlbGF5Oi0uNXM7dHJhbnNmb3JtOnJvdGF0ZSgyMTBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg5KXthbmltYXRpb24tZGVsYXk6LS40czt0cmFuc2Zvcm06cm90YXRlKDI0MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDEwKXthbmltYXRpb24tZGVsYXk6LS4zczt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDExKXthbmltYXRpb24tZGVsYXk6LS4yczt0cmFuc2Zvcm06cm90YXRlKDMwMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDEyKXthbmltYXRpb24tZGVsYXk6LS4xczt0cmFuc2Zvcm06cm90YXRlKDMzMGRlZykgdHJhbnNsYXRlKDE0NiUpfUBrZXlmcmFtZXMgc29ubmVyLWZhZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCl9MTAwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHNvbm5lci1mYWRlLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCl9fUBrZXlmcmFtZXMgc29ubmVyLXNwaW57MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTouMTV9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbil7LnNvbm5lci1sb2FkaW5nLWJhcixbZGF0YS1zb25uZXItdG9hc3RdLFtkYXRhLXNvbm5lci10b2FzdF0+Knt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O2FuaW1hdGlvbjpub25lIWltcG9ydGFudH19LnNvbm5lci1sb2FkZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyx0cmFuc2Zvcm0gLjJzfS5zb25uZXItbG9hZGVyW2RhdGEtdmlzaWJsZT1mYWxzZV17b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCkgdHJhbnNsYXRlKC01MCUsLTUwJSl9Iik7ZnVuY3Rpb24gbjUoJCl7cmV0dXJuICQubGFiZWwhPT12b2lkIDB9dmFyIHFKPTMsR0o9IjI0cHgiLFZKPSIxNnB4IixhNj00MDAwLEJKPTM1NixOSj0xNCx6Sj00NSxMSj0yMDA7ZnVuY3Rpb24geTAoLi4uJCl7cmV0dXJuICQuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKX1mdW5jdGlvbiBVSigkKXtsZXRbUSxKXT0kLnNwbGl0KCItIiksWD1bXTtpZihRKVgucHVzaChRKTtpZihKKVgucHVzaChKKTtyZXR1cm4gWH12YXIgSEo9KCQpPT57dmFyIFEsSixYLEssWSxxLEcsQixOO2xldHtpbnZlcnQ6eix0b2FzdDpWLHVuc3R5bGVkOlUsaW50ZXJhY3Rpbmc6QyxzZXRIZWlnaHRzOk0sdmlzaWJsZVRvYXN0czpMLGhlaWdodHM6SCxpbmRleDpPLHRvYXN0czpXLGV4cGFuZGVkOlQscmVtb3ZlVG9hc3Q6UCxkZWZhdWx0UmljaENvbG9yczp4LGNsb3NlQnV0dG9uOkQsc3R5bGU6ZSxjYW5jZWxCdXR0b25TdHlsZTpSLGFjdGlvbkJ1dHRvblN0eWxlOmQsY2xhc3NOYW1lOm49IiIsZGVzY3JpcHRpb25DbGFzc05hbWU6bz0iIixkdXJhdGlvbjphLHBvc2l0aW9uOmksZ2FwOkwxLGV4cGFuZEJ5RGVmYXVsdDpsLGNsYXNzTmFtZXM6ZixpY29uczpYMSxjbG9zZUJ1dHRvbkFyaWFMYWJlbDpaMT0iQ2xvc2UgdG9hc3QifT0kLFtVMSxzXT1nLnVzZVN0YXRlKG51bGwpLFtKMSxxMV09Zy51c2VTdGF0ZShudWxsKSxbaixwXT1nLnVzZVN0YXRlKCExKSxbXyxoXT1nLnVzZVN0YXRlKCExKSxbbSx2XT1nLnVzZVN0YXRlKCExKSxbWTEsVjFdPWcudXNlU3RhdGUoITEpLFt3MSxGMV09Zy51c2VTdGF0ZSghMSksW0kxLFcxXT1nLnVzZVN0YXRlKDApLFtSMSxrMV09Zy51c2VTdGF0ZSgwKSxyMT1nLnVzZVJlZihWLmR1cmF0aW9ufHxhfHxhNikseDE9Zy51c2VSZWYobnVsbCksTTE9Zy51c2VSZWYobnVsbCksTjE9Tz09PTAsYTE9TysxPD1MLGYxPVYudHlwZSxpMT1WLmRpc21pc3NpYmxlIT09ITEsdDE9Vi5jbGFzc05hbWV8fCIiLHEwPVYuZGVzY3JpcHRpb25DbGFzc05hbWV8fCIiLEcwPWcudXNlTWVtbygoKT0+SC5maW5kSW5kZXgoKEsxKT0+SzEudG9hc3RJZD09PVYuaWQpfHwwLFtILFYuaWRdKSxsMD1nLnVzZU1lbW8oKCk9Pnt2YXIgSzE7cmV0dXJuKEsxPVYuY2xvc2VCdXR0b24pIT1udWxsP0sxOkR9LFtWLmNsb3NlQnV0dG9uLERdKSxqMT1nLnVzZU1lbW8oKCk9PlYuZHVyYXRpb258fGF8fGE2LFtWLmR1cmF0aW9uLGFdKSxWMD1nLnVzZVJlZigwKSxRMD1nLnVzZVJlZigwKSxEMD1nLnVzZVJlZigwKSxtMT1nLnVzZVJlZihudWxsKSxbZTEsUjBdPWkuc3BsaXQoIi0iKSxiMT1nLnVzZU1lbW8oKCk9PntyZXR1cm4gSC5yZWR1Y2UoKEsxLEUsdSk9PntpZih1Pj1HMClyZXR1cm4gSzE7cmV0dXJuIEsxK0UuaGVpZ2h0fSwwKX0sW0gsRzBdKSxCMD1RSigpLFUwPVYuaW52ZXJ0fHx6LF8xPWYxPT09ImxvYWRpbmciO1EwLmN1cnJlbnQ9Zy51c2VNZW1vKCgpPT5HMCpMMStiMSxbRzAsYjFdKSxnLnVzZUVmZmVjdCgoKT0+e3IxLmN1cnJlbnQ9ajF9LFtqMV0pLGcudXNlRWZmZWN0KCgpPT57cCghMCl9LFtdKSxnLnVzZUVmZmVjdCgoKT0+e2xldCBLMT1NMS5jdXJyZW50O2lmKEsxKXtsZXQgRT1LMS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7cmV0dXJuIGsxKEUpLE0oKHUpPT5be3RvYXN0SWQ6Vi5pZCxoZWlnaHQ6RSxwb3NpdGlvbjpWLnBvc2l0aW9ufSwuLi51XSksKCk9Pk0oKHUpPT51LmZpbHRlcigocik9PnIudG9hc3RJZCE9PVYuaWQpKX19LFtNLFYuaWRdKSxnLnVzZUxheW91dEVmZmVjdCgoKT0+e2lmKCFqKXJldHVybjtsZXQgSzE9TTEuY3VycmVudCxFPUsxLnN0eWxlLmhlaWdodDtLMS5zdHlsZS5oZWlnaHQ9ImF1dG8iO2xldCB1PUsxLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtLMS5zdHlsZS5oZWlnaHQ9RSxrMSh1KSxNKChyKT0+e2lmKCFyLmZpbmQoKEcxKT0+RzEudG9hc3RJZD09PVYuaWQpKXJldHVyblt7dG9hc3RJZDpWLmlkLGhlaWdodDp1LHBvc2l0aW9uOlYucG9zaXRpb259LC4uLnJdO2Vsc2UgcmV0dXJuIHIubWFwKChHMSk9PkcxLnRvYXN0SWQ9PT1WLmlkP3suLi5HMSxoZWlnaHQ6dX06RzEpfSl9LFtqLFYudGl0bGUsVi5kZXNjcmlwdGlvbixNLFYuaWQsVi5qc3gsVi5hY3Rpb24sVi5jYW5jZWxdKTtsZXQgRTE9Zy51c2VDYWxsYmFjaygoKT0+e2goITApLFcxKFEwLmN1cnJlbnQpLE0oKEsxKT0+SzEuZmlsdGVyKChFKT0+RS50b2FzdElkIT09Vi5pZCkpLHNldFRpbWVvdXQoKCk9PntQKFYpfSxMSil9LFtWLFAsTSxRMF0pO2cudXNlRWZmZWN0KCgpPT57aWYoVi5wcm9taXNlJiZmMT09PSJsb2FkaW5nInx8Vi5kdXJhdGlvbj09PTEvMHx8Vi50eXBlPT09ImxvYWRpbmciKXJldHVybjtsZXQgSzEsRT0oKT0+e2lmKEQwLmN1cnJlbnQ8VjAuY3VycmVudCl7bGV0IHI9bmV3IERhdGUoKS5nZXRUaW1lKCktVjAuY3VycmVudDtyMS5jdXJyZW50PXIxLmN1cnJlbnQtcn1EMC5jdXJyZW50PW5ldyBEYXRlKCkuZ2V0VGltZSgpfSx1PSgpPT57aWYocjEuY3VycmVudD09PTEvMClyZXR1cm47VjAuY3VycmVudD1uZXcgRGF0ZSgpLmdldFRpbWUoKSxLMT1zZXRUaW1lb3V0KCgpPT57Vi5vbkF1dG9DbG9zZT09bnVsbHx8Vi5vbkF1dG9DbG9zZS5jYWxsKFYsViksRTEoKX0scjEuY3VycmVudCl9O2lmKFR8fEN8fEIwKUUoKTtlbHNlIHUoKTtyZXR1cm4oKT0+Y2xlYXJUaW1lb3V0KEsxKX0sW1QsQyxWLGYxLEIwLEUxXSksZy51c2VFZmZlY3QoKCk9PntpZihWLmRlbGV0ZSlFMSgpLFYub25EaXNtaXNzPT1udWxsfHxWLm9uRGlzbWlzcy5jYWxsKFYsVil9LFtFMSxWLmRlbGV0ZV0pO2Z1bmN0aW9uIEowKCl7dmFyIEsxO2lmKFgxPT1udWxsP3ZvaWQgMDpYMS5sb2FkaW5nKXt2YXIgRTtyZXR1cm4gZy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi5sb2FkZXIsVj09bnVsbD92b2lkIDA6KEU9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6RS5sb2FkZXIsInNvbm5lci1sb2FkZXIiKSwiZGF0YS12aXNpYmxlIjpmMT09PSJsb2FkaW5nIn0sWDEubG9hZGluZyl9cmV0dXJuIGcuY3JlYXRlRWxlbWVudChyUSx7Y2xhc3NOYW1lOnkwKGY9PW51bGw/dm9pZCAwOmYubG9hZGVyLFY9PW51bGw/dm9pZCAwOihLMT1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpLMS5sb2FkZXIpLHZpc2libGU6ZjE9PT0ibG9hZGluZyJ9KX1sZXQgTjA9Vi5pY29ufHwoWDE9PW51bGw/dm9pZCAwOlgxW2YxXSl8fGlRKGYxKTt2YXIgSDAsQTA7cmV0dXJuIGcuY3JlYXRlRWxlbWVudCgibGkiLHt0YWJJbmRleDowLHJlZjpNMSxjbGFzc05hbWU6eTAobix0MSxmPT1udWxsP3ZvaWQgMDpmLnRvYXN0LFY9PW51bGw/dm9pZCAwOihRPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOlEudG9hc3QsZj09bnVsbD92b2lkIDA6Zi5kZWZhdWx0LGY9PW51bGw/dm9pZCAwOmZbZjFdLFY9PW51bGw/dm9pZCAwOihKPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOkpbZjFdKSwiZGF0YS1zb25uZXItdG9hc3QiOiIiLCJkYXRhLXJpY2gtY29sb3JzIjooSDA9Vi5yaWNoQ29sb3JzKSE9bnVsbD9IMDp4LCJkYXRhLXN0eWxlZCI6IUJvb2xlYW4oVi5qc3h8fFYudW5zdHlsZWR8fFUpLCJkYXRhLW1vdW50ZWQiOmosImRhdGEtcHJvbWlzZSI6Qm9vbGVhbihWLnByb21pc2UpLCJkYXRhLXN3aXBlZCI6dzEsImRhdGEtcmVtb3ZlZCI6XywiZGF0YS12aXNpYmxlIjphMSwiZGF0YS15LXBvc2l0aW9uIjplMSwiZGF0YS14LXBvc2l0aW9uIjpSMCwiZGF0YS1pbmRleCI6TywiZGF0YS1mcm9udCI6TjEsImRhdGEtc3dpcGluZyI6bSwiZGF0YS1kaXNtaXNzaWJsZSI6aTEsImRhdGEtdHlwZSI6ZjEsImRhdGEtaW52ZXJ0IjpVMCwiZGF0YS1zd2lwZS1vdXQiOlkxLCJkYXRhLXN3aXBlLWRpcmVjdGlvbiI6SjEsImRhdGEtZXhwYW5kZWQiOkJvb2xlYW4oVHx8bCYmaiksImRhdGEtdGVzdGlkIjpWLnRlc3RJZCxzdHlsZTp7Ii0taW5kZXgiOk8sIi0tdG9hc3RzLWJlZm9yZSI6TywiLS16LWluZGV4IjpXLmxlbmd0aC1PLCItLW9mZnNldCI6YCR7Xz9JMTpRMC5jdXJyZW50fXB4YCwiLS1pbml0aWFsLWhlaWdodCI6bD8iYXV0byI6YCR7UjF9cHhgLC4uLmUsLi4uVi5zdHlsZX0sb25EcmFnRW5kOigpPT57dighMSkscyhudWxsKSxtMS5jdXJyZW50PW51bGx9LG9uUG9pbnRlckRvd246KEsxKT0+e2lmKEsxLmJ1dHRvbj09PTIpcmV0dXJuO2lmKF8xfHwhaTEpcmV0dXJuO2lmKHgxLmN1cnJlbnQ9bmV3IERhdGUsVzEoUTAuY3VycmVudCksSzEudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKEsxLnBvaW50ZXJJZCksSzEudGFyZ2V0LnRhZ05hbWU9PT0iQlVUVE9OIilyZXR1cm47dighMCksbTEuY3VycmVudD17eDpLMS5jbGllbnRYLHk6SzEuY2xpZW50WX19LG9uUG9pbnRlclVwOigpPT57dmFyIEsxLEUsdTtpZihZMXx8IWkxKXJldHVybjttMS5jdXJyZW50PW51bGw7bGV0IHI9TnVtYmVyKCgoSzE9TTEuY3VycmVudCk9PW51bGw/dm9pZCAwOksxLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoIi0tc3dpcGUtYW1vdW50LXgiKS5yZXBsYWNlKCJweCIsIiIpKXx8MCksQzE9TnVtYmVyKCgoRT1NMS5jdXJyZW50KT09bnVsbD92b2lkIDA6RS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCItLXN3aXBlLWFtb3VudC15IikucmVwbGFjZSgicHgiLCIiKSl8fDApLEcxPW5ldyBEYXRlKCkuZ2V0VGltZSgpLSgodT14MS5jdXJyZW50KT09bnVsbD92b2lkIDA6dS5nZXRUaW1lKCkpLEIxPVUxPT09IngiP3I6QzEsaDE9TWF0aC5hYnMoQjEpL0cxO2lmKE1hdGguYWJzKEIxKT49ekp8fGgxPjAuMTEpe2lmKFcxKFEwLmN1cnJlbnQpLFYub25EaXNtaXNzPT1udWxsfHxWLm9uRGlzbWlzcy5jYWxsKFYsViksVTE9PT0ieCIpcTEocj4wPyJyaWdodCI6ImxlZnQiKTtlbHNlIHExKEMxPjA/ImRvd24iOiJ1cCIpO0UxKCksVjEoITApO3JldHVybn1lbHNle3ZhciBsMSxwMTsobDE9TTEuY3VycmVudCk9PW51bGx8fGwxLnN0eWxlLnNldFByb3BlcnR5KCItLXN3aXBlLWFtb3VudC14IiwiMHB4IiksKHAxPU0xLmN1cnJlbnQpPT1udWxsfHxwMS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zd2lwZS1hbW91bnQteSIsIjBweCIpfUYxKCExKSx2KCExKSxzKG51bGwpfSxvblBvaW50ZXJNb3ZlOihLMSk9Pnt2YXIgRSx1LHI7aWYoIW0xLmN1cnJlbnR8fCFpMSlyZXR1cm47aWYoKChFPXdpbmRvdy5nZXRTZWxlY3Rpb24oKSk9PW51bGw/dm9pZCAwOkUudG9TdHJpbmcoKS5sZW5ndGgpPjApcmV0dXJuO2xldCBHMT1LMS5jbGllbnRZLW0xLmN1cnJlbnQueSxCMT1LMS5jbGllbnRYLW0xLmN1cnJlbnQueDt2YXIgaDE7bGV0IGwxPShoMT0kLnN3aXBlRGlyZWN0aW9ucykhPW51bGw/aDE6VUooaSk7aWYoIVUxJiYoTWF0aC5hYnMoQjEpPjF8fE1hdGguYWJzKEcxKT4xKSlzKE1hdGguYWJzKEIxKT5NYXRoLmFicyhHMSk/IngiOiJ5Iik7bGV0IHAxPXt4OjAseTowfSxDMD0objEpPT57cmV0dXJuIDEvKDEuNStNYXRoLmFicyhuMSkvMjApfTtpZihVMT09PSJ5Iil7aWYobDEuaW5jbHVkZXMoInRvcCIpfHxsMS5pbmNsdWRlcygiYm90dG9tIikpaWYobDEuaW5jbHVkZXMoInRvcCIpJiZHMTwwfHxsMS5pbmNsdWRlcygiYm90dG9tIikmJkcxPjApcDEueT1HMTtlbHNle2xldCBuMT1HMSpDMChHMSk7cDEueT1NYXRoLmFicyhuMSk8TWF0aC5hYnMoRzEpP24xOkcxfX1lbHNlIGlmKFUxPT09IngiKXtpZihsMS5pbmNsdWRlcygibGVmdCIpfHxsMS5pbmNsdWRlcygicmlnaHQiKSlpZihsMS5pbmNsdWRlcygibGVmdCIpJiZCMTwwfHxsMS5pbmNsdWRlcygicmlnaHQiKSYmQjE+MClwMS54PUIxO2Vsc2V7bGV0IG4xPUIxKkMwKEIxKTtwMS54PU1hdGguYWJzKG4xKTxNYXRoLmFicyhCMSk/bjE6QjF9fWlmKE1hdGguYWJzKHAxLngpPjB8fE1hdGguYWJzKHAxLnkpPjApRjEoITApOyh1PU0xLmN1cnJlbnQpPT1udWxsfHx1LnN0eWxlLnNldFByb3BlcnR5KCItLXN3aXBlLWFtb3VudC14IixgJHtwMS54fXB4YCksKHI9TTEuY3VycmVudCk9PW51bGx8fHIuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3dpcGUtYW1vdW50LXkiLGAke3AxLnl9cHhgKX19LGwwJiYhVi5qc3gmJmYxIT09ImxvYWRpbmciP2cuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7ImFyaWEtbGFiZWwiOloxLCJkYXRhLWRpc2FibGVkIjpfMSwiZGF0YS1jbG9zZS1idXR0b24iOiEwLG9uQ2xpY2s6XzF8fCFpMT8oKT0+e306KCk9PntFMSgpLFYub25EaXNtaXNzPT1udWxsfHxWLm9uRGlzbWlzcy5jYWxsKFYsVil9LGNsYXNzTmFtZTp5MChmPT1udWxsP3ZvaWQgMDpmLmNsb3NlQnV0dG9uLFY9PW51bGw/dm9pZCAwOihYPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOlguY2xvc2VCdXR0b24pfSwoQTA9WDE9PW51bGw/dm9pZCAwOlgxLmNsb3NlKSE9bnVsbD9BMDokSik6bnVsbCwoZjF8fFYuaWNvbnx8Vi5wcm9taXNlKSYmVi5pY29uIT09bnVsbCYmKChYMT09bnVsbD92b2lkIDA6WDFbZjFdKSE9PW51bGx8fFYuaWNvbik/Zy5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1pY29uIjoiIixjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi5pY29uLFY9PW51bGw/dm9pZCAwOihLPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOksuaWNvbil9LFYucHJvbWlzZXx8Vi50eXBlPT09ImxvYWRpbmciJiYhVi5pY29uP1YuaWNvbnx8SjAoKTpudWxsLFYudHlwZSE9PSJsb2FkaW5nIj9OMDpudWxsKTpudWxsLGcuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtY29udGVudCI6IiIsY2xhc3NOYW1lOnkwKGY9PW51bGw/dm9pZCAwOmYuY29udGVudCxWPT1udWxsP3ZvaWQgMDooWT1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpZLmNvbnRlbnQpfSxnLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXRpdGxlIjoiIixjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi50aXRsZSxWPT1udWxsP3ZvaWQgMDoocT1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpxLnRpdGxlKX0sVi5qc3g/Vi5qc3g6dHlwZW9mIFYudGl0bGU9PT0iZnVuY3Rpb24iP1YudGl0bGUoKTpWLnRpdGxlKSxWLmRlc2NyaXB0aW9uP2cuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtZGVzY3JpcHRpb24iOiIiLGNsYXNzTmFtZTp5MChvLHEwLGY9PW51bGw/dm9pZCAwOmYuZGVzY3JpcHRpb24sVj09bnVsbD92b2lkIDA6KEc9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Ry5kZXNjcmlwdGlvbil9LHR5cGVvZiBWLmRlc2NyaXB0aW9uPT09ImZ1bmN0aW9uIj9WLmRlc2NyaXB0aW9uKCk6Vi5kZXNjcmlwdGlvbik6bnVsbCksZy5pc1ZhbGlkRWxlbWVudChWLmNhbmNlbCk/Vi5jYW5jZWw6Vi5jYW5jZWwmJm41KFYuY2FuY2VsKT9nLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJkYXRhLWJ1dHRvbiI6ITAsImRhdGEtY2FuY2VsIjohMCxzdHlsZTpWLmNhbmNlbEJ1dHRvblN0eWxlfHxSLG9uQ2xpY2s6KEsxKT0+e2lmKCFuNShWLmNhbmNlbCkpcmV0dXJuO2lmKCFpMSlyZXR1cm47Vi5jYW5jZWwub25DbGljaz09bnVsbHx8Vi5jYW5jZWwub25DbGljay5jYWxsKFYuY2FuY2VsLEsxKSxFMSgpfSxjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi5jYW5jZWxCdXR0b24sVj09bnVsbD92b2lkIDA6KEI9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Qi5jYW5jZWxCdXR0b24pfSxWLmNhbmNlbC5sYWJlbCk6bnVsbCxnLmlzVmFsaWRFbGVtZW50KFYuYWN0aW9uKT9WLmFjdGlvbjpWLmFjdGlvbiYmbjUoVi5hY3Rpb24pP2cuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7ImRhdGEtYnV0dG9uIjohMCwiZGF0YS1hY3Rpb24iOiEwLHN0eWxlOlYuYWN0aW9uQnV0dG9uU3R5bGV8fGQsb25DbGljazooSzEpPT57aWYoIW41KFYuYWN0aW9uKSlyZXR1cm47aWYoVi5hY3Rpb24ub25DbGljaz09bnVsbHx8Vi5hY3Rpb24ub25DbGljay5jYWxsKFYuYWN0aW9uLEsxKSxLMS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtFMSgpfSxjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi5hY3Rpb25CdXR0b24sVj09bnVsbD92b2lkIDA6KE49Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Ti5hY3Rpb25CdXR0b24pfSxWLmFjdGlvbi5sYWJlbCk6bnVsbCl9O2Z1bmN0aW9uIHM2KCl7aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuImx0ciI7aWYodHlwZW9mIGRvY3VtZW50PiJ1IilyZXR1cm4ibHRyIjtsZXQgJD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkaXIiKTtpZigkPT09ImF1dG8ifHwhJClyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5kaXJlY3Rpb247cmV0dXJuICR9ZnVuY3Rpb24gQ0ooJCxRKXtsZXQgSj17fTtyZXR1cm5bJCxRXS5mb3JFYWNoKChYLEspPT57bGV0IFk9Sz09PTEscT1ZPyItLW1vYmlsZS1vZmZzZXQiOiItLW9mZnNldCIsRz1ZP1ZKOkdKO2Z1bmN0aW9uIEIoTil7WyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5mb3JFYWNoKCh6KT0+e0pbYCR7cX0tJHt6fWBdPXR5cGVvZiBOPT09Im51bWJlciI/YCR7Tn1weGA6Tn0pfWlmKHR5cGVvZiBYPT09Im51bWJlciJ8fHR5cGVvZiBYPT09InN0cmluZyIpQihYKTtlbHNlIGlmKHR5cGVvZiBYPT09Im9iamVjdCIpWyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5mb3JFYWNoKChOKT0+e2lmKFhbTl09PT12b2lkIDApSltgJHtxfS0ke059YF09RztlbHNlIEpbYCR7cX0tJHtOfWBdPXR5cGVvZiBYW05dPT09Im51bWJlciI/YCR7WFtOXX1weGA6WFtOXX0pO2Vsc2UgQihHKX0pLEp9dmFyIGU2PWcuZm9yd2FyZFJlZihmdW5jdGlvbihRLEope2xldHtpZDpYLGludmVydDpLLHBvc2l0aW9uOlk9ImJvdHRvbS1yaWdodCIsaG90a2V5OnE9WyJhbHRLZXkiLCJLZXlUIl0sZXhwYW5kOkcsY2xvc2VCdXR0b246QixjbGFzc05hbWU6TixvZmZzZXQ6eixtb2JpbGVPZmZzZXQ6Vix0aGVtZTpVPSJsaWdodCIscmljaENvbG9yczpDLGR1cmF0aW9uOk0sc3R5bGU6TCx2aXNpYmxlVG9hc3RzOkg9cUosdG9hc3RPcHRpb25zOk8sZGlyOlc9czYoKSxnYXA6VD1OSixpY29uczpQLGNvbnRhaW5lckFyaWFMYWJlbDp4PSJOb3RpZmljYXRpb25zIn09USxbRCxlXT1nLnVzZVN0YXRlKFtdKSxSPWcudXNlTWVtbygoKT0+e2lmKFgpcmV0dXJuIEQuZmlsdGVyKChqKT0+ai50b2FzdGVySWQ9PT1YKTtyZXR1cm4gRC5maWx0ZXIoKGopPT4hai50b2FzdGVySWQpfSxbRCxYXSksZD1nLnVzZU1lbW8oKCk9PntyZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KFtZXS5jb25jYXQoUi5maWx0ZXIoKGopPT5qLnBvc2l0aW9uKS5tYXAoKGopPT5qLnBvc2l0aW9uKSkpKX0sW1IsWV0pLFtuLG9dPWcudXNlU3RhdGUoW10pLFthLGldPWcudXNlU3RhdGUoITEpLFtMMSxsXT1nLnVzZVN0YXRlKCExKSxbZixYMV09Zy51c2VTdGF0ZShVIT09InN5c3RlbSI/VTp0eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOiJsaWdodCIpLFoxPWcudXNlUmVmKG51bGwpLFUxPXEuam9pbigiKyIpLnJlcGxhY2UoL0tleS9nLCIiKS5yZXBsYWNlKC9EaWdpdC9nLCIiKSxzPWcudXNlUmVmKG51bGwpLEoxPWcudXNlUmVmKCExKSxxMT1nLnVzZUNhbGxiYWNrKChqKT0+e2UoKHApPT57dmFyIF87aWYoISgoXz1wLmZpbmQoKGgpPT5oLmlkPT09ai5pZCkpPT1udWxsP3ZvaWQgMDpfLmRlbGV0ZSkpSzAuZGlzbWlzcyhqLmlkKTtyZXR1cm4gcC5maWx0ZXIoKHtpZDpofSk9PmghPT1qLmlkKX0pfSxbXSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57cmV0dXJuIEswLnN1YnNjcmliZSgoaik9PntpZihqLmRpc21pc3Mpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2UoKHApPT5wLm1hcCgoXyk9Pl8uaWQ9PT1qLmlkP3suLi5fLGRlbGV0ZTohMH06XykpfSk7cmV0dXJufXNldFRpbWVvdXQoKCk9PntnLmZsdXNoU3luYygoKT0+e2UoKHApPT57bGV0IF89cC5maW5kSW5kZXgoKGgpPT5oLmlkPT09ai5pZCk7aWYoXyE9PS0xKXJldHVyblsuLi5wLnNsaWNlKDAsXyksey4uLnBbX10sLi4uan0sLi4ucC5zbGljZShfKzEpXTtyZXR1cm5baiwuLi5wXX0pfSl9KX0pfSxbRF0pLGcudXNlRWZmZWN0KCgpPT57aWYoVSE9PSJzeXN0ZW0iKXtYMShVKTtyZXR1cm59aWYoVT09PSJzeXN0ZW0iKWlmKHdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXMpWDEoImRhcmsiKTtlbHNlIFgxKCJsaWdodCIpO2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybjtsZXQgaj13aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpO3RyeXtqLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHttYXRjaGVzOnB9KT0+e2lmKHApWDEoImRhcmsiKTtlbHNlIFgxKCJsaWdodCIpfSl9Y2F0Y2gocCl7ai5hZGRMaXN0ZW5lcigoe21hdGNoZXM6X30pPT57dHJ5e2lmKF8pWDEoImRhcmsiKTtlbHNlIFgxKCJsaWdodCIpfWNhdGNoKGgpe2NvbnNvbGUuZXJyb3IoaCl9fSl9fSxbVV0pLGcudXNlRWZmZWN0KCgpPT57aWYoRC5sZW5ndGg8PTEpaSghMSl9LFtEXSksZy51c2VFZmZlY3QoKCk9PntsZXQgaj0ocCk9Pnt2YXIgXztpZihxLmV2ZXJ5KCh2KT0+cFt2XXx8cC5jb2RlPT09dikpe3ZhciBtO2koITApLChtPVoxLmN1cnJlbnQpPT1udWxsfHxtLmZvY3VzKCl9aWYocC5jb2RlPT09IkVzY2FwZSImJihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09WjEuY3VycmVudHx8KChfPVoxLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpfLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSkpaSghMSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixqKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsail9LFtxXSksZy51c2VFZmZlY3QoKCk9PntpZihaMS5jdXJyZW50KXJldHVybigpPT57aWYocy5jdXJyZW50KXMuY3VycmVudC5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLHMuY3VycmVudD1udWxsLEoxLmN1cnJlbnQ9ITF9fSxbWjEuY3VycmVudF0pLGcuY3JlYXRlRWxlbWVudCgic2VjdGlvbiIse3JlZjpKLCJhcmlhLWxhYmVsIjpgJHt4fSAke1UxfWAsdGFiSW5kZXg6LTEsImFyaWEtbGl2ZSI6InBvbGl0ZSIsImFyaWEtcmVsZXZhbnQiOiJhZGRpdGlvbnMgdGV4dCIsImFyaWEtYXRvbWljIjoiZmFsc2UiLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMH0sZC5tYXAoKGoscCk9Pnt2YXIgXztsZXRbaCxtXT1qLnNwbGl0KCItIik7aWYoIVIubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiBnLmNyZWF0ZUVsZW1lbnQoIm9sIix7a2V5OmosZGlyOlc9PT0iYXV0byI/czYoKTpXLHRhYkluZGV4Oi0xLHJlZjpaMSxjbGFzc05hbWU6TiwiZGF0YS1zb25uZXItdG9hc3RlciI6ITAsImRhdGEtc29ubmVyLXRoZW1lIjpmLCJkYXRhLXktcG9zaXRpb24iOmgsImRhdGEteC1wb3NpdGlvbiI6bSxzdHlsZTp7Ii0tZnJvbnQtdG9hc3QtaGVpZ2h0IjpgJHsoKF89blswXSk9PW51bGw/dm9pZCAwOl8uaGVpZ2h0KXx8MH1weGAsIi0td2lkdGgiOmAke0JKfXB4YCwiLS1nYXAiOmAke1R9cHhgLC4uLkwsLi4uQ0ooeixWKX0sb25CbHVyOih2KT0+e2lmKEoxLmN1cnJlbnQmJiF2LmN1cnJlbnRUYXJnZXQuY29udGFpbnModi5yZWxhdGVkVGFyZ2V0KSl7aWYoSjEuY3VycmVudD0hMSxzLmN1cnJlbnQpcy5jdXJyZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSkscy5jdXJyZW50PW51bGx9fSxvbkZvY3VzOih2KT0+e2lmKHYudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnYudGFyZ2V0LmRhdGFzZXQuZGlzbWlzc2libGU9PT0iZmFsc2UiKXJldHVybjtpZighSjEuY3VycmVudClKMS5jdXJyZW50PSEwLHMuY3VycmVudD12LnJlbGF0ZWRUYXJnZXR9LG9uTW91c2VFbnRlcjooKT0+aSghMCksb25Nb3VzZU1vdmU6KCk9PmkoITApLG9uTW91c2VMZWF2ZTooKT0+e2lmKCFMMSlpKCExKX0sb25EcmFnRW5kOigpPT5pKCExKSxvblBvaW50ZXJEb3duOih2KT0+e2lmKHYudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnYudGFyZ2V0LmRhdGFzZXQuZGlzbWlzc2libGU9PT0iZmFsc2UiKXJldHVybjtsKCEwKX0sb25Qb2ludGVyVXA6KCk9PmwoITEpfSxSLmZpbHRlcigodik9PiF2LnBvc2l0aW9uJiZwPT09MHx8di5wb3NpdGlvbj09PWopLm1hcCgodixZMSk9Pnt2YXIgVjEsdzE7cmV0dXJuIGcuY3JlYXRlRWxlbWVudChISix7a2V5OnYuaWQsaWNvbnM6UCxpbmRleDpZMSx0b2FzdDp2LGRlZmF1bHRSaWNoQ29sb3JzOkMsZHVyYXRpb246KFYxPU89PW51bGw/dm9pZCAwOk8uZHVyYXRpb24pIT1udWxsP1YxOk0sY2xhc3NOYW1lOk89PW51bGw/dm9pZCAwOk8uY2xhc3NOYW1lLGRlc2NyaXB0aW9uQ2xhc3NOYW1lOk89PW51bGw/dm9pZCAwOk8uZGVzY3JpcHRpb25DbGFzc05hbWUsaW52ZXJ0OkssdmlzaWJsZVRvYXN0czpILGNsb3NlQnV0dG9uOih3MT1PPT1udWxsP3ZvaWQgMDpPLmNsb3NlQnV0dG9uKSE9bnVsbD93MTpCLGludGVyYWN0aW5nOkwxLHBvc2l0aW9uOmosc3R5bGU6Tz09bnVsbD92b2lkIDA6Ty5zdHlsZSx1bnN0eWxlZDpPPT1udWxsP3ZvaWQgMDpPLnVuc3R5bGVkLGNsYXNzTmFtZXM6Tz09bnVsbD92b2lkIDA6Ty5jbGFzc05hbWVzLGNhbmNlbEJ1dHRvblN0eWxlOk89PW51bGw/dm9pZCAwOk8uY2FuY2VsQnV0dG9uU3R5bGUsYWN0aW9uQnV0dG9uU3R5bGU6Tz09bnVsbD92b2lkIDA6Ty5hY3Rpb25CdXR0b25TdHlsZSxjbG9zZUJ1dHRvbkFyaWFMYWJlbDpPPT1udWxsP3ZvaWQgMDpPLmNsb3NlQnV0dG9uQXJpYUxhYmVsLHJlbW92ZVRvYXN0OnExLHRvYXN0czpSLmZpbHRlcigoRjEpPT5GMS5wb3NpdGlvbj09di5wb3NpdGlvbiksaGVpZ2h0czpuLmZpbHRlcigoRjEpPT5GMS5wb3NpdGlvbj09di5wb3NpdGlvbiksc2V0SGVpZ2h0czpvLGV4cGFuZEJ5RGVmYXVsdDpHLGdhcDpULGV4cGFuZGVkOmEsc3dpcGVEaXJlY3Rpb25zOlEuc3dpcGVEaXJlY3Rpb25zfSl9KSl9KSl9KTtmdW5jdGlvbiAkNCgpe3JldHVybiBaKGU2LHt0aGVtZToiZGFyayIscG9zaXRpb246ImJvdHRvbS1jZW50ZXIiLHZpc2libGVUb2FzdHM6NCxnYXA6OCxvZmZzZXQ6e2JvdHRvbToyNH0sdG9hc3RPcHRpb25zOnt1bnN0eWxlZDohMH0sc3R5bGU6e3pJbmRleDoyMTQ3NDgzNjQ3fSxjb250YWluZXJBcmlhTGFiZWw6InNlcnZlLXNpbSBub3RpZmljYXRpb25zIn0pfWZ1bmN0aW9uIFE0KHt0b2FzdDokfSl7bGV0IFE9JC5zdGF0dXM9PT0iZXJyb3IiLEo9JC5zdGF0dXM9PT0idXBsb2FkaW5nIixYPUomJiQucHJvZ3Jlc3MhPT1udWxsLEs9JC5wcm9ncmVzcyE9bnVsbD9NYXRoLnJvdW5kKCQucHJvZ3Jlc3MqMTAwKTowO3JldHVybiBaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJ1cGxvYWQtdG9hc3QiLGNsYXNzTmFtZTpgZmxleCB3LVttaW4oMzIwcHgsY2FsYygxMDB2dy0zMnB4KSldIGZsZXgtY29sIGdhcC0xLjUgcHgtMyBweS0yIGJnLXBhbmVsIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC1sZyB0ZXh0LXdoaXRlLzkwIHRleHQtWzEycHhdIGZvbnQtbW9ubyBzaGFkb3ctWzBfOHB4XzI0cHhfcmdiYSgwLDAsMCwwLjQ1KV0gJHtRPyJzZWxlY3QtdGV4dCBjdXJzb3ItdGV4dCI6InNlbGVjdC1ub25lIGN1cnNvci1kZWZhdWx0In1gLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1pbi13LTAiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJzaXplLTEuNSByb3VuZGVkLWZ1bGwgc2hyaW5rLTAgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjNzXSIsc3R5bGU6e2JhY2tncm91bmQ6Sj8iI2E1YjRmYyI6JC5zdGF0dXM9PT0ic3VjY2VzcyI/IiM0YWRlODAiOiIjZjg3MTcxIn19KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOltKJiZYJiZgVXBsb2FkaW5nICR7JC5uYW1lfeKApiAke0t9JWAsSiYmIVgmJigkLmtpbmQ9PT0iaXBhIj9gSW5zdGFsbGluZyAkeyQubmFtZX3igKZgOmBBZGRpbmcgJHskLm5hbWV94oCmYCksJC5zdGF0dXM9PT0ic3VjY2VzcyImJigkLmtpbmQ9PT0iaXBhIj9gSW5zdGFsbGVkICR7JC5uYW1lfWA6YEFkZGVkICR7JC5uYW1lfSB0byBQaG90b3NgKSxRJiZgJHskLm5hbWV9OiAkeyQubWVzc2FnZT8/IlVwbG9hZCBmYWlsZWQifWBdfSldfSksSiYmWigiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBoLVszcHhdIHctZnVsbCBiZy13aGl0ZS84IHJvdW5kZWQtWzJweF0gb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpYP1ooImRpdiIse2NsYXNzTmFtZToiaC1mdWxsIGJnLWFjY2VudCByb3VuZGVkLVsycHhdIFt0cmFuc2l0aW9uOndpZHRoXzEyMG1zX2xpbmVhcl0iLHN0eWxlOnt3aWR0aDpgJHtLfSVgfX0pOlooImRpdiIse2NsYXNzTmFtZToic2VydmUtc2ltLXRvYXN0LWluZGV0ZXJtaW5hdGUgYWJzb2x1dGUgdG9wLTAgbGVmdC0wIGgtZnVsbCB3LVs0MCVdIGJnLWFjY2VudCByb3VuZGVkLVsycHhdIn0pfSldfSl9ZnVuY3Rpb24gSjQoe3dpZHRoOiQsaGVpZ2h0OlEsdmlzaWJsZTpKfSl7cmV0dXJuIFooImRpdiIseyJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzTmFtZToiYWJzb2x1dGUgcmlnaHQtMyBib3R0b20tMyB6LTIwIHBvaW50ZXItZXZlbnRzLW5vbmUgc2VsZWN0LW5vbmUgcm91bmRlZC1sZyBweC0yLjUgcHktMSB0ZXh0LVsxMS41cHhdIGZvbnQtbW9ubyBsZWFkaW5nLW5vbmUgdHJhY2tpbmctd2lkZSB0ZXh0LXdoaXRlLzk1IGJnLXBhbmVsLWJnLXRyYW5zbHVjZW50IHNoYWRvdy1bMF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4xOCksMF82cHhfMThweF9yZ2JhKDAsMCwwLDAuMjgpLGluc2V0XzBfMF8wXzFweF9yZ2JhKDI1NSwyNTUsMjU1LDAuMDYpXSBiYWNrZHJvcC1ibHVyLW1kIGJhY2tkcm9wLXNhdHVyYXRlLTE1MCB3aGl0ZXNwYWNlLW5vd3JhcCIsc3R5bGU6e29wYWNpdHk6Sj8xOjAsdHJhbnNmb3JtOmB0cmFuc2xhdGVZKCR7Sj8wOjR9cHgpIHNjYWxlKCR7Sj8xOjAuOTZ9KWAsdHJhbnNmb3JtT3JpZ2luOiIxMDAlIDEwMCUiLHRyYW5zaXRpb246Im9wYWNpdHkgMTgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDIyMG1zIGN1YmljLWJlemllcigwLjIsIDAuODIsIDAuMjIsIDEpIn0sY2hpbGRyZW46W01hdGgucm91bmQoJCksIiAiLFooInNwYW4iLHtjbGFzc05hbWU6Im9wYWNpdHktNjAgbXgtMC41IixjaGlsZHJlbjoiw5cifSksIiAiLE1hdGgucm91bmQoUSldfSl9ZnVuY3Rpb24gWjQoe3N0cmVhbWluZzokfSl7bGV0IFE9JD8iIzRhZGU4MCI6IiM4ZThlOTMiO3JldHVybiBaKCJzcGFuIix7ImRhdGEtdGVzdGlkIjoic3RyZWFtLXN0YXR1cy1waWxsIixjbGFzc05hbWU6ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtWzVweF0gdGV4dC1bMTJweF0gZm9udC1tb25vIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSB3aGl0ZXNwYWNlLW5vd3JhcCIsc3R5bGU6e2NvbG9yOlF9LCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNoaWxkcmVuOltaKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJzaXplLTEuNSByb3VuZGVkLWZ1bGwgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE4c19lYXNlXSIsc3R5bGU6e2JhY2tncm91bmQ6UX19KSwkPyJsaXZlIjoiY29ubmVjdGluZyJdfSl9ZnVuY3Rpb24gT0ooJCxRLEope2xldCBYPUoubGF0Kk1hdGguUEkvMTgwLEs9KCQtSi5sYXQpKk1hdGguUEkvMTgwO3JldHVybnt4OihRLUoubG5nKSpNYXRoLlBJLzE4MCpNYXRoLmNvcyhYKSo2MzcxMDAwLHo6LUsqNjM3MTAwMH19ZnVuY3Rpb24gRkooJCxRLEope2xldCBYPUoubGF0Kk1hdGguUEkvMTgwLEs9LVEvNjM3MTAwMCooMTgwL01hdGguUEkpLFk9JC8oNjM3MTAwMCpNYXRoLmNvcyhYKSkqKDE4MC9NYXRoLlBJKTtyZXR1cm57bGF0OkoubGF0K0ssbG5nOkoubG5nK1l9fWZ1bmN0aW9uIE1KKCQsUSxKLFgsSyl7bGV0IFk9SypLLHE9WSpLLEc9KEIsTix6LFYpPT4wLjUqKDIqTisoLUIreikqSysoMipCLTUqTis0KnotVikqWSsoLUIrMypOLTMqeitWKSpxKTtyZXR1cm57eDpHKCQueCxRLngsSi54LFgueCksejpHKCQueixRLnosSi56LFgueikseTpHKCQueSxRLnksSi55LFgueSkscmF3QWx0OkcoJC5yYXdBbHQsUS5yYXdBbHQsSi5yYXdBbHQsWC5yYXdBbHQpfX1mdW5jdGlvbiBBSigkLFEsSil7aWYoJC5sZW5ndGg8MilyZXR1cm4gJC5zbGljZSgpO2xldCBYPVtdLEs9JC5sZW5ndGgsWT1KP0s6Sy0xO2ZvcihsZXQgcT0wO3E8WTtxKyspe2xldCBHPSRbSj8ocS0xK0spJUs6TWF0aC5tYXgoMCxxLTEpXSxCPSRbcSVLXSxOPSRbKHErMSklS10sej0kW0o/KHErMiklSzpNYXRoLm1pbihLLTEscSsyKV0sVj1OLngtQi54LFU9Ti56LUIueixDPU1hdGguaHlwb3QoVixVKSxNPU1hdGgubWF4KDIsTWF0aC5jZWlsKEMvUSkpO2ZvcihsZXQgTD0wO0w8TTtMKyspe2xldCBIPUwvTTtYLnB1c2goTUooRyxCLE4seixIKSl9fWlmKCFKKVgucHVzaCgkW0stMV0pO3JldHVybiBYfWZ1bmN0aW9uIFg0KCQpe2lmKCQud2F5cG9pbnRzLmxlbmd0aDwyKXRocm93IEVycm9yKGBUcmFpbCAkeyQuaWR9IG5lZWRzIGF0IGxlYXN0IDIgd2F5cG9pbnRzYCk7bGV0IFE9e2xhdDokLndheXBvaW50cy5yZWR1Y2UoKEwsSCk9PkwrSC5sYXQsMCkvJC53YXlwb2ludHMubGVuZ3RoLGxuZzokLndheXBvaW50cy5yZWR1Y2UoKEwsSCk9PkwrSC5sbmcsMCkvJC53YXlwb2ludHMubGVuZ3RofSxKPSQud2F5cG9pbnRzLm1hcCgoTCk9PkwuYWx0Pz8wKSxYPU1hdGgubWluKC4uLkopLEs9TWF0aC5tYXgoLi4uSiksWT0kLndheXBvaW50cy5tYXAoKEwpPT57bGV0e3g6SCx6Ok99PU9KKEwubGF0LEwubG5nLFEpLFc9TC5hbHQ/PzA7cmV0dXJue3g6SCx6Ok8seTpXLVgscmF3QWx0Old9fSkscT1BSihZLDgsISEkLmxvb3ApLEc9W10sQj0wO2ZvcihsZXQgTD0wO0w8cS5sZW5ndGg7TCsrKXtsZXQgSD1xW0xdO2lmKEw+MCl7bGV0IFA9cVtMLTFdO0IrPU1hdGguaHlwb3QoSC54LVAueCxILnotUC56LEgueS1QLnkpfWxldHtsYXQ6Tyxsbmc6V309RkooSC54LEgueixRKSxUPU1hdGgubWF4KDAsSC55KTtHLnB1c2goe3g6SC54LHo6SC56LHk6VCxhcmM6QixsYXQ6Tyxsbmc6V30pfWxldCBOPTEvMCx6PS0xLzAsVj0xLzAsVT0tMS8wLEM9MS8wLE09LTEvMDtmb3IobGV0IEwgb2YgRyl7aWYoTC54PE4pTj1MLng7aWYoTC54Pnopej1MLng7aWYoTC56PFYpVj1MLno7aWYoTC56PlUpVT1MLno7aWYoTC55PEMpQz1MLnk7aWYoTC55Pk0pTT1MLnl9cmV0dXJue3RyYWlsOiQsb3JpZ2luOlEscG9pbnRzOkcsdG90YWxEaXN0YW5jZTpHW0cubGVuZ3RoLTFdLmFyYyxib3VuZHM6e3g6W04sel0seTpbQyxNXSx6OltWLFVdfSxyYXdNaW5BbHQ6WCxyYXdNYXhBbHQ6S319ZnVuY3Rpb24gZTAoJCxRKXtsZXQgSj0kLnRvdGFsRGlzdGFuY2U7aWYoSj09PTApcmV0dXJuICQucG9pbnRzWzBdO2xldCBYPVE7aWYoJC50cmFpbC5sb29wKVg9KFglSitKKSVKO2Vsc2V7aWYoWDw9MClyZXR1cm4gJC5wb2ludHNbMF07aWYoWD49SilyZXR1cm4gJC5wb2ludHNbJC5wb2ludHMubGVuZ3RoLTFdfWxldCBLPTAsWT0kLnBvaW50cy5sZW5ndGgtMTt3aGlsZShLKzE8WSl7bGV0IHo9SytZPj4+MTtpZigkLnBvaW50c1t6XS5hcmM8PVgpSz16O2Vsc2UgWT16fWxldCBxPSQucG9pbnRzW0tdLEc9JC5wb2ludHNbWV0sQj1HLmFyYy1xLmFyYyxOPUI9PT0wPzA6KFgtcS5hcmMpL0I7cmV0dXJue3g6cS54KyhHLngtcS54KSpOLHo6cS56KyhHLnotcS56KSpOLHk6cS55KyhHLnktcS55KSpOLGFyYzpYLGxhdDpxLmxhdCsoRy5sYXQtcS5sYXQpKk4sbG5nOnEubG5nKyhHLmxuZy1xLmxuZykqTn19ZnVuY3Rpb24gWTgoJCl7c3dpdGNoKCQpe2Nhc2Uid2FsayI6cmV0dXJuIDEuNDtjYXNlInJ1biI6cmV0dXJuIDM7Y2FzZSJjeWNsZSI6cmV0dXJuIDUuNTtjYXNlImRyaXZlIjpyZXR1cm4gMTMuNH19dmFyIGtKPVt7bGF0OjM3LjMzMjcyLGxuZzotMTIyLjAwODMzLGFsdDo0OX0se2xhdDozNy4zMzMwOSxsbmc6LTEyMi4wMDczNSxhbHQ6NDh9LHtsYXQ6MzcuMzMzNzMsbG5nOi0xMjIuMDA2NjMsYWx0OjQ5fSx7bGF0OjM3LjMzNDU0LGxuZzotMTIyLjAwNjI3LGFsdDo0OX0se2xhdDozNy4zMzU0LGxuZzotMTIyLjAwNjMzLGFsdDo0OX0se2xhdDozNy4zMzYxOCxsbmc6LTEyMi4wMDY3OSxhbHQ6NDV9LHtsYXQ6MzcuMzM2NzUsbG5nOi0xMjIuMDA3NTksYWx0OjQ1fSx7bGF0OjM3LjMzNzA0LGxuZzotMTIyLjAwODYxLGFsdDo0Nn0se2xhdDozNy4zMzY5OCxsbmc6LTEyMi4wMDk2OSxhbHQ6NDh9LHtsYXQ6MzcuMzM2NjIsbG5nOi0xMjIuMDEwNjYsYWx0OjQ4fSx7bGF0OjM3LjMzNTk4LGxuZzotMTIyLjAxMTM4LGFsdDo0OX0se2xhdDozNy4zMzUxNyxsbmc6LTEyMi4wMTE3NCxhbHQ6NTB9LHtsYXQ6MzcuMzM0MzEsbG5nOi0xMjIuMDExNjksYWx0OjUwfSx7bGF0OjM3LjMzMzU0LGxuZzotMTIyLjAxMTIyLGFsdDo1MH0se2xhdDozNy4zMzI5Nixsbmc6LTEyMi4wMTA0MixhbHQ6NTF9LHtsYXQ6MzcuMzMyNjgsbG5nOi0xMjIuMDA5NCxhbHQ6NTB9XSxXSj1be2xhdDozNy44MzIxMixsbmc6LTEyMi40ODA2NSxhbHQ6MzB9LHtsYXQ6MzcuODI5MzcsbG5nOi0xMjIuNDc5NzQsYWx0OjMwfSx7bGF0OjM3LjgyNjQ5LGxuZzotMTIyLjQ3OTQsYWx0OjMwfSx7bGF0OjM3LjgyMzYyLGxuZzotMTIyLjQ3OTA3LGFsdDo0NX0se2xhdDozNy44MjA3NCxsbmc6LTEyMi40Nzg3MyxhbHQ6NTl9LHtsYXQ6MzcuODE3ODYsbG5nOi0xMjIuNDc4MzksYWx0OjY2fSx7bGF0OjM3LjgxNDk4LGxuZzotMTIyLjQ3ODA2LGFsdDo2Nn0se2xhdDozNy44MTIxMSxsbmc6LTEyMi40Nzc3MixhbHQ6NTh9LHtsYXQ6MzcuODA5MjMsbG5nOi0xMjIuNDc3MzQsYWx0OjQ0fSx7bGF0OjM3LjgwOTQ5LGxuZzotMTIyLjQ3NzMsYWx0OjQ1fSx7bGF0OjM3LjgxMjM2LGxuZzotMTIyLjQ3NzY1LGFsdDo1OX0se2xhdDozNy44MTUyNCxsbmc6LTEyMi40Nzc5OCxhbHQ6NjZ9LHtsYXQ6MzcuODE4MTIsbG5nOi0xMjIuNDc4MzIsYWx0OjY2fSx7bGF0OjM3LjgyMSxsbmc6LTEyMi40Nzg2NixhbHQ6NTh9LHtsYXQ6MzcuODIzODcsbG5nOi0xMjIuNDc5LGFsdDo0NH0se2xhdDozNy44MjY3NSxsbmc6LTEyMi40NzkzMyxhbHQ6MzB9LHtsYXQ6MzcuODI5NjMsbG5nOi0xMjIuNDc5NjcsYWx0OjMwfSx7bGF0OjM3LjgzMjMzLGxuZzotMTIyLjQ4MDcyLGFsdDozMH1dLF9KPVt7bGF0OjM3Ljg4NjY0LGxuZzotMTIyLjYyNTk5LGFsdDoxMjF9LHtsYXQ6MzcuODg4ODcsbG5nOi0xMjIuNjIzMzIsYWx0OjEzNX0se2xhdDozNy44OTExNSxsbmc6LTEyMi42MjE2LGFsdDoxNjR9LHtsYXQ6MzcuODkzNTMsbG5nOi0xMjIuNjE5MjEsYWx0OjE4MH0se2xhdDozNy44OTQ2Nixsbmc6LTEyMi42MTU3NyxhbHQ6MjIwfSx7bGF0OjM3Ljg5NjMxLGxuZzotMTIyLjYxMjY4LGFsdDoyNzN9LHtsYXQ6MzcuODk5MTcsbG5nOi0xMjIuNjEwOTgsYWx0OjMxM30se2xhdDozNy45MDE2Nixsbmc6LTEyMi42MDg1NSxhbHQ6MzQyfSx7bGF0OjM3LjkwMTk5LGxuZzotMTIyLjYwNjAxLGFsdDo0MDh9LHtsYXQ6MzcuOTAzMzksbG5nOi0xMjIuNjA0MDEsYWx0OjQ1MH0se2xhdDozNy45MDY2Mixsbmc6LTEyMi42MDI5MSxhbHQ6NDQwfSx7bGF0OjM3LjkwOTcxLGxuZzotMTIyLjYwMTczLGFsdDo0MzJ9LHtsYXQ6MzcuOTEyMTMsbG5nOi0xMjIuNjAwMDcsYWx0OjQzNn0se2xhdDozNy45MTQzOSxsbmc6LTEyMi41OTc4LGFsdDo0MTB9LHtsYXQ6MzcuOTEyODUsbG5nOi0xMjIuNTk1MDQsYWx0OjQyMn0se2xhdDozNy45MTI3NCxsbmc6LTEyMi41OTIwMixhbHQ6NDI1fSx7bGF0OjM3LjkxNSxsbmc6LTEyMi41OTAzMixhbHQ6NDEyfSx7bGF0OjM3LjkxNjM3LGxuZzotMTIyLjU4OTAzLGFsdDo0MDZ9LHtsYXQ6MzcuOTE0ODEsbG5nOi0xMjIuNTg1OTUsYWx0OjM4Mn0se2xhdDozNy45MTc0LGxuZzotMTIyLjU4Mzk4LGFsdDozNzJ9LHtsYXQ6MzcuOTE2NDIsbG5nOi0xMjIuNTgyMzYsYWx0OjM1Mn0se2xhdDozNy45MTQ4MSxsbmc6LTEyMi41ODAxMSxhbHQ6MzQyfV0sREo9W3tsYXQ6NDAuNzgyMTYsbG5nOi03My45NjI1NCxhbHQ6Mzd9LHtsYXQ6NDAuNzgyMjEsbG5nOi03My45NjA5OCxhbHQ6MzZ9LHtsYXQ6NDAuNzgzMjgsbG5nOi03My45NjAxLGFsdDozNn0se2xhdDo0MC43ODQ0LGxuZzotNzMuOTU5MyxhbHQ6MzZ9LHtsYXQ6NDAuNzg1NSxsbmc6LTczLjk1ODQ4LGFsdDozNn0se2xhdDo0MC43ODY2NCxsbmc6LTczLjk1Nzc0LGFsdDozNn0se2xhdDo0MC43ODc5LGxuZzotNzMuOTU3NjQsYWx0OjM2fSx7bGF0OjQwLjc4ODk4LGxuZzotNzMuOTU3OTIsYWx0OjM2fSx7bGF0OjQwLjc4ODY4LGxuZzotNzMuOTU5NTEsYWx0OjM3fSx7bGF0OjQwLjc4ODk3LGxuZzotNzMuOTYxMTIsYWx0OjM2fSx7bGF0OjQwLjc4ODMzLGxuZzotNzMuOTYyNSxhbHQ6Mzd9LHtsYXQ6NDAuNzg4MjgsbG5nOi03My45NjQxNixhbHQ6Mzd9LHtsYXQ6NDAuNzg4MDUsbG5nOi03My45NjU3MyxhbHQ6MzZ9LHtsYXQ6NDAuNzg2OTEsbG5nOi03My45NjYzNixhbHQ6MzZ9LHtsYXQ6NDAuNzg1NjYsbG5nOi03My45NjY2NSxhbHQ6MzZ9LHtsYXQ6NDAuNzg0NTgsbG5nOi03My45NjYwOCxhbHQ6MzZ9LHtsYXQ6NDAuNzg0MDIsbG5nOi03My45NjQ1OSxhbHQ6MzZ9LHtsYXQ6NDAuNzgzMjIsbG5nOi03My45NjMzNCxhbHQ6Mzd9XSxQSj1be2xhdDozNy41OTY1OSxsbmc6LTEyMi41MDMxNixhbHQ6NH0se2xhdDozNy41OTU1NSxsbmc6LTEyMi41MDQyNCxhbHQ6NH0se2xhdDozNy41OTQ1Mixsbmc6LTEyMi41MDUzNCxhbHQ6NX0se2xhdDozNy41OTMyOSxsbmc6LTEyMi41MDU4OCxhbHQ6OX0se2xhdDozNy41OTIxMixsbmc6LTEyMi41MDUwOCxhbHQ6MjB9LHtsYXQ6MzcuNTkxLGxuZzotMTIyLjUwNDEzLGFsdDoyOX0se2xhdDozNy41ODk3NCxsbmc6LTEyMi41MDQxNixhbHQ6NDB9LHtsYXQ6MzcuNTg4Nyxsbmc6LTEyMi41MDUyNCxhbHQ6NTF9LHtsYXQ6MzcuNTg3NDUsbG5nOi0xMjIuNTA0OTYsYWx0OjYwfSx7bGF0OjM3LjU4NjI3LGxuZzotMTIyLjUwNDIyLGFsdDo3MX0se2xhdDozNy41ODUzOSxsbmc6LTEyMi41MDUzNCxhbHQ6ODJ9LHtsYXQ6MzcuNTg1MDUsbG5nOi0xMjIuNTA2OTgsYWx0OjkzfSx7bGF0OjM3LjU4NTM5LGxuZzotMTIyLjUwNTM0LGFsdDo4Mn0se2xhdDozNy41ODYyNyxsbmc6LTEyMi41MDQyMixhbHQ6NzF9LHtsYXQ6MzcuNTg3NDUsbG5nOi0xMjIuNTA0OTYsYWx0OjYwfSx7bGF0OjM3LjU4ODcsbG5nOi0xMjIuNTA1MjQsYWx0OjUxfSx7bGF0OjM3LjU4OTc0LGxuZzotMTIyLjUwNDE2LGFsdDo0MH0se2xhdDozNy41OTEsbG5nOi0xMjIuNTA0MTMsYWx0OjI5fSx7bGF0OjM3LjU5MjEyLGxuZzotMTIyLjUwNTA4LGFsdDoyMH0se2xhdDozNy41OTMyOSxsbmc6LTEyMi41MDU4OCxhbHQ6OX0se2xhdDozNy41OTQ1Mixsbmc6LTEyMi41MDUzNCxhbHQ6NX0se2xhdDozNy41OTU1NSxsbmc6LTEyMi41MDQyNCxhbHQ6NH1dLCQyPVt7aWQ6ImFwcGxlLXBhcmstbG9vcCIsbmFtZToiQXBwbGUgUGFyayBMb29wIixkZXNjcmlwdGlvbjoiQ3VwZXJ0aW5vIOKAoiBmbGF0IHJpbmcgcm9hZCIsbW9kZToid2FsayIsd2F5cG9pbnRzOmtKLGxvb3A6ITB9LHtpZDoiZ29sZGVuLWdhdGUiLG5hbWU6IkdvbGRlbiBHYXRlIENyb3NzaW5nIixkZXNjcmlwdGlvbjoiU2FuIEZyYW5jaXNjbyDigKIgYnJpZGdlIHJvdW5kLXRyaXAiLG1vZGU6InJ1biIsd2F5cG9pbnRzOldKLGxvb3A6ITB9LHtpZDoidGFtLXJpZGdlIixuYW1lOiJNdC4gVGFtIFJpZGdlIixkZXNjcmlwdGlvbjoiU3RpbnNvbiBCZWFjaCDigKIgU3RlZXAgUmF2aW5lICsgTWF0dCBEYXZpcyBsb29wIixtb2RlOiJ3YWxrIix3YXlwb2ludHM6X0osbG9vcDohMH0se2lkOiJjZW50cmFsLXBhcmsiLG5hbWU6IlJlc2Vydm9pciBMb29wIixkZXNjcmlwdGlvbjoiQ2VudHJhbCBQYXJrIOKAoiAyLjUga20iLG1vZGU6InJ1biIsd2F5cG9pbnRzOkRKLGxvb3A6ITB9LHtpZDoicGNoLXBhY2lmaWNhIixuYW1lOiJQYWNpZmljIENvYXN0IEh3eSIsZGVzY3JpcHRpb246IlBhY2lmaWNhIOKAoiBEZXZpbCdzIFNsaWRlIHJvdW5kLXRyaXAiLG1vZGU6ImRyaXZlIix3YXlwb2ludHM6UEosbG9vcDohMH1dO2Z1bmN0aW9uIHMxKHtvcGVuOiQsb25PcGVuQ2hhbmdlOlEsc3VtbWFyeTpKLGNoaWxkcmVuOlgsc3VtbWFyeUNsYXNzTmFtZTpLPSIiLGJvZHlDbGFzc05hbWU6WT0iZmxleCBmbGV4LWNvbCBnYXAtMi41IHB0LTIuNSIsY2xhc3NOYW1lOnE9IiIsLi4uR30pe3JldHVybiBaKCJkZXRhaWxzIix7b3BlbjokLG9uVG9nZ2xlOihCKT0+UShCLmN1cnJlbnRUYXJnZXQub3BlbiksY2xhc3NOYW1lOmBsZW0tc2VjdGlvbiBiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIgJHtxfWAsLi4uRyxjaGlsZHJlbjpbWigic3VtbWFyeSIse2NsYXNzTmFtZTpgbGVtLXRvZ2dsZSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0ZXh0LXdoaXRlLzkwIG1pbi1oLVszNnB4XSBsZWFkaW5nLW5vbmUgcHktMi41IHB4LTEgLW15LTIgLW14LTEgdy1bY2FsYygxMDAlKzhweCldICR7S31gLGNoaWxkcmVuOltKLFooaTIse29wZW46JH0pXX0pLFooImRpdiIse2NsYXNzTmFtZTpZLGNoaWxkcmVuOlh9KV19KX1mdW5jdGlvbiByNSh7bGFiZWw6JCx2YWx1ZTpRLG9wdGlvbnM6SixkaXNhYmxlZDpYLG9uQ2hhbmdlOkssY2xhc3NOYW1lOll9KXtsZXRbcSxHXT1rKCExKSxCPXcobnVsbCksTj13KG51bGwpLFt6LFZdPWsobnVsbCksVT0oKT0+e2xldCBIPUIuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoIUgpcmV0dXJuO1Yoe3RvcDpILmJvdHRvbSs0LGxlZnQ6SC5sZWZ0LG1pbldpZHRoOkgud2lkdGh9KX07VDAoKCk9PntpZihxKVUoKX0sW3FdKSxUMCgoKT0+e2lmKCFxfHwheilyZXR1cm47bGV0IEg9Ti5jdXJyZW50LE89Qi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZighSHx8IU8pcmV0dXJuO2xldCBXPTgsVD13aW5kb3cuaW5uZXJXaWR0aC1ILm9mZnNldFdpZHRoLVcsUD16LmxlZnQ+VD9NYXRoLm1heChXLFQpOnoubGVmdCx4PU8udG9wLUgub2Zmc2V0SGVpZ2h0LTQsRD16LnRvcCtILm9mZnNldEhlaWdodDw9d2luZG93LmlubmVySGVpZ2h0LVc/ei50b3A6eD49Vz94Ok1hdGgubWF4KFcsd2luZG93LmlubmVySGVpZ2h0LUgub2Zmc2V0SGVpZ2h0LVcpO2lmKEQhPT16LnRvcHx8UCE9PXoubGVmdClWKHsuLi56LHRvcDpELGxlZnQ6UH0pfSxbcSx6XSkseSgoKT0+e2lmKCFxKXJldHVybjtsZXQgSD0oKT0+RyghMSksTz0oVCk9PntsZXQgUD1ULnRhcmdldDtpZighTi5jdXJyZW50Py5jb250YWlucyhQKSYmIUIuY3VycmVudD8uY29udGFpbnMoUCkpSCgpfSxXPShUKT0+e2lmKCFOLmN1cnJlbnQ/LmNvbnRhaW5zKFQudGFyZ2V0KSlVKCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixPKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixXLCEwKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixIKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLE8pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFcsITApLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLEgpfX0sW3FdKTtsZXQgQz13KCExKTt5KCgpPT57aWYoIXEpe0MuY3VycmVudD0hMTtyZXR1cm59aWYoIXp8fEMuY3VycmVudClyZXR1cm47bGV0IEg9Ti5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKCJbcm9sZT1vcHRpb25dIik7aWYoIUg/Lmxlbmd0aClyZXR1cm47Qy5jdXJyZW50PSEwO2xldCBPPUouZmluZEluZGV4KChXKT0+Vy52YWx1ZT09PVEpO0hbTWF0aC5tYXgoTywwKV0/LmZvY3VzKCl9LFtxLHosSixRXSk7bGV0IE09KEgpPT57bGV0IE89Wy4uLk4uY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbCgiW3JvbGU9b3B0aW9uXSIpPz9bXV0sVz1PLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7aWYoSC5rZXk9PT0iQXJyb3dEb3duInx8SC5rZXk9PT0iQXJyb3dVcCIpe0gucHJldmVudERlZmF1bHQoKTtsZXQgVD1ILmtleT09PSJBcnJvd0Rvd24iP01hdGgubWluKFcrMSxPLmxlbmd0aC0xKTpNYXRoLm1heChXLTEsMCk7T1tUXT8uZm9jdXMoKX1lbHNlIGlmKEgua2V5PT09IkVzY2FwZSIpSC5wcmV2ZW50RGVmYXVsdCgpLEcoITEpLEIuY3VycmVudD8uZm9jdXMoKX0sTD1KLmZpbmQoKEgpPT5ILnZhbHVlPT09USk7cmV0dXJuIFooUTEse2NoaWxkcmVuOltaKCJidXR0b24iLHtyZWY6Qix0eXBlOiJidXR0b24iLCJhcmlhLWxhYmVsIjokLCJhcmlhLWhhc3BvcHVwIjoibGlzdGJveCIsImFyaWEtZXhwYW5kZWQiOnEsZGlzYWJsZWQ6WCxvbkNsaWNrOigpPT5HKChIKT0+IUgpLGNsYXNzTmFtZTpgdGV4dC1sZWZ0IGZvbnQtW2luaGVyaXRdIGN1cnNvci1wb2ludGVyIGRpc2FibGVkOmN1cnNvci1kZWZhdWx0ICR7WT8/IiJ9YCxjaGlsZHJlbjpaKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayB0cnVuY2F0ZSIsY2hpbGRyZW46TD8ubGFiZWw/P1F9KX0pLHEmJnomJkkzKFooImRpdiIse3JlZjpOLHJvbGU6Imxpc3Rib3giLCJhcmlhLWxhYmVsIjokLG9uS2V5RG93bjpNLHN0eWxlOnt0b3A6ei50b3AsbGVmdDp6LmxlZnQsbWluV2lkdGg6ei5taW5XaWR0aH0sY2xhc3NOYW1lOiJmaXhlZCBtYXgtaC05MCBvdmVyZmxvdy15LWF1dG8gYmctcGFuZWwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLVsxMHB4XSBwLTEgc2hhZG93LVswXzhweF8yNHB4X3JnYmEoMCwwLDAsMC41KV0gdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCB6LTUwIixjaGlsZHJlbjpKLm1hcCgoSCk9PlooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIscm9sZToib3B0aW9uIiwiYXJpYS1zZWxlY3RlZCI6SC52YWx1ZT09PVEsb25DbGljazooKT0+e0soSC52YWx1ZSksRyghMSksQi5jdXJyZW50Py5mb2N1cygpfSxjbGFzc05hbWU6YGJsb2NrIHctZnVsbCB0ZXh0LWxlZnQgZm9udC1baW5oZXJpdF0gcHgtMi41IHB5LTEgcm91bmRlZC1tZCBjdXJzb3ItcG9pbnRlciB3aGl0ZXNwYWNlLW5vd3JhcCB0cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpiZy13aGl0ZS84IGZvY3VzLXZpc2libGU6Ymctd2hpdGUvOCBvdXRsaW5lLW5vbmUgJHtILnZhbHVlPT09UT8idGV4dC1hY2NlbnQiOiIifWAsY2hpbGRyZW46SC5sYWJlbH0sSC52YWx1ZSkpfSksZG9jdW1lbnQuYm9keSldfSl9dmFyIFRKPTY1MCxxOD1bMSwyLDUsMjBdLEs0PTEwMDAsRzg9e3N0YXR1czoiaWRsZSIsYXJjOjAsZWxhcHNlZE1zOjB9O2Z1bmN0aW9uIE40KHt1ZGlkOiQsZXhlYzpRfSl7bGV0W0osWF09ayghMSksW0ssWV09aygkMlswXS5pZCksW3EsR109aygkMlswXS5tb2RlKSxbQixOXT1rKDEpLFt6LFZdPWsoRzgpLFtVLENdPWsobnVsbCksTT1EMSgoKT0+JDIuZmluZCgobCk9PmwuaWQ9PT1LKT8/JDJbMF0sW0tdKSxMPUQxKCgpPT5YNChNKSxbTV0pLEg9dygwKSxPPXcoImlkbGUiKSxXPXcoWTgocSkqQiksVD13KDApLFA9dyhMKSx4PXcobnVsbCk7eSgoKT0+e1cuY3VycmVudD1ZOChxKSpCfSxbcSxCXSk7bGV0IEQ9dyhudWxsKTt5KCgpPT57bGV0IGw9UC5jdXJyZW50LGY9SC5jdXJyZW50O2lmKFAuY3VycmVudD1MLGwmJmwhPT1MKUQuY3VycmVudD1JSihsLGYsTCxwZXJmb3JtYW5jZS5ub3coKSk7SC5jdXJyZW50PTAsVC5jdXJyZW50PTAsTy5jdXJyZW50PSJpZGxlIix4LmN1cnJlbnQ9bnVsbCxWKEc4KX0sW0xdKTtsZXQgZT13KDApLFI9dyhudWxsKSxkPXcobnVsbCk7eSgoKT0+e2xldCBsPTAsZj0oWDEpPT57bGV0IFoxPVIuY3VycmVudCxVMT1aMT09bnVsbD8xNjpNYXRoLm1pbig2NCxYMS1aMSk7aWYoUi5jdXJyZW50PVgxLGUuY3VycmVudD0oZS5jdXJyZW50K1UxKjAuMDAwMTIpJShNYXRoLlBJKjIpLE8uY3VycmVudD09PSJwbGF5aW5nIil7bGV0IEoxPVcuY3VycmVudCpVMS8xMDAwO0guY3VycmVudCs9SjEsVC5jdXJyZW50Kz1VMTtsZXQgcTE9UC5jdXJyZW50LnRvdGFsRGlzdGFuY2U7aWYoIVAuY3VycmVudC50cmFpbC5sb29wJiZILmN1cnJlbnQ+PXExKUguY3VycmVudD1xMSxPLmN1cnJlbnQ9InBhdXNlZCIsVih7c3RhdHVzOiJwYXVzZWQiLGFyYzpxMSxlbGFwc2VkTXM6VC5jdXJyZW50fSl9bGV0IHM9ZC5jdXJyZW50O2lmKHMpe2xldCBKMT1QLmN1cnJlbnQscTE9bnVsbCxqPUQuY3VycmVudDtpZihqKXtsZXQgcD0oWDEtai5zdGFydE1zKS9USjtpZihwPj0xKUQuY3VycmVudD1udWxsO2Vsc2V7bGV0IF89U0oocCk7SjE9eUooaixfKSxxMT17eDpqLnByZXZNYXJrZXIueCsoai5uZXh0TWFya2VyLngtai5wcmV2TWFya2VyLngpKl8seTpqLnByZXZNYXJrZXIueSsoai5uZXh0TWFya2VyLnktai5wcmV2TWFya2VyLnkpKl8sejpqLnByZXZNYXJrZXIueisoai5uZXh0TWFya2VyLnotai5wcmV2TWFya2VyLnopKl99fX14SihzLEoxLEguY3VycmVudCxlLmN1cnJlbnQsWDEsTy5jdXJyZW50PT09InBsYXlpbmciLHExKX1sPXJlcXVlc3RBbmltYXRpb25GcmFtZShmKX07cmV0dXJuIGw9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGYpLCgpPT5jYW5jZWxBbmltYXRpb25GcmFtZShsKX0sW10pLHkoKCk9PntsZXQgbD1zZXRJbnRlcnZhbCgoKT0+e2lmKE8uY3VycmVudD09PSJwbGF5aW5nIilWKHtzdGF0dXM6InBsYXlpbmciLGFyYzpILmN1cnJlbnQsZWxhcHNlZE1zOlQuY3VycmVudH0pfSwyNTApO3JldHVybigpPT5jbGVhckludGVydmFsKGwpfSxbXSkseSgoKT0+e2lmKHouc3RhdHVzIT09InBsYXlpbmciKXJldHVybjtsZXQgbD0hMSxmPTAsWDE9bnVsbCxaMT1hc3luYygpPT57aWYobHx8WDEpcmV0dXJuO2xldCBzPURhdGUubm93KCk7aWYocy1mPEs0KXJldHVybjtmPXM7bGV0IEoxPWUwKFAuY3VycmVudCxILmN1cnJlbnQpLHExPWB4Y3J1biBzaW1jdGwgbG9jYXRpb24gJHskfSBzZXQgJHtKMS5sYXQudG9GaXhlZCg3KX0sJHtKMS5sbmcudG9GaXhlZCg3KX1gO1gxPVEocTEpLnRoZW4oKGopPT57aWYobClyZXR1cm47aWYoai5leGl0Q29kZSE9PTApQyhCNChqLnN0ZGVycil8fCJzaW1jdGwgbG9jYXRpb24gc2V0IGZhaWxlZCIpO2Vsc2UgQyhudWxsKX0pLmNhdGNoKChqKT0+e2lmKCFsKUMoaiBpbnN0YW5jZW9mIEVycm9yP2oubWVzc2FnZTpTdHJpbmcoaikpfSkuZmluYWxseSgoKT0+e1gxPW51bGx9KX07WjEoKTtsZXQgVTE9c2V0SW50ZXJ2YWwoWjEsSzQpO3JldHVybigpPT57bD0hMCxjbGVhckludGVydmFsKFUxKX19LFt6LnN0YXR1cywkLFFdKTtsZXQgbj1JKCgpPT57aWYoTy5jdXJyZW50PT09InBsYXlpbmciKXtPLmN1cnJlbnQ9InBhdXNlZCIsVigobCk9Pih7Li4ubCxzdGF0dXM6InBhdXNlZCJ9KSk7cmV0dXJufWlmKEguY3VycmVudD49UC5jdXJyZW50LnRvdGFsRGlzdGFuY2UmJiFQLmN1cnJlbnQudHJhaWwubG9vcClILmN1cnJlbnQ9MCxULmN1cnJlbnQ9MDtpZih4LmN1cnJlbnQ9PW51bGwpe2xldCBsPWUwKFAuY3VycmVudCxILmN1cnJlbnQpO3guY3VycmVudD17bGF0OmwubGF0LGxuZzpsLmxuZ319Ty5jdXJyZW50PSJwbGF5aW5nIixWKChsKT0+KHsuLi5sLHN0YXR1czoicGxheWluZyIsYXJjOkguY3VycmVudCxlbGFwc2VkTXM6VC5jdXJyZW50fSkpfSxbXSksbz1JKCgpPT57Ty5jdXJyZW50PSJpZGxlIixILmN1cnJlbnQ9MCxULmN1cnJlbnQ9MCxWKEc4KTtsZXQgbD14LmN1cnJlbnQ7eC5jdXJyZW50PW51bGw7bGV0IGY9bD9geGNydW4gc2ltY3RsIGxvY2F0aW9uICR7JH0gc2V0ICR7bC5sYXQudG9GaXhlZCg3KX0sJHtsLmxuZy50b0ZpeGVkKDcpfWA6YHhjcnVuIHNpbWN0bCBsb2NhdGlvbiAkeyR9IGNsZWFyYDtRKGYpLnRoZW4oKFgxKT0+e2lmKFgxLmV4aXRDb2RlIT09MClDKEI0KFgxLnN0ZGVycil8fG51bGwpO2Vsc2UgQyhudWxsKX0pfSxbUSwkXSksYT1JKChsKT0+e1kobCk7bGV0IGY9JDIuZmluZCgoWDEpPT5YMS5pZD09PWwpO2lmKGYpRyhmLm1vZGUpfSxbXSk7eSgoKT0+KCk9PntpZihPLmN1cnJlbnQ9PT0iaWRsZSIpcmV0dXJuO2xldCBsPXguY3VycmVudCxmPWw/YHhjcnVuIHNpbWN0bCBsb2NhdGlvbiAkeyR9IHNldCAke2wubGF0LnRvRml4ZWQoNyl9LCR7bC5sbmcudG9GaXhlZCg3KX1gOmB4Y3J1biBzaW1jdGwgbG9jYXRpb24gJHskfSBjbGVhcmA7UShmKS5jYXRjaCgoKT0+e30pfSxbUSwkXSk7bGV0IGk9ei5zdGF0dXM9PT0icGxheWluZyIsTDE9aT9gJHtCOCh6LmFyYyl9IMK3ICR7RzQoei5lbGFwc2VkTXMpfWA6QjgoTC50b3RhbERpc3RhbmNlKTtyZXR1cm4gWihzMSx7b3BlbjpKLG9uT3BlbkNoYW5nZTpYLHN1bW1hcnlDbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvX21pbm1heCgwLDFmcilfYXV0b10gW2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0IixzdW1tYXJ5OlooUTEse2NoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJMb2NhdGlvbiJ9KSxKP1ooInNwYW4iLHsiZGF0YS1sb2NhdGlvbi1zdGF0dXMiOiEwLGNsYXNzTmFtZToibWluLXctMCB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzU1IGZvbnQtbW9ubyBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSBqdXN0aWZ5LXNlbGYtZW5kIGxlYWRpbmctbm9uZSB3aGl0ZXNwYWNlLW5vd3JhcCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyBtYXgtdy1mdWxsIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToic2l6ZS0xLjUgcm91bmRlZC1mdWxsIHNocmluay0wIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4ycyxib3gtc2hhZG93XzAuMnNdIixzdHlsZTp7YmFja2dyb3VuZDppPyIjNGFkZTgwIjpMLnRvdGFsRGlzdGFuY2U+MD8icmdiYSgyNTUsMjU1LDI1NSwwLjMpIjoidHJhbnNwYXJlbnQiLGJveFNoYWRvdzppPyIwIDAgNnB4IHJnYmEoNzQsMjIyLDEyOCwwLjcpIjoibm9uZSJ9fSksWigic3BhbiIse2NsYXNzTmFtZToibWluLXctMCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyIsY2hpbGRyZW46TDF9KSwhaSYmWigic3BhbiIseyJkYXRhLWxvY2F0aW9uLXN0YXR1cy10b3RhbCI6ITAsY2xhc3NOYW1lOiJzaHJpbmstMCIsY2hpbGRyZW46InRvdGFsIn0pXX0pOlooInNwYW4iLHt9KV19KSxjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBibG9jayIsY2hpbGRyZW46W1oocjUse2xhYmVsOiJUcmFpbCIsdmFsdWU6SyxvbkNoYW5nZTphLG9wdGlvbnM6JDIubWFwKChsKT0+KHt2YWx1ZTpsLmlkLGxhYmVsOmwubmFtZX0pKSxjbGFzc05hbWU6ImJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1tZCB0ZXh0LXdoaXRlLzkwIHRleHQtWzEycHhdIHB5LTEuNSBwci1bMjZweF0gcGwtMiB3LWZ1bGwgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjEycyxib3JkZXItY29sb3JfMC4xMnNdIGhvdmVyOmJnLXdoaXRlL1swLjA3XSBob3Zlcjpib3JkZXItW3JnYmEoMjU1LDI1NSwyNTUsMC4xNildIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpiZy13aGl0ZS9bMC4wOF0gZm9jdXM6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMjQpXSJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSByaWdodC1bOXB4XSB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgcG9pbnRlci1ldmVudHMtbm9uZSBmbGV4IGl0ZW1zLWNlbnRlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46WihpMix7b3BlbjohMX0pfSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpNLmRlc2NyaXB0aW9ufSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSB3LWZ1bGwgcm91bmRlZC1bMTBweF0gb3ZlcmZsb3ctaGlkZGVuIGJnLVsjMGEwYTBjXSBib3JkZXIgYm9yZGVyLXdoaXRlL1swLjA2XSBbYXNwZWN0LXJhdGlvOjE2LzExXSIsY2hpbGRyZW46W1ooImNhbnZhcyIse3JlZjpkLGNsYXNzTmFtZToidy1mdWxsIGgtZnVsbCBibG9jayJ9KSxaKHdKLHtwcmVwYXJlZDpMfSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyXzFmcl8xZnJdIGdhcC0xLjUiLGNoaWxkcmVuOltaKFY4LHtsYWJlbDoiRGlzdGFuY2UiLHZhbHVlOkI4KHouYXJjKX0pLFooVjgse2xhYmVsOiJQYWNlIix2YWx1ZTp2SihXLmN1cnJlbnQpfSksWihWOCx7bGFiZWw6IkVsYXBzZWQiLHZhbHVlOkc0KHouZWxhcHNlZE1zKX0pXX0pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBnYXAtMS41IixjaGlsZHJlbjpbWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOm4sY2xhc3NOYW1lOmBmbGV4LTEgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEuNSBweS0yIHB4LTIuNSBib3JkZXItbm9uZSByb3VuZGVkLVs3cHhdIHRleHQtWzEycHhdIGZvbnQtc2VtaWJvbGQgY3Vyc29yLXBvaW50ZXIgZm9udC1baW5oZXJpdF0gJHtpPyJiZy13aGl0ZS9bMC4xNl0gdGV4dC13aGl0ZSBlbmFibGVkOmhvdmVyOmJnLXdoaXRlL1swLjIyXSI6ImJnLXN1Y2Nlc3MtZW1lcmFsZCB0ZXh0LVsjMDYyMDE4XSBlbmFibGVkOmhvdmVyOmJyaWdodG5lc3MtWzEuMDhdIn1gLCJhcmlhLXByZXNzZWQiOmksdGl0bGU6aT8iUGF1c2UiOiJQbGF5IixjaGlsZHJlbjpbaT9aKHAzLHt9KTpaKG4yLHt9KSxaKCJzcGFuIix7Y2hpbGRyZW46aT8iUGF1c2UiOiJQbGF5In0pXX0pLFooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpvLGNsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEuNSBweS0yIHB4LTMgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLVs3cHhdIHRleHQtWzEycHhdIGZvbnQtbWVkaXVtIGJnLXRyYW5zcGFyZW50IHRleHQtd2hpdGUvODUgY3Vyc29yLXBvaW50ZXIgZm9udC1baW5oZXJpdF0gZW5hYmxlZDpob3ZlcjpiZy13aGl0ZS9bMC4wNl0gZW5hYmxlZDpob3Zlcjpib3JkZXItd2hpdGUvMjAgZW5hYmxlZDpob3Zlcjp0ZXh0LXdoaXRlIGRpc2FibGVkOm9wYWNpdHktNDAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIixkaXNhYmxlZDp6LnN0YXR1cz09PSJpZGxlIiYmei5hcmM9PT0wLHRpdGxlOiJTdG9wIGFuZCBjbGVhciBzaW11bGF0ZWQgbG9jYXRpb24iLGNoaWxkcmVuOltaKHIyLHt9KSxaKCJzcGFuIix7Y2hpbGRyZW46IlN0b3AifSldfSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtcm93IGl0ZW1zLXN0cmV0Y2ggZ2FwLTEuNSIsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi13LTAiLGNoaWxkcmVuOlooRUose2FyaWFMYWJlbDoiVHJhbnNwb3J0IG1vZGUiLHZhbHVlOnEsb25DaGFuZ2U6KGwpPT5HKGwpLG9wdGlvbnM6W3t2YWx1ZToid2FsayIsbGFiZWw6IldhbGsiLGljb246WihsMyx7fSl9LHt2YWx1ZToicnVuIixsYWJlbDoiUnVuIixpY29uOlooZDMse30pfSx7dmFsdWU6ImN5Y2xlIixsYWJlbDoiQ3ljbGUiLGljb246WihjMyx7fSl9LHt2YWx1ZToiZHJpdmUiLGxhYmVsOiJEcml2ZSIsaWNvbjpaKG8zLHt9KX1dfSl9KSxaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9PntsZXQgbD1xOC5pbmRleE9mKEIpLGY9cThbKGwrMSklcTgubGVuZ3RoXTtOKGYpfSxjbGFzc05hbWU6YGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIHB4LTIuNSBib3JkZXIgcm91bmRlZC1bN3B4XSBjdXJzb3ItcG9pbnRlciBmb250LVtpbmhlcml0XSB0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIG1pbi13LVs1NnB4XSBhY3RpdmU6c2NhbGUtWzAuOTddICR7Qj4xPyJiZy13aGl0ZSBib3JkZXItd2hpdGUgdGV4dC1bIzBhMGEwY10gaG92ZXI6Ymctd2hpdGUvWzAuODhdIGhvdmVyOmJvcmRlci13aGl0ZS9bMC44OF0gaG92ZXI6dGV4dC1bIzBhMGEwY10iOiJiZy13aGl0ZS9bMC4wNF0gYm9yZGVyLXdoaXRlLzggdGV4dC13aGl0ZS84NSBob3ZlcjpiZy13aGl0ZS9bMC4wOV0gaG92ZXI6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMTgpXSBob3Zlcjp0ZXh0LXdoaXRlIn1gLCJhcmlhLWxhYmVsIjpgU3BlZWQgJHtCfcOXIOKAlCB0YXAgdG8gY3ljbGVgLHRpdGxlOmBTcGVlZCAke0J9w5cg4oCUIHRhcCB0byBjeWNsZWAsY2hpbGRyZW46W1oodTMse30pLEI+MSYmWigic3BhbiIse2NsYXNzTmFtZToiZm9udC1tb25vIFtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXNdIixjaGlsZHJlbjpbQiwiw5ciXX0pXX0pXX0pLFUmJlooImRpdiIse2NsYXNzTmFtZToiYmctZGFuZ2VyLzEwIGJvcmRlciBib3JkZXItZGFuZ2VyLzIwIHRleHQtZGFuZ2VyLXNvZnQgdGV4dC1bMTFweF0gcHgtMiBweS0xLjUgcm91bmRlZC1tZCIsY2hpbGRyZW46VX0pXX0pfXZhciBWOD1pMChmdW5jdGlvbih7bGFiZWw6USx2YWx1ZTpKfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IGJnLXdoaXRlL1swLjAzXSBib3JkZXIgYm9yZGVyLXdoaXRlL1swLjA2XSByb3VuZGVkLW1kIHB5LVs1cHhdIHB4LVs3cHhdIG1pbi13LTAiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzlweF0gdXBwZXJjYXNlIHRyYWNraW5nLVswLjA2ZW1dIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOlF9KSxaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEycHhdIGZvbnQtbW9ubyB0ZXh0LXdoaXRlIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpKfSldfSl9KTtmdW5jdGlvbiBFSih7dmFsdWU6JCxvbkNoYW5nZTpRLG9wdGlvbnM6SixhcmlhTGFiZWw6WH0pe3JldHVybiBaKCJkaXYiLHtyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOlgsY2xhc3NOYW1lOiJmbGV4IGJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1bN3B4XSBwLTAuNSBnYXAtMC41IixjaGlsZHJlbjpKLm1hcCgoSyk9PntsZXQgWT1LLnZhbHVlPT09JDtyZXR1cm4gWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT5RKEsudmFsdWUpLGNsYXNzTmFtZTpgZmxleC0xIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1ub25lIHJvdW5kZWQtWzVweF0gcHktWzVweF0gcHgtMiB0ZXh0LVsxMXB4XSBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBmb250LVtpbmhlcml0XSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTJzLGNvbG9yXzAuMTJzXSBtaW4taC1bMjJweF0gJHtZPyJiZy13aGl0ZS9bMC4xMl0gdGV4dC13aGl0ZSI6ImJnLXRyYW5zcGFyZW50IHRleHQtd2hpdGUvNjAgaG92ZXI6Ymctd2hpdGUvWzAuMDVdIGhvdmVyOnRleHQtd2hpdGUvOTAifWAsImFyaWEtcHJlc3NlZCI6WSwiYXJpYS1sYWJlbCI6Sy5pY29uP0subGFiZWw6dm9pZCAwLHRpdGxlOksuaWNvbj9LLmxhYmVsOnZvaWQgMCxjaGlsZHJlbjpLLmljb24/P0subGFiZWx9LEsudmFsdWUpfSl9KX1mdW5jdGlvbiB3Sih7cHJlcGFyZWQ6JH0pe2lmKCQucmF3TWF4QWx0LSQucmF3TWluQWx0PDUpcmV0dXJuIG51bGw7cmV0dXJuIFooUTEse2NoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0yIGxlZnQtMi41IGJnLXBhbmVsLW92ZXJsYXkgdGV4dC13aGl0ZS84NSB0ZXh0LVsxMHB4XSBmb250LW1vbm8gcHgtMS41IHB5LTAuNSByb3VuZGVkLVs1cHhdIGZsZXggaXRlbXMtY2VudGVyIHRyYWNraW5nLVswLjAyZW1dIGJvcmRlciBib3JkZXItd2hpdGUvWzAuMDZdIixjaGlsZHJlbjpbWih5NSx7ZGlyOiJ1cCJ9KSwiICIsVjQoJC5yYXdNYXhBbHQpXX0pLFooImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTIgcmlnaHQtMi41IGJnLXBhbmVsLW92ZXJsYXkgdGV4dC13aGl0ZS84NSB0ZXh0LVsxMHB4XSBmb250LW1vbm8gcHgtMS41IHB5LTAuNSByb3VuZGVkLVs1cHhdIGZsZXggaXRlbXMtY2VudGVyIHRyYWNraW5nLVswLjAyZW1dIGJvcmRlciBib3JkZXItd2hpdGUvWzAuMDZdIixjaGlsZHJlbjpbWih5NSx7ZGlyOiJkb3duIn0pLCIgIixWNCgkLnJhd01pbkFsdCldfSldfSl9dmFyIFk0PTE0MDtmdW5jdGlvbiBxNCgkLFEpe2xldCBKPUFycmF5KFEpO2ZvcihsZXQgWD0wO1g8UTtYKyspe2xldCBLPVE9PT0xPzA6WC8oUS0xKSxZPWUwKCQsSyokLnRvdGFsRGlzdGFuY2UpO0pbWF09e3g6WS54LHk6WS55LHo6WS56fX1yZXR1cm4gSn1mdW5jdGlvbiBJSigkLFEsSixYKXtsZXQgSz0oJC5ib3VuZHMueFswXSskLmJvdW5kcy54WzFdKS8yLFk9KCQuYm91bmRzLnpbMF0rJC5ib3VuZHMuelsxXSkvMixxPSQuYm91bmRzLnlbMF0sRz1NYXRoLm1heCgxLCQuYm91bmRzLnhbMV0tJC5ib3VuZHMueFswXSwkLmJvdW5kcy56WzFdLSQuYm91bmRzLnpbMF0pLEI9KEouYm91bmRzLnhbMF0rSi5ib3VuZHMueFsxXSkvMixOPShKLmJvdW5kcy56WzBdK0ouYm91bmRzLnpbMV0pLzIsej1KLmJvdW5kcy55WzBdLFU9TWF0aC5tYXgoMSxKLmJvdW5kcy54WzFdLUouYm91bmRzLnhbMF0sSi5ib3VuZHMuelsxXS1KLmJvdW5kcy56WzBdKS9HLE09cTQoJCxZNCkubWFwKChEKT0+KHt4OihELngtSykqVStCLHk6KEQueS1xKSpVK3osejooRC56LVkpKlUrTn0pKSxMPXE0KEosWTQpLEg9KCQudHJhaWwubG9vcHx8Si50cmFpbC5sb29wKT8/ITEsTz1iSihNLEwsSCksVz1lMCgkLFEpLFQ9e3g6KFcueC1LKSpVK0IseTooVy55LXEpKlUreix6OihXLnotWSkqVStOfSxQPWUwKEosMCkseD17eDpQLngseTpQLnksejpQLnp9O3JldHVybntmcm9tOiQsdG86Sixmcm9tUHRzOk0sdG9QdHM6TyxwcmV2TWFya2VyOlQsbmV4dE1hcmtlcjp4LHN0YXJ0TXM6WH19ZnVuY3Rpb24gYkooJCxRLEope2xldCBYPSQubGVuZ3RoLEs9MS8wLFk9MCxxPSExLEc9W1EsWy4uLlFdLnJldmVyc2UoKV07Zm9yKGxldCB6PTA7ejxHLmxlbmd0aDt6Kyspe2xldCBWPUdbel0sVT1KP1g6MTtmb3IobGV0IEM9MDtDPFU7QysrKXtsZXQgTT0wO2ZvcihsZXQgTD0wO0w8WDtMKyspe2xldCBIPSRbTF0sTz1WWyhMK0MpJVhdLFc9SC54LU8ueCxUPUgueS1PLnksUD1ILnotTy56O2lmKE0rPVcqVytUKlQrUCpQLE0+PUspYnJlYWt9aWYoTTxLKUs9TSxZPUMscT16PT09MX19bGV0IEI9cT9bLi4uUV0ucmV2ZXJzZSgpOlEsTj1BcnJheShYKTtmb3IobGV0IHo9MDt6PFg7eisrKU5bel09QlsoeitZKSVYXTtyZXR1cm4gTn1mdW5jdGlvbiB5SigkLFEpe2xldCBKPSQuZnJvbVB0cy5sZW5ndGgsWD1BcnJheShKKSxLPTAsWT1udWxsLHE9MS8wLEc9LTEvMCxCPTEvMCxOPS0xLzAsej0xLzAsVj0tMS8wO2ZvcihsZXQgVT0wO1U8SjtVKyspe2xldCBDPSQuZnJvbVB0c1tVXSxNPSQudG9QdHNbVV0sTD1DLngrKE0ueC1DLngpKlEsSD1DLnkrKE0ueS1DLnkpKlEsTz1DLnorKE0uei1DLnopKlE7aWYoWSl7bGV0IFQ9TC1ZLngsUD1ILVkueSx4PU8tWS56O0srPU1hdGguc3FydChUKlQrUCpQK3gqeCl9bGV0IFc9e3g6TCx5OkgsejpPLGFyYzpLLGxhdDowLGxuZzowfTtpZihYW1VdPVcsWT1XLEw8cSlxPUw7aWYoTD5HKUc9TDtpZihIPEIpQj1IO2lmKEg+TilOPUg7aWYoTzx6KXo9TztpZihPPlYpVj1PfXJldHVybnt0cmFpbDokLnRvLnRyYWlsLG9yaWdpbjokLnRvLm9yaWdpbixwb2ludHM6WCx0b3RhbERpc3RhbmNlOkssYm91bmRzOnt4OltxLEddLHk6W0IsTl0sejpbeixWXX0scmF3TWluQWx0OiQudG8ucmF3TWluQWx0KygkLmZyb20ucmF3TWluQWx0LSQudG8ucmF3TWluQWx0KSooMS1RKSxyYXdNYXhBbHQ6JC50by5yYXdNYXhBbHQrKCQuZnJvbS5yYXdNYXhBbHQtJC50by5yYXdNYXhBbHQpKigxLVEpfX1mdW5jdGlvbiBTSigkKXtyZXR1cm4gJDwwLjU/MiokKiQ6MS1NYXRoLnBvdygtMiokKzIsMikvMn1mdW5jdGlvbiB4SigkLFEsSixYLEssWSxxKXtsZXQgRz0kLmdldENvbnRleHQoIjJkIik7aWYoIUcpcmV0dXJuO2xldHtjbGllbnRXaWR0aDpCLGNsaWVudEhlaWdodDpOfT0kO2lmKEI9PT0wfHxOPT09MClyZXR1cm47bGV0IHo9dHlwZW9mIHdpbmRvdzwidSI/d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE6MSxWPU1hdGgucm91bmQoQip6KSxVPU1hdGgucm91bmQoTip6KTtpZigkLndpZHRoIT09Vnx8JC5oZWlnaHQhPT1VKSQud2lkdGg9ViwkLmhlaWdodD1VO0cuc2V0VHJhbnNmb3JtKHosMCwwLHosMCwwKSxHLmNsZWFyUmVjdCgwLDAsQixOKTtsZXQgQz1HLmNyZWF0ZVJhZGlhbEdyYWRpZW50KEIqMC41LE4qMC41NSxNYXRoLm1pbihCLE4pKjAuMixCKjAuNSxOKjAuNTUsTWF0aC5tYXgoQixOKSowLjg1KTtDLmFkZENvbG9yU3RvcCgwLCIjMWExYTFkIiksQy5hZGRDb2xvclN0b3AoMSwiIzBhMGEwYyIpLEcuZmlsbFN0eWxlPUMsRy5maWxsUmVjdCgwLDAsQixOKSxqSihHLEIsTik7bGV0e3BvaW50czpNLGJvdW5kczpMfT1RO2lmKE0ubGVuZ3RoPDIpcmV0dXJuO2xldCBIPTI4Kk1hdGguUEkvMTgwLE89TWF0aC5zaW4oSCksVz1NYXRoLmNvcyhIKSxUPU1hdGguc2luKFgpLFA9TWF0aC5jb3MoWCkseD0oTC54WzBdK0wueFsxXSkvMixEPShMLnpbMF0rTC56WzFdKS8yLGU9TC54WzFdLUwueFswXSxSPUwuelsxXS1MLnpbMF0sZD1MLnlbMV0tTC55WzBdLG49TWF0aC5tYXgoZSxSKSoxLjA1LG89TWF0aC5tYXgoUipXK2QqTyxlKjAuNCkqMS4xNSxhPUIqMC4wOCxpPU4qMC4xOCxMMT1NYXRoLm1pbigoQi1hKjIpL24sKE4taSoyKS9vKSoxLjQ1LGw9ZDwxPzE6TWF0aC5taW4oMjQsMTQwL01hdGgubWF4KDIwLGQpKSxmPShqLHAsXyk9PntsZXQgaD1qLXgsbT1fLUQsdj1oKlArbSpULFkxPS1oKlQrbSpQLFYxPXAqbCx3MT1WMSpXLVkxKk8sRjE9VjEqTytZMSpXO3JldHVybntzeDpCLzIrdipMMSxzeTpOKjAuNTUtdzEqTDEsZGVwdGg6RjF9fSxYMT0zOCxaMT1NLm1hcCgoaik9PntsZXQgcD1mKGoueCxqLnksai56KSxfPWYoai54LDAsai56KSxoPXtzeDpwLnN4LHN5Ok1hdGgubWF4KF8uc3kscC5zeStYMSksZGVwdGg6Xy5kZXB0aH07cmV0dXJue3A6aix0b3A6cCxib3Q6aH19KTtmb3IobGV0IGo9MTtqPFoxLmxlbmd0aDtqKyspe2xldCBwPVoxW2otMV0sXz1aMVtqXSxoPUcuY3JlYXRlTGluZWFyR3JhZGllbnQoKHAudG9wLnN4K18udG9wLnN4KS8yLChwLnRvcC5zeStfLnRvcC5zeSkvMiwocC5ib3Quc3grXy5ib3Quc3gpLzIsKHAuYm90LnN5K18uYm90LnN5KS8yKTtoLmFkZENvbG9yU3RvcCgwLCJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIiksaC5hZGRDb2xvclN0b3AoMC40NSwicmdiYSgxODAsMTgwLDE4NSwwLjI4KSIpLGguYWRkQ29sb3JTdG9wKDAuODUsInJnYmEoNDAsNDAsNDUsMC4xOCkiKSxoLmFkZENvbG9yU3RvcCgxLCJyZ2JhKDAsMCwwLDApIiksRy5maWxsU3R5bGU9aCxHLmJlZ2luUGF0aCgpLEcubW92ZVRvKHAudG9wLnN4LHAudG9wLnN5KSxHLmxpbmVUbyhfLnRvcC5zeCxfLnRvcC5zeSksRy5saW5lVG8oXy5ib3Quc3gsXy5ib3Quc3kpLEcubGluZVRvKHAuYm90LnN4LHAuYm90LnN5KSxHLmNsb3NlUGF0aCgpLEcuZmlsbCgpfUcuc3Ryb2tlU3R5bGU9IiNmZmZmZmYiLEcubGluZVdpZHRoPTEuNixHLmxpbmVDYXA9InJvdW5kIixHLmxpbmVKb2luPSJyb3VuZCIsRy5iZWdpblBhdGgoKTtmb3IobGV0IGo9MDtqPFoxLmxlbmd0aDtqKyspe2xldHt0b3A6cH09WjFbal07aWYoaj09PTApRy5tb3ZlVG8ocC5zeCxwLnN5KTtlbHNlIEcubGluZVRvKHAuc3gscC5zeSl9Ry5zdHJva2UoKTtsZXQgVTE9SjtHLnN0cm9rZVN0eWxlPSIjZjlkMmE0IixHLmxpbmVXaWR0aD0yLjIsRy5iZWdpblBhdGgoKTtsZXQgcz0hMTtmb3IobGV0IGo9MDtqPFoxLmxlbmd0aDtqKyspe2xldHtwLHRvcDpffT1aMVtqXTtpZihwLmFyYz5VMSlicmVhaztpZighcylHLm1vdmVUbyhfLnN4LF8uc3kpLHM9ITA7ZWxzZSBHLmxpbmVUbyhfLnN4LF8uc3kpfWlmKHMpRy5zdHJva2UoKTtsZXQgSjE9cT8/ZTAoUSxKKSxxMT1mKEoxLngsSjEueSxKMS56KTtpZihZKXtsZXQgXz1LJTI2MDAvMjYwMCxoPTQrMjIqXyxtPTAuMjIqKDEtXyksdj1HLmNyZWF0ZVJhZGlhbEdyYWRpZW50KHExLnN4LHExLnN5LGgqMC41LHExLnN4LHExLnN5LGgpO3YuYWRkQ29sb3JTdG9wKDAsInJnYmEoMjU1LDI1NSwyNTUsMCkiKSx2LmFkZENvbG9yU3RvcCgwLjcsYHJnYmEoMjU1LDI1NSwyNTUsJHttLnRvRml4ZWQoMyl9KWApLHYuYWRkQ29sb3JTdG9wKDEsInJnYmEoMjU1LDI1NSwyNTUsMCkiKSxHLmZpbGxTdHlsZT12LEcuYmVnaW5QYXRoKCksRy5hcmMocTEuc3gscTEuc3ksaCwwLE1hdGguUEkqMiksRy5maWxsKCl9Ry5maWxsU3R5bGU9IiNmZmYiLEcuYmVnaW5QYXRoKCksRy5hcmMocTEuc3gscTEuc3ksMy44LDAsTWF0aC5QSSoyKSxHLmZpbGwoKX1mdW5jdGlvbiBqSigkLFEsSil7JC5maWxsU3R5bGU9InJnYmEoMjU1LDI1NSwyNTUsMC4wNikiO2ZvcihsZXQgWT03O1k8SjtZKz0xNClmb3IobGV0IHE9NztxPFE7cSs9MTQpJC5iZWdpblBhdGgoKSwkLmFyYyhxLFksMC43LDAsTWF0aC5QSSoyKSwkLmZpbGwoKX1mdW5jdGlvbiBCOCgkKXtpZigkPDEwMDApcmV0dXJuYCR7JC50b0ZpeGVkKDApfSBtYDtyZXR1cm5gJHsoJC8xMDAwKS50b0ZpeGVkKDIpfSBrbWB9ZnVuY3Rpb24gRzQoJCl7bGV0IFE9TWF0aC5mbG9vcigkLzEwMDApLEo9TWF0aC5mbG9vcihRLzM2MDApLFg9TWF0aC5mbG9vcihRJTM2MDAvNjApLEs9USU2MDtpZihKPjApcmV0dXJuYCR7Sn06JHtYLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfToke0sudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YDtyZXR1cm5gJHtYfToke0sudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1mdW5jdGlvbiB2SigkKXtpZigkPD0wKXJldHVybiLigJQiO2lmKCQ+NylyZXR1cm5gJHsoJCozLjYpLnRvRml4ZWQoMCl9IGttL2hgO2xldCBRPTEwMDAvJCxKPU1hdGguZmxvb3IoUS82MCksWD1NYXRoLnJvdW5kKFElNjApO3JldHVybmAke0p9OiR7WC50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0va21gfWZ1bmN0aW9uIFY0KCQpe3JldHVybmAkeyQudG9GaXhlZCgwKX0gbWB9ZnVuY3Rpb24gQjQoJCl7bGV0IFE9JC50cmltKCk7aWYoIVEpcmV0dXJuIiI7bGV0IEo9US5tYXRjaCgvUmVhc29uOlxzKiguKykkL20pO2lmKEopcmV0dXJuIEpbMV07cmV0dXJuIFEuc3BsaXQoYApgKS5zbGljZSgtMSlbMF0/P1F9YXN5bmMgZnVuY3Rpb24gTjgoJCxRLEope2xldCBYPWF3YWl0ICQoYHhjcnVuIHNpbWN0bCBnZXRfYXBwX2NvbnRhaW5lciAke1F9ICR7TzEoSil9IGFwcGApO2lmKFguZXhpdENvZGUhPT0wKXJldHVybntlcnJvcjpYLnN0ZGVyci50cmltKCl8fCJBcHAgbm90IGZvdW5kIG9uIHNpbXVsYXRvciJ9O2xldCBLPVguc3Rkb3V0LnRyaW0oKTtpZighSylyZXR1cm57ZXJyb3I6IkVtcHR5IGFwcCBwYXRoIn07bGV0IFk9YXdhaXQgJChgcGx1dGlsIC1jb252ZXJ0IGpzb24gLW8gLSAke08xKEsrIi9JbmZvLnBsaXN0Iil9YCkscT17fTtpZihZLmV4aXRDb2RlPT09MCl0cnl7cT1KU09OLnBhcnNlKFkuc3Rkb3V0KX1jYXRjaHt9bGV0IEcsTj0ocT8uQ0ZCdW5kbGVJY29ucz8uQ0ZCdW5kbGVQcmltYXJ5SWNvbj8/cT8uWyJDRkJ1bmRsZUljb25zfmlwYWQiXT8uQ0ZCdW5kbGVQcmltYXJ5SWNvbik/LkNGQnVuZGxlSWNvbkZpbGVzPz9xPy5DRkJ1bmRsZUljb25GaWxlcztpZihOJiZOLmxlbmd0aD4wKUc9TltOLmxlbmd0aC0xXTtlbHNlIGlmKHR5cGVvZiBxPy5DRkJ1bmRsZUljb25GaWxlPT09InN0cmluZyIpRz1xLkNGQnVuZGxlSWNvbkZpbGU7bGV0IHo9bnVsbDtpZihHKXtsZXQgVj1bYCR7R31AM3gucG5nYCxgJHtHfUAyeC5wbmdgLGAke0d9LnBuZ2AsYCR7R302MHg2MEAzeC5wbmdgLGAke0d9NjB4NjBAMngucG5nYF0sQz0oYXdhaXQgJChgYmFzaCAtYyAke08xKFYubWFwKChNKT0+YFsgLWYgJHtPMShLKyIvIitNKX0gXSAmJiBlY2hvICR7TzEoSysiLyIrTSl9ICYmIGV4aXQgMGApLmpvaW4oIjsgIikrIjsgZXhpdCAxIil9YCkpLnN0ZG91dC50cmltKCk7aWYoQyl7bGV0IE09YXdhaXQgJChgYmFzZTY0IC1pICR7TzEoQyl9YCk7aWYoTS5leGl0Q29kZT09PTApej1gZGF0YTppbWFnZS9wbmc7YmFzZTY0LCR7TS5zdGRvdXQucmVwbGFjZSgvXHMrL2csIiIpfWB9fXJldHVybnthcHBQYXRoOkssZGlzcGxheU5hbWU6cS5DRkJ1bmRsZURpc3BsYXlOYW1lPz9xLkNGQnVuZGxlTmFtZSxzaG9ydFZlcnNpb246cS5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyxidW5kbGVWZXJzaW9uOnEuQ0ZCdW5kbGVWZXJzaW9uLG1pbk9TOnEuTWluaW11bU9TVmVyc2lvbixleGVjdXRhYmxlOnEuQ0ZCdW5kbGVFeGVjdXRhYmxlLGljb25EYXRhVXJsOnp9fXZhciBNMj1uZXcgTWFwO2Z1bmN0aW9uIHo0KCQsUSxKKXtsZXQgWD1gJHtRfToke0p9YCxLPU0yLmdldChYKTtpZihLIT09dm9pZCAwKXJldHVybiBQcm9taXNlLnJlc29sdmUoSyk7bGV0IFk9TjgoJCxRLEopLnRoZW4oKHEpPT57bGV0IEc9cS5pY29uRGF0YVVybD8/bnVsbDtyZXR1cm4gTTIuc2V0KFgsRyksR30pLmNhdGNoKCgpPT57cmV0dXJuIE0yLnNldChYLG51bGwpLG51bGx9KTtyZXR1cm4gTTIuc2V0KFgsWSksWX1mdW5jdGlvbiBSSigkKXtyZXR1cm4gJC5zdGFydHNXaXRoKCJjb20uYXBwbGUuIil9ZnVuY3Rpb24gaEooJCl7aWYoJD09PSJjb20uYXBwbGUuc3ByaW5nYm9hcmQiKXJldHVybiJTcHJpbmdCb2FyZCI7cmV0dXJuICR9ZnVuY3Rpb24gZ0ooe2J1bmRsZUlkOiR9KXtsZXQgUT1SSigkKTtyZXR1cm4gWigiZGl2Iix7ImRhdGEtdGVzdGlkIjpRPyJzeXN0ZW0tYXBwLWljb24iOiJhcHAtaWNvbi1mYWxsYmFjayIsY2xhc3NOYW1lOmB3LTEwIGgtMTAgcm91bmRlZC1bOHB4XSBzaHJpbmstMCBib3JkZXIgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgJHtRPyJib3JkZXItWyMzYjVmOTldIGJnLVtsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCMyNTNhNWYsIzE2MjEzMildIHRleHQtWyNjOGQ3ZmZdIjoiYm9yZGVyLXdoaXRlLzEwIGJnLXdoaXRlL1swLjA2XSB0ZXh0LXdoaXRlLzgwIn1gLCJhcmlhLWxhYmVsIjpRPyJTeXN0ZW0gYXBwIjoiQXBwIGljb24gdW5hdmFpbGFibGUiLHRpdGxlOlE/IlN5c3RlbSBhcHAiOiJBcHAgaWNvbiB1bmF2YWlsYWJsZSIsY2hpbGRyZW46UT9aKCJzdmciLHtyb2xlOiJpbWciLHZpZXdCb3g6IjAgMCAyNCAyNCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjbGFzc05hbWU6InNpemUtWzE5cHhdIixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOltaKCJ0aXRsZSIse2NoaWxkcmVuOiJBcHBsZSJ9KSxaKCJwYXRoIix7ZDoiTTEyLjE1MiA2Ljg5NmMtLjk0OCAwLTIuNDE1LTEuMDc4LTMuOTYtMS4wNC0yLjA0LjAyNy0zLjkxIDEuMTgzLTQuOTYxIDMuMDE0LTIuMTE3IDMuNjc1LS41NDYgOS4xMDMgMS41MTkgMTIuMDkgMS4wMTMgMS40NTQgMi4yMDggMy4wOSAzLjc5MiAzLjAzOSAxLjUyLS4wNjUgMi4wOS0uOTg3IDMuOTM1LS45ODcgMS44MzEgMCAyLjM1Ljk4NyAzLjk2Ljk0OCAxLjYzNy0uMDI2IDIuNjc2LTEuNDggMy42NzYtMi45NDggMS4xNTYtMS42ODggMS42MzYtMy4zMjUgMS42NjItMy40MTUtLjAzOS0uMDEzLTMuMTgyLTEuMjIxLTMuMjItNC44NTctLjAyNi0zLjA0IDIuNDgtNC40OTQgMi41OTctNC41NTktMS40MjktMi4wOS0zLjYyMy0yLjMyNC00LjM5LTIuMzc2LTItLjE1Ni0zLjY3NSAxLjA5LTQuNjEgMS4wOXpNMTUuNTMgMy44M2MuODQzLTEuMDEyIDEuNC0yLjQyNyAxLjI0NS0zLjgzLTEuMjA3LjA1Mi0yLjY2Mi44MDUtMy41MzIgMS44MTgtLjc4Ljg5Ni0xLjQ1NCAyLjMzOC0xLjI3MyAzLjcxNCAxLjMzOC4xMDQgMi43MTUtLjY4OCAzLjU1OS0xLjcwMSJ9KV19KTpaKHgyLHtzaXplOjE5LHN0cm9rZVdpZHRoOjEuOX0pfSl9ZnVuY3Rpb24gZkooe2J1bmRsZUlkOiQsaWNvbkRhdGFVcmw6UX0pe2lmKFEpcmV0dXJuIFooImltZyIse3NyYzpRLGNsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtWzhweF0gc2hyaW5rLTAgb2JqZWN0LWNvdmVyIGJvcmRlciBib3JkZXItd2hpdGUvOCIsYWx0OiIifSk7cmV0dXJuIFooZ0ose2J1bmRsZUlkOiR9KX1mdW5jdGlvbiBMNCh7dWRpZDokLGN1cnJlbnRBcHA6UX0pe2xldFtKLFhdPWsobnVsbCksW0ssWV09ayghMSk7aWYoeSgoKT0+e2lmKCFRKXtYKG51bGwpO3JldHVybn1sZXQgcT0hMTtyZXR1cm4gWCh7YnVuZGxlSWQ6US5idW5kbGVJZCxpc1JlYWN0TmF0aXZlOlEuaXNSZWFjdE5hdGl2ZSxwaWQ6US5waWQsbG9hZGluZzohMH0pLE44KFQxLCQsUS5idW5kbGVJZCkudGhlbigoRyk9PntpZihxKXJldHVybjtYKHtidW5kbGVJZDpRLmJ1bmRsZUlkLGlzUmVhY3ROYXRpdmU6US5pc1JlYWN0TmF0aXZlLHBpZDpRLnBpZCxsb2FkaW5nOiExLC4uLkd9KX0pLCgpPT57cT0hMH19LFskLFEsUT8uYnVuZGxlSWQsUT8ucGlkLFE/LmlzUmVhY3ROYXRpdmVdKSwhSilyZXR1cm4gWihtSix7fSk7cmV0dXJuIFooczEse29wZW46Syxvbk9wZW5DaGFuZ2U6WSxzdW1tYXJ5Q2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyB0ZXh0LWxlZnQiLHN1bW1hcnk6WihRMSx7Y2hpbGRyZW46W1ooZkose2J1bmRsZUlkOkouYnVuZGxlSWQsaWNvbkRhdGFVcmw6Si5pY29uRGF0YVVybH0pLFoocEose2J1bmRsZUlkOkouYnVuZGxlSWQsZGlzcGxheU5hbWU6Si5kaXNwbGF5TmFtZX0pXX0pLGNoaWxkcmVuOltKLmVycm9yJiZaKCJkaXYiLHtjbGFzc05hbWU6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQiLGNoaWxkcmVuOkouZXJyb3J9KSxaKCJkbCIse2NsYXNzTmFtZToibS0wIGZsZXggZmxleC1jb2wgZ2FwLTEuNSIsY2hpbGRyZW46W1ooQTIse2xhYmVsOiJWZXJzaW9uIix2YWx1ZTpKLnNob3J0VmVyc2lvbj9gJHtKLnNob3J0VmVyc2lvbn0gKCR7Si5idW5kbGVWZXJzaW9uPz8i4oCUIn0pYDpKLmxvYWRpbmc/IuKApiI6IuKAlCJ9KSxaKEEyLHtsYWJlbDoiTWluIGlPUyIsdmFsdWU6Si5taW5PUz8/KEoubG9hZGluZz8i4oCmIjoi4oCUIil9KSxaKEEyLHtsYWJlbDoiRXhlY3V0YWJsZSIsdmFsdWU6Si5leGVjdXRhYmxlPz8oSi5sb2FkaW5nPyLigKYiOiLigJQiKX0pLFooQTIse2xhYmVsOiJQSUQiLHZhbHVlOkoucGlkIT1udWxsP1N0cmluZyhKLnBpZCk6IuKAlCJ9KSxKLmlzUmVhY3ROYXRpdmUmJlooQTIse2xhYmVsOiJSZWFjdCBOYXRpdmUiLHZhbHVlOiJZZXMifSksWihBMix7bGFiZWw6IkFwcCBwYXRoIix2YWx1ZTpKLmFwcFBhdGg/PyhKLmxvYWRpbmc/IuKApiI6IuKAlCIpLG1vbm86ITAsYWN0aW9uOkouYXBwUGF0aD97dGl0bGU6IlJldmVhbCBpbiBGaW5kZXIiLG9uQ2xpY2s6KCk9PntUMShgb3BlbiAtUiAke08xKEouYXBwUGF0aCl9YCl9LGljb246WihqMix7c2l6ZToxMSxzdHJva2VXaWR0aDoyLjJ9KX06dm9pZCAwfSldfSldfSl9ZnVuY3Rpb24gbUooKXtyZXR1cm4gWigiZGl2Iix7ImRhdGEtdGVzdGlkIjoiYXBwLWRldGVjdGlvbi1za2VsZXRvbiIsY2xhc3NOYW1lOiJiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIiLCJhcmlhLWxhYmVsIjoiV2FpdGluZyBmb3IgZm9yZWdyb3VuZCBhcHAiLGNoaWxkcmVuOlooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgdGV4dC1sZWZ0IG1pbi1oLVszNnB4XSBsZWFkaW5nLW5vbmUgcHktMi41IHB4LTEgLW15LTIgLW14LTEgdy1bY2FsYygxMDAlKzhweCldIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtWzhweF0gc2hyaW5rLTAgYmctd2hpdGUvWzAuMDhdIn0pLFooInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAgZmxleC0xIGZsZXggZmxleC1jb2wgZ2FwLTIiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJoLTMuNSB3LVs0NiVdIHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4xMl0ifSksWigic3BhbiIse2NsYXNzTmFtZToiaC0yLjUgdy1bNjglXSByb3VuZGVkLWZ1bGwgYmctd2hpdGUvWzAuMDhdIn0pXX0pLFooInNwYW4iLHtjbGFzc05hbWU6InctMi41IGgtMi41IHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4wOF0ifSldfSl9KX1mdW5jdGlvbiBwSih7YnVuZGxlSWQ6JCxkaXNwbGF5TmFtZTpRfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToibWluLXctMCBmbGV4LTEgbGVhZGluZy10aWdodCB0ZXh0LWxlZnQiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS85MCB0cnVuY2F0ZSIsY2hpbGRyZW46UT8/aEooJCl9KSxaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNTUgZm9udC1tb25vIHRydW5jYXRlIix0aXRsZTokLGNoaWxkcmVuOiR9KV19KX1mdW5jdGlvbiBBMih7bGFiZWw6JCx2YWx1ZTpRLG1vbm86SixhY3Rpb246WH0pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6Imdyb3VwIGZsZXggaXRlbXMtYmFzZWxpbmUgZ2FwLTIgbWluLXctMCIsY2hpbGRyZW46W1ooImR0Iix7Y2xhc3NOYW1lOiJtLTAgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS81MCB3LTIxIHNocmluay0wIixjaGlsZHJlbjokfSksWigiZGQiLHtjbGFzc05hbWU6YG0tMCB0ZXh0LXdoaXRlLzkwIGZsZXgtMSBtaW4tdy0wIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHJlbGF0aXZlICR7Sj8iZm9udC1tb25vIHRleHQtWzExcHhdIjoidGV4dC1bMTJweF0ifWAsdGl0bGU6USxjaGlsZHJlbjpbUSxYJiZaKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0wIHJpZ2h0LTAgYm90dG9tLTAgcGwtNyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZCBiZy1bbGluZWFyLWdyYWRpZW50KHRvX3JpZ2h0LHJnYmEoMjgsMjgsMzAsMClfMCUsIzFjMWMxZV81NSUpXSBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMTVzX2Vhc2UsdHJhbnNmb3JtXzAuMTVzX2Vhc2VdIG9wYWNpdHktMCB0cmFuc2xhdGUteC0xIHBvaW50ZXItZXZlbnRzLW5vbmUgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgZ3JvdXAtaG92ZXI6dHJhbnNsYXRlLXgtMCBncm91cC1ob3Zlcjpwb2ludGVyLWV2ZW50cy1hdXRvIixjaGlsZHJlbjpaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6WC5vbkNsaWNrLHRpdGxlOlgudGl0bGUsImFyaWEtbGFiZWwiOlgudGl0bGUsY2xhc3NOYW1lOiJ3LTUgaC01IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHJvdW5kZWQgdGV4dC13aGl0ZSBjdXJzb3ItcG9pbnRlciBwLTAiLGNoaWxkcmVuOlguaWNvbn0pfSldfSldfSl9dmFyIFU0PVt7a2V5OiJjYW1lcmEiLGxhYmVsOiJDYW1lcmEifSx7a2V5OiJtaWNyb3Bob25lIixsYWJlbDoiTWljcm9waG9uZSJ9LHtrZXk6InBob3RvcyIsbGFiZWw6IlBob3RvcyJ9LHtrZXk6InBob3Rvcy1hZGQiLGxhYmVsOiJBZGQgdG8gUGhvdG9zIn0se2tleToiY29udGFjdHMiLGxhYmVsOiJDb250YWN0cyJ9LHtrZXk6ImNhbGVuZGFyIixsYWJlbDoiQ2FsZW5kYXIifSx7a2V5OiJyZW1pbmRlcnMiLGxhYmVsOiJSZW1pbmRlcnMifSx7a2V5OiJsb2NhdGlvbiIsbGFiZWw6IkxvY2F0aW9uIn0se2tleToibG9jYXRpb24tYWx3YXlzIixsYWJlbDoiTG9jYXRpb24gKEFsd2F5cykifSx7a2V5OiJub3RpZmljYXRpb25zIixsYWJlbDoiTm90aWZpY2F0aW9ucyJ9LHtrZXk6Im1vdGlvbiIsbGFiZWw6Ik1vdGlvbiJ9LHtrZXk6Im1lZGlhLWxpYnJhcnkiLGxhYmVsOiJNZWRpYSBMaWJyYXJ5In0se2tleToic2lyaSIsbGFiZWw6IlNpcmkifV07ZnVuY3Rpb24gSDQoe3VkaWQ6JCxidW5kbGVJZDpRfSl7bGV0W0osWF09ayh7fSksW0ssWV09ayhudWxsKSxbcSxHXT1rKG51bGwpLFtCLE5dPWsoITEpLHo9RDEoKCk9PntsZXQgQz10eXBlb2Ygd2luZG93PiJ1Ij92b2lkIDA6d2luZG93Ll9fU0lNX1BSRVZJRVdfXz8uc2VydmVTaW1CaW47aWYoIUMpcmV0dXJuInNlcnZlLXNpbSI7aWYoL1wudHMkLy50ZXN0KEMpKXJldHVybmBidW4gJHtPMShDKX1gO2lmKC9cLmpzJC8udGVzdChDKSlyZXR1cm5gbm9kZSAke08xKEMpfWA7cmV0dXJuIE8xKEMpfSxbXSk7eSgoKT0+e1goe30pLEcobnVsbCl9LFtRXSk7bGV0IFY9SShhc3luYyhDLE0pPT57aWYoIVEpcmV0dXJuO2xldCBMPWAke0N9OiR7TX1gO1koTCksRyhudWxsKTt0cnl7bGV0IEg9YXdhaXQgVDEoYCR7en0gcGVybWlzc2lvbnMgJHtNfSAke0N9ICR7TzEoUSl9IC1kICR7TzEoJCl9YCk7aWYoSC5leGl0Q29kZSE9PTApe0coSC5zdGRlcnIudHJpbSgpfHxgc2VydmUtc2ltIHBlcm1pc3Npb25zIGZhaWxlZCAoZXhpdCAke0guZXhpdENvZGV9KWApO3JldHVybn1YKChPKT0+KHsuLi5PLFtDXTpNPT09InJlc2V0Ij92b2lkIDA6TX0pKX1maW5hbGx5e1kobnVsbCl9fSxbeiwkLFFdKSxVPUkoYXN5bmMoKT0+e2lmKCFRKXJldHVybjtZKCJfX2FsbF9fIiksRyhudWxsKTt0cnl7bGV0IEM9YXdhaXQgVDEoYCR7en0gcGVybWlzc2lvbnMgcmVzZXQgYWxsICR7TzEoUSl9IC1kICR7TzEoJCl9YCk7aWYoQy5leGl0Q29kZSE9PTApe0coQy5zdGRlcnIudHJpbSgpfHxgc2VydmUtc2ltIHBlcm1pc3Npb25zIGZhaWxlZCAoZXhpdCAke0MuZXhpdENvZGV9KWApO3JldHVybn1YKHt9KX1maW5hbGx5e1kobnVsbCl9fSxbeiwkLFFdKTtpZighUSlyZXR1cm4gWih1Six7fSk7cmV0dXJuIFooczEse29wZW46Qixvbk9wZW5DaGFuZ2U6TixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpaKFExLHtjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiUGVybWlzc2lvbnMifSksWigic3BhbiIse30pXX0pLGNoaWxkcmVuOltxJiZaKCJkaXYiLHtjbGFzc05hbWU6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQiLGNoaWxkcmVuOnF9KSxaKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtaC1bMjYwcHhdIG92ZXJmbG93LXktYXV0byBmbGV4IGZsZXgtY29sIGdhcC0xIHB5LTIgW3Njcm9sbGJhci13aWR0aDp0aGluXSIsY2hpbGRyZW46VTQubWFwKCh7a2V5OkMsbGFiZWw6TX0pPT57bGV0IEw9SltDXTtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIgcHgtMC41IHB5LTEiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzkwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIGZsZXgtMSBtaW4tdy0wIixjaGlsZHJlbjpNfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGdhcC0wLjUgYmctd2hpdGUvWzAuMDRdIGJvcmRlciBib3JkZXItd2hpdGUvOCByb3VuZGVkLW1kIHAtMC41Iixyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOk0sY2hpbGRyZW46W1ooejgse2FjdGl2ZTpMPT09ImdyYW50IixwZW5kaW5nOks9PT1gJHtDfTpncmFudGAsb25DbGljazooKT0+VihDLCJncmFudCIpLHZhcmlhbnQ6ImdyYW50Iix0aXRsZToiQWxsb3ciLGNoaWxkcmVuOloodjIse3NpemU6MTEsc3Ryb2tlV2lkdGg6M30pfSksWih6OCx7YWN0aXZlOkw9PT0icmV2b2tlIixwZW5kaW5nOks9PT1gJHtDfTpyZXZva2VgLG9uQ2xpY2s6KCk9PlYoQywicmV2b2tlIiksdmFyaWFudDoicmV2b2tlIix0aXRsZToiRGVueSIsY2hpbGRyZW46WihMMCx7c2l6ZToxMSxzdHJva2VXaWR0aDozfSl9KSxaKHo4LHthY3RpdmU6ITEscGVuZGluZzpLPT09YCR7Q306cmVzZXRgLG9uQ2xpY2s6KCk9PlYoQywicmVzZXQiKSx2YXJpYW50OiJyZXNldCIsdGl0bGU6IlJlc2V0IixjaGlsZHJlbjpaKGEwLHtzaXplOjExLHN0cm9rZVdpZHRoOjIuNH0pfSldfSldfSxDKX0pfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgcmlnaHQtMCBoLVsxNHB4XSBwb2ludGVyLWV2ZW50cy1ub25lIHJvdW5kZWQtdC1bMTBweF0gYmctW2xpbmVhci1ncmFkaWVudCh0b19ib3R0b20sIzFjMWMxZV8wJSxyZ2JhKDI4LDI4LDMwLDApXzEwMCUpXSJ9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGJvdHRvbS0wIGxlZnQtMCByaWdodC0wIGgtWzE0cHhdIHBvaW50ZXItZXZlbnRzLW5vbmUgYmctW2xpbmVhci1ncmFkaWVudCh0b190b3AsIzFjMWMxZV8wJSxyZ2JhKDI4LDI4LDMwLDApXzEwMCUpXSJ9KV19KSxaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXgganVzdGlmeS1lbmQiLGNoaWxkcmVuOlooImJ1dHRvbiIse29uQ2xpY2s6VSxkaXNhYmxlZDpLPT09Il9fYWxsX18iLGNsYXNzTmFtZToiYmctdHJhbnNwYXJlbnQgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiB0ZXh0LXdoaXRlLzcwIHRleHQtWzEwcHhdIHB4LTIgcHktWzNweF0gcm91bmRlZC1bNXB4XSBjdXJzb3ItcG9pbnRlciB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDRlbV0iLHRpdGxlOiJzZXJ2ZS1zaW0gcGVybWlzc2lvbnMgcmVzZXQgYWxsIixjaGlsZHJlbjpLPT09Il9fYWxsX18iPyLigKYiOiJSZXNldCBhbGwifSl9KV19KX1mdW5jdGlvbiB1Sigpe3JldHVybiBaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJhcHAtcGVybWlzc2lvbnMtbG9hZGluZyIsY2xhc3NOYW1lOiJiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIiLCJhcmlhLWRpc2FibGVkIjoidHJ1ZSIsImFyaWEtYnVzeSI6InRydWUiLGNoaWxkcmVuOlooImRpdiIse2NsYXNzTmFtZToic2VsZWN0LW5vbmUgdGV4dC13aGl0ZS81NSBtaW4taC1bMzZweF0gbGVhZGluZy1ub25lIHB5LTIuNSBweC0xIC1teS0yIC1teC0xIHctW2NhbGMoMTAwJSs4cHgpXSBncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCBjdXJzb3ItZGVmYXVsdCIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJQZXJtaXNzaW9ucyJ9KSxaKCJzcGFuIix7fSksWigic3BhbiIseyJkYXRhLXRlc3RpZCI6InBlcm1pc3Npb25zLWxvYWRpbmctaW5kaWNhdG9yIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxhYmVsIjoiTG9hZGluZyBwZXJtaXNzaW9ucyIsY2xhc3NOYW1lOiJzaXplLTIuNSByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1bIzVmNjI2OF0gYm9yZGVyLXQtWyNmNGY0ZjVdIGFuaW1hdGUtW2dyaWQtc3Bpbl8wLjdzX2xpbmVhcl9pbmZpbml0ZV0ifSldfSl9KX1mdW5jdGlvbiB6OCh7YWN0aXZlOiQscGVuZGluZzpRLG9uQ2xpY2s6Six2YXJpYW50OlgsdGl0bGU6SyxjaGlsZHJlbjpZfSl7bGV0IHE9WD09PSJncmFudCI/IiM0YWRlODAiOlg9PT0icmV2b2tlIj8iI2Y4NzE3MSI6IiNhNWI0ZmMiO3JldHVybiBaKCJidXR0b24iLHtvbkNsaWNrOkosZGlzYWJsZWQ6USx0aXRsZTpLLCJhcmlhLWxhYmVsIjpLLGNsYXNzTmFtZToidy02IGgtNS41IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1ub25lIHJvdW5kZWQgcC0wIGN1cnNvci1wb2ludGVyIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xMnMsY29sb3JfMC4xMnNdIixzdHlsZTp7YmFja2dyb3VuZDokP2Ake3F9MjJgOiJ0cmFuc3BhcmVudCIsY29sb3I6JD9xOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIixvcGFjaXR5OlE/MC41OjF9LGNoaWxkcmVuOll9KX1mdW5jdGlvbiBhNSh7bGFiZWw6JCxjaGVja2VkOlEsZGlzYWJsZWQ6Sj0hMSxvbkNoYW5nZTpYfSl7cmV0dXJuIFooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIscm9sZToic3dpdGNoIiwiYXJpYS1jaGVja2VkIjpRLCJhcmlhLWxhYmVsIjokLGRpc2FibGVkOkosb25DbGljazooKT0+WCghUSksY2xhc3NOYW1lOmByZWxhdGl2ZSBoLVsxOHB4XSB3LTggc2hyaW5rLTAgcm91bmRlZC1mdWxsIGJvcmRlci1ub25lIHAtMCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzXSAke0o/ImN1cnNvci1kZWZhdWx0IGJnLXdoaXRlLzIwIjpRPyJjdXJzb3ItcG9pbnRlciBiZy1bIzBhODRmZl0iOiJjdXJzb3ItcG9pbnRlciBiZy13aGl0ZS8yMCJ9YCxjaGlsZHJlbjpaKCJzcGFuIix7Y2xhc3NOYW1lOmBhYnNvbHV0ZSB0b3AtWzJweF0gc2l6ZS1bMTRweF0gcm91bmRlZC1mdWxsIFt0cmFuc2l0aW9uOmxlZnRfMC4xNXNdICR7Sj8iYmctd2hpdGUvNTAiOiJiZy13aGl0ZSJ9YCxzdHlsZTp7bGVmdDpRPzE2OjJ9fSl9KX12YXIgbEo9ImJnLXBhbmVsIHJvdW5kZWQtWzEwcHhdIixkSj0idGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBtLTAiO2Z1bmN0aW9uIE80KHtvdmVybGF5RW5hYmxlZDokLG9uVG9nZ2xlT3ZlcmxheTpRfSl7bGV0e3NuYXBzaG90Okp9PUgyKCkse2hpZ2hsaWdodGVkS2V5Olgsc2V0SGlnaGxpZ2h0ZWRLZXk6S309UjUoKSxZPUo/LmVsZW1lbnRzPz9bXSxxPVM1KEopLEc9Sj8uZXJyb3JzPy5bMF0/P251bGw7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZTpgJHtsSn0gcHgtMyBweS0yYCxjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOmRKLGNoaWxkcmVuOiJBWCBUcmVlIn0pLFooYTUse2xhYmVsOiJFbmFibGUgb3ZlcmxheSIsY2hlY2tlZDokLG9uQ2hhbmdlOlF9KV19KSwhJD9udWxsOnE/WihDNCx7Y2hpbGRyZW46IkFYIHVuYXZhaWxhYmxlIG9uIHRoaXMgc2ltdWxhdG9yLiJ9KTpZLmxlbmd0aD09PTA/WihDNCx7c3Bpbm5lcjohRyxjaGlsZHJlbjpHPz8iV2FpdGluZyBmb3IgYWNjZXNzaWJpbGl0eSBkYXRh4oCmIn0pOlooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMSBtdC0yIHB5LTIgbWF4LWgtWzI2MHB4XSBvdmVyZmxvdy15LWF1dG8gW3Njcm9sbGJhci13aWR0aDp0aGluXSIscm9sZToibGlzdCIsY2hpbGRyZW46WS5tYXAoKEIsTik9PntsZXQgej1zMChCKTtyZXR1cm4gWihjSix7ZWxlbWVudDpCLGluZGV4Ok4sYWN0aXZlOno9PT1YLG9uSGlnaGxpZ2h0Okt9LHopfSl9KV19KX1mdW5jdGlvbiBDNCh7Y2hpbGRyZW46JCxzcGlubmVyOlE9ITF9KXtyZXR1cm4gWigiZGl2Iix7cm9sZToic3RhdHVzIiwiYXJpYS1saXZlIjoicG9saXRlIixjbGFzc05hbWU6Im10LTIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgcHktNCB0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpbUT9aKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJzaXplLTMuNSBzaHJpbmstMCByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXdoaXRlLzIwIGJvcmRlci10LXdoaXRlLzYwIGFuaW1hdGUtW2dyaWQtc3Bpbl8wLjhzX2xpbmVhcl9pbmZpbml0ZV0ifSk6bnVsbCxaKCJzcGFuIix7Y2hpbGRyZW46JH0pXX0pfXZhciBjSj1pMChmdW5jdGlvbih7ZWxlbWVudDpRLGluZGV4OkosYWN0aXZlOlgsb25IaWdobGlnaHQ6S30pe2xldCBZPXMwKFEpLHE9ajUoUSxKKSxHPWAke01hdGgucm91bmQoUS5mcmFtZS53aWR0aCl9eCR7TWF0aC5yb3VuZChRLmZyYW1lLmhlaWdodCl9YCxCPVtxLmxhYmVsLHEucm9sZXx8cS50eXBlfHwiZWxlbWVudCIsR10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiDCtyAiKTtyZXR1cm4gWigiZGl2Iix7cm9sZToibGlzdGl0ZW0iLHRhYkluZGV4OjAsImRhdGEtYXgta2V5IjpZLHRpdGxlOkIsb25Nb3VzZUVudGVyOigpPT5LKFkpLG9uTW91c2VMZWF2ZTooKT0+SyhudWxsKSxvbkZvY3VzOigpPT5LKFkpLG9uQmx1cjooKT0+SyhudWxsKSxjbGFzc05hbWU6YGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiByb3VuZGVkLW1kIHB5LTEgcHgtMC41IG1pbi13LTAgJHtYPyJiZy13aGl0ZS9bMC4wNl0iOiIifWAsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBmbGV4LTEgbWluLXctMCIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6Im92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtd2hpdGUvOTAgdGV4dC1bMTJweF0gZm9udC1tZWRpdW0iLGNoaWxkcmVuOlEubGFiZWx8fFEucm9sZXx8IlVubGFiZWxlZCJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LXdoaXRlLzQ1IGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSIsY2hpbGRyZW46US5yb2xlfHxRLnR5cGV8fCJlbGVtZW50In0pXX0pLFooImNvZGUiLHtjbGFzc05hbWU6InNocmluay0wIGJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1tZCB0ZXh0LXdoaXRlLzU1IGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSBweC0xLjUgcHktWzNweF0iLGNoaWxkcmVuOkd9KV19KX0sKCQsUSk9PiQuaW5kZXg9PT1RLmluZGV4JiYkLmFjdGl2ZT09PVEuYWN0aXZlJiYkLm9uSGlnaGxpZ2h0PT09US5vbkhpZ2hsaWdodCYmeDUoJC5lbGVtZW50LFEuZWxlbWVudCkpO3ZhciBvSj1uZXcgU2V0KFsiaW1hZ2UvanBlZyIsImltYWdlL3BuZyIsImltYWdlL2dpZiIsImltYWdlL2hlaWMiLCJpbWFnZS9oZWlmIiwiaW1hZ2Uvd2VicCIsInZpZGVvL21wNCIsInZpZGVvL3F1aWNrdGltZSJdKSxMOD0xOTY2MDgsRjQ9NTI0Mjg4MDAwLHM1PSJhcHBsaWNhdGlvbi94LXNlcnZlLXNpbS1ob3N0LXBhdGgiO2FzeW5jIGZ1bmN0aW9uIE00KCQsUSxKKXtsZXQgWD1hd2FpdCBRKGB4Y3J1biBzaW1jdGwgYWRkbWVkaWEgJHtKfSAke08xKCQpfWApO2lmKFguZXhpdENvZGUhPT0wKXRocm93IEVycm9yKFguc3RkZXJyfHxgYWRkbWVkaWEgZmFpbGVkIChleGl0ICR7WC5leGl0Q29kZX0pYCl9ZnVuY3Rpb24gazIoJCl7bGV0IFE9JC5uYW1lLEo9US5sYXN0SW5kZXhPZigiLiIpO2lmKEo+PTApcmV0dXJuIFEuc2xpY2UoSisxKS50b0xvd2VyQ2FzZSgpO2lmKCQudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSlyZXR1cm4ibXA0IjtyZXR1cm4ianBnIn1mdW5jdGlvbiBBNCgkKXtpZihrMigkKT09PSJpcGEiKXJldHVybiJpcGEiO2lmKG9KLmhhcygkLnR5cGUpKXJldHVybiJtZWRpYSI7cmV0dXJuIG51bGx9ZnVuY3Rpb24gaUooJCl7bGV0IFE9bmV3IFVpbnQ4QXJyYXkoJCksSj0iIjtmb3IobGV0IFg9MDtYPFEubGVuZ3RoO1grPTMyNzY4KUorPVN0cmluZy5mcm9tQ2hhckNvZGUoLi4uUS5zdWJhcnJheShYLFgrMzI3NjgpKTtyZXR1cm4gYnRvYShKKX1hc3luYyBmdW5jdGlvbiBrNCgkLFEsSixYKXtsZXQgSz0wO2ZvcihsZXQgWT0wO1k8JC5zaXplO1krPUw4KXtsZXQgcT1hd2FpdCAkLnNsaWNlKFksWStMOCkuYXJyYXlCdWZmZXIoKSxHPWlKKHEpLE49YXdhaXQgSihgYmFzaCAtYyAnZWNobyAke0d9IHwgYmFzZTY0IC1kICR7WT09PTA/Ij4iOiI+PiJ9ICR7UX0nYCk7aWYoTi5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoTi5zdGRlcnJ8fGBXcml0ZSBmYWlsZWQgKGV4aXQgJHtOLmV4aXRDb2RlfSlgKTtpZighWCljb250aW51ZTtsZXQgej1NYXRoLm1pbihZK0w4LCQuc2l6ZSksVj1NYXRoLmZsb29yKHovJC5zaXplKjEwMCk7aWYoViE9PUspSz1WLFgoei8kLnNpemUpfX1hc3luYyBmdW5jdGlvbiBXNCgkLFEsSixYKXtpZigkLnNpemU+RjQpdGhyb3cgRXJyb3IoIkZpbGUgdG9vIGxhcmdlIChtYXggNTAwTUIpIik7bGV0IEs9YC90bXAvJHtRfS0ke2NyeXB0by5yYW5kb21VVUlEKCl9LiR7Sn1gO3JldHVybiBhd2FpdCBrNCgkLEssWCksS31hc3luYyBmdW5jdGlvbiBfNCgkLFEsSixYLEspe2lmKCQuc2l6ZT5GNCl0aHJvdyBFcnJvcigiRmlsZSB0b28gbGFyZ2UgKG1heCA1MDBNQikiKTtsZXQgWT1RPT09ImlwYSI/ImlwYSI6azIoJCksRz1gL3RtcC8ke1E9PT0iaXBhIj8ic2VydmUtc2ltLWluc3RhbGwiOiJzZXJ2ZS1zaW0tdXBsb2FkIn0tJHtjcnlwdG8ucmFuZG9tVVVJRCgpfS4ke1l9YDt0cnl7SygwKSxhd2FpdCBrNCgkLEcsSixLKSxLKG51bGwpO2xldCBCPVE9PT0iaXBhIj9geGNydW4gc2ltY3RsIGluc3RhbGwgJHtYfSAke0d9YDpgeGNydW4gc2ltY3RsIGFkZG1lZGlhICR7WH0gJHtHfWAsTj1hd2FpdCBKKEIpO2lmKE4uZXhpdENvZGUhPT0wKXtsZXQgej1RPT09ImlwYSI/Imluc3RhbGwiOiJhZGRtZWRpYSI7dGhyb3cgRXJyb3IoTi5zdGRlcnJ8fGAke3p9IGZhaWxlZCAoZXhpdCAke04uZXhpdENvZGV9KWApfX1maW5hbGx5e0ooYGJhc2ggLWMgJ3JtIC1mICR7R30nYCkuY2F0Y2goKCk9Pnt9KX19dmFyIG5KPTMwMDA7YXN5bmMgZnVuY3Rpb24gckooJCxRPWZldGNoKXt0cnl7bGV0IEo9YXdhaXQgUSgkLHtjYWNoZToibm8tc3RvcmUifSk7aWYoIUoub2spcmV0dXJuIG51bGw7bGV0IFg9YXdhaXQgSi5qc29uKCk7cmV0dXJuIFgmJnR5cGVvZiBYPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KFgpP1g6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19dmFyIGFKPTIwOTcxNTIwMCxzSj0iTGFyZ2UgdmlkZW8gKD4yMDAgTUIpIOKAlCBtYXkgc3R1dHRlciBvbiBzaGFyZWQgbWVtb3J5IixQND0iSEVJQyBkZWNvZGUgZmFpbGVkIOKAlCBleHBvcnQgYXMgSlBFRyBvciBQTkcgYW5kIHJldHJ5IjtmdW5jdGlvbiB0SigkLFEpe2lmKFEpcmV0dXJuImFjdGl2ZSI7aWYoJD09PSJhY3RpdmUiKXJldHVybiJkaXNjb25uZWN0ZWQiO2lmKCQ9PT0iZGlzY29ubmVjdGVkIilyZXR1cm4icmVhZHkiO3JldHVybiAkfWZ1bmN0aW9uIGVKKCQpe2lmKCEkLmluamVjdGVkKXJldHVybiJwbGF5IjtpZigkLnNvdXJjZT09PSJwbGFjZWhvbGRlciIpcmV0dXJuInBsYXkiO2lmKCQuYnVuZGxlSWQmJiEkLmZvcmVncm91bmRJc0luamVjdGVkKXJldHVybiJhdHRhY2giO3JldHVybiJzdG9wIn1mdW5jdGlvbiAkWigkKXtyZXR1cm4gJC5zcGxpdChgCmApLm1hcCgoUSk9PlEudHJpbSgpKS5maWx0ZXIoQm9vbGVhbikuZmxhdE1hcCgoUSk9PntsZXQgSj1RLmluZGV4T2YoIlx0Iik7aWYoSjw9MClyZXR1cm5bXTtsZXQgWD1RLnNsaWNlKDAsSikudHJpbSgpLEs9US5zbGljZShKKzEpLnRyaW0oKTtpZighWHx8IUspcmV0dXJuW107cmV0dXJuW3tpZDpYLG5hbWU6S31dfSl9dmFyIFFaPW5ldyBTZXQoWyJtcDQiLCJtNHYiLCJtb3YiLCJxdCIsImF2aSIsIm1rdiIsIndlYm0iLCJtcGciLCJtcGVnIiwiM2dwIiwiM2cyIiwidHMiLCJ3bXYiXSk7ZnVuY3Rpb24gVDQoJCl7aWYoJC50eXBlJiYkLnR5cGUuc3RhcnRzV2l0aCgidmlkZW8vIikpcmV0dXJuITA7bGV0IFE9KCQubmFtZT8/IiIpLnRvTG93ZXJDYXNlKCksSj1RLmxhc3RJbmRleE9mKCIuIik7aWYoSjwwKXJldHVybiExO3JldHVybiBRWi5oYXMoUS5zbGljZShKKzEpKX1mdW5jdGlvbiBKWigkKXtyZXR1cm4gVDQoJCkmJiQuc2l6ZT5hSn1mdW5jdGlvbiBaWigkKXtsZXQgUT0oJC50eXBlPz8iIikudG9Mb3dlckNhc2UoKTtpZihRPT09ImltYWdlL2hlaWMifHxRPT09ImltYWdlL2hlaWYiKXJldHVybiEwO2xldCBKPSgkLm5hbWU/PyIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBKLmVuZHNXaXRoKCIuaGVpYyIpfHxKLmVuZHNXaXRoKCIuaGVpZiIpfWZ1bmN0aW9uIFhaKHtyYXdNZXNzYWdlOiQsbGFzdEZpbGVJc0hlaWM6USxzb3VyY2U6Sn0pe2lmKFEmJihKPT09ImltYWdlInx8Sj09PSJ2aWRlbyIpKXJldHVybiBQNDtyZXR1cm4gJH1mdW5jdGlvbiBLWih7c3RhdGU6JH0pe2xldCBRPSQ9PT0iYWN0aXZlIj8iQWN0aXZlIjokPT09ImRpc2Nvbm5lY3RlZCI/IkRpc2Nvbm5lY3RlZCI6IlJlYWR5IixKPSQ9PT0iYWN0aXZlIj8ic2l6ZS0xLjUgcm91bmRlZC1mdWxsIGJnLXN1Y2Nlc3MtZW1lcmFsZCBbYm94LXNoYWRvdzowXzBfNnB4X3JnYmEoNzQsMjIyLDEyOCwwLjcpXSI6JD09PSJkaXNjb25uZWN0ZWQiPyJzaXplLTEuNSByb3VuZGVkLWZ1bGwgYmctZGFuZ2VyLXNvZnQgW2JveC1zaGFkb3c6MF8wXzZweF9yZ2JhKDI0OCwxMTMsMTEzLDAuNTUpXSI6bnVsbDtyZXR1cm4gWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS81NSBmb250LW1vbm8gaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUganVzdGlmeS1zZWxmLWVuZCBsZWFkaW5nLW5vbmUiLCJkYXRhLWNhbWVyYS1waWxsLXN0YXRlIjokLGNoaWxkcmVuOltKJiZaKCJzcGFuIix7Y2xhc3NOYW1lOkp9KSxRXX0pfWZ1bmN0aW9uIFlaKCl7cmV0dXJuIFooInAiLHtjbGFzc05hbWU6Im0tMCB0ZXh0LWNlbnRlciB0ZXh0LVsxMHB4XSBsZWFkaW5nLVsxLjVdIHRleHQtd2hpdGUvNDUiLCJkYXRhLWNhbWVyYS10ZXN0LXBhdHRlcm4taGludCI6ITAsY2hpbGRyZW46IlRlc3QtcGF0dGVybiBmZWVkIn0pfWZ1bmN0aW9uIHFaKHttb2RlOiQsZmlsZU5hbWU6USx3ZWJjYW1OYW1lOkosc291cmNlS2luZDpYfSl7aWYoJD09PSJ1cGxvYWRpbmciKXJldHVybiBaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzU1IixjaGlsZHJlbjoiVXBsb2FkaW5n4oCmIn0pO2lmKCQ9PT0iZmlsZSIpcmV0dXJuIFooUTEse2NoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InNocmluay0wIHRleHQtWzlweF0gdHJhY2tpbmctWzAuMWVtXSB1cHBlcmNhc2UgdGV4dC13aGl0ZS81NSBiZy13aGl0ZS9bMC4wNl0gYm9yZGVyIGJvcmRlci13aGl0ZS84IHB4LVs3cHhdIHB5LVsycHhdIHJvdW5kZWQtZnVsbCIsY2hpbGRyZW46WD09PSJ2aWRlbyI/IlZpZGVvIjoiSW1hZ2UifSksWigic3BhbiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi13LTAgdHJ1bmNhdGUgdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCBmb250LW1vbm8iLGNoaWxkcmVuOlE/PyIifSldfSk7aWYoJD09PSJ3ZWJjYW0iKXJldHVybiBaKFExLHtjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJzaHJpbmstMCB0ZXh0LVs5cHhdIHRyYWNraW5nLVswLjFlbV0gdXBwZXJjYXNlIHRleHQtd2hpdGUvNTUgYmctd2hpdGUvWzAuMDZdIGJvcmRlciBib3JkZXItd2hpdGUvOCBweC1bN3B4XSBweS1bMnB4XSByb3VuZGVkLWZ1bGwiLGNoaWxkcmVuOiJXZWJjYW0ifSksWigic3BhbiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi13LTAgdHJ1bmNhdGUgdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCBmb250LW1vbm8iLGNoaWxkcmVuOko/PyIifSldfSk7cmV0dXJuIFooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEycHhdIHRleHQtd2hpdGUvODUgZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJTZWxlY3Qgb3IgZHJvcCBtZWRpYSJ9KX1mdW5jdGlvbiBENCh7a2luZDokLG1lc3NhZ2U6UX0pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6JD09PSJ3YXJuaW5nIj8iYmctd2FybmluZy8xMCBib3JkZXIgYm9yZGVyLXdhcm5pbmcvMjUgdGV4dC13YXJuaW5nLXNvZnQgdGV4dC1bMTFweF0gcHgtMiBweS0xLjUgcm91bmRlZC1tZCBicmVhay13b3JkcyI6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQgYnJlYWstd29yZHMiLCJkYXRhLWNhbWVyYS1iYW5uZXIta2luZCI6JCxyb2xlOiQ9PT0iZXJyb3IiPyJhbGVydCI6InN0YXR1cyIsY2hpbGRyZW46UX0pfWZ1bmN0aW9uIEU0KHt1ZGlkOiQsYnVuZGxlSWQ6UX0pe2xldFtKLFhdPWsoITEpLFtLLFldPWsoInBsYWNlaG9sZGVyIiksW3EsR109aygiIiksW0IsTl09ayhudWxsKSxbeixWXT1rKCExKSxVPXcoMCksW0MsTV09ayghMSksW0wsSF09ayghMSksTz13KG51bGwpLFtXLFRdPWsoW10pLFtQLHhdPWsoITEpLFtELGVdPWsoIiIpLFtSLGRdPWsoIm9mZiIpLFtuLG9dPWsobnVsbCksW2EsaV09ayhudWxsKSxMMT1uIT09bnVsbHx8YSE9PW51bGwsW2wsZl09ayhudWxsKSxbWDEsWjFdPWsobnVsbCksWyxVMV09ayhudWxsKSxbcyxKMV09ayghMSksW3ExLGpdPWsoInJlYWR5IiksW3AsX109aygoKT0+bmV3IFNldCksW2gsbV09ayhudWxsKSxbdixZMV09ayhudWxsKSxWMT13KCExKSx3MT13KCExKSxGMT13KCJvZmYiKSxJMT13KCExKSxXMT1EMSgoKT0+e2xldCBFPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18/LnNlcnZlU2ltQmluO2lmKCFFKXJldHVybiJzZXJ2ZS1zaW0iO2lmKC9cLnRzJC8udGVzdChFKSlyZXR1cm5gYnVuICR7TzEoRSl9YDtpZigvXC5qcyQvLnRlc3QoRSkpcmV0dXJuYG5vZGUgJHtPMShFKX1gO3JldHVybiBPMShFKX0sW10pLFIxPUkoYXN5bmMoKT0+e2xldCBFPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18/LmNhbWVyYVN0YXR1c0VuZHBvaW50O3JldHVybiBFP3JKKEUpOm51bGx9LFtdKSxrMT13KGFzeW5jKCk9Pnt9KSxyMT13KFEpO3koKCk9PntyMS5jdXJyZW50PVF9LFtRXSkseSgoKT0+e2xldCBFPSExO3JldHVybihhc3luYygpPT57bGV0IHU9YXdhaXQgUjEoKTtpZihFfHwhdXx8IXUuYWxpdmUpcmV0dXJuO3cxLmN1cnJlbnQ9ITA7bGV0IHI9dS5zb3VyY2U7aWYocj09PSJwbGFjZWhvbGRlciJ8fHI9PT0id2ViY2FtInx8cj09PSJpbWFnZSJ8fHI9PT0idmlkZW8iKVkocik7aWYoKHI9PT0iaW1hZ2UifHxyPT09InZpZGVvIikmJnUuYXJnKUcodS5hcmcpLE4odS5hcmcuc3BsaXQoIi8iKS5wb3AoKT8/bnVsbCk7aWYocj09PSJ3ZWJjYW0iJiZ1LmFyZyllKHUuYXJnKSxrMS5jdXJyZW50KCk7bGV0IEMxPXUubWlycm9yPT09Im9uIj8ib24iOiJvZmYiO2QoQzEpLEYxLmN1cnJlbnQ9QzEsbSh1LmhlbHBlclBpZD8/bnVsbCksSjEoITApO2xldCBHMT1BcnJheS5pc0FycmF5KHUuYnVuZGxlSWRzKT91LmJ1bmRsZUlkczpbXTtpZihHMS5sZW5ndGg+MClfKG5ldyBTZXQoRzEpKTtsZXQgQjE9cjEuY3VycmVudCxoMT1yJiZyIT09InBsYWNlaG9sZGVyIjtqKEIxJiZHMS5pbmNsdWRlcyhCMSkmJmgxPyJhY3RpdmUiOiJyZWFkeSIpLFUxKGBSZWF0dGFjaGVkIOKGkiAke3I/PyJydW5uaW5nIGhlbHBlciJ9JHt1LmFyZz9gICgke3UuYXJnfSlgOiIifWApfSkoKSwoKT0+e0U9ITB9fSxbJCxSMV0pLHkoKCk9PntsZXQgRT0hMSx1PSExLHI9bnVsbCxDMT1hc3luYygpPT57aWYoRXx8dSlyZXR1cm47aWYodHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09ImhpZGRlbiIpcmV0dXJuO3U9ITA7dHJ5e2xldCBCMT1hd2FpdCBSMSgpO2lmKEUpcmV0dXJuO2xldCBoMT0hIUIxPy5hbGl2ZSxsMT1BcnJheS5pc0FycmF5KEIxPy5idW5kbGVJZHMpP0IxLmJ1bmRsZUlkczpudWxsLHAxPSEhUSYmKGwxP2wxLmluY2x1ZGVzKFEpOnAuaGFzKFEpKSxDMD1CMT8uc291cmNlPz9udWxsLGswPXMmJmgxJiZwMSYmISEoQzAmJkMwIT09InBsYWNlaG9sZGVyIikmJihoPT1udWxsfHxCMT8uaGVscGVyUGlkPT09aCk7aWYoaigoejApPT50Sih6MCxrMCkpLCFoMSlKMSgoejApPT57aWYoIXowKXJldHVybiB6MDtyZXR1cm4gXyhuZXcgU2V0KSxtKG51bGwpLEYxLmN1cnJlbnQ9Im9mZiIsITF9KTtlbHNlIGlmKHMmJmghPW51bGwmJkIxPy5oZWxwZXJQaWQhPT1oKUoxKCExKSxfKG5ldyBTZXQpLG0obnVsbCksRjEuY3VycmVudD0ib2ZmIjtlbHNlIGlmKGgxJiZBcnJheS5pc0FycmF5KEIxPy5idW5kbGVJZHMpKXtsZXQgejA9QjEuYnVuZGxlSWRzO18oKFAxKT0+e2lmKFAxLnNpemU9PT16MC5sZW5ndGgmJnowLmV2ZXJ5KChTMCk9PlAxLmhhcyhTMCkpKXJldHVybiBQMTtyZXR1cm4gbmV3IFNldCh6MCl9KX19ZmluYWxseXt1PSExfX07cj1zZXRJbnRlcnZhbCgoKT0+e0MxKCl9LG5KKTtsZXQgRzE9KCk9PntpZihkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSIpQzEoKX07aWYodHlwZW9mIGRvY3VtZW50PCJ1Iilkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixHMSk7cmV0dXJuKCk9PntpZihFPSEwLHIpY2xlYXJJbnRlcnZhbChyKTtpZih0eXBlb2YgZG9jdW1lbnQ8InUiKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLEcxKX19LFtSMSxzLGgsUSxwXSk7bGV0IHgxPUkoYXN5bmMoKT0+e3goITApLGYobnVsbCk7dHJ5e2xldCBFPWF3YWl0IFQxKGAke1cxfSBjYW1lcmEgLS1saXN0LXdlYmNhbXNgKTtpZihFLmV4aXRDb2RlIT09MCl7ZihFLnN0ZGVyci50cmltKCl8fGAtLWxpc3Qtd2ViY2FtcyBmYWlsZWQgKCR7RS5leGl0Q29kZX0pYCk7cmV0dXJufWxldCB1PSRaKEUuc3Rkb3V0KTtpZihUKHUpLHUubGVuZ3RoPjAmJiFEKWUodVswXS5pZCl9ZmluYWxseXt4KCExKX19LFtELFcxXSk7eSgoKT0+e2sxLmN1cnJlbnQ9eDF9LFt4MV0pLHkoKCk9PntpZihMJiZXLmxlbmd0aD09PTAmJiFQKXgxKCl9LFtMLFcubGVuZ3RoLFAseDFdKTtsZXQgTTE9SSgoRSk9PntmKFhaKHtyYXdNZXNzYWdlOkUsbGFzdEZpbGVJc0hlaWM6VjEuY3VycmVudCxzb3VyY2U6S30pKX0sW0tdKSxOMT1JKGFzeW5jKEUsdSxyKT0+e2xldCBDMT1FPT09ImltYWdlInx8RT09PSJ2aWRlbyIsRzE9WyJjYW1lcmEiLCJzd2l0Y2giLEMxPyJmaWxlIjpFXTtpZihFPT09IndlYmNhbSImJnUpRzEucHVzaChPMSh1KSk7aWYoQzEpe2lmKCFyLnRyaW0oKSlyZXR1cm4gZigiRHJvcCBhIGZpbGUgaW50byB0aGUgcGFuZWwgb3IgcGljayBhbm90aGVyIHNvdXJjZS4iKSwhMTtHMS5wdXNoKE8xKHIudHJpbSgpKSl9RzEucHVzaCgiLWQiLCQsIi0tcXVpZXQiKTtsZXQgQjE9YXdhaXQgVDEoYCR7VzF9ICR7RzEuam9pbigiICIpfWApO2lmKEIxLmV4aXRDb2RlIT09MClyZXR1cm4gTTEoQjEuc3RkZXJyLnRyaW0oKXx8QjEuc3Rkb3V0LnRyaW0oKXx8YHN3aXRjaCBmYWlsZWQgKCR7QjEuZXhpdENvZGV9KWApLCExO1YxLmN1cnJlbnQ9ITE7dHJ5e2xldCBoMT1KU09OLnBhcnNlKEIxLnN0ZG91dC50cmltKCkpO1UxKGBTd2l0Y2hlZCDihpIgJHtoMS5zb3VyY2U/P0V9JHtoMS5hcmc/YCAoJHtoMS5hcmd9KWA6IiJ9YCl9Y2F0Y2h7VTEoYFN3aXRjaGVkIOKGkiAke0V9YCl9cmV0dXJuITB9LFskLFcxLE0xXSksYTE9SShhc3luYygpPT57aWYoIVEpcmV0dXJuO28oImluamVjdCIpLGYobnVsbCksVTEobnVsbCk7dHJ5e2xldCBFPVsiY2FtZXJhIixPMShRKSwiLWQiLCQsIi0tcXVpZXQiXTtpZihLPT09ImltYWdlInx8Sz09PSJ2aWRlbyIpe2lmKCFxLnRyaW0oKSl7ZigiRHJvcCBhIGZpbGUgaW50byB0aGUgcGFuZWwgb3IgcGljayBhbm90aGVyIHNvdXJjZS4iKTtyZXR1cm59RS5wdXNoKCItLWZpbGUiLE8xKHEudHJpbSgpKSl9ZWxzZSBpZihLPT09IndlYmNhbSIpaWYoRClFLnB1c2goIi0td2ViY2FtIixPMShEKSk7ZWxzZSBFLnB1c2goIi0td2ViY2FtIik7RS5wdXNoKCItLW1pcnJvciIsUik7bGV0IHU9YXdhaXQgVDEoYCR7VzF9ICR7RS5qb2luKCIgIil9YCk7aWYodS5leGl0Q29kZSE9PTApe00xKHUuc3RkZXJyLnRyaW0oKXx8dS5zdGRvdXQudHJpbSgpfHxgaW5qZWN0IGZhaWxlZCAoJHt1LmV4aXRDb2RlfSlgKTtyZXR1cm59VjEuY3VycmVudD0hMTtsZXQgcj1udWxsO3RyeXtsZXQgQzE9SlNPTi5wYXJzZSh1LnN0ZG91dC50cmltKCkpO3I9QzEuaGVscGVyUGlkPz9udWxsO2xldCBHMT1DMS5oZWxwZXJSZWxhdW5jaGVkPT09ITE/IkF0dGFjaGVkIjoiSW5qZWN0ZWQiLEIxPUMxLnBpZD9gIHBpZCAke0MxLnBpZH1gOiIiLGgxPUMxLmhlbHBlclBpZD9gLCBoZWxwZXIgcGlkICR7QzEuaGVscGVyUGlkfWA6IiI7VTEoYCR7RzF9ICR7QzEuc291cmNlPz9LfSBpbnRvICR7UX0ke0IxfSR7aDF9YCl9Y2F0Y2h7VTEodS5zdGRvdXQudHJpbSgpfHwiSW5qZWN0ZWQuIil9SjEoITApLGooSz09PSJwbGFjZWhvbGRlciI/InJlYWR5IjoiYWN0aXZlIiksbShyKSxfKChDMSk9PkMxLmhhcyhRKT9DMTpuZXcgU2V0KEMxKS5hZGQoUSkpLEYxLmN1cnJlbnQ9Un1maW5hbGx5e28obnVsbCl9fSxbUSwkLEsscSxELFIsVzEsTTFdKSxmMT1zP2Ake0t9Ojoke0s9PT0id2ViY2FtIj9EOiIifTo6JHtLPT09ImltYWdlInx8Sz09PSJ2aWRlbyI/cToiIn1gOm51bGwsaTE9ISFRJiZwLmhhcyhRKSx0MT1pMSYmSyE9PSJwbGFjZWhvbGRlciI7eSgoKT0+e2lmKCF0MSl7STEuY3VycmVudD0hMTtyZXR1cm59aWYoSTEuY3VycmVudClyZXR1cm47STEuY3VycmVudD0hMCxYKCEwKX0sW3QxXSkseSgoKT0+e2lmKCF2KXJldHVybjtpZighUXx8TDF8fEMpcmV0dXJuO2lmKEshPT0id2ViY2FtInx8RCE9PXYpcmV0dXJuO2lmKFkxKG51bGwpLHMpcmV0dXJuO2ExKCl9LFt2LFEsTDEsQyxLLEQscyxhMV0pLHkoKCk9PntpZighcylyZXR1cm47aWYoKEs9PT0iaW1hZ2UifHxLPT09InZpZGVvIikmJiFxLnRyaW0oKSlyZXR1cm47aWYoSz09PSJ3ZWJjYW0iJiYhRClyZXR1cm47aWYodzEuY3VycmVudCl7dzEuY3VycmVudD0hMTtyZXR1cm59bGV0IEU9ITE7cmV0dXJuKGFzeW5jKCk9PntpKCJzd2l0Y2giKSxmKG51bGwpO3RyeXtpZihFKXJldHVybjthd2FpdCBOMShLLEQscSl9ZmluYWxseXtpZighRSlpKG51bGwpfX0pKCksKCk9PntFPSEwfX0sW2YxXSkseSgoKT0+e2lmKCFzKXJldHVybjtpZihGMS5jdXJyZW50PT09UilyZXR1cm47bGV0IEU9Uix1PSExO3JldHVybihhc3luYygpPT57aSgibWlycm9yIiksZihudWxsKTt0cnl7bGV0IHI9YXdhaXQgVDEoYCR7VzF9IGNhbWVyYSBtaXJyb3IgJHtFfSAtZCAkeyR9IC0tcXVpZXRgKTtpZih1KXJldHVybjtpZihyLmV4aXRDb2RlIT09MCl7ZihyLnN0ZGVyci50cmltKCl8fHIuc3Rkb3V0LnRyaW0oKXx8YG1pcnJvciBmYWlsZWQgKCR7ci5leGl0Q29kZX0pYCk7cmV0dXJufUYxLmN1cnJlbnQ9RSxVMShgTWlycm9yIOKGkiAke0V9YCl9ZmluYWxseXtpZighdSlpKG51bGwpfX0pKCksKCk9Pnt1PSEwfX0sW1Isc10pO2xldCBxMD1JKGFzeW5jKCk9PntvKCJzdG9wIiksZihudWxsKTt0cnl7bGV0IEU9YXdhaXQgVDEoYCR7VzF9IGNhbWVyYSAtLXN0b3Atd2ViY2FtIC1kICR7JH1gKTtpZihFLmV4aXRDb2RlIT09MCl7ZihFLnN0ZGVyci50cmltKCl8fGBzdG9wLXdlYmNhbSBmYWlsZWQgKCR7RS5leGl0Q29kZX0pYCk7cmV0dXJufVUxKCJDYW1lcmEgaGVscGVyIHN0b3BwZWQuIiksSjEoITEpLGooInJlYWR5IiksXyhuZXcgU2V0KSxGMS5jdXJyZW50PSJvZmYifWZpbmFsbHl7byhudWxsKX19LFskLFcxXSksRzA9SShhc3luYyhFKT0+e2xldCB1PVpaKHt0eXBlOkUudHlwZSxuYW1lOkUubmFtZX0pLHI9RS50eXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpfHx1LEMxPUUudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKXx8VDQoe3R5cGU6RS50eXBlLG5hbWU6RS5uYW1lfSk7aWYoIXImJiFDMSl7VjEuY3VycmVudD0hMSxmKGBVbnN1cHBvcnRlZCBmaWxlIHR5cGU6ICR7RS50eXBlfHxFLm5hbWV9YCk7cmV0dXJufWlmKE0oITApLGYobnVsbCksWjEobnVsbCksSlooe3R5cGU6RS50eXBlLG5hbWU6RS5uYW1lLHNpemU6RS5zaXplfSkpWjEoc0opO1YxLmN1cnJlbnQ9dTt0cnl7bGV0IEcxPWsyKEUpLEIxPWF3YWl0IFc0KEUsInNlcnZlLXNpbS1jYW1zcmMiLEcxLFQxKTtOKEUubmFtZSksWShDMT8idmlkZW8iOiJpbWFnZSIpLEcoQjEpLFUxKGBMb2FkZWQgJHtFLm5hbWV9YCl9Y2F0Y2goRzEpe2lmKFYxLmN1cnJlbnQpZihQNCk7ZWxzZSBmKEcxPy5tZXNzYWdlPz8iVXBsb2FkIGZhaWxlZCIpfWZpbmFsbHl7TSghMSl9fSxbXSksbDA9SShhc3luYyhFKT0+e0UucHJldmVudERlZmF1bHQoKSxFLnN0b3BQcm9wYWdhdGlvbigpLFUuY3VycmVudD0wLFYoITEpO2xldCB1PUUuZGF0YVRyYW5zZmVyPy5maWxlcz8uWzBdO2lmKHUpYXdhaXQgRzAodSl9LFtHMF0pLGoxPUkoKCk9PntZKCJwbGFjZWhvbGRlciIpLEcoIiIpLE4obnVsbCksZihudWxsKSxaMShudWxsKSxWMS5jdXJyZW50PSExfSxbXSksVjA9SSgoKT0+e08uY3VycmVudD8uY2xpY2soKX0sW10pLFEwPUkoYXN5bmMoRSk9PntsZXQgdT1FLnRhcmdldCxyPXUuZmlsZXM/LlswXTtpZih1LnZhbHVlPSIiLHIpYXdhaXQgRzAocil9LFtHMF0pO3koKCk9PntpZighTClyZXR1cm47bGV0IEU9KHUpPT57bGV0IHI9dS50YXJnZXQ7aWYociBpbnN0YW5jZW9mIEVsZW1lbnQmJnIuY2xvc2VzdCgiW2RhdGEtY2FtZXJhLXNvdXJjZS1tZW51XSIpKXJldHVybjtIKCExKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLEUpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixFKX0sW0xdKTtsZXQgRDA9SSgoRSk9PntpZihlKEUuaWQpLFkoIndlYmNhbSIpLE4obnVsbCksZihudWxsKSxWMS5jdXJyZW50PSExLEgoITEpLFEpWTEoRS5pZCl9LFtRXSksbTE9SSgoKT0+e2QoKEUpPT5FPT09Im9uIj8ib2ZmIjoib24iKX0sW10pLGUxPSFzfHxLPT09InBsYWNlaG9sZGVyIixSMD1JKChFKT0+e2lmKEUucHJldmVudERlZmF1bHQoKSxVLmN1cnJlbnQrKyxVLmN1cnJlbnQ9PT0xKVYoITApfSxbXSksYjE9SSgoRSk9PntpZihFLnByZXZlbnREZWZhdWx0KCksRS5kYXRhVHJhbnNmZXIpRS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0iY29weSJ9LFtdKSxCMD1JKChFKT0+e2lmKEUucHJldmVudERlZmF1bHQoKSxVLmN1cnJlbnQtLSxVLmN1cnJlbnQ8PTApVS5jdXJyZW50PTAsVighMSl9LFtdKSxVMD1lSih7YnVuZGxlSWQ6USxpbmplY3RlZDpzLHNvdXJjZTpLLGZvcmVncm91bmRJc0luamVjdGVkOmkxfSksXzE9VTA9PT0ic3RvcCI/e2xhYmVsOm49PT0ic3RvcCI/IlN0b3BwaW5n4oCmIjoiU3RvcCIsb25DbGljazpxMCxraW5kOiJzdG9wIn06VTA9PT0iYXR0YWNoIj97bGFiZWw6bj09PSJpbmplY3QiPyJJbmplY3RpbmfigKYiOmBJbmplY3QgJHtRfWAsb25DbGljazphMSxraW5kOiJhdHRhY2gifTp7bGFiZWw6bj09PSJpbmplY3QiPyJTdGFydGluZ+KApiI6IlBsYXkiLG9uQ2xpY2s6YTEsa2luZDoicGxheSJ9LEUxPVUwPT09InN0b3AiP0N8fG4hPT1udWxsOiFRfHxDfHxuIT09bnVsbCxKMD1LPT09InBsYWNlaG9sZGVyIixOMD1LPT09IndlYmNhbSIsSDA9KEs9PT0iaW1hZ2UifHxLPT09InZpZGVvIikmJiEhQixBMD1OMD9XLmZpbmQoKEUpPT5FLmlkPT09RCk/Lm5hbWU/P0Q/PyJXZWJjYW0iOm51bGwsSzE9Qz8idXBsb2FkaW5nIjpIMD8iZmlsZSI6TjA/IndlYmNhbSI6InBsYWNlaG9sZGVyIjtyZXR1cm4gWihzMSx7b3BlbjpKLG9uT3BlbkNoYW5nZTpYLGJvZHlDbGFzc05hbWU6InB0LTIuNSIsc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WihRMSx7Y2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IkNhbWVyYSJ9KSxaKEtaLHtzdGF0ZTpxMX0pXX0pLGNoaWxkcmVuOlooImRpdiIse29uRHJhZ0VudGVyOlIwLG9uRHJhZ092ZXI6YjEsb25EcmFnTGVhdmU6QjAsb25Ecm9wOmwwLGNsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMi41IixjaGlsZHJlbjpbWigicCIse2NsYXNzTmFtZToibS0wIHRleHQtWzEwcHhdIGxlYWRpbmctWzEuNV0gdGV4dC13aGl0ZS80NSIsY2hpbGRyZW46IlJlcGxhY2VzIHRoZSBzaW11bGF0b3IncyBjYW1lcmEgZmVlZCBieSBpbmplY3RpbmcgYSBkeWxpYiBhdCBhcHAgbGF1bmNoIGFuZCBzdHJlYW1pbmcgZnJhbWVzIGludG8gc2hhcmVkIG1lbW9yeS4gUGljayBtZWRpYSBvciBhIHdlYmNhbSwgdGhlbiBQbGF5IHRvIGluamVjdCBpbnRvIHRoZSBmb3JlZ3JvdW5kIGFwcC4ifSksWigiaW5wdXQiLHtyZWY6Tyx0eXBlOiJmaWxlIixhY2NlcHQ6ImltYWdlLyosdmlkZW8vKiIsY2xhc3NOYW1lOiJoaWRkZW4iLG9uQ2hhbmdlOlEwfSksWigiZGl2Iix7b25DbGljazooRSk9PntpZighSjApcmV0dXJuO2lmKEUudGFyZ2V0LmNsb3Nlc3QoIltkYXRhLWNsZWFyLW1lZGlhXSIpKXJldHVybjtWMCgpfSx0aXRsZTpKMD8iTm8gc291cmNlIHNlbGVjdGVkIOKAlCBQbGF5IHVzZXMgYSB0ZXN0LXBhdHRlcm4gZmVlZC4gQ2xpY2sgdG8gcGljayBhbiBpbWFnZS92aWRlbywgb3IgZHJvcCBvbmUgaGVyZS4iOk4wP2BTb3VyY2U6ICR7QTB9YDpgU291cmNlOiAke0I/P0t9YCxjbGFzc05hbWU6WyJyZWxhdGl2ZSBtaW4taC1bNDRweF0gZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIuNSBweC0zLjUgcHktMi41IHJvdW5kZWQtWzdweF0gdGV4dC1jZW50ZXIgdHJhbnNpdGlvbi1bYm9yZGVyLWNvbG9yLGJhY2tncm91bmRdIGR1cmF0aW9uLTE1MCIsSjA/ImJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLWRhc2hlZCBib3JkZXItd2hpdGUvMTIiOiJiZy13aGl0ZS9bMC4wNF0gYm9yZGVyIGJvcmRlci13aGl0ZS84Iix6PyIhYmctW3JnYmEoMTAsMTMyLDI1NSwwLjA4KV0gIWJvcmRlci1bcmdiYSgxMCwxMzIsMjU1LDAuNildIjoiIixDPyJjdXJzb3ItcHJvZ3Jlc3MiOkowPyJjdXJzb3ItcG9pbnRlciI6ImN1cnNvci1kZWZhdWx0Il0uam9pbigiICIpLGNoaWxkcmVuOltaKHFaLHttb2RlOksxLGZpbGVOYW1lOkIsd2ViY2FtTmFtZTpBMCxzb3VyY2VLaW5kOkt9KSwhSjAmJiFDJiZaKCJidXR0b24iLHsiZGF0YS1jbGVhci1tZWRpYSI6ITAsb25DbGljazooRSk9PntFLnN0b3BQcm9wYWdhdGlvbigpLGoxKCl9LGNsYXNzTmFtZToic2hyaW5rLTAgdy01IGgtNSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LXdoaXRlLzU1IGhvdmVyOnRleHQtd2hpdGUvOTAgY3Vyc29yLXBvaW50ZXIgcC0wIiwiYXJpYS1sYWJlbCI6IkNsZWFyIHNvdXJjZSIsdGl0bGU6IkNsZWFyIOKGkiBwbGFjZWhvbGRlciIsY2hpbGRyZW46WihMMCx7c2l6ZToxNCxzdHJva2VXaWR0aDoyfSl9KV19KSxKMCYmIUMmJlooWVose30pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1zdHJldGNoIGdhcC0xLjUiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIiwiZGF0YS1jYW1lcmEtc291cmNlLW1lbnUiOiEwLGNoaWxkcmVuOltaKCJidXR0b24iLHtvbkNsaWNrOigpPT5IKChFKT0+IUUpLGNsYXNzTmFtZToiaC1mdWxsIG1pbi1oLVszNnB4XSB3LTEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlciBib3JkZXItd2hpdGUvMTIgdGV4dC13aGl0ZS84NSByb3VuZGVkLVs3cHhdIGN1cnNvci1wb2ludGVyIHAtMCBob3ZlcjpiZy13aGl0ZS9bMC4wNl0gaG92ZXI6Ym9yZGVyLXdoaXRlLzIwIGhvdmVyOnRleHQtd2hpdGUiLCJhcmlhLWhhc3BvcHVwIjoibWVudSIsImFyaWEtZXhwYW5kZWQiOkwsdGl0bGU6Sz09PSJ3ZWJjYW0iP2BTb3VyY2U6IHdlYmNhbSR7RD9gICgke1cuZmluZCgoRSk9PkUuaWQ9PT1EKT8ubmFtZT8/RH0pYDoiIn0g4oCUIGNsaWNrIHRvIGNoYW5nZWA6YFNvdXJjZTogJHtLfSDigJQgY2xpY2sgdG8gcGljayBtZWRpYSBvciB3ZWJjYW1gLCJhcmlhLWxhYmVsIjoiQ2hvb3NlIGNhbWVyYSBzb3VyY2UiLGNoaWxkcmVuOloodTIse3NpemU6MjAsc3Ryb2tlV2lkdGg6Mn0pfSksTCYmWigiZGl2Iix7cm9sZToibWVudSIsY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtW2NhbGMoMTAwJSs2cHgpXSBsZWZ0LTAgei0xMCBtaW4tdy1bMjAwcHhdIGZsZXggZmxleC1jb2wgZ2FwLXB4IHAtMSBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1bN3B4XSBzaGFkb3ctWzBfOHB4XzI0cHhfcmdiYSgwLDAsMCwwLjQpXSIsY2hpbGRyZW46W1ooImJ1dHRvbiIse3JvbGU6Im1lbnVpdGVtIixjbGFzc05hbWU6InRleHQtbGVmdCBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LXdoaXRlLzg1IHRleHQtWzEycHhdIHB4LTIuNSBweS1bN3B4XSByb3VuZGVkLW1kIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLXdoaXRlL1swLjA2XSIsb25DbGljazooKT0+e0goITEpLFYwKCl9LHRpdGxlOiJQaWNrIGFuIGltYWdlIG9yIHZpZGVvIGZyb20gZGlzayIsY2hpbGRyZW46IkJyb3dzZSBtZWRpYeKApiJ9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImgtcHggYmctd2hpdGUvOCBteS0xIn0pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHBsLTIuNSBwci0yIHB0LTEgcGItWzJweF0iLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlLzQ1IHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSIsY2hpbGRyZW46UD8iQ2FtZXJhcyAobG9hZGluZ+KApikiOlcubGVuZ3RoPT09MD8iTm8gY2FtZXJhcyI6IkNhbWVyYXMifSksWigiYnV0dG9uIix7b25DbGljazooRSk9PntFLnN0b3BQcm9wYWdhdGlvbigpLHgxKCl9LGRpc2FibGVkOlAsY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LVsyMnB4XSBoLVsyMnB4XSBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSByb3VuZGVkLVs1cHhdIHRleHQtd2hpdGUvNTUgaG92ZXI6dGV4dC13aGl0ZS85MCBjdXJzb3ItcG9pbnRlciBwLTAgZGlzYWJsZWQ6b3BhY2l0eS01MCIsImFyaWEtbGFiZWwiOiJSZWZyZXNoIGNhbWVyYXMiLHRpdGxlOiJSZWZyZXNoIGNhbWVyYXMiLGNoaWxkcmVuOlooYTAse3NpemU6MTMsc3Ryb2tlV2lkdGg6Mn0pfSldfSksVy5tYXAoKEUpPT57bGV0IHU9Sz09PSJ3ZWJjYW0iJiZEPT09RS5pZDtyZXR1cm4gWigiYnV0dG9uIix7cm9sZToibWVudWl0ZW0iLGNsYXNzTmFtZTpbInRleHQtbGVmdCBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LVsxMnB4XSBweC0yLjUgcHktWzdweF0gcm91bmRlZC1tZCBjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy13aGl0ZS9bMC4wNl0iLHU/IiFiZy13aGl0ZS9bMC4xMl0gIXRleHQtd2hpdGUiOiJ0ZXh0LXdoaXRlLzg1Il0uam9pbigiICIpLG9uQ2xpY2s6KCk9PkQwKEUpLHRpdGxlOkUubmFtZSxjaGlsZHJlbjpFLm5hbWV9LEUuaWQpfSldfSldfSksWigiYnV0dG9uIix7b25DbGljazpfMS5vbkNsaWNrLGRpc2FibGVkOkUxLGNsYXNzTmFtZTpbImZsZXgtMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMS41IHB5LTIgcHgtMi41IGJvcmRlci1ub25lIHJvdW5kZWQtWzdweF0gdGV4dC1bMTJweF0gZm9udC1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBkaXNhYmxlZDpvcGFjaXR5LTUwIG1pbi1oLVszNnB4XSIsXzEua2luZD09PSJzdG9wIj8iYmctd2hpdGUvWzAuMTZdIHRleHQtd2hpdGUgZW5hYmxlZDpob3ZlcjpiZy13aGl0ZS9bMC4yMl0iOiJiZy1zdWNjZXNzLWVtZXJhbGQgdGV4dC1bIzA2MjAxOF0gZW5hYmxlZDpob3ZlcjpicmlnaHRuZXNzLVsxLjA4XSJdLmpvaW4oIiAiKSx0aXRsZTpfMS5raW5kPT09InN0b3AiPyJTdG9wIHRoZSBjYW1lcmEgaGVscGVyIGFuZCB0ZXJtaW5hdGUgaW5qZWN0ZWQgYXBwcyI6XzEua2luZD09PSJhdHRhY2giP2BJbmplY3QgJHtRfSBzbyBpdCBqb2lucyB0aGUgY2FtZXJhIGZlZWRgOiFRPyJCcmluZyBhbiBhcHAgdG8gdGhlIGZvcmVncm91bmQgZmlyc3QiOiJTdGFydDogaW5qZWN0IHRoZSBkeWxpYiBhbmQgbGF1bmNoIHRoZSBmb3JlZ3JvdW5kIGFwcCB3aXRoIHRoZSBjaG9zZW4gc291cmNlIiwiYXJpYS1wcmVzc2VkIjpfMS5raW5kPT09InN0b3AiLCJhcmlhLWxhYmVsIjpfMS5raW5kPT09InN0b3AiPyJTdG9wIjoiUGxheSIsY2hpbGRyZW46W18xLmtpbmQ9PT0ic3RvcCI/WihyMix7fSk6WihuMix7fSksWigic3BhbiIse2NoaWxkcmVuOl8xLmtpbmQ9PT0ic3RvcCI/IlN0b3AiOl8xLmtpbmQ9PT0iYXR0YWNoIj8iSW5qZWN0IjoiUGxheSJ9KV19KSxaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6bTEsZGlzYWJsZWQ6ZTEsY2xhc3NOYW1lOmBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTEwIG1pbi1oLVszNnB4XSBib3JkZXIgcm91bmRlZC1bN3B4XSBmb250LVtpbmhlcml0XSBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBhY3RpdmU6c2NhbGUtWzAuOTddICR7Uj09PSJvbiI/ImJnLXdoaXRlIGJvcmRlci13aGl0ZSB0ZXh0LVsjMGEwYTBjXSBjdXJzb3ItcG9pbnRlciBlbmFibGVkOmhvdmVyOmJnLXdoaXRlL1swLjg4XSBlbmFibGVkOmhvdmVyOmJvcmRlci13aGl0ZS9bMC44OF0gZW5hYmxlZDpob3Zlcjp0ZXh0LVsjMGEwYTBjXSI6ImJnLXdoaXRlL1swLjA0XSBib3JkZXItd2hpdGUvOCB0ZXh0LXdoaXRlLzg1IGN1cnNvci1wb2ludGVyIGVuYWJsZWQ6aG92ZXI6Ymctd2hpdGUvWzAuMDldIGVuYWJsZWQ6aG92ZXI6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMTgpXSBlbmFibGVkOmhvdmVyOnRleHQtd2hpdGUifWAsImFyaWEtbGFiZWwiOmBNaXJyb3I6ICR7Un0g4oCUIHRhcCB0byB0b2dnbGVgLHRpdGxlOmUxPyJNaXJyb3IgdG9nZ2xlIGF2YWlsYWJsZSBvbmNlIGEgc291cmNlIGlzIHN0cmVhbWluZyI6YE1pcnJvcjogJHtSfSDigJQgY2xpY2sgdG8gdG9nZ2xlYCwiYXJpYS1wcmVzc2VkIjpSPT09Im9uIixjaGlsZHJlbjpaKG0yLHtzaXplOjIwLHN0cm9rZVdpZHRoOjIsZmlsbDpSPT09Im9uIj8iY3VycmVudENvbG9yIjoibm9uZSJ9KX0pXX0pLFgxJiZaKEQ0LHtraW5kOiJ3YXJuaW5nIixtZXNzYWdlOlgxfSksbCYmWihENCx7a2luZDoiZXJyb3IiLG1lc3NhZ2U6bH0pXX0pfSl9dmFyIHc0PTUwMDtmdW5jdGlvbiBJNCh7dWRpZDokLGV2ZW50c0VuZHBvaW50OlF9KXtsZXRbSixYXT1rKCExKSxbSyxZXT1rKFtdKSxbcSxHXT1rKCExKSxCPUQxKCgpPT5RPz9gJHt2MSgiYXBpL2V2ZW50LWxvZy9ldmVudHMiKX0/ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQpfWAsW1EsJF0pO3koKCk9PntHKCExKSxZKFtdKTtsZXQgej1iMChCKTtyZXR1cm4gei5vbm1lc3NhZ2U9KHtkYXRhOlZ9KT0+e3RyeXtsZXQgVT1KU09OLnBhcnNlKFYpO2lmKEcoITEpLEFycmF5LmlzQXJyYXkoVS5ldmVudHMpKVkoVS5ldmVudHMuc2xpY2UoLXc0KSk7ZWxzZSBpZihVLmV2ZW50KVkoKEMpPT57cmV0dXJuWy4uLkMuZmlsdGVyKChMKT0+TC5pZCE9PVUuZXZlbnQuaWQpLFUuZXZlbnRdLnNsaWNlKC13NCl9KX1jYXRjaHt9fSx6Lm9uZXJyb3I9KCk9PkcoITApLCgpPT56LmNsb3NlKCl9LFtCXSk7bGV0IE49RDEoKCk9Pksuc2xpY2UoKS5yZXZlcnNlKCksW0tdKTtyZXR1cm4gWihzMSx7b3BlbjpKLG9uT3BlbkNoYW5nZTpYLCJkYXRhLWV2ZW50LWxvZyI6IiIsc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WihRMSx7Y2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIixjaGlsZHJlbjoiRXZlbnQgTG9nIn0pLFooInNwYW4iLHt9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItd2hpdGUvOCBiZy13aGl0ZS9bMC4wNF0gcHgtMS41IHB5LVszcHhdIHRleHQtWzEwcHhdIGZvbnQtbW9ubyB0ZXh0LXdoaXRlLzYwIixjaGlsZHJlbjpLLmxlbmd0aH0pXX0pLGNoaWxkcmVuOk4ubGVuZ3RoPT09MD9aKCJkaXYiLHtyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHktNCB0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpxPyJEaXNjb25uZWN0ZWQiOiJObyBldmVudHMgeWV0In0pOlooImRpdiIse2NsYXNzTmFtZToiZmxleCBtYXgtaC1bMzIwcHhdIGZsZXgtY29sIGdhcC0xIG92ZXJmbG93LXktYXV0byBweS0wLjUgW3Njcm9sbGJhci13aWR0aDp0aGluXSIscm9sZToibGlzdCIsY2hpbGRyZW46Ti5tYXAoKHopPT5aKEdaLHtldmVudDp6fSx6LmlkKSl9KX0pfWZ1bmN0aW9uIEdaKHtldmVudDokfSl7bGV0IFE9VlooJC50aW1lc3RhbXApLEo9WyQuc291cmNlLCQua2luZCwkLmFjdGlvbl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAvICIpLFg9JC5tc2c/PyQuc3VtbWFyeSxLPSQuc3RhdHVzPT09ImVycm9yIj8iYm9yZGVyLVsjZmY0NTNhXS81MCBiZy1bI2ZmNDUzYV0vMTAgdGV4dC1bI2ZmYjNhZF0iOiJib3JkZXItd2hpdGUvOCBiZy13aGl0ZS9bMC4wNF0gdGV4dC13aGl0ZS81MCI7cmV0dXJuIFooImRpdiIse3JvbGU6Imxpc3RpdGVtIix0aXRsZTpKLGNsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtWzU2cHhfMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiByb3VuZGVkLW1kIHB4LTEuNSBweS0xLjUgdGV4dC1bMTJweF0gbGVhZGluZy10aWdodCBob3ZlcjpiZy13aGl0ZS9bMC4wNV0iLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJmb250LW1vbm8gdGV4dC1bMTBweF0gdGV4dC13aGl0ZS80NSIsY2hpbGRyZW46UX0pLFooInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LXdoaXRlLzkwIixjaGlsZHJlbjpYfSksWigic3BhbiIse2NsYXNzTmFtZToibXQtMC41IGJsb2NrIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlLzQwIixjaGlsZHJlbjpKfSldfSksJC5zdGF0dXM/Wigic3BhbiIse2NsYXNzTmFtZTpgcm91bmRlZC1tZCBib3JkZXIgcHgtMS41IHB5LVszcHhdIHRleHQtWzEwcHhdIGZvbnQtbW9ubyAke0t9YCxjaGlsZHJlbjokLnN0YXR1c30pOm51bGxdfSl9ZnVuY3Rpb24gVlooJCl7bGV0IFE9bmV3IERhdGUoJCk7aWYoTnVtYmVyLmlzTmFOKFEuZ2V0VGltZSgpKSlyZXR1cm4iIjtyZXR1cm4gUS50b0xvY2FsZVRpbWVTdHJpbmcoW10se2hvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCIsc2Vjb25kOiIyLWRpZ2l0In0pfXZhciBCWj02MCxOWj04MDAwO2Z1bmN0aW9uIGI0KCQpe2xldFtRLEpdPWsobnVsbCksW1gsS109ayhbXSksW1kscV09ayghMSksW0csQl09ayghMSksTj13KDApO3JldHVybiB5KCgpPT57SihudWxsKSxLKFtdKSxxKCExKSxCKCExKSxOLmN1cnJlbnQ9MDtsZXQgej1iMCgkKTt6Lm9ubWVzc2FnZT0oe2RhdGE6VX0pPT57dHJ5e2xldCBDPUpTT04ucGFyc2UoVSk7aWYocSghMSksInNjaGVtYVZlcnNpb24iaW4gQylKKEMpO2Vsc2UgaWYoInQiaW4gQyl7bGV0IE09QztOLmN1cnJlbnQ9RGF0ZS5ub3coKSxCKCExKSxLKChMKT0+e2xldCBIPVsuLi5MXS5yZXZlcnNlKCkuZmluZCgoVyk9PlcuYnVuZGxlSWQhPT1udWxsKT8uYnVuZGxlSWQ/P251bGw7cmV0dXJuWy4uLkghPT1udWxsJiZNLmJ1bmRsZUlkIT09bnVsbCYmSCE9PU0uYnVuZGxlSWQ/W106TCxNXS5zbGljZSgtQlopfSl9fWNhdGNoe319LHoub25lcnJvcj0oKT0+cSghMCk7bGV0IFY9c2V0SW50ZXJ2YWwoKCk9PntpZihOLmN1cnJlbnQ+MCYmRGF0ZS5ub3coKS1OLmN1cnJlbnQ+TlopQighMCl9LDEwMDApO3JldHVybigpPT57ei5jbG9zZSgpLGNsZWFySW50ZXJ2YWwoVil9fSxbJF0pLHttZXRhOlEsbGF0ZXN0OlguYXQoLTEpPz9udWxsLGhpc3Rvcnk6WCxlcnJvcmVkOlksc3RhbGU6R319ZnVuY3Rpb24gVTgoJCl7cmV0dXJuYCR7TWF0aC5yb3VuZCgkKX0lYH1mdW5jdGlvbiBIOCgkKXtsZXQgUT0kLzEwNDg1NzY7cmV0dXJuIFE+PTEwMjQ/YCR7KFEvMTAyNCkudG9GaXhlZCgxKX0gR0JgOmAke01hdGgucm91bmQoUSl9IE1CYH1mdW5jdGlvbiBDOCgkKXtpZighTnVtYmVyLmlzRmluaXRlKCQpfHwkPD0wKXJldHVybiIwIEIvcyI7aWYoJDwxMDI0KXJldHVybmAke01hdGgucm91bmQoJCl9IEIvc2A7bGV0IFE9JC8xMDI0O3JldHVybiBRPDEwMjQ/YCR7TWF0aC5yb3VuZChRKX0gS0Ivc2A6YCR7KFEvMTAyNCkudG9GaXhlZCgxKX0gTUIvc2B9ZnVuY3Rpb24gZTIoJCxRLEosWCl7aWYoJC5sZW5ndGg8MilyZXR1cm4iIjtsZXQgSz1YIT09dm9pZCAwJiZYPjA/WDpNYXRoLm1heCguLi4kLDEpLFk9US8oJC5sZW5ndGgtMSkscT0kLm1hcCgoQixOKT0+KHt4Ok4qWSx5OkotQi9LKkp9KSksRz1gTSR7cVswXS54LnRvRml4ZWQoMSl9LCR7cVswXS55LnRvRml4ZWQoMSl9YDtmb3IobGV0IEI9MDtCPHEubGVuZ3RoLTE7QisrKXtsZXQgTj1xW0ItMV0/P3FbQl0sej1xW0JdLFY9cVtCKzFdLFU9cVtCKzJdPz9WLEM9TWF0aC5taW4oei55LFYueSksTT1NYXRoLm1heCh6LnksVi55KSxMPShQKT0+TWF0aC5taW4oTSxNYXRoLm1heChDLFApKSxIPXoueCsoVi54LU4ueCkvNixPPUwoei55KyhWLnktTi55KS82KSxXPVYueC0oVS54LXoueCkvNixUPUwoVi55LShVLnktei55KS82KTtHKz1gIEMke0gudG9GaXhlZCgxKX0sJHtPLnRvRml4ZWQoMSl9ICR7Vy50b0ZpeGVkKDEpfSwke1QudG9GaXhlZCgxKX0gJHtWLngudG9GaXhlZCgxKX0sJHtWLnkudG9GaXhlZCgxKX1gfXJldHVybiBHfXZhciBRMj05NixwMD0yNDtmdW5jdGlvbiB0NSh7dmFsdWVzOiQsbWF4OlEsY2xhc3NOYW1lOkp9KXtsZXQgWD1lMigkLFEyLHAwLFEpLEs9WD9gJHtYfSBMJHtRMn0sJHtwMH0gTDAsJHtwMH0gWmA6IiI7cmV0dXJuIFooInN2ZyIse3ZpZXdCb3g6YDAgMCAke1EyfSAke3AwfWAscHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSIsY2xhc3NOYW1lOmB3LWZ1bGwgaC04ICR7Sn1gLGNoaWxkcmVuOltaKCJwYXRoIix7ZDpLLGZpbGw6ImN1cnJlbnRDb2xvciIsb3BhY2l0eTowLjEyLHN0cm9rZToibm9uZSJ9KSxaKGU1LHtkOlh9KV19KX1mdW5jdGlvbiBlNSh7ZDokLGNsYXNzTmFtZTpRfSl7cmV0dXJuIFooInBhdGgiLHtkOiQsY2xhc3NOYW1lOlEsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOjEuNSx2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSJ9KX1mdW5jdGlvbiBTNCh7dWRpZDokLGN1cnJlbnRBcHBCdW5kbGVJZDpRLG1ldHJpY3NFbmRwb2ludDpKfSl7bGV0IFg9RDEoKCk9Pko/P2Ake3YxKCJtZXRyaWNzIil9P2RldmljZT0ke2VuY29kZVVSSUNvbXBvbmVudCgkKX1gLFtKLCRdKSx7bWV0YTpLLGxhdGVzdDpZLGhpc3Rvcnk6cSxlcnJvcmVkOkcsc3RhbGU6Qn09YjQoWCksW04sel09ayghMCksVj1ZIT09bnVsbCYmWS5idW5kbGVJZCE9PW51bGwmJiFHJiYhQixVPVEhPW51bGwmJlEuc3RhcnRzV2l0aCgiY29tLmFwcGxlLiIpLEM9Rz8iVGhlIG1ldHJpY3Mgc3RyZWFtIGRpc2Nvbm5lY3RlZCI6VT8iT25seSB5b3VyIGFwcCBpcyBtZWFzdXJlZDsgYSBzeXN0ZW0gYXBwIGlzIGluIHRoZSBmb3JlZ3JvdW5kIjoiV2FpdGluZyBmb3IgYWN0aXZpdHkgZGF0YSI7cmV0dXJuIFooczEse29wZW46Tixvbk9wZW5DaGFuZ2U6eixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsYm9keUNsYXNzTmFtZTpWP3ZvaWQgMDoiaGlkZGVuIixzdW1tYXJ5OlooUTEse2NoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJBY3Rpdml0eSJ9KSxWPyFOJiZaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzQwIHRhYnVsYXItbnVtcyB0ZXh0LXJpZ2h0IixjaGlsZHJlbjpbVTgoWS5jcHVQY3QpLCIgwrcgIixIOChZLm1lbUJ5dGVzKV19KTpaKCJzcGFuIix7ImRhdGEtbWV0cmljcy13YXJuaW5nIjohMCxyb2xlOiJzdGF0dXMiLGNsYXNzTmFtZToiZ3JvdXAgcmVsYXRpdmUganVzdGlmeS1zZWxmLWVuZCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOltaKEkwLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6InctMy41IGgtMy41IHRleHQtYW1iZXItNDAwIn0pLFooInNwYW4iLHtjbGFzc05hbWU6InNyLW9ubHkiLGNoaWxkcmVuOkN9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJwb2ludGVyLWV2ZW50cy1ub25lIGFic29sdXRlIHJpZ2h0LTAgdG9wLWZ1bGwgei0xMCBtdC0xIGhpZGRlbiB3LW1heCBtYXgtdy1bMjIwcHhdIHJvdW5kZWQtbWQgYmctYmxhY2svOTAgcHgtMiBweS0xIHRleHQtWzExcHhdIGxlYWRpbmctc251ZyB0ZXh0LXdoaXRlLzkwIHNoYWRvdy1sZyBncm91cC1ob3ZlcjpibG9jayIsY2hpbGRyZW46Q30pXX0pXX0pLGNoaWxkcmVuOlY/WihRMSx7Y2hpbGRyZW46W1ooeTQse2xhYmVsOiJDUFUiLHZhbHVlOlU4KFkuY3B1UGN0KSxoaW50Oks/YCR7Sy5ob3N0Q29yZXN9IGNvcmVzYDp2b2lkIDAsdmFsdWVzOnEubWFwKChNKT0+TS5jcHVQY3QpLGNsYXNzTmFtZToidGV4dC1lbWVyYWxkLTQwMCJ9KSxaKHk0LHtsYWJlbDoiTWVtb3J5Iix2YWx1ZTpIOChZLm1lbUJ5dGVzKSx2YWx1ZXM6cS5tYXAoKE0pPT5NLm1lbUJ5dGVzKSxjbGFzc05hbWU6InRleHQtc2t5LTQwMCJ9KSxaKHpaLHtkb3duOlkubmV0SW5CeXRlc1BlclNlYyx1cDpZLm5ldE91dEJ5dGVzUGVyU2VjLGRvd25WYWx1ZXM6cS5tYXAoKE0pPT5NLm5ldEluQnl0ZXNQZXJTZWMpLHVwVmFsdWVzOnEubWFwKChNKT0+TS5uZXRPdXRCeXRlc1BlclNlYyl9KV19KTpudWxsfSl9ZnVuY3Rpb24geTQoe2xhYmVsOiQsdmFsdWU6USxoaW50OkosdmFsdWVzOlgsY2xhc3NOYW1lOkt9KXtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNTAgdGV4dC1bMTFweF0iLGNoaWxkcmVuOiR9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0YWJ1bGFyLW51bXMgdGV4dC1bMTFweF0iLGNoaWxkcmVuOltRLEomJlooInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvMzAgdGV4dC1bMTFweF0gbWwtMS41IixjaGlsZHJlbjpKfSldfSldfSksWih0NSx7dmFsdWVzOlgsY2xhc3NOYW1lOkt9KV19KX1mdW5jdGlvbiB6Wih7ZG93bjokLHVwOlEsZG93blZhbHVlczpKLHVwVmFsdWVzOlh9KXtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNTAgdGV4dC1bMTFweF0iLGNoaWxkcmVuOiJOZXR3b3JrIn0pLFooInNwYW4iLHtjbGFzc05hbWU6InRhYnVsYXItbnVtcyB0ZXh0LVsxMXB4XSIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtY3lhbi00MDAiLGNoaWxkcmVuOlsi4oaTICIsQzgoJCldfSksWigic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS8zMCBteC0xLjUiLGNoaWxkcmVuOiLCtyJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXZpb2xldC00MDAiLGNoaWxkcmVuOlsi4oaRICIsQzgoUSldfSldfSldfSksWihMWix7ZG93bjpKLHVwOlh9KV19KX1mdW5jdGlvbiBMWih7ZG93bjokLHVwOlF9KXtsZXQgSj1NYXRoLm1heCguLi4kLC4uLlEsMSk7cmV0dXJuIFooInN2ZyIse3ZpZXdCb3g6YDAgMCAke1EyfSAke3AwfWAscHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSIsY2xhc3NOYW1lOiJ3LWZ1bGwgaC04IixjaGlsZHJlbjpbWihlNSx7ZDplMigkLFEyLHAwLEopLGNsYXNzTmFtZToidGV4dC1jeWFuLTQwMCJ9KSxaKGU1LHtkOmUyKFEsUTIscDAsSiksY2xhc3NOYW1lOiJ0ZXh0LXZpb2xldC00MDAifSldfSl9dmFyIFE1PVsiZXh0cmEtc21hbGwiLCJzbWFsbCIsIm1lZGl1bSIsImxhcmdlIiwiZXh0cmEtbGFyZ2UiLCJleHRyYS1leHRyYS1sYXJnZSIsImV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlIl0sVVo9MjUwLEhaPXthcHBlYXJhbmNlOiJsaWdodCIsImxpcXVpZC1nbGFzcyI6ImNsZWFyIiwiY29sb3ItZmlsdGVyIjoibm9uZSIsInRleHQtc2l6ZSI6ImxhcmdlIiwicmVkdWNlLW1vdGlvbiI6Im9mZiIsImluY3JlYXNlLWNvbnRyYXN0Ijoib2ZmIiwic2hvdy1ib3JkZXJzIjoib2ZmIiwicmVkdWNlLXRyYW5zcGFyZW5jeSI6Im9mZiIsdm9pY2VvdmVyOiJvZmYifSxPOD17YXBwZWFyYW5jZTpbe3ZhbHVlOiJsaWdodCIsbGFiZWw6IkxpZ2h0In0se3ZhbHVlOiJkYXJrIixsYWJlbDoiRGFyayJ9XSwibGlxdWlkLWdsYXNzIjpbe3ZhbHVlOiJjbGVhciIsbGFiZWw6IkNsZWFyIn0se3ZhbHVlOiJ0aW50ZWQiLGxhYmVsOiJUaW50ZWQifV0sImNvbG9yLWZpbHRlciI6W3t2YWx1ZToibm9uZSIsbGFiZWw6Ik5vbmUifSx7dmFsdWU6InJlZC1ncmVlbiIsbGFiZWw6IlJlZC9HcmVlbiAoUHJvdGFub3BpYSkifSx7dmFsdWU6ImdyZWVuLXJlZCIsbGFiZWw6IkdyZWVuL1JlZCAoRGV1dGVyYW5vcGlhKSJ9LHt2YWx1ZToiYmx1ZS15ZWxsb3ciLGxhYmVsOiJCbHVlL1llbGxvdyAoVHJpdGFub3BpYSkifSx7dmFsdWU6ImdyYXlzY2FsZSIsbGFiZWw6IkdyYXlzY2FsZSJ9XX0sQ1o9W3trZXk6InJlZHVjZS1tb3Rpb24iLGxhYmVsOiJSZWR1Y2UgTW90aW9uIn0se2tleToiaW5jcmVhc2UtY29udHJhc3QiLGxhYmVsOiJJbmNyZWFzZSBDb250cmFzdCJ9LHtrZXk6InNob3ctYm9yZGVycyIsbGFiZWw6IlNob3cgQm9yZGVycyJ9LHtrZXk6InJlZHVjZS10cmFuc3BhcmVuY3kiLGxhYmVsOiJSZWR1Y2UgVHJhbnNwYXJlbmN5In0se2tleToidm9pY2VvdmVyIixsYWJlbDoiVm9pY2VPdmVyIn1dO2Z1bmN0aW9uIFkwKHtpY29uOiQsbGFiZWw6USxjaGlsZHJlbjpKfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0yIG1pbi1oLVszMHB4XSIsImRhdGEtc2V0dGluZy1yb3ciOlEsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6ImZsZXggc2hyaW5rLTAgaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtWzEycHhdIHRleHQtd2hpdGUvOTAgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IHNpemUtWzE4cHhdIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIixjaGlsZHJlbjokfSksUV19KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IG1pbi13LTAganVzdGlmeS1lbmQiLGNoaWxkcmVuOkp9KV19KX1mdW5jdGlvbiBPWih7dmFsdWU6JCxkaXNhYmxlZDpRLG9uQ2hhbmdlOkp9KXtsZXRbWCxLXT1rKG51bGwpLFk9dyhudWxsKSxxPXcobnVsbCksRz1JKChIKT0+e2lmKHEuY3VycmVudD09PUgpcmV0dXJuO3EuY3VycmVudD1ILEooSCl9LFtKXSksQj1JKChIKT0+e2lmKEsoSCksWS5jdXJyZW50KWNsZWFyVGltZW91dChZLmN1cnJlbnQpO1kuY3VycmVudD1zZXRUaW1lb3V0KCgpPT5HKEgpLFVaKX0sW0ddKSxOPUkoKCk9PntpZihZLmN1cnJlbnQpY2xlYXJUaW1lb3V0KFkuY3VycmVudCksWS5jdXJyZW50PW51bGw7SygoSCk9PntpZihIIT09bnVsbClHKEgpO3JldHVybiBudWxsfSkscS5jdXJyZW50PW51bGx9LFtHXSksej1RNS5sZW5ndGgtMSxWPVg/PyQsVT1gJHtWL3oqMTAwfSVgO3JldHVybiBaKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IHctWzEyMHB4XSBtaW4tdy0wIGZsZXgtY29sIixjaGlsZHJlbjpbWigiaW5wdXQiLHt0eXBlOiJyYW5nZSIsImFyaWEtbGFiZWwiOiJUZXh0IFNpemUiLG1pbjowLG1heDp6LHN0ZXA6MSx2YWx1ZTpWLGRpc2FibGVkOlEsb25DaGFuZ2U6KEgpPT5CKE51bWJlcihILnRhcmdldC52YWx1ZSkpLG9uUG9pbnRlclVwOk4sb25LZXlVcDpOLG9uQmx1cjpOLHN0eWxlOnsiLS1zbGlkZXItZmlsbCI6VSwiLS1zbGlkZXItZmlsbC1jb2xvciI6UT8icmdiYSgyNTUsMjU1LDI1NSwwLjMpIjoiIzBhODRmZiJ9LGNsYXNzTmFtZTpgaC1bMTNweF0gdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSByb3VuZGVkLWZ1bGwgYmctdHJhbnNwYXJlbnQgb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6W291dGxpbmU6MS41cHhfc29saWRfcmdiYSgxMCwxMzIsMjU1LDAuNTUpXSBmb2N1cy12aXNpYmxlOm91dGxpbmUtb2Zmc2V0LTQgJHtRPyJjdXJzb3ItZGVmYXVsdCI6ImN1cnNvci1wb2ludGVyIn0gJHsiWyY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXTpoLVs0cHhdIFsmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja106cm91bmRlZC1mdWxsIFsmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja106W2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvX3JpZ2h0LHZhcigtLXNsaWRlci1maWxsLWNvbG9yKV92YXIoLS1zbGlkZXItZmlsbCkscmdiYSgyNTUsMjU1LDI1NSwwLjIyKV92YXIoLS1zbGlkZXItZmlsbCkpXSBbJjo6LW1vei1yYW5nZS10cmFja106aC1bNHB4XSBbJjo6LW1vei1yYW5nZS10cmFja106cm91bmRlZC1mdWxsIFsmOjotbW96LXJhbmdlLXRyYWNrXTpiZy13aGl0ZS8yMCBbJjo6LW1vei1yYW5nZS1wcm9ncmVzc106aC1bNHB4XSBbJjo6LW1vei1yYW5nZS1wcm9ncmVzc106cm91bmRlZC1mdWxsIFsmOjotbW96LXJhbmdlLXByb2dyZXNzXTpiZy1bdmFyKC0tc2xpZGVyLWZpbGwtY29sb3IpXSJ9ICR7IlsmOjotd2Via2l0LXNsaWRlci10aHVtYl06YXBwZWFyYW5jZS1ub25lIFsmOjotd2Via2l0LXNsaWRlci10aHVtYl06c2l6ZS1bMTNweF0gWyY6Oi13ZWJraXQtc2xpZGVyLXRodW1iXTpyb3VuZGVkLWZ1bGwgWyY6Oi13ZWJraXQtc2xpZGVyLXRodW1iXTpiZy13aGl0ZSBbJjpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOmJnLXdoaXRlLzUwIFsmOjotd2Via2l0LXNsaWRlci10aHVtYl06c2hhZG93LVswXzFweF8zcHhfcmdiYSgwLDAsMCwwLjQ1KV0gWyY6Oi13ZWJraXQtc2xpZGVyLXRodW1iXTotbXQtWzQuNXB4XSBbJjo6LW1vei1yYW5nZS10aHVtYl06c2l6ZS1bMTNweF0gWyY6Oi1tb3otcmFuZ2UtdGh1bWJdOnJvdW5kZWQtZnVsbCBbJjo6LW1vei1yYW5nZS10aHVtYl06Ym9yZGVyLW5vbmUgWyY6Oi1tb3otcmFuZ2UtdGh1bWJdOmJnLXdoaXRlIFsmOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iXTpiZy13aGl0ZS81MCJ9YH0pLFooInNwYW4iLHsiYXJpYS1oaWRkZW4iOiEwLGNsYXNzTmFtZToicG9pbnRlci1ldmVudHMtbm9uZSBtdC1bM3B4XSBmbGV4IGp1c3RpZnktYmV0d2VlbiBweC1bNS41cHhdIixjaGlsZHJlbjpRNS5tYXAoKEgpPT5aKCJzcGFuIix7Y2xhc3NOYW1lOiJzaXplLVsycHhdIHJvdW5kZWQtZnVsbCBiZy13aGl0ZS80MCJ9LEgpKX0pXX0pfWZ1bmN0aW9uIE0wKHtsYWJlbDokLHZhbHVlOlEsb3B0aW9uczpKLGRpc2FibGVkOlgsb25DaGFuZ2U6S30pe3JldHVybiBaKHI1LHtsYWJlbDokLHZhbHVlOlEsb3B0aW9uczpKLGRpc2FibGVkOlgsb25DaGFuZ2U6SyxjbGFzc05hbWU6ImJnLXdoaXRlL1swLjA2XSBib3JkZXIgYm9yZGVyLXdoaXRlLzEwIHJvdW5kZWQtbWQgdGV4dC13aGl0ZS85MCB0ZXh0LVsxMnB4XSBweS0wLjUgcHgtMiBtaW4tdy0wIG1heC13LVsxNTBweF0gZGlzYWJsZWQ6dGV4dC13aGl0ZS80MCJ9KX12YXIgJDU9e2FwcGVhcmFuY2U6Wigic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1ooInBhdGgiLHtkOiJNMTIgMnYyIn0pLFooInBhdGgiLHtkOiJNMTQuODM3IDE2LjM4NWE2IDYgMCAxIDEtNy4yMjMtNy4yMjJjLjYyNC0uMTQ3Ljk3LjY2LjcxNSAxLjI0OGE0IDQgMCAwIDAgNS4yNiA1LjI1OWMuNTg5LS4yNTUgMS4zOTYuMDkgMS4yNDguNzE1In0pLFooInBhdGgiLHtkOiJNMTYgMTJhNCA0IDAgMCAwLTQtNCJ9KSxaKCJwYXRoIix7ZDoibTE5IDUtMS4yNTYgMS4yNTYifSksWigicGF0aCIse2Q6Ik0yMCAxMmgyIn0pXX0pLGdsYXNzOlooInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDIyMCAyMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsc3Ryb2tlOiJub25lIixjaGlsZHJlbjpbWigicGF0aCIse2Q6Ik0xNTIgMTgzVjE5NUgxMDBWMTgzSDE1MlpNMTk2IDEzOVYxMjZDMTk2IDEwMS42OTkgMTc2LjMwMSA4MiAxNTIgODJIMTAwQzc1LjY5OTUgODIgNTYgMTAxLjY5OSA1NiAxMjZWMTM5QzU2IDE2My4zMDEgNzUuNjk5NSAxODMgMTAwIDE4M1YxOTVMOTkuMjc2NCAxOTQuOTk1QzY4LjkyMjggMTk0LjYxMSA0NC4zODkzIDE3MC4wNzcgNDQuMDA0OSAxMzkuNzI0TDQ0IDEzOVYxMjZDNDQgOTUuMDcyMSA2OS4wNzIxIDcwIDEwMCA3MEgxNTJDMTgyLjkyOCA3MCAyMDggOTUuMDcyMSAyMDggMTI2VjEzOUwyMDcuOTk1IDEzOS43MjRDMjA3LjYxMSAxNzAuMDc3IDE4My4wNzcgMTk0LjYxMSAxNTIuNzI0IDE5NC45OTVMMTUyIDE5NVYxODNDMTc2LjMwMSAxODMgMTk2IDE2My4zMDEgMTk2IDEzOVoifSksWigicGF0aCIse2Q6Ik0xMzYgMjVDMTQ3LjA0NiAyNSAxNTYgMzMuOTU0MyAxNTYgNDVWNzBIMTQzVjQ1QzE0MyA0MS4xMzQgMTM5Ljg2NiAzOCAxMzYgMzhINDFDMzcuMTM0IDM4IDM0IDQxLjEzNCAzNCA0NVYxNDBDMzQgMTQzLjg2NiAzNy4xMzQgMTQ3IDQxIDE0N0g0NC44NjA0QzQ1LjY0ODcgMTUxLjUzNiA0Ni45NjM0IDE1NS44OTEgNDguNzQwMiAxNjBINDFMNDAuNDgzNCAxNTkuOTkzQzI5Ljg0ODEgMTU5LjcyNCAyMS4yNzY1IDE1MS4xNTIgMjEuMDA2OCAxNDAuNTE3TDIxIDE0MFY0NUMyMSAzMy45NTQzIDI5Ljk1NDMgMjUgNDEgMjVIMTM2WiJ9KSxaKCJwYXRoIix7ZDoiTTE1Ni4xOTkgMTQwQzE1Ni4xOTkgMTUwLjg3MyAxNDcuNTIzIDE1OS43MTkgMTM2LjcxNiAxNTkuOTkzTDEzNi4xOTkgMTYwSDgwLjkxN0M3Ny45NDYxIDE2MCA3Ni4xNjM5IDE2My4zIDc3Ljc5MyAxNjUuNzg0Qzc5LjI0NTEgMTY3Ljk5OSA3Ni4xNjQ3IDE3MC4zNTMgNzQuNDA5NCAxNjguMzdMNzMuNjA1OSAxNjcuNDYyQzY5LjM0OTcgMTYyLjY1NCA2NyAxNTYuNDU1IDY3IDE1MC4wMzRDNjcgMTQ4LjM1OCA2OC4zNTgzIDE0NyA3MC4wMzM5IDE0N0gxMzYuMTk5QzE0MC4wNjUgMTQ3IDE0My4xOTkgMTQzLjg2NiAxNDMuMTk5IDE0MFY5Ni45OTU1QzE0My4xOTkgOTMuOTgyMiAxNDEuMzU0IDkxLjI3NjMgMTM4LjU0OSA5MC4xNzYxQzEzNy4zODkgODkuNzIxNSAxMzcuNzE1IDg4IDEzOC45NiA4OEwxNDMuMTk5IDg4QzE1MC4zNzkgODggMTU2LjE5OSA5My44MjAzIDE1Ni4xOTkgMTAxVjE0MFoifSldfSksZmlsdGVyOlooInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltaKCJwYXRoIix7ZDoiTTExIDE3YTQgNCAwIDAgMS04IDBWNWEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMloifSksWigicGF0aCIse2Q6Ik0xNi43IDEzSDE5YTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAySDcifSksWigicGF0aCIse2Q6Ik0gNyAxN2guMDEifSksWigicGF0aCIse2Q6Im0xMSA4IDIuMy0yLjNhMi40IDIuNCAwIDAgMSAzLjQwNC4wMDRMMTguNiA3LjZhMi40IDIuNCAwIDAgMSAuMDI2IDMuNDM0TDkuOSAxOS44In0pXX0pLHRleHRTaXplOlooInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDUyIDM0IixmaWxsOiJjdXJyZW50Q29sb3IiLHN0cm9rZToibm9uZSIsY2hpbGRyZW46WigicGF0aCIse2Q6Ik0zOS43MjY2IDMzLjAyMzRDMzguMTQ4NCAzMy4wMjM0IDM2Ljc1IDMyLjcyNjYgMzUuNTMxMiAzMi4xMzI4QzM0LjMxMjUgMzEuNTM5MSAzMy4zNTk0IDMwLjcxMDkgMzIuNjcxOSAyOS42NDg0QzMyIDI4LjU3MDMgMzEuNjY0MSAyNy4zMTI1IDMxLjY2NDEgMjUuODc1QzMxLjY2NDEgMjMuNzgxMiAzMi40Mjk3IDIyLjEwOTQgMzMuOTYwOSAyMC44NTk0QzM1LjUwNzggMTkuNjA5NCAzNy43MTA5IDE4LjkwNjIgNDAuNTcwMyAxOC43NUw0Ny42MDE2IDE4LjM1MTZWMTYuNUM0Ny42MDE2IDE1LjAxNTYgNDcuMTMyOCAxMy44MzU5IDQ2LjE5NTMgMTIuOTYwOUM0NS4yNTc4IDEyLjA4NTkgNDMuOTUzMSAxMS42NDg0IDQyLjI4MTIgMTEuNjQ4NEM0MC45MDYyIDExLjY0ODQgMzkuNzUgMTEuOTQ1MyAzOC44MTI1IDEyLjUzOTFDMzcuODc1IDEzLjEzMjggMzcuMDkzOCAxNC4wNDY5IDM2LjQ2ODggMTUuMjgxMkMzNi4yNjU2IDE1LjYwOTQgMzYuMDE1NiAxNS44NTE2IDM1LjcxODggMTYuMDA3OEMzNS40MjE5IDE2LjE2NDEgMzUuMDc4MSAxNi4yNDIyIDM0LjY4NzUgMTYuMjQyMkMzNC4xNTYyIDE2LjI0MjIgMzMuNzEwOSAxNi4wNzgxIDMzLjM1MTYgMTUuNzVDMzMuMDA3OCAxNS40MjE5IDMyLjgzNTkgMTQuOTkyMiAzMi44MzU5IDE0LjQ2MDlDMzIuODM1OSAxNC4yMjY2IDMyLjg2NzIgMTMuOTc2NiAzMi45Mjk3IDEzLjcxMDlDMzMuMDA3OCAxMy40NDUzIDMzLjEwOTQgMTMuMTc5NyAzMy4yMzQ0IDEyLjkxNDFDMzMuODc1IDExLjQ2MDkgMzUuMDE1NiAxMC4zMDQ3IDM2LjY1NjIgOS40NDUzMUMzOC4zMTI1IDguNTg1OTQgNDAuMjI2NiA4LjE1NjI1IDQyLjM5ODQgOC4xNTYyNUM0NC4zMjAzIDguMTU2MjUgNDUuOTg0NCA4LjQ5MjE5IDQ3LjM5MDYgOS4xNjQwNkM0OC44MTI1IDkuODIwMzEgNDkuODk4NCAxMC43NSA1MC42NDg0IDExLjk1MzFDNTEuNDE0MSAxMy4xNTYyIDUxLjc5NjkgMTQuNTcwMyA1MS43OTY5IDE2LjE5NTNWMzAuOTE0MUM1MS43OTY5IDMxLjU4NTkgNTEuNjA5NCAzMi4xMDk0IDUxLjIzNDQgMzIuNDg0NEM1MC44NTk0IDMyLjg1OTQgNTAuMzY3MiAzMy4wNDY5IDQ5Ljc1NzggMzMuMDQ2OUM0OS4xNjQxIDMzLjA0NjkgNDguNjc5NyAzMi44NjcyIDQ4LjMwNDcgMzIuNTA3OEM0Ny45Mjk3IDMyLjE0ODQgNDcuNzM0NCAzMS42NjQxIDQ3LjcxODggMzEuMDU0N1YyOC4zNTk0SDQ3LjY3MTlDNDYuOTg0NCAyOS43ODEyIDQ1LjkwNjIgMzAuOTE0MSA0NC40Mzc1IDMxLjc1NzhDNDIuOTg0NCAzMi42MDE2IDQxLjQxNDEgMzMuMDIzNCAzOS43MjY2IDMzLjAyMzRaTTQwLjgwNDcgMjkuNjcxOUM0Mi4wNzAzIDI5LjY3MTkgNDMuMjEwOSAyOS40MDYyIDQ0LjIyNjYgMjguODc1QzQ1LjI1NzggMjguMzQzOCA0Ni4wNzgxIDI3LjYxNzIgNDYuNjg3NSAyNi42OTUzQzQ3LjI5NjkgMjUuNzczNCA0Ny42MDE2IDI0Ljc1IDQ3LjYwMTYgMjMuNjI1VjIxLjMyODFMNDEuMTMyOCAyMS43NUMzOS40NDUzIDIxLjg1OTQgMzguMTY0MSAyMi4yNzM0IDM3LjI4OTEgMjIuOTkyMkMzNi40MTQxIDIzLjY5NTMgMzUuOTc2NiAyNC42MDk0IDM1Ljk3NjYgMjUuNzM0NEMzNS45NzY2IDI2LjkyMTkgMzYuNDIxOSAyNy44NzUgMzcuMzEyNSAyOC41OTM4QzM4LjIwMzEgMjkuMzEyNSAzOS4zNjcyIDI5LjY3MTkgNDAuODA0NyAyOS42NzE5Wk0yLjE3OTY5IDMzLjAyMzRDMS41MDc4MSAzMy4wMjM0IDAuOTc2NTYyIDMyLjgzNTkgMC41ODU5MzggMzIuNDYwOUMwLjE5NTMxMiAzMi4wODU5IDAgMzEuNTc4MSAwIDMwLjkzNzVDMCAzMC41MzEyIDAuMDg1OTM3NSAzMC4wNzAzIDAuMjU3ODEyIDI5LjU1NDdMMTAuNDA2MiAyLjQxNDA2QzEwLjk4NDQgMC44MDQ2ODggMTIuMTAxNiAwIDEzLjc1NzggMEMxNC42MTcyIDAgMTUuMzI4MSAwLjIwMzEyNSAxNS44OTA2IDAuNjA5Mzc1QzE2LjQ1MzEgMS4wMTU2MiAxNi44NzUgMS42MjUgMTcuMTU2MiAyLjQzNzVMMjcuMjU3OCAyOS40ODQ0QzI3LjQ0NTMgMzAgMjcuNTM5MSAzMC40Njg4IDI3LjUzOTEgMzAuODkwNkMyNy41MzkxIDMxLjU0NjkgMjcuMzM1OSAzMi4wNzAzIDI2LjkyOTcgMzIuNDYwOUMyNi41MjM0IDMyLjgzNTkgMjUuOTc2NiAzMy4wMjM0IDI1LjI4OTEgMzMuMDIzNEMyNC42MzI4IDMzLjAyMzQgMjQuMTA5NCAzMi44NzUgMjMuNzE4OCAzMi41NzgxQzIzLjM0MzggMzIuMjgxMiAyMy4wMzkxIDMxLjc4OTEgMjIuODA0NyAzMS4xMDE2TDEzLjgyODEgNS4zNDM3NUgxMy42NjQxTDQuNjY0MDYgMzEuMTAxNkM0LjQyOTY5IDMxLjc4OTEgNC4xMjUgMzIuMjgxMiAzLjc1IDMyLjU3ODFDMy4zNzUgMzIuODc1IDIuODUxNTYgMzMuMDIzNCAyLjE3OTY5IDMzLjAyMzRaTTYuNjc5NjkgMjMuNzQyMkM2LjE0ODQ0IDIzLjc0MjIgNS43MDMxMiAyMy41NjI1IDUuMzQzNzUgMjMuMjAzMUM0Ljk4NDM4IDIyLjg0MzggNC44MDQ2OSAyMi4zOTg0IDQuODA0NjkgMjEuODY3MkM0LjgwNDY5IDIxLjM1MTYgNC45ODQzOCAyMC45MTQxIDUuMzQzNzUgMjAuNTU0N0M1LjcwMzEyIDIwLjE5NTMgNi4xNDg0NCAyMC4wMTU2IDYuNjc5NjkgMjAuMDE1NkgyMC44NTk0QzIxLjM3NSAyMC4wMTU2IDIxLjgxMjUgMjAuMTk1MyAyMi4xNzE5IDIwLjU1NDdDMjIuNTMxMiAyMC45MTQxIDIyLjcxMDkgMjEuMzUxNiAyMi43MTA5IDIxLjg2NzJDMjIuNzEwOSAyMi4zOTg0IDIyLjUzMTIgMjIuODQzOCAyMi4xNzE5IDIzLjIwMzFDMjEuODEyNSAyMy41NjI1IDIxLjM3NSAyMy43NDIyIDIwLjg1OTQgMjMuNzQyMkg2LjY3OTY5WiJ9KX0pLG1vdGlvbjpaKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsY2hpbGRyZW46W1ooImNpcmNsZSIse2N4OiIxNCIsY3k6IjEyIixyOiI2In0pLFooInBhdGgiLHtkOiJNMyA4aDRNMiAxMmg0TTMgMTZoNCJ9KV19KSxjb250cmFzdDpaKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbWigiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn0pLFooInBhdGgiLHtkOiJNMTIgMThhNiA2IDAgMCAwIDAtMTJ2MTJ6In0pXX0pLGJvcmRlcnM6Wigic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1ooInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDIifSksWigicGF0aCIse2Q6Ik05IDIxaDEifSksWigicGF0aCIse2Q6Ik0xNCAyMWgxIn0pXX0pLHRyYW5zcGFyZW5jeTpaKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCA2MyA0NiIsZmlsbDoiY3VycmVudENvbG9yIixzdHJva2U6Im5vbmUiLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNMjIuNzM0NCA0LjE3MTg4QzIyLjE4NzUgNC4xNzE4OCAyMS43MTg4IDMuOTc2NTYgMjEuMzI4MSAzLjU4NTk0QzIwLjkzNzUgMy4xOTUzMSAyMC43NDIyIDIuNzE4NzUgMjAuNzQyMiAyLjE1NjI1QzIwLjc0MjIgMS42MDkzOCAyMC45Mzc1IDEuMTQwNjIgMjEuMzI4MSAwLjc1QzIxLjcxODggMC4zNTkzNzUgMjIuMTg3NSAwLjE2NDA2MiAyMi43MzQ0IDAuMTY0MDYyQzIzLjI4MTIgMC4xNjQwNjIgMjMuNzUgMC4zNTkzNzUgMjQuMTQwNiAwLjc1QzI0LjUzMTIgMS4xNDA2MiAyNC43MjY2IDEuNjA5MzggMjQuNzI2NiAyLjE1NjI1QzI0LjcyNjYgMi43MTg3NSAyNC41MzEyIDMuMTk1MzEgMjQuMTQwNiAzLjU4NTk0QzIzLjc1IDMuOTc2NTYgMjMuMjgxMiA0LjE3MTg4IDIyLjczNDQgNC4xNzE4OFpNMjkuMTA5NCA1LjIwMzEyQzI4LjU0NjkgNS4yMDMxMiAyOC4wNzAzIDUuMDA3ODEgMjcuNjc5NyA0LjYxNzE5QzI3LjI4OTEgNC4yMjY1NiAyNy4wOTM4IDMuNzU3ODEgMjcuMDkzOCAzLjIxMDk0QzI3LjA5MzggMi42NjQwNiAyNy4yODkxIDIuMTk1MzEgMjcuNjc5NyAxLjgwNDY5QzI4LjA3MDMgMS4zOTg0NCAyOC41NDY5IDEuMTk1MzEgMjkuMTA5NCAxLjE5NTMxQzI5LjY1NjIgMS4xOTUzMSAzMC4xMjUgMS4zOTg0NCAzMC41MTU2IDEuODA0NjlDMzAuOTA2MiAyLjE5NTMxIDMxLjEwMTYgMi42NjQwNiAzMS4xMDE2IDMuMjEwOTRDMzEuMTAxNiAzLjc1NzgxIDMwLjkwNjIgNC4yMjY1NiAzMC41MTU2IDQuNjE3MTlDMzAuMTI1IDUuMDA3ODEgMjkuNjU2MiA1LjIwMzEyIDI5LjEwOTQgNS4yMDMxMlpNMzQuODc1IDguMTMyODFDMzQuMzI4MSA4LjEzMjgxIDMzLjg1MTYgNy45Mzc1IDMzLjQ0NTMgNy41NDY4OEMzMy4wNTQ3IDcuMTQwNjIgMzIuODU5NCA2LjY3MTg4IDMyLjg1OTQgNi4xNDA2MkMzMi44NTk0IDUuNTc4MTIgMzMuMDU0NyA1LjEwMTU2IDMzLjQ0NTMgNC43MTA5NEMzMy44NTE2IDQuMzIwMzEgMzQuMzI4MSA0LjEyNSAzNC44NzUgNC4xMjVDMzUuNDIxOSA0LjEyNSAzNS44OTA2IDQuMzIwMzEgMzYuMjgxMiA0LjcxMDk0QzM2LjY4NzUgNS4xMDE1NiAzNi44OTA2IDUuNTc4MTIgMzYuODkwNiA2LjE0MDYyQzM2Ljg5MDYgNi42NzE4OCAzNi42ODc1IDcuMTQwNjIgMzYuMjgxMiA3LjU0Njg4QzM1Ljg5MDYgNy45Mzc1IDM1LjQyMTkgOC4xMzI4MSAzNC44NzUgOC4xMzI4MVpNMzkuNDQ1MyAxMi42Nzk3QzM4Ljg5ODQgMTIuNjc5NyAzOC40MjE5IDEyLjQ4NDQgMzguMDE1NiAxMi4wOTM4QzM3LjYyNSAxMS43MDMxIDM3LjQyOTcgMTEuMjM0NCAzNy40Mjk3IDEwLjY4NzVDMzcuNDI5NyAxMC4xNTYyIDM3LjYyNSA5LjY5NTMxIDM4LjAxNTYgOS4zMDQ2OUMzOC40MjE5IDguODk4NDQgMzguODk4NCA4LjY5NTMxIDM5LjQ0NTMgOC42OTUzMUMzOS45OTIyIDguNjk1MzEgNDAuNDYwOSA4Ljg5ODQ0IDQwLjg1MTYgOS4zMDQ2OUM0MS4yNDIyIDkuNjk1MzEgNDEuNDM3NSAxMC4xNTYyIDQxLjQzNzUgMTAuNjg3NUM0MS40Mzc1IDExLjIzNDQgNDEuMjQyMiAxMS43MDMxIDQwLjg1MTYgMTIuMDkzOEM0MC40NjA5IDEyLjQ4NDQgMzkuOTkyMiAxMi42Nzk3IDM5LjQ0NTMgMTIuNjc5N1pNNDIuMzc1IDE4LjM5ODRDNDEuODEyNSAxOC4zOTg0IDQxLjMyODEgMTguMjAzMSA0MC45MjE5IDE3LjgxMjVDNDAuNTMxMiAxNy40MjE5IDQwLjMzNTkgMTYuOTUzMSA0MC4zMzU5IDE2LjQwNjJDNDAuMzM1OSAxNS44NDM4IDQwLjUzMTIgMTUuMzY3MiA0MC45MjE5IDE0Ljk3NjZDNDEuMzI4MSAxNC41ODU5IDQxLjgxMjUgMTQuMzkwNiA0Mi4zNzUgMTQuMzkwNkM0Mi45MDYyIDE0LjM5MDYgNDMuMzY3MiAxNC41ODU5IDQzLjc1NzggMTQuOTc2NkM0NC4xNjQxIDE1LjM2NzIgNDQuMzY3MiAxNS44NDM4IDQ0LjM2NzIgMTYuNDA2MkM0NC4zNjcyIDE2Ljk1MzEgNDQuMTY0MSAxNy40MjE5IDQzLjc1NzggMTcuODEyNUM0My4zNjcyIDE4LjIwMzEgNDIuOTA2MiAxOC4zOTg0IDQyLjM3NSAxOC4zOTg0Wk00My40NTMxIDI0Ljc5NjlDNDIuOTA2MiAyNC43OTY5IDQyLjQzNzUgMjQuNjAxNiA0Mi4wNDY5IDI0LjIxMDlDNDEuNjU2MiAyMy44MjAzIDQxLjQ2MDkgMjMuMzQzOCA0MS40NjA5IDIyLjc4MTJDNDEuNDYwOSAyMi4yMzQ0IDQxLjY1NjIgMjEuNzY1NiA0Mi4wNDY5IDIxLjM3NUM0Mi40Mzc1IDIwLjk4NDQgNDIuOTA2MiAyMC43ODkxIDQzLjQ1MzEgMjAuNzg5MUM0NCAyMC43ODkxIDQ0LjQ2ODggMjAuOTg0NCA0NC44NTk0IDIxLjM3NUM0NS4yNjU2IDIxLjc2NTYgNDUuNDY4OCAyMi4yMzQ0IDQ1LjQ2ODggMjIuNzgxMkM0NS40Njg4IDIzLjM0MzggNDUuMjY1NiAyMy44MjAzIDQ0Ljg1OTQgMjQuMjEwOUM0NC40Njg4IDI0LjYwMTYgNDQgMjQuNzk2OSA0My40NTMxIDI0Ljc5NjlaTTQyLjM3NSAzMS4xNzE5QzQxLjgxMjUgMzEuMTcxOSA0MS4zMjgxIDMwLjk3NjYgNDAuOTIxOSAzMC41ODU5QzQwLjUzMTIgMzAuMTk1MyA0MC4zMzU5IDI5LjcyNjYgNDAuMzM1OSAyOS4xNzk3QzQwLjMzNTkgMjguNjE3MiA0MC41MzEyIDI4LjE0MDYgNDAuOTIxOSAyNy43NUM0MS4zMjgxIDI3LjM1OTQgNDEuODEyNSAyNy4xNjQxIDQyLjM3NSAyNy4xNjQxQzQyLjkwNjIgMjcuMTY0MSA0My4zNjcyIDI3LjM1OTQgNDMuNzU3OCAyNy43NUM0NC4xNjQxIDI4LjE0MDYgNDQuMzY3MiAyOC42MTcyIDQ0LjM2NzIgMjkuMTc5N0M0NC4zNjcyIDI5LjcyNjYgNDQuMTY0MSAzMC4xOTUzIDQzLjc1NzggMzAuNTg1OUM0My4zNjcyIDMwLjk3NjYgNDIuOTA2MiAzMS4xNzE5IDQyLjM3NSAzMS4xNzE5Wk0zOS40NDUzIDM2Ljg5MDZDMzguODk4NCAzNi44OTA2IDM4LjQyMTkgMzYuNjk1MyAzOC4wMTU2IDM2LjMwNDdDMzcuNjI1IDM1Ljg5ODQgMzcuNDI5NyAzNS40MjE5IDM3LjQyOTcgMzQuODc1QzM3LjQyOTcgMzQuMzI4MSAzNy42MjUgMzMuODU5NCAzOC4wMTU2IDMzLjQ2ODhDMzguNDIxOSAzMy4wNjI1IDM4Ljg5ODQgMzIuODU5NCAzOS40NDUzIDMyLjg1OTRDMzkuOTkyMiAzMi44NTk0IDQwLjQ2MDkgMzMuMDYyNSA0MC44NTE2IDMzLjQ2ODhDNDEuMjQyMiAzMy44NTk0IDQxLjQzNzUgMzQuMzI4MSA0MS40Mzc1IDM0Ljg3NUM0MS40Mzc1IDM1LjQyMTkgNDEuMjQyMiAzNS44OTg0IDQwLjg1MTYgMzYuMzA0N0M0MC40NjA5IDM2LjY5NTMgMzkuOTkyMiAzNi44OTA2IDM5LjQ0NTMgMzYuODkwNlpNMzQuODc1IDQxLjQzNzVDMzQuMzI4MSA0MS40Mzc1IDMzLjg1MTYgNDEuMjQyMiAzMy40NDUzIDQwLjg1MTZDMzMuMDU0NyA0MC40NjA5IDMyLjg1OTQgMzkuOTkyMiAzMi44NTk0IDM5LjQ0NTNDMzIuODU5NCAzOC44OTg0IDMzLjA1NDcgMzguNDI5NyAzMy40NDUzIDM4LjAzOTFDMzMuODUxNiAzNy42MzI4IDM0LjMyODEgMzcuNDI5NyAzNC44NzUgMzcuNDI5N0MzNS40MjE5IDM3LjQyOTcgMzUuODkwNiAzNy42MzI4IDM2LjI4MTIgMzguMDM5MUMzNi42ODc1IDM4LjQyOTcgMzYuODkwNiAzOC44OTg0IDM2Ljg5MDYgMzkuNDQ1M0MzNi44OTA2IDM5Ljk5MjIgMzYuNjg3NSA0MC40NjA5IDM2LjI4MTIgNDAuODUxNkMzNS44OTA2IDQxLjI0MjIgMzUuNDIxOSA0MS40Mzc1IDM0Ljg3NSA0MS40Mzc1Wk0yOS4xMDk0IDQ0LjM2NzJDMjguNTQ2OSA0NC4zNjcyIDI4LjA3MDMgNDQuMTY0MSAyNy42Nzk3IDQzLjc1NzhDMjcuMjg5MSA0My4zNjcyIDI3LjA5MzggNDIuODk4NCAyNy4wOTM4IDQyLjM1MTZDMjcuMDkzOCA0MS44MDQ3IDI3LjI4OTEgNDEuMzM1OSAyNy42Nzk3IDQwLjk0NTNDMjguMDcwMyA0MC41NTQ3IDI4LjU0NjkgNDAuMzU5NCAyOS4xMDk0IDQwLjM1OTRDMjkuNjU2MiA0MC4zNTk0IDMwLjEyNSA0MC41NTQ3IDMwLjUxNTYgNDAuOTQ1M0MzMC45MDYyIDQxLjMzNTkgMzEuMTAxNiA0MS44MDQ3IDMxLjEwMTYgNDIuMzUxNkMzMS4xMDE2IDQyLjg5ODQgMzAuOTA2MiA0My4zNjcyIDMwLjUxNTYgNDMuNzU3OEMzMC4xMjUgNDQuMTY0MSAyOS42NTYyIDQ0LjM2NzIgMjkuMTA5NCA0NC4zNjcyWk0yMi43MzQ0IDQ1LjM5ODRDMjIuMTg3NSA0NS4zOTg0IDIxLjcxODggNDUuMjAzMSAyMS4zMjgxIDQ0LjgxMjVDMjAuOTM3NSA0NC40MjE5IDIwLjc0MjIgNDMuOTUzMSAyMC43NDIyIDQzLjQwNjJDMjAuNzQyMiA0Mi44NDM4IDIwLjkzNzUgNDIuMzY3MiAyMS4zMjgxIDQxLjk3NjZDMjEuNzE4OCA0MS41ODU5IDIyLjE4NzUgNDEuMzkwNiAyMi43MzQ0IDQxLjM5MDZDMjMuMjgxMiA0MS4zOTA2IDIzLjc1IDQxLjU4NTkgMjQuMTQwNiA0MS45NzY2QzI0LjUzMTIgNDIuMzY3MiAyNC43MjY2IDQyLjg0MzggMjQuNzI2NiA0My40MDYyQzI0LjcyNjYgNDMuOTUzMSAyNC41MzEyIDQ0LjQyMTkgMjQuMTQwNiA0NC44MTI1QzIzLjc1IDQ1LjIwMzEgMjMuMjgxMiA0NS4zOTg0IDIyLjczNDQgNDUuMzk4NFpNMTYuMzU5NCA0NC4zNjcyQzE1LjgxMjUgNDQuMzY3MiAxNS4zNDM4IDQ0LjE2NDEgMTQuOTUzMSA0My43NTc4QzE0LjU2MjUgNDMuMzY3MiAxNC4zNjcyIDQyLjg5ODQgMTQuMzY3MiA0Mi4zNTE2QzE0LjM2NzIgNDEuODA0NyAxNC41NjI1IDQxLjMzNTkgMTQuOTUzMSA0MC45NDUzQzE1LjM0MzggNDAuNTU0NyAxNS44MTI1IDQwLjM1OTQgMTYuMzU5NCA0MC4zNTk0QzE2LjkyMTkgNDAuMzU5NCAxNy4zOTg0IDQwLjU1NDcgMTcuNzg5MSA0MC45NDUzQzE4LjE3OTcgNDEuMzM1OSAxOC4zNzUgNDEuODA0NyAxOC4zNzUgNDIuMzUxNkMxOC4zNzUgNDIuODk4NCAxOC4xNzk3IDQzLjM2NzIgMTcuNzg5MSA0My43NTc4QzE3LjM5ODQgNDQuMTY0MSAxNi45MjE5IDQ0LjM2NzIgMTYuMzU5NCA0NC4zNjcyWk0xMC41NzAzIDQxLjQzNzVDMTAuMDM5MSA0MS40Mzc1IDkuNTcwMzEgNDEuMjQyMiA5LjE2NDA2IDQwLjg1MTZDOC43NzM0NCA0MC40NjA5IDguNTc4MTIgMzkuOTkyMiA4LjU3ODEyIDM5LjQ0NTNDOC41NzgxMiAzOC44OTg0IDguNzczNDQgMzguNDI5NyA5LjE2NDA2IDM4LjAzOTFDOS41NzAzMSAzNy42MzI4IDEwLjAzOTEgMzcuNDI5NyAxMC41NzAzIDM3LjQyOTdDMTEuMTMyOCAzNy40Mjk3IDExLjYwOTQgMzcuNjMyOCAxMiAzOC4wMzkxQzEyLjM5MDYgMzguNDI5NyAxMi41ODU5IDM4Ljg5ODQgMTIuNTg1OSAzOS40NDUzQzEyLjU4NTkgMzkuOTkyMiAxMi4zOTA2IDQwLjQ2MDkgMTIgNDAuODUxNkMxMS42MDk0IDQxLjI0MjIgMTEuMTMyOCA0MS40Mzc1IDEwLjU3MDMgNDEuNDM3NVpNNi4wMjM0NCAzNi44OTA2QzUuNDc2NTYgMzYuODkwNiA1IDM2LjY5NTMgNC41OTM3NSAzNi4zMDQ3QzQuMjAzMTIgMzUuODk4NCA0LjAwNzgxIDM1LjQyMTkgNC4wMDc4MSAzNC44NzVDNC4wMDc4MSAzNC4zMjgxIDQuMjAzMTIgMzMuODU5NCA0LjU5Mzc1IDMzLjQ2ODhDNSAzMy4wNjI1IDUuNDc2NTYgMzIuODU5NCA2LjAyMzQ0IDMyLjg1OTRDNi41NzAzMSAzMi44NTk0IDcuMDM5MDYgMzMuMDYyNSA3LjQyOTY5IDMzLjQ2ODhDNy44MjAzMSAzMy44NTk0IDguMDE1NjIgMzQuMzI4MSA4LjAxNTYyIDM0Ljg3NUM4LjAxNTYyIDM1LjQyMTkgNy44MjAzMSAzNS44OTg0IDcuNDI5NjkgMzYuMzA0N0M3LjAzOTA2IDM2LjY5NTMgNi41NzAzMSAzNi44OTA2IDYuMDIzNDQgMzYuODkwNlpNMy4wOTM3NSAzMS4xNzE5QzIuNTYyNSAzMS4xNzE5IDIuMDkzNzUgMzAuOTc2NiAxLjY4NzUgMzAuNTg1OUMxLjI5Njg4IDMwLjE5NTMgMS4xMDE1NiAyOS43MjY2IDEuMTAxNTYgMjkuMTc5N0MxLjEwMTU2IDI4LjYxNzIgMS4yOTY4OCAyOC4xNDA2IDEuNjg3NSAyNy43NUMyLjA5Mzc1IDI3LjM1OTQgMi41NjI1IDI3LjE2NDEgMy4wOTM3NSAyNy4xNjQxQzMuNjU2MjUgMjcuMTY0MSA0LjEzMjgxIDI3LjM1OTQgNC41MjM0NCAyNy43NUM0LjkxNDA2IDI4LjE0MDYgNS4xMDkzOCAyOC42MTcyIDUuMTA5MzggMjkuMTc5N0M1LjEwOTM4IDI5LjcyNjYgNC45MTQwNiAzMC4xOTUzIDQuNTIzNDQgMzAuNTg1OUM0LjEzMjgxIDMwLjk3NjYgMy42NTYyNSAzMS4xNzE5IDMuMDkzNzUgMzEuMTcxOVpNMi4wMTU2MiAyNC43OTY5QzEuNDUzMTIgMjQuNzk2OSAwLjk3NjU2MiAyNC42MDE2IDAuNTg1OTM4IDI0LjIxMDlDMC4xOTUzMTIgMjMuODIwMyAwIDIzLjM0MzggMCAyMi43ODEyQzAgMjIuMjM0NCAwLjE5NTMxMiAyMS43NjU2IDAuNTg1OTM4IDIxLjM3NUMwLjk3NjU2MiAyMC45ODQ0IDEuNDUzMTIgMjAuNzg5MSAyLjAxNTYyIDIwLjc4OTFDMi41NjI1IDIwLjc4OTEgMy4wMzEyNSAyMC45ODQ0IDMuNDIxODggMjEuMzc1QzMuODEyNSAyMS43NjU2IDQuMDA3ODEgMjIuMjM0NCA0LjAwNzgxIDIyLjc4MTJDNC4wMDc4MSAyMy4zNDM4IDMuODEyNSAyMy44MjAzIDMuNDIxODggMjQuMjEwOUMzLjAzMTI1IDI0LjYwMTYgMi41NjI1IDI0Ljc5NjkgMi4wMTU2MiAyNC43OTY5Wk0zLjA5Mzc1IDE4LjM5ODRDMi41NjI1IDE4LjM5ODQgMi4wOTM3NSAxOC4yMDMxIDEuNjg3NSAxNy44MTI1QzEuMjk2ODggMTcuNDIxOSAxLjEwMTU2IDE2Ljk1MzEgMS4xMDE1NiAxNi40MDYyQzEuMTAxNTYgMTUuODQzOCAxLjI5Njg4IDE1LjM2NzIgMS42ODc1IDE0Ljk3NjZDMi4wOTM3NSAxNC41ODU5IDIuNTYyNSAxNC4zOTA2IDMuMDkzNzUgMTQuMzkwNkMzLjY1NjI1IDE0LjM5MDYgNC4xMzI4MSAxNC41ODU5IDQuNTIzNDQgMTQuOTc2NkM0LjkxNDA2IDE1LjM2NzIgNS4xMDkzOCAxNS44NDM4IDUuMTA5MzggMTYuNDA2MkM1LjEwOTM4IDE2Ljk1MzEgNC45MTQwNiAxNy40MjE5IDQuNTIzNDQgMTcuODEyNUM0LjEzMjgxIDE4LjIwMzEgMy42NTYyNSAxOC4zOTg0IDMuMDkzNzUgMTguMzk4NFpNNi4wMjM0NCAxMi42Nzk3QzUuNDc2NTYgMTIuNjc5NyA1IDEyLjQ4NDQgNC41OTM3NSAxMi4wOTM4QzQuMjAzMTIgMTEuNzAzMSA0LjAwNzgxIDExLjIzNDQgNC4wMDc4MSAxMC42ODc1QzQuMDA3ODEgMTAuMTU2MiA0LjIwMzEyIDkuNjk1MzEgNC41OTM3NSA5LjMwNDY5QzUgOC44OTg0NCA1LjQ3NjU2IDguNjk1MzEgNi4wMjM0NCA4LjY5NTMxQzYuNTcwMzEgOC42OTUzMSA3LjAzOTA2IDguODk4NDQgNy40Mjk2OSA5LjMwNDY5QzcuODIwMzEgOS42OTUzMSA4LjAxNTYyIDEwLjE1NjIgOC4wMTU2MiAxMC42ODc1QzguMDE1NjIgMTEuMjM0NCA3LjgyMDMxIDExLjcwMzEgNy40Mjk2OSAxMi4wOTM4QzcuMDM5MDYgMTIuNDg0NCA2LjU3MDMxIDEyLjY3OTcgNi4wMjM0NCAxMi42Nzk3Wk0xMC41NzAzIDguMTMyODFDMTAuMDM5MSA4LjEzMjgxIDkuNTcwMzEgNy45Mzc1IDkuMTY0MDYgNy41NDY4OEM4Ljc3MzQ0IDcuMTQwNjIgOC41NzgxMiA2LjY3MTg4IDguNTc4MTIgNi4xNDA2MkM4LjU3ODEyIDUuNTc4MTIgOC43NzM0NCA1LjEwMTU2IDkuMTY0MDYgNC43MTA5NEM5LjU3MDMxIDQuMzIwMzEgMTAuMDM5MSA0LjEyNSAxMC41NzAzIDQuMTI1QzExLjEzMjggNC4xMjUgMTEuNjA5NCA0LjMyMDMxIDEyIDQuNzEwOTRDMTIuMzkwNiA1LjEwMTU2IDEyLjU4NTkgNS41NzgxMiAxMi41ODU5IDYuMTQwNjJDMTIuNTg1OSA2LjY3MTg4IDEyLjM5MDYgNy4xNDA2MiAxMiA3LjU0Njg4QzExLjYwOTQgNy45Mzc1IDExLjEzMjggOC4xMzI4MSAxMC41NzAzIDguMTMyODFaTTE2LjM1OTQgNS4yMDMxMkMxNS44MTI1IDUuMjAzMTIgMTUuMzQzOCA1LjAwNzgxIDE0Ljk1MzEgNC42MTcxOUMxNC41NjI1IDQuMjI2NTYgMTQuMzY3MiAzLjc1NzgxIDE0LjM2NzIgMy4yMTA5NEMxNC4zNjcyIDIuNjY0MDYgMTQuNTYyNSAyLjE5NTMxIDE0Ljk1MzEgMS44MDQ2OUMxNS4zNDM4IDEuMzk4NDQgMTUuODEyNSAxLjE5NTMxIDE2LjM1OTQgMS4xOTUzMUMxNi45MjE5IDEuMTk1MzEgMTcuMzk4NCAxLjM5ODQ0IDE3Ljc4OTEgMS44MDQ2OUMxOC4xNzk3IDIuMTk1MzEgMTguMzc1IDIuNjY0MDYgMTguMzc1IDMuMjEwOTRDMTguMzc1IDMuNzU3ODEgMTguMTc5NyA0LjIyNjU2IDE3Ljc4OTEgNC42MTcxOUMxNy4zOTg0IDUuMDA3ODEgMTYuOTIxOSA1LjIwMzEyIDE2LjM1OTQgNS4yMDMxMlpNNDAuMTAxNiA0NS41NjI1QzM2Ljk0NTMgNDUuNTYyNSAzMy45OTIyIDQ0Ljk2ODggMzEuMjQyMiA0My43ODEyQzI4LjUwNzggNDIuNjA5NCAyNi4wOTM4IDQwLjk3NjYgMjQgMzguODgyOEMyMS45MDYyIDM2Ljc4OTEgMjAuMjY1NiAzNC4zNjcyIDE5LjA3ODEgMzEuNjE3MkMxNy45MDYyIDI4Ljg2NzIgMTcuMzIwMyAyNS45MjE5IDE3LjMyMDMgMjIuNzgxMkMxNy4zMjAzIDE5LjY0MDYgMTcuOTA2MiAxNi42OTUzIDE5LjA3ODEgMTMuOTQ1M0MyMC4yNjU2IDExLjE3OTcgMjEuOTA2MiA4Ljc1NzgxIDI0IDYuNjc5NjlDMjYuMDkzOCA0LjU4NTk0IDI4LjUwNzggMi45NTMxMiAzMS4yNDIyIDEuNzgxMjVDMzMuOTkyMiAwLjU5Mzc1IDM2Ljk0NTMgMCA0MC4xMDE2IDBDNDMuMjQyMiAwIDQ2LjE4NzUgMC41OTM3NSA0OC45Mzc1IDEuNzgxMjVDNTEuNjg3NSAyLjk1MzEyIDU0LjEwMTYgNC41ODU5NCA1Ni4xNzk3IDYuNjc5NjlDNTguMjczNCA4Ljc1NzgxIDU5LjkwNjIgMTEuMTc5NyA2MS4wNzgxIDEzLjk0NTNDNjIuMjY1NiAxNi42OTUzIDYyLjg1OTQgMTkuNjQwNiA2Mi44NTk0IDIyLjc4MTJDNjIuODU5NCAyNS45MjE5IDYyLjI2NTYgMjguODY3MiA2MS4wNzgxIDMxLjYxNzJDNTkuOTA2MiAzNC4zNjcyIDU4LjI3MzQgMzYuNzg5MSA1Ni4xNzk3IDM4Ljg4MjhDNTQuMTAxNiA0MC45NzY2IDUxLjY4NzUgNDIuNjA5NCA0OC45Mzc1IDQzLjc4MTJDNDYuMTg3NSA0NC45Njg4IDQzLjI0MjIgNDUuNTYyNSA0MC4xMDE2IDQ1LjU2MjVaTTQwLjEwMTYgNDEuMzkwNkM0Mi42NjQxIDQxLjM5MDYgNDUuMDcwMyA0MC45MDYyIDQ3LjMyMDMgMzkuOTM3NUM0OS41NzAzIDM4Ljk2ODggNTEuNTQ2OSAzNy42MzI4IDUzLjI1IDM1LjkyOTdDNTQuOTY4OCAzNC4yMjY2IDU2LjMwNDcgMzIuMjU3OCA1Ny4yNTc4IDMwLjAyMzRDNTguMjEwOSAyNy43NzM0IDU4LjY4NzUgMjUuMzU5NCA1OC42ODc1IDIyLjc4MTJDNTguNjg3NSAyMC4yMDMxIDU4LjIxMDkgMTcuNzk2OSA1Ny4yNTc4IDE1LjU2MjVDNTYuMzA0NyAxMy4zMTI1IDU0Ljk2ODggMTEuMzM1OSA1My4yNSA5LjYzMjgxQzUxLjU0NjkgNy45Mjk2OSA0OS41NzAzIDYuNTkzNzUgNDcuMzIwMyA1LjYyNUM0NS4wNzAzIDQuNjU2MjUgNDIuNjY0MSA0LjE3MTg4IDQwLjEwMTYgNC4xNzE4OEMzNy41MjM0IDQuMTcxODggMzUuMTA5NCA0LjY1NjI1IDMyLjg1OTQgNS42MjVDMzAuNjI1IDYuNTkzNzUgMjguNjQ4NCA3LjkyOTY5IDI2LjkyOTcgOS42MzI4MUMyNS4yMjY2IDExLjMzNTkgMjMuODkwNiAxMy4zMTI1IDIyLjkyMTkgMTUuNTYyNUMyMS45Njg4IDE3Ljc5NjkgMjEuNDkyMiAyMC4yMDMxIDIxLjQ5MjIgMjIuNzgxMkMyMS40OTIyIDI1LjM1OTQgMjEuOTY4OCAyNy43NzM0IDIyLjkyMTkgMzAuMDIzNEMyMy44OTA2IDMyLjI1NzggMjUuMjI2NiAzNC4yMjY2IDI2LjkyOTcgMzUuOTI5N0MyOC42NDg0IDM3LjYzMjggMzAuNjI1IDM4Ljk2ODggMzIuODU5NCAzOS45Mzc1QzM1LjEwOTQgNDAuOTA2MiAzNy41MjM0IDQxLjM5MDYgNDAuMTAxNiA0MS4zOTA2WiJ9KX0pLHZvaWNlb3ZlcjpaKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbWigicGF0aCIse2Q6Im0xMSA3LjYwMS01Ljk5NCA4LjE5YTEgMSAwIDAgMCAuMSAxLjI5OGwuODE3LjgxOGExIDEgMCAwIDAgMS4zMTQuMDg3TDE1LjA5IDEyIn0pLFooInBhdGgiLHtkOiJNMTYuNSAyMS4xNzRDMTUuNSAyMC41IDE0LjM3MiAyMCAxMyAyMGMtMi4wNTggMC0zLjkyOCAyLjM1Ni02IDItMi4wNzItLjM1Ni0yLjc3NS0zLjM2OS0xLjUtNC41In0pLFooImNpcmNsZSIse2N4OiIxNiIsY3k6IjciLHI6IjUifSldfSl9O2Z1bmN0aW9uIEZaKCQpe2lmKCEkKXJldHVybiEwO3JldHVybiBnNSgkKS5vcy50b0xvd2VyQ2FzZSgpPT09ImlvcyJ9ZnVuY3Rpb24geDQoe3VkaWQ6JCxydW50aW1lOlF9KXtsZXRbSixYXT1rKCEwKSxbSyxZXT1rKG51bGwpLFtxLEddPWsobnVsbCksW0IsTl09ayhudWxsKSx6PUZaKFEpLFY9SShhc3luYygpPT57TihudWxsKTt0cnl7bGV0IFA9YXdhaXQgcjMoe2RldmljZTokfSx7c2lnbmFsOkFib3J0U2lnbmFsLnRpbWVvdXQoMTUwMDApfSk7aWYoUClZKFApO2Vsc2UgTigiVW5leHBlY3RlZCBzaW11bGF0b3Itc2V0dGluZ3MgcmVwbHkiKX1jYXRjaChQKXtOKFAgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJlAubmFtZT09PSJUaW1lb3V0RXJyb3IiPyJUaW1lZCBvdXQgcmVhZGluZyBzaW11bGF0b3Igc2V0dGluZ3MiOlAgaW5zdGFuY2VvZiBFcnJvciYmUC5tZXNzYWdlIT09IkZhaWxlZCB0byBmZXRjaCI/UC5tZXNzYWdlOiJDb3VsZCBub3QgcmVhY2ggdGhlIHByZXZpZXcgc2VydmVyIOKAlCByZWxvYWQgdGhlIHBhZ2UgaWYgdGhpcyBwZXJzaXN0cyIpfX0sWyRdKTt5KCgpPT57aWYoWShudWxsKSwheilyZXR1cm47VigpfSxbVix6XSk7bGV0IFU9SShhc3luYyhQLHgpPT57RyhQKSxOKG51bGwpLFkoKEQpPT5EP3suLi5ELFtQXTp4fTpEKTt0cnl7YXdhaXQgcjMoe2RldmljZTokLG9wdGlvbjpQLHZhbHVlOnh9LHtzaWduYWw6QWJvcnRTaWduYWwudGltZW91dCgxNTAwMCl9KX1jYXRjaChEKXtOKEQgaW5zdGFuY2VvZiBFcnJvcj9ELm1lc3NhZ2U6YEZhaWxlZCB0byBzZXQgJHtQfWApLFYoKX1maW5hbGx5e0cobnVsbCl9fSxbJCxWXSksQz13KHtydW5uaW5nOiExLG5leHQ6bnVsbH0pLE09dyhVKTtNLmN1cnJlbnQ9VTtsZXQgTD1JKChQKT0+e2xldCB4PUMuY3VycmVudDtpZih4Lm5leHQ9UCx4LnJ1bm5pbmcpcmV0dXJuO3gucnVubmluZz0hMCwoYXN5bmMoKT0+e3doaWxlKHgubmV4dCE9PW51bGwpe2xldCBEPXgubmV4dDt4Lm5leHQ9bnVsbCxhd2FpdCBNLmN1cnJlbnQoInRleHQtc2l6ZSIsUTVbRF0pfXgucnVubmluZz0hMX0pKCl9LFtdKSxIPUshPT1udWxsLE89Sz8/SFosVz1RNS5pbmRleE9mKE9bInRleHQtc2l6ZSJdKSxUPVc+PTA/VzpPWyJ0ZXh0LXNpemUiXT8uc3RhcnRzV2l0aCgiYWNjZXNzaWJpbGl0eSIpP1E1Lmxlbmd0aC0xOjM7cmV0dXJuIFooczEse29wZW46Sixvbk9wZW5DaGFuZ2U6WCwiZGF0YS1zaW11bGF0b3Itc2V0dGluZ3MiOiIiLHN1bW1hcnlDbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvXzFmcl9hdXRvXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0IixzdW1tYXJ5OlooUTEse2NoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJTaW11bGF0b3IifSksWigic3BhbiIse30pXX0pLGNoaWxkcmVuOiF6P1ooImRpdiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS80NSB0ZXh0LVsxMXB4XSBweC0wLjUgcHktMSIsY2hpbGRyZW46IlNpbXVsYXRvciBzZXR0aW5ncyBhcmUgYXZhaWxhYmxlIG9uIGlPUyBzaW11bGF0b3JzIG9ubHkuIn0pOlooUTEse2NoaWxkcmVuOltCJiZaKCJkaXYiLHtjbGFzc05hbWU6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0yIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToibWluLXctMCIsY2hpbGRyZW46Qn0pLFooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+dm9pZCBWKCksY2xhc3NOYW1lOiJzaHJpbmstMCBjdXJzb3ItcG9pbnRlciByb3VuZGVkIGJvcmRlciBib3JkZXItZGFuZ2VyLzMwIGJnLXRyYW5zcGFyZW50IHB4LTEuNSBweS0wLjUgdGV4dC1bMTFweF0gdGV4dC1kYW5nZXItc29mdCIsY2hpbGRyZW46IlJldHJ5In0pXX0pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMS41IHBiLTEuNSIsY2hpbGRyZW46W1ooWTAse2ljb246JDUuYXBwZWFyYW5jZSxsYWJlbDoiQXBwZWFyYW5jZSIsY2hpbGRyZW46WihNMCx7bGFiZWw6IkFwcGVhcmFuY2UiLHZhbHVlOk8uYXBwZWFyYW5jZT8/ImxpZ2h0IixvcHRpb25zOk84LmFwcGVhcmFuY2UsZGlzYWJsZWQ6IUh8fHE9PT0iYXBwZWFyYW5jZSIsb25DaGFuZ2U6KFApPT5VKCJhcHBlYXJhbmNlIixQKX0pfSksWihZMCx7aWNvbjokNS5nbGFzcyxsYWJlbDoiTGlxdWlkIEdsYXNzIixjaGlsZHJlbjpaKE0wLHtsYWJlbDoiTGlxdWlkIEdsYXNzIix2YWx1ZTpPWyJsaXF1aWQtZ2xhc3MiXT8/ImNsZWFyIixvcHRpb25zOk84WyJsaXF1aWQtZ2xhc3MiXSxkaXNhYmxlZDohSHx8cT09PSJsaXF1aWQtZ2xhc3MiLG9uQ2hhbmdlOihQKT0+VSgibGlxdWlkLWdsYXNzIixQKX0pfSksWihZMCx7aWNvbjokNS5maWx0ZXIsbGFiZWw6IkNvbG9yIEZpbHRlciIsY2hpbGRyZW46WihNMCx7bGFiZWw6IkNvbG9yIEZpbHRlciIsdmFsdWU6T1siY29sb3ItZmlsdGVyIl0/PyJub25lIixvcHRpb25zOk84WyJjb2xvci1maWx0ZXIiXSxkaXNhYmxlZDohSHx8cT09PSJjb2xvci1maWx0ZXIiLG9uQ2hhbmdlOihQKT0+VSgiY29sb3ItZmlsdGVyIixQKX0pfSksWihZMCx7aWNvbjokNS50ZXh0U2l6ZSxsYWJlbDoiVGV4dCBTaXplIixjaGlsZHJlbjpaKE9aLHt2YWx1ZTpULGRpc2FibGVkOiFILG9uQ2hhbmdlOkx9KX0pLENaLm1hcCgoe2tleTpQLGxhYmVsOnh9KT0+WihZMCx7aWNvbjokNVtQPT09InJlZHVjZS1tb3Rpb24iPyJtb3Rpb24iOlA9PT0iaW5jcmVhc2UtY29udHJhc3QiPyJjb250cmFzdCI6UD09PSJzaG93LWJvcmRlcnMiPyJib3JkZXJzIjpQPT09InJlZHVjZS10cmFuc3BhcmVuY3kiPyJ0cmFuc3BhcmVuY3kiOiJ2b2ljZW92ZXIiXSxsYWJlbDp4LGNoaWxkcmVuOlooYTUse2xhYmVsOngsY2hlY2tlZDpPW1BdPT09Im9uIixkaXNhYmxlZDohSHx8cT09PVAsb25DaGFuZ2U6KEQpPT5VKFAsRD8ib24iOiJvZmYiKX0pfSxQKSldfSldfSl9KX1mdW5jdGlvbiBqNCgkLFEpe3JldHVybiAkLmZpbmQoKEopPT5KLnNlc3Npb25JZD09PVEpPz9udWxsfWZ1bmN0aW9uICQzKCQsUSl7bGV0IEo9ITEsWD0hMSxLPWFzeW5jKCk9PntpZihYfHxKKXJldHVybjtKPSEwO3RyeXthd2FpdCAkKCl9Y2F0Y2h7fWZpbmFsbHl7Sj0hMX19O0soKTtsZXQgWT1zZXRJbnRlcnZhbCgoKT0+dm9pZCBLKCksUSk7cmV0dXJuKCk9PntYPSEwLGNsZWFySW50ZXJ2YWwoWSl9fXZhciB2ND0xMDAwLE1aPTQwMDA7ZnVuY3Rpb24gUjQoJCxRLEope2xldFtYLEtdPWsoe3Nlc3Npb246bnVsbCxjYXB0dXJlOm51bGwsc3RhbGU6ITF9KSxZPXcoMCk7cmV0dXJuIHkoKCk9PntpZihZLmN1cnJlbnQ9MCxLKHtzZXNzaW9uOm51bGwsY2FwdHVyZTpudWxsLHN0YWxlOiExfSksIUp8fFE9PT1udWxsKXJldHVybjtsZXQgcT0hMSxHPVg2KCQsUSksTj0kMyhhc3luYygpPT57bGV0IFY9bnVsbDt0cnl7bGV0IEM9YXdhaXQgZmV0Y2goRyx7c2lnbmFsOkFib3J0U2lnbmFsLnRpbWVvdXQodjQqMyl9KTtpZighQy5vayl7aWYoIXEpSyh7c2Vzc2lvbjpudWxsLGNhcHR1cmU6bnVsbCxzdGFsZTohMX0pO3JldHVybn1WPWF3YWl0IEMuanNvbigpfWNhdGNoe3JldHVybn1pZihxfHxWPT09bnVsbClyZXR1cm47bGV0IFU9QXJyYXkuaXNBcnJheShWLnNlc3Npb25zKT9WLnNlc3Npb25zOltdO1kuY3VycmVudD1EYXRlLm5vdygpLEsoe3Nlc3Npb246ajQoVSxRKSxjYXB0dXJlOlYuY2FwdHVyZT8/bnVsbCxzdGFsZTohMX0pfSx2NCksej13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9PntpZihZLmN1cnJlbnQ+MCYmRGF0ZS5ub3coKS1ZLmN1cnJlbnQ+TVopSygoVik9PlYuc3RhbGU/Vjp7Li4uVixzdGFsZTohMH0pfSwxMDAwKTtyZXR1cm4oKT0+e3E9ITAsTigpLHdpbmRvdy5jbGVhckludGVydmFsKHopfX0sWyQsUSxKXSksWH1mdW5jdGlvbiBXMigkKXtyZXR1cm4gdjAoJCk/PzB9ZnVuY3Rpb24gdjAoJCl7cmV0dXJuIHR5cGVvZiAkPT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZSgkKT8kOm51bGx9ZnVuY3Rpb24gaDQoJCxRKXtsZXQgSj17YXRNczpRLGZyYW1lc0RlY29kZWQ6MCxmcmFtZXNEcm9wcGVkOjAsZnJlZXplQ291bnQ6MCxmcmVlemVNczowLGJ5dGVzUmVjZWl2ZWQ6MCxwYWNrZXRzUmVjZWl2ZWQ6MCxwYWNrZXRzTG9zdDpudWxsLGppdHRlck1zOm51bGwsaml0dGVyQnVmZmVyU2Vjb25kczpudWxsLGppdHRlckJ1ZmZlckVtaXR0ZWQ6bnVsbCxyZXBvcnRlZEZwczpudWxsLHdpZHRoOm51bGwsaGVpZ2h0Om51bGwsY29kZWM6bnVsbCxyb3VuZFRyaXBNczpudWxsLHBhdGg6InVua25vd24ifSxYPW5ldyBNYXAsSz1uZXcgTWFwLFk9bmV3IE1hcCxxPW51bGwsRz1udWxsLEI9bnVsbDskLmZvckVhY2goKHopPT57c3dpdGNoKHoudHlwZSl7Y2FzZSJjb2RlYyI6aWYodHlwZW9mIHouaWQ9PT0ic3RyaW5nIiYmdHlwZW9mIHoubWltZVR5cGU9PT0ic3RyaW5nIilYLnNldCh6LmlkLHoubWltZVR5cGUpO2JyZWFrO2Nhc2UiaW5ib3VuZC1ydHAiOntpZih6LmtpbmQhPT0idmlkZW8iKWJyZWFrO2xldCBWPVcyKHouZnJhbWVzRGVjb2RlZCk7aWYoVjxKLmZyYW1lc0RlY29kZWQpYnJlYWs7Si5mcmFtZXNEZWNvZGVkPVYsSi5mcmFtZXNEcm9wcGVkPVcyKHouZnJhbWVzRHJvcHBlZCksSi5mcmVlemVDb3VudD1XMih6LmZyZWV6ZUNvdW50KSxKLmZyZWV6ZU1zPVcyKHoudG90YWxGcmVlemVzRHVyYXRpb24pKjEwMDAsSi5ieXRlc1JlY2VpdmVkPVcyKHouYnl0ZXNSZWNlaXZlZCksSi5wYWNrZXRzUmVjZWl2ZWQ9VzIoei5wYWNrZXRzUmVjZWl2ZWQpLEoucGFja2V0c0xvc3Q9djAoei5wYWNrZXRzTG9zdCksSi5yZXBvcnRlZEZwcz12MCh6LmZyYW1lc1BlclNlY29uZCksSi53aWR0aD12MCh6LmZyYW1lV2lkdGgpLEouaGVpZ2h0PXYwKHouZnJhbWVIZWlnaHQpO2xldCBVPXYwKHouaml0dGVyKTtpZihKLmppdHRlck1zPVU9PT1udWxsP251bGw6VSoxMDAwLEouaml0dGVyQnVmZmVyU2Vjb25kcz12MCh6LmppdHRlckJ1ZmZlckRlbGF5KSxKLmppdHRlckJ1ZmZlckVtaXR0ZWQ9djAoei5qaXR0ZXJCdWZmZXJFbWl0dGVkQ291bnQpLHR5cGVvZiB6LmNvZGVjSWQ9PT0ic3RyaW5nIilKLmNvZGVjPVguZ2V0KHouY29kZWNJZCk/P251bGw7YnJlYWt9Y2FzZSJ0cmFuc3BvcnQiOmlmKHR5cGVvZiB6LnNlbGVjdGVkQ2FuZGlkYXRlUGFpcklkPT09InN0cmluZyIpcT16LnNlbGVjdGVkQ2FuZGlkYXRlUGFpcklkO2JyZWFrO2Nhc2UiY2FuZGlkYXRlLXBhaXIiOmlmKHR5cGVvZiB6LmlkPT09InN0cmluZyIpSy5zZXQoei5pZCx6KTtpZih6LnNlbGVjdGVkPT09ITApRz16O2Vsc2UgaWYoei5ub21pbmF0ZWQ9PT0hMCYmei5zdGF0ZT09PSJzdWNjZWVkZWQiKUc/Pz16O2Vsc2UgaWYoei5zdGF0ZT09PSJzdWNjZWVkZWQiKUI/Pz16O2JyZWFrO2Nhc2UibG9jYWwtY2FuZGlkYXRlIjpjYXNlInJlbW90ZS1jYW5kaWRhdGUiOmlmKHR5cGVvZiB6LmlkPT09InN0cmluZyIpWS5zZXQoei5pZCx6KTticmVha319KTtsZXQgTj0ocT09PW51bGw/dm9pZCAwOksuZ2V0KHEpKT8/Rz8/QjtpZihOKXtsZXQgej12MChOLmN1cnJlbnRSb3VuZFRyaXBUaW1lKTtKLnJvdW5kVHJpcE1zPXo9PT1udWxsP251bGw6eioxMDAwO2xldCBWPVtOLmxvY2FsQ2FuZGlkYXRlSWQsTi5yZW1vdGVDYW5kaWRhdGVJZF0ubWFwKChVKT0+dHlwZW9mIFU9PT0ic3RyaW5nIj9ZLmdldChVKT8uY2FuZGlkYXRlVHlwZTp2b2lkIDApO2lmKFYuZXZlcnkoKFUpPT50eXBlb2YgVT09PSJzdHJpbmciKSlKLnBhdGg9Vi5pbmNsdWRlcygicmVsYXkiKT8icmVsYXkiOiJkaXJlY3QifWlmKEouY29kZWM9PT1udWxsJiZYLnNpemU9PT0xKUouY29kZWM9Wy4uLlgudmFsdWVzKCldWzBdPz9udWxsO3JldHVybiBKfWZ1bmN0aW9uIGc0KCQsUSl7bGV0IEo9ey4uLlEsZnBzOm51bGwsa2JwczpudWxsLGxvc3NSYXRpbzpudWxsLGRyb3BwZWRJbldpbmRvdzpudWxsLGZyZWV6ZXNJbldpbmRvdzpudWxsLGZyZWV6ZU1zSW5XaW5kb3c6bnVsbCxqaXR0ZXJCdWZmZXJNczpudWxsfTtpZigkPT09bnVsbClyZXR1cm4gSjtsZXQgWD1RLmF0TXMtJC5hdE1zO2lmKFg8MjUwKXJldHVybiBKO2xldCBLPVEuZnJhbWVzRGVjb2RlZC0kLmZyYW1lc0RlY29kZWQsWT1RLmJ5dGVzUmVjZWl2ZWQtJC5ieXRlc1JlY2VpdmVkLHE9US5mcmFtZXNEcm9wcGVkLSQuZnJhbWVzRHJvcHBlZCxHPVEuZnJlZXplQ291bnQtJC5mcmVlemVDb3VudCxCPVEuZnJlZXplTXMtJC5mcmVlemVNcztpZihLPDB8fFk8MHx8cTwwfHxHPDB8fEI8MClyZXR1cm4gSjtsZXQgTj1YLzEwMDA7cmV0dXJuey4uLlEsZnBzOksvTixrYnBzOlkqOC8xMDAwL04sbG9zc1JhdGlvOkFaKCQsUSksZHJvcHBlZEluV2luZG93OnEsZnJlZXplc0luV2luZG93OkcsZnJlZXplTXNJbldpbmRvdzpCLGppdHRlckJ1ZmZlck1zOmtaKCQsUSl9fWZ1bmN0aW9uIEFaKCQsUSl7aWYoJC5wYWNrZXRzTG9zdD09PW51bGx8fFEucGFja2V0c0xvc3Q9PT1udWxsKXJldHVybiBudWxsO2xldCBKPVEucGFja2V0c0xvc3QtJC5wYWNrZXRzTG9zdCxYPVEucGFja2V0c1JlY2VpdmVkLSQucGFja2V0c1JlY2VpdmVkO2lmKEo8MHx8WDwwKXJldHVybiBudWxsO2xldCBLPVgrSjtyZXR1cm4gSz4wP0ovSzpudWxsfWZ1bmN0aW9uIGtaKCQsUSl7aWYoUS5qaXR0ZXJCdWZmZXJTZWNvbmRzPT09bnVsbHx8US5qaXR0ZXJCdWZmZXJFbWl0dGVkPT09bnVsbClyZXR1cm4gbnVsbDtpZigkLmppdHRlckJ1ZmZlclNlY29uZHM9PT1udWxsfHwkLmppdHRlckJ1ZmZlckVtaXR0ZWQ9PT1udWxsKXJldHVybiBudWxsO2xldCBKPVEuaml0dGVyQnVmZmVyU2Vjb25kcy0kLmppdHRlckJ1ZmZlclNlY29uZHMsWD1RLmppdHRlckJ1ZmZlckVtaXR0ZWQtJC5qaXR0ZXJCdWZmZXJFbWl0dGVkO2lmKEo8MHx8WDw9MClyZXR1cm4gbnVsbDtyZXR1cm4gSi9YKjEwMDB9dmFyIFdaPTEwMDAsX1o9NDAwMCxEWj02MDA7ZnVuY3Rpb24gZjQoJCl7bGV0W1EsSl09ayhudWxsKSxbWCxLXT1rKFtdKSxbWSxxXT1rKCExKSxHPXcobnVsbCksQj13KDApO3JldHVybiB5KCgpPT57aWYoRy5jdXJyZW50PW51bGwsQi5jdXJyZW50PTAscSghMSksJD09PW51bGwpe0oobnVsbCksSyhbXSk7cmV0dXJufWxldCBOPSExLFY9JDMoYXN5bmMoKT0+e2xldCBDPURhdGUubm93KCksTTt0cnl7TT1hd2FpdCAkLmdldFN0YXRzKCl9Y2F0Y2h7cmV0dXJufWlmKE4pcmV0dXJuO2xldCBMPWg0KE0sQyksSD1nNChHLmN1cnJlbnQsTCk7Qi5jdXJyZW50PUMscSghMSksSihIKSxLKChPKT0+Wy4uLk8sSF0uc2xpY2UoLURaKSksRy5jdXJyZW50PUx9LFdaKSxVPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+e2lmKEIuY3VycmVudD4wJiZEYXRlLm5vdygpLUIuY3VycmVudD5fWilxKCEwKX0sMTAwMCk7cmV0dXJuKCk9PntOPSEwLFYoKSx3aW5kb3cuY2xlYXJJbnRlcnZhbChVKX19LFskXSkse3N0YXRzOlEsaGlzdG9yeTpYLHN0YWxlOll9fXZhciBQWj1uZXcgU2V0KFsibG9jYWxob3N0IiwiMTI3LjAuMC4xIiwiOjoxIiwiWzo6MV0iLCIwLjAuMC4wIl0pO2Z1bmN0aW9uIFEzKCQpe2xldCBRPSQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cLiQvLCIiKTtyZXR1cm4gUFouaGFzKFEpfHxRLmVuZHNXaXRoKCIubG9jYWxob3N0Iil9YXN5bmMgZnVuY3Rpb24gVFooJCl7dHJ5e2xldCBRPWF3YWl0ICQuanNvbigpO2lmKHR5cGVvZiBRLmVycm9yPT09InN0cmluZyImJlEuZXJyb3IudHJpbSgpKXJldHVybiBRLmVycm9yLnRyaW0oKX1jYXRjaHt9cmV0dXJuYFNjcmVlbnNob3QgZmFpbGVkICgkeyQuc3RhdHVzfSlgfWFzeW5jIGZ1bmN0aW9uIG00KCQsUT17fSl7bGV0IEo9US5lbmRwb2ludD8/djEoImFwaS9zY3JlZW5zaG90IiksWD1KLmluY2x1ZGVzKCI/Iik/IiYiOiI/IixZPWF3YWl0KFEuZmV0Y2hJbXBsPz9mZXRjaCkoYCR7Sn0ke1h9ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQpfWAse21ldGhvZDoiUE9TVCIsc2lnbmFsOlEuc2lnbmFsfSk7aWYoIVkub2spdGhyb3cgRXJyb3IoYXdhaXQgVFooWSkpO2lmKFkuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpPy5zcGxpdCgiOyIsMSlbMF0/LnRyaW0oKT8udG9Mb3dlckNhc2UoKSE9PSJpbWFnZS9wbmciKXRocm93IEVycm9yKCJTY3JlZW5zaG90IGVuZHBvaW50IGRpZCBub3QgcmV0dXJuIGEgUE5HIik7cmV0dXJuIFkuYmxvYigpfWZ1bmN0aW9uIEo1KCQsUSl7bGV0IEo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO0ouaHJlZj0kLEouZG93bmxvYWQ9USxKLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoSiksSi5jbGljaygpLEoucmVtb3ZlKCl9ZnVuY3Rpb24gRVooe3N0YXRzOiQsaGlzdG9yeTpRLGZhdWx0czpKLHNlbmRlcjpYLGNhcHR1cmU6SyxyZXF1ZXN0ZWRGcHM6WSxzdGFsZTpxLGFjdGlvbjpHfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZTpgZmxleCBmbGV4LWNvbCBnYXAtMiBib3JkZXItYiBib3JkZXItd2hpdGUvMTAgcGItMiAke3E/Im9wYWNpdHktNTAiOiIifWAsY2hpbGRyZW46W1oodTQse2xhYmVsOiJGcmFtZSByYXRlIix2YWx1ZTpaMygkLmZwcyksaGludDpZP2BvZiAke1l9YDp2b2lkIDAsdmFsdWVzOnA0KFEsKEIpPT5CLmZwcyksbWF4OlksY2xhc3NOYW1lOiJ0ZXh0LWVtZXJhbGQtNDAwIn0pLFoodTQse2xhYmVsOiJCaXRyYXRlIix2YWx1ZTpGOCgkLmticHMpLHZhbHVlczpwNChRLChCKT0+Qi5rYnBzKSxjbGFzc05hbWU6InRleHQtc2t5LTQwMCJ9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQganVzdGlmeS1iZXR3ZWVuIGdhcC0yIixjaGlsZHJlbjpbcT9aKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2FybmluZyIsY2hpbGRyZW46Ik5vIHNhbXBsZXMgaW4gdGhlIGxhc3QgZmV3IHNlY29uZHMifSk6Si5sZW5ndGg+MD9aKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSIsY2hpbGRyZW46Si5tYXAoKEIpPT5aKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2FybmluZyIsImRhdGEtc3RyZWFtLWZhdWx0IjpCLGNoaWxkcmVuOkJ9LEIpKX0pOlooImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS8zMCIsY2hpbGRyZW46eVooJCk/Ik5vIGRyb3BzLCBmcmVlemVzIG9yIGxvc3MgaW4gdGhpcyB3aW5kb3ciOiJNZWFzdXJpbmfigKYifSksR119KSxaKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLXgtMyBnYXAteS0wLjUgYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIHB0LTEuNSIsY2hpbGRyZW46W1ooJDAse2xhYmVsOiJSVFQiLHZhbHVlOkozKCQucm91bmRUcmlwTXMsMCl9KSxaKCQwLHtsYWJlbDoiSml0dGVyIix2YWx1ZTpKMygkLmppdHRlck1zLDEpfSksWigkMCx7bGFiZWw6IkppdHRlciBidWZmZXIiLHZhbHVlOkozKCQuaml0dGVyQnVmZmVyTXMsMCl9KSxaKCQwLHtsYWJlbDoiUmVzb2x1dGlvbiIsdmFsdWU6JC53aWR0aD09PW51bGx8fCQuaGVpZ2h0PT09bnVsbD9fMjpgJHskLndpZHRofXgkeyQuaGVpZ2h0fWB9KSwkLnBhdGghPT0idW5rbm93biImJlooJDAse2xhYmVsOiJJQ0Ugcm91dGUiLHZhbHVlOiQucGF0aD09PSJyZWxheSI/IlZpYSByZWxheSI6IkRpcmVjdCJ9KV19KSxYJiZaKHdaLHtzZW5kZXI6WH0pLEsmJlooSVose2NhcHR1cmU6S30pXX0pfWZ1bmN0aW9uIHdaKHtzZW5kZXI6JH0pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBib3JkZXItdCBib3JkZXItd2hpdGUvMTAgcHQtMS41IixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJwYi0wLjUgdGV4dC1bMTBweF0gdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIHRleHQtd2hpdGUvMzAiLGNoaWxkcmVuOiJFbmNvZGVyIn0pLFooImRpdiIse2NsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtMiBnYXAteC0zIGdhcC15LTAuNSIsY2hpbGRyZW46W1ooJDAse2xhYmVsOiJFbmNvZGUgRlBTIix2YWx1ZTpaMygkLnJlcG9ydGVkRnBzKX0pLFooJDAse2xhYmVsOiJUYXJnZXQiLHZhbHVlOkY4KCQudGFyZ2V0S2Jwcyl9KSxaKCQwLHtsYWJlbDoiUGFjZXIgRlBTIix2YWx1ZTpaMygkLnNvdXJjZUZwcyl9KSxaKCQwLHtsYWJlbDoiRW5jb2RlIix2YWx1ZTpKMygkLmVuY29kZU1zUGVyRnJhbWUsMSksaGludDoiL2ZyYW1lIn0pLFooJDAse2xhYmVsOiJGcmFtZXMgc2VudCIsdmFsdWU6WjUoJC5mcmFtZXNTZW50KX0pLFooJDAse2xhYmVsOiJMb3NzIix2YWx1ZTpiWigkLmxvc3NSYXRpbyksaGludDoidG90YWwifSldfSldfSl9ZnVuY3Rpb24gSVooe2NhcHR1cmU6JH0pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBib3JkZXItdCBib3JkZXItd2hpdGUvMTAgcHQtMS41IixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJwYi0wLjUgdGV4dC1bMTBweF0gdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIHRleHQtd2hpdGUvMzAiLGNoaWxkcmVuOiJDYXB0dXJlIn0pLFooImRpdiIse2NsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtMiBnYXAteC0zIGdhcC15LTAuNSIsY2hpbGRyZW46W1ooJDAse2xhYmVsOiJTY3JlZW4gZnJhbWVzIix2YWx1ZTpaNSgkLnNjcmVlbkZyYW1lcyl9KSxaKCQwLHtsYWJlbDoiSWRsZSBmcmFtZXMiLHZhbHVlOlo1KCQuaWRsZUZyYW1lcyl9KSxaKCQwLHtsYWJlbDoiQ2FwdHVyZSBkZWxpdmVyaWVzIix2YWx1ZTpaNSgkLm9mZmVyZWRGcmFtZXMpfSksWigkMCx7bGFiZWw6IlBhY2VyIHN1Ym1pc3Npb25zIix2YWx1ZTpaNSgkLmZvcndhcmRlZEZyYW1lcyl9KV19KV19KX1mdW5jdGlvbiBaNSgkKXtpZigkPT09bnVsbClyZXR1cm4gXzI7bGV0IFE9TWF0aC5hYnMoJCk7aWYoUTwxMDAwKXJldHVybiBTdHJpbmcoJCk7aWYoUTw5OTk5NTApcmV0dXJuYCR7KCQvMTAwMCkudG9GaXhlZCgxKX1rYDtyZXR1cm5gJHsoJC8xZTYpLnRvRml4ZWQoMil9TWB9ZnVuY3Rpb24gYlooJCl7cmV0dXJuICQ9PT1udWxsP18yOmAkeygkKjEwMCkudG9GaXhlZCgxKX0lYH12YXIgXzI9IuKAlCI7ZnVuY3Rpb24gcDQoJCxRKXtsZXQgSj1bXTtmb3IobGV0IFggb2YgJCl7bGV0IEs9UShYKTtpZihLIT09bnVsbClKLnB1c2goSyl9cmV0dXJuIEp9ZnVuY3Rpb24geVooJCl7cmV0dXJuICQuZHJvcHBlZEluV2luZG93IT09bnVsbH1mdW5jdGlvbiBsNCgkKXtpZigkLmZwcz09PW51bGwpcmV0dXJuIG51bGw7cmV0dXJuYCR7WjMoJC5mcHMpfSDCtyAke0Y4KCQua2Jwcyl9YH1mdW5jdGlvbiBkNCgkLFEpe2xldCBKPVtdO2lmKCQuZnJlZXplc0luV2luZG93KXtsZXQgSz0kLmZyZWV6ZU1zSW5XaW5kb3c/YCAoJHsoJC5mcmVlemVNc0luV2luZG93LzEwMDApLnRvRml4ZWQoMSl9cylgOiIiO0oucHVzaChgJHskLmZyZWV6ZXNJbldpbmRvd30gZnJlZXplJHskLmZyZWV6ZXNJbldpbmRvdz09PTE/IiI6InMifSR7S31gKX1pZigkLmRyb3BwZWRJbldpbmRvdylKLnB1c2goYCR7JC5kcm9wcGVkSW5XaW5kb3d9IGZyYW1lcyBkcm9wcGVkYCk7aWYoJC5sb3NzUmF0aW8hPT1udWxsJiYkLmxvc3NSYXRpbz4wLjAyKUoucHVzaChgJHsoJC5sb3NzUmF0aW8qMTAwKS50b0ZpeGVkKDEpfSUgcGFja2V0IGxvc3NgKTtsZXQgWD1TWihRPy5xdWFsaXR5TGltaXRhdGlvblJlYXNvbik7aWYoWCE9PW51bGwpSi5wdXNoKFgpO3JldHVybiBKfWZ1bmN0aW9uIFNaKCQpe3N3aXRjaCgkKXtjYXNlImNwdSI6cmV0dXJuIkVuY29kZXIgY2Fubm90IGtlZXAgdXAgKENQVSkiO2Nhc2UiYmFuZHdpZHRoIjpyZXR1cm4iQml0cmF0ZSByZWR1Y2VkIGJ5IHRoZSBuZXR3b3JrIjtjYXNlIHZvaWQgMDpjYXNlIG51bGw6Y2FzZSJub25lIjpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiJFbmNvZGVyIGhvbGRpbmcgYmFjayAocmVhc29uIHVua25vd24pIn19ZnVuY3Rpb24gWjMoJCl7aWYoJD09PW51bGwpcmV0dXJuIF8yO3JldHVybmAkeyQ8MTA/JC50b0ZpeGVkKDEpOiQudG9GaXhlZCgwKX0gZnBzYH1mdW5jdGlvbiBGOCgkKXtpZigkPT09bnVsbClyZXR1cm4gXzI7cmV0dXJuICQ8MTAwMD9gJHskLnRvRml4ZWQoMCl9IGticHNgOmAkeygkLzEwMDApLnRvRml4ZWQoMil9IE1icHNgfWZ1bmN0aW9uIEozKCQsUSl7cmV0dXJuICQ9PT1udWxsP18yOmAkeyQudG9GaXhlZChRKX0gbXNgfWZ1bmN0aW9uIHU0KHtsYWJlbDokLHZhbHVlOlEsaGludDpKLHZhbHVlczpYLG1heDpLLGNsYXNzTmFtZTpZfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMSIsImRhdGEtc3RyZWFtLXN0YXQiOiQsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1iYXNlbGluZSBqdXN0aWZ5LWJldHdlZW4iLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzUwIixjaGlsZHJlbjokfSksWigic3BhbiIse2NsYXNzTmFtZToidGFidWxhci1udW1zIHRleHQtWzExcHhdIixjaGlsZHJlbjpbUSxKJiZaKCJzcGFuIix7Y2xhc3NOYW1lOiJtbC0xLjUgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS8zMCIsY2hpbGRyZW46Sn0pXX0pXX0pLFoodDUse3ZhbHVlczpYLG1heDpLLGNsYXNzTmFtZTpZfSldfSl9ZnVuY3Rpb24gJDAoe2xhYmVsOiQsdmFsdWU6USxoaW50Okp9KXtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiBnYXAtMiIsImRhdGEtc3RyZWFtLXN0YXQiOiQsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6IndoaXRlc3BhY2Utbm93cmFwIHRleHQtWzExcHhdIHRleHQtd2hpdGUvNTAiLGNoaWxkcmVuOiR9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0YWJ1bGFyLW51bXMgd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS85MCIsY2hpbGRyZW46W1EsSiYmWigic3BhbiIse2NsYXNzTmFtZToibWwtMS41IHRleHQtWzExcHhdIHRleHQtd2hpdGUvMzAiLGNoaWxkcmVuOkp9KV19KV19KX1mdW5jdGlvbiBjNCh7c3RhdHM6JCxoaXN0b3J5OlEsZmF1bHRzOkosc2VuZGVyOlgsY2FwdHVyZTpLLHJlcXVlc3RlZEZwczpZLHN0YWxlOnEsYWN0aW9uOkd9KXtpZigkPT09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gWihFWix7c3RhdHM6JCxoaXN0b3J5OlEsZmF1bHRzOkosc2VuZGVyOlgsY2FwdHVyZTpLLHJlcXVlc3RlZEZwczpZLHN0YWxlOnEsYWN0aW9uOkd9KX1mdW5jdGlvbiBvNCh7aGlzdG9yeTokLGNvbnRleHQ6UX0pe2lmKCQubGVuZ3RoPDIpcmV0dXJuIG51bGw7cmV0dXJuIFooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsdGl0bGU6YERvd25sb2FkICR7JC5sZW5ndGh9IHJlY29yZGVkIHNhbXBsZXMgYXMgSlNPTmAsImFyaWEtbGFiZWwiOmBEb3dubG9hZCAkeyQubGVuZ3RofSByZWNvcmRlZCBzYW1wbGVzIGFzIEpTT05gLG9uQ2xpY2s6KCk9PmpaKCQsUSksY2xhc3NOYW1lOiItbXQtMC41IGlubGluZS1mbGV4IGgtNSB3LTUgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQgdGV4dC13aGl0ZS8zMCBob3ZlcjpiZy13aGl0ZS9bMC4wNl0gaG92ZXI6dGV4dC13aGl0ZS84MCIsY2hpbGRyZW46WihnMix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJoLTMgdy0zIn0pfSl9ZnVuY3Rpb24geFooJCxRPXt9KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoe3JlY29yZGVkQXQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLC4uLlEsc2FtcGxlczokfSxudWxsLDIpfWZ1bmN0aW9uIGpaKCQsUSl7bGV0IEo9VVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbeFooJCxRKV0se3R5cGU6ImFwcGxpY2F0aW9uL2pzb24ifSkpO0o1KEosYHNlcnZlLXNpbS1zdHJlYW0tc3RhdHMtJHt2WigpfS5qc29uYCksc2V0VGltZW91dCgoKT0+VVJMLnJldm9rZU9iamVjdFVSTChKKSwwKX1mdW5jdGlvbiB2Wigpe3JldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvWzouXS9nLCItIikucmVwbGFjZSgiWiIsIiIpfXZhciBSWj1bNjAsMzAsMjAsMTUsMTAsNV0sTTg9UloubWFwKCgkKT0+e2xldCBRPVN0cmluZygkKTtyZXR1cm57dmFsdWU6USxsYWJlbDpRfX0pO2Z1bmN0aW9uIEE4KCQpe2xldCBRPVN0cmluZygkKTtpZigkPD02MCYmIU04LnNvbWUoKEopPT5KLnZhbHVlPT09USkpcmV0dXJuW3t2YWx1ZTpRLGxhYmVsOlF9LC4uLk04XTtyZXR1cm4gTTh9dmFyIGhaPVt7dmFsdWU6Imh0dHAiLGxhYmVsOiJIVFRQIn0se3ZhbHVlOiJ3ZWJydGMiLGxhYmVsOiJXZWJSVEMifV0sZ1o9W3t2YWx1ZToid2VicnRjIixsYWJlbDoiV2ViUlRDIn1dLGZaPVt7dmFsdWU6ImF1dG8iLGxhYmVsOiJBdXRvIn0se3ZhbHVlOiJoMjY0IixsYWJlbDoiSC4yNjQifSx7dmFsdWU6Im1qcGVnIixsYWJlbDoiTUpQRUcifV0sbVo9W3t2YWx1ZToiaDI2NCIsbGFiZWw6IkguMjY0In0se3ZhbHVlOiJ2cDkiLGxhYmVsOiJWUDkifSx7dmFsdWU6InZwOCIsbGFiZWw6IlZQOCJ9XSxwWj1be3ZhbHVlOiIwIixsYWJlbDoiRnVsbCJ9LHt2YWx1ZToiMTkyMCIsbGFiZWw6IjE5MjAifSx7dmFsdWU6IjE2MDAiLGxhYmVsOiIxNjAwIn0se3ZhbHVlOiIxMjgwIixsYWJlbDoiMTI4MCJ9LHt2YWx1ZToiOTYwIixsYWJlbDoiOTYwIn0se3ZhbHVlOiI3MjAiLGxhYmVsOiI3MjAifV0sdVo9W3t2YWx1ZToiMC40NSIsbGFiZWw6IjQ1JSJ9LHt2YWx1ZToiMC41NSIsbGFiZWw6IjU1JSJ9LHt2YWx1ZToiMC43IixsYWJlbDoiNzAlIn0se3ZhbHVlOiIwLjg1IixsYWJlbDoiODUlIn0se3ZhbHVlOiIxIixsYWJlbDoiMTAwJSJ9XSxsWj1be3ZhbHVlOiIxNTAwMDAwIixsYWJlbDoiMS41IE1icHMifSx7dmFsdWU6IjMwMDAwMDAiLGxhYmVsOiIzIE1icHMifSx7dmFsdWU6IjYwMDAwMDAiLGxhYmVsOiI2IE1icHMifSx7dmFsdWU6IjEwMDAwMDAwIixsYWJlbDoiMTAgTWJwcyJ9LHt2YWx1ZToiMTYwMDAwMDAiLGxhYmVsOiIxNiBNYnBzIn1dLHUwPSJzaXplLTMuNSI7ZnVuY3Rpb24gazgoJCxRLEope2xldCBYPVN0cmluZygkKTtyZXR1cm4gUS5zb21lKChLKT0+Sy52YWx1ZT09PVgpP1E6W3t2YWx1ZTpYLGxhYmVsOkooJCl9LC4uLlFdfWZ1bmN0aW9uIGk0KHtzZXR0aW5nczokLG9uUGxheWJhY2tTZXR0aW5nc0NoYW5nZTpRLG9uRW5jb2RlclNldHRpbmdzQ2hhbmdlOkosYWN0aXZlQ29kZWM6WCxhdmNjU3VwcG9ydGVkOksscGVlckNvbm5lY3Rpb246WSx3ZWJydGNTdGF0c1VybDpxLHdlYnJ0Y1Nlc3Npb25JZDpHLGVuY29kZXJTZXR0aW5nc0Rpc2FibGVkOkI9ITEsdHJhbnNwb3J0TG9ja2VkOk49ITF9KXtsZXRbeixWXT1rKCExKSx7c3RhdHM6VSxoaXN0b3J5OkMsc3RhbGU6TX09ZjQoWSksTD1SNChxPz8iIixHPz9udWxsLHEhPT12b2lkIDAmJlkhPT1udWxsJiZHIT1udWxsKSxIPUwuc3RhbGU/bnVsbDpMLnNlc3Npb24sTz1VPT09bnVsbHx8TT9bXTpkNChVLEgpLFc9TT8iU3RyZWFtIHNhbXBsZXMgaGF2ZSBzdG9wcGVkIjpPLmpvaW4oIjsgIiksVD1VPT09bnVsbD9udWxsOmw0KFUpLFA9JC50cmFuc3BvcnQ9PT0iaHR0cCIseD0kLnRyYW5zcG9ydD09PSJ3ZWJydGMiO3JldHVybiBaKHMxLHtvcGVuOnosb25PcGVuQ2hhbmdlOlYsImRhdGEtc3RyZWFtLXNldHRpbmdzIjoiIixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpaKFExLHtjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiU3RyZWFtIn0pLFooInNwYW4iLHtjbGFzc05hbWU6Imp1c3RpZnktc2VsZi1lbmQgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUiLGNoaWxkcmVuOlsheiYmVCE9PW51bGw/Wigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS80MCB0YWJ1bGFyLW51bXMiLGNoaWxkcmVuOlR9KTpaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzQwIHVwcGVyY2FzZSIsY2hpbGRyZW46WH0pLChPLmxlbmd0aD4wfHxNKSYmWigic3BhbiIseyJkYXRhLXN0cmVhbS13YXJuaW5nIjohMCxyb2xlOiJzdGF0dXMiLGNsYXNzTmFtZToiZ3JvdXAgcmVsYXRpdmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjpbWihJMCx7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJ3LTMuNSBoLTMuNSB0ZXh0LXdhcm5pbmcifSksWigic3BhbiIse2NsYXNzTmFtZToic3Itb25seSIsY2hpbGRyZW46V30pLFooInNwYW4iLHtjbGFzc05hbWU6InBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgcmlnaHQtMCB0b3AtZnVsbCB6LTEwIG10LTEgaGlkZGVuIHctbWF4IG1heC13LVsyMjBweF0gcm91bmRlZC1tZCBiZy1ibGFjay85MCBweC0yIHB5LTEgdGV4dC1bMTFweF0gbGVhZGluZy1zbnVnIHRleHQtd2hpdGUvOTAgc2hhZG93LWxnIGdyb3VwLWhvdmVyOmJsb2NrIixjaGlsZHJlbjpXfSldfSldfSldfSksY2hpbGRyZW46WigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xLjUgcGItMS41IixjaGlsZHJlbjpbWihjNCx7c3RhdHM6VSxoaXN0b3J5OkMsZmF1bHRzOk8sc2VuZGVyOkgsY2FwdHVyZTpMLnN0YWxlP251bGw6TC5jYXB0dXJlLHJlcXVlc3RlZEZwczokLmgyNjRGcHMsc3RhbGU6TSxhY3Rpb246WihvNCx7aGlzdG9yeTpDLGNvbnRleHQ6e3RyYW5zcG9ydDokLnRyYW5zcG9ydCxjb2RlYzpVPy5jb2RlYyxzZW5kZXI6SCxjYXB0dXJlOkwuc3RhbGU/bnVsbDpMLmNhcHR1cmV9fSl9KSxaKFkwLHtpY29uOloocjAse2NsYXNzTmFtZTp1MH0pLGxhYmVsOiJUcmFuc3BvcnQiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJUcmFuc3BvcnQiLHZhbHVlOiQudHJhbnNwb3J0LG9wdGlvbnM6Tj9nWjpoWixkaXNhYmxlZDpOLG9uQ2hhbmdlOihEKT0+USh7dHJhbnNwb3J0OkR9KX0pfSksIU4mJlooWTAse2ljb246WihyMCx7Y2xhc3NOYW1lOnUwfSksbGFiZWw6IkhUVFAgY29kZWMiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJIVFRQIGNvZGVjIix2YWx1ZTpLPyQuaHR0cENvZGVjOiJtanBlZyIsb3B0aW9uczpmWixkaXNhYmxlZDohUHx8IUssb25DaGFuZ2U6KEQpPT5RKHtodHRwQ29kZWM6RH0pfSl9KSxaKFkwLHtpY29uOloocjAse2NsYXNzTmFtZTp1MH0pLGxhYmVsOiJXZWJSVEMgY29kZWMiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJXZWJSVEMgY29kZWMiLHZhbHVlOiQud2ViUnRjQ29kZWMsb3B0aW9uczptWixkaXNhYmxlZDoheCxvbkNoYW5nZTooRCk9PlEoe3dlYlJ0Y0NvZGVjOkR9KX0pfSksWihZMCx7aWNvbjpaKGowLHtjbGFzc05hbWU6dTB9KSxsYWJlbDoiTWF4IHNpemUiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJNYXggc2l6ZSIsdmFsdWU6U3RyaW5nKCQubWF4RGltZW5zaW9uKSxvcHRpb25zOms4KCQubWF4RGltZW5zaW9uLHBaLFN0cmluZyksZGlzYWJsZWQ6QixvbkNoYW5nZTooRCk9Pkooe21heERpbWVuc2lvbjpOdW1iZXIoRCl9KX0pfSksIU4mJlooUTEse2NoaWxkcmVuOltaKFkwLHtpY29uOlooajAse2NsYXNzTmFtZTp1MH0pLGxhYmVsOiJNSlBFRyBGUFMiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJNSlBFRyBGUFMiLHZhbHVlOlN0cmluZygkLm1qcGVnRnBzKSxvcHRpb25zOkE4KCQubWpwZWdGcHMpLGRpc2FibGVkOkJ8fCFQLG9uQ2hhbmdlOihEKT0+Sih7bWpwZWdGcHM6TnVtYmVyKEQpfSl9KX0pLFooWTAse2ljb246WihqMCx7Y2xhc3NOYW1lOnUwfSksbGFiZWw6Ik1KUEVHIHF1YWxpdHkiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJNSlBFRyBxdWFsaXR5Iix2YWx1ZTpTdHJpbmcoJC5tanBlZ1F1YWxpdHkpLG9wdGlvbnM6azgoJC5tanBlZ1F1YWxpdHksdVosKEQpPT5gJHtNYXRoLnJvdW5kKEQqMTAwKX0lYCksZGlzYWJsZWQ6Qnx8IVAsb25DaGFuZ2U6KEQpPT5KKHttanBlZ1F1YWxpdHk6TnVtYmVyKEQpfSl9KX0pXX0pLFooWTAse2ljb246WihqMCx7Y2xhc3NOYW1lOnUwfSksbGFiZWw6IlZpZGVvIEZQUyIsY2hpbGRyZW46WihNMCx7bGFiZWw6IlZpZGVvIEZQUyIsdmFsdWU6U3RyaW5nKCQuaDI2NEZwcyksb3B0aW9uczpBOCgkLmgyNjRGcHMpLGRpc2FibGVkOkJ8fFAmJighS3x8JC5odHRwQ29kZWM9PT0ibWpwZWciKSxvbkNoYW5nZTooRCk9Pkooe2gyNjRGcHM6TnVtYmVyKEQpfSl9KX0pLFooWTAse2ljb246WihqMCx7Y2xhc3NOYW1lOnUwfSksbGFiZWw6IlZpZGVvIGJpdHJhdGUiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJWaWRlbyBiaXRyYXRlIix2YWx1ZTpTdHJpbmcoJC5oMjY0Qml0cmF0ZSksb3B0aW9uczprOCgkLmgyNjRCaXRyYXRlLGxaLChEKT0+YCR7RC8xZTZ9IE1icHNgKSxkaXNhYmxlZDpCfHxQJiYoIUt8fCQuaHR0cENvZGVjPT09Im1qcGVnIiksb25DaGFuZ2U6KEQpPT5KKHtoMjY0Qml0cmF0ZTpOdW1iZXIoRCl9KX0pfSldfSl9KX1mdW5jdGlvbiBuNCh7b3BlbjokLG9uQ2xvc2U6USxwZWVyQ29ubmVjdGlvbjpKLHdlYnJ0Y1N0YXRzVXJsOlgsd2VicnRjU2Vzc2lvbklkOkssdWRpZDpZLGRldmljZVJ1bnRpbWU6cSxjdXJyZW50QXBwOkcsZXZlbnRMb2dFdmVudHNFbmRwb2ludDpCLG1ldHJpY3NFbmRwb2ludDpOLGF4T3ZlcmxheUVuYWJsZWQ6eixvblRvZ2dsZUF4T3ZlcmxheTpWLHN0cmVhbVNldHRpbmdzOlUsb25TdHJlYW1QbGF5YmFja1NldHRpbmdzQ2hhbmdlOkMsb25TdHJlYW1FbmNvZGVyU2V0dGluZ3NDaGFuZ2U6TSxhY3RpdmVDb2RlYzpMLGF2Y2NTdXBwb3J0ZWQ6SCxzdHJlYW1TZXR0aW5nc1BlbmRpbmc6TyxzdHJlYW1UcmFuc3BvcnRMb2NrZWQ6Vz0hMSx3aWR0aDpUfSl7cmV0dXJuIFooQzIse29wZW46JCx3aWR0aDpULHN0eWxlOntiYWNrZ3JvdW5kQ29sb3I6RjJ9LGNoaWxkcmVuOltaKE8yLHtjaGlsZHJlbjpbWihNNix7Y2hpbGRyZW46IlRvb2xzIn0pLFoodTUse29uQ2xpY2s6UX0pXX0pLCQmJlooImRpdiIse2NsYXNzTmFtZToicC0zLjUgb3ZlcmZsb3cteS1hdXRvIGZsZXgtMSBmbGV4IGZsZXgtY29sIGdhcC0zIixjaGlsZHJlbjpbWihMNCx7dWRpZDpZLGN1cnJlbnRBcHA6R30pLFooUzQse3VkaWQ6WSxjdXJyZW50QXBwQnVuZGxlSWQ6Rz8uYnVuZGxlSWQ/P251bGwsbWV0cmljc0VuZHBvaW50Ok59KSxaKEk0LHt1ZGlkOlksZXZlbnRzRW5kcG9pbnQ6Qn0pLFooeDQse3VkaWQ6WSxydW50aW1lOnF9KSxaKE80LHtvdmVybGF5RW5hYmxlZDp6LG9uVG9nZ2xlT3ZlcmxheTpWfSksWihFNCx7dWRpZDpZLGJ1bmRsZUlkOkc/LmJ1bmRsZUlkPz9udWxsfSksWihONCx7dWRpZDpZLGV4ZWM6VDF9KSxaKEg0LHt1ZGlkOlksYnVuZGxlSWQ6Rz8uYnVuZGxlSWQ/P251bGx9KSxaKGk0LHtzZXR0aW5nczpVLG9uUGxheWJhY2tTZXR0aW5nc0NoYW5nZTpDLG9uRW5jb2RlclNldHRpbmdzQ2hhbmdlOk0sYWN0aXZlQ29kZWM6TCxhdmNjU3VwcG9ydGVkOkgsZW5jb2RlclNldHRpbmdzRGlzYWJsZWQ6Tyx0cmFuc3BvcnRMb2NrZWQ6VyxwZWVyQ29ubmVjdGlvbjpKLHdlYnJ0Y1N0YXRzVXJsOlgsd2VicnRjU2Vzc2lvbklkOkt9KV19KV19KX1mdW5jdGlvbiByNCgkLFEpe2xldCBKO3RyeXtKPW5ldyBVUkwoJC53ZWJTb2NrZXREZWJ1Z2dlclVybCl9Y2F0Y2h7cmV0dXJuICR9bGV0IFg9YCR7Si5wYXRobmFtZX0ke0ouc2VhcmNofWAsSz1RLnByb3RvY29sPT09Imh0dHBzOiI/IndzczoiOiJ3czoiLFk9US5wcm90b2NvbD09PSJodHRwczoiPyJ3c3MiOiJ3cyIscT1gJHtRLmhvc3R9JHtYfWAsRz0kLmRldnRvb2xzRnJvbnRlbmRVcmw7dHJ5e2xldCBCPW5ldyBVUkwoJC5kZXZ0b29sc0Zyb250ZW5kVXJsLGAke1EucHJvdG9jb2x9Ly8ke1EuaG9zdH1gKTtCLnNlYXJjaFBhcmFtcy5kZWxldGUoIndzIiksQi5zZWFyY2hQYXJhbXMuZGVsZXRlKCJ3c3MiKSxCLnNlYXJjaFBhcmFtcy5zZXQoWSxxKSxHPWAke0IucGF0aG5hbWV9JHtCLnNlYXJjaH0ke0IuaGFzaH1gfWNhdGNoe31yZXR1cm57Li4uJCx3ZWJTb2NrZXREZWJ1Z2dlclVybDpgJHtLfS8vJHtRLmhvc3R9JHtYfWAsZGV2dG9vbHNGcm9udGVuZFVybDpHfX1mdW5jdGlvbiBYNSgkLFEpe2ZldGNoKHYxKCJkZXZ0b29scy9oaWdobGlnaHQiKSx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3RhcmdldElkOiQsb246UX0pLGtlZXBhbGl2ZTohMH0pLmNhdGNoKCgpPT57fSl9ZnVuY3Rpb24gVzgoKXtsZXQgJD12MSgiZGV2dG9vbHMvcmVsZWFzZSIpO3RyeXtpZih0eXBlb2YgbmF2aWdhdG9yPCJ1IiYmbmF2aWdhdG9yLnNlbmRCZWFjb24pe2xldCBRPW5ldyBCbG9iKFsie30iXSx7dHlwZToiYXBwbGljYXRpb24vanNvbiJ9KTtpZihuYXZpZ2F0b3Iuc2VuZEJlYWNvbigkLFEpKXJldHVybn19Y2F0Y2h7fWZldGNoKCQse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OiJ7fSIsa2VlcGFsaXZlOiEwfSkuY2F0Y2goKCk9Pnt9KX1mdW5jdGlvbiBhNCgkKXtsZXQgUT0kLmNvbnRlbnREb2N1bWVudDtpZighUSlyZXR1cm47bGV0IEo9KCk9PntsZXQgWT1bUV07d2hpbGUoWS5sZW5ndGgpe2xldCBxPVkucG9wKCksRz1xLnF1ZXJ5U2VsZWN0b3JBbGwoIlthcmlhLWxhYmVsXSxbdGl0bGVdIik7Zm9yKGxldCBCIG9mIEcpe2xldCBOPUIuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIil8fEIudGl0bGV8fCIiO2lmKC9edG9nZ2xlIHNjcmVlbmNhc3QkL2kudGVzdChOKSlyZXR1cm4gQn1mb3IobGV0IEIgb2YgcS5xdWVyeVNlbGVjdG9yQWxsKCIqIikpaWYoQi5zaGFkb3dSb290KVkucHVzaChCLnNoYWRvd1Jvb3QpfXJldHVybiBudWxsfSxYPTAsSz0oKT0+e1grKztsZXQgWT1KKCk7aWYoWSYmWS5nZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIpIT09ImZhbHNlIil7WS5jbGljaygpO3JldHVybn1pZihYPDIwKXNldFRpbWVvdXQoSywxMDApfTtLKCl9ZnVuY3Rpb24gczQoJCl7bGV0IFE9W10sSj1uZXcgTWFwO2ZvcihsZXQgWCBvZiAkKXtsZXQgSz1YLmFwcE5hbWV8fFguYnVuZGxlSWR8fCJVbmtub3duIixZPVguYnVuZGxlSWR8fEsscT1KLmdldChZKTtpZighcSlxPXtrZXk6WSxhcHBOYW1lOkssYnVuZGxlSWQ6WC5idW5kbGVJZCx0YXJnZXRzOltdfSxKLnNldChZLHEpLFEucHVzaChZKTtxLnRhcmdldHMucHVzaChYKX1yZXR1cm4gUS5tYXAoKFgpPT5KLmdldChYKSl9ZnVuY3Rpb24gdDQoJCxRKXtsZXRbSixYXT1rKHt9KSxLPUQxKCgpPT5RLnNsaWNlKCkuc29ydCgpLmpvaW4oInwiKSxbUV0pO3JldHVybiB5KCgpPT57aWYoISQpcmV0dXJuO2xldCBZPSExO2ZvcihsZXQgcSBvZiBRKXtpZighcSljb250aW51ZTtsZXQgRz1gJHskfToke3F9YCxCPU0yLmdldChHKTtpZih0eXBlb2YgQj09PSJzdHJpbmcifHxCPT09bnVsbCl7WCgoTik9Pk5bcV09PT1CP046ey4uLk4sW3FdOkJ9KTtjb250aW51ZX16NChUMSwkLHEpLnRoZW4oKE4pPT57aWYoWSlyZXR1cm47WCgoeik9Pih7Li4ueixbcV06Tn0pKX0pfXJldHVybigpPT57WT0hMH19LFskLEtdKSxKfWZ1bmN0aW9uIGU0KHt1ZGlkOiQsdGFyZ2V0czpRLHNlbGVjdGVkOkosb25TZWxlY3RUYXJnZXQ6WCxvblJlZnJlc2g6S30pe2xldCBZPXM0KFEpLHE9WS5tYXAoKEwpPT5MLmJ1bmRsZUlkKS5maWx0ZXIoKEwpPT4hIUwpLEc9dDQoJCxxKSxbQixOXT1rKCExKSxbeixWXT1rKG51bGwpLFU9dyhudWxsKSxDPXcobnVsbCk7eSgoKT0+e2lmKCFCKXJldHVybjtsZXQgTD0oSCk9PntpZighQy5jdXJyZW50KXJldHVybjtpZighQy5jdXJyZW50LmNvbnRhaW5zKEgudGFyZ2V0KSlOKCExKX07cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsTCksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsTCl9LFtCXSkseSgoKT0+e2lmKEIpcmV0dXJuO2lmKFUuY3VycmVudClYNShVLmN1cnJlbnQsITEpLFUuY3VycmVudD1udWxsO1c4KCl9LFtCXSkseSgoKT0+e2xldCBMPSgpPT5XOCgpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLEwpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLEwpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixMKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixMKX19LFtdKTtsZXQgTT1KPyhKLnRpdGxlfHxKLnVybHx8Si5hcHBOYW1lfHwiVW50aXRsZWQiKS5zbGljZSgwLDkwKToiU2VsZWN0IHRhcmdldCI7cmV0dXJuIFooImRpdiIse3JlZjpDLGNsYXNzTmFtZToicmVsYXRpdmUgdy1mdWxsIG1pbi13LTAiLGNoaWxkcmVuOltaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9PntOKChMKT0+e2lmKCFMKUsoKTtyZXR1cm4hTH0pfSxjbGFzc05hbWU6InctZnVsbCBtaW4tdy0wIGgtWzI2cHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiBiZy1wYW5lbCB0ZXh0LXdoaXRlLzkwIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC1tZCB0ZXh0LVsxMnB4XSBweC0yIGN1cnNvci1wb2ludGVyIHRleHQtbGVmdCIsImFyaWEtaGFzcG9wdXAiOiJsaXN0Ym94IiwiYXJpYS1leHBhbmRlZCI6QiwiYXJpYS1sYWJlbCI6IldlYktpdCB0YXJnZXQiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCBtaW4tdy0wIixjaGlsZHJlbjpNfSksWihSMix7c2l6ZToxMixzdHJva2VXaWR0aDoyfSldfSksQiYmWigidWwiLHtyb2xlOiJsaXN0Ym94IixjbGFzc05hbWU6ImFic29sdXRlIHRvcC1bY2FsYygxMDAlKzRweCldIGxlZnQtMCBtLTAgcC0xIGxpc3Qtbm9uZSBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQtbGcgc2hhZG93LVswXzhweF8yNHB4X3JnYmEoMCwwLDAsMC41KV0gbWluLXctWzIyMHB4XSBtYXgtdy1bMzYwcHhdIG1heC1oLVszMjBweF0gb3ZlcmZsb3cteS1hdXRvIHotNTAiLGNoaWxkcmVuOlkubWFwKChMKT0+e2xldCBIPUwuYnVuZGxlSWQ/R1tMLmJ1bmRsZUlkXTpudWxsO3JldHVybiBaKCJsaSIse2NsYXNzTmFtZToibGlzdC1ub25lIG0tMCBwLTAiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTEuNSBwdC0xIHBiLTAuNSB0ZXh0LVsxMnB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvWzAuOTJdIixjaGlsZHJlbjpbSD9aKCJpbWciLHtzcmM6SCxhbHQ6IiIsY2xhc3NOYW1lOiJ3LTQgaC00IHJvdW5kZWQtWzNweF0gc2hyaW5rLTAgb2JqZWN0LWNvdmVyIn0pOlooInNwYW4iLHtjbGFzc05hbWU6InctNCBoLTQgcm91bmRlZC1bM3B4XSBzaHJpbmstMCBvYmplY3QtY292ZXIiLCJhcmlhLWhpZGRlbiI6InRydWUifSksWigic3BhbiIse2NsYXNzTmFtZToib3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOkwuYXBwTmFtZX0pXX0pLFooInVsIix7cm9sZToiZ3JvdXAiLGNsYXNzTmFtZToibGlzdC1ub25lIG0tMCBwLTAgcGwtWzI2cHhdIixjaGlsZHJlbjpMLnRhcmdldHMubWFwKChPKT0+e2xldCBXPUo/LmlkPT09Ty5pZCxUPSEhTy5pblVzZUJ5T3RoZXJJbnNwZWN0b3ImJiFXLFA9KE8udGl0bGV8fE8udXJsfHxPLmFwcE5hbWV8fCJVbnRpdGxlZCIpLnNsaWNlKDAsOTApLHg9ej09PU8uaWQmJiFULEQ9ImZsZXggZmxleC1jb2wgcHgtMiBweS1bM3B4XSByb3VuZGVkIHRleHQtWzEycHhdIGxlYWRpbmctWzEuMzVdIjtyZXR1cm4gWigibGkiLHtyb2xlOiJvcHRpb24iLCJhcmlhLXNlbGVjdGVkIjpXLCJhcmlhLWRpc2FibGVkIjpULHRhYkluZGV4OlQ/LTE6MCx0aXRsZTpUPyJBbHJlYWR5IGJlaW5nIGluc3BlY3RlZCBieSBhbm90aGVyIGRlYnVnZ2VyIjp2b2lkIDAsb25Nb3VzZUVudGVyOigpPT57aWYoVClyZXR1cm47aWYoVS5jdXJyZW50JiZVLmN1cnJlbnQhPT1PLmlkKVg1KFUuY3VycmVudCwhMSk7VS5jdXJyZW50PU8uaWQsVihPLmlkKSxYNShPLmlkLCEwKX0sb25Nb3VzZUxlYXZlOigpPT57aWYoVS5jdXJyZW50PT09Ty5pZClYNShPLmlkLCExKSxVLmN1cnJlbnQ9bnVsbDtWKChSKT0+Uj09PU8uaWQ/bnVsbDpSKX0sb25DbGljazooKT0+e2lmKFQpcmV0dXJuO1goTy5pZCksTighMSl9LGNsYXNzTmFtZTpgZmxleCBmbGV4LWNvbCBweC0yIHB5LVszcHhdIHJvdW5kZWQgdGV4dC1bMTJweF0gbGVhZGluZy1bMS4zNV0gJHtUPyJvcGFjaXR5LTQwIGN1cnNvci1ub3QtYWxsb3dlZCBpdGFsaWMgdGV4dC13aGl0ZS84NSI6eD8iYmctW3JnYmEoMTAsMTMyLDI1NSwwLjIyKV0gdGV4dC13aGl0ZS84NSBjdXJzb3ItcG9pbnRlciI6Vz8iYmctd2hpdGUvWzAuMDZdIHRleHQtd2hpdGUvODUgY3Vyc29yLXBvaW50ZXIiOiJ0ZXh0LXdoaXRlLzg1IGN1cnNvci1wb2ludGVyIn1gLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCIsY2hpbGRyZW46UH0pLE8udXJsJiZPLnVybCE9PSJhYm91dDpibGFuayImJlooInNwYW4iLHtjbGFzc05hbWU6ImJsb2NrIGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlL1swLjQyXSBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCIsY2hpbGRyZW46Ty51cmx9KV19LE8uaWQpfSl9KV19LEwua2V5KX0pfSldfSl9ZnVuY3Rpb24gJDcoe29wZW46JCxvbkNsb3NlOlEsdWRpZDpKLHRhcmdldHM6WCxzZWxlY3RlZFRhcmdldElkOkssb25TZWxlY3RUYXJnZXQ6WSxsb2FkaW5nOnEsZXJyb3I6RyxvblJlZnJlc2g6Qix3aWR0aDpOfSl7bGV0IHo9Sz9YLmZpbmQoKFYpPT5WLmlkPT09Syk/P251bGw6bnVsbDtyZXR1cm4gWihDMix7b3BlbjokLHdpZHRoOk4sY2hpbGRyZW46W1ooTzIse2NoaWxkcmVuOltYLmxlbmd0aD4wP1ooZTQse3VkaWQ6Six0YXJnZXRzOlgsc2VsZWN0ZWQ6eixvblNlbGVjdFRhcmdldDpZLG9uUmVmcmVzaDpCfSk6Wigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTJweF0gdGV4dC13aGl0ZS9bMC40OF0gb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOnE/Ikxvb2tpbmcgZm9yIFNhZmFyaSBhbmQgaW5zcGVjdGFibGUgd2Vidmlld3MuLi4iOiJObyBpbnNwZWN0YWJsZSBTYWZhcmkgb3IgV0tXZWJWaWV3IHRhcmdldHMifSksWih1NSx7b25DbGljazpRLGFyaWFMYWJlbDoiQ2xvc2UgV2ViS2l0IERldlRvb2xzIix0aXRsZToiQ2xvc2UiLGljb25TaXplOjE1fSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4LTEgbWluLWgtMCBiZy13aGl0ZSByZWxhdGl2ZSIsY2hpbGRyZW46Rz9aKCJkaXYiLHtjbGFzc05hbWU6ImgtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTYgYmctcGFuZWwtZGVlcCB0ZXh0LXdoaXRlL1swLjU4XSB0ZXh0LWNlbnRlciB0ZXh0LVsxM3B4XSIsY2hpbGRyZW46R30pOnomJiQ/WigiaWZyYW1lIix7c3JjOnouZGV2dG9vbHNGcm9udGVuZFVybCx0aXRsZTpgV2ViS2l0IERldlRvb2xzIC0gJHt6LnRpdGxlfHx6LnVybHx8ei5pZH1gLGNsYXNzTmFtZToidy1mdWxsIGgtZnVsbCBib3JkZXItbm9uZSBibG9jayBiZy13aGl0ZSIsb25Mb2FkOihWKT0+YTQoVi5jdXJyZW50VGFyZ2V0KX0sei5pZCk6WigiZGl2Iix7Y2xhc3NOYW1lOiJoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC02IGJnLXBhbmVsLWRlZXAgdGV4dC13aGl0ZS9bMC41OF0gdGV4dC1jZW50ZXIgdGV4dC1bMTNweF0iLGNoaWxkcmVuOno/IkRldlRvb2xzIHBhdXNlZCDigJQgb3BlbiB0aGUgcGFuZWwgdG8gcmVhdHRhY2guIjoiT3BlbiBTYWZhcmkgb3IgYW4gaW5zcGVjdGFibGUgV0tXZWJWaWV3IGluIHRoZSBzaW11bGF0b3IuIn0pfSldfSl9ZnVuY3Rpb24gZFooe2hvc3RQYXRoOiQsZXhlYzpRLHVkaWQ6SixvblVwbG9hZFN0YXJ0Olgsb25VcGxvYWRQcm9ncmVzczpLLG9uVXBsb2FkRW5kOlksb25Ib3N0UGF0aERyb3A6cX0pe3E/LigkKTtsZXQgRz0kLnNwbGl0KCIvIikucG9wKCk/PyJpbWFnZSIsQj1YKEcsIm1lZGlhIik7cmV0dXJuIEsoQixudWxsKSxNNCgkLFEsSikudGhlbigoKT0+WShCLCEwKSkuY2F0Y2goKE4pPT5ZKEIsITEsTiBpbnN0YW5jZW9mIEVycm9yP04ubWVzc2FnZToiQWRkIGZhaWxlZCIpKX1mdW5jdGlvbiBRNyh7ZXhlYzokLHVkaWQ6USxlbmFibGVkOkosb25VcGxvYWRTdGFydDpYLG9uVXBsb2FkUHJvZ3Jlc3M6SyxvblVwbG9hZEVuZDpZLG9uVW5zdXBwb3J0ZWQ6cSxvbkhvc3RQYXRoRHJvcDpHfSl7bGV0W0IsTl09ayghMSksej13KDApLFY9SShhc3luYyhMKT0+e2lmKEwucHJldmVudERlZmF1bHQoKSxMLnN0b3BQcm9wYWdhdGlvbigpLHouY3VycmVudD0wLE4oITEpLCFKfHwhUSlyZXR1cm47bGV0IEg9TC5kYXRhVHJhbnNmZXIuZ2V0RGF0YShzNSk7aWYoSCl7ZFooe2hvc3RQYXRoOkgsZXhlYzokLHVkaWQ6USxvblVwbG9hZFN0YXJ0Olgsb25VcGxvYWRQcm9ncmVzczpLLG9uVXBsb2FkRW5kOlksb25Ib3N0UGF0aERyb3A6R30pO3JldHVybn1sZXQgTz1BcnJheS5mcm9tKEwuZGF0YVRyYW5zZmVyLmZpbGVzKTtpZihPLmxlbmd0aD09PTApcmV0dXJuO2ZvcihsZXQgVyBvZiBPKXtsZXQgVD1BNChXKTtpZighVCl7cShXKTtjb250aW51ZX1sZXQgUD1YKFcubmFtZSxUKTtfNChXLFQsJCxRLCh4KT0+SyhQLHgpKS50aGVuKCgpPT5ZKFAsITApKS5jYXRjaCgoeCk9PlkoUCwhMSx4IGluc3RhbmNlb2YgRXJyb3I/eC5tZXNzYWdlOiJVcGxvYWQgZmFpbGVkIikpfX0sW0osUSwkLFgsSyxZLHEsR10pLFU9SSgoTCk9PntpZihMLnByZXZlbnREZWZhdWx0KCksSilMLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJjb3B5In0sW0pdKSxDPUkoKEwpPT57aWYoTC5wcmV2ZW50RGVmYXVsdCgpLCFKKXJldHVybjtpZih6LmN1cnJlbnQrKyx6LmN1cnJlbnQ9PT0xKU4oITApfSxbSl0pLE09SSgoTCk9PntpZihMLnByZXZlbnREZWZhdWx0KCksei5jdXJyZW50LS0sei5jdXJyZW50PD0wKXouY3VycmVudD0wLE4oITEpfSxbXSk7cmV0dXJue2lzRHJhZ092ZXI6Qixkcm9wWm9uZVByb3BzOntvbkRyYWdPdmVyOlUsb25EcmFnRW50ZXI6QyxvbkRyYWdMZWF2ZTpNLG9uRHJvcDpWfX19ZnVuY3Rpb24gSjcoJCl7bGV0IFE9bmV3IFVpbnQ4QXJyYXkoNjU1MzYpLEo9MCxYPTAsSz0xMDI0LFk9bmV3IFRleHREZWNvZGVyKCJsYXRpbjEiKSxxPShVKT0+e2lmKEorVS5sZW5ndGg+US5sZW5ndGgpe2lmKFg+MClRLmNvcHlXaXRoaW4oMCxYLEopLEotPVgsWD0wO2lmKEorVS5sZW5ndGg+US5sZW5ndGgpe2xldCBDPVEubGVuZ3RoO3doaWxlKEM8SitVLmxlbmd0aClDKj0yO2xldCBNPW5ldyBVaW50OEFycmF5KEMpO00uc2V0KFEuc3ViYXJyYXkoMCxKKSksUT1NfX1RLnNldChVLEopLEorPVUubGVuZ3RofSxHPShVKT0+e2xldCBDPU1hdGgubWluKEotNCxVK0spO2ZvcihsZXQgTT1VO008PUM7TSsrKWlmKFFbTV09PT0xMyYmUVtNKzFdPT09MTAmJlFbTSsyXT09PTEzJiZRW00rM109PT0xMClyZXR1cm4gTTtyZXR1cm4tMX0sQj0oVSxDKT0+e2xldCBNPVkuZGVjb2RlKFEuc3ViYXJyYXkoVSxDKSksTD0vY29udGVudC1sZW5ndGg6XHMqKFxkKykvaS5leGVjKE0pO3JldHVybiBMP051bWJlcihMWzFdKTpudWxsfSxOPTAsej0oVSk9PntsZXQgQz0tMTtmb3IobGV0IE09VTtNPEotMTtNKyspaWYoUVtNXT09PTI1NSYmUVtNKzFdPT09MjE2KXtDPU07YnJlYWt9aWYoQz09PS0xKXJldHVybiBudWxsO2ZvcihsZXQgTT1NYXRoLm1heChDKzIsTik7TTxKLTE7TSsrKWlmKFFbTV09PT0yNTUmJlFbTSsxXT09PTIxNylyZXR1cm4gTj0wLHtzOkMsZTpNKzJ9O3JldHVybiBOPU1hdGgubWF4KEMrMixKLTEpLG51bGx9LFY9KCk9Pnt3aGlsZShYPEope2xldCBVPUcoWCk7aWYoVT49MCl7bGV0IE09QihYLFUpO2lmKE0hPW51bGwmJk0+MCl7bGV0IEw9VSs0LEg9TCtNO2lmKEo8SClicmVhazskKFEuc3ViYXJyYXkoTCxIKSksWD1IO2NvbnRpbnVlfX1lbHNlIGlmKEotWDw9SylicmVhaztsZXQgQz16KFgpO2lmKCFDKWJyZWFrOyQoUS5zdWJhcnJheShDLnMsQy5lKSksWD1DLmV9aWYoWD4wKXtpZihYPEopUS5jb3B5V2l0aGluKDAsWCxKKTtKLT1YLE49Tj5YP04tWDowLFg9MH19O3JldHVybntwdXNoKFUpe2lmKFUubGVuZ3RoPT09MClyZXR1cm47cShVKSxWKCl9fX1mdW5jdGlvbiBaNygkKXtsZXQgUT13KG5ldyBTZXQpLEo9SSgoWCk9PntyZXR1cm4gUS5jdXJyZW50LmFkZChYKSwoKT0+e1EuY3VycmVudC5kZWxldGUoWCl9fSxbXSk7cmV0dXJuIHkoKCk9PntpZighJClyZXR1cm47bGV0IFg9bmV3IEFib3J0Q29udHJvbGxlcixLPSExLFk9bnVsbCxxPW5ldyBVUkwoJCk7cS5zZWFyY2hQYXJhbXMuc2V0KCJyYXciLCIxIik7bGV0IEc9cS50b1N0cmluZygpLEI9KCk9PntpZihLfHxYLnNpZ25hbC5hYm9ydGVkfHxZKXJldHVybjtZPXNldFRpbWVvdXQoKCk9PntZPW51bGwseigpfSwxMDAwKX0sTj0oVik9PntpZihRLmN1cnJlbnQuc2l6ZT09PTApcmV0dXJuO2xldCBVPVVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW1ZdLHt0eXBlOiJpbWFnZS9qcGVnIn0pKTtmb3IobGV0IEMgb2YgUS5jdXJyZW50KUMoVSl9LHo9YXN5bmMoKT0+e3RyeXtsZXQgVT0oYXdhaXQgZmV0Y2goRyx7c2lnbmFsOlguc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCFVKXtCKCk7cmV0dXJufWxldCBDPUo3KE4pO3doaWxlKCEwKXtsZXR7ZG9uZTpNLHZhbHVlOkx9PWF3YWl0IFUucmVhZCgpO2lmKE0pYnJlYWs7aWYoTCYmTC5sZW5ndGgpQy5wdXNoKEwpfX1jYXRjaHt9ZmluYWxseXtCKCl9fTtyZXR1cm4geigpLCgpPT57aWYoSz0hMCxZKWNsZWFyVGltZW91dChZKTtYLmFib3J0KCl9fSxbJF0pLHtzdWJzY3JpYmVGcmFtZTpKLGZyYW1lOm51bGx9fWZ1bmN0aW9uIFg3KCl7bGV0WyRdPWsobjApO3JldHVybntzdXBwb3J0ZWQ6JH19ZnVuY3Rpb24gWDMoJCxRKXtyZXR1cm4gJD09PSJmaXJzdC1mcmFtZS10aW1lb3V0IiYmUT09PSJjb25uZWN0ZWQiPyJjb2RlYyI6InRyYW5zcG9ydCJ9dmFyIEs3PSJhbGwiO2NsYXNzIEs1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigiV2ViUlRDIHNpZ25hbGluZyBzdGF5ZWQgYnVzeSBmb3IgdG9vIGxvbmcuIFJlbG9hZCB0byB0cnkgYWdhaW4uIik7dGhpcy5uYW1lPSJXZWJSdGNTaWduYWxpbmdCdXN5RXJyb3IifX1jbGFzcyBZMyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIldlYlJUQyBzaWduYWxpbmcgdGltZWQgb3V0LiIpO3RoaXMubmFtZT0iV2ViUnRjU2lnbmFsaW5nVGltZW91dEVycm9yIn19ZnVuY3Rpb24gSzMoJCl7cmV0dXJuICQucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJUaGUgb3BlcmF0aW9uIHdhcyBhYm9ydGVkIiwiQWJvcnRFcnJvciIpfWZ1bmN0aW9uIGNaKCQsUSl7aWYoUT8uYWJvcnRlZClyZXR1cm4gUHJvbWlzZS5yZWplY3QoSzMoUSkpO3JldHVybiBuZXcgUHJvbWlzZSgoSixYKT0+e2xldCBLPXNldFRpbWVvdXQoWSwkKTtmdW5jdGlvbiBZKCl7UT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHEpLEooKX1mdW5jdGlvbiBxKCl7Y2xlYXJUaW1lb3V0KEspLFgoUT9LMyhRKTpuZXcgRE9NRXhjZXB0aW9uKCJUaGUgb3BlcmF0aW9uIHdhcyBhYm9ydGVkIiwiQWJvcnRFcnJvciIpKX1RPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIscSx7b25jZTohMH0pfSl9YXN5bmMgZnVuY3Rpb24gWTcoe3VybDokLHNlc3Npb25JZDpRLGtlZXBhbGl2ZTpKPSExLHNlbmRCZWFjb246WCxmZXRjaEltcGw6Sz1mZXRjaH0pe2xldCBZPUpTT04uc3RyaW5naWZ5KHtzZXNzaW9uSWQ6UX0pLHE9WD8/KHR5cGVvZiBuYXZpZ2F0b3I8InUiJiZ0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT0iZnVuY3Rpb24iP25hdmlnYXRvci5zZW5kQmVhY29uLmJpbmQobmF2aWdhdG9yKTp2b2lkIDApO2lmKEomJnEpdHJ5e2lmKHEoJCxuZXcgQmxvYihbWV0se3R5cGU6InRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCJ9KSkpcmV0dXJufWNhdGNoe31hd2FpdCBLKCQse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5Olksa2VlcGFsaXZlOkp9KS50aGVuKCgpPT57cmV0dXJufSwoKT0+e3JldHVybn0pfWFzeW5jIGZ1bmN0aW9uIHE3KHt1cmw6JCxib2R5OlEsc2lnbmFsOkoscmVxdWVzdFRpbWVvdXRNczpYLGJ1c3lSZXRyeUludGVydmFsTXM6SyxidXN5UmV0cnlDb3VudDpZLGZldGNoSW1wbDpxPWZldGNofSl7Zm9yKGxldCBHPTA7Rzw9WTtHKyspe2lmKEo/LmFib3J0ZWQpdGhyb3cgSzMoSik7bGV0IEI9bmV3IEFib3J0Q29udHJvbGxlcixOPSExLHo9KCk9PkIuYWJvcnQoSj9LMyhKKTp2b2lkIDApO0o/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0Iix6LHtvbmNlOiEwfSk7bGV0IFY9c2V0VGltZW91dCgoKT0+e049ITAsQi5hYm9ydCgpfSxYKSxVO3RyeXtVPWF3YWl0IHEoJCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LHNpZ25hbDpCLnNpZ25hbCxib2R5OlF9KX1jYXRjaChDKXtpZihOJiYhSj8uYWJvcnRlZCl0aHJvdyBuZXcgWTM7dGhyb3cgQ31maW5hbGx5e2NsZWFyVGltZW91dChWKSxKPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIseil9aWYoVS5zdGF0dXMhPT00MDkpcmV0dXJuIFU7aWYoYXdhaXQgVS5ib2R5Py5jYW5jZWwoKSxHPT09WSl0aHJvdyBuZXcgSzU7YXdhaXQgY1ooSyxKKX10aHJvdyBuZXcgSzV9dmFyIG9aPVt7dXJsczpbInN0dW46c3R1bi5sLmdvb2dsZS5jb206MTkzMDIiXX0se3VybHM6WyJzdHVuOnN0dW4xLmwuZ29vZ2xlLmNvbToxOTMwMiJdfV0saVo9MzAwMCxuWj0yMDAwMCxyWj00MDAwLGFaPTUwMCxzWj0zMCx0Wj01MDAsZVo9NTAwMDtmdW5jdGlvbiBHNygpe2lmKHR5cGVvZiBjcnlwdG8ucmFuZG9tVVVJRD09PSJmdW5jdGlvbiIpcmV0dXJuIGNyeXB0by5yYW5kb21VVUlEKCk7bGV0ICQ9Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgxNikpOyRbNl09JFs2XSYxNXw2NCwkWzhdPSRbOF0mNjN8MTI4O2xldCBRPUFycmF5LmZyb20oJCwoSik9PkoudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSkuam9pbigiIik7cmV0dXJuYCR7US5zbGljZSgwLDgpfS0ke1Euc2xpY2UoOCwxMil9LSR7US5zbGljZSgxMiwxNil9LSR7US5zbGljZSgxNiwyMCl9LSR7US5zbGljZSgyMCl9YH1mdW5jdGlvbiBWNyh7b2ZmZXJVcmw6JCxjbG9zZVVybDpRLGVuYWJsZWQ6Sixjb2RlYzpYPSJoMjY0IixpY2VTZXJ2ZXJzOkt9KXtsZXRbWSxxXT1rKG51bGwpLFtHLEJdPWsobnVsbCksW04sel09ayhudWxsKSxbVixVXT1rKDApLFtDLE1dPWsobnVsbCksW0wsSF09ayhudWxsKSxPPXcodm9pZCAwKSxXPXcoITEpLFQ9dygwKSxQPUkoKCk9PntpZihXLmN1cnJlbnQ9ITAsVC5jdXJyZW50PTAsTy5jdXJyZW50IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoTy5jdXJyZW50KSxPLmN1cnJlbnQ9dm9pZCAwO0IobnVsbCkseihudWxsKX0sW10pO3JldHVybiB5KCgpPT57VC5jdXJyZW50PTB9LFtKLCQsUSxYLEtdKSx5KCgpPT57aWYoIUp8fCEkKXJldHVybjtpZihCKG51bGwpLHR5cGVvZiBSVENQZWVyQ29ubmVjdGlvbj4idSJ8fHR5cGVvZiBSVENSdHBSZWNlaXZlcj4idSIpe3EobnVsbCksSChudWxsKSx6KCJXZWJSVEMgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIiksQih7c2Vzc2lvbklkOkc3KCksa2luZDoicGVybWFuZW50In0pO3JldHVybn1sZXQgeD0hMSxEPW51bGwsZSxSPW51bGwsZD0hMSxuPW5ldyBBYm9ydENvbnRyb2xsZXIsbz1HNygpLGE9Sz8ubGVuZ3RoP0s6b1o7aWYoSChvKSxxKG51bGwpLEIobnVsbCkseihudWxsKSxXLmN1cnJlbnQ9ITEsTy5jdXJyZW50IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoTy5jdXJyZW50KSxPLmN1cnJlbnQ9dm9pZCAwO2xldCBpPShzPSExKT0+e2lmKFIpcmV0dXJuIFI7cmV0dXJuIFI9WTcoe3VybDpRLHNlc3Npb25JZDpvLGtlZXBhbGl2ZTpzfSksUn0sTDE9KCk9PnZvaWQgaSghMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixMMSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsTDEpO2xldCBsPSgpPT57cShudWxsKSxEPy5jbG9zZSgpLE0obnVsbCl9LGY9KHMpPT57aWYoeHx8ZClyZXR1cm47ZD0hMCx6KHMpLEIoe3Nlc3Npb25JZDpvLGtpbmQ6InBlcm1hbmVudCJ9KSxsKCksaSgpfSxYMT0oKT0+e2lmKHh8fGQpcmV0dXJuO2Q9ITAsbCgpLGkoKS5maW5hbGx5KCgpPT57aWYoIXgpQih7c2Vzc2lvbklkOm8sa2luZDoiY29kZWMiLGNvZGVjOlh9KX0pfSxaMT0ocyk9PntpZih4fHxkKXJldHVybjtkPSEwLEIobnVsbCk7bGV0IEoxPVQuY3VycmVudCsrLHExPU1hdGgubWluKHRaKjIqKk1hdGgubWluKEoxLDQpLGVaKTt6KGAke3N9IFJldHJ5aW5nLi4uYCksbCgpLGkoKS5maW5hbGx5KCgpPT57aWYoeClyZXR1cm47ZT13aW5kb3cuc2V0VGltZW91dCgoKT0+e2lmKCF4KVUoKGopPT5qKzEpfSxxMSl9KX0sVTE9KHMpPT5uZXcgUHJvbWlzZSgoSjEpPT57aWYocy5pY2VHYXRoZXJpbmdTdGF0ZT09PSJjb21wbGV0ZSIpe0oxKCk7cmV0dXJufWxldCBxMSxqPSExLHA9KCk9PntpZihqKXJldHVybjtpZihqPSEwLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaWNlZ2F0aGVyaW5nc3RhdGVjaGFuZ2UiLF8pLHExIT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQocTEpO0oxKCl9LF89KCk9PntpZihzLmljZUdhdGhlcmluZ1N0YXRlPT09ImNvbXBsZXRlIilwKCl9O3MuYWRkRXZlbnRMaXN0ZW5lcigiaWNlZ2F0aGVyaW5nc3RhdGVjaGFuZ2UiLF8pLHExPXdpbmRvdy5zZXRUaW1lb3V0KHAsaVopfSk7cmV0dXJuKGFzeW5jKCk9Pnt0cnl7RD1uZXcgUlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6YSxpY2VUcmFuc3BvcnRQb2xpY3k6Szd9KSxNKEQpO2xldCBzPUQuYWRkVHJhbnNjZWl2ZXIoInZpZGVvIix7ZGlyZWN0aW9uOiJyZWN2b25seSJ9KSxKMT1SVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoInZpZGVvIikscTE9WD09PSJoMjY0Ij8idmlkZW8vSDI2NCI6WD09PSJ2cDkiPyJ2aWRlby9WUDkiOiJ2aWRlby9WUDgiO2lmKEoxPy5jb2RlY3MubGVuZ3RoJiYic2V0Q29kZWNQcmVmZXJlbmNlcyJpbiBzKXtsZXQgbT1xMS50b0xvd2VyQ2FzZSgpO3Muc2V0Q29kZWNQcmVmZXJlbmNlcyhbLi4uSjEuY29kZWNzLmZpbHRlcigodik9PnYubWltZVR5cGUudG9Mb3dlckNhc2UoKT09PW0pLC4uLkoxLmNvZGVjcy5maWx0ZXIoKHYpPT52Lm1pbWVUeXBlLnRvTG93ZXJDYXNlKCkhPT1tKV0pfUQub250cmFjaz0obSk9PntpZih4KXJldHVybjtpZihXLmN1cnJlbnQ9ITEsbS50cmFjay5vbmVuZGVkPSgpPT5aMSgiV2ViUlRDIHZpZGVvIHRyYWNrIGVuZGVkLiIpLHEobS5zdHJlYW1zWzBdPz9uZXcgTWVkaWFTdHJlYW0oW20udHJhY2tdKSksTy5jdXJyZW50IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoTy5jdXJyZW50KTtPLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoKCk9PntpZihPLmN1cnJlbnQ9dm9pZCAwLHh8fFcuY3VycmVudClyZXR1cm47bGV0IHY9RD8uY29ubmVjdGlvblN0YXRlPz8iY2xvc2VkIjtpZihYMygiZmlyc3QtZnJhbWUtdGltZW91dCIsdik9PT0iY29kZWMiKVgxKCk7ZWxzZSBaMSgiV2ViUlRDIGRpZCBub3QgZXN0YWJsaXNoIGEgdmlkZW8gcGF0aC4iKX0sclopfSxELm9uY29ubmVjdGlvbnN0YXRlY2hhbmdlPSgpPT57aWYoeHx8IUR8fEQuY29ubmVjdGlvblN0YXRlIT09ImZhaWxlZCIpcmV0dXJuO2lmKFgzKCJjb25uZWN0aW9uLWZhaWxlZCIsRC5jb25uZWN0aW9uU3RhdGUpPT09InRyYW5zcG9ydCIpWjEoIldlYlJUQyBjb25uZWN0aW9uIGZhaWxlZC4iKX07bGV0IGo9YXdhaXQgRC5jcmVhdGVPZmZlcigpO2F3YWl0IEQuc2V0TG9jYWxEZXNjcmlwdGlvbihqKSxhd2FpdCBVMShEKTtsZXQgcD1ELmxvY2FsRGVzY3JpcHRpb247aWYoIXApdGhyb3cgRXJyb3IoIldlYlJUQyBvZmZlciB3YXMgbm90IGNyZWF0ZWQiKTtsZXQgXz1hd2FpdCBxNyh7dXJsOiQsc2lnbmFsOm4uc2lnbmFsLHJlcXVlc3RUaW1lb3V0TXM6blosYnVzeVJldHJ5SW50ZXJ2YWxNczphWixidXN5UmV0cnlDb3VudDpzWixib2R5OkpTT04uc3RyaW5naWZ5KHt0eXBlOnAudHlwZSxzZHA6cC5zZHAsc2Vzc2lvbklkOm8sY29kZWM6WCxpY2VTZXJ2ZXJzOmF9KX0pO2lmKCFfLm9rKXthd2FpdCBfLmJvZHk/LmNhbmNlbCgpLGYoYFdlYlJUQyBvZmZlciBmYWlsZWQ6IEhUVFAgJHtfLnN0YXR1c31gKTtyZXR1cm59bGV0IGg9YXdhaXQgXy5qc29uKCk7aWYoeCl7YXdhaXQgaSghMCk7cmV0dXJufXRyeXthd2FpdCBELnNldFJlbW90ZURlc2NyaXB0aW9uKGgpfWNhdGNoe2YoIldlYlJUQyByZXR1cm5lZCBhbiBpbnZhbGlkIHNlc3Npb24gZGVzY3JpcHRpb24uIil9fWNhdGNoKHMpe2lmKHh8fG4uc2lnbmFsLmFib3J0ZWQpcmV0dXJuO2lmKHMgaW5zdGFuY2VvZiBLNSl7ZihzLm1lc3NhZ2UpO3JldHVybn1sZXQgSjE9cyBpbnN0YW5jZW9mIFkzPyJXZWJSVEMgc2lnbmFsaW5nIHRpbWVkIG91dC4iOiJXZWJSVEMgc2lnbmFsaW5nIGZhaWxlZC4iO2lmKFgzKCJzaWduYWxpbmctZmFpbGVkIixEPy5jb25uZWN0aW9uU3RhdGU/PyJjbG9zZWQiKT09PSJ0cmFuc3BvcnQiKVoxKEoxKX19KSgpLCgpPT57aWYoeD0hMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLEwxKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixMMSksbi5hYm9ydCgpLGUhPT12b2lkIDApd2luZG93LmNsZWFyVGltZW91dChlKTtpZihPLmN1cnJlbnQhPT12b2lkIDApd2luZG93LmNsZWFyVGltZW91dChPLmN1cnJlbnQpLE8uY3VycmVudD12b2lkIDA7aSghMCkscShudWxsKSxNKG51bGwpLEgobnVsbCksRD8uY2xvc2UoKX19LFtKLCQsUSxYLEssVl0pLHtzdHJlYW06WSxmYWlsdXJlOkcsZXJyb3I6TixtYXJrRnJhbWVEZWNvZGVkOlAscGVlckNvbm5lY3Rpb246QyxzZXNzaW9uSWQ6TH19ZnVuY3Rpb24gcTMoJCxRLEosWCxLPSJsZWZ0Iil7bGV0IFk9SSgoVSxDKT0+Sz09PSJsZWZ0Ij9VLUM6Qy1VLFtLXSkscT1JKChVKT0+TWF0aC5tYXgoSixNYXRoLm1pbihYLFUpKSxbSixYXSksW0csQl09aygoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiBRO2xldCBVPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgkKSxDPVUhPW51bGw/TnVtYmVyKFUpOk5hTjtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKEMpP3EoQyk6UX0pLE49dHlwZW9mIHdpbmRvdzwidSI/TWF0aC5taW4oWCx3aW5kb3cuaW5uZXJXaWR0aC0zMik6WCx6PU1hdGgubWF4KEosTWF0aC5taW4oTixHKSksVj1JKChVKT0+e1UucHJldmVudERlZmF1bHQoKTtsZXQgQz1VLmNsaWVudFgsTT16LEw9VS5jdXJyZW50VGFyZ2V0O0wuc2V0UG9pbnRlckNhcHR1cmUoVS5wb2ludGVySWQpO2xldCBIPShXKT0+e2xldCBUPXEoTStZKEMsVy5jbGllbnRYKSk7QihUKX0sTz0oVyk9PntMLnJlbGVhc2VQb2ludGVyQ2FwdHVyZShXLnBvaW50ZXJJZCksTC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsSCksTC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLE8pLEwucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsTyk7dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgkLFN0cmluZyhxKE0rWShDLFcuY2xpZW50WCkpKSl9Y2F0Y2h7fX07TC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsSCksTC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLE8pLEwuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsTyl9LFtxLFkseiwkXSk7cmV0dXJue3dpZHRoOnosb25Qb2ludGVyRG93bjpWfX12YXIgJFg9ODAwMDtmdW5jdGlvbiBRWCgkKXtyZXR1cm4iZmlsZTovLyIrJC5zcGxpdCgiLyIpLm1hcChlbmNvZGVVUklDb21wb25lbnQpLmpvaW4oIi8iKX1mdW5jdGlvbiBKWCgkKXtyZXR1cm4gJCE9PSJub25lIn1mdW5jdGlvbiBCNyh7dG9hc3Q6JCxvblJldmVhbDpRLG9uRGlzbWlzczpKLG9uUGF1c2U6WCxvblJlc3VtZTpLfSl7bGV0IFk9Qm9vbGVhbigkLmRvd25sb2FkVXJsJiYkLmRvd25sb2FkTmFtZSkscT1Cb29sZWFuKCQucGF0aCksW0csQl09ayghMSksTj13KG51bGwpLHo9dyhudWxsKSxWPSgpPT57aWYoei5jdXJyZW50KWNsZWFyVGltZW91dCh6LmN1cnJlbnQpO3ouY3VycmVudD1udWxsfTt5KCgpPT4oKT0+VigpLFtdKTtsZXQgVT0oTSk9PntpZighJC5wYXRoKXtNLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufVYoKSxYKCksei5jdXJyZW50PXNldFRpbWVvdXQoKCk9Pnt6LmN1cnJlbnQ9bnVsbCxCKCExKSxLKCl9LCRYKSxNLmRhdGFUcmFuc2Zlci5zZXREYXRhKCJ0ZXh0L3BsYWluIixRWCgkLnBhdGgpKSxNLmRhdGFUcmFuc2Zlci5zZXREYXRhKHM1LCQucGF0aCksTS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0iY29weSI7bGV0IEw9Ti5jdXJyZW50O2lmKEwpTS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKEwsTC5vZmZzZXRXaWR0aC8yLEwub2Zmc2V0SGVpZ2h0LzIpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+QighMCkpfSxDPShNKT0+e2lmKFYoKSxCKCExKSxKWChNLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0KSlKKCk7ZWxzZSBLKCl9O3JldHVybiBaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJzY3JlZW5zaG90LXRvYXN0IixjbGFzc05hbWU6InctW21pbigzMjBweCxjYWxjKDEwMHZ3LTMycHgpKV0iLG9uTW91c2VFbnRlcjpYLG9uTW91c2VMZWF2ZTpLLGNoaWxkcmVuOlskLnRodW1iJiZaKCJpbWciLHtyZWY6TiwiZGF0YS10ZXN0aWQiOiJkcmFnLWltYWdlIixzcmM6JC50aHVtYixhbHQ6IiIsImFyaWEtaGlkZGVuIjohMCxkcmFnZ2FibGU6ITEsc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOi05OTk5LGxlZnQ6MCx3aWR0aDo4MCxoZWlnaHQ6ODAsYm9yZGVyUmFkaXVzOjEyLG9iamVjdEZpdDoiY292ZXIiLHBvaW50ZXJFdmVudHM6Im5vbmUifX0pLCQuc3RhdHVzPT09ImVycm9yIj9aKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTMuNSBweS0yLjUgYmctcGFuZWwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLXhsIHRleHQtd2hpdGUvOTAgdGV4dC1bMTJweF0gc2hhZG93LVswXzhweF8yNHB4X3JnYmEoMCwwLDAsMC40NSldIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToic2l6ZS0xLjUgcm91bmRlZC1mdWxsIHNocmluay0wIGJnLVsjZjg3MTcxXSJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJzZWxlY3QtdGV4dCIsY2hpbGRyZW46JC5tZXNzYWdlPz8iU2NyZWVuc2hvdCBmYWlsZWQifSldfSk6WigiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOlEsZGlzYWJsZWQ6JC5zdGF0dXMhPT0ic2F2ZWQiLGRyYWdnYWJsZTokLnN0YXR1cz09PSJzYXZlZCImJnEsb25EcmFnU3RhcnQ6VSxvbkRyYWdFbmQ6QywiYXJpYS1sYWJlbCI6WT8iRG93bmxvYWQgc2NyZWVuc2hvdCBhZ2FpbiI6Ik9wZW4gc2NyZWVuc2hvdCBpbiBGaW5kZXIiLHRpdGxlOlk/IkRvd25sb2FkIHNjcmVlbnNob3QgYWdhaW4iOiJDbGljayB0byByZXZlYWwgaW4gRmluZGVyIMK3IGRyYWcgdG8gY29weSB0aGUgZmlsZSIsY2xhc3NOYW1lOmBncm91cCBmbGV4IHctZnVsbCBpdGVtcy1jZW50ZXIgZ2FwLTMgcGwtMiBwci0zLjUgcHktMiBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQteGwgc2hhZG93LVswXzhweF8yNHB4X3JnYmEoMCwwLDAsMC40NSldIHRleHQtbGVmdCBjdXJzb3ItcG9pbnRlciBlbmFibGVkOmhvdmVyOmJnLVsjMmEyYTJjXSBkaXNhYmxlZDpjdXJzb3ItZGVmYXVsdCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzX2Vhc2VdICR7Rz8iaW52aXNpYmxlIjoiIn1gLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InNpemUtOSByb3VuZGVkLW1kIG92ZXJmbG93LWhpZGRlbiBiZy13aGl0ZS8xMCBzaHJpbmstMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByaW5nLTEgcmluZy13aGl0ZS8xMCBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjokLnRodW1iP1ooImltZyIse3NyYzokLnRodW1iLGFsdDoiIixjbGFzc05hbWU6InNpemUtZnVsbCBvYmplY3QtY292ZXIiLGRyYWdnYWJsZTohMX0pOlooInNwYW4iLHtjbGFzc05hbWU6ImJsb2NrIHNpemUtNCByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXdoaXRlLzMwIGJvcmRlci10LXdoaXRlIGFuaW1hdGUtW2dyaWQtc3Bpbl8wLjhzX2xpbmVhcl9pbmZpbml0ZV0ifSl9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgbGVhZGluZy10aWdodCBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTNweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIixjaGlsZHJlbjokLnN0YXR1cz09PSJzYXZpbmciPyJTYXZpbmcgU2NyZWVuc2hvdOKApiI6IlNjcmVlbnNob3QgU2F2ZWQifSksJC5zdGF0dXM9PT0ic2F2ZWQiJiZaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzYwIixjaGlsZHJlbjpZPyJEb3dubG9hZCBhZ2FpbiI6Ik9wZW4gaW4gRmluZGVyIn0pXX0pLCQuc3RhdHVzPT09InNhdmVkIiYmWihoMix7Y2xhc3NOYW1lOiJtbC1hdXRvIHRleHQtd2hpdGUvODAgcG9pbnRlci1ldmVudHMtbm9uZSIsc2l6ZToxNixzdHJva2VXaWR0aDoyLjI1fSldfSldfSl9dmFyIF84PTM1MDAsTjc9NDAwMCxaWD0xZTQ7ZnVuY3Rpb24gWFgoKXtyZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1s6Ll0vZywiLSIpLnNsaWNlKDAsMjMpfWZ1bmN0aW9uIHo3KCQpe2xldCBRPXcobnVsbCksSj13KG51bGwpLFg9dyhudWxsKSxLPXcobnVsbCksWT13KG51bGwpLHE9dyghMSksRz1JKCgpPT57aWYoWC5jdXJyZW50KWNsZWFyVGltZW91dChYLmN1cnJlbnQpO1guY3VycmVudD1udWxsLEsuY3VycmVudD1udWxsfSxbXSksQj1JKChMKT0+e2xldCBIPUw/P0ouY3VycmVudD8/dm9pZCAwO2lmKEcoKSxZLmN1cnJlbnQ9bnVsbCx0Mi5kaXNtaXNzKEgpLEg9PT12b2lkIDB8fEouY3VycmVudD09PVN0cmluZyhIKSl7bGV0IE89US5jdXJyZW50Py5kb3dubG9hZFVybDtpZihPKVVSTC5yZXZva2VPYmplY3RVUkwoTyk7US5jdXJyZW50PW51bGwsSi5jdXJyZW50PW51bGx9fSxbR10pLE49SSgoKT0+e2xldCBMPVEuY3VycmVudDtpZihMPy5wYXRoKVQxKGBvcGVuIC1SICR7TzEoTC5wYXRoKX1gKTtlbHNlIGlmKEw/LmRvd25sb2FkVXJsJiZMLmRvd25sb2FkTmFtZSlKNShMLmRvd25sb2FkVXJsLEwuZG93bmxvYWROYW1lKX0sW10pLHo9SSgoTCk9PntHKCk7bGV0IEg9TWF0aC5tYXgoMCxMKSxPPUouY3VycmVudDtZLmN1cnJlbnQ9SCxLLmN1cnJlbnQ9RGF0ZS5ub3coKStILFguY3VycmVudD1zZXRUaW1lb3V0KCgpPT5CKE8/P3ZvaWQgMCksSCl9LFtHLEJdKSxWPUkoKCk9PntpZighWC5jdXJyZW50fHxLLmN1cnJlbnQ9PW51bGwpcmV0dXJuO1kuY3VycmVudD1NYXRoLm1heCgwLEsuY3VycmVudC1EYXRlLm5vdygpKSxHKCl9LFtHXSksVT1JKCgpPT57bGV0IEw9WS5jdXJyZW50O2lmKEw9PW51bGwpcmV0dXJuO3ooTCl9LFt6XSksQz1JKChMLEg9MS8wKT0+e2lmKFEuY3VycmVudD1MLEouY3VycmVudD1MLmlkLHQyLmN1c3RvbSgoTyk9PlooQjcse3RvYXN0Okwsb25SZXZlYWw6TixvbkRpc21pc3M6KCk9PkIoTyksb25QYXVzZTpWLG9uUmVzdW1lOlV9KSx7aWQ6TC5pZCxkdXJhdGlvbjoxLzB9KSxOdW1iZXIuaXNGaW5pdGUoSCkpeihIKTtlbHNlIEcoKSxZLmN1cnJlbnQ9bnVsbH0sW0csQixWLFUsTix6XSk7cmV0dXJue2NhcHR1cmU6SShhc3luYygpPT57aWYoISR8fHEuY3VycmVudClyZXR1cm47cS5jdXJyZW50PSEwO2xldCBMPWNyeXB0by5yYW5kb21VVUlEKCk7Qyh7aWQ6TCxzdGF0dXM6InNhdmluZyIscGhhc2U6ImluIn0pO2xldCBIPWBzZXJ2ZS1zaW0tc2NyZWVuc2hvdC0ke1hYKCl9LnBuZ2AsTz1uZXcgQWJvcnRDb250cm9sbGVyLFc9c2V0VGltZW91dCgoKT0+e08uYWJvcnQoRXJyb3IoIlNjcmVlbnNob3QgdGltZWQgb3V0IikpfSxaWCk7dHJ5e2lmKCFRMyh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpKXtsZXQgUj1hd2FpdCBtNCgkLHtzaWduYWw6Ty5zaWduYWx9KSxkPVVSTC5jcmVhdGVPYmplY3RVUkwoUik7SjUoZCxIKSxDKHtpZDpMLHN0YXR1czoic2F2ZWQiLHBoYXNlOiJpbiIsZG93bmxvYWRVcmw6ZCxkb3dubG9hZE5hbWU6SCx0aHVtYjpkfSxfOCk7cmV0dXJufWxldCBQPWBGPSIke2AkSE9NRS9EZXNrdG9wLyR7SH1gfSI7IHhjcnVuIHNpbWN0bCBpbyAke08xKCQpfSBzY3JlZW5zaG90ICIkRiIgJiYgcHJpbnRmICclcycgIiRGImAseD1hd2FpdCBUMShQLHtzaWduYWw6Ty5zaWduYWx9KSxEPXguc3Rkb3V0LnRyaW0oKTtpZih4LmV4aXRDb2RlIT09MHx8IUQpe0Moe2lkOkwsc3RhdHVzOiJlcnJvciIscGhhc2U6ImluIixtZXNzYWdlOnguc3RkZXJyLnRyaW0oKXx8IlNjcmVlbnNob3QgZmFpbGVkIn0sTjcpO3JldHVybn1DKHtpZDpMLHN0YXR1czoic2F2ZWQiLHBoYXNlOiJpbiIscGF0aDpEfSxfOCk7bGV0IGU9YC90bXAvc2VydmUtc2ltLXNjcmVlbnNob3QtdGh1bWItJHtMfS5wbmdgO3RyeXtsZXQgZD0oYXdhaXQgVDEoYHNpcHMgLVogMzIwICR7TzEoRCl9IC0tb3V0ICR7TzEoZSl9ID4vZGV2L251bGwgMj4mMSAmJiBiYXNlNjQgLWkgJHtPMShlKX07IHJtIC1mICR7TzEoZSl9YCx7c2lnbmFsOk8uc2lnbmFsfSkpLnN0ZG91dC5yZXBsYWNlKC9ccysvZywiIik7aWYoZCl7bGV0IG49US5jdXJyZW50O2lmKG4/LmlkPT09TClDKHsuLi5uLHRodW1iOmBkYXRhOmltYWdlL3BuZztiYXNlNjQsJHtkfWB9LF84KX19Y2F0Y2h7fX1jYXRjaChUKXtDKHtpZDpMLHN0YXR1czoiZXJyb3IiLHBoYXNlOiJpbiIsbWVzc2FnZTpUIGluc3RhbmNlb2YgRXJyb3I/VC5tZXNzYWdlOiJTY3JlZW5zaG90IGZhaWxlZCJ9LE43KX1maW5hbGx5e2NsZWFyVGltZW91dChXKSxxLmN1cnJlbnQ9ITF9fSxbJCxDXSkscmV2ZWFsOk4sZGlzbWlzczpCfX1mdW5jdGlvbiBVNyh7ZGVmYXVsdFdpZHRoOiQsdmlld3BvcnRXaWR0aDpRLHZpZXdwb3J0SGVpZ2h0OkosYXNwZWN0UmF0aW86WCxvblN0YXJ0Okt9KXtsZXQgWT1kNSgpLFtxLEddPWsoITEpLFtCLE5dPWsoITEpLFt6LFZdPWsoITEpLFU9dyhudWxsKSxDPXcoW10pLE09dyhudWxsKSxMPXcobnVsbCksSD13KG51bGwpLE89dyhudWxsKSxXPUkoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gJDtsZXQgXz1OYU47dHJ5e2xldCBoPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShKOCk7Xz1oIT1udWxsP051bWJlcihoKTpOYU59Y2F0Y2h7fXJldHVybiBkNigkLFEsSixYLF8pfSxbWCwkLEosUV0pLFQ9RDEoKCk9PlcoKSxbV10pLFtQLHhdPWsoVCksRD13KFQpLGU9dygkKSxSPVo4KCQsUSxKLFgpLGQ9TWF0aC5taW4oVDYsUiksbj1QPz8kLG89dDAobiwkLFEsSixYKSxhPUkoKF8pPT57bGV0IGg9aTUoXyk7RC5jdXJyZW50PWgseChoKX0sW10pLGk9SSgoXyk9PntpZih0eXBlb2Ygd2luZG93PiJ1Inx8JDw9MClyZXR1cm47bGV0IGg9dDAoXywkLFEsSixYKTt0cnl7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKEo4LFN0cmluZyhoLyQpKX1jYXRjaHt9fSxbWCwkLEosUV0pLEwxPUkoKF8pPT57aWYoSC5jdXJyZW50IT1udWxsKWNsZWFyVGltZW91dChILmN1cnJlbnQpO0guY3VycmVudD1zZXRUaW1lb3V0KCgpPT57SC5jdXJyZW50PW51bGwsaShfKX0sbDYpfSxbaV0pO3koKCk9PntpZihxfHxCKXJldHVybjtsZXQgXz1ELmN1cnJlbnQ7aWYoXz09bnVsbClyZXR1cm47bGV0IGg9dDAoXywkLFEsSixYKTtpZihoIT09XylhKGgpfSxbWCwkLEIscSxKLFEsYV0pLHkoKCk9PntpZihlLmN1cnJlbnQ9PT0kKXJldHVybjtlLmN1cnJlbnQ9JCxhKFcoKSl9LFskLFcsYV0pLHkoKCk9PntpZighcSYmIUIpcmV0dXJuO2xldCBfPWRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yLGg9ZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0LG09ZG9jdW1lbnQuYm9keS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0O3JldHVybiBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj0ibndzZS1yZXNpemUiLGRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsZG9jdW1lbnQuYm9keS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PSJub25lIiwoKT0+e2RvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPV8sZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PWgsZG9jdW1lbnQuYm9keS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PW19fSxbcSxCXSkseSgoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybjtsZXQgXz0oKT0+e2xldCBtPUQuY3VycmVudDtpZihtPT1udWxsKXJldHVybjtpZihILmN1cnJlbnQhPW51bGwpY2xlYXJUaW1lb3V0KEguY3VycmVudCksSC5jdXJyZW50PW51bGw7aShtKX0saD0oKT0+e2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKV8oKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsXyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsaCksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLF8pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpfX0sW2ldKTtsZXQgbD1JKChfKT0+e2lmKF8+UilyZXR1cm4gUitYOChfLVIsUik7aWYoXzxkKXJldHVybiBkLVg4KGQtXyxSKTtyZXR1cm4gX30sW1IsZF0pLGY9SSgoKT0+e2lmKEwuY3VycmVudClMLmN1cnJlbnQoKSxMLmN1cnJlbnQ9bnVsbDtOKCExKX0sW10pLFgxPUkoKF8pPT57bGV0IGg9cGVyZm9ybWFuY2Uubm93KCksbT1DLmN1cnJlbnQ7bS5wdXNoKHt0OmgseDpffSk7d2hpbGUobS5sZW5ndGg+MSYmaC1tWzBdLnQ+dTYpbS5zaGlmdCgpfSxbXSksWjE9SSgoXyk9PntsZXQgaD1sKF8pO2lmKE0uY3VycmVudCE9bnVsbCljYW5jZWxBbmltYXRpb25GcmFtZShNLmN1cnJlbnQpO00uY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntNLmN1cnJlbnQ9bnVsbCxhKGgpLFgxKGgpfSl9LFtsLFgxLGFdKSxVMT1JKChfLGgsbSk9PntmKCk7bGV0IHY9RC5jdXJyZW50Pz8kO1UuY3VycmVudD17cG9pbnRlcklkOl8sc3RhcnRYOmgsc3RhcnRZOm0sc3RhcnRXaWR0aDp2fSxDLmN1cnJlbnQ9W3t0OnBlcmZvcm1hbmNlLm5vdygpLHg6dn1dLEsoKSxHKCEwKX0sW2YsJCxLXSkscz1JKCgpPT57bGV0IF89VS5jdXJyZW50O2lmKFUuY3VycmVudD1udWxsLE0uY3VycmVudCE9bnVsbCljYW5jZWxBbmltYXRpb25GcmFtZShNLmN1cnJlbnQpLE0uY3VycmVudD1udWxsO2lmKF8mJl8ucG9pbnRlcklkPj0wKXtsZXQgdzE9Ty5jdXJyZW50O2lmKHcxPy5oYXNQb2ludGVyQ2FwdHVyZShfLnBvaW50ZXJJZCkpdzEucmVsZWFzZVBvaW50ZXJDYXB0dXJlKF8ucG9pbnRlcklkKX1HKCExKTtsZXQgaD1ELmN1cnJlbnQ/PyQsbT1pNihDLmN1cnJlbnQpO0MuY3VycmVudD1bXTtsZXQgdj10MChoK20qcDYsJCxRLEosWCksWTE9aTUoYzYodixbJF0sZzYpKSxWMT1NYXRoLmFicyhoLVkxKTwwLjUmJk1hdGguYWJzKG0pPDg7aWYoWXx8VjEpe2EoWTEpLEwxKFkxKTtyZXR1cm59TighMCksTC5jdXJyZW50PW82KHtmcm9tOmgsdG86WTEsdmVsb2NpdHk6bSxzdGlmZm5lc3M6ZjYsZGFtcGluZzptNixvblVwZGF0ZTphLG9uQ29tcGxldGU6KCk9PntMLmN1cnJlbnQ9bnVsbCxOKCExKSxMMShZMSl9fSl9LFtYLCQsWSxMMSxKLFEsYV0pO3koKCk9PntyZXR1cm4oKT0+e2lmKGYoKSxNLmN1cnJlbnQhPW51bGwpY2FuY2VsQW5pbWF0aW9uRnJhbWUoTS5jdXJyZW50KTtpZihILmN1cnJlbnQhPW51bGwpe2lmKGNsZWFyVGltZW91dChILmN1cnJlbnQpLEQuY3VycmVudCE9bnVsbClpKEQuY3VycmVudCl9fX0sW2YsaV0pLHkoKCk9PntpZighcSlyZXR1cm47bGV0IF89KCk9PnMoKSxoPSgpPT57aWYoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09ImhpZGRlbiIpcygpfSxtPSh2KT0+e2xldCBZMT1VLmN1cnJlbnQ7aWYoIVkxfHxZMS5wb2ludGVySWQhPT12LnBvaW50ZXJJZClyZXR1cm47di5wcmV2ZW50RGVmYXVsdCgpLFoxKEw3KFkxLHYuY2xpZW50WCx2LmNsaWVudFksWCkpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLF8pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsbSx7Y2FwdHVyZTohMCxwYXNzaXZlOiExfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsXywhMCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLF8sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLF8pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsbSwhMCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsXywhMCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLF8sITApLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpfX0sW1gscyxxLFoxXSk7bGV0IEoxPUkoKF8pPT57bGV0IGg9VS5jdXJyZW50O2lmKCFofHxoLnBvaW50ZXJJZCE9PV8ucG9pbnRlcklkKXJldHVybjtfLnByZXZlbnREZWZhdWx0KCksXy5zdG9wUHJvcGFnYXRpb24oKSxzKCl9LFtzXSkscTE9SSgoXyk9PntpZihfLmJ1dHRvbiE9PTApcmV0dXJuO18ucHJldmVudERlZmF1bHQoKSxfLnN0b3BQcm9wYWdhdGlvbigpLF8uY3VycmVudFRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShfLnBvaW50ZXJJZCksVTEoXy5wb2ludGVySWQsXy5jbGllbnRYLF8uY2xpZW50WSl9LFtVMV0pLGo9SSgoXyk9PntsZXQgaD1VLmN1cnJlbnQ7aWYoIWh8fGgucG9pbnRlcklkIT09Xy5wb2ludGVySWQpcmV0dXJuO18ucHJldmVudERlZmF1bHQoKSxaMShMNyhoLF8uY2xpZW50WCxfLmNsaWVudFksWCkpfSxbWCxaMV0pLHA9SSgoXyk9PntsZXQgaD1fLmtleT09PSJBcnJvd1JpZ2h0Inx8Xy5rZXk9PT0iQXJyb3dEb3duIj8xOl8ua2V5PT09IkFycm93TGVmdCJ8fF8ua2V5PT09IkFycm93VXAiPy0xOjA7aWYoaD09PTApcmV0dXJuO18ucHJldmVudERlZmF1bHQoKSxmKCk7bGV0IG09Xy5zaGlmdEtleT84MDoyNCx2PWk1KHQwKG8raCptLCQsUSxKLFgpKTthKHYpLEwxKHYpfSxbWCxmLG8sJCxMMSxKLFEsYV0pO3JldHVybntoYW5kbGVSZWY6Tyx3aWR0aDpuLGNvbW1pdHRlZFdpZHRoOm8sbWluV2lkdGg6ZCxtYXhXaWR0aDpSLGlzUmVzaXppbmc6cSxpc0luZXJ0aWE6QixoYW5kbGVIb3ZlcmVkOnosaGFuZGxlQWN0aXZlOnp8fHF8fEIsc2V0SGFuZGxlSG92ZXJlZDpWLG9uUG9pbnRlckRvd246cTEsb25Qb2ludGVyTW92ZTpqLG9uUG9pbnRlckVuZDpKMSxvbktleURvd246cH19ZnVuY3Rpb24gTDcoJCxRLEosWCl7bGV0IEs9US0kLnN0YXJ0WCxZPShKLSQuc3RhcnRZKSpYO3JldHVybiAkLnN0YXJ0V2lkdGgrKE1hdGguYWJzKEspPj1NYXRoLmFicyhZKT9LOlkpfWZ1bmN0aW9uIEg3KCl7bGV0ICQ9dyhuZXcgTWFwKSxRPXcobmV3IE1hcCksSj1JKChHKT0+e2xldCBCPVEuY3VycmVudC5nZXQoRyk7aWYoQiljbGVhclRpbWVvdXQoQik7US5jdXJyZW50LmRlbGV0ZShHKX0sW10pLFg9SSgoRyxCPTEvMCk9Pnt0Mi5jdXN0b20oKCk9PlooUTQse3RvYXN0Okd9KSx7aWQ6Ry5pZCxkdXJhdGlvbjpCfSl9LFtdKSxLPUkoKEcsQik9PntsZXQgTj1jcnlwdG8ucmFuZG9tVVVJRCgpLHo9e2lkOk4sbmFtZTpHLGtpbmQ6QixzdGF0dXM6InVwbG9hZGluZyIscHJvZ3Jlc3M6MH07cmV0dXJuICQuY3VycmVudC5zZXQoTix6KSxYKHopLE59LFtYXSksWT1JKChHLEIpPT57bGV0IE49JC5jdXJyZW50LmdldChHKTtpZighTilyZXR1cm47SihHKTtsZXQgej17Li4uTiwuLi5CfTtpZigkLmN1cnJlbnQuc2V0KEcseiksWCh6LEIuc3RhdHVzPT09InN1Y2Nlc3MifHxCLnN0YXR1cz09PSJlcnJvciI/MzAwMDoxLzApLEIuc3RhdHVzPT09InN1Y2Nlc3MifHxCLnN0YXR1cz09PSJlcnJvciIpe2xldCBWPXNldFRpbWVvdXQoKCk9PnskLmN1cnJlbnQuZGVsZXRlKEcpLFEuY3VycmVudC5kZWxldGUoRyl9LDMwMDApO1EuY3VycmVudC5zZXQoRyxWKX19LFtKLFhdKSxxPUkoKEcsQik9PntsZXQgTj0kLmN1cnJlbnQuZ2V0KEcpO2lmKCFOKXJldHVybjtsZXQgej17Li4uTixwcm9ncmVzczpCfTskLmN1cnJlbnQuc2V0KEcseiksWCh6KX0sW1hdKTtyZXR1cm57YWRkOkssdXBkYXRlOlksc2V0UHJvZ3Jlc3M6cX19ZnVuY3Rpb24gQzcoJCxRKXtsZXRbSixYXT1rKFtdKSxbSyxZXT1rKG51bGwpLFtxLEddPWsoITEpLEI9SShhc3luYygpPT57aWYoISQpcmV0dXJuO0coITApLFkobnVsbCk7dHJ5e2xldCBOPWF3YWl0IGZldGNoKCQse2NhY2hlOiJuby1zdG9yZSJ9KSx6PWF3YWl0IE4uanNvbigpO2lmKCFOLm9rfHx6LmVycm9yKXRocm93IEVycm9yKHouZXJyb3J8fCJGYWlsZWQgdG8gbGlzdCBXZWJLaXQgdGFyZ2V0cyIpO2xldCBWPXR5cGVvZiB3aW5kb3c+InUiP251bGw6d2luZG93LmxvY2F0aW9uLFU9ei50YXJnZXRzPz9bXTtYKFY/VS5tYXAoKEMpPT5yNChDLFYpKTpVKX1jYXRjaChOKXtZKE4gaW5zdGFuY2VvZiBFcnJvcj9OLm1lc3NhZ2U6IkZhaWxlZCB0byBzdGFydCBXZWJLaXQgRGV2VG9vbHMiKX1maW5hbGx5e0coITEpfX0sWyRdKTtyZXR1cm4geSgoKT0+e2lmKCFRKXJldHVybjtCKCk7bGV0IE49c2V0SW50ZXJ2YWwoKCk9PnZvaWQgQigpLDI1MDApO3JldHVybigpPT5jbGVhckludGVydmFsKE4pfSxbUSxCXSkse3RhcmdldHM6SixlcnJvcjpLLGxvYWRpbmc6cSxyZWZyZXNoOkJ9fXZhciBLWD02MCxZWD0xMDAwO2Z1bmN0aW9uIE83KCQsUSxKLFg9S1gpe2xldFtLLFldPWsobnVsbCksW3EsR109aygwKSxbQixOXT1rKFgpLFt6LFZdPWsoMCk7eSgoKT0+e2lmKCFRfHwhJClyZXR1cm47bGV0IE89ITEsVz0kLmluY2x1ZGVzKCI/Iik/IiYiOiI/IixUPWFzeW5jKCk9Pnt0cnl7bGV0IEQ9YXdhaXQoYXdhaXQgZmV0Y2goYCR7JH0ke1d9bGltaXQ9JHtCfSZvZmZzZXQ9MGAse2NhY2hlOiJuby1zdG9yZSJ9KSkuanNvbigpO2lmKE8pcmV0dXJuO2lmKFkoRC5kZXZpY2VzPz9bXSksdHlwZW9mIEQudG90YWw9PT0ibnVtYmVyIilHKEQudG90YWwpfWNhdGNoe2lmKCFPKVkoW10pfX07VCgpO2xldCBQPXNldEludGVydmFsKFQsSj83NTA6MzAwMCk7cmV0dXJuKCk9PntPPSEwLGNsZWFySW50ZXJ2YWwoUCl9fSxbJCxRLHosSixCXSk7bGV0IFU9SSgoKT0+VigoTyk9Pk8rMSksW10pLEM9SSgoKT0+TigoTyk9Pk8rWCksW1hdKSxNPUkoKCk9Pk4oWVgpLFtdKSxMPUkoKCk9Pk4oWCksW1hdKSxIPXE+KEs/Lmxlbmd0aD8/MCk7cmV0dXJue2RldmljZXM6Syx0b3RhbDpxLHJlZnJlc2g6VSxsb2FkTW9yZTpDLGxvYWRBbGw6TSxyZXNldFBhZ2U6TCxoYXNNb3JlOkh9fXZhciBGNz17bWpwZWdGcHM6NjAsbWpwZWdRdWFsaXR5OjAuNyxtYXhEaW1lbnNpb246MCxoMjY0Qml0cmF0ZTo2MDAwMDAwLGgyNjRGcHM6NjB9LHFYPXt0cmFuc3BvcnQ6Imh0dHAiLGh0dHBDb2RlYzoiYXV0byIsd2ViUnRjQ29kZWM6ImgyNjQiLC4uLkY3fTtmdW5jdGlvbiBHWCgkKXtyZXR1cm4gdHlwZW9mICQ9PT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKCQpPyQ6bnVsbH1mdW5jdGlvbiBNNygkLFEsSixYKXtsZXQgSz1HWCgkKTtyZXR1cm4gSz09bnVsbD9ROk1hdGgubWluKFgsTWF0aC5tYXgoSixLKSl9ZnVuY3Rpb24gRzMoJCxRLEosWCl7cmV0dXJuIE1hdGgucm91bmQoTTcoJCxRLEosWCkpfWZ1bmN0aW9uIFZYKCQpe2lmKCFBcnJheS5pc0FycmF5KCQpfHwkLmxlbmd0aD4xNilyZXR1cm4gbnVsbDtsZXQgUT1bXTtmb3IobGV0IEogb2YgJCl7aWYoIUp8fHR5cGVvZiBKIT09Im9iamVjdCIpcmV0dXJuIG51bGw7bGV0IFg9Si51cmxzO2lmKCFBcnJheS5pc0FycmF5KFgpfHxYLmxlbmd0aD09PTB8fFgubGVuZ3RoPjE2fHwhWC5ldmVyeSgocSk9PnR5cGVvZiBxPT09InN0cmluZyImJnEubGVuZ3RoPD0yMDQ4JiYvXihzdHVufHN0dW5zfHR1cm58dHVybnMpOi9pLnRlc3QocSkpKXJldHVybiBudWxsO2xldHt1c2VybmFtZTpLLGNyZWRlbnRpYWw6WX09SjtpZihLIT09dm9pZCAwJiZ0eXBlb2YgSyE9PSJzdHJpbmciKXJldHVybiBudWxsO2lmKFkhPT12b2lkIDAmJnR5cGVvZiBZIT09InN0cmluZyIpcmV0dXJuIG51bGw7US5wdXNoKHt1cmxzOlgsLi4udHlwZW9mIEs9PT0ic3RyaW5nIj97dXNlcm5hbWU6S306e30sLi4udHlwZW9mIFk9PT0ic3RyaW5nIj97Y3JlZGVudGlhbDpZfTp7fX0pfXJldHVybiBRfWZ1bmN0aW9uIEQ4KCQ9e30sUT1xWCl7bGV0IFg9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKCQsImljZVNlcnZlcnMiKT9WWCgkLmljZVNlcnZlcnMpOlEuaWNlU2VydmVycyxLPVg9PT1udWxsP1EuaWNlU2VydmVyczpYJiZYLmxlbmd0aD4wP1g6dm9pZCAwO3JldHVybnt0cmFuc3BvcnQ6JC50cmFuc3BvcnQ9PT0iaHR0cCJ8fCQudHJhbnNwb3J0PT09IndlYnJ0YyI/JC50cmFuc3BvcnQ6US50cmFuc3BvcnQsaHR0cENvZGVjOiQuaHR0cENvZGVjPT09ImF1dG8ifHwkLmh0dHBDb2RlYz09PSJtanBlZyJ8fCQuaHR0cENvZGVjPT09ImgyNjQiPyQuaHR0cENvZGVjOlEuaHR0cENvZGVjLHdlYlJ0Y0NvZGVjOiQud2ViUnRjQ29kZWM9PT0idnA4Inx8JC53ZWJSdGNDb2RlYz09PSJ2cDkifHwkLndlYlJ0Y0NvZGVjPT09ImgyNjQiPyQud2ViUnRjQ29kZWM6US53ZWJSdGNDb2RlYywuLi5LP3tpY2VTZXJ2ZXJzOkt9Ont9LC4uLlk1KCQsUSl9fWZ1bmN0aW9uIFk1KCQ9e30sUT1GNyl7cmV0dXJue21qcGVnRnBzOkczKCQubWpwZWdGcHMsUS5tanBlZ0ZwcywxLDEyMCksbWpwZWdRdWFsaXR5Ok03KCQubWpwZWdRdWFsaXR5LFEubWpwZWdRdWFsaXR5LDAuMDUsMSksbWF4RGltZW5zaW9uOkczKCQubWF4RGltZW5zaW9uLFEubWF4RGltZW5zaW9uLDAsNDA5NiksaDI2NEJpdHJhdGU6RzMoJC5oMjY0Qml0cmF0ZSxRLmgyNjRCaXRyYXRlLDFlNSw1MDAwMDAwMCksaDI2NEZwczpHMygkLmgyNjRGcHMsUS5oMjY0RnBzLDEsMTQwKX19ZnVuY3Rpb24gcTUoJCl7cmV0dXJue21qcGVnRnBzOiQubWpwZWdGcHMsbWpwZWdRdWFsaXR5OiQubWpwZWdRdWFsaXR5LG1heERpbWVuc2lvbjokLm1heERpbWVuc2lvbixoMjY0Qml0cmF0ZTokLmgyNjRCaXRyYXRlLGgyNjRGcHM6JC5oMjY0RnBzfX1mdW5jdGlvbiBBNygkKXtyZXR1cm4gJD8udHJhbnNwb3J0PT09IndlYnJ0YyJ9ZnVuY3Rpb24gazcoJCl7bGV0IFE9JD97bWpwZWdGcHM6JC5tanBlZ0ZwcyxtanBlZ1F1YWxpdHk6JC5tanBlZ1F1YWxpdHksbWF4RGltZW5zaW9uOiQubWF4RGltZW5zaW9uLGgyNjRCaXRyYXRlOiQuaDI2NEJpdHJhdGUsaDI2NEZwczokLmgyNjRGcHN9Ont9O2lmKCQ/LnRyYW5zcG9ydD09PSJ3ZWJydGMiKXJldHVybiBEOCh7dHJhbnNwb3J0OiJ3ZWJydGMiLHdlYlJ0Y0NvZGVjOiQuY29kZWMsaWNlU2VydmVyczokLmljZVNlcnZlcnMsLi4uUX0pO3JldHVybiBEOCh7dHJhbnNwb3J0OiJodHRwIixodHRwQ29kZWM6JD8uY29kZWM/PyJhdXRvIiwuLi5RfSl9ZnVuY3Rpb24gVjMoJCxRKXtyZXR1cm4gRDgoey4uLiQsLi4uUX0sJCl9ZnVuY3Rpb24gVzcoJCxRLEo9ITEpe2lmKCFKKXJldHVybiBWMygkLFEpO2xldCBYPXt9O2lmKFEud2ViUnRjQ29kZWMhPT12b2lkIDApWC53ZWJSdGNDb2RlYz1RLndlYlJ0Y0NvZGVjO2lmKFEuaWNlU2VydmVycyE9PXZvaWQgMClYLmljZVNlcnZlcnM9US5pY2VTZXJ2ZXJzO2lmKE9iamVjdC5rZXlzKFgpLmxlbmd0aD09PTApcmV0dXJuICQ7cmV0dXJuIFYzKCQsey4uLlgsdHJhbnNwb3J0OiJ3ZWJydGMifSl9ZnVuY3Rpb24gRzUoJCxRKXtsZXQgSj1xNSgkKSxYPVk1KHsuLi5KLC4uLlF9LEopO2lmKFgubWpwZWdGcHM9PT1KLm1qcGVnRnBzJiZYLm1qcGVnUXVhbGl0eT09PUoubWpwZWdRdWFsaXR5JiZYLm1heERpbWVuc2lvbj09PUoubWF4RGltZW5zaW9uJiZYLmgyNjRCaXRyYXRlPT09Si5oMjY0Qml0cmF0ZSYmWC5oMjY0RnBzPT09Si5oMjY0RnBzKXJldHVybiAkO3JldHVybnsuLi4kLC4uLlh9fXZhciBENz0ic2VydmUtc2ltOmNvZGVjIixCWD0zMDAwO2Z1bmN0aW9uIF83KCQpe2xldCBRPWs3KCQpO2lmKFEudHJhbnNwb3J0IT09Imh0dHAifHxRLmh0dHBDb2RlYyE9PSJhdXRvIilyZXR1cm4gUTt0cnl7bGV0IEo9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKEQ3KTtpZihKPT09ImF1dG8ifHxKPT09Im1qcGVnInx8Sj09PSJoMjY0IilyZXR1cm4gVjMoUSx7aHR0cENvZGVjOkp9KX1jYXRjaHt9cmV0dXJuIFF9ZnVuY3Rpb24gUDcoe2RldmljZTokLGVuZHBvaW50OlEsaW5pdGlhbFNldHRpbmdzOkp9KXtsZXQgWD1BNyhKKSxbSyxZXT1rKCgpPT5fNyhKKSksW3EsR109ayghMSksQj13KEspLE49dyghMSksej13KDApLFY9dyhudWxsKSxVPXcobnVsbCk7eSgoKT0+eysrei5jdXJyZW50O2xldCBMPV83KEopO2lmKFYuY3VycmVudD8uYWJvcnQoKSxVLmN1cnJlbnQ/LmFib3J0KCksVi5jdXJyZW50PW51bGwsVS5jdXJyZW50PW51bGwsQi5jdXJyZW50PUwsTi5jdXJyZW50PSExLFkoTCksRyghMSksIVEpcmV0dXJuO2xldCBIPSExLE89ITEsVz1hc3luYygpPT57aWYoSHx8Ti5jdXJyZW50fHxWLmN1cnJlbnQpcmV0dXJuO2xldCB4PSsrei5jdXJyZW50LEQ9bmV3IEFib3J0Q29udHJvbGxlcjtWLmN1cnJlbnQ9RDt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goUSx7Y2FjaGU6Im5vLXN0b3JlIixzaWduYWw6RC5zaWduYWx9KTtpZighZS5vayl0aHJvdyBFcnJvcihgU3RyZWFtIHNldHRpbmdzIHJlcXVlc3QgZmFpbGVkICgke2Uuc3RhdHVzfSlgKTtsZXQgUj1ZNShhd2FpdCBlLmpzb24oKSxxNShCLmN1cnJlbnQpKTtpZighRC5zaWduYWwuYWJvcnRlZCYmei5jdXJyZW50PT09eCl7bGV0IGQ9Qi5jdXJyZW50LG49RzUoZCxSKTtpZihuIT09ZClCLmN1cnJlbnQ9bixZKG4pfU89ITF9Y2F0Y2goZSl7aWYoIUQuc2lnbmFsLmFib3J0ZWQmJiFPKU89ITAsY29uc29sZS53YXJuKCJGYWlsZWQgdG8gbG9hZCBzdHJlYW0gc2V0dGluZ3MiLGUpfWZpbmFsbHl7aWYoVi5jdXJyZW50PT09RClWLmN1cnJlbnQ9bnVsbH19O1coKTtsZXQgVD0oKT0+e2lmKHR5cGVvZiBkb2N1bWVudD4idSJ8fGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSE9PSJoaWRkZW4iKVcoKX0sUD1zZXRJbnRlcnZhbChULEJYKTtpZih0eXBlb2Ygd2luZG93PCJ1Iil3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFQpO2lmKHR5cGVvZiBkb2N1bWVudDwidSIpZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsVCk7cmV0dXJuKCk9PntpZihIPSEwLGNsZWFySW50ZXJ2YWwoUCksdHlwZW9mIHdpbmRvdzwidSIpd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixUKTtpZih0eXBlb2YgZG9jdW1lbnQ8InUiKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLFQpO1YuY3VycmVudD8uYWJvcnQoKSxVLmN1cnJlbnQ/LmFib3J0KCksVi5jdXJyZW50PW51bGwsVS5jdXJyZW50PW51bGx9fSxbJCxRLEpdKTtsZXQgQz1JKChMKT0+e2lmKCFYJiZMLmh0dHBDb2RlYyE9PXZvaWQgMCl0cnl7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKEQ3LEwuaHR0cENvZGVjKX1jYXRjaHt9bGV0IEg9VzcoQi5jdXJyZW50LEwsWCk7aWYoSD09PUIuY3VycmVudClyZXR1cm47Qi5jdXJyZW50PUgsWShIKX0sW1hdKSxNPUkoKEwpPT57aWYoIVF8fE4uY3VycmVudHx8T2JqZWN0LmtleXMoTCkubGVuZ3RoPT09MClyZXR1cm47bGV0IEg9Qi5jdXJyZW50LE89RzUoSCxMKTtCLmN1cnJlbnQ9TyxZKE8pLFYuY3VycmVudD8uYWJvcnQoKSxWLmN1cnJlbnQ9bnVsbDtsZXQgVz0rK3ouY3VycmVudCxUPW5ldyBBYm9ydENvbnRyb2xsZXI7VS5jdXJyZW50PVQsTi5jdXJyZW50PSEwLEcoITApLGZldGNoKFEse21ldGhvZDoiUEFUQ0giLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeShMKSxzaWduYWw6VC5zaWduYWx9KS50aGVuKGFzeW5jKFApPT57aWYoIVAub2spdGhyb3cgRXJyb3IoYFN0cmVhbSBzZXR0aW5ncyB1cGRhdGUgZmFpbGVkICgke1Auc3RhdHVzfSlgKTtsZXQgeD1ZNShhd2FpdCBQLmpzb24oKSxxNShPKSk7aWYoIVQuc2lnbmFsLmFib3J0ZWQmJnouY3VycmVudD09PVcpe2xldCBEPUc1KEIuY3VycmVudCx4KTtCLmN1cnJlbnQ9RCxZKEQpfX0pLmNhdGNoKChQKT0+e2lmKFQuc2lnbmFsLmFib3J0ZWQpcmV0dXJuO2lmKGNvbnNvbGUud2FybigiRmFpbGVkIHRvIHVwZGF0ZSBzdHJlYW0gc2V0dGluZ3MiLFApLHouY3VycmVudD09PVcpe2xldCB4PUc1KEIuY3VycmVudCxxNShIKSk7Qi5jdXJyZW50PXgsWSh4KX19KS5maW5hbGx5KCgpPT57aWYoVS5jdXJyZW50PT09VClVLmN1cnJlbnQ9bnVsbDtpZighVC5zaWduYWwuYWJvcnRlZCYmei5jdXJyZW50PT09VylOLmN1cnJlbnQ9ITEsRyghMSl9KX0sW1FdKTtyZXR1cm57c2V0dGluZ3M6Syx1cGRhdGVQbGF5YmFjazpDLHVwZGF0ZUVuY29kZXI6TSxwZW5kaW5nOnEsdHJhbnNwb3J0TG9ja2VkOlgsZW5jb2RlclNldHRpbmdzQXZhaWxhYmxlOiEhUX19dmFyIFA4PXtzdHJlYW1lZDohMSxmZWxsQmFjazohMX07ZnVuY3Rpb24gVDcoJCxRKXtzd2l0Y2goUSl7Y2FzZSJkZWNvZGVkLWZyYW1lIjpyZXR1cm4gJC5zdHJlYW1lZD8kOnsuLi4kLHN0cmVhbWVkOiEwfTtjYXNlInRpbWVvdXQiOnJldHVybiAkLnN0cmVhbWVkfHwkLmZlbGxCYWNrPyQ6ey4uLiQsZmVsbEJhY2s6ITB9O2Nhc2UiZXJyb3IiOnJldHVybiAkLmZlbGxCYWNrPyQ6ey4uLiQsZmVsbEJhY2s6ITB9O2Nhc2UicmVzZXQiOnJldHVybiBQOH19dmFyIEU3PTQwMDA7dmFyIE5YPXtLZXlBOjQsS2V5Qjo1LEtleUM6NixLZXlEOjcsS2V5RTo4LEtleUY6OSxLZXlHOjEwLEtleUg6MTEsS2V5SToxMixLZXlKOjEzLEtleUs6MTQsS2V5TDoxNSxLZXlNOjE2LEtleU46MTcsS2V5TzoxOCxLZXlQOjE5LEtleVE6MjAsS2V5UjoyMSxLZXlTOjIyLEtleVQ6MjMsS2V5VToyNCxLZXlWOjI1LEtleVc6MjYsS2V5WDoyNyxLZXlZOjI4LEtleVo6MjksRGlnaXQxOjMwLERpZ2l0MjozMSxEaWdpdDM6MzIsRGlnaXQ0OjMzLERpZ2l0NTozNCxEaWdpdDY6MzUsRGlnaXQ3OjM2LERpZ2l0ODozNyxEaWdpdDk6MzgsRGlnaXQwOjM5LEVudGVyOjQwLEVzY2FwZTo0MSxCYWNrc3BhY2U6NDIsVGFiOjQzLFNwYWNlOjQ0LE1pbnVzOjQ1LEVxdWFsOjQ2LEJyYWNrZXRMZWZ0OjQ3LEJyYWNrZXRSaWdodDo0OCxCYWNrc2xhc2g6NDksU2VtaWNvbG9uOjUxLFF1b3RlOjUyLEJhY2txdW90ZTo1MyxDb21tYTo1NCxQZXJpb2Q6NTUsU2xhc2g6NTYsQ2Fwc0xvY2s6NTcsRjE6NTgsRjI6NTksRjM6NjAsRjQ6NjEsRjU6NjIsRjY6NjMsRjc6NjQsRjg6NjUsRjk6NjYsRjEwOjY3LEYxMTo2OCxGMTI6NjksUHJpbnRTY3JlZW46NzAsU2Nyb2xsTG9jazo3MSxQYXVzZTo3MixJbnNlcnQ6NzMsSG9tZTo3NCxQYWdlVXA6NzUsRGVsZXRlOjc2LEVuZDo3NyxQYWdlRG93bjo3OCxBcnJvd1JpZ2h0Ojc5LEFycm93TGVmdDo4MCxBcnJvd0Rvd246ODEsQXJyb3dVcDo4MixOdW1Mb2NrOjgzLE51bXBhZERpdmlkZTo4NCxOdW1wYWRNdWx0aXBseTo4NSxOdW1wYWRTdWJ0cmFjdDo4NixOdW1wYWRBZGQ6ODcsTnVtcGFkRW50ZXI6ODgsTnVtcGFkMTo4OSxOdW1wYWQyOjkwLE51bXBhZDM6OTEsTnVtcGFkNDo5MixOdW1wYWQ1OjkzLE51bXBhZDY6OTQsTnVtcGFkNzo5NSxOdW1wYWQ4Ojk2LE51bXBhZDk6OTcsTnVtcGFkMDo5OCxOdW1wYWREZWNpbWFsOjk5LENvbnRyb2xMZWZ0OjIyNCxTaGlmdExlZnQ6MjI1LEFsdExlZnQ6MjI2LE1ldGFMZWZ0OjIyNyxDb250cm9sUmlnaHQ6MjI4LFNoaWZ0UmlnaHQ6MjI5LEFsdFJpZ2h0OjIzMCxNZXRhUmlnaHQ6MjMxfTtmdW5jdGlvbiB3NygkKXtyZXR1cm4gTlhbJF0/P251bGx9dmFyIFQ4PTMyMCxJNz03NjAsRTg9MzAwO2Z1bmN0aW9uIHc4KCQsUSl7aWYoISQpcmV0dXJuIG51bGw7aWYoISQuZGV2aWNlKXJldHVybiAkO2lmKCEkLnByb3h5SGVscGVycylyZXR1cm4gJDtsZXQgWD1gJHskLmJhc2VQYXRoPT09Ii8iPyIiOigkLmJhc2VQYXRoPz8iIikucmVwbGFjZSgvXC8rJC8sIiIpfS9oZWxwZXIvJHtlbmNvZGVVUklDb21wb25lbnQoJC5kZXZpY2UpfWAsSz1gJHtRLnByb3RvY29sfS8vJHtRLmhvc3R9YCxZPVEucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzOiI6IndzOiI7cmV0dXJuey4uLiQsdXJsOmAke0t9JHtYfWAsc3RyZWFtVXJsOmAke0t9JHtYfS9zdHJlYW0ubWpwZWdgLHdzVXJsOmAke1l9Ly8ke1EuaG9zdH0ke1h9L3dzYH19ZnVuY3Rpb24gYjcoJCl7bGV0IFE9bmV3IFVSTFNlYXJjaFBhcmFtcygkLnNlYXJjaCkuZ2V0KCJsb2dzIik7aWYoUSE9PW51bGwpcmV0dXJuIFE9PT0iMSI7cmV0dXJuIFEzKCQuaG9zdG5hbWUpfWZ1bmN0aW9uIHk3KCQsUSl7bGV0IEo9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KFEpKSxYPW5ldyBVaW50OEFycmF5KDErSi5sZW5ndGgpO3JldHVybiBYWzBdPSQsWC5zZXQoSiwxKSxYfWZ1bmN0aW9uIHpYKCQsUSxKPTMyKXtsZXQgWD1bLi4uJCxRXTtyZXR1cm4gWC5sZW5ndGg+Sj9YLnNsaWNlKFgubGVuZ3RoLUopOlh9ZnVuY3Rpb24gSTgoJCxRLEo9RGF0ZS5ub3coKSxYPTE1MDApe2xldCBLPVEuZmlsdGVyKChZKT0+Si1ZLmNyZWF0ZWRBdDw9WCk7aWYoISR8fCQucmVhZHlTdGF0ZSE9PTEpcmV0dXJuIEs7Zm9yKGxldCBZIG9mIEspJC5zZW5kKHk3KFkudGFnLFkucGF5bG9hZCkuYnVmZmVyKTtyZXR1cm5bXX1mdW5jdGlvbiBTNygkLFEsSixYLEs9RGF0ZS5ub3coKSl7bGV0IFk9STgoJCxRLEspO2lmKCQ/LnJlYWR5U3RhdGU9PT0xKXJldHVybiAkLnNlbmQoeTcoSixYKS5idWZmZXIpLFk7cmV0dXJuIHpYKFkse3RhZzpKLHBheWxvYWQ6WCxjcmVhdGVkQXQ6S30pfXZhciBMWD17aDI2NDpbImgyNjQiLCJ2cDgiLCJ2cDkiXSx2cDk6WyJ2cDkiLCJ2cDgiXSx2cDg6WyJ2cDgiXX07ZnVuY3Rpb24gVVgoJCxRKXtsZXQgSj1MWFskXSxYPUouaW5kZXhPZihRKTtpZihYPT09LTEpcmV0dXJuIEpbMF0/P251bGw7cmV0dXJuIEpbWCsxXT8/bnVsbH1mdW5jdGlvbiB4NygkLFEsSil7aWYoSi5raW5kPT09InBlcm1hbmVudCIpcmV0dXJue3R5cGU6InN3aXRjaC10by1odHRwIn07aWYoSi5jb2RlYyE9PVEpcmV0dXJuIG51bGw7bGV0IFg9VVgoJCxRKTtyZXR1cm4gWCYmWCE9PVE/e3R5cGU6InJldHJ5LWNvZGVjIixjb2RlYzpYfTp7dHlwZToic3dpdGNoLXRvLWh0dHAifX1mdW5jdGlvbiBqNygkKXtyZXR1cm4gJD9gJHskLmRldmljZX06JHskLnBpZH06JHskLnN0cmVhbVVybH06JHskLndzVXJsfToke0pTT04uc3RyaW5naWZ5KCQuc3RyZWFtU2V0dGluZ3M/P251bGwpfWA6IiJ9ZnVuY3Rpb24gSFgoKXtsZXRbJCxRXT1rKCgpPT53OChhMih3aW5kb3cuX19TSU1fUFJFVklFV19fKSx3aW5kb3cubG9jYXRpb24pKSxbSixYXT1rKCExKSxbSyxZXT1rKCgpPT57bGV0IG09YTIod2luZG93Ll9fU0lNX1BSRVZJRVdfXyk7aWYobSlyZXR1cm4gbS5kZXZpY2U7cmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCJkZXZpY2UiKX0pLFtxLEddPWsoITEpLFtCLE5dPWsoITEpLFt6LFZdPWsoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4hMTtyZXR1cm4gd2luZG93LmlubmVyV2lkdGg+PUU4KzUyMH0pLHt3aWR0aDpVLG9uUG9pbnRlckRvd246Q309cTMoInNlcnZlLXNpbTpkZXZpY2Utc2lkZWJhci13aWR0aCIsRTgsMjQwLDY0MCwicmlnaHQiKSxbTSxMXT1rKG51bGwpLEg9d2luZG93Ll9fU0lNX1BSRVZJRVdfXyxPPUg/LmdyaWRBcGlFbmRwb2ludD8/djEoImdyaWQvYXBpIiksVz1IPy5ncmlkU3RhcnRFbmRwb2ludD8/djEoImdyaWQvYXBpL3N0YXJ0IiksVD1IPy5ncmlkU2h1dGRvd25FbmRwb2ludD8/djEoImdyaWQvYXBpL3NodXRkb3duIiksW1AseF09ayh7fSksW0QsZV09ayh7fSksW1IsZF09ayh7fSksbj1PYmplY3QudmFsdWVzKFApLnNvbWUoQm9vbGVhbil8fE9iamVjdC52YWx1ZXMoRCkuc29tZShCb29sZWFuKSx7ZGV2aWNlczpvLHRvdGFsOmEscmVmcmVzaDppLGxvYWRNb3JlOkwxLGxvYWRBbGw6bCxyZXNldFBhZ2U6ZixoYXNNb3JlOlgxfT1PNyhPLCEwLG4pLFoxPSEhKEsmJm8/LmZpbmQoKG0pPT5tLmRldmljZT09PUspPy5oZWxwZXIpLFUxPUkoKG0pPT57WShtKTt0cnl7bGV0IHY9bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7di5zZWFyY2hQYXJhbXMuc2V0KCJkZXZpY2UiLG0pLHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCIiLHYudG9TdHJpbmcoKSl9Y2F0Y2h7fX0sW10pLHM9SShhc3luYyhtLHY9MjAwMDApPT57bGV0IFkxPURhdGUubm93KCkrdjt3aGlsZShEYXRlLm5vdygpPFkxKXt0cnl7aWYoKChhd2FpdChhd2FpdCBmZXRjaChPLHtjYWNoZToibm8tc3RvcmUifSkpLmpzb24oKSkuZGV2aWNlcz8/W10pLnNvbWUoKEYxKT0+RjEuZGV2aWNlPT09bSYmRjEuaGVscGVyKSlyZXR1cm4hMH1jYXRjaHt9YXdhaXQgbmV3IFByb21pc2UoKFYxKT0+c2V0VGltZW91dChWMSw0MDApKX1yZXR1cm4hMX0sW09dKSxKMT1JKGFzeW5jKG0pPT57eCgodik9Pih7Li4udixbbV06ITB9KSksZCgodik9Pih7Li4udixbbV06bnVsbH0pKTt0cnl7bGV0IHY9YXdhaXQgZmV0Y2goVyx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3VkaWQ6bX0pfSksWTE9YXdhaXQgdi5qc29uKCkuY2F0Y2goKCk9Pih7fSkpO2lmKCF2Lm9rfHwhWTEub2spe2QoKFYxKT0+KHsuLi5WMSxbbV06WTEuZXJyb3I/P2BIVFRQICR7di5zdGF0dXN9YH0pKTtyZXR1cm59YXdhaXQgcyhtKX1jYXRjaCh2KXtkKChZMSk9Pih7Li4uWTEsW21dOnY/Lm1lc3NhZ2U/PyJSZXF1ZXN0IGZhaWxlZCJ9KSl9ZmluYWxseXt4KCh2KT0+KHsuLi52LFttXTohMX0pKSxpKCl9fSxbVyxzLGldKSxxMT1JKGFzeW5jKG0pPT57ZSgodik9Pih7Li4udixbbV06ITB9KSksZCgodik9Pih7Li4udixbbV06bnVsbH0pKTt0cnl7bGV0IHY9YXdhaXQgZmV0Y2goVCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3VkaWQ6bX0pfSksWTE9YXdhaXQgdi5qc29uKCkuY2F0Y2goKCk9Pih7fSkpO2lmKCF2Lm9rfHwhWTEub2spZCgoVjEpPT4oey4uLlYxLFttXTpZMS5lcnJvcj8/YEhUVFAgJHt2LnN0YXR1c31gfSkpfWNhdGNoKHYpe2QoKFkxKT0+KHsuLi5ZMSxbbV06dj8ubWVzc2FnZT8/IlJlcXVlc3QgZmFpbGVkIn0pKX1maW5hbGx5e2UoKHYpPT4oey4uLnYsW21dOiExfSkpLGkoKX19LFtULGldKTt5KCgpPT57aWYoSylyZXR1cm47aWYoJD8uZGV2aWNlKXtZKCQuZGV2aWNlKTtyZXR1cm59aWYoIW98fG8ubGVuZ3RoPT09MClyZXR1cm47bGV0IG09by5maW5kKCh2KT0+di5oZWxwZXIpPz9vLmZpbmQoKHYpPT52LnN0YXRlPT09IkJvb3RlZCIpPz9vWzBdO2lmKG0pWShtLmRldmljZSl9LFtLLCQ/LmRldmljZSxvXSkseSgoKT0+e2xldCBtPWAke3YxKCJhcGkvZXZlbnRzIil9JHtLP2A/ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KEspfWA6IiJ9YCx2PShWMSk9PntRKCh3MSk9PntpZihWMT13OChhMihWMSksd2luZG93LmxvY2F0aW9uKSxqNyh3MSk9PT1qNyhWMSkpcmV0dXJuIHcxO2lmKFYxKXdpbmRvdy5fX1NJTV9QUkVWSUVXX189VjE7ZWxzZSBpZih3aW5kb3cuX19TSU1fUFJFVklFV19fKXtsZXR7YmFzZVBhdGg6RjEsZXhlY1Rva2VuOkkxfT13aW5kb3cuX19TSU1fUFJFVklFV19fO3dpbmRvdy5fX1NJTV9QUkVWSUVXX189e2Jhc2VQYXRoOkYxLGV4ZWNUb2tlbjpJMX19cmV0dXJuIFYxfSl9LFkxPWIwKG0pO3JldHVybiBZMS5vbm1lc3NhZ2U9KFYxKT0+e3RyeXt2KGEyKEpTT04ucGFyc2UoVjEuZGF0YSkpKX1jYXRjaHt9fSwoKT0+WTEuY2xvc2UoKX0sW0ssWjFdKSx5KCgpPT57aWYoISQ/LmxvZ3NFbmRwb2ludHx8IWI3KHdpbmRvdy5sb2NhdGlvbikpcmV0dXJuO2xldCBtPWIwKCQubG9nc0VuZHBvaW50KSx2PW5ldyBNYXAsWTE9WyIjOGJlOWZkIiwiIzUwZmE3YiIsIiNmZmI4NmMiLCIjZmY3OWM2IiwiI2JkOTNmOSIsIiNmMWZhOGMiLCIjNjI3MmE0IiwiI2ZmNTU1NSIsIiM2OWZmOTQiLCIjZDZhY2ZmIiwiI2ZmZmZhNSIsIiNhNGZmZmYiLCIjZmY2ZTZlIiwiI2NhYTlmYSIsIiM1YWY3OGUiXTtmdW5jdGlvbiBWMShJMSl7bGV0IFcxPXYuZ2V0KEkxKTtpZighVzEpe2xldCBSMT0wO2ZvcihsZXQgazE9MDtrMTxJMS5sZW5ndGg7azErKylSMT0oUjE8PDUpLVIxK0kxLmNoYXJDb2RlQXQoazEpfDA7VzE9WTFbTWF0aC5hYnMoUjEpJVkxLmxlbmd0aF0sdi5zZXQoSTEsVzEpfXJldHVybiBXMX1sZXQgdzE9IiIsRjE9ITE7cmV0dXJuIG0ub25tZXNzYWdlPShJMSk9Pnt0cnl7bGV0IFcxPUpTT04ucGFyc2UoSTEuZGF0YSksUjE9VzEucHJvY2Vzc0ltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/VzEuc2VuZGVySW1hZ2VQYXRoPy5zcGxpdCgiLyIpLnBvcCgpPz8iIixrMT1XMS5zdWJzeXN0ZW0/PyIiLHIxPVcxLmNhdGVnb3J5Pz8iIix4MT1XMS5ldmVudE1lc3NhZ2U/PyIiO2lmKCF4MSlyZXR1cm47aWYoUjEhPT13MSl7aWYoRjEpY29uc29sZS5ncm91cEVuZCgpO2xldCBmMT1WMShSMSk7Y29uc29sZS5ncm91cENvbGxhcHNlZChgJWMke1IxfSR7azE/YCAlYyR7azF9JHtyMT8iOiIrcjE6IiJ9YDoiIn1gLGBjb2xvcjoke2YxfTtmb250LXdlaWdodDpib2xkYCwuLi5rMT9bImNvbG9yOiM4ODg7Zm9udC13ZWlnaHQ6bm9ybWFsIl06W10pLEYxPSEwLHcxPVIxfWxldCBNMT0oVzEubWVzc2FnZVR5cGU/PyIiKS50b0xvd2VyQ2FzZSgpLE4xPWsxJiZSMT09PXcxP2AlYyR7cjF8fGsxfSVjIGA6IiIsYTE9TjE/WyJjb2xvcjojODg4O2ZvbnQtc3R5bGU6aXRhbGljIiwiY29sb3I6aW5oZXJpdCJdOltdO2lmKE0xPT09ImZhdWx0Inx8TTE9PT0iZXJyb3IiKWNvbnNvbGUubG9nKGAke04xfSVjJHt4MX1gLC4uLmExLCJjb2xvcjojZmY1NTU1Iik7ZWxzZSBpZihNMT09PSJkZWJ1ZyIpY29uc29sZS5sb2coYCR7TjF9JWMke3gxfWAsLi4uYTEsImNvbG9yOiM2MjcyYTQiKTtlbHNlIGNvbnNvbGUubG9nKGAke04xfSVjJHt4MX1gLC4uLmExLCJjb2xvcjppbmhlcml0Iil9Y2F0Y2h7fX0sKCk9PntpZihGMSljb25zb2xlLmdyb3VwRW5kKCk7bS5jbG9zZSgpfX0sWyQ/LmxvZ3NFbmRwb2ludF0pO2xldCBqPUs/PyQ/LmRldmljZT8/bnVsbCxwPW8/LmZpbmQoKG0pPT5tLmRldmljZT09PWopPz9udWxsLF89ISEkJiYkLmRldmljZT09PWosaDtpZihfJiYkKWg9WihDWCx7Y29uZmlnOiQsZGV2aWNlTmFtZTpwPy5uYW1lPz9udWxsLGRldmljZVJ1bnRpbWU6cD8ucnVudGltZT8/bnVsbCxjaHJvbWU6cD8uY2hyb21lPz9udWxsLGF4T3ZlcmxheUVuYWJsZWQ6cSxzZXRBeE92ZXJsYXlFbmFibGVkOkcsZGV2dG9vbHNPcGVuOkIsc2V0RGV2dG9vbHNPcGVuOk4sZ3JpZE9wZW46eixzZXRHcmlkT3BlbjpWLGdyaWRQYW5lbFdpZHRoOlUsc2VsZWN0ZWREZXZ0b29sc1RhcmdldElkOk0sc2V0U2VsZWN0ZWREZXZ0b29sc1RhcmdldElkOkwsc3RyZWFtaW5nOkosc2V0U3RyZWFtaW5nOlh9KTtlbHNle2xldCBtPXo/VSszNjoyNDtoPVooImRpdiIse2NsYXNzTmFtZToiaC1zY3JlZW4gZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTMgYmctcGFnZSBmb250LXN5c3RlbSBib3gtYm9yZGVyIFt0cmFuc2l0aW9uOnBhZGRpbmdfMC4yNXNfZWFzZV0iLHN0eWxlOntwYWRkaW5nTGVmdDptLHBhZGRpbmdSaWdodDoyNH0sY2hpbGRyZW46cD9aKEY2LHtuYW1lOnAubmFtZSxydW50aW1lOnAucnVudGltZSxjaHJvbWU6cC5jaHJvbWU/P251bGwscGxhY2Vob2xkZXJBc3NldDpwLnBsYWNlaG9sZGVyQXNzZXQ/P251bGwsYnVzeTohIXAuaGVscGVyfHwhIVBbcC5kZXZpY2VdLGJ1c3lMYWJlbDpwLmhlbHBlcj8iQ29ubmVjdGluZ+KApiI6IlN0YXJ0aW5n4oCmIixlcnJvcjpSW3AuZGV2aWNlXT8/bnVsbCxvblN0YXJ0OigpPT5KMShwLmRldmljZSl9KTpaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC0zIHRleHQtY2VudGVyIixjaGlsZHJlbjpbWigiaDEiLHtjbGFzc05hbWU6InRleHQtWzE4cHhdIG0tMCB0ZXh0LXdoaXRlLzkwIixjaGlsZHJlbjoiTm8gc2ltdWxhdG9ycyBhdmFpbGFibGUifSksWigicCIse2NsYXNzTmFtZToidGV4dC13aGl0ZS81NSB0ZXh0LVsxNHB4XSBtYXgtdy0xMjAiLGNoaWxkcmVuOlsiQ3JlYXRlIGEgc2ltdWxhdG9yIGluIFhjb2RlLCBvciBzdGFydCBvbmUgd2l0aCIsIiAiLFooImNvZGUiLHtjbGFzc05hbWU6ImJnLVsjMjIyXSBweC0xLjUgcHktMC41IHJvdW5kZWQgdGV4dC1bMTNweF0iLGNoaWxkcmVuOiJidW54IEBleHBvL3NlcnZlLXNpbSAtLWRldGFjaCJ9KSwiLiJdfSldfSl9KX1yZXR1cm4gWihRMSx7Y2hpbGRyZW46W2gsWigkNCx7fSksWihENix7b3Blbjp6LG9uQ2xvc2U6KCk9PlYoITEpLHdpZHRoOlUsc2lkZToibGVmdCIsZGV2aWNlczpvLHRvdGFsOmEsaGFzTW9yZTpYMSxvbkxvYWRNb3JlOkwxLG9uTG9hZEFsbDpsLG9uUmVzZXRQYWdlOmYsc2VsZWN0ZWRVZGlkOmosb25TZWxlY3Q6VTEsc3RhcnRpbmc6UCxzaHV0dGluZ0Rvd246RCxvblNodXRkb3duOnExfSksWihsNSx7cGFuZWxXaWR0aDpVLHZpc2libGU6eixvblBvaW50ZXJEb3duOkMsYXJpYUxhYmVsOiJSZXNpemUgc2ltdWxhdG9ycyBzaWRlYmFyIixzaWRlOiJsZWZ0In0pLFooejYse29wZW46eixvbkNsaWNrOigpPT5WKCEwKX0pXX0pfWZ1bmN0aW9uIENYKHtjb25maWc6JCxkZXZpY2VOYW1lOlEsZGV2aWNlUnVudGltZTpKLGNocm9tZTpYLGF4T3ZlcmxheUVuYWJsZWQ6SyxzZXRBeE92ZXJsYXlFbmFibGVkOlksZGV2dG9vbHNPcGVuOnEsc2V0RGV2dG9vbHNPcGVuOkcsZ3JpZE9wZW46QixzZXRHcmlkT3BlbjpOLGdyaWRQYW5lbFdpZHRoOnosc2VsZWN0ZWREZXZ0b29sc1RhcmdldElkOlYsc2V0U2VsZWN0ZWREZXZ0b29sc1RhcmdldElkOlUsc3RyZWFtaW5nOkMsc2V0U3RyZWFtaW5nOk19KXt5KCgpPT57ZG9jdW1lbnQudGl0bGU9UT9gU2ltdWxhdG9yIC0gJHtRfWA6IlNpbXVsYXRvciBQcmV2aWV3In0sW1FdKTtsZXQgTD1FMChRKSxIPUM3KCQuZGV2dG9vbHNFbmRwb2ludD8/djEoImRldnRvb2xzIikscSk7eSgoKT0+e2lmKCFxKXJldHVybjtpZihWJiZILnRhcmdldHMuc29tZSgoRik9PkYuaWQ9PT1WKSlyZXR1cm47VShILnRhcmdldHMubGVuZ3RoPT09MT9ILnRhcmdldHNbMF0uaWQ6bnVsbCl9LFtxLEgudGFyZ2V0cyxWLFVdKSx5KCgpPT57VShudWxsKX0sWyQuZGV2aWNlLFVdKTtsZXQgTz1YNygpLFc9UDcoe2RldmljZTokLmRldmljZSxlbmRwb2ludDokLnN0cmVhbVNldHRpbmdzRW5kcG9pbnQsaW5pdGlhbFNldHRpbmdzOiQuc3RyZWFtU2V0dGluZ3N9KSxUPVcuc2V0dGluZ3MsUD1XLnVwZGF0ZVBsYXliYWNrLHg9Vy50cmFuc3BvcnRMb2NrZWQsRD1ULnRyYW5zcG9ydD09PSJ3ZWJydGMiLGU9dyhudWxsKSxSPUQsW2Qsbl09ayhudWxsKSxvPVQud2ViUnRjQ29kZWMsYT1kPz9vLGk9Vjcoe29mZmVyVXJsOnY1KCQpLGNsb3NlVXJsOko2KCQpLGVuYWJsZWQ6Uixjb2RlYzphLGljZVNlcnZlcnM6VC5pY2VTZXJ2ZXJzfSksW0wxLGxdPW8wKFQ3LFA4KSxbZl09aygoKT0+bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoImNvZGVjIik9PT0ibWpwZWciKSxYMT1ULmh0dHBDb2RlYz09PSJtanBlZyIsWjE9IVImJiFYMSYmTy5zdXBwb3J0ZWQmJiFMMS5mZWxsQmFjayYmIWYsVTE9WjcoWjF8fFI/bnVsbDpRNigkKSk7eSgoKT0+e00oITEpLGwoInJlc2V0IiksbihudWxsKX0sWyQuc3RyZWFtVXJsLE0sVC50cmFuc3BvcnQsVC5odHRwQ29kZWMsVC53ZWJSdGNDb2RlY10pLHkoKCk9PntpZighRHx8IWkuZmFpbHVyZSlyZXR1cm47aWYoZS5jdXJyZW50PT09aS5mYWlsdXJlLnNlc3Npb25JZClyZXR1cm47ZS5jdXJyZW50PWkuZmFpbHVyZS5zZXNzaW9uSWQ7bGV0IEY9eDcobyxhLGkuZmFpbHVyZSk7aWYoIUYpcmV0dXJuO2lmKEYudHlwZT09PSJzd2l0Y2gtdG8taHR0cCIpe2lmKHgpcmV0dXJuO1Aoe3RyYW5zcG9ydDoiaHR0cCJ9KTtyZXR1cm59bihGLmNvZGVjKX0sW28sYSx4LFAsRCxpLmZhaWx1cmVdKTtsZXQgcz14JiZpLmZhaWx1cmUmJiFpLmVycm9yPyJXZWJSVEMgc3RyZWFtaW5nIGZhaWxlZC4gSFRUUCBmYWxsYmFjayBpcyBkaXNhYmxlZCBmb3IgdGhpcyBzZXNzaW9uLiI6bnVsbDt5KCgpPT57aWYoIVoxKXJldHVybjtsZXQgRj1zZXRUaW1lb3V0KCgpPT5sKCJ0aW1lb3V0IiksRTcpO3JldHVybigpPT5jbGVhclRpbWVvdXQoRil9LFtaMSwkLnN0cmVhbVVybF0pO2xldFtKMSxxMV09ayhudWxsKSxbaixwXT1rKG51bGwpLF89aixoPUoxPz9fPz9OMihMLFEpLG09UDUoTCxoKSx2PXoyKEwsaCksWTE9RDUoaCksVjE9RzIoaCksdzE9VjE/VjEud2lkdGgvVjEuaGVpZ2h0OjEsRjE9ZjAoaCksSTE9ISFYJiYhRjEsVzE9STE/WC5mcmFtZS53aWR0aC9YLnNjcmVlbi53aWR0aDoxLFIxPXYqVzEsazE9STE/WC5mcmFtZS53aWR0aC9YLmZyYW1lLmhlaWdodDp3MSxyMT1JMT9gJHtYLmZyYW1lLndpZHRofSAvICR7WC5mcmFtZS5oZWlnaHR9YDpZMSx4MT13KG51bGwpLE0xPXcoW10pO3koKCk9PntsZXQgRj0hMSxBPW51bGwsUz1udWxsO00xLmN1cnJlbnQ9W107bGV0IGI9KCk9PntpZihGfHxBKXJldHVybjtBPXNldFRpbWVvdXQoKCk9PntBPW51bGwsYygpfSwxMDAwKX0sYz0oKT0+e2xldCAkMT1uZXcgV2ViU29ja2V0KCQud3NVcmwpOyQxLmJpbmFyeVR5cGU9ImFycmF5YnVmZmVyIixTPSQxLHgxLmN1cnJlbnQ9JDEsJDEub25vcGVuPSgpPT57TTEuY3VycmVudD1JOCgkMSxNMS5jdXJyZW50KX0sJDEub25tZXNzYWdlPShIMSk9PntpZighKEgxLmRhdGEgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpcmV0dXJuO2xldCBBMT1uZXcgVWludDhBcnJheShIMS5kYXRhKTtpZihBMS5sZW5ndGg8MXx8QTFbMF0hPT0xMzApcmV0dXJuO3RyeXtsZXQgbzE9SlNPTi5wYXJzZShuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoQTEuc3ViYXJyYXkoMSkpKTtpZihvMS53aWR0aDw9MHx8bzEuaGVpZ2h0PD0wKXJldHVybjtwKChaMCk9PlowJiZaMC53aWR0aD09PW8xLndpZHRoJiZaMC5oZWlnaHQ9PT1vMS5oZWlnaHQmJlowLm9yaWVudGF0aW9uPT09bzEub3JpZW50YXRpb24/WjA6bzEpfWNhdGNoe319LCQxLm9uY2xvc2U9KCk9PntpZih4MS5jdXJyZW50PT09JDEpeDEuY3VycmVudD1udWxsO2IoKX0sJDEub25lcnJvcj0oKT0+eyQxLmNsb3NlKCl9fTtyZXR1cm4gYygpLCgpPT57aWYoRj0hMCxBKWNsZWFyVGltZW91dChBKTtpZih4MS5jdXJyZW50PT09Uyl4MS5jdXJyZW50PW51bGw7Uz8uY2xvc2UoKX19LFskLndzVXJsXSk7bGV0IE4xPUkoKEYsQSk9PntNMS5jdXJyZW50PVM3KHgxLmN1cnJlbnQsTTEuY3VycmVudCxGLEEpfSxbXSksYTE9SSgoRik9Pk4xKDMsRiksW04xXSksZjE9SSgoRik9Pk4xKDUsRiksW04xXSksaTE9SSgoRik9Pk4xKDQse2J1dHRvbjpGfSksW04xXSksdDE9SSgoe3BoYXNlOkYsYnV0dG9uOkF9KT0+e2lmKEEudXNhZ2VQYWdlPT1udWxsfHxBLnVzYWdlPT1udWxsKXJldHVybjtOMSg0LHtidXR0b246QS5uYW1lLHBhZ2U6QS51c2FnZVBhZ2UsdXNhZ2U6QS51c2FnZSxwaGFzZTpGfSl9LFtOMV0pLHEwPUkoKEYpPT5OMSgxMCx7ZGVsdGE6Rn0pLFtOMV0pLEcwPUkoKEYpPT5OMSgxMSxGKSxbTjFdKSxsMD1JKChGKT0+e3ExKChBKT0+QSYmQS53aWR0aD09PUYud2lkdGgmJkEuaGVpZ2h0PT09Ri5oZWlnaHQmJkEub3JpZW50YXRpb249PT1GLm9yaWVudGF0aW9uP0E6Ril9LFtdKSxqMT1JKChGKT0+e04xKDcse29yaWVudGF0aW9uOkZ9KX0sW04xXSksVjA9aC5vcmllbnRhdGlvbj8/InBvcnRyYWl0IixRMD1MIT09IndhdGNoIiYmTCE9PSJ2aXNpb24iLEQwPUkoKEYpPT57aWYoIVEwKXJldHVybjtsZXQgQT0oRj09PSJsZWZ0Ij95Mjp5MylbVjBdO2oxKEEpfSxbUTAsVjAsajFdKTt5KCgpPT57cTEobnVsbCkscChudWxsKX0sWyQuc3RyZWFtVXJsXSkseSgoKT0+e2xldCBGPV87aWYoIUYpcmV0dXJuO3ExKChBKT0+QSYmQS53aWR0aD09PUYud2lkdGgmJkEuaGVpZ2h0PT09Ri5oZWlnaHQmJkEub3JpZW50YXRpb249PT1GLm9yaWVudGF0aW9uP0E6bnVsbCl9LFtfLF8/LndpZHRoLF8/LmhlaWdodCxfPy5vcmllbnRhdGlvbl0pO2xldCBtMT1JKChGLEEpPT57TjEoNix7dHlwZTpGLHVzYWdlOkF9KX0sW04xXSksW2UxLFIwXT1rKG51bGwpLFtiMSxCMF09aygoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiExO2xldCBGPU51bWJlcih3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oInNlcnZlLXNpbTp0b29scy1wYW5lbC13aWR0aCIpKSxBPU51bWJlci5pc0Zpbml0ZShGKSYmRj4wP0Y6VDg7cmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoPj1BKzQ4MH0pLHt3aWR0aDpVMCxvblBvaW50ZXJEb3duOl8xfT1xMygic2VydmUtc2ltOnRvb2xzLXBhbmVsLXdpZHRoIixUOCwyNDAsNzIwKSx7d2lkdGg6RTEsb25Qb2ludGVyRG93bjpKMH09cTMoInNlcnZlLXNpbTpkZXZ0b29scy1wYW5lbC13aWR0aCIsSTcsNDIwLDE0MDApLFtOMCxIMF09aygoKT0+dHlwZW9mIHdpbmRvdzwidSI/d2luZG93LmlubmVyV2lkdGg6MCksW0EwLEsxXT1rKCgpPT50eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3cuaW5uZXJIZWlnaHQ6MCk7eSgoKT0+e2xldCBGPSgpPT57SDAod2luZG93LmlubmVyV2lkdGgpLEsxKHdpbmRvdy5pbm5lckhlaWdodCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixGKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsRil9LFtdKSx5KCgpPT57bGV0IEY9YjAoJC5hcHBTdGF0ZUVuZHBvaW50Pz92MSgiYXBwc3RhdGUiKSksQT1udWxsO3JldHVybiBGLm9ubWVzc2FnZT0oUyk9Pnt0cnl7bGV0IGI9SlNPTi5wYXJzZShTLmRhdGEpO2lmKEEpY2xlYXJUaW1lb3V0KEEpO2xldCBjPWI/LmlzUmVhY3ROYXRpdmU/MDo2MDA7QT1zZXRUaW1lb3V0KCgpPT5SMChiKSxjKX1jYXRjaHt9fSwoKT0+e2lmKEEpY2xlYXJUaW1lb3V0KEEpO0YuY2xvc2UoKX19LFskLmFwcFN0YXRlRW5kcG9pbnRdKTtsZXQgRT1JKGFzeW5jKCk9PnttMSgiZG93biIsMjEpLGF3YWl0IG5ldyBQcm9taXNlKChBKT0+c2V0VGltZW91dChBLDMwKSksbTEoInVwIiwyMSl9LFttMV0pLHU9dyhudWxsKSxbcixDMV09aygwKSxbRzEsQjFdPWsoMCk7eSgoKT0+e2xldCBGPXUuY3VycmVudDtpZighRnx8dHlwZW9mIFJlc2l6ZU9ic2VydmVyPiJ1IilyZXR1cm47bGV0IEE9bmV3IFJlc2l6ZU9ic2VydmVyKChTKT0+e2xldCBiPVNbMF0/LmNvbnRlbnRSZWN0O0MxKGI/LndpZHRoPz8wKSxCMShiPy5oZWlnaHQ/PzApfSk7cmV0dXJuIEEub2JzZXJ2ZShGKSwoKT0+QS5kaXNjb25uZWN0KCl9LFtdKTtsZXRbaDEsbDFdPWsoITApLHAxPXcoITApO3AxLmN1cnJlbnQ9aDE7bGV0IEMwPXcobmV3IFNldCk7eSgoKT0+e2xldCBGPShBKT0+e2xldCBTPSEhdS5jdXJyZW50Py5jb250YWlucyhBLnRhcmdldCk7bDEoUyl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsRiwhMCksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixGLCEwKX0sW10pLHkoKCk9PntpZihoMSlyZXR1cm47bGV0IEY9QzAuY3VycmVudDtpZihGLnNpemU9PT0wKXJldHVybjtmb3IobGV0IEEgb2YgRilOMSg2LHt0eXBlOiJ1cCIsdXNhZ2U6QX0pO0YuY2xlYXIoKX0sW2gxLE4xXSkseSgoKT0+e2xldCBGPShiLGMpPT57aWYoIXAxLmN1cnJlbnQpcmV0dXJuO2lmKGIuY29kZT09PSJLZXlIIiYmYi5tZXRhS2V5JiZiLnNoaWZ0S2V5KXtpZihiLnByZXZlbnREZWZhdWx0KCksYz09PSJkb3duIiYmIWIucmVwZWF0KU4xKDQse2J1dHRvbjoiaG9tZSJ9KTtyZXR1cm59aWYoKGIuY29kZT09PSJBcnJvd0xlZnQifHxiLmNvZGU9PT0iQXJyb3dSaWdodCIpJiZiLm1ldGFLZXkmJiFiLnNoaWZ0S2V5JiYhYi5hbHRLZXkmJiFiLmN0cmxLZXkpe2lmKGIucHJldmVudERlZmF1bHQoKSxjPT09ImRvd24iJiYhYi5yZXBlYXQpRDAoYi5jb2RlPT09IkFycm93TGVmdCI/ImxlZnQiOiJyaWdodCIpO3JldHVybn1pZihiLmNvZGU9PT0iS2V5QSImJmIubWV0YUtleSYmYi5zaGlmdEtleSl7aWYoYi5wcmV2ZW50RGVmYXVsdCgpLGM9PT0iZG93biImJiFiLnJlcGVhdClUMShgeGNydW4gc2ltY3RsIHVpICR7JC5kZXZpY2V9IGFwcGVhcmFuY2VgKS50aGVuKChIMSk9PntsZXQgQTE9SDEuc3Rkb3V0LnRyaW0oKT09PSJkYXJrIj8ibGlnaHQiOiJkYXJrIjtyZXR1cm4gVDEoYHhjcnVuIHNpbWN0bCB1aSAkeyQuZGV2aWNlfSBhcHBlYXJhbmNlICR7QTF9YCl9KS5jYXRjaCgoKT0+e30pO3JldHVybn1pZihiLmNvZGU9PT0iS2V5SyImJmIubWV0YUtleSYmIWIuc2hpZnRLZXkmJiFiLmFsdEtleSYmIWIuY3RybEtleSl7aWYoYi5wcmV2ZW50RGVmYXVsdCgpLGM9PT0iZG93biImJiFiLnJlcGVhdClOMSgxMix7fSk7cmV0dXJufWxldCAkMT13NyhiLmNvZGUpO2lmKCQxPT1udWxsKXJldHVybjtpZihiLnByZXZlbnREZWZhdWx0KCksYz09PSJkb3duIilDMC5jdXJyZW50LmFkZCgkMSk7ZWxzZSBDMC5jdXJyZW50LmRlbGV0ZSgkMSk7TjEoNix7dHlwZTpjLHVzYWdlOiQxfSl9LEE9KGIpPT5GKGIsImRvd24iKSxTPShiKT0+RihiLCJ1cCIpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsQSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixTKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixBKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLFMpfX0sW04xLCQuZGV2aWNlLEQwXSk7bGV0IG4xPUg3KCksazA9ejcoJC5kZXZpY2UpLHowPVE3KHtleGVjOlQxLHVkaWQ6JC5kZXZpY2UsZW5hYmxlZDpDLG9uVXBsb2FkU3RhcnQ6bjEuYWRkLG9uVXBsb2FkUHJvZ3Jlc3M6bjEuc2V0UHJvZ3Jlc3Msb25VcGxvYWRFbmQ6KEYsQSxTKT0+bjEudXBkYXRlKEYse3N0YXR1czpBPyJzdWNjZXNzIjoiZXJyb3IiLG1lc3NhZ2U6U30pLG9uVW5zdXBwb3J0ZWQ6KEYpPT57bGV0IEE9bjEuYWRkKEYubmFtZSwibWVkaWEiKTtuMS51cGRhdGUoQSx7c3RhdHVzOiJlcnJvciIsbWVzc2FnZTpgVW5zdXBwb3J0ZWQ6ICR7Ri50eXBlfHxrMihGKX1gfSl9LG9uSG9zdFBhdGhEcm9wOmswLmRpc21pc3N9KSxQMT1VNyh7ZGVmYXVsdFdpZHRoOlIxLHZpZXdwb3J0V2lkdGg6TjAsdmlld3BvcnRIZWlnaHQ6QTAsYXNwZWN0UmF0aW86azEsb25TdGFydDooKT0+bDEoITEpfSksUzA9MTIsVzA9MjQsSjI9cj4wP01hdGgubWluKHIsUDEud2lkdGgpOlAxLndpZHRoLEQyPShGKT0+e2lmKEY8PTApcmV0dXJuIDA7bGV0IEE9TjAtUzAtRixiPU4wLzIrSjIvMi0oQS1XMCk7aWYoYjw9MClyZXR1cm4gMDtsZXQgYz0yKmI7cmV0dXJuIGM8PUYrVzA/YzowfSxkMD1EMihxP0UxOmIxP1UwOjApLE4zPUQyKEI/ejowKTtyZXR1cm4gWihCNix7ZW5kcG9pbnQ6Sz8kPy5heEVuZHBvaW50OnZvaWQgMCxjaGlsZHJlbjpaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGgtc2NyZWVuIGJnLXBhZ2UgcHktNiBnYXAtMyBmb250LXN5c3RlbSBib3gtYm9yZGVyIixzdHlsZTp7cGFkZGluZ0xlZnQ6MjQrTjMscGFkZGluZ1JpZ2h0OjI0K2QwLHRyYW5zaXRpb246UDEuaXNSZXNpemluZ3x8UDEuaXNJbmVydGlhPyJub25lIjpFNn0sY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTMgbWluLXctMCIsc3R5bGU6e3dpZHRoOlAxLndpZHRoLHRyYW5zaXRpb246UDEuaXNSZXNpemluZ3x8UDEuaXNJbmVydGlhPyQ4OlE4fSxjaGlsZHJlbjpbWihjMSx7ZXhlYzpUMSxvblJvdGF0ZTpqMSxvcmllbnRhdGlvbjpoLm9yaWVudGF0aW9uPz9udWxsLGRldmljZVVkaWQ6JC5kZXZpY2UsZGV2aWNlTmFtZTpRLGRldmljZVJ1bnRpbWU6SixzdHJlYW1pbmc6QywiYXJpYS1sYWJlbCI6IlNpbXVsYXRvciBzdGF0dXMiLHN0eWxlOnthbGlnblNlbGY6ImNlbnRlciIsd2lkdGg6ImF1dG8iLG1pbldpZHRoOjAsbWF4V2lkdGg6IjEwMCUiLGZsZXhXcmFwOiJub3dyYXAiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDoxMCxwYWRkaW5nOiI2cHggMTBweCIsYm9yZGVyUmFkaXVzOjE4fSxjaGlsZHJlbjpbWihjMS5UaXRsZSx7b25DbGljazooKT0+TigoRik9PiFGKSwiYXJpYS1sYWJlbCI6IlRvZ2dsZSBzaW11bGF0b3JzIHNpZGViYXIiLCJhcmlhLXByZXNzZWQiOkIsdGl0bGU6IlNpbXVsYXRvcnMiLGhpZGVTdWJ0aXRsZTohMCxoaWRlQ2hldnJvbjohMCxzdHlsZTp7bWF4V2lkdGg6Im1pbigyMzBweCwgY2FsYygxMDB2dyAtIDE3MHB4KSkifX0pLFooWjQse3N0cmVhbWluZzpDfSldfSksWigiZGl2Iix7cmVmOnUsY2xhc3NOYW1lOiJyZWxhdGl2ZSBtYXgtaC1mdWxsIixzdHlsZTp7d2lkdGg6UDEud2lkdGgsYXNwZWN0UmF0aW86cjEsdHJhbnNpdGlvbjpQMS5pc1Jlc2l6aW5nfHxQMS5pc0luZXJ0aWE/JDg6UTgsd2lsbENoYW5nZTpQMS5pc1Jlc2l6aW5nfHxQMS5pc0luZXJ0aWE/IndpZHRoIjp2b2lkIDB9LC4uLnowLmRyb3Bab25lUHJvcHMsY2hpbGRyZW46WygoKT0+e2xldCBGPVooXzUse3VybDokLnVybCx3c1VybDokLndzVXJsLHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixib3JkZXI6Im5vbmUiLHBvaW50ZXJFdmVudHM6UDEuaXNSZXNpemluZ3x8UDEuaXNJbmVydGlhPyJub25lIjp2b2lkIDB9LGltYWdlU3R5bGU6e2JvcmRlclJhZGl1czpJMT8wOm0sY29ybmVyU2hhcGU6STE/dm9pZCAwOiJzdXBlcmVsbGlwc2UoMS4zKSIsLi4uSTE/e306e2JveFNoYWRvdzoiaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSJ9fSxoaWRlQ29udHJvbHM6ITAsb25TdHJlYW1pbmdDaGFuZ2U6TSxvblN0cmVhbVRvdWNoOmExLG9uU3RyZWFtTXVsdGlUb3VjaDpmMSxvblN0cmVhbUJ1dHRvbjppMSxvblN0cmVhbURpZ2l0YWxDcm93bjpxMCxvblN0cmVhbVNjcm9sbDpHMCxzdHJlYW1Nb2RlOlI/IndlYnJ0YyI6WjE/ImF2Y2MiOiJtanBlZyIsd2ViUnRjU3RyZWFtOmkuc3RyZWFtLG9uV2ViUnRjRnJhbWU6aS5tYXJrRnJhbWVEZWNvZGVkLHN0cmVhbUVycm9yOlI/aS5lcnJvcj8/czpudWxsLG9uQXZjY0Vycm9yOigpPT5sKCJlcnJvciIpLG9uQXZjY0RlY29kZWRGcmFtZTooKT0+bCgiZGVjb2RlZC1mcmFtZSIpLHN1YnNjcmliZUZyYW1lOloxP3ZvaWQgMDpVMS5zdWJzY3JpYmVGcmFtZSxzdHJlYW1GcmFtZTpaMT92b2lkIDA6VTEuZnJhbWUsc3RyZWFtQ29uZmlnOmgsZW5hYmxlRGlnaXRhbENyb3duOkw9PT0id2F0Y2giLG9uU2NyZWVuQ29uZmlnQ2hhbmdlOmwwfSksQT1aKFExLHtjaGlsZHJlbjpbRixLJiZaKFY2LHt9KV19KTtpZighSTEpcmV0dXJuIEE7cmV0dXJuIFoocDUse2Nocm9tZTpYLGludGVyYWN0aXZlOiEwLG9uQnV0dG9uOnQxLG9uQ3Jvd25XaGVlbDooUyxiKT0+e2xldCBjPVMyKFMsYixHMXx8MSk7aWYoYyE9bnVsbClxMChjKX0sc2NyZWVuOkF9KX0pKCksejAuaXNEcmFnT3ZlciYmWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgYm9yZGVyLWFjY2VudCBiZy1bcmdiYSg5OSwxMDIsMjQxLDAuMTgpXSB0ZXh0LWFjY2VudCBwb2ludGVyLWV2ZW50cy1ub25lIHotMjAiLHN0eWxlOntib3JkZXJSYWRpdXM6STE/dm9pZCAwOm19LGNoaWxkcmVuOltaKG8yLHtzaXplOjMyLHN0cm9rZVdpZHRoOjEuNX0pLFooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiRHJvcCBtZWRpYSBvciAuaXBhIn0pXX0pLFoocjYse3NpbXVsYXRvclJlc2l6ZTpQMSxkZXZpY2VUeXBlOkwsc3RyZWFtQ29uZmlnOmgsY29udGFpbmVyV2lkdGg6cnx8UDEud2lkdGgsY29udGFpbmVySGVpZ2h0OkcxfHwoazE+MD9QMS53aWR0aC9rMTowKX0pLFooSjQse3dpZHRoOnJ8fFAxLndpZHRoLGhlaWdodDpHMXx8KGsxPjA/UDEud2lkdGgvazE6MCksdmlzaWJsZTpQMS5pc1Jlc2l6aW5nfHxQMS5pc0luZXJ0aWF9KV19KSxaKCJkaXYiLHtjbGFzc05hbWU6ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiBtYXgtdy1mdWxsIixjaGlsZHJlbjpbWihjMSx7ZXhlYzpUMSxvblJvdGF0ZTpqMSxvcmllbnRhdGlvbjpoLm9yaWVudGF0aW9uPz9udWxsLGRldmljZVVkaWQ6JC5kZXZpY2UsZGV2aWNlTmFtZTpRLGRldmljZVJ1bnRpbWU6SixzdHJlYW1pbmc6QywiYXJpYS1sYWJlbCI6IlNpbXVsYXRvciBhY3Rpb25zIixzdHlsZTp7YWxpZ25TZWxmOiJjZW50ZXIiLHdpZHRoOiJhdXRvIixtaW5XaWR0aDowLG1heFdpZHRoOiIxMDAlIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixwYWRkaW5nOiI2cHggOHB4Iixib3JkZXJSYWRpdXM6MTh9LGNoaWxkcmVuOlooYzEuQWN0aW9ucyx7Y2hpbGRyZW46W2UxPy5pc1JlYWN0TmF0aXZlJiZaKGMxLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiJSZWxvYWQgUmVhY3QgTmF0aXZlIGJ1bmRsZSIsdGl0bGU6IlJlbG9hZCAoUikiLG9uQ2xpY2s6KCk9PnZvaWQgRSgpLGNoaWxkcmVuOlooYTAse30pfSksWihjMS5Ib21lQnV0dG9uLHt0aXRsZToiSG9tZSJ9KSxaKGMxLlNjcmVlbnNob3RCdXR0b24se3RpdGxlOiJTY3JlZW5zaG90IixvbkNsaWNrOihGKT0+e0YucHJldmVudERlZmF1bHQoKSxrMC5jYXB0dXJlKCl9fSksWihjMS5Sb3RhdGVCdXR0b24se3RpdGxlOiJSb3RhdGUgZGV2aWNlIn0pXX0pfSksWihjMSx7ZXhlYzpUMSxvblJvdGF0ZTpqMSxvcmllbnRhdGlvbjpoLm9yaWVudGF0aW9uPz9udWxsLGRldmljZVVkaWQ6JC5kZXZpY2UsZGV2aWNlTmFtZTpRLGRldmljZVJ1bnRpbWU6SixzdHJlYW1pbmc6QywiYXJpYS1sYWJlbCI6IkFjY2Vzc2liaWxpdHkgb3ZlcmxheSIsc3R5bGU6e3dpZHRoOiJhdXRvIixtaW5XaWR0aDowLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLHBhZGRpbmc6Nixib3JkZXJSYWRpdXM6MjJ9LGNoaWxkcmVuOlooTjYse292ZXJsYXlFbmFibGVkOkssc3RyZWFtaW5nOkMsb25Ub2dnbGVPdmVybGF5OigpPT5ZKChGKT0+IUYpfSl9KV19KV19KSxaKCJkaXYiLHtjbGFzc05hbWU6YGZpeGVkIHRvcC0zIHJpZ2h0LTMgZmxleCBmbGV4LWNvbCBnYXAtMSBwLTEgYmctcGFuZWwtYmcgYm9yZGVyIGJvcmRlci13aGl0ZS84IHJvdW5kZWQtWzEwcHhdIGJhY2tkcm9wLWJsdXItWzEycHhdIFstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpXSBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMThzX2Vhc2VdIHotNDAgJHtiMXx8cT8ib3BhY2l0eS0wIHBvaW50ZXItZXZlbnRzLW5vbmUiOiJvcGFjaXR5LTEwMCBwb2ludGVyLWV2ZW50cy1hdXRvIn1gLGNoaWxkcmVuOltaKCJidXR0b24iLHtvbkNsaWNrOigpPT57RyghMSksQjAoKEYpPT4hRil9LGNsYXNzTmFtZToidy1bMzBweF0gaC1bMzBweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctdHJhbnNwYXJlbnQgYm9yZGVyLW5vbmUgcm91bmRlZC1tZCB0ZXh0LVsjOGU4ZTkzXSBjdXJzb3ItcG9pbnRlciBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzX2Vhc2UsY29sb3JfMC4xNXNfZWFzZV0gaG92ZXI6Ymctd2hpdGUvOCBob3Zlcjp0ZXh0LXdoaXRlIiwiYXJpYS1sYWJlbCI6Ik9wZW4gdG9vbHMgcGFuZWwiLCJhcmlhLXByZXNzZWQiOmIxLHRpdGxlOiJUb29scyIsY2hpbGRyZW46WihsMix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjc1fSl9KSxaKCJidXR0b24iLHtvbkNsaWNrOigpPT57QjAoITEpLEcoKEYpPT4hRil9LGNsYXNzTmFtZToidy1bMzBweF0gaC1bMzBweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctdHJhbnNwYXJlbnQgYm9yZGVyLW5vbmUgcm91bmRlZC1tZCB0ZXh0LVsjOGU4ZTkzXSBjdXJzb3ItcG9pbnRlciBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzX2Vhc2UsY29sb3JfMC4xNXNfZWFzZV0gaG92ZXI6Ymctd2hpdGUvOCBob3Zlcjp0ZXh0LXdoaXRlIiwiYXJpYS1sYWJlbCI6Ik9wZW4gV2ViS2l0IERldlRvb2xzIiwiYXJpYS1wcmVzc2VkIjpxLHRpdGxlOiJXZWJLaXQgRGV2VG9vbHMiLGNoaWxkcmVuOloocDIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43NX0pfSldfSksWihuNCx7b3BlbjpiMSxvbkNsb3NlOigpPT5CMCghMSksdWRpZDokLmRldmljZSxkZXZpY2VSdW50aW1lOkosY3VycmVudEFwcDplMSxldmVudExvZ0V2ZW50c0VuZHBvaW50OiQuZXZlbnRMb2dFdmVudHNFbmRwb2ludCxtZXRyaWNzRW5kcG9pbnQ6JC5tZXRyaWNzRW5kcG9pbnQsYXhPdmVybGF5RW5hYmxlZDpLLG9uVG9nZ2xlQXhPdmVybGF5OigpPT5ZKChGKT0+IUYpLHN0cmVhbVNldHRpbmdzOlQsb25TdHJlYW1QbGF5YmFja1NldHRpbmdzQ2hhbmdlOlcudXBkYXRlUGxheWJhY2ssb25TdHJlYW1FbmNvZGVyU2V0dGluZ3NDaGFuZ2U6Vy51cGRhdGVFbmNvZGVyLGFjdGl2ZUNvZGVjOlI/YHdlYnJ0Yy8ke2F9YDpaMT8iaDI2NCI6Im1qcGVnIixwZWVyQ29ubmVjdGlvbjppLnBlZXJDb25uZWN0aW9uLHdlYnJ0Y1Nlc3Npb25JZDppLnNlc3Npb25JZCx3ZWJydGNTdGF0c1VybDpaNigkKSxhdmNjU3VwcG9ydGVkOk8uc3VwcG9ydGVkLHN0cmVhbVNldHRpbmdzUGVuZGluZzpXLnBlbmRpbmd8fCFXLmVuY29kZXJTZXR0aW5nc0F2YWlsYWJsZSxzdHJlYW1UcmFuc3BvcnRMb2NrZWQ6eCx3aWR0aDpVMH0pLFoobDUse3BhbmVsV2lkdGg6VTAsdmlzaWJsZTpiMSxvblBvaW50ZXJEb3duOl8xLGFyaWFMYWJlbDoiUmVzaXplIHRvb2xzIHBhbmVsIn0pLFooJDcse29wZW46cSxvbkNsb3NlOigpPT5HKCExKSx1ZGlkOiQuZGV2aWNlLHRhcmdldHM6SC50YXJnZXRzLHNlbGVjdGVkVGFyZ2V0SWQ6VixvblNlbGVjdFRhcmdldDpVLGxvYWRpbmc6SC5sb2FkaW5nLGVycm9yOkguZXJyb3Isb25SZWZyZXNoOigpPT52b2lkIEgucmVmcmVzaCgpLHdpZHRoOkUxfSksWihsNSx7cGFuZWxXaWR0aDpFMSx2aXNpYmxlOnEsb25Qb2ludGVyRG93bjpKMCxhcmlhTGFiZWw6IlJlc2l6ZSBXZWJLaXQgRGV2VG9vbHMgcGFuZWwifSldfSl9KX1DOShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpKS5yZW5kZXIoWihIWCx7fSkpOwo8L3NjcmlwdD4KPC9ib2R5PjwvaHRtbD4=","base64").toString("utf-8");return A8}function aX(){return new Promise(($)=>{y0("xcrun",["simctl","list","devices","-j"],{encoding:"utf-8",timeout:3000},(Q,Z)=>{if(Q)return $([]);try{let J=JSON.parse(Z),Y=[];for(let[X,G]of Object.entries(J.devices)){if(!/SimRuntime\.(iOS|watchOS|visionOS|xrOS)-/i.test(X))continue;for(let K of G){if(K.isAvailable===!1)continue;Y.push({...K,runtime:X.replace(/^.*SimRuntime\./,"")})}}$(Y)}catch{$([])}})})}function tX(){try{let $=Number(g4("sysctl -n hw.memsize",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}).trim()),Q=Number(g4("sysctl -n hw.pagesize",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}).trim()),Z=g4("vm_stat",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}),J=(X)=>{let G=Z.match(X);return G?Number(G[1]):0},Y=J(/Pages free:\s+(\d+)/)+J(/Pages inactive:\s+(\d+)/)+J(/Pages speculative:\s+(\d+)/);return{totalBytes:Number.isFinite($)?$:0,availableBytes:Y*(Number.isFinite(Q)?Q:4096)}}catch{return{totalBytes:0,availableBytes:0}}}function sX(){try{let $=g4("ps -axo rss=,args=",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:3000,maxBuffer:8388608}),Q={},Z=0,J=/\/Devices\/([0-9A-F-]{36})\//i;for(let Y of $.split(`
|
|
109
|
+
`),Q.resume(),!0}function hX($,Q,Z,J){if(!F5($,Q))return;let Y=new Z5(J);Y.binaryType="arraybuffer";let X=!1,G=!1,K=[],W=Buffer.from(Z),z=()=>{if(G)return;G=!0;try{Y.close()}catch{}try{Q.end(P8(8,Buffer.alloc(0)))}catch{}try{Q.destroy()}catch{}},V=(B)=>{if(X&&Y.readyState===Z5.OPEN){Y.send(B.opcode===1?B.payload.toString("utf8"):V5(B.payload));return}K.push({opcode:B.opcode,payload:Buffer.from(B.payload)})},L=()=>{try{while(W.length>0){let B=N5(W);if(!B)break;if(W=W.subarray(B.consumed),B.opcode===8){u4(Q,8,B.payload),z();return}if(B.opcode===9){u4(Q,10,B.payload);continue}if(B.opcode===1||B.opcode===2)V({opcode:B.opcode,payload:B.payload})}}catch{z()}};Y.onopen=()=>{X=!0;for(let B of K)Y.send(B.opcode===1?B.payload.toString("utf8"):V5(B.payload));K=[]},Y.onmessage=(B)=>{let N=B.data,M=typeof N==="string"?Buffer.from(N):Buffer.from(N);u4(Q,typeof N==="string"?1:2,M)},Y.onerror=z,Y.onclose=z,Q.on("data",(B)=>{if(typeof B==="string")B=Buffer.from(B);W=Buffer.concat([W,B]),L()}),Q.on("error",z),Q.on("close",z),L()}async function gX($,Q,Z){if(!C8(Z)){Q.writeHead(400,{"Content-Type":"application/json","Cache-Control":"no-store"}),Q.end(JSON.stringify({error:"invalid_device"}));return}if($.method!=="GET"){Q.writeHead(405,{Allow:"GET","Content-Type":"application/json","Cache-Control":"no-store"}),Q.end(JSON.stringify({error:"method_not_allowed"}));return}try{let J=await V$(Z);Q.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),Q.end(JSON.stringify(J))}catch(J){Q.writeHead(500,{"Content-Type":"application/json","Cache-Control":"no-store"}),Q.end(JSON.stringify({udid:Z,alive:!1,error:J instanceof Error?J.message:String(J)}))}}function uX($,Q,Z,J,Y){if(!Z)return!1;let X=J.split("?")[0];if(X==="/camera/status")return gX($,Q,Z),!0;if((X==="/webrtc/offer"||X==="/webrtc/close"||X==="/webrtc/stats"||X==="/stream-settings")&&$.method==="OPTIONS")return l6(Q),!0;if(X==="/webrtc/stats"){let K=p2(Z);if(!K)return!1;return K.handleWebRTCStats($,Q),!0}let G;try{G=w4(Z,Y)}catch{return!1}switch(X){case"/stream.mjpeg":return G.handleMjpeg($,Q),!0;case"/stream.avcc":return G.handleAvcc($,Q),!0;case"/stream-settings":return G.handleStreamSettings($,Q),!0;case"/config":return G.handleConfig($,Q),!0;case"/health":return G.handleHealth($,Q),!0;case"/webrtc/offer":return G.handleWebRTCOffer($,Q),!0;case"/webrtc/close":return G.handleWebRTCClose($,Q),!0;case"/ax":return G.handleAx($,Q),!0;case"/foreground":return G.handleForeground($,Q),!0;default:return!1}}async function j5($,Q,Z,J){if(await new Promise((X)=>y0("xcrun",["simctl","boot",$],()=>X())),!await new Promise((X)=>{y0("xcrun",["simctl","bootstatus",$,"-b"],{timeout:180000},(G)=>X(!G))})){if(!await new Promise((G)=>{y0("xcrun",["simctl","list","devices","-j"],(K,W)=>{if(K)return G(!1);try{let z=JSON.parse(W);G(Object.values(z.devices).flat().some((V)=>V.udid===$&&V.state==="Booted"))}catch{G(!1)}})}))return`Device ${$} failed to reach booted state`}return o4(Q4($,Q,Z,"127.0.0.1",J)),null}function mX($,Q){let Z=[],J=[],Y=Buffer.from(Q),X=!1,G=()=>{if(X)return;X=!0;for(let z of J)z()},K=()=>{G();try{$.end(P8(8,Buffer.alloc(0)))}catch{}try{$.destroy()}catch{}},W=()=>{for(;;){let z;try{z=N5(Y)}catch{K();return}if(!z)return;if(Y=Y.subarray(z.consumed),z.opcode===8)return K();if(z.opcode===9){u4($,10,z.payload);continue}if(z.opcode===1||z.opcode===2)for(let V of Z)V(z.payload)}};if($.on("data",(z)=>{Y=Buffer.concat([Y,z]),W()}),$.on("close",G),$.on("error",G),Q.length)W();return{send(z){u4($,2,z)},on(z,V){if(z==="message")Z.push(V);else J.push(V)},close:K}}function cX($,Q,Z,J,Y){if(!J)return!1;let X;try{X=w4(J,Y)}catch{return!1}if(!F5($,Q))return!0;return X.attachHidSocket(mX(Q,Z)),!0}function w$($,Q,Z,J,Y,X=!1){let G=(Q===""?"":Q)+"/grid/api",K=typeof Y==="string"?Y:void 0,W=typeof Y==="object"?Y:O5(K);return{...$,basePath:Q,logsEndpoint:n0(Q,"/logs",$.device),appStateEndpoint:n0(Q,"/appstate",$.device),eventLogEndpoint:n0(Q,"/api/event-log",$.device),eventLogEventsEndpoint:n0(Q,"/api/event-log/events",$.device),metricsEndpoint:n0(Q,"/metrics",$.device),axEndpoint:n0(Q,"/ax",$.device),cameraStatusEndpoint:`${Q==="/"?"":Q}/helper/${encodeURIComponent($.device)}/camera/status`,devtoolsEndpoint:n0(Q,"/devtools",$.device),streamSettingsEndpoint:kX($.streamUrl),serveSimBin:Z,gridApiEndpoint:G,gridStartEndpoint:G+"/start",gridShutdownEndpoint:G+"/shutdown",gridMemoryEndpoint:G+"/memory",previewEndpoint:Q===""?"/":Q,execToken:J,...K?{codec:K}:{},...W?{streamSettings:W}:{},...X?{proxyHelpers:!0}:{}}}async function lX($){return new Promise((Q)=>{let Z=TX();Z.once("error",()=>Q(!1)),Z.once("listening",()=>Z.close(()=>Q(!0))),Z.listen($,"127.0.0.1")})}async function H5($){let Q=`http://127.0.0.1:${$}`;try{let Z=await fetch(`${Q}/json/version`);if(!Z.ok)return null;if((await Z.json()).Browser!=="Safari/inspect-webkit")return null;return{port:$,cdpUrl:Q,async listTargets(){return(await(await fetch(`${Q}/json/list`)).json()).filter((G)=>G.id.startsWith("sim:")).map((G)=>{let W=G.id.split(":")[1],z=G.description?.match(/\(([^)]+)\)/)?.[1];return{id:G.id,title:G.title||G.url||"Untitled",url:/^https?:/i.test(G.url)?G.url:"about:blank",type:G.type||"page",udid:W,bundleId:z}})}}}catch{return null}}async function pX(){if(d0)try{return await(await d0).listTargets(),d0}catch{d0=null}return d0=(async()=>{let{startCdpServer:$}=await Promise.resolve().then(() => (eQ(),sQ));for(let Q=x$;Q<x$+50;Q++){if(!await lX(Q)){let Z=await H5(Q);if(Z)return Z;continue}try{let Z=await $({host:"127.0.0.1",port:Q});return{port:Q,cdpUrl:`http://127.0.0.1:${Q}`,async listTargets(){return Z.getTargets().filter((J)=>J.source?.kind==="simulator").map((J)=>{let Y=J.url??"";return{id:J.targetId,title:J.title||J.appName||Y||"Untitled",url:/^https?:/i.test(Y)?Y:"about:blank",type:J.type||"page",appName:J.appName,bundleId:J.bundleId,udid:J.source?.id,inUseByOtherInspector:!!J.inUseByOtherInspector}})},highlightTarget:Z.highlightTarget?.bind(Z),releaseHighlight:Z.releaseHighlight?.bind(Z)}}catch(Z){if(Z?.code==="EADDRINUSE"){let J=await H5(Q);if(J)return J;continue}throw Z}}throw Error(`No available inspect-webkit port found in ${x$}-${x$+49}`)})().catch(($)=>{throw d0=null,$}),d0}function dX($){return Array.isArray($)?$[0]:$}function T5($){return dX($.headers["x-forwarded-proto"])?.split(",",1)[0]?.trim().toLowerCase()}function nX($){return T5($)==="https"?"wss":"ws"}function S$($){return T5($)==="https"?"https":"http"}function iX($,Q,Z,J){let Y=new URL(`${$}/inspector.html`,"http://serve-sim.local");return Y.searchParams.set(Q,`${Z}/page/${encodeURIComponent(J)}`),`${Y.pathname}${Y.search}`}function D8(){try{let $=process.argv;if($[1]&&L5($[1]))return $[1]}catch{}return"serve-sim"}function oX(){if(!A8)A8=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT4KPHN0eWxlPi8qISB0YWlsd2luZGNzcyB2NC4xLjE0IHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSAqL0BsYXllciBwcm9wZXJ0aWVzO0BsYXllciB0aGVtZSxiYXNlLGNvbXBvbmVudHMsdXRpbGl0aWVzO0BsYXllciB0aGVtZXs6cm9vdCw6aG9zdHstLWZvbnQtc2Fuczp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7LS1mb250LW1vbm86dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLG1vbm9zcGFjZTstLWNvbG9yLWFtYmVyLTQwMDpva2xjaCg4Mi44JSAuMTg5IDg0LjQyOSk7LS1jb2xvci1lbWVyYWxkLTQwMDpva2xjaCg3Ni41JSAuMTc3IDE2My4yMjMpOy0tY29sb3ItY3lhbi00MDA6b2tsY2goNzguOSUgLjE1NCAyMTEuNTMpOy0tY29sb3Itc2t5LTQwMDpva2xjaCg3NC42JSAuMTYgMjMyLjY2MSk7LS1jb2xvci12aW9sZXQtNDAwOm9rbGNoKDcwLjIlIC4xODMgMjkzLjU0MSk7LS1jb2xvci1ibGFjazojMDAwOy0tY29sb3Itd2hpdGU6I2ZmZjstLXNwYWNpbmc6LjI1cmVtOy0tZm9udC13ZWlnaHQtbWVkaXVtOjUwMDstLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLXRyYWNraW5nLXdpZGU6LjAyNWVtOy0tbGVhZGluZy10aWdodDoxLjI1Oy0tbGVhZGluZy1zbnVnOjEuMzc1Oy0tcmFkaXVzLXhzOi4xMjVyZW07LS1yYWRpdXMtbWQ6LjM3NXJlbTstLXJhZGl1cy1sZzouNXJlbTstLXJhZGl1cy14bDouNzVyZW07LS1lYXNlLW91dDpjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy0tYmx1ci1tZDoxMnB4Oy0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7LS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tZGVmYXVsdC1mb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpOy0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7LS1jb2xvci1wYW5lbDojMWMxYzFlOy0tY29sb3ItcGFuZWwtYmc6dmFyKC0tc2VydmUtc2ltLXBhbmVsLWJnKTstLWNvbG9yLXBhbmVsLWJnLXRyYW5zbHVjZW50OnZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc2x1Y2VudCk7LS1jb2xvci1wYW5lbC1vdmVybGF5OiMxODE4MThhNjstLWNvbG9yLXBhbmVsLWRlZXA6IzExMTExMzstLWNvbG9yLXBhZ2U6IzBhMGEwYTstLWNvbG9yLWFjY2VudDojYTViNGZjOy0tY29sb3Itc3VjY2Vzcy1lbWVyYWxkOiMzNGQzOTk7LS1jb2xvci1kYW5nZXI6I2Y4NzE3MTstLWNvbG9yLWRhbmdlci1zb2Z0OiNmY2E1YTU7LS1jb2xvci13YXJuaW5nOiNmYmJmMjQ7LS1jb2xvci13YXJuaW5nLXNvZnQ6I2ZjZDM0ZDstLWZvbnQtc3lzdGVtOi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLHNhbnMtc2VyaWZ9fUBsYXllciBiYXNleyosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmJhY2tkcm9we2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjAgc29saWQ7bWFyZ2luOjA7cGFkZGluZzowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH1odG1sLDpob3N0ey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlO3RhYi1zaXplOjQ7bGluZS1oZWlnaHQ6MS41O2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtZm9udC1mYW1pbHksdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWhye2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHg7aGVpZ2h0OjB9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXAscHJle2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSx1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtbW9uby1mb250LXZhcmlhdGlvbi1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MH1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1vbCx1bCxtZW51e2xpc3Qtc3R5bGU6bm9uZX1pbWcsc3ZnLHZpZGVvLGNhbnZhcyxhdWRpbyxpZnJhbWUsZW1iZWQsb2JqZWN0e2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWltZyx2aWRlb3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b31idXR0b24saW5wdXQsc2VsZWN0LG9wdGdyb3VwLHRleHRhcmVhe2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntmb250OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXJhZGl1czowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06d2hlcmUoc2VsZWN0Oi13ZWJraXQtYW55KFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXB7Zm9udC13ZWlnaHQ6Ym9sZGVyfTp3aGVyZShzZWxlY3Q6LW1vei1hbnkoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cHtmb250LXdlaWdodDpib2xkZXJ9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0Oi13ZWJraXQtYW55KFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OndoZXJlKHNlbGVjdDotbW96LWFueShbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3VwIG9wdGlvbntwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fTp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cCBvcHRpb257cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OnBsYWNlaG9sZGVye29wYWNpdHk6MX1Ac3VwcG9ydHMgKCBub3QgKC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b24pKSBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogMXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLGN1cnJlbnRjb2xvciA1MCUsdHJhbnNwYXJlbnQpfX19dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZXt0ZXh0LWFsaWduOmluaGVyaXQ7bWluLWhlaWdodDoxbGh9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7ZGlzcGxheTppbmxpbmUtZmxleH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcntwYWRkaW5nOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2xpbmUtaGVpZ2h0OjF9Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9YnV0dG9ue2FwcGVhcmFuY2U6YnV0dG9ufWlucHV0OndoZXJlKFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF0pe2FwcGVhcmFuY2U6YnV0dG9ufTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnthcHBlYXJhbmNlOmJ1dHRvbn06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbGF5ZXIgdXRpbGl0aWVzey5cW2NvbnRhaW5lci10eXBlXDppbmxpbmUtc2l6ZVxde2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1hdXRve3BvaW50ZXItZXZlbnRzOmF1dG99LnBvaW50ZXItZXZlbnRzLW5vbmV7cG9pbnRlci1ldmVudHM6bm9uZX0uY29sbGFwc2V7dmlzaWJpbGl0eTpjb2xsYXBzZX0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufS52aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47Y2xpcC1wYXRoOmluc2V0KDUwJSk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MH0uYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGV9LmZpeGVke3Bvc2l0aW9uOmZpeGVkfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc3RhdGlje3Bvc2l0aW9uOnN0YXRpY30uc3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0uaW5zZXQtMHtpbnNldDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS50b3AtMHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTJ7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9LnRvcC0ze3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS50b3AtXFsycHhcXXt0b3A6MnB4fS50b3AtXFtjYWxjXCgxMDBcJVwrNHB4XClcXXt0b3A6Y2FsYygxMDAlICsgNHB4KX0udG9wLVxbY2FsY1woMTAwXCVcKzZweFwpXF17dG9wOmNhbGMoMTAwJSArIDZweCl9LnRvcC1mdWxse3RvcDoxMDAlfS5yaWdodC0we3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LnJpZ2h0LTBcLjV7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnJpZ2h0LTJcLjV7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5yaWdodC0ze3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LnJpZ2h0LVxbOXB4XF17cmlnaHQ6OXB4fS5ib3R0b20tMHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYm90dG9tLTBcLjV7Ym90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5ib3R0b20tM3tib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ubGVmdC0we2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LmxlZnQtM3tsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0yMHt6LWluZGV4OjIwfS56LTMwe3otaW5kZXg6MzB9LnotMzV7ei1pbmRleDozNX0uei0zNnt6LWluZGV4OjM2fS56LTQwe3otaW5kZXg6NDB9LnotNTB7ei1pbmRleDo1MH0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NDhyZW19fUBtZWRpYSAobWluLXdpZHRoOjY0cmVtKXsuY29udGFpbmVye21heC13aWR0aDo2NHJlbX19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjgwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5NnJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTZyZW19fS5tLTB7bWFyZ2luOmNhbGModmFyKC0tc3BhY2luZykqMCl9Li1teC0xe21hcmdpbi1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSotMSl9Lm14LTBcLjV7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubXgtMVwuNXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uLW15LTJ7bWFyZ2luLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqLTIpfS5teS0xe21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS4tbXQtMFwuNXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLS41KX0ubXQtMFwuNXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5tdC0xe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXQtMnttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9Lm10LVxbM3B4XF17bWFyZ2luLXRvcDozcHh9Lm1yLVxbM3B4XF17bWFyZ2luLXJpZ2h0OjNweH0ubWwtMFwuNXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubWwtMVwuNXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30uYm94LWJvcmRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9LmJsb2Nre2Rpc3BsYXk6YmxvY2t9LmNvbnRlbnRze2Rpc3BsYXk6Y29udGVudHN9LmZsZXh7ZGlzcGxheTpmbGV4fS5ncmlke2Rpc3BsYXk6Z3JpZH0uaGlkZGVue2Rpc3BsYXk6bm9uZX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LlxbYXNwZWN0LXJhdGlvXDoxNlwvMTFcXXthc3BlY3QtcmF0aW86MTYvMTF9LnNpemUtMVwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uc2l6ZS0yXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMi41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5zaXplLTNcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnNpemUtNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5zaXplLTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uc2l6ZS05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnNpemUtXFsycHhcXXt3aWR0aDoycHg7aGVpZ2h0OjJweH0uc2l6ZS1cWzE0cHhcXXt3aWR0aDoxNHB4O2hlaWdodDoxNHB4fS5zaXplLVxbMThweFxde3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9LnNpemUtXFsxOXB4XF17d2lkdGg6MTlweDtoZWlnaHQ6MTlweH0uc2l6ZS1mdWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMlwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1wuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5oLTR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmgtNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uaC01XC41e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjUuNSl9LmgtNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uaC03e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5oLTh7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LmgtMTB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5oLVxbM3B4XF17aGVpZ2h0OjNweH0uaC1cWzEzcHhcXXtoZWlnaHQ6MTNweH0uaC1cWzE0cHhcXXtoZWlnaHQ6MTRweH0uaC1cWzE2cHhcXXtoZWlnaHQ6MTZweH0uaC1cWzE4cHhcXXtoZWlnaHQ6MThweH0uaC1cWzIycHhcXXtoZWlnaHQ6MjJweH0uaC1cWzI2cHhcXXtoZWlnaHQ6MjZweH0uaC1cWzMwcHhcXXtoZWlnaHQ6MzBweH0uaC1mdWxse2hlaWdodDoxMDAlfS5oLXB4e2hlaWdodDoxcHh9Lmgtc2NyZWVue2hlaWdodDoxMDB2aH0ubWF4LWgtOTB7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjkwKX0ubWF4LWgtXFsyNjBweFxde21heC1oZWlnaHQ6MjYwcHh9Lm1heC1oLVxbMzIwcHhcXXttYXgtaGVpZ2h0OjMyMHB4fS5tYXgtaC1mdWxse21heC1oZWlnaHQ6MTAwJX0ubWluLWgtMHttaW4taGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1pbi1oLVxbMjJweFxde21pbi1oZWlnaHQ6MjJweH0ubWluLWgtXFszMHB4XF17bWluLWhlaWdodDozMHB4fS5taW4taC1cWzM2cHhcXXttaW4taGVpZ2h0OjM2cHh9Lm1pbi1oLVxbNDRweFxde21pbi1oZWlnaHQ6NDRweH0ubWluLWgtcHh7bWluLWhlaWdodDoxcHh9LnctMXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS53LTJcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0udy00e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnctNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS53LTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0udy03e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNyl9LnctOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS53LTEwe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTApfS53LTIxe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMjEpfS53LVxbMjJweFxde3dpZHRoOjIycHh9LnctXFszMHB4XF17d2lkdGg6MzBweH0udy1cWzMyXCVcXXt3aWR0aDozMiV9LnctXFszNlwlXF17d2lkdGg6MzYlfS53LVxbNDBcJVxde3dpZHRoOjQwJX0udy1cWzQyXCVcXXt3aWR0aDo0MiV9LnctXFs0NlwlXF17d2lkdGg6NDYlfS53LVxbNDhcJVxde3dpZHRoOjQ4JX0udy1cWzU4XCVcXXt3aWR0aDo1OCV9LnctXFs2MlwlXF17d2lkdGg6NjIlfS53LVxbNjhcJVxde3dpZHRoOjY4JX0udy1cWzcwXCVcXXt3aWR0aDo3MCV9LnctXFs3NFwlXF17d2lkdGg6NzQlfS53LVxbMTIwcHhcXXt3aWR0aDoxMjBweH0udy1cW2NhbGNcKDEwMFwlXCs4cHhcKVxde3dpZHRoOmNhbGMoMTAwJSArIDhweCl9LnctXFttaW5cKDMyMHB4XCxjYWxjXCgxMDB2dy0zMnB4XClcKVxde3dpZHRoOm1pbigzMjBweCwxMDB2dyAtIDMycHgpfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5tYXgtdy05MHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5MCl9Lm1heC13LTEyMHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMjApfS5tYXgtdy1cWzE1MHB4XF17bWF4LXdpZHRoOjE1MHB4fS5tYXgtdy1cWzIyMHB4XF17bWF4LXdpZHRoOjIyMHB4fS5tYXgtdy1cWzM2MHB4XF17bWF4LXdpZHRoOjM2MHB4fS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy1cWzU2cHhcXXttaW4td2lkdGg6NTZweH0ubWluLXctXFsyMDBweFxde21pbi13aWR0aDoyMDBweH0ubWluLXctXFsyMjBweFxde21pbi13aWR0aDoyMjBweH0ubWluLXctcHh7bWluLXdpZHRoOjFweH0uZmxleC0xe2ZsZXg6MX0uc2hyaW5re2ZsZXgtc2hyaW5rOjF9LnNocmluay0we2ZsZXgtc2hyaW5rOjB9Lmdyb3d7ZmxleC1ncm93OjF9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtMXstLXR3LXRyYW5zbGF0ZS14OmNhbGModmFyKC0tc3BhY2luZykqMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTpjYWxjKGNhbGMoMS8yKjEwMCUpKi0xKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2Zvcm17dHJhbnNmb3JtOnZhcigtLXR3LXJvdGF0ZS14LCl2YXIoLS10dy1yb3RhdGUteSwpdmFyKC0tdHctcm90YXRlLXosKXZhcigtLXR3LXNrZXcteCwpdmFyKC0tdHctc2tldy15LCl9LmFuaW1hdGUtXFtncmlkLXNwaW5fMFwuN3NfbGluZWFyX2luZmluaXRlXF17YW5pbWF0aW9uOmdyaWQtc3BpbiAuN3MgbGluZWFyIGluZmluaXRlfS5hbmltYXRlLVxbZ3JpZC1zcGluXzBcLjhzX2xpbmVhcl9pbmZpbml0ZVxde2FuaW1hdGlvbjpncmlkLXNwaW4gLjhzIGxpbmVhciBpbmZpbml0ZX0uY3Vyc29yLWNvbC1yZXNpemV7Y3Vyc29yOmNvbC1yZXNpemV9LmN1cnNvci1kZWZhdWx0e2N1cnNvcjpkZWZhdWx0fS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5jdXJzb3ItcG9pbnRlcntjdXJzb3I6cG9pbnRlcn0uY3Vyc29yLXByb2dyZXNze2N1cnNvcjpwcm9ncmVzc30uY3Vyc29yLXRleHR7Y3Vyc29yOnRleHR9LnRvdWNoLW5vbmV7dG91Y2gtYWN0aW9uOm5vbmV9LnJlc2l6ZXtyZXNpemU6Ym90aH0ubGlzdC1ub25le2xpc3Qtc3R5bGUtdHlwZTpub25lfS5hcHBlYXJhbmNlLW5vbmV7YXBwZWFyYW5jZTpub25lfS5cW2dyaWQtdGVtcGxhdGUtY29sdW1uc1w6MWZyXzFmcl8xZnJcXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmciAxZnJ9LlxbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXDphdXRvXzFmcl9hdXRvXF17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gMWZyIGF1dG99LlxbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXDphdXRvX21pbm1heFwoMFwsMWZyXClfYXV0b1xde2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvIG1pbm1heCgwLDFmcilhdXRvfS5ncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmdyaWQtY29scy1cWzU2cHhfMWZyX2F1dG9cXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NTZweCAxZnIgYXV0b30uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtbm93cmFwe2ZsZXgtd3JhcDpub3dyYXB9LnBsYWNlLWl0ZW1zLWNlbnRlcntwbGFjZS1pdGVtczogY2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOiBjZW50ZXJ9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0fS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5nYXAtMFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAtMntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ2FwLTJcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ2FwLTN7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC01e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5nYXAtXFs1cHhcXXtnYXA6NXB4fS5nYXAtcHh7Z2FwOjFweH0uZ2FwLXgtM3tjb2x1bW4tZ2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC15LTBcLjV7cm93LWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uanVzdGlmeS1zZWxmLWVuZHtqdXN0aWZ5LXNlbGY6ZmxleC1lbmR9LnRydW5jYXRle292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ub3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1cWzJweFxde2JvcmRlci1yYWRpdXM6MnB4fS5yb3VuZGVkLVxbM3B4XF17Ym9yZGVyLXJhZGl1czozcHh9LnJvdW5kZWQtXFs0cHhcXXtib3JkZXItcmFkaXVzOjRweH0ucm91bmRlZC1cWzVweFxde2JvcmRlci1yYWRpdXM6NXB4fS5yb3VuZGVkLVxbN3B4XF17Ym9yZGVyLXJhZGl1czo3cHh9LnJvdW5kZWQtXFs4cHhcXXtib3JkZXItcmFkaXVzOjhweH0ucm91bmRlZC1cWzlweFxde2JvcmRlci1yYWRpdXM6OXB4fS5yb3VuZGVkLVxbMTBweFxde2JvcmRlci1yYWRpdXM6MTBweH0ucm91bmRlZC1cWzE0cHhcXXtib3JkZXItcmFkaXVzOjE0cHh9LnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjMuNDAyODJlMzhweH0ucm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyl9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpfS5yb3VuZGVkLW5vbmV7Ym9yZGVyLXJhZGl1czowfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhsKX0ucm91bmRlZC14c3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyl9LnJvdW5kZWQtdC1cWzEwcHhcXXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEwcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MTBweH0uYm9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci0we2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5ib3JkZXItMntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItdHtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1ye2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWRhc2hlZHstLXR3LWJvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXN0eWxlOmRhc2hlZH0uYm9yZGVyLW5vbmV7LS10dy1ib3JkZXItc3R5bGU6bm9uZTtib3JkZXItc3R5bGU6bm9uZX0uXCFib3JkZXItXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjZcKVxde2JvcmRlci1jb2xvcjojMGE4NGZmOTkhaW1wb3J0YW50fS5ib3JkZXItXFtcIzNiNWY5OVxde2JvcmRlci1jb2xvcjojM2I1Zjk5fS5ib3JkZXItXFtcIzVmNjI2OFxde2JvcmRlci1jb2xvcjojNWY2MjY4fS5ib3JkZXItXFtcIzIyMlxde2JvcmRlci1jb2xvcjojMjIyfS5ib3JkZXItXFtcI2ZmNDUzYVxdXC81MHtib3JkZXItY29sb3I6I2ZmNDUzYTgwO2JvcmRlci1jb2xvcjpjb2xvcihkaXNwbGF5LXAzIC45MjI2NzMgLjMzMzEzNCAuMjcxNTEvLjUpO2JvcmRlci1jb2xvcjpsYWIoNTguNzYyOCUgNjkuODQ2NyA1MC4zODg2Ly41KX0uYm9yZGVyLWFjY2VudHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYWNjZW50KX0uYm9yZGVyLWRhbmdlclwvMjB7Ym9yZGVyLWNvbG9yOiNmODcxNzEzM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGFuZ2VyXC8yMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWRhbmdlcikyMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLWRhbmdlclwvMzB7Ym9yZGVyLWNvbG9yOiNmODcxNzE0ZH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGFuZ2VyXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWRhbmdlcikzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdhcm5pbmdcLzI1e2JvcmRlci1jb2xvcjojZmJiZjI0NDB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXdhcm5pbmdcLzI1e2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2FybmluZykyNSUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LmJvcmRlci13aGl0ZVwvOHtib3JkZXItY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvOHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTglLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMTB7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxYX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcLzEwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTAlLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMTJ7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcLzEye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTIlLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMjB7Ym9yZGVyLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMjB7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC8yNXtib3JkZXItY29sb3I6I2ZmZmZmZjQwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMjV7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyNSUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC8zMHtib3JkZXItY29sb3I6I2ZmZmZmZjRkfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMzB7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC9cWzBcLjA2XF17Ym9yZGVyLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcL1xbMFwuMDZcXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19LmJvcmRlci10LVxbXCNmNGY0ZjVcXXtib3JkZXItdG9wLWNvbG9yOiNmNGY0ZjV9LmJvcmRlci10LXdoaXRle2JvcmRlci10b3AtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5ib3JkZXItdC13aGl0ZVwvNjB7Ym9yZGVyLXRvcC1jb2xvcjojZmZmOX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItdC13aGl0ZVwvNjB7Ym9yZGVyLXRvcC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNjAlLHRyYW5zcGFyZW50KX19LlwhYmctXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjA4XClcXXtiYWNrZ3JvdW5kLWNvbG9yOiMwYTg0ZmYxNCFpbXBvcnRhbnR9LlwhYmctd2hpdGVcL1xbMFwuMTJcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxZiFpbXBvcnRhbnR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXCFiZy13aGl0ZVwvXFswXC4xMlxde2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTEyJSx0cmFuc3BhcmVudCkhaW1wb3J0YW50fX0uYmctXFtcIzBhMGEwY1xde2JhY2tncm91bmQtY29sb3I6IzBhMGEwY30uYmctXFtcIzBhODRmZlxde2JhY2tncm91bmQtY29sb3I6IzBhODRmZn0uYmctXFtcIzFjMWMxY1xde2JhY2tncm91bmQtY29sb3I6IzFjMWMxY30uYmctXFtcIzZlNmU3Mlxde2JhY2tncm91bmQtY29sb3I6IzZlNmU3Mn0uYmctXFtcIzlhOWE5ZVxde2JhY2tncm91bmQtY29sb3I6IzlhOWE5ZX0uYmctXFtcIzIwMmIzYVxde2JhY2tncm91bmQtY29sb3I6IzIwMmIzYX0uYmctXFtcIzIyMlxde2JhY2tncm91bmQtY29sb3I6IzIyMn0uYmctXFtcIzI2MzY0Y1xde2JhY2tncm91bmQtY29sb3I6IzI2MzY0Y30uYmctXFtcIzEwMTAxMFxde2JhY2tncm91bmQtY29sb3I6IzEwMTAxMH0uYmctXFtcI2Y4NzE3MVxde2JhY2tncm91bmQtY29sb3I6I2Y4NzE3MX0uYmctXFtcI2ZmNDUzYVxdXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQ1M2ExYTtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yKGRpc3BsYXktcDMgLjkyMjY3MyAuMzMzMTM0IC4yNzE1MS8uMSk7YmFja2dyb3VuZC1jb2xvcjpsYWIoNTguNzYyOCUgNjkuODQ2NyA1MC4zODg2Ly4xKX0uYmctXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjIyXClcXXtiYWNrZ3JvdW5kLWNvbG9yOiMwYTg0ZmYzOH0uYmctXFtyZ2JhXCg5OVwsMTAyXCwyNDFcLDBcLjE4XClcXXtiYWNrZ3JvdW5kLWNvbG9yOiM2MzY2ZjEyZX0uYmctYWNjZW50e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYWNjZW50KX0uYmctYmxhY2t7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9LmJnLWJsYWNrXC85MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDBlNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1wvOTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItYmxhY2spOTAlLHRyYW5zcGFyZW50KX19LmJnLWRhbmdlci1zb2Z0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLXNvZnQpfS5iZy1kYW5nZXJcLzEwe2JhY2tncm91bmQtY29sb3I6I2Y4NzE3MTFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRhbmdlclwvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItZGFuZ2VyKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcGFnZSl9LmJnLXBhbmVse2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcGFuZWwpfS5iZy1wYW5lbC1iZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmVsLWJnKX0uYmctcGFuZWwtYmctdHJhbnNsdWNlbnR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lbC1iZy10cmFuc2x1Y2VudCl9LmJnLXBhbmVsLWRlZXB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lbC1kZWVwKX0uYmctcGFuZWwtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmVsLW92ZXJsYXkpfS5iZy1zdWNjZXNzLWVtZXJhbGR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWVtZXJhbGQpfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmYmJmMjQxYX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13YXJuaW5nKTEwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uYmctd2hpdGVcLzZ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzZ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNiUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzh7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMTR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzh7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzEwe2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzEye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xMntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMiUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzE1e2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjI2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNSUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzIwe2JhY2tncm91bmQtY29sb3I6I2ZmZjN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzIwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvNDB7YmFja2dyb3VuZC1jb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvNDB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDAlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvNTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjAzXF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDh9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMDNcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkzJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvXFswXC4wNFxde2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjBhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC9cWzBcLjA0XF17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcL1xbMFwuMDZcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvXFswXC4wNlxde2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjA4XF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMTR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMDhcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4JSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvXFswXC4xMlxde2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC9cWzBcLjEyXF17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTIlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjE2XF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMjl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMTZcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNiUsdHJhbnNwYXJlbnQpfX0uYmctXFtsaW5lYXItZ3JhZGllbnRcKDE0NWRlZ1wsXCMyNTNhNWZcLFwjMTYyMTMyXClcXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsIzI1M2E1ZiwjMTYyMTMyKX0uYmctXFtsaW5lYXItZ3JhZGllbnRcKHRvX2JvdHRvbVwsXCMxYzFjMWVfMFwlXCxyZ2JhXCgyOFwsMjhcLDMwXCwwXClfMTAwXCVcKVxde2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KCMxYzFjMWUgMCUsIzFjMWMxZTAwIDEwMCUpfS5iZy1cW2xpbmVhci1ncmFkaWVudFwodG9fcmlnaHRcLHJnYmFcKDI4XCwyOFwsMzBcLDBcKV8wXCVcLFwjMWMxYzFlXzU1XCVcKVxde2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMxYzFjMWUwMCAwJSwjMWMxYzFlIDU1JSl9LmJnLVxbbGluZWFyLWdyYWRpZW50XCh0b190b3BcLFwjMWMxYzFlXzBcJVwscmdiYVwoMjhcLDI4XCwzMFwsMFwpXzEwMFwlXClcXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgjMWMxYzFlMDAgMCUsIzFjMWMxZSAxMDAlKX0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5vYmplY3QtY292ZXJ7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucC0wXC41e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnAtMXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnAtM1wuNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucC02e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHgtMFwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHgtMXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weC0xXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHgtMntwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weC0yXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucHgtM3twYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5weC0zXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB4LVxbNVwuNXB4XF17cGFkZGluZy1pbmxpbmUtc3RhcnQ6NS41cHg7cGFkZGluZy1pbmxpbmUtZW5kOjUuNXB4fS5weC1cWzdweFxde3BhZGRpbmctaW5saW5lLXN0YXJ0OjdweDtwYWRkaW5nLWlubGluZS1lbmQ6N3B4fS5weS0wXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnB5LTF7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weS0xXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5weS0ye3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHktMlwuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucHktNHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5weS1cWzJweFxde3BhZGRpbmctYmxvY2stc3RhcnQ6MnB4O3BhZGRpbmctYmxvY2stZW5kOjJweH0ucHktXFszcHhcXXtwYWRkaW5nLWJsb2NrLXN0YXJ0OjNweDtwYWRkaW5nLWJsb2NrLWVuZDozcHh9LnB5LVxbNXB4XF17cGFkZGluZy1ibG9jay1zdGFydDo1cHg7cGFkZGluZy1ibG9jay1lbmQ6NXB4fS5weS1cWzdweFxde3BhZGRpbmctYmxvY2stc3RhcnQ6N3B4O3BhZGRpbmctYmxvY2stZW5kOjdweH0ucHQtMFwuNXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHQtMXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5wdC0xXC41e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHQtMlwuNXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnByLTJ7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wci0zXC41e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5wci1cWzI2cHhcXXtwYWRkaW5nLXJpZ2h0OjI2cHh9LnBiLTBcLjV7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnBiLTF7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucGItMVwuNXtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnBiLTJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGItXFsycHhcXXtwYWRkaW5nLWJvdHRvbToycHh9LnBsLTJ7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnBsLTJcLjV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucGwtM3twYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucGwtN3twYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0ucGwtXFsyNnB4XF17cGFkZGluZy1sZWZ0OjI2cHh9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LlxbZm9udC1mYW1pbHlcOi1hcHBsZS1zeXN0ZW1cLHN5c3RlbS11aVwsc2Fucy1zZXJpZlxde2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sTm90byBTYW5zLFVidW50dSxDYW50YXJlbGwsSGVsdmV0aWNhIE5ldWUsc2Fucy1zZXJpZn0uZm9udC1cW2luaGVyaXRcXXtmb250LWZhbWlseTppbmhlcml0fS5mb250LW1vbm97Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uZm9udC1zeXN0ZW17Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zeXN0ZW0pfS50ZXh0LVxbOXB4XF17Zm9udC1zaXplOjlweH0udGV4dC1cWzEwcHhcXXtmb250LXNpemU6MTBweH0udGV4dC1cWzExXC41cHhcXXtmb250LXNpemU6MTEuNXB4fS50ZXh0LVxbMTFweFxde2ZvbnQtc2l6ZToxMXB4fS50ZXh0LVxbMTJweFxde2ZvbnQtc2l6ZToxMnB4fS50ZXh0LVxbMTNweFxde2ZvbnQtc2l6ZToxM3B4fS50ZXh0LVxbMTRweFxde2ZvbnQtc2l6ZToxNHB4fS50ZXh0LVxbMTdweFxde2ZvbnQtc2l6ZToxN3B4fS50ZXh0LVxbMThweFxde2ZvbnQtc2l6ZToxOHB4fS5sZWFkaW5nLVxbMVwuNVxdey0tdHctbGVhZGluZzoxLjU7bGluZS1oZWlnaHQ6MS41fS5sZWFkaW5nLVxbMVwuMzVcXXstLXR3LWxlYWRpbmc6MS4zNTtsaW5lLWhlaWdodDoxLjM1fS5sZWFkaW5nLW5vbmV7LS10dy1sZWFkaW5nOjE7bGluZS1oZWlnaHQ6MX0ubGVhZGluZy1zbnVney0tdHctbGVhZGluZzp2YXIoLS1sZWFkaW5nLXNudWcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctc251Zyl9LmxlYWRpbmctdGlnaHR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctdGlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctdGlnaHQpfS5mb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZm9udC1zZW1pYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCl9LnRyYWNraW5nLVxbMFwuMWVtXF17LS10dy10cmFja2luZzouMWVtO2xldHRlci1zcGFjaW5nOi4xZW19LnRyYWNraW5nLVxbMFwuMDJlbVxdey0tdHctdHJhY2tpbmc6LjAyZW07bGV0dGVyLXNwYWNpbmc6LjAyZW19LnRyYWNraW5nLVxbMFwuMDRlbVxdey0tdHctdHJhY2tpbmc6LjA0ZW07bGV0dGVyLXNwYWNpbmc6LjA0ZW19LnRyYWNraW5nLVxbMFwuMDZlbVxdey0tdHctdHJhY2tpbmc6LjA2ZW07bGV0dGVyLXNwYWNpbmc6LjA2ZW19LnRyYWNraW5nLVxbMFwuMDhlbVxdey0tdHctdHJhY2tpbmc6LjA4ZW07bGV0dGVyLXNwYWNpbmc6LjA4ZW19LnRyYWNraW5nLXdpZGV7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy13aWRlKTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlKX0uYnJlYWstd29yZHN7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkfS50ZXh0LWVsbGlwc2lze3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0uXCF0ZXh0LXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKSFpbXBvcnRhbnR9LnRleHQtXFtcIzBhMGEwY1xde2NvbG9yOiMwYTBhMGN9LnRleHQtXFtcIzhlOGU5M1xde2NvbG9yOiM4ZThlOTN9LnRleHQtXFtcIzM0ZDM5OVxde2NvbG9yOiMzNGQzOTl9LnRleHQtXFtcIzA2MjAxOFxde2NvbG9yOiMwNjIwMTh9LnRleHQtXFtcI2M4ZDdmZlxde2NvbG9yOiNjOGQ3ZmZ9LnRleHQtXFtcI2QyZTdmZlxde2NvbG9yOiNkMmU3ZmZ9LnRleHQtXFtcI2ZmYjNhZFxde2NvbG9yOiNmZmIzYWR9LnRleHQtYWNjZW50e2NvbG9yOnZhcigtLWNvbG9yLWFjY2VudCl9LnRleHQtYW1iZXItNDAwe2NvbG9yOnZhcigtLWNvbG9yLWFtYmVyLTQwMCl9LnRleHQtY3lhbi00MDB7Y29sb3I6dmFyKC0tY29sb3ItY3lhbi00MDApfS50ZXh0LWRhbmdlcntjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXIpfS50ZXh0LWRhbmdlci1zb2Z0e2NvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1zb2Z0KX0udGV4dC1lbWVyYWxkLTQwMHtjb2xvcjp2YXIoLS1jb2xvci1lbWVyYWxkLTQwMCl9LnRleHQtc2t5LTQwMHtjb2xvcjp2YXIoLS1jb2xvci1za3ktNDAwKX0udGV4dC12aW9sZXQtNDAwe2NvbG9yOnZhcigtLWNvbG9yLXZpb2xldC00MDApfS50ZXh0LXdhcm5pbmd7Y29sb3I6dmFyKC0tY29sb3Itd2FybmluZyl9LnRleHQtd2FybmluZy1zb2Z0e2NvbG9yOnZhcigtLWNvbG9yLXdhcm5pbmctc29mdCl9LnRleHQtd2hpdGV7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50ZXh0LXdoaXRlXC8zMHtjb2xvcjojZmZmZmZmNGR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvMzB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTMwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC8zNXtjb2xvcjojZmZmZmZmNTl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvMzV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTM1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC80MHtjb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC80MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzQ1e2NvbG9yOiNmZmZmZmY3M31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC80NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzUwe2NvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC81MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzU1e2NvbG9yOiNmZmZmZmY4Y31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC81NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzYwe2NvbG9yOiNmZmY5fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNjV7Y29sb3I6I2ZmZmZmZmE2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzY1e2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2NSUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNzB7Y29sb3I6I2ZmZmZmZmIzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzcwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNzV7Y29sb3I6I2ZmZmZmZmJmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzc1e2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3NSUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvODB7Y29sb3I6I2ZmZmN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvODB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvODV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC85MHtjb2xvcjojZmZmZmZmZTZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTkwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC85NXtjb2xvcjojZmZmZmZmZjJ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTk1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC9cWzBcLjQyXF17Y29sb3I6I2ZmZmZmZjZifUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcL1xbMFwuNDJcXXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDIlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcL1xbMFwuNDhcXXtjb2xvcjojZmZmZmZmN2F9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvXFswXC40OFxde2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk0OCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvXFswXC41OFxde2NvbG9yOiNmZmZmZmY5NH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC9cWzBcLjU4XF17Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTU4LjAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcL1xbMFwuOTJcXXtjb2xvcjojZmZmZmZmZWJ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvXFswXC45Mlxde2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MiUsdHJhbnNwYXJlbnQpfX0ubG93ZXJjYXNle3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwsKXZhcigtLXR3LXNsYXNoZWQtemVybywpdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKXZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbiwpfS5cW2ZvbnQtdmFyaWFudC1udW1lcmljXDp0YWJ1bGFyLW51bXNcXXtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Lm5vLXVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lfS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS00MHtvcGFjaXR5Oi40fS5vcGFjaXR5LTUwe29wYWNpdHk6LjV9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0ub3BhY2l0eS0xMDB7b3BhY2l0eToxfS5zaGFkb3d7LS10dy1zaGFkb3c6MCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctXFswXzFweF8ycHhfcmdiYVwoMFwsMFwsMFwsMFwuMThcKVwsMF82cHhfMThweF9yZ2JhXCgwXCwwXCwwXCwwXC4yOFwpXCxpbnNldF8wXzBfMF8xcHhfcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMDZcKVxdey0tdHctc2hhZG93OjAgMXB4IDJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDJlKSwwIDZweCAxOHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwNDcpLGluc2V0IDAgMCAwIDFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsI2ZmZmZmZjBmKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfOHB4XzI0cHhfcmdiYVwoMFwsMFwsMFwsMFwuNFwpXF17LS10dy1zaGFkb3c6MCA4cHggMjRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDYpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF9yZ2JhXCgwXCwwXCwwXCwwXC41XClcXXstLXR3LXNoYWRvdzowIDhweCAyNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwODApO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF9yZ2JhXCgwXCwwXCwwXCwwXC40NVwpXF17LS10dy1zaGFkb3c6MCA4cHggMjRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDczKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfMTJweF80MHB4X3JnYmFcKDBcLDBcLDBcLDBcLjU1XClcXXstLXR3LXNoYWRvdzowIDEycHggNDBweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDhjKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzhweF8wXzMycHhfcmdiYVwoMFwsMFwsMFwsMFwuMzVcKVxdey0tdHctc2hhZG93OjhweCAwIDMycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDA1OSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbGd7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmcsLnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LlxbYm94LXNoYWRvd1w6MF8wXzZweF9yZ2JhXCg3NFwsMjIyXCwxMjhcLDBcLjdcKVxde2JveC1zaGFkb3c6MCAwIDZweCAjNGFkZTgwYjN9LlxbYm94LXNoYWRvd1w6MF8wXzZweF9yZ2JhXCgyNDhcLDExM1wsMTEzXCwwXC41NVwpXF17Ym94LXNoYWRvdzowIDAgNnB4ICNmODcxNzE4Y30ucmluZy1cW1wjMWMxYzFlXF17LS10dy1yaW5nLWNvbG9yOiMxYzFjMWV9LnJpbmctd2hpdGVcLzEwey0tdHctcmluZy1jb2xvcjojZmZmZmZmMWF9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy13aGl0ZVwvMTB7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5ibHVyey0tdHctYmx1cjpibHVyKDhweCk7ZmlsdGVyOnZhcigtLXR3LWJsdXIsKXZhcigtLXR3LWJyaWdodG5lc3MsKXZhcigtLXR3LWNvbnRyYXN0LCl2YXIoLS10dy1ncmF5c2NhbGUsKXZhcigtLXR3LWh1ZS1yb3RhdGUsKXZhcigtLXR3LWludmVydCwpdmFyKC0tdHctc2F0dXJhdGUsKXZhcigtLXR3LXNlcGlhLCl2YXIoLS10dy1kcm9wLXNoYWRvdywpfS5ncmF5c2NhbGV7LS10dy1ncmF5c2NhbGU6Z3JheXNjYWxlKDEwMCUpO2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uYmFja2Ryb3AtYmx1cnstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cig4cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9LmJhY2tkcm9wLWJsdXItXFsxMnB4XF17LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0uYmFja2Ryb3AtYmx1ci1cWzE4cHhcXXstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cigxOHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1ibHVyLW1key0tdHctYmFja2Ryb3AtYmx1cjpibHVyKHZhcigtLWJsdXItbWQpKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1zYXR1cmF0ZS0xNTB7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTpzYXR1cmF0ZSgxNTAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1maWx0ZXJ7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sdHJhbnNsYXRlLHNjYWxlLHJvdGF0ZSxmaWx0ZXIsLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsYmFja2Ryb3AtZmlsdGVyLGRpc3BsYXksY29udGVudC12aXNpYmlsaXR5LG92ZXJsYXkscG9pbnRlci1ldmVudHM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1cW2JvcmRlci1jb2xvclwsYmFja2dyb3VuZFxde3RyYW5zaXRpb24tcHJvcGVydHk6Ym9yZGVyLWNvbG9yLGJhY2tncm91bmQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1cW3dpZHRoXCxiYWNrZ3JvdW5kXF17dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxiYWNrZ3JvdW5kO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3Isb3V0bGluZS1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2UsLS10dy1ncmFkaWVudC1mcm9tLC0tdHctZ3JhZGllbnQtdmlhLC0tdHctZ3JhZGllbnQtdG87dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5kdXJhdGlvbi0xNTB7LS10dy1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMjAwey0tdHctZHVyYXRpb246LjJzO3RyYW5zaXRpb24tZHVyYXRpb246LjJzfS5kdXJhdGlvbi0zMDB7LS10dy1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmVhc2Utb3V0ey0tdHctZWFzZTp2YXIoLS1lYXNlLW91dCk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tZWFzZS1vdXQpfS5vdXRsaW5lLW5vbmV7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc2VsZWN0LXRleHR7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LlxbLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXJcOmJsdXJcKDEycHhcKVxdey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCl9Llxbc2Nyb2xsYmFyLXdpZHRoXDp0aGluXF17c2Nyb2xsYmFyLXdpZHRoOnRoaW59Llxbc3RyZWFtXDphdmNjXF17c3RyZWFtOmF2Y2N9Llxbc3RyZWFtXDpoMjY0XF17c3RyZWFtOmgyNjR9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4yc1wsYm94LXNoYWRvd18wXC4yc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMnMsYm94LXNoYWRvdyAuMnN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4zc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuM3N9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xMnNcLGJvcmRlci1jb2xvcl8wXC4xMnNcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEycyxib3JkZXItY29sb3IgLjEyc30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjEyc1wsY29sb3JfMFwuMTJzXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnMsY29sb3IgLjEyc30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjEyc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzfS5cW3RyYW5zaXRpb25cOmJhY2tncm91bmRfMFwuMTVzXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xNXNfZWFzZVwsY29sb3JfMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxjb2xvciAuMTVzfS5cW3RyYW5zaXRpb25cOmJhY2tncm91bmRfMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1c30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjE4c19lYXNlXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xOHN9LlxbdHJhbnNpdGlvblw6bGVmdF8wXC4xNXNcXXt0cmFuc2l0aW9uOmxlZnQgLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjEyc1wsYmFja2dyb3VuZF8wXC4xMnNcLGNvbG9yXzBcLjEyc1xde3RyYW5zaXRpb246b3BhY2l0eSAuMTJzLGJhY2tncm91bmQgLjEycyxjb2xvciAuMTJzfS5cW3RyYW5zaXRpb25cOm9wYWNpdHlfMFwuMTJzXF17dHJhbnNpdGlvbjpvcGFjaXR5IC4xMnN9LlxbdHJhbnNpdGlvblw6b3BhY2l0eV8wXC4xNXNfZWFzZVwsYmFja2dyb3VuZF8wXC4xNXNfZWFzZVxde3RyYW5zaXRpb246b3BhY2l0eSAuMTVzLGJhY2tncm91bmQgLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjE1c19lYXNlXCx0cmFuc2Zvcm1fMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyx0cmFuc2Zvcm0gLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjE4c19lYXNlXF17dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHN9LlxbdHJhbnNpdGlvblw6cGFkZGluZ18wXC4yNXNfZWFzZVxde3RyYW5zaXRpb246cGFkZGluZyAuMjVzfS5cW3RyYW5zaXRpb25cOnRyYW5zZm9ybV8wXC4yNXNfZWFzZVwsb3BhY2l0eV8wXC4yc19lYXNlXF17dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyxvcGFjaXR5IC4yc30uXFt0cmFuc2l0aW9uXDp3aWR0aF8xMjBtc19saW5lYXJcXXt0cmFuc2l0aW9uOndpZHRoIC4xMnMgbGluZWFyfS5ncm91cC1mb2N1cy13aXRoaW5cOm9wYWNpdHktMDppcyg6d2hlcmUoLmdyb3VwKTpmb2N1cy13aXRoaW4gKil7b3BhY2l0eTowfUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6cG9pbnRlci1ldmVudHMtYXV0bzppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtwb2ludGVyLWV2ZW50czphdXRvfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZ3JvdXAtaG92ZXJcOmJsb2NrOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2Rpc3BsYXk6YmxvY2t9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6aGlkZGVuOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2Rpc3BsYXk6bm9uZX19QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXDp0cmFuc2xhdGUteC0wOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctdHJhbnNsYXRlLXg6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZ3JvdXAtaG92ZXJcOm9wYWNpdHktMDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtvcGFjaXR5OjB9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7b3BhY2l0eToxfX0ucGxhY2Vob2xkZXJcOnRleHQtd2hpdGVcLzQwOjpwbGFjZWhvbGRlcntjb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5wbGFjZWhvbGRlclw6dGV4dC13aGl0ZVwvNDA6OnBsYWNlaG9sZGVye2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZm9jdXMtd2l0aGluXDpiZy13aGl0ZVwvMTA6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXdpdGhpblw6Ymctd2hpdGVcLzEwOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci1cW3JnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjE2XClcXTpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZjI5fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci1cW3JnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjE4XClcXTpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZjJlfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci13aGl0ZVwvMjA6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpib3JkZXItd2hpdGVcLzIwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ym9yZGVyLXdoaXRlXC9cWzBcLjg4XF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmZmZmZmZlMH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLXdoaXRlXC9cWzBcLjg4XF06aG92ZXJ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4OCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvODpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxNH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzg6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvMTI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMWZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC8xMjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMiUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvMTg6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMmV9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC8xODpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxOCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC8yNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY0MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzI1OmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTI1JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA1XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA1XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNSUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wNlxdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjBmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wNlxdOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDdcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxMn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDdcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3LjAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDlcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxN31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDlcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjg4XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmZTB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjg4XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODglLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6dGV4dC1cW1wjMGEwYTBjXF06aG92ZXJ7Y29sb3I6IzBhMGEwY319QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDp0ZXh0LXdoaXRlOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDp0ZXh0LXdoaXRlXC84MDpob3Zlcntjb2xvcjojZmZmY31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6dGV4dC13aGl0ZVwvODA6aG92ZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTgwJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGVcLzg1OmhvdmVye2NvbG9yOiNmZmZmZmZkOX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6dGV4dC13aGl0ZVwvODU6aG92ZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGVcLzkwOmhvdmVye2NvbG9yOiNmZmZmZmZlNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6dGV4dC13aGl0ZVwvOTA6aG92ZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTkwJSx0cmFuc3BhcmVudCl9fX0uZm9jdXNcOmJvcmRlci1cW3JnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjI0XClcXTpmb2N1c3tib3JkZXItY29sb3I6I2ZmZmZmZjNkfS5mb2N1c1w6Ymctd2hpdGVcL1xbMFwuMDhcXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxNH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1c1w6Ymctd2hpdGVcL1xbMFwuMDhcXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4JSx0cmFuc3BhcmVudCl9fS5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3Vzey0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX0uZm9jdXMtdmlzaWJsZVw6Ymctd2hpdGVcLzg6Zm9jdXMtdmlzaWJsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxNH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXDpiZy13aGl0ZVwvODpmb2N1cy12aXNpYmxle2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTglLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcOm9wYWNpdHktMTAwOmZvY3VzLXZpc2libGV7b3BhY2l0eToxfS5mb2N1cy12aXNpYmxlXDpcW291dGxpbmVcOjFcLjVweF9zb2xpZF9yZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjU1XClcXTpmb2N1cy12aXNpYmxle291dGxpbmU6MS41cHggc29saWQgIzBhODRmZjhjfS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1vZmZzZXQtMjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1vZmZzZXQtNDpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjRweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS13aGl0ZVwvNjA6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOiNmZmY5fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXZpc2libGVcOm91dGxpbmUtd2hpdGVcLzYwOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNjAlLHRyYW5zcGFyZW50KX19LmFjdGl2ZVw6c2NhbGUtXFswXC45N1xdOmFjdGl2ZXtzY2FsZTouOTd9QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpib3JkZXItXFtyZ2JhXCgyNTVcLDI1NVwsMjU1XCwwXC4xOFwpXF06ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZjJlfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJvcmRlci13aGl0ZVwvMjA6ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6I2ZmZjN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZW5hYmxlZFw6aG92ZXJcOmJvcmRlci13aGl0ZVwvMjA6ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJvcmRlci13aGl0ZVwvXFswXC44OFxdOmVuYWJsZWQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmZmZmZmZlMH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5lbmFibGVkXDpob3Zlclw6Ym9yZGVyLXdoaXRlXC9cWzBcLjg4XF06ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg4JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJnLVxbXCMyYTJhMmNcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzJhMmEyY319QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wNlxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA2XF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA5XF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxN31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDlcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTklLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuMjJcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjM4fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC4yMlxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjIlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuODhcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZmUwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC44OFxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODglLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6dGV4dC1cW1wjMGEwYTBjXF06ZW5hYmxlZDpob3Zlcntjb2xvcjojMGEwYTBjfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOnRleHQtd2hpdGU6ZW5hYmxlZDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6YnJpZ2h0bmVzcy1cWzFcLjA4XF06ZW5hYmxlZDpob3ZlcnstLXR3LWJyaWdodG5lc3M6YnJpZ2h0bmVzcygxLjA4KTtmaWx0ZXI6dmFyKC0tdHctYmx1ciwpdmFyKC0tdHctYnJpZ2h0bmVzcywpdmFyKC0tdHctY29udHJhc3QsKXZhcigtLXR3LWdyYXlzY2FsZSwpdmFyKC0tdHctaHVlLXJvdGF0ZSwpdmFyKC0tdHctaW52ZXJ0LCl2YXIoLS10dy1zYXR1cmF0ZSwpdmFyKC0tdHctc2VwaWEsKXZhcigtLXR3LWRyb3Atc2hhZG93LCl9fS5kaXNhYmxlZFw6Y3Vyc29yLWRlZmF1bHQ6ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9LmRpc2FibGVkXDpjdXJzb3Itbm90LWFsbG93ZWQ6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5kaXNhYmxlZFw6dGV4dC13aGl0ZVwvNDA6ZGlzYWJsZWR7Y29sb3I6I2ZmZjZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGlzYWJsZWRcOnRleHQtd2hpdGVcLzQwOmRpc2FibGVke2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGlzYWJsZWRcOm9wYWNpdHktNDA6ZGlzYWJsZWR7b3BhY2l0eTouNH0uZGlzYWJsZWRcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX1AbWVkaWEgKG1heC13aWR0aDo4OTkuOTk5cHgpey5tYXgtXFs5MDBweFxdXDpoaWRkZW57ZGlzcGxheTpub25lfX0uXFtcJlw6XDotbW96LXJhbmdlLXByb2dyZXNzXF1cOmgtXFs0cHhcXTo6LW1vei1yYW5nZS1wcm9ncmVzc3toZWlnaHQ6NHB4fS5cW1wmXDpcOi1tb3otcmFuZ2UtcHJvZ3Jlc3NcXVw6cm91bmRlZC1mdWxsOjotbW96LXJhbmdlLXByb2dyZXNze2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5cW1wmXDpcOi1tb3otcmFuZ2UtcHJvZ3Jlc3NcXVw6YmctXFt2YXJcKC0tc2xpZGVyLWZpbGwtY29sb3JcKVxdOjotbW96LXJhbmdlLXByb2dyZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2xpZGVyLWZpbGwtY29sb3IpfS5cW1wmXDpcOi1tb3otcmFuZ2UtdGh1bWJcXVw6c2l6ZS1cWzEzcHhcXTo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxM3B4O2hlaWdodDoxM3B4fS5cW1wmXDpcOi1tb3otcmFuZ2UtdGh1bWJcXVw6cm91bmRlZC1mdWxsOjotbW96LXJhbmdlLXRodW1ie2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5cW1wmXDpcOi1tb3otcmFuZ2UtdGh1bWJcXVw6Ym9yZGVyLW5vbmU6Oi1tb3otcmFuZ2UtdGh1bWJ7LS10dy1ib3JkZXItc3R5bGU6bm9uZTtib3JkZXItc3R5bGU6bm9uZX0uXFtcJlw6XDotbW96LXJhbmdlLXRodW1iXF1cOmJnLXdoaXRlOjotbW96LXJhbmdlLXRodW1ie2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5cW1wmXDpcOi1tb3otcmFuZ2UtdHJhY2tcXVw6aC1cWzRweFxdOjotbW96LXJhbmdlLXRyYWNre2hlaWdodDo0cHh9LlxbXCZcOlw6LW1vei1yYW5nZS10cmFja1xdXDpyb3VuZGVkLWZ1bGw6Oi1tb3otcmFuZ2UtdHJhY2t7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LlxbXCZcOlw6LW1vei1yYW5nZS10cmFja1xdXDpiZy13aGl0ZVwvMjA6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmZmM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW1wmXDpcOi1tb3otcmFuZ2UtdHJhY2tcXVw6Ymctd2hpdGVcLzIwOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXF1cOmgtXFs0cHhcXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7aGVpZ2h0OjRweH0uXFtcJlw6XDotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja1xdXDpyb3VuZGVkLWZ1bGw6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXF1cOlxbYmFja2dyb3VuZFw6bGluZWFyLWdyYWRpZW50XCh0b19yaWdodFwsdmFyXCgtLXNsaWRlci1maWxsLWNvbG9yXClfdmFyXCgtLXNsaWRlci1maWxsXClcLHJnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjIyXClfdmFyXCgtLXNsaWRlci1maWxsXClcKVxdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1zbGlkZXItZmlsbC1jb2xvcil2YXIoLS1zbGlkZXItZmlsbCksI2ZmZmZmZjM4IHZhcigtLXNsaWRlci1maWxsKSl9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6LW10LVxbNFwuNXB4XF06Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi10b3A6LTQuNXB4fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXRodW1iXF1cOnNpemUtXFsxM3B4XF06Oi13ZWJraXQtc2xpZGVyLXRodW1ie3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6YXBwZWFyYW5jZS1ub25lOjotd2Via2l0LXNsaWRlci10aHVtYnthcHBlYXJhbmNlOm5vbmV9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6cm91bmRlZC1mdWxsOjotd2Via2l0LXNsaWRlci10aHVtYntib3JkZXItcmFkaXVzOjMuNDAyODJlMzhweH0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDpiZy13aGl0ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6c2hhZG93LVxbMF8xcHhfM3B4X3JnYmFcKDBcLDBcLDBcLDBcLjQ1XClcXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7LS10dy1zaGFkb3c6MCAxcHggM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwNzMpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uXFtcJlw6ZGlzYWJsZWRcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpiZy13aGl0ZVwvNTA6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmODB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFtcJlw6ZGlzYWJsZWRcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpiZy13aGl0ZVwvNTA6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LlxbXCZcOmRpc2FibGVkXDpcOi13ZWJraXQtc2xpZGVyLXRodW1iXF1cOmJnLXdoaXRlXC81MDpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmODB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFtcJlw6ZGlzYWJsZWRcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6Ymctd2hpdGVcLzUwOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk1MCUsdHJhbnNwYXJlbnQpfX19OnJvb3R7LS1idW5jc3MtbGlnaHQ6IDstLWJ1bmNzcy1kYXJrOmluaXRpYWw7Y29sb3Itc2NoZW1lOmRhcms7LS1zZXJ2ZS1zaW0tcGFuZWwtYmc6IzE4MTgxODstLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc2x1Y2VudDojMTgxODE4Yzc7LS1zZXJ2ZS1zaW0tcGFuZWwtYmctdHJhbnNwYXJlbnQ6IzE4MTgxODAwfUBzdXBwb3J0cyAoaW50ZXJwb2xhdGUtc2l6ZTogYWxsb3cta2V5d29yZHMpezpyb290e2ludGVycG9sYXRlLXNpemU6YWxsb3cta2V5d29yZHN9fWRldGFpbHMubGVtLXNlY3Rpb246OmRldGFpbHMtY29udGVudHtvdmVyZmxvdzpjbGlwO3RyYW5zaXRpb246aGVpZ2h0IC4yMnMgZWFzZSxjb250ZW50LXZpc2liaWxpdHkgLjIycyBhbGxvdy1kaXNjcmV0ZTtoZWlnaHQ6MH1kZXRhaWxzLmxlbS1zZWN0aW9uW29wZW5dOjpkZXRhaWxzLWNvbnRlbnR7aGVpZ2h0OmF1dG99ZGV0YWlscy5sZW0tc2VjdGlvbj5zdW1tYXJ5e2xpc3Qtc3R5bGU6bm9uZX1kZXRhaWxzLmxlbS1zZWN0aW9uPnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lfWRldGFpbHMubGVtLXNlY3Rpb24+c3VtbWFyeTpob3Zlcntjb2xvcjojZmZmfWRldGFpbHMubGVtLXNlY3Rpb24+c3VtbWFyeTpob3ZlciAubGVtLWNoZXZyb257Y29sb3I6I2ZmZmZmZmQ5IWltcG9ydGFudH0ubGVtLWNoZXZyb257dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE2cyxjb2xvciAuMTJzfUBjb250YWluZXIgKHdpZHRoPD0yMTBweCl7W2RhdGEtbG9jYXRpb24tc3RhdHVzLXRvdGFsXXtkaXNwbGF5Om5vbmV9fUBrZXlmcmFtZXMgZ3JpZC1zcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBzZXJ2ZS1zaW0tdG9hc3QtaW5kZXRlcm1pbmF0ZXswJXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlKDI1MCUpfX1Aa2V5ZnJhbWVzIHNlcnZlLXNpbS10b2FzdC1wb3AtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEycHgpc2NhbGUoLjk2KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMClzY2FsZSgxKX19QGtleWZyYW1lcyBzZXJ2ZS1zaW0tdG9hc3QtcG9wLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMClzY2FsZSgxKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KXNjYWxlKC45Nil9fS5zZXJ2ZS1zaW0tdG9hc3QtaW5kZXRlcm1pbmF0ZXthbmltYXRpb246c2VydmUtc2ltLXRvYXN0LWluZGV0ZXJtaW5hdGUgMS4xcyBlYXNlLWluLW91dCBpbmZpbml0ZX0uZ3JpZC1zaHV0ZG93bi1idG57b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMTJzLGJhY2tncm91bmQgLjEycyxjb2xvciAuMTJzfS5ncmlkLXRpbGU6aG92ZXIgLmdyaWQtc2h1dGRvd24tYnRue29wYWNpdHk6MX0uZ3JpZC1zaHV0ZG93bi1idG46aG92ZXI6bm90KDpkaXNhYmxlZCl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiM1YTFkMWQ7Ym9yZGVyLWNvbG9yOiNhMzN9LmdyaWQtdGlsZTpob3Zlcntib3JkZXItY29sb3I6IzU1NSFpbXBvcnRhbnR9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXp7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctcm90YXRlLXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yb3RhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS16e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2tldy14e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2tldy15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYm9yZGVyLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1sZWFkaW5ne3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZm9udC13ZWlnaHR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy10cmFja2luZ3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW9yZGluYWx7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zbGFzaGVkLXplcm97c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZpZ3VyZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtc3BhY2luZ3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtZnJhY3Rpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1zaGFkb3ctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3ctYWxwaGF7c3ludGF4OiI8cGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MTAwJX1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctYWxwaGF7c3ludGF4OiI8cGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MTAwJX1AcHJvcGVydHkgLS10dy1yaW5nLWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1yaW5nLWluc2V0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTojZmZmfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LW91dGxpbmUtc3R5bGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOnNvbGlkfUBwcm9wZXJ0eSAtLXR3LWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1icmlnaHRuZXNze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctY29udHJhc3R7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmF5c2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1odWUtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW52ZXJ0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3BhY2l0eXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNhdHVyYXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2VwaWF7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctYWxwaGF7c3ludGF4OiI8cGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MTAwJX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1zaXple3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYmx1cntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3N7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1jb250cmFzdHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1pbnZlcnR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2F0dXJhdGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zZXBpYXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWR1cmF0aW9ue3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZWFzZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBsYXllciBwcm9wZXJ0aWVze0BzdXBwb3J0cyAoKC13ZWJraXQtaHlwaGVuczogbm9uZSkgYW5kICggbm90IChtYXJnaW4tdHJpbTogaW5saW5lKSkpIG9yICgoLW1vei1vcmllbnQ6IGlubGluZSkgYW5kICggbm90IChjb2xvcjpyZ2IoZnJvbSByZWQgciBnIGIpKSkpeyosOmJlZm9yZSw6YWZ0ZXIsOjpiYWNrZHJvcHstLXR3LXRyYW5zbGF0ZS14OjA7LS10dy10cmFuc2xhdGUteTowOy0tdHctdHJhbnNsYXRlLXo6MDstLXR3LXJvdGF0ZS14OmluaXRpYWw7LS10dy1yb3RhdGUteTppbml0aWFsOy0tdHctcm90YXRlLXo6aW5pdGlhbDstLXR3LXNrZXcteDppbml0aWFsOy0tdHctc2tldy15OmluaXRpYWw7LS10dy1ib3JkZXItc3R5bGU6c29saWQ7LS10dy1sZWFkaW5nOmluaXRpYWw7LS10dy1mb250LXdlaWdodDppbml0aWFsOy0tdHctdHJhY2tpbmc6aW5pdGlhbDstLXR3LW9yZGluYWw6aW5pdGlhbDstLXR3LXNsYXNoZWQtemVybzppbml0aWFsOy0tdHctbnVtZXJpYy1maWd1cmU6aW5pdGlhbDstLXR3LW51bWVyaWMtc3BhY2luZzppbml0aWFsOy0tdHctbnVtZXJpYy1mcmFjdGlvbjppbml0aWFsOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctc2hhZG93LWFscGhhOjEwMCU7LS10dy1pbnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LXJpbmctaW5zZXQ6aW5pdGlhbDstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctb3V0bGluZS1zdHlsZTpzb2xpZDstLXR3LWJsdXI6aW5pdGlhbDstLXR3LWJyaWdodG5lc3M6aW5pdGlhbDstLXR3LWNvbnRyYXN0OmluaXRpYWw7LS10dy1ncmF5c2NhbGU6aW5pdGlhbDstLXR3LWh1ZS1yb3RhdGU6aW5pdGlhbDstLXR3LWludmVydDppbml0aWFsOy0tdHctb3BhY2l0eTppbml0aWFsOy0tdHctc2F0dXJhdGU6aW5pdGlhbDstLXR3LXNlcGlhOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdzppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWFscGhhOjEwMCU7LS10dy1kcm9wLXNoYWRvdy1zaXplOmluaXRpYWw7LS10dy1iYWNrZHJvcC1ibHVyOmluaXRpYWw7LS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1iYWNrZHJvcC1jb250cmFzdDppbml0aWFsOy0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1odWUtcm90YXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1pbnZlcnQ6aW5pdGlhbDstLXR3LWJhY2tkcm9wLW9wYWNpdHk6aW5pdGlhbDstLXR3LWJhY2tkcm9wLXNhdHVyYXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1zZXBpYTppbml0aWFsOy0tdHctZHVyYXRpb246aW5pdGlhbDstLXR3LWVhc2U6aW5pdGlhbH19fQo8L3N0eWxlPgo8L2hlYWQ+PGJvZHk+CjxkaXYgaWQ9InJvb3QiPjwvZGl2Pgo8IS0tX19TSU1fUFJFVklFV19DT05GSUdfXy0tPgo8c2NyaXB0IHR5cGU9Im1vZHVsZSI+dmFyIEUyLHQsajgsdjcsaDAseTgsdjgsUjgsejMsTjUsUDIsaDgsTzMsTDMsVTMsZzgsejU9e30sTDU9W10sUjc9L2FjaXR8ZXgoPzpzfGd8bnxwfCQpfHJwaHxncmlkfG93c3xtbmN8bnR3fGluZVtjaF18em9vfF5vcmR8aXRlcmEvaSx3Mj1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFAwKCQsUSl7Zm9yKHZhciBKIGluIFEpJFtKXT1RW0pdO3JldHVybiAkfWZ1bmN0aW9uIEYzKCQpeyQmJiQucGFyZW50Tm9kZSYmJC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCQpfWZ1bmN0aW9uIHUxKCQsUSxKKXt2YXIgWCxLLFkscT17fTtmb3IoWSBpbiBRKVk9PSJrZXkiP1g9UVtZXTpZPT0icmVmIj9LPVFbWV06cVtZXT1RW1ldO2lmKGFyZ3VtZW50cy5sZW5ndGg+MiYmKHEuY2hpbGRyZW49YXJndW1lbnRzLmxlbmd0aD4zP0UyLmNhbGwoYXJndW1lbnRzLDIpOkopLHR5cGVvZiAkPT0iZnVuY3Rpb24iJiYkLmRlZmF1bHRQcm9wcyE9bnVsbClmb3IoWSBpbiAkLmRlZmF1bHRQcm9wcylxW1ldPT09dm9pZCAwJiYocVtZXT0kLmRlZmF1bHRQcm9wc1tZXSk7cmV0dXJuIFQyKCQscSxYLEssbnVsbCl9ZnVuY3Rpb24gVDIoJCxRLEosWCxLKXt2YXIgWT17dHlwZTokLHByb3BzOlEsa2V5OkoscmVmOlgsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Oks9PW51bGw/KytqODpLLF9faTotMSxfX3U6MH07cmV0dXJuIEs9PW51bGwmJnQudm5vZGUhPW51bGwmJnQudm5vZGUoWSksWX1mdW5jdGlvbiBJMigpe3JldHVybntjdXJyZW50Om51bGx9fWZ1bmN0aW9uIFExKCQpe3JldHVybiAkLmNoaWxkcmVufWZ1bmN0aW9uIGQxKCQsUSl7dGhpcy5wcm9wcz0kLHRoaXMuY29udGV4dD1RfWZ1bmN0aW9uIFoyKCQsUSl7aWYoUT09bnVsbClyZXR1cm4gJC5fXz9aMigkLl9fLCQuX19pKzEpOm51bGw7Zm9yKHZhciBKO1E8JC5fX2subGVuZ3RoO1ErKylpZigoSj0kLl9fa1tRXSkhPW51bGwmJkouX19lIT1udWxsKXJldHVybiBKLl9fZTtyZXR1cm4gdHlwZW9mICQudHlwZT09ImZ1bmN0aW9uIj9aMigkKTpudWxsfWZ1bmN0aW9uIGg3KCQpe2lmKCQuX19QJiYkLl9fZCl7dmFyIFE9JC5fX3YsSj1RLl9fZSxYPVtdLEs9W10sWT1QMCh7fSxRKTtZLl9fdj1RLl9fdisxLHQudm5vZGUmJnQudm5vZGUoWSksTTMoJC5fX1AsWSxRLCQuX19uLCQuX19QLm5hbWVzcGFjZVVSSSwzMiZRLl9fdT9bSl06bnVsbCxYLEo9PW51bGw/WjIoUSk6SiwhISgzMiZRLl9fdSksSyksWS5fX3Y9US5fX3YsWS5fXy5fX2tbWS5fX2ldPVksdTgoWCxZLEspLFEuX19lPVEuX189bnVsbCxZLl9fZSE9SiYmZjgoWSl9fWZ1bmN0aW9uIGY4KCQpe2lmKCgkPSQuX18pIT1udWxsJiYkLl9fYyE9bnVsbClyZXR1cm4gJC5fX2U9JC5fX2MuYmFzZT1udWxsLCQuX19rLnNvbWUoZnVuY3Rpb24oUSl7aWYoUSE9bnVsbCYmUS5fX2UhPW51bGwpcmV0dXJuICQuX19lPSQuX19jLmJhc2U9US5fX2V9KSxmOCgkKX1mdW5jdGlvbiBIMygkKXsoISQuX19kJiYoJC5fX2Q9ITApJiZoMC5wdXNoKCQpJiYhVTUuX19yKyt8fHk4IT10LmRlYm91bmNlUmVuZGVyaW5nKSYmKCh5OD10LmRlYm91bmNlUmVuZGVyaW5nKXx8djgpKFU1KX1mdW5jdGlvbiBVNSgpe3RyeXtmb3IodmFyICQsUT0xO2gwLmxlbmd0aDspaDAubGVuZ3RoPlEmJmgwLnNvcnQoUjgpLCQ9aDAuc2hpZnQoKSxRPWgwLmxlbmd0aCxoNygkKX1maW5hbGx5e2gwLmxlbmd0aD1VNS5fX3I9MH19ZnVuY3Rpb24gbTgoJCxRLEosWCxLLFkscSxHLEIsTix6KXt2YXIgVixVLEMsTSxMLEgsTyxXPVgmJlguX19rfHxMNSxUPVEubGVuZ3RoO2ZvcihCPWc3KEosUSxXLEIsVCksVj0wO1Y8VDtWKyspKEM9Si5fX2tbVl0pIT1udWxsJiYoVT1DLl9faSE9LTEmJldbQy5fX2ldfHx6NSxDLl9faT1WLEg9TTMoJCxDLFUsSyxZLHEsRyxCLE4seiksTT1DLl9fZSxDLnJlZiYmVS5yZWYhPUMucmVmJiYoVS5yZWYmJkEzKFUucmVmLG51bGwsQyksei5wdXNoKEMucmVmLEMuX19jfHxNLEMpKSxMPT1udWxsJiZNIT1udWxsJiYoTD1NKSwoTz0hISg0JkMuX191KSl8fFUuX19rPT09Qy5fX2s/KEI9cDgoQyxCLCQsTyksTyYmVS5fX2UmJihVLl9fZT1udWxsKSk6dHlwZW9mIEMudHlwZT09ImZ1bmN0aW9uIiYmSCE9PXZvaWQgMD9CPUg6TSYmKEI9TS5uZXh0U2libGluZyksQy5fX3UmPS03KTtyZXR1cm4gSi5fX2U9TCxCfWZ1bmN0aW9uIGc3KCQsUSxKLFgsSyl7dmFyIFkscSxHLEIsTix6PUoubGVuZ3RoLFY9eixVPTA7Zm9yKCQuX19rPUFycmF5KEspLFk9MDtZPEs7WSsrKShxPVFbWV0pIT1udWxsJiZ0eXBlb2YgcSE9ImJvb2xlYW4iJiZ0eXBlb2YgcSE9ImZ1bmN0aW9uIj8odHlwZW9mIHE9PSJzdHJpbmcifHx0eXBlb2YgcT09Im51bWJlciJ8fHR5cGVvZiBxPT0iYmlnaW50Inx8cS5jb25zdHJ1Y3Rvcj09U3RyaW5nP3E9JC5fX2tbWV09VDIobnVsbCxxLG51bGwsbnVsbCxudWxsKTp3MihxKT9xPSQuX19rW1ldPVQyKFExLHtjaGlsZHJlbjpxfSxudWxsLG51bGwsbnVsbCk6cS5jb25zdHJ1Y3Rvcj09PXZvaWQgMCYmcS5fX2I+MD9xPSQuX19rW1ldPVQyKHEudHlwZSxxLnByb3BzLHEua2V5LHEucmVmP3EucmVmOm51bGwscS5fX3YpOiQuX19rW1ldPXEsQj1ZK1UscS5fXz0kLHEuX19iPSQuX19iKzEsRz1udWxsLChOPXEuX19pPWY3KHEsSixCLFYpKSE9LTEmJihWLS0sKEc9SltOXSkmJihHLl9fdXw9MikpLEc9PW51bGx8fEcuX192PT1udWxsPyhOPT0tMSYmKEs+ej9VLS06Szx6JiZVKyspLHR5cGVvZiBxLnR5cGUhPSJmdW5jdGlvbiImJihxLl9fdXw9NCkpOk4hPUImJihOPT1CLTE/VS0tOk49PUIrMT9VKys6KE4+Qj9VLS06VSsrLHEuX191fD00KSkpOiQuX19rW1ldPW51bGw7aWYoVilmb3IoWT0wO1k8ejtZKyspKEc9SltZXSkhPW51bGwmJigyJkcuX191KT09MCYmKEcuX19lPT1YJiYoWD1aMihHKSksZDgoRyxHKSk7cmV0dXJuIFh9ZnVuY3Rpb24gcDgoJCxRLEosWCl7dmFyIEssWTtpZih0eXBlb2YgJC50eXBlPT0iZnVuY3Rpb24iKXtmb3IoSz0kLl9fayxZPTA7SyYmWTxLLmxlbmd0aDtZKyspS1tZXSYmKEtbWV0uX189JCxRPXA4KEtbWV0sUSxKLFgpKTtyZXR1cm4gUX0kLl9fZSE9USYmKFgmJihRJiYkLnR5cGUmJiFRLnBhcmVudE5vZGUmJihRPVoyKCQpKSxKLmluc2VydEJlZm9yZSgkLl9fZSxRfHxudWxsKSksUT0kLl9fZSk7ZG8gUT1RJiZRLm5leHRTaWJsaW5nO3doaWxlKFEhPW51bGwmJlEubm9kZVR5cGU9PTgpO3JldHVybiBRfWZ1bmN0aW9uIFgwKCQsUSl7cmV0dXJuIFE9UXx8W10sJD09bnVsbHx8dHlwZW9mICQ9PSJib29sZWFuInx8KHcyKCQpPyQuc29tZShmdW5jdGlvbihKKXtYMChKLFEpfSk6US5wdXNoKCQpKSxRfWZ1bmN0aW9uIGY3KCQsUSxKLFgpe3ZhciBLLFkscSxHPSQua2V5LEI9JC50eXBlLE49UVtKXSx6PU4hPW51bGwmJigyJk4uX191KT09MDtpZihOPT09bnVsbCYmRz09bnVsbHx8eiYmRz09Ti5rZXkmJkI9PU4udHlwZSlyZXR1cm4gSjtpZihYPih6PzE6MCkpe2ZvcihLPUotMSxZPUorMTtLPj0wfHxZPFEubGVuZ3RoOylpZigoTj1RW3E9Sz49MD9LLS06WSsrXSkhPW51bGwmJigyJk4uX191KT09MCYmRz09Ti5rZXkmJkI9PU4udHlwZSlyZXR1cm4gcX1yZXR1cm4tMX1mdW5jdGlvbiBTOCgkLFEsSil7UVswXT09Ii0iPyQuc2V0UHJvcGVydHkoUSxKPT1udWxsPyIiOkopOiRbUV09Sj09bnVsbD8iIjp0eXBlb2YgSiE9Im51bWJlciJ8fFI3LnRlc3QoUSk/SjpKKyJweCJ9ZnVuY3Rpb24gQjUoJCxRLEosWCxLKXt2YXIgWSxxOyQ6aWYoUT09InN0eWxlIilpZih0eXBlb2YgSj09InN0cmluZyIpJC5zdHlsZS5jc3NUZXh0PUo7ZWxzZXtpZih0eXBlb2YgWD09InN0cmluZyImJigkLnN0eWxlLmNzc1RleHQ9WD0iIiksWClmb3IoUSBpbiBYKUomJlEgaW4gSnx8UzgoJC5zdHlsZSxRLCIiKTtpZihKKWZvcihRIGluIEopWCYmSltRXT09WFtRXXx8UzgoJC5zdHlsZSxRLEpbUV0pfWVsc2UgaWYoUVswXT09Im8iJiZRWzFdPT0ibiIpWT1RIT0oUT1RLnJlcGxhY2UoaDgsIiQxIikpLHE9US50b0xvd2VyQ2FzZSgpLFE9cSBpbiAkfHxRPT0ib25Gb2N1c091dCJ8fFE9PSJvbkZvY3VzSW4iP3Euc2xpY2UoMik6US5zbGljZSgyKSwkLmx8fCgkLmw9e30pLCQubFtRK1ldPUosSj9YP0pbUDJdPVhbUDJdOihKW1AyXT1PMywkLmFkZEV2ZW50TGlzdGVuZXIoUSxZP1UzOkwzLFkpKTokLnJlbW92ZUV2ZW50TGlzdGVuZXIoUSxZP1UzOkwzLFkpO2Vsc2V7aWYoSz09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIilRPVEucmVwbGFjZSgveGxpbmsoSHw6aCkvLCJoIikucmVwbGFjZSgvc05hbWUkLywicyIpO2Vsc2UgaWYoUSE9IndpZHRoIiYmUSE9ImhlaWdodCImJlEhPSJocmVmIiYmUSE9Imxpc3QiJiZRIT0iZm9ybSImJlEhPSJ0YWJJbmRleCImJlEhPSJkb3dubG9hZCImJlEhPSJyb3dTcGFuIiYmUSE9ImNvbFNwYW4iJiZRIT0icm9sZSImJlEhPSJwb3BvdmVyIiYmUSBpbiAkKXRyeXskW1FdPUo9PW51bGw/IiI6SjticmVhayAkfWNhdGNoKEcpe310eXBlb2YgSj09ImZ1bmN0aW9uInx8KEo9PW51bGx8fEo9PT0hMSYmUVs0XSE9Ii0iPyQucmVtb3ZlQXR0cmlidXRlKFEpOiQuc2V0QXR0cmlidXRlKFEsUT09InBvcG92ZXIiJiZKPT0xPyIiOkopKX19ZnVuY3Rpb24geDgoJCl7cmV0dXJuIGZ1bmN0aW9uKFEpe2lmKHRoaXMubCl7dmFyIEo9dGhpcy5sW1EudHlwZSskXTtpZihRW041XT09bnVsbClRW041XT1PMysrO2Vsc2UgaWYoUVtONV08SltQMl0pcmV0dXJuO3JldHVybiBKKHQuZXZlbnQ/dC5ldmVudChRKTpRKX19fWZ1bmN0aW9uIE0zKCQsUSxKLFgsSyxZLHEsRyxCLE4pe3ZhciB6LFYsVSxDLE0sTCxILE8sVyxULFAseCxELGUsUixkPVEudHlwZTtpZihRLmNvbnN0cnVjdG9yIT09dm9pZCAwKXJldHVybiBudWxsOzEyOCZKLl9fdSYmKEI9ISEoMzImSi5fX3UpLFk9W0c9US5fX2U9Si5fX2VdKSwoej10Ll9fYikmJnooUSk7JDppZih0eXBlb2YgZD09ImZ1bmN0aW9uIil0cnl7aWYoTz1RLnByb3BzLFc9ZC5wcm90b3R5cGUmJmQucHJvdG90eXBlLnJlbmRlcixUPSh6PWQuY29udGV4dFR5cGUpJiZYW3ouX19jXSxQPXo/VD9ULnByb3BzLnZhbHVlOnouX186WCxKLl9fYz9IPShWPVEuX19jPUouX19jKS5fXz1WLl9fRTooVz9RLl9fYz1WPW5ldyBkKE8sUCk6KFEuX19jPVY9bmV3IGQxKE8sUCksVi5jb25zdHJ1Y3Rvcj1kLFYucmVuZGVyPXA3KSxUJiZULnN1YihWKSxWLnN0YXRlfHwoVi5zdGF0ZT17fSksVi5fX249WCxVPVYuX19kPSEwLFYuX19oPVtdLFYuX3NiPVtdKSxXJiZWLl9fcz09bnVsbCYmKFYuX19zPVYuc3RhdGUpLFcmJmQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIT1udWxsJiYoVi5fX3M9PVYuc3RhdGUmJihWLl9fcz1QMCh7fSxWLl9fcykpLFAwKFYuX19zLGQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKE8sVi5fX3MpKSksQz1WLnByb3BzLE09Vi5zdGF0ZSxWLl9fdj1RLFUpVyYmZC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PW51bGwmJlYuY29tcG9uZW50V2lsbE1vdW50IT1udWxsJiZWLmNvbXBvbmVudFdpbGxNb3VudCgpLFcmJlYuY29tcG9uZW50RGlkTW91bnQhPW51bGwmJlYuX19oLnB1c2goVi5jb21wb25lbnREaWRNb3VudCk7ZWxzZXtpZihXJiZkLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09bnVsbCYmTyE9PUMmJlYuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyE9bnVsbCYmVi5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKE8sUCksUS5fX3Y9PUouX192fHwhVi5fX2UmJlYuc2hvdWxkQ29tcG9uZW50VXBkYXRlIT1udWxsJiZWLnNob3VsZENvbXBvbmVudFVwZGF0ZShPLFYuX19zLFApPT09ITEpe1EuX192IT1KLl9fdiYmKFYucHJvcHM9TyxWLnN0YXRlPVYuX19zLFYuX19kPSExKSxRLl9fZT1KLl9fZSxRLl9faz1KLl9fayxRLl9fay5zb21lKGZ1bmN0aW9uKG4pe24mJihuLl9fPVEpfSksTDUucHVzaC5hcHBseShWLl9faCxWLl9zYiksVi5fc2I9W10sVi5fX2gubGVuZ3RoJiZxLnB1c2goVik7YnJlYWsgJH1WLmNvbXBvbmVudFdpbGxVcGRhdGUhPW51bGwmJlYuY29tcG9uZW50V2lsbFVwZGF0ZShPLFYuX19zLFApLFcmJlYuY29tcG9uZW50RGlkVXBkYXRlIT1udWxsJiZWLl9faC5wdXNoKGZ1bmN0aW9uKCl7Vi5jb21wb25lbnREaWRVcGRhdGUoQyxNLEwpfSl9aWYoVi5jb250ZXh0PVAsVi5wcm9wcz1PLFYuX19QPSQsVi5fX2U9ITEseD10Ll9fcixEPTAsVylWLnN0YXRlPVYuX19zLFYuX19kPSExLHgmJngoUSksej1WLnJlbmRlcihWLnByb3BzLFYuc3RhdGUsVi5jb250ZXh0KSxMNS5wdXNoLmFwcGx5KFYuX19oLFYuX3NiKSxWLl9zYj1bXTtlbHNlIGRvIFYuX19kPSExLHgmJngoUSksej1WLnJlbmRlcihWLnByb3BzLFYuc3RhdGUsVi5jb250ZXh0KSxWLnN0YXRlPVYuX19zO3doaWxlKFYuX19kJiYrK0Q8MjUpO1Yuc3RhdGU9Vi5fX3MsVi5nZXRDaGlsZENvbnRleHQhPW51bGwmJihYPVAwKFAwKHt9LFgpLFYuZ2V0Q2hpbGRDb250ZXh0KCkpKSxXJiYhVSYmVi5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9bnVsbCYmKEw9Vi5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShDLE0pKSxlPXohPW51bGwmJnoudHlwZT09PVExJiZ6LmtleT09bnVsbD9sOCh6LnByb3BzLmNoaWxkcmVuKTp6LEc9bTgoJCx3MihlKT9lOltlXSxRLEosWCxLLFkscSxHLEIsTiksVi5iYXNlPVEuX19lLFEuX191Jj0tMTYxLFYuX19oLmxlbmd0aCYmcS5wdXNoKFYpLEgmJihWLl9fRT1WLl9fPW51bGwpfWNhdGNoKG4pe2lmKFEuX192PW51bGwsQnx8WSE9bnVsbClpZihuLnRoZW4pe2ZvcihRLl9fdXw9Qj8xNjA6MTI4O0cmJkcubm9kZVR5cGU9PTgmJkcubmV4dFNpYmxpbmc7KUc9Ry5uZXh0U2libGluZztZW1kuaW5kZXhPZihHKV09bnVsbCxRLl9fZT1HfWVsc2V7Zm9yKFI9WS5sZW5ndGg7Ui0tOylGMyhZW1JdKTtDMyhRKX1lbHNlIFEuX19lPUouX19lLFEuX19rPUouX19rLG4udGhlbnx8QzMoUSk7dC5fX2UobixRLEopfWVsc2UgWT09bnVsbCYmUS5fX3Y9PUouX192PyhRLl9faz1KLl9fayxRLl9fZT1KLl9fZSk6Rz1RLl9fZT1tNyhKLl9fZSxRLEosWCxLLFkscSxCLE4pO3JldHVybih6PXQuZGlmZmVkKSYmeihRKSwxMjgmUS5fX3U/dm9pZCAwOkd9ZnVuY3Rpb24gQzMoJCl7JCYmKCQuX19jJiYoJC5fX2MuX19lPSEwKSwkLl9fayYmJC5fX2suc29tZShDMykpfWZ1bmN0aW9uIHU4KCQsUSxKKXtmb3IodmFyIFg9MDtYPEoubGVuZ3RoO1grKylBMyhKW1hdLEpbKytYXSxKWysrWF0pO3QuX19jJiZ0Ll9fYyhRLCQpLCQuc29tZShmdW5jdGlvbihLKXt0cnl7JD1LLl9faCxLLl9faD1bXSwkLnNvbWUoZnVuY3Rpb24oWSl7WS5jYWxsKEspfSl9Y2F0Y2goWSl7dC5fX2UoWSxLLl9fdil9fSl9ZnVuY3Rpb24gbDgoJCl7cmV0dXJuIHR5cGVvZiAkIT0ib2JqZWN0Inx8JD09bnVsbHx8JC5fX2I+MD8kOncyKCQpPyQubWFwKGw4KTpQMCh7fSwkKX1mdW5jdGlvbiBtNygkLFEsSixYLEssWSxxLEcsQil7dmFyIE4seixWLFUsQyxNLEwsSD1KLnByb3BzfHx6NSxPPVEucHJvcHMsVz1RLnR5cGU7aWYoVz09InN2ZyI/Sz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciOlc9PSJtYXRoIj9LPSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpLfHwoSz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIpLFkhPW51bGwpe2ZvcihOPTA7TjxZLmxlbmd0aDtOKyspaWYoKEM9WVtOXSkmJiJzZXRBdHRyaWJ1dGUiaW4gQz09ISFXJiYoVz9DLmxvY2FsTmFtZT09VzpDLm5vZGVUeXBlPT0zKSl7JD1DLFlbTl09bnVsbDticmVha319aWYoJD09bnVsbCl7aWYoVz09bnVsbClyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoTyk7JD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoSyxXLE8uaXMmJk8pLEcmJih0Ll9fbSYmdC5fX20oUSxZKSxHPSExKSxZPW51bGx9aWYoVz09bnVsbClIPT09T3x8RyYmJC5kYXRhPT1PfHwoJC5kYXRhPU8pO2Vsc2V7aWYoWT1ZJiZFMi5jYWxsKCQuY2hpbGROb2RlcyksIUcmJlkhPW51bGwpZm9yKEg9e30sTj0wO048JC5hdHRyaWJ1dGVzLmxlbmd0aDtOKyspSFsoQz0kLmF0dHJpYnV0ZXNbTl0pLm5hbWVdPUMudmFsdWU7Zm9yKE4gaW4gSClDPUhbTl0sTj09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj9WPUM6Tj09ImNoaWxkcmVuInx8KE4gaW4gTyl8fE49PSJ2YWx1ZSImJigiZGVmYXVsdFZhbHVlImluIE8pfHxOPT0iY2hlY2tlZCImJigiZGVmYXVsdENoZWNrZWQiaW4gTyl8fEI1KCQsTixudWxsLEMsSyk7Zm9yKE4gaW4gTylDPU9bTl0sTj09ImNoaWxkcmVuIj9VPUM6Tj09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj96PUM6Tj09InZhbHVlIj9NPUM6Tj09ImNoZWNrZWQiP0w9QzpHJiZ0eXBlb2YgQyE9ImZ1bmN0aW9uInx8SFtOXT09PUN8fEI1KCQsTixDLEhbTl0sSyk7aWYoeilHfHxWJiYoei5fX2h0bWw9PVYuX19odG1sfHx6Ll9faHRtbD09JC5pbm5lckhUTUwpfHwoJC5pbm5lckhUTUw9ei5fX2h0bWwpLFEuX19rPVtdO2Vsc2UgaWYoViYmKCQuaW5uZXJIVE1MPSIiKSxtOChRLnR5cGU9PSJ0ZW1wbGF0ZSI/JC5jb250ZW50OiQsdzIoVSk/VTpbVV0sUSxKLFgsVz09ImZvcmVpZ25PYmplY3QiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIjpLLFkscSxZP1lbMF06Si5fX2smJloyKEosMCksRyxCKSxZIT1udWxsKWZvcihOPVkubGVuZ3RoO04tLTspRjMoWVtOXSk7R3x8KE49InZhbHVlIixXPT0icHJvZ3Jlc3MiJiZNPT1udWxsPyQucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpOk0hPW51bGwmJihNIT09JFtOXXx8Vz09InByb2dyZXNzIiYmIU18fFc9PSJvcHRpb24iJiZNIT1IW05dKSYmQjUoJCxOLE0sSFtOXSxLKSxOPSJjaGVja2VkIixMIT1udWxsJiZMIT0kW05dJiZCNSgkLE4sTCxIW05dLEspKX1yZXR1cm4gJH1mdW5jdGlvbiBBMygkLFEsSil7dHJ5e2lmKHR5cGVvZiAkPT0iZnVuY3Rpb24iKXt2YXIgWD10eXBlb2YgJC5fX3U9PSJmdW5jdGlvbiI7WCYmJC5fX3UoKSxYJiZRPT1udWxsfHwoJC5fX3U9JChRKSl9ZWxzZSAkLmN1cnJlbnQ9UX1jYXRjaChLKXt0Ll9fZShLLEopfX1mdW5jdGlvbiBkOCgkLFEsSil7dmFyIFgsSztpZih0LnVubW91bnQmJnQudW5tb3VudCgkKSwoWD0kLnJlZikmJihYLmN1cnJlbnQmJlguY3VycmVudCE9JC5fX2V8fEEzKFgsbnVsbCxRKSksKFg9JC5fX2MpIT1udWxsKXtpZihYLmNvbXBvbmVudFdpbGxVbm1vdW50KXRyeXtYLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goWSl7dC5fX2UoWSxRKX1YLmJhc2U9WC5fX1A9bnVsbH1pZihYPSQuX19rKWZvcihLPTA7SzxYLmxlbmd0aDtLKyspWFtLXSYmZDgoWFtLXSxRLEp8fHR5cGVvZiAkLnR5cGUhPSJmdW5jdGlvbiIpO0p8fEYzKCQuX19lKSwkLl9fYz0kLl9fPSQuX19lPXZvaWQgMH1mdW5jdGlvbiBwNygkLFEsSil7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IoJCxKKX1mdW5jdGlvbiB4MCgkLFEsSil7dmFyIFgsSyxZLHE7UT09ZG9jdW1lbnQmJihRPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCksdC5fXyYmdC5fXygkLFEpLEs9KFg9dHlwZW9mIEo9PSJmdW5jdGlvbiIpP251bGw6SiYmSi5fX2t8fFEuX19rLFk9W10scT1bXSxNMyhRLCQ9KCFYJiZKfHxRKS5fX2s9dTEoUTEsbnVsbCxbJF0pLEt8fHo1LHo1LFEubmFtZXNwYWNlVVJJLCFYJiZKP1tKXTpLP251bGw6US5maXJzdENoaWxkP0UyLmNhbGwoUS5jaGlsZE5vZGVzKTpudWxsLFksIVgmJko/SjpLP0suX19lOlEuZmlyc3RDaGlsZCxYLHEpLHU4KFksJCxxKX1mdW5jdGlvbiBINSgkLFEpe3gwKCQsUSxINSl9ZnVuY3Rpb24gazMoJCxRLEope3ZhciBYLEssWSxxLEc9UDAoe30sJC5wcm9wcyk7Zm9yKFkgaW4gJC50eXBlJiYkLnR5cGUuZGVmYXVsdFByb3BzJiYocT0kLnR5cGUuZGVmYXVsdFByb3BzKSxRKVk9PSJrZXkiP1g9UVtZXTpZPT0icmVmIj9LPVFbWV06R1tZXT1RW1ldPT09dm9pZCAwJiZxIT1udWxsP3FbWV06UVtZXTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4yJiYoRy5jaGlsZHJlbj1hcmd1bWVudHMubGVuZ3RoPjM/RTIuY2FsbChhcmd1bWVudHMsMik6SiksVDIoJC50eXBlLEcsWHx8JC5rZXksS3x8JC5yZWYsbnVsbCl9ZnVuY3Rpb24gTzAoJCl7ZnVuY3Rpb24gUShKKXt2YXIgWCxLO3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KFg9bmV3IFNldCwoSz17fSlbUS5fX2NdPXRoaXMsdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gS30sdGhpcy5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe1g9bnVsbH0sdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oWSl7dGhpcy5wcm9wcy52YWx1ZSE9WS52YWx1ZSYmWC5mb3JFYWNoKGZ1bmN0aW9uKHEpe3EuX19lPSEwLEgzKHEpfSl9LHRoaXMuc3ViPWZ1bmN0aW9uKFkpe1guYWRkKFkpO3ZhciBxPVkuY29tcG9uZW50V2lsbFVubW91bnQ7WS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe1gmJlguZGVsZXRlKFkpLHEmJnEuY2FsbChZKX19KSxKLmNoaWxkcmVufXJldHVybiBRLl9fYz0iX19jQyIrZzgrKyxRLl9fPSQsUS5Qcm92aWRlcj1RLl9fbD0oUS5Db25zdW1lcj1mdW5jdGlvbihKLFgpe3JldHVybiBKLmNoaWxkcmVuKFgpfSkuY29udGV4dFR5cGU9USxRfUUyPUw1LnNsaWNlLHQ9e19fZTpmdW5jdGlvbigkLFEsSixYKXtmb3IodmFyIEssWSxxO1E9US5fXzspaWYoKEs9US5fX2MpJiYhSy5fXyl0cnl7aWYoKFk9Sy5jb25zdHJ1Y3RvcikmJlkuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIT1udWxsJiYoSy5zZXRTdGF0ZShZLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcigkKSkscT1LLl9fZCksSy5jb21wb25lbnREaWRDYXRjaCE9bnVsbCYmKEsuY29tcG9uZW50RGlkQ2F0Y2goJCxYfHx7fSkscT1LLl9fZCkscSlyZXR1cm4gSy5fX0U9S31jYXRjaChHKXskPUd9dGhyb3cgJH19LGo4PTAsdjc9ZnVuY3Rpb24oJCl7cmV0dXJuICQhPW51bGwmJiQuY29uc3RydWN0b3I9PT12b2lkIDB9LGQxLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbigkLFEpe3ZhciBKO0o9dGhpcy5fX3MhPW51bGwmJnRoaXMuX19zIT10aGlzLnN0YXRlP3RoaXMuX19zOnRoaXMuX19zPVAwKHt9LHRoaXMuc3RhdGUpLHR5cGVvZiAkPT0iZnVuY3Rpb24iJiYoJD0kKFAwKHt9LEopLHRoaXMucHJvcHMpKSwkJiZQMChKLCQpLCQhPW51bGwmJnRoaXMuX192JiYoUSYmdGhpcy5fc2IucHVzaChRKSxIMyh0aGlzKSl9LGQxLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbigkKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLCQmJnRoaXMuX19oLnB1c2goJCksSDModGhpcykpfSxkMS5wcm90b3R5cGUucmVuZGVyPVExLGgwPVtdLHY4PXR5cGVvZiBQcm9taXNlPT0iZnVuY3Rpb24iP1Byb21pc2UucHJvdG90eXBlLnRoZW4uYmluZChQcm9taXNlLnJlc29sdmUoKSk6c2V0VGltZW91dCxSOD1mdW5jdGlvbigkLFEpe3JldHVybiAkLl9fdi5fX2ItUS5fX3YuX19ifSxVNS5fX3I9MCx6Mz1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDgpLE41PSJfX2QiK3ozLFAyPSJfX2EiK3ozLGg4PS8oUG9pbnRlckNhcHR1cmUpJHxDYXB0dXJlJC9pLE8zPTAsTDM9eDgoITEpLFUzPXg4KCEwKSxnOD0wO3ZhciBnMCx5MSxXMyxjOCxYMj0wLGU4PVtdLGcxPXQsbzg9ZzEuX19iLGk4PWcxLl9fcixuOD1nMS5kaWZmZWQscjg9ZzEuX19jLGE4PWcxLnVubW91bnQsczg9ZzEuX187ZnVuY3Rpb24gSzIoJCxRKXtnMS5fX2gmJmcxLl9faCh5MSwkLFgyfHxRKSxYMj0wO3ZhciBKPXkxLl9fSHx8KHkxLl9fSD17X186W10sX19oOltdfSk7cmV0dXJuICQ+PUouX18ubGVuZ3RoJiZKLl9fLnB1c2goe30pLEouX19bJF19ZnVuY3Rpb24gaygkKXtyZXR1cm4gWDI9MSxvMCgkOSwkKX1mdW5jdGlvbiBvMCgkLFEsSil7dmFyIFg9SzIoZzArKywyKTtpZihYLnQ9JCwhWC5fX2MmJihYLl9fPVtKP0ooUSk6JDkodm9pZCAwLFEpLGZ1bmN0aW9uKEcpe3ZhciBCPVguX19OP1guX19OWzBdOlguX19bMF0sTj1YLnQoQixHKTtCIT09TiYmKFguX19OPVtOLFguX19bMV1dLFguX19jLnNldFN0YXRlKHt9KSl9XSxYLl9fYz15MSwheTEuX19mKSl7dmFyIEs9ZnVuY3Rpb24oRyxCLE4pe2lmKCFYLl9fYy5fX0gpcmV0dXJuITA7dmFyIHo9WC5fX2MuX19ILl9fLmZpbHRlcihmdW5jdGlvbihVKXtyZXR1cm4gVS5fX2N9KTtpZih6LmV2ZXJ5KGZ1bmN0aW9uKFUpe3JldHVybiFVLl9fTn0pKXJldHVybiFZfHxZLmNhbGwodGhpcyxHLEIsTik7dmFyIFY9WC5fX2MucHJvcHMhPT1HO3JldHVybiB6LnNvbWUoZnVuY3Rpb24oVSl7aWYoVS5fX04pe3ZhciBDPVUuX19bMF07VS5fXz1VLl9fTixVLl9fTj12b2lkIDAsQyE9PVUuX19bMF0mJihWPSEwKX19KSxZJiZZLmNhbGwodGhpcyxHLEIsTil8fFZ9O3kxLl9fZj0hMDt2YXJ7c2hvdWxkQ29tcG9uZW50VXBkYXRlOlksY29tcG9uZW50V2lsbFVwZGF0ZTpxfT15MTt5MS5jb21wb25lbnRXaWxsVXBkYXRlPWZ1bmN0aW9uKEcsQixOKXtpZih0aGlzLl9fZSl7dmFyIHo9WTtZPXZvaWQgMCxLKEcsQixOKSxZPXp9cSYmcS5jYWxsKHRoaXMsRyxCLE4pfSx5MS5zaG91bGRDb21wb25lbnRVcGRhdGU9S31yZXR1cm4gWC5fX058fFguX199ZnVuY3Rpb24geSgkLFEpe3ZhciBKPUsyKGcwKyssMyk7IWcxLl9fcyYmRDMoSi5fX0gsUSkmJihKLl9fPSQsSi51PVEseTEuX19ILl9faC5wdXNoKEopKX1mdW5jdGlvbiBUMCgkLFEpe3ZhciBKPUsyKGcwKyssNCk7IWcxLl9fcyYmRDMoSi5fX0gsUSkmJihKLl9fPSQsSi51PVEseTEuX19oLnB1c2goSikpfWZ1bmN0aW9uIHcoJCl7cmV0dXJuIFgyPTUsRDEoZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDokfX0sW10pfWZ1bmN0aW9uIE81KCQsUSxKKXtYMj02LFQwKGZ1bmN0aW9uKCl7aWYodHlwZW9mICQ9PSJmdW5jdGlvbiIpe3ZhciBYPSQoUSgpKTtyZXR1cm4gZnVuY3Rpb24oKXskKG51bGwpLFgmJnR5cGVvZiBYPT0iZnVuY3Rpb24iJiZYKCl9fWlmKCQpcmV0dXJuICQuY3VycmVudD1RKCksZnVuY3Rpb24oKXtyZXR1cm4gJC5jdXJyZW50PW51bGx9fSxKPT1udWxsP0o6Si5jb25jYXQoJCkpfWZ1bmN0aW9uIEQxKCQsUSl7dmFyIEo9SzIoZzArKyw3KTtyZXR1cm4gRDMoSi5fX0gsUSkmJihKLl9fPSQoKSxKLl9fSD1RLEouX19oPSQpLEouX199ZnVuY3Rpb24gSSgkLFEpe3JldHVybiBYMj04LEQxKGZ1bmN0aW9uKCl7cmV0dXJuICR9LFEpfWZ1bmN0aW9uIEYwKCQpe3ZhciBRPXkxLmNvbnRleHRbJC5fX2NdLEo9SzIoZzArKyw5KTtyZXR1cm4gSi5jPSQsUT8oSi5fXz09bnVsbCYmKEouX189ITAsUS5zdWIoeTEpKSxRLnByb3BzLnZhbHVlKTokLl9ffWZ1bmN0aW9uIEY1KCQsUSl7ZzEudXNlRGVidWdWYWx1ZSYmZzEudXNlRGVidWdWYWx1ZShRP1EoJCk6JCl9ZnVuY3Rpb24gWTIoKXt2YXIgJD1LMihnMCsrLDExKTtpZighJC5fXyl7Zm9yKHZhciBRPXkxLl9fdjtRIT09bnVsbCYmIVEuX19tJiZRLl9fIT09bnVsbDspUT1RLl9fO3ZhciBKPVEuX19tfHwoUS5fX209WzAsMF0pOyQuX189IlAiK0pbMF0rIi0iK0pbMV0rK31yZXR1cm4gJC5fX31mdW5jdGlvbiB1Nygpe2Zvcih2YXIgJDskPWU4LnNoaWZ0KCk7KXt2YXIgUT0kLl9fSDtpZigkLl9fUCYmUSl0cnl7US5fX2guc29tZShDNSksUS5fX2guc29tZShfMyksUS5fX2g9W119Y2F0Y2goSil7US5fX2g9W10sZzEuX19lKEosJC5fX3YpfX19ZzEuX19iPWZ1bmN0aW9uKCQpe3kxPW51bGwsbzgmJm84KCQpfSxnMS5fXz1mdW5jdGlvbigkLFEpeyQmJlEuX19rJiZRLl9fay5fX20mJigkLl9fbT1RLl9fay5fX20pLHM4JiZzOCgkLFEpfSxnMS5fX3I9ZnVuY3Rpb24oJCl7aTgmJmk4KCQpLGcwPTA7dmFyIFE9KHkxPSQuX19jKS5fX0g7USYmKFczPT09eTE/KFEuX19oPVtdLHkxLl9faD1bXSxRLl9fLnNvbWUoZnVuY3Rpb24oSil7Si5fX04mJihKLl9fPUouX19OKSxKLnU9Si5fX049dm9pZCAwfSkpOihRLl9faC5zb21lKEM1KSxRLl9faC5zb21lKF8zKSxRLl9faD1bXSxnMD0wKSksVzM9eTF9LGcxLmRpZmZlZD1mdW5jdGlvbigkKXtuOCYmbjgoJCk7dmFyIFE9JC5fX2M7USYmUS5fX0gmJihRLl9fSC5fX2gubGVuZ3RoJiYoZTgucHVzaChRKSE9PTEmJmM4PT09ZzEucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKGM4PWcxLnJlcXVlc3RBbmltYXRpb25GcmFtZSl8fGw3KSh1NykpLFEuX19ILl9fLnNvbWUoZnVuY3Rpb24oSil7Si51JiYoSi5fX0g9Si51KSxKLnU9dm9pZCAwfSkpLFczPXkxPW51bGx9LGcxLl9fYz1mdW5jdGlvbigkLFEpe1Euc29tZShmdW5jdGlvbihKKXt0cnl7Si5fX2guc29tZShDNSksSi5fX2g9Si5fX2guZmlsdGVyKGZ1bmN0aW9uKFgpe3JldHVybiFYLl9ffHxfMyhYKX0pfWNhdGNoKFgpe1Euc29tZShmdW5jdGlvbihLKXtLLl9faCYmKEsuX19oPVtdKX0pLFE9W10sZzEuX19lKFgsSi5fX3YpfX0pLHI4JiZyOCgkLFEpfSxnMS51bm1vdW50PWZ1bmN0aW9uKCQpe2E4JiZhOCgkKTt2YXIgUSxKPSQuX19jO0omJkouX19IJiYoSi5fX0guX18uc29tZShmdW5jdGlvbihYKXt0cnl7QzUoWCl9Y2F0Y2goSyl7UT1LfX0pLEouX19IPXZvaWQgMCxRJiZnMS5fX2UoUSxKLl9fdikpfTt2YXIgdDg9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIjtmdW5jdGlvbiBsNygkKXt2YXIgUSxKPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KFgpLHQ4JiZjYW5jZWxBbmltYXRpb25GcmFtZShRKSxzZXRUaW1lb3V0KCQpfSxYPXNldFRpbWVvdXQoSiwzNSk7dDgmJihRPXJlcXVlc3RBbmltYXRpb25GcmFtZShKKSl9ZnVuY3Rpb24gQzUoJCl7dmFyIFE9eTEsSj0kLl9fYzt0eXBlb2YgSj09ImZ1bmN0aW9uIiYmKCQuX19jPXZvaWQgMCxKKCkpLHkxPVF9ZnVuY3Rpb24gXzMoJCl7dmFyIFE9eTE7JC5fX2M9JC5fXygpLHkxPVF9ZnVuY3Rpb24gRDMoJCxRKXtyZXR1cm4hJHx8JC5sZW5ndGghPT1RLmxlbmd0aHx8US5zb21lKGZ1bmN0aW9uKEosWCl7cmV0dXJuIEohPT0kW1hdfSl9ZnVuY3Rpb24gJDkoJCxRKXtyZXR1cm4gdHlwZW9mIFE9PSJmdW5jdGlvbiI/USgkKTpRfWZ1bmN0aW9uIGQ3KCQsUSl7Zm9yKHZhciBKIGluIFEpJFtKXT1RW0pdO3JldHVybiAkfWZ1bmN0aW9uIFE5KCQsUSl7Zm9yKHZhciBKIGluICQpaWYoSiE9PSJfX3NvdXJjZSImJiEoSiBpbiBRKSlyZXR1cm4hMDtmb3IodmFyIFggaW4gUSlpZihYIT09Il9fc291cmNlIiYmJFtYXSE9PVFbWF0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gSjkoJCxRKXt0aGlzLnByb3BzPSQsdGhpcy5jb250ZXh0PVF9KEo5LnByb3RvdHlwZT1uZXcgZDEpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLEo5LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oJCxRKXtyZXR1cm4gUTkodGhpcy5wcm9wcywkKXx8UTkodGhpcy5zdGF0ZSxRKX07dmFyIFo5PXQuX19iO3QuX19iPWZ1bmN0aW9uKCQpeyQudHlwZSYmJC50eXBlLl9fZiYmJC5yZWYmJigkLnByb3BzLnJlZj0kLnJlZiwkLnJlZj1udWxsKSxaOSYmWjkoJCl9O3ZhciBjNz10Ll9fZTt0Ll9fZT1mdW5jdGlvbigkLFEsSixYKXtpZigkLnRoZW4pe2Zvcih2YXIgSyxZPVE7WT1ZLl9fOylpZigoSz1ZLl9fYykmJksuX19jKXJldHVybiBRLl9fZT09bnVsbCYmKFEuX19lPUouX19lLFEuX19rPUouX19rKSxLLl9fYygkLFEpfWM3KCQsUSxKLFgpfTt2YXIgWDk9dC51bm1vdW50O2Z1bmN0aW9uIEI5KCQsUSxKKXtyZXR1cm4gJCYmKCQuX19jJiYkLl9fYy5fX0gmJigkLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihYKXt0eXBlb2YgWC5fX2M9PSJmdW5jdGlvbiImJlguX19jKCl9KSwkLl9fYy5fX0g9bnVsbCksKCQ9ZDcoe30sJCkpLl9fYyE9bnVsbCYmKCQuX19jLl9fUD09PUomJigkLl9fYy5fX1A9USksJC5fX2MuX19lPSEwLCQuX19jPW51bGwpLCQuX19rPSQuX19rJiYkLl9fay5tYXAoZnVuY3Rpb24oWCl7cmV0dXJuIEI5KFgsUSxKKX0pKSwkfWZ1bmN0aW9uIE45KCQsUSxKKXtyZXR1cm4gJCYmSiYmKCQuX192PW51bGwsJC5fX2s9JC5fX2smJiQuX19rLm1hcChmdW5jdGlvbihYKXtyZXR1cm4gTjkoWCxRLEopfSksJC5fX2MmJiQuX19jLl9fUD09PVEmJigkLl9fZSYmSi5hcHBlbmRDaGlsZCgkLl9fZSksJC5fX2MuX19lPSEwLCQuX19jLl9fUD1KKSksJH1mdW5jdGlvbiBQMygpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiB6OSgkKXt2YXIgUT0kLl9fJiYkLl9fLl9fYztyZXR1cm4gUSYmUS5fX2EmJlEuX19hKCQpfWZ1bmN0aW9uIE01KCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9dC51bm1vdW50PWZ1bmN0aW9uKCQpe3ZhciBRPSQuX19jO1EmJihRLl9fej0hMCksUSYmUS5fX1ImJlEuX19SKCksUSYmMzImJC5fX3UmJigkLnR5cGU9bnVsbCksWDkmJlg5KCQpfSwoUDMucHJvdG90eXBlPW5ldyBkMSkuX19jPWZ1bmN0aW9uKCQsUSl7dmFyIEo9US5fX2MsWD10aGlzO1gubz09bnVsbCYmKFgubz1bXSksWC5vLnB1c2goSik7dmFyIEs9ejkoWC5fX3YpLFk9ITEscT1mdW5jdGlvbigpe1l8fFguX196fHwoWT0hMCxKLl9fUj1udWxsLEs/SyhCKTpCKCkpfTtKLl9fUj1xO3ZhciBHPUouX19QO0ouX19QPW51bGw7dmFyIEI9ZnVuY3Rpb24oKXtpZighLS1YLl9fdSl7aWYoWC5zdGF0ZS5fX2Epe3ZhciBOPVguc3RhdGUuX19hO1guX192Ll9fa1swXT1OOShOLE4uX19jLl9fUCxOLl9fYy5fX08pfXZhciB6O2ZvcihYLnNldFN0YXRlKHtfX2E6WC5fX2I9bnVsbH0pO3o9WC5vLnBvcCgpOyl6Ll9fUD1HLHouZm9yY2VVcGRhdGUoKX19O1guX191Kyt8fDMyJlEuX191fHxYLnNldFN0YXRlKHtfX2E6WC5fX2I9WC5fX3YuX19rWzBdfSksJC50aGVuKHEscSl9LFAzLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sUDMucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigkLFEpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFg9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09QjkodGhpcy5fX2IsSixYLl9fTz1YLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgSz1RLl9fYSYmdTEoUTEsbnVsbCwkLmZhbGxiYWNrKTtyZXR1cm4gSyYmKEsuX191Jj0tMzMpLFt1MShRMSxudWxsLFEuX19hP251bGw6JC5jaGlsZHJlbiksS119O3ZhciBLOT1mdW5jdGlvbigkLFEsSil7aWYoKytKWzFdPT09SlswXSYmJC5sLmRlbGV0ZShRKSwkLnByb3BzLnJldmVhbE9yZGVyJiYoJC5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8ISQubC5zaXplKSlmb3IoSj0kLmk7Sjspe2Zvcig7Si5sZW5ndGg+MzspSi5wb3AoKSgpO2lmKEpbMV08SlswXSlicmVhazskLmk9Sj1KWzJdfX07KE01LnByb3RvdHlwZT1uZXcgZDEpLl9fYT1mdW5jdGlvbigkKXt2YXIgUT10aGlzLEo9ejkoUS5fX3YpLFg9US5sLmdldCgkKTtyZXR1cm4gWFswXSsrLGZ1bmN0aW9uKEspe3ZhciBZPWZ1bmN0aW9uKCl7US5wcm9wcy5yZXZlYWxPcmRlcj8oWC5wdXNoKEspLEs5KFEsJCxYKSk6SygpfTtKP0ooWSk6WSgpfX0sTTUucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigkKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgUT1YMCgkLmNoaWxkcmVuKTskLnJldmVhbE9yZGVyJiYkLnJldmVhbE9yZGVyWzBdPT09ImIiJiZRLnJldmVyc2UoKTtmb3IodmFyIEo9US5sZW5ndGg7Si0tOyl0aGlzLmwuc2V0KFFbSl0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuICQuY2hpbGRyZW59LE01LnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9TTUucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyICQ9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihRLEope0s5KCQsSixRKX0pfTt2YXIgbzc9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsaTc9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLG43PS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8scjc9L1tBLVowLTldL2csYTc9dHlwZW9mIGRvY3VtZW50PCJ1IixzNz1mdW5jdGlvbigkKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoJCl9O2Z1bmN0aW9uIEw5KCQsUSxKKXtyZXR1cm4gUS5fX2s9PW51bGwmJihRLnRleHRDb250ZW50PSIiKSx4MCgkLFEpLHR5cGVvZiBKPT0iZnVuY3Rpb24iJiZKKCksJD8kLl9fYzpudWxsfWQxLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLFsiY29tcG9uZW50V2lsbE1vdW50IiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsImNvbXBvbmVudFdpbGxVcGRhdGUiXS5mb3JFYWNoKGZ1bmN0aW9uKCQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShkMS5wcm90b3R5cGUsJCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIiskXX0sc2V0OmZ1bmN0aW9uKFEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCQse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpRfSl9fSl9KTt2YXIgWTk9dC5ldmVudDt0LmV2ZW50PWZ1bmN0aW9uKCQpe3JldHVybiBZOSYmKCQ9WTkoJCkpLCQucGVyc2lzdD1mdW5jdGlvbigpe30sJC5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sJC5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSwkLm5hdGl2ZUV2ZW50PSR9O3ZhciBVOSx0Nz17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0scTk9dC52bm9kZTt0LnZub2RlPWZ1bmN0aW9uKCQpe3R5cGVvZiAkLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihRKXt2YXJ7cHJvcHM6Six0eXBlOlh9PVEsSz17fSxZPVguaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIHEgaW4gSil7dmFyIEc9SltxXTtpZighKHE9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBKKSYmRz09bnVsbHx8YTcmJnE9PT0iY2hpbGRyZW4iJiZYPT09Im5vc2NyaXB0Inx8cT09PSJjbGFzcyJ8fHE9PT0iY2xhc3NOYW1lIikpe3ZhciBCPXEudG9Mb3dlckNhc2UoKTtxPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlPT1udWxsP3E9InZhbHVlIjpxPT09ImRvd25sb2FkIiYmRz09PSEwP0c9IiI6Qj09PSJ0cmFuc2xhdGUiJiZHPT09Im5vIj9HPSExOkJbMF09PT0ibyImJkJbMV09PT0ibiI/Qj09PSJvbmRvdWJsZWNsaWNrIj9xPSJvbmRibGNsaWNrIjpCIT09Im9uY2hhbmdlInx8WCE9PSJpbnB1dCImJlghPT0idGV4dGFyZWEifHxzNyhKLnR5cGUpP0I9PT0ib25mb2N1cyI/cT0ib25mb2N1c2luIjpCPT09Im9uYmx1ciI/cT0ib25mb2N1c291dCI6bjcudGVzdChxKSYmKHE9Qik6Qj1xPSJvbmlucHV0IjpZJiZpNy50ZXN0KHEpP3E9cS5yZXBsYWNlKHI3LCItJCYiKS50b0xvd2VyQ2FzZSgpOkc9PT1udWxsJiYoRz12b2lkIDApLEI9PT0ib25pbnB1dCImJktbcT1CXSYmKHE9Im9uaW5wdXRDYXB0dXJlIiksS1txXT1HfX1YPT0ic2VsZWN0IiYmKEsubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoSy52YWx1ZSkmJihLLnZhbHVlPVgwKEouY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oTil7Ti5wcm9wcy5zZWxlY3RlZD1LLnZhbHVlLmluZGV4T2YoTi5wcm9wcy52YWx1ZSkhPS0xfSkpLEsuZGVmYXVsdFZhbHVlIT1udWxsJiYoSy52YWx1ZT1YMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKE4pe04ucHJvcHMuc2VsZWN0ZWQ9Sy5tdWx0aXBsZT9LLmRlZmF1bHRWYWx1ZS5pbmRleE9mKE4ucHJvcHMudmFsdWUpIT0tMTpLLmRlZmF1bHRWYWx1ZT09Ti5wcm9wcy52YWx1ZX0pKSksSi5jbGFzcyYmIUouY2xhc3NOYW1lPyhLLmNsYXNzPUouY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KEssImNsYXNzTmFtZSIsdDcpKTpKLmNsYXNzTmFtZSYmKEsuY2xhc3M9Sy5jbGFzc05hbWU9Si5jbGFzc05hbWUpLFEucHJvcHM9S30oJCksJC4kJHR5cGVvZj1vNyxxOSYmcTkoJCl9O3ZhciBHOT10Ll9fcjt0Ll9fcj1mdW5jdGlvbigkKXtHOSYmRzkoJCksVTk9JC5fX2N9O3ZhciBWOT10LmRpZmZlZDt0LmRpZmZlZD1mdW5jdGlvbigkKXtWOSYmVjkoJCk7dmFye3Byb3BzOlEsX19lOkp9PSQ7SiE9bnVsbCYmJC50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIFEmJlEudmFsdWUhPT1KLnZhbHVlJiYoSi52YWx1ZT1RLnZhbHVlPT1udWxsPyIiOlEudmFsdWUpLFU5PW51bGx9O2Z1bmN0aW9uIEg5KCQpe3JldHVybiEhJC5fX2smJih4MChudWxsLCQpLCEwKX1mdW5jdGlvbiBDOSgkKXtyZXR1cm57cmVuZGVyOmZ1bmN0aW9uKFEpe0w5KFEsJCl9LHVubW91bnQ6ZnVuY3Rpb24oKXtIOSgkKX19fWZ1bmN0aW9uIFA5KCQsUSl7Zm9yKHZhciBKIGluIFEpJFtKXT1RW0pdO3JldHVybiAkfWZ1bmN0aW9uIEUzKCQsUSl7Zm9yKHZhciBKIGluICQpaWYoSiE9PSJfX3NvdXJjZSImJiEoSiBpbiBRKSlyZXR1cm4hMDtmb3IodmFyIFggaW4gUSlpZihYIT09Il9fc291cmNlIiYmJFtYXSE9PVFbWF0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gVDkoJCxRKXt2YXIgSj1RKCksWD1rKHt0OntfXzpKLHU6UX19KSxLPVhbMF0udCxZPVhbMV07cmV0dXJuIFQwKGZ1bmN0aW9uKCl7Sy5fXz1KLEsudT1RLFQzKEspJiZZKHt0Okt9KX0sWyQsSixRXSkseShmdW5jdGlvbigpe3JldHVybiBUMyhLKSYmWSh7dDpLfSksJChmdW5jdGlvbigpe1QzKEspJiZZKHt0Okt9KX0pfSxbJF0pLEp9ZnVuY3Rpb24gVDMoJCl7dHJ5e3JldHVybiEoKFE9JC5fXyk9PT0oSj0kLnUoKSkmJihRIT09MHx8MS9RPT0xL0opfHxRIT1RJiZKIT1KKX1jYXRjaChYKXtyZXR1cm4hMH12YXIgUSxKfWZ1bmN0aW9uIEU5KCQpeyQoKX1mdW5jdGlvbiB3OSgkKXtyZXR1cm4gJH1mdW5jdGlvbiBJOSgpe3JldHVyblshMSxFOV19dmFyIGI5PVQwO2Z1bmN0aW9uIHczKCQsUSl7dGhpcy5wcm9wcz0kLHRoaXMuY29udGV4dD1RfWZ1bmN0aW9uIGkwKCQsUSl7ZnVuY3Rpb24gSihLKXt2YXIgWT10aGlzLnByb3BzLnJlZjtyZXR1cm4gWSE9Sy5yZWYmJlkmJih0eXBlb2YgWT09ImZ1bmN0aW9uIj9ZKG51bGwpOlkuY3VycmVudD1udWxsKSxRPyFRKHRoaXMucHJvcHMsSyl8fFkhPUsucmVmOkUzKHRoaXMucHJvcHMsSyl9ZnVuY3Rpb24gWChLKXtyZXR1cm4gdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9Six1MSgkLEspfXJldHVybiBYLmRpc3BsYXlOYW1lPSJNZW1vKCIrKCQuZGlzcGxheU5hbWV8fCQubmFtZSkrIikiLFguX19mPVgucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWC50eXBlPSQsWH0odzMucHJvdG90eXBlPW5ldyBkMSkuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAsdzMucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbigkLFEpe3JldHVybiBFMyh0aGlzLnByb3BzLCQpfHxFMyh0aGlzLnN0YXRlLFEpfTt2YXIgTzk9dC5fX2I7dC5fX2I9ZnVuY3Rpb24oJCl7JC50eXBlJiYkLnR5cGUuX19mJiYkLnJlZiYmKCQucHJvcHMucmVmPSQucmVmLCQucmVmPW51bGwpLE85JiZPOSgkKX07dmFyIGU3PXR5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpfHwzOTExO2Z1bmN0aW9uIF8wKCQpe2Z1bmN0aW9uIFEoSil7dmFyIFg9UDkoe30sSik7cmV0dXJuIGRlbGV0ZSBYLnJlZiwkKFgsSi5yZWZ8fG51bGwpfXJldHVybiBRLiQkdHlwZW9mPWU3LFEucmVuZGVyPSQsUS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD1RLl9fZj0hMCxRLmRpc3BsYXlOYW1lPSJGb3J3YXJkUmVmKCIrKCQuZGlzcGxheU5hbWV8fCQubmFtZSkrIikiLFF9dmFyIEY5PWZ1bmN0aW9uKCQsUSl7cmV0dXJuICQ9PW51bGw/bnVsbDpYMChYMCgkKS5tYXAoUSkpfSwkJD17bWFwOkY5LGZvckVhY2g6RjksY291bnQ6ZnVuY3Rpb24oJCl7cmV0dXJuICQ/WDAoJCkubGVuZ3RoOjB9LG9ubHk6ZnVuY3Rpb24oJCl7dmFyIFE9WDAoJCk7aWYoUS5sZW5ndGghPT0xKXRocm93IkNoaWxkcmVuLm9ubHkiO3JldHVybiBRWzBdfSx0b0FycmF5OlgwfSxRJD10Ll9fZTt0Ll9fZT1mdW5jdGlvbigkLFEsSixYKXtpZigkLnRoZW4pe2Zvcih2YXIgSyxZPVE7WT1ZLl9fOylpZigoSz1ZLl9fYykmJksuX19jKXJldHVybiBRLl9fZT09bnVsbCYmKFEuX19lPUouX19lLFEuX19rPUouX19rKSxLLl9fYygkLFEpfVEkKCQsUSxKLFgpfTt2YXIgTTk9dC51bm1vdW50O2Z1bmN0aW9uIHk5KCQsUSxKKXtyZXR1cm4gJCYmKCQuX19jJiYkLl9fYy5fX0gmJigkLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihYKXt0eXBlb2YgWC5fX2M9PSJmdW5jdGlvbiImJlguX19jKCl9KSwkLl9fYy5fX0g9bnVsbCksKCQ9UDkoe30sJCkpLl9fYyE9bnVsbCYmKCQuX19jLl9fUD09PUomJigkLl9fYy5fX1A9USksJC5fX2MuX19lPSEwLCQuX19jPW51bGwpLCQuX19rPSQuX19rJiYkLl9fay5tYXAoZnVuY3Rpb24oWCl7cmV0dXJuIHk5KFgsUSxKKX0pKSwkfWZ1bmN0aW9uIFM5KCQsUSxKKXtyZXR1cm4gJCYmSiYmKCQuX192PW51bGwsJC5fX2s9JC5fX2smJiQuX19rLm1hcChmdW5jdGlvbihYKXtyZXR1cm4gUzkoWCxRLEopfSksJC5fX2MmJiQuX19jLl9fUD09PVEmJigkLl9fZSYmSi5hcHBlbmRDaGlsZCgkLl9fZSksJC5fX2MuX19lPSEwLCQuX19jLl9fUD1KKSksJH1mdW5jdGlvbiBBNSgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiB4OSgkKXt2YXIgUT0kLl9fJiYkLl9fLl9fYztyZXR1cm4gUSYmUS5fX2EmJlEuX19hKCQpfWZ1bmN0aW9uIEokKCQpe3ZhciBRLEosWCxLPW51bGw7ZnVuY3Rpb24gWShxKXtpZihRfHwoUT0kKCkpLnRoZW4oZnVuY3Rpb24oRyl7RyYmKEs9Ry5kZWZhdWx0fHxHKSxYPSEwfSxmdW5jdGlvbihHKXtKPUcsWD0hMH0pLEopdGhyb3cgSjtpZighWCl0aHJvdyBRO3JldHVybiBLP3UxKEsscSk6bnVsbH1yZXR1cm4gWS5kaXNwbGF5TmFtZT0iTGF6eSIsWS5fX2Y9ITAsWX1mdW5jdGlvbiBiMigpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfXQudW5tb3VudD1mdW5jdGlvbigkKXt2YXIgUT0kLl9fYztRJiYoUS5fX3o9ITApLFEmJlEuX19SJiZRLl9fUigpLFEmJjMyJiQuX191JiYoJC50eXBlPW51bGwpLE05JiZNOSgkKX0sKEE1LnByb3RvdHlwZT1uZXcgZDEpLl9fYz1mdW5jdGlvbigkLFEpe3ZhciBKPVEuX19jLFg9dGhpcztYLm89PW51bGwmJihYLm89W10pLFguby5wdXNoKEopO3ZhciBLPXg5KFguX192KSxZPSExLHE9ZnVuY3Rpb24oKXtZfHxYLl9fenx8KFk9ITAsSi5fX1I9bnVsbCxLP0soQik6QigpKX07Si5fX1I9cTt2YXIgRz1KLl9fUDtKLl9fUD1udWxsO3ZhciBCPWZ1bmN0aW9uKCl7aWYoIS0tWC5fX3Upe2lmKFguc3RhdGUuX19hKXt2YXIgTj1YLnN0YXRlLl9fYTtYLl9fdi5fX2tbMF09UzkoTixOLl9fYy5fX1AsTi5fX2MuX19PKX12YXIgejtmb3IoWC5zZXRTdGF0ZSh7X19hOlguX19iPW51bGx9KTt6PVguby5wb3AoKTspei5fX1A9Ryx6LmZvcmNlVXBkYXRlKCl9fTtYLl9fdSsrfHwzMiZRLl9fdXx8WC5zZXRTdGF0ZSh7X19hOlguX19iPVguX192Ll9fa1swXX0pLCQudGhlbihxLHEpfSxBNS5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0aGlzLm89W119LEE1LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oJCxRKXtpZih0aGlzLl9fYil7aWYodGhpcy5fX3YuX19rKXt2YXIgSj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxYPXRoaXMuX192Ll9fa1swXS5fX2M7dGhpcy5fX3YuX19rWzBdPXk5KHRoaXMuX19iLEosWC5fX089WC5fX1ApfXRoaXMuX19iPW51bGx9dmFyIEs9US5fX2EmJnUxKFExLG51bGwsJC5mYWxsYmFjayk7cmV0dXJuIEsmJihLLl9fdSY9LTMzKSxbdTEoUTEsbnVsbCxRLl9fYT9udWxsOiQuY2hpbGRyZW4pLEtdfTt2YXIgQTk9ZnVuY3Rpb24oJCxRLEope2lmKCsrSlsxXT09PUpbMF0mJiQubC5kZWxldGUoUSksJC5wcm9wcy5yZXZlYWxPcmRlciYmKCQucHJvcHMucmV2ZWFsT3JkZXJbMF0hPT0idCJ8fCEkLmwuc2l6ZSkpZm9yKEo9JC5pO0o7KXtmb3IoO0oubGVuZ3RoPjM7KUoucG9wKCkoKTtpZihKWzFdPEpbMF0pYnJlYWs7JC5pPUo9SlsyXX19O2Z1bmN0aW9uIFokKCQpe3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiAkLmNvbnRleHR9LCQuY2hpbGRyZW59ZnVuY3Rpb24gWCQoJCl7dmFyIFE9dGhpcyxKPSQuaDtpZihRLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7eDAobnVsbCxRLnYpLFEudj1udWxsLFEuaD1udWxsfSxRLmgmJlEuaCE9PUomJlEuY29tcG9uZW50V2lsbFVubW91bnQoKSwhUS52KXtmb3IodmFyIFg9US5fX3Y7WCE9PW51bGwmJiFYLl9fbSYmWC5fXyE9PW51bGw7KVg9WC5fXztRLmg9SixRLnY9e25vZGVUeXBlOjEscGFyZW50Tm9kZTpKLGNoaWxkTm9kZXM6W10sX19rOntfX206WC5fX219LGNvbnRhaW5zOmZ1bmN0aW9uKCl7cmV0dXJuITB9LG5hbWVzcGFjZVVSSTpKLm5hbWVzcGFjZVVSSSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24oSyxZKXt0aGlzLmNoaWxkTm9kZXMucHVzaChLKSxRLmguaW5zZXJ0QmVmb3JlKEssWSl9LHJlbW92ZUNoaWxkOmZ1bmN0aW9uKEspe3RoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2YoSyk+Pj4xLDEpLFEuaC5yZW1vdmVDaGlsZChLKX19fXgwKHUxKFokLHtjb250ZXh0OlEuY29udGV4dH0sJC5fX3YpLFEudil9ZnVuY3Rpb24gSTMoJCxRKXt2YXIgSj11MShYJCx7X192OiQsaDpRfSk7cmV0dXJuIEouY29udGFpbmVySW5mbz1RLEp9KGIyLnByb3RvdHlwZT1uZXcgZDEpLl9fYT1mdW5jdGlvbigkKXt2YXIgUT10aGlzLEo9eDkoUS5fX3YpLFg9US5sLmdldCgkKTtyZXR1cm4gWFswXSsrLGZ1bmN0aW9uKEspe3ZhciBZPWZ1bmN0aW9uKCl7US5wcm9wcy5yZXZlYWxPcmRlcj8oWC5wdXNoKEspLEE5KFEsJCxYKSk6SygpfTtKP0ooWSk6WSgpfX0sYjIucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigkKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgUT1YMCgkLmNoaWxkcmVuKTskLnJldmVhbE9yZGVyJiYkLnJldmVhbE9yZGVyWzBdPT09ImIiJiZRLnJldmVyc2UoKTtmb3IodmFyIEo9US5sZW5ndGg7Si0tOyl0aGlzLmwuc2V0KFFbSl0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuICQuY2hpbGRyZW59LGIyLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9YjIucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyICQ9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihRLEope0E5KCQsSixRKX0pfTt2YXIgajk9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsSyQ9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLFkkPS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8scSQ9L1tBLVowLTldL2csRyQ9dHlwZW9mIGRvY3VtZW50PCJ1IixWJD1mdW5jdGlvbigkKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoJCl9O2Z1bmN0aW9uIEIkKCQsUSxKKXtyZXR1cm4gUS5fX2s9PW51bGwmJihRLnRleHRDb250ZW50PSIiKSx4MCgkLFEpLHR5cGVvZiBKPT0iZnVuY3Rpb24iJiZKKCksJD8kLl9fYzpudWxsfWZ1bmN0aW9uIE4kKCQsUSxKKXtyZXR1cm4gSDUoJCxRKSx0eXBlb2YgSj09ImZ1bmN0aW9uIiYmSigpLCQ/JC5fX2M6bnVsbH1kMS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxbImNvbXBvbmVudFdpbGxNb3VudCIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJjb21wb25lbnRXaWxsVXBkYXRlIl0uZm9yRWFjaChmdW5jdGlvbigkKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZDEucHJvdG90eXBlLCQse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1siVU5TQUZFXyIrJF19LHNldDpmdW5jdGlvbihRKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywkLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6UX0pfX0pfSk7dmFyIGs5PXQuZXZlbnQ7dC5ldmVudD1mdW5jdGlvbigkKXtyZXR1cm4gazkmJigkPWs5KCQpKSwkLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LCQuaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LCQuaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sJC5uYXRpdmVFdmVudD0kfTt2YXIgYjMseiQ9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LFc5PXQudm5vZGU7dC52bm9kZT1mdW5jdGlvbigkKXt0eXBlb2YgJC50eXBlPT0ic3RyaW5nIiYmZnVuY3Rpb24oUSl7dmFye3Byb3BzOkosdHlwZTpYfT1RLEs9e30sWT1YLmluZGV4T2YoIi0iKT09LTE7Zm9yKHZhciBxIGluIEope3ZhciBHPUpbcV07aWYoIShxPT09InZhbHVlIiYmKCJkZWZhdWx0VmFsdWUiaW4gSikmJkc9PW51bGx8fEckJiZxPT09ImNoaWxkcmVuIiYmWD09PSJub3NjcmlwdCJ8fHE9PT0iY2xhc3MifHxxPT09ImNsYXNzTmFtZSIpKXt2YXIgQj1xLnRvTG93ZXJDYXNlKCk7cT09PSJkZWZhdWx0VmFsdWUiJiYidmFsdWUiaW4gSiYmSi52YWx1ZT09bnVsbD9xPSJ2YWx1ZSI6cT09PSJkb3dubG9hZCImJkc9PT0hMD9HPSIiOkI9PT0idHJhbnNsYXRlIiYmRz09PSJubyI/Rz0hMTpCWzBdPT09Im8iJiZCWzFdPT09Im4iP0I9PT0ib25kb3VibGVjbGljayI/cT0ib25kYmxjbGljayI6QiE9PSJvbmNoYW5nZSJ8fFghPT0iaW5wdXQiJiZYIT09InRleHRhcmVhInx8ViQoSi50eXBlKT9CPT09Im9uZm9jdXMiP3E9Im9uZm9jdXNpbiI6Qj09PSJvbmJsdXIiP3E9Im9uZm9jdXNvdXQiOlkkLnRlc3QocSkmJihxPUIpOkI9cT0ib25pbnB1dCI6WSYmSyQudGVzdChxKT9xPXEucmVwbGFjZShxJCwiLSQmIikudG9Mb3dlckNhc2UoKTpHPT09bnVsbCYmKEc9dm9pZCAwKSxCPT09Im9uaW5wdXQiJiZLW3E9Ql0mJihxPSJvbmlucHV0Q2FwdHVyZSIpLEtbcV09R319WD09InNlbGVjdCImJihLLm11bHRpcGxlJiZBcnJheS5pc0FycmF5KEsudmFsdWUpJiYoSy52YWx1ZT1YMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKE4pe04ucHJvcHMuc2VsZWN0ZWQ9Sy52YWx1ZS5pbmRleE9mKE4ucHJvcHMudmFsdWUpIT0tMX0pKSxLLmRlZmF1bHRWYWx1ZSE9bnVsbCYmKEsudmFsdWU9WDAoSi5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbihOKXtOLnByb3BzLnNlbGVjdGVkPUsubXVsdGlwbGU/Sy5kZWZhdWx0VmFsdWUuaW5kZXhPZihOLnByb3BzLnZhbHVlKSE9LTE6Sy5kZWZhdWx0VmFsdWU9PU4ucHJvcHMudmFsdWV9KSkpLEouY2xhc3MmJiFKLmNsYXNzTmFtZT8oSy5jbGFzcz1KLmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShLLCJjbGFzc05hbWUiLHokKSk6Si5jbGFzc05hbWUmJihLLmNsYXNzPUsuY2xhc3NOYW1lPUouY2xhc3NOYW1lKSxRLnByb3BzPUt9KCQpLCQuJCR0eXBlb2Y9ajksVzkmJlc5KCQpfTt2YXIgXzk9dC5fX3I7dC5fX3I9ZnVuY3Rpb24oJCl7XzkmJl85KCQpLGIzPSQuX19jfTt2YXIgRDk9dC5kaWZmZWQ7dC5kaWZmZWQ9ZnVuY3Rpb24oJCl7RDkmJkQ5KCQpO3Zhcntwcm9wczpRLF9fZTpKfT0kO0ohPW51bGwmJiQudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBRJiZRLnZhbHVlIT09Si52YWx1ZSYmKEoudmFsdWU9US52YWx1ZT09bnVsbD8iIjpRLnZhbHVlKSxiMz1udWxsfTt2YXIgTCQ9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKCQpe3JldHVybiBiMy5fX25bJC5fX2NdLnByb3BzLnZhbHVlfSx1c2VDYWxsYmFjazpJLHVzZUNvbnRleHQ6RjAsdXNlRGVidWdWYWx1ZTpGNSx1c2VEZWZlcnJlZFZhbHVlOnc5LHVzZUVmZmVjdDp5LHVzZUlkOlkyLHVzZUltcGVyYXRpdmVIYW5kbGU6TzUsdXNlSW5zZXJ0aW9uRWZmZWN0OmI5LHVzZUxheW91dEVmZmVjdDpUMCx1c2VNZW1vOkQxLHVzZVJlZHVjZXI6bzAsdXNlUmVmOncsdXNlU3RhdGU6ayx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpUOSx1c2VUcmFuc2l0aW9uOkk5fX19O2Z1bmN0aW9uIFUkKCQpe3JldHVybiB1MS5iaW5kKG51bGwsJCl9ZnVuY3Rpb24gazUoJCl7cmV0dXJuISEkJiYkLiQkdHlwZW9mPT09ajl9ZnVuY3Rpb24gSCQoJCl7cmV0dXJuIGs1KCQpJiYkLnR5cGU9PT1RMX1mdW5jdGlvbiBDJCgkKXtyZXR1cm4hISQmJnR5cGVvZiAkLmRpc3BsYXlOYW1lPT0ic3RyaW5nIiYmJC5kaXNwbGF5TmFtZS5pbmRleE9mKCJNZW1vKCIpPT0wfWZ1bmN0aW9uIE8kKCQpe3JldHVybiBrNSgkKT9rMy5hcHBseShudWxsLGFyZ3VtZW50cyk6JH1mdW5jdGlvbiBGJCgkKXtyZXR1cm4hISQuX19rJiYoeDAobnVsbCwkKSwhMCl9ZnVuY3Rpb24gTSQoJCl7cmV0dXJuICQmJigkLmJhc2V8fCQubm9kZVR5cGU9PT0xJiYkKXx8bnVsbH12YXIgQSQ9ZnVuY3Rpb24oJCxRKXtyZXR1cm4gJChRKX0sayQ9ZnVuY3Rpb24oJCxRKXt2YXIgSj10LmRlYm91bmNlUmVuZGVyaW5nO3QuZGVib3VuY2VSZW5kZXJpbmc9ZnVuY3Rpb24oSyl7cmV0dXJuIEsoKX07dmFyIFg9JChRKTtyZXR1cm4gdC5kZWJvdW5jZVJlbmRlcmluZz1KLFh9LFckPWs1LGc9e3VzZVN0YXRlOmssdXNlSWQ6WTIsdXNlUmVkdWNlcjpvMCx1c2VFZmZlY3Q6eSx1c2VMYXlvdXRFZmZlY3Q6VDAsdXNlSW5zZXJ0aW9uRWZmZWN0OmI5LHVzZVRyYW5zaXRpb246STksdXNlRGVmZXJyZWRWYWx1ZTp3OSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpUOSxzdGFydFRyYW5zaXRpb246RTksdXNlUmVmOncsdXNlSW1wZXJhdGl2ZUhhbmRsZTpPNSx1c2VNZW1vOkQxLHVzZUNhbGxiYWNrOkksdXNlQ29udGV4dDpGMCx1c2VEZWJ1Z1ZhbHVlOkY1LHZlcnNpb246IjE4LjMuMSIsQ2hpbGRyZW46JCQscmVuZGVyOkIkLGh5ZHJhdGU6TiQsdW5tb3VudENvbXBvbmVudEF0Tm9kZTpGJCxjcmVhdGVQb3J0YWw6STMsY3JlYXRlRWxlbWVudDp1MSxjcmVhdGVDb250ZXh0Ok8wLGNyZWF0ZUZhY3Rvcnk6VSQsY2xvbmVFbGVtZW50Ok8kLGNyZWF0ZVJlZjpJMixGcmFnbWVudDpRMSxpc1ZhbGlkRWxlbWVudDprNSxpc0VsZW1lbnQ6VyQsaXNGcmFnbWVudDpIJCxpc01lbW86QyQsZmluZERPTU5vZGU6TSQsQ29tcG9uZW50OmQxLFB1cmVDb21wb25lbnQ6dzMsbWVtbzppMCxmb3J3YXJkUmVmOl8wLGZsdXNoU3luYzprJCx1bnN0YWJsZV9iYXRjaGVkVXBkYXRlczpBJCxTdHJpY3RNb2RlOlExLFN1c3BlbnNlOkE1LFN1c3BlbnNlTGlzdDpiMixsYXp5OkokLF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOkwkfTt2YXIgeTI9e3BvcnRyYWl0OiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0X3Vwc2lkZV9kb3duIixwb3J0cmFpdF91cHNpZGVfZG93bjoibGFuZHNjYXBlX3JpZ2h0IixsYW5kc2NhcGVfcmlnaHQ6InBvcnRyYWl0In0seTM9e3BvcnRyYWl0OiJsYW5kc2NhcGVfcmlnaHQiLGxhbmRzY2FwZV9yaWdodDoicG9ydHJhaXRfdXBzaWRlX2Rvd24iLHBvcnRyYWl0X3Vwc2lkZV9kb3duOiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0In07dmFyIHEyPTM7ZnVuY3Rpb24gUzMoJCl7cmV0dXJuICQ+PTAuOTM/Mzp2b2lkIDB9ZnVuY3Rpb24geDMoJCl7cmV0dXJuICQ9PT0ibGFuZHNjYXBlX2xlZnQifHwkPT09ImxhbmRzY2FwZV9yaWdodCJ9ZnVuY3Rpb24gZjAoJCl7cmV0dXJuISEkJiYoeDMoJC5vcmllbnRhdGlvbil8fCQud2lkdGg+JC5oZWlnaHQpfWZ1bmN0aW9uIEcyKCQpe2lmKCEkfHwkLndpZHRoPD0wfHwkLmhlaWdodDw9MClyZXR1cm4gbnVsbDtsZXQgUT14MygkLm9yaWVudGF0aW9uKXx8JC53aWR0aD4kLmhlaWdodCxKPVE/TWF0aC5tYXgoJC53aWR0aCwkLmhlaWdodCk6TWF0aC5taW4oJC53aWR0aCwkLmhlaWdodCksWD1RP01hdGgubWluKCQud2lkdGgsJC5oZWlnaHQpOk1hdGgubWF4KCQud2lkdGgsJC5oZWlnaHQpO2lmKEo9PT0kLndpZHRoJiZYPT09JC5oZWlnaHQpcmV0dXJuICQ7cmV0dXJuey4uLiQsd2lkdGg6SixoZWlnaHQ6WH19ZnVuY3Rpb24gVjIoJCl7bGV0IFE9RzIoJCksSj12OSgkPy5vcmllbnRhdGlvbiksWD1NYXRoLmFicyhKKT09PTkwLEs9ISEkJiYkLndpZHRoPiQuaGVpZ2h0LFk9Sj09PTE4MHx8WCYmIUs7cmV0dXJue2Rpc3BsYXlDb25maWc6USxyb3RhdGlvbkRlZ3JlZXM6WT9KOjAsbmVlZHNDc3NSb3RhdGlvbjpZLGlucHV0T3JpZW50YXRpb246WT8kPy5vcmllbnRhdGlvbjp2b2lkIDB9fWZ1bmN0aW9uIHY5KCQpe3N3aXRjaCgkKXtjYXNlImxhbmRzY2FwZV9sZWZ0IjpyZXR1cm4gOTA7Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnJldHVybi05MDtjYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpyZXR1cm4gMTgwO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIEIyKCQsUSxKKXtzd2l0Y2goJCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJue3g6Six5OjEtUX07Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnJldHVybnt4OjEtSix5OlF9O2Nhc2UicG9ydHJhaXRfdXBzaWRlX2Rvd24iOnJldHVybnt4OjEtUSx5OjEtSn07ZGVmYXVsdDpyZXR1cm57eDpRLHk6Sn19fWZ1bmN0aW9uIFI5KCQsUSxKKXtzd2l0Y2goJCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJue2R4OkosZHk6LVF9O2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm57ZHg6LUosZHk6UX07Y2FzZSJwb3J0cmFpdF91cHNpZGVfZG93biI6cmV0dXJue2R4Oi1RLGR5Oi1KfTtkZWZhdWx0OnJldHVybntkeDpRLGR5Okp9fX1mdW5jdGlvbiBqMygkLFEpe3N3aXRjaCgkKXtjYXNlImxhbmRzY2FwZV9sZWZ0Ijpzd2l0Y2goUSl7Y2FzZSAxOnJldHVybiAzO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDE7Y2FzZSAzOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIFF9Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnN3aXRjaChRKXtjYXNlIDE6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiAzO2Nhc2UgMjpyZXR1cm4gNDtjYXNlIDM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gUX1jYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpzd2l0Y2goUSl7Y2FzZSAxOnJldHVybiA0O2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIFF9ZGVmYXVsdDpyZXR1cm4gUX19dmFyIGg5PTE2O2Z1bmN0aW9uIFMyKCQsUSxKKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiBudWxsO2xldCBYPU51bWJlci5pc0Zpbml0ZShKKSYmSj4wP0o6MSxLPVE9PT0xPyQqMTY6UT09PTI/JCpYOiQsWT1NYXRoLm1heCgtMjAwLE1hdGgubWluKDIwMCxLKSk7cmV0dXJuIE1hdGguYWJzKFkpPDAuMDE/bnVsbDpZfWZ1bmN0aW9uIHYzKCQsUSxKKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiAwO2xldCBYPU51bWJlci5pc0Zpbml0ZShKKSYmSj4wP0o6MTtpZihRPT09MSlyZXR1cm4gJCpoOTtpZihRPT09MilyZXR1cm4gJCpYO3JldHVybiAkfWZ1bmN0aW9uIGc5KCQsUSxKKXtpZighUXx8US53aWR0aDw9MHx8US5oZWlnaHQ8PTApcmV0dXJuIG51bGw7bGV0IFg9US5vcmllbnRhdGlvbj09PXZvaWQgMCYmJD8ub3JpZW50YXRpb24/ey4uLlEsb3JpZW50YXRpb246JC5vcmllbnRhdGlvbn06UTtpZigkJiYkLndpZHRoPT09WC53aWR0aCYmJC5oZWlnaHQ9PT1YLmhlaWdodCYmJC5vcmllbnRhdGlvbj09PVgub3JpZW50YXRpb24pcmV0dXJuIG51bGw7cmV0dXJue2NvbmZpZzpYLG5vdGlmeVBhcmVudDpKIT09ImV4dGVybmFsIn19ZnVuY3Rpb24gZjkoe3N0cmVhbU1vZGU6JCxhdmNjU3VwcG9ydGVkOlEsaGFzRXh0ZXJuYWxJbnB1dDpKLGhhc0V4dGVybmFsRnJhbWVzOlh9KXtsZXQgSz0kPT09ImF2Y2MiJiYhUT8ibWpwZWciOiQsWT1LPT09IndlYnJ0YyIscT1LPT09ImF2Y2MiLEc9Sz09PSJtanBlZyImJlg7cmV0dXJue2VmZmVjdGl2ZVN0cmVhbU1vZGU6Syx1c2VXZWJSdGM6WSx1c2VBdmNjOnEsZXh0ZXJuYWxJbnB1dDpKLGV4dGVybmFsTWpwZWc6RyxvcGVuRGlyZWN0Q29udHJvbFNvY2tldDohSixvcGVuRGlyZWN0TWpwZWc6Sz09PSJtanBlZyImJiFHfX12YXIgXyQ9e1sxXToiZGVzY3JpcHRpb24iLFsyXToia2V5ZnJhbWUiLFszXToiZGVsdGEiLFs0XToic2VlZCJ9O2NsYXNzIFc1e2J1ZmZlcj1uZXcgVWludDhBcnJheSg2NTUzNik7bGVuPTA7c3RhcnQ9MDthcHBlbmQoJCl7aWYodGhpcy5sZW4rJC5sZW5ndGg+dGhpcy5idWZmZXIubGVuZ3RoKXtpZih0aGlzLnN0YXJ0PjApdGhpcy5idWZmZXIuY29weVdpdGhpbigwLHRoaXMuc3RhcnQsdGhpcy5sZW4pLHRoaXMubGVuLT10aGlzLnN0YXJ0LHRoaXMuc3RhcnQ9MDtpZih0aGlzLmxlbiskLmxlbmd0aD50aGlzLmJ1ZmZlci5sZW5ndGgpe2xldCBRPXRoaXMuYnVmZmVyLmxlbmd0aDt3aGlsZShRPHRoaXMubGVuKyQubGVuZ3RoKVEqPTI7bGV0IEo9bmV3IFVpbnQ4QXJyYXkoUSk7Si5zZXQodGhpcy5idWZmZXIuc3ViYXJyYXkoMCx0aGlzLmxlbikpLHRoaXMuYnVmZmVyPUp9fXRoaXMuYnVmZmVyLnNldCgkLHRoaXMubGVuKSx0aGlzLmxlbis9JC5sZW5ndGh9cHVzaCgkKXtpZigkLmxlbmd0aD4wKXRoaXMuYXBwZW5kKCQpO2xldCBRPVtdLEo9dGhpcy5idWZmZXI7d2hpbGUodGhpcy5sZW4tdGhpcy5zdGFydD49NCl7bGV0IFg9dGhpcy5zdGFydCxLPShKW1hdPDwyNHxKW1grMV08PDE2fEpbWCsyXTw8OHxKW1grM10pPj4+MDtpZih0aGlzLmxlbi1YLTQ8SylicmVhaztpZihLPDEpe3RoaXMuc3RhcnQrPTQ7Y29udGludWV9bGV0IFk9SltYKzRdLHE9XyRbWV07aWYocSlRLnB1c2goe3R5cGU6cSxwYXlsb2FkOkouc2xpY2UoWCs1LFgrNCtLKX0pO3RoaXMuc3RhcnQrPTQrS31pZih0aGlzLnN0YXJ0PjApe2lmKHRoaXMuc3RhcnQ8dGhpcy5sZW4pdGhpcy5idWZmZXIuY29weVdpdGhpbigwLHRoaXMuc3RhcnQsdGhpcy5sZW4pO3RoaXMubGVuLT10aGlzLnN0YXJ0LHRoaXMuc3RhcnQ9MH1yZXR1cm4gUX1yZXNldCgpe3RoaXMubGVuPTAsdGhpcy5zdGFydD0wfX1mdW5jdGlvbiBSMygkKXtpZigkLmxlbmd0aDw0KXJldHVybiJhdmMxLjQyRTAxRSI7bGV0IFE9KEopPT5KLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7cmV0dXJuImF2YzEuIitRKCRbMV0pK1EoJFsyXSkrUSgkWzNdKX1mdW5jdGlvbiBuMCgpe3JldHVybiB0eXBlb2YgZ2xvYmFsVGhpczwidSImJnR5cGVvZiBnbG9iYWxUaGlzLlZpZGVvRGVjb2RlcjwidSJ9dmFyIEQkPTEwMDAsUCQ9MTY2Njc7ZnVuY3Rpb24gaDMoe3VybDokLGVuYWJsZWQ6USxjYW52YXNSZWY6SixvbkZpcnN0RnJhbWU6WCxvbkZyYW1lOkssb25EZWNvZGVkRnJhbWU6WSxvbkVycm9yOnEsb25EZWNvZGVyRXJyb3I6R30pe2xldCBCPXcoe29uRmlyc3RGcmFtZTpYLG9uRnJhbWU6SyxvbkRlY29kZWRGcmFtZTpZLG9uRXJyb3I6cSxvbkRlY29kZXJFcnJvcjpHfSk7Qi5jdXJyZW50PXtvbkZpcnN0RnJhbWU6WCxvbkZyYW1lOkssb25EZWNvZGVkRnJhbWU6WSxvbkVycm9yOnEsb25EZWNvZGVyRXJyb3I6R30seSgoKT0+e2lmKCFRfHwhJHx8IW4wKCkpcmV0dXJuO2xldCBOPW5ldyBBYm9ydENvbnRyb2xsZXIsej1uZXcgVzUsVj0hMSxVPSExLEM9ITEsTT0wLEw9bnVsbCxIPW51bGwsTz0oKT0+IVYmJiFOLnNpZ25hbC5hYm9ydGVkLFc9KG8pPT57aWYoQi5jdXJyZW50Lm9uRGVjb2RlckVycm9yKUIuY3VycmVudC5vbkRlY29kZXJFcnJvcigpO2Vsc2UgQi5jdXJyZW50Lm9uRXJyb3I/LihvKX0sVD0obyxhLGksTDEpPT57aWYoIU8oKSlyZXR1cm47bGV0IGw9Si5jdXJyZW50O2lmKCFsKXJldHVybjtpZihsLndpZHRoIT09YXx8bC5oZWlnaHQhPT1pKWwud2lkdGg9YSxsLmhlaWdodD1pO2xldCBmPWwuZ2V0Q29udGV4dCgiMmQiKTtpZighZilyZXR1cm47aWYoZi5kcmF3SW1hZ2UobywwLDAsYSxpKSxCLmN1cnJlbnQub25GcmFtZT8uKCksTDEmJiFDKUM9ITAsQi5jdXJyZW50Lm9uRGVjb2RlZEZyYW1lPy4oKTtpZighVSlVPSEwLEIuY3VycmVudC5vbkZpcnN0RnJhbWU/LigpfSxQPSgpPT5uZXcgVmlkZW9EZWNvZGVyKHtvdXRwdXQ6KG8pPT57dHJ5e2lmKE8oKSlUKG8sby5kaXNwbGF5V2lkdGgsby5kaXNwbGF5SGVpZ2h0LCEwKX1maW5hbGx5e28uY2xvc2UoKX19LGVycm9yOihvKT0+VyhgZGVjb2RlcjogJHtvLm1lc3NhZ2V9YCl9KSx4PWFzeW5jKG8pPT57bGV0IGE9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAobmV3IEJsb2IoW29dLHt0eXBlOiJpbWFnZS9qcGVnIn0pKTt0cnl7aWYoTygpKVQoYSxhLndpZHRoLGEuaGVpZ2h0LCExKX1maW5hbGx5e2EuY2xvc2UoKX19LEQ9KG8pPT57aWYoIUh8fEguc3RhdGU9PT0iY2xvc2VkIilIPVAoKTt0cnl7SC5jb25maWd1cmUoe2NvZGVjOlIzKG8pLGRlc2NyaXB0aW9uOm8sb3B0aW1pemVGb3I6ImxhdGVuY3kiLGhhcmR3YXJlQWNjZWxlcmF0aW9uOiJwcmVmZXItaGFyZHdhcmUifSl9Y2F0Y2goYSl7VyhgY29uZmlnOiAke2EubWVzc2FnZX1gKX19LGU9KG8sYSk9PntpZihIPy5zdGF0ZSE9PSJjb25maWd1cmVkIilyZXR1cm47dHJ5e0guZGVjb2RlKG5ldyBFbmNvZGVkVmlkZW9DaHVuayh7dHlwZTpvPT09ImtleWZyYW1lIj8ia2V5IjoiZGVsdGEiLHRpbWVzdGFtcDpNLGRhdGE6YX0pKSxNKz1QJH1jYXRjaHt9fSxSPShvLGEpPT57c3dpdGNoKG8pe2Nhc2Uic2VlZCI6eChhKS5jYXRjaCgoKT0+e30pO3JldHVybjtjYXNlImRlc2NyaXB0aW9uIjpEKGEpO3JldHVybjtjYXNlImtleWZyYW1lIjpjYXNlImRlbHRhIjplKG8sYSk7cmV0dXJufX0sZD0oKT0+e2lmKCFPKCl8fEwpcmV0dXJuO0w9c2V0VGltZW91dCgoKT0+e0w9bnVsbCxuKCl9LEQkKX0sbj1hc3luYygpPT57ei5yZXNldCgpO3RyeXtsZXQgYT0oYXdhaXQgZmV0Y2goYCR7JH0vc3RyZWFtLmF2Y2NgLHtzaWduYWw6Ti5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIWEpcmV0dXJuO2Zvcig7Oyl7bGV0e2RvbmU6aSx2YWx1ZTpMMX09YXdhaXQgYS5yZWFkKCk7aWYoaSlicmVhaztpZighTDEpY29udGludWU7Zm9yKGxldCBsIG9mIHoucHVzaChMMSkpUihsLnR5cGUsbC5wYXlsb2FkKX19Y2F0Y2h7fWZpbmFsbHl7aWYoTygpKWQoKX19O3JldHVybiBuKCksKCk9PntpZihWPSEwLEwpY2xlYXJUaW1lb3V0KEwpO2lmKE4uYWJvcnQoKSx6LnJlc2V0KCksSCYmSC5zdGF0ZSE9PSJjbG9zZWQiKXRyeXtILmNsb3NlKCl9Y2F0Y2h7fUg9bnVsbH19LFskLFEsSl0pfWZ1bmN0aW9uIG05KCQsUSl7bGV0IEo9MCxYPTAsSz0oKT0+e2xldHt2aWRlb1dpZHRoOlksdmlkZW9IZWlnaHQ6cX09JDtpZihZPD0wfHxxPD0wfHxZPT09SiYmcT09PVgpcmV0dXJuO0o9WSxYPXEsUSh7d2lkdGg6WSxoZWlnaHQ6cX0pfTtyZXR1cm4gJC5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRtZXRhZGF0YSIsSyksJC5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLEspLEsoKSx7Y2hlY2s6SyxkaXNjb25uZWN0KCl7JC5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkZWRtZXRhZGF0YSIsSyksJC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLEspfX19dmFyIFQkPTA7ZnVuY3Rpb24gWigkLFEsSixYLEssWSl7UXx8KFE9e30pO3ZhciBxLEcsQj1RO2lmKCJyZWYiaW4gQilmb3IoRyBpbiBCPXt9LFEpRz09InJlZiI/cT1RW0ddOkJbR109UVtHXTt2YXIgTj17dHlwZTokLHByb3BzOkIsa2V5OkoscmVmOnEsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Oi0tVCQsX19pOi0xLF9fdTowLF9fc291cmNlOkssX19zZWxmOll9O2lmKHR5cGVvZiAkPT0iZnVuY3Rpb24iJiYocT0kLmRlZmF1bHRQcm9wcykpZm9yKEcgaW4gcSlCW0ddPT09dm9pZCAwJiYoQltHXT1xW0ddKTtyZXR1cm4gdC52bm9kZSYmdC52bm9kZShOKSxOfXZhciBwOT1gdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nOScgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwwLjQ1KScgc3Ryb2tlPSdyZ2JhKDAsMCwwLDAuNTUpJyBzdHJva2Utd2lkdGg9JzEuMjUnIGZpbHRlcj0nZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsMC40NSkpJy8lM0UlM0Mvc3ZnJTNFIikgMTIgMTIsIHBvaW50ZXJgLEUkPTEuMDA0LHckPTMsSSQ9NCxiJD01LHkkPTEwLFMkPTExO2Z1bmN0aW9uIF81KHt1cmw6JCx3c1VybDpRLHN0eWxlOkosaW1hZ2VTdHlsZTpYLGNsYXNzTmFtZTpLLG9uSG9tZVByZXNzOlksb25TdHJlYW1Ub3VjaDpxLG9uU3RyZWFtTXVsdGlUb3VjaDpHLG9uU3RyZWFtQnV0dG9uOkIsb25TdHJlYW1EaWdpdGFsQ3Jvd246TixvblN0cmVhbVNjcm9sbDp6LGVuYWJsZURpZ2l0YWxDcm93bjpWLHN1YnNjcmliZUZyYW1lOlUsc3RyZWFtRnJhbWU6QyxzdHJlYW1Db25maWc6TSxvblNjcmVlbkNvbmZpZ0NoYW5nZTpMLGhpZGVDb250cm9sczpILG9uU3RyZWFtaW5nQ2hhbmdlOk8sY29ubmVjdGlvblF1YWxpdHk6VyxzdHJlYW1Nb2RlOlQ9ImF2Y2MiLHdlYlJ0Y1N0cmVhbTpQLG9uV2ViUnRjRnJhbWU6eCxzdHJlYW1FcnJvcjpELG9uQXZjY0Vycm9yOmUsb25BdmNjRGVjb2RlZEZyYW1lOlJ9KXtsZXR7dXNlV2ViUnRjOmQsdXNlQXZjYzpuLGV4dGVybmFsSW5wdXQ6byxleHRlcm5hbE1qcGVnOmEsb3BlbkRpcmVjdENvbnRyb2xTb2NrZXQ6aSxvcGVuRGlyZWN0TWpwZWc6TDF9PWY5KHtzdHJlYW1Nb2RlOlQsYXZjY1N1cHBvcnRlZDpuMCgpLGhhc0V4dGVybmFsSW5wdXQ6ISFxLGhhc0V4dGVybmFsRnJhbWVzOiEhVX0pLGw9dyhudWxsKSxmPXcobnVsbCksWDE9dyhudWxsKSxaMT13KG51bGwpLFUxPXcobnVsbCkscz13KG51bGwpLEoxPXcobnVsbCksW3ExLGpdPWsoITEpLFtwLF9dPWsobnVsbCksW2gsbV09ayhudWxsKSx2PXcobnVsbCksWTE9dyghMSksVjE9dyhMKTtWMS5jdXJyZW50PUw7bGV0IHcxPXcobnVsbCksW0YxLEkxXT1rKG51bGwpO3koKCk9PntsZXQgRj13MS5jdXJyZW50O2lmKCFGfHx0eXBlb2YgUmVzaXplT2JzZXJ2ZXI+InUiKXJldHVybjtsZXQgQT1uZXcgUmVzaXplT2JzZXJ2ZXIoKFMpPT57bGV0IGI9U1swXT8uY29udGVudFJlY3Q7aWYoYilJMSh7d2lkdGg6Yi53aWR0aCxoZWlnaHQ6Yi5oZWlnaHR9KX0pO3JldHVybiBBLm9ic2VydmUoRiksKCk9PkEuZGlzY29ubmVjdCgpfSxbXSk7bGV0W1cxLFIxXT1rKDApLGsxPXcoMCksW3IxLHgxXT1rKCExKSxNMT1JKChGLEE9InJlcG9ydGVkIik9PntpZihBPT09Im1lZGlhIiYmWTEuY3VycmVudClyZXR1cm47aWYoQSE9PSJtZWRpYSImJkYmJkYud2lkdGg+MCYmRi5oZWlnaHQ+MClZMS5jdXJyZW50PSEwO2xldCBTPWc5KHYuY3VycmVudCxGLEEpO2lmKCFTKXJldHVybjtpZih2LmN1cnJlbnQ9Uy5jb25maWcsbShTLmNvbmZpZyksUy5ub3RpZnlQYXJlbnQpVjEuY3VycmVudD8uKFMuY29uZmlnKX0sW10pO3koKCk9PntpZighZClyZXR1cm47aWYoRClqKCExKSxfKEQpO2Vsc2UgXyhudWxsKX0sW0QsZF0pO2xldCBOMT13KG51bGwpO3koKCk9PntpZihXPT09InBvb3IiKXtpZih4MSghMCksTjEuY3VycmVudCljbGVhclRpbWVvdXQoTjEuY3VycmVudCk7TjEuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57eDEoITEpLE4xLmN1cnJlbnQ9bnVsbH0sMzAwMCl9ZWxzZSBpZih4MSghMSksTjEuY3VycmVudCljbGVhclRpbWVvdXQoTjEuY3VycmVudCksTjEuY3VycmVudD1udWxsO3JldHVybigpPT57aWYoTjEuY3VycmVudCljbGVhclRpbWVvdXQoTjEuY3VycmVudCl9fSxbV10pO2xldCBhMT1gJHskfS9zdHJlYW0ubWpwZWdgO3koKCk9PntpZighZClyZXR1cm47bGV0IEY9WDEuY3VycmVudDtpZighRilyZXR1cm47bGV0IEE9ITEsUz0hMSxiPTAsYz1udWxsLCQxPSgpPT57aWYoU3x8QSlyZXR1cm47Yz8uY2hlY2soKSxBPSEwLHg/LigpLGooITApLF8obnVsbCl9LEgxPSgpPT57aWYoUylyZXR1cm47Yz8uY2hlY2soKSxlMS5jdXJyZW50PURhdGUubm93KCksazEuY3VycmVudCsrLCQxKCksaighMCksYj1GLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soSDEpfSxBMT0oKT0+e2lmKFMpcmV0dXJuO2M/LmNoZWNrKCksZTEuY3VycmVudD1EYXRlLm5vdygpLCQxKCksaighMCl9O2lmKEYuc3JjT2JqZWN0PVA/P251bGwsUCl7aWYoYz1tOShGLChaMCk9PntNMShaMCwibWVkaWEiKX0pLGooITEpLEYuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkZGF0YSIsJDEse29uY2U6ITB9KSx0eXBlb2YgRi5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrPT09ImZ1bmN0aW9uIiliPUYucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhIMSk7ZWxzZSBGLmFkZEV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLEExKTtGLnBsYXkoKS5jYXRjaCgoKT0+e30pfWVsc2UgaighMSk7cmV0dXJuKCk9PntpZihTPSEwLEYucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZGVkZGF0YSIsJDEpLEYucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsQTEpLGM/LmRpc2Nvbm5lY3QoKSxiJiZ0eXBlb2YgRi5jYW5jZWxWaWRlb0ZyYW1lQ2FsbGJhY2s9PT0iZnVuY3Rpb24iKUYuY2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNrKGIpO0Yuc3JjT2JqZWN0PW51bGx9fSxbZCxQLHgsTTFdKSx5KCgpPT57WTEuY3VycmVudD0hMSx2LmN1cnJlbnQ9bnVsbCxtKG51bGwpfSxbJCxRXSk7bGV0IGYxPXcoTyk7ZjEuY3VycmVudD1PLHkoKCk9PntmMS5jdXJyZW50Py4ocTEpfSxbcTFdKSx5KCgpPT57aWYoTSlNMShNLCJleHRlcm5hbCIpfSxbTSxNMSwkXSk7bGV0IGkxPXcoITEpO2kxLmN1cnJlbnQ9cTE7bGV0IHQxPXcobnVsbCkscTA9dyhudWxsKTt5KCgpPT57aWYoIWF8fCFVKXJldHVybjtsZXQgQT1zZXRUaW1lb3V0KCgpPT57aWYoIWkxLmN1cnJlbnQpXygiU3RyZWFtIGlzIG5vdCBwcm9kdWNpbmcgZnJhbWVzLiBUaGUgc2ltdWxhdG9yIG1heSBoYXZlIHN0b3BwZWQg4oCUIHRyeSByZWNvbm5lY3RpbmcuIil9LDYwMDApLFM9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uIGMoKXtsZXQgJDE9dDEuY3VycmVudDtpZigkMSl7dDEuY3VycmVudD1udWxsO2xldCBIMT1aMS5jdXJyZW50O2lmKEgxKXtpZihxMC5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwocTAuY3VycmVudCk7cTAuY3VycmVudD0kMSxIMS5zcmM9JDEsazEuY3VycmVudCsrfWVsc2UgVVJMLnJldm9rZU9iamVjdFVSTCgkMSl9Uz1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYyl9KSxiPVUoKGMpPT57aWYoZTEuY3VycmVudD1EYXRlLm5vdygpLHQxLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTCh0MS5jdXJyZW50KTtpZih0MS5jdXJyZW50PWMsIWkxLmN1cnJlbnQpY2xlYXJUaW1lb3V0KEEpLGooITApLF8obnVsbCl9KTtyZXR1cm4oKT0+e2lmKGNsZWFyVGltZW91dChBKSxjYW5jZWxBbmltYXRpb25GcmFtZShTKSxiPy4oKSx0MS5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwodDEuY3VycmVudCksdDEuY3VycmVudD1udWxsO2lmKHEwLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTChxMC5jdXJyZW50KSxxMC5jdXJyZW50PW51bGx9fSxbYSxVXSk7bGV0IEcwPUkoKCk9PntlMS5jdXJyZW50PURhdGUubm93KCksaighMCksXyhudWxsKX0sW10pLGwwPUkoKCk9PntpZihrMS5jdXJyZW50KyssZTEuY3VycmVudD1EYXRlLm5vdygpLCFpMS5jdXJyZW50KWooITApLF8obnVsbCl9LFtdKTtoMyh7dXJsOiQsZW5hYmxlZDpuLGNhbnZhc1JlZjpmLG9uRmlyc3RGcmFtZTpHMCxvbkZyYW1lOmwwLG9uRGVjb2RlZEZyYW1lOlIsb25FcnJvcjpfLG9uRGVjb2RlckVycm9yOmV9KTtsZXQgajE9SSgoRik9PntsZXQgQT1WMih2LmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sUz1CMihBLEYueCxGLnkpLGI9Ri5lZGdlPT09dm9pZCAwP3ZvaWQgMDpqMyhBLEYuZWRnZSksYz1iPT09dm9pZCAwP3t0eXBlOkYudHlwZSwuLi5TfTp7dHlwZTpGLnR5cGUsLi4uUyxlZGdlOmJ9O2lmKG8pe3E/LihjKTtyZXR1cm59bGV0ICQxPUoxLmN1cnJlbnQ7aWYoISQxfHwkMS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBIMT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoYykpLEExPW5ldyBVaW50OEFycmF5KDErSDEubGVuZ3RoKTtBMVswXT13JCxBMS5zZXQoSDEsMSksJDEuc2VuZChBMSl9LFtvLHFdKSxWMD1JKChGKT0+e2lmKG8pe0I/LihGKTtyZXR1cm59bGV0IEE9SjEuY3VycmVudDtpZighQXx8QS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBTPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeSh7YnV0dG9uOkZ9KSksYj1uZXcgVWludDhBcnJheSgxK1MubGVuZ3RoKTtiWzBdPUkkLGIuc2V0KFMsMSksQS5zZW5kKGIpfSxbbyxCXSksUTA9SSgoRik9PntpZighTnVtYmVyLmlzRmluaXRlKEYpfHxGPT09MClyZXR1cm47aWYobyl7Tj8uKEYpO3JldHVybn1sZXQgQT1KMS5jdXJyZW50O2lmKCFBfHxBLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IFM9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHtkZWx0YTpGfSkpLGI9bmV3IFVpbnQ4QXJyYXkoMStTLmxlbmd0aCk7YlswXT15JCxiLnNldChTLDEpLEEuc2VuZChiKX0sW28sTl0pLEQwPUkoKEYsQSxTLGIpPT57aWYoIU51bWJlci5pc0Zpbml0ZShGKXx8IU51bWJlci5pc0Zpbml0ZShBKXx8Rj09PTAmJkE9PT0wKXJldHVybjtsZXQgYz1WMih2LmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sJDE9UjkoYyxGLEEpLEgxPUIyKGMsUyxiKSxBMT17ZHg6JDEuZHgsZHk6JDEuZHkseDpIMS54LHk6SDEueX07aWYobyl7ej8uKEExKTtyZXR1cm59bGV0IG8xPUoxLmN1cnJlbnQ7aWYoIW8xfHxvMS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBaMD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoQTEpKSxjMD1uZXcgVWludDhBcnJheSgxK1owLmxlbmd0aCk7YzBbMF09UyQsYzAuc2V0KFowLDEpLG8xLnNlbmQoYzApfSxbbyx6XSksbTE9SSgoRik9PntsZXQgQT1WMih2LmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sUz1CMihBLEYueDEsRi55MSksYj1CMihBLEYueDIsRi55MiksYz17dHlwZTpGLnR5cGUseDE6Uy54LHkxOlMueSx4MjpiLngseTI6Yi55fTtpZihvKXtHPy4oYyk7cmV0dXJufWxldCAkMT1KMS5jdXJyZW50O2lmKCEkMXx8JDEucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgSDE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGMpKSxBMT1uZXcgVWludDhBcnJheSgxK0gxLmxlbmd0aCk7QTFbMF09YiQsQTEuc2V0KEgxLDEpLCQxLnNlbmQoQTEpfSxbbyxHXSk7eSgoKT0+e2lmKCFpJiYhTDEmJiFuKXJldHVybjtsZXQgRj1udWxsO2lmKGkpe2xldCAkMT1RPz8kLnJlcGxhY2UoL15odHRwLywid3MiKSsiL3dzIjtGPW5ldyBXZWJTb2NrZXQoJDEpLEYuYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLEoxLmN1cnJlbnQ9RixGLm9ubWVzc2FnZT0oSDEpPT57aWYoIShIMS5kYXRhIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXJldHVybjtsZXQgQTE9bmV3IFVpbnQ4QXJyYXkoSDEuZGF0YSk7aWYoQTEubGVuZ3RoPDF8fEExWzBdIT09MTMwKXJldHVybjt0cnl7TTEoSlNPTi5wYXJzZShuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoQTEuc3ViYXJyYXkoMSkpKSl9Y2F0Y2h7fX0sRi5vbm9wZW49KCk9Pl8obnVsbCksRi5vbmNsb3NlPSgpPT5qKCExKSxGLm9uZXJyb3I9KCk9PntfKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBmYWlsZWQiKSxqKCExKX19bGV0IEE9bnx8TDE/c2V0SW50ZXJ2YWwoKCk9PntSMShrMS5jdXJyZW50KSxrMS5jdXJyZW50PTB9LDEwMDApOm51bGwsUz1MMT9uZXcgQWJvcnRDb250cm9sbGVyOm51bGwsYj0hMSxjPUwxP3NldFRpbWVvdXQoKCk9PntpZighYilfKCJTdHJlYW0gaXMgbm90IHByb2R1Y2luZyBmcmFtZXMuIFRoZSBzaW11bGF0b3IgbWF5IGhhdmUgc3RvcHBlZCDigJQgdHJ5IHJlY29ubmVjdGluZy4iKX0sNjAwMCk6bnVsbDtpZihMMSYmUykoYXN5bmMoKT0+e3RyeXtsZXQgSDE9KGF3YWl0IGZldGNoKGExLHtzaWduYWw6Uy5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIUgxKXJldHVybjtsZXQgQTE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCItLWZyYW1lIik7d2hpbGUoITApe2xldHtkb25lOm8xLHZhbHVlOlowfT1hd2FpdCBIMS5yZWFkKCk7aWYobzEpYnJlYWs7aWYoWjApZm9yKGxldCBjMD0wO2MwPD1aMC5sZW5ndGgtQTEubGVuZ3RoO2MwKyspe2xldCBiOD0hMDtmb3IobGV0IFY1PTA7VjU8QTEubGVuZ3RoO1Y1KyspaWYoWjBbYzArVjVdIT09QTFbVjVdKXtiOD0hMTticmVha31pZihiOCl7aWYoazEuY3VycmVudCsrLCFiKXtpZihiPSEwLGMpY2xlYXJUaW1lb3V0KGMpO2ooITApLF8obnVsbCl9fX19fWNhdGNoe319KSgpO3JldHVybigpPT57aWYoUz8uYWJvcnQoKSxBKWNsZWFySW50ZXJ2YWwoQSk7aWYoYyljbGVhclRpbWVvdXQoYyk7aWYoRj8uY2xvc2UoKSxKMS5jdXJyZW50PT09RilKMS5jdXJyZW50PW51bGx9fSxbaSxMMSxhMSxNMSwkLG4sUV0pLHkoKCk9PntpZighZClyZXR1cm47bGV0IEY9c2V0SW50ZXJ2YWwoKCk9PntSMShrMS5jdXJyZW50KSxrMS5jdXJyZW50PTA7bGV0IEE9ZTEuY3VycmVudDtpZighZG9jdW1lbnQuaGlkZGVuJiZBJiZEYXRlLm5vdygpLUE+MzAwMClqKCExKX0sMTAwMCk7cmV0dXJuKCk9PmNsZWFySW50ZXJ2YWwoRil9LFtkXSk7bGV0IGUxPXcoMCk7eSgoKT0+e2lmKCFhKXJldHVybjtsZXQgRj0yMDAwLEE9KCk9PntsZXQgYz1lMS5jdXJyZW50O2lmKCFjfHwhaTEuY3VycmVudClyZXR1cm47aWYoRGF0ZS5ub3coKS1jPkYpaighMSl9LFM9c2V0SW50ZXJ2YWwoKCk9PntSMShrMS5jdXJyZW50KSxrMS5jdXJyZW50PTAsQSgpfSwxMDAwKSxiPSgpPT57aWYoIWRvY3VtZW50LmhpZGRlbilBKCl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixiKSwoKT0+e2NsZWFySW50ZXJ2YWwoUyksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYil9fSxbYV0pO2xldCBSMD1JKCgpPT57aWYoZClyZXR1cm4gWDEuY3VycmVudDtpZihuKXJldHVybiBmLmN1cnJlbnQ7cmV0dXJuIGE/WjEuY3VycmVudDpsLmN1cnJlbnR9LFthLG4sZF0pLGIxPUkoKCk9PntyZXR1cm4gVTEuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P1IwKCk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz9udWxsfSxbUjBdKSxCMD1JKChGLEEpPT57bGV0IFM9YjEoKTtpZighUylyZXR1cm47bGV0IGI9KEEuY2xpZW50WC1TLmxlZnQpL1Mud2lkdGgsYz0oQS5jbGllbnRZLVMudG9wKS9TLmhlaWdodDtqMSh7dHlwZTpGLHg6Yix5OmN9KX0sW2IxLGoxXSksVTA9SSgoRixBKT0+e2xldCBiPWIxKCk/LmhlaWdodHx8MSxjPVMyKEYsQSxiKTtpZihjPT09bnVsbClyZXR1cm4hMTtyZXR1cm4gUTAoYyksITB9LFtiMSxRMF0pLF8xPXcoITEpLEUxPXcoITEpLEowPXcoITEpLE4wPXcoe2R4OjAsZHk6MH0pLEgwPXcoITEpLFtBMCxLMV09ayghMSksRT13KHt4OjAuNSx5OjAuNX0pLFt1LHJdPWsobnVsbCk7eSgoKT0+e2xldCBGPShTKT0+e2lmKFMua2V5PT09IkFsdCIpSzEoITApfSxBPShTKT0+e2lmKFMua2V5PT09IkFsdCIpe2lmKEsxKCExKSwhRTEuY3VycmVudClyKG51bGwpfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixGKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLEEpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEYpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsQSl9fSxbXSkseSgoKT0+e2lmKEEwJiYhRTEuY3VycmVudCl7bGV0IEY9RS5jdXJyZW50O3Ioe3gxOkYueCx5MTpGLnkseDI6MS1GLngseTI6MS1GLnl9KX1lbHNlIGlmKCFBMCYmIUUxLmN1cnJlbnQpcihudWxsKX0sW0EwXSk7bGV0IEMxPXcobnVsbCksRzE9dyghMSksQjE9dygwKSxoMT1JKChGLEEpPT57RzEuY3VycmVudD0hMDtsZXQgUz1DMS5jdXJyZW50O2lmKFMpY2FuY2VsQW5pbWF0aW9uRnJhbWUoQjEuY3VycmVudCksQjEuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntTLnN0eWxlLmxlZnQ9YCR7RioxMDB9JWAsUy5zdHlsZS50b3A9YCR7QSoxMDB9JWAsUy5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX0sW10pLGwxPUkoKEYsQSk9PntpZighRzEuY3VycmVudClyZXR1cm47bGV0IFM9QzEuY3VycmVudDtpZihTKWNhbmNlbEFuaW1hdGlvbkZyYW1lKEIxLmN1cnJlbnQpLEIxLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Uy5zdHlsZS5sZWZ0PWAke0YqMTAwfSVgLFMuc3R5bGUudG9wPWAke0EqMTAwfSVgfSl9LFtdKSxwMT1JKCgpPT57RzEuY3VycmVudD0hMTtsZXQgRj1DMS5jdXJyZW50O2lmKEYpY2FuY2VsQW5pbWF0aW9uRnJhbWUoQjEuY3VycmVudCksRi5zdHlsZS5kaXNwbGF5PSJub25lIn0sW10pLEMwPUkoKEYpPT57aWYoRzEuY3VycmVudHx8RTEuY3VycmVudClyZXR1cm4hMTtsZXQgQT1iMSgpO2lmKCFBKXJldHVybiExO2xldCBTPXYzKEYuZGVsdGFYLEYuZGVsdGFNb2RlLEEud2lkdGgpLGI9djMoRi5kZWx0YVksRi5kZWx0YU1vZGUsQS5oZWlnaHQpO2lmKFM9PT0wJiZiPT09MClyZXR1cm4hMTtsZXQgYz1NYXRoLm1pbihNYXRoLm1heCgoRi5jbGllbnRYLUEubGVmdCkvQS53aWR0aCwwKSwxKSwkMT1NYXRoLm1pbihNYXRoLm1heCgoRi5jbGllbnRZLUEudG9wKS9BLmhlaWdodCwwKSwxKTtyZXR1cm4gRDAoUy9BLndpZHRoLGIvQS5oZWlnaHQsYywkMSksITB9LFtiMSxEMF0pO3koKCk9PntsZXQgRj1zLmN1cnJlbnQ7aWYoIUYpcmV0dXJuO2xldCBBPShTKT0+e2lmKCEoVj9VMChTLmRlbHRhWSxTLmRlbHRhTW9kZSk6QzAoUykpKXJldHVybjtTLnByZXZlbnREZWZhdWx0KCksUy5zdG9wUHJvcGFnYXRpb24oKX07cmV0dXJuIEYuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLEEse3Bhc3NpdmU6ITF9KSwoKT0+Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsQSl9LFtWLFUwLEMwXSk7bGV0IG4xPXcoMCksazA9dyhudWxsKSx6MD1JKCgpPT57bGV0IEY9RGF0ZS5ub3coKSxBPUYtbjEuY3VycmVudDtpZihuMS5jdXJyZW50PUYsQTwzMDApe2lmKGswLmN1cnJlbnQpY2xlYXJUaW1lb3V0KGswLmN1cnJlbnQpLGswLmN1cnJlbnQ9bnVsbDtpZihZKVkoKTtlbHNlIFYwKCJhcHBfc3dpdGNoZXIiKX1lbHNlIGswLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e2lmKFkpWSgpO2Vsc2UgVjAoImhvbWUiKTtrMC5jdXJyZW50PW51bGx9LDMwMCl9LFtWMCxZXSksUDE9VjIoaCksUzA9UDEuZGlzcGxheUNvbmZpZyxXMD0oKCk9PntpZighUzB8fCFGMSlyZXR1cm4gbnVsbDtpZihGMS53aWR0aD09PTB8fEYxLmhlaWdodD09PTApcmV0dXJuIG51bGw7bGV0IEY9TWF0aC5taW4oRjEud2lkdGgvUzAud2lkdGgsRjEuaGVpZ2h0L1MwLmhlaWdodCk7cmV0dXJue3dpZHRoOlMwLndpZHRoKkYsaGVpZ2h0OlMwLmhlaWdodCpGfX0pKCksSjI9UDEucm90YXRpb25EZWdyZWVzLEQyPVAxLm5lZWRzQ3NzUm90YXRpb24mJk1hdGguYWJzKEoyKT09PTkwLEIzPVgsZDA9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiI1MCUiLGxlZnQ6IjUwJSIsd2lkdGg6RDImJlcwP2Ake1cwLmhlaWdodH1weGA6IjEwMCUiLGhlaWdodDpEMiYmVzA/YCR7VzAud2lkdGh9cHhgOiIxMDAlIix0cmFuc2Zvcm06YHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSR7SjI9PT0wPyIiOmAgcm90YXRlKCR7SjJ9ZGVnKWB9YCx0cmFuc2Zvcm1PcmlnaW46ImNlbnRlciBjZW50ZXIiLGN1cnNvcjpwOSxkaXNwbGF5OiJibG9jayIsdXNlclNlbGVjdDoibm9uZSIsV2Via2l0VXNlclNlbGVjdDoibm9uZSIsdG91Y2hBY3Rpb246Im5vbmUiLC4uLlgsLi4uSjI9PT0wP3t9Ontib3JkZXJSYWRpdXM6MCxjb3JuZXJTaGFwZTp2b2lkIDB9fSxOMz17Li4uZDAsdHJhbnNmb3JtOmAke2QwLnRyYW5zZm9ybT8/IiJ9IHNjYWxlKCR7RSR9KWB9O3JldHVybiBaKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixmbGV4OjEsLi4uSD97fTp7Ym9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LG92ZXJmbG93OiJoaWRkZW4iLG1pbldpZHRoOjAsbWluSGVpZ2h0OjAsLi4uSn0sY2xhc3NOYW1lOkssY2hpbGRyZW46W1ooImRpdiIse3JlZjp3MSxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixmbGV4OjEsbWluSGVpZ2h0OjAsbWluV2lkdGg6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxjaGlsZHJlbjpaKCJkaXYiLHtyZWY6VTEsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6VzA/YCR7VzAud2lkdGh9cHhgOiIxMDAlIixoZWlnaHQ6VzA/YCR7VzAuaGVpZ2h0fXB4YDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyUmFkaXVzOkIzPy5ib3JkZXJSYWRpdXMsY29ybmVyU2hhcGU6QjM/LmNvcm5lclNoYXBlfSxjaGlsZHJlbjpbZD9aKCJ2aWRlbyIse3JlZjpYMSxtdXRlZDohMCxwbGF5c0lubGluZTohMCxhdXRvUGxheTohMCxzdHlsZTpkMH0pOm4/WigiY2FudmFzIix7cmVmOmYsc3R5bGU6TjN9KTpaKCJpbWciLHtyZWY6bCxzcmM6YT92b2lkIDA6YTEsZHJhZ2dhYmxlOiExLG9uTG9hZDooRik9PntsZXQgQT1GLmN1cnJlbnRUYXJnZXQ7aWYoQS5uYXR1cmFsV2lkdGg+MCYmQS5uYXR1cmFsSGVpZ2h0PjApTTEoe3dpZHRoOkEubmF0dXJhbFdpZHRoLGhlaWdodDpBLm5hdHVyYWxIZWlnaHR9LCJtZWRpYSIpfSxzdHlsZTphP3tkaXNwbGF5OiJub25lIn06ZDB9KSxhJiZaKCJpbWciLHtyZWY6WjEsZHJhZ2dhYmxlOiExLG9uTG9hZDooRik9PntsZXQgQT1GLmN1cnJlbnRUYXJnZXQ7aWYoQS5uYXR1cmFsV2lkdGg+MCYmQS5uYXR1cmFsSGVpZ2h0PjApTTEoe3dpZHRoOkEubmF0dXJhbFdpZHRoLGhlaWdodDpBLm5hdHVyYWxIZWlnaHR9LCJtZWRpYSIpfSxzdHlsZTpkMH0pLFooImRpdiIse3JlZjpzLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsY3Vyc29yOnA5LHRvdWNoQWN0aW9uOiJub25lIn0sb25Nb3VzZURvd246KEYpPT57Ri5wcmV2ZW50RGVmYXVsdCgpO2xldCBBPWIxKCk7aWYoIUEpcmV0dXJuO2xldCBTPShGLmNsaWVudFgtQS5sZWZ0KS9BLndpZHRoLGI9KEYuY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQ7aWYoRi5hbHRLZXkpe0UxLmN1cnJlbnQ9ITAsSjAuY3VycmVudD1GLnNoaWZ0S2V5O2xldCAkMT17eDE6Uyx5MTpiLHgyOjEtUyx5MjoxLWJ9O04wLmN1cnJlbnQ9e2R4OjEtUy1TLGR5OjEtYi1ifSxyKCQxKSxtMSh7dHlwZToiYmVnaW4iLC4uLiQxfSk7cmV0dXJufWgxKFMsYik7bGV0IGM9UzMoYik7aWYoYyE9PXZvaWQgMClfMS5jdXJyZW50PSEwLGoxKHt0eXBlOiJiZWdpbiIseDpTLHk6YixlZGdlOmN9KTtlbHNlIF8xLmN1cnJlbnQ9ITEsQjAoImJlZ2luIixGKX0sb25Nb3VzZU1vdmU6KEYpPT57bGV0IEE9YjEoKTtpZighQSlyZXR1cm47bGV0IFM9KEYuY2xpZW50WC1BLmxlZnQpL0Eud2lkdGgsYj0oRi5jbGllbnRZLUEudG9wKS9BLmhlaWdodDtpZihFLmN1cnJlbnQ9e3g6Uyx5OmJ9LEYuYnV0dG9ucz09PTApe2lmKEYuYWx0S2V5KXIoe3gxOlMseTE6Yix4MjoxLVMseTI6MS1ifSk7cmV0dXJufWlmKEUxLmN1cnJlbnQpe2xldCBjO2lmKEowLmN1cnJlbnQpe2xldCAkMT1OMC5jdXJyZW50O2M9e3gxOlMseTE6Yix4MjpTKyQxLmR4LHkyOmIrJDEuZHl9fWVsc2UgYz17eDE6Uyx5MTpiLHgyOjEtUyx5MjoxLWJ9O3IoYyksbTEoe3R5cGU6Im1vdmUiLC4uLmN9KTtyZXR1cm59aWYobDEoUyxiKSxfMS5jdXJyZW50KWoxKHt0eXBlOiJtb3ZlIix4OlMseTpiLGVkZ2U6cTJ9KTtlbHNlIEIwKCJtb3ZlIixGKX0sb25Nb3VzZVVwOihGKT0+e2lmKEUxLmN1cnJlbnQpe2xldCBBPWIxKCk7aWYoQSl7bGV0IFM9KEYuY2xpZW50WC1BLmxlZnQpL0Eud2lkdGgsYj0oRi5jbGllbnRZLUEudG9wKS9BLmhlaWdodDtpZihKMC5jdXJyZW50KXtsZXQgYz1OMC5jdXJyZW50O20xKHt0eXBlOiJlbmQiLHgxOlMseTE6Yix4MjpTK2MuZHgseTI6YitjLmR5fSl9ZWxzZSBtMSh7dHlwZToiZW5kIix4MTpTLHkxOmIseDI6MS1TLHkyOjEtYn0pfWlmKEUxLmN1cnJlbnQ9ITEsIUYuYWx0S2V5KXIobnVsbCk7cmV0dXJufWlmKHAxKCksXzEuY3VycmVudCl7bGV0IEE9YjEoKTtpZihBKXtsZXQgUz0oRi5jbGllbnRYLUEubGVmdCkvQS53aWR0aCxiPShGLmNsaWVudFktQS50b3ApL0EuaGVpZ2h0O2oxKHt0eXBlOiJlbmQiLHg6Uyx5OmIsZWRnZTpxMn0pfV8xLmN1cnJlbnQ9ITE7cmV0dXJufUIwKCJlbmQiLEYpfSxvbk1vdXNlTGVhdmU6KEYpPT57aWYoRTEuY3VycmVudCl7aWYodSltMSh7dHlwZToiZW5kIiwuLi51fSk7RTEuY3VycmVudD0hMSxyKG51bGwpO3JldHVybn1pZihwMSgpLF8xLmN1cnJlbnQpe2xldCBBPWIxKCk7aWYoQSl7bGV0IFM9KEYuY2xpZW50WC1BLmxlZnQpL0Eud2lkdGgsYj0oRi5jbGllbnRZLUEudG9wKS9BLmhlaWdodDtqMSh7dHlwZToiZW5kIix4OlMseTpiLGVkZ2U6cTJ9KX1fMS5jdXJyZW50PSExO3JldHVybn1pZihGLmJ1dHRvbnM+MClCMCgiZW5kIixGKTtyKG51bGwpfSxvblRvdWNoU3RhcnQ6KEYpPT57Ri5wcmV2ZW50RGVmYXVsdCgpO2xldCBBPWIxKCk7aWYoIUEpcmV0dXJuO2lmKEYudG91Y2hlcy5sZW5ndGg+PTIpe3AxKCk7bGV0IEgxPUYudG91Y2hlc1swXSxBMT1GLnRvdWNoZXNbMV0sbzE9e3gxOihIMS5jbGllbnRYLUEubGVmdCkvQS53aWR0aCx5MTooSDEuY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQseDI6KEExLmNsaWVudFgtQS5sZWZ0KS9BLndpZHRoLHkyOihBMS5jbGllbnRZLUEudG9wKS9BLmhlaWdodH07aWYoIUgwLmN1cnJlbnQmJiFfMS5jdXJyZW50KWoxKHt0eXBlOiJlbmQiLHg6bzEueDEseTpvMS55MX0pO0gwLmN1cnJlbnQ9ITAsRTEuY3VycmVudD0hMCxfMS5jdXJyZW50PSExLHIobzEpLG0xKHt0eXBlOiJiZWdpbiIsLi4ubzF9KTtyZXR1cm59bGV0IFM9Ri50b3VjaGVzWzBdO2lmKCFTKXJldHVybjtsZXQgYj0oUy5jbGllbnRYLUEubGVmdCkvQS53aWR0aCxjPShTLmNsaWVudFktQS50b3ApL0EuaGVpZ2h0O2gxKGIsYyk7bGV0ICQxPVMzKGMpO2lmKCQxIT09dm9pZCAwKV8xLmN1cnJlbnQ9ITAsajEoe3R5cGU6ImJlZ2luIix4OmIseTpjLGVkZ2U6JDF9KTtlbHNlIF8xLmN1cnJlbnQ9ITEsajEoe3R5cGU6ImJlZ2luIix4OmIseTpjfSl9LG9uVG91Y2hNb3ZlOihGKT0+e0YucHJldmVudERlZmF1bHQoKTtsZXQgQT1iMSgpO2lmKCFBKXJldHVybjtpZihIMC5jdXJyZW50JiZGLnRvdWNoZXMubGVuZ3RoPj0yKXtsZXQgJDE9Ri50b3VjaGVzWzBdLEgxPUYudG91Y2hlc1sxXSxBMT17eDE6KCQxLmNsaWVudFgtQS5sZWZ0KS9BLndpZHRoLHkxOigkMS5jbGllbnRZLUEudG9wKS9BLmhlaWdodCx4MjooSDEuY2xpZW50WC1BLmxlZnQpL0Eud2lkdGgseTI6KEgxLmNsaWVudFktQS50b3ApL0EuaGVpZ2h0fTtyKEExKSxtMSh7dHlwZToibW92ZSIsLi4uQTF9KTtyZXR1cm59bGV0IFM9Ri50b3VjaGVzWzBdO2lmKCFTKXJldHVybjtsZXQgYj0oUy5jbGllbnRYLUEubGVmdCkvQS53aWR0aCxjPShTLmNsaWVudFktQS50b3ApL0EuaGVpZ2h0O2lmKGwxKGIsYyksXzEuY3VycmVudClqMSh7dHlwZToibW92ZSIseDpiLHk6YyxlZGdlOnEyfSk7ZWxzZSBqMSh7dHlwZToibW92ZSIseDpiLHk6Y30pfSxvblRvdWNoRW5kOihGKT0+e0YucHJldmVudERlZmF1bHQoKTtsZXQgQT1iMSgpO2lmKCFBKXJldHVybjtpZihIMC5jdXJyZW50KXtpZihGLnRvdWNoZXMubGVuZ3RoPDIpe2xldCAkMT1GLmNoYW5nZWRUb3VjaGVzWzBdLEgxPXU7aWYoJDEmJkgxKW0xKHt0eXBlOiJlbmQiLHgxOigkMS5jbGllbnRYLUEubGVmdCkvQS53aWR0aCx5MTooJDEuY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQseDI6SDEueDIseTI6SDEueTJ9KTtlbHNlIGlmKEgxKW0xKHt0eXBlOiJlbmQiLC4uLkgxfSk7SDAuY3VycmVudD0hMSxFMS5jdXJyZW50PSExLHIobnVsbCl9cmV0dXJufWxldCBTPUYuY2hhbmdlZFRvdWNoZXNbMF07aWYoIVMpcmV0dXJuO2xldCBiPShTLmNsaWVudFgtQS5sZWZ0KS9BLndpZHRoLGM9KFMuY2xpZW50WS1BLnRvcCkvQS5oZWlnaHQ7aWYocDEoKSxfMS5jdXJyZW50KWoxKHt0eXBlOiJlbmQiLHg6Yix5OmMsZWRnZTpxMn0pLF8xLmN1cnJlbnQ9ITE7ZWxzZSBqMSh7dHlwZToiZW5kIix4OmIseTpjfSl9fSksWigiZGl2Iix7cmVmOkMxLCJkYXRhLXRlc3RpZCI6InRvdWNoLWluZGljYXRvciIsc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToibm9uZSIsd2lkdGg6MjQsaGVpZ2h0OjI0LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiJyZ2JhKDU5LDEzMCwyNDYsMC41KSIsYm94U2hhZG93OiIwIDAgOHB4IHJnYmEoNTksMTMwLDI0NiwwLjMpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIscG9pbnRlckV2ZW50czoibm9uZSJ9fSksdSYmWihRMSx7Y2hpbGRyZW46W1ooImRpdiIseyJkYXRhLXRlc3RpZCI6ImZpbmdlci1kb3QiLHN0eWxlOmQ5KHUueDEsdS55MSl9KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTpkOSh1LngyLHUueTIpfSldfSksIXExJiYhcCYmWigiZGl2Iix7c3R5bGU6ey4uLnU5LC4uLlh8fHt9fSxjaGlsZHJlbjpaKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjODg4Iixmb250U2l6ZToxNH0sY2hpbGRyZW46IkNvbm5lY3RpbmcuLi4ifSl9KSxwJiZaKCJkaXYiLHtzdHlsZTp1OSxjaGlsZHJlbjpaKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZjQ0Iixmb250U2l6ZToxNCxwYWRkaW5nOjIwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46cH0pfSkscjEmJlooImRpdiIse3N0eWxlOngkLGNoaWxkcmVuOlooInNwYW4iLHtzdHlsZTp7Y29sb3I6IiNmYmJmMjQiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOiJTbG93IGNvbm5lY3Rpb24ifSl9KV19KX0pLCFIJiZaKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiNHB4IDhweCIsYm9yZGVyVG9wOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LGNoaWxkcmVuOltaKCJidXR0b24iLHtvbkNsaWNrOnowLHN0eWxlOntiYWNrZ3JvdW5kOiJub25lIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMikiLGNvbG9yOiIjYWFhIixmb250U2l6ZToxMSxmb250RmFtaWx5OiJtb25vc3BhY2UiLHBhZGRpbmc6IjJweCAxMHB4IixjdXJzb3I6InBvaW50ZXIiLGJvcmRlclJhZGl1czo0fSxjaGlsZHJlbjoiSG9tZSJ9KSxaKCJzcGFuIix7c3R5bGU6e2NvbG9yOlcxPjA/IiM0ZjQiOiIjODg4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJtb25vc3BhY2UiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjZ9LGNoaWxkcmVuOltXJiZaKCJzcGFuIix7ImRhdGEtdGVzdGlkIjoicXVhbGl0eS1kb3QiLHN0eWxlOnt3aWR0aDo4LGhlaWdodDo4LGJvcmRlclJhZGl1czoiNTAlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLGJhY2tncm91bmQ6Vz09PSJnb29kIj8iIzRhZGU4MCI6Vz09PSJkZWdyYWRlZCI/IiNmYWNjMTUiOiIjZWY0NDQ0In19KSxXMSwiIGZwcyJdfSldfSldfSl9dmFyIHgkPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDo4LGxlZnQ6IjUwJSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC01MCUpIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuNykiLGJvcmRlclJhZGl1czo2LHBhZGRpbmc6IjRweCAxMnB4Iixwb2ludGVyRXZlbnRzOiJub25lIn0sdTk9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC44KSJ9LGw5PTIwO2Z1bmN0aW9uIGQ5KCQsUSl7cmV0dXJue3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpgJHskKjEwMH0lYCx0b3A6YCR7USoxMDB9JWAsd2lkdGg6bDksaGVpZ2h0Omw5LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpIixib3JkZXI6IjEuMjVweCBzb2xpZCByZ2JhKDAsMCwwLDAuNTUpIixib3hTaGFkb3c6IjAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNDUpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIscG9pbnRlckV2ZW50czoibm9uZSJ9fWZ1bmN0aW9uIEUwKCQpe2lmKCEkKXJldHVybiJpcGhvbmUiO2xldCBRPSQudG9Mb3dlckNhc2UoKTtpZihRLmluY2x1ZGVzKCJpcGFkIikpcmV0dXJuImlwYWQiO2lmKFEuaW5jbHVkZXMoIndhdGNoIikpcmV0dXJuIndhdGNoIjtpZihRLmluY2x1ZGVzKCJ2aXNpb24iKSlyZXR1cm4idmlzaW9uIjtyZXR1cm4iaXBob25lIn12YXIgUzE9e2lwaG9uZTp7d2lkdGg6NDI3LGhlaWdodDo4ODEsYmV6ZWxYOjE4LGJlemVsWToxOCxpbm5lclJhZGl1czo1NX0saXBhZDp7d2lkdGg6NDMwLGhlaWdodDo2MDUsYmV6ZWxYOjE2LGJlemVsWToxNixpbm5lclJhZGl1czoxMn0sd2F0Y2g6e3dpZHRoOjI3NCxoZWlnaHQ6MzIyLGJlemVsWDoxMixiZXplbFk6MTIsaW5uZXJSYWRpdXM6Nzl9LHZpc2lvbjp7d2lkdGg6NjQwLGhlaWdodDo0MDAsYmV6ZWxYOjEyLGJlemVsWToxMixpbm5lclJhZGl1czozMn19LHpLPVMxLmlwaG9uZS53aWR0aCxMSz1TMS5pcGhvbmUuaGVpZ2h0LFVLPVMxLmlwaG9uZS5iZXplbFgsSEs9UzEuaXBob25lLmJlemVsWSxDSz1TMS5pcGhvbmUuaW5uZXJSYWRpdXMsYzk9eyJpUGhvbmUgMTcgUHJvIE1heCI6e3dpZHRoOjEzMjAsaGVpZ2h0OjI4Njh9LCJpUGhvbmUgMTcgUHJvIjp7d2lkdGg6MTIwNixoZWlnaHQ6MjYyMn0sImlQaG9uZSAxNyI6e3dpZHRoOjEyMDYsaGVpZ2h0OjI2MjJ9LCJpUGhvbmUgQWlyIjp7d2lkdGg6MTI2MCxoZWlnaHQ6MjczNn0sImlQaG9uZSAxNiBQcm8gTWF4Ijp7d2lkdGg6MTMyMCxoZWlnaHQ6Mjg2OH0sImlQaG9uZSAxNiBQcm8iOnt3aWR0aDoxMjA2LGhlaWdodDoyNjIyfSwiaVBob25lIDE2IFBsdXMiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE2Ijp7d2lkdGg6MTE3OSxoZWlnaHQ6MjU1Nn0sImlQaG9uZSAxNmUiOnt3aWR0aDoxMTcwLGhlaWdodDoyNTMyfSwiaVBob25lIDE1IFBybyBNYXgiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE1IFBybyI6e3dpZHRoOjExNzksaGVpZ2h0OjI1NTZ9LCJpUGhvbmUgMTUgUGx1cyI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTUiOnt3aWR0aDoxMTc5LGhlaWdodDoyNTU2fSwiaVBhZCBQcm8gMTMtaW5jaCAoTTUpIjp7d2lkdGg6MjA2NCxoZWlnaHQ6Mjc1Mn0sImlQYWQgUHJvIDExLWluY2ggKE01KSI6e3dpZHRoOjE2NjgsaGVpZ2h0OjI0MjB9LCJpUGFkIFBybyAxMy1pbmNoIChNNCkiOnt3aWR0aDoyMDY0LGhlaWdodDoyNzUyfSwiaVBhZCBQcm8gMTEtaW5jaCAoTTQpIjp7d2lkdGg6MTY2OCxoZWlnaHQ6MjQyMH0sImlQYWQgQWlyIDEzLWluY2ggKE0zKSI6e3dpZHRoOjIwNDgsaGVpZ2h0OjI3MzJ9LCJpUGFkIEFpciAxMS1pbmNoIChNMykiOnt3aWR0aDoxNjQwLGhlaWdodDoyMzYwfSwiaVBhZCAoQTE2KSI6e3dpZHRoOjE2NDAsaGVpZ2h0OjIzNjB9LCJpUGFkIG1pbmkgKEExNyBQcm8pIjp7d2lkdGg6MTQ4OCxoZWlnaHQ6MjI2Nn0sIkFwcGxlIFdhdGNoIFVsdHJhIDMgKDQ5bW0pIjp7d2lkdGg6NDIyLGhlaWdodDo1MTR9LCJBcHBsZSBXYXRjaCBVbHRyYSAyICg0OW1tKSI6e3dpZHRoOjQxMCxoZWlnaHQ6NTAyfSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU0UgMyAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFIDMgKDQwbW0pIjp7d2lkdGg6MzI0LGhlaWdodDozOTR9LCJBcHBsZSBXYXRjaCBTRSAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFICg0MG1tKSI6e3dpZHRoOjMyNCxoZWlnaHQ6Mzk0fSwiQXBwbGUgVmlzaW9uIFBybyI6e3dpZHRoOjE5MjAsaGVpZ2h0OjEwODB9fTtmdW5jdGlvbiBENSgkLFEpe2xldCBKPSQmJiQud2lkdGg+MCYmJC5oZWlnaHQ+MD8kOlEsWD1HMihKKTtpZihYKXJldHVybmAke1gud2lkdGh9IC8gJHtYLmhlaWdodH1gO3JldHVybmAke1MxLmlwaG9uZS53aWR0aC0yKlMxLmlwaG9uZS5iZXplbFh9IC8gJHtTMS5pcGhvbmUuaGVpZ2h0LTIqUzEuaXBob25lLmJlemVsWX1gfWZ1bmN0aW9uIE4yKCQ9ImlwaG9uZSIsUSl7bGV0IEo9UT9jOVtRXTpudWxsO2lmKEopcmV0dXJuIEo7bGV0IFg9UzFbJF07cmV0dXJue3dpZHRoOlgud2lkdGgtMipYLmJlemVsWCxoZWlnaHQ6WC5oZWlnaHQtMipYLmJlemVsWX19ZnVuY3Rpb24gejIoJD0iaXBob25lIixRKXtpZihmMChRKSlzd2l0Y2goJCl7Y2FzZSJpcGFkIjpyZXR1cm4gNzIwO2Nhc2UidmlzaW9uIjpyZXR1cm4gNTgwO2Nhc2Uid2F0Y2giOnJldHVybiAyMDA7ZGVmYXVsdDpyZXR1cm4gNjIwfXN3aXRjaCgkKXtjYXNlImlwYWQiOnJldHVybiA0MDA7Y2FzZSJ3YXRjaCI6cmV0dXJuIDIwMDtjYXNlInZpc2lvbiI6cmV0dXJuIDU4MDtkZWZhdWx0OnJldHVybiAzMjB9fWZ1bmN0aW9uIFA1KCQ9ImlwaG9uZSIsUSl7bGV0IEo9UzFbJF0sWD1KLndpZHRoLTIqSi5iZXplbFgsSz1KLmhlaWdodC0yKkouYmV6ZWxZO2lmKFg8SyYmZjAoUSkpcmV0dXJuYCR7Si5pbm5lclJhZGl1cy9LKjEwMH0lIC8gJHtKLmlubmVyUmFkaXVzL1gqMTAwfSVgO3JldHVybmAke0ouaW5uZXJSYWRpdXMvWCoxMDB9JSAvICR7Si5pbm5lclJhZGl1cy9LKjEwMH0lYH1mdW5jdGlvbiBvOSgkKXtsZXQgUT1TMVskLnR5cGVdLEo9US53aWR0aC0yKlEuYmV6ZWxYLFg9US5oZWlnaHQtMipRLmJlemVsWSxLLFk7aWYoSjxYJiZmMCgkLmNvbmZpZz8/bnVsbCkpSz1RLmlubmVyUmFkaXVzL1gsWT1RLmlubmVyUmFkaXVzL0o7ZWxzZSBLPVEuaW5uZXJSYWRpdXMvSixZPVEuaW5uZXJSYWRpdXMvWDtsZXQgcT1LKiQuY29udGFpbmVyV2lkdGgsRz1ZKiQuY29udGFpbmVySGVpZ2h0LEI9TWF0aC5zcXJ0KE1hdGgubWF4KHEqRywwKSk7cmV0dXJue3J4OnEscnk6RyxyR2VvbTpCfX12YXIgdiQ9MTMsUiQ9NjI7ZnVuY3Rpb24gZzMoJCl7bGV0e2NvbnRhaW5lcldpZHRoOlEsY29udGFpbmVySGVpZ2h0Okp9PSQsWD0oSCk9PkgudG9GaXhlZCgzKSxLPShILE8pPT57bGV0IFc9TyxUPU8sUD1SJC8yKihNYXRoLlBJLzE4MCkseD0yMjUqTWF0aC5QSS8xODAsRD14K1AsZT14LVAsUj1XK0gqTWF0aC5jb3MoRCksZD1UK0gqTWF0aC5zaW4oRCksbj1XK0gqTWF0aC5jb3MoZSksbz1UK0gqTWF0aC5zaW4oZSksYT1gTSAke1goUil9ICR7WChkKX0gQSAke1goSCl9ICR7WChIKX0gMCAwIDEgJHtYKG4pfSAke1gobyl9YCxpPWBNICR7WChuKX0gJHtYKG8pfSBBICR7WChIKX0gJHtYKEgpfSAwIDAgMCAke1goUil9ICR7WChkKX1gO3JldHVybntkOmEsZEZpbGw6aX19O2lmKCEoUT4wKXx8IShKPjApKXtsZXQgSD12JCxPPU1hdGguY2VpbChIKzE0KSx7ZDpXLGRGaWxsOlR9PUsoSCxPKTtyZXR1cm57ZDpXLGRGaWxsOlQsdmlld0JveFNpemU6T319bGV0e3JHZW9tOll9PW85KCQpLHE9TWF0aC5tYXgoMi4yLE1hdGgubWluKDUuMiwwLjAxMSpNYXRoLm1pbihRLEopKSksRz1ZKjAuMzQrcSxCPU1hdGgubWluKFEsSiksTj1NYXRoLm1pbigyMixNYXRoLm1heCgxMixCKjAuMDUyKSk7Rz1NYXRoLm1pbigyNCxNYXRoLm1heCgxMixHLE4pKTtsZXQgQz1NYXRoLm1heCgyNixNYXRoLmNlaWwoRysxMykpLHtkOk0sZEZpbGw6TH09SyhHLEMpO3JldHVybntkOk0sZEZpbGw6TCx2aWV3Qm94U2l6ZTpDfX1mdW5jdGlvbiBUNSh7dHlwZTokPSJpcGhvbmUiLHN0cmVhbWluZzpRPSExfSl7c3dpdGNoKCQpe2Nhc2UiaXBhZCI6cmV0dXJuIFooZyQse3N0cmVhbWluZzpRfSk7Y2FzZSJ3YXRjaCI6cmV0dXJuIFooZiQse3N0cmVhbWluZzpRfSk7Y2FzZSJ2aXNpb24iOnJldHVybiBaKG0kLHtzdHJlYW1pbmc6UX0pO2RlZmF1bHQ6cmV0dXJuIFooaCQse3N0cmVhbWluZzpRfSl9fWZ1bmN0aW9uIGgkKHtzdHJlYW1pbmc6JD0hMX0pe3JldHVybiBaKCJzdmciLHt2aWV3Qm94OiIwIDAgNDI3IDg4MSIsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSxmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOltaKCJkZWZzIix7Y2hpbGRyZW46W1ooImZpbHRlciIse2lkOiJjaHJvbWUtZmlsdGVyMCIseDoiLTAuMTY2OTkyIix5OiIwLjE2NjUwNCIsd2lkdGg6IjQyNyIsaGVpZ2h0OiI4ODAuNjY3IixmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltaKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxaKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWigiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuNSIscmVzdWx0OiJlZmZlY3QxX2ZvcmVncm91bmRCbHVyIn0pXX0pLFooImZpbHRlciIse2lkOiJjaHJvbWUtZmlsdGVyMSIseDoiNi4zMzIzNiIseToiNi4zMzM4MiIsd2lkdGg6IjQxNCIsaGVpZ2h0OiI4NjgiLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1ooImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFooImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxaKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC4zMzMzMzMiLHJlc3VsdDoiZWZmZWN0MV9mb3JlZ3JvdW5kQmx1ciJ9KV19KV19KSxaKCJyZWN0Iix7eDoiMy44MzI2OCIseToiMy44MzM2NiIsd2lkdGg6IjQxOSIsaGVpZ2h0OiI4NzMiLHJ4OiI2Ni4xNjY3IixzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiI0LjMzMzMzIn0pLFooInJlY3QiLHt4OiIwLjgzMzMzMyIseToiMC44MzMzMzMiLHdpZHRoOiI0MjUiLGhlaWdodDoiODc5IixyeDoiNjkuMTY2NyIsc3Ryb2tlOiIjMzczNzNhIixzdHJva2VXaWR0aDoiMS42NjY2NyJ9KSxaKCJnIix7b3BhY2l0eToiMC45IixmaWx0ZXI6InVybCgjY2hyb21lLWZpbHRlcjApIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiMS42NjYwMiIseToiMiIsd2lkdGg6IjQyMy4zMzMiLGhlaWdodDoiODc3IixyeDoiNjguNjY2NyIsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMS42NjY2NyJ9KX0pLFooImciLHtvcGFjaXR5OiIwLjgiLGZpbHRlcjoidXJsKCNjaHJvbWUtZmlsdGVyMSkiLGNoaWxkcmVuOlooInJlY3QiLHt4OiI3LjMzMjY4Iix5OiI3LjMzMzY2Iix3aWR0aDoiNDEyIixoZWlnaHQ6Ijg2NiIscng6IjYyLjY2NjciLHN0cm9rZToiIzY0NjQ2NCIsc3Ryb2tlV2lkdGg6IjAuNjY2NjY3In0pfSksWigicmVjdCIse3g6IjE1MS42NjYiLHk6IjMxLjY2NyIsd2lkdGg6IjEyMy4zMzMiLGhlaWdodDoiMzYiLHJ4OiIxOCIsZmlsbDoiYmxhY2siLHN0eWxlOntvcGFjaXR5OiQ/MDoxLHRyYW5zaXRpb246Im9wYWNpdHkgMC4zcyBlYXNlIn19KV19KX1mdW5jdGlvbiBnJCh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgUT1TMS5pcGFkLndpZHRoLEo9UzEuaXBhZC5oZWlnaHQsWD0zMCxLPTI2O3JldHVybiBaKCJzdmciLHt2aWV3Qm94OmAwIDAgJHtRfSAke0p9YCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9LGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2hpbGRyZW46W1ooImRlZnMiLHtjaGlsZHJlbjpbWigiZmlsdGVyIix7aWQ6ImlwYWQtZ2xvdzAiLHg6IjAiLHk6IjAiLHdpZHRoOlEsaGVpZ2h0OkosZmlsdGVyVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJzUkdCIixjaGlsZHJlbjpbWigiZmVGbG9vZCIse2Zsb29kT3BhY2l0eToiMCIscmVzdWx0OiJCYWNrZ3JvdW5kSW1hZ2VGaXgifSksWigiZmVCbGVuZCIse21vZGU6Im5vcm1hbCIsaW46IlNvdXJjZUdyYXBoaWMiLGluMjoiQmFja2dyb3VuZEltYWdlRml4IixyZXN1bHQ6InNoYXBlIn0pLFooImZlR2F1c3NpYW5CbHVyIix7c3RkRGV2aWF0aW9uOiIwLjUiLHJlc3VsdDoiYmx1ciJ9KV19KSxaKCJmaWx0ZXIiLHtpZDoiaXBhZC1nbG93MSIseDoiNSIseToiNSIsd2lkdGg6US0xMCxoZWlnaHQ6Si0xMCxmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltaKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxaKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWigiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuMzMzMzMzIixyZXN1bHQ6ImJsdXIifSldfSldfSksWigicmVjdCIse3g6IjMuNSIseToiMy41Iix3aWR0aDpRLTcsaGVpZ2h0OkotNyxyeDoyNixzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiI0In0pLFooInJlY3QiLHt4OiIwLjgzMyIseToiMC44MzMiLHdpZHRoOlEtMS42NjYsaGVpZ2h0OkotMS42NjYscng6MzAsc3Ryb2tlOiIjMzczNzNhIixzdHJva2VXaWR0aDoiMS42NjYifSksWigiZyIse29wYWNpdHk6IjAuOSIsZmlsdGVyOiJ1cmwoI2lwYWQtZ2xvdzApIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiMS41Iix5OiIxLjUiLHdpZHRoOlEtMyxoZWlnaHQ6Si0zLHJ4OjI5LHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pfSksWigiZyIse29wYWNpdHk6IjAuOCIsZmlsdGVyOiJ1cmwoI2lwYWQtZ2xvdzEpIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiNiIseToiNiIsd2lkdGg6US0xMixoZWlnaHQ6Si0xMixyeDoyNCxzdHJva2U6IiM2NDY0NjQiLHN0cm9rZVdpZHRoOiIwLjY2NiJ9KX0pLFooImNpcmNsZSIse2N4OlEvMixjeTpTMS5pcGFkLmJlemVsWS8yKzEscjoiMyIsZmlsbDoiIzFhMWExYSIsc3R5bGU6e29wYWNpdHk6JD8wOjAuOCx0cmFuc2l0aW9uOiJvcGFjaXR5IDAuM3MgZWFzZSJ9fSksWigicmVjdCIse3g6KFEtMTIwKS8yLHk6Si1TMS5pcGFkLmJlemVsWS8yLTIuNSx3aWR0aDoiMTIwIixoZWlnaHQ6IjUiLHJ4OiIyLjUiLGZpbGw6IndoaXRlIixzdHlsZTp7b3BhY2l0eTokPzA6MC4zNSxtaXhCbGVuZE1vZGU6ImRpZmZlcmVuY2UiLHRyYW5zaXRpb246Im9wYWNpdHkgMC4zcyBlYXNlIn19KV19KX1mdW5jdGlvbiBmJCh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgUT1TMS53YXRjaC53aWR0aCxKPVMxLndhdGNoLmhlaWdodCxYPTg4LEs9ODIsWT04LHE9MzYsRz1KLzItMTgtMTYsQj0yMixOPUovMi0xMSsxNjtyZXR1cm4gWigic3ZnIix7dmlld0JveDpgMCAwICR7UX0gJHtKfWAsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG92ZXJmbG93OiJ2aXNpYmxlIn0sZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpbWigiZGVmcyIse2NoaWxkcmVuOlooImZpbHRlciIse2lkOiJ3YXRjaC1nbG93MCIseDoiMCIseToiMCIsd2lkdGg6USsxMixoZWlnaHQ6SixmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltaKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxaKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWigiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuNSIscmVzdWx0OiJibHVyIn0pXX0pfSksWigicmVjdCIse3g6US0yLHk6Ryx3aWR0aDo4LGhlaWdodDozNixyeDoiMyIsZmlsbDoiIzJhMmEyYyIsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMSJ9KSxaKCJyZWN0Iix7eDpRLTEseTpOLHdpZHRoOjYsaGVpZ2h0OjIyLHJ4OiIyLjUiLGZpbGw6IiMyYTJhMmMiLHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjAuOCJ9KSxaKCJyZWN0Iix7eDoiMy41Iix5OiIzLjUiLHdpZHRoOlEtNyxoZWlnaHQ6Si03LHJ4OjgyLHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjMuNSJ9KSxaKCJyZWN0Iix7eDoiMC44MzMiLHk6IjAuODMzIix3aWR0aDpRLTEuNjY2LGhlaWdodDpKLTEuNjY2LHJ4Ojg4LHN0cm9rZToiIzM3MzczYSIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pLFooImciLHtvcGFjaXR5OiIwLjkiLGZpbHRlcjoidXJsKCN3YXRjaC1nbG93MCkiLGNoaWxkcmVuOlooInJlY3QiLHt4OiIxLjUiLHk6IjEuNSIsd2lkdGg6US0zLGhlaWdodDpKLTMscng6ODcsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMS42NjYifSl9KV19KX1mdW5jdGlvbiBtJCh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgUT1TMS52aXNpb24ud2lkdGgsSj1TMS52aXNpb24uaGVpZ2h0LFg9NDAsSz0zNDtyZXR1cm4gWigic3ZnIix7dmlld0JveDpgMCAwICR7UX0gJHtKfWAsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSxmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOltaKCJkZWZzIix7Y2hpbGRyZW46W1ooImZpbHRlciIse2lkOiJ2aXNpb24tZ2xvdzAiLHg6IjAiLHk6IjAiLHdpZHRoOlEsaGVpZ2h0OkosZmlsdGVyVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJzUkdCIixjaGlsZHJlbjpbWigiZmVGbG9vZCIse2Zsb29kT3BhY2l0eToiMCIscmVzdWx0OiJCYWNrZ3JvdW5kSW1hZ2VGaXgifSksWigiZmVCbGVuZCIse21vZGU6Im5vcm1hbCIsaW46IlNvdXJjZUdyYXBoaWMiLGluMjoiQmFja2dyb3VuZEltYWdlRml4IixyZXN1bHQ6InNoYXBlIn0pLFooImZlR2F1c3NpYW5CbHVyIix7c3RkRGV2aWF0aW9uOiIwLjUiLHJlc3VsdDoiYmx1ciJ9KV19KSxaKCJmaWx0ZXIiLHtpZDoidmlzaW9uLWdsb3cxIix4OiI1Iix5OiI1Iix3aWR0aDpRLTEwLGhlaWdodDpKLTEwLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1ooImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFooImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxaKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC4zMzMiLHJlc3VsdDoiYmx1ciJ9KV19KSxaKCJsaW5lYXJHcmFkaWVudCIse2lkOiJ2aXNpb24tZ2xhc3MiLHgxOiIwIix5MToiMCIseDI6IjAiLHkyOiIxIixjaGlsZHJlbjpbWigic3RvcCIse29mZnNldDoiMCUiLHN0b3BDb2xvcjoiIzU1NTU1OCIsc3RvcE9wYWNpdHk6IjAuMyJ9KSxaKCJzdG9wIix7b2Zmc2V0OiIxMDAlIixzdG9wQ29sb3I6IiMzYTNhM2QiLHN0b3BPcGFjaXR5OiIwLjEifSldfSldfSksWigicmVjdCIse3g6IjAiLHk6IjAiLHdpZHRoOlEsaGVpZ2h0Okoscng6NDAsZmlsbDoidXJsKCN2aXNpb24tZ2xhc3MpIn0pLFooInJlY3QiLHt4OiIzLjUiLHk6IjMuNSIsd2lkdGg6US03LGhlaWdodDpKLTcscng6MzQsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMyJ9KSxaKCJyZWN0Iix7eDoiMC44MzMiLHk6IjAuODMzIix3aWR0aDpRLTEuNjY2LGhlaWdodDpKLTEuNjY2LHJ4OjQwLHN0cm9rZToiIzM3MzczYSIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pLFooImciLHtvcGFjaXR5OiIwLjkiLGZpbHRlcjoidXJsKCN2aXNpb24tZ2xvdzApIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiMS41Iix5OiIxLjUiLHdpZHRoOlEtMyxoZWlnaHQ6Si0zLHJ4OjM5LHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pfSksWigiZyIse29wYWNpdHk6IjAuOCIsZmlsdGVyOiJ1cmwoI3Zpc2lvbi1nbG93MSkiLGNoaWxkcmVuOlooInJlY3QiLHt4OiI2Iix5OiI2Iix3aWR0aDpRLTEyLGhlaWdodDpKLTEyLHJ4OjMyLHN0cm9rZToiIzY0NjQ2NCIsc3Ryb2tlV2lkdGg6IjAuNjY2In0pfSksWigiZWxsaXBzZSIse2N4OlEvMixjeTpKLzIscng6US8yLTMwLHJ5OkovMi0yNCxzdHJva2U6IiM0YTRhNGQiLHN0cm9rZVdpZHRoOiIwLjUiLG9wYWNpdHk6IjAuMyIsc3R5bGU6e29wYWNpdHk6JD8wOjAuMyx0cmFuc2l0aW9uOiJvcGFjaXR5IDAuM3MgZWFzZSJ9fSldfSl9dmFyIGYzPU8wKG51bGwpO2Z1bmN0aW9uIEU1KCQpe2xldCBRPUYwKGYzKTtpZighUSl0aHJvdyBFcnJvcihgPFNpbXVsYXRvclRvb2xiYXIuJHskfT4gbXVzdCBiZSByZW5kZXJlZCBpbnNpZGUgPFNpbXVsYXRvclRvb2xiYXI+YCk7cmV0dXJuIFF9dmFyIHUkPXtkaXNwbGF5OiJmbGV4IixmbGV4V3JhcDoid3JhcCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsZ2FwOiI0cHggMTJweCIscGFkZGluZzoiOHB4IDEycHgiLGJvcmRlclJhZGl1czoyNCxiYWNrZ3JvdW5kOiJ2YXIoLS1zZXJ2ZS1zaW0tcGFuZWwtYmcsICMxODE4MTgpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSkiLGJveFNoYWRvdzoiMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yKSIsbWluV2lkdGg6MjQwLHdpZHRoOiIxMDAlIn07ZnVuY3Rpb24gbCQoe2V4ZWM6JCxvblJvdGF0ZTpRLG9yaWVudGF0aW9uOkosZGV2aWNlVWRpZDpYLGRldmljZU5hbWU6SyxkZXZpY2VSdW50aW1lOlksc3RyZWFtaW5nOnE9ITEsZGlzYWJsZWQ6Rz0hMSxjaGlsZHJlbjpCLHN0eWxlOk4sLi4uen0pe2xldCBWPUUwKEspLEM9e2V4ZWM6JCxvblJvdGF0ZTpRLG9yaWVudGF0aW9uOkosZGV2aWNlVWRpZDpYLGRldmljZU5hbWU6SyxkZXZpY2VSdW50aW1lOlksZGV2aWNlVHlwZTpWLHN0cmVhbWluZzpxLGRpc2FibGVkOkd8fCFYfHwhcX07cmV0dXJuIFooZjMuUHJvdmlkZXIse3ZhbHVlOkMsY2hpbGRyZW46WigiZGl2Iix7ImRhdGEtc2ltdWxhdG9yLXRvb2xiYXIiOiEwLHN0eWxlOnsuLi51JCwuLi5OfSwuLi56LGNoaWxkcmVuOkJ9KX0pfXZhciBkJD17ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0Iix0ZXh0QWxpZ246ImxlZnQiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGNvbG9yOiIjZmZmIixwYWRkaW5nOiIycHggNHB4IixtYXJnaW46Ii0ycHggLTRweCIsYm9yZGVyUmFkaXVzOjYsY3Vyc29yOiJwb2ludGVyIixtaW5XaWR0aDowLG1heFdpZHRoOiIxMDAlIixsaW5lSGVpZ2h0OjEuMixmb250RmFtaWx5OiJpbmhlcml0In0sYyQ9XzAoZnVuY3Rpb24oe25hbWU6USxzdWJ0aXRsZTpKLGhpZGVDaGV2cm9uOlgsaGlkZVN1YnRpdGxlOkssc3R5bGU6WSxvbk1vdXNlRW50ZXI6cSxvbk1vdXNlTGVhdmU6RywuLi5CfSxOKXtsZXQgej1FNSgiVGl0bGUiKSxbVixVXT1rKCExKSxDPVE/P3ouZGV2aWNlTmFtZT8/Ik5vIHNpbXVsYXRvciIsTT1KPz8oei5kZXZpY2VSdW50aW1lP3ouZGV2aWNlUnVudGltZS5yZXBsYWNlKC9cLi8sIiAiKToi4oCUIik7cmV0dXJuIFooImJ1dHRvbiIse3JlZjpOLHR5cGU6ImJ1dHRvbiIsImRhdGEtc2ltdWxhdG9yLXRvb2xiYXItdGl0bGUiOiEwLG9uTW91c2VFbnRlcjooTCk9PntVKCEwKSxxPy4oTCl9LG9uTW91c2VMZWF2ZTooTCk9PntVKCExKSxHPy4oTCl9LHN0eWxlOnsuLi5kJCxiYWNrZ3JvdW5kOlY/InJnYmEoMjU1LDI1NSwyNTUsMC4xKSI6InRyYW5zcGFyZW50IiwuLi5ZfSwuLi5CLGNoaWxkcmVuOltaKCJzcGFuIix7c3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZvbnRTaXplOjEyLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOiIjZmZmIixtYXhXaWR0aDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sY2hpbGRyZW46W0MsIVgmJlooInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3R5bGU6e2NvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNikiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46WigicG9seWxpbmUiLHtwb2ludHM6IjYgOSAxMiAxNSAxOCA5In0pfSldfSksIUsmJlooInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOk19KV19KX0pLG8kPXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZsZXhTaHJpbms6MH07ZnVuY3Rpb24gaSQoe3N0eWxlOiQsLi4uUX0pe3JldHVybiBaKCJkaXYiLHtzdHlsZTp7Li4ubyQsLi4uJH0sLi4uUX0pfXZhciBuJD17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIscGFkZGluZzo2LGJvcmRlclJhZGl1czoxMixjdXJzb3I6InBvaW50ZXIiLGRpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLHRyYW5zaXRpb246ImJhY2tncm91bmQtY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzIixwb3NpdGlvbjoicmVsYXRpdmUiLG92ZXJmbG93OiJ2aXNpYmxlIn0sdzU9XzAoZnVuY3Rpb24oe2ZvcmNlRGlzYWJsZWQ6USx0b29sdGlwOkosc3R5bGU6WCxkaXNhYmxlZDpLLHRpdGxlOlksb25Nb3VzZUVudGVyOnEsb25Nb3VzZUxlYXZlOkcsb25Qb2ludGVyRG93bjpCLG9uRm9jdXM6TixvbkJsdXI6eixvbkNsaWNrOlYsY2hpbGRyZW46VSwiYXJpYS1sYWJlbCI6QywuLi5NfSxMKXtsZXQgSD1GMChmMyksTz1LfHxRfHxIPy5kaXNhYmxlZCxbVyxUXT1rKCExKSxbUCx4XT1rKCExKSxEPXcoITEpLGU9WTIoKSxSPUo/P1k/Pyh0eXBlb2YgQz09PSJzdHJpbmciP0M6bnVsbCksZD0hIVImJiFPJiYoV3x8UCk7cmV0dXJuIFooImJ1dHRvbiIse3JlZjpMLHR5cGU6ImJ1dHRvbiIsZGlzYWJsZWQ6TywiYXJpYS1sYWJlbCI6QywiYXJpYS1kZXNjcmliZWRieSI6Uj9lOnZvaWQgMCxvblBvaW50ZXJEb3duOihuKT0+e0QuY3VycmVudD0hMCxCPy4obil9LG9uTW91c2VFbnRlcjoobik9PntUKCEwKSxxPy4obil9LG9uTW91c2VMZWF2ZToobik9PntUKCExKSxHPy4obil9LG9uRm9jdXM6KG4pPT57eCghRC5jdXJyZW50KSxOPy4obil9LG9uQmx1cjoobik9PntELmN1cnJlbnQ9ITEseCghMSksej8uKG4pfSxvbkNsaWNrOihuKT0+e1QoITEpLHgoITEpLG4uY3VycmVudFRhcmdldC5ibHVyKCksVj8uKG4pfSxzdHlsZTp7Li4ubiQsY29sb3I6Tz8icmdiYSgyNTUsMjU1LDI1NSwwLjI1KSI6InJnYmEoMjU1LDI1NSwyNTUsMC44KSIsYmFja2dyb3VuZDpXJiYhTz8icmdiYSgyNTUsMjU1LDI1NSwwLjEpIjoidHJhbnNwYXJlbnQiLGN1cnNvcjpPPyJub3QtYWxsb3dlZCI6InBvaW50ZXIiLC4uLlh9LC4uLk0sY2hpbGRyZW46W1UsUiYmWigic3BhbiIse2lkOmUscm9sZToidG9vbHRpcCIsImFyaWEtaGlkZGVuIjohZCxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiI1MCUiLGJvdHRvbToiY2FsYygxMDAlICsgOHB4KSIsdHJhbnNmb3JtOmB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoJHtkPzA6Mn1weClgLG9wYWNpdHk6ZD8xOjAscG9pbnRlckV2ZW50czoibm9uZSIsd2hpdGVTcGFjZToibm93cmFwIixwYWRkaW5nOiI0cHggN3B4Iixib3JkZXJSYWRpdXM6NixiYWNrZ3JvdW5kOiJ2YXIoLS1zZXJ2ZS1zaW0tcGFuZWwtYmcsICMxODE4MTgpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjkyKSIsZm9udFNpemU6MTEsZm9udFdlaWdodDo1MDAsbGluZUhlaWdodDoxLGJveFNoYWRvdzoiMCA0cHggMTRweCByZ2JhKDAsMCwwLDAuMzIpIix0cmFuc2l0aW9uOiJvcGFjaXR5IDAuMTJzIGVhc2UsIHRyYW5zZm9ybSAwLjEycyBlYXNlIix6SW5kZXg6MTAwfSxjaGlsZHJlbjpSfSldfSl9KTtmdW5jdGlvbiByJCgkLFEpe2lmKCQ9PT0id2F0Y2giKXJldHVybiBhJCgpO2lmKFEpcmV0dXJuYHhjcnVuIHNpbWN0bCBsYXVuY2ggJHtRfSBjb20uYXBwbGUuc3ByaW5nYm9hcmRgO3JldHVybiJzZXJ2ZS1zaW0gYnV0dG9uIGhvbWUifWZ1bmN0aW9uIGEkKCl7cmV0dXJuWyd0ZWxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gRXZlbnRzIiB0byB0ZWxsIHByb2Nlc3MgIlNpbXVsYXRvciIgdG8gc2V0IGZyb250bW9zdCB0byB0cnVlJywndGVsbCBhcHBsaWNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTaW11bGF0b3IiIHRvIHBlcmZvcm0gYWN0aW9uICJBWFJhaXNlIiBvZiAoZmlyc3Qgd2luZG93IHdob3NlIG5hbWUgY29udGFpbnMgIndhdGNoT1MiKScsJ3RlbGwgYXBwbGljYXRpb24gIlN5c3RlbSBFdmVudHMiIHRvIHRlbGwgcHJvY2VzcyAiU2ltdWxhdG9yIiB0byBjbGljayBtZW51IGl0ZW0gIkhvbWUiIG9mIG1lbnUgIkRldmljZSIgb2YgbWVudSBiYXIgaXRlbSAiRGV2aWNlIiBvZiBtZW51IGJhciAxJ10ubWFwKChRKT0+YC1lICcke1F9J2ApLnJlZHVjZSgoUSxKKT0+YCR7UX0gJHtKfWAsIm9zYXNjcmlwdCIpfXZhciBzJD1aKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpaKCJwYXRoIix7ZDoiTTMgMTAuNSAxMiAzbDkgNy41VjIwYTEgMSAwIDAgMS0xIDFoLTV2LTdoLTZ2N0g0YTEgMSAwIDAgMS0xLTF6In0pfSksdCQ9Wigic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgNDQgNDQiLGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2hpbGRyZW46WigicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixjbGlwUnVsZToiZXZlbm9kZCIsZmlsbDoiY3VycmVudENvbG9yIixkOiJNNDMuNjg3NSAxMi40Njg4VjguMjczNDRDNDMuNjg3NSA1LjcyNjU2IDQyLjk1MzEgMy43MTA5NCA0MS40ODQ0IDIuMjI2NTZDNDAuMDE1NiAwLjc0MjE4OCAzOCAwIDM1LjQzNzUgMEgzMS4xNDg0QzMwLjYwMTYgMCAzMC4xMzI4IDAuMTk1MzEyIDI5Ljc0MjIgMC41ODU5MzhDMjkuMzUxNiAwLjk3NjU2MiAyOS4xNTYyIDEuNDQ1MzEgMjkuMTU2MiAxLjk5MjE5QzI5LjE1NjIgMi41MjM0NCAyOS4zNTE2IDIuOTg0MzggMjkuNzQyMiAzLjM3NUMzMC4xMzI4IDMuNzY1NjIgMzAuNjAxNiAzLjk2MDk0IDMxLjE0ODQgMy45NjA5NEgzNS40Mzc1QzM2Ljc4MTIgMy45NjA5NCAzNy44MzU5IDQuMzQzNzUgMzguNjAxNiA1LjEwOTM4QzM5LjM1MTYgNS44NzUgMzkuNzI2NiA2LjkyOTY5IDM5LjcyNjYgOC4yNzM0NFYxMi40Njg4QzM5LjcyNjYgMTMgMzkuOTIxOSAxMy40NjA5IDQwLjMxMjUgMTMuODUxNkM0MC43MDMxIDE0LjI0MjIgNDEuMTcxOSAxNC40Mzc1IDQxLjcxODggMTQuNDM3NUM0Mi4yNSAxNC40Mzc1IDQyLjcxMDkgMTQuMjQyMiA0My4xMDE2IDEzLjg1MTZDNDMuNDkyMiAxMy40NjA5IDQzLjY4NzUgMTMgNDMuNjg3NSAxMi40Njg4Wk0wIDEyLjQ2ODhDMCAxMyAwLjE5NTMxMiAxMy40NjA5IDAuNTg1OTM4IDEzLjg1MTZDMC45NzY1NjIgMTQuMjQyMiAxLjQzNzUgMTQuNDM3NSAxLjk2ODc1IDE0LjQzNzVDMi41IDE0LjQzNzUgMi45NjA5NCAxNC4yNDIyIDMuMzUxNTYgMTMuODUxNkMzLjc0MjE5IDEzLjQ2MDkgMy45Mzc1IDEzIDMuOTM3NSAxMi40Njg4VjguMjczNDRDMy45Mzc1IDYuOTI5NjkgNC4zMjAzMSA1Ljg3NSA1LjA4NTk0IDUuMTA5MzhDNS44MzU5NCA0LjM0Mzc1IDYuODkwNjIgMy45NjA5NCA4LjI1IDMuOTYwOTRIMTIuNTM5MUMxMy4wODU5IDMuOTYwOTQgMTMuNTU0NyAzLjc2NTYyIDEzLjk0NTMgMy4zNzVDMTQuMzIwMyAyLjk4NDM4IDE0LjUwNzggMi41MjM0NCAxNC41MDc4IDEuOTkyMTlDMTQuNTA3OCAxLjQ0NTMxIDE0LjMyMDMgMC45NzY1NjIgMTMuOTQ1MyAwLjU4NTkzOEMxMy41NTQ3IDAuMTk1MzEyIDEzLjA4NTkgMCAxMi41MzkxIDBIOC4yNUM1LjY4NzUgMCAzLjY3MTg4IDAuNzQyMTg4IDIuMjAzMTIgMi4yMjY1NkMwLjczNDM3NSAzLjcxMDk0IDAgNS43MjY1NiAwIDguMjczNDRWMTIuNDY4OFpNNDMuNjg3NSAzMS4yNDIyQzQzLjY4NzUgMzAuNzEwOSA0My40OTIyIDMwLjI1IDQzLjEwMTYgMjkuODU5NEM0Mi43MTA5IDI5LjQ2ODggNDIuMjUgMjkuMjczNCA0MS43MTg4IDI5LjI3MzRDNDEuMTcxOSAyOS4yNzM0IDQwLjcwMzEgMjkuNDY4OCA0MC4zMTI1IDI5Ljg1OTRDMzkuOTIxOSAzMC4yNSAzOS43MjY2IDMwLjcxMDkgMzkuNzI2NiAzMS4yNDIyVjM1LjQzNzVDMzkuNzI2NiAzNi43ODEyIDM5LjM1MTYgMzcuODM1OSAzOC42MDE2IDM4LjYwMTZDMzcuODM1OSAzOS4zNjcyIDM2Ljc4MTIgMzkuNzUgMzUuNDM3NSAzOS43NUgzMS4xNDg0QzMwLjYwMTYgMzkuNzUgMzAuMTMyOCAzOS45NDUzIDI5Ljc0MjIgNDAuMzM1OUMyOS4zNTE2IDQwLjcyNjYgMjkuMTU2MiA0MS4xODc1IDI5LjE1NjIgNDEuNzE4OEMyOS4xNTYyIDQyLjI2NTYgMjkuMzUxNiA0Mi43MjY2IDI5Ljc0MjIgNDMuMTAxNkMzMC4xMzI4IDQzLjQ5MjIgMzAuNjAxNiA0My42ODc1IDMxLjE0ODQgNDMuNjg3NUgzNS40Mzc1QzM4IDQzLjY4NzUgNDAuMDE1NiA0Mi45NDUzIDQxLjQ4NDQgNDEuNDYwOUM0Mi45NTMxIDM5Ljk5MjIgNDMuNjg3NSAzNy45ODQ0IDQzLjY4NzUgMzUuNDM3NVYzMS4yNDIyWk0wIDMxLjI0MjJWMzUuNDM3NUMwIDM3Ljk4NDQgMC43MzQzNzUgMzkuOTkyMiAyLjIwMzEyIDQxLjQ2MDlDMy42NzE4OCA0Mi45NDUzIDUuNjg3NSA0My42ODc1IDguMjUgNDMuNjg3NUgxMi41MzkxQzEzLjA4NTkgNDMuNjg3NSAxMy41NTQ3IDQzLjQ5MjIgMTMuOTQ1MyA0My4xMDE2QzE0LjMyMDMgNDIuNzI2NiAxNC41MDc4IDQyLjI2NTYgMTQuNTA3OCA0MS43MTg4QzE0LjUwNzggNDEuMTg3NSAxNC4zMjAzIDQwLjcyNjYgMTMuOTQ1MyA0MC4zMzU5QzEzLjU1NDcgMzkuOTQ1MyAxMy4wODU5IDM5Ljc1IDEyLjUzOTEgMzkuNzVIOC4yNUM2Ljg5MDYyIDM5Ljc1IDUuODM1OTQgMzkuMzY3MiA1LjA4NTk0IDM4LjYwMTZDNC4zMjAzMSAzNy44MzU5IDMuOTM3NSAzNi43ODEyIDMuOTM3NSAzNS40Mzc1VjMxLjI0MjJDMy45Mzc1IDMwLjcxMDkgMy43NDIxOSAzMC4yNSAzLjM1MTU2IDI5Ljg1OTRDMi45NjA5NCAyOS40Njg4IDIuNSAyOS4yNzM0IDEuOTY4NzUgMjkuMjczNEMxLjQzNzUgMjkuMjczNCAwLjk3NjU2MiAyOS40Njg4IDAuNTg1OTM4IDI5Ljg1OTRDMC4xOTUzMTIgMzAuMjUgMCAzMC43MTA5IDAgMzEuMjQyMlpNMzEuNTkzOCAzMS44MDQ3QzMyLjc4MTIgMzEuODA0NyAzMy42NzE5IDMxLjUxNTYgMzQuMjY1NiAzMC45Mzc1QzM0Ljg1OTQgMzAuMzQzOCAzNS4xNTYyIDI5LjQ2ODggMzUuMTU2MiAyOC4zMTI1VjE2LjcxMDlDMzUuMTU2MiAxNS41MzkxIDM0Ljg1OTQgMTQuNjY0MSAzNC4yNjU2IDE0LjA4NTlDMzMuNjcxOSAxMy40OTIyIDMyLjc4MTIgMTMuMTk1MyAzMS41OTM4IDEzLjE5NTNIMjguODk4NEMyOC40NjA5IDEzLjE5NTMgMjguMTQ4NCAxMy4xNDA2IDI3Ljk2MDkgMTMuMDMxMkMyNy43NTc4IDEyLjkyMTkgMjcuNTIzNCAxMi43MjY2IDI3LjI1NzggMTIuNDQ1M0wyNi4zNjcyIDExLjUwNzhDMjYuMDg1OSAxMS4xOTUzIDI1Ljc4MTIgMTAuOTY4OCAyNS40NTMxIDEwLjgyODFDMjUuMTA5NCAxMC42NzE5IDI0LjY1NjIgMTAuNTkzOCAyNC4wOTM4IDEwLjU5MzhIMTkuNjE3MkMxOS4wNTQ3IDEwLjU5MzggMTguNjA5NCAxMC42NzE5IDE4LjI4MTIgMTAuODI4MUMxNy45Mzc1IDEwLjk2ODggMTcuNjI1IDExLjE5NTMgMTcuMzQzOCAxMS41MDc4TDE2LjQ3NjYgMTIuNDQ1M0MxNi4yMTA5IDEyLjc0MjIgMTUuOTc2NiAxMi45NDUzIDE1Ljc3MzQgMTMuMDU0N0MxNS41NTQ3IDEzLjE0ODQgMTUuMjM0NCAxMy4xOTUzIDE0LjgxMjUgMTMuMTk1M0gxMi4wNDY5QzEwLjg5MDYgMTMuMTk1MyAxMC4wMTU2IDEzLjQ5MjIgOS40MjE4OCAxNC4wODU5QzguODEyNSAxNC42NjQxIDguNTA3ODEgMTUuNTM5MSA4LjUwNzgxIDE2LjcxMDlWMjguMzEyNUM4LjUwNzgxIDI5LjQ2ODggOC44MTI1IDMwLjM0MzggOS40MjE4OCAzMC45Mzc1QzEwLjAxNTYgMzEuNTE1NiAxMC44OTA2IDMxLjgwNDcgMTIuMDQ2OSAzMS44MDQ3SDMxLjU5MzhaTTIxLjc5NjkgMjguOTQ1M0MyMC41OTM4IDI4Ljk0NTMgMTkuNSAyOC42NjQxIDE4LjUxNTYgMjguMTAxNkMxNy41MTU2IDI3LjUyMzQgMTYuNzI2NiAyNi43NDIyIDE2LjE0ODQgMjUuNzU3OEMxNS41NTQ3IDI0Ljc1NzggMTUuMjU3OCAyMy42MzI4IDE1LjI1NzggMjIuMzgyOEMxNS4yNTc4IDIxLjE3OTcgMTUuNTU0NyAyMC4wODU5IDE2LjE0ODQgMTkuMTAxNkMxNi43MjY2IDE4LjEwMTYgMTcuNTE1NiAxNy4zMTI1IDE4LjUxNTYgMTYuNzM0NEMxOS41IDE2LjE0MDYgMjAuNTkzOCAxNS44NDM4IDIxLjc5NjkgMTUuODQzOEMyMy4wMTU2IDE1Ljg0MzggMjQuMTI1IDE2LjE0MDYgMjUuMTI1IDE2LjczNDRDMjYuMTA5NCAxNy4zMTI1IDI2Ljg5ODQgMTguMTAxNiAyNy40OTIyIDE5LjEwMTZDMjguMDcwMyAyMC4wODU5IDI4LjM1OTQgMjEuMTc5NyAyOC4zNTk0IDIyLjM4MjhDMjguMzU5NCAyMy42MTcyIDI4LjA3MDMgMjQuNzI2NiAyNy40OTIyIDI1LjcxMDlDMjYuODk4NCAyNi42OTUzIDI2LjEwOTQgMjcuNDg0NCAyNS4xMjUgMjguMDc4MUMyNC4xMjUgMjguNjU2MiAyMy4wMTU2IDI4Ljk0NTMgMjEuNzk2OSAyOC45NDUzWk0yMS44MjAzIDI2LjkwNjJDMjIuNjQ4NCAyNi45MDYyIDIzLjQwNjIgMjYuNzEwOSAyNC4wOTM4IDI2LjMyMDNDMjQuNzgxMiAyNS45MTQxIDI1LjMyODEgMjUuMzY3MiAyNS43MzQ0IDI0LjY3OTdDMjYuMTI1IDIzLjk5MjIgMjYuMzIwMyAyMy4yMjY2IDI2LjMyMDMgMjIuMzgyOEMyNi4zMjAzIDIxLjU3MDMgMjYuMTI1IDIwLjgyMDMgMjUuNzM0NCAyMC4xMzI4QzI1LjMyODEgMTkuNDQ1MyAyNC43ODEyIDE4LjkwNjIgMjQuMDkzOCAxOC41MTU2QzIzLjQwNjIgMTguMTA5NCAyMi42NDg0IDE3LjkwNjIgMjEuODIwMyAxNy45MDYyQzIwLjk5MjIgMTcuOTA2MiAyMC4yNDIyIDE4LjEwOTQgMTkuNTcwMyAxOC41MTU2QzE4Ljg4MjggMTguOTA2MiAxOC4zMzU5IDE5LjQ0NTMgMTcuOTI5NyAyMC4xMzI4QzE3LjUyMzQgMjAuODIwMyAxNy4zMjAzIDIxLjU3MDMgMTcuMzIwMyAyMi4zODI4QzE3LjMyMDMgMjMuMjI2NiAxNy41MjM0IDIzLjk5MjIgMTcuOTI5NyAyNC42Nzk3QzE4LjMzNTkgMjUuMzY3MiAxOC44ODI4IDI1LjkxNDEgMTkuNTcwMyAyNi4zMjAzQzIwLjI0MjIgMjYuNzEwOSAyMC45OTIyIDI2LjkwNjIgMjEuODIwMyAyNi45MDYyWk0xMi42MzI4IDE4Ljk4NDRDMTIuMjEwOSAxOC45ODQ0IDExLjg1OTQgMTguODM1OSAxMS41NzgxIDE4LjUzOTFDMTEuMjgxMiAxOC4yNDIyIDExLjEzMjggMTcuODkwNiAxMS4xMzI4IDE3LjQ4NDRDMTEuMTMyOCAxNy4wNjI1IDExLjI4MTIgMTYuNzEwOSAxMS41NzgxIDE2LjQyOTdDMTEuODU5NCAxNi4xMzI4IDEyLjIxMDkgMTUuOTg0NCAxMi42MzI4IDE1Ljk4NDRDMTMuMDM5MSAxNS45ODQ0IDEzLjM5MDYgMTYuMTMyOCAxMy42ODc1IDE2LjQyOTdDMTMuOTg0NCAxNi43MTA5IDE0LjEzMjggMTcuMDYyNSAxNC4xMzI4IDE3LjQ4NDRDMTQuMTMyOCAxNy44OTA2IDEzLjk4NDQgMTguMjQyMiAxMy42ODc1IDE4LjUzOTFDMTMuMzkwNiAxOC44MzU5IDEzLjAzOTEgMTguOTg0NCAxMi42MzI4IDE4Ljk4NDRaIn0pfSksZSQ9Wigic3ZnIix7d2lkdGg6IjIxIixoZWlnaHQ6IjIxIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpbWigicGF0aCIse2Q6Ik0xMiA1SDZhMiAyIDAgMCAwLTIgMnYzIn0pLFooInBhdGgiLHtkOiJtOSA4IDMtMy0zLTMifSksWigicGF0aCIse2Q6Ik00IDE0djRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtMiJ9KV19KSwkUT1fMChmdW5jdGlvbih7b25DbGljazpRLC4uLkp9LFgpe2xldCBLPUU1KCJIb21lQnV0dG9uIik7cmV0dXJuIFoodzUse3JlZjpYLCJhcmlhLWxhYmVsIjoiSG9tZSIsb25DbGljazooWSk9PntpZihRPy4oWSksWS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtLLmV4ZWMociQoSy5kZXZpY2VUeXBlLEsuZGV2aWNlVWRpZCkpfSwuLi5KLGNoaWxkcmVuOnMkfSl9KSxRUT1fMChmdW5jdGlvbih7b25DbGljazpRLC4uLkp9LFgpe2xldCBLPUU1KCJTY3JlZW5zaG90QnV0dG9uIik7cmV0dXJuIFoodzUse3JlZjpYLCJhcmlhLWxhYmVsIjoiU2NyZWVuc2hvdCIsb25DbGljazooWSk9PntpZihRPy4oWSksWS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZihLLmRldmljZVVkaWQpSy5leGVjKGB4Y3J1biBzaW1jdGwgaW8gJHtLLmRldmljZVVkaWR9IHNjcmVlbnNob3Qgfi9EZXNrdG9wL3NlcnZlLXNpbS1zY3JlZW5zaG90LSQoZGF0ZSArJXMpLnBuZ2ApfSwuLi5KLGNoaWxkcmVuOnQkfSl9KSxKUT1fMChmdW5jdGlvbih7b25DbGljazpRLGZvcmNlRGlzYWJsZWQ6SiwuLi5YfSxLKXtsZXQgWT1FNSgiUm90YXRlQnV0dG9uIikscT1ZLmRldmljZVR5cGU9PT0id2F0Y2gifHxZLmRldmljZVR5cGU9PT0idmlzaW9uIixbRyxCXT1rKCJwb3J0cmFpdCIpO3JldHVybiB5KCgpPT57QihZLm9yaWVudGF0aW9uPz8icG9ydHJhaXQiKX0sW1kuZGV2aWNlVWRpZCxZLm9yaWVudGF0aW9uXSksWih3NSx7cmVmOkssImFyaWEtbGFiZWwiOiJSb3RhdGUgZGV2aWNlIixmb3JjZURpc2FibGVkOkp8fHEsb25DbGljazooTik9PntpZihRPy4oTiksTi5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighWS5kZXZpY2VVZGlkfHxxKXJldHVybjtsZXQgej15MltZLm9yaWVudGF0aW9uPz9HXTtpZihCKHopLFkub25Sb3RhdGUpWS5vblJvdGF0ZSh6KTtlbHNlIFkuZXhlYyhgc2VydmUtc2ltIHJvdGF0ZSAke3p9IC1kICR7WS5kZXZpY2VVZGlkfWApfSwuLi5YLGNoaWxkcmVuOmUkfSl9KSxjMT1sJDtjMS5UaXRsZT1jJDtjMS5BY3Rpb25zPWkkO2MxLkJ1dHRvbj13NTtjMS5Ib21lQnV0dG9uPSRRO2MxLlNjcmVlbnNob3RCdXR0b249UVE7YzEuUm90YXRlQnV0dG9uPUpRO3ZhciBJNT0oLi4uJCk9PiQuZmlsdGVyKChRLEosWCk9PntyZXR1cm4gQm9vbGVhbihRKSYmUS50cmltKCkhPT0iIiYmWC5pbmRleE9mKFEpPT09Sn0pLmpvaW4oIiAiKS50cmltKCk7dmFyIGk5PSgkKT0+JC5yZXBsYWNlKC8oW2EtejAtOV0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCk7dmFyIG45PSgkKT0+JC5yZXBsYWNlKC9eKFtBLVpdKXxbXHMtX10rKFx3KS9nLChRLEosWCk9Plg/WC50b1VwcGVyQ2FzZSgpOkoudG9Mb3dlckNhc2UoKSk7dmFyIG0zPSgkKT0+e2xldCBRPW45KCQpO3JldHVybiBRLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK1Euc2xpY2UoMSl9O3ZhciBiNT17eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix3aWR0aDoyNCxoZWlnaHQ6MjQsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6MixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIn07dmFyIHI5PSgkKT0+e2ZvcihsZXQgUSBpbiAkKWlmKFEuc3RhcnRzV2l0aCgiYXJpYS0iKXx8UT09PSJyb2xlInx8UT09PSJ0aXRsZSIpcmV0dXJuITA7cmV0dXJuITF9O3ZhciBaUT1PMCh7fSk7dmFyIGE5PSgpPT5GMChaUSk7dmFyIHM5PV8wKCh7Y29sb3I6JCxzaXplOlEsc3Ryb2tlV2lkdGg6SixhYnNvbHV0ZVN0cm9rZVdpZHRoOlgsY2xhc3NOYW1lOks9IiIsY2hpbGRyZW46WSxpY29uTm9kZTpxLC4uLkd9LEIpPT57bGV0e3NpemU6Tj0yNCxzdHJva2VXaWR0aDp6PTIsYWJzb2x1dGVTdHJva2VXaWR0aDpWPSExLGNvbG9yOlU9ImN1cnJlbnRDb2xvciIsY2xhc3NOYW1lOkM9IiJ9PWE5KCk/P3t9LE09WD8/Vj9OdW1iZXIoSj8/eikqMjQvTnVtYmVyKFE/P04pOko/P3o7cmV0dXJuIHUxKCJzdmciLHtyZWY6QiwuLi5iNSx3aWR0aDpRPz9OPz9iNS53aWR0aCxoZWlnaHQ6UT8/Tj8/YjUuaGVpZ2h0LHN0cm9rZTokPz9VLHN0cm9rZVdpZHRoOk0sY2xhc3NOYW1lOkk1KCJsdWNpZGUiLEMsSyksLi4uIVkmJiFyOShHKSYmeyJhcmlhLWhpZGRlbiI6InRydWUifSwuLi5HfSxbLi4ucS5tYXAoKFtMLEhdKT0+dTEoTCxIKSksLi4uQXJyYXkuaXNBcnJheShZKT9ZOltZXV0pfSk7dmFyIHoxPSgkLFEpPT57bGV0IEo9XzAoKHtjbGFzc05hbWU6WCwuLi5LfSxZKT0+dTEoczkse3JlZjpZLGljb25Ob2RlOlEsY2xhc3NOYW1lOkk1KGBsdWNpZGUtJHtpOShtMygkKSl9YCxgbHVjaWRlLSR7JH1gLFgpLC4uLkt9KSk7cmV0dXJuIEouZGlzcGxheU5hbWU9bTMoJCksSn07dmFyIFhRPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixrZXk6ImFmaXR2NyJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4IixrZXk6ImZoM2hxYSJ9XV0sdzA9ejEoInBhbmVsLWxlZnQiLFhRKTt2YXIgS1E9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiIsa2V5OiJ4d256aXAifV0sWyJwYXRoIix7ZDoiTTIxIDExVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2IixrZXk6IjE0cnN2cSJ9XV0sbTA9ejEoInNxdWFyZS1tb3VzZS1wb2ludGVyIixLUSk7dmFyIFlRPVtbInBhdGgiLHtkOiJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiLGtleToid21vZW5xIn1dLFsicGF0aCIse2Q6Ik0xMiA5djQiLGtleToianV6cHU3In1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEiLGtleToicDMycDA1In1dXSxJMD16MSgidHJpYW5nbGUtYWxlcnQiLFlRKTt2YXIgcVE9W1sicmVjdCIse3g6IjIiLHk6IjQiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNiIscng6IjIiLGtleToiaXp4bGFvIn1dLFsicGF0aCIse2Q6Ik0xMCA0djQiLGtleToicHA4dTgwIn1dLFsicGF0aCIse2Q6Ik0yIDhoMjAiLGtleToiZDExY3M3In1dLFsicGF0aCIse2Q6Ik02IDR2NCIsa2V5OiIxc3Z0ancifV1dLHgyPXoxKCJhcHAtd2luZG93IixxUSk7dmFyIEdRPVtbInBhdGgiLHtkOiJNNyA3aDEwdjEwIixrZXk6IjF0aXZuOSJ9XSxbInBhdGgiLHtkOiJNNyAxNyAxNyA3IixrZXk6IjF2a2l6YSJ9XV0sajI9ejEoImFycm93LXVwLXJpZ2h0IixHUSk7dmFyIFZRPVtbInBhdGgiLHtkOiJNMjAgNiA5IDE3bC01LTUiLGtleToiMWdtZjJjIn1dXSx2Mj16MSgiY2hlY2siLFZRKTt2YXIgQlE9W1sicGF0aCIse2Q6Im02IDkgNiA2IDYtNiIsa2V5OiJxcnVuc2wifV1dLFIyPXoxKCJjaGV2cm9uLWRvd24iLEJRKTt2YXIgTlE9W1sicGF0aCIse2Q6Im05IDE4IDYtNi02LTYiLGtleToibXRoaHdxIn1dXSxoMj16MSgiY2hldnJvbi1yaWdodCIsTlEpO3ZhciB6UT1bWyJwYXRoIix7ZDoiTTEyIDE1VjMiLGtleToibTlnMXgxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00IixrZXk6ImloN24zaCJ9XSxbInBhdGgiLHtkOiJtNyAxMCA1IDUgNS01IixrZXk6ImJyc243MCJ9XV0sZzI9ejEoImRvd25sb2FkIix6USk7dmFyIExRPVtbInBhdGgiLHtkOiJNMTIgNmEyIDIgMCAwIDEgMy40MTQtMS40MTRsNiA2YTIgMiAwIDAgMSAwIDIuODI4bC02IDZBMiAyIDAgMCAxIDEyIDE4eiIsa2V5OiJiMTloNXEifV0sWyJwYXRoIix7ZDoiTTIgNmEyIDIgMCAwIDEgMy40MTQtMS40MTRsNiA2YTIgMiAwIDAgMSAwIDIuODI4bC02IDZBMiAyIDAgMCAxIDIgMTh6IixrZXk6Img3aDVnZSJ9XV0sZjI9ejEoImZhc3QtZm9yd2FyZCIsTFEpO3ZhciBVUT1bWyJwYXRoIix7ZDoibTMgNyA1IDUtNSA1VjciLGtleToiY291aGk3In1dLFsicGF0aCIse2Q6Im0yMSA3LTUgNSA1IDVWNyIsa2V5OiI2b3VpYTcifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIiLGtleToiMWxoMWtnIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIixrZXk6IjhqY3h1ZCJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIixrZXk6IjF3b3FpdiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIixrZXk6InR1czAzbSJ9XV0sbTI9ejEoImZsaXAtaG9yaXpvbnRhbC0yIixVUSk7dmFyIEhRPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCIsa2V5OiIxbWdsYXkifV0sWyJwYXRoIix7ZDoiTTEyIDJhMTQuNSAxNC41IDAgMCAwIDAgMjAgMTQuNSAxNC41IDAgMCAwIDAtMjAiLGtleToiMTNvMXpsIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIixrZXk6IjlpNHB1NCJ9XV0scDI9ejEoImdsb2JlIixIUSk7dmFyIENRPVtbInBhdGgiLHtkOiJtMjIgMTEtMS4yOTYtMS4yOTZhMi40IDIuNCAwIDAgMC0zLjQwOCAwTDExIDE2IixrZXk6IjlrenkzNSJ9XSxbInBhdGgiLHtkOiJNNCA4YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxMGEyIDIgMCAwIDAgMi0yIixrZXk6IjF0MGYwdCJ9XSxbImNpcmNsZSIse2N4OiIxMyIsY3k6IjciLHI6IjEiLGZpbGw6ImN1cnJlbnRDb2xvciIsa2V5OiIxb2J1czYifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjE0IixoZWlnaHQ6IjE0IixyeDoiMiIsa2V5OiIxZ3ZoYnkifV1dLHUyPXoxKCJpbWFnZXMiLENRKTt2YXIgT1E9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLGtleToiYWZpdHY3In1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4IixrZXk6IjE0bnZwMCJ9XV0sbDI9ejEoInBhbmVsLXJpZ2h0IixPUSk7dmFyIEZRPVtbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4IixrZXk6IjEzNTdlMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSIsa2V5OiIxeGhxOGEifV1dLGQyPXoxKCJyb3RhdGUtY2N3IixGUSk7dmFyIE1RPVtbInBhdGgiLHtkOiJtMjEgMjEtNC4zNC00LjM0IixrZXk6IjE0ajdyaiJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4IixrZXk6IjRlajk3dSJ9XV0sYzI9ejEoInNlYXJjaCIsTVEpO3ZhciBBUT1bWyJwYXRoIix7ZDoiTTEwIDVIMyIsa2V5OiIxcWdmYXcifV0sWyJwYXRoIix7ZDoiTTEyIDE5SDMiLGtleToieWhtbjFqIn1dLFsicGF0aCIse2Q6Ik0xNCAzdjQiLGtleToiMXN1YTAzIn1dLFsicGF0aCIse2Q6Ik0xNiAxN3Y0IixrZXk6IjFxMHIxNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTkiLGtleToiMW80bHNxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWgtNSIsa2V5OiIxcmx0MXAifV0sWyJwYXRoIix7ZDoiTTIxIDVoLTciLGtleToiMW9zenoyIn1dLFsicGF0aCIse2Q6Ik04IDEwdjQiLGtleToidGdweHFrIn1dLFsicGF0aCIse2Q6Ik04IDEySDMiLGtleToiYTdzNGpiIn1dXSxqMD16MSgic2xpZGVycy1ob3Jpem9udGFsIixBUSk7dmFyIGtRPVtbInBhdGgiLHtkOiJNMTIgM3YxMiIsa2V5OiIxeDBqNXMifV0sWyJwYXRoIix7ZDoibTE3IDgtNS01LTUgNSIsa2V5OiI3cTk3cjgifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLGtleToiaWg3bjNoIn1dXSxvMj16MSgidXBsb2FkIixrUSk7dmFyIFdRPVtbInBhdGgiLHtkOiJtMTYgMTMgNS4yMjMgMy40ODJhLjUuNSAwIDAgMCAuNzc3LS40MTZWNy44N2EuNS41IDAgMCAwLS43NTItLjQzMkwxNiAxMC41IixrZXk6ImZ0eW1lYyJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTQiLGhlaWdodDoiMTIiLHJ4OiIyIixrZXk6IjE1OHgwMSJ9XV0scjA9ejEoInZpZGVvIixXUSk7dmFyIF9RPVtbInBhdGgiLHtkOiJNMTggNiA2IDE4IixrZXk6IjFibDVmOCJ9XSxbInBhdGgiLHtkOiJtNiA2IDEyIDEyIixrZXk6ImQ4Yms2diJ9XV0sTDA9ejEoIngiLF9RKTtmdW5jdGlvbiBpMih7b3BlbjokfSl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2xhc3NOYW1lOiJsZW0tY2hldnJvbiB0ZXh0LXdoaXRlLzUwIixzdHlsZTp7dHJhbnNmb3JtOiQ/InJvdGF0ZSgxODBkZWcpIjoicm90YXRlKDBkZWcpIn0sY2hpbGRyZW46WigicG9seWxpbmUiLHtwb2ludHM6IjYgOSAxMiAxNSAxOCA5In0pfSl9ZnVuY3Rpb24geTUoe2RpcjokfSl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiI5IixoZWlnaHQ6IjkiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjbGFzc05hbWU6Im1yLVszcHhdIixjaGlsZHJlbjokPT09InVwIj9aKCJwb2x5Z29uIix7cG9pbnRzOiIxMiw0IDIwLDE4IDQsMTgifSk6WigicG9seWdvbiIse3BvaW50czoiNCw2IDIwLDYgMTIsMjAifSl9KX1mdW5jdGlvbiBuMigpe3JldHVybiBaKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjaGlsZHJlbjpaKCJwb2x5Z29uIix7cG9pbnRzOiI2LDQgMjAsMTIgNiwyMCJ9KX0pfWZ1bmN0aW9uIHAzKCl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOltaKCJyZWN0Iix7eDoiNiIseToiNCIsd2lkdGg6IjQiLGhlaWdodDoiMTYifSksWigicmVjdCIse3g6IjE0Iix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiIxNiJ9KV19KX1mdW5jdGlvbiByMigpe3JldHVybiBaKCJzdmciLHt3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjaGlsZHJlbjpaKCJyZWN0Iix7eDoiNSIseToiNSIsd2lkdGg6IjE0IixoZWlnaHQ6IjE0IixyeDoiMS41In0pfSl9ZnVuY3Rpb24gdTMoKXtyZXR1cm4gWihmMix7c2l6ZToxMixzdHJva2VXaWR0aDoyLCJhcmlhLWhpZGRlbiI6InRydWUifSl9ZnVuY3Rpb24gbDMoKXtyZXR1cm4gWigic3ZnIix7d2lkdGg6IjkiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjQgMiA5IDEzIixmaWxsOiJjdXJyZW50Q29sb3IiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46WigicGF0aCIse2Q6Ik02LjAwODUyIDE0LjgwNTRDNS44OTE4MSAxNC45MzUgNS43NTgxNSAxNC45OTk4IDUuNjA3NTYgMTQuOTk5OEM1LjQ1Njk2IDE1LjAwMzMgNS4zMjMzIDE0Ljk2MTMgNS4yMDY1OSAxNC44NzM3QzUuMDkzNjQgMTQuNzg2MSA1LjAyNTg3IDE0LjY3MjMgNS4wMDMyOCAxNC41MzIyQzQuOTg0NDYgMTQuMzkyMSA1LjA0NjU4IDE0LjI0NSA1LjE4OTY1IDE0LjA5MDlMNi45NDU5OSAxMi4xNTIyTDcuMjQ1MyAxMC44NzU1TDguMTk5NzEgMTEuOTg5M0w4LjA1ODUzIDEyLjM5MzlDOC4wMjA4OCAxMi40OTU1IDcuOTg2OTkgMTIuNTcwOCA3Ljk1Njg3IDEyLjYxOThDNy45MzA1MiAxMi42Njg4IDcuODc0MDQgMTIuNzQwNiA3Ljc4NzQ1IDEyLjgzNTJMNi4wMDg1MiAxNC44MDU0Wk0xMC4zNDU3IDE0LjY0MjVMOS4xMDMyOSAxMi4zMDQ2QzkuMDc2OTQgMTIuMjYyNSA5LjA1NDM1IDEyLjIyMjMgOS4wMzU1MyAxMi4xODM3QzkuMDE2NyAxMi4xNDUyIDguOTc3MTcgMTIuMDkwOSA4LjkxNjkzIDEyLjAyMDlMNy43MTk2OCAxMC42MTgxQzcuNDkzNzkgMTAuMzU1NCA3LjMzNzU0IDEwLjEyOTUgNy4yNTA5NSA5Ljk0MDM0QzcuMTY0MzUgOS43NDc3IDcuMTM0MjQgOS40OTkwMSA3LjE2MDU5IDkuMTk0MjlMNy4yNjIyNCA3Ljk4MDY1QzcuMjY5NzcgNy45MDcxIDcuMjMyMTIgNy44NTQ1NiA3LjE0OTI5IDcuODIzMDRDNy4wNjY0NyA3Ljc5MTUxIDYuOTg1NTIgNy44MDkwMyA2LjkwNjQ2IDcuODc1NTdMNi40NzE2MSA4LjI0MzM0TDYuMzQxNzIgOS42NzIzOUM2LjMyMjg5IDkuODQ3NTIgNi4yNjQ1NCA5Ljk3ODg3IDYuMTY2NjUgMTAuMDY2NEM2LjA2ODc2IDEwLjE1NCA1LjkzODg3IDEwLjE5MjUgNS43NzY5OCAxMC4xODJDNS42MTEzMiAxMC4xNzUgNS40ODMzMSAxMC4xMTkgNS4zOTI5NSAxMC4wMTM5QzUuMzA2MzYgOS45MDg4MiA1LjI2ODcxIDkuNzczOTcgNS4yODAwMSA5LjYwOTM1TDUuMzg3MzEgOC4zMDYzOUM1LjQwMjM3IDguMTI3NzYgNS40MzgxMyA3Ljk3NTQgNS40OTQ2MSA3Ljg0OTMxQzUuNTU0ODUgNy43MjMyMSA1LjY2MDI2IDcuNTkxODcgNS44MTA4NiA3LjQ1NTI3TDYuNzE0NDUgNi42MjUxNkM3LjAwNDM1IDYuMzYyNDcgNy4yNjk3NyA2LjE2MTA3IDcuNTEwNzMgNi4wMjA5NkM3Ljc1MTY4IDUuODc3MzYgOC4wMjg0MSA1LjgwNTU2IDguMzQwOSA1LjgwNTU2QzguNzU4OCA1LjgwNTU2IDkuMDc4ODIgNS45MzM0IDkuMzAwOTUgNi4xODkwOUM5LjUyNjg1IDYuNDQ0NzggOS42MjQ3NCA2Ljc2MTc2IDkuNTk0NjIgNy4xNDAwNEw5LjQ3NjAyIDguNzMxOTVDOS40NTM0MyA5LjAxNTY2IDkuNDE5NTUgOS4yNjI1OSA5LjM3NDM3IDkuNDcyNzVDOS4zMjkxOSA5LjY4MjkgOS4yNTM4OSA5LjkyOTgzIDkuMTQ4NDcgMTAuMjEzNUw5LjA5MiAxMC4zNjA2TDkuODY1NjkgMTEuMzc5OUM5LjkyMjE3IDExLjQ1MzQgOS45ODA1MiAxMS41MzQgMTAuMDQwOCAxMS42MjE2QzEwLjEwMSAxMS43MDkxIDEwLjE1MzcgMTEuNzk2NyAxMC4xOTg5IDExLjg4NDNMMTEuNDA3NCAxNC4xNjQ0QzExLjUwNTMgMTQuMzUwMSAxMS41MjQxIDE0LjUxMTIgMTEuNDYzOSAxNC42NDc4QzExLjQwMzcgMTQuNzg0NCAxMS4zMDIgMTQuODgyNSAxMS4xNTg5IDE0Ljk0MkMxMS4wMTk2IDE1LjAwMTUgMTAuODcwOSAxNS4wMTAzIDEwLjcxMjggMTQuOTY4M0MxMC41NTg0IDE0LjkyNjIgMTAuNDM2MSAxNC44MTc3IDEwLjM0NTcgMTQuNjQyNVpNMTIuNDA3IDcuOTY0ODlDMTIuNTg0IDcuOTY0ODkgMTIuNzI3IDguMDEwNDIgMTIuODM2MiA4LjEwMTQ5QzEyLjk0NTQgOC4xODkwNSAxMyA4LjMwNjM5IDEzIDguNDUzNUMxMyA4LjYxMTExIDEyLjk0NTQgOC43MzM3IDEyLjgzNjIgOC44MjEyN0MxMi43MzA4IDguOTA4ODMgMTIuNTg3NyA4Ljk1MjYxIDEyLjQwNyA4Ljk1MjYxSDExLjEzMDdDMTAuOTUzOCA4Ljk1MjYxIDEwLjgxNDUgOC45MzY4NSAxMC43MTI4IDguOTA1MzNDMTAuNjExMiA4Ljg3MDMgMTAuNTEzMyA4LjgwNzI2IDEwLjQxOTEgOC43MTYxOUwxMC4wNTIxIDguMzc5OTRMMTAuMTQyNCA3LjA0MDIxTDExLjAzNDcgNy45NjQ4OUgxMi40MDdaTTkuMDAxNjQgNS4zMTE2OUM4Ljc3MTk4IDUuMzExNjkgOC41NjMwMyA1LjI2MDkxIDguMzc0NzggNS4xNTkzM0M4LjE4NjUzIDUuMDU0MjYgOC4wMzU5NCA0LjkxNDE1IDcuOTIyOTkgNC43MzkwM0M3LjgxMzgxIDQuNTYzOSA3Ljc1OTIxIDQuMzY5NSA3Ljc1OTIxIDQuMTU1ODVDNy43NTkyMSAzLjk0MjE5IDcuODEzODEgMy43NDc4IDcuOTIyOTkgMy41NzI2N0M4LjAzNTk0IDMuMzk3NTQgOC4xODY1MyAzLjI1OTE5IDguMzc0NzggMy4xNTc2MkM4LjU2MzAzIDMuMDUyNTQgOC43NzE5OCAzIDkuMDAxNjQgM0M5LjIzMTMgMyA5LjQ0MDI2IDMuMDUyNTQgOS42Mjg1IDMuMTU3NjJDOS44MTY3NSAzLjI1OTE5IDkuOTY1NDYgMy4zOTc1NCAxMC4wNzQ2IDMuNTcyNjdDMTAuMTg3NiAzLjc0NzggMTAuMjQ0MSAzLjk0MjE5IDEwLjI0NDEgNC4xNTU4NUMxMC4yNDQxIDQuMzY5NSAxMC4xODc2IDQuNTYzOSAxMC4wNzQ2IDQuNzM5MDNDOS45NjU0NiA0LjkxNDE1IDkuODE2NzUgNS4wNTQyNiA5LjYyODUgNS4xNTkzM0M5LjQ0MDI2IDUuMjYwOTEgOS4yMzEzIDUuMzExNjkgOS4wMDE2NCA1LjMxMTY5WiJ9KX0pfWZ1bmN0aW9uIGQzKCl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMjYgMSAxMiAxNCIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNMzMuMjQzNyA0LjU4NDU5QzMzLjAwMDggNC41ODQ1OSAzMi43ODE3IDQuNTI3MjggMzIuNTg2NiA0LjQxMjY4QzMyLjM5MTUgNC4yOTQxMiAzMi4yMzQyIDQuMTM4MDEgMzIuMTE0NyAzLjk0NDM3QzMxLjk5OTIgMy43NDY3NyAzMS45NDE0IDMuNTI5NDEgMzEuOTQxNCAzLjI5MjI5QzMxLjk0MTQgMy4wNTEyMiAzMS45OTkyIDIuODMzODcgMzIuMTE0NyAyLjY0MDIyQzMyLjIzNDIgMi40NDY1NyAzMi4zOTE1IDIuMjkyNDUgMzIuNTg2NiAyLjE3Nzg0QzMyLjc4MTcgMi4wNTkyOCAzMy4wMDA4IDIgMzMuMjQzNyAyQzMzLjQ4MjYgMiAzMy42OTk3IDIuMDU5MjggMzMuODk0OCAyLjE3Nzg0QzM0LjA5MzkgMi4yOTI0NSAzNC4yNTEyIDIuNDQ2NTcgMzQuMzY2NyAyLjY0MDIyQzM0LjQ4NjIgMi44MzM4NyAzNC41NDU5IDMuMDUxMjIgMzQuNTQ1OSAzLjI5MjI5QzM0LjU0NTkgMy41Mjk0MSAzNC40ODYyIDMuNzQ2NzcgMzQuMzY2NyAzLjk0NDM3QzM0LjI1MTIgNC4xMzgwMSAzNC4wOTM5IDQuMjk0MTIgMzMuODk0OCA0LjQxMjY4QzMzLjY5OTcgNC41MjcyOCAzMy40ODI2IDQuNTg0NTkgMzMuMjQzNyA0LjU4NDU5Wk0zMS4yMDA3IDkuNzQxOTFDMzEuMDczMyA5LjY3MDc3IDMwLjk0MTkgOS41OTU2OCAzMC44MDY1IDkuNTE2NjRDMzAuNjc1IDkuNDM3NiAzMC41NTk2IDkuMzQyNzYgMzAuNDYgOS4yMzIxQzMwLjM2MDQgOS4xMTc0OSAzMC4yOTI3IDguOTc3MiAzMC4yNTY5IDguODExMjJDMzAuMjI1IDguNjQxMjggMzAuMjQ0OSA4LjQyOTg1IDMwLjMxNjYgOC4xNzY5M0wzMC44MDY1IDYuNDgxNTNDMzAuODM4MyA2LjM2NjkyIDMwLjgxODQgNi4yNzk5OCAzMC43NDY3IDYuMjIwN0MzMC42NzkgNi4xNTc0NyAzMC41OTc0IDYuMTI5ODEgMzAuNTAxOCA2LjEzNzcxTDI5LjY1OTUgNi4xOTY5OUwyOS40MDI3IDcuOTIyMDJDMjkuMzc4OCA4LjEwNzc3IDI5LjMxNTEgOC4yNDYwOSAyOS4yMTE1IDguMzM2OThDMjkuMTA4IDguNDI3ODggMjguOTcyNiA4LjQ2NTQyIDI4LjgwNTMgOC40NDk2MUMyOC42NDIgOC40MzM4IDI4LjUxODYgOC4zNjY2MiAyOC40MzQ5IDguMjQ4MDZDMjguMzUxMyA4LjEyOTUgMjguMzIxNCA3Ljk3NzM1IDI4LjM0NTMgNy43OTE2MUwyOC42MjYxIDUuNjgxMjZDMjguNjUgNS41MTEzMiAyOC43MTU3IDUuMzc0OTggMjguODIzMiA1LjI3MjIzQzI4LjkzMDggNS4xNjk0OCAyOS4wNjgxIDUuMTEyMTcgMjkuMjM1NCA1LjEwMDMyTDMxLjMzMjEgNC45NTIxMkMzMS44ODE3IDQuOTEyNiAzMi4zMzU3IDQuOTY5OSAzMi42OTQxIDUuMTI0MDNDMzMuMDUyNSA1LjI3ODE2IDMzLjM2NzEgNS41Mzg5OSAzMy42Mzc5IDUuOTA2NTJMMzQuNjcxNCA3LjMyMzNMMzYuMTcwOCA2LjY2NTNDMzYuMzM4IDYuNTkwMjEgMzYuNDg5MyA2LjU3NDQgMzYuNjI0OCA2LjYxNzg3QzM2Ljc2MDIgNi42NTczOSAzNi44NjU3IDYuNzUyMjQgMzYuOTQxNCA2LjkwMjQyQzM3LjAxMyA3LjA1MjU5IDM3LjAxOSA3LjE5NDg2IDM2Ljk1OTMgNy4zMjkyM0MzNi45MDM1IDcuNDYzNiAzNi43OTIgNy41NjgzMiAzNi42MjQ4IDcuNjQzNDFMMzQuNzMxMSA4LjQ3OTI1QzM0LjYwMzcgOC41Mzg1MyAzNC40NzQzIDguNTUwMzkgMzQuMzQyOCA4LjUxNDgyQzM0LjIxNTQgOC40NzUzIDM0LjExMzggOC40MDAyMSAzNC4wMzgyIDguMjg5NTZMMzMuMzgxMSA3LjMzNTE2QzMzLjMxMzQgNy4yNDAzMSAzMy4yMjk4IDcuMTk4ODEgMzMuMTMwMiA3LjIxMDY3QzMzLjAzMDYgNy4yMjI1MyAzMi45NjQ5IDcuMjgzNzggMzIuOTMzMSA3LjM5NDQ0TDMyLjQ5MSA4LjkyOTc4TDM0LjczMTEgMTAuMzg4MUMzNC44NDI2IDEwLjQ1OTIgMzQuOTIyMyAxMC41NTYgMzQuOTcwMSAxMC42Nzg1QzM1LjAxNzkgMTAuODAxIDM1LjAyOTggMTAuOTI1NSAzNS4wMDU5IDExLjA1MkMzNC45ODYgMTEuMTc0NSAzNC45MjgyIDExLjI3NTMgMzQuODMyNyAxMS4zNTQzTDMyLjc3MTggMTMuMDk3MUMzMi42MDg1IDEzLjIzNTQgMzIuNDQ1MiAxMy4yOTg3IDMyLjI4MTkgMTMuMjg2OEMzMi4xMjI2IDEzLjI3NSAzMS45OTMyIDEzLjIxMzcgMzEuODkzNyAxMy4xMDMxQzMxLjc5ODEgMTIuOTk2NCAzMS43NTQzIDEyLjg2NTkgMzEuNzYyMiAxMi43MTE4QzMxLjc3MDIgMTIuNTUzNyAzMS44NTM4IDEyLjQwNzUgMzIuMDEzMSAxMi4yNzMxTDMzLjQ4ODYgMTEuMDE2NEwzMS4yMDA3IDkuNzQxOTFaTTI3LjIwNDQgMTQuODYzN0MyNy4wODQ5IDE0Ljc1NyAyNy4wMTcyIDE0LjYxODYgMjcuMDAxMyAxNC40NDg3QzI2Ljk4OTMgMTQuMjc4OCAyNy4wNjEgMTQuMTE2NyAyNy4yMTYzIDEzLjk2MjZMMjkuMjIzNSAxMS45NzY3TDI5LjkzNDMgOS40ODEwOEMzMC4wNDE4IDkuNjE1NDQgMzAuMTc1MyA5Ljc0NTg2IDMwLjMzNDUgOS44NzIzMkMzMC40OTc4IDkuOTk0ODMgMzAuNjkzIDEwLjExNzMgMzAuOTIgMTAuMjM5OUwzMS4xMTcxIDEwLjM0NjZMMzAuMzA0NyAxMi40MzMyQzMwLjI1MjkgMTIuNTU1NyAzMC4yMDkxIDEyLjY0MDcgMzAuMTczMyAxMi42ODgxQzMwLjE0MTQgMTIuNzM1NSAzMC4wODU2IDEyLjc5ODggMzAuMDA2IDEyLjg3NzhMMjguMDcwNiAxNC43ODA3QzI3LjkxOTIgMTQuOTI2OSAyNy43NjM5IDE1IDI3LjYwNDYgMTVDMjcuNDQ5MyAxNSAyNy4zMTU5IDE0Ljk1NDYgMjcuMjA0NCAxNC44NjM3WiJ9KX0pfWZ1bmN0aW9uIGMzKCl7cmV0dXJuIFooInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiNDkgMyAxNiAxMiIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNNTcuMDAyOCAxMS45NDlDNTYuODQ4IDExLjk0OSA1Ni43MTcyIDExLjg5ODcgNTYuNjEwMyAxMS43OThDNTYuNTAzNSAxMS42OTM5IDU2LjQ1MDEgMTEuNTcwNyA1Ni40NTAxIDExLjQyODRWOS4wMjg2M0w1NC40MjE2IDcuMTA3NzZDNTQuMjIyNyA2LjkyMDM1IDU0LjA5NTUgNi42OTgyNSA1NC4wNDAzIDYuNDQxNDRDNTMuOTg1IDYuMTgxMTYgNTQuMDEwOCA1LjkyNzgyIDU0LjExNzYgNS42ODE0MkM1NC4yMjgyIDUuNDM4NDkgNTQuMzk3NyA1LjI0NDE0IDU0LjYyNjEgNS4wOTgzOUM1NC44NTgzIDQuOTQ5MTYgNTUuMTE2MiA0Ljg3NDU0IDU1LjM5OTkgNC44NzQ1NEg1OC4xMTM3QzU4LjQyMzIgNC44NzQ1NCA1OC42ODQ4IDQuOTc2OTIgNTguODk4NSA1LjE4MTY4QzU5LjExNTkgNS4zODI5NiA1OS4yMjQ2IDUuNjI5MzYgNTkuMjI0NiA1LjkyMDg3VjcuNzYzNjZINjAuODk5M0M2MS4wNTA0IDcuNzYzNjYgNjEuMTc5NCA3LjgxMzk5IDYxLjI4NjIgNy45MTQ2M0M2MS4zOTMxIDguMDE1MjcgNjEuNDQ2NSA4LjEzODQ3IDYxLjQ0NjUgOC4yODQyM0M2MS40NDY1IDguNDI2NTEgNjEuMzkzMSA4LjU0Nzk4IDYxLjI4NjIgOC42NDg2MkM2MS4xNzk0IDguNzQ5MjYgNjEuMDUwNCA4Ljc5OTU4IDYwLjg5OTMgOC43OTk1OEg1OC42NzE5QzU4LjUyMDkgOC43OTk1OCA1OC4zOTAxIDguNzQ5MjYgNTguMjc5NSA4LjY0ODYyQzU4LjE3MjcgOC41NDc5OCA1OC4xMTkyIDguNDI2NTEgNTguMTE5MiA4LjI4NDIzVjYuOTg4MDNDNTguMTE5MiA2LjkxODYyIDU4LjA5OSA2Ljg1NDQyIDU4LjA1ODQgNi43OTU0MkM1OC4wMTc5IDYuNzMyOTUgNTcuOTQ0MiA2LjcwMTcyIDU3LjgzNzMgNi43MDE3Mkg1Ni4wNjMyQzU1Ljk5MzIgNi43MDE3MiA1NS45NDUzIDYuNzI5NDggNTUuOTE5NSA2Ljc4NTAxQzU1Ljg5NzQgNi44MzcwNiA1NS45MDg0IDYuODg3MzkgNTUuOTUyNiA2LjkzNTk3TDU3LjQwMDcgOC40NTYwMUM1Ny41MDM5IDguNTYzNiA1Ny41NTU1IDguNjgxNTkgNTcuNTU1NSA4LjgwOTk5VjExLjQyODRDNTcuNTU1NSAxMS41NzA3IDU3LjUwMDIgMTEuNjkzOSA1Ny4zODk3IDExLjc5OEM1Ny4yODI4IDExLjg5ODcgNTcuMTUzOCAxMS45NDkgNTcuMDAyOCAxMS45NDlaTTUzLjAwMTIgMTRDNTIuNTg0OCAxNCA1Mi4xOTQyIDEzLjkyNzEgNTEuODI5NSAxMy43ODE0QzUxLjQ2ODQgMTMuNjM1NiA1MS4xNDk2IDEzLjQzMjYgNTAuODczMyAxMy4xNzIzQzUwLjYwMDYgMTIuOTEyIDUwLjM4NjkgMTIuNjExOCA1MC4yMzIxIDEyLjI3MTdDNTAuMDc3NCAxMS45MjgyIDUwIDExLjU2MDMgNTAgMTEuMTY4MUM1MCAxMC43NzYgNTAuMDc3NCAxMC40MDk5IDUwLjIzMjEgMTAuMDY5OEM1MC4zODY5IDkuNzI2MTggNTAuNjAwNiA5LjQyNDI2IDUwLjg3MzMgOS4xNjM5OEM1MS4xNDk2IDguOTAzNyA1MS40Njg0IDguNzAwNjggNTEuODI5NSA4LjU1NDkyQzUyLjE5NDIgOC40MDkxNiA1Mi41ODQ4IDguMzM2MjggNTMuMDAxMiA4LjMzNjI4QzUzLjQyMTIgOC4zMzYyOCA1My44MTE4IDguNDA5MTYgNTQuMTcyOSA4LjU1NDkyQzU0LjUzNzcgOC43MDA2OCA1NC44NTY0IDguOTAzNyA1NS4xMjkxIDkuMTYzOThDNTUuNDA1NCA5LjQyNDI2IDU1LjYyMSA5LjcyNjE4IDU1Ljc3NTggMTAuMDY5OEM1NS45MzA1IDEwLjQwOTkgNTYuMDA3OSAxMC43NzYgNTYuMDA3OSAxMS4xNjgxQzU2LjAwNzkgMTEuNTYwMyA1NS45MzA1IDExLjkyODIgNTUuNzc1OCAxMi4yNzE3QzU1LjYyMSAxMi42MTE4IDU1LjQwNTQgMTIuOTEyIDU1LjEyOTEgMTMuMTcyM0M1NC44NTY0IDEzLjQzMjYgNTQuNTM3NyAxMy42MzU2IDU0LjE3MjkgMTMuNzgxNEM1My44MTE4IDEzLjkyNzEgNTMuNDIxMiAxNCA1My4wMDEyIDE0Wk01My4wMDEyIDEzLjI2NkM1My40MTAyIDEzLjI2NiA1My43ODIzIDEzLjE3MDYgNTQuMTE3NiAxMi45Nzk3QzU0LjQ1NjYgMTIuNzkyMyA1NC43MjU2IDEyLjU0MDcgNTQuOTI0NiAxMi4yMjQ5QzU1LjEyNzMgMTEuOTA1NiA1NS4yMjg2IDExLjU1MzQgNTUuMjI4NiAxMS4xNjgxQzU1LjIyODYgMTAuNzgyOSA1NS4xMjczIDEwLjQzMjQgNTQuOTI0NiAxMC4xMTY2QzU0LjcyNTYgOS43OTczMyA1NC40NTY2IDkuNTQzOTkgNTQuMTE3NiA5LjM1NjU5QzUzLjc4MjMgOS4xNjU3MSA1My40MTAyIDkuMDcwMjggNTMuMDAxMiA5LjA3MDI4QzUyLjU5NTkgOS4wNzAyOCA1Mi4yMjM3IDkuMTY1NzEgNTEuODg0NyA5LjM1NjU5QzUxLjU0OTQgOS41NDM5OSA1MS4yODA0IDkuNzk3MzMgNTEuMDc3OCAxMC4xMTY2QzUwLjg3ODggMTAuNDMyNCA1MC43NzkzIDEwLjc4MjkgNTAuNzc5MyAxMS4xNjgxQzUwLjc3OTMgMTEuNTUzNCA1MC44Nzg4IDExLjkwNTYgNTEuMDc3OCAxMi4yMjQ5QzUxLjI4MDQgMTIuNTQwNyA1MS41NDk0IDEyLjc5MjMgNTEuODg0NyAxMi45Nzk3QzUyLjIyMzcgMTMuMTcwNiA1Mi41OTU5IDEzLjI2NiA1My4wMDEyIDEzLjI2NlpNNjIuNDgwMSA5LjYxMTY2QzYyLjM2MjIgOS41MTQ0OSA2Mi4zMDE0IDkuNDE1NTggNjIuMjk3NyA5LjMxNDk0QzYyLjI5NzcgOS4yMTA4MyA2Mi4zMzA4IDkuMTI0MDcgNjIuMzk3MiA5LjA1NDY2QzYyLjQ2NzIgOC45ODUyNSA2Mi41NTM4IDguOTQ1MzQgNjIuNjU2OSA4LjkzNDkzQzYyLjc2MzggOC45MjEwNSA2Mi44Njg4IDguOTU1NzUgNjIuOTcyIDkuMDM5MDRDNjMuMjg4OSA5LjMwMjc5IDYzLjUzOTQgOS42MTY4NyA2My43MjM2IDkuOTgxMjZDNjMuOTA3OSAxMC4zNDU3IDY0IDEwLjc0MTMgNjQgMTEuMTY4MUM2NCAxMS41NjAzIDYzLjkyMjYgMTEuOTI4MiA2My43Njc5IDEyLjI3MTdDNjMuNjEzMSAxMi42MTE4IDYzLjM5NzYgMTIuOTEyIDYzLjEyMTIgMTMuMTcyM0M2Mi44NDg1IDEzLjQzMjYgNjIuNTI5OCAxMy42MzU2IDYyLjE2NSAxMy43ODE0QzYxLjgwMzkgMTMuOTI3MSA2MS40MTUyIDE0IDYwLjk5ODggMTRDNjAuNTgyNCAxNCA2MC4xOTE5IDEzLjkyNzEgNTkuODI3MSAxMy43ODE0QzU5LjQ2MjMgMTMuNjM1NiA1OS4xNDE3IDEzLjQzMjYgNTguODY1NCAxMy4xNzIzQzU4LjU5MjcgMTIuOTEyIDU4LjM3OSAxMi42MTE4IDU4LjIyNDIgMTIuMjcxN0M1OC4wNjk1IDExLjkyODIgNTcuOTkyMSAxMS41NjAzIDU3Ljk5MjEgMTEuMTY4MUM1Ny45OTIxIDEwLjk2MzQgNTguMDE0MiAxMC43NjU2IDU4LjA1ODQgMTAuNTc0N0M1OC4xMDYzIDEwLjM4MDQgNTguMTcyNyAxMC4xOTMgNTguMjU3NCAxMC4wMTI1QzU4LjMwOSA5LjkwMTQ0IDU4LjM4MDggOS44MzAzIDU4LjQ3MyA5Ljc5OTA2QzU4LjU2ODggOS43NjQzNiA1OC42NjI3IDkuNzY0MzYgNTguNzU0OCA5Ljc5OTA2QzU4Ljg1MDYgOS44MzAzIDU4LjkyMjUgOS44OTI3NiA1OC45NzA0IDkuOTg2NDdDNTkuMDE4MyAxMC4wODAyIDU5LjAxMDkgMTAuMTk4MiA1OC45NDgzIDEwLjM0MDRDNTguODMwNCAxMC42MDA3IDU4Ljc3MTQgMTAuODc2NiA1OC43NzE0IDExLjE2ODFDNTguNzcxNCAxMS41NTM0IDU4Ljg3MDkgMTEuOTA1NiA1OS4wNjk5IDEyLjIyNDlDNTkuMjcyNSAxMi41NDA3IDU5LjU0MTUgMTIuNzkyMyA1OS44NzY4IDEyLjk3OTdDNjAuMjE1OCAxMy4xNzA2IDYwLjU4OTggMTMuMjY2IDYwLjk5ODggMTMuMjY2QzYxLjQwNzggMTMuMjY2IDYxLjc4IDEzLjE3MDYgNjIuMTE1MyAxMi45Nzk3QzYyLjQ1MDYgMTIuNzkyMyA2Mi43MTc3IDEyLjU0MDcgNjIuOTE2NyAxMi4yMjQ5QzYzLjExOTQgMTEuOTA1NiA2My4yMjA3IDExLjU1MzQgNjMuMjIwNyAxMS4xNjgxQzYzLjIyMDcgMTAuODU5MyA2My4xNTI1IDEwLjU3MTIgNjMuMDE2MiAxMC4zMDRDNjIuODgzNSAxMC4wMzMzIDYyLjcwNDggOS44MDI1MyA2Mi40ODAxIDkuNjExNjZaTTYwLjk5ODggNi4yNzQ4NkM2MC43NzQgNi4yNzQ4NiA2MC41Njk1IDYuMjI0NTQgNjAuMzg1MyA2LjEyMzg5QzYwLjIwMTEgNi4wMTk3OCA2MC4wNTM3IDUuODgyNyA1OS45NDMyIDUuNzEyNjVDNTkuODM2MyA1LjUzOTEzIDU5Ljc4MjkgNS4zNDY1MiA1OS43ODI5IDUuMTM0ODNDNTkuNzgyOSA0LjkyNjYgNTkuODM2MyA0LjczNzQ2IDU5Ljk0MzIgNC41Njc0MUM2MC4wNTM3IDQuMzkzODkgNjAuMjAxMSA0LjI1NjgxIDYwLjM4NTMgNC4xNTYxN0M2MC41Njk1IDQuMDUyMDYgNjAuNzc0IDQgNjAuOTk4OCA0QzYxLjIxOTkgNCA2MS40MjA3IDQuMDUyMDYgNjEuNjAxMyA0LjE1NjE3QzYxLjc4MTggNC4yNTY4MSA2MS45MjU1IDQuMzkzODkgNjIuMDMyNCA0LjU2NzQxQzYyLjE0MjkgNC43Mzc0NiA2Mi4xOTgyIDQuOTI2NiA2Mi4xOTgyIDUuMTM0ODNDNjIuMTk4MiA1LjM0NjUyIDYyLjE0MjkgNS41MzkxMyA2Mi4wMzI0IDUuNzEyNjVDNjEuOTI1NSA1Ljg4MjcgNjEuNzgxOCA2LjAxOTc4IDYxLjYwMTMgNi4xMjM4OUM2MS40MjA3IDYuMjI0NTQgNjEuMjE5OSA2LjI3NDg2IDYwLjk5ODggNi4yNzQ4NloifSl9KX1mdW5jdGlvbiBvMygpe3JldHVybiBaKCJzdmciLHt3aWR0aDoiMTYiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjcwIDUgMTggOSIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNODUuNTcyIDEyLjEwMzhDODYuMDYgMTIuMTAzOCA4Ni40MjA3IDExLjk4OTIgODYuNjU0MiAxMS43NjAxQzg2Ljg4NDcgMTEuNTI4MSA4NyAxMS4xNjQxIDg3IDEwLjY2ODFWMTAuMTExMkM4NyA5Ljc2OTAxIDg2LjkyMDcgOS40NjMwMiA4Ni43NjIgOS4xOTMyOUM4Ni42MDMzIDguOTIwNjUgODYuMzc1OCA4LjY5NzMzIDg2LjA3OTQgOC41MjMzMUM4NS43ODAxIDguMzQ5MjkgODUuNDIyMyA4LjIzNzYyIDg1LjAwNjIgOC4xODgzMkw4My4wMTY4IDcuOTUzMzlMODEuMTk4MSA2Ljg0ODM1QzgwLjkyMjcgNi42ODAxMyA4MC42NjA4IDYuNTQyMzcgODAuNDEyMyA2LjQzNTA1QzgwLjE2MDggNi4zMjQ4NCA3OS44OTc0IDYuMjM3ODMgNzkuNjIxOSA2LjE3NDAyQzc5LjM0NjUgNi4xMTAyMSA3OS4wMzgyIDYuMDY1MjYgNzguNjk2OSA2LjAzOTE1Qzc4LjM1MjYgNi4wMTMwNSA3Ny45NTE0IDYgNzcuNDkzNCA2SDc2LjgxMDhDNzYuMzg4NyA2IDc1Ljk5NSA2LjA0OTMxIDc1LjYyOTggNi4xNDc5MkM3NS4yNjE2IDYuMjQzNjMgNzQuOTE4OCA2LjM3MTI1IDc0LjYwMTUgNi41MzA3NkM3NC4yODExIDYuNjkwMjggNzMuOTg2MiA2Ljg2NTc2IDczLjcxNjggNy4wNTcxOEM3My40NDQ0IDcuMjQ4NiA3My4xOTU5IDcuNDM3MTIgNzIuOTcxNCA3LjYyMjc1TDcyLjI1NzQgNy44NTMzM0M3MS44MzIzIDcuOTg2NzQgNzEuNTE2NCA4LjE4Mzk3IDcxLjMwOTkgOC40NDVDNzEuMTAzMyA4LjcwMzEzIDcxIDkuMDMzNzcgNzEgOS40MzY5MlYxMC42NDJDNzEgMTEuMTQ2NyA3MS4xMTUzIDExLjUxNjUgNzEuMzQ1OCAxMS43NTE0QzcxLjU3NjMgMTEuOTg2MyA3MS45MzcgMTIuMTAzOCA3Mi40MjggMTIuMTAzOEg3Mi43MTU0QzcyLjcwMDQgMTIuMDM3MSA3Mi42ODg1IDExLjk3MDQgNzIuNjc5NSAxMS45MDM3QzcyLjY3MDUgMTEuODM0MSA3Mi42NjYgMTEuNzY0NSA3Mi42NjYgMTEuNjk0OEM3Mi42NjYgMTEuMzU1NSA3Mi43NDk4IDExLjA0OTUgNzIuOTE3NSAxMC43NzY5QzczLjA4NTEgMTAuNTA0MiA3My4zMTEyIDEwLjI4ODIgNzMuNTk1NiAxMC4xMjg3QzczLjg3NyA5Ljk2NjIzIDc0LjE5MjggOS44ODUwMiA3NC41NDMxIDkuODg1MDJDNzQuODkwNCA5Ljg4NTAyIDc1LjIwNjIgOS45NjYyMyA3NS40OTA2IDEwLjEyODdDNzUuNzcyIDEwLjI4ODIgNzUuOTk2NSAxMC41MDQyIDc2LjE2NDIgMTAuNzc2OUM3Ni4zMzE4IDExLjA0OTUgNzYuNDE1NyAxMS4zNTU1IDc2LjQxNTcgMTEuNjk0OEM3Ni40MTU3IDExLjc2NDUgNzYuNDExMiAxMS44MzQxIDc2LjQwMjIgMTEuOTAzN0M3Ni4zOTMyIDExLjk3MDQgNzYuMzgyNyAxMi4wMzcxIDc2LjM3MDggMTIuMTAzOEg4MS42MzgyQzgxLjYyMDMgMTIuMDM3MSA4MS42MDgzIDExLjk3MDQgODEuNjAyMyAxMS45MDM3QzgxLjU5MzMgMTEuODM0MSA4MS41ODg4IDExLjc2NDUgODEuNTg4OCAxMS42OTQ4QzgxLjU4ODggMTEuMzU1NSA4MS42NzI3IDExLjA0OTUgODEuODQwMyAxMC43NzY5QzgyLjAwNSAxMC41MDQyIDgyLjIyOTUgMTAuMjg4MiA4Mi41MTM5IDEwLjEyODdDODIuNzk1MyA5Ljk2NjIzIDgzLjExMTEgOS44ODUwMiA4My40NjE0IDkuODg1MDJDODMuODExNyA5Ljg4NTAyIDg0LjEyOSA5Ljk2NjIzIDg0LjQxMzQgMTAuMTI4N0M4NC42OTQ4IDEwLjI4ODIgODQuOTE5NCAxMC41MDQyIDg1LjA4NyAxMC43NzY5Qzg1LjI1MTcgMTEuMDQ5NSA4NS4zMzQgMTEuMzU1NSA4NS4zMzQgMTEuNjk0OEM4NS4zMzQgMTEuNzY0NSA4NS4zMzEgMTEuODM0MSA4NS4zMjUgMTEuOTAzN0M4NS4zMTYgMTEuOTcwNCA4NS4zMDQxIDEyLjAzNzEgODUuMjg5MSAxMi4xMDM4SDg1LjU3MlpNODMuNDYxNCAxM0M4My43MTI5IDEzIDgzLjk0MDQgMTIuOTQyIDg0LjE0NCAxMi44MjZDODQuMzQ3NiAxMi43MSA4NC41MDkyIDEyLjU1MzMgODQuNjI5IDEyLjM1NjFDODQuNzQ4NyAxMi4xNTg5IDg0LjgwODYgMTEuOTM4NSA4NC44MDg2IDExLjY5NDhDODQuODA4NiAxMS40NTEyIDg0Ljc0ODcgMTEuMjMwOCA4NC42MjkgMTEuMDMzNkM4NC41MDkyIDEwLjgzNjMgODQuMzQ3NiAxMC42Nzk3IDg0LjE0NCAxMC41NjM3QzgzLjk0MDQgMTAuNDQ3NyA4My43MTI5IDEwLjM4OTcgODMuNDYxNCAxMC4zODk3QzgzLjIwNjkgMTAuMzg5NyA4Mi45Nzc5IDEwLjQ0NzcgODIuNzc0MyAxMC41NjM3QzgyLjU3MDggMTAuNjc5NyA4Mi40MDkxIDEwLjgzNjMgODIuMjg5NCAxMS4wMzM2QzgyLjE2OTYgMTEuMjMwOCA4Mi4xMDk3IDExLjQ1MTIgODIuMTA5NyAxMS42OTQ4QzgyLjEwOTcgMTEuOTM4NSA4Mi4xNjk2IDEyLjE1ODkgODIuMjg5NCAxMi4zNTYxQzgyLjQwOTEgMTIuNTUzMyA4Mi41NzA4IDEyLjcxIDgyLjc3NDMgMTIuODI2QzgyLjk3NzkgMTIuOTQyIDgzLjIwNjkgMTMgODMuNDYxNCAxM1pNNzQuNTQzMSAxM0M3NC43OTQ2IDEzIDc1LjAyMjEgMTIuOTQyIDc1LjIyNTcgMTIuODI2Qzc1LjQyOTIgMTIuNzEgNzUuNTkwOSAxMi41NTMzIDc1LjcxMDYgMTIuMzU2MUM3NS44MzA0IDEyLjE1ODkgNzUuODkwMyAxMS45Mzg1IDc1Ljg5MDMgMTEuNjk0OEM3NS44OTAzIDExLjQ1MTIgNzUuODMwNCAxMS4yMzA4IDc1LjcxMDYgMTEuMDMzNkM3NS41OTA5IDEwLjgzNjMgNzUuNDI5MiAxMC42Nzk3IDc1LjIyNTcgMTAuNTYzN0M3NS4wMjIxIDEwLjQ0NzcgNzQuNzk0NiAxMC4zODk3IDc0LjU0MzEgMTAuMzg5N0M3NC4yODg2IDEwLjM4OTcgNzQuMDU5NiAxMC40NDc3IDczLjg1NiAxMC41NjM3QzczLjY1MjQgMTAuNjc5NyA3My40OTA4IDEwLjgzNjMgNzMuMzcxIDExLjAzMzZDNzMuMjUxMyAxMS4yMzA4IDczLjE5MTQgMTEuNDUxMiA3My4xOTE0IDExLjY5NDhDNzMuMTkxNCAxMS45Mzg1IDczLjI1MTMgMTIuMTU4OSA3My4zNzEgMTIuMzU2MUM3My40OTA4IDEyLjU1MzMgNzMuNjUyNCAxMi43MSA3My44NTYgMTIuODI2Qzc0LjA1OTYgMTIuOTQyIDc0LjI4ODYgMTMgNzQuNTQzMSAxM1oifSl9KX1mdW5jdGlvbiBhMCh7c2l6ZTokPTE4LHN0cm9rZVdpZHRoOlE9Mn0pe3JldHVybiBaKGQyLHtzaXplOiQsc3Ryb2tlV2lkdGg6UX0pfXZhciB0OT0iQWNjZXNzaWJpbGl0eSB1bmF2YWlsYWJsZSBvbiB0aGlzIHNpbXVsYXRvci4iO2Z1bmN0aW9uIFM1KCQpe3JldHVybiAkPy5lcnJvcnM/LmluY2x1ZGVzKHQ5KT8/ITF9ZnVuY3Rpb24geDUoJCxRKXtpZigkPT09USlyZXR1cm4hMDtpZigkLmlkIT09US5pZHx8JC5wYXRoIT09US5wYXRofHwkLmxhYmVsIT09US5sYWJlbHx8JC52YWx1ZSE9PVEudmFsdWV8fCQucm9sZSE9PVEucm9sZXx8JC50eXBlIT09US50eXBlfHwkLmVuYWJsZWQhPT1RLmVuYWJsZWQpcmV0dXJuITE7bGV0IEo9JC5mcmFtZSxYPVEuZnJhbWU7cmV0dXJuIEo9PT1YfHxKLng9PT1YLngmJkoueT09PVgueSYmSi53aWR0aD09PVgud2lkdGgmJkouaGVpZ2h0PT09WC5oZWlnaHR9ZnVuY3Rpb24gajUoJCxRKXtsZXQgSj0kLmxhYmVsfHwkLnJvbGV8fGBlbGVtZW50ICR7USsxfWAsWD0kLnJvbGV8fCQudHlwZTtyZXR1cm57aWQ6JC5pZCxwYXRoOiQucGF0aCxsYWJlbDpKLHZhbHVlOiQudmFsdWUscm9sZTpYLHR5cGU6JC50eXBlLGVuYWJsZWQ6JC5lbmFibGVkLGZyYW1lOiQuZnJhbWV9fWZ1bmN0aW9uIGU5KCQsUSl7bGV0IEo9TWF0aC5tYXgoMCwkLngpLFg9TWF0aC5tYXgoMCwkLnkpLEs9TWF0aC5taW4oUS53aWR0aCwkLngrJC53aWR0aCksWT1NYXRoLm1pbihRLmhlaWdodCwkLnkrJC5oZWlnaHQpLHE9TWF0aC5tYXgoMCxLLUopLEc9TWF0aC5tYXgoMCxZLVgpO3JldHVybiBxPjAmJkc+MD97eDpKLHk6WCx3aWR0aDpxLGhlaWdodDpHfTpudWxsfWZ1bmN0aW9uIHMwKCQpe3JldHVybiAkLmlkfWZ1bmN0aW9uIGkzKCQpe3JldHVybmAkeyQueH0sJHskLnl9ICR7JC53aWR0aH14JHskLmhlaWdodH1gfWZ1bmN0aW9uICQ2KCQpe3JldHVybltgQVggbGFiZWw6ICR7JC5sYWJlbHx8IlVubGFiZWxlZCJ9YCwkLnJvbGU/YHJvbGU6ICR7JC5yb2xlfWA6IiIsJC50eXBlP2B0eXBlOiAkeyQudHlwZX1gOiIiLCQudmFsdWU/YHZhbHVlOiAkeyQudmFsdWV9YDoiIiwkLmlkP2BpZDogJHskLmlkfWA6IiIsYHBhdGg6ICR7JC5wYXRofWAsYGZyYW1lOiAke2kzKCQuZnJhbWUpfWBdLmZpbHRlcihCb29sZWFuKS5qb2luKCI7ICIpfWZ1bmN0aW9uIGEyKCQpe3JldHVybiAkJiZ0eXBlb2YgJC5kZXZpY2U9PT0ic3RyaW5nIiYmdHlwZW9mICQudXJsPT09InN0cmluZyI/JDpudWxsfWZ1bmN0aW9uIFE2KCQpe2xldCBRPW5ldyBVUkwoJC5zdHJlYW1VcmwpO3JldHVybiBRLnBhdGhuYW1lPVEucGF0aG5hbWUucmVwbGFjZSgvXC9zdHJlYW1cLlteL10rJC8sIi9zdHJlYW0ubWpwZWciKSxRLnNlYXJjaD0iIixRLmhhc2g9IiIsUS50b1N0cmluZygpfWZ1bmN0aW9uIHY1KCQpe2xldCBRPW5ldyBVUkwoJC5zdHJlYW1VcmwpO3JldHVybiBRLnBhdGhuYW1lPVEucGF0aG5hbWUucmVwbGFjZSgvXC9zdHJlYW1cLlteL10rJC8sIi93ZWJydGMvb2ZmZXIiKSxRLnNlYXJjaD0iIixRLmhhc2g9IiIsUS50b1N0cmluZygpfWZ1bmN0aW9uIEo2KCQpe2xldCBRPW5ldyBVUkwodjUoJCkpO3JldHVybiBRLnBhdGhuYW1lPVEucGF0aG5hbWUucmVwbGFjZSgvXC9vZmZlciQvLCIvY2xvc2UiKSxRLnRvU3RyaW5nKCl9ZnVuY3Rpb24gWjYoJCl7bGV0IFE9bmV3IFVSTCh2NSgkKSk7cmV0dXJuIFEucGF0aG5hbWU9US5wYXRobmFtZS5yZXBsYWNlKC9cL29mZmVyJC8sIi9zdGF0cyIpLFEudG9TdHJpbmcoKX1mdW5jdGlvbiBYNigkLFEpe2xldCBKPW5ldyBVUkwoJCk7cmV0dXJuIEouc2VhcmNoUGFyYW1zLnNldCgic2Vzc2lvbklkIixRKSxKLnRvU3RyaW5nKCl9ZnVuY3Rpb24gdjEoJCl7bGV0IEo9d2luZG93Ll9fU0lNX1BSRVZJRVdfXz8uYmFzZVBhdGg/Pyh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXC8rJC8sIiIpfHwiLyIpO3JldHVybiBKPT09Ii8iP2AvJHskfWA6YCR7Sn0vJHskfWB9dmFyIERRPTUwMDAsUFE9MjAwMCxzMj1udWxsLG4zPW51bGwsVFE9MSxFUT0xLFUyPW5ldyBNYXAsTDI9bmV3IE1hcDtmdW5jdGlvbiB3USgpe2xldCAkPW5ldyBVUkwodjEoImV4ZWMtd3MiKSx3aW5kb3cubG9jYXRpb24uaHJlZik7cmV0dXJuICQucHJvdG9jb2w9JC5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6IiwkLnRvU3RyaW5nKCl9ZnVuY3Rpb24gSVEoJCl7Zm9yKGxldCBRIG9mIFUyLnZhbHVlcygpKVEucmVqZWN0KCQpO1UyLmNsZWFyKCl9ZnVuY3Rpb24gSzYoKXtyZXR1cm4gczI/Pz1uZXcgUHJvbWlzZSgoJCxRKT0+e2xldCBKPSExLFg7dHJ5e1g9bmV3IFdlYlNvY2tldCh3USgpKX1jYXRjaChxKXtzMj1udWxsLFEocSk7cmV0dXJufWxldCBLPXNldFRpbWVvdXQoKCk9PntpZighSilKPSEwLHMyPW51bGwsUShFcnJvcigiY29udHJvbCBzb2NrZXQgY29ubmVjdCB0aW1lb3V0IikpLFguY2xvc2UoKX0sRFEpO1gub25vcGVuPSgpPT57WC5zZW5kKEpTT04uc3RyaW5naWZ5KHt0b2tlbjp3aW5kb3cuX19TSU1fUFJFVklFV19fPy5leGVjVG9rZW4/PyIifSkpfSxYLm9ubWVzc2FnZT0ocSk9PntsZXQgRzt0cnl7Rz1KU09OLnBhcnNlKFN0cmluZyhxLmRhdGEpKX1jYXRjaHtyZXR1cm59aWYoRy5yZWFkeSl7aWYoIUopSj0hMCxjbGVhclRpbWVvdXQoSyksbjM9WCwkKFgpO3JldHVybn1pZih0eXBlb2YgRy5zdWI9PT0ibnVtYmVyIil7bGV0IE49TDIuZ2V0KEcuc3ViKTtpZighTilyZXR1cm47aWYoRy5lbmQpTDIuZGVsZXRlKEcuc3ViKSxOLm9uRW5kKCk7ZWxzZSBpZih0eXBlb2YgRy5kYXRhPT09InN0cmluZyIpTi5vbkRhdGEoRy5kYXRhKTtyZXR1cm59aWYodHlwZW9mIEcuaWQhPT0ibnVtYmVyIilyZXR1cm47bGV0IEI9VTIuZ2V0KEcuaWQpO2lmKCFCKXJldHVybjtVMi5kZWxldGUoRy5pZCksQi5yZXNvbHZlKEcpfTtsZXQgWT0oKT0+e3MyPW51bGwsbjM9bnVsbDtsZXQgcT1FcnJvcigiY29udHJvbCBzb2NrZXQgY2xvc2VkIOKAlCByZWxvYWQgdGhlIHBhZ2UgaWYgdGhpcyBwZXJzaXN0cyIpO0lRKHEpO2xldCBHPVsuLi5MMi52YWx1ZXMoKV07TDIuY2xlYXIoKTtmb3IobGV0IEIgb2YgRylCLm9uRW5kKCk7aWYoIUopSj0hMCxjbGVhclRpbWVvdXQoSyksUShxKX07WC5vbmVycm9yPVksWC5vbmNsb3NlPVl9KSxzMn1hc3luYyBmdW5jdGlvbiBZNigkLFEpe2xldCBKPWF3YWl0IEs2KCk7aWYoSi5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pdGhyb3cgRXJyb3IoImNvbnRyb2wgc29ja2V0IG5vdCBvcGVuIik7cmV0dXJuIG5ldyBQcm9taXNlKChYLEspPT57bGV0IFk9VFErKyxxPSgpPT57VTIuZGVsZXRlKFkpLEsoUT8ucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJBYm9ydGVkIiwiQWJvcnRFcnJvciIpKX07aWYoUSl7aWYoUS5hYm9ydGVkKXtxKCk7cmV0dXJufVEuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHEse29uY2U6ITB9KX1VMi5zZXQoWSx7cmVzb2x2ZTooRyk9PntRPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIscSksWChHKX0scmVqZWN0OihHKT0+e1E/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixxKSxLKEcpfX0pLEouc2VuZChKU09OLnN0cmluZ2lmeSh7aWQ6WSwuLi4kfSkpfSl9YXN5bmMgZnVuY3Rpb24gVDEoJCxRKXtsZXQgSj1hd2FpdCBZNih7Y29tbWFuZDokfSxRPy5zaWduYWwpO3JldHVybntzdGRvdXQ6Si5zdGRvdXQ/PyIiLHN0ZGVycjpKLnN0ZGVycj8/IiIsZXhpdENvZGU6Si5leGl0Q29kZT8/MX19YXN5bmMgZnVuY3Rpb24gcjMoJCxRKXtsZXQgSj1hd2FpdCBZNih7dWk6JH0sUT8uc2lnbmFsKTtpZihKLmVycm9yKXRocm93IEVycm9yKEouZXJyb3IpO3JldHVybiBKLnN0YXR1cz8/bnVsbH1mdW5jdGlvbiBiMCgkKXtsZXQgUT17b25tZXNzYWdlOm51bGwsb25lcnJvcjpudWxsLGNsb3NlOigpPT57fX0sSj0hMSxYPW51bGwsSz1udWxsLFk9IiIscT0oTik9PntZKz1OLnJlcGxhY2UoL1xyXG4vZyxgCmApO2xldCB6O3doaWxlKCh6PVkuaW5kZXhPZihgCgpgKSkhPT0tMSl7bGV0IFY9WS5zbGljZSgwLHopO1k9WS5zbGljZSh6KzIpO2xldCBVPVYuc3BsaXQoYApgKS5maWx0ZXIoKEMpPT5DLnN0YXJ0c1dpdGgoImRhdGE6IikpLm1hcCgoQyk9PkMuc2xpY2UoNSkucmVwbGFjZSgvXiAvLCIiKSkuam9pbihgCmApO2lmKFUpUS5vbm1lc3NhZ2U/Lih7ZGF0YTpVfSl9fSxHPSgpPT57aWYoSnx8SylyZXR1cm47US5vbmVycm9yPy4oKSxLPXNldFRpbWVvdXQoKCk9PntLPW51bGwsQigpfSxQUSl9LEI9YXN5bmMoKT0+e2lmKEopcmV0dXJuO3RyeXtsZXQgTj1hd2FpdCBLNigpO2lmKEopcmV0dXJuO1k9IiIsWD1FUSsrLEwyLnNldChYLHtvbkRhdGE6cSxvbkVuZDpHfSksTi5zZW5kKEpTT04uc3RyaW5naWZ5KHtzdWI6WCxwYXRoOiR9KSl9Y2F0Y2h7RygpfX07cmV0dXJuIEIoKSxRLmNsb3NlPSgpPT57aWYoSj0hMCxLKWNsZWFyVGltZW91dChLKTtpZihYIT09bnVsbCl7TDIuZGVsZXRlKFgpO3RyeXtuMz8uc2VuZChKU09OLnN0cmluZ2lmeSh7dW5zdWI6WH0pKX1jYXRjaHt9WD1udWxsfX0sUX1mdW5jdGlvbiBPMSgkKXtyZXR1cm5gJyR7JC5yZXBsYWNlKC8nL2csIidcXCcnIil9J2B9ZnVuY3Rpb24gcTYoJCl7bGV0W1EsSl09ayhudWxsKSxbWCxLXT1rKCJBWCBvZmYiKTtyZXR1cm4geSgoKT0+e2lmKCEkKXtKKG51bGwpLEsoIkFYIG9mZiIpO3JldHVybn1KKG51bGwpLEsoIkFYIHdhaXRpbmciKTtsZXQgWT1iMCgkKTtyZXR1cm4gWS5vbm1lc3NhZ2U9KHEpPT57dHJ5e2xldCBHPUpTT04ucGFyc2UocS5kYXRhKTtKKEcpLEsoUzUoRyk/IkFYIHVuYXZhaWxhYmxlIjpgJHtHLmVsZW1lbnRzLmxlbmd0aH0gQVggZWxlbWVudHNgKX1jYXRjaHtLKCJBWCBwYXJzZSBlcnJvciIpfX0sWS5vbmVycm9yPSgpPT57SygiQVggcmVjb25uZWN0aW5nIil9LCgpPT5ZLmNsb3NlKCl9LFskXSkse3NuYXBzaG90OlEsc3RhdHVzOlh9fXZhciBhMz1PMCh7c25hcHNob3Q6bnVsbCxzdGF0dXM6IkFYIG9mZiJ9KSxzMz1PMChudWxsKTtmdW5jdGlvbiBIMigpe3JldHVybiBGMChhMyl9ZnVuY3Rpb24gUjUoKXtsZXQgJD1GMChzMyk7aWYoISQpdGhyb3cgRXJyb3IoIkFYIHNlbGVjdGlvbiBjb250ZXh0IGlzIHVuYXZhaWxhYmxlIik7cmV0dXJuICR9dmFyIEc2PWkwKGZ1bmN0aW9uKHtlbGVtZW50OlEsaW5kZXg6SixzY3JlZW46WCxoaWdobGlnaHRlZDpLLHNlbGVjdGVkOlksb25IaWdobGlnaHQ6cSxvblNlbGVjdDpHfSl7bGV0IEI9czAoUSksTj1qNShRLEopLHo9ZTkoUS5mcmFtZSxYKTtpZigheilyZXR1cm4gbnVsbDtsZXQgVj0kNihOKTtyZXR1cm4gWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIiwiZGF0YS1heC1rZXkiOkIsImRhdGEtYXgtaWQiOk4uaWQsImRhdGEtYXgtcGF0aCI6Ti5wYXRoLCJkYXRhLWF4LWxhYmVsIjpOLmxhYmVsLCJkYXRhLWF4LXZhbHVlIjpOLnZhbHVlLCJkYXRhLWF4LXJvbGUiOk4ucm9sZSwiZGF0YS1heC10eXBlIjpOLnR5cGUsImRhdGEtYXgtZW5hYmxlZCI6U3RyaW5nKE4uZW5hYmxlZCksImRhdGEtYXgtZnJhbWUiOmkzKE4uZnJhbWUpLCJkYXRhLWF4LXNlbGVjdGVkIjpTdHJpbmcoWSksImFyaWEtbGFiZWwiOlEubGFiZWx8fFYsdGl0bGU6VixvbkNsaWNrOigpPT5HKEIpLG9uTW91c2VFbnRlcjooKT0+cShCKSxvbk1vdXNlTGVhdmU6KCk9PnEobnVsbCksY2xhc3NOYW1lOiJhYnNvbHV0ZSBib3gtYm9yZGVyIG1pbi13LXB4IG1pbi1oLXB4IHAtMCByb3VuZGVkLVszcHhdIGJvcmRlciBjdXJzb3ItcG9pbnRlciBwb2ludGVyLWV2ZW50cy1hdXRvIixzdHlsZTp7bGVmdDpgJHt6LngvWC53aWR0aCoxMDB9JWAsdG9wOmAke3oueS9YLmhlaWdodCoxMDB9JWAsd2lkdGg6YCR7ei53aWR0aC9YLndpZHRoKjEwMH0lYCxoZWlnaHQ6YCR7ei5oZWlnaHQvWC5oZWlnaHQqMTAwfSVgLGJvcmRlckNvbG9yOlk/IiM2MGE1ZmEiOks/IiNmYmJmMjQiOiIjMzRkMzk5IixiYWNrZ3JvdW5kOlk/InJnYmEoOTYsMTY1LDI1MCwwLjI0KSI6Sz8icmdiYSgyNDUsMTU4LDExLDAuMjgpIjoicmdiYSgxNiwxODUsMTI5LDAuMTIpIn19KX0sKCQsUSk9PiQuaW5kZXg9PT1RLmluZGV4JiYkLmhpZ2hsaWdodGVkPT09US5oaWdobGlnaHRlZCYmJC5zZWxlY3RlZD09PVEuc2VsZWN0ZWQmJiQub25IaWdobGlnaHQ9PT1RLm9uSGlnaGxpZ2h0JiYkLm9uU2VsZWN0PT09US5vblNlbGVjdCYmJC5zY3JlZW4ud2lkdGg9PT1RLnNjcmVlbi53aWR0aCYmJC5zY3JlZW4uaGVpZ2h0PT09US5zY3JlZW4uaGVpZ2h0JiZ4NSgkLmVsZW1lbnQsUS5lbGVtZW50KSk7ZnVuY3Rpb24gVjYoKXtsZXR7c25hcHNob3Q6JH09SDIoKSx7aGlnaGxpZ2h0ZWRLZXk6USxzZWxlY3RlZEtleTpKLHNldEhpZ2hsaWdodGVkS2V5Olgsc2V0U2VsZWN0ZWRLZXk6S309UjUoKTtpZighJD8uc2NyZWVuLndpZHRofHwhJD8uc2NyZWVuLmhlaWdodClyZXR1cm4gbnVsbDtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHotMTAgb3ZlcmZsb3ctaGlkZGVuIHBvaW50ZXItZXZlbnRzLW5vbmUiLGNoaWxkcmVuOiQuZWxlbWVudHMubWFwKChZLHEpPT57bGV0IEc9czAoWSk7cmV0dXJuIFooRzYse2VsZW1lbnQ6WSxpbmRleDpxLHNjcmVlbjokLnNjcmVlbixoaWdobGlnaHRlZDpHPT09USxzZWxlY3RlZDpHPT09SixvbkhpZ2hsaWdodDpYLG9uU2VsZWN0Okt9LEcpfSl9KX1mdW5jdGlvbiBCNih7ZW5kcG9pbnQ6JCxjaGlsZHJlbjpRfSl7bGV0e3NuYXBzaG90Okosc3RhdHVzOlh9PXE2KCQpLFtLLFldPWsobnVsbCksW3EsR109ayhudWxsKTt5KCgpPT57aWYoISQpWShudWxsKSxHKG51bGwpfSxbJF0pO2xldCBCPUQxKCgpPT4oe3NuYXBzaG90Okosc3RhdHVzOlh9KSxbSixYXSksTj1EMSgoKT0+KHtoaWdobGlnaHRlZEtleTpLLHNlbGVjdGVkS2V5OnEsc2V0SGlnaGxpZ2h0ZWRLZXk6WSxzZXRTZWxlY3RlZEtleTpHfSksW0sscV0pO3JldHVybiBaKGEzLHt2YWx1ZTpCLGNoaWxkcmVuOlooczMse3ZhbHVlOk4sY2hpbGRyZW46UX0pfSl9ZnVuY3Rpb24gTjYoe292ZXJsYXlFbmFibGVkOiQsc3RyZWFtaW5nOlEsb25Ub2dnbGVPdmVybGF5Okp9KXtsZXR7c3RhdHVzOlh9PUgyKCksW0ssWV09ayghMSkscT0kJiZRO3JldHVybiBaKGMxLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiQ/IkhpZGUgYWNjZXNzaWJpbGl0eSBvdmVybGF5IjoiU2hvdyBhY2Nlc3NpYmlsaXR5IG92ZXJsYXkiLCJhcmlhLXByZXNzZWQiOiQsdGl0bGU6WCxvbkNsaWNrOkosb25Nb3VzZUVudGVyOigpPT5ZKCEwKSxvbk1vdXNlTGVhdmU6KCk9PlkoITEpLHN0eWxlOnE/e2JhY2tncm91bmQ6Sz8icmdiYSgyNTUsMjU1LDI1NSwwLjEyKSI6InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOTUpIn06dm9pZCAwLGNoaWxkcmVuOloobTAse3NpemU6MTksc3Ryb2tlV2lkdGg6Mn0pfSl9ZnVuY3Rpb24gaDUoe2NsYXNzTmFtZTokPSIifSl7cmV0dXJuIFooImEiLHtocmVmOiJodHRwczovL2V4cG8uZGV2L3NlcnZpY2VzL3NpbXVsYXRvcnMiLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vcmVmZXJyZXIiLGNsYXNzTmFtZTpgaW5saW5lLWZsZXggaC1bMzBweF0gbWluLXctMCBpdGVtcy1jZW50ZXIgd2hpdGVzcGFjZS1ub3dyYXAgcm91bmRlZC1tZCBweC0xLjUgZm9udC1tb25vIHRleHQtWzEycHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS82NSBuby11bmRlcmxpbmUgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZS84NSBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC0yIGZvY3VzLXZpc2libGU6b3V0bGluZS13aGl0ZS82MCAkeyR9YC50cmltKCksImFyaWEtbGFiZWwiOiJPcGVuIEVBUyBTaW11bGF0b3IiLHRpdGxlOiJPcGVuIEVBUyBTaW11bGF0b3IiLGNoaWxkcmVuOiJFQVMgU2ltdWxhdG9yIn0pfWZ1bmN0aW9uIHo2KHtvcGVuOiQsb25DbGljazpRfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZTpgZml4ZWQgdG9wLTMgbGVmdC0zIHotMzAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgcC0xIFt0cmFuc2l0aW9uOm9wYWNpdHlfMC4xOHNfZWFzZV0gJHskPyJvcGFjaXR5LTAgcG9pbnRlci1ldmVudHMtbm9uZSI6Im9wYWNpdHktMTAwIHBvaW50ZXItZXZlbnRzLWF1dG8ifWAsY2hpbGRyZW46W1ooImJ1dHRvbiIse29uQ2xpY2s6USxjbGFzc05hbWU6InctWzMwcHhdIGgtWzMwcHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHJvdW5kZWQtbWQgdGV4dC1bIzhlOGU5M10gY3Vyc29yLXBvaW50ZXIgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtbGFiZWwiOiJPcGVuIGRldmljZXMgc2lkZWJhciIsImFyaWEtcHJlc3NlZCI6JCx0aXRsZToiRGV2aWNlcyIsY2hpbGRyZW46Wih3MCx7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjc1fSl9KSxaKGg1LHt9KV19KX1mdW5jdGlvbiBMNigkKXtpZighTnVtYmVyLmlzRmluaXRlKCQpfHwkPD0wKXJldHVybiIwIEIiO2xldCBRPSQvMTA3Mzc0MTgyNDtpZihRPj0xKXJldHVybmAke1EudG9GaXhlZChRPj0xMD8wOjEpfSBHQmA7cmV0dXJuYCR7KCQvMTA0ODU3NikudG9GaXhlZCgwKX0gTUJgfWZ1bmN0aW9uIGc1KCQpe2xldCBRPSQubWF0Y2goL14oW2EtekEtWl0rKS0oLispJC8pO2lmKCFRKXJldHVybntvczokLHZlcnNpb246IiJ9O3JldHVybntvczpRWzFdLHZlcnNpb246UVsyXS5yZXBsYWNlKC8tL2csIi4iKX19ZnVuY3Rpb24gVTYoJCl7cmV0dXJuIGc1KCQpLnZlcnNpb258fCR9ZnVuY3Rpb24gZjUoJCl7bGV0e29zOlEsdmVyc2lvbjpKfT1nNSgkKTtyZXR1cm4gSj9gJHtRfSAke0p9YDpRfWZ1bmN0aW9uIHA1KHtjaHJvbWU6JCxzY3JlZW46USxpbnRlcmFjdGl2ZTpKPSExLG9uQnV0dG9uOlgsb25Dcm93bldoZWVsOkt9KXtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIixjaGlsZHJlbjpbJC5idXR0b25zLm1hcCgoWSk9PlooeVEse2Nocm9tZTokLGJ1dHRvbjpZLGludGVyYWN0aXZlOkosb25CdXR0b246WCxvbldoZWVsOkomJlkubmFtZT09PSJkaWdpdGFsLWNyb3duIj9LOnZvaWQgMH0sYGJ1dHRvbi0ke1kubmFtZX1gKSksJC5jb21wb3NpdGVJbWFnZT9aKEM2LHtjaHJvbWU6JCxpbWFnZTokLmNvbXBvc2l0ZUltYWdlLHJlY3Q6JC5ib2R5LHpJbmRleDoxfSk6JC5zbGljZSYmJC5jb3JuZXI/WihTUSx7Y2hyb21lOiR9KTpudWxsLFooImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgb3ZlcmZsb3ctaGlkZGVuIGJnLWJsYWNrIixzdHlsZTp7Li4udDMoJCwkLnNjcmVlbiwyKSxib3JkZXJSYWRpdXM6YlEoJCl9LGNoaWxkcmVuOlF9KV19KX1mdW5jdGlvbiBiUSgkKXtyZXR1cm5gJHskLnNjcmVlblJhZGl1cy8kLnNjcmVlbi53aWR0aCoxMDB9JSAvICR7JC5zY3JlZW5SYWRpdXMvJC5zY3JlZW4uaGVpZ2h0KjEwMH0lYH1mdW5jdGlvbiB5USh7Y2hyb21lOiQsYnV0dG9uOlEsaW50ZXJhY3RpdmU6SixvbkJ1dHRvbjpYLG9uV2hlZWw6S30pe2xldFtZLHFdPWsoITEpLFtHLEJdPWsoITEpLE49dyhudWxsKSx6PXcobnVsbCksVj13KEspO1YuY3VycmVudD1LLHkoKCk9PntsZXQgeD16LmN1cnJlbnQ7aWYoIXh8fCFLKXJldHVybjtsZXQgRD0oZSk9PntlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxWLmN1cnJlbnQ/LihlLmRlbHRhWSxlLmRlbHRhTW9kZSl9O3JldHVybiB4LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixELHtwYXNzaXZlOiExfSksKCk9PngucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLEQpfSxbISFLXSk7bGV0IFU9SiYmUS51c2FnZVBhZ2UhPW51bGwmJlEudXNhZ2UhPW51bGwsQz1JKCgpPT57aWYoTi5jdXJyZW50PT09bnVsbClyZXR1cm47Ti5jdXJyZW50PW51bGwsQighMSksWD8uKHtwaGFzZToidXAiLGJ1dHRvbjpRfSl9LFtRLFhdKSxNPUkoKHgpPT57aWYoeC5idXR0b24hPT0wJiZ4LnBvaW50ZXJUeXBlPT09Im1vdXNlIilyZXR1cm47eC5wcmV2ZW50RGVmYXVsdCgpLHguc3RvcFByb3BhZ2F0aW9uKCksTi5jdXJyZW50PXgucG9pbnRlcklkO3RyeXt4LmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoeC5wb2ludGVySWQpfWNhdGNoe31CKCEwKSxYPy4oe3BoYXNlOiJkb3duIixidXR0b246UX0pfSxbUSxYXSksTD1RLm9uVG9wPzU6MCxIPVUmJihZfHxHKSxPPShIP1EuaG92ZXIueDowKSoxMDAsVz0oSD9RLmhvdmVyLnk6MCkqMTAwLFQ9RyYmUS5pbWFnZURvd24/US5pbWFnZURvd246US5pbWFnZSxQPVU/e29uUG9pbnRlckRvd246TSxvblBvaW50ZXJVcDpDLG9uUG9pbnRlckNhbmNlbDpDLG9uUG9pbnRlckVudGVyOigpPT5xKCEwKSxvblBvaW50ZXJMZWF2ZTooKT0+e3EoITEpLEMoKX19Ont9O3JldHVybiBaKCJkaXYiLHtyZWY6eixyb2xlOlU/ImJ1dHRvbiI6dm9pZCAwLCJhcmlhLWxhYmVsIjpVP0g2KFEubmFtZSk6dm9pZCAwLCJhcmlhLWhpZGRlbiI6VT92b2lkIDA6ITAsdGl0bGU6VT9INihRLm5hbWUpOnZvaWQgMCxjbGFzc05hbWU6ImFic29sdXRlIHNlbGVjdC1ub25lIixzdHlsZTp7Li4udDMoJCxRLmZyYW1lLEwpLHRyYW5zZm9ybTpPfHxXP2B0cmFuc2xhdGUoJHtPfSUsICR7V30lKWA6dm9pZCAwLHRyYW5zaXRpb246InRyYW5zZm9ybSAwLjEycyBlYXNlIixjdXJzb3I6VT8icG9pbnRlciI6dm9pZCAwLHBvaW50ZXJFdmVudHM6VT8iYXV0byI6Im5vbmUiLHRvdWNoQWN0aW9uOiJub25lIn0sLi4uUCxjaGlsZHJlbjpUJiZaKCJpbWciLHthbHQ6IiIsImFyaWEtaGlkZGVuIjohMCxkcmFnZ2FibGU6ITEsc3JjOk82KCQuaWRlbnRpZmllcixUKSxjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgc2l6ZS1mdWxsIHNlbGVjdC1ub25lIixzdHlsZTp7b2JqZWN0Rml0OiJmaWxsIixmaWx0ZXI6RyYmIVEuaW1hZ2VEb3duPyJicmlnaHRuZXNzKDEuNCkiOnZvaWQgMCx0cmFuc2l0aW9uOiJmaWx0ZXIgMC4xMnMgZWFzZSIsV2Via2l0VXNlckRyYWc6Im5vbmUifX0pfSl9ZnVuY3Rpb24gSDYoJCl7cmV0dXJuICQuc3BsaXQoIi0iKS5tYXAoKFEpPT5RLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK1Euc2xpY2UoMSkpLmpvaW4oIiAiKX1mdW5jdGlvbiBTUSh7Y2hyb21lOiR9KXtpZighJC5zbGljZXx8ISQuY29ybmVyKXJldHVybiBudWxsO2xldHtib2R5OlEsY29ybmVyOkosc2xpY2U6WH09JCxLPU1hdGgubWF4KFEud2lkdGgtSi53aWR0aCoyLDApLFk9TWF0aC5tYXgoUS5oZWlnaHQtSi5oZWlnaHQqMiwwKSxxPVt7a2V5OiJ0b3AtbGVmdCIsaW1hZ2U6WC50b3BMZWZ0LHJlY3Q6e3g6US54LHk6US55LHdpZHRoOkoud2lkdGgsaGVpZ2h0OkouaGVpZ2h0fX0se2tleToidG9wLXJpZ2h0IixpbWFnZTpYLnRvcFJpZ2h0LHJlY3Q6e3g6US54K1Eud2lkdGgtSi53aWR0aCx5OlEueSx3aWR0aDpKLndpZHRoLGhlaWdodDpKLmhlaWdodH19LHtrZXk6ImJvdHRvbS1sZWZ0IixpbWFnZTpYLmJvdHRvbUxlZnQscmVjdDp7eDpRLngseTpRLnkrUS5oZWlnaHQtSi5oZWlnaHQsd2lkdGg6Si53aWR0aCxoZWlnaHQ6Si5oZWlnaHR9fSx7a2V5OiJib3R0b20tcmlnaHQiLGltYWdlOlguYm90dG9tUmlnaHQscmVjdDp7eDpRLngrUS53aWR0aC1KLndpZHRoLHk6US55K1EuaGVpZ2h0LUouaGVpZ2h0LHdpZHRoOkoud2lkdGgsaGVpZ2h0OkouaGVpZ2h0fX0se2tleToidG9wIixpbWFnZTpYLnRvcCxyZWN0Ont4OlEueCtKLndpZHRoLHk6US55LHdpZHRoOkssaGVpZ2h0OkouaGVpZ2h0fX0se2tleToiYm90dG9tIixpbWFnZTpYLmJvdHRvbSxyZWN0Ont4OlEueCtKLndpZHRoLHk6US55K1EuaGVpZ2h0LUouaGVpZ2h0LHdpZHRoOkssaGVpZ2h0OkouaGVpZ2h0fX0se2tleToibGVmdCIsaW1hZ2U6WC5sZWZ0LHJlY3Q6e3g6US54LHk6US55K0ouaGVpZ2h0LHdpZHRoOkoud2lkdGgsaGVpZ2h0Oll9fSx7a2V5OiJyaWdodCIsaW1hZ2U6WC5yaWdodCxyZWN0Ont4OlEueCtRLndpZHRoLUoud2lkdGgseTpRLnkrSi5oZWlnaHQsd2lkdGg6Si53aWR0aCxoZWlnaHQ6WX19XTtyZXR1cm4gWihRMSx7Y2hpbGRyZW46cS5maWx0ZXIoKEcpPT5HLnJlY3Qud2lkdGg+MCYmRy5yZWN0LmhlaWdodD4wKS5tYXAoKEcpPT5aKEM2LHtjaHJvbWU6JCxpbWFnZTpHLmltYWdlLHJlY3Q6Ry5yZWN0LHpJbmRleDoxfSxHLmtleSkpfSl9ZnVuY3Rpb24gQzYoe2Nocm9tZTokLGltYWdlOlEscmVjdDpKLHpJbmRleDpYfSl7cmV0dXJuIFooImltZyIse2FsdDoiIiwiYXJpYS1oaWRkZW4iOiEwLGRyYWdnYWJsZTohMSxzcmM6TzYoJC5pZGVudGlmaWVyLFEpLGNsYXNzTmFtZToiYWJzb2x1dGUgc2VsZWN0LW5vbmUiLHN0eWxlOnsuLi50MygkLEosWCksb2JqZWN0Rml0OiJmaWxsIixwb2ludGVyRXZlbnRzOiJub25lIixXZWJraXRVc2VyRHJhZzoibm9uZSJ9fSl9ZnVuY3Rpb24gTzYoJCxRKXtsZXQgSj1gZ3JpZC9hcGkvZGV2aWNla2l0LWNocm9tZT9jaHJvbWU9JHtlbmNvZGVVUklDb21wb25lbnQoJCl9JmltYWdlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KFEpfWA7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUiP2AvJHtKfWA6djEoSil9ZnVuY3Rpb24gdDMoJCxRLEope3JldHVybntsZWZ0Om01KFEueCwkLmZyYW1lLndpZHRoKSx0b3A6bTUoUS55LCQuZnJhbWUuaGVpZ2h0KSx3aWR0aDptNShRLndpZHRoLCQuZnJhbWUud2lkdGgpLGhlaWdodDptNShRLmhlaWdodCwkLmZyYW1lLmhlaWdodCksekluZGV4Okp9fWZ1bmN0aW9uIG01KCQsUSl7cmV0dXJuYCR7JC9RKjEwMH0lYH1mdW5jdGlvbiBGNih7bmFtZTokLHJ1bnRpbWU6USxjaHJvbWU6SixwbGFjZWhvbGRlckFzc2V0OlgsYnVzeTpLLGJ1c3lMYWJlbDpZPSJTdGFydGluZ+KApiIsZXJyb3I6cSxvblN0YXJ0Okd9KXtsZXQgQj1FMCgkKSxOPVMxW0JdLHo9WD8/bnVsbCxWPXo/bnVsbDpKPz9udWxsLFU9Vj97d2lkdGg6Vi5zY3JlZW4ud2lkdGgsaGVpZ2h0OlYuc2NyZWVuLmhlaWdodH06TjIoQiwkKSxDPXoyKEIsVSksTT16P3hRKEIsei5uYW1lKTpWP0MqVi5mcmFtZS53aWR0aC9WLnNjcmVlbi53aWR0aDpDKk4ud2lkdGgvKE4ud2lkdGgtMipOLmJlemVsWCksTD16P3t3aWR0aDp6LndpZHRoLGhlaWdodDp6LmhlaWdodH06Vj97d2lkdGg6Vi5mcmFtZS53aWR0aCxoZWlnaHQ6Vi5mcmFtZS5oZWlnaHR9Ont3aWR0aDpOLndpZHRoLGhlaWdodDpOLmhlaWdodH0sSD1gJHtMLndpZHRofSAvICR7TC5oZWlnaHR9YCxPPShMLndpZHRoL0wuaGVpZ2h0KmpRKEIpKS50b0ZpeGVkKDIpLFc9Qj09PSJ2aXNpb24iP1ooaFEse30pOloodlEse3R5cGU6Qn0pO3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC01IG1pbi13LTAgdy1mdWxsIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSB3LWZ1bGwiLHN0eWxlOnt3aWR0aDpgbWluKDEwMCUsICR7TX1weCwgJHtPfWR2aClgLG1heFdpZHRoOk0sYXNwZWN0UmF0aW86SH0sY2hpbGRyZW46ej9aKFJRLHtuYW1lOnoubmFtZSxmYWxsYmFjazpXfSk6Vj9aKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgcG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46WihwNSx7Y2hyb21lOlZ9KX0pOld9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtY2VudGVyIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxN3B4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvOTAiLGNoaWxkcmVuOiR9KSxaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOltmNShRKSwiIFNpbXVsYXRvciJdfSldfSkscSYmWigiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWRhbmdlciB0ZXh0LVsxMnB4XSBmb250LW1vbm8gbWF4LXctOTAgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOnF9KSxaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6RyxkaXNhYmxlZDpLLGNsYXNzTmFtZTpgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtNSBweS0yIHJvdW5kZWQtZnVsbCB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzXSAke0s/ImJnLXdoaXRlLzggdGV4dC13aGl0ZS81NSBjdXJzb3ItZGVmYXVsdCI6ImJnLXdoaXRlLzEyIHRleHQtd2hpdGUvOTAgaG92ZXI6Ymctd2hpdGUvMTggY3Vyc29yLXBvaW50ZXIifWAsY2hpbGRyZW46W0smJlooInNwYW4iLHsiYXJpYS1oaWRkZW4iOiEwLGNsYXNzTmFtZToic2l6ZS0zLjUgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZS8yNSBhbmltYXRlLVtncmlkLXNwaW5fMC44c19saW5lYXJfaW5maW5pdGVdIixzdHlsZTp7Ym9yZGVyVG9wQ29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC45KSJ9fSksSz9ZOiJTdGFydCJdfSldfSl9ZnVuY3Rpb24geFEoJCxRKXtpZigkPT09IndhdGNoIil7aWYoUS5pbmNsdWRlcygidWx0cmEiKSlyZXR1cm4gMjU1O2lmKFEuaW5jbHVkZXMoIndhdGNoLXNlLSIpfHxRLmluY2x1ZGVzKCJhcHBsZS13YXRjaC1zZS0iKSlyZXR1cm4gMjM4O3JldHVybiAyNTB9aWYoJD09PSJ2aXNpb24iKXJldHVybiAzOTA7aWYoJD09PSJpcGFkIilyZXR1cm4gMzQwO3JldHVybiAyODB9ZnVuY3Rpb24galEoJCl7aWYoJD09PSJ2aXNpb24iKXJldHVybiAzNDtpZigkPT09ImlwYWQiKXJldHVybiA1MDtpZigkPT09IndhdGNoIilyZXR1cm4gNTY7cmV0dXJuIDUyfWZ1bmN0aW9uIHZRKHt0eXBlOiR9KXtsZXQgUT1TMVskXTtyZXR1cm4gWihRMSx7Y2hpbGRyZW46W1ooInN2ZyIse3ZpZXdCb3g6YDAgMCAke1Eud2lkdGh9ICR7US5oZWlnaHR9YCxjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgc2l6ZS1mdWxsIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJ4TWlkWU1pZCBtZWV0IixjaGlsZHJlbjpbWigiZGVmcyIse2NoaWxkcmVuOlooImxpbmVhckdyYWRpZW50Iix7aWQ6InBsYWNlaG9sZGVyLXNjcmVlbiIseDE6IjAiLHkxOiIwIix4MjoiMSIseTI6IjEiLGNoaWxkcmVuOltaKCJzdG9wIix7b2Zmc2V0OiIwJSIsc3RvcENvbG9yOiIjNmZhOGU2In0pLFooInN0b3AiLHtvZmZzZXQ6IjU1JSIsc3RvcENvbG9yOiIjNWI5M2Q2In0pLFooInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjoiIzUxODhjZiJ9KV19KX0pLFooInJlY3QiLHt4OlEuYmV6ZWxYLHk6US5iZXplbFksd2lkdGg6US53aWR0aC0yKlEuYmV6ZWxYLGhlaWdodDpRLmhlaWdodC0yKlEuYmV6ZWxZLHJ4OlEuaW5uZXJSYWRpdXMsZmlsbDoidXJsKCNwbGFjZWhvbGRlci1zY3JlZW4pIn0pXX0pLFooImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjpaKFQ1LHt0eXBlOiR9KX0pXX0pfWZ1bmN0aW9uIFJRKHtuYW1lOiQsZmFsbGJhY2s6UX0pe2xldFtKLFhdPWsoImxvYWRpbmciKTtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHNpemUtZnVsbCBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjpbSiE9PSJsb2FkZWQiJiZRLEohPT0iZXJyb3IiJiZaKCJpbWciLHthbHQ6IiIsImFyaWEtaGlkZGVuIjohMCxkcmFnZ2FibGU6ITEsc3JjOmdRKCQpLGNsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBzaXplLWZ1bGwgc2VsZWN0LW5vbmUgb2JqZWN0LWNvbnRhaW4iLHN0eWxlOntXZWJraXRVc2VyRHJhZzoibm9uZSJ9LG9uTG9hZDooKT0+WCgibG9hZGVkIiksb25FcnJvcjooKT0+WCgiZXJyb3IiKX0pXX0pfWZ1bmN0aW9uIGhRKCl7bGV0e3dpZHRoOiQsaGVpZ2h0OlF9PVMxLnZpc2lvbjtyZXR1cm4gWigic3ZnIix7dmlld0JveDpgMCAwICR7JH0gJHtRfWAsY2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHNpemUtZnVsbCIscHJlc2VydmVBc3BlY3RSYXRpbzoieE1pZFlNaWQgbWVldCIsZmlsbDoibm9uZSIsImFyaWEtaGlkZGVuIjohMCxjaGlsZHJlbjpbWigiZGVmcyIse2NoaWxkcmVuOltaKCJsaW5lYXJHcmFkaWVudCIse2lkOiJ2aXNpb24tcGxhY2Vob2xkZXItc2hlbGwiLHgxOiIwIix5MToiMCIseDI6IjAiLHkyOiIxIixjaGlsZHJlbjpbWigic3RvcCIse29mZnNldDoiMCUiLHN0b3BDb2xvcjoiIzI4MjgyYiJ9KSxaKCJzdG9wIix7b2Zmc2V0OiI1NCUiLHN0b3BDb2xvcjoiIzEyMTIxNCJ9KSxaKCJzdG9wIix7b2Zmc2V0OiIxMDAlIixzdG9wQ29sb3I6IiMwNzA3MDgifSldfSksWigibGluZWFyR3JhZGllbnQiLHtpZDoidmlzaW9uLXBsYWNlaG9sZGVyLWdsYXNzIix4MToiMCIseTE6IjAiLHgyOiIxIix5MjoiMSIsY2hpbGRyZW46W1ooInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6IiMzMTM1M2EifSksWigic3RvcCIse29mZnNldDoiNDglIixzdG9wQ29sb3I6IiMwYTBiMGQifSksWigic3RvcCIse29mZnNldDoiMTAwJSIsc3RvcENvbG9yOiIjMDEwMTAyIn0pXX0pLFooInJhZGlhbEdyYWRpZW50Iix7aWQ6InZpc2lvbi1wbGFjZWhvbGRlci1sZW5zIixjeDoiNTAlIixjeToiNDYlIixyOiI2MCUiLGNoaWxkcmVuOltaKCJzdG9wIix7b2Zmc2V0OiIwJSIsc3RvcENvbG9yOiIjMjAyODMyIn0pLFooInN0b3AiLHtvZmZzZXQ6IjcyJSIsc3RvcENvbG9yOiIjMDkwYTBkIn0pLFooInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjoiIzAxMDEwMiJ9KV19KV19KSxaKCJwYXRoIix7ZDoiTTk1IDE3N0M5NSAxMTkgMTQ3IDg2IDIxOCA5MUMyNTcgOTQgMjg2IDExMSAzMjAgMTExQzM1NCAxMTEgMzgzIDk0IDQyMiA5MUM0OTMgODYgNTQ1IDExOSA1NDUgMTc3VjIyMkM1NDUgMjc4IDUwMSAzMTEgNDQzIDMxMEMzOTggMzA5IDM3MSAyODYgMzQ1IDI2OEMzMjkgMjU3IDMxMSAyNTcgMjk1IDI2OEMyNjkgMjg2IDI0MiAzMDkgMTk3IDMxMEMxMzkgMzExIDk1IDI3OCA5NSAyMjJWMTc3WiIsZmlsbDoidXJsKCN2aXNpb24tcGxhY2Vob2xkZXItc2hlbGwpIixzdHJva2U6IiMzZDNkNDIiLHN0cm9rZVdpZHRoOiI3In0pLFooInBhdGgiLHtkOiJNMTE3IDE4MUMxMTcgMTM0IDE1NyAxMTIgMjIwIDExNkMyNjAgMTE5IDI4NyAxMzYgMzIwIDEzNkMzNTMgMTM2IDM4MCAxMTkgNDIwIDExNkM0ODMgMTEyIDUyMyAxMzQgNTIzIDE4MVYyMTdDNTIzIDI2MyA0ODggMjg3IDQzOSAyODdDMzk5IDI4NyAzNjkgMjY0IDM0NSAyNTBDMzI5IDI0MCAzMTEgMjQwIDI5NSAyNTBDMjcxIDI2NCAyNDEgMjg3IDIwMSAyODdDMTUyIDI4NyAxMTcgMjYzIDExNyAyMTdWMTgxWiIsZmlsbDoidXJsKCN2aXNpb24tcGxhY2Vob2xkZXItZ2xhc3MpIixzdHJva2U6IiMxNzE4MWIiLHN0cm9rZVdpZHRoOiI1In0pLFooInBhdGgiLHtkOiJNMTQzIDE4NkMxNDUgMTQ4IDE3NiAxMzUgMjI2IDEzOEMyNjQgMTQxIDI4OSAxNTYgMzIwIDE1NkMzNTEgMTU2IDM3NiAxNDEgNDE0IDEzOEM0NjQgMTM1IDQ5NSAxNDggNDk3IDE4NlYyMTNDNDk3IDI1MCA0NjkgMjY2IDQzMiAyNjZDMzk0IDI2NiAzNjkgMjQ2IDM0MyAyMzVDMzI4IDIyOSAzMTIgMjI5IDI5NyAyMzVDMjcxIDI0NiAyNDYgMjY2IDIwOCAyNjZDMTcxIDI2NiAxNDMgMjUwIDE0MyAyMTNWMTg2WiIsZmlsbDoidXJsKCN2aXNpb24tcGxhY2Vob2xkZXItbGVucykiLHN0cm9rZToiIzI2MmEyZiIsc3Ryb2tlV2lkdGg6IjIifSksWigicGF0aCIse2Q6Ik0xNTEgMTcxQzE3OSAxNTAgMjE3IDE0NyAyNTEgMTU0TTM4OSAxNTRDNDIzIDE0NyA0NjEgMTUwIDQ4OSAxNzEiLHN0cm9rZToiIzRlNTM1YSIsc3Ryb2tlV2lkdGg6IjMiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLFooInBhdGgiLHtkOiJNMjc3IDIzM0MyODkgMjI0IDMwNCAyMTkgMzIwIDIxOUMzMzYgMjE5IDM1MSAyMjQgMzYzIDIzMyIsc3Ryb2tlOiIjM2I0MDQ2IixzdHJva2VXaWR0aDoiNCIsc3Ryb2tlTGluZWNhcDoicm91bmQifSldfSl9ZnVuY3Rpb24gZ1EoJCl7bGV0IFE9YGdyaWQvYXBpL2RldmljZS1wbGFjZWhvbGRlci1hc3NldD9uYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQpfWA7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUiP2AvJHtRfWA6djEoUSl9ZnVuY3Rpb24gQzIoe29wZW46JCx3aWR0aDpRLGNoaWxkcmVuOkosc3R5bGU6WCxzaWRlOks9InJpZ2h0In0pe3JldHVybiBaKCJhc2lkZSIse2NsYXNzTmFtZTpgZml4ZWQgei0zNSBtaW4tdy0wIG92ZXJmbG93LWhpZGRlbiBiZy1wYW5lbC1iZyB0ZXh0LXdoaXRlLzkwIGJhY2tkcm9wLWJsdXItWzE4cHhdIFtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLHN5c3RlbS11aSxzYW5zLXNlcmlmXSBbdHJhbnNpdGlvbjp0cmFuc2Zvcm1fMC4yNXNfZWFzZSxvcGFjaXR5XzAuMnNfZWFzZV0gZmxleCBmbGV4LWNvbCAke0s9PT0ibGVmdCI/InRvcC0wIGJvdHRvbS0wIGxlZnQtMCByb3VuZGVkLW5vbmUgYm9yZGVyLTAgYm9yZGVyLXIgYm9yZGVyLXdoaXRlLzEwIHNoYWRvdy1bOHB4XzBfMzJweF9yZ2JhKDAsMCwwLDAuMzUpXSI6InRvcC0zIGJvdHRvbS0zIHJpZ2h0LTMgcm91bmRlZC1bMTRweF0gYm9yZGVyIGJvcmRlci13aGl0ZS8xMCBzaGFkb3ctWzBfMTJweF80MHB4X3JnYmEoMCwwLDAsMC41NSldIn1gLHN0eWxlOnt3aWR0aDpRLHRyYW5zZm9ybTokPyJ0cmFuc2xhdGVYKDApIjpLPT09ImxlZnQiPyJ0cmFuc2xhdGVYKC0xMDAlKSI6InRyYW5zbGF0ZVgoY2FsYygxMDAlICsgMjRweCkpIixvcGFjaXR5OiQ/MTowLHBvaW50ZXJFdmVudHM6JD8iYXV0byI6Im5vbmUiLC4uLlh9LCJhcmlhLWhpZGRlbiI6ISQsY2hpbGRyZW46Sn0pfWZ1bmN0aW9uIE8yKHtjaGlsZHJlbjokLHN0eWxlOlF9KXtyZXR1cm4gWigiaGVhZGVyIix7Y2xhc3NOYW1lOiJmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIuNSBweC0yLjUgcHktMS41IHBsLTMiLHN0eWxlOlEsY2hpbGRyZW46JH0pfWZ1bmN0aW9uIE02KHtjaGlsZHJlbjokfSl7cmV0dXJuIFooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUvNTUiLGNoaWxkcmVuOiR9KX1mdW5jdGlvbiB1NSh7b25DbGljazokLGFyaWFMYWJlbDpRPSJDbG9zZSBwYW5lbCIsdGl0bGU6SixpY29uU2l6ZTpYPTE2fSl7cmV0dXJuIFooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazokLGNsYXNzTmFtZToiZmxleCBoLVszMHB4XSB3LVszMHB4XSBzaHJpbmstMCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXItbm9uZSBiZy10cmFuc3BhcmVudCBwLTAgdGV4dC1bIzhlOGU5M10gW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtbGFiZWwiOlEsdGl0bGU6SixjaGlsZHJlbjpaKEwwLHtzaXplOlgsc3Ryb2tlV2lkdGg6Mn0pfSl9ZnVuY3Rpb24gQTYoJCxRKXtsZXRbSixYXT1rKG51bGwpO3JldHVybiB5KCgpPT57aWYoIVF8fCEkKXJldHVybjtsZXQgSz0hMSxZPWFzeW5jKCk9Pnt0cnl7bGV0IEI9YXdhaXQoYXdhaXQgZmV0Y2goJCx7Y2FjaGU6Im5vLXN0b3JlIn0pKS5qc29uKCk7aWYoIUspWChCKX1jYXRjaHt9fTtZKCk7bGV0IHE9c2V0SW50ZXJ2YWwoWSw1MDAwKTtyZXR1cm4oKT0+e0s9ITAsY2xlYXJJbnRlcnZhbChxKX19LFskLFFdKSxKfWZ1bmN0aW9uIGs2KHtyZXBvcnQ6JH0pe2lmKCEkfHwkLnRvdGFsQnl0ZXM9PT0wKXJldHVybiBudWxsO2xldHtlc3RpbWF0ZWRBZGRpdGlvbmFsOlEsYXZhaWxhYmxlQnl0ZXM6Six0b3RhbEJ5dGVzOlgscnVubmluZ1NpbXVsYXRvcnM6S309JCxZPU1hdGgubWF4KDAsTWF0aC5taW4oMSwxLUovWCkpLHE9SytRLEc9UT09PTA/IiNlNjYiOlE8PTE/IiNlOWExM2IiOiIjM2IzIixCPVk+MC45PyIjZTY2IjpZPjAuNzU/IiNlOWExM2IiOiIjM2IzIjtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJpbmxpbmUtZmxleCBtYXgtdy1mdWxsIG1pbi13LTAgZmxleC1ub3dyYXAgaXRlbXMtY2VudGVyIGdhcC0xLjUgb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHB4LTIgcHktWzNweF0gcm91bmRlZC1mdWxsIGJnLVsjMTAxMDEwXSBib3JkZXIgYm9yZGVyLVsjMjIyXSBmb250LW1vbm8gdGV4dC1bMTFweF0gdGV4dC13aGl0ZS83MCBsZWFkaW5nLW5vbmUiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJzaXplLTEuNSByb3VuZGVkLVszcHhdIHNocmluay0wIixzdHlsZTp7YmFja2dyb3VuZDpHfX0pLFooInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAgdHJ1bmNhdGUiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2hpbGRyZW46W0ssIi8iLHEsIiBzaW1zIl19KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzQwIixjaGlsZHJlbjoiIMK3ICJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzU1IixjaGlsZHJlbjpbTDYoSiksIiBmcmVlIl19KV19KSxaKCJzcGFuIix7ImFyaWEtaGlkZGVuIjohMCxjbGFzc05hbWU6Im1sLTAuNSB3LTcgaC1bM3B4XSBzaHJpbmstMCBiZy1bIzFjMWMxY10gcm91bmRlZC1bMnB4XSBvdmVyZmxvdy1oaWRkZW4gaW5saW5lLWJsb2NrIixjaGlsZHJlbjpaKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBoLWZ1bGwgdHJhbnNpdGlvbi1bd2lkdGgsYmFja2dyb3VuZF0gZHVyYXRpb24tMzAwIGVhc2Utb3V0IixzdHlsZTp7d2lkdGg6YCR7KFkqMTAwKS50b0ZpeGVkKDEpfSVgLGJhY2tncm91bmQ6Qn19KX0pXX0pfWZ1bmN0aW9uIFc2KHt0eXBlOiQsc2l6ZTpRPTIwLHNjcmVlbk9uOko9ITF9KXtsZXQgWD17d2lkdGg6USxoZWlnaHQ6USx2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoxLjYsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9O3N3aXRjaCgkKXtjYXNlImlwYWQiOnJldHVybiBaKCJzdmciLHsuLi5YLGNoaWxkcmVuOltKJiZaKCJyZWN0Iix7eDoiNSIseToiMyIsd2lkdGg6IjE1IixoZWlnaHQ6IjE5IixyeDoiMS42NSIsZmlsbDoiIzQ3YjdmZiIsc3Ryb2tlOiJub25lIiwiZGF0YS10ZXN0aWQiOiJkZXZpY2UtZ2x5cGgtc2NyZWVuLW9uIn0pLFooInJlY3QiLHt4OiI0Iix5OiIyLjUiLHdpZHRoOiIxNiIsaGVpZ2h0OiIxOSIscng6IjIuNSJ9KSxaKCJsaW5lIix7eDE6IjEyIix5MToiMTguNSIseDI6IjEyIix5MjoiMTguNSJ9KV19KTtjYXNlIndhdGNoIjpyZXR1cm4gWigic3ZnIix7Li4uWCxjaGlsZHJlbjpbWigicmVjdCIse3g6IjYuNSIseToiNyIsd2lkdGg6IjExIixoZWlnaHQ6IjEwIixyeDoiMyJ9KSxaKCJwYXRoIix7ZDoiTTguNSA3bC42LTMuMkExLjUgMS41IDAgMCAxIDEwLjYgMi41aDIuOGExLjUgMS41IDAgMCAxIDEuNSAxLjNMMTUuNSA3In0pLFooInBhdGgiLHtkOiJNOC41IDE3bC42IDMuMmExLjUgMS41IDAgMCAwIDEuNSAxLjNoMi44YTEuNSAxLjUgMCAwIDAgMS41LTEuM2wuNi0zLjIifSldfSk7Y2FzZSJ2aXNpb24iOnJldHVybiBaKCJzdmciLHsuLi5YLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNMyAxMWE0IDQgMCAwIDEgNC00aDEwYTQgNCAwIDAgMSA0IDR2Mi41YTIuNSAyLjUgMCAwIDEtMi41IDIuNWMtMS44IDAtMi41LTEuMi0zLjUtMS44LS45LS41LTEuNi0uNy0yLjUtLjdzLTEuNi4yLTIuNS43Yy0xIC42LTEuNyAxLjgtMy41IDEuOEEyLjUgMi41IDAgMCAxIDMgMTMuNXoifSl9KTtkZWZhdWx0OnJldHVybiBaKCJzdmciLHsuLi5YLGNoaWxkcmVuOltKJiZaKCJyZWN0Iix7eDoiNiIseToiMyIsd2lkdGg6IjExIixoZWlnaHQ6IjE5IixyeDoiMiIsZmlsbDoiIzQ3YjdmZiIsc3Ryb2tlOiJub25lIiwiZGF0YS10ZXN0aWQiOiJkZXZpY2UtZ2x5cGgtc2NyZWVuLW9uIn0pLFooInJlY3QiLHt4OiI2LjUiLHk6IjIuNSIsd2lkdGg6IjExIixoZWlnaHQ6IjE5IixyeDoiMi44In0pLFooImxpbmUiLHt4MToiMTAuNSIseTE6IjUiLHgyOiIxMy41Iix5MjoiNSJ9KV19KX19ZnVuY3Rpb24gXzYoe2RldmljZTokLGFjdGl2ZTpRLHN0YXJ0aW5nOkosc2h1dHRpbmdEb3duOlgsb25TZWxlY3Q6SyxvblNodXRkb3duOll9KXtsZXQgcT0kLmhlbHBlcixHPSQuc3RhdGU9PT0iQm9vdGVkIixCPUUwKCQubmFtZSksTj1VNigkLnJ1bnRpbWUpLHo9cT8iU3RyZWFtaW5nIjpKP0c/IlN0YXJ0aW5n4oCmIjoiQm9vdGluZ+KApiI6WD8iU2h1dHRpbmcgZG93buKApiI6Rz8iQm9vdGVkIjpudWxsLFY9cT8iIzM0ZDM5OSI6Rz8iI2U5YTEzYiI6bnVsbCxVPXF8fEcsQz1xP1E/ImJnLVsjMjYzNjRjXSI6ImJnLVsjMjAyYjNhXSI6UT8iYmctd2hpdGUvMTUiOiJiZy13aGl0ZS82IixNPXE/InRleHQtWyNkMmU3ZmZdIjpRPyJ0ZXh0LXdoaXRlLzkwIjoidGV4dC13aGl0ZS81NSI7cmV0dXJuIFooImRpdiIse3JvbGU6ImJ1dHRvbiIsdGFiSW5kZXg6MCwiYXJpYS1wcmVzc2VkIjpRLG9uQ2xpY2s6SyxvbktleURvd246KEwpPT57aWYoTC5rZXk9PT0iRW50ZXIifHxMLmtleT09PSIgIilMLnByZXZlbnREZWZhdWx0KCksSygpfSxjbGFzc05hbWU6YGdyb3VwIHJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgcHgtMiBweS0xLjUgcm91bmRlZC1sZyBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTJzXSAke1E/ImJnLXdoaXRlLzEwIHRleHQtd2hpdGUiOiJ0ZXh0LXdoaXRlLzkwIGhvdmVyOmJnLXdoaXRlLzgifWAsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZTpgcmVsYXRpdmUgc2hyaW5rLTAgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgc2l6ZS05IHJvdW5kZWQtWzlweF0gb3ZlcmZsb3ctaGlkZGVuICR7Q31gLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOk0sY2hpbGRyZW46WihXNix7dHlwZTpCLHNjcmVlbk9uOkJvb2xlYW4ocSl9KX0pLFYmJiFxJiZaKCJzcGFuIix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMC41IHJpZ2h0LTAuNSBzaXplLTEuNSByb3VuZGVkLWZ1bGwgcmluZy0yIHJpbmctWyMxYzFjMWVdIixzdHlsZTp7YmFja2dyb3VuZDpWfX0pXX0pLFooImRpdiIse2NsYXNzTmFtZToibWluLXctMCBmbGV4LTEiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InRydW5jYXRlIHRleHQtWzEzcHhdIGZvbnQtc2VtaWJvbGQgbGVhZGluZy10aWdodCIsY2hpbGRyZW46JC5uYW1lfSkseiYmWigiZGl2Iix7Y2xhc3NOYW1lOmB0cnVuY2F0ZSB0ZXh0LVsxMXB4XSBsZWFkaW5nLXRpZ2h0ICR7cT8idGV4dC1bIzM0ZDM5OV0iOlE/InRleHQtd2hpdGUvNzUiOiJ0ZXh0LXdoaXRlLzQ1In1gLGNoaWxkcmVuOnp9KV19KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2Utcm93LXRyYWlsaW5nLXNsb3QiLGNsYXNzTmFtZToicmVsYXRpdmUgc2hyaW5rLTAgdy04IGgtNiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZCIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6YGFic29sdXRlIHJpZ2h0LTAgdGV4dC1bMTFweF0gZm9udC1tb25vIHRhYnVsYXItbnVtcyBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMTJzXSAke1E/InRleHQtd2hpdGUvODUiOiJ0ZXh0LXdoaXRlLzQwIn0gJHtVPyJncm91cC1ob3ZlcjpvcGFjaXR5LTAgZ3JvdXAtZm9jdXMtd2l0aGluOm9wYWNpdHktMCI6IiJ9YCxjaGlsZHJlbjpOfSksVSYmWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIix0aXRsZTpYPyJTaHV0dGluZyBkb3du4oCmIjoiU2h1dCBkb3duIHNpbXVsYXRvciIsImFyaWEtbGFiZWwiOiJTaHV0IGRvd24gc2ltdWxhdG9yIixvbkNsaWNrOihMKT0+e0wucHJldmVudERlZmF1bHQoKSxMLnN0b3BQcm9wYWdhdGlvbigpLFkoKX0sZGlzYWJsZWQ6WCxjbGFzc05hbWU6YGFic29sdXRlIHJpZ2h0LTAgdG9wLTEvMiAtdHJhbnNsYXRlLXktMS8yIGdyaWQgcGxhY2UtaXRlbXMtY2VudGVyIHNpemUtNSByb3VuZGVkLW1kIG9wYWNpdHktMCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCBmb2N1cy12aXNpYmxlOm9wYWNpdHktMTAwIFt0cmFuc2l0aW9uOm9wYWNpdHlfMC4xMnMsYmFja2dyb3VuZF8wLjEycyxjb2xvcl8wLjEyc10gJHtRPyJ0ZXh0LXdoaXRlLzgwIGhvdmVyOmJnLXdoaXRlLzIwIjoidGV4dC13aGl0ZS83MCBob3ZlcjpiZy13aGl0ZS8xMiBob3Zlcjp0ZXh0LXdoaXRlIn1gLGNoaWxkcmVuOlooTDAse3NpemU6MTMsc3Ryb2tlV2lkdGg6Mi4yfSl9KV19KV19KX12YXIgRjI9InZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZykiLGUzPSJ2YXIoLS1zZXJ2ZS1zaW0tcGFuZWwtYmctdHJhbnNwYXJlbnQpIjt2YXIgZlE9MTI7ZnVuY3Rpb24gRDYoe29wZW46JCxvbkNsb3NlOlEsd2lkdGg6SixzaWRlOlg9InJpZ2h0IixkZXZpY2VzOkssdG90YWw6WT0wLGhhc01vcmU6cT0hMSxvbkxvYWRNb3JlOkcsb25Mb2FkQWxsOkIsb25SZXNldFBhZ2U6TixzZWxlY3RlZFVkaWQ6eixvblNlbGVjdDpWLHN0YXJ0aW5nOlUsc2h1dHRpbmdEb3duOkMsb25TaHV0ZG93bjpNfSl7bGV0IEg9KHR5cGVvZiB3aW5kb3c+InUiP3ZvaWQgMDp3aW5kb3cuX19TSU1fUFJFVklFV19fKT8uZ3JpZE1lbW9yeUVuZHBvaW50Pz8odHlwZW9mIHdpbmRvdz4idSI/dm9pZCAwOnYxKCJncmlkL2FwaS9tZW1vcnkiKSksTz1BNihILCQpLFtXLFRdPWsoIiIpLFA9RDEoKCk9PntsZXQgUj1XLnRyaW0oKS50b0xvd2VyQ2FzZSgpO2lmKCFSfHwhSylyZXR1cm4gSztyZXR1cm4gSy5maWx0ZXIoKGQpPT5kLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhSKXx8ZjUoZC5ydW50aW1lKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFIpKX0sW0ssV10pLHg9dyghMSk7eSgoKT0+e2xldCBSPSEhVy50cmltKCk7aWYoUiYmcSlCPy4oKTtlbHNlIGlmKCFSJiZ4LmN1cnJlbnQpTj8uKCk7eC5jdXJyZW50PVJ9LFtXLHEsQixOXSk7bGV0IEQ9dyhudWxsKTtyZXR1cm4gWihDMix7b3BlbjokLHdpZHRoOkosc2lkZTpYLHN0eWxlOntiYWNrZ3JvdW5kQ29sb3I6RjJ9LGNoaWxkcmVuOltaKE8yLHtzdHlsZTp7anVzdGlmeUNvbnRlbnQ6ImZsZXgtc3RhcnQiLHBhZGRpbmdMZWZ0OjE2LHBhZGRpbmdUb3A6MTYsZ2FwOjR9LGNoaWxkcmVuOltaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6USxjbGFzc05hbWU6ImZsZXggaC1bMzBweF0gdy1bMzBweF0gc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyLW5vbmUgYmctdHJhbnNwYXJlbnQgdGV4dC1bIzhlOGU5M10gW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtbGFiZWwiOiJDbG9zZSBkZXZpY2VzIHNpZGViYXIiLCJhcmlhLXByZXNzZWQiOiEwLHRpdGxlOiJEZXZpY2VzIixjaGlsZHJlbjpaKHcwLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuNzV9KX0pLFooaDUse30pXX0pLFooImRpdiIse2NsYXNzTmFtZToicHgtNCBwYi0yIHB0LTAuNSBzaHJpbmstMCIsY2hpbGRyZW46WigibGFiZWwiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTIuNSBoLTggcm91bmRlZC1sZyBiZy13aGl0ZS82IGZvY3VzLXdpdGhpbjpiZy13aGl0ZS8xMCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTJzXSIsY2hpbGRyZW46W1ooYzIse3NpemU6MTQsc3Ryb2tlV2lkdGg6MixjbGFzc05hbWU6InRleHQtd2hpdGUvNDAgc2hyaW5rLTAifSksWigiaW5wdXQiLHt2YWx1ZTpXLG9uQ2hhbmdlOihSKT0+VChSLnRhcmdldC52YWx1ZSkscGxhY2Vob2xkZXI6IlNlYXJjaCIsY2xhc3NOYW1lOiJtaW4tdy0wIGZsZXgtMSBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSBvdXRsaW5lLW5vbmUgdGV4dC1bMTNweF0gdGV4dC13aGl0ZS85MCBwbGFjZWhvbGRlcjp0ZXh0LXdoaXRlLzQwIn0pLFcmJlooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsImFyaWEtbGFiZWwiOiJDbGVhciBzZWFyY2giLG9uQ2xpY2s6KCk9PlQoIiIpLGNsYXNzTmFtZToic2hyaW5rLTAgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgc2l6ZS00IHJvdW5kZWQtZnVsbCBiZy13aGl0ZS8xNSB0ZXh0LXdoaXRlLzcwIGhvdmVyOmJnLXdoaXRlLzI1IixjaGlsZHJlbjpaKEwwLHtzaXplOjksc3Ryb2tlV2lkdGg6M30pfSldfSl9KSxaKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIGZsZXgtMSBtaW4taC0wIixjaGlsZHJlbjpbWigiZGl2Iix7cmVmOkQsb25TY3JvbGw6KCk9PntpZihXLnRyaW0oKXx8IXF8fCFHKXJldHVybjtsZXQgUj1ELmN1cnJlbnQ7aWYoIVIpcmV0dXJuO2lmKFIuc2Nyb2xsVG9wK1IuY2xpZW50SGVpZ2h0Pj1SLnNjcm9sbEhlaWdodC0yNDApRygpfSxjbGFzc05hbWU6ImgtZnVsbCBtaW4taC0wIG92ZXJmbG93LXktYXV0byBweC00IHB5LTIgW3Njcm9sbGJhci13aWR0aDp0aGluXSIsY2hpbGRyZW46UD09PW51bGw/WihtUSx7fSk6UC5sZW5ndGg9PT0wP1ooImRpdiIse2NsYXNzTmFtZToicHgtMiBweS02IHRleHQtd2hpdGUvNDAgdGV4dC1bMTJweF0gdGV4dC1jZW50ZXIiLGNoaWxkcmVuOlc/Ik5vIG1hdGNoaW5nIHNpbXVsYXRvcnMuIjoiTm8gaU9TIHNpbXVsYXRvcnMgYXZhaWxhYmxlLiJ9KTpaKFExLHtjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJwdC0xIHBiLTEgdGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzQwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQXZhaWxhYmxlIn0pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IHBiLTEiLGNoaWxkcmVuOlAubWFwKChSKT0+WihfNix7ZGV2aWNlOlIsYWN0aXZlOlIuZGV2aWNlPT09eixzdGFydGluZzohIVVbUi5kZXZpY2VdLHNodXR0aW5nRG93bjohIUNbUi5kZXZpY2VdLG9uU2VsZWN0OigpPT5WKFIuZGV2aWNlKSxvblNodXRkb3duOigpPT5NKFIuZGV2aWNlKX0sUi5kZXZpY2UpKX0pLCFXJiZxJiZaKCJkaXYiLHtjbGFzc05hbWU6InB4LTIgcHktMiB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzM1IHRleHQtY2VudGVyIixjaGlsZHJlbjpLP2Ake0subGVuZ3RofSBvZiAke1l9YDpudWxsfSldfSl9KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2UtbGlzdC10b3AtZmFkZSIsY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgcmlnaHQtMCBoLVsxNnB4XSBwb2ludGVyLWV2ZW50cy1ub25lIixzdHlsZTp7YmFja2dyb3VuZDpgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHtGMn0gMCUsICR7ZTN9IDEwMCUpYH19KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2UtbGlzdC1ib3R0b20tZmFkZSIsY2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBoLVsxNnB4XSBwb2ludGVyLWV2ZW50cy1ub25lIixzdHlsZTp7YmFja2dyb3VuZDpgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJHtGMn0gMCUsICR7ZTN9IDEwMCUpYH19KV19KSxaKHVRLHtyZXBvcnQ6T30pXX0pfWZ1bmN0aW9uIG1RKCl7cmV0dXJuIFooUTEse2NoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InB4LTIgcHQtMSBwYi0xIHRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS80MCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkF2YWlsYWJsZSJ9KSxaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2UtbGlzdC1za2VsZXRvbiIsY2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0wLjUgcGItMSIsImFyaWEtbGFiZWwiOiJMb2FkaW5nIHNpbXVsYXRvcnMiLCJhcmlhLWJ1c3kiOiJ0cnVlIixjaGlsZHJlbjpBcnJheS5mcm9tKHtsZW5ndGg6ZlF9LCgkLFEpPT5aKHBRLHtpbmRleDpRfSxRKSl9KV19KX1mdW5jdGlvbiBwUSh7aW5kZXg6JH0pe2xldCBRPVsidy1bNjIlXSIsInctWzc0JV0iLCJ3LVs1OCVdIiwidy1bNzAlXSJdWyQlNF0sSj1bInctWzQyJV0iLCJ3LVszNiVdIiwidy1bNDglXSIsInctWzMyJV0iXVskJTRdLFg9WyJ3LTciLCJ3LTYiLCJ3LTgiXVskJTNdO3JldHVybiBaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJkZXZpY2Utcm93LXNrZWxldG9uIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgcHgtMiBweS0xLjUgcm91bmRlZC1sZyBzZWxlY3Qtbm9uZSIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgc2hyaW5rLTAgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgc2l6ZS05IHJvdW5kZWQtWzlweF0gb3ZlcmZsb3ctaGlkZGVuIGJnLXdoaXRlLzYiLGNoaWxkcmVuOlooInNwYW4iLHtjbGFzc05hbWU6InNpemUtNCByb3VuZGVkLVs0cHhdIGJnLXdoaXRlL1swLjEyXSJ9KX0pLFooImRpdiIse2NsYXNzTmFtZToibWluLXctMCBmbGV4LTEgZmxleCBmbGV4LWNvbCBnYXAtMS41IixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZTpgaC0zIHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4xMl0gJHtRfWB9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOmBoLTIuNSByb3VuZGVkLWZ1bGwgYmctd2hpdGUvWzAuMDhdICR7Sn1gfSldfSksWigic3BhbiIse2NsYXNzTmFtZTpgc2hyaW5rLTAgaC0yLjUgcm91bmRlZC1mdWxsIGJnLXdoaXRlL1swLjA4XSAke1h9YH0pXX0pfWZ1bmN0aW9uIHVRKHtyZXBvcnQ6JH0pe2lmKCEkfHwkLnRvdGFsQnl0ZXM8PTApcmV0dXJuIG51bGw7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToic2hyaW5rLTAgbWluLXctMCBvdmVyZmxvdy1oaWRkZW4gcHgtMyBweS0yIGZsZXgganVzdGlmeS1jZW50ZXIiLGNoaWxkcmVuOlooazYse3JlcG9ydDokfSl9KX1mdW5jdGlvbiBsNSh7cGFuZWxXaWR0aDokLHZpc2libGU6USxvblBvaW50ZXJEb3duOkosYXJpYUxhYmVsOlgsc2lkZTpLPSJyaWdodCJ9KXtsZXRbWSxxXT1rKCExKSxbRyxCXT1rKCExKSxOPVl8fEcsej0oSz09PSJsZWZ0Ij8wOjEyKSskLTk7cmV0dXJuIFooImRpdiIse3JvbGU6InNlcGFyYXRvciIsImFyaWEtb3JpZW50YXRpb24iOiJ2ZXJ0aWNhbCIsImFyaWEtbGFiZWwiOlgsImFyaWEtaGlkZGVuIjohUSxvblBvaW50ZXJEb3duOihVKT0+e0IoITApLEooVSl9LG9uUG9pbnRlclVwOigpPT5CKCExKSxvblBvaW50ZXJDYW5jZWw6KCk9PkIoITEpLG9uUG9pbnRlckVudGVyOigpPT5xKCEwKSxvblBvaW50ZXJMZWF2ZTooKT0+cSghMSksY2xhc3NOYW1lOmBmaXhlZCAke0s9PT0ibGVmdCI/InRvcC0wIGJvdHRvbS0wIjoidG9wLTMgYm90dG9tLTMifSB3LTQgei0zNiBjdXJzb3ItY29sLXJlc2l6ZSB0b3VjaC1ub25lIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0yMDAgJHtRPyJvcGFjaXR5LTEwMCBwb2ludGVyLWV2ZW50cy1hdXRvIjoib3BhY2l0eS0wIHBvaW50ZXItZXZlbnRzLW5vbmUifWAsc3R5bGU6Sz09PSJsZWZ0Ij97bGVmdDp6fTp7cmlnaHQ6en0sY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZTpgYWJzb2x1dGUgdG9wLTAgYm90dG9tLTAgbGVmdC0xLzIgdy1weCBwb2ludGVyLWV2ZW50cy1ub25lIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0xNTAgJHtOPyJvcGFjaXR5LTEwMCI6Im9wYWNpdHktMCJ9YCxzdHlsZTp7dHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC0wLjVweCkiLGJhY2tncm91bmQ6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC4yOCkgMzAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuMjgpIDcwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKSJ9fSksWigiZGl2Iix7Y2xhc3NOYW1lOmBhYnNvbHV0ZSB0b3AtMS8yIGxlZnQtMS8yIHctMSBoLTcgcm91bmRlZC14cyAtdHJhbnNsYXRlLXgtMS8yIC10cmFuc2xhdGUteS0xLzIgei0xIHBvaW50ZXItZXZlbnRzLW5vbmUgW3RyYW5zaXRpb246b3BhY2l0eV8wLjE1c19lYXNlLGJhY2tncm91bmRfMC4xNXNfZWFzZV0gJHtOPyJvcGFjaXR5LTEwMCI6Im9wYWNpdHktMCJ9ICR7Rz8iYmctWyM5YTlhOWVdIjoiYmctWyM2ZTZlNzJdIn1gfSldfSl9ZnVuY3Rpb24gUDYoKXtsZXRbJCxRXT1rKCgpPT50eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIikubWF0Y2hlcz09PSEwKTtyZXR1cm4geSgoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUifHwhd2luZG93Lm1hdGNoTWVkaWEpcmV0dXJuO2xldCBKPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb250cmFzdDogbW9yZSkiKSxYPSgpPT5RKEoubWF0Y2hlcyk7cmV0dXJuIFgoKSxKLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsWCksKCk9PkoucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixYKX0sW10pLCR9ZnVuY3Rpb24gZDUoKXtsZXRbJCxRXT1rKCgpPT50eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/LigiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzPT09ITApO3JldHVybiB5KCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSJ8fCF3aW5kb3cubWF0Y2hNZWRpYSlyZXR1cm47bGV0IEo9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIiksWD0oKT0+UShKLm1hdGNoZXMpO3JldHVybiBYKCksSi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLFgpLCgpPT5KLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsWCl9LFtdKSwkfXZhciBUNj0yODA7dmFyICQ4PSJ3aWR0aCA3MG1zIGxpbmVhciIsUTg9IndpZHRoIDAuMjRzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSIsRTY9InBhZGRpbmctcmlnaHQgMC4yNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpIix3Nj0iY3ViaWMtYmV6aWVyKDAuMiwgMC44MiwgMC4yMiwgMSkiLG81PSJjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIixJNj0ibGluZWFyKDAsIDAuMzIgOSUsIDAuNjIgMTglLCAwLjg1IDI3JSwgMS4wMSAzNiUsIDEuMDcgNDUlLCAxLjA1IDU2JSwgMS4wMiA3MCUsIDEpIixiNj0iMC4xNnMiLHk2PSIwLjJzIixTNj01LHg2PXtpZGxlOjEsaG92ZXI6MS4wOSxkcmFnOjEuMTJ9LGo2PXtpZGxlOiIjNjg2ZTc4Iixob3ZlcjoiI2I3YmJjMiIsZHJhZzoiI2Y0ZjZmYSJ9LHY2PXtpZGxlOjIuNjUsaG92ZXI6NC4xNSxkcmFnOjQuNjV9LFI2PXtpZGxlOjAuMzgsaG92ZXI6MC44NixkcmFnOjF9LGM1PW51bGw7ZnVuY3Rpb24gaDYoKXtpZihjNSE9bnVsbClyZXR1cm4gYzU7aWYodHlwZW9mIENTUz4idSJ8fHR5cGVvZiBDU1Muc3VwcG9ydHMhPT0iZnVuY3Rpb24iKXJldHVybiExO3JldHVybiBjNT1DU1Muc3VwcG9ydHMoImFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24iLCJsaW5lYXIoMCwgMSkiKSxjNX12YXIgbFE9NDAsZzY9MTQsZjY9MjQwLG02PTMwLHA2PTAuMTUsZFE9ODAsdTY9MTUwLGw2PTI1MCxKOD0ic2VydmUtc2ltOnNpbXVsYXRvci1mcmFtZS1zY2FsZSI7ZnVuY3Rpb24gWjgoJCxRLEosWCl7bGV0IEs9JCozLFk9UT4wP01hdGgubWF4KDE4MCxRLTQ4KTpLLHE9Sj4wJiZOdW1iZXIuaXNGaW5pdGUoWCkmJlg+MD9NYXRoLm1heCgxODAsKEotMTM2KSpYKTpLO3JldHVybiBNYXRoLm1heCgxODAsTWF0aC5taW4oSyxZLHEpKX1mdW5jdGlvbiB0MCgkLFEsSixYLEspe2xldCBZPVo4KFEsSixYLEspLHE9TWF0aC5taW4oMjgwLFkpO3JldHVybiBNYXRoLm1pbihZLE1hdGgubWF4KHEsJCkpfWZ1bmN0aW9uIGQ2KCQsUSxKLFgsSyl7bGV0IFk9TnVtYmVyLmlzRmluaXRlKEspPyQqSzokO3JldHVybiB0MChZLCQsUSxKLFgpfWZ1bmN0aW9uIGk1KCQpe2lmKCFOdW1iZXIuaXNGaW5pdGUoJCkpcmV0dXJuICQ7bGV0IFE9dHlwZW9mIHdpbmRvdzwidSI/TWF0aC5tYXgoMSx3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk6MTtyZXR1cm4gTWF0aC5yb3VuZCgkKlEpL1F9ZnVuY3Rpb24gWDgoJCxRKXtpZigkPD0wfHxRPD0wKXJldHVybiAwO2xldCBKPTAuNTUsWD0kKlEqSi8oUStKKiQpO3JldHVybiBNYXRoLm1pbihsUSxYKX1mdW5jdGlvbiBjNigkLFEsSil7bGV0IFg9JCxLPUo7Zm9yKGxldCBZIG9mIFEpe2xldCBxPU1hdGguYWJzKCQtWSk7aWYocTxLKVg9WSxLPXF9cmV0dXJuIFh9ZnVuY3Rpb24gbzYoJCl7bGV0e2Zyb206USx0bzpKLHZlbG9jaXR5Olgsc3RpZmZuZXNzOkssZGFtcGluZzpZLG9uVXBkYXRlOnEsb25Db21wbGV0ZTpHfT0kLEI9MC40LE49MC4wMzMzMzMzMzMzMzMzMzMzMyx6PVEsVj1YLFU9cGVyZm9ybWFuY2Uubm93KCksQz0wLE09ITEsTD0oSCk9PntpZihNKXJldHVybjtsZXQgTz1NYXRoLm1pbigoSC1VKS8xMDAwLDAuMDMzMzMzMzMzMzMzMzMzMzMpO1U9SDtsZXQgVz0tSyooei1KKS1ZKlY7aWYoVis9VypPLHorPVYqTyxNYXRoLmFicyhWKTwwLjQmJk1hdGguYWJzKHotSik8MC40KXtxKEopLEc/LigpO3JldHVybn1xKHopLEM9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKEwpfTtyZXR1cm4gQz1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoTCksKCk9PntpZihNPSEwLEMpY2FuY2VsQW5pbWF0aW9uRnJhbWUoQyl9fWZ1bmN0aW9uIGk2KCQpe2lmKCQubGVuZ3RoPDIpcmV0dXJuIDA7bGV0IFE9JFskLmxlbmd0aC0xXSxKPSRbMF07Zm9yKGxldCBLPSQubGVuZ3RoLTE7Sz49MDtLLS0paWYoUS50LSRbS10udD49ZFEpe0o9JFtLXTticmVha31sZXQgWD0oUS50LUoudCkvMTAwMDtyZXR1cm4gWD4wPyhRLngtSi54KS9YOjB9dmFyIG42PSJkcm9wLXNoYWRvdygwIDAuNXB4IDFweCByZ2JhKDAsMCwwLDAuMSkpIGRyb3Atc2hhZG93KDAgMnB4IDVweCByZ2JhKDAsMCwwLDAuMTMpKSI7ZnVuY3Rpb24gY1Eoe2FyYzokLHBoYXNlOlEscmVkdWNlZE1vdGlvbjpKLGhpZ2hDb250cmFzdDpYLGZvY3VzVmlzaWJsZTpLfSl7bGV0IFk9USE9PSJpZGxlIixxPVg/MS4xMjoxLEc9Sj8xOng2W1FdLEI9djZbUV0qcSxOPVg/MTpSNltRXSx6PVk/YjY6eTYsVj1ZP3c2Om81LFU9WSYmaDYoKT9JNjpWLEM9Sj8ibm9uZSI6YHRyYW5zZm9ybSAke3p9ICR7VX1gLE09Sj8ibm9uZSI6YHN0cm9rZSAke3p9ICR7Vn0sIHN0cm9rZS13aWR0aCAke3p9ICR7Vn1gLEw9JC52aWV3Qm94U2l6ZSxIPSQuZCxPPXt0cmFuc2Zvcm06YHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgke0d9KWAsdHJhbnNmb3JtT3JpZ2luOiIxMDAlIDEwMCUiLHRyYW5zaXRpb246Qyx3aWxsQ2hhbmdlOko/dm9pZCAwOiJ0cmFuc2Zvcm0iLGJhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixXZWJraXRCYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiJ9O3JldHVybiBaKCJzdmciLHt3aWR0aDpMLGhlaWdodDpMLHZpZXdCb3g6YDAgMCAke0x9ICR7TH1gLGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsc2hhcGVSZW5kZXJpbmc6Imdlb21ldHJpY1ByZWNpc2lvbiIsc3R5bGU6e2Rpc3BsYXk6ImJsb2NrIixvdmVyZmxvdzoidmlzaWJsZSIsY3Vyc29yOiJpbmhlcml0Iix0b3VjaEFjdGlvbjoibm9uZSIscG9pbnRlckV2ZW50czoibm9uZSJ9LGNoaWxkcmVuOltaKCJnIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6e3BvaW50ZXJFdmVudHM6Im5vbmUifSxjaGlsZHJlbjpbWigicGF0aCIse2Q6SCxmaWxsOiJub25lIixzdHJva2U6InJnYmEoMTAsIDEzMiwgMjU1LCAwLjk1KSIsc3Ryb2tlV2lkdGg6KFM2KjIrNikqcSxzdHJva2VMaW5lY2FwOiJyb3VuZCIsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UiLHN0eWxlOntvcGFjaXR5Oks/MC45NTowLHRyYW5zaXRpb246Sj8ib3BhY2l0eSA4MG1zIGxpbmVhciI6YG9wYWNpdHkgMjAwbXMgJHtvNX1gLGZpbHRlcjoiZHJvcC1zaGFkb3coMCAwIDJweCByZ2JhKDEwLDEzMiwyNTUsMC41NSkpIGRyb3Atc2hhZG93KDAgMCA0cHggcmdiYSgxMCwxMzIsMjU1LDAuMzIpKSJ9fSksWigicGF0aCIse2Q6SCxmaWxsOiJub25lIixzdHJva2U6InJnYmEoMjU1LDI1NSwyNTUsMC45NSkiLHN0cm9rZVdpZHRoOjEuNSpxLHN0cm9rZUxpbmVjYXA6InJvdW5kIix2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSIsc3R5bGU6e29wYWNpdHk6Sz8wLjc6MCx0cmFuc2l0aW9uOko/Im9wYWNpdHkgODBtcyBsaW5lYXIiOmBvcGFjaXR5IDIwMG1zICR7bzV9YH19KV19KSxaKCJnIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6TyxjaGlsZHJlbjpaKCJnIix7c3R5bGU6e3BvaW50ZXJFdmVudHM6Im5vbmUifSxjaGlsZHJlbjpbWigicGF0aCIse2Q6SCxzdHJva2U6IiMzNDM2M2IiLHN0cm9rZVdpZHRoOkIrMi4yKnEsc3Ryb2tlTGluZWNhcDoicm91bmQiLHZlY3RvckVmZmVjdDoibm9uLXNjYWxpbmctc3Ryb2tlIixzdHlsZTp7b3BhY2l0eTpNYXRoLm1pbigxLE4rMC4wOCksdHJhbnNpdGlvbjpgJHtNfSwgb3BhY2l0eSAke3p9ICR7Vn1gLGZpbHRlcjpuNn19KSxaKCJwYXRoIix7ZDpILHN0cm9rZTpqNltRXSxzdHJva2VXaWR0aDpCLHN0cm9rZUxpbmVjYXA6InJvdW5kIix2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSIsc3R5bGU6e29wYWNpdHk6Tix0cmFuc2l0aW9uOmAke019LCBvcGFjaXR5ICR7en0gJHtWfWAsZmlsdGVyOm42fX0pXX0pfSldfSl9ZnVuY3Rpb24gcjYoe3NpbXVsYXRvclJlc2l6ZTokLGRldmljZVR5cGU6USxzdHJlYW1Db25maWc6Sixjb250YWluZXJXaWR0aDpYLGNvbnRhaW5lckhlaWdodDpLfSl7bGV0IFk9ZDUoKSxxPVA2KCksW0csQl09ayghMSksTj1EMSgoKT0+ZzMoe3R5cGU6USxjb25maWc6Sj8/bnVsbCxjb250YWluZXJXaWR0aDpYLGNvbnRhaW5lckhlaWdodDpLfSksW1EsSixYLEtdKSx6PSQuaXNSZXNpemluZ3x8JC5pc0luZXJ0aWE/ImRyYWciOiQuaGFuZGxlSG92ZXJlZD8iaG92ZXIiOiJpZGxlIjtyZXR1cm4gWigiZGl2Iix7cm9sZToic2VwYXJhdG9yIiwiYXJpYS1sYWJlbCI6IlJlc2l6ZSBzaW11bGF0b3Igd2lkdGguIERyYWcgdGhlIGNvcm5lciBvciB1c2UgTGVmdCBhbmQgUmlnaHQgQXJyb3cga2V5czsgaG9sZCBTaGlmdCBmb3IgbGFyZ2VyIHN0ZXBzLiIsImFyaWEtb3JpZW50YXRpb24iOiJ2ZXJ0aWNhbCIsImFyaWEtdmFsdWVtaW4iOk1hdGgucm91bmQoJC5taW5XaWR0aCksImFyaWEtdmFsdWVtYXgiOk1hdGgucm91bmQoJC5tYXhXaWR0aCksImFyaWEtdmFsdWVub3ciOk1hdGgucm91bmQoJC5jb21taXR0ZWRXaWR0aCksdGFiSW5kZXg6MCxyZWY6JC5oYW5kbGVSZWYsb25LZXlEb3duOiQub25LZXlEb3duLG9uUG9pbnRlckRvd246JC5vblBvaW50ZXJEb3duLG9uUG9pbnRlck1vdmU6JC5vblBvaW50ZXJNb3ZlLG9uUG9pbnRlclVwOiQub25Qb2ludGVyRW5kLG9uUG9pbnRlckNhbmNlbDokLm9uUG9pbnRlckVuZCxvbkxvc3RQb2ludGVyQ2FwdHVyZTokLm9uUG9pbnRlckVuZCxvblBvaW50ZXJFbnRlcjooKT0+JC5zZXRIYW5kbGVIb3ZlcmVkKCEwKSxvblBvaW50ZXJMZWF2ZTooKT0+JC5zZXRIYW5kbGVIb3ZlcmVkKCExKSxvbkZvY3VzOihWKT0+e0IoVi5jdXJyZW50VGFyZ2V0Lm1hdGNoZXM/LigiOmZvY3VzLXZpc2libGUiKT8/ITEpfSxvbkJsdXI6KCk9PkIoITEpLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHJpZ2h0Oi0xNCxib3R0b206LTE0LHdpZHRoOjYwLGhlaWdodDo2MCxib3JkZXI6Im5vbmUiLHBhZGRpbmc6MCxtYXJnaW46MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJmbGV4LWVuZCIsanVzdGlmeUNvbnRlbnQ6ImZsZXgtZW5kIixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsY3Vyc29yOiJud3NlLXJlc2l6ZSIsdG91Y2hBY3Rpb246Im5vbmUiLHBvaW50ZXJFdmVudHM6ImF1dG8iLG91dGxpbmU6Im5vbmUiLHpJbmRleDoyNSxXZWJraXRUYXBIaWdobGlnaHRDb2xvcjoidHJhbnNwYXJlbnQifSxjaGlsZHJlbjpaKGNRLHthcmM6TixwaGFzZTp6LHJlZHVjZWRNb3Rpb246WSxoaWdoQ29udHJhc3Q6cSxmb2N1c1Zpc2libGU6R30pfSl9ZnVuY3Rpb24gb1EoJCl7aWYoISR8fHR5cGVvZiBkb2N1bWVudD4idSIpcmV0dXJuO2xldCBRPWRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sSj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO0oudHlwZT0idGV4dC9jc3MiLFEuYXBwZW5kQ2hpbGQoSiksSi5zdHlsZVNoZWV0P0ouc3R5bGVTaGVldC5jc3NUZXh0PSQ6Si5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgkKSl9dmFyIGlRPSgkKT0+e3N3aXRjaCgkKXtjYXNlInN1Y2Nlc3MiOnJldHVybiBhUTtjYXNlImluZm8iOnJldHVybiB0UTtjYXNlIndhcm5pbmciOnJldHVybiBzUTtjYXNlImVycm9yIjpyZXR1cm4gZVE7ZGVmYXVsdDpyZXR1cm4gbnVsbH19LG5RPUFycmF5KDEyKS5maWxsKDApLHJRPSh7dmlzaWJsZTokLGNsYXNzTmFtZTpRfSk9PntyZXR1cm4gZy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6WyJzb25uZXItbG9hZGluZy13cmFwcGVyIixRXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpLCJkYXRhLXZpc2libGUiOiR9LGcuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJzb25uZXItc3Bpbm5lciJ9LG5RLm1hcCgoSixYKT0+Zy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6InNvbm5lci1sb2FkaW5nLWJhciIsa2V5OmBzcGlubmVyLWJhci0ke1h9YH0pKSkpfSxhUT1nLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDIwIDIwIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjAiLHdpZHRoOiIyMCJ9LGcuY3JlYXRlRWxlbWVudCgicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixkOiJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy44NTctOS44MDlhLjc1Ljc1IDAgMDAtMS4yMTQtLjg4MmwtMy40ODMgNC43OS0xLjg4LTEuODhhLjc1Ljc1IDAgMTAtMS4wNiAxLjA2MWwyLjUgMi41YS43NS43NSAwIDAwMS4xMzctLjA4OWw0LTUuNXoiLGNsaXBSdWxlOiJldmVub2RkIn0pKSxzUT1nLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjAiLHdpZHRoOiIyMCJ9LGcuY3JlYXRlRWxlbWVudCgicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixkOiJNOS40MDEgMy4wMDNjMS4xNTUtMiA0LjA0My0yIDUuMTk3IDBsNy4zNTUgMTIuNzQ4YzEuMTU0IDItLjI5IDQuNS0yLjU5OSA0LjVINC42NDVjLTIuMzA5IDAtMy43NTItMi41LTIuNTk4LTQuNUw5LjQgMy4wMDN6TTEyIDguMjVhLjc1Ljc1IDAgMDEuNzUuNzV2My43NWEuNzUuNzUgMCAwMS0xLjUgMFY5YS43NS43NSAwIDAxLjc1LS43NXptMCA4LjI1YS43NS43NSAwIDEwMC0xLjUuNzUuNzUgMCAwMDAgMS41eiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLHRRPWcuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sZy5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0xOCAxMGE4IDggMCAxMS0xNiAwIDggOCAwIDAxMTYgMHptLTctNGExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6TTkgOWEuNzUuNzUgMCAwMDAgMS41aC4yNTNhLjI1LjI1IDAgMDEuMjQ0LjMwNGwtLjQ1OSAyLjA2NkExLjc1IDEuNzUgMCAwMDEwLjc0NyAxNUgxMWEuNzUuNzUgMCAwMDAtMS41aC0uMjUzYS4yNS4yNSAwIDAxLS4yNDQtLjMwNGwuNDU5LTIuMDY2QTEuNzUgMS43NSAwIDAwOS4yNTMgOUg5eiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLGVRPWcuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sZy5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0xOCAxMGE4IDggMCAxMS0xNiAwIDggOCAwIDAxMTYgMHptLTgtNWEuNzUuNzUgMCAwMS43NS43NXY0LjVhLjc1Ljc1IDAgMDEtMS41IDB2LTQuNUEuNzUuNzUgMCAwMTEwIDV6bTAgMTBhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6IixjbGlwUnVsZToiZXZlbm9kZCJ9KSksJEo9Zy5jcmVhdGVFbGVtZW50KCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOiIxMiIsaGVpZ2h0OiIxMiIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9LGcuY3JlYXRlRWxlbWVudCgibGluZSIse3gxOiIxOCIseTE6IjYiLHgyOiI2Iix5MjoiMTgifSksZy5jcmVhdGVFbGVtZW50KCJsaW5lIix7eDE6IjYiLHkxOiI2Iix4MjoiMTgiLHkyOiIxOCJ9KSksUUo9KCk9PntsZXRbJCxRXT1nLnVzZVN0YXRlKGRvY3VtZW50LmhpZGRlbik7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57bGV0IEo9KCk9PntRKGRvY3VtZW50LmhpZGRlbil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixKKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLEopfSxbXSksJH0sSzg9MTtjbGFzcyB0Nntjb25zdHJ1Y3Rvcigpe3RoaXMuc3Vic2NyaWJlPSgkKT0+e3JldHVybiB0aGlzLnN1YnNjcmliZXJzLnB1c2goJCksKCk9PntsZXQgUT10aGlzLnN1YnNjcmliZXJzLmluZGV4T2YoJCk7dGhpcy5zdWJzY3JpYmVycy5zcGxpY2UoUSwxKX19LHRoaXMucHVibGlzaD0oJCk9Pnt0aGlzLnN1YnNjcmliZXJzLmZvckVhY2goKFEpPT5RKCQpKX0sdGhpcy5hZGRUb2FzdD0oJCk9Pnt0aGlzLnB1Ymxpc2goJCksdGhpcy50b2FzdHM9Wy4uLnRoaXMudG9hc3RzLCRdfSx0aGlzLmNyZWF0ZT0oJCk9Pnt2YXIgUTtsZXR7bWVzc2FnZTpKLC4uLlh9PSQsSz10eXBlb2YoJD09bnVsbD92b2lkIDA6JC5pZCk9PT0ibnVtYmVyInx8KChRPSQuaWQpPT1udWxsP3ZvaWQgMDpRLmxlbmd0aCk+MD8kLmlkOks4KyssWT10aGlzLnRvYXN0cy5maW5kKChHKT0+e3JldHVybiBHLmlkPT09S30pLHE9JC5kaXNtaXNzaWJsZT09PXZvaWQgMD8hMDokLmRpc21pc3NpYmxlO2lmKHRoaXMuZGlzbWlzc2VkVG9hc3RzLmhhcyhLKSl0aGlzLmRpc21pc3NlZFRvYXN0cy5kZWxldGUoSyk7aWYoWSl0aGlzLnRvYXN0cz10aGlzLnRvYXN0cy5tYXAoKEcpPT57aWYoRy5pZD09PUspcmV0dXJuIHRoaXMucHVibGlzaCh7Li4uRywuLi4kLGlkOkssdGl0bGU6Sn0pLHsuLi5HLC4uLiQsaWQ6SyxkaXNtaXNzaWJsZTpxLHRpdGxlOkp9O3JldHVybiBHfSk7ZWxzZSB0aGlzLmFkZFRvYXN0KHt0aXRsZTpKLC4uLlgsZGlzbWlzc2libGU6cSxpZDpLfSk7cmV0dXJuIEt9LHRoaXMuZGlzbWlzcz0oJCk9PntpZigkKXRoaXMuZGlzbWlzc2VkVG9hc3RzLmFkZCgkKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnRoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoUSk9PlEoe2lkOiQsZGlzbWlzczohMH0pKSk7ZWxzZSB0aGlzLnRvYXN0cy5mb3JFYWNoKChRKT0+e3RoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoSik9Pkooe2lkOlEuaWQsZGlzbWlzczohMH0pKX0pO3JldHVybiAkfSx0aGlzLm1lc3NhZ2U9KCQsUSk9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLlEsbWVzc2FnZTokfSl9LHRoaXMuZXJyb3I9KCQsUSk9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLlEsbWVzc2FnZTokLHR5cGU6ImVycm9yIn0pfSx0aGlzLnN1Y2Nlc3M9KCQsUSk9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLlEsdHlwZToic3VjY2VzcyIsbWVzc2FnZTokfSl9LHRoaXMuaW5mbz0oJCxRKT0+e3JldHVybiB0aGlzLmNyZWF0ZSh7Li4uUSx0eXBlOiJpbmZvIixtZXNzYWdlOiR9KX0sdGhpcy53YXJuaW5nPSgkLFEpPT57cmV0dXJuIHRoaXMuY3JlYXRlKHsuLi5RLHR5cGU6Indhcm5pbmciLG1lc3NhZ2U6JH0pfSx0aGlzLmxvYWRpbmc9KCQsUSk9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLlEsdHlwZToibG9hZGluZyIsbWVzc2FnZTokfSl9LHRoaXMucHJvbWlzZT0oJCxRKT0+e2lmKCFRKXJldHVybjtsZXQgSj12b2lkIDA7aWYoUS5sb2FkaW5nIT09dm9pZCAwKUo9dGhpcy5jcmVhdGUoey4uLlEscHJvbWlzZTokLHR5cGU6ImxvYWRpbmciLG1lc3NhZ2U6US5sb2FkaW5nLGRlc2NyaXB0aW9uOnR5cGVvZiBRLmRlc2NyaXB0aW9uIT09ImZ1bmN0aW9uIj9RLmRlc2NyaXB0aW9uOnZvaWQgMH0pO2xldCBYPVByb21pc2UucmVzb2x2ZSgkIGluc3RhbmNlb2YgRnVuY3Rpb24/JCgpOiQpLEs9SiE9PXZvaWQgMCxZLHE9WC50aGVuKGFzeW5jKEIpPT57aWYoWT1bInJlc29sdmUiLEJdLGcuaXNWYWxpZEVsZW1lbnQoQikpSz0hMSx0aGlzLmNyZWF0ZSh7aWQ6Six0eXBlOiJkZWZhdWx0IixtZXNzYWdlOkJ9KTtlbHNlIGlmKFpKKEIpJiYhQi5vayl7Sz0hMTtsZXQgej10eXBlb2YgUS5lcnJvcj09PSJmdW5jdGlvbiI/YXdhaXQgUS5lcnJvcihgSFRUUCBlcnJvciEgc3RhdHVzOiAke0Iuc3RhdHVzfWApOlEuZXJyb3IsVj10eXBlb2YgUS5kZXNjcmlwdGlvbj09PSJmdW5jdGlvbiI/YXdhaXQgUS5kZXNjcmlwdGlvbihgSFRUUCBlcnJvciEgc3RhdHVzOiAke0Iuc3RhdHVzfWApOlEuZGVzY3JpcHRpb24sQz10eXBlb2Ygej09PSJvYmplY3QiJiYhZy5pc1ZhbGlkRWxlbWVudCh6KT96OnttZXNzYWdlOnp9O3RoaXMuY3JlYXRlKHtpZDpKLHR5cGU6ImVycm9yIixkZXNjcmlwdGlvbjpWLC4uLkN9KX1lbHNlIGlmKEIgaW5zdGFuY2VvZiBFcnJvcil7Sz0hMTtsZXQgej10eXBlb2YgUS5lcnJvcj09PSJmdW5jdGlvbiI/YXdhaXQgUS5lcnJvcihCKTpRLmVycm9yLFY9dHlwZW9mIFEuZGVzY3JpcHRpb249PT0iZnVuY3Rpb24iP2F3YWl0IFEuZGVzY3JpcHRpb24oQik6US5kZXNjcmlwdGlvbixDPXR5cGVvZiB6PT09Im9iamVjdCImJiFnLmlzVmFsaWRFbGVtZW50KHopP3o6e21lc3NhZ2U6en07dGhpcy5jcmVhdGUoe2lkOkosdHlwZToiZXJyb3IiLGRlc2NyaXB0aW9uOlYsLi4uQ30pfWVsc2UgaWYoUS5zdWNjZXNzIT09dm9pZCAwKXtLPSExO2xldCB6PXR5cGVvZiBRLnN1Y2Nlc3M9PT0iZnVuY3Rpb24iP2F3YWl0IFEuc3VjY2VzcyhCKTpRLnN1Y2Nlc3MsVj10eXBlb2YgUS5kZXNjcmlwdGlvbj09PSJmdW5jdGlvbiI/YXdhaXQgUS5kZXNjcmlwdGlvbihCKTpRLmRlc2NyaXB0aW9uLEM9dHlwZW9mIHo9PT0ib2JqZWN0IiYmIWcuaXNWYWxpZEVsZW1lbnQoeik/ejp7bWVzc2FnZTp6fTt0aGlzLmNyZWF0ZSh7aWQ6Six0eXBlOiJzdWNjZXNzIixkZXNjcmlwdGlvbjpWLC4uLkN9KX19KS5jYXRjaChhc3luYyhCKT0+e2lmKFk9WyJyZWplY3QiLEJdLFEuZXJyb3IhPT12b2lkIDApe0s9ITE7bGV0IE49dHlwZW9mIFEuZXJyb3I9PT0iZnVuY3Rpb24iP2F3YWl0IFEuZXJyb3IoQik6US5lcnJvcix6PXR5cGVvZiBRLmRlc2NyaXB0aW9uPT09ImZ1bmN0aW9uIj9hd2FpdCBRLmRlc2NyaXB0aW9uKEIpOlEuZGVzY3JpcHRpb24sVT10eXBlb2YgTj09PSJvYmplY3QiJiYhZy5pc1ZhbGlkRWxlbWVudChOKT9OOnttZXNzYWdlOk59O3RoaXMuY3JlYXRlKHtpZDpKLHR5cGU6ImVycm9yIixkZXNjcmlwdGlvbjp6LC4uLlV9KX19KS5maW5hbGx5KCgpPT57aWYoSyl0aGlzLmRpc21pc3MoSiksSj12b2lkIDA7US5maW5hbGx5PT1udWxsfHxRLmZpbmFsbHkuY2FsbChRKX0pLEc9KCk9Pm5ldyBQcm9taXNlKChCLE4pPT5xLnRoZW4oKCk9PllbMF09PT0icmVqZWN0Ij9OKFlbMV0pOkIoWVsxXSkpLmNhdGNoKE4pKTtpZih0eXBlb2YgSiE9PSJzdHJpbmciJiZ0eXBlb2YgSiE9PSJudW1iZXIiKXJldHVybnt1bndyYXA6R307ZWxzZSByZXR1cm4gT2JqZWN0LmFzc2lnbihKLHt1bndyYXA6R30pfSx0aGlzLmN1c3RvbT0oJCxRKT0+e2xldCBKPShRPT1udWxsP3ZvaWQgMDpRLmlkKXx8SzgrKztyZXR1cm4gdGhpcy5jcmVhdGUoe2pzeDokKEopLGlkOkosLi4uUX0pLEp9LHRoaXMuZ2V0QWN0aXZlVG9hc3RzPSgpPT57cmV0dXJuIHRoaXMudG9hc3RzLmZpbHRlcigoJCk9PiF0aGlzLmRpc21pc3NlZFRvYXN0cy5oYXMoJC5pZCkpfSx0aGlzLnN1YnNjcmliZXJzPVtdLHRoaXMudG9hc3RzPVtdLHRoaXMuZGlzbWlzc2VkVG9hc3RzPW5ldyBTZXR9fXZhciBLMD1uZXcgdDYsSko9KCQsUSk9PntsZXQgSj0oUT09bnVsbD92b2lkIDA6US5pZCl8fEs4Kys7cmV0dXJuIEswLmFkZFRvYXN0KHt0aXRsZTokLC4uLlEsaWQ6Sn0pLEp9LFpKPSgkKT0+e3JldHVybiAkJiZ0eXBlb2YgJD09PSJvYmplY3QiJiYib2siaW4gJCYmdHlwZW9mICQub2s9PT0iYm9vbGVhbiImJiJzdGF0dXMiaW4gJCYmdHlwZW9mICQuc3RhdHVzPT09Im51bWJlciJ9LFhKPUpKLEtKPSgpPT5LMC50b2FzdHMsWUo9KCk9PkswLmdldEFjdGl2ZVRvYXN0cygpLHQyPU9iamVjdC5hc3NpZ24oWEose3N1Y2Nlc3M6SzAuc3VjY2VzcyxpbmZvOkswLmluZm8sd2FybmluZzpLMC53YXJuaW5nLGVycm9yOkswLmVycm9yLGN1c3RvbTpLMC5jdXN0b20sbWVzc2FnZTpLMC5tZXNzYWdlLHByb21pc2U6SzAucHJvbWlzZSxkaXNtaXNzOkswLmRpc21pc3MsbG9hZGluZzpLMC5sb2FkaW5nfSx7Z2V0SGlzdG9yeTpLSixnZXRUb2FzdHM6WUp9KTtvUSgiW2RhdGEtc29ubmVyLXRvYXN0ZXJdW2Rpcj1sdHJdLGh0bWxbZGlyPWx0cl17LS10b2FzdC1pY29uLW1hcmdpbi1zdGFydDotM3B4Oy0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kOjRweDstLXRvYXN0LXN2Zy1tYXJnaW4tc3RhcnQ6LTFweDstLXRvYXN0LXN2Zy1tYXJnaW4tZW5kOjBweDstLXRvYXN0LWJ1dHRvbi1tYXJnaW4tc3RhcnQ6YXV0bzstLXRvYXN0LWJ1dHRvbi1tYXJnaW4tZW5kOjA7LS10b2FzdC1jbG9zZS1idXR0b24tc3RhcnQ6MDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQ6dW5zZXQ7LS10b2FzdC1jbG9zZS1idXR0b24tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMzUlLCAtMzUlKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGlyPXJ0bF0saHRtbFtkaXI9cnRsXXstLXRvYXN0LWljb24tbWFyZ2luLXN0YXJ0OjRweDstLXRvYXN0LWljb24tbWFyZ2luLWVuZDotM3B4Oy0tdG9hc3Qtc3ZnLW1hcmdpbi1zdGFydDowcHg7LS10b2FzdC1zdmctbWFyZ2luLWVuZDotMXB4Oy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1zdGFydDowOy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQ6YXV0bzstLXRvYXN0LWNsb3NlLWJ1dHRvbi1zdGFydDp1bnNldDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQ6MDstLXRvYXN0LWNsb3NlLWJ1dHRvbi10cmFuc2Zvcm06dHJhbnNsYXRlKDM1JSwgLTM1JSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOnZhcigtLXdpZHRoKTtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sSGVsdmV0aWNhIE5ldWUsQXJpYWwsTm90byBTYW5zLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7LS1ncmF5MTpoc2woMCwgMCUsIDk5JSk7LS1ncmF5Mjpoc2woMCwgMCUsIDk3LjMlKTstLWdyYXkzOmhzbCgwLCAwJSwgOTUuMSUpOy0tZ3JheTQ6aHNsKDAsIDAlLCA5MyUpOy0tZ3JheTU6aHNsKDAsIDAlLCA5MC45JSk7LS1ncmF5Njpoc2woMCwgMCUsIDg4LjclKTstLWdyYXk3OmhzbCgwLCAwJSwgODUuOCUpOy0tZ3JheTg6aHNsKDAsIDAlLCA3OCUpOy0tZ3JheTk6aHNsKDAsIDAlLCA1Ni4xJSk7LS1ncmF5MTA6aHNsKDAsIDAlLCA1Mi4zJSk7LS1ncmF5MTE6aHNsKDAsIDAlLCA0My41JSk7LS1ncmF5MTI6aHNsKDAsIDAlLCA5JSk7LS1ib3JkZXItcmFkaXVzOjhweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowO21hcmdpbjowO2xpc3Qtc3R5bGU6bm9uZTtvdXRsaW5lOjA7ei1pbmRleDo5OTk5OTk5OTk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGVhc2V9QG1lZGlhIChob3Zlcjpub25lKSBhbmQgKHBvaW50ZXI6Y29hcnNlKXtbZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1saWZ0ZWQ9dHJ1ZV17dHJhbnNmb3JtOm5vbmV9fVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXgtcG9zaXRpb249cmlnaHRde3JpZ2h0OnZhcigtLW9mZnNldC1yaWdodCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OnZhcigtLW9mZnNldC1sZWZ0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS14LXBvc2l0aW9uPWNlbnRlcl17bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDp2YXIoLS1vZmZzZXQtdG9wKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV17Ym90dG9tOnZhcigtLW9mZnNldC1ib3R0b20pfVtkYXRhLXNvbm5lci10b2FzdF17LS15OnRyYW5zbGF0ZVkoMTAwJSk7LS1saWZ0LWFtb3VudDpjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tZ2FwKSk7ei1pbmRleDp2YXIoLS16LWluZGV4KTtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7dHJhbnNmb3JtOnZhcigtLXkpO3RvdWNoLWFjdGlvbjpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC40cyxvcGFjaXR5IC40cyxoZWlnaHQgLjRzLGJveC1zaGFkb3cgLjJzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdXRsaW5lOjA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVde3BhZGRpbmc6MTZweDtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC1iZyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ub3JtYWwtYm9yZGVyKTtjb2xvcjp2YXIoLS1ub3JtYWwtdGV4dCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1ib3JkZXItcmFkaXVzKTtib3gtc2hhZG93OjAgNHB4IDEycHggcmdiYSgwLDAsMCwuMSk7d2lkdGg6dmFyKC0td2lkdGgpO2ZvbnQtc2l6ZToxM3B4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH1bZGF0YS1zb25uZXItdG9hc3RdOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzowIDRweCAxMnB4IHJnYmEoMCwwLDAsLjEpLDAgMCAwIDJweCByZ2JhKDAsMCwwLC4yKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDowOy0teTp0cmFuc2xhdGVZKC0xMDAlKTstLWxpZnQ6MTstLWxpZnQtYW1vdW50OmNhbGMoMSAqIHZhcigtLWdhcCkpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV17Ym90dG9tOjA7LS15OnRyYW5zbGF0ZVkoMTAwJSk7LS1saWZ0Oi0xOy0tbGlmdC1hbW91bnQ6Y2FsYyh2YXIoLS1saWZ0KSAqIHZhcigtLWdhcCkpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGVzY3JpcHRpb25de2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQ7Y29sb3I6IzNmM2YzZn1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGVzY3JpcHRpb25de2NvbG9yOmluaGVyaXR9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLWRlc2NyaXB0aW9uXXtjb2xvcjojZThlOGU4fVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtdGl0bGVde2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6aW5oZXJpdH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWljb25de2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXNocmluazowO21hcmdpbi1sZWZ0OnZhcigtLXRvYXN0LWljb24tbWFyZ2luLXN0YXJ0KTttYXJnaW4tcmlnaHQ6dmFyKC0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcHJvbWlzZT10cnVlXSBbZGF0YS1pY29uXT5zdmd7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7YW5pbWF0aW9uOnNvbm5lci1mYWRlLWluIC4zcyBlYXNlIGZvcndhcmRzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtaWNvbl0+KntmbGV4LXNocmluazowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtaWNvbl0gc3Zne21hcmdpbi1sZWZ0OnZhcigtLXRvYXN0LXN2Zy1tYXJnaW4tc3RhcnQpO21hcmdpbi1yaWdodDp2YXIoLS10b2FzdC1zdmctbWFyZ2luLWVuZCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1jb250ZW50XXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25de2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDo4cHg7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbm9ybWFsLWJnKTtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC10ZXh0KTttYXJnaW4tbGVmdDp2YXIoLS10b2FzdC1idXR0b24tbWFyZ2luLXN0YXJ0KTttYXJnaW4tcmlnaHQ6dmFyKC0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQpO2JvcmRlcjpub25lO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXNocmluazowO3RyYW5zaXRpb246b3BhY2l0eSAuNHMsYm94LXNoYWRvdyAuMnN9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25dOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgwLDAsMCwuNCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25dOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6dmFyKC0tdG9hc3QtYnV0dG9uLW1hcmdpbi1zdGFydCk7bWFyZ2luLXJpZ2h0OnZhcigtLXRvYXN0LWJ1dHRvbi1tYXJnaW4tZW5kKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNhbmNlbF17Y29sb3I6dmFyKC0tbm9ybWFsLXRleHQpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDgpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXNvbm5lci10aGVtZT1kYXJrXSBbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNhbmNlbF17YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNsb3NlLWJ1dHRvbl17cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS10b2FzdC1jbG9zZS1idXR0b24tc3RhcnQpO3JpZ2h0OnZhcigtLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQpO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MDtjb2xvcjp2YXIoLS1ncmF5MTIpO2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdyYXk0KTt0cmFuc2Zvcm06dmFyKC0tdG9hc3QtY2xvc2UtYnV0dG9uLXRyYW5zZm9ybSk7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxO3RyYW5zaXRpb246b3BhY2l0eSAuMXMsYmFja2dyb3VuZCAuMnMsYm9yZGVyLWNvbG9yIC4yc31bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNsb3NlLWJ1dHRvbl06Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgNHB4IDEycHggcmdiYSgwLDAsMCwuMSksMCAwIDAgMnB4IHJnYmEoMCwwLDAsLjIpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17Y3Vyc29yOm5vdC1hbGxvd2VkfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV06aG92ZXIgW2RhdGEtY2xvc2UtYnV0dG9uXTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWdyYXkyKTtib3JkZXItY29sb3I6dmFyKC0tZ3JheTUpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwaW5nPXRydWVdOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMDAlO3JpZ2h0Oi0xMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6LTF9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXktcG9zaXRpb249dG9wXVtkYXRhLXN3aXBpbmc9dHJ1ZV06OmJlZm9yZXtib3R0b206NTAlO3RyYW5zZm9ybTpzY2FsZVkoMykgdHJhbnNsYXRlWSg1MCUpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV1bZGF0YS1zd2lwaW5nPXRydWVdOjpiZWZvcmV7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGVZKDMpIHRyYW5zbGF0ZVkoLTUwJSl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBpbmc9ZmFsc2VdW2RhdGEtcmVtb3ZlZD10cnVlXTo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt0cmFuc2Zvcm06c2NhbGVZKDIpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1leHBhbmRlZD10cnVlXTo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7aGVpZ2h0OmNhbGModmFyKC0tZ2FwKSArIDFweCk7Ym90dG9tOjEwMCU7d2lkdGg6MTAwJX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtbW91bnRlZD10cnVlXXstLXk6dHJhbnNsYXRlWSgwKTtvcGFjaXR5OjF9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWV4cGFuZGVkPWZhbHNlXVtkYXRhLWZyb250PWZhbHNlXXstLXNjYWxlOnZhcigtLXRvYXN0cy1iZWZvcmUpICogMC4wNSArIDE7LS15OnRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1saWZ0LWFtb3VudCkgKiB2YXIoLS10b2FzdHMtYmVmb3JlKSkpIHNjYWxlKGNhbGMoLTEgKiB2YXIoLS1zY2FsZSkpKTtoZWlnaHQ6dmFyKC0tZnJvbnQtdG9hc3QtaGVpZ2h0KX1bZGF0YS1zb25uZXItdG9hc3RdPip7dHJhbnNpdGlvbjpvcGFjaXR5IC40c31bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteC1wb3NpdGlvbj1yaWdodF17cmlnaHQ6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OjB9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWV4cGFuZGVkPWZhbHNlXVtkYXRhLWZyb250PWZhbHNlXVtkYXRhLXN0eWxlZD10cnVlXT4qe29wYWNpdHk6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdmlzaWJsZT1mYWxzZV17b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLW1vdW50ZWQ9dHJ1ZV1bZGF0YS1leHBhbmRlZD10cnVlXXstLXk6dHJhbnNsYXRlWShjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tb2Zmc2V0KSkpO2hlaWdodDp2YXIoLS1pbml0aWFsLWhlaWdodCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXJlbW92ZWQ9dHJ1ZV1bZGF0YS1mcm9udD10cnVlXVtkYXRhLXN3aXBlLW91dD1mYWxzZV17LS15OnRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1saWZ0KSAqIC0xMDAlKSk7b3BhY2l0eTowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPXRydWVdW2RhdGEtZnJvbnQ9ZmFsc2VdW2RhdGEtc3dpcGUtb3V0PWZhbHNlXVtkYXRhLWV4cGFuZGVkPXRydWVdey0teTp0cmFuc2xhdGVZKGNhbGModmFyKC0tbGlmdCkgKiB2YXIoLS1vZmZzZXQpICsgdmFyKC0tbGlmdCkgKiAtMTAwJSkpO29wYWNpdHk6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcmVtb3ZlZD10cnVlXVtkYXRhLWZyb250PWZhbHNlXVtkYXRhLXN3aXBlLW91dD1mYWxzZV1bZGF0YS1leHBhbmRlZD1mYWxzZV17LS15OnRyYW5zbGF0ZVkoNDAlKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjVzLG9wYWNpdHkgLjJzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPXRydWVdW2RhdGEtZnJvbnQ9ZmFsc2VdOjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0taW5pdGlhbC1oZWlnaHQpICsgMjAlKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGluZz10cnVlXXt0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWSh2YXIoLS1zd2lwZS1hbW91bnQteSwwKSkgdHJhbnNsYXRlWCh2YXIoLS1zd2lwZS1hbW91bnQteCwwKSk7dHJhbnNpdGlvbjpub25lfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZWQ9dHJ1ZV17dXNlci1zZWxlY3Q6bm9uZX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEteS1wb3NpdGlvbj1ib3R0b21dLFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS15LXBvc2l0aW9uPXRvcF17YW5pbWF0aW9uLWR1cmF0aW9uOi4yczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHN9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXN3aXBlLWRpcmVjdGlvbj1sZWZ0XXthbmltYXRpb24tbmFtZTpzd2lwZS1vdXQtbGVmdH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEtc3dpcGUtZGlyZWN0aW9uPXJpZ2h0XXthbmltYXRpb24tbmFtZTpzd2lwZS1vdXQtcmlnaHR9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXN3aXBlLWRpcmVjdGlvbj11cF17YW5pbWF0aW9uLW5hbWU6c3dpcGUtb3V0LXVwfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS1zd2lwZS1kaXJlY3Rpb249ZG93bl17YW5pbWF0aW9uLW5hbWU6c3dpcGUtb3V0LWRvd259QGtleWZyYW1lcyBzd2lwZS1vdXQtbGVmdHtmcm9te3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVYKHZhcigtLXN3aXBlLWFtb3VudC14KSk7b3BhY2l0eToxfXRve3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpcGUtYW1vdW50LXgpIC0gMTAwJSkpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2lwZS1vdXQtcmlnaHR7ZnJvbXt0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWCh2YXIoLS1zd2lwZS1hbW91bnQteCkpO29wYWNpdHk6MX10b3t0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWChjYWxjKHZhcigtLXN3aXBlLWFtb3VudC14KSArIDEwMCUpKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgc3dpcGUtb3V0LXVwe2Zyb217dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkodmFyKC0tc3dpcGUtYW1vdW50LXkpKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zd2lwZS1hbW91bnQteSkgLSAxMDAlKSk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHN3aXBlLW91dC1kb3due2Zyb217dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkodmFyKC0tc3dpcGUtYW1vdW50LXkpKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zd2lwZS1hbW91bnQteSkgKyAxMDAlKSk7b3BhY2l0eTowfX1AbWVkaWEgKG1heC13aWR0aDo2MDBweCl7W2RhdGEtc29ubmVyLXRvYXN0ZXJde3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OnZhcigtLW1vYmlsZS1vZmZzZXQtcmlnaHQpO2xlZnQ6dmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KTt3aWR0aDoxMDAlfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkaXI9cnRsXXtsZWZ0OmNhbGModmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KSAqIC0xKX1bZGF0YS1zb25uZXItdG9hc3Rlcl0gW2RhdGEtc29ubmVyLXRvYXN0XXtsZWZ0OjA7cmlnaHQ6MDt3aWR0aDpjYWxjKDEwMCUgLSB2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpICogMil9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OnZhcigtLW1vYmlsZS1vZmZzZXQtbGVmdCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj1ib3R0b21de2JvdHRvbTp2YXIoLS1tb2JpbGUtb2Zmc2V0LWJvdHRvbSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDp2YXIoLS1tb2JpbGUtb2Zmc2V0LXRvcCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1jZW50ZXJde2xlZnQ6dmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KTtyaWdodDp2YXIoLS1tb2JpbGUtb2Zmc2V0LXJpZ2h0KTt0cmFuc2Zvcm06bm9uZX19W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWxpZ2h0XXstLW5vcm1hbC1iZzojZmZmOy0tbm9ybWFsLWJvcmRlcjp2YXIoLS1ncmF5NCk7LS1ub3JtYWwtdGV4dDp2YXIoLS1ncmF5MTIpOy0tc3VjY2Vzcy1iZzpoc2woMTQzLCA4NSUsIDk2JSk7LS1zdWNjZXNzLWJvcmRlcjpoc2woMTQ1LCA5MiUsIDg3JSk7LS1zdWNjZXNzLXRleHQ6aHNsKDE0MCwgMTAwJSwgMjclKTstLWluZm8tYmc6aHNsKDIwOCwgMTAwJSwgOTclKTstLWluZm8tYm9yZGVyOmhzbCgyMjEsIDkxJSwgOTMlKTstLWluZm8tdGV4dDpoc2woMjEwLCA5MiUsIDQ1JSk7LS13YXJuaW5nLWJnOmhzbCg0OSwgMTAwJSwgOTclKTstLXdhcm5pbmctYm9yZGVyOmhzbCg0OSwgOTElLCA4NCUpOy0td2FybmluZy10ZXh0OmhzbCgzMSwgOTIlLCA0NSUpOy0tZXJyb3ItYmc6aHNsKDM1OSwgMTAwJSwgOTclKTstLWVycm9yLWJvcmRlcjpoc2woMzU5LCAxMDAlLCA5NCUpOy0tZXJyb3ItdGV4dDpoc2woMzYwLCAxMDAlLCA0NSUpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXNvbm5lci10aGVtZT1saWdodF0gW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWludmVydD10cnVlXXstLW5vcm1hbC1iZzojMDAwOy0tbm9ybWFsLWJvcmRlcjpoc2woMCwgMCUsIDIwJSk7LS1ub3JtYWwtdGV4dDp2YXIoLS1ncmF5MSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1pbnZlcnQ9dHJ1ZV17LS1ub3JtYWwtYmc6I2ZmZjstLW5vcm1hbC1ib3JkZXI6dmFyKC0tZ3JheTMpOy0tbm9ybWFsLXRleHQ6dmFyKC0tZ3JheTEyKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya117LS1ub3JtYWwtYmc6IzAwMDstLW5vcm1hbC1iZy1ob3Zlcjpoc2woMCwgMCUsIDEyJSk7LS1ub3JtYWwtYm9yZGVyOmhzbCgwLCAwJSwgMjAlKTstLW5vcm1hbC1ib3JkZXItaG92ZXI6aHNsKDAsIDAlLCAyNSUpOy0tbm9ybWFsLXRleHQ6dmFyKC0tZ3JheTEpOy0tc3VjY2Vzcy1iZzpoc2woMTUwLCAxMDAlLCA2JSk7LS1zdWNjZXNzLWJvcmRlcjpoc2woMTQ3LCAxMDAlLCAxMiUpOy0tc3VjY2Vzcy10ZXh0OmhzbCgxNTAsIDg2JSwgNjUlKTstLWluZm8tYmc6aHNsKDIxNSwgMTAwJSwgNiUpOy0taW5mby1ib3JkZXI6aHNsKDIyMywgNDMlLCAxNyUpOy0taW5mby10ZXh0OmhzbCgyMTYsIDg3JSwgNjUlKTstLXdhcm5pbmctYmc6aHNsKDY0LCAxMDAlLCA2JSk7LS13YXJuaW5nLWJvcmRlcjpoc2woNjAsIDEwMCUsIDklKTstLXdhcm5pbmctdGV4dDpoc2woNDYsIDg3JSwgNjUlKTstLWVycm9yLWJnOmhzbCgzNTgsIDc2JSwgMTAlKTstLWVycm9yLWJvcmRlcjpoc2woMzU3LCA4OSUsIDE2JSk7LS1lcnJvci10ZXh0OmhzbCgzNTgsIDEwMCUsIDgxJSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLXNvbm5lci10b2FzdF0gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLW5vcm1hbC1ib3JkZXIpO2NvbG9yOnZhcigtLW5vcm1hbC10ZXh0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya10gW2RhdGEtc29ubmVyLXRvYXN0XSBbZGF0YS1jbG9zZS1idXR0b25dOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnLWhvdmVyKTtib3JkZXItY29sb3I6dmFyKC0tbm9ybWFsLWJvcmRlci1ob3Zlcil9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1zdWNjZXNzXXtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzLWJvcmRlcik7Y29sb3I6dmFyKC0tc3VjY2Vzcy10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXN1Y2Nlc3NdIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLWJnKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcy1ib3JkZXIpO2NvbG9yOnZhcigtLXN1Y2Nlc3MtdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1pbmZvXXtiYWNrZ3JvdW5kOnZhcigtLWluZm8tYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1pbmZvLWJvcmRlcik7Y29sb3I6dmFyKC0taW5mby10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPWluZm9dIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1pbmZvLWJnKTtib3JkZXItY29sb3I6dmFyKC0taW5mby1ib3JkZXIpO2NvbG9yOnZhcigtLWluZm8tdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT13YXJuaW5nXXtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctYmcpO2JvcmRlci1jb2xvcjp2YXIoLS13YXJuaW5nLWJvcmRlcik7Y29sb3I6dmFyKC0td2FybmluZy10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXdhcm5pbmddIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLWJnKTtib3JkZXItY29sb3I6dmFyKC0td2FybmluZy1ib3JkZXIpO2NvbG9yOnZhcigtLXdhcm5pbmctdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1lcnJvcl17YmFja2dyb3VuZDp2YXIoLS1lcnJvci1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWVycm9yLWJvcmRlcik7Y29sb3I6dmFyKC0tZXJyb3ItdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1lcnJvcl0gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLWVycm9yLWJnKTtib3JkZXItY29sb3I6dmFyKC0tZXJyb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1lcnJvci10ZXh0KX0uc29ubmVyLWxvYWRpbmctd3JhcHBlcnstLXNpemU6MTZweDtoZWlnaHQ6dmFyKC0tc2l6ZSk7d2lkdGg6dmFyKC0tc2l6ZSk7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjEwfS5zb25uZXItbG9hZGluZy13cmFwcGVyW2RhdGEtdmlzaWJsZT1mYWxzZV17dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7YW5pbWF0aW9uOnNvbm5lci1mYWRlLW91dCAuMnMgZWFzZSBmb3J3YXJkc30uc29ubmVyLXNwaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTtsZWZ0OjUwJTtoZWlnaHQ6dmFyKC0tc2l6ZSk7d2lkdGg6dmFyKC0tc2l6ZSl9LnNvbm5lci1sb2FkaW5nLWJhcnthbmltYXRpb246c29ubmVyLXNwaW4gMS4ycyBsaW5lYXIgaW5maW5pdGU7YmFja2dyb3VuZDp2YXIoLS1ncmF5MTEpO2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDo4JTtsZWZ0Oi0xMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0zLjklO3dpZHRoOjI0JX0uc29ubmVyLWxvYWRpbmctYmFyOmZpcnN0LWNoaWxke2FuaW1hdGlvbi1kZWxheTotMS4yczt0cmFuc2Zvcm06cm90YXRlKC4wMDAxZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi0xLjFzO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCgzKXthbmltYXRpb24tZGVsYXk6LTFzO3RyYW5zZm9ybTpyb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LS45czt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoNSl7YW5pbWF0aW9uLWRlbGF5Oi0uOHM7dHJhbnNmb3JtOnJvdGF0ZSgxMjBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg2KXthbmltYXRpb24tZGVsYXk6LS43czt0cmFuc2Zvcm06cm90YXRlKDE1MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDcpe2FuaW1hdGlvbi1kZWxheTotLjZzO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoOCl7YW5pbWF0aW9uLWRlbGF5Oi0uNXM7dHJhbnNmb3JtOnJvdGF0ZSgyMTBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg5KXthbmltYXRpb24tZGVsYXk6LS40czt0cmFuc2Zvcm06cm90YXRlKDI0MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDEwKXthbmltYXRpb24tZGVsYXk6LS4zczt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDExKXthbmltYXRpb24tZGVsYXk6LS4yczt0cmFuc2Zvcm06cm90YXRlKDMwMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDEyKXthbmltYXRpb24tZGVsYXk6LS4xczt0cmFuc2Zvcm06cm90YXRlKDMzMGRlZykgdHJhbnNsYXRlKDE0NiUpfUBrZXlmcmFtZXMgc29ubmVyLWZhZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCl9MTAwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHNvbm5lci1mYWRlLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCl9fUBrZXlmcmFtZXMgc29ubmVyLXNwaW57MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTouMTV9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbil7LnNvbm5lci1sb2FkaW5nLWJhcixbZGF0YS1zb25uZXItdG9hc3RdLFtkYXRhLXNvbm5lci10b2FzdF0+Knt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O2FuaW1hdGlvbjpub25lIWltcG9ydGFudH19LnNvbm5lci1sb2FkZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyx0cmFuc2Zvcm0gLjJzfS5zb25uZXItbG9hZGVyW2RhdGEtdmlzaWJsZT1mYWxzZV17b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCkgdHJhbnNsYXRlKC01MCUsLTUwJSl9Iik7ZnVuY3Rpb24gbjUoJCl7cmV0dXJuICQubGFiZWwhPT12b2lkIDB9dmFyIHFKPTMsR0o9IjI0cHgiLFZKPSIxNnB4IixhNj00MDAwLEJKPTM1NixOSj0xNCx6Sj00NSxMSj0yMDA7ZnVuY3Rpb24geTAoLi4uJCl7cmV0dXJuICQuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKX1mdW5jdGlvbiBVSigkKXtsZXRbUSxKXT0kLnNwbGl0KCItIiksWD1bXTtpZihRKVgucHVzaChRKTtpZihKKVgucHVzaChKKTtyZXR1cm4gWH12YXIgSEo9KCQpPT57dmFyIFEsSixYLEssWSxxLEcsQixOO2xldHtpbnZlcnQ6eix0b2FzdDpWLHVuc3R5bGVkOlUsaW50ZXJhY3Rpbmc6QyxzZXRIZWlnaHRzOk0sdmlzaWJsZVRvYXN0czpMLGhlaWdodHM6SCxpbmRleDpPLHRvYXN0czpXLGV4cGFuZGVkOlQscmVtb3ZlVG9hc3Q6UCxkZWZhdWx0UmljaENvbG9yczp4LGNsb3NlQnV0dG9uOkQsc3R5bGU6ZSxjYW5jZWxCdXR0b25TdHlsZTpSLGFjdGlvbkJ1dHRvblN0eWxlOmQsY2xhc3NOYW1lOm49IiIsZGVzY3JpcHRpb25DbGFzc05hbWU6bz0iIixkdXJhdGlvbjphLHBvc2l0aW9uOmksZ2FwOkwxLGV4cGFuZEJ5RGVmYXVsdDpsLGNsYXNzTmFtZXM6ZixpY29uczpYMSxjbG9zZUJ1dHRvbkFyaWFMYWJlbDpaMT0iQ2xvc2UgdG9hc3QifT0kLFtVMSxzXT1nLnVzZVN0YXRlKG51bGwpLFtKMSxxMV09Zy51c2VTdGF0ZShudWxsKSxbaixwXT1nLnVzZVN0YXRlKCExKSxbXyxoXT1nLnVzZVN0YXRlKCExKSxbbSx2XT1nLnVzZVN0YXRlKCExKSxbWTEsVjFdPWcudXNlU3RhdGUoITEpLFt3MSxGMV09Zy51c2VTdGF0ZSghMSksW0kxLFcxXT1nLnVzZVN0YXRlKDApLFtSMSxrMV09Zy51c2VTdGF0ZSgwKSxyMT1nLnVzZVJlZihWLmR1cmF0aW9ufHxhfHxhNikseDE9Zy51c2VSZWYobnVsbCksTTE9Zy51c2VSZWYobnVsbCksTjE9Tz09PTAsYTE9TysxPD1MLGYxPVYudHlwZSxpMT1WLmRpc21pc3NpYmxlIT09ITEsdDE9Vi5jbGFzc05hbWV8fCIiLHEwPVYuZGVzY3JpcHRpb25DbGFzc05hbWV8fCIiLEcwPWcudXNlTWVtbygoKT0+SC5maW5kSW5kZXgoKEsxKT0+SzEudG9hc3RJZD09PVYuaWQpfHwwLFtILFYuaWRdKSxsMD1nLnVzZU1lbW8oKCk9Pnt2YXIgSzE7cmV0dXJuKEsxPVYuY2xvc2VCdXR0b24pIT1udWxsP0sxOkR9LFtWLmNsb3NlQnV0dG9uLERdKSxqMT1nLnVzZU1lbW8oKCk9PlYuZHVyYXRpb258fGF8fGE2LFtWLmR1cmF0aW9uLGFdKSxWMD1nLnVzZVJlZigwKSxRMD1nLnVzZVJlZigwKSxEMD1nLnVzZVJlZigwKSxtMT1nLnVzZVJlZihudWxsKSxbZTEsUjBdPWkuc3BsaXQoIi0iKSxiMT1nLnVzZU1lbW8oKCk9PntyZXR1cm4gSC5yZWR1Y2UoKEsxLEUsdSk9PntpZih1Pj1HMClyZXR1cm4gSzE7cmV0dXJuIEsxK0UuaGVpZ2h0fSwwKX0sW0gsRzBdKSxCMD1RSigpLFUwPVYuaW52ZXJ0fHx6LF8xPWYxPT09ImxvYWRpbmciO1EwLmN1cnJlbnQ9Zy51c2VNZW1vKCgpPT5HMCpMMStiMSxbRzAsYjFdKSxnLnVzZUVmZmVjdCgoKT0+e3IxLmN1cnJlbnQ9ajF9LFtqMV0pLGcudXNlRWZmZWN0KCgpPT57cCghMCl9LFtdKSxnLnVzZUVmZmVjdCgoKT0+e2xldCBLMT1NMS5jdXJyZW50O2lmKEsxKXtsZXQgRT1LMS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7cmV0dXJuIGsxKEUpLE0oKHUpPT5be3RvYXN0SWQ6Vi5pZCxoZWlnaHQ6RSxwb3NpdGlvbjpWLnBvc2l0aW9ufSwuLi51XSksKCk9Pk0oKHUpPT51LmZpbHRlcigocik9PnIudG9hc3RJZCE9PVYuaWQpKX19LFtNLFYuaWRdKSxnLnVzZUxheW91dEVmZmVjdCgoKT0+e2lmKCFqKXJldHVybjtsZXQgSzE9TTEuY3VycmVudCxFPUsxLnN0eWxlLmhlaWdodDtLMS5zdHlsZS5oZWlnaHQ9ImF1dG8iO2xldCB1PUsxLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtLMS5zdHlsZS5oZWlnaHQ9RSxrMSh1KSxNKChyKT0+e2lmKCFyLmZpbmQoKEcxKT0+RzEudG9hc3RJZD09PVYuaWQpKXJldHVyblt7dG9hc3RJZDpWLmlkLGhlaWdodDp1LHBvc2l0aW9uOlYucG9zaXRpb259LC4uLnJdO2Vsc2UgcmV0dXJuIHIubWFwKChHMSk9PkcxLnRvYXN0SWQ9PT1WLmlkP3suLi5HMSxoZWlnaHQ6dX06RzEpfSl9LFtqLFYudGl0bGUsVi5kZXNjcmlwdGlvbixNLFYuaWQsVi5qc3gsVi5hY3Rpb24sVi5jYW5jZWxdKTtsZXQgRTE9Zy51c2VDYWxsYmFjaygoKT0+e2goITApLFcxKFEwLmN1cnJlbnQpLE0oKEsxKT0+SzEuZmlsdGVyKChFKT0+RS50b2FzdElkIT09Vi5pZCkpLHNldFRpbWVvdXQoKCk9PntQKFYpfSxMSil9LFtWLFAsTSxRMF0pO2cudXNlRWZmZWN0KCgpPT57aWYoVi5wcm9taXNlJiZmMT09PSJsb2FkaW5nInx8Vi5kdXJhdGlvbj09PTEvMHx8Vi50eXBlPT09ImxvYWRpbmciKXJldHVybjtsZXQgSzEsRT0oKT0+e2lmKEQwLmN1cnJlbnQ8VjAuY3VycmVudCl7bGV0IHI9bmV3IERhdGUoKS5nZXRUaW1lKCktVjAuY3VycmVudDtyMS5jdXJyZW50PXIxLmN1cnJlbnQtcn1EMC5jdXJyZW50PW5ldyBEYXRlKCkuZ2V0VGltZSgpfSx1PSgpPT57aWYocjEuY3VycmVudD09PTEvMClyZXR1cm47VjAuY3VycmVudD1uZXcgRGF0ZSgpLmdldFRpbWUoKSxLMT1zZXRUaW1lb3V0KCgpPT57Vi5vbkF1dG9DbG9zZT09bnVsbHx8Vi5vbkF1dG9DbG9zZS5jYWxsKFYsViksRTEoKX0scjEuY3VycmVudCl9O2lmKFR8fEN8fEIwKUUoKTtlbHNlIHUoKTtyZXR1cm4oKT0+Y2xlYXJUaW1lb3V0KEsxKX0sW1QsQyxWLGYxLEIwLEUxXSksZy51c2VFZmZlY3QoKCk9PntpZihWLmRlbGV0ZSlFMSgpLFYub25EaXNtaXNzPT1udWxsfHxWLm9uRGlzbWlzcy5jYWxsKFYsVil9LFtFMSxWLmRlbGV0ZV0pO2Z1bmN0aW9uIEowKCl7dmFyIEsxO2lmKFgxPT1udWxsP3ZvaWQgMDpYMS5sb2FkaW5nKXt2YXIgRTtyZXR1cm4gZy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi5sb2FkZXIsVj09bnVsbD92b2lkIDA6KEU9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6RS5sb2FkZXIsInNvbm5lci1sb2FkZXIiKSwiZGF0YS12aXNpYmxlIjpmMT09PSJsb2FkaW5nIn0sWDEubG9hZGluZyl9cmV0dXJuIGcuY3JlYXRlRWxlbWVudChyUSx7Y2xhc3NOYW1lOnkwKGY9PW51bGw/dm9pZCAwOmYubG9hZGVyLFY9PW51bGw/dm9pZCAwOihLMT1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpLMS5sb2FkZXIpLHZpc2libGU6ZjE9PT0ibG9hZGluZyJ9KX1sZXQgTjA9Vi5pY29ufHwoWDE9PW51bGw/dm9pZCAwOlgxW2YxXSl8fGlRKGYxKTt2YXIgSDAsQTA7cmV0dXJuIGcuY3JlYXRlRWxlbWVudCgibGkiLHt0YWJJbmRleDowLHJlZjpNMSxjbGFzc05hbWU6eTAobix0MSxmPT1udWxsP3ZvaWQgMDpmLnRvYXN0LFY9PW51bGw/dm9pZCAwOihRPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOlEudG9hc3QsZj09bnVsbD92b2lkIDA6Zi5kZWZhdWx0LGY9PW51bGw/dm9pZCAwOmZbZjFdLFY9PW51bGw/dm9pZCAwOihKPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOkpbZjFdKSwiZGF0YS1zb25uZXItdG9hc3QiOiIiLCJkYXRhLXJpY2gtY29sb3JzIjooSDA9Vi5yaWNoQ29sb3JzKSE9bnVsbD9IMDp4LCJkYXRhLXN0eWxlZCI6IUJvb2xlYW4oVi5qc3h8fFYudW5zdHlsZWR8fFUpLCJkYXRhLW1vdW50ZWQiOmosImRhdGEtcHJvbWlzZSI6Qm9vbGVhbihWLnByb21pc2UpLCJkYXRhLXN3aXBlZCI6dzEsImRhdGEtcmVtb3ZlZCI6XywiZGF0YS12aXNpYmxlIjphMSwiZGF0YS15LXBvc2l0aW9uIjplMSwiZGF0YS14LXBvc2l0aW9uIjpSMCwiZGF0YS1pbmRleCI6TywiZGF0YS1mcm9udCI6TjEsImRhdGEtc3dpcGluZyI6bSwiZGF0YS1kaXNtaXNzaWJsZSI6aTEsImRhdGEtdHlwZSI6ZjEsImRhdGEtaW52ZXJ0IjpVMCwiZGF0YS1zd2lwZS1vdXQiOlkxLCJkYXRhLXN3aXBlLWRpcmVjdGlvbiI6SjEsImRhdGEtZXhwYW5kZWQiOkJvb2xlYW4oVHx8bCYmaiksImRhdGEtdGVzdGlkIjpWLnRlc3RJZCxzdHlsZTp7Ii0taW5kZXgiOk8sIi0tdG9hc3RzLWJlZm9yZSI6TywiLS16LWluZGV4IjpXLmxlbmd0aC1PLCItLW9mZnNldCI6YCR7Xz9JMTpRMC5jdXJyZW50fXB4YCwiLS1pbml0aWFsLWhlaWdodCI6bD8iYXV0byI6YCR7UjF9cHhgLC4uLmUsLi4uVi5zdHlsZX0sb25EcmFnRW5kOigpPT57dighMSkscyhudWxsKSxtMS5jdXJyZW50PW51bGx9LG9uUG9pbnRlckRvd246KEsxKT0+e2lmKEsxLmJ1dHRvbj09PTIpcmV0dXJuO2lmKF8xfHwhaTEpcmV0dXJuO2lmKHgxLmN1cnJlbnQ9bmV3IERhdGUsVzEoUTAuY3VycmVudCksSzEudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKEsxLnBvaW50ZXJJZCksSzEudGFyZ2V0LnRhZ05hbWU9PT0iQlVUVE9OIilyZXR1cm47dighMCksbTEuY3VycmVudD17eDpLMS5jbGllbnRYLHk6SzEuY2xpZW50WX19LG9uUG9pbnRlclVwOigpPT57dmFyIEsxLEUsdTtpZihZMXx8IWkxKXJldHVybjttMS5jdXJyZW50PW51bGw7bGV0IHI9TnVtYmVyKCgoSzE9TTEuY3VycmVudCk9PW51bGw/dm9pZCAwOksxLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoIi0tc3dpcGUtYW1vdW50LXgiKS5yZXBsYWNlKCJweCIsIiIpKXx8MCksQzE9TnVtYmVyKCgoRT1NMS5jdXJyZW50KT09bnVsbD92b2lkIDA6RS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCItLXN3aXBlLWFtb3VudC15IikucmVwbGFjZSgicHgiLCIiKSl8fDApLEcxPW5ldyBEYXRlKCkuZ2V0VGltZSgpLSgodT14MS5jdXJyZW50KT09bnVsbD92b2lkIDA6dS5nZXRUaW1lKCkpLEIxPVUxPT09IngiP3I6QzEsaDE9TWF0aC5hYnMoQjEpL0cxO2lmKE1hdGguYWJzKEIxKT49ekp8fGgxPjAuMTEpe2lmKFcxKFEwLmN1cnJlbnQpLFYub25EaXNtaXNzPT1udWxsfHxWLm9uRGlzbWlzcy5jYWxsKFYsViksVTE9PT0ieCIpcTEocj4wPyJyaWdodCI6ImxlZnQiKTtlbHNlIHExKEMxPjA/ImRvd24iOiJ1cCIpO0UxKCksVjEoITApO3JldHVybn1lbHNle3ZhciBsMSxwMTsobDE9TTEuY3VycmVudCk9PW51bGx8fGwxLnN0eWxlLnNldFByb3BlcnR5KCItLXN3aXBlLWFtb3VudC14IiwiMHB4IiksKHAxPU0xLmN1cnJlbnQpPT1udWxsfHxwMS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zd2lwZS1hbW91bnQteSIsIjBweCIpfUYxKCExKSx2KCExKSxzKG51bGwpfSxvblBvaW50ZXJNb3ZlOihLMSk9Pnt2YXIgRSx1LHI7aWYoIW0xLmN1cnJlbnR8fCFpMSlyZXR1cm47aWYoKChFPXdpbmRvdy5nZXRTZWxlY3Rpb24oKSk9PW51bGw/dm9pZCAwOkUudG9TdHJpbmcoKS5sZW5ndGgpPjApcmV0dXJuO2xldCBHMT1LMS5jbGllbnRZLW0xLmN1cnJlbnQueSxCMT1LMS5jbGllbnRYLW0xLmN1cnJlbnQueDt2YXIgaDE7bGV0IGwxPShoMT0kLnN3aXBlRGlyZWN0aW9ucykhPW51bGw/aDE6VUooaSk7aWYoIVUxJiYoTWF0aC5hYnMoQjEpPjF8fE1hdGguYWJzKEcxKT4xKSlzKE1hdGguYWJzKEIxKT5NYXRoLmFicyhHMSk/IngiOiJ5Iik7bGV0IHAxPXt4OjAseTowfSxDMD0objEpPT57cmV0dXJuIDEvKDEuNStNYXRoLmFicyhuMSkvMjApfTtpZihVMT09PSJ5Iil7aWYobDEuaW5jbHVkZXMoInRvcCIpfHxsMS5pbmNsdWRlcygiYm90dG9tIikpaWYobDEuaW5jbHVkZXMoInRvcCIpJiZHMTwwfHxsMS5pbmNsdWRlcygiYm90dG9tIikmJkcxPjApcDEueT1HMTtlbHNle2xldCBuMT1HMSpDMChHMSk7cDEueT1NYXRoLmFicyhuMSk8TWF0aC5hYnMoRzEpP24xOkcxfX1lbHNlIGlmKFUxPT09IngiKXtpZihsMS5pbmNsdWRlcygibGVmdCIpfHxsMS5pbmNsdWRlcygicmlnaHQiKSlpZihsMS5pbmNsdWRlcygibGVmdCIpJiZCMTwwfHxsMS5pbmNsdWRlcygicmlnaHQiKSYmQjE+MClwMS54PUIxO2Vsc2V7bGV0IG4xPUIxKkMwKEIxKTtwMS54PU1hdGguYWJzKG4xKTxNYXRoLmFicyhCMSk/bjE6QjF9fWlmKE1hdGguYWJzKHAxLngpPjB8fE1hdGguYWJzKHAxLnkpPjApRjEoITApOyh1PU0xLmN1cnJlbnQpPT1udWxsfHx1LnN0eWxlLnNldFByb3BlcnR5KCItLXN3aXBlLWFtb3VudC14IixgJHtwMS54fXB4YCksKHI9TTEuY3VycmVudCk9PW51bGx8fHIuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3dpcGUtYW1vdW50LXkiLGAke3AxLnl9cHhgKX19LGwwJiYhVi5qc3gmJmYxIT09ImxvYWRpbmciP2cuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7ImFyaWEtbGFiZWwiOloxLCJkYXRhLWRpc2FibGVkIjpfMSwiZGF0YS1jbG9zZS1idXR0b24iOiEwLG9uQ2xpY2s6XzF8fCFpMT8oKT0+e306KCk9PntFMSgpLFYub25EaXNtaXNzPT1udWxsfHxWLm9uRGlzbWlzcy5jYWxsKFYsVil9LGNsYXNzTmFtZTp5MChmPT1udWxsP3ZvaWQgMDpmLmNsb3NlQnV0dG9uLFY9PW51bGw/dm9pZCAwOihYPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOlguY2xvc2VCdXR0b24pfSwoQTA9WDE9PW51bGw/dm9pZCAwOlgxLmNsb3NlKSE9bnVsbD9BMDokSik6bnVsbCwoZjF8fFYuaWNvbnx8Vi5wcm9taXNlKSYmVi5pY29uIT09bnVsbCYmKChYMT09bnVsbD92b2lkIDA6WDFbZjFdKSE9PW51bGx8fFYuaWNvbik/Zy5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1pY29uIjoiIixjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi5pY29uLFY9PW51bGw/dm9pZCAwOihLPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOksuaWNvbil9LFYucHJvbWlzZXx8Vi50eXBlPT09ImxvYWRpbmciJiYhVi5pY29uP1YuaWNvbnx8SjAoKTpudWxsLFYudHlwZSE9PSJsb2FkaW5nIj9OMDpudWxsKTpudWxsLGcuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtY29udGVudCI6IiIsY2xhc3NOYW1lOnkwKGY9PW51bGw/dm9pZCAwOmYuY29udGVudCxWPT1udWxsP3ZvaWQgMDooWT1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpZLmNvbnRlbnQpfSxnLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXRpdGxlIjoiIixjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi50aXRsZSxWPT1udWxsP3ZvaWQgMDoocT1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpxLnRpdGxlKX0sVi5qc3g/Vi5qc3g6dHlwZW9mIFYudGl0bGU9PT0iZnVuY3Rpb24iP1YudGl0bGUoKTpWLnRpdGxlKSxWLmRlc2NyaXB0aW9uP2cuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtZGVzY3JpcHRpb24iOiIiLGNsYXNzTmFtZTp5MChvLHEwLGY9PW51bGw/dm9pZCAwOmYuZGVzY3JpcHRpb24sVj09bnVsbD92b2lkIDA6KEc9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Ry5kZXNjcmlwdGlvbil9LHR5cGVvZiBWLmRlc2NyaXB0aW9uPT09ImZ1bmN0aW9uIj9WLmRlc2NyaXB0aW9uKCk6Vi5kZXNjcmlwdGlvbik6bnVsbCksZy5pc1ZhbGlkRWxlbWVudChWLmNhbmNlbCk/Vi5jYW5jZWw6Vi5jYW5jZWwmJm41KFYuY2FuY2VsKT9nLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJkYXRhLWJ1dHRvbiI6ITAsImRhdGEtY2FuY2VsIjohMCxzdHlsZTpWLmNhbmNlbEJ1dHRvblN0eWxlfHxSLG9uQ2xpY2s6KEsxKT0+e2lmKCFuNShWLmNhbmNlbCkpcmV0dXJuO2lmKCFpMSlyZXR1cm47Vi5jYW5jZWwub25DbGljaz09bnVsbHx8Vi5jYW5jZWwub25DbGljay5jYWxsKFYuY2FuY2VsLEsxKSxFMSgpfSxjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi5jYW5jZWxCdXR0b24sVj09bnVsbD92b2lkIDA6KEI9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Qi5jYW5jZWxCdXR0b24pfSxWLmNhbmNlbC5sYWJlbCk6bnVsbCxnLmlzVmFsaWRFbGVtZW50KFYuYWN0aW9uKT9WLmFjdGlvbjpWLmFjdGlvbiYmbjUoVi5hY3Rpb24pP2cuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7ImRhdGEtYnV0dG9uIjohMCwiZGF0YS1hY3Rpb24iOiEwLHN0eWxlOlYuYWN0aW9uQnV0dG9uU3R5bGV8fGQsb25DbGljazooSzEpPT57aWYoIW41KFYuYWN0aW9uKSlyZXR1cm47aWYoVi5hY3Rpb24ub25DbGljaz09bnVsbHx8Vi5hY3Rpb24ub25DbGljay5jYWxsKFYuYWN0aW9uLEsxKSxLMS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtFMSgpfSxjbGFzc05hbWU6eTAoZj09bnVsbD92b2lkIDA6Zi5hY3Rpb25CdXR0b24sVj09bnVsbD92b2lkIDA6KE49Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Ti5hY3Rpb25CdXR0b24pfSxWLmFjdGlvbi5sYWJlbCk6bnVsbCl9O2Z1bmN0aW9uIHM2KCl7aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuImx0ciI7aWYodHlwZW9mIGRvY3VtZW50PiJ1IilyZXR1cm4ibHRyIjtsZXQgJD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkaXIiKTtpZigkPT09ImF1dG8ifHwhJClyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5kaXJlY3Rpb247cmV0dXJuICR9ZnVuY3Rpb24gQ0ooJCxRKXtsZXQgSj17fTtyZXR1cm5bJCxRXS5mb3JFYWNoKChYLEspPT57bGV0IFk9Sz09PTEscT1ZPyItLW1vYmlsZS1vZmZzZXQiOiItLW9mZnNldCIsRz1ZP1ZKOkdKO2Z1bmN0aW9uIEIoTil7WyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5mb3JFYWNoKCh6KT0+e0pbYCR7cX0tJHt6fWBdPXR5cGVvZiBOPT09Im51bWJlciI/YCR7Tn1weGA6Tn0pfWlmKHR5cGVvZiBYPT09Im51bWJlciJ8fHR5cGVvZiBYPT09InN0cmluZyIpQihYKTtlbHNlIGlmKHR5cGVvZiBYPT09Im9iamVjdCIpWyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5mb3JFYWNoKChOKT0+e2lmKFhbTl09PT12b2lkIDApSltgJHtxfS0ke059YF09RztlbHNlIEpbYCR7cX0tJHtOfWBdPXR5cGVvZiBYW05dPT09Im51bWJlciI/YCR7WFtOXX1weGA6WFtOXX0pO2Vsc2UgQihHKX0pLEp9dmFyIGU2PWcuZm9yd2FyZFJlZihmdW5jdGlvbihRLEope2xldHtpZDpYLGludmVydDpLLHBvc2l0aW9uOlk9ImJvdHRvbS1yaWdodCIsaG90a2V5OnE9WyJhbHRLZXkiLCJLZXlUIl0sZXhwYW5kOkcsY2xvc2VCdXR0b246QixjbGFzc05hbWU6TixvZmZzZXQ6eixtb2JpbGVPZmZzZXQ6Vix0aGVtZTpVPSJsaWdodCIscmljaENvbG9yczpDLGR1cmF0aW9uOk0sc3R5bGU6TCx2aXNpYmxlVG9hc3RzOkg9cUosdG9hc3RPcHRpb25zOk8sZGlyOlc9czYoKSxnYXA6VD1OSixpY29uczpQLGNvbnRhaW5lckFyaWFMYWJlbDp4PSJOb3RpZmljYXRpb25zIn09USxbRCxlXT1nLnVzZVN0YXRlKFtdKSxSPWcudXNlTWVtbygoKT0+e2lmKFgpcmV0dXJuIEQuZmlsdGVyKChqKT0+ai50b2FzdGVySWQ9PT1YKTtyZXR1cm4gRC5maWx0ZXIoKGopPT4hai50b2FzdGVySWQpfSxbRCxYXSksZD1nLnVzZU1lbW8oKCk9PntyZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KFtZXS5jb25jYXQoUi5maWx0ZXIoKGopPT5qLnBvc2l0aW9uKS5tYXAoKGopPT5qLnBvc2l0aW9uKSkpKX0sW1IsWV0pLFtuLG9dPWcudXNlU3RhdGUoW10pLFthLGldPWcudXNlU3RhdGUoITEpLFtMMSxsXT1nLnVzZVN0YXRlKCExKSxbZixYMV09Zy51c2VTdGF0ZShVIT09InN5c3RlbSI/VTp0eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOiJsaWdodCIpLFoxPWcudXNlUmVmKG51bGwpLFUxPXEuam9pbigiKyIpLnJlcGxhY2UoL0tleS9nLCIiKS5yZXBsYWNlKC9EaWdpdC9nLCIiKSxzPWcudXNlUmVmKG51bGwpLEoxPWcudXNlUmVmKCExKSxxMT1nLnVzZUNhbGxiYWNrKChqKT0+e2UoKHApPT57dmFyIF87aWYoISgoXz1wLmZpbmQoKGgpPT5oLmlkPT09ai5pZCkpPT1udWxsP3ZvaWQgMDpfLmRlbGV0ZSkpSzAuZGlzbWlzcyhqLmlkKTtyZXR1cm4gcC5maWx0ZXIoKHtpZDpofSk9PmghPT1qLmlkKX0pfSxbXSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57cmV0dXJuIEswLnN1YnNjcmliZSgoaik9PntpZihqLmRpc21pc3Mpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2UoKHApPT5wLm1hcCgoXyk9Pl8uaWQ9PT1qLmlkP3suLi5fLGRlbGV0ZTohMH06XykpfSk7cmV0dXJufXNldFRpbWVvdXQoKCk9PntnLmZsdXNoU3luYygoKT0+e2UoKHApPT57bGV0IF89cC5maW5kSW5kZXgoKGgpPT5oLmlkPT09ai5pZCk7aWYoXyE9PS0xKXJldHVyblsuLi5wLnNsaWNlKDAsXyksey4uLnBbX10sLi4uan0sLi4ucC5zbGljZShfKzEpXTtyZXR1cm5baiwuLi5wXX0pfSl9KX0pfSxbRF0pLGcudXNlRWZmZWN0KCgpPT57aWYoVSE9PSJzeXN0ZW0iKXtYMShVKTtyZXR1cm59aWYoVT09PSJzeXN0ZW0iKWlmKHdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXMpWDEoImRhcmsiKTtlbHNlIFgxKCJsaWdodCIpO2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybjtsZXQgaj13aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpO3RyeXtqLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHttYXRjaGVzOnB9KT0+e2lmKHApWDEoImRhcmsiKTtlbHNlIFgxKCJsaWdodCIpfSl9Y2F0Y2gocCl7ai5hZGRMaXN0ZW5lcigoe21hdGNoZXM6X30pPT57dHJ5e2lmKF8pWDEoImRhcmsiKTtlbHNlIFgxKCJsaWdodCIpfWNhdGNoKGgpe2NvbnNvbGUuZXJyb3IoaCl9fSl9fSxbVV0pLGcudXNlRWZmZWN0KCgpPT57aWYoRC5sZW5ndGg8PTEpaSghMSl9LFtEXSksZy51c2VFZmZlY3QoKCk9PntsZXQgaj0ocCk9Pnt2YXIgXztpZihxLmV2ZXJ5KCh2KT0+cFt2XXx8cC5jb2RlPT09dikpe3ZhciBtO2koITApLChtPVoxLmN1cnJlbnQpPT1udWxsfHxtLmZvY3VzKCl9aWYocC5jb2RlPT09IkVzY2FwZSImJihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09WjEuY3VycmVudHx8KChfPVoxLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpfLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSkpaSghMSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixqKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsail9LFtxXSksZy51c2VFZmZlY3QoKCk9PntpZihaMS5jdXJyZW50KXJldHVybigpPT57aWYocy5jdXJyZW50KXMuY3VycmVudC5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLHMuY3VycmVudD1udWxsLEoxLmN1cnJlbnQ9ITF9fSxbWjEuY3VycmVudF0pLGcuY3JlYXRlRWxlbWVudCgic2VjdGlvbiIse3JlZjpKLCJhcmlhLWxhYmVsIjpgJHt4fSAke1UxfWAsdGFiSW5kZXg6LTEsImFyaWEtbGl2ZSI6InBvbGl0ZSIsImFyaWEtcmVsZXZhbnQiOiJhZGRpdGlvbnMgdGV4dCIsImFyaWEtYXRvbWljIjoiZmFsc2UiLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMH0sZC5tYXAoKGoscCk9Pnt2YXIgXztsZXRbaCxtXT1qLnNwbGl0KCItIik7aWYoIVIubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiBnLmNyZWF0ZUVsZW1lbnQoIm9sIix7a2V5OmosZGlyOlc9PT0iYXV0byI/czYoKTpXLHRhYkluZGV4Oi0xLHJlZjpaMSxjbGFzc05hbWU6TiwiZGF0YS1zb25uZXItdG9hc3RlciI6ITAsImRhdGEtc29ubmVyLXRoZW1lIjpmLCJkYXRhLXktcG9zaXRpb24iOmgsImRhdGEteC1wb3NpdGlvbiI6bSxzdHlsZTp7Ii0tZnJvbnQtdG9hc3QtaGVpZ2h0IjpgJHsoKF89blswXSk9PW51bGw/dm9pZCAwOl8uaGVpZ2h0KXx8MH1weGAsIi0td2lkdGgiOmAke0JKfXB4YCwiLS1nYXAiOmAke1R9cHhgLC4uLkwsLi4uQ0ooeixWKX0sb25CbHVyOih2KT0+e2lmKEoxLmN1cnJlbnQmJiF2LmN1cnJlbnRUYXJnZXQuY29udGFpbnModi5yZWxhdGVkVGFyZ2V0KSl7aWYoSjEuY3VycmVudD0hMSxzLmN1cnJlbnQpcy5jdXJyZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSkscy5jdXJyZW50PW51bGx9fSxvbkZvY3VzOih2KT0+e2lmKHYudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnYudGFyZ2V0LmRhdGFzZXQuZGlzbWlzc2libGU9PT0iZmFsc2UiKXJldHVybjtpZighSjEuY3VycmVudClKMS5jdXJyZW50PSEwLHMuY3VycmVudD12LnJlbGF0ZWRUYXJnZXR9LG9uTW91c2VFbnRlcjooKT0+aSghMCksb25Nb3VzZU1vdmU6KCk9PmkoITApLG9uTW91c2VMZWF2ZTooKT0+e2lmKCFMMSlpKCExKX0sb25EcmFnRW5kOigpPT5pKCExKSxvblBvaW50ZXJEb3duOih2KT0+e2lmKHYudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnYudGFyZ2V0LmRhdGFzZXQuZGlzbWlzc2libGU9PT0iZmFsc2UiKXJldHVybjtsKCEwKX0sb25Qb2ludGVyVXA6KCk9PmwoITEpfSxSLmZpbHRlcigodik9PiF2LnBvc2l0aW9uJiZwPT09MHx8di5wb3NpdGlvbj09PWopLm1hcCgodixZMSk9Pnt2YXIgVjEsdzE7cmV0dXJuIGcuY3JlYXRlRWxlbWVudChISix7a2V5OnYuaWQsaWNvbnM6UCxpbmRleDpZMSx0b2FzdDp2LGRlZmF1bHRSaWNoQ29sb3JzOkMsZHVyYXRpb246KFYxPU89PW51bGw/dm9pZCAwOk8uZHVyYXRpb24pIT1udWxsP1YxOk0sY2xhc3NOYW1lOk89PW51bGw/dm9pZCAwOk8uY2xhc3NOYW1lLGRlc2NyaXB0aW9uQ2xhc3NOYW1lOk89PW51bGw/dm9pZCAwOk8uZGVzY3JpcHRpb25DbGFzc05hbWUsaW52ZXJ0OkssdmlzaWJsZVRvYXN0czpILGNsb3NlQnV0dG9uOih3MT1PPT1udWxsP3ZvaWQgMDpPLmNsb3NlQnV0dG9uKSE9bnVsbD93MTpCLGludGVyYWN0aW5nOkwxLHBvc2l0aW9uOmosc3R5bGU6Tz09bnVsbD92b2lkIDA6Ty5zdHlsZSx1bnN0eWxlZDpPPT1udWxsP3ZvaWQgMDpPLnVuc3R5bGVkLGNsYXNzTmFtZXM6Tz09bnVsbD92b2lkIDA6Ty5jbGFzc05hbWVzLGNhbmNlbEJ1dHRvblN0eWxlOk89PW51bGw/dm9pZCAwOk8uY2FuY2VsQnV0dG9uU3R5bGUsYWN0aW9uQnV0dG9uU3R5bGU6Tz09bnVsbD92b2lkIDA6Ty5hY3Rpb25CdXR0b25TdHlsZSxjbG9zZUJ1dHRvbkFyaWFMYWJlbDpPPT1udWxsP3ZvaWQgMDpPLmNsb3NlQnV0dG9uQXJpYUxhYmVsLHJlbW92ZVRvYXN0OnExLHRvYXN0czpSLmZpbHRlcigoRjEpPT5GMS5wb3NpdGlvbj09di5wb3NpdGlvbiksaGVpZ2h0czpuLmZpbHRlcigoRjEpPT5GMS5wb3NpdGlvbj09di5wb3NpdGlvbiksc2V0SGVpZ2h0czpvLGV4cGFuZEJ5RGVmYXVsdDpHLGdhcDpULGV4cGFuZGVkOmEsc3dpcGVEaXJlY3Rpb25zOlEuc3dpcGVEaXJlY3Rpb25zfSl9KSl9KSl9KTtmdW5jdGlvbiAkNCgpe3JldHVybiBaKGU2LHt0aGVtZToiZGFyayIscG9zaXRpb246ImJvdHRvbS1jZW50ZXIiLHZpc2libGVUb2FzdHM6NCxnYXA6OCxvZmZzZXQ6e2JvdHRvbToyNH0sdG9hc3RPcHRpb25zOnt1bnN0eWxlZDohMH0sc3R5bGU6e3pJbmRleDoyMTQ3NDgzNjQ3fSxjb250YWluZXJBcmlhTGFiZWw6InNlcnZlLXNpbSBub3RpZmljYXRpb25zIn0pfWZ1bmN0aW9uIFE0KHt0b2FzdDokfSl7bGV0IFE9JC5zdGF0dXM9PT0iZXJyb3IiLEo9JC5zdGF0dXM9PT0idXBsb2FkaW5nIixYPUomJiQucHJvZ3Jlc3MhPT1udWxsLEs9JC5wcm9ncmVzcyE9bnVsbD9NYXRoLnJvdW5kKCQucHJvZ3Jlc3MqMTAwKTowO3JldHVybiBaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJ1cGxvYWQtdG9hc3QiLGNsYXNzTmFtZTpgZmxleCB3LVttaW4oMzIwcHgsY2FsYygxMDB2dy0zMnB4KSldIGZsZXgtY29sIGdhcC0xLjUgcHgtMyBweS0yIGJnLXBhbmVsIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC1sZyB0ZXh0LXdoaXRlLzkwIHRleHQtWzEycHhdIGZvbnQtbW9ubyBzaGFkb3ctWzBfOHB4XzI0cHhfcmdiYSgwLDAsMCwwLjQ1KV0gJHtRPyJzZWxlY3QtdGV4dCBjdXJzb3ItdGV4dCI6InNlbGVjdC1ub25lIGN1cnNvci1kZWZhdWx0In1gLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1pbi13LTAiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJzaXplLTEuNSByb3VuZGVkLWZ1bGwgc2hyaW5rLTAgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjNzXSIsc3R5bGU6e2JhY2tncm91bmQ6Sj8iI2E1YjRmYyI6JC5zdGF0dXM9PT0ic3VjY2VzcyI/IiM0YWRlODAiOiIjZjg3MTcxIn19KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOltKJiZYJiZgVXBsb2FkaW5nICR7JC5uYW1lfeKApiAke0t9JWAsSiYmIVgmJigkLmtpbmQ9PT0iaXBhIj9gSW5zdGFsbGluZyAkeyQubmFtZX3igKZgOmBBZGRpbmcgJHskLm5hbWV94oCmYCksJC5zdGF0dXM9PT0ic3VjY2VzcyImJigkLmtpbmQ9PT0iaXBhIj9gSW5zdGFsbGVkICR7JC5uYW1lfWA6YEFkZGVkICR7JC5uYW1lfSB0byBQaG90b3NgKSxRJiZgJHskLm5hbWV9OiAkeyQubWVzc2FnZT8/IlVwbG9hZCBmYWlsZWQifWBdfSldfSksSiYmWigiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBoLVszcHhdIHctZnVsbCBiZy13aGl0ZS84IHJvdW5kZWQtWzJweF0gb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpYP1ooImRpdiIse2NsYXNzTmFtZToiaC1mdWxsIGJnLWFjY2VudCByb3VuZGVkLVsycHhdIFt0cmFuc2l0aW9uOndpZHRoXzEyMG1zX2xpbmVhcl0iLHN0eWxlOnt3aWR0aDpgJHtLfSVgfX0pOlooImRpdiIse2NsYXNzTmFtZToic2VydmUtc2ltLXRvYXN0LWluZGV0ZXJtaW5hdGUgYWJzb2x1dGUgdG9wLTAgbGVmdC0wIGgtZnVsbCB3LVs0MCVdIGJnLWFjY2VudCByb3VuZGVkLVsycHhdIn0pfSldfSl9ZnVuY3Rpb24gSjQoe3dpZHRoOiQsaGVpZ2h0OlEsdmlzaWJsZTpKfSl7cmV0dXJuIFooImRpdiIseyJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzTmFtZToiYWJzb2x1dGUgcmlnaHQtMyBib3R0b20tMyB6LTIwIHBvaW50ZXItZXZlbnRzLW5vbmUgc2VsZWN0LW5vbmUgcm91bmRlZC1sZyBweC0yLjUgcHktMSB0ZXh0LVsxMS41cHhdIGZvbnQtbW9ubyBsZWFkaW5nLW5vbmUgdHJhY2tpbmctd2lkZSB0ZXh0LXdoaXRlLzk1IGJnLXBhbmVsLWJnLXRyYW5zbHVjZW50IHNoYWRvdy1bMF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4xOCksMF82cHhfMThweF9yZ2JhKDAsMCwwLDAuMjgpLGluc2V0XzBfMF8wXzFweF9yZ2JhKDI1NSwyNTUsMjU1LDAuMDYpXSBiYWNrZHJvcC1ibHVyLW1kIGJhY2tkcm9wLXNhdHVyYXRlLTE1MCB3aGl0ZXNwYWNlLW5vd3JhcCIsc3R5bGU6e29wYWNpdHk6Sj8xOjAsdHJhbnNmb3JtOmB0cmFuc2xhdGVZKCR7Sj8wOjR9cHgpIHNjYWxlKCR7Sj8xOjAuOTZ9KWAsdHJhbnNmb3JtT3JpZ2luOiIxMDAlIDEwMCUiLHRyYW5zaXRpb246Im9wYWNpdHkgMTgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDIyMG1zIGN1YmljLWJlemllcigwLjIsIDAuODIsIDAuMjIsIDEpIn0sY2hpbGRyZW46W01hdGgucm91bmQoJCksIiAiLFooInNwYW4iLHtjbGFzc05hbWU6Im9wYWNpdHktNjAgbXgtMC41IixjaGlsZHJlbjoiw5cifSksIiAiLE1hdGgucm91bmQoUSldfSl9ZnVuY3Rpb24gWjQoe3N0cmVhbWluZzokfSl7bGV0IFE9JD8iIzRhZGU4MCI6IiM4ZThlOTMiO3JldHVybiBaKCJzcGFuIix7ImRhdGEtdGVzdGlkIjoic3RyZWFtLXN0YXR1cy1waWxsIixjbGFzc05hbWU6ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtWzVweF0gdGV4dC1bMTJweF0gZm9udC1tb25vIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSB3aGl0ZXNwYWNlLW5vd3JhcCIsc3R5bGU6e2NvbG9yOlF9LCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNoaWxkcmVuOltaKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJzaXplLTEuNSByb3VuZGVkLWZ1bGwgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE4c19lYXNlXSIsc3R5bGU6e2JhY2tncm91bmQ6UX19KSwkPyJsaXZlIjoiY29ubmVjdGluZyJdfSl9ZnVuY3Rpb24gT0ooJCxRLEope2xldCBYPUoubGF0Kk1hdGguUEkvMTgwLEs9KCQtSi5sYXQpKk1hdGguUEkvMTgwO3JldHVybnt4OihRLUoubG5nKSpNYXRoLlBJLzE4MCpNYXRoLmNvcyhYKSo2MzcxMDAwLHo6LUsqNjM3MTAwMH19ZnVuY3Rpb24gRkooJCxRLEope2xldCBYPUoubGF0Kk1hdGguUEkvMTgwLEs9LVEvNjM3MTAwMCooMTgwL01hdGguUEkpLFk9JC8oNjM3MTAwMCpNYXRoLmNvcyhYKSkqKDE4MC9NYXRoLlBJKTtyZXR1cm57bGF0OkoubGF0K0ssbG5nOkoubG5nK1l9fWZ1bmN0aW9uIE1KKCQsUSxKLFgsSyl7bGV0IFk9SypLLHE9WSpLLEc9KEIsTix6LFYpPT4wLjUqKDIqTisoLUIreikqSysoMipCLTUqTis0KnotVikqWSsoLUIrMypOLTMqeitWKSpxKTtyZXR1cm57eDpHKCQueCxRLngsSi54LFgueCksejpHKCQueixRLnosSi56LFgueikseTpHKCQueSxRLnksSi55LFgueSkscmF3QWx0OkcoJC5yYXdBbHQsUS5yYXdBbHQsSi5yYXdBbHQsWC5yYXdBbHQpfX1mdW5jdGlvbiBBSigkLFEsSil7aWYoJC5sZW5ndGg8MilyZXR1cm4gJC5zbGljZSgpO2xldCBYPVtdLEs9JC5sZW5ndGgsWT1KP0s6Sy0xO2ZvcihsZXQgcT0wO3E8WTtxKyspe2xldCBHPSRbSj8ocS0xK0spJUs6TWF0aC5tYXgoMCxxLTEpXSxCPSRbcSVLXSxOPSRbKHErMSklS10sej0kW0o/KHErMiklSzpNYXRoLm1pbihLLTEscSsyKV0sVj1OLngtQi54LFU9Ti56LUIueixDPU1hdGguaHlwb3QoVixVKSxNPU1hdGgubWF4KDIsTWF0aC5jZWlsKEMvUSkpO2ZvcihsZXQgTD0wO0w8TTtMKyspe2xldCBIPUwvTTtYLnB1c2goTUooRyxCLE4seixIKSl9fWlmKCFKKVgucHVzaCgkW0stMV0pO3JldHVybiBYfWZ1bmN0aW9uIFg0KCQpe2lmKCQud2F5cG9pbnRzLmxlbmd0aDwyKXRocm93IEVycm9yKGBUcmFpbCAkeyQuaWR9IG5lZWRzIGF0IGxlYXN0IDIgd2F5cG9pbnRzYCk7bGV0IFE9e2xhdDokLndheXBvaW50cy5yZWR1Y2UoKEwsSCk9PkwrSC5sYXQsMCkvJC53YXlwb2ludHMubGVuZ3RoLGxuZzokLndheXBvaW50cy5yZWR1Y2UoKEwsSCk9PkwrSC5sbmcsMCkvJC53YXlwb2ludHMubGVuZ3RofSxKPSQud2F5cG9pbnRzLm1hcCgoTCk9PkwuYWx0Pz8wKSxYPU1hdGgubWluKC4uLkopLEs9TWF0aC5tYXgoLi4uSiksWT0kLndheXBvaW50cy5tYXAoKEwpPT57bGV0e3g6SCx6Ok99PU9KKEwubGF0LEwubG5nLFEpLFc9TC5hbHQ/PzA7cmV0dXJue3g6SCx6Ok8seTpXLVgscmF3QWx0Old9fSkscT1BSihZLDgsISEkLmxvb3ApLEc9W10sQj0wO2ZvcihsZXQgTD0wO0w8cS5sZW5ndGg7TCsrKXtsZXQgSD1xW0xdO2lmKEw+MCl7bGV0IFA9cVtMLTFdO0IrPU1hdGguaHlwb3QoSC54LVAueCxILnotUC56LEgueS1QLnkpfWxldHtsYXQ6Tyxsbmc6V309RkooSC54LEgueixRKSxUPU1hdGgubWF4KDAsSC55KTtHLnB1c2goe3g6SC54LHo6SC56LHk6VCxhcmM6QixsYXQ6Tyxsbmc6V30pfWxldCBOPTEvMCx6PS0xLzAsVj0xLzAsVT0tMS8wLEM9MS8wLE09LTEvMDtmb3IobGV0IEwgb2YgRyl7aWYoTC54PE4pTj1MLng7aWYoTC54Pnopej1MLng7aWYoTC56PFYpVj1MLno7aWYoTC56PlUpVT1MLno7aWYoTC55PEMpQz1MLnk7aWYoTC55Pk0pTT1MLnl9cmV0dXJue3RyYWlsOiQsb3JpZ2luOlEscG9pbnRzOkcsdG90YWxEaXN0YW5jZTpHW0cubGVuZ3RoLTFdLmFyYyxib3VuZHM6e3g6W04sel0seTpbQyxNXSx6OltWLFVdfSxyYXdNaW5BbHQ6WCxyYXdNYXhBbHQ6S319ZnVuY3Rpb24gZTAoJCxRKXtsZXQgSj0kLnRvdGFsRGlzdGFuY2U7aWYoSj09PTApcmV0dXJuICQucG9pbnRzWzBdO2xldCBYPVE7aWYoJC50cmFpbC5sb29wKVg9KFglSitKKSVKO2Vsc2V7aWYoWDw9MClyZXR1cm4gJC5wb2ludHNbMF07aWYoWD49SilyZXR1cm4gJC5wb2ludHNbJC5wb2ludHMubGVuZ3RoLTFdfWxldCBLPTAsWT0kLnBvaW50cy5sZW5ndGgtMTt3aGlsZShLKzE8WSl7bGV0IHo9SytZPj4+MTtpZigkLnBvaW50c1t6XS5hcmM8PVgpSz16O2Vsc2UgWT16fWxldCBxPSQucG9pbnRzW0tdLEc9JC5wb2ludHNbWV0sQj1HLmFyYy1xLmFyYyxOPUI9PT0wPzA6KFgtcS5hcmMpL0I7cmV0dXJue3g6cS54KyhHLngtcS54KSpOLHo6cS56KyhHLnotcS56KSpOLHk6cS55KyhHLnktcS55KSpOLGFyYzpYLGxhdDpxLmxhdCsoRy5sYXQtcS5sYXQpKk4sbG5nOnEubG5nKyhHLmxuZy1xLmxuZykqTn19ZnVuY3Rpb24gWTgoJCl7c3dpdGNoKCQpe2Nhc2Uid2FsayI6cmV0dXJuIDEuNDtjYXNlInJ1biI6cmV0dXJuIDM7Y2FzZSJjeWNsZSI6cmV0dXJuIDUuNTtjYXNlImRyaXZlIjpyZXR1cm4gMTMuNH19dmFyIGtKPVt7bGF0OjM3LjMzMjcyLGxuZzotMTIyLjAwODMzLGFsdDo0OX0se2xhdDozNy4zMzMwOSxsbmc6LTEyMi4wMDczNSxhbHQ6NDh9LHtsYXQ6MzcuMzMzNzMsbG5nOi0xMjIuMDA2NjMsYWx0OjQ5fSx7bGF0OjM3LjMzNDU0LGxuZzotMTIyLjAwNjI3LGFsdDo0OX0se2xhdDozNy4zMzU0LGxuZzotMTIyLjAwNjMzLGFsdDo0OX0se2xhdDozNy4zMzYxOCxsbmc6LTEyMi4wMDY3OSxhbHQ6NDV9LHtsYXQ6MzcuMzM2NzUsbG5nOi0xMjIuMDA3NTksYWx0OjQ1fSx7bGF0OjM3LjMzNzA0LGxuZzotMTIyLjAwODYxLGFsdDo0Nn0se2xhdDozNy4zMzY5OCxsbmc6LTEyMi4wMDk2OSxhbHQ6NDh9LHtsYXQ6MzcuMzM2NjIsbG5nOi0xMjIuMDEwNjYsYWx0OjQ4fSx7bGF0OjM3LjMzNTk4LGxuZzotMTIyLjAxMTM4LGFsdDo0OX0se2xhdDozNy4zMzUxNyxsbmc6LTEyMi4wMTE3NCxhbHQ6NTB9LHtsYXQ6MzcuMzM0MzEsbG5nOi0xMjIuMDExNjksYWx0OjUwfSx7bGF0OjM3LjMzMzU0LGxuZzotMTIyLjAxMTIyLGFsdDo1MH0se2xhdDozNy4zMzI5Nixsbmc6LTEyMi4wMTA0MixhbHQ6NTF9LHtsYXQ6MzcuMzMyNjgsbG5nOi0xMjIuMDA5NCxhbHQ6NTB9XSxXSj1be2xhdDozNy44MzIxMixsbmc6LTEyMi40ODA2NSxhbHQ6MzB9LHtsYXQ6MzcuODI5MzcsbG5nOi0xMjIuNDc5NzQsYWx0OjMwfSx7bGF0OjM3LjgyNjQ5LGxuZzotMTIyLjQ3OTQsYWx0OjMwfSx7bGF0OjM3LjgyMzYyLGxuZzotMTIyLjQ3OTA3LGFsdDo0NX0se2xhdDozNy44MjA3NCxsbmc6LTEyMi40Nzg3MyxhbHQ6NTl9LHtsYXQ6MzcuODE3ODYsbG5nOi0xMjIuNDc4MzksYWx0OjY2fSx7bGF0OjM3LjgxNDk4LGxuZzotMTIyLjQ3ODA2LGFsdDo2Nn0se2xhdDozNy44MTIxMSxsbmc6LTEyMi40Nzc3MixhbHQ6NTh9LHtsYXQ6MzcuODA5MjMsbG5nOi0xMjIuNDc3MzQsYWx0OjQ0fSx7bGF0OjM3LjgwOTQ5LGxuZzotMTIyLjQ3NzMsYWx0OjQ1fSx7bGF0OjM3LjgxMjM2LGxuZzotMTIyLjQ3NzY1LGFsdDo1OX0se2xhdDozNy44MTUyNCxsbmc6LTEyMi40Nzc5OCxhbHQ6NjZ9LHtsYXQ6MzcuODE4MTIsbG5nOi0xMjIuNDc4MzIsYWx0OjY2fSx7bGF0OjM3LjgyMSxsbmc6LTEyMi40Nzg2NixhbHQ6NTh9LHtsYXQ6MzcuODIzODcsbG5nOi0xMjIuNDc5LGFsdDo0NH0se2xhdDozNy44MjY3NSxsbmc6LTEyMi40NzkzMyxhbHQ6MzB9LHtsYXQ6MzcuODI5NjMsbG5nOi0xMjIuNDc5NjcsYWx0OjMwfSx7bGF0OjM3LjgzMjMzLGxuZzotMTIyLjQ4MDcyLGFsdDozMH1dLF9KPVt7bGF0OjM3Ljg4NjY0LGxuZzotMTIyLjYyNTk5LGFsdDoxMjF9LHtsYXQ6MzcuODg4ODcsbG5nOi0xMjIuNjIzMzIsYWx0OjEzNX0se2xhdDozNy44OTExNSxsbmc6LTEyMi42MjE2LGFsdDoxNjR9LHtsYXQ6MzcuODkzNTMsbG5nOi0xMjIuNjE5MjEsYWx0OjE4MH0se2xhdDozNy44OTQ2Nixsbmc6LTEyMi42MTU3NyxhbHQ6MjIwfSx7bGF0OjM3Ljg5NjMxLGxuZzotMTIyLjYxMjY4LGFsdDoyNzN9LHtsYXQ6MzcuODk5MTcsbG5nOi0xMjIuNjEwOTgsYWx0OjMxM30se2xhdDozNy45MDE2Nixsbmc6LTEyMi42MDg1NSxhbHQ6MzQyfSx7bGF0OjM3LjkwMTk5LGxuZzotMTIyLjYwNjAxLGFsdDo0MDh9LHtsYXQ6MzcuOTAzMzksbG5nOi0xMjIuNjA0MDEsYWx0OjQ1MH0se2xhdDozNy45MDY2Mixsbmc6LTEyMi42MDI5MSxhbHQ6NDQwfSx7bGF0OjM3LjkwOTcxLGxuZzotMTIyLjYwMTczLGFsdDo0MzJ9LHtsYXQ6MzcuOTEyMTMsbG5nOi0xMjIuNjAwMDcsYWx0OjQzNn0se2xhdDozNy45MTQzOSxsbmc6LTEyMi41OTc4LGFsdDo0MTB9LHtsYXQ6MzcuOTEyODUsbG5nOi0xMjIuNTk1MDQsYWx0OjQyMn0se2xhdDozNy45MTI3NCxsbmc6LTEyMi41OTIwMixhbHQ6NDI1fSx7bGF0OjM3LjkxNSxsbmc6LTEyMi41OTAzMixhbHQ6NDEyfSx7bGF0OjM3LjkxNjM3LGxuZzotMTIyLjU4OTAzLGFsdDo0MDZ9LHtsYXQ6MzcuOTE0ODEsbG5nOi0xMjIuNTg1OTUsYWx0OjM4Mn0se2xhdDozNy45MTc0LGxuZzotMTIyLjU4Mzk4LGFsdDozNzJ9LHtsYXQ6MzcuOTE2NDIsbG5nOi0xMjIuNTgyMzYsYWx0OjM1Mn0se2xhdDozNy45MTQ4MSxsbmc6LTEyMi41ODAxMSxhbHQ6MzQyfV0sREo9W3tsYXQ6NDAuNzgyMTYsbG5nOi03My45NjI1NCxhbHQ6Mzd9LHtsYXQ6NDAuNzgyMjEsbG5nOi03My45NjA5OCxhbHQ6MzZ9LHtsYXQ6NDAuNzgzMjgsbG5nOi03My45NjAxLGFsdDozNn0se2xhdDo0MC43ODQ0LGxuZzotNzMuOTU5MyxhbHQ6MzZ9LHtsYXQ6NDAuNzg1NSxsbmc6LTczLjk1ODQ4LGFsdDozNn0se2xhdDo0MC43ODY2NCxsbmc6LTczLjk1Nzc0LGFsdDozNn0se2xhdDo0MC43ODc5LGxuZzotNzMuOTU3NjQsYWx0OjM2fSx7bGF0OjQwLjc4ODk4LGxuZzotNzMuOTU3OTIsYWx0OjM2fSx7bGF0OjQwLjc4ODY4LGxuZzotNzMuOTU5NTEsYWx0OjM3fSx7bGF0OjQwLjc4ODk3LGxuZzotNzMuOTYxMTIsYWx0OjM2fSx7bGF0OjQwLjc4ODMzLGxuZzotNzMuOTYyNSxhbHQ6Mzd9LHtsYXQ6NDAuNzg4MjgsbG5nOi03My45NjQxNixhbHQ6Mzd9LHtsYXQ6NDAuNzg4MDUsbG5nOi03My45NjU3MyxhbHQ6MzZ9LHtsYXQ6NDAuNzg2OTEsbG5nOi03My45NjYzNixhbHQ6MzZ9LHtsYXQ6NDAuNzg1NjYsbG5nOi03My45NjY2NSxhbHQ6MzZ9LHtsYXQ6NDAuNzg0NTgsbG5nOi03My45NjYwOCxhbHQ6MzZ9LHtsYXQ6NDAuNzg0MDIsbG5nOi03My45NjQ1OSxhbHQ6MzZ9LHtsYXQ6NDAuNzgzMjIsbG5nOi03My45NjMzNCxhbHQ6Mzd9XSxQSj1be2xhdDozNy41OTY1OSxsbmc6LTEyMi41MDMxNixhbHQ6NH0se2xhdDozNy41OTU1NSxsbmc6LTEyMi41MDQyNCxhbHQ6NH0se2xhdDozNy41OTQ1Mixsbmc6LTEyMi41MDUzNCxhbHQ6NX0se2xhdDozNy41OTMyOSxsbmc6LTEyMi41MDU4OCxhbHQ6OX0se2xhdDozNy41OTIxMixsbmc6LTEyMi41MDUwOCxhbHQ6MjB9LHtsYXQ6MzcuNTkxLGxuZzotMTIyLjUwNDEzLGFsdDoyOX0se2xhdDozNy41ODk3NCxsbmc6LTEyMi41MDQxNixhbHQ6NDB9LHtsYXQ6MzcuNTg4Nyxsbmc6LTEyMi41MDUyNCxhbHQ6NTF9LHtsYXQ6MzcuNTg3NDUsbG5nOi0xMjIuNTA0OTYsYWx0OjYwfSx7bGF0OjM3LjU4NjI3LGxuZzotMTIyLjUwNDIyLGFsdDo3MX0se2xhdDozNy41ODUzOSxsbmc6LTEyMi41MDUzNCxhbHQ6ODJ9LHtsYXQ6MzcuNTg1MDUsbG5nOi0xMjIuNTA2OTgsYWx0OjkzfSx7bGF0OjM3LjU4NTM5LGxuZzotMTIyLjUwNTM0LGFsdDo4Mn0se2xhdDozNy41ODYyNyxsbmc6LTEyMi41MDQyMixhbHQ6NzF9LHtsYXQ6MzcuNTg3NDUsbG5nOi0xMjIuNTA0OTYsYWx0OjYwfSx7bGF0OjM3LjU4ODcsbG5nOi0xMjIuNTA1MjQsYWx0OjUxfSx7bGF0OjM3LjU4OTc0LGxuZzotMTIyLjUwNDE2LGFsdDo0MH0se2xhdDozNy41OTEsbG5nOi0xMjIuNTA0MTMsYWx0OjI5fSx7bGF0OjM3LjU5MjEyLGxuZzotMTIyLjUwNTA4LGFsdDoyMH0se2xhdDozNy41OTMyOSxsbmc6LTEyMi41MDU4OCxhbHQ6OX0se2xhdDozNy41OTQ1Mixsbmc6LTEyMi41MDUzNCxhbHQ6NX0se2xhdDozNy41OTU1NSxsbmc6LTEyMi41MDQyNCxhbHQ6NH1dLCQyPVt7aWQ6ImFwcGxlLXBhcmstbG9vcCIsbmFtZToiQXBwbGUgUGFyayBMb29wIixkZXNjcmlwdGlvbjoiQ3VwZXJ0aW5vIOKAoiBmbGF0IHJpbmcgcm9hZCIsbW9kZToid2FsayIsd2F5cG9pbnRzOmtKLGxvb3A6ITB9LHtpZDoiZ29sZGVuLWdhdGUiLG5hbWU6IkdvbGRlbiBHYXRlIENyb3NzaW5nIixkZXNjcmlwdGlvbjoiU2FuIEZyYW5jaXNjbyDigKIgYnJpZGdlIHJvdW5kLXRyaXAiLG1vZGU6InJ1biIsd2F5cG9pbnRzOldKLGxvb3A6ITB9LHtpZDoidGFtLXJpZGdlIixuYW1lOiJNdC4gVGFtIFJpZGdlIixkZXNjcmlwdGlvbjoiU3RpbnNvbiBCZWFjaCDigKIgU3RlZXAgUmF2aW5lICsgTWF0dCBEYXZpcyBsb29wIixtb2RlOiJ3YWxrIix3YXlwb2ludHM6X0osbG9vcDohMH0se2lkOiJjZW50cmFsLXBhcmsiLG5hbWU6IlJlc2Vydm9pciBMb29wIixkZXNjcmlwdGlvbjoiQ2VudHJhbCBQYXJrIOKAoiAyLjUga20iLG1vZGU6InJ1biIsd2F5cG9pbnRzOkRKLGxvb3A6ITB9LHtpZDoicGNoLXBhY2lmaWNhIixuYW1lOiJQYWNpZmljIENvYXN0IEh3eSIsZGVzY3JpcHRpb246IlBhY2lmaWNhIOKAoiBEZXZpbCdzIFNsaWRlIHJvdW5kLXRyaXAiLG1vZGU6ImRyaXZlIix3YXlwb2ludHM6UEosbG9vcDohMH1dO2Z1bmN0aW9uIHMxKHtvcGVuOiQsb25PcGVuQ2hhbmdlOlEsc3VtbWFyeTpKLGNoaWxkcmVuOlgsc3VtbWFyeUNsYXNzTmFtZTpLPSIiLGJvZHlDbGFzc05hbWU6WT0iZmxleCBmbGV4LWNvbCBnYXAtMi41IHB0LTIuNSIsY2xhc3NOYW1lOnE9IiIsLi4uR30pe3JldHVybiBaKCJkZXRhaWxzIix7b3BlbjokLG9uVG9nZ2xlOihCKT0+UShCLmN1cnJlbnRUYXJnZXQub3BlbiksY2xhc3NOYW1lOmBsZW0tc2VjdGlvbiBiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIgJHtxfWAsLi4uRyxjaGlsZHJlbjpbWigic3VtbWFyeSIse2NsYXNzTmFtZTpgbGVtLXRvZ2dsZSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0ZXh0LXdoaXRlLzkwIG1pbi1oLVszNnB4XSBsZWFkaW5nLW5vbmUgcHktMi41IHB4LTEgLW15LTIgLW14LTEgdy1bY2FsYygxMDAlKzhweCldICR7S31gLGNoaWxkcmVuOltKLFooaTIse29wZW46JH0pXX0pLFooImRpdiIse2NsYXNzTmFtZTpZLGNoaWxkcmVuOlh9KV19KX1mdW5jdGlvbiByNSh7bGFiZWw6JCx2YWx1ZTpRLG9wdGlvbnM6SixkaXNhYmxlZDpYLG9uQ2hhbmdlOkssY2xhc3NOYW1lOll9KXtsZXRbcSxHXT1rKCExKSxCPXcobnVsbCksTj13KG51bGwpLFt6LFZdPWsobnVsbCksVT0oKT0+e2xldCBIPUIuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoIUgpcmV0dXJuO1Yoe3RvcDpILmJvdHRvbSs0LGxlZnQ6SC5sZWZ0LG1pbldpZHRoOkgud2lkdGh9KX07VDAoKCk9PntpZihxKVUoKX0sW3FdKSxUMCgoKT0+e2lmKCFxfHwheilyZXR1cm47bGV0IEg9Ti5jdXJyZW50LE89Qi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZighSHx8IU8pcmV0dXJuO2xldCBXPTgsVD13aW5kb3cuaW5uZXJXaWR0aC1ILm9mZnNldFdpZHRoLVcsUD16LmxlZnQ+VD9NYXRoLm1heChXLFQpOnoubGVmdCx4PU8udG9wLUgub2Zmc2V0SGVpZ2h0LTQsRD16LnRvcCtILm9mZnNldEhlaWdodDw9d2luZG93LmlubmVySGVpZ2h0LVc/ei50b3A6eD49Vz94Ok1hdGgubWF4KFcsd2luZG93LmlubmVySGVpZ2h0LUgub2Zmc2V0SGVpZ2h0LVcpO2lmKEQhPT16LnRvcHx8UCE9PXoubGVmdClWKHsuLi56LHRvcDpELGxlZnQ6UH0pfSxbcSx6XSkseSgoKT0+e2lmKCFxKXJldHVybjtsZXQgSD0oKT0+RyghMSksTz0oVCk9PntsZXQgUD1ULnRhcmdldDtpZighTi5jdXJyZW50Py5jb250YWlucyhQKSYmIUIuY3VycmVudD8uY29udGFpbnMoUCkpSCgpfSxXPShUKT0+e2lmKCFOLmN1cnJlbnQ/LmNvbnRhaW5zKFQudGFyZ2V0KSlVKCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixPKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixXLCEwKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixIKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLE8pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFcsITApLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLEgpfX0sW3FdKTtsZXQgQz13KCExKTt5KCgpPT57aWYoIXEpe0MuY3VycmVudD0hMTtyZXR1cm59aWYoIXp8fEMuY3VycmVudClyZXR1cm47bGV0IEg9Ti5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKCJbcm9sZT1vcHRpb25dIik7aWYoIUg/Lmxlbmd0aClyZXR1cm47Qy5jdXJyZW50PSEwO2xldCBPPUouZmluZEluZGV4KChXKT0+Vy52YWx1ZT09PVEpO0hbTWF0aC5tYXgoTywwKV0/LmZvY3VzKCl9LFtxLHosSixRXSk7bGV0IE09KEgpPT57bGV0IE89Wy4uLk4uY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbCgiW3JvbGU9b3B0aW9uXSIpPz9bXV0sVz1PLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7aWYoSC5rZXk9PT0iQXJyb3dEb3duInx8SC5rZXk9PT0iQXJyb3dVcCIpe0gucHJldmVudERlZmF1bHQoKTtsZXQgVD1ILmtleT09PSJBcnJvd0Rvd24iP01hdGgubWluKFcrMSxPLmxlbmd0aC0xKTpNYXRoLm1heChXLTEsMCk7T1tUXT8uZm9jdXMoKX1lbHNlIGlmKEgua2V5PT09IkVzY2FwZSIpSC5wcmV2ZW50RGVmYXVsdCgpLEcoITEpLEIuY3VycmVudD8uZm9jdXMoKX0sTD1KLmZpbmQoKEgpPT5ILnZhbHVlPT09USk7cmV0dXJuIFooUTEse2NoaWxkcmVuOltaKCJidXR0b24iLHtyZWY6Qix0eXBlOiJidXR0b24iLCJhcmlhLWxhYmVsIjokLCJhcmlhLWhhc3BvcHVwIjoibGlzdGJveCIsImFyaWEtZXhwYW5kZWQiOnEsZGlzYWJsZWQ6WCxvbkNsaWNrOigpPT5HKChIKT0+IUgpLGNsYXNzTmFtZTpgdGV4dC1sZWZ0IGZvbnQtW2luaGVyaXRdIGN1cnNvci1wb2ludGVyIGRpc2FibGVkOmN1cnNvci1kZWZhdWx0ICR7WT8/IiJ9YCxjaGlsZHJlbjpaKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayB0cnVuY2F0ZSIsY2hpbGRyZW46TD8ubGFiZWw/P1F9KX0pLHEmJnomJkkzKFooImRpdiIse3JlZjpOLHJvbGU6Imxpc3Rib3giLCJhcmlhLWxhYmVsIjokLG9uS2V5RG93bjpNLHN0eWxlOnt0b3A6ei50b3AsbGVmdDp6LmxlZnQsbWluV2lkdGg6ei5taW5XaWR0aH0sY2xhc3NOYW1lOiJmaXhlZCBtYXgtaC05MCBvdmVyZmxvdy15LWF1dG8gYmctcGFuZWwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLVsxMHB4XSBwLTEgc2hhZG93LVswXzhweF8yNHB4X3JnYmEoMCwwLDAsMC41KV0gdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCB6LTUwIixjaGlsZHJlbjpKLm1hcCgoSCk9PlooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIscm9sZToib3B0aW9uIiwiYXJpYS1zZWxlY3RlZCI6SC52YWx1ZT09PVEsb25DbGljazooKT0+e0soSC52YWx1ZSksRyghMSksQi5jdXJyZW50Py5mb2N1cygpfSxjbGFzc05hbWU6YGJsb2NrIHctZnVsbCB0ZXh0LWxlZnQgZm9udC1baW5oZXJpdF0gcHgtMi41IHB5LTEgcm91bmRlZC1tZCBjdXJzb3ItcG9pbnRlciB3aGl0ZXNwYWNlLW5vd3JhcCB0cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpiZy13aGl0ZS84IGZvY3VzLXZpc2libGU6Ymctd2hpdGUvOCBvdXRsaW5lLW5vbmUgJHtILnZhbHVlPT09UT8idGV4dC1hY2NlbnQiOiIifWAsY2hpbGRyZW46SC5sYWJlbH0sSC52YWx1ZSkpfSksZG9jdW1lbnQuYm9keSldfSl9dmFyIFRKPTY1MCxxOD1bMSwyLDUsMjBdLEs0PTEwMDAsRzg9e3N0YXR1czoiaWRsZSIsYXJjOjAsZWxhcHNlZE1zOjB9O2Z1bmN0aW9uIE40KHt1ZGlkOiQsZXhlYzpRfSl7bGV0W0osWF09ayghMSksW0ssWV09aygkMlswXS5pZCksW3EsR109aygkMlswXS5tb2RlKSxbQixOXT1rKDEpLFt6LFZdPWsoRzgpLFtVLENdPWsobnVsbCksTT1EMSgoKT0+JDIuZmluZCgobCk9PmwuaWQ9PT1LKT8/JDJbMF0sW0tdKSxMPUQxKCgpPT5YNChNKSxbTV0pLEg9dygwKSxPPXcoImlkbGUiKSxXPXcoWTgocSkqQiksVD13KDApLFA9dyhMKSx4PXcobnVsbCk7eSgoKT0+e1cuY3VycmVudD1ZOChxKSpCfSxbcSxCXSk7bGV0IEQ9dyhudWxsKTt5KCgpPT57bGV0IGw9UC5jdXJyZW50LGY9SC5jdXJyZW50O2lmKFAuY3VycmVudD1MLGwmJmwhPT1MKUQuY3VycmVudD1JSihsLGYsTCxwZXJmb3JtYW5jZS5ub3coKSk7SC5jdXJyZW50PTAsVC5jdXJyZW50PTAsTy5jdXJyZW50PSJpZGxlIix4LmN1cnJlbnQ9bnVsbCxWKEc4KX0sW0xdKTtsZXQgZT13KDApLFI9dyhudWxsKSxkPXcobnVsbCk7eSgoKT0+e2xldCBsPTAsZj0oWDEpPT57bGV0IFoxPVIuY3VycmVudCxVMT1aMT09bnVsbD8xNjpNYXRoLm1pbig2NCxYMS1aMSk7aWYoUi5jdXJyZW50PVgxLGUuY3VycmVudD0oZS5jdXJyZW50K1UxKjAuMDAwMTIpJShNYXRoLlBJKjIpLE8uY3VycmVudD09PSJwbGF5aW5nIil7bGV0IEoxPVcuY3VycmVudCpVMS8xMDAwO0guY3VycmVudCs9SjEsVC5jdXJyZW50Kz1VMTtsZXQgcTE9UC5jdXJyZW50LnRvdGFsRGlzdGFuY2U7aWYoIVAuY3VycmVudC50cmFpbC5sb29wJiZILmN1cnJlbnQ+PXExKUguY3VycmVudD1xMSxPLmN1cnJlbnQ9InBhdXNlZCIsVih7c3RhdHVzOiJwYXVzZWQiLGFyYzpxMSxlbGFwc2VkTXM6VC5jdXJyZW50fSl9bGV0IHM9ZC5jdXJyZW50O2lmKHMpe2xldCBKMT1QLmN1cnJlbnQscTE9bnVsbCxqPUQuY3VycmVudDtpZihqKXtsZXQgcD0oWDEtai5zdGFydE1zKS9USjtpZihwPj0xKUQuY3VycmVudD1udWxsO2Vsc2V7bGV0IF89U0oocCk7SjE9eUooaixfKSxxMT17eDpqLnByZXZNYXJrZXIueCsoai5uZXh0TWFya2VyLngtai5wcmV2TWFya2VyLngpKl8seTpqLnByZXZNYXJrZXIueSsoai5uZXh0TWFya2VyLnktai5wcmV2TWFya2VyLnkpKl8sejpqLnByZXZNYXJrZXIueisoai5uZXh0TWFya2VyLnotai5wcmV2TWFya2VyLnopKl99fX14SihzLEoxLEguY3VycmVudCxlLmN1cnJlbnQsWDEsTy5jdXJyZW50PT09InBsYXlpbmciLHExKX1sPXJlcXVlc3RBbmltYXRpb25GcmFtZShmKX07cmV0dXJuIGw9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGYpLCgpPT5jYW5jZWxBbmltYXRpb25GcmFtZShsKX0sW10pLHkoKCk9PntsZXQgbD1zZXRJbnRlcnZhbCgoKT0+e2lmKE8uY3VycmVudD09PSJwbGF5aW5nIilWKHtzdGF0dXM6InBsYXlpbmciLGFyYzpILmN1cnJlbnQsZWxhcHNlZE1zOlQuY3VycmVudH0pfSwyNTApO3JldHVybigpPT5jbGVhckludGVydmFsKGwpfSxbXSkseSgoKT0+e2lmKHouc3RhdHVzIT09InBsYXlpbmciKXJldHVybjtsZXQgbD0hMSxmPTAsWDE9bnVsbCxaMT1hc3luYygpPT57aWYobHx8WDEpcmV0dXJuO2xldCBzPURhdGUubm93KCk7aWYocy1mPEs0KXJldHVybjtmPXM7bGV0IEoxPWUwKFAuY3VycmVudCxILmN1cnJlbnQpLHExPWB4Y3J1biBzaW1jdGwgbG9jYXRpb24gJHskfSBzZXQgJHtKMS5sYXQudG9GaXhlZCg3KX0sJHtKMS5sbmcudG9GaXhlZCg3KX1gO1gxPVEocTEpLnRoZW4oKGopPT57aWYobClyZXR1cm47aWYoai5leGl0Q29kZSE9PTApQyhCNChqLnN0ZGVycil8fCJzaW1jdGwgbG9jYXRpb24gc2V0IGZhaWxlZCIpO2Vsc2UgQyhudWxsKX0pLmNhdGNoKChqKT0+e2lmKCFsKUMoaiBpbnN0YW5jZW9mIEVycm9yP2oubWVzc2FnZTpTdHJpbmcoaikpfSkuZmluYWxseSgoKT0+e1gxPW51bGx9KX07WjEoKTtsZXQgVTE9c2V0SW50ZXJ2YWwoWjEsSzQpO3JldHVybigpPT57bD0hMCxjbGVhckludGVydmFsKFUxKX19LFt6LnN0YXR1cywkLFFdKTtsZXQgbj1JKCgpPT57aWYoTy5jdXJyZW50PT09InBsYXlpbmciKXtPLmN1cnJlbnQ9InBhdXNlZCIsVigobCk9Pih7Li4ubCxzdGF0dXM6InBhdXNlZCJ9KSk7cmV0dXJufWlmKEguY3VycmVudD49UC5jdXJyZW50LnRvdGFsRGlzdGFuY2UmJiFQLmN1cnJlbnQudHJhaWwubG9vcClILmN1cnJlbnQ9MCxULmN1cnJlbnQ9MDtpZih4LmN1cnJlbnQ9PW51bGwpe2xldCBsPWUwKFAuY3VycmVudCxILmN1cnJlbnQpO3guY3VycmVudD17bGF0OmwubGF0LGxuZzpsLmxuZ319Ty5jdXJyZW50PSJwbGF5aW5nIixWKChsKT0+KHsuLi5sLHN0YXR1czoicGxheWluZyIsYXJjOkguY3VycmVudCxlbGFwc2VkTXM6VC5jdXJyZW50fSkpfSxbXSksbz1JKCgpPT57Ty5jdXJyZW50PSJpZGxlIixILmN1cnJlbnQ9MCxULmN1cnJlbnQ9MCxWKEc4KTtsZXQgbD14LmN1cnJlbnQ7eC5jdXJyZW50PW51bGw7bGV0IGY9bD9geGNydW4gc2ltY3RsIGxvY2F0aW9uICR7JH0gc2V0ICR7bC5sYXQudG9GaXhlZCg3KX0sJHtsLmxuZy50b0ZpeGVkKDcpfWA6YHhjcnVuIHNpbWN0bCBsb2NhdGlvbiAkeyR9IGNsZWFyYDtRKGYpLnRoZW4oKFgxKT0+e2lmKFgxLmV4aXRDb2RlIT09MClDKEI0KFgxLnN0ZGVycil8fG51bGwpO2Vsc2UgQyhudWxsKX0pfSxbUSwkXSksYT1JKChsKT0+e1kobCk7bGV0IGY9JDIuZmluZCgoWDEpPT5YMS5pZD09PWwpO2lmKGYpRyhmLm1vZGUpfSxbXSk7eSgoKT0+KCk9PntpZihPLmN1cnJlbnQ9PT0iaWRsZSIpcmV0dXJuO2xldCBsPXguY3VycmVudCxmPWw/YHhjcnVuIHNpbWN0bCBsb2NhdGlvbiAkeyR9IHNldCAke2wubGF0LnRvRml4ZWQoNyl9LCR7bC5sbmcudG9GaXhlZCg3KX1gOmB4Y3J1biBzaW1jdGwgbG9jYXRpb24gJHskfSBjbGVhcmA7UShmKS5jYXRjaCgoKT0+e30pfSxbUSwkXSk7bGV0IGk9ei5zdGF0dXM9PT0icGxheWluZyIsTDE9aT9gJHtCOCh6LmFyYyl9IMK3ICR7RzQoei5lbGFwc2VkTXMpfWA6QjgoTC50b3RhbERpc3RhbmNlKTtyZXR1cm4gWihzMSx7b3BlbjpKLG9uT3BlbkNoYW5nZTpYLHN1bW1hcnlDbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvX21pbm1heCgwLDFmcilfYXV0b10gW2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0IixzdW1tYXJ5OlooUTEse2NoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJMb2NhdGlvbiJ9KSxKP1ooInNwYW4iLHsiZGF0YS1sb2NhdGlvbi1zdGF0dXMiOiEwLGNsYXNzTmFtZToibWluLXctMCB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzU1IGZvbnQtbW9ubyBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSBqdXN0aWZ5LXNlbGYtZW5kIGxlYWRpbmctbm9uZSB3aGl0ZXNwYWNlLW5vd3JhcCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyBtYXgtdy1mdWxsIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToic2l6ZS0xLjUgcm91bmRlZC1mdWxsIHNocmluay0wIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4ycyxib3gtc2hhZG93XzAuMnNdIixzdHlsZTp7YmFja2dyb3VuZDppPyIjNGFkZTgwIjpMLnRvdGFsRGlzdGFuY2U+MD8icmdiYSgyNTUsMjU1LDI1NSwwLjMpIjoidHJhbnNwYXJlbnQiLGJveFNoYWRvdzppPyIwIDAgNnB4IHJnYmEoNzQsMjIyLDEyOCwwLjcpIjoibm9uZSJ9fSksWigic3BhbiIse2NsYXNzTmFtZToibWluLXctMCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyIsY2hpbGRyZW46TDF9KSwhaSYmWigic3BhbiIseyJkYXRhLWxvY2F0aW9uLXN0YXR1cy10b3RhbCI6ITAsY2xhc3NOYW1lOiJzaHJpbmstMCIsY2hpbGRyZW46InRvdGFsIn0pXX0pOlooInNwYW4iLHt9KV19KSxjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBibG9jayIsY2hpbGRyZW46W1oocjUse2xhYmVsOiJUcmFpbCIsdmFsdWU6SyxvbkNoYW5nZTphLG9wdGlvbnM6JDIubWFwKChsKT0+KHt2YWx1ZTpsLmlkLGxhYmVsOmwubmFtZX0pKSxjbGFzc05hbWU6ImJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1tZCB0ZXh0LXdoaXRlLzkwIHRleHQtWzEycHhdIHB5LTEuNSBwci1bMjZweF0gcGwtMiB3LWZ1bGwgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjEycyxib3JkZXItY29sb3JfMC4xMnNdIGhvdmVyOmJnLXdoaXRlL1swLjA3XSBob3Zlcjpib3JkZXItW3JnYmEoMjU1LDI1NSwyNTUsMC4xNildIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpiZy13aGl0ZS9bMC4wOF0gZm9jdXM6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMjQpXSJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSByaWdodC1bOXB4XSB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgcG9pbnRlci1ldmVudHMtbm9uZSBmbGV4IGl0ZW1zLWNlbnRlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46WihpMix7b3BlbjohMX0pfSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpNLmRlc2NyaXB0aW9ufSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSB3LWZ1bGwgcm91bmRlZC1bMTBweF0gb3ZlcmZsb3ctaGlkZGVuIGJnLVsjMGEwYTBjXSBib3JkZXIgYm9yZGVyLXdoaXRlL1swLjA2XSBbYXNwZWN0LXJhdGlvOjE2LzExXSIsY2hpbGRyZW46W1ooImNhbnZhcyIse3JlZjpkLGNsYXNzTmFtZToidy1mdWxsIGgtZnVsbCBibG9jayJ9KSxaKHdKLHtwcmVwYXJlZDpMfSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyXzFmcl8xZnJdIGdhcC0xLjUiLGNoaWxkcmVuOltaKFY4LHtsYWJlbDoiRGlzdGFuY2UiLHZhbHVlOkI4KHouYXJjKX0pLFooVjgse2xhYmVsOiJQYWNlIix2YWx1ZTp2SihXLmN1cnJlbnQpfSksWihWOCx7bGFiZWw6IkVsYXBzZWQiLHZhbHVlOkc0KHouZWxhcHNlZE1zKX0pXX0pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBnYXAtMS41IixjaGlsZHJlbjpbWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOm4sY2xhc3NOYW1lOmBmbGV4LTEgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEuNSBweS0yIHB4LTIuNSBib3JkZXItbm9uZSByb3VuZGVkLVs3cHhdIHRleHQtWzEycHhdIGZvbnQtc2VtaWJvbGQgY3Vyc29yLXBvaW50ZXIgZm9udC1baW5oZXJpdF0gJHtpPyJiZy13aGl0ZS9bMC4xNl0gdGV4dC13aGl0ZSBlbmFibGVkOmhvdmVyOmJnLXdoaXRlL1swLjIyXSI6ImJnLXN1Y2Nlc3MtZW1lcmFsZCB0ZXh0LVsjMDYyMDE4XSBlbmFibGVkOmhvdmVyOmJyaWdodG5lc3MtWzEuMDhdIn1gLCJhcmlhLXByZXNzZWQiOmksdGl0bGU6aT8iUGF1c2UiOiJQbGF5IixjaGlsZHJlbjpbaT9aKHAzLHt9KTpaKG4yLHt9KSxaKCJzcGFuIix7Y2hpbGRyZW46aT8iUGF1c2UiOiJQbGF5In0pXX0pLFooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpvLGNsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEuNSBweS0yIHB4LTMgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLVs3cHhdIHRleHQtWzEycHhdIGZvbnQtbWVkaXVtIGJnLXRyYW5zcGFyZW50IHRleHQtd2hpdGUvODUgY3Vyc29yLXBvaW50ZXIgZm9udC1baW5oZXJpdF0gZW5hYmxlZDpob3ZlcjpiZy13aGl0ZS9bMC4wNl0gZW5hYmxlZDpob3Zlcjpib3JkZXItd2hpdGUvMjAgZW5hYmxlZDpob3Zlcjp0ZXh0LXdoaXRlIGRpc2FibGVkOm9wYWNpdHktNDAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIixkaXNhYmxlZDp6LnN0YXR1cz09PSJpZGxlIiYmei5hcmM9PT0wLHRpdGxlOiJTdG9wIGFuZCBjbGVhciBzaW11bGF0ZWQgbG9jYXRpb24iLGNoaWxkcmVuOltaKHIyLHt9KSxaKCJzcGFuIix7Y2hpbGRyZW46IlN0b3AifSldfSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtcm93IGl0ZW1zLXN0cmV0Y2ggZ2FwLTEuNSIsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi13LTAiLGNoaWxkcmVuOlooRUose2FyaWFMYWJlbDoiVHJhbnNwb3J0IG1vZGUiLHZhbHVlOnEsb25DaGFuZ2U6KGwpPT5HKGwpLG9wdGlvbnM6W3t2YWx1ZToid2FsayIsbGFiZWw6IldhbGsiLGljb246WihsMyx7fSl9LHt2YWx1ZToicnVuIixsYWJlbDoiUnVuIixpY29uOlooZDMse30pfSx7dmFsdWU6ImN5Y2xlIixsYWJlbDoiQ3ljbGUiLGljb246WihjMyx7fSl9LHt2YWx1ZToiZHJpdmUiLGxhYmVsOiJEcml2ZSIsaWNvbjpaKG8zLHt9KX1dfSl9KSxaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9PntsZXQgbD1xOC5pbmRleE9mKEIpLGY9cThbKGwrMSklcTgubGVuZ3RoXTtOKGYpfSxjbGFzc05hbWU6YGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIHB4LTIuNSBib3JkZXIgcm91bmRlZC1bN3B4XSBjdXJzb3ItcG9pbnRlciBmb250LVtpbmhlcml0XSB0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIG1pbi13LVs1NnB4XSBhY3RpdmU6c2NhbGUtWzAuOTddICR7Qj4xPyJiZy13aGl0ZSBib3JkZXItd2hpdGUgdGV4dC1bIzBhMGEwY10gaG92ZXI6Ymctd2hpdGUvWzAuODhdIGhvdmVyOmJvcmRlci13aGl0ZS9bMC44OF0gaG92ZXI6dGV4dC1bIzBhMGEwY10iOiJiZy13aGl0ZS9bMC4wNF0gYm9yZGVyLXdoaXRlLzggdGV4dC13aGl0ZS84NSBob3ZlcjpiZy13aGl0ZS9bMC4wOV0gaG92ZXI6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMTgpXSBob3Zlcjp0ZXh0LXdoaXRlIn1gLCJhcmlhLWxhYmVsIjpgU3BlZWQgJHtCfcOXIOKAlCB0YXAgdG8gY3ljbGVgLHRpdGxlOmBTcGVlZCAke0J9w5cg4oCUIHRhcCB0byBjeWNsZWAsY2hpbGRyZW46W1oodTMse30pLEI+MSYmWigic3BhbiIse2NsYXNzTmFtZToiZm9udC1tb25vIFtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXNdIixjaGlsZHJlbjpbQiwiw5ciXX0pXX0pXX0pLFUmJlooImRpdiIse2NsYXNzTmFtZToiYmctZGFuZ2VyLzEwIGJvcmRlciBib3JkZXItZGFuZ2VyLzIwIHRleHQtZGFuZ2VyLXNvZnQgdGV4dC1bMTFweF0gcHgtMiBweS0xLjUgcm91bmRlZC1tZCIsY2hpbGRyZW46VX0pXX0pfXZhciBWOD1pMChmdW5jdGlvbih7bGFiZWw6USx2YWx1ZTpKfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IGJnLXdoaXRlL1swLjAzXSBib3JkZXIgYm9yZGVyLXdoaXRlL1swLjA2XSByb3VuZGVkLW1kIHB5LVs1cHhdIHB4LVs3cHhdIG1pbi13LTAiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzlweF0gdXBwZXJjYXNlIHRyYWNraW5nLVswLjA2ZW1dIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOlF9KSxaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEycHhdIGZvbnQtbW9ubyB0ZXh0LXdoaXRlIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpKfSldfSl9KTtmdW5jdGlvbiBFSih7dmFsdWU6JCxvbkNoYW5nZTpRLG9wdGlvbnM6SixhcmlhTGFiZWw6WH0pe3JldHVybiBaKCJkaXYiLHtyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOlgsY2xhc3NOYW1lOiJmbGV4IGJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1bN3B4XSBwLTAuNSBnYXAtMC41IixjaGlsZHJlbjpKLm1hcCgoSyk9PntsZXQgWT1LLnZhbHVlPT09JDtyZXR1cm4gWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT5RKEsudmFsdWUpLGNsYXNzTmFtZTpgZmxleC0xIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1ub25lIHJvdW5kZWQtWzVweF0gcHktWzVweF0gcHgtMiB0ZXh0LVsxMXB4XSBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBmb250LVtpbmhlcml0XSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTJzLGNvbG9yXzAuMTJzXSBtaW4taC1bMjJweF0gJHtZPyJiZy13aGl0ZS9bMC4xMl0gdGV4dC13aGl0ZSI6ImJnLXRyYW5zcGFyZW50IHRleHQtd2hpdGUvNjAgaG92ZXI6Ymctd2hpdGUvWzAuMDVdIGhvdmVyOnRleHQtd2hpdGUvOTAifWAsImFyaWEtcHJlc3NlZCI6WSwiYXJpYS1sYWJlbCI6Sy5pY29uP0subGFiZWw6dm9pZCAwLHRpdGxlOksuaWNvbj9LLmxhYmVsOnZvaWQgMCxjaGlsZHJlbjpLLmljb24/P0subGFiZWx9LEsudmFsdWUpfSl9KX1mdW5jdGlvbiB3Sih7cHJlcGFyZWQ6JH0pe2lmKCQucmF3TWF4QWx0LSQucmF3TWluQWx0PDUpcmV0dXJuIG51bGw7cmV0dXJuIFooUTEse2NoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0yIGxlZnQtMi41IGJnLXBhbmVsLW92ZXJsYXkgdGV4dC13aGl0ZS84NSB0ZXh0LVsxMHB4XSBmb250LW1vbm8gcHgtMS41IHB5LTAuNSByb3VuZGVkLVs1cHhdIGZsZXggaXRlbXMtY2VudGVyIHRyYWNraW5nLVswLjAyZW1dIGJvcmRlciBib3JkZXItd2hpdGUvWzAuMDZdIixjaGlsZHJlbjpbWih5NSx7ZGlyOiJ1cCJ9KSwiICIsVjQoJC5yYXdNYXhBbHQpXX0pLFooImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTIgcmlnaHQtMi41IGJnLXBhbmVsLW92ZXJsYXkgdGV4dC13aGl0ZS84NSB0ZXh0LVsxMHB4XSBmb250LW1vbm8gcHgtMS41IHB5LTAuNSByb3VuZGVkLVs1cHhdIGZsZXggaXRlbXMtY2VudGVyIHRyYWNraW5nLVswLjAyZW1dIGJvcmRlciBib3JkZXItd2hpdGUvWzAuMDZdIixjaGlsZHJlbjpbWih5NSx7ZGlyOiJkb3duIn0pLCIgIixWNCgkLnJhd01pbkFsdCldfSldfSl9dmFyIFk0PTE0MDtmdW5jdGlvbiBxNCgkLFEpe2xldCBKPUFycmF5KFEpO2ZvcihsZXQgWD0wO1g8UTtYKyspe2xldCBLPVE9PT0xPzA6WC8oUS0xKSxZPWUwKCQsSyokLnRvdGFsRGlzdGFuY2UpO0pbWF09e3g6WS54LHk6WS55LHo6WS56fX1yZXR1cm4gSn1mdW5jdGlvbiBJSigkLFEsSixYKXtsZXQgSz0oJC5ib3VuZHMueFswXSskLmJvdW5kcy54WzFdKS8yLFk9KCQuYm91bmRzLnpbMF0rJC5ib3VuZHMuelsxXSkvMixxPSQuYm91bmRzLnlbMF0sRz1NYXRoLm1heCgxLCQuYm91bmRzLnhbMV0tJC5ib3VuZHMueFswXSwkLmJvdW5kcy56WzFdLSQuYm91bmRzLnpbMF0pLEI9KEouYm91bmRzLnhbMF0rSi5ib3VuZHMueFsxXSkvMixOPShKLmJvdW5kcy56WzBdK0ouYm91bmRzLnpbMV0pLzIsej1KLmJvdW5kcy55WzBdLFU9TWF0aC5tYXgoMSxKLmJvdW5kcy54WzFdLUouYm91bmRzLnhbMF0sSi5ib3VuZHMuelsxXS1KLmJvdW5kcy56WzBdKS9HLE09cTQoJCxZNCkubWFwKChEKT0+KHt4OihELngtSykqVStCLHk6KEQueS1xKSpVK3osejooRC56LVkpKlUrTn0pKSxMPXE0KEosWTQpLEg9KCQudHJhaWwubG9vcHx8Si50cmFpbC5sb29wKT8/ITEsTz1iSihNLEwsSCksVz1lMCgkLFEpLFQ9e3g6KFcueC1LKSpVK0IseTooVy55LXEpKlUreix6OihXLnotWSkqVStOfSxQPWUwKEosMCkseD17eDpQLngseTpQLnksejpQLnp9O3JldHVybntmcm9tOiQsdG86Sixmcm9tUHRzOk0sdG9QdHM6TyxwcmV2TWFya2VyOlQsbmV4dE1hcmtlcjp4LHN0YXJ0TXM6WH19ZnVuY3Rpb24gYkooJCxRLEope2xldCBYPSQubGVuZ3RoLEs9MS8wLFk9MCxxPSExLEc9W1EsWy4uLlFdLnJldmVyc2UoKV07Zm9yKGxldCB6PTA7ejxHLmxlbmd0aDt6Kyspe2xldCBWPUdbel0sVT1KP1g6MTtmb3IobGV0IEM9MDtDPFU7QysrKXtsZXQgTT0wO2ZvcihsZXQgTD0wO0w8WDtMKyspe2xldCBIPSRbTF0sTz1WWyhMK0MpJVhdLFc9SC54LU8ueCxUPUgueS1PLnksUD1ILnotTy56O2lmKE0rPVcqVytUKlQrUCpQLE0+PUspYnJlYWt9aWYoTTxLKUs9TSxZPUMscT16PT09MX19bGV0IEI9cT9bLi4uUV0ucmV2ZXJzZSgpOlEsTj1BcnJheShYKTtmb3IobGV0IHo9MDt6PFg7eisrKU5bel09QlsoeitZKSVYXTtyZXR1cm4gTn1mdW5jdGlvbiB5SigkLFEpe2xldCBKPSQuZnJvbVB0cy5sZW5ndGgsWD1BcnJheShKKSxLPTAsWT1udWxsLHE9MS8wLEc9LTEvMCxCPTEvMCxOPS0xLzAsej0xLzAsVj0tMS8wO2ZvcihsZXQgVT0wO1U8SjtVKyspe2xldCBDPSQuZnJvbVB0c1tVXSxNPSQudG9QdHNbVV0sTD1DLngrKE0ueC1DLngpKlEsSD1DLnkrKE0ueS1DLnkpKlEsTz1DLnorKE0uei1DLnopKlE7aWYoWSl7bGV0IFQ9TC1ZLngsUD1ILVkueSx4PU8tWS56O0srPU1hdGguc3FydChUKlQrUCpQK3gqeCl9bGV0IFc9e3g6TCx5OkgsejpPLGFyYzpLLGxhdDowLGxuZzowfTtpZihYW1VdPVcsWT1XLEw8cSlxPUw7aWYoTD5HKUc9TDtpZihIPEIpQj1IO2lmKEg+TilOPUg7aWYoTzx6KXo9TztpZihPPlYpVj1PfXJldHVybnt0cmFpbDokLnRvLnRyYWlsLG9yaWdpbjokLnRvLm9yaWdpbixwb2ludHM6WCx0b3RhbERpc3RhbmNlOkssYm91bmRzOnt4OltxLEddLHk6W0IsTl0sejpbeixWXX0scmF3TWluQWx0OiQudG8ucmF3TWluQWx0KygkLmZyb20ucmF3TWluQWx0LSQudG8ucmF3TWluQWx0KSooMS1RKSxyYXdNYXhBbHQ6JC50by5yYXdNYXhBbHQrKCQuZnJvbS5yYXdNYXhBbHQtJC50by5yYXdNYXhBbHQpKigxLVEpfX1mdW5jdGlvbiBTSigkKXtyZXR1cm4gJDwwLjU/MiokKiQ6MS1NYXRoLnBvdygtMiokKzIsMikvMn1mdW5jdGlvbiB4SigkLFEsSixYLEssWSxxKXtsZXQgRz0kLmdldENvbnRleHQoIjJkIik7aWYoIUcpcmV0dXJuO2xldHtjbGllbnRXaWR0aDpCLGNsaWVudEhlaWdodDpOfT0kO2lmKEI9PT0wfHxOPT09MClyZXR1cm47bGV0IHo9dHlwZW9mIHdpbmRvdzwidSI/d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE6MSxWPU1hdGgucm91bmQoQip6KSxVPU1hdGgucm91bmQoTip6KTtpZigkLndpZHRoIT09Vnx8JC5oZWlnaHQhPT1VKSQud2lkdGg9ViwkLmhlaWdodD1VO0cuc2V0VHJhbnNmb3JtKHosMCwwLHosMCwwKSxHLmNsZWFyUmVjdCgwLDAsQixOKTtsZXQgQz1HLmNyZWF0ZVJhZGlhbEdyYWRpZW50KEIqMC41LE4qMC41NSxNYXRoLm1pbihCLE4pKjAuMixCKjAuNSxOKjAuNTUsTWF0aC5tYXgoQixOKSowLjg1KTtDLmFkZENvbG9yU3RvcCgwLCIjMWExYTFkIiksQy5hZGRDb2xvclN0b3AoMSwiIzBhMGEwYyIpLEcuZmlsbFN0eWxlPUMsRy5maWxsUmVjdCgwLDAsQixOKSxqSihHLEIsTik7bGV0e3BvaW50czpNLGJvdW5kczpMfT1RO2lmKE0ubGVuZ3RoPDIpcmV0dXJuO2xldCBIPTI4Kk1hdGguUEkvMTgwLE89TWF0aC5zaW4oSCksVz1NYXRoLmNvcyhIKSxUPU1hdGguc2luKFgpLFA9TWF0aC5jb3MoWCkseD0oTC54WzBdK0wueFsxXSkvMixEPShMLnpbMF0rTC56WzFdKS8yLGU9TC54WzFdLUwueFswXSxSPUwuelsxXS1MLnpbMF0sZD1MLnlbMV0tTC55WzBdLG49TWF0aC5tYXgoZSxSKSoxLjA1LG89TWF0aC5tYXgoUipXK2QqTyxlKjAuNCkqMS4xNSxhPUIqMC4wOCxpPU4qMC4xOCxMMT1NYXRoLm1pbigoQi1hKjIpL24sKE4taSoyKS9vKSoxLjQ1LGw9ZDwxPzE6TWF0aC5taW4oMjQsMTQwL01hdGgubWF4KDIwLGQpKSxmPShqLHAsXyk9PntsZXQgaD1qLXgsbT1fLUQsdj1oKlArbSpULFkxPS1oKlQrbSpQLFYxPXAqbCx3MT1WMSpXLVkxKk8sRjE9VjEqTytZMSpXO3JldHVybntzeDpCLzIrdipMMSxzeTpOKjAuNTUtdzEqTDEsZGVwdGg6RjF9fSxYMT0zOCxaMT1NLm1hcCgoaik9PntsZXQgcD1mKGoueCxqLnksai56KSxfPWYoai54LDAsai56KSxoPXtzeDpwLnN4LHN5Ok1hdGgubWF4KF8uc3kscC5zeStYMSksZGVwdGg6Xy5kZXB0aH07cmV0dXJue3A6aix0b3A6cCxib3Q6aH19KTtmb3IobGV0IGo9MTtqPFoxLmxlbmd0aDtqKyspe2xldCBwPVoxW2otMV0sXz1aMVtqXSxoPUcuY3JlYXRlTGluZWFyR3JhZGllbnQoKHAudG9wLnN4K18udG9wLnN4KS8yLChwLnRvcC5zeStfLnRvcC5zeSkvMiwocC5ib3Quc3grXy5ib3Quc3gpLzIsKHAuYm90LnN5K18uYm90LnN5KS8yKTtoLmFkZENvbG9yU3RvcCgwLCJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIiksaC5hZGRDb2xvclN0b3AoMC40NSwicmdiYSgxODAsMTgwLDE4NSwwLjI4KSIpLGguYWRkQ29sb3JTdG9wKDAuODUsInJnYmEoNDAsNDAsNDUsMC4xOCkiKSxoLmFkZENvbG9yU3RvcCgxLCJyZ2JhKDAsMCwwLDApIiksRy5maWxsU3R5bGU9aCxHLmJlZ2luUGF0aCgpLEcubW92ZVRvKHAudG9wLnN4LHAudG9wLnN5KSxHLmxpbmVUbyhfLnRvcC5zeCxfLnRvcC5zeSksRy5saW5lVG8oXy5ib3Quc3gsXy5ib3Quc3kpLEcubGluZVRvKHAuYm90LnN4LHAuYm90LnN5KSxHLmNsb3NlUGF0aCgpLEcuZmlsbCgpfUcuc3Ryb2tlU3R5bGU9IiNmZmZmZmYiLEcubGluZVdpZHRoPTEuNixHLmxpbmVDYXA9InJvdW5kIixHLmxpbmVKb2luPSJyb3VuZCIsRy5iZWdpblBhdGgoKTtmb3IobGV0IGo9MDtqPFoxLmxlbmd0aDtqKyspe2xldHt0b3A6cH09WjFbal07aWYoaj09PTApRy5tb3ZlVG8ocC5zeCxwLnN5KTtlbHNlIEcubGluZVRvKHAuc3gscC5zeSl9Ry5zdHJva2UoKTtsZXQgVTE9SjtHLnN0cm9rZVN0eWxlPSIjZjlkMmE0IixHLmxpbmVXaWR0aD0yLjIsRy5iZWdpblBhdGgoKTtsZXQgcz0hMTtmb3IobGV0IGo9MDtqPFoxLmxlbmd0aDtqKyspe2xldHtwLHRvcDpffT1aMVtqXTtpZihwLmFyYz5VMSlicmVhaztpZighcylHLm1vdmVUbyhfLnN4LF8uc3kpLHM9ITA7ZWxzZSBHLmxpbmVUbyhfLnN4LF8uc3kpfWlmKHMpRy5zdHJva2UoKTtsZXQgSjE9cT8/ZTAoUSxKKSxxMT1mKEoxLngsSjEueSxKMS56KTtpZihZKXtsZXQgXz1LJTI2MDAvMjYwMCxoPTQrMjIqXyxtPTAuMjIqKDEtXyksdj1HLmNyZWF0ZVJhZGlhbEdyYWRpZW50KHExLnN4LHExLnN5LGgqMC41LHExLnN4LHExLnN5LGgpO3YuYWRkQ29sb3JTdG9wKDAsInJnYmEoMjU1LDI1NSwyNTUsMCkiKSx2LmFkZENvbG9yU3RvcCgwLjcsYHJnYmEoMjU1LDI1NSwyNTUsJHttLnRvRml4ZWQoMyl9KWApLHYuYWRkQ29sb3JTdG9wKDEsInJnYmEoMjU1LDI1NSwyNTUsMCkiKSxHLmZpbGxTdHlsZT12LEcuYmVnaW5QYXRoKCksRy5hcmMocTEuc3gscTEuc3ksaCwwLE1hdGguUEkqMiksRy5maWxsKCl9Ry5maWxsU3R5bGU9IiNmZmYiLEcuYmVnaW5QYXRoKCksRy5hcmMocTEuc3gscTEuc3ksMy44LDAsTWF0aC5QSSoyKSxHLmZpbGwoKX1mdW5jdGlvbiBqSigkLFEsSil7JC5maWxsU3R5bGU9InJnYmEoMjU1LDI1NSwyNTUsMC4wNikiO2ZvcihsZXQgWT03O1k8SjtZKz0xNClmb3IobGV0IHE9NztxPFE7cSs9MTQpJC5iZWdpblBhdGgoKSwkLmFyYyhxLFksMC43LDAsTWF0aC5QSSoyKSwkLmZpbGwoKX1mdW5jdGlvbiBCOCgkKXtpZigkPDEwMDApcmV0dXJuYCR7JC50b0ZpeGVkKDApfSBtYDtyZXR1cm5gJHsoJC8xMDAwKS50b0ZpeGVkKDIpfSBrbWB9ZnVuY3Rpb24gRzQoJCl7bGV0IFE9TWF0aC5mbG9vcigkLzEwMDApLEo9TWF0aC5mbG9vcihRLzM2MDApLFg9TWF0aC5mbG9vcihRJTM2MDAvNjApLEs9USU2MDtpZihKPjApcmV0dXJuYCR7Sn06JHtYLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfToke0sudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YDtyZXR1cm5gJHtYfToke0sudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1mdW5jdGlvbiB2SigkKXtpZigkPD0wKXJldHVybiLigJQiO2lmKCQ+NylyZXR1cm5gJHsoJCozLjYpLnRvRml4ZWQoMCl9IGttL2hgO2xldCBRPTEwMDAvJCxKPU1hdGguZmxvb3IoUS82MCksWD1NYXRoLnJvdW5kKFElNjApO3JldHVybmAke0p9OiR7WC50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0va21gfWZ1bmN0aW9uIFY0KCQpe3JldHVybmAkeyQudG9GaXhlZCgwKX0gbWB9ZnVuY3Rpb24gQjQoJCl7bGV0IFE9JC50cmltKCk7aWYoIVEpcmV0dXJuIiI7bGV0IEo9US5tYXRjaCgvUmVhc29uOlxzKiguKykkL20pO2lmKEopcmV0dXJuIEpbMV07cmV0dXJuIFEuc3BsaXQoYApgKS5zbGljZSgtMSlbMF0/P1F9YXN5bmMgZnVuY3Rpb24gTjgoJCxRLEope2xldCBYPWF3YWl0ICQoYHhjcnVuIHNpbWN0bCBnZXRfYXBwX2NvbnRhaW5lciAke1F9ICR7TzEoSil9IGFwcGApO2lmKFguZXhpdENvZGUhPT0wKXJldHVybntlcnJvcjpYLnN0ZGVyci50cmltKCl8fCJBcHAgbm90IGZvdW5kIG9uIHNpbXVsYXRvciJ9O2xldCBLPVguc3Rkb3V0LnRyaW0oKTtpZighSylyZXR1cm57ZXJyb3I6IkVtcHR5IGFwcCBwYXRoIn07bGV0IFk9YXdhaXQgJChgcGx1dGlsIC1jb252ZXJ0IGpzb24gLW8gLSAke08xKEsrIi9JbmZvLnBsaXN0Iil9YCkscT17fTtpZihZLmV4aXRDb2RlPT09MCl0cnl7cT1KU09OLnBhcnNlKFkuc3Rkb3V0KX1jYXRjaHt9bGV0IEcsTj0ocT8uQ0ZCdW5kbGVJY29ucz8uQ0ZCdW5kbGVQcmltYXJ5SWNvbj8/cT8uWyJDRkJ1bmRsZUljb25zfmlwYWQiXT8uQ0ZCdW5kbGVQcmltYXJ5SWNvbik/LkNGQnVuZGxlSWNvbkZpbGVzPz9xPy5DRkJ1bmRsZUljb25GaWxlcztpZihOJiZOLmxlbmd0aD4wKUc9TltOLmxlbmd0aC0xXTtlbHNlIGlmKHR5cGVvZiBxPy5DRkJ1bmRsZUljb25GaWxlPT09InN0cmluZyIpRz1xLkNGQnVuZGxlSWNvbkZpbGU7bGV0IHo9bnVsbDtpZihHKXtsZXQgVj1bYCR7R31AM3gucG5nYCxgJHtHfUAyeC5wbmdgLGAke0d9LnBuZ2AsYCR7R302MHg2MEAzeC5wbmdgLGAke0d9NjB4NjBAMngucG5nYF0sQz0oYXdhaXQgJChgYmFzaCAtYyAke08xKFYubWFwKChNKT0+YFsgLWYgJHtPMShLKyIvIitNKX0gXSAmJiBlY2hvICR7TzEoSysiLyIrTSl9ICYmIGV4aXQgMGApLmpvaW4oIjsgIikrIjsgZXhpdCAxIil9YCkpLnN0ZG91dC50cmltKCk7aWYoQyl7bGV0IE09YXdhaXQgJChgYmFzZTY0IC1pICR7TzEoQyl9YCk7aWYoTS5leGl0Q29kZT09PTApej1gZGF0YTppbWFnZS9wbmc7YmFzZTY0LCR7TS5zdGRvdXQucmVwbGFjZSgvXHMrL2csIiIpfWB9fXJldHVybnthcHBQYXRoOkssZGlzcGxheU5hbWU6cS5DRkJ1bmRsZURpc3BsYXlOYW1lPz9xLkNGQnVuZGxlTmFtZSxzaG9ydFZlcnNpb246cS5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyxidW5kbGVWZXJzaW9uOnEuQ0ZCdW5kbGVWZXJzaW9uLG1pbk9TOnEuTWluaW11bU9TVmVyc2lvbixleGVjdXRhYmxlOnEuQ0ZCdW5kbGVFeGVjdXRhYmxlLGljb25EYXRhVXJsOnp9fXZhciBNMj1uZXcgTWFwO2Z1bmN0aW9uIHo0KCQsUSxKKXtsZXQgWD1gJHtRfToke0p9YCxLPU0yLmdldChYKTtpZihLIT09dm9pZCAwKXJldHVybiBQcm9taXNlLnJlc29sdmUoSyk7bGV0IFk9TjgoJCxRLEopLnRoZW4oKHEpPT57bGV0IEc9cS5pY29uRGF0YVVybD8/bnVsbDtyZXR1cm4gTTIuc2V0KFgsRyksR30pLmNhdGNoKCgpPT57cmV0dXJuIE0yLnNldChYLG51bGwpLG51bGx9KTtyZXR1cm4gTTIuc2V0KFgsWSksWX1mdW5jdGlvbiBSSigkKXtyZXR1cm4gJC5zdGFydHNXaXRoKCJjb20uYXBwbGUuIil9ZnVuY3Rpb24gaEooJCl7aWYoJD09PSJjb20uYXBwbGUuc3ByaW5nYm9hcmQiKXJldHVybiJTcHJpbmdCb2FyZCI7cmV0dXJuICR9ZnVuY3Rpb24gZ0ooe2J1bmRsZUlkOiR9KXtsZXQgUT1SSigkKTtyZXR1cm4gWigiZGl2Iix7ImRhdGEtdGVzdGlkIjpRPyJzeXN0ZW0tYXBwLWljb24iOiJhcHAtaWNvbi1mYWxsYmFjayIsY2xhc3NOYW1lOmB3LTEwIGgtMTAgcm91bmRlZC1bOHB4XSBzaHJpbmstMCBib3JkZXIgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgJHtRPyJib3JkZXItWyMzYjVmOTldIGJnLVtsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCMyNTNhNWYsIzE2MjEzMildIHRleHQtWyNjOGQ3ZmZdIjoiYm9yZGVyLXdoaXRlLzEwIGJnLXdoaXRlL1swLjA2XSB0ZXh0LXdoaXRlLzgwIn1gLCJhcmlhLWxhYmVsIjpRPyJTeXN0ZW0gYXBwIjoiQXBwIGljb24gdW5hdmFpbGFibGUiLHRpdGxlOlE/IlN5c3RlbSBhcHAiOiJBcHAgaWNvbiB1bmF2YWlsYWJsZSIsY2hpbGRyZW46UT9aKCJzdmciLHtyb2xlOiJpbWciLHZpZXdCb3g6IjAgMCAyNCAyNCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjbGFzc05hbWU6InNpemUtWzE5cHhdIixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOltaKCJ0aXRsZSIse2NoaWxkcmVuOiJBcHBsZSJ9KSxaKCJwYXRoIix7ZDoiTTEyLjE1MiA2Ljg5NmMtLjk0OCAwLTIuNDE1LTEuMDc4LTMuOTYtMS4wNC0yLjA0LjAyNy0zLjkxIDEuMTgzLTQuOTYxIDMuMDE0LTIuMTE3IDMuNjc1LS41NDYgOS4xMDMgMS41MTkgMTIuMDkgMS4wMTMgMS40NTQgMi4yMDggMy4wOSAzLjc5MiAzLjAzOSAxLjUyLS4wNjUgMi4wOS0uOTg3IDMuOTM1LS45ODcgMS44MzEgMCAyLjM1Ljk4NyAzLjk2Ljk0OCAxLjYzNy0uMDI2IDIuNjc2LTEuNDggMy42NzYtMi45NDggMS4xNTYtMS42ODggMS42MzYtMy4zMjUgMS42NjItMy40MTUtLjAzOS0uMDEzLTMuMTgyLTEuMjIxLTMuMjItNC44NTctLjAyNi0zLjA0IDIuNDgtNC40OTQgMi41OTctNC41NTktMS40MjktMi4wOS0zLjYyMy0yLjMyNC00LjM5LTIuMzc2LTItLjE1Ni0zLjY3NSAxLjA5LTQuNjEgMS4wOXpNMTUuNTMgMy44M2MuODQzLTEuMDEyIDEuNC0yLjQyNyAxLjI0NS0zLjgzLTEuMjA3LjA1Mi0yLjY2Mi44MDUtMy41MzIgMS44MTgtLjc4Ljg5Ni0xLjQ1NCAyLjMzOC0xLjI3MyAzLjcxNCAxLjMzOC4xMDQgMi43MTUtLjY4OCAzLjU1OS0xLjcwMSJ9KV19KTpaKHgyLHtzaXplOjE5LHN0cm9rZVdpZHRoOjEuOX0pfSl9ZnVuY3Rpb24gZkooe2J1bmRsZUlkOiQsaWNvbkRhdGFVcmw6UX0pe2lmKFEpcmV0dXJuIFooImltZyIse3NyYzpRLGNsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtWzhweF0gc2hyaW5rLTAgb2JqZWN0LWNvdmVyIGJvcmRlciBib3JkZXItd2hpdGUvOCIsYWx0OiIifSk7cmV0dXJuIFooZ0ose2J1bmRsZUlkOiR9KX1mdW5jdGlvbiBMNCh7dWRpZDokLGN1cnJlbnRBcHA6UX0pe2xldFtKLFhdPWsobnVsbCksW0ssWV09ayghMSk7aWYoeSgoKT0+e2lmKCFRKXtYKG51bGwpO3JldHVybn1sZXQgcT0hMTtyZXR1cm4gWCh7YnVuZGxlSWQ6US5idW5kbGVJZCxpc1JlYWN0TmF0aXZlOlEuaXNSZWFjdE5hdGl2ZSxwaWQ6US5waWQsbG9hZGluZzohMH0pLE44KFQxLCQsUS5idW5kbGVJZCkudGhlbigoRyk9PntpZihxKXJldHVybjtYKHtidW5kbGVJZDpRLmJ1bmRsZUlkLGlzUmVhY3ROYXRpdmU6US5pc1JlYWN0TmF0aXZlLHBpZDpRLnBpZCxsb2FkaW5nOiExLC4uLkd9KX0pLCgpPT57cT0hMH19LFskLFEsUT8uYnVuZGxlSWQsUT8ucGlkLFE/LmlzUmVhY3ROYXRpdmVdKSwhSilyZXR1cm4gWihtSix7fSk7cmV0dXJuIFooczEse29wZW46Syxvbk9wZW5DaGFuZ2U6WSxzdW1tYXJ5Q2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyB0ZXh0LWxlZnQiLHN1bW1hcnk6WihRMSx7Y2hpbGRyZW46W1ooZkose2J1bmRsZUlkOkouYnVuZGxlSWQsaWNvbkRhdGFVcmw6Si5pY29uRGF0YVVybH0pLFoocEose2J1bmRsZUlkOkouYnVuZGxlSWQsZGlzcGxheU5hbWU6Si5kaXNwbGF5TmFtZX0pXX0pLGNoaWxkcmVuOltKLmVycm9yJiZaKCJkaXYiLHtjbGFzc05hbWU6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQiLGNoaWxkcmVuOkouZXJyb3J9KSxaKCJkbCIse2NsYXNzTmFtZToibS0wIGZsZXggZmxleC1jb2wgZ2FwLTEuNSIsY2hpbGRyZW46W1ooQTIse2xhYmVsOiJWZXJzaW9uIix2YWx1ZTpKLnNob3J0VmVyc2lvbj9gJHtKLnNob3J0VmVyc2lvbn0gKCR7Si5idW5kbGVWZXJzaW9uPz8i4oCUIn0pYDpKLmxvYWRpbmc/IuKApiI6IuKAlCJ9KSxaKEEyLHtsYWJlbDoiTWluIGlPUyIsdmFsdWU6Si5taW5PUz8/KEoubG9hZGluZz8i4oCmIjoi4oCUIil9KSxaKEEyLHtsYWJlbDoiRXhlY3V0YWJsZSIsdmFsdWU6Si5leGVjdXRhYmxlPz8oSi5sb2FkaW5nPyLigKYiOiLigJQiKX0pLFooQTIse2xhYmVsOiJQSUQiLHZhbHVlOkoucGlkIT1udWxsP1N0cmluZyhKLnBpZCk6IuKAlCJ9KSxKLmlzUmVhY3ROYXRpdmUmJlooQTIse2xhYmVsOiJSZWFjdCBOYXRpdmUiLHZhbHVlOiJZZXMifSksWihBMix7bGFiZWw6IkFwcCBwYXRoIix2YWx1ZTpKLmFwcFBhdGg/PyhKLmxvYWRpbmc/IuKApiI6IuKAlCIpLG1vbm86ITAsYWN0aW9uOkouYXBwUGF0aD97dGl0bGU6IlJldmVhbCBpbiBGaW5kZXIiLG9uQ2xpY2s6KCk9PntUMShgb3BlbiAtUiAke08xKEouYXBwUGF0aCl9YCl9LGljb246WihqMix7c2l6ZToxMSxzdHJva2VXaWR0aDoyLjJ9KX06dm9pZCAwfSldfSldfSl9ZnVuY3Rpb24gbUooKXtyZXR1cm4gWigiZGl2Iix7ImRhdGEtdGVzdGlkIjoiYXBwLWRldGVjdGlvbi1za2VsZXRvbiIsY2xhc3NOYW1lOiJiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIiLCJhcmlhLWxhYmVsIjoiV2FpdGluZyBmb3IgZm9yZWdyb3VuZCBhcHAiLGNoaWxkcmVuOlooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgdGV4dC1sZWZ0IG1pbi1oLVszNnB4XSBsZWFkaW5nLW5vbmUgcHktMi41IHB4LTEgLW15LTIgLW14LTEgdy1bY2FsYygxMDAlKzhweCldIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtWzhweF0gc2hyaW5rLTAgYmctd2hpdGUvWzAuMDhdIn0pLFooInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAgZmxleC0xIGZsZXggZmxleC1jb2wgZ2FwLTIiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJoLTMuNSB3LVs0NiVdIHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4xMl0ifSksWigic3BhbiIse2NsYXNzTmFtZToiaC0yLjUgdy1bNjglXSByb3VuZGVkLWZ1bGwgYmctd2hpdGUvWzAuMDhdIn0pXX0pLFooInNwYW4iLHtjbGFzc05hbWU6InctMi41IGgtMi41IHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4wOF0ifSldfSl9KX1mdW5jdGlvbiBwSih7YnVuZGxlSWQ6JCxkaXNwbGF5TmFtZTpRfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToibWluLXctMCBmbGV4LTEgbGVhZGluZy10aWdodCB0ZXh0LWxlZnQiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS85MCB0cnVuY2F0ZSIsY2hpbGRyZW46UT8/aEooJCl9KSxaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNTUgZm9udC1tb25vIHRydW5jYXRlIix0aXRsZTokLGNoaWxkcmVuOiR9KV19KX1mdW5jdGlvbiBBMih7bGFiZWw6JCx2YWx1ZTpRLG1vbm86SixhY3Rpb246WH0pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6Imdyb3VwIGZsZXggaXRlbXMtYmFzZWxpbmUgZ2FwLTIgbWluLXctMCIsY2hpbGRyZW46W1ooImR0Iix7Y2xhc3NOYW1lOiJtLTAgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS81MCB3LTIxIHNocmluay0wIixjaGlsZHJlbjokfSksWigiZGQiLHtjbGFzc05hbWU6YG0tMCB0ZXh0LXdoaXRlLzkwIGZsZXgtMSBtaW4tdy0wIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHJlbGF0aXZlICR7Sj8iZm9udC1tb25vIHRleHQtWzExcHhdIjoidGV4dC1bMTJweF0ifWAsdGl0bGU6USxjaGlsZHJlbjpbUSxYJiZaKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0wIHJpZ2h0LTAgYm90dG9tLTAgcGwtNyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZCBiZy1bbGluZWFyLWdyYWRpZW50KHRvX3JpZ2h0LHJnYmEoMjgsMjgsMzAsMClfMCUsIzFjMWMxZV81NSUpXSBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMTVzX2Vhc2UsdHJhbnNmb3JtXzAuMTVzX2Vhc2VdIG9wYWNpdHktMCB0cmFuc2xhdGUteC0xIHBvaW50ZXItZXZlbnRzLW5vbmUgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgZ3JvdXAtaG92ZXI6dHJhbnNsYXRlLXgtMCBncm91cC1ob3Zlcjpwb2ludGVyLWV2ZW50cy1hdXRvIixjaGlsZHJlbjpaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6WC5vbkNsaWNrLHRpdGxlOlgudGl0bGUsImFyaWEtbGFiZWwiOlgudGl0bGUsY2xhc3NOYW1lOiJ3LTUgaC01IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHJvdW5kZWQgdGV4dC13aGl0ZSBjdXJzb3ItcG9pbnRlciBwLTAiLGNoaWxkcmVuOlguaWNvbn0pfSldfSldfSl9dmFyIFU0PVt7a2V5OiJjYW1lcmEiLGxhYmVsOiJDYW1lcmEifSx7a2V5OiJtaWNyb3Bob25lIixsYWJlbDoiTWljcm9waG9uZSJ9LHtrZXk6InBob3RvcyIsbGFiZWw6IlBob3RvcyJ9LHtrZXk6InBob3Rvcy1hZGQiLGxhYmVsOiJBZGQgdG8gUGhvdG9zIn0se2tleToiY29udGFjdHMiLGxhYmVsOiJDb250YWN0cyJ9LHtrZXk6ImNhbGVuZGFyIixsYWJlbDoiQ2FsZW5kYXIifSx7a2V5OiJyZW1pbmRlcnMiLGxhYmVsOiJSZW1pbmRlcnMifSx7a2V5OiJsb2NhdGlvbiIsbGFiZWw6IkxvY2F0aW9uIn0se2tleToibG9jYXRpb24tYWx3YXlzIixsYWJlbDoiTG9jYXRpb24gKEFsd2F5cykifSx7a2V5OiJub3RpZmljYXRpb25zIixsYWJlbDoiTm90aWZpY2F0aW9ucyJ9LHtrZXk6Im1vdGlvbiIsbGFiZWw6Ik1vdGlvbiJ9LHtrZXk6Im1lZGlhLWxpYnJhcnkiLGxhYmVsOiJNZWRpYSBMaWJyYXJ5In0se2tleToic2lyaSIsbGFiZWw6IlNpcmkifV07ZnVuY3Rpb24gSDQoe3VkaWQ6JCxidW5kbGVJZDpRfSl7bGV0W0osWF09ayh7fSksW0ssWV09ayhudWxsKSxbcSxHXT1rKG51bGwpLFtCLE5dPWsoITEpLHo9RDEoKCk9PntsZXQgQz10eXBlb2Ygd2luZG93PiJ1Ij92b2lkIDA6d2luZG93Ll9fU0lNX1BSRVZJRVdfXz8uc2VydmVTaW1CaW47aWYoIUMpcmV0dXJuInNlcnZlLXNpbSI7aWYoL1wudHMkLy50ZXN0KEMpKXJldHVybmBidW4gJHtPMShDKX1gO2lmKC9cLmpzJC8udGVzdChDKSlyZXR1cm5gbm9kZSAke08xKEMpfWA7cmV0dXJuIE8xKEMpfSxbXSk7eSgoKT0+e1goe30pLEcobnVsbCl9LFtRXSk7bGV0IFY9SShhc3luYyhDLE0pPT57aWYoIVEpcmV0dXJuO2xldCBMPWAke0N9OiR7TX1gO1koTCksRyhudWxsKTt0cnl7bGV0IEg9YXdhaXQgVDEoYCR7en0gcGVybWlzc2lvbnMgJHtNfSAke0N9ICR7TzEoUSl9IC1kICR7TzEoJCl9YCk7aWYoSC5leGl0Q29kZSE9PTApe0coSC5zdGRlcnIudHJpbSgpfHxgc2VydmUtc2ltIHBlcm1pc3Npb25zIGZhaWxlZCAoZXhpdCAke0guZXhpdENvZGV9KWApO3JldHVybn1YKChPKT0+KHsuLi5PLFtDXTpNPT09InJlc2V0Ij92b2lkIDA6TX0pKX1maW5hbGx5e1kobnVsbCl9fSxbeiwkLFFdKSxVPUkoYXN5bmMoKT0+e2lmKCFRKXJldHVybjtZKCJfX2FsbF9fIiksRyhudWxsKTt0cnl7bGV0IEM9YXdhaXQgVDEoYCR7en0gcGVybWlzc2lvbnMgcmVzZXQgYWxsICR7TzEoUSl9IC1kICR7TzEoJCl9YCk7aWYoQy5leGl0Q29kZSE9PTApe0coQy5zdGRlcnIudHJpbSgpfHxgc2VydmUtc2ltIHBlcm1pc3Npb25zIGZhaWxlZCAoZXhpdCAke0MuZXhpdENvZGV9KWApO3JldHVybn1YKHt9KX1maW5hbGx5e1kobnVsbCl9fSxbeiwkLFFdKTtpZighUSlyZXR1cm4gWih1Six7fSk7cmV0dXJuIFooczEse29wZW46Qixvbk9wZW5DaGFuZ2U6TixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpaKFExLHtjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiUGVybWlzc2lvbnMifSksWigic3BhbiIse30pXX0pLGNoaWxkcmVuOltxJiZaKCJkaXYiLHtjbGFzc05hbWU6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQiLGNoaWxkcmVuOnF9KSxaKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtaC1bMjYwcHhdIG92ZXJmbG93LXktYXV0byBmbGV4IGZsZXgtY29sIGdhcC0xIHB5LTIgW3Njcm9sbGJhci13aWR0aDp0aGluXSIsY2hpbGRyZW46VTQubWFwKCh7a2V5OkMsbGFiZWw6TX0pPT57bGV0IEw9SltDXTtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIgcHgtMC41IHB5LTEiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzkwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIGZsZXgtMSBtaW4tdy0wIixjaGlsZHJlbjpNfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGdhcC0wLjUgYmctd2hpdGUvWzAuMDRdIGJvcmRlciBib3JkZXItd2hpdGUvOCByb3VuZGVkLW1kIHAtMC41Iixyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOk0sY2hpbGRyZW46W1ooejgse2FjdGl2ZTpMPT09ImdyYW50IixwZW5kaW5nOks9PT1gJHtDfTpncmFudGAsb25DbGljazooKT0+VihDLCJncmFudCIpLHZhcmlhbnQ6ImdyYW50Iix0aXRsZToiQWxsb3ciLGNoaWxkcmVuOloodjIse3NpemU6MTEsc3Ryb2tlV2lkdGg6M30pfSksWih6OCx7YWN0aXZlOkw9PT0icmV2b2tlIixwZW5kaW5nOks9PT1gJHtDfTpyZXZva2VgLG9uQ2xpY2s6KCk9PlYoQywicmV2b2tlIiksdmFyaWFudDoicmV2b2tlIix0aXRsZToiRGVueSIsY2hpbGRyZW46WihMMCx7c2l6ZToxMSxzdHJva2VXaWR0aDozfSl9KSxaKHo4LHthY3RpdmU6ITEscGVuZGluZzpLPT09YCR7Q306cmVzZXRgLG9uQ2xpY2s6KCk9PlYoQywicmVzZXQiKSx2YXJpYW50OiJyZXNldCIsdGl0bGU6IlJlc2V0IixjaGlsZHJlbjpaKGEwLHtzaXplOjExLHN0cm9rZVdpZHRoOjIuNH0pfSldfSldfSxDKX0pfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgcmlnaHQtMCBoLVsxNHB4XSBwb2ludGVyLWV2ZW50cy1ub25lIHJvdW5kZWQtdC1bMTBweF0gYmctW2xpbmVhci1ncmFkaWVudCh0b19ib3R0b20sIzFjMWMxZV8wJSxyZ2JhKDI4LDI4LDMwLDApXzEwMCUpXSJ9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGJvdHRvbS0wIGxlZnQtMCByaWdodC0wIGgtWzE0cHhdIHBvaW50ZXItZXZlbnRzLW5vbmUgYmctW2xpbmVhci1ncmFkaWVudCh0b190b3AsIzFjMWMxZV8wJSxyZ2JhKDI4LDI4LDMwLDApXzEwMCUpXSJ9KV19KSxaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXgganVzdGlmeS1lbmQiLGNoaWxkcmVuOlooImJ1dHRvbiIse29uQ2xpY2s6VSxkaXNhYmxlZDpLPT09Il9fYWxsX18iLGNsYXNzTmFtZToiYmctdHJhbnNwYXJlbnQgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiB0ZXh0LXdoaXRlLzcwIHRleHQtWzEwcHhdIHB4LTIgcHktWzNweF0gcm91bmRlZC1bNXB4XSBjdXJzb3ItcG9pbnRlciB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDRlbV0iLHRpdGxlOiJzZXJ2ZS1zaW0gcGVybWlzc2lvbnMgcmVzZXQgYWxsIixjaGlsZHJlbjpLPT09Il9fYWxsX18iPyLigKYiOiJSZXNldCBhbGwifSl9KV19KX1mdW5jdGlvbiB1Sigpe3JldHVybiBaKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJhcHAtcGVybWlzc2lvbnMtbG9hZGluZyIsY2xhc3NOYW1lOiJiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIiLCJhcmlhLWRpc2FibGVkIjoidHJ1ZSIsImFyaWEtYnVzeSI6InRydWUiLGNoaWxkcmVuOlooImRpdiIse2NsYXNzTmFtZToic2VsZWN0LW5vbmUgdGV4dC13aGl0ZS81NSBtaW4taC1bMzZweF0gbGVhZGluZy1ub25lIHB5LTIuNSBweC0xIC1teS0yIC1teC0xIHctW2NhbGMoMTAwJSs4cHgpXSBncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCBjdXJzb3ItZGVmYXVsdCIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJQZXJtaXNzaW9ucyJ9KSxaKCJzcGFuIix7fSksWigic3BhbiIseyJkYXRhLXRlc3RpZCI6InBlcm1pc3Npb25zLWxvYWRpbmctaW5kaWNhdG9yIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxhYmVsIjoiTG9hZGluZyBwZXJtaXNzaW9ucyIsY2xhc3NOYW1lOiJzaXplLTIuNSByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1bIzVmNjI2OF0gYm9yZGVyLXQtWyNmNGY0ZjVdIGFuaW1hdGUtW2dyaWQtc3Bpbl8wLjdzX2xpbmVhcl9pbmZpbml0ZV0ifSldfSl9KX1mdW5jdGlvbiB6OCh7YWN0aXZlOiQscGVuZGluZzpRLG9uQ2xpY2s6Six2YXJpYW50OlgsdGl0bGU6SyxjaGlsZHJlbjpZfSl7bGV0IHE9WD09PSJncmFudCI/IiM0YWRlODAiOlg9PT0icmV2b2tlIj8iI2Y4NzE3MSI6IiNhNWI0ZmMiO3JldHVybiBaKCJidXR0b24iLHtvbkNsaWNrOkosZGlzYWJsZWQ6USx0aXRsZTpLLCJhcmlhLWxhYmVsIjpLLGNsYXNzTmFtZToidy02IGgtNS41IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1ub25lIHJvdW5kZWQgcC0wIGN1cnNvci1wb2ludGVyIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xMnMsY29sb3JfMC4xMnNdIixzdHlsZTp7YmFja2dyb3VuZDokP2Ake3F9MjJgOiJ0cmFuc3BhcmVudCIsY29sb3I6JD9xOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIixvcGFjaXR5OlE/MC41OjF9LGNoaWxkcmVuOll9KX1mdW5jdGlvbiBhNSh7bGFiZWw6JCxjaGVja2VkOlEsZGlzYWJsZWQ6Sj0hMSxvbkNoYW5nZTpYfSl7cmV0dXJuIFooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIscm9sZToic3dpdGNoIiwiYXJpYS1jaGVja2VkIjpRLCJhcmlhLWxhYmVsIjokLGRpc2FibGVkOkosb25DbGljazooKT0+WCghUSksY2xhc3NOYW1lOmByZWxhdGl2ZSBoLVsxOHB4XSB3LTggc2hyaW5rLTAgcm91bmRlZC1mdWxsIGJvcmRlci1ub25lIHAtMCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzXSAke0o/ImN1cnNvci1kZWZhdWx0IGJnLXdoaXRlLzIwIjpRPyJjdXJzb3ItcG9pbnRlciBiZy1bIzBhODRmZl0iOiJjdXJzb3ItcG9pbnRlciBiZy13aGl0ZS8yMCJ9YCxjaGlsZHJlbjpaKCJzcGFuIix7Y2xhc3NOYW1lOmBhYnNvbHV0ZSB0b3AtWzJweF0gc2l6ZS1bMTRweF0gcm91bmRlZC1mdWxsIFt0cmFuc2l0aW9uOmxlZnRfMC4xNXNdICR7Sj8iYmctd2hpdGUvNTAiOiJiZy13aGl0ZSJ9YCxzdHlsZTp7bGVmdDpRPzE2OjJ9fSl9KX12YXIgbEo9ImJnLXBhbmVsIHJvdW5kZWQtWzEwcHhdIixkSj0idGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBtLTAiO2Z1bmN0aW9uIE80KHtvdmVybGF5RW5hYmxlZDokLG9uVG9nZ2xlT3ZlcmxheTpRfSl7bGV0e3NuYXBzaG90Okp9PUgyKCkse2hpZ2hsaWdodGVkS2V5Olgsc2V0SGlnaGxpZ2h0ZWRLZXk6S309UjUoKSxZPUo/LmVsZW1lbnRzPz9bXSxxPVM1KEopLEc9Sj8uZXJyb3JzPy5bMF0/P251bGw7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZTpgJHtsSn0gcHgtMyBweS0yYCxjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIiLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOmRKLGNoaWxkcmVuOiJBWCBUcmVlIn0pLFooYTUse2xhYmVsOiJFbmFibGUgb3ZlcmxheSIsY2hlY2tlZDokLG9uQ2hhbmdlOlF9KV19KSwhJD9udWxsOnE/WihDNCx7Y2hpbGRyZW46IkFYIHVuYXZhaWxhYmxlIG9uIHRoaXMgc2ltdWxhdG9yLiJ9KTpZLmxlbmd0aD09PTA/WihDNCx7c3Bpbm5lcjohRyxjaGlsZHJlbjpHPz8iV2FpdGluZyBmb3IgYWNjZXNzaWJpbGl0eSBkYXRh4oCmIn0pOlooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMSBtdC0yIHB5LTIgbWF4LWgtWzI2MHB4XSBvdmVyZmxvdy15LWF1dG8gW3Njcm9sbGJhci13aWR0aDp0aGluXSIscm9sZToibGlzdCIsY2hpbGRyZW46WS5tYXAoKEIsTik9PntsZXQgej1zMChCKTtyZXR1cm4gWihjSix7ZWxlbWVudDpCLGluZGV4Ok4sYWN0aXZlOno9PT1YLG9uSGlnaGxpZ2h0Okt9LHopfSl9KV19KX1mdW5jdGlvbiBDNCh7Y2hpbGRyZW46JCxzcGlubmVyOlE9ITF9KXtyZXR1cm4gWigiZGl2Iix7cm9sZToic3RhdHVzIiwiYXJpYS1saXZlIjoicG9saXRlIixjbGFzc05hbWU6Im10LTIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgcHktNCB0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpbUT9aKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJzaXplLTMuNSBzaHJpbmstMCByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXdoaXRlLzIwIGJvcmRlci10LXdoaXRlLzYwIGFuaW1hdGUtW2dyaWQtc3Bpbl8wLjhzX2xpbmVhcl9pbmZpbml0ZV0ifSk6bnVsbCxaKCJzcGFuIix7Y2hpbGRyZW46JH0pXX0pfXZhciBjSj1pMChmdW5jdGlvbih7ZWxlbWVudDpRLGluZGV4OkosYWN0aXZlOlgsb25IaWdobGlnaHQ6S30pe2xldCBZPXMwKFEpLHE9ajUoUSxKKSxHPWAke01hdGgucm91bmQoUS5mcmFtZS53aWR0aCl9eCR7TWF0aC5yb3VuZChRLmZyYW1lLmhlaWdodCl9YCxCPVtxLmxhYmVsLHEucm9sZXx8cS50eXBlfHwiZWxlbWVudCIsR10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiDCtyAiKTtyZXR1cm4gWigiZGl2Iix7cm9sZToibGlzdGl0ZW0iLHRhYkluZGV4OjAsImRhdGEtYXgta2V5IjpZLHRpdGxlOkIsb25Nb3VzZUVudGVyOigpPT5LKFkpLG9uTW91c2VMZWF2ZTooKT0+SyhudWxsKSxvbkZvY3VzOigpPT5LKFkpLG9uQmx1cjooKT0+SyhudWxsKSxjbGFzc05hbWU6YGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiByb3VuZGVkLW1kIHB5LTEgcHgtMC41IG1pbi13LTAgJHtYPyJiZy13aGl0ZS9bMC4wNl0iOiIifWAsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBmbGV4LTEgbWluLXctMCIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6Im92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtd2hpdGUvOTAgdGV4dC1bMTJweF0gZm9udC1tZWRpdW0iLGNoaWxkcmVuOlEubGFiZWx8fFEucm9sZXx8IlVubGFiZWxlZCJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LXdoaXRlLzQ1IGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSIsY2hpbGRyZW46US5yb2xlfHxRLnR5cGV8fCJlbGVtZW50In0pXX0pLFooImNvZGUiLHtjbGFzc05hbWU6InNocmluay0wIGJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1tZCB0ZXh0LXdoaXRlLzU1IGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSBweC0xLjUgcHktWzNweF0iLGNoaWxkcmVuOkd9KV19KX0sKCQsUSk9PiQuaW5kZXg9PT1RLmluZGV4JiYkLmFjdGl2ZT09PVEuYWN0aXZlJiYkLm9uSGlnaGxpZ2h0PT09US5vbkhpZ2hsaWdodCYmeDUoJC5lbGVtZW50LFEuZWxlbWVudCkpO3ZhciBvSj1uZXcgU2V0KFsiaW1hZ2UvanBlZyIsImltYWdlL3BuZyIsImltYWdlL2dpZiIsImltYWdlL2hlaWMiLCJpbWFnZS9oZWlmIiwiaW1hZ2Uvd2VicCIsInZpZGVvL21wNCIsInZpZGVvL3F1aWNrdGltZSJdKSxMOD0xOTY2MDgsRjQ9NTI0Mjg4MDAwLHM1PSJhcHBsaWNhdGlvbi94LXNlcnZlLXNpbS1ob3N0LXBhdGgiO2FzeW5jIGZ1bmN0aW9uIE00KCQsUSxKKXtsZXQgWD1hd2FpdCBRKGB4Y3J1biBzaW1jdGwgYWRkbWVkaWEgJHtKfSAke08xKCQpfWApO2lmKFguZXhpdENvZGUhPT0wKXRocm93IEVycm9yKFguc3RkZXJyfHxgYWRkbWVkaWEgZmFpbGVkIChleGl0ICR7WC5leGl0Q29kZX0pYCl9ZnVuY3Rpb24gazIoJCl7bGV0IFE9JC5uYW1lLEo9US5sYXN0SW5kZXhPZigiLiIpO2lmKEo+PTApcmV0dXJuIFEuc2xpY2UoSisxKS50b0xvd2VyQ2FzZSgpO2lmKCQudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSlyZXR1cm4ibXA0IjtyZXR1cm4ianBnIn1mdW5jdGlvbiBBNCgkKXtpZihrMigkKT09PSJpcGEiKXJldHVybiJpcGEiO2lmKG9KLmhhcygkLnR5cGUpKXJldHVybiJtZWRpYSI7cmV0dXJuIG51bGx9ZnVuY3Rpb24gaUooJCl7bGV0IFE9bmV3IFVpbnQ4QXJyYXkoJCksSj0iIjtmb3IobGV0IFg9MDtYPFEubGVuZ3RoO1grPTMyNzY4KUorPVN0cmluZy5mcm9tQ2hhckNvZGUoLi4uUS5zdWJhcnJheShYLFgrMzI3NjgpKTtyZXR1cm4gYnRvYShKKX1hc3luYyBmdW5jdGlvbiBrNCgkLFEsSixYKXtsZXQgSz0wO2ZvcihsZXQgWT0wO1k8JC5zaXplO1krPUw4KXtsZXQgcT1hd2FpdCAkLnNsaWNlKFksWStMOCkuYXJyYXlCdWZmZXIoKSxHPWlKKHEpLE49YXdhaXQgSihgYmFzaCAtYyAnZWNobyAke0d9IHwgYmFzZTY0IC1kICR7WT09PTA/Ij4iOiI+PiJ9ICR7UX0nYCk7aWYoTi5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoTi5zdGRlcnJ8fGBXcml0ZSBmYWlsZWQgKGV4aXQgJHtOLmV4aXRDb2RlfSlgKTtpZighWCljb250aW51ZTtsZXQgej1NYXRoLm1pbihZK0w4LCQuc2l6ZSksVj1NYXRoLmZsb29yKHovJC5zaXplKjEwMCk7aWYoViE9PUspSz1WLFgoei8kLnNpemUpfX1hc3luYyBmdW5jdGlvbiBXNCgkLFEsSixYKXtpZigkLnNpemU+RjQpdGhyb3cgRXJyb3IoIkZpbGUgdG9vIGxhcmdlIChtYXggNTAwTUIpIik7bGV0IEs9YC90bXAvJHtRfS0ke2NyeXB0by5yYW5kb21VVUlEKCl9LiR7Sn1gO3JldHVybiBhd2FpdCBrNCgkLEssWCksS31hc3luYyBmdW5jdGlvbiBfNCgkLFEsSixYLEspe2lmKCQuc2l6ZT5GNCl0aHJvdyBFcnJvcigiRmlsZSB0b28gbGFyZ2UgKG1heCA1MDBNQikiKTtsZXQgWT1RPT09ImlwYSI/ImlwYSI6azIoJCksRz1gL3RtcC8ke1E9PT0iaXBhIj8ic2VydmUtc2ltLWluc3RhbGwiOiJzZXJ2ZS1zaW0tdXBsb2FkIn0tJHtjcnlwdG8ucmFuZG9tVVVJRCgpfS4ke1l9YDt0cnl7SygwKSxhd2FpdCBrNCgkLEcsSixLKSxLKG51bGwpO2xldCBCPVE9PT0iaXBhIj9geGNydW4gc2ltY3RsIGluc3RhbGwgJHtYfSAke0d9YDpgeGNydW4gc2ltY3RsIGFkZG1lZGlhICR7WH0gJHtHfWAsTj1hd2FpdCBKKEIpO2lmKE4uZXhpdENvZGUhPT0wKXtsZXQgej1RPT09ImlwYSI/Imluc3RhbGwiOiJhZGRtZWRpYSI7dGhyb3cgRXJyb3IoTi5zdGRlcnJ8fGAke3p9IGZhaWxlZCAoZXhpdCAke04uZXhpdENvZGV9KWApfX1maW5hbGx5e0ooYGJhc2ggLWMgJ3JtIC1mICR7R30nYCkuY2F0Y2goKCk9Pnt9KX19dmFyIG5KPTMwMDA7YXN5bmMgZnVuY3Rpb24gckooJCxRPWZldGNoKXt0cnl7bGV0IEo9YXdhaXQgUSgkLHtjYWNoZToibm8tc3RvcmUifSk7aWYoIUoub2spcmV0dXJuIG51bGw7bGV0IFg9YXdhaXQgSi5qc29uKCk7cmV0dXJuIFgmJnR5cGVvZiBYPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KFgpP1g6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19dmFyIGFKPTIwOTcxNTIwMCxzSj0iTGFyZ2UgdmlkZW8gKD4yMDAgTUIpIOKAlCBtYXkgc3R1dHRlciBvbiBzaGFyZWQgbWVtb3J5IixQND0iSEVJQyBkZWNvZGUgZmFpbGVkIOKAlCBleHBvcnQgYXMgSlBFRyBvciBQTkcgYW5kIHJldHJ5IjtmdW5jdGlvbiB0SigkLFEpe2lmKFEpcmV0dXJuImFjdGl2ZSI7aWYoJD09PSJhY3RpdmUiKXJldHVybiJkaXNjb25uZWN0ZWQiO2lmKCQ9PT0iZGlzY29ubmVjdGVkIilyZXR1cm4icmVhZHkiO3JldHVybiAkfWZ1bmN0aW9uIGVKKCQpe2lmKCEkLmluamVjdGVkKXJldHVybiJwbGF5IjtpZigkLnNvdXJjZT09PSJwbGFjZWhvbGRlciIpcmV0dXJuInBsYXkiO2lmKCQuYnVuZGxlSWQmJiEkLmZvcmVncm91bmRJc0luamVjdGVkKXJldHVybiJhdHRhY2giO3JldHVybiJzdG9wIn1mdW5jdGlvbiAkWigkKXtyZXR1cm4gJC5zcGxpdChgCmApLm1hcCgoUSk9PlEudHJpbSgpKS5maWx0ZXIoQm9vbGVhbikuZmxhdE1hcCgoUSk9PntsZXQgSj1RLmluZGV4T2YoIlx0Iik7aWYoSjw9MClyZXR1cm5bXTtsZXQgWD1RLnNsaWNlKDAsSikudHJpbSgpLEs9US5zbGljZShKKzEpLnRyaW0oKTtpZighWHx8IUspcmV0dXJuW107cmV0dXJuW3tpZDpYLG5hbWU6S31dfSl9dmFyIFFaPW5ldyBTZXQoWyJtcDQiLCJtNHYiLCJtb3YiLCJxdCIsImF2aSIsIm1rdiIsIndlYm0iLCJtcGciLCJtcGVnIiwiM2dwIiwiM2cyIiwidHMiLCJ3bXYiXSk7ZnVuY3Rpb24gVDQoJCl7aWYoJC50eXBlJiYkLnR5cGUuc3RhcnRzV2l0aCgidmlkZW8vIikpcmV0dXJuITA7bGV0IFE9KCQubmFtZT8/IiIpLnRvTG93ZXJDYXNlKCksSj1RLmxhc3RJbmRleE9mKCIuIik7aWYoSjwwKXJldHVybiExO3JldHVybiBRWi5oYXMoUS5zbGljZShKKzEpKX1mdW5jdGlvbiBKWigkKXtyZXR1cm4gVDQoJCkmJiQuc2l6ZT5hSn1mdW5jdGlvbiBaWigkKXtsZXQgUT0oJC50eXBlPz8iIikudG9Mb3dlckNhc2UoKTtpZihRPT09ImltYWdlL2hlaWMifHxRPT09ImltYWdlL2hlaWYiKXJldHVybiEwO2xldCBKPSgkLm5hbWU/PyIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBKLmVuZHNXaXRoKCIuaGVpYyIpfHxKLmVuZHNXaXRoKCIuaGVpZiIpfWZ1bmN0aW9uIFhaKHtyYXdNZXNzYWdlOiQsbGFzdEZpbGVJc0hlaWM6USxzb3VyY2U6Sn0pe2lmKFEmJihKPT09ImltYWdlInx8Sj09PSJ2aWRlbyIpKXJldHVybiBQNDtyZXR1cm4gJH1mdW5jdGlvbiBLWih7c3RhdGU6JH0pe2xldCBRPSQ9PT0iYWN0aXZlIj8iQWN0aXZlIjokPT09ImRpc2Nvbm5lY3RlZCI/IkRpc2Nvbm5lY3RlZCI6IlJlYWR5IixKPSQ9PT0iYWN0aXZlIj8ic2l6ZS0xLjUgcm91bmRlZC1mdWxsIGJnLXN1Y2Nlc3MtZW1lcmFsZCBbYm94LXNoYWRvdzowXzBfNnB4X3JnYmEoNzQsMjIyLDEyOCwwLjcpXSI6JD09PSJkaXNjb25uZWN0ZWQiPyJzaXplLTEuNSByb3VuZGVkLWZ1bGwgYmctZGFuZ2VyLXNvZnQgW2JveC1zaGFkb3c6MF8wXzZweF9yZ2JhKDI0OCwxMTMsMTEzLDAuNTUpXSI6bnVsbDtyZXR1cm4gWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS81NSBmb250LW1vbm8gaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUganVzdGlmeS1zZWxmLWVuZCBsZWFkaW5nLW5vbmUiLCJkYXRhLWNhbWVyYS1waWxsLXN0YXRlIjokLGNoaWxkcmVuOltKJiZaKCJzcGFuIix7Y2xhc3NOYW1lOkp9KSxRXX0pfWZ1bmN0aW9uIFlaKCl7cmV0dXJuIFooInAiLHtjbGFzc05hbWU6Im0tMCB0ZXh0LWNlbnRlciB0ZXh0LVsxMHB4XSBsZWFkaW5nLVsxLjVdIHRleHQtd2hpdGUvNDUiLCJkYXRhLWNhbWVyYS10ZXN0LXBhdHRlcm4taGludCI6ITAsY2hpbGRyZW46IlRlc3QtcGF0dGVybiBmZWVkIn0pfWZ1bmN0aW9uIHFaKHttb2RlOiQsZmlsZU5hbWU6USx3ZWJjYW1OYW1lOkosc291cmNlS2luZDpYfSl7aWYoJD09PSJ1cGxvYWRpbmciKXJldHVybiBaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzU1IixjaGlsZHJlbjoiVXBsb2FkaW5n4oCmIn0pO2lmKCQ9PT0iZmlsZSIpcmV0dXJuIFooUTEse2NoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InNocmluay0wIHRleHQtWzlweF0gdHJhY2tpbmctWzAuMWVtXSB1cHBlcmNhc2UgdGV4dC13aGl0ZS81NSBiZy13aGl0ZS9bMC4wNl0gYm9yZGVyIGJvcmRlci13aGl0ZS84IHB4LVs3cHhdIHB5LVsycHhdIHJvdW5kZWQtZnVsbCIsY2hpbGRyZW46WD09PSJ2aWRlbyI/IlZpZGVvIjoiSW1hZ2UifSksWigic3BhbiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi13LTAgdHJ1bmNhdGUgdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCBmb250LW1vbm8iLGNoaWxkcmVuOlE/PyIifSldfSk7aWYoJD09PSJ3ZWJjYW0iKXJldHVybiBaKFExLHtjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJzaHJpbmstMCB0ZXh0LVs5cHhdIHRyYWNraW5nLVswLjFlbV0gdXBwZXJjYXNlIHRleHQtd2hpdGUvNTUgYmctd2hpdGUvWzAuMDZdIGJvcmRlciBib3JkZXItd2hpdGUvOCBweC1bN3B4XSBweS1bMnB4XSByb3VuZGVkLWZ1bGwiLGNoaWxkcmVuOiJXZWJjYW0ifSksWigic3BhbiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi13LTAgdHJ1bmNhdGUgdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCBmb250LW1vbm8iLGNoaWxkcmVuOko/PyIifSldfSk7cmV0dXJuIFooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEycHhdIHRleHQtd2hpdGUvODUgZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJTZWxlY3Qgb3IgZHJvcCBtZWRpYSJ9KX1mdW5jdGlvbiBENCh7a2luZDokLG1lc3NhZ2U6UX0pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6JD09PSJ3YXJuaW5nIj8iYmctd2FybmluZy8xMCBib3JkZXIgYm9yZGVyLXdhcm5pbmcvMjUgdGV4dC13YXJuaW5nLXNvZnQgdGV4dC1bMTFweF0gcHgtMiBweS0xLjUgcm91bmRlZC1tZCBicmVhay13b3JkcyI6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQgYnJlYWstd29yZHMiLCJkYXRhLWNhbWVyYS1iYW5uZXIta2luZCI6JCxyb2xlOiQ9PT0iZXJyb3IiPyJhbGVydCI6InN0YXR1cyIsY2hpbGRyZW46UX0pfWZ1bmN0aW9uIEU0KHt1ZGlkOiQsYnVuZGxlSWQ6UX0pe2xldFtKLFhdPWsoITEpLFtLLFldPWsoInBsYWNlaG9sZGVyIiksW3EsR109aygiIiksW0IsTl09ayhudWxsKSxbeixWXT1rKCExKSxVPXcoMCksW0MsTV09ayghMSksW0wsSF09ayghMSksTz13KG51bGwpLFtXLFRdPWsoW10pLFtQLHhdPWsoITEpLFtELGVdPWsoIiIpLFtSLGRdPWsoIm9mZiIpLFtuLG9dPWsobnVsbCksW2EsaV09ayhudWxsKSxMMT1uIT09bnVsbHx8YSE9PW51bGwsW2wsZl09ayhudWxsKSxbWDEsWjFdPWsobnVsbCksWyxVMV09ayhudWxsKSxbcyxKMV09ayghMSksW3ExLGpdPWsoInJlYWR5IiksW3AsX109aygoKT0+bmV3IFNldCksW2gsbV09ayhudWxsKSxbdixZMV09ayhudWxsKSxWMT13KCExKSx3MT13KCExKSxGMT13KCJvZmYiKSxJMT13KCExKSxXMT1EMSgoKT0+e2xldCBFPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18/LnNlcnZlU2ltQmluO2lmKCFFKXJldHVybiJzZXJ2ZS1zaW0iO2lmKC9cLnRzJC8udGVzdChFKSlyZXR1cm5gYnVuICR7TzEoRSl9YDtpZigvXC5qcyQvLnRlc3QoRSkpcmV0dXJuYG5vZGUgJHtPMShFKX1gO3JldHVybiBPMShFKX0sW10pLFIxPUkoYXN5bmMoKT0+e2xldCBFPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18/LmNhbWVyYVN0YXR1c0VuZHBvaW50O3JldHVybiBFP3JKKEUpOm51bGx9LFtdKSxrMT13KGFzeW5jKCk9Pnt9KSxyMT13KFEpO3koKCk9PntyMS5jdXJyZW50PVF9LFtRXSkseSgoKT0+e2xldCBFPSExO3JldHVybihhc3luYygpPT57bGV0IHU9YXdhaXQgUjEoKTtpZihFfHwhdXx8IXUuYWxpdmUpcmV0dXJuO3cxLmN1cnJlbnQ9ITA7bGV0IHI9dS5zb3VyY2U7aWYocj09PSJwbGFjZWhvbGRlciJ8fHI9PT0id2ViY2FtInx8cj09PSJpbWFnZSJ8fHI9PT0idmlkZW8iKVkocik7aWYoKHI9PT0iaW1hZ2UifHxyPT09InZpZGVvIikmJnUuYXJnKUcodS5hcmcpLE4odS5hcmcuc3BsaXQoIi8iKS5wb3AoKT8/bnVsbCk7aWYocj09PSJ3ZWJjYW0iJiZ1LmFyZyllKHUuYXJnKSxrMS5jdXJyZW50KCk7bGV0IEMxPXUubWlycm9yPT09Im9uIj8ib24iOiJvZmYiO2QoQzEpLEYxLmN1cnJlbnQ9QzEsbSh1LmhlbHBlclBpZD8/bnVsbCksSjEoITApO2xldCBHMT1BcnJheS5pc0FycmF5KHUuYnVuZGxlSWRzKT91LmJ1bmRsZUlkczpbXTtpZihHMS5sZW5ndGg+MClfKG5ldyBTZXQoRzEpKTtsZXQgQjE9cjEuY3VycmVudCxoMT1yJiZyIT09InBsYWNlaG9sZGVyIjtqKEIxJiZHMS5pbmNsdWRlcyhCMSkmJmgxPyJhY3RpdmUiOiJyZWFkeSIpLFUxKGBSZWF0dGFjaGVkIOKGkiAke3I/PyJydW5uaW5nIGhlbHBlciJ9JHt1LmFyZz9gICgke3UuYXJnfSlgOiIifWApfSkoKSwoKT0+e0U9ITB9fSxbJCxSMV0pLHkoKCk9PntsZXQgRT0hMSx1PSExLHI9bnVsbCxDMT1hc3luYygpPT57aWYoRXx8dSlyZXR1cm47aWYodHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09ImhpZGRlbiIpcmV0dXJuO3U9ITA7dHJ5e2xldCBCMT1hd2FpdCBSMSgpO2lmKEUpcmV0dXJuO2xldCBoMT0hIUIxPy5hbGl2ZSxsMT1BcnJheS5pc0FycmF5KEIxPy5idW5kbGVJZHMpP0IxLmJ1bmRsZUlkczpudWxsLHAxPSEhUSYmKGwxP2wxLmluY2x1ZGVzKFEpOnAuaGFzKFEpKSxDMD1CMT8uc291cmNlPz9udWxsLGswPXMmJmgxJiZwMSYmISEoQzAmJkMwIT09InBsYWNlaG9sZGVyIikmJihoPT1udWxsfHxCMT8uaGVscGVyUGlkPT09aCk7aWYoaigoejApPT50Sih6MCxrMCkpLCFoMSlKMSgoejApPT57aWYoIXowKXJldHVybiB6MDtyZXR1cm4gXyhuZXcgU2V0KSxtKG51bGwpLEYxLmN1cnJlbnQ9Im9mZiIsITF9KTtlbHNlIGlmKHMmJmghPW51bGwmJkIxPy5oZWxwZXJQaWQhPT1oKUoxKCExKSxfKG5ldyBTZXQpLG0obnVsbCksRjEuY3VycmVudD0ib2ZmIjtlbHNlIGlmKGgxJiZBcnJheS5pc0FycmF5KEIxPy5idW5kbGVJZHMpKXtsZXQgejA9QjEuYnVuZGxlSWRzO18oKFAxKT0+e2lmKFAxLnNpemU9PT16MC5sZW5ndGgmJnowLmV2ZXJ5KChTMCk9PlAxLmhhcyhTMCkpKXJldHVybiBQMTtyZXR1cm4gbmV3IFNldCh6MCl9KX19ZmluYWxseXt1PSExfX07cj1zZXRJbnRlcnZhbCgoKT0+e0MxKCl9LG5KKTtsZXQgRzE9KCk9PntpZihkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSIpQzEoKX07aWYodHlwZW9mIGRvY3VtZW50PCJ1Iilkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixHMSk7cmV0dXJuKCk9PntpZihFPSEwLHIpY2xlYXJJbnRlcnZhbChyKTtpZih0eXBlb2YgZG9jdW1lbnQ8InUiKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLEcxKX19LFtSMSxzLGgsUSxwXSk7bGV0IHgxPUkoYXN5bmMoKT0+e3goITApLGYobnVsbCk7dHJ5e2xldCBFPWF3YWl0IFQxKGAke1cxfSBjYW1lcmEgLS1saXN0LXdlYmNhbXNgKTtpZihFLmV4aXRDb2RlIT09MCl7ZihFLnN0ZGVyci50cmltKCl8fGAtLWxpc3Qtd2ViY2FtcyBmYWlsZWQgKCR7RS5leGl0Q29kZX0pYCk7cmV0dXJufWxldCB1PSRaKEUuc3Rkb3V0KTtpZihUKHUpLHUubGVuZ3RoPjAmJiFEKWUodVswXS5pZCl9ZmluYWxseXt4KCExKX19LFtELFcxXSk7eSgoKT0+e2sxLmN1cnJlbnQ9eDF9LFt4MV0pLHkoKCk9PntpZihMJiZXLmxlbmd0aD09PTAmJiFQKXgxKCl9LFtMLFcubGVuZ3RoLFAseDFdKTtsZXQgTTE9SSgoRSk9PntmKFhaKHtyYXdNZXNzYWdlOkUsbGFzdEZpbGVJc0hlaWM6VjEuY3VycmVudCxzb3VyY2U6S30pKX0sW0tdKSxOMT1JKGFzeW5jKEUsdSxyKT0+e2xldCBDMT1FPT09ImltYWdlInx8RT09PSJ2aWRlbyIsRzE9WyJjYW1lcmEiLCJzd2l0Y2giLEMxPyJmaWxlIjpFXTtpZihFPT09IndlYmNhbSImJnUpRzEucHVzaChPMSh1KSk7aWYoQzEpe2lmKCFyLnRyaW0oKSlyZXR1cm4gZigiRHJvcCBhIGZpbGUgaW50byB0aGUgcGFuZWwgb3IgcGljayBhbm90aGVyIHNvdXJjZS4iKSwhMTtHMS5wdXNoKE8xKHIudHJpbSgpKSl9RzEucHVzaCgiLWQiLCQsIi0tcXVpZXQiKTtsZXQgQjE9YXdhaXQgVDEoYCR7VzF9ICR7RzEuam9pbigiICIpfWApO2lmKEIxLmV4aXRDb2RlIT09MClyZXR1cm4gTTEoQjEuc3RkZXJyLnRyaW0oKXx8QjEuc3Rkb3V0LnRyaW0oKXx8YHN3aXRjaCBmYWlsZWQgKCR7QjEuZXhpdENvZGV9KWApLCExO1YxLmN1cnJlbnQ9ITE7dHJ5e2xldCBoMT1KU09OLnBhcnNlKEIxLnN0ZG91dC50cmltKCkpO1UxKGBTd2l0Y2hlZCDihpIgJHtoMS5zb3VyY2U/P0V9JHtoMS5hcmc/YCAoJHtoMS5hcmd9KWA6IiJ9YCl9Y2F0Y2h7VTEoYFN3aXRjaGVkIOKGkiAke0V9YCl9cmV0dXJuITB9LFskLFcxLE0xXSksYTE9SShhc3luYygpPT57aWYoIVEpcmV0dXJuO28oImluamVjdCIpLGYobnVsbCksVTEobnVsbCk7dHJ5e2xldCBFPVsiY2FtZXJhIixPMShRKSwiLWQiLCQsIi0tcXVpZXQiXTtpZihLPT09ImltYWdlInx8Sz09PSJ2aWRlbyIpe2lmKCFxLnRyaW0oKSl7ZigiRHJvcCBhIGZpbGUgaW50byB0aGUgcGFuZWwgb3IgcGljayBhbm90aGVyIHNvdXJjZS4iKTtyZXR1cm59RS5wdXNoKCItLWZpbGUiLE8xKHEudHJpbSgpKSl9ZWxzZSBpZihLPT09IndlYmNhbSIpaWYoRClFLnB1c2goIi0td2ViY2FtIixPMShEKSk7ZWxzZSBFLnB1c2goIi0td2ViY2FtIik7RS5wdXNoKCItLW1pcnJvciIsUik7bGV0IHU9YXdhaXQgVDEoYCR7VzF9ICR7RS5qb2luKCIgIil9YCk7aWYodS5leGl0Q29kZSE9PTApe00xKHUuc3RkZXJyLnRyaW0oKXx8dS5zdGRvdXQudHJpbSgpfHxgaW5qZWN0IGZhaWxlZCAoJHt1LmV4aXRDb2RlfSlgKTtyZXR1cm59VjEuY3VycmVudD0hMTtsZXQgcj1udWxsO3RyeXtsZXQgQzE9SlNPTi5wYXJzZSh1LnN0ZG91dC50cmltKCkpO3I9QzEuaGVscGVyUGlkPz9udWxsO2xldCBHMT1DMS5oZWxwZXJSZWxhdW5jaGVkPT09ITE/IkF0dGFjaGVkIjoiSW5qZWN0ZWQiLEIxPUMxLnBpZD9gIHBpZCAke0MxLnBpZH1gOiIiLGgxPUMxLmhlbHBlclBpZD9gLCBoZWxwZXIgcGlkICR7QzEuaGVscGVyUGlkfWA6IiI7VTEoYCR7RzF9ICR7QzEuc291cmNlPz9LfSBpbnRvICR7UX0ke0IxfSR7aDF9YCl9Y2F0Y2h7VTEodS5zdGRvdXQudHJpbSgpfHwiSW5qZWN0ZWQuIil9SjEoITApLGooSz09PSJwbGFjZWhvbGRlciI/InJlYWR5IjoiYWN0aXZlIiksbShyKSxfKChDMSk9PkMxLmhhcyhRKT9DMTpuZXcgU2V0KEMxKS5hZGQoUSkpLEYxLmN1cnJlbnQ9Un1maW5hbGx5e28obnVsbCl9fSxbUSwkLEsscSxELFIsVzEsTTFdKSxmMT1zP2Ake0t9Ojoke0s9PT0id2ViY2FtIj9EOiIifTo6JHtLPT09ImltYWdlInx8Sz09PSJ2aWRlbyI/cToiIn1gOm51bGwsaTE9ISFRJiZwLmhhcyhRKSx0MT1pMSYmSyE9PSJwbGFjZWhvbGRlciI7eSgoKT0+e2lmKCF0MSl7STEuY3VycmVudD0hMTtyZXR1cm59aWYoSTEuY3VycmVudClyZXR1cm47STEuY3VycmVudD0hMCxYKCEwKX0sW3QxXSkseSgoKT0+e2lmKCF2KXJldHVybjtpZighUXx8TDF8fEMpcmV0dXJuO2lmKEshPT0id2ViY2FtInx8RCE9PXYpcmV0dXJuO2lmKFkxKG51bGwpLHMpcmV0dXJuO2ExKCl9LFt2LFEsTDEsQyxLLEQscyxhMV0pLHkoKCk9PntpZighcylyZXR1cm47aWYoKEs9PT0iaW1hZ2UifHxLPT09InZpZGVvIikmJiFxLnRyaW0oKSlyZXR1cm47aWYoSz09PSJ3ZWJjYW0iJiYhRClyZXR1cm47aWYodzEuY3VycmVudCl7dzEuY3VycmVudD0hMTtyZXR1cm59bGV0IEU9ITE7cmV0dXJuKGFzeW5jKCk9PntpKCJzd2l0Y2giKSxmKG51bGwpO3RyeXtpZihFKXJldHVybjthd2FpdCBOMShLLEQscSl9ZmluYWxseXtpZighRSlpKG51bGwpfX0pKCksKCk9PntFPSEwfX0sW2YxXSkseSgoKT0+e2lmKCFzKXJldHVybjtpZihGMS5jdXJyZW50PT09UilyZXR1cm47bGV0IEU9Uix1PSExO3JldHVybihhc3luYygpPT57aSgibWlycm9yIiksZihudWxsKTt0cnl7bGV0IHI9YXdhaXQgVDEoYCR7VzF9IGNhbWVyYSBtaXJyb3IgJHtFfSAtZCAkeyR9IC0tcXVpZXRgKTtpZih1KXJldHVybjtpZihyLmV4aXRDb2RlIT09MCl7ZihyLnN0ZGVyci50cmltKCl8fHIuc3Rkb3V0LnRyaW0oKXx8YG1pcnJvciBmYWlsZWQgKCR7ci5leGl0Q29kZX0pYCk7cmV0dXJufUYxLmN1cnJlbnQ9RSxVMShgTWlycm9yIOKGkiAke0V9YCl9ZmluYWxseXtpZighdSlpKG51bGwpfX0pKCksKCk9Pnt1PSEwfX0sW1Isc10pO2xldCBxMD1JKGFzeW5jKCk9PntvKCJzdG9wIiksZihudWxsKTt0cnl7bGV0IEU9YXdhaXQgVDEoYCR7VzF9IGNhbWVyYSAtLXN0b3Atd2ViY2FtIC1kICR7JH1gKTtpZihFLmV4aXRDb2RlIT09MCl7ZihFLnN0ZGVyci50cmltKCl8fGBzdG9wLXdlYmNhbSBmYWlsZWQgKCR7RS5leGl0Q29kZX0pYCk7cmV0dXJufVUxKCJDYW1lcmEgaGVscGVyIHN0b3BwZWQuIiksSjEoITEpLGooInJlYWR5IiksXyhuZXcgU2V0KSxGMS5jdXJyZW50PSJvZmYifWZpbmFsbHl7byhudWxsKX19LFskLFcxXSksRzA9SShhc3luYyhFKT0+e2xldCB1PVpaKHt0eXBlOkUudHlwZSxuYW1lOkUubmFtZX0pLHI9RS50eXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpfHx1LEMxPUUudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKXx8VDQoe3R5cGU6RS50eXBlLG5hbWU6RS5uYW1lfSk7aWYoIXImJiFDMSl7VjEuY3VycmVudD0hMSxmKGBVbnN1cHBvcnRlZCBmaWxlIHR5cGU6ICR7RS50eXBlfHxFLm5hbWV9YCk7cmV0dXJufWlmKE0oITApLGYobnVsbCksWjEobnVsbCksSlooe3R5cGU6RS50eXBlLG5hbWU6RS5uYW1lLHNpemU6RS5zaXplfSkpWjEoc0opO1YxLmN1cnJlbnQ9dTt0cnl7bGV0IEcxPWsyKEUpLEIxPWF3YWl0IFc0KEUsInNlcnZlLXNpbS1jYW1zcmMiLEcxLFQxKTtOKEUubmFtZSksWShDMT8idmlkZW8iOiJpbWFnZSIpLEcoQjEpLFUxKGBMb2FkZWQgJHtFLm5hbWV9YCl9Y2F0Y2goRzEpe2lmKFYxLmN1cnJlbnQpZihQNCk7ZWxzZSBmKEcxPy5tZXNzYWdlPz8iVXBsb2FkIGZhaWxlZCIpfWZpbmFsbHl7TSghMSl9fSxbXSksbDA9SShhc3luYyhFKT0+e0UucHJldmVudERlZmF1bHQoKSxFLnN0b3BQcm9wYWdhdGlvbigpLFUuY3VycmVudD0wLFYoITEpO2xldCB1PUUuZGF0YVRyYW5zZmVyPy5maWxlcz8uWzBdO2lmKHUpYXdhaXQgRzAodSl9LFtHMF0pLGoxPUkoKCk9PntZKCJwbGFjZWhvbGRlciIpLEcoIiIpLE4obnVsbCksZihudWxsKSxaMShudWxsKSxWMS5jdXJyZW50PSExfSxbXSksVjA9SSgoKT0+e08uY3VycmVudD8uY2xpY2soKX0sW10pLFEwPUkoYXN5bmMoRSk9PntsZXQgdT1FLnRhcmdldCxyPXUuZmlsZXM/LlswXTtpZih1LnZhbHVlPSIiLHIpYXdhaXQgRzAocil9LFtHMF0pO3koKCk9PntpZighTClyZXR1cm47bGV0IEU9KHUpPT57bGV0IHI9dS50YXJnZXQ7aWYociBpbnN0YW5jZW9mIEVsZW1lbnQmJnIuY2xvc2VzdCgiW2RhdGEtY2FtZXJhLXNvdXJjZS1tZW51XSIpKXJldHVybjtIKCExKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLEUpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixFKX0sW0xdKTtsZXQgRDA9SSgoRSk9PntpZihlKEUuaWQpLFkoIndlYmNhbSIpLE4obnVsbCksZihudWxsKSxWMS5jdXJyZW50PSExLEgoITEpLFEpWTEoRS5pZCl9LFtRXSksbTE9SSgoKT0+e2QoKEUpPT5FPT09Im9uIj8ib2ZmIjoib24iKX0sW10pLGUxPSFzfHxLPT09InBsYWNlaG9sZGVyIixSMD1JKChFKT0+e2lmKEUucHJldmVudERlZmF1bHQoKSxVLmN1cnJlbnQrKyxVLmN1cnJlbnQ9PT0xKVYoITApfSxbXSksYjE9SSgoRSk9PntpZihFLnByZXZlbnREZWZhdWx0KCksRS5kYXRhVHJhbnNmZXIpRS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0iY29weSJ9LFtdKSxCMD1JKChFKT0+e2lmKEUucHJldmVudERlZmF1bHQoKSxVLmN1cnJlbnQtLSxVLmN1cnJlbnQ8PTApVS5jdXJyZW50PTAsVighMSl9LFtdKSxVMD1lSih7YnVuZGxlSWQ6USxpbmplY3RlZDpzLHNvdXJjZTpLLGZvcmVncm91bmRJc0luamVjdGVkOmkxfSksXzE9VTA9PT0ic3RvcCI/e2xhYmVsOm49PT0ic3RvcCI/IlN0b3BwaW5n4oCmIjoiU3RvcCIsb25DbGljazpxMCxraW5kOiJzdG9wIn06VTA9PT0iYXR0YWNoIj97bGFiZWw6bj09PSJpbmplY3QiPyJJbmplY3RpbmfigKYiOmBJbmplY3QgJHtRfWAsb25DbGljazphMSxraW5kOiJhdHRhY2gifTp7bGFiZWw6bj09PSJpbmplY3QiPyJTdGFydGluZ+KApiI6IlBsYXkiLG9uQ2xpY2s6YTEsa2luZDoicGxheSJ9LEUxPVUwPT09InN0b3AiP0N8fG4hPT1udWxsOiFRfHxDfHxuIT09bnVsbCxKMD1LPT09InBsYWNlaG9sZGVyIixOMD1LPT09IndlYmNhbSIsSDA9KEs9PT0iaW1hZ2UifHxLPT09InZpZGVvIikmJiEhQixBMD1OMD9XLmZpbmQoKEUpPT5FLmlkPT09RCk/Lm5hbWU/P0Q/PyJXZWJjYW0iOm51bGwsSzE9Qz8idXBsb2FkaW5nIjpIMD8iZmlsZSI6TjA/IndlYmNhbSI6InBsYWNlaG9sZGVyIjtyZXR1cm4gWihzMSx7b3BlbjpKLG9uT3BlbkNoYW5nZTpYLGJvZHlDbGFzc05hbWU6InB0LTIuNSIsc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WihRMSx7Y2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IkNhbWVyYSJ9KSxaKEtaLHtzdGF0ZTpxMX0pXX0pLGNoaWxkcmVuOlooImRpdiIse29uRHJhZ0VudGVyOlIwLG9uRHJhZ092ZXI6YjEsb25EcmFnTGVhdmU6QjAsb25Ecm9wOmwwLGNsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMi41IixjaGlsZHJlbjpbWigicCIse2NsYXNzTmFtZToibS0wIHRleHQtWzEwcHhdIGxlYWRpbmctWzEuNV0gdGV4dC13aGl0ZS80NSIsY2hpbGRyZW46IlJlcGxhY2VzIHRoZSBzaW11bGF0b3IncyBjYW1lcmEgZmVlZCBieSBpbmplY3RpbmcgYSBkeWxpYiBhdCBhcHAgbGF1bmNoIGFuZCBzdHJlYW1pbmcgZnJhbWVzIGludG8gc2hhcmVkIG1lbW9yeS4gUGljayBtZWRpYSBvciBhIHdlYmNhbSwgdGhlbiBQbGF5IHRvIGluamVjdCBpbnRvIHRoZSBmb3JlZ3JvdW5kIGFwcC4ifSksWigiaW5wdXQiLHtyZWY6Tyx0eXBlOiJmaWxlIixhY2NlcHQ6ImltYWdlLyosdmlkZW8vKiIsY2xhc3NOYW1lOiJoaWRkZW4iLG9uQ2hhbmdlOlEwfSksWigiZGl2Iix7b25DbGljazooRSk9PntpZighSjApcmV0dXJuO2lmKEUudGFyZ2V0LmNsb3Nlc3QoIltkYXRhLWNsZWFyLW1lZGlhXSIpKXJldHVybjtWMCgpfSx0aXRsZTpKMD8iTm8gc291cmNlIHNlbGVjdGVkIOKAlCBQbGF5IHVzZXMgYSB0ZXN0LXBhdHRlcm4gZmVlZC4gQ2xpY2sgdG8gcGljayBhbiBpbWFnZS92aWRlbywgb3IgZHJvcCBvbmUgaGVyZS4iOk4wP2BTb3VyY2U6ICR7QTB9YDpgU291cmNlOiAke0I/P0t9YCxjbGFzc05hbWU6WyJyZWxhdGl2ZSBtaW4taC1bNDRweF0gZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIuNSBweC0zLjUgcHktMi41IHJvdW5kZWQtWzdweF0gdGV4dC1jZW50ZXIgdHJhbnNpdGlvbi1bYm9yZGVyLWNvbG9yLGJhY2tncm91bmRdIGR1cmF0aW9uLTE1MCIsSjA/ImJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLWRhc2hlZCBib3JkZXItd2hpdGUvMTIiOiJiZy13aGl0ZS9bMC4wNF0gYm9yZGVyIGJvcmRlci13aGl0ZS84Iix6PyIhYmctW3JnYmEoMTAsMTMyLDI1NSwwLjA4KV0gIWJvcmRlci1bcmdiYSgxMCwxMzIsMjU1LDAuNildIjoiIixDPyJjdXJzb3ItcHJvZ3Jlc3MiOkowPyJjdXJzb3ItcG9pbnRlciI6ImN1cnNvci1kZWZhdWx0Il0uam9pbigiICIpLGNoaWxkcmVuOltaKHFaLHttb2RlOksxLGZpbGVOYW1lOkIsd2ViY2FtTmFtZTpBMCxzb3VyY2VLaW5kOkt9KSwhSjAmJiFDJiZaKCJidXR0b24iLHsiZGF0YS1jbGVhci1tZWRpYSI6ITAsb25DbGljazooRSk9PntFLnN0b3BQcm9wYWdhdGlvbigpLGoxKCl9LGNsYXNzTmFtZToic2hyaW5rLTAgdy01IGgtNSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LXdoaXRlLzU1IGhvdmVyOnRleHQtd2hpdGUvOTAgY3Vyc29yLXBvaW50ZXIgcC0wIiwiYXJpYS1sYWJlbCI6IkNsZWFyIHNvdXJjZSIsdGl0bGU6IkNsZWFyIOKGkiBwbGFjZWhvbGRlciIsY2hpbGRyZW46WihMMCx7c2l6ZToxNCxzdHJva2VXaWR0aDoyfSl9KV19KSxKMCYmIUMmJlooWVose30pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1zdHJldGNoIGdhcC0xLjUiLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIiwiZGF0YS1jYW1lcmEtc291cmNlLW1lbnUiOiEwLGNoaWxkcmVuOltaKCJidXR0b24iLHtvbkNsaWNrOigpPT5IKChFKT0+IUUpLGNsYXNzTmFtZToiaC1mdWxsIG1pbi1oLVszNnB4XSB3LTEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlciBib3JkZXItd2hpdGUvMTIgdGV4dC13aGl0ZS84NSByb3VuZGVkLVs3cHhdIGN1cnNvci1wb2ludGVyIHAtMCBob3ZlcjpiZy13aGl0ZS9bMC4wNl0gaG92ZXI6Ym9yZGVyLXdoaXRlLzIwIGhvdmVyOnRleHQtd2hpdGUiLCJhcmlhLWhhc3BvcHVwIjoibWVudSIsImFyaWEtZXhwYW5kZWQiOkwsdGl0bGU6Sz09PSJ3ZWJjYW0iP2BTb3VyY2U6IHdlYmNhbSR7RD9gICgke1cuZmluZCgoRSk9PkUuaWQ9PT1EKT8ubmFtZT8/RH0pYDoiIn0g4oCUIGNsaWNrIHRvIGNoYW5nZWA6YFNvdXJjZTogJHtLfSDigJQgY2xpY2sgdG8gcGljayBtZWRpYSBvciB3ZWJjYW1gLCJhcmlhLWxhYmVsIjoiQ2hvb3NlIGNhbWVyYSBzb3VyY2UiLGNoaWxkcmVuOloodTIse3NpemU6MjAsc3Ryb2tlV2lkdGg6Mn0pfSksTCYmWigiZGl2Iix7cm9sZToibWVudSIsY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtW2NhbGMoMTAwJSs2cHgpXSBsZWZ0LTAgei0xMCBtaW4tdy1bMjAwcHhdIGZsZXggZmxleC1jb2wgZ2FwLXB4IHAtMSBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1bN3B4XSBzaGFkb3ctWzBfOHB4XzI0cHhfcmdiYSgwLDAsMCwwLjQpXSIsY2hpbGRyZW46W1ooImJ1dHRvbiIse3JvbGU6Im1lbnVpdGVtIixjbGFzc05hbWU6InRleHQtbGVmdCBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LXdoaXRlLzg1IHRleHQtWzEycHhdIHB4LTIuNSBweS1bN3B4XSByb3VuZGVkLW1kIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLXdoaXRlL1swLjA2XSIsb25DbGljazooKT0+e0goITEpLFYwKCl9LHRpdGxlOiJQaWNrIGFuIGltYWdlIG9yIHZpZGVvIGZyb20gZGlzayIsY2hpbGRyZW46IkJyb3dzZSBtZWRpYeKApiJ9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImgtcHggYmctd2hpdGUvOCBteS0xIn0pLFooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHBsLTIuNSBwci0yIHB0LTEgcGItWzJweF0iLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlLzQ1IHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSIsY2hpbGRyZW46UD8iQ2FtZXJhcyAobG9hZGluZ+KApikiOlcubGVuZ3RoPT09MD8iTm8gY2FtZXJhcyI6IkNhbWVyYXMifSksWigiYnV0dG9uIix7b25DbGljazooRSk9PntFLnN0b3BQcm9wYWdhdGlvbigpLHgxKCl9LGRpc2FibGVkOlAsY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LVsyMnB4XSBoLVsyMnB4XSBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSByb3VuZGVkLVs1cHhdIHRleHQtd2hpdGUvNTUgaG92ZXI6dGV4dC13aGl0ZS85MCBjdXJzb3ItcG9pbnRlciBwLTAgZGlzYWJsZWQ6b3BhY2l0eS01MCIsImFyaWEtbGFiZWwiOiJSZWZyZXNoIGNhbWVyYXMiLHRpdGxlOiJSZWZyZXNoIGNhbWVyYXMiLGNoaWxkcmVuOlooYTAse3NpemU6MTMsc3Ryb2tlV2lkdGg6Mn0pfSldfSksVy5tYXAoKEUpPT57bGV0IHU9Sz09PSJ3ZWJjYW0iJiZEPT09RS5pZDtyZXR1cm4gWigiYnV0dG9uIix7cm9sZToibWVudWl0ZW0iLGNsYXNzTmFtZTpbInRleHQtbGVmdCBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LVsxMnB4XSBweC0yLjUgcHktWzdweF0gcm91bmRlZC1tZCBjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy13aGl0ZS9bMC4wNl0iLHU/IiFiZy13aGl0ZS9bMC4xMl0gIXRleHQtd2hpdGUiOiJ0ZXh0LXdoaXRlLzg1Il0uam9pbigiICIpLG9uQ2xpY2s6KCk9PkQwKEUpLHRpdGxlOkUubmFtZSxjaGlsZHJlbjpFLm5hbWV9LEUuaWQpfSldfSldfSksWigiYnV0dG9uIix7b25DbGljazpfMS5vbkNsaWNrLGRpc2FibGVkOkUxLGNsYXNzTmFtZTpbImZsZXgtMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMS41IHB5LTIgcHgtMi41IGJvcmRlci1ub25lIHJvdW5kZWQtWzdweF0gdGV4dC1bMTJweF0gZm9udC1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBkaXNhYmxlZDpvcGFjaXR5LTUwIG1pbi1oLVszNnB4XSIsXzEua2luZD09PSJzdG9wIj8iYmctd2hpdGUvWzAuMTZdIHRleHQtd2hpdGUgZW5hYmxlZDpob3ZlcjpiZy13aGl0ZS9bMC4yMl0iOiJiZy1zdWNjZXNzLWVtZXJhbGQgdGV4dC1bIzA2MjAxOF0gZW5hYmxlZDpob3ZlcjpicmlnaHRuZXNzLVsxLjA4XSJdLmpvaW4oIiAiKSx0aXRsZTpfMS5raW5kPT09InN0b3AiPyJTdG9wIHRoZSBjYW1lcmEgaGVscGVyIGFuZCB0ZXJtaW5hdGUgaW5qZWN0ZWQgYXBwcyI6XzEua2luZD09PSJhdHRhY2giP2BJbmplY3QgJHtRfSBzbyBpdCBqb2lucyB0aGUgY2FtZXJhIGZlZWRgOiFRPyJCcmluZyBhbiBhcHAgdG8gdGhlIGZvcmVncm91bmQgZmlyc3QiOiJTdGFydDogaW5qZWN0IHRoZSBkeWxpYiBhbmQgbGF1bmNoIHRoZSBmb3JlZ3JvdW5kIGFwcCB3aXRoIHRoZSBjaG9zZW4gc291cmNlIiwiYXJpYS1wcmVzc2VkIjpfMS5raW5kPT09InN0b3AiLCJhcmlhLWxhYmVsIjpfMS5raW5kPT09InN0b3AiPyJTdG9wIjoiUGxheSIsY2hpbGRyZW46W18xLmtpbmQ9PT0ic3RvcCI/WihyMix7fSk6WihuMix7fSksWigic3BhbiIse2NoaWxkcmVuOl8xLmtpbmQ9PT0ic3RvcCI/IlN0b3AiOl8xLmtpbmQ9PT0iYXR0YWNoIj8iSW5qZWN0IjoiUGxheSJ9KV19KSxaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6bTEsZGlzYWJsZWQ6ZTEsY2xhc3NOYW1lOmBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTEwIG1pbi1oLVszNnB4XSBib3JkZXIgcm91bmRlZC1bN3B4XSBmb250LVtpbmhlcml0XSBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBhY3RpdmU6c2NhbGUtWzAuOTddICR7Uj09PSJvbiI/ImJnLXdoaXRlIGJvcmRlci13aGl0ZSB0ZXh0LVsjMGEwYTBjXSBjdXJzb3ItcG9pbnRlciBlbmFibGVkOmhvdmVyOmJnLXdoaXRlL1swLjg4XSBlbmFibGVkOmhvdmVyOmJvcmRlci13aGl0ZS9bMC44OF0gZW5hYmxlZDpob3Zlcjp0ZXh0LVsjMGEwYTBjXSI6ImJnLXdoaXRlL1swLjA0XSBib3JkZXItd2hpdGUvOCB0ZXh0LXdoaXRlLzg1IGN1cnNvci1wb2ludGVyIGVuYWJsZWQ6aG92ZXI6Ymctd2hpdGUvWzAuMDldIGVuYWJsZWQ6aG92ZXI6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMTgpXSBlbmFibGVkOmhvdmVyOnRleHQtd2hpdGUifWAsImFyaWEtbGFiZWwiOmBNaXJyb3I6ICR7Un0g4oCUIHRhcCB0byB0b2dnbGVgLHRpdGxlOmUxPyJNaXJyb3IgdG9nZ2xlIGF2YWlsYWJsZSBvbmNlIGEgc291cmNlIGlzIHN0cmVhbWluZyI6YE1pcnJvcjogJHtSfSDigJQgY2xpY2sgdG8gdG9nZ2xlYCwiYXJpYS1wcmVzc2VkIjpSPT09Im9uIixjaGlsZHJlbjpaKG0yLHtzaXplOjIwLHN0cm9rZVdpZHRoOjIsZmlsbDpSPT09Im9uIj8iY3VycmVudENvbG9yIjoibm9uZSJ9KX0pXX0pLFgxJiZaKEQ0LHtraW5kOiJ3YXJuaW5nIixtZXNzYWdlOlgxfSksbCYmWihENCx7a2luZDoiZXJyb3IiLG1lc3NhZ2U6bH0pXX0pfSl9dmFyIHc0PTUwMDtmdW5jdGlvbiBJNCh7dWRpZDokLGV2ZW50c0VuZHBvaW50OlF9KXtsZXRbSixYXT1rKCExKSxbSyxZXT1rKFtdKSxbcSxHXT1rKCExKSxCPUQxKCgpPT5RPz9gJHt2MSgiYXBpL2V2ZW50LWxvZy9ldmVudHMiKX0/ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQpfWAsW1EsJF0pO3koKCk9PntHKCExKSxZKFtdKTtsZXQgej1iMChCKTtyZXR1cm4gei5vbm1lc3NhZ2U9KHtkYXRhOlZ9KT0+e3RyeXtsZXQgVT1KU09OLnBhcnNlKFYpO2lmKEcoITEpLEFycmF5LmlzQXJyYXkoVS5ldmVudHMpKVkoVS5ldmVudHMuc2xpY2UoLXc0KSk7ZWxzZSBpZihVLmV2ZW50KVkoKEMpPT57cmV0dXJuWy4uLkMuZmlsdGVyKChMKT0+TC5pZCE9PVUuZXZlbnQuaWQpLFUuZXZlbnRdLnNsaWNlKC13NCl9KX1jYXRjaHt9fSx6Lm9uZXJyb3I9KCk9PkcoITApLCgpPT56LmNsb3NlKCl9LFtCXSk7bGV0IE49RDEoKCk9Pksuc2xpY2UoKS5yZXZlcnNlKCksW0tdKTtyZXR1cm4gWihzMSx7b3BlbjpKLG9uT3BlbkNoYW5nZTpYLCJkYXRhLWV2ZW50LWxvZyI6IiIsc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WihRMSx7Y2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIixjaGlsZHJlbjoiRXZlbnQgTG9nIn0pLFooInNwYW4iLHtjbGFzc05hbWU6Imp1c3RpZnktc2VsZi1lbmQgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXdoaXRlLzggYmctd2hpdGUvWzAuMDRdIHB4LTEuNSBweS1bM3B4XSB0ZXh0LVsxMHB4XSBmb250LW1vbm8gdGV4dC13aGl0ZS82MCIsY2hpbGRyZW46Sy5sZW5ndGh9KV19KSxjaGlsZHJlbjpOLmxlbmd0aD09PTA/WigiZGl2Iix7cm9sZToic3RhdHVzIiwiYXJpYS1saXZlIjoicG9saXRlIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB5LTQgdGV4dC1bMTJweF0gdGV4dC13aGl0ZS80NSIsY2hpbGRyZW46cT8iRGlzY29ubmVjdGVkIjoiTm8gZXZlbnRzIHlldCJ9KTpaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggbWF4LWgtWzMyMHB4XSBmbGV4LWNvbCBnYXAtMSBvdmVyZmxvdy15LWF1dG8gcHktMC41IFtzY3JvbGxiYXItd2lkdGg6dGhpbl0iLHJvbGU6Imxpc3QiLGNoaWxkcmVuOk4ubWFwKCh6KT0+WihHWix7ZXZlbnQ6en0sei5pZCkpfSl9KX1mdW5jdGlvbiBHWih7ZXZlbnQ6JH0pe2xldCBRPVZaKCQudGltZXN0YW1wKSxKPVskLnNvdXJjZSwkLmtpbmQsJC5hY3Rpb25dLmZpbHRlcihCb29sZWFuKS5qb2luKCIgLyAiKSxYPSQubXNnPz8kLnN1bW1hcnksSz0kLnN0YXR1cz09PSJlcnJvciI/ImJvcmRlci1bI2ZmNDUzYV0vNTAgYmctWyNmZjQ1M2FdLzEwIHRleHQtWyNmZmIzYWRdIjoiYm9yZGVyLXdoaXRlLzggYmctd2hpdGUvWzAuMDRdIHRleHQtd2hpdGUvNTAiO3JldHVybiBaKCJkaXYiLHtyb2xlOiJsaXN0aXRlbSIsdGl0bGU6SixjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLVs1NnB4XzFmcl9hdXRvXSBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZC1tZCBweC0xLjUgcHktMS41IHRleHQtWzEycHhdIGxlYWRpbmctdGlnaHQgaG92ZXI6Ymctd2hpdGUvWzAuMDVdIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToiZm9udC1tb25vIHRleHQtWzEwcHhdIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOlF9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJtaW4tdy0wIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToiYmxvY2sgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC13aGl0ZS85MCIsY2hpbGRyZW46WH0pLFooInNwYW4iLHtjbGFzc05hbWU6Im10LTAuNSBibG9jayBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCBmb250LW1vbm8gdGV4dC1bMTBweF0gdGV4dC13aGl0ZS80MCIsY2hpbGRyZW46Sn0pXX0pLCQuc3RhdHVzP1ooInNwYW4iLHtjbGFzc05hbWU6YHJvdW5kZWQtbWQgYm9yZGVyIHB4LTEuNSBweS1bM3B4XSB0ZXh0LVsxMHB4XSBmb250LW1vbm8gJHtLfWAsY2hpbGRyZW46JC5zdGF0dXN9KTpudWxsXX0pfWZ1bmN0aW9uIFZaKCQpe2xldCBRPW5ldyBEYXRlKCQpO2lmKE51bWJlci5pc05hTihRLmdldFRpbWUoKSkpcmV0dXJuIiI7cmV0dXJuIFEudG9Mb2NhbGVUaW1lU3RyaW5nKFtdLHtob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLHNlY29uZDoiMi1kaWdpdCJ9KX12YXIgQlo9NjAsTlo9ODAwMDtmdW5jdGlvbiBiNCgkKXtsZXRbUSxKXT1rKG51bGwpLFtYLEtdPWsoW10pLFtZLHFdPWsoITEpLFtHLEJdPWsoITEpLE49dygwKTtyZXR1cm4geSgoKT0+e0oobnVsbCksSyhbXSkscSghMSksQighMSksTi5jdXJyZW50PTA7bGV0IHo9YjAoJCk7ei5vbm1lc3NhZ2U9KHtkYXRhOlV9KT0+e3RyeXtsZXQgQz1KU09OLnBhcnNlKFUpO2lmKHEoITEpLCJzY2hlbWFWZXJzaW9uImluIEMpSihDKTtlbHNlIGlmKCJ0ImluIEMpe2xldCBNPUM7Ti5jdXJyZW50PURhdGUubm93KCksQighMSksSygoTCk9PntsZXQgSD1bLi4uTF0ucmV2ZXJzZSgpLmZpbmQoKFcpPT5XLmJ1bmRsZUlkIT09bnVsbCk/LmJ1bmRsZUlkPz9udWxsO3JldHVyblsuLi5IIT09bnVsbCYmTS5idW5kbGVJZCE9PW51bGwmJkghPT1NLmJ1bmRsZUlkP1tdOkwsTV0uc2xpY2UoLUJaKX0pfX1jYXRjaHt9fSx6Lm9uZXJyb3I9KCk9PnEoITApO2xldCBWPXNldEludGVydmFsKCgpPT57aWYoTi5jdXJyZW50PjAmJkRhdGUubm93KCktTi5jdXJyZW50Pk5aKUIoITApfSwxMDAwKTtyZXR1cm4oKT0+e3ouY2xvc2UoKSxjbGVhckludGVydmFsKFYpfX0sWyRdKSx7bWV0YTpRLGxhdGVzdDpYLmF0KC0xKT8/bnVsbCxoaXN0b3J5OlgsZXJyb3JlZDpZLHN0YWxlOkd9fWZ1bmN0aW9uIFU4KCQpe3JldHVybmAke01hdGgucm91bmQoJCl9JWB9ZnVuY3Rpb24gSDgoJCl7bGV0IFE9JC8xMDQ4NTc2O3JldHVybiBRPj0xMDI0P2AkeyhRLzEwMjQpLnRvRml4ZWQoMSl9IEdCYDpgJHtNYXRoLnJvdW5kKFEpfSBNQmB9ZnVuY3Rpb24gQzgoJCl7aWYoIU51bWJlci5pc0Zpbml0ZSgkKXx8JDw9MClyZXR1cm4iMCBCL3MiO2lmKCQ8MTAyNClyZXR1cm5gJHtNYXRoLnJvdW5kKCQpfSBCL3NgO2xldCBRPSQvMTAyNDtyZXR1cm4gUTwxMDI0P2Ake01hdGgucm91bmQoUSl9IEtCL3NgOmAkeyhRLzEwMjQpLnRvRml4ZWQoMSl9IE1CL3NgfWZ1bmN0aW9uIGUyKCQsUSxKLFgpe2lmKCQubGVuZ3RoPDIpcmV0dXJuIiI7bGV0IEs9WCE9PXZvaWQgMCYmWD4wP1g6TWF0aC5tYXgoLi4uJCwxKSxZPVEvKCQubGVuZ3RoLTEpLHE9JC5tYXAoKEIsTik9Pih7eDpOKlkseTpKLUIvSypKfSkpLEc9YE0ke3FbMF0ueC50b0ZpeGVkKDEpfSwke3FbMF0ueS50b0ZpeGVkKDEpfWA7Zm9yKGxldCBCPTA7QjxxLmxlbmd0aC0xO0IrKyl7bGV0IE49cVtCLTFdPz9xW0JdLHo9cVtCXSxWPXFbQisxXSxVPXFbQisyXT8/VixDPU1hdGgubWluKHoueSxWLnkpLE09TWF0aC5tYXgoei55LFYueSksTD0oUCk9Pk1hdGgubWluKE0sTWF0aC5tYXgoQyxQKSksSD16LngrKFYueC1OLngpLzYsTz1MKHoueSsoVi55LU4ueSkvNiksVz1WLngtKFUueC16LngpLzYsVD1MKFYueS0oVS55LXoueSkvNik7Rys9YCBDJHtILnRvRml4ZWQoMSl9LCR7Ty50b0ZpeGVkKDEpfSAke1cudG9GaXhlZCgxKX0sJHtULnRvRml4ZWQoMSl9ICR7Vi54LnRvRml4ZWQoMSl9LCR7Vi55LnRvRml4ZWQoMSl9YH1yZXR1cm4gR312YXIgUTI9OTYscDA9MjQ7ZnVuY3Rpb24gdDUoe3ZhbHVlczokLG1heDpRLGNsYXNzTmFtZTpKfSl7bGV0IFg9ZTIoJCxRMixwMCxRKSxLPVg/YCR7WH0gTCR7UTJ9LCR7cDB9IEwwLCR7cDB9IFpgOiIiO3JldHVybiBaKCJzdmciLHt2aWV3Qm94OmAwIDAgJHtRMn0gJHtwMH1gLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUiLGNsYXNzTmFtZTpgdy1mdWxsIGgtOCAke0p9YCxjaGlsZHJlbjpbWigicGF0aCIse2Q6SyxmaWxsOiJjdXJyZW50Q29sb3IiLG9wYWNpdHk6MC4xMixzdHJva2U6Im5vbmUifSksWihlNSx7ZDpYfSldfSl9ZnVuY3Rpb24gZTUoe2Q6JCxjbGFzc05hbWU6UX0pe3JldHVybiBaKCJwYXRoIix7ZDokLGNsYXNzTmFtZTpRLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoxLjUsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UifSl9ZnVuY3Rpb24gUzQoe3VkaWQ6JCxjdXJyZW50QXBwQnVuZGxlSWQ6USxtZXRyaWNzRW5kcG9pbnQ6Sn0pe2xldCBYPUQxKCgpPT5KPz9gJHt2MSgibWV0cmljcyIpfT9kZXZpY2U9JHtlbmNvZGVVUklDb21wb25lbnQoJCl9YCxbSiwkXSkse21ldGE6SyxsYXRlc3Q6WSxoaXN0b3J5OnEsZXJyb3JlZDpHLHN0YWxlOkJ9PWI0KFgpLFtOLHpdPWsoITApLFY9WSE9PW51bGwmJlkuYnVuZGxlSWQhPT1udWxsJiYhRyYmIUIsVT1RIT1udWxsJiZRLnN0YXJ0c1dpdGgoImNvbS5hcHBsZS4iKSxDPUc/IlRoZSBtZXRyaWNzIHN0cmVhbSBkaXNjb25uZWN0ZWQiOlU/Ik9ubHkgeW91ciBhcHAgaXMgbWVhc3VyZWQ7IGEgc3lzdGVtIGFwcCBpcyBpbiB0aGUgZm9yZWdyb3VuZCI6IldhaXRpbmcgZm9yIGFjdGl2aXR5IGRhdGEiO3JldHVybiBaKHMxLHtvcGVuOk4sb25PcGVuQ2hhbmdlOnosc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLGJvZHlDbGFzc05hbWU6Vj92b2lkIDA6ImhpZGRlbiIsc3VtbWFyeTpaKFExLHtjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiQWN0aXZpdHkifSksVj8hTiYmWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS80MCB0YWJ1bGFyLW51bXMgdGV4dC1yaWdodCIsY2hpbGRyZW46W1U4KFkuY3B1UGN0KSwiIMK3ICIsSDgoWS5tZW1CeXRlcyldfSk6Wigic3BhbiIseyJkYXRhLW1ldHJpY3Mtd2FybmluZyI6ITAscm9sZToic3RhdHVzIixjbGFzc05hbWU6Imdyb3VwIHJlbGF0aXZlIGp1c3RpZnktc2VsZi1lbmQgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjpbWihJMCx7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJ3LTMuNSBoLTMuNSB0ZXh0LWFtYmVyLTQwMCJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJzci1vbmx5IixjaGlsZHJlbjpDfSksWigic3BhbiIse2NsYXNzTmFtZToicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSByaWdodC0wIHRvcC1mdWxsIHotMTAgbXQtMSBoaWRkZW4gdy1tYXggbWF4LXctWzIyMHB4XSByb3VuZGVkLW1kIGJnLWJsYWNrLzkwIHB4LTIgcHktMSB0ZXh0LVsxMXB4XSBsZWFkaW5nLXNudWcgdGV4dC13aGl0ZS85MCBzaGFkb3ctbGcgZ3JvdXAtaG92ZXI6YmxvY2siLGNoaWxkcmVuOkN9KV19KV19KSxjaGlsZHJlbjpWP1ooUTEse2NoaWxkcmVuOltaKHk0LHtsYWJlbDoiQ1BVIix2YWx1ZTpVOChZLmNwdVBjdCksaGludDpLP2Ake0suaG9zdENvcmVzfSBjb3Jlc2A6dm9pZCAwLHZhbHVlczpxLm1hcCgoTSk9Pk0uY3B1UGN0KSxjbGFzc05hbWU6InRleHQtZW1lcmFsZC00MDAifSksWih5NCx7bGFiZWw6Ik1lbW9yeSIsdmFsdWU6SDgoWS5tZW1CeXRlcyksdmFsdWVzOnEubWFwKChNKT0+TS5tZW1CeXRlcyksY2xhc3NOYW1lOiJ0ZXh0LXNreS00MDAifSksWih6Wix7ZG93bjpZLm5ldEluQnl0ZXNQZXJTZWMsdXA6WS5uZXRPdXRCeXRlc1BlclNlYyxkb3duVmFsdWVzOnEubWFwKChNKT0+TS5uZXRJbkJ5dGVzUGVyU2VjKSx1cFZhbHVlczpxLm1hcCgoTSk9Pk0ubmV0T3V0Qnl0ZXNQZXJTZWMpfSldfSk6bnVsbH0pfWZ1bmN0aW9uIHk0KHtsYWJlbDokLHZhbHVlOlEsaGludDpKLHZhbHVlczpYLGNsYXNzTmFtZTpLfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMSIsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1iYXNlbGluZSBqdXN0aWZ5LWJldHdlZW4iLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzUwIHRleHQtWzExcHhdIixjaGlsZHJlbjokfSksWigic3BhbiIse2NsYXNzTmFtZToidGFidWxhci1udW1zIHRleHQtWzExcHhdIixjaGlsZHJlbjpbUSxKJiZaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzMwIHRleHQtWzExcHhdIG1sLTEuNSIsY2hpbGRyZW46Sn0pXX0pXX0pLFoodDUse3ZhbHVlczpYLGNsYXNzTmFtZTpLfSldfSl9ZnVuY3Rpb24gelooe2Rvd246JCx1cDpRLGRvd25WYWx1ZXM6Six1cFZhbHVlczpYfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMSIsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1iYXNlbGluZSBqdXN0aWZ5LWJldHdlZW4iLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzUwIHRleHQtWzExcHhdIixjaGlsZHJlbjoiTmV0d29yayJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0YWJ1bGFyLW51bXMgdGV4dC1bMTFweF0iLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWN5YW4tNDAwIixjaGlsZHJlbjpbIuKGkyAiLEM4KCQpXX0pLFooInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvMzAgbXgtMS41IixjaGlsZHJlbjoiwrcifSksWigic3BhbiIse2NsYXNzTmFtZToidGV4dC12aW9sZXQtNDAwIixjaGlsZHJlbjpbIuKGkSAiLEM4KFEpXX0pXX0pXX0pLFooTFose2Rvd246Six1cDpYfSldfSl9ZnVuY3Rpb24gTFooe2Rvd246JCx1cDpRfSl7bGV0IEo9TWF0aC5tYXgoLi4uJCwuLi5RLDEpO3JldHVybiBaKCJzdmciLHt2aWV3Qm94OmAwIDAgJHtRMn0gJHtwMH1gLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUiLGNsYXNzTmFtZToidy1mdWxsIGgtOCIsY2hpbGRyZW46W1ooZTUse2Q6ZTIoJCxRMixwMCxKKSxjbGFzc05hbWU6InRleHQtY3lhbi00MDAifSksWihlNSx7ZDplMihRLFEyLHAwLEopLGNsYXNzTmFtZToidGV4dC12aW9sZXQtNDAwIn0pXX0pfXZhciBRNT1bImV4dHJhLXNtYWxsIiwic21hbGwiLCJtZWRpdW0iLCJsYXJnZSIsImV4dHJhLWxhcmdlIiwiZXh0cmEtZXh0cmEtbGFyZ2UiLCJleHRyYS1leHRyYS1leHRyYS1sYXJnZSJdLFVaPTI1MCxIWj17YXBwZWFyYW5jZToibGlnaHQiLCJsaXF1aWQtZ2xhc3MiOiJjbGVhciIsImNvbG9yLWZpbHRlciI6Im5vbmUiLCJ0ZXh0LXNpemUiOiJsYXJnZSIsInJlZHVjZS1tb3Rpb24iOiJvZmYiLCJpbmNyZWFzZS1jb250cmFzdCI6Im9mZiIsInNob3ctYm9yZGVycyI6Im9mZiIsInJlZHVjZS10cmFuc3BhcmVuY3kiOiJvZmYiLHZvaWNlb3Zlcjoib2ZmIn0sTzg9e2FwcGVhcmFuY2U6W3t2YWx1ZToibGlnaHQiLGxhYmVsOiJMaWdodCJ9LHt2YWx1ZToiZGFyayIsbGFiZWw6IkRhcmsifV0sImxpcXVpZC1nbGFzcyI6W3t2YWx1ZToiY2xlYXIiLGxhYmVsOiJDbGVhciJ9LHt2YWx1ZToidGludGVkIixsYWJlbDoiVGludGVkIn1dLCJjb2xvci1maWx0ZXIiOlt7dmFsdWU6Im5vbmUiLGxhYmVsOiJOb25lIn0se3ZhbHVlOiJyZWQtZ3JlZW4iLGxhYmVsOiJSZWQvR3JlZW4gKFByb3Rhbm9waWEpIn0se3ZhbHVlOiJncmVlbi1yZWQiLGxhYmVsOiJHcmVlbi9SZWQgKERldXRlcmFub3BpYSkifSx7dmFsdWU6ImJsdWUteWVsbG93IixsYWJlbDoiQmx1ZS9ZZWxsb3cgKFRyaXRhbm9waWEpIn0se3ZhbHVlOiJncmF5c2NhbGUiLGxhYmVsOiJHcmF5c2NhbGUifV19LENaPVt7a2V5OiJyZWR1Y2UtbW90aW9uIixsYWJlbDoiUmVkdWNlIE1vdGlvbiJ9LHtrZXk6ImluY3JlYXNlLWNvbnRyYXN0IixsYWJlbDoiSW5jcmVhc2UgQ29udHJhc3QifSx7a2V5OiJzaG93LWJvcmRlcnMiLGxhYmVsOiJTaG93IEJvcmRlcnMifSx7a2V5OiJyZWR1Y2UtdHJhbnNwYXJlbmN5IixsYWJlbDoiUmVkdWNlIFRyYW5zcGFyZW5jeSJ9LHtrZXk6InZvaWNlb3ZlciIsbGFiZWw6IlZvaWNlT3ZlciJ9XTtmdW5jdGlvbiBZMCh7aWNvbjokLGxhYmVsOlEsY2hpbGRyZW46Sn0pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiBtaW4taC1bMzBweF0iLCJkYXRhLXNldHRpbmctcm93IjpRLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzkwIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToiZmxleCBzaXplLVsxOHB4XSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSIsY2hpbGRyZW46JH0pLFFdfSksWigic3BhbiIse2NsYXNzTmFtZToiZmxleCBtaW4tdy0wIGp1c3RpZnktZW5kIixjaGlsZHJlbjpKfSldfSl9ZnVuY3Rpb24gT1ooe3ZhbHVlOiQsZGlzYWJsZWQ6USxvbkNoYW5nZTpKfSl7bGV0W1gsS109ayhudWxsKSxZPXcobnVsbCkscT13KG51bGwpLEc9SSgoSCk9PntpZihxLmN1cnJlbnQ9PT1IKXJldHVybjtxLmN1cnJlbnQ9SCxKKEgpfSxbSl0pLEI9SSgoSCk9PntpZihLKEgpLFkuY3VycmVudCljbGVhclRpbWVvdXQoWS5jdXJyZW50KTtZLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+RyhIKSxVWil9LFtHXSksTj1JKCgpPT57aWYoWS5jdXJyZW50KWNsZWFyVGltZW91dChZLmN1cnJlbnQpLFkuY3VycmVudD1udWxsO0soKEgpPT57aWYoSCE9PW51bGwpRyhIKTtyZXR1cm4gbnVsbH0pLHEuY3VycmVudD1udWxsfSxbR10pLHo9UTUubGVuZ3RoLTEsVj1YPz8kLFU9YCR7Vi96KjEwMH0lYDtyZXR1cm4gWigic3BhbiIse2NsYXNzTmFtZToiZmxleCB3LVsxMjBweF0gbWluLXctMCBmbGV4LWNvbCIsY2hpbGRyZW46W1ooImlucHV0Iix7dHlwZToicmFuZ2UiLCJhcmlhLWxhYmVsIjoiVGV4dCBTaXplIixtaW46MCxtYXg6eixzdGVwOjEsdmFsdWU6VixkaXNhYmxlZDpRLG9uQ2hhbmdlOihIKT0+QihOdW1iZXIoSC50YXJnZXQudmFsdWUpKSxvblBvaW50ZXJVcDpOLG9uS2V5VXA6TixvbkJsdXI6TixzdHlsZTp7Ii0tc2xpZGVyLWZpbGwiOlUsIi0tc2xpZGVyLWZpbGwtY29sb3IiOlE/InJnYmEoMjU1LDI1NSwyNTUsMC4zKSI6IiMwYTg0ZmYifSxjbGFzc05hbWU6YGgtWzEzcHhdIHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgcm91bmRlZC1mdWxsIGJnLXRyYW5zcGFyZW50IG91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOltvdXRsaW5lOjEuNXB4X3NvbGlkX3JnYmEoMTAsMTMyLDI1NSwwLjU1KV0gZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC00ICR7UT8iY3Vyc29yLWRlZmF1bHQiOiJjdXJzb3ItcG9pbnRlciJ9ICR7IlsmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja106aC1bNHB4XSBbJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tdOnJvdW5kZWQtZnVsbCBbJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tdOltiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0b19yaWdodCx2YXIoLS1zbGlkZXItZmlsbC1jb2xvcilfdmFyKC0tc2xpZGVyLWZpbGwpLHJnYmEoMjU1LDI1NSwyNTUsMC4yMilfdmFyKC0tc2xpZGVyLWZpbGwpKV0gWyY6Oi1tb3otcmFuZ2UtdHJhY2tdOmgtWzRweF0gWyY6Oi1tb3otcmFuZ2UtdHJhY2tdOnJvdW5kZWQtZnVsbCBbJjo6LW1vei1yYW5nZS10cmFja106Ymctd2hpdGUvMjAgWyY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3NdOmgtWzRweF0gWyY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3NdOnJvdW5kZWQtZnVsbCBbJjo6LW1vei1yYW5nZS1wcm9ncmVzc106YmctW3ZhcigtLXNsaWRlci1maWxsLWNvbG9yKV0ifSAkeyJbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOmFwcGVhcmFuY2Utbm9uZSBbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOnNpemUtWzEzcHhdIFsmOjotd2Via2l0LXNsaWRlci10aHVtYl06cm91bmRlZC1mdWxsIFsmOjotd2Via2l0LXNsaWRlci10aHVtYl06Ymctd2hpdGUgWyY6ZGlzYWJsZWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iXTpiZy13aGl0ZS81MCBbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOnNoYWRvdy1bMF8xcHhfM3B4X3JnYmEoMCwwLDAsMC40NSldIFsmOjotd2Via2l0LXNsaWRlci10aHVtYl06LW10LVs0LjVweF0gWyY6Oi1tb3otcmFuZ2UtdGh1bWJdOnNpemUtWzEzcHhdIFsmOjotbW96LXJhbmdlLXRodW1iXTpyb3VuZGVkLWZ1bGwgWyY6Oi1tb3otcmFuZ2UtdGh1bWJdOmJvcmRlci1ub25lIFsmOjotbW96LXJhbmdlLXRodW1iXTpiZy13aGl0ZSBbJjpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYl06Ymctd2hpdGUvNTAifWB9KSxaKCJzcGFuIix7ImFyaWEtaGlkZGVuIjohMCxjbGFzc05hbWU6InBvaW50ZXItZXZlbnRzLW5vbmUgbXQtWzNweF0gZmxleCBqdXN0aWZ5LWJldHdlZW4gcHgtWzUuNXB4XSIsY2hpbGRyZW46UTUubWFwKChIKT0+Wigic3BhbiIse2NsYXNzTmFtZToic2l6ZS1bMnB4XSByb3VuZGVkLWZ1bGwgYmctd2hpdGUvNDAifSxIKSl9KV19KX1mdW5jdGlvbiBNMCh7bGFiZWw6JCx2YWx1ZTpRLG9wdGlvbnM6SixkaXNhYmxlZDpYLG9uQ2hhbmdlOkt9KXtyZXR1cm4gWihyNSx7bGFiZWw6JCx2YWx1ZTpRLG9wdGlvbnM6SixkaXNhYmxlZDpYLG9uQ2hhbmdlOkssY2xhc3NOYW1lOiJiZy13aGl0ZS9bMC4wNl0gYm9yZGVyIGJvcmRlci13aGl0ZS8xMCByb3VuZGVkLW1kIHRleHQtd2hpdGUvOTAgdGV4dC1bMTJweF0gcHktMC41IHB4LTIgbWluLXctMCBtYXgtdy1bMTUwcHhdIGRpc2FibGVkOnRleHQtd2hpdGUvNDAifSl9dmFyICQ1PXthcHBlYXJhbmNlOlooInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltaKCJwYXRoIix7ZDoiTTEyIDJ2MiJ9KSxaKCJwYXRoIix7ZDoiTTE0LjgzNyAxNi4zODVhNiA2IDAgMSAxLTcuMjIzLTcuMjIyYy42MjQtLjE0Ny45Ny42Ni43MTUgMS4yNDhhNCA0IDAgMCAwIDUuMjYgNS4yNTljLjU4OS0uMjU1IDEuMzk2LjA5IDEuMjQ4LjcxNSJ9KSxaKCJwYXRoIix7ZDoiTTE2IDEyYTQgNCAwIDAgMC00LTQifSksWigicGF0aCIse2Q6Im0xOSA1LTEuMjU2IDEuMjU2In0pLFooInBhdGgiLHtkOiJNMjAgMTJoMiJ9KV19KSxnbGFzczpaKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyMjAgMjIwIixmaWxsOiJjdXJyZW50Q29sb3IiLHN0cm9rZToibm9uZSIsY2hpbGRyZW46W1ooInBhdGgiLHtkOiJNMTUyIDE4M1YxOTVIMTAwVjE4M0gxNTJaTTE5NiAxMzlWMTI2QzE5NiAxMDEuNjk5IDE3Ni4zMDEgODIgMTUyIDgySDEwMEM3NS42OTk1IDgyIDU2IDEwMS42OTkgNTYgMTI2VjEzOUM1NiAxNjMuMzAxIDc1LjY5OTUgMTgzIDEwMCAxODNWMTk1TDk5LjI3NjQgMTk0Ljk5NUM2OC45MjI4IDE5NC42MTEgNDQuMzg5MyAxNzAuMDc3IDQ0LjAwNDkgMTM5LjcyNEw0NCAxMzlWMTI2QzQ0IDk1LjA3MjEgNjkuMDcyMSA3MCAxMDAgNzBIMTUyQzE4Mi45MjggNzAgMjA4IDk1LjA3MjEgMjA4IDEyNlYxMzlMMjA3Ljk5NSAxMzkuNzI0QzIwNy42MTEgMTcwLjA3NyAxODMuMDc3IDE5NC42MTEgMTUyLjcyNCAxOTQuOTk1TDE1MiAxOTVWMTgzQzE3Ni4zMDEgMTgzIDE5NiAxNjMuMzAxIDE5NiAxMzlaIn0pLFooInBhdGgiLHtkOiJNMTM2IDI1QzE0Ny4wNDYgMjUgMTU2IDMzLjk1NDMgMTU2IDQ1VjcwSDE0M1Y0NUMxNDMgNDEuMTM0IDEzOS44NjYgMzggMTM2IDM4SDQxQzM3LjEzNCAzOCAzNCA0MS4xMzQgMzQgNDVWMTQwQzM0IDE0My44NjYgMzcuMTM0IDE0NyA0MSAxNDdINDQuODYwNEM0NS42NDg3IDE1MS41MzYgNDYuOTYzNCAxNTUuODkxIDQ4Ljc0MDIgMTYwSDQxTDQwLjQ4MzQgMTU5Ljk5M0MyOS44NDgxIDE1OS43MjQgMjEuMjc2NSAxNTEuMTUyIDIxLjAwNjggMTQwLjUxN0wyMSAxNDBWNDVDMjEgMzMuOTU0MyAyOS45NTQzIDI1IDQxIDI1SDEzNloifSksWigicGF0aCIse2Q6Ik0xNTYuMTk5IDE0MEMxNTYuMTk5IDE1MC44NzMgMTQ3LjUyMyAxNTkuNzE5IDEzNi43MTYgMTU5Ljk5M0wxMzYuMTk5IDE2MEg4MC45MTdDNzcuOTQ2MSAxNjAgNzYuMTYzOSAxNjMuMyA3Ny43OTMgMTY1Ljc4NEM3OS4yNDUxIDE2Ny45OTkgNzYuMTY0NyAxNzAuMzUzIDc0LjQwOTQgMTY4LjM3TDczLjYwNTkgMTY3LjQ2MkM2OS4zNDk3IDE2Mi42NTQgNjcgMTU2LjQ1NSA2NyAxNTAuMDM0QzY3IDE0OC4zNTggNjguMzU4MyAxNDcgNzAuMDMzOSAxNDdIMTM2LjE5OUMxNDAuMDY1IDE0NyAxNDMuMTk5IDE0My44NjYgMTQzLjE5OSAxNDBWOTYuOTk1NUMxNDMuMTk5IDkzLjk4MjIgMTQxLjM1NCA5MS4yNzYzIDEzOC41NDkgOTAuMTc2MUMxMzcuMzg5IDg5LjcyMTUgMTM3LjcxNSA4OCAxMzguOTYgODhMMTQzLjE5OSA4OEMxNTAuMzc5IDg4IDE1Ni4xOTkgOTMuODIwMyAxNTYuMTk5IDEwMVYxNDBaIn0pXX0pLGZpbHRlcjpaKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbWigicGF0aCIse2Q6Ik0xMSAxN2E0IDQgMCAwIDEtOCAwVjVhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJaIn0pLFooInBhdGgiLHtkOiJNMTYuNyAxM0gxOWEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMkg3In0pLFooInBhdGgiLHtkOiJNIDcgMTdoLjAxIn0pLFooInBhdGgiLHtkOiJtMTEgOCAyLjMtMi4zYTIuNCAyLjQgMCAwIDEgMy40MDQuMDA0TDE4LjYgNy42YTIuNCAyLjQgMCAwIDEgLjAyNiAzLjQzNEw5LjkgMTkuOCJ9KV19KSx0ZXh0U2l6ZTpaKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCA1MiAzNCIsZmlsbDoiY3VycmVudENvbG9yIixzdHJva2U6Im5vbmUiLGNoaWxkcmVuOlooInBhdGgiLHtkOiJNMzkuNzI2NiAzMy4wMjM0QzM4LjE0ODQgMzMuMDIzNCAzNi43NSAzMi43MjY2IDM1LjUzMTIgMzIuMTMyOEMzNC4zMTI1IDMxLjUzOTEgMzMuMzU5NCAzMC43MTA5IDMyLjY3MTkgMjkuNjQ4NEMzMiAyOC41NzAzIDMxLjY2NDEgMjcuMzEyNSAzMS42NjQxIDI1Ljg3NUMzMS42NjQxIDIzLjc4MTIgMzIuNDI5NyAyMi4xMDk0IDMzLjk2MDkgMjAuODU5NEMzNS41MDc4IDE5LjYwOTQgMzcuNzEwOSAxOC45MDYyIDQwLjU3MDMgMTguNzVMNDcuNjAxNiAxOC4zNTE2VjE2LjVDNDcuNjAxNiAxNS4wMTU2IDQ3LjEzMjggMTMuODM1OSA0Ni4xOTUzIDEyLjk2MDlDNDUuMjU3OCAxMi4wODU5IDQzLjk1MzEgMTEuNjQ4NCA0Mi4yODEyIDExLjY0ODRDNDAuOTA2MiAxMS42NDg0IDM5Ljc1IDExLjk0NTMgMzguODEyNSAxMi41MzkxQzM3Ljg3NSAxMy4xMzI4IDM3LjA5MzggMTQuMDQ2OSAzNi40Njg4IDE1LjI4MTJDMzYuMjY1NiAxNS42MDk0IDM2LjAxNTYgMTUuODUxNiAzNS43MTg4IDE2LjAwNzhDMzUuNDIxOSAxNi4xNjQxIDM1LjA3ODEgMTYuMjQyMiAzNC42ODc1IDE2LjI0MjJDMzQuMTU2MiAxNi4yNDIyIDMzLjcxMDkgMTYuMDc4MSAzMy4zNTE2IDE1Ljc1QzMzLjAwNzggMTUuNDIxOSAzMi44MzU5IDE0Ljk5MjIgMzIuODM1OSAxNC40NjA5QzMyLjgzNTkgMTQuMjI2NiAzMi44NjcyIDEzLjk3NjYgMzIuOTI5NyAxMy43MTA5QzMzLjAwNzggMTMuNDQ1MyAzMy4xMDk0IDEzLjE3OTcgMzMuMjM0NCAxMi45MTQxQzMzLjg3NSAxMS40NjA5IDM1LjAxNTYgMTAuMzA0NyAzNi42NTYyIDkuNDQ1MzFDMzguMzEyNSA4LjU4NTk0IDQwLjIyNjYgOC4xNTYyNSA0Mi4zOTg0IDguMTU2MjVDNDQuMzIwMyA4LjE1NjI1IDQ1Ljk4NDQgOC40OTIxOSA0Ny4zOTA2IDkuMTY0MDZDNDguODEyNSA5LjgyMDMxIDQ5Ljg5ODQgMTAuNzUgNTAuNjQ4NCAxMS45NTMxQzUxLjQxNDEgMTMuMTU2MiA1MS43OTY5IDE0LjU3MDMgNTEuNzk2OSAxNi4xOTUzVjMwLjkxNDFDNTEuNzk2OSAzMS41ODU5IDUxLjYwOTQgMzIuMTA5NCA1MS4yMzQ0IDMyLjQ4NDRDNTAuODU5NCAzMi44NTk0IDUwLjM2NzIgMzMuMDQ2OSA0OS43NTc4IDMzLjA0NjlDNDkuMTY0MSAzMy4wNDY5IDQ4LjY3OTcgMzIuODY3MiA0OC4zMDQ3IDMyLjUwNzhDNDcuOTI5NyAzMi4xNDg0IDQ3LjczNDQgMzEuNjY0MSA0Ny43MTg4IDMxLjA1NDdWMjguMzU5NEg0Ny42NzE5QzQ2Ljk4NDQgMjkuNzgxMiA0NS45MDYyIDMwLjkxNDEgNDQuNDM3NSAzMS43NTc4QzQyLjk4NDQgMzIuNjAxNiA0MS40MTQxIDMzLjAyMzQgMzkuNzI2NiAzMy4wMjM0Wk00MC44MDQ3IDI5LjY3MTlDNDIuMDcwMyAyOS42NzE5IDQzLjIxMDkgMjkuNDA2MiA0NC4yMjY2IDI4Ljg3NUM0NS4yNTc4IDI4LjM0MzggNDYuMDc4MSAyNy42MTcyIDQ2LjY4NzUgMjYuNjk1M0M0Ny4yOTY5IDI1Ljc3MzQgNDcuNjAxNiAyNC43NSA0Ny42MDE2IDIzLjYyNVYyMS4zMjgxTDQxLjEzMjggMjEuNzVDMzkuNDQ1MyAyMS44NTk0IDM4LjE2NDEgMjIuMjczNCAzNy4yODkxIDIyLjk5MjJDMzYuNDE0MSAyMy42OTUzIDM1Ljk3NjYgMjQuNjA5NCAzNS45NzY2IDI1LjczNDRDMzUuOTc2NiAyNi45MjE5IDM2LjQyMTkgMjcuODc1IDM3LjMxMjUgMjguNTkzOEMzOC4yMDMxIDI5LjMxMjUgMzkuMzY3MiAyOS42NzE5IDQwLjgwNDcgMjkuNjcxOVpNMi4xNzk2OSAzMy4wMjM0QzEuNTA3ODEgMzMuMDIzNCAwLjk3NjU2MiAzMi44MzU5IDAuNTg1OTM4IDMyLjQ2MDlDMC4xOTUzMTIgMzIuMDg1OSAwIDMxLjU3ODEgMCAzMC45Mzc1QzAgMzAuNTMxMiAwLjA4NTkzNzUgMzAuMDcwMyAwLjI1NzgxMiAyOS41NTQ3TDEwLjQwNjIgMi40MTQwNkMxMC45ODQ0IDAuODA0Njg4IDEyLjEwMTYgMCAxMy43NTc4IDBDMTQuNjE3MiAwIDE1LjMyODEgMC4yMDMxMjUgMTUuODkwNiAwLjYwOTM3NUMxNi40NTMxIDEuMDE1NjIgMTYuODc1IDEuNjI1IDE3LjE1NjIgMi40Mzc1TDI3LjI1NzggMjkuNDg0NEMyNy40NDUzIDMwIDI3LjUzOTEgMzAuNDY4OCAyNy41MzkxIDMwLjg5MDZDMjcuNTM5MSAzMS41NDY5IDI3LjMzNTkgMzIuMDcwMyAyNi45Mjk3IDMyLjQ2MDlDMjYuNTIzNCAzMi44MzU5IDI1Ljk3NjYgMzMuMDIzNCAyNS4yODkxIDMzLjAyMzRDMjQuNjMyOCAzMy4wMjM0IDI0LjEwOTQgMzIuODc1IDIzLjcxODggMzIuNTc4MUMyMy4zNDM4IDMyLjI4MTIgMjMuMDM5MSAzMS43ODkxIDIyLjgwNDcgMzEuMTAxNkwxMy44MjgxIDUuMzQzNzVIMTMuNjY0MUw0LjY2NDA2IDMxLjEwMTZDNC40Mjk2OSAzMS43ODkxIDQuMTI1IDMyLjI4MTIgMy43NSAzMi41NzgxQzMuMzc1IDMyLjg3NSAyLjg1MTU2IDMzLjAyMzQgMi4xNzk2OSAzMy4wMjM0Wk02LjY3OTY5IDIzLjc0MjJDNi4xNDg0NCAyMy43NDIyIDUuNzAzMTIgMjMuNTYyNSA1LjM0Mzc1IDIzLjIwMzFDNC45ODQzOCAyMi44NDM4IDQuODA0NjkgMjIuMzk4NCA0LjgwNDY5IDIxLjg2NzJDNC44MDQ2OSAyMS4zNTE2IDQuOTg0MzggMjAuOTE0MSA1LjM0Mzc1IDIwLjU1NDdDNS43MDMxMiAyMC4xOTUzIDYuMTQ4NDQgMjAuMDE1NiA2LjY3OTY5IDIwLjAxNTZIMjAuODU5NEMyMS4zNzUgMjAuMDE1NiAyMS44MTI1IDIwLjE5NTMgMjIuMTcxOSAyMC41NTQ3QzIyLjUzMTIgMjAuOTE0MSAyMi43MTA5IDIxLjM1MTYgMjIuNzEwOSAyMS44NjcyQzIyLjcxMDkgMjIuMzk4NCAyMi41MzEyIDIyLjg0MzggMjIuMTcxOSAyMy4yMDMxQzIxLjgxMjUgMjMuNTYyNSAyMS4zNzUgMjMuNzQyMiAyMC44NTk0IDIzLjc0MjJINi42Nzk2OVoifSl9KSxtb3Rpb246Wigic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLGNoaWxkcmVuOltaKCJjaXJjbGUiLHtjeDoiMTQiLGN5OiIxMiIscjoiNiJ9KSxaKCJwYXRoIix7ZDoiTTMgOGg0TTIgMTJoNE0zIDE2aDQifSldfSksY29udHJhc3Q6Wigic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1ooImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9KSxaKCJwYXRoIix7ZDoiTTEyIDE4YTYgNiAwIDAgMCAwLTEydjEyeiJ9KV19KSxib3JkZXJzOlooInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltaKCJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyIn0pLFooInBhdGgiLHtkOiJNOSAyMWgxIn0pLFooInBhdGgiLHtkOiJNMTQgMjFoMSJ9KV19KSx0cmFuc3BhcmVuY3k6Wigic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgNjMgNDYiLGZpbGw6ImN1cnJlbnRDb2xvciIsc3Ryb2tlOiJub25lIixjaGlsZHJlbjpaKCJwYXRoIix7ZDoiTTIyLjczNDQgNC4xNzE4OEMyMi4xODc1IDQuMTcxODggMjEuNzE4OCAzLjk3NjU2IDIxLjMyODEgMy41ODU5NEMyMC45Mzc1IDMuMTk1MzEgMjAuNzQyMiAyLjcxODc1IDIwLjc0MjIgMi4xNTYyNUMyMC43NDIyIDEuNjA5MzggMjAuOTM3NSAxLjE0MDYyIDIxLjMyODEgMC43NUMyMS43MTg4IDAuMzU5Mzc1IDIyLjE4NzUgMC4xNjQwNjIgMjIuNzM0NCAwLjE2NDA2MkMyMy4yODEyIDAuMTY0MDYyIDIzLjc1IDAuMzU5Mzc1IDI0LjE0MDYgMC43NUMyNC41MzEyIDEuMTQwNjIgMjQuNzI2NiAxLjYwOTM4IDI0LjcyNjYgMi4xNTYyNUMyNC43MjY2IDIuNzE4NzUgMjQuNTMxMiAzLjE5NTMxIDI0LjE0MDYgMy41ODU5NEMyMy43NSAzLjk3NjU2IDIzLjI4MTIgNC4xNzE4OCAyMi43MzQ0IDQuMTcxODhaTTI5LjEwOTQgNS4yMDMxMkMyOC41NDY5IDUuMjAzMTIgMjguMDcwMyA1LjAwNzgxIDI3LjY3OTcgNC42MTcxOUMyNy4yODkxIDQuMjI2NTYgMjcuMDkzOCAzLjc1NzgxIDI3LjA5MzggMy4yMTA5NEMyNy4wOTM4IDIuNjY0MDYgMjcuMjg5MSAyLjE5NTMxIDI3LjY3OTcgMS44MDQ2OUMyOC4wNzAzIDEuMzk4NDQgMjguNTQ2OSAxLjE5NTMxIDI5LjEwOTQgMS4xOTUzMUMyOS42NTYyIDEuMTk1MzEgMzAuMTI1IDEuMzk4NDQgMzAuNTE1NiAxLjgwNDY5QzMwLjkwNjIgMi4xOTUzMSAzMS4xMDE2IDIuNjY0MDYgMzEuMTAxNiAzLjIxMDk0QzMxLjEwMTYgMy43NTc4MSAzMC45MDYyIDQuMjI2NTYgMzAuNTE1NiA0LjYxNzE5QzMwLjEyNSA1LjAwNzgxIDI5LjY1NjIgNS4yMDMxMiAyOS4xMDk0IDUuMjAzMTJaTTM0Ljg3NSA4LjEzMjgxQzM0LjMyODEgOC4xMzI4MSAzMy44NTE2IDcuOTM3NSAzMy40NDUzIDcuNTQ2ODhDMzMuMDU0NyA3LjE0MDYyIDMyLjg1OTQgNi42NzE4OCAzMi44NTk0IDYuMTQwNjJDMzIuODU5NCA1LjU3ODEyIDMzLjA1NDcgNS4xMDE1NiAzMy40NDUzIDQuNzEwOTRDMzMuODUxNiA0LjMyMDMxIDM0LjMyODEgNC4xMjUgMzQuODc1IDQuMTI1QzM1LjQyMTkgNC4xMjUgMzUuODkwNiA0LjMyMDMxIDM2LjI4MTIgNC43MTA5NEMzNi42ODc1IDUuMTAxNTYgMzYuODkwNiA1LjU3ODEyIDM2Ljg5MDYgNi4xNDA2MkMzNi44OTA2IDYuNjcxODggMzYuNjg3NSA3LjE0MDYyIDM2LjI4MTIgNy41NDY4OEMzNS44OTA2IDcuOTM3NSAzNS40MjE5IDguMTMyODEgMzQuODc1IDguMTMyODFaTTM5LjQ0NTMgMTIuNjc5N0MzOC44OTg0IDEyLjY3OTcgMzguNDIxOSAxMi40ODQ0IDM4LjAxNTYgMTIuMDkzOEMzNy42MjUgMTEuNzAzMSAzNy40Mjk3IDExLjIzNDQgMzcuNDI5NyAxMC42ODc1QzM3LjQyOTcgMTAuMTU2MiAzNy42MjUgOS42OTUzMSAzOC4wMTU2IDkuMzA0NjlDMzguNDIxOSA4Ljg5ODQ0IDM4Ljg5ODQgOC42OTUzMSAzOS40NDUzIDguNjk1MzFDMzkuOTkyMiA4LjY5NTMxIDQwLjQ2MDkgOC44OTg0NCA0MC44NTE2IDkuMzA0NjlDNDEuMjQyMiA5LjY5NTMxIDQxLjQzNzUgMTAuMTU2MiA0MS40Mzc1IDEwLjY4NzVDNDEuNDM3NSAxMS4yMzQ0IDQxLjI0MjIgMTEuNzAzMSA0MC44NTE2IDEyLjA5MzhDNDAuNDYwOSAxMi40ODQ0IDM5Ljk5MjIgMTIuNjc5NyAzOS40NDUzIDEyLjY3OTdaTTQyLjM3NSAxOC4zOTg0QzQxLjgxMjUgMTguMzk4NCA0MS4zMjgxIDE4LjIwMzEgNDAuOTIxOSAxNy44MTI1QzQwLjUzMTIgMTcuNDIxOSA0MC4zMzU5IDE2Ljk1MzEgNDAuMzM1OSAxNi40MDYyQzQwLjMzNTkgMTUuODQzOCA0MC41MzEyIDE1LjM2NzIgNDAuOTIxOSAxNC45NzY2QzQxLjMyODEgMTQuNTg1OSA0MS44MTI1IDE0LjM5MDYgNDIuMzc1IDE0LjM5MDZDNDIuOTA2MiAxNC4zOTA2IDQzLjM2NzIgMTQuNTg1OSA0My43NTc4IDE0Ljk3NjZDNDQuMTY0MSAxNS4zNjcyIDQ0LjM2NzIgMTUuODQzOCA0NC4zNjcyIDE2LjQwNjJDNDQuMzY3MiAxNi45NTMxIDQ0LjE2NDEgMTcuNDIxOSA0My43NTc4IDE3LjgxMjVDNDMuMzY3MiAxOC4yMDMxIDQyLjkwNjIgMTguMzk4NCA0Mi4zNzUgMTguMzk4NFpNNDMuNDUzMSAyNC43OTY5QzQyLjkwNjIgMjQuNzk2OSA0Mi40Mzc1IDI0LjYwMTYgNDIuMDQ2OSAyNC4yMTA5QzQxLjY1NjIgMjMuODIwMyA0MS40NjA5IDIzLjM0MzggNDEuNDYwOSAyMi43ODEyQzQxLjQ2MDkgMjIuMjM0NCA0MS42NTYyIDIxLjc2NTYgNDIuMDQ2OSAyMS4zNzVDNDIuNDM3NSAyMC45ODQ0IDQyLjkwNjIgMjAuNzg5MSA0My40NTMxIDIwLjc4OTFDNDQgMjAuNzg5MSA0NC40Njg4IDIwLjk4NDQgNDQuODU5NCAyMS4zNzVDNDUuMjY1NiAyMS43NjU2IDQ1LjQ2ODggMjIuMjM0NCA0NS40Njg4IDIyLjc4MTJDNDUuNDY4OCAyMy4zNDM4IDQ1LjI2NTYgMjMuODIwMyA0NC44NTk0IDI0LjIxMDlDNDQuNDY4OCAyNC42MDE2IDQ0IDI0Ljc5NjkgNDMuNDUzMSAyNC43OTY5Wk00Mi4zNzUgMzEuMTcxOUM0MS44MTI1IDMxLjE3MTkgNDEuMzI4MSAzMC45NzY2IDQwLjkyMTkgMzAuNTg1OUM0MC41MzEyIDMwLjE5NTMgNDAuMzM1OSAyOS43MjY2IDQwLjMzNTkgMjkuMTc5N0M0MC4zMzU5IDI4LjYxNzIgNDAuNTMxMiAyOC4xNDA2IDQwLjkyMTkgMjcuNzVDNDEuMzI4MSAyNy4zNTk0IDQxLjgxMjUgMjcuMTY0MSA0Mi4zNzUgMjcuMTY0MUM0Mi45MDYyIDI3LjE2NDEgNDMuMzY3MiAyNy4zNTk0IDQzLjc1NzggMjcuNzVDNDQuMTY0MSAyOC4xNDA2IDQ0LjM2NzIgMjguNjE3MiA0NC4zNjcyIDI5LjE3OTdDNDQuMzY3MiAyOS43MjY2IDQ0LjE2NDEgMzAuMTk1MyA0My43NTc4IDMwLjU4NTlDNDMuMzY3MiAzMC45NzY2IDQyLjkwNjIgMzEuMTcxOSA0Mi4zNzUgMzEuMTcxOVpNMzkuNDQ1MyAzNi44OTA2QzM4Ljg5ODQgMzYuODkwNiAzOC40MjE5IDM2LjY5NTMgMzguMDE1NiAzNi4zMDQ3QzM3LjYyNSAzNS44OTg0IDM3LjQyOTcgMzUuNDIxOSAzNy40Mjk3IDM0Ljg3NUMzNy40Mjk3IDM0LjMyODEgMzcuNjI1IDMzLjg1OTQgMzguMDE1NiAzMy40Njg4QzM4LjQyMTkgMzMuMDYyNSAzOC44OTg0IDMyLjg1OTQgMzkuNDQ1MyAzMi44NTk0QzM5Ljk5MjIgMzIuODU5NCA0MC40NjA5IDMzLjA2MjUgNDAuODUxNiAzMy40Njg4QzQxLjI0MjIgMzMuODU5NCA0MS40Mzc1IDM0LjMyODEgNDEuNDM3NSAzNC44NzVDNDEuNDM3NSAzNS40MjE5IDQxLjI0MjIgMzUuODk4NCA0MC44NTE2IDM2LjMwNDdDNDAuNDYwOSAzNi42OTUzIDM5Ljk5MjIgMzYuODkwNiAzOS40NDUzIDM2Ljg5MDZaTTM0Ljg3NSA0MS40Mzc1QzM0LjMyODEgNDEuNDM3NSAzMy44NTE2IDQxLjI0MjIgMzMuNDQ1MyA0MC44NTE2QzMzLjA1NDcgNDAuNDYwOSAzMi44NTk0IDM5Ljk5MjIgMzIuODU5NCAzOS40NDUzQzMyLjg1OTQgMzguODk4NCAzMy4wNTQ3IDM4LjQyOTcgMzMuNDQ1MyAzOC4wMzkxQzMzLjg1MTYgMzcuNjMyOCAzNC4zMjgxIDM3LjQyOTcgMzQuODc1IDM3LjQyOTdDMzUuNDIxOSAzNy40Mjk3IDM1Ljg5MDYgMzcuNjMyOCAzNi4yODEyIDM4LjAzOTFDMzYuNjg3NSAzOC40Mjk3IDM2Ljg5MDYgMzguODk4NCAzNi44OTA2IDM5LjQ0NTNDMzYuODkwNiAzOS45OTIyIDM2LjY4NzUgNDAuNDYwOSAzNi4yODEyIDQwLjg1MTZDMzUuODkwNiA0MS4yNDIyIDM1LjQyMTkgNDEuNDM3NSAzNC44NzUgNDEuNDM3NVpNMjkuMTA5NCA0NC4zNjcyQzI4LjU0NjkgNDQuMzY3MiAyOC4wNzAzIDQ0LjE2NDEgMjcuNjc5NyA0My43NTc4QzI3LjI4OTEgNDMuMzY3MiAyNy4wOTM4IDQyLjg5ODQgMjcuMDkzOCA0Mi4zNTE2QzI3LjA5MzggNDEuODA0NyAyNy4yODkxIDQxLjMzNTkgMjcuNjc5NyA0MC45NDUzQzI4LjA3MDMgNDAuNTU0NyAyOC41NDY5IDQwLjM1OTQgMjkuMTA5NCA0MC4zNTk0QzI5LjY1NjIgNDAuMzU5NCAzMC4xMjUgNDAuNTU0NyAzMC41MTU2IDQwLjk0NTNDMzAuOTA2MiA0MS4zMzU5IDMxLjEwMTYgNDEuODA0NyAzMS4xMDE2IDQyLjM1MTZDMzEuMTAxNiA0Mi44OTg0IDMwLjkwNjIgNDMuMzY3MiAzMC41MTU2IDQzLjc1NzhDMzAuMTI1IDQ0LjE2NDEgMjkuNjU2MiA0NC4zNjcyIDI5LjEwOTQgNDQuMzY3MlpNMjIuNzM0NCA0NS4zOTg0QzIyLjE4NzUgNDUuMzk4NCAyMS43MTg4IDQ1LjIwMzEgMjEuMzI4MSA0NC44MTI1QzIwLjkzNzUgNDQuNDIxOSAyMC43NDIyIDQzLjk1MzEgMjAuNzQyMiA0My40MDYyQzIwLjc0MjIgNDIuODQzOCAyMC45Mzc1IDQyLjM2NzIgMjEuMzI4MSA0MS45NzY2QzIxLjcxODggNDEuNTg1OSAyMi4xODc1IDQxLjM5MDYgMjIuNzM0NCA0MS4zOTA2QzIzLjI4MTIgNDEuMzkwNiAyMy43NSA0MS41ODU5IDI0LjE0MDYgNDEuOTc2NkMyNC41MzEyIDQyLjM2NzIgMjQuNzI2NiA0Mi44NDM4IDI0LjcyNjYgNDMuNDA2MkMyNC43MjY2IDQzLjk1MzEgMjQuNTMxMiA0NC40MjE5IDI0LjE0MDYgNDQuODEyNUMyMy43NSA0NS4yMDMxIDIzLjI4MTIgNDUuMzk4NCAyMi43MzQ0IDQ1LjM5ODRaTTE2LjM1OTQgNDQuMzY3MkMxNS44MTI1IDQ0LjM2NzIgMTUuMzQzOCA0NC4xNjQxIDE0Ljk1MzEgNDMuNzU3OEMxNC41NjI1IDQzLjM2NzIgMTQuMzY3MiA0Mi44OTg0IDE0LjM2NzIgNDIuMzUxNkMxNC4zNjcyIDQxLjgwNDcgMTQuNTYyNSA0MS4zMzU5IDE0Ljk1MzEgNDAuOTQ1M0MxNS4zNDM4IDQwLjU1NDcgMTUuODEyNSA0MC4zNTk0IDE2LjM1OTQgNDAuMzU5NEMxNi45MjE5IDQwLjM1OTQgMTcuMzk4NCA0MC41NTQ3IDE3Ljc4OTEgNDAuOTQ1M0MxOC4xNzk3IDQxLjMzNTkgMTguMzc1IDQxLjgwNDcgMTguMzc1IDQyLjM1MTZDMTguMzc1IDQyLjg5ODQgMTguMTc5NyA0My4zNjcyIDE3Ljc4OTEgNDMuNzU3OEMxNy4zOTg0IDQ0LjE2NDEgMTYuOTIxOSA0NC4zNjcyIDE2LjM1OTQgNDQuMzY3MlpNMTAuNTcwMyA0MS40Mzc1QzEwLjAzOTEgNDEuNDM3NSA5LjU3MDMxIDQxLjI0MjIgOS4xNjQwNiA0MC44NTE2QzguNzczNDQgNDAuNDYwOSA4LjU3ODEyIDM5Ljk5MjIgOC41NzgxMiAzOS40NDUzQzguNTc4MTIgMzguODk4NCA4Ljc3MzQ0IDM4LjQyOTcgOS4xNjQwNiAzOC4wMzkxQzkuNTcwMzEgMzcuNjMyOCAxMC4wMzkxIDM3LjQyOTcgMTAuNTcwMyAzNy40Mjk3QzExLjEzMjggMzcuNDI5NyAxMS42MDk0IDM3LjYzMjggMTIgMzguMDM5MUMxMi4zOTA2IDM4LjQyOTcgMTIuNTg1OSAzOC44OTg0IDEyLjU4NTkgMzkuNDQ1M0MxMi41ODU5IDM5Ljk5MjIgMTIuMzkwNiA0MC40NjA5IDEyIDQwLjg1MTZDMTEuNjA5NCA0MS4yNDIyIDExLjEzMjggNDEuNDM3NSAxMC41NzAzIDQxLjQzNzVaTTYuMDIzNDQgMzYuODkwNkM1LjQ3NjU2IDM2Ljg5MDYgNSAzNi42OTUzIDQuNTkzNzUgMzYuMzA0N0M0LjIwMzEyIDM1Ljg5ODQgNC4wMDc4MSAzNS40MjE5IDQuMDA3ODEgMzQuODc1QzQuMDA3ODEgMzQuMzI4MSA0LjIwMzEyIDMzLjg1OTQgNC41OTM3NSAzMy40Njg4QzUgMzMuMDYyNSA1LjQ3NjU2IDMyLjg1OTQgNi4wMjM0NCAzMi44NTk0QzYuNTcwMzEgMzIuODU5NCA3LjAzOTA2IDMzLjA2MjUgNy40Mjk2OSAzMy40Njg4QzcuODIwMzEgMzMuODU5NCA4LjAxNTYyIDM0LjMyODEgOC4wMTU2MiAzNC44NzVDOC4wMTU2MiAzNS40MjE5IDcuODIwMzEgMzUuODk4NCA3LjQyOTY5IDM2LjMwNDdDNy4wMzkwNiAzNi42OTUzIDYuNTcwMzEgMzYuODkwNiA2LjAyMzQ0IDM2Ljg5MDZaTTMuMDkzNzUgMzEuMTcxOUMyLjU2MjUgMzEuMTcxOSAyLjA5Mzc1IDMwLjk3NjYgMS42ODc1IDMwLjU4NTlDMS4yOTY4OCAzMC4xOTUzIDEuMTAxNTYgMjkuNzI2NiAxLjEwMTU2IDI5LjE3OTdDMS4xMDE1NiAyOC42MTcyIDEuMjk2ODggMjguMTQwNiAxLjY4NzUgMjcuNzVDMi4wOTM3NSAyNy4zNTk0IDIuNTYyNSAyNy4xNjQxIDMuMDkzNzUgMjcuMTY0MUMzLjY1NjI1IDI3LjE2NDEgNC4xMzI4MSAyNy4zNTk0IDQuNTIzNDQgMjcuNzVDNC45MTQwNiAyOC4xNDA2IDUuMTA5MzggMjguNjE3MiA1LjEwOTM4IDI5LjE3OTdDNS4xMDkzOCAyOS43MjY2IDQuOTE0MDYgMzAuMTk1MyA0LjUyMzQ0IDMwLjU4NTlDNC4xMzI4MSAzMC45NzY2IDMuNjU2MjUgMzEuMTcxOSAzLjA5Mzc1IDMxLjE3MTlaTTIuMDE1NjIgMjQuNzk2OUMxLjQ1MzEyIDI0Ljc5NjkgMC45NzY1NjIgMjQuNjAxNiAwLjU4NTkzOCAyNC4yMTA5QzAuMTk1MzEyIDIzLjgyMDMgMCAyMy4zNDM4IDAgMjIuNzgxMkMwIDIyLjIzNDQgMC4xOTUzMTIgMjEuNzY1NiAwLjU4NTkzOCAyMS4zNzVDMC45NzY1NjIgMjAuOTg0NCAxLjQ1MzEyIDIwLjc4OTEgMi4wMTU2MiAyMC43ODkxQzIuNTYyNSAyMC43ODkxIDMuMDMxMjUgMjAuOTg0NCAzLjQyMTg4IDIxLjM3NUMzLjgxMjUgMjEuNzY1NiA0LjAwNzgxIDIyLjIzNDQgNC4wMDc4MSAyMi43ODEyQzQuMDA3ODEgMjMuMzQzOCAzLjgxMjUgMjMuODIwMyAzLjQyMTg4IDI0LjIxMDlDMy4wMzEyNSAyNC42MDE2IDIuNTYyNSAyNC43OTY5IDIuMDE1NjIgMjQuNzk2OVpNMy4wOTM3NSAxOC4zOTg0QzIuNTYyNSAxOC4zOTg0IDIuMDkzNzUgMTguMjAzMSAxLjY4NzUgMTcuODEyNUMxLjI5Njg4IDE3LjQyMTkgMS4xMDE1NiAxNi45NTMxIDEuMTAxNTYgMTYuNDA2MkMxLjEwMTU2IDE1Ljg0MzggMS4yOTY4OCAxNS4zNjcyIDEuNjg3NSAxNC45NzY2QzIuMDkzNzUgMTQuNTg1OSAyLjU2MjUgMTQuMzkwNiAzLjA5Mzc1IDE0LjM5MDZDMy42NTYyNSAxNC4zOTA2IDQuMTMyODEgMTQuNTg1OSA0LjUyMzQ0IDE0Ljk3NjZDNC45MTQwNiAxNS4zNjcyIDUuMTA5MzggMTUuODQzOCA1LjEwOTM4IDE2LjQwNjJDNS4xMDkzOCAxNi45NTMxIDQuOTE0MDYgMTcuNDIxOSA0LjUyMzQ0IDE3LjgxMjVDNC4xMzI4MSAxOC4yMDMxIDMuNjU2MjUgMTguMzk4NCAzLjA5Mzc1IDE4LjM5ODRaTTYuMDIzNDQgMTIuNjc5N0M1LjQ3NjU2IDEyLjY3OTcgNSAxMi40ODQ0IDQuNTkzNzUgMTIuMDkzOEM0LjIwMzEyIDExLjcwMzEgNC4wMDc4MSAxMS4yMzQ0IDQuMDA3ODEgMTAuNjg3NUM0LjAwNzgxIDEwLjE1NjIgNC4yMDMxMiA5LjY5NTMxIDQuNTkzNzUgOS4zMDQ2OUM1IDguODk4NDQgNS40NzY1NiA4LjY5NTMxIDYuMDIzNDQgOC42OTUzMUM2LjU3MDMxIDguNjk1MzEgNy4wMzkwNiA4Ljg5ODQ0IDcuNDI5NjkgOS4zMDQ2OUM3LjgyMDMxIDkuNjk1MzEgOC4wMTU2MiAxMC4xNTYyIDguMDE1NjIgMTAuNjg3NUM4LjAxNTYyIDExLjIzNDQgNy44MjAzMSAxMS43MDMxIDcuNDI5NjkgMTIuMDkzOEM3LjAzOTA2IDEyLjQ4NDQgNi41NzAzMSAxMi42Nzk3IDYuMDIzNDQgMTIuNjc5N1pNMTAuNTcwMyA4LjEzMjgxQzEwLjAzOTEgOC4xMzI4MSA5LjU3MDMxIDcuOTM3NSA5LjE2NDA2IDcuNTQ2ODhDOC43NzM0NCA3LjE0MDYyIDguNTc4MTIgNi42NzE4OCA4LjU3ODEyIDYuMTQwNjJDOC41NzgxMiA1LjU3ODEyIDguNzczNDQgNS4xMDE1NiA5LjE2NDA2IDQuNzEwOTRDOS41NzAzMSA0LjMyMDMxIDEwLjAzOTEgNC4xMjUgMTAuNTcwMyA0LjEyNUMxMS4xMzI4IDQuMTI1IDExLjYwOTQgNC4zMjAzMSAxMiA0LjcxMDk0QzEyLjM5MDYgNS4xMDE1NiAxMi41ODU5IDUuNTc4MTIgMTIuNTg1OSA2LjE0MDYyQzEyLjU4NTkgNi42NzE4OCAxMi4zOTA2IDcuMTQwNjIgMTIgNy41NDY4OEMxMS42MDk0IDcuOTM3NSAxMS4xMzI4IDguMTMyODEgMTAuNTcwMyA4LjEzMjgxWk0xNi4zNTk0IDUuMjAzMTJDMTUuODEyNSA1LjIwMzEyIDE1LjM0MzggNS4wMDc4MSAxNC45NTMxIDQuNjE3MTlDMTQuNTYyNSA0LjIyNjU2IDE0LjM2NzIgMy43NTc4MSAxNC4zNjcyIDMuMjEwOTRDMTQuMzY3MiAyLjY2NDA2IDE0LjU2MjUgMi4xOTUzMSAxNC45NTMxIDEuODA0NjlDMTUuMzQzOCAxLjM5ODQ0IDE1LjgxMjUgMS4xOTUzMSAxNi4zNTk0IDEuMTk1MzFDMTYuOTIxOSAxLjE5NTMxIDE3LjM5ODQgMS4zOTg0NCAxNy43ODkxIDEuODA0NjlDMTguMTc5NyAyLjE5NTMxIDE4LjM3NSAyLjY2NDA2IDE4LjM3NSAzLjIxMDk0QzE4LjM3NSAzLjc1NzgxIDE4LjE3OTcgNC4yMjY1NiAxNy43ODkxIDQuNjE3MTlDMTcuMzk4NCA1LjAwNzgxIDE2LjkyMTkgNS4yMDMxMiAxNi4zNTk0IDUuMjAzMTJaTTQwLjEwMTYgNDUuNTYyNUMzNi45NDUzIDQ1LjU2MjUgMzMuOTkyMiA0NC45Njg4IDMxLjI0MjIgNDMuNzgxMkMyOC41MDc4IDQyLjYwOTQgMjYuMDkzOCA0MC45NzY2IDI0IDM4Ljg4MjhDMjEuOTA2MiAzNi43ODkxIDIwLjI2NTYgMzQuMzY3MiAxOS4wNzgxIDMxLjYxNzJDMTcuOTA2MiAyOC44NjcyIDE3LjMyMDMgMjUuOTIxOSAxNy4zMjAzIDIyLjc4MTJDMTcuMzIwMyAxOS42NDA2IDE3LjkwNjIgMTYuNjk1MyAxOS4wNzgxIDEzLjk0NTNDMjAuMjY1NiAxMS4xNzk3IDIxLjkwNjIgOC43NTc4MSAyNCA2LjY3OTY5QzI2LjA5MzggNC41ODU5NCAyOC41MDc4IDIuOTUzMTIgMzEuMjQyMiAxLjc4MTI1QzMzLjk5MjIgMC41OTM3NSAzNi45NDUzIDAgNDAuMTAxNiAwQzQzLjI0MjIgMCA0Ni4xODc1IDAuNTkzNzUgNDguOTM3NSAxLjc4MTI1QzUxLjY4NzUgMi45NTMxMiA1NC4xMDE2IDQuNTg1OTQgNTYuMTc5NyA2LjY3OTY5QzU4LjI3MzQgOC43NTc4MSA1OS45MDYyIDExLjE3OTcgNjEuMDc4MSAxMy45NDUzQzYyLjI2NTYgMTYuNjk1MyA2Mi44NTk0IDE5LjY0MDYgNjIuODU5NCAyMi43ODEyQzYyLjg1OTQgMjUuOTIxOSA2Mi4yNjU2IDI4Ljg2NzIgNjEuMDc4MSAzMS42MTcyQzU5LjkwNjIgMzQuMzY3MiA1OC4yNzM0IDM2Ljc4OTEgNTYuMTc5NyAzOC44ODI4QzU0LjEwMTYgNDAuOTc2NiA1MS42ODc1IDQyLjYwOTQgNDguOTM3NSA0My43ODEyQzQ2LjE4NzUgNDQuOTY4OCA0My4yNDIyIDQ1LjU2MjUgNDAuMTAxNiA0NS41NjI1Wk00MC4xMDE2IDQxLjM5MDZDNDIuNjY0MSA0MS4zOTA2IDQ1LjA3MDMgNDAuOTA2MiA0Ny4zMjAzIDM5LjkzNzVDNDkuNTcwMyAzOC45Njg4IDUxLjU0NjkgMzcuNjMyOCA1My4yNSAzNS45Mjk3QzU0Ljk2ODggMzQuMjI2NiA1Ni4zMDQ3IDMyLjI1NzggNTcuMjU3OCAzMC4wMjM0QzU4LjIxMDkgMjcuNzczNCA1OC42ODc1IDI1LjM1OTQgNTguNjg3NSAyMi43ODEyQzU4LjY4NzUgMjAuMjAzMSA1OC4yMTA5IDE3Ljc5NjkgNTcuMjU3OCAxNS41NjI1QzU2LjMwNDcgMTMuMzEyNSA1NC45Njg4IDExLjMzNTkgNTMuMjUgOS42MzI4MUM1MS41NDY5IDcuOTI5NjkgNDkuNTcwMyA2LjU5Mzc1IDQ3LjMyMDMgNS42MjVDNDUuMDcwMyA0LjY1NjI1IDQyLjY2NDEgNC4xNzE4OCA0MC4xMDE2IDQuMTcxODhDMzcuNTIzNCA0LjE3MTg4IDM1LjEwOTQgNC42NTYyNSAzMi44NTk0IDUuNjI1QzMwLjYyNSA2LjU5Mzc1IDI4LjY0ODQgNy45Mjk2OSAyNi45Mjk3IDkuNjMyODFDMjUuMjI2NiAxMS4zMzU5IDIzLjg5MDYgMTMuMzEyNSAyMi45MjE5IDE1LjU2MjVDMjEuOTY4OCAxNy43OTY5IDIxLjQ5MjIgMjAuMjAzMSAyMS40OTIyIDIyLjc4MTJDMjEuNDkyMiAyNS4zNTk0IDIxLjk2ODggMjcuNzczNCAyMi45MjE5IDMwLjAyMzRDMjMuODkwNiAzMi4yNTc4IDI1LjIyNjYgMzQuMjI2NiAyNi45Mjk3IDM1LjkyOTdDMjguNjQ4NCAzNy42MzI4IDMwLjYyNSAzOC45Njg4IDMyLjg1OTQgMzkuOTM3NUMzNS4xMDk0IDQwLjkwNjIgMzcuNTIzNCA0MS4zOTA2IDQwLjEwMTYgNDEuMzkwNloifSl9KSx2b2ljZW92ZXI6Wigic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1ooInBhdGgiLHtkOiJtMTEgNy42MDEtNS45OTQgOC4xOWExIDEgMCAwIDAgLjEgMS4yOThsLjgxNy44MThhMSAxIDAgMCAwIDEuMzE0LjA4N0wxNS4wOSAxMiJ9KSxaKCJwYXRoIix7ZDoiTTE2LjUgMjEuMTc0QzE1LjUgMjAuNSAxNC4zNzIgMjAgMTMgMjBjLTIuMDU4IDAtMy45MjggMi4zNTYtNiAyLTIuMDcyLS4zNTYtMi43NzUtMy4zNjktMS41LTQuNSJ9KSxaKCJjaXJjbGUiLHtjeDoiMTYiLGN5OiI3IixyOiI1In0pXX0pfTtmdW5jdGlvbiBGWigkKXtpZighJClyZXR1cm4hMDtyZXR1cm4gZzUoJCkub3MudG9Mb3dlckNhc2UoKT09PSJpb3MifWZ1bmN0aW9uIHg0KHt1ZGlkOiQscnVudGltZTpRfSl7bGV0W0osWF09ayghMCksW0ssWV09ayhudWxsKSxbcSxHXT1rKG51bGwpLFtCLE5dPWsobnVsbCksej1GWihRKSxWPUkoYXN5bmMoKT0+e04obnVsbCk7dHJ5e2xldCBQPWF3YWl0IHIzKHtkZXZpY2U6JH0se3NpZ25hbDpBYm9ydFNpZ25hbC50aW1lb3V0KDE1MDAwKX0pO2lmKFApWShQKTtlbHNlIE4oIlVuZXhwZWN0ZWQgc2ltdWxhdG9yLXNldHRpbmdzIHJlcGx5Iil9Y2F0Y2goUCl7TihQIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiZQLm5hbWU9PT0iVGltZW91dEVycm9yIj8iVGltZWQgb3V0IHJlYWRpbmcgc2ltdWxhdG9yIHNldHRpbmdzIjpQIGluc3RhbmNlb2YgRXJyb3ImJlAubWVzc2FnZSE9PSJGYWlsZWQgdG8gZmV0Y2giP1AubWVzc2FnZToiQ291bGQgbm90IHJlYWNoIHRoZSBwcmV2aWV3IHNlcnZlciDigJQgcmVsb2FkIHRoZSBwYWdlIGlmIHRoaXMgcGVyc2lzdHMiKX19LFskXSk7eSgoKT0+e2lmKFkobnVsbCksIXopcmV0dXJuO1YoKX0sW1Ysel0pO2xldCBVPUkoYXN5bmMoUCx4KT0+e0coUCksTihudWxsKSxZKChEKT0+RD97Li4uRCxbUF06eH06RCk7dHJ5e2F3YWl0IHIzKHtkZXZpY2U6JCxvcHRpb246UCx2YWx1ZTp4fSx7c2lnbmFsOkFib3J0U2lnbmFsLnRpbWVvdXQoMTUwMDApfSl9Y2F0Y2goRCl7TihEIGluc3RhbmNlb2YgRXJyb3I/RC5tZXNzYWdlOmBGYWlsZWQgdG8gc2V0ICR7UH1gKSxWKCl9ZmluYWxseXtHKG51bGwpfX0sWyQsVl0pLEM9dyh7cnVubmluZzohMSxuZXh0Om51bGx9KSxNPXcoVSk7TS5jdXJyZW50PVU7bGV0IEw9SSgoUCk9PntsZXQgeD1DLmN1cnJlbnQ7aWYoeC5uZXh0PVAseC5ydW5uaW5nKXJldHVybjt4LnJ1bm5pbmc9ITAsKGFzeW5jKCk9Pnt3aGlsZSh4Lm5leHQhPT1udWxsKXtsZXQgRD14Lm5leHQ7eC5uZXh0PW51bGwsYXdhaXQgTS5jdXJyZW50KCJ0ZXh0LXNpemUiLFE1W0RdKX14LnJ1bm5pbmc9ITF9KSgpfSxbXSksSD1LIT09bnVsbCxPPUs/P0haLFc9UTUuaW5kZXhPZihPWyJ0ZXh0LXNpemUiXSksVD1XPj0wP1c6T1sidGV4dC1zaXplIl0/LnN0YXJ0c1dpdGgoImFjY2Vzc2liaWxpdHkiKT9RNS5sZW5ndGgtMTozO3JldHVybiBaKHMxLHtvcGVuOkosb25PcGVuQ2hhbmdlOlgsImRhdGEtc2ltdWxhdG9yLXNldHRpbmdzIjoiIixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpaKFExLHtjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiU2ltdWxhdG9yIn0pLFooInNwYW4iLHt9KV19KSxjaGlsZHJlbjohej9aKCJkaXYiLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNDUgdGV4dC1bMTFweF0gcHgtMC41IHB5LTEiLGNoaWxkcmVuOiJTaW11bGF0b3Igc2V0dGluZ3MgYXJlIGF2YWlsYWJsZSBvbiBpT1Mgc2ltdWxhdG9ycyBvbmx5LiJ9KTpaKFExLHtjaGlsZHJlbjpbQiYmWigiZGl2Iix7Y2xhc3NOYW1lOiJiZy1kYW5nZXIvMTAgYm9yZGVyIGJvcmRlci1kYW5nZXIvMjAgdGV4dC1kYW5nZXItc29mdCB0ZXh0LVsxMXB4XSBweC0yIHB5LTEuNSByb3VuZGVkLW1kIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAiLGNoaWxkcmVuOkJ9KSxaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9PnZvaWQgVigpLGNsYXNzTmFtZToic2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgcm91bmRlZCBib3JkZXIgYm9yZGVyLWRhbmdlci8zMCBiZy10cmFuc3BhcmVudCBweC0xLjUgcHktMC41IHRleHQtWzExcHhdIHRleHQtZGFuZ2VyLXNvZnQiLGNoaWxkcmVuOiJSZXRyeSJ9KV19KSxaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTEuNSBwYi0xLjUiLGNoaWxkcmVuOltaKFkwLHtpY29uOiQ1LmFwcGVhcmFuY2UsbGFiZWw6IkFwcGVhcmFuY2UiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJBcHBlYXJhbmNlIix2YWx1ZTpPLmFwcGVhcmFuY2U/PyJsaWdodCIsb3B0aW9uczpPOC5hcHBlYXJhbmNlLGRpc2FibGVkOiFIfHxxPT09ImFwcGVhcmFuY2UiLG9uQ2hhbmdlOihQKT0+VSgiYXBwZWFyYW5jZSIsUCl9KX0pLFooWTAse2ljb246JDUuZ2xhc3MsbGFiZWw6IkxpcXVpZCBHbGFzcyIsY2hpbGRyZW46WihNMCx7bGFiZWw6IkxpcXVpZCBHbGFzcyIsdmFsdWU6T1sibGlxdWlkLWdsYXNzIl0/PyJjbGVhciIsb3B0aW9uczpPOFsibGlxdWlkLWdsYXNzIl0sZGlzYWJsZWQ6IUh8fHE9PT0ibGlxdWlkLWdsYXNzIixvbkNoYW5nZTooUCk9PlUoImxpcXVpZC1nbGFzcyIsUCl9KX0pLFooWTAse2ljb246JDUuZmlsdGVyLGxhYmVsOiJDb2xvciBGaWx0ZXIiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJDb2xvciBGaWx0ZXIiLHZhbHVlOk9bImNvbG9yLWZpbHRlciJdPz8ibm9uZSIsb3B0aW9uczpPOFsiY29sb3ItZmlsdGVyIl0sZGlzYWJsZWQ6IUh8fHE9PT0iY29sb3ItZmlsdGVyIixvbkNoYW5nZTooUCk9PlUoImNvbG9yLWZpbHRlciIsUCl9KX0pLFooWTAse2ljb246JDUudGV4dFNpemUsbGFiZWw6IlRleHQgU2l6ZSIsY2hpbGRyZW46WihPWix7dmFsdWU6VCxkaXNhYmxlZDohSCxvbkNoYW5nZTpMfSl9KSxDWi5tYXAoKHtrZXk6UCxsYWJlbDp4fSk9PlooWTAse2ljb246JDVbUD09PSJyZWR1Y2UtbW90aW9uIj8ibW90aW9uIjpQPT09ImluY3JlYXNlLWNvbnRyYXN0Ij8iY29udHJhc3QiOlA9PT0ic2hvdy1ib3JkZXJzIj8iYm9yZGVycyI6UD09PSJyZWR1Y2UtdHJhbnNwYXJlbmN5Ij8idHJhbnNwYXJlbmN5Ijoidm9pY2VvdmVyIl0sbGFiZWw6eCxjaGlsZHJlbjpaKGE1LHtsYWJlbDp4LGNoZWNrZWQ6T1tQXT09PSJvbiIsZGlzYWJsZWQ6IUh8fHE9PT1QLG9uQ2hhbmdlOihEKT0+VShQLEQ/Im9uIjoib2ZmIil9KX0sUCkpXX0pXX0pfSl9ZnVuY3Rpb24gajQoJCxRKXtyZXR1cm4gJC5maW5kKChKKT0+Si5zZXNzaW9uSWQ9PT1RKT8/bnVsbH1mdW5jdGlvbiAkMygkLFEpe2xldCBKPSExLFg9ITEsSz1hc3luYygpPT57aWYoWHx8SilyZXR1cm47Sj0hMDt0cnl7YXdhaXQgJCgpfWNhdGNoe31maW5hbGx5e0o9ITF9fTtLKCk7bGV0IFk9c2V0SW50ZXJ2YWwoKCk9PnZvaWQgSygpLFEpO3JldHVybigpPT57WD0hMCxjbGVhckludGVydmFsKFkpfX12YXIgdjQ9MTAwMCxNWj00MDAwO2Z1bmN0aW9uIFI0KCQsUSxKKXtsZXRbWCxLXT1rKHtzZXNzaW9uOm51bGwsY2FwdHVyZTpudWxsLHN0YWxlOiExfSksWT13KDApO3JldHVybiB5KCgpPT57aWYoWS5jdXJyZW50PTAsSyh7c2Vzc2lvbjpudWxsLGNhcHR1cmU6bnVsbCxzdGFsZTohMX0pLCFKfHxRPT09bnVsbClyZXR1cm47bGV0IHE9ITEsRz1YNigkLFEpLE49JDMoYXN5bmMoKT0+e2xldCBWPW51bGw7dHJ5e2xldCBDPWF3YWl0IGZldGNoKEcse3NpZ25hbDpBYm9ydFNpZ25hbC50aW1lb3V0KHY0KjMpfSk7aWYoIUMub2spe2lmKCFxKUsoe3Nlc3Npb246bnVsbCxjYXB0dXJlOm51bGwsc3RhbGU6ITF9KTtyZXR1cm59Vj1hd2FpdCBDLmpzb24oKX1jYXRjaHtyZXR1cm59aWYocXx8Vj09PW51bGwpcmV0dXJuO2xldCBVPUFycmF5LmlzQXJyYXkoVi5zZXNzaW9ucyk/Vi5zZXNzaW9uczpbXTtZLmN1cnJlbnQ9RGF0ZS5ub3coKSxLKHtzZXNzaW9uOmo0KFUsUSksY2FwdHVyZTpWLmNhcHR1cmU/P251bGwsc3RhbGU6ITF9KX0sdjQpLHo9d2luZG93LnNldEludGVydmFsKCgpPT57aWYoWS5jdXJyZW50PjAmJkRhdGUubm93KCktWS5jdXJyZW50Pk1aKUsoKFYpPT5WLnN0YWxlP1Y6ey4uLlYsc3RhbGU6ITB9KX0sMTAwMCk7cmV0dXJuKCk9PntxPSEwLE4oKSx3aW5kb3cuY2xlYXJJbnRlcnZhbCh6KX19LFskLFEsSl0pLFh9ZnVuY3Rpb24gVzIoJCl7cmV0dXJuIHYwKCQpPz8wfWZ1bmN0aW9uIHYwKCQpe3JldHVybiB0eXBlb2YgJD09PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUoJCk/JDpudWxsfWZ1bmN0aW9uIGg0KCQsUSl7bGV0IEo9e2F0TXM6USxmcmFtZXNEZWNvZGVkOjAsZnJhbWVzRHJvcHBlZDowLGZyZWV6ZUNvdW50OjAsZnJlZXplTXM6MCxieXRlc1JlY2VpdmVkOjAscGFja2V0c1JlY2VpdmVkOjAscGFja2V0c0xvc3Q6bnVsbCxqaXR0ZXJNczpudWxsLGppdHRlckJ1ZmZlclNlY29uZHM6bnVsbCxqaXR0ZXJCdWZmZXJFbWl0dGVkOm51bGwscmVwb3J0ZWRGcHM6bnVsbCx3aWR0aDpudWxsLGhlaWdodDpudWxsLGNvZGVjOm51bGwscm91bmRUcmlwTXM6bnVsbCxwYXRoOiJ1bmtub3duIn0sWD1uZXcgTWFwLEs9bmV3IE1hcCxZPW5ldyBNYXAscT1udWxsLEc9bnVsbCxCPW51bGw7JC5mb3JFYWNoKCh6KT0+e3N3aXRjaCh6LnR5cGUpe2Nhc2UiY29kZWMiOmlmKHR5cGVvZiB6LmlkPT09InN0cmluZyImJnR5cGVvZiB6Lm1pbWVUeXBlPT09InN0cmluZyIpWC5zZXQoei5pZCx6Lm1pbWVUeXBlKTticmVhaztjYXNlImluYm91bmQtcnRwIjp7aWYoei5raW5kIT09InZpZGVvIilicmVhaztsZXQgVj1XMih6LmZyYW1lc0RlY29kZWQpO2lmKFY8Si5mcmFtZXNEZWNvZGVkKWJyZWFrO0ouZnJhbWVzRGVjb2RlZD1WLEouZnJhbWVzRHJvcHBlZD1XMih6LmZyYW1lc0Ryb3BwZWQpLEouZnJlZXplQ291bnQ9VzIoei5mcmVlemVDb3VudCksSi5mcmVlemVNcz1XMih6LnRvdGFsRnJlZXplc0R1cmF0aW9uKSoxMDAwLEouYnl0ZXNSZWNlaXZlZD1XMih6LmJ5dGVzUmVjZWl2ZWQpLEoucGFja2V0c1JlY2VpdmVkPVcyKHoucGFja2V0c1JlY2VpdmVkKSxKLnBhY2tldHNMb3N0PXYwKHoucGFja2V0c0xvc3QpLEoucmVwb3J0ZWRGcHM9djAoei5mcmFtZXNQZXJTZWNvbmQpLEoud2lkdGg9djAoei5mcmFtZVdpZHRoKSxKLmhlaWdodD12MCh6LmZyYW1lSGVpZ2h0KTtsZXQgVT12MCh6LmppdHRlcik7aWYoSi5qaXR0ZXJNcz1VPT09bnVsbD9udWxsOlUqMTAwMCxKLmppdHRlckJ1ZmZlclNlY29uZHM9djAoei5qaXR0ZXJCdWZmZXJEZWxheSksSi5qaXR0ZXJCdWZmZXJFbWl0dGVkPXYwKHouaml0dGVyQnVmZmVyRW1pdHRlZENvdW50KSx0eXBlb2Ygei5jb2RlY0lkPT09InN0cmluZyIpSi5jb2RlYz1YLmdldCh6LmNvZGVjSWQpPz9udWxsO2JyZWFrfWNhc2UidHJhbnNwb3J0IjppZih0eXBlb2Ygei5zZWxlY3RlZENhbmRpZGF0ZVBhaXJJZD09PSJzdHJpbmciKXE9ei5zZWxlY3RlZENhbmRpZGF0ZVBhaXJJZDticmVhaztjYXNlImNhbmRpZGF0ZS1wYWlyIjppZih0eXBlb2Ygei5pZD09PSJzdHJpbmciKUsuc2V0KHouaWQseik7aWYoei5zZWxlY3RlZD09PSEwKUc9ejtlbHNlIGlmKHoubm9taW5hdGVkPT09ITAmJnouc3RhdGU9PT0ic3VjY2VlZGVkIilHPz89ejtlbHNlIGlmKHouc3RhdGU9PT0ic3VjY2VlZGVkIilCPz89ejticmVhaztjYXNlImxvY2FsLWNhbmRpZGF0ZSI6Y2FzZSJyZW1vdGUtY2FuZGlkYXRlIjppZih0eXBlb2Ygei5pZD09PSJzdHJpbmciKVkuc2V0KHouaWQseik7YnJlYWt9fSk7bGV0IE49KHE9PT1udWxsP3ZvaWQgMDpLLmdldChxKSk/P0c/P0I7aWYoTil7bGV0IHo9djAoTi5jdXJyZW50Um91bmRUcmlwVGltZSk7Si5yb3VuZFRyaXBNcz16PT09bnVsbD9udWxsOnoqMTAwMDtsZXQgVj1bTi5sb2NhbENhbmRpZGF0ZUlkLE4ucmVtb3RlQ2FuZGlkYXRlSWRdLm1hcCgoVSk9PnR5cGVvZiBVPT09InN0cmluZyI/WS5nZXQoVSk/LmNhbmRpZGF0ZVR5cGU6dm9pZCAwKTtpZihWLmV2ZXJ5KChVKT0+dHlwZW9mIFU9PT0ic3RyaW5nIikpSi5wYXRoPVYuaW5jbHVkZXMoInJlbGF5Iik/InJlbGF5IjoiZGlyZWN0In1pZihKLmNvZGVjPT09bnVsbCYmWC5zaXplPT09MSlKLmNvZGVjPVsuLi5YLnZhbHVlcygpXVswXT8/bnVsbDtyZXR1cm4gSn1mdW5jdGlvbiBnNCgkLFEpe2xldCBKPXsuLi5RLGZwczpudWxsLGticHM6bnVsbCxsb3NzUmF0aW86bnVsbCxkcm9wcGVkSW5XaW5kb3c6bnVsbCxmcmVlemVzSW5XaW5kb3c6bnVsbCxmcmVlemVNc0luV2luZG93Om51bGwsaml0dGVyQnVmZmVyTXM6bnVsbH07aWYoJD09PW51bGwpcmV0dXJuIEo7bGV0IFg9US5hdE1zLSQuYXRNcztpZihYPDI1MClyZXR1cm4gSjtsZXQgSz1RLmZyYW1lc0RlY29kZWQtJC5mcmFtZXNEZWNvZGVkLFk9US5ieXRlc1JlY2VpdmVkLSQuYnl0ZXNSZWNlaXZlZCxxPVEuZnJhbWVzRHJvcHBlZC0kLmZyYW1lc0Ryb3BwZWQsRz1RLmZyZWV6ZUNvdW50LSQuZnJlZXplQ291bnQsQj1RLmZyZWV6ZU1zLSQuZnJlZXplTXM7aWYoSzwwfHxZPDB8fHE8MHx8RzwwfHxCPDApcmV0dXJuIEo7bGV0IE49WC8xMDAwO3JldHVybnsuLi5RLGZwczpLL04sa2JwczpZKjgvMTAwMC9OLGxvc3NSYXRpbzpBWigkLFEpLGRyb3BwZWRJbldpbmRvdzpxLGZyZWV6ZXNJbldpbmRvdzpHLGZyZWV6ZU1zSW5XaW5kb3c6QixqaXR0ZXJCdWZmZXJNczprWigkLFEpfX1mdW5jdGlvbiBBWigkLFEpe2lmKCQucGFja2V0c0xvc3Q9PT1udWxsfHxRLnBhY2tldHNMb3N0PT09bnVsbClyZXR1cm4gbnVsbDtsZXQgSj1RLnBhY2tldHNMb3N0LSQucGFja2V0c0xvc3QsWD1RLnBhY2tldHNSZWNlaXZlZC0kLnBhY2tldHNSZWNlaXZlZDtpZihKPDB8fFg8MClyZXR1cm4gbnVsbDtsZXQgSz1YK0o7cmV0dXJuIEs+MD9KL0s6bnVsbH1mdW5jdGlvbiBrWigkLFEpe2lmKFEuaml0dGVyQnVmZmVyU2Vjb25kcz09PW51bGx8fFEuaml0dGVyQnVmZmVyRW1pdHRlZD09PW51bGwpcmV0dXJuIG51bGw7aWYoJC5qaXR0ZXJCdWZmZXJTZWNvbmRzPT09bnVsbHx8JC5qaXR0ZXJCdWZmZXJFbWl0dGVkPT09bnVsbClyZXR1cm4gbnVsbDtsZXQgSj1RLmppdHRlckJ1ZmZlclNlY29uZHMtJC5qaXR0ZXJCdWZmZXJTZWNvbmRzLFg9US5qaXR0ZXJCdWZmZXJFbWl0dGVkLSQuaml0dGVyQnVmZmVyRW1pdHRlZDtpZihKPDB8fFg8PTApcmV0dXJuIG51bGw7cmV0dXJuIEovWCoxMDAwfXZhciBXWj0xMDAwLF9aPTQwMDAsRFo9NjAwO2Z1bmN0aW9uIGY0KCQpe2xldFtRLEpdPWsobnVsbCksW1gsS109ayhbXSksW1kscV09ayghMSksRz13KG51bGwpLEI9dygwKTtyZXR1cm4geSgoKT0+e2lmKEcuY3VycmVudD1udWxsLEIuY3VycmVudD0wLHEoITEpLCQ9PT1udWxsKXtKKG51bGwpLEsoW10pO3JldHVybn1sZXQgTj0hMSxWPSQzKGFzeW5jKCk9PntsZXQgQz1EYXRlLm5vdygpLE07dHJ5e009YXdhaXQgJC5nZXRTdGF0cygpfWNhdGNoe3JldHVybn1pZihOKXJldHVybjtsZXQgTD1oNChNLEMpLEg9ZzQoRy5jdXJyZW50LEwpO0IuY3VycmVudD1DLHEoITEpLEooSCksSygoTyk9PlsuLi5PLEhdLnNsaWNlKC1EWikpLEcuY3VycmVudD1MfSxXWiksVT13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9PntpZihCLmN1cnJlbnQ+MCYmRGF0ZS5ub3coKS1CLmN1cnJlbnQ+X1opcSghMCl9LDEwMDApO3JldHVybigpPT57Tj0hMCxWKCksd2luZG93LmNsZWFySW50ZXJ2YWwoVSl9fSxbJF0pLHtzdGF0czpRLGhpc3Rvcnk6WCxzdGFsZTpZfX12YXIgUFo9bmV3IFNldChbImxvY2FsaG9zdCIsIjEyNy4wLjAuMSIsIjo6MSIsIls6OjFdIiwiMC4wLjAuMCJdKTtmdW5jdGlvbiBRMygkKXtsZXQgUT0kLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXC4kLywiIik7cmV0dXJuIFBaLmhhcyhRKXx8US5lbmRzV2l0aCgiLmxvY2FsaG9zdCIpfWFzeW5jIGZ1bmN0aW9uIFRaKCQpe3RyeXtsZXQgUT1hd2FpdCAkLmpzb24oKTtpZih0eXBlb2YgUS5lcnJvcj09PSJzdHJpbmciJiZRLmVycm9yLnRyaW0oKSlyZXR1cm4gUS5lcnJvci50cmltKCl9Y2F0Y2h7fXJldHVybmBTY3JlZW5zaG90IGZhaWxlZCAoJHskLnN0YXR1c30pYH1hc3luYyBmdW5jdGlvbiBtNCgkLFE9e30pe2xldCBKPVEuZW5kcG9pbnQ/P3YxKCJhcGkvc2NyZWVuc2hvdCIpLFg9Si5pbmNsdWRlcygiPyIpPyImIjoiPyIsWT1hd2FpdChRLmZldGNoSW1wbD8/ZmV0Y2gpKGAke0p9JHtYfWRldmljZT0ke2VuY29kZVVSSUNvbXBvbmVudCgkKX1gLHttZXRob2Q6IlBPU1QiLHNpZ25hbDpRLnNpZ25hbH0pO2lmKCFZLm9rKXRocm93IEVycm9yKGF3YWl0IFRaKFkpKTtpZihZLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKT8uc3BsaXQoIjsiLDEpWzBdPy50cmltKCk/LnRvTG93ZXJDYXNlKCkhPT0iaW1hZ2UvcG5nIil0aHJvdyBFcnJvcigiU2NyZWVuc2hvdCBlbmRwb2ludCBkaWQgbm90IHJldHVybiBhIFBORyIpO3JldHVybiBZLmJsb2IoKX1mdW5jdGlvbiBKNSgkLFEpe2xldCBKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtKLmhyZWY9JCxKLmRvd25sb2FkPVEsSi5zdHlsZS5kaXNwbGF5PSJub25lIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKEopLEouY2xpY2soKSxKLnJlbW92ZSgpfWZ1bmN0aW9uIEVaKHtzdGF0czokLGhpc3Rvcnk6USxmYXVsdHM6SixzZW5kZXI6WCxjYXB0dXJlOksscmVxdWVzdGVkRnBzOlksc3RhbGU6cSxhY3Rpb246R30pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6YGZsZXggZmxleC1jb2wgZ2FwLTIgYm9yZGVyLWIgYm9yZGVyLXdoaXRlLzEwIHBiLTIgJHtxPyJvcGFjaXR5LTUwIjoiIn1gLGNoaWxkcmVuOltaKHU0LHtsYWJlbDoiRnJhbWUgcmF0ZSIsdmFsdWU6WjMoJC5mcHMpLGhpbnQ6WT9gb2YgJHtZfWA6dm9pZCAwLHZhbHVlczpwNChRLChCKT0+Qi5mcHMpLG1heDpZLGNsYXNzTmFtZToidGV4dC1lbWVyYWxkLTQwMCJ9KSxaKHU0LHtsYWJlbDoiQml0cmF0ZSIsdmFsdWU6RjgoJC5rYnBzKSx2YWx1ZXM6cDQoUSwoQik9PkIua2JwcyksY2xhc3NOYW1lOiJ0ZXh0LXNreS00MDAifSksWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGp1c3RpZnktYmV0d2VlbiBnYXAtMiIsY2hpbGRyZW46W3E/WigiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdhcm5pbmciLGNoaWxkcmVuOiJObyBzYW1wbGVzIGluIHRoZSBsYXN0IGZldyBzZWNvbmRzIn0pOkoubGVuZ3RoPjA/WigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0wLjUiLGNoaWxkcmVuOkoubWFwKChCKT0+WigiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdhcm5pbmciLCJkYXRhLXN0cmVhbS1mYXVsdCI6QixjaGlsZHJlbjpCfSxCKSl9KTpaKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvMzAiLGNoaWxkcmVuOnlaKCQpPyJObyBkcm9wcywgZnJlZXplcyBvciBsb3NzIGluIHRoaXMgd2luZG93IjoiTWVhc3VyaW5n4oCmIn0pLEddfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIGdyaWQtY29scy0yIGdhcC14LTMgZ2FwLXktMC41IGJvcmRlci10IGJvcmRlci13aGl0ZS8xMCBwdC0xLjUiLGNoaWxkcmVuOltaKCQwLHtsYWJlbDoiUlRUIix2YWx1ZTpKMygkLnJvdW5kVHJpcE1zLDApfSksWigkMCx7bGFiZWw6IkppdHRlciIsdmFsdWU6SjMoJC5qaXR0ZXJNcywxKX0pLFooJDAse2xhYmVsOiJKaXR0ZXIgYnVmZmVyIix2YWx1ZTpKMygkLmppdHRlckJ1ZmZlck1zLDApfSksWigkMCx7bGFiZWw6IlJlc29sdXRpb24iLHZhbHVlOiQud2lkdGg9PT1udWxsfHwkLmhlaWdodD09PW51bGw/XzI6YCR7JC53aWR0aH14JHskLmhlaWdodH1gfSksJC5wYXRoIT09InVua25vd24iJiZaKCQwLHtsYWJlbDoiSUNFIHJvdXRlIix2YWx1ZTokLnBhdGg9PT0icmVsYXkiPyJWaWEgcmVsYXkiOiJEaXJlY3QifSldfSksWCYmWih3Wix7c2VuZGVyOlh9KSxLJiZaKElaLHtjYXB0dXJlOkt9KV19KX1mdW5jdGlvbiB3Wih7c2VuZGVyOiR9KXtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0wLjUgYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIHB0LTEuNSIsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToicGItMC41IHRleHQtWzEwcHhdIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSB0ZXh0LXdoaXRlLzMwIixjaGlsZHJlbjoiRW5jb2RlciJ9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLXgtMyBnYXAteS0wLjUiLGNoaWxkcmVuOltaKCQwLHtsYWJlbDoiRW5jb2RlIEZQUyIsdmFsdWU6WjMoJC5yZXBvcnRlZEZwcyl9KSxaKCQwLHtsYWJlbDoiVGFyZ2V0Iix2YWx1ZTpGOCgkLnRhcmdldEticHMpfSksWigkMCx7bGFiZWw6IlBhY2VyIEZQUyIsdmFsdWU6WjMoJC5zb3VyY2VGcHMpfSksWigkMCx7bGFiZWw6IkVuY29kZSIsdmFsdWU6SjMoJC5lbmNvZGVNc1BlckZyYW1lLDEpLGhpbnQ6Ii9mcmFtZSJ9KSxaKCQwLHtsYWJlbDoiRnJhbWVzIHNlbnQiLHZhbHVlOlo1KCQuZnJhbWVzU2VudCl9KSxaKCQwLHtsYWJlbDoiTG9zcyIsdmFsdWU6YlooJC5sb3NzUmF0aW8pLGhpbnQ6InRvdGFsIn0pXX0pXX0pfWZ1bmN0aW9uIElaKHtjYXB0dXJlOiR9KXtyZXR1cm4gWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0wLjUgYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIHB0LTEuNSIsY2hpbGRyZW46W1ooImRpdiIse2NsYXNzTmFtZToicGItMC41IHRleHQtWzEwcHhdIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSB0ZXh0LXdoaXRlLzMwIixjaGlsZHJlbjoiQ2FwdHVyZSJ9KSxaKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLXgtMyBnYXAteS0wLjUiLGNoaWxkcmVuOltaKCQwLHtsYWJlbDoiU2NyZWVuIGZyYW1lcyIsdmFsdWU6WjUoJC5zY3JlZW5GcmFtZXMpfSksWigkMCx7bGFiZWw6IklkbGUgZnJhbWVzIix2YWx1ZTpaNSgkLmlkbGVGcmFtZXMpfSksWigkMCx7bGFiZWw6IkNhcHR1cmUgZGVsaXZlcmllcyIsdmFsdWU6WjUoJC5vZmZlcmVkRnJhbWVzKX0pLFooJDAse2xhYmVsOiJQYWNlciBzdWJtaXNzaW9ucyIsdmFsdWU6WjUoJC5mb3J3YXJkZWRGcmFtZXMpfSldfSldfSl9ZnVuY3Rpb24gWjUoJCl7aWYoJD09PW51bGwpcmV0dXJuIF8yO2xldCBRPU1hdGguYWJzKCQpO2lmKFE8MTAwMClyZXR1cm4gU3RyaW5nKCQpO2lmKFE8OTk5OTUwKXJldHVybmAkeygkLzEwMDApLnRvRml4ZWQoMSl9a2A7cmV0dXJuYCR7KCQvMWU2KS50b0ZpeGVkKDIpfU1gfWZ1bmN0aW9uIGJaKCQpe3JldHVybiAkPT09bnVsbD9fMjpgJHsoJCoxMDApLnRvRml4ZWQoMSl9JWB9dmFyIF8yPSLigJQiO2Z1bmN0aW9uIHA0KCQsUSl7bGV0IEo9W107Zm9yKGxldCBYIG9mICQpe2xldCBLPVEoWCk7aWYoSyE9PW51bGwpSi5wdXNoKEspfXJldHVybiBKfWZ1bmN0aW9uIHlaKCQpe3JldHVybiAkLmRyb3BwZWRJbldpbmRvdyE9PW51bGx9ZnVuY3Rpb24gbDQoJCl7aWYoJC5mcHM9PT1udWxsKXJldHVybiBudWxsO3JldHVybmAke1ozKCQuZnBzKX0gwrcgJHtGOCgkLmticHMpfWB9ZnVuY3Rpb24gZDQoJCxRKXtsZXQgSj1bXTtpZigkLmZyZWV6ZXNJbldpbmRvdyl7bGV0IEs9JC5mcmVlemVNc0luV2luZG93P2AgKCR7KCQuZnJlZXplTXNJbldpbmRvdy8xMDAwKS50b0ZpeGVkKDEpfXMpYDoiIjtKLnB1c2goYCR7JC5mcmVlemVzSW5XaW5kb3d9IGZyZWV6ZSR7JC5mcmVlemVzSW5XaW5kb3c9PT0xPyIiOiJzIn0ke0t9YCl9aWYoJC5kcm9wcGVkSW5XaW5kb3cpSi5wdXNoKGAkeyQuZHJvcHBlZEluV2luZG93fSBmcmFtZXMgZHJvcHBlZGApO2lmKCQubG9zc1JhdGlvIT09bnVsbCYmJC5sb3NzUmF0aW8+MC4wMilKLnB1c2goYCR7KCQubG9zc1JhdGlvKjEwMCkudG9GaXhlZCgxKX0lIHBhY2tldCBsb3NzYCk7bGV0IFg9U1ooUT8ucXVhbGl0eUxpbWl0YXRpb25SZWFzb24pO2lmKFghPT1udWxsKUoucHVzaChYKTtyZXR1cm4gSn1mdW5jdGlvbiBTWigkKXtzd2l0Y2goJCl7Y2FzZSJjcHUiOnJldHVybiJFbmNvZGVyIGNhbm5vdCBrZWVwIHVwIChDUFUpIjtjYXNlImJhbmR3aWR0aCI6cmV0dXJuIkJpdHJhdGUgcmVkdWNlZCBieSB0aGUgbmV0d29yayI7Y2FzZSB2b2lkIDA6Y2FzZSBudWxsOmNhc2Uibm9uZSI6cmV0dXJuIG51bGw7ZGVmYXVsdDpyZXR1cm4iRW5jb2RlciBob2xkaW5nIGJhY2sgKHJlYXNvbiB1bmtub3duKSJ9fWZ1bmN0aW9uIFozKCQpe2lmKCQ9PT1udWxsKXJldHVybiBfMjtyZXR1cm5gJHskPDEwPyQudG9GaXhlZCgxKTokLnRvRml4ZWQoMCl9IGZwc2B9ZnVuY3Rpb24gRjgoJCl7aWYoJD09PW51bGwpcmV0dXJuIF8yO3JldHVybiAkPDEwMDA/YCR7JC50b0ZpeGVkKDApfSBrYnBzYDpgJHsoJC8xMDAwKS50b0ZpeGVkKDIpfSBNYnBzYH1mdW5jdGlvbiBKMygkLFEpe3JldHVybiAkPT09bnVsbD9fMjpgJHskLnRvRml4ZWQoUSl9IG1zYH1mdW5jdGlvbiB1NCh7bGFiZWw6JCx2YWx1ZTpRLGhpbnQ6Six2YWx1ZXM6WCxtYXg6SyxjbGFzc05hbWU6WX0pe3JldHVybiBaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTEiLCJkYXRhLXN0cmVhbS1zdGF0IjokLGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1iZXR3ZWVuIixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS81MCIsY2hpbGRyZW46JH0pLFooInNwYW4iLHtjbGFzc05hbWU6InRhYnVsYXItbnVtcyB0ZXh0LVsxMXB4XSIsY2hpbGRyZW46W1EsSiYmWigic3BhbiIse2NsYXNzTmFtZToibWwtMS41IHRleHQtWzExcHhdIHRleHQtd2hpdGUvMzAiLGNoaWxkcmVuOkp9KV19KV19KSxaKHQ1LHt2YWx1ZXM6WCxtYXg6SyxjbGFzc05hbWU6WX0pXX0pfWZ1bmN0aW9uICQwKHtsYWJlbDokLHZhbHVlOlEsaGludDpKfSl7cmV0dXJuIFooImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1iYXNlbGluZSBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIiLCJkYXRhLXN0cmVhbS1zdGF0IjokLGNoaWxkcmVuOltaKCJzcGFuIix7Y2xhc3NOYW1lOiJ3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzUwIixjaGlsZHJlbjokfSksWigic3BhbiIse2NsYXNzTmFtZToidGFidWxhci1udW1zIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtWzExcHhdIHRleHQtd2hpdGUvOTAiLGNoaWxkcmVuOltRLEomJlooInNwYW4iLHtjbGFzc05hbWU6Im1sLTEuNSB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzMwIixjaGlsZHJlbjpKfSldfSldfSl9ZnVuY3Rpb24gYzQoe3N0YXRzOiQsaGlzdG9yeTpRLGZhdWx0czpKLHNlbmRlcjpYLGNhcHR1cmU6SyxyZXF1ZXN0ZWRGcHM6WSxzdGFsZTpxLGFjdGlvbjpHfSl7aWYoJD09PW51bGwpcmV0dXJuIG51bGw7cmV0dXJuIFooRVose3N0YXRzOiQsaGlzdG9yeTpRLGZhdWx0czpKLHNlbmRlcjpYLGNhcHR1cmU6SyxyZXF1ZXN0ZWRGcHM6WSxzdGFsZTpxLGFjdGlvbjpHfSl9ZnVuY3Rpb24gbzQoe2hpc3Rvcnk6JCxjb250ZXh0OlF9KXtpZigkLmxlbmd0aDwyKXJldHVybiBudWxsO3JldHVybiBaKCJidXR0b24iLHt0eXBlOiJidXR0b24iLHRpdGxlOmBEb3dubG9hZCAkeyQubGVuZ3RofSByZWNvcmRlZCBzYW1wbGVzIGFzIEpTT05gLCJhcmlhLWxhYmVsIjpgRG93bmxvYWQgJHskLmxlbmd0aH0gcmVjb3JkZWQgc2FtcGxlcyBhcyBKU09OYCxvbkNsaWNrOigpPT5qWigkLFEpLGNsYXNzTmFtZToiLW10LTAuNSBpbmxpbmUtZmxleCBoLTUgdy01IHNocmluay0wIGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkIHRleHQtd2hpdGUvMzAgaG92ZXI6Ymctd2hpdGUvWzAuMDZdIGhvdmVyOnRleHQtd2hpdGUvODAiLGNoaWxkcmVuOlooZzIseyJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzTmFtZToiaC0zIHctMyJ9KX0pfWZ1bmN0aW9uIHhaKCQsUT17fSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHtyZWNvcmRlZEF0Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSwuLi5RLHNhbXBsZXM6JH0sbnVsbCwyKX1mdW5jdGlvbiBqWigkLFEpe2xldCBKPVVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW3haKCQsUSldLHt0eXBlOiJhcHBsaWNhdGlvbi9qc29uIn0pKTtKNShKLGBzZXJ2ZS1zaW0tc3RyZWFtLXN0YXRzLSR7dlooKX0uanNvbmApLHNldFRpbWVvdXQoKCk9PlVSTC5yZXZva2VPYmplY3RVUkwoSiksMCl9ZnVuY3Rpb24gdlooKXtyZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1s6Ll0vZywiLSIpLnJlcGxhY2UoIloiLCIiKX12YXIgUlo9WzYwLDMwLDIwLDE1LDEwLDVdLE04PVJaLm1hcCgoJCk9PntsZXQgUT1TdHJpbmcoJCk7cmV0dXJue3ZhbHVlOlEsbGFiZWw6UX19KTtmdW5jdGlvbiBBOCgkKXtsZXQgUT1TdHJpbmcoJCk7aWYoJDw9NjAmJiFNOC5zb21lKChKKT0+Si52YWx1ZT09PVEpKXJldHVyblt7dmFsdWU6USxsYWJlbDpRfSwuLi5NOF07cmV0dXJuIE04fXZhciBoWj1be3ZhbHVlOiJodHRwIixsYWJlbDoiSFRUUCJ9LHt2YWx1ZToid2VicnRjIixsYWJlbDoiV2ViUlRDIn1dLGdaPVt7dmFsdWU6IndlYnJ0YyIsbGFiZWw6IldlYlJUQyJ9XSxmWj1be3ZhbHVlOiJhdXRvIixsYWJlbDoiQXV0byJ9LHt2YWx1ZToiaDI2NCIsbGFiZWw6IkguMjY0In0se3ZhbHVlOiJtanBlZyIsbGFiZWw6Ik1KUEVHIn1dLG1aPVt7dmFsdWU6ImgyNjQiLGxhYmVsOiJILjI2NCJ9LHt2YWx1ZToidnA5IixsYWJlbDoiVlA5In0se3ZhbHVlOiJ2cDgiLGxhYmVsOiJWUDgifV0scFo9W3t2YWx1ZToiMCIsbGFiZWw6IkZ1bGwifSx7dmFsdWU6IjE5MjAiLGxhYmVsOiIxOTIwIn0se3ZhbHVlOiIxNjAwIixsYWJlbDoiMTYwMCJ9LHt2YWx1ZToiMTI4MCIsbGFiZWw6IjEyODAifSx7dmFsdWU6Ijk2MCIsbGFiZWw6Ijk2MCJ9LHt2YWx1ZToiNzIwIixsYWJlbDoiNzIwIn1dLHVaPVt7dmFsdWU6IjAuNDUiLGxhYmVsOiI0NSUifSx7dmFsdWU6IjAuNTUiLGxhYmVsOiI1NSUifSx7dmFsdWU6IjAuNyIsbGFiZWw6IjcwJSJ9LHt2YWx1ZToiMC44NSIsbGFiZWw6Ijg1JSJ9LHt2YWx1ZToiMSIsbGFiZWw6IjEwMCUifV0sbFo9W3t2YWx1ZToiMTUwMDAwMCIsbGFiZWw6IjEuNSBNYnBzIn0se3ZhbHVlOiIzMDAwMDAwIixsYWJlbDoiMyBNYnBzIn0se3ZhbHVlOiI2MDAwMDAwIixsYWJlbDoiNiBNYnBzIn0se3ZhbHVlOiIxMDAwMDAwMCIsbGFiZWw6IjEwIE1icHMifSx7dmFsdWU6IjE2MDAwMDAwIixsYWJlbDoiMTYgTWJwcyJ9XSx1MD0ic2l6ZS0zLjUiO2Z1bmN0aW9uIGs4KCQsUSxKKXtsZXQgWD1TdHJpbmcoJCk7cmV0dXJuIFEuc29tZSgoSyk9PksudmFsdWU9PT1YKT9ROlt7dmFsdWU6WCxsYWJlbDpKKCQpfSwuLi5RXX1mdW5jdGlvbiBpNCh7c2V0dGluZ3M6JCxvblBsYXliYWNrU2V0dGluZ3NDaGFuZ2U6USxvbkVuY29kZXJTZXR0aW5nc0NoYW5nZTpKLGFjdGl2ZUNvZGVjOlgsYXZjY1N1cHBvcnRlZDpLLHBlZXJDb25uZWN0aW9uOlksd2VicnRjU3RhdHNVcmw6cSx3ZWJydGNTZXNzaW9uSWQ6RyxlbmNvZGVyU2V0dGluZ3NEaXNhYmxlZDpCPSExLHRyYW5zcG9ydExvY2tlZDpOPSExfSl7bGV0W3osVl09ayghMSkse3N0YXRzOlUsaGlzdG9yeTpDLHN0YWxlOk19PWY0KFkpLEw9UjQocT8/IiIsRz8/bnVsbCxxIT09dm9pZCAwJiZZIT09bnVsbCYmRyE9bnVsbCksSD1MLnN0YWxlP251bGw6TC5zZXNzaW9uLE89VT09PW51bGx8fE0/W106ZDQoVSxIKSxXPU0/IlN0cmVhbSBzYW1wbGVzIGhhdmUgc3RvcHBlZCI6Ty5qb2luKCI7ICIpLFQ9VT09PW51bGw/bnVsbDpsNChVKSxQPSQudHJhbnNwb3J0PT09Imh0dHAiLHg9JC50cmFuc3BvcnQ9PT0id2VicnRjIjtyZXR1cm4gWihzMSx7b3Blbjp6LG9uT3BlbkNoYW5nZTpWLCJkYXRhLXN0cmVhbS1zZXR0aW5ncyI6IiIsc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WihRMSx7Y2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IlN0cmVhbSJ9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJqdXN0aWZ5LXNlbGYtZW5kIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IixjaGlsZHJlbjpbIXomJlQhPT1udWxsP1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNDAgdGFidWxhci1udW1zIixjaGlsZHJlbjpUfSk6Wigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS80MCB1cHBlcmNhc2UiLGNoaWxkcmVuOlh9KSwoTy5sZW5ndGg+MHx8TSkmJlooInNwYW4iLHsiZGF0YS1zdHJlYW0td2FybmluZyI6ITAscm9sZToic3RhdHVzIixjbGFzc05hbWU6Imdyb3VwIHJlbGF0aXZlIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46W1ooSTAseyJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzTmFtZToidy0zLjUgaC0zLjUgdGV4dC13YXJuaW5nIn0pLFooInNwYW4iLHtjbGFzc05hbWU6InNyLW9ubHkiLGNoaWxkcmVuOld9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJwb2ludGVyLWV2ZW50cy1ub25lIGFic29sdXRlIHJpZ2h0LTAgdG9wLWZ1bGwgei0xMCBtdC0xIGhpZGRlbiB3LW1heCBtYXgtdy1bMjIwcHhdIHJvdW5kZWQtbWQgYmctYmxhY2svOTAgcHgtMiBweS0xIHRleHQtWzExcHhdIGxlYWRpbmctc251ZyB0ZXh0LXdoaXRlLzkwIHNoYWRvdy1sZyBncm91cC1ob3ZlcjpibG9jayIsY2hpbGRyZW46V30pXX0pXX0pXX0pLGNoaWxkcmVuOlooImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMS41IHBiLTEuNSIsY2hpbGRyZW46W1ooYzQse3N0YXRzOlUsaGlzdG9yeTpDLGZhdWx0czpPLHNlbmRlcjpILGNhcHR1cmU6TC5zdGFsZT9udWxsOkwuY2FwdHVyZSxyZXF1ZXN0ZWRGcHM6JC5oMjY0RnBzLHN0YWxlOk0sYWN0aW9uOloobzQse2hpc3Rvcnk6Qyxjb250ZXh0Ont0cmFuc3BvcnQ6JC50cmFuc3BvcnQsY29kZWM6VT8uY29kZWMsc2VuZGVyOkgsY2FwdHVyZTpMLnN0YWxlP251bGw6TC5jYXB0dXJlfX0pfSksWihZMCx7aWNvbjpaKHIwLHtjbGFzc05hbWU6dTB9KSxsYWJlbDoiVHJhbnNwb3J0IixjaGlsZHJlbjpaKE0wLHtsYWJlbDoiVHJhbnNwb3J0Iix2YWx1ZTokLnRyYW5zcG9ydCxvcHRpb25zOk4/Z1o6aFosZGlzYWJsZWQ6TixvbkNoYW5nZTooRCk9PlEoe3RyYW5zcG9ydDpEfSl9KX0pLCFOJiZaKFkwLHtpY29uOloocjAse2NsYXNzTmFtZTp1MH0pLGxhYmVsOiJIVFRQIGNvZGVjIixjaGlsZHJlbjpaKE0wLHtsYWJlbDoiSFRUUCBjb2RlYyIsdmFsdWU6Sz8kLmh0dHBDb2RlYzoibWpwZWciLG9wdGlvbnM6ZlosZGlzYWJsZWQ6IVB8fCFLLG9uQ2hhbmdlOihEKT0+USh7aHR0cENvZGVjOkR9KX0pfSksWihZMCx7aWNvbjpaKHIwLHtjbGFzc05hbWU6dTB9KSxsYWJlbDoiV2ViUlRDIGNvZGVjIixjaGlsZHJlbjpaKE0wLHtsYWJlbDoiV2ViUlRDIGNvZGVjIix2YWx1ZTokLndlYlJ0Y0NvZGVjLG9wdGlvbnM6bVosZGlzYWJsZWQ6IXgsb25DaGFuZ2U6KEQpPT5RKHt3ZWJSdGNDb2RlYzpEfSl9KX0pLFooWTAse2ljb246WihqMCx7Y2xhc3NOYW1lOnUwfSksbGFiZWw6Ik1heCBzaXplIixjaGlsZHJlbjpaKE0wLHtsYWJlbDoiTWF4IHNpemUiLHZhbHVlOlN0cmluZygkLm1heERpbWVuc2lvbiksb3B0aW9uczprOCgkLm1heERpbWVuc2lvbixwWixTdHJpbmcpLGRpc2FibGVkOkIsb25DaGFuZ2U6KEQpPT5KKHttYXhEaW1lbnNpb246TnVtYmVyKEQpfSl9KX0pLCFOJiZaKFExLHtjaGlsZHJlbjpbWihZMCx7aWNvbjpaKGowLHtjbGFzc05hbWU6dTB9KSxsYWJlbDoiTUpQRUcgRlBTIixjaGlsZHJlbjpaKE0wLHtsYWJlbDoiTUpQRUcgRlBTIix2YWx1ZTpTdHJpbmcoJC5tanBlZ0Zwcyksb3B0aW9uczpBOCgkLm1qcGVnRnBzKSxkaXNhYmxlZDpCfHwhUCxvbkNoYW5nZTooRCk9Pkooe21qcGVnRnBzOk51bWJlcihEKX0pfSl9KSxaKFkwLHtpY29uOlooajAse2NsYXNzTmFtZTp1MH0pLGxhYmVsOiJNSlBFRyBxdWFsaXR5IixjaGlsZHJlbjpaKE0wLHtsYWJlbDoiTUpQRUcgcXVhbGl0eSIsdmFsdWU6U3RyaW5nKCQubWpwZWdRdWFsaXR5KSxvcHRpb25zOms4KCQubWpwZWdRdWFsaXR5LHVaLChEKT0+YCR7TWF0aC5yb3VuZChEKjEwMCl9JWApLGRpc2FibGVkOkJ8fCFQLG9uQ2hhbmdlOihEKT0+Sih7bWpwZWdRdWFsaXR5Ok51bWJlcihEKX0pfSl9KV19KSxaKFkwLHtpY29uOlooajAse2NsYXNzTmFtZTp1MH0pLGxhYmVsOiJWaWRlbyBGUFMiLGNoaWxkcmVuOlooTTAse2xhYmVsOiJWaWRlbyBGUFMiLHZhbHVlOlN0cmluZygkLmgyNjRGcHMpLG9wdGlvbnM6QTgoJC5oMjY0RnBzKSxkaXNhYmxlZDpCfHxQJiYoIUt8fCQuaHR0cENvZGVjPT09Im1qcGVnIiksb25DaGFuZ2U6KEQpPT5KKHtoMjY0RnBzOk51bWJlcihEKX0pfSl9KSxaKFkwLHtpY29uOlooajAse2NsYXNzTmFtZTp1MH0pLGxhYmVsOiJWaWRlbyBiaXRyYXRlIixjaGlsZHJlbjpaKE0wLHtsYWJlbDoiVmlkZW8gYml0cmF0ZSIsdmFsdWU6U3RyaW5nKCQuaDI2NEJpdHJhdGUpLG9wdGlvbnM6azgoJC5oMjY0Qml0cmF0ZSxsWiwoRCk9PmAke0QvMWU2fSBNYnBzYCksZGlzYWJsZWQ6Qnx8UCYmKCFLfHwkLmh0dHBDb2RlYz09PSJtanBlZyIpLG9uQ2hhbmdlOihEKT0+Sih7aDI2NEJpdHJhdGU6TnVtYmVyKEQpfSl9KX0pXX0pfSl9ZnVuY3Rpb24gbjQoe29wZW46JCxvbkNsb3NlOlEscGVlckNvbm5lY3Rpb246Six3ZWJydGNTdGF0c1VybDpYLHdlYnJ0Y1Nlc3Npb25JZDpLLHVkaWQ6WSxkZXZpY2VSdW50aW1lOnEsY3VycmVudEFwcDpHLGV2ZW50TG9nRXZlbnRzRW5kcG9pbnQ6QixtZXRyaWNzRW5kcG9pbnQ6TixheE92ZXJsYXlFbmFibGVkOnosb25Ub2dnbGVBeE92ZXJsYXk6VixzdHJlYW1TZXR0aW5nczpVLG9uU3RyZWFtUGxheWJhY2tTZXR0aW5nc0NoYW5nZTpDLG9uU3RyZWFtRW5jb2RlclNldHRpbmdzQ2hhbmdlOk0sYWN0aXZlQ29kZWM6TCxhdmNjU3VwcG9ydGVkOkgsc3RyZWFtU2V0dGluZ3NQZW5kaW5nOk8sc3RyZWFtVHJhbnNwb3J0TG9ja2VkOlc9ITEsd2lkdGg6VH0pe3JldHVybiBaKEMyLHtvcGVuOiQsd2lkdGg6VCxzdHlsZTp7YmFja2dyb3VuZENvbG9yOkYyfSxjaGlsZHJlbjpbWihPMix7Y2hpbGRyZW46W1ooTTYse2NoaWxkcmVuOiJUb29scyJ9KSxaKHU1LHtvbkNsaWNrOlF9KV19KSwkJiZaKCJkaXYiLHtjbGFzc05hbWU6InAtMy41IG92ZXJmbG93LXktYXV0byBmbGV4LTEgZmxleCBmbGV4LWNvbCBnYXAtMyIsY2hpbGRyZW46W1ooTDQse3VkaWQ6WSxjdXJyZW50QXBwOkd9KSxaKFM0LHt1ZGlkOlksY3VycmVudEFwcEJ1bmRsZUlkOkc/LmJ1bmRsZUlkPz9udWxsLG1ldHJpY3NFbmRwb2ludDpOfSksWihJNCx7dWRpZDpZLGV2ZW50c0VuZHBvaW50OkJ9KSxaKHg0LHt1ZGlkOlkscnVudGltZTpxfSksWihPNCx7b3ZlcmxheUVuYWJsZWQ6eixvblRvZ2dsZU92ZXJsYXk6Vn0pLFooRTQse3VkaWQ6WSxidW5kbGVJZDpHPy5idW5kbGVJZD8/bnVsbH0pLFooTjQse3VkaWQ6WSxleGVjOlQxfSksWihINCx7dWRpZDpZLGJ1bmRsZUlkOkc/LmJ1bmRsZUlkPz9udWxsfSksWihpNCx7c2V0dGluZ3M6VSxvblBsYXliYWNrU2V0dGluZ3NDaGFuZ2U6QyxvbkVuY29kZXJTZXR0aW5nc0NoYW5nZTpNLGFjdGl2ZUNvZGVjOkwsYXZjY1N1cHBvcnRlZDpILGVuY29kZXJTZXR0aW5nc0Rpc2FibGVkOk8sdHJhbnNwb3J0TG9ja2VkOlcscGVlckNvbm5lY3Rpb246Six3ZWJydGNTdGF0c1VybDpYLHdlYnJ0Y1Nlc3Npb25JZDpLfSldfSldfSl9ZnVuY3Rpb24gcjQoJCxRKXtsZXQgSjt0cnl7Sj1uZXcgVVJMKCQud2ViU29ja2V0RGVidWdnZXJVcmwpfWNhdGNoe3JldHVybiAkfWxldCBYPWAke0oucGF0aG5hbWV9JHtKLnNlYXJjaH1gLEs9US5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6IixZPVEucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzIjoid3MiLHE9YCR7US5ob3N0fSR7WH1gLEc9JC5kZXZ0b29sc0Zyb250ZW5kVXJsO3RyeXtsZXQgQj1uZXcgVVJMKCQuZGV2dG9vbHNGcm9udGVuZFVybCxgJHtRLnByb3RvY29sfS8vJHtRLmhvc3R9YCk7Qi5zZWFyY2hQYXJhbXMuZGVsZXRlKCJ3cyIpLEIuc2VhcmNoUGFyYW1zLmRlbGV0ZSgid3NzIiksQi5zZWFyY2hQYXJhbXMuc2V0KFkscSksRz1gJHtCLnBhdGhuYW1lfSR7Qi5zZWFyY2h9JHtCLmhhc2h9YH1jYXRjaHt9cmV0dXJuey4uLiQsd2ViU29ja2V0RGVidWdnZXJVcmw6YCR7S30vLyR7US5ob3N0fSR7WH1gLGRldnRvb2xzRnJvbnRlbmRVcmw6R319ZnVuY3Rpb24gWDUoJCxRKXtmZXRjaCh2MSgiZGV2dG9vbHMvaGlnaGxpZ2h0Iikse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt0YXJnZXRJZDokLG9uOlF9KSxrZWVwYWxpdmU6ITB9KS5jYXRjaCgoKT0+e30pfWZ1bmN0aW9uIFc4KCl7bGV0ICQ9djEoImRldnRvb2xzL3JlbGVhc2UiKTt0cnl7aWYodHlwZW9mIG5hdmlnYXRvcjwidSImJm5hdmlnYXRvci5zZW5kQmVhY29uKXtsZXQgUT1uZXcgQmxvYihbInt9Il0se3R5cGU6ImFwcGxpY2F0aW9uL2pzb24ifSk7aWYobmF2aWdhdG9yLnNlbmRCZWFjb24oJCxRKSlyZXR1cm59fWNhdGNoe31mZXRjaCgkLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keToie30iLGtlZXBhbGl2ZTohMH0pLmNhdGNoKCgpPT57fSl9ZnVuY3Rpb24gYTQoJCl7bGV0IFE9JC5jb250ZW50RG9jdW1lbnQ7aWYoIVEpcmV0dXJuO2xldCBKPSgpPT57bGV0IFk9W1FdO3doaWxlKFkubGVuZ3RoKXtsZXQgcT1ZLnBvcCgpLEc9cS5xdWVyeVNlbGVjdG9yQWxsKCJbYXJpYS1sYWJlbF0sW3RpdGxlXSIpO2ZvcihsZXQgQiBvZiBHKXtsZXQgTj1CLmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpfHxCLnRpdGxlfHwiIjtpZigvXnRvZ2dsZSBzY3JlZW5jYXN0JC9pLnRlc3QoTikpcmV0dXJuIEJ9Zm9yKGxldCBCIG9mIHEucXVlcnlTZWxlY3RvckFsbCgiKiIpKWlmKEIuc2hhZG93Um9vdClZLnB1c2goQi5zaGFkb3dSb290KX1yZXR1cm4gbnVsbH0sWD0wLEs9KCk9PntYKys7bGV0IFk9SigpO2lmKFkmJlkuZ2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiKSE9PSJmYWxzZSIpe1kuY2xpY2soKTtyZXR1cm59aWYoWDwyMClzZXRUaW1lb3V0KEssMTAwKX07SygpfWZ1bmN0aW9uIHM0KCQpe2xldCBRPVtdLEo9bmV3IE1hcDtmb3IobGV0IFggb2YgJCl7bGV0IEs9WC5hcHBOYW1lfHxYLmJ1bmRsZUlkfHwiVW5rbm93biIsWT1YLmJ1bmRsZUlkfHxLLHE9Si5nZXQoWSk7aWYoIXEpcT17a2V5OlksYXBwTmFtZTpLLGJ1bmRsZUlkOlguYnVuZGxlSWQsdGFyZ2V0czpbXX0sSi5zZXQoWSxxKSxRLnB1c2goWSk7cS50YXJnZXRzLnB1c2goWCl9cmV0dXJuIFEubWFwKChYKT0+Si5nZXQoWCkpfWZ1bmN0aW9uIHQ0KCQsUSl7bGV0W0osWF09ayh7fSksSz1EMSgoKT0+US5zbGljZSgpLnNvcnQoKS5qb2luKCJ8IiksW1FdKTtyZXR1cm4geSgoKT0+e2lmKCEkKXJldHVybjtsZXQgWT0hMTtmb3IobGV0IHEgb2YgUSl7aWYoIXEpY29udGludWU7bGV0IEc9YCR7JH06JHtxfWAsQj1NMi5nZXQoRyk7aWYodHlwZW9mIEI9PT0ic3RyaW5nInx8Qj09PW51bGwpe1goKE4pPT5OW3FdPT09Qj9OOnsuLi5OLFtxXTpCfSk7Y29udGludWV9ejQoVDEsJCxxKS50aGVuKChOKT0+e2lmKFkpcmV0dXJuO1goKHopPT4oey4uLnosW3FdOk59KSl9KX1yZXR1cm4oKT0+e1k9ITB9fSxbJCxLXSksSn1mdW5jdGlvbiBlNCh7dWRpZDokLHRhcmdldHM6USxzZWxlY3RlZDpKLG9uU2VsZWN0VGFyZ2V0Olgsb25SZWZyZXNoOkt9KXtsZXQgWT1zNChRKSxxPVkubWFwKChMKT0+TC5idW5kbGVJZCkuZmlsdGVyKChMKT0+ISFMKSxHPXQ0KCQscSksW0IsTl09ayghMSksW3osVl09ayhudWxsKSxVPXcobnVsbCksQz13KG51bGwpO3koKCk9PntpZighQilyZXR1cm47bGV0IEw9KEgpPT57aWYoIUMuY3VycmVudClyZXR1cm47aWYoIUMuY3VycmVudC5jb250YWlucyhILnRhcmdldCkpTighMSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLEwpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLEwpfSxbQl0pLHkoKCk9PntpZihCKXJldHVybjtpZihVLmN1cnJlbnQpWDUoVS5jdXJyZW50LCExKSxVLmN1cnJlbnQ9bnVsbDtXOCgpfSxbQl0pLHkoKCk9PntsZXQgTD0oKT0+VzgoKTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixMKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixMKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsTCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsTCl9fSxbXSk7bGV0IE09Sj8oSi50aXRsZXx8Si51cmx8fEouYXBwTmFtZXx8IlVudGl0bGVkIikuc2xpY2UoMCw5MCk6IlNlbGVjdCB0YXJnZXQiO3JldHVybiBaKCJkaXYiLHtyZWY6QyxjbGFzc05hbWU6InJlbGF0aXZlIHctZnVsbCBtaW4tdy0wIixjaGlsZHJlbjpbWigiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT57TigoTCk9PntpZighTClLKCk7cmV0dXJuIUx9KX0sY2xhc3NOYW1lOiJ3LWZ1bGwgbWluLXctMCBoLVsyNnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIgYmctcGFuZWwgdGV4dC13aGl0ZS85MCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQtbWQgdGV4dC1bMTJweF0gcHgtMiBjdXJzb3ItcG9pbnRlciB0ZXh0LWxlZnQiLCJhcmlhLWhhc3BvcHVwIjoibGlzdGJveCIsImFyaWEtZXhwYW5kZWQiOkIsImFyaWEtbGFiZWwiOiJXZWJLaXQgdGFyZ2V0IixjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToib3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgbWluLXctMCIsY2hpbGRyZW46TX0pLFooUjIse3NpemU6MTIsc3Ryb2tlV2lkdGg6Mn0pXX0pLEImJlooInVsIix7cm9sZToibGlzdGJveCIsY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtW2NhbGMoMTAwJSs0cHgpXSBsZWZ0LTAgbS0wIHAtMSBsaXN0LW5vbmUgYmctcGFuZWwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLWxnIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNSldIG1pbi13LVsyMjBweF0gbWF4LXctWzM2MHB4XSBtYXgtaC1bMzIwcHhdIG92ZXJmbG93LXktYXV0byB6LTUwIixjaGlsZHJlbjpZLm1hcCgoTCk9PntsZXQgSD1MLmJ1bmRsZUlkP0dbTC5idW5kbGVJZF06bnVsbDtyZXR1cm4gWigibGkiLHtjbGFzc05hbWU6Imxpc3Qtbm9uZSBtLTAgcC0wIixjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0xLjUgcHQtMSBwYi0wLjUgdGV4dC1bMTJweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlL1swLjkyXSIsY2hpbGRyZW46W0g/WigiaW1nIix7c3JjOkgsYWx0OiIiLGNsYXNzTmFtZToidy00IGgtNCByb3VuZGVkLVszcHhdIHNocmluay0wIG9iamVjdC1jb3ZlciJ9KTpaKCJzcGFuIix7Y2xhc3NOYW1lOiJ3LTQgaC00IHJvdW5kZWQtWzNweF0gc2hyaW5rLTAgb2JqZWN0LWNvdmVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLFooInNwYW4iLHtjbGFzc05hbWU6Im92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpMLmFwcE5hbWV9KV19KSxaKCJ1bCIse3JvbGU6Imdyb3VwIixjbGFzc05hbWU6Imxpc3Qtbm9uZSBtLTAgcC0wIHBsLVsyNnB4XSIsY2hpbGRyZW46TC50YXJnZXRzLm1hcCgoTyk9PntsZXQgVz1KPy5pZD09PU8uaWQsVD0hIU8uaW5Vc2VCeU90aGVySW5zcGVjdG9yJiYhVyxQPShPLnRpdGxlfHxPLnVybHx8Ty5hcHBOYW1lfHwiVW50aXRsZWQiKS5zbGljZSgwLDkwKSx4PXo9PT1PLmlkJiYhVCxEPSJmbGV4IGZsZXgtY29sIHB4LTIgcHktWzNweF0gcm91bmRlZCB0ZXh0LVsxMnB4XSBsZWFkaW5nLVsxLjM1XSI7cmV0dXJuIFooImxpIix7cm9sZToib3B0aW9uIiwiYXJpYS1zZWxlY3RlZCI6VywiYXJpYS1kaXNhYmxlZCI6VCx0YWJJbmRleDpUPy0xOjAsdGl0bGU6VD8iQWxyZWFkeSBiZWluZyBpbnNwZWN0ZWQgYnkgYW5vdGhlciBkZWJ1Z2dlciI6dm9pZCAwLG9uTW91c2VFbnRlcjooKT0+e2lmKFQpcmV0dXJuO2lmKFUuY3VycmVudCYmVS5jdXJyZW50IT09Ty5pZClYNShVLmN1cnJlbnQsITEpO1UuY3VycmVudD1PLmlkLFYoTy5pZCksWDUoTy5pZCwhMCl9LG9uTW91c2VMZWF2ZTooKT0+e2lmKFUuY3VycmVudD09PU8uaWQpWDUoTy5pZCwhMSksVS5jdXJyZW50PW51bGw7VigoUik9PlI9PT1PLmlkP251bGw6Uil9LG9uQ2xpY2s6KCk9PntpZihUKXJldHVybjtYKE8uaWQpLE4oITEpfSxjbGFzc05hbWU6YGZsZXggZmxleC1jb2wgcHgtMiBweS1bM3B4XSByb3VuZGVkIHRleHQtWzEycHhdIGxlYWRpbmctWzEuMzVdICR7VD8ib3BhY2l0eS00MCBjdXJzb3Itbm90LWFsbG93ZWQgaXRhbGljIHRleHQtd2hpdGUvODUiOng/ImJnLVtyZ2JhKDEwLDEzMiwyNTUsMC4yMildIHRleHQtd2hpdGUvODUgY3Vyc29yLXBvaW50ZXIiOlc/ImJnLXdoaXRlL1swLjA2XSB0ZXh0LXdoaXRlLzg1IGN1cnNvci1wb2ludGVyIjoidGV4dC13aGl0ZS84NSBjdXJzb3ItcG9pbnRlciJ9YCxjaGlsZHJlbjpbWigic3BhbiIse2NsYXNzTmFtZToiYmxvY2sgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOlB9KSxPLnVybCYmTy51cmwhPT0iYWJvdXQ6YmxhbmsiJiZaKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBmb250LW1vbm8gdGV4dC1bMTBweF0gdGV4dC13aGl0ZS9bMC40Ml0gb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOk8udXJsfSldfSxPLmlkKX0pfSldfSxMLmtleSl9KX0pXX0pfWZ1bmN0aW9uICQ3KHtvcGVuOiQsb25DbG9zZTpRLHVkaWQ6Six0YXJnZXRzOlgsc2VsZWN0ZWRUYXJnZXRJZDpLLG9uU2VsZWN0VGFyZ2V0OlksbG9hZGluZzpxLGVycm9yOkcsb25SZWZyZXNoOkIsd2lkdGg6Tn0pe2xldCB6PUs/WC5maW5kKChWKT0+Vi5pZD09PUspPz9udWxsOm51bGw7cmV0dXJuIFooQzIse29wZW46JCx3aWR0aDpOLGNoaWxkcmVuOltaKE8yLHtjaGlsZHJlbjpbWC5sZW5ndGg+MD9aKGU0LHt1ZGlkOkosdGFyZ2V0czpYLHNlbGVjdGVkOnosb25TZWxlY3RUYXJnZXQ6WSxvblJlZnJlc2g6Qn0pOlooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEycHhdIHRleHQtd2hpdGUvWzAuNDhdIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpxPyJMb29raW5nIGZvciBTYWZhcmkgYW5kIGluc3BlY3RhYmxlIHdlYnZpZXdzLi4uIjoiTm8gaW5zcGVjdGFibGUgU2FmYXJpIG9yIFdLV2ViVmlldyB0YXJnZXRzIn0pLFoodTUse29uQ2xpY2s6USxhcmlhTGFiZWw6IkNsb3NlIFdlYktpdCBEZXZUb29scyIsdGl0bGU6IkNsb3NlIixpY29uU2l6ZToxNX0pXX0pLFooImRpdiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi1oLTAgYmctd2hpdGUgcmVsYXRpdmUiLGNoaWxkcmVuOkc/WigiZGl2Iix7Y2xhc3NOYW1lOiJoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC02IGJnLXBhbmVsLWRlZXAgdGV4dC13aGl0ZS9bMC41OF0gdGV4dC1jZW50ZXIgdGV4dC1bMTNweF0iLGNoaWxkcmVuOkd9KTp6JiYkP1ooImlmcmFtZSIse3NyYzp6LmRldnRvb2xzRnJvbnRlbmRVcmwsdGl0bGU6YFdlYktpdCBEZXZUb29scyAtICR7ei50aXRsZXx8ei51cmx8fHouaWR9YCxjbGFzc05hbWU6InctZnVsbCBoLWZ1bGwgYm9yZGVyLW5vbmUgYmxvY2sgYmctd2hpdGUiLG9uTG9hZDooVik9PmE0KFYuY3VycmVudFRhcmdldCl9LHouaWQpOlooImRpdiIse2NsYXNzTmFtZToiaC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtNiBiZy1wYW5lbC1kZWVwIHRleHQtd2hpdGUvWzAuNThdIHRleHQtY2VudGVyIHRleHQtWzEzcHhdIixjaGlsZHJlbjp6PyJEZXZUb29scyBwYXVzZWQg4oCUIG9wZW4gdGhlIHBhbmVsIHRvIHJlYXR0YWNoLiI6Ik9wZW4gU2FmYXJpIG9yIGFuIGluc3BlY3RhYmxlIFdLV2ViVmlldyBpbiB0aGUgc2ltdWxhdG9yLiJ9KX0pXX0pfWZ1bmN0aW9uIGRaKHtob3N0UGF0aDokLGV4ZWM6USx1ZGlkOkosb25VcGxvYWRTdGFydDpYLG9uVXBsb2FkUHJvZ3Jlc3M6SyxvblVwbG9hZEVuZDpZLG9uSG9zdFBhdGhEcm9wOnF9KXtxPy4oJCk7bGV0IEc9JC5zcGxpdCgiLyIpLnBvcCgpPz8iaW1hZ2UiLEI9WChHLCJtZWRpYSIpO3JldHVybiBLKEIsbnVsbCksTTQoJCxRLEopLnRoZW4oKCk9PlkoQiwhMCkpLmNhdGNoKChOKT0+WShCLCExLE4gaW5zdGFuY2VvZiBFcnJvcj9OLm1lc3NhZ2U6IkFkZCBmYWlsZWQiKSl9ZnVuY3Rpb24gUTcoe2V4ZWM6JCx1ZGlkOlEsZW5hYmxlZDpKLG9uVXBsb2FkU3RhcnQ6WCxvblVwbG9hZFByb2dyZXNzOkssb25VcGxvYWRFbmQ6WSxvblVuc3VwcG9ydGVkOnEsb25Ib3N0UGF0aERyb3A6R30pe2xldFtCLE5dPWsoITEpLHo9dygwKSxWPUkoYXN5bmMoTCk9PntpZihMLnByZXZlbnREZWZhdWx0KCksTC5zdG9wUHJvcGFnYXRpb24oKSx6LmN1cnJlbnQ9MCxOKCExKSwhSnx8IVEpcmV0dXJuO2xldCBIPUwuZGF0YVRyYW5zZmVyLmdldERhdGEoczUpO2lmKEgpe2RaKHtob3N0UGF0aDpILGV4ZWM6JCx1ZGlkOlEsb25VcGxvYWRTdGFydDpYLG9uVXBsb2FkUHJvZ3Jlc3M6SyxvblVwbG9hZEVuZDpZLG9uSG9zdFBhdGhEcm9wOkd9KTtyZXR1cm59bGV0IE89QXJyYXkuZnJvbShMLmRhdGFUcmFuc2Zlci5maWxlcyk7aWYoTy5sZW5ndGg9PT0wKXJldHVybjtmb3IobGV0IFcgb2YgTyl7bGV0IFQ9QTQoVyk7aWYoIVQpe3EoVyk7Y29udGludWV9bGV0IFA9WChXLm5hbWUsVCk7XzQoVyxULCQsUSwoeCk9PksoUCx4KSkudGhlbigoKT0+WShQLCEwKSkuY2F0Y2goKHgpPT5ZKFAsITEseCBpbnN0YW5jZW9mIEVycm9yP3gubWVzc2FnZToiVXBsb2FkIGZhaWxlZCIpKX19LFtKLFEsJCxYLEssWSxxLEddKSxVPUkoKEwpPT57aWYoTC5wcmV2ZW50RGVmYXVsdCgpLEopTC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0iY29weSJ9LFtKXSksQz1JKChMKT0+e2lmKEwucHJldmVudERlZmF1bHQoKSwhSilyZXR1cm47aWYoei5jdXJyZW50Kyssei5jdXJyZW50PT09MSlOKCEwKX0sW0pdKSxNPUkoKEwpPT57aWYoTC5wcmV2ZW50RGVmYXVsdCgpLHouY3VycmVudC0tLHouY3VycmVudDw9MCl6LmN1cnJlbnQ9MCxOKCExKX0sW10pO3JldHVybntpc0RyYWdPdmVyOkIsZHJvcFpvbmVQcm9wczp7b25EcmFnT3ZlcjpVLG9uRHJhZ0VudGVyOkMsb25EcmFnTGVhdmU6TSxvbkRyb3A6Vn19fWZ1bmN0aW9uIEo3KCQpe2xldCBRPW5ldyBVaW50OEFycmF5KDY1NTM2KSxKPTAsWD0wLEs9MTAyNCxZPW5ldyBUZXh0RGVjb2RlcigibGF0aW4xIikscT0oVSk9PntpZihKK1UubGVuZ3RoPlEubGVuZ3RoKXtpZihYPjApUS5jb3B5V2l0aGluKDAsWCxKKSxKLT1YLFg9MDtpZihKK1UubGVuZ3RoPlEubGVuZ3RoKXtsZXQgQz1RLmxlbmd0aDt3aGlsZShDPEorVS5sZW5ndGgpQyo9MjtsZXQgTT1uZXcgVWludDhBcnJheShDKTtNLnNldChRLnN1YmFycmF5KDAsSikpLFE9TX19US5zZXQoVSxKKSxKKz1VLmxlbmd0aH0sRz0oVSk9PntsZXQgQz1NYXRoLm1pbihKLTQsVStLKTtmb3IobGV0IE09VTtNPD1DO00rKylpZihRW01dPT09MTMmJlFbTSsxXT09PTEwJiZRW00rMl09PT0xMyYmUVtNKzNdPT09MTApcmV0dXJuIE07cmV0dXJuLTF9LEI9KFUsQyk9PntsZXQgTT1ZLmRlY29kZShRLnN1YmFycmF5KFUsQykpLEw9L2NvbnRlbnQtbGVuZ3RoOlxzKihcZCspL2kuZXhlYyhNKTtyZXR1cm4gTD9OdW1iZXIoTFsxXSk6bnVsbH0sTj0wLHo9KFUpPT57bGV0IEM9LTE7Zm9yKGxldCBNPVU7TTxKLTE7TSsrKWlmKFFbTV09PT0yNTUmJlFbTSsxXT09PTIxNil7Qz1NO2JyZWFrfWlmKEM9PT0tMSlyZXR1cm4gbnVsbDtmb3IobGV0IE09TWF0aC5tYXgoQysyLE4pO008Si0xO00rKylpZihRW01dPT09MjU1JiZRW00rMV09PT0yMTcpcmV0dXJuIE49MCx7czpDLGU6TSsyfTtyZXR1cm4gTj1NYXRoLm1heChDKzIsSi0xKSxudWxsfSxWPSgpPT57d2hpbGUoWDxKKXtsZXQgVT1HKFgpO2lmKFU+PTApe2xldCBNPUIoWCxVKTtpZihNIT1udWxsJiZNPjApe2xldCBMPVUrNCxIPUwrTTtpZihKPEgpYnJlYWs7JChRLnN1YmFycmF5KEwsSCkpLFg9SDtjb250aW51ZX19ZWxzZSBpZihKLVg8PUspYnJlYWs7bGV0IEM9eihYKTtpZighQylicmVhazskKFEuc3ViYXJyYXkoQy5zLEMuZSkpLFg9Qy5lfWlmKFg+MCl7aWYoWDxKKVEuY29weVdpdGhpbigwLFgsSik7Si09WCxOPU4+WD9OLVg6MCxYPTB9fTtyZXR1cm57cHVzaChVKXtpZihVLmxlbmd0aD09PTApcmV0dXJuO3EoVSksVigpfX19ZnVuY3Rpb24gWjcoJCl7bGV0IFE9dyhuZXcgU2V0KSxKPUkoKFgpPT57cmV0dXJuIFEuY3VycmVudC5hZGQoWCksKCk9PntRLmN1cnJlbnQuZGVsZXRlKFgpfX0sW10pO3JldHVybiB5KCgpPT57aWYoISQpcmV0dXJuO2xldCBYPW5ldyBBYm9ydENvbnRyb2xsZXIsSz0hMSxZPW51bGwscT1uZXcgVVJMKCQpO3Euc2VhcmNoUGFyYW1zLnNldCgicmF3IiwiMSIpO2xldCBHPXEudG9TdHJpbmcoKSxCPSgpPT57aWYoS3x8WC5zaWduYWwuYWJvcnRlZHx8WSlyZXR1cm47WT1zZXRUaW1lb3V0KCgpPT57WT1udWxsLHooKX0sMTAwMCl9LE49KFYpPT57aWYoUS5jdXJyZW50LnNpemU9PT0wKXJldHVybjtsZXQgVT1VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtWXSx7dHlwZToiaW1hZ2UvanBlZyJ9KSk7Zm9yKGxldCBDIG9mIFEuY3VycmVudClDKFUpfSx6PWFzeW5jKCk9Pnt0cnl7bGV0IFU9KGF3YWl0IGZldGNoKEcse3NpZ25hbDpYLnNpZ25hbH0pKS5ib2R5Py5nZXRSZWFkZXIoKTtpZighVSl7QigpO3JldHVybn1sZXQgQz1KNyhOKTt3aGlsZSghMCl7bGV0e2RvbmU6TSx2YWx1ZTpMfT1hd2FpdCBVLnJlYWQoKTtpZihNKWJyZWFrO2lmKEwmJkwubGVuZ3RoKUMucHVzaChMKX19Y2F0Y2h7fWZpbmFsbHl7QigpfX07cmV0dXJuIHooKSwoKT0+e2lmKEs9ITAsWSljbGVhclRpbWVvdXQoWSk7WC5hYm9ydCgpfX0sWyRdKSx7c3Vic2NyaWJlRnJhbWU6SixmcmFtZTpudWxsfX1mdW5jdGlvbiBYNygpe2xldFskXT1rKG4wKTtyZXR1cm57c3VwcG9ydGVkOiR9fWZ1bmN0aW9uIFgzKCQsUSl7cmV0dXJuICQ9PT0iZmlyc3QtZnJhbWUtdGltZW91dCImJlE9PT0iY29ubmVjdGVkIj8iY29kZWMiOiJ0cmFuc3BvcnQifXZhciBLNz0iYWxsIjtjbGFzcyBLNSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIldlYlJUQyBzaWduYWxpbmcgc3RheWVkIGJ1c3kgZm9yIHRvbyBsb25nLiBSZWxvYWQgdG8gdHJ5IGFnYWluLiIpO3RoaXMubmFtZT0iV2ViUnRjU2lnbmFsaW5nQnVzeUVycm9yIn19Y2xhc3MgWTMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJXZWJSVEMgc2lnbmFsaW5nIHRpbWVkIG91dC4iKTt0aGlzLm5hbWU9IldlYlJ0Y1NpZ25hbGluZ1RpbWVvdXRFcnJvciJ9fWZ1bmN0aW9uIEszKCQpe3JldHVybiAkLnJlYXNvbj8/bmV3IERPTUV4Y2VwdGlvbigiVGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZCIsIkFib3J0RXJyb3IiKX1mdW5jdGlvbiBjWigkLFEpe2lmKFE/LmFib3J0ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KEszKFEpKTtyZXR1cm4gbmV3IFByb21pc2UoKEosWCk9PntsZXQgSz1zZXRUaW1lb3V0KFksJCk7ZnVuY3Rpb24gWSgpe1E/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixxKSxKKCl9ZnVuY3Rpb24gcSgpe2NsZWFyVGltZW91dChLKSxYKFE/SzMoUSk6bmV3IERPTUV4Y2VwdGlvbigiVGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZCIsIkFib3J0RXJyb3IiKSl9UT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHEse29uY2U6ITB9KX0pfWFzeW5jIGZ1bmN0aW9uIFk3KHt1cmw6JCxzZXNzaW9uSWQ6USxrZWVwYWxpdmU6Sj0hMSxzZW5kQmVhY29uOlgsZmV0Y2hJbXBsOks9ZmV0Y2h9KXtsZXQgWT1KU09OLnN0cmluZ2lmeSh7c2Vzc2lvbklkOlF9KSxxPVg/Pyh0eXBlb2YgbmF2aWdhdG9yPCJ1IiYmdHlwZW9mIG5hdmlnYXRvci5zZW5kQmVhY29uPT09ImZ1bmN0aW9uIj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbi5iaW5kKG5hdmlnYXRvcik6dm9pZCAwKTtpZihKJiZxKXRyeXtpZihxKCQsbmV3IEJsb2IoW1ldLHt0eXBlOiJ0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgifSkpKXJldHVybn1jYXRjaHt9YXdhaXQgSygkLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpZLGtlZXBhbGl2ZTpKfSkudGhlbigoKT0+e3JldHVybn0sKCk9PntyZXR1cm59KX1hc3luYyBmdW5jdGlvbiBxNyh7dXJsOiQsYm9keTpRLHNpZ25hbDpKLHJlcXVlc3RUaW1lb3V0TXM6WCxidXN5UmV0cnlJbnRlcnZhbE1zOkssYnVzeVJldHJ5Q291bnQ6WSxmZXRjaEltcGw6cT1mZXRjaH0pe2ZvcihsZXQgRz0wO0c8PVk7RysrKXtpZihKPy5hYm9ydGVkKXRocm93IEszKEopO2xldCBCPW5ldyBBYm9ydENvbnRyb2xsZXIsTj0hMSx6PSgpPT5CLmFib3J0KEo/SzMoSik6dm9pZCAwKTtKPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIseix7b25jZTohMH0pO2xldCBWPXNldFRpbWVvdXQoKCk9PntOPSEwLEIuYWJvcnQoKX0sWCksVTt0cnl7VT1hd2FpdCBxKCQse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxzaWduYWw6Qi5zaWduYWwsYm9keTpRfSl9Y2F0Y2goQyl7aWYoTiYmIUo/LmFib3J0ZWQpdGhyb3cgbmV3IFkzO3Rocm93IEN9ZmluYWxseXtjbGVhclRpbWVvdXQoViksSj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHopfWlmKFUuc3RhdHVzIT09NDA5KXJldHVybiBVO2lmKGF3YWl0IFUuYm9keT8uY2FuY2VsKCksRz09PVkpdGhyb3cgbmV3IEs1O2F3YWl0IGNaKEssSil9dGhyb3cgbmV3IEs1fXZhciBvWj1be3VybHM6WyJzdHVuOnN0dW4ubC5nb29nbGUuY29tOjE5MzAyIl19LHt1cmxzOlsic3R1bjpzdHVuMS5sLmdvb2dsZS5jb206MTkzMDIiXX1dLGlaPTMwMDAsblo9MjAwMDAsclo9NDAwMCxhWj01MDAsc1o9MzAsdFo9NTAwLGVaPTUwMDA7ZnVuY3Rpb24gRzcoKXtpZih0eXBlb2YgY3J5cHRvLnJhbmRvbVVVSUQ9PT0iZnVuY3Rpb24iKXJldHVybiBjcnlwdG8ucmFuZG9tVVVJRCgpO2xldCAkPWNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMTYpKTskWzZdPSRbNl0mMTV8NjQsJFs4XT0kWzhdJjYzfDEyODtsZXQgUT1BcnJheS5mcm9tKCQsKEopPT5KLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpLmpvaW4oIiIpO3JldHVybmAke1Euc2xpY2UoMCw4KX0tJHtRLnNsaWNlKDgsMTIpfS0ke1Euc2xpY2UoMTIsMTYpfS0ke1Euc2xpY2UoMTYsMjApfS0ke1Euc2xpY2UoMjApfWB9ZnVuY3Rpb24gVjcoe29mZmVyVXJsOiQsY2xvc2VVcmw6USxlbmFibGVkOkosY29kZWM6WD0iaDI2NCIsaWNlU2VydmVyczpLfSl7bGV0W1kscV09ayhudWxsKSxbRyxCXT1rKG51bGwpLFtOLHpdPWsobnVsbCksW1YsVV09aygwKSxbQyxNXT1rKG51bGwpLFtMLEhdPWsobnVsbCksTz13KHZvaWQgMCksVz13KCExKSxUPXcoMCksUD1JKCgpPT57aWYoVy5jdXJyZW50PSEwLFQuY3VycmVudD0wLE8uY3VycmVudCE9PXZvaWQgMCl3aW5kb3cuY2xlYXJUaW1lb3V0KE8uY3VycmVudCksTy5jdXJyZW50PXZvaWQgMDtCKG51bGwpLHoobnVsbCl9LFtdKTtyZXR1cm4geSgoKT0+e1QuY3VycmVudD0wfSxbSiwkLFEsWCxLXSkseSgoKT0+e2lmKCFKfHwhJClyZXR1cm47aWYoQihudWxsKSx0eXBlb2YgUlRDUGVlckNvbm5lY3Rpb24+InUifHx0eXBlb2YgUlRDUnRwUmVjZWl2ZXI+InUiKXtxKG51bGwpLEgobnVsbCkseigiV2ViUlRDIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyLiIpLEIoe3Nlc3Npb25JZDpHNygpLGtpbmQ6InBlcm1hbmVudCJ9KTtyZXR1cm59bGV0IHg9ITEsRD1udWxsLGUsUj1udWxsLGQ9ITEsbj1uZXcgQWJvcnRDb250cm9sbGVyLG89RzcoKSxhPUs/Lmxlbmd0aD9LOm9aO2lmKEgobykscShudWxsKSxCKG51bGwpLHoobnVsbCksVy5jdXJyZW50PSExLE8uY3VycmVudCE9PXZvaWQgMCl3aW5kb3cuY2xlYXJUaW1lb3V0KE8uY3VycmVudCksTy5jdXJyZW50PXZvaWQgMDtsZXQgaT0ocz0hMSk9PntpZihSKXJldHVybiBSO3JldHVybiBSPVk3KHt1cmw6USxzZXNzaW9uSWQ6byxrZWVwYWxpdmU6c30pLFJ9LEwxPSgpPT52b2lkIGkoITApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsTDEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLEwxKTtsZXQgbD0oKT0+e3EobnVsbCksRD8uY2xvc2UoKSxNKG51bGwpfSxmPShzKT0+e2lmKHh8fGQpcmV0dXJuO2Q9ITAseihzKSxCKHtzZXNzaW9uSWQ6byxraW5kOiJwZXJtYW5lbnQifSksbCgpLGkoKX0sWDE9KCk9PntpZih4fHxkKXJldHVybjtkPSEwLGwoKSxpKCkuZmluYWxseSgoKT0+e2lmKCF4KUIoe3Nlc3Npb25JZDpvLGtpbmQ6ImNvZGVjIixjb2RlYzpYfSl9KX0sWjE9KHMpPT57aWYoeHx8ZClyZXR1cm47ZD0hMCxCKG51bGwpO2xldCBKMT1ULmN1cnJlbnQrKyxxMT1NYXRoLm1pbih0WioyKipNYXRoLm1pbihKMSw0KSxlWik7eihgJHtzfSBSZXRyeWluZy4uLmApLGwoKSxpKCkuZmluYWxseSgoKT0+e2lmKHgpcmV0dXJuO2U9d2luZG93LnNldFRpbWVvdXQoKCk9PntpZigheClVKChqKT0+aisxKX0scTEpfSl9LFUxPShzKT0+bmV3IFByb21pc2UoKEoxKT0+e2lmKHMuaWNlR2F0aGVyaW5nU3RhdGU9PT0iY29tcGxldGUiKXtKMSgpO3JldHVybn1sZXQgcTEsaj0hMSxwPSgpPT57aWYoailyZXR1cm47aWYoaj0hMCxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImljZWdhdGhlcmluZ3N0YXRlY2hhbmdlIixfKSxxMSE9PXZvaWQgMCl3aW5kb3cuY2xlYXJUaW1lb3V0KHExKTtKMSgpfSxfPSgpPT57aWYocy5pY2VHYXRoZXJpbmdTdGF0ZT09PSJjb21wbGV0ZSIpcCgpfTtzLmFkZEV2ZW50TGlzdGVuZXIoImljZWdhdGhlcmluZ3N0YXRlY2hhbmdlIixfKSxxMT13aW5kb3cuc2V0VGltZW91dChwLGlaKX0pO3JldHVybihhc3luYygpPT57dHJ5e0Q9bmV3IFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOmEsaWNlVHJhbnNwb3J0UG9saWN5Oks3fSksTShEKTtsZXQgcz1ELmFkZFRyYW5zY2VpdmVyKCJ2aWRlbyIse2RpcmVjdGlvbjoicmVjdm9ubHkifSksSjE9UlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCJ2aWRlbyIpLHExPVg9PT0iaDI2NCI/InZpZGVvL0gyNjQiOlg9PT0idnA5Ij8idmlkZW8vVlA5IjoidmlkZW8vVlA4IjtpZihKMT8uY29kZWNzLmxlbmd0aCYmInNldENvZGVjUHJlZmVyZW5jZXMiaW4gcyl7bGV0IG09cTEudG9Mb3dlckNhc2UoKTtzLnNldENvZGVjUHJlZmVyZW5jZXMoWy4uLkoxLmNvZGVjcy5maWx0ZXIoKHYpPT52Lm1pbWVUeXBlLnRvTG93ZXJDYXNlKCk9PT1tKSwuLi5KMS5jb2RlY3MuZmlsdGVyKCh2KT0+di5taW1lVHlwZS50b0xvd2VyQ2FzZSgpIT09bSldKX1ELm9udHJhY2s9KG0pPT57aWYoeClyZXR1cm47aWYoVy5jdXJyZW50PSExLG0udHJhY2sub25lbmRlZD0oKT0+WjEoIldlYlJUQyB2aWRlbyB0cmFjayBlbmRlZC4iKSxxKG0uc3RyZWFtc1swXT8/bmV3IE1lZGlhU3RyZWFtKFttLnRyYWNrXSkpLE8uY3VycmVudCE9PXZvaWQgMCl3aW5kb3cuY2xlYXJUaW1lb3V0KE8uY3VycmVudCk7Ty5jdXJyZW50PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57aWYoTy5jdXJyZW50PXZvaWQgMCx4fHxXLmN1cnJlbnQpcmV0dXJuO2xldCB2PUQ/LmNvbm5lY3Rpb25TdGF0ZT8/ImNsb3NlZCI7aWYoWDMoImZpcnN0LWZyYW1lLXRpbWVvdXQiLHYpPT09ImNvZGVjIilYMSgpO2Vsc2UgWjEoIldlYlJUQyBkaWQgbm90IGVzdGFibGlzaCBhIHZpZGVvIHBhdGguIil9LHJaKX0sRC5vbmNvbm5lY3Rpb25zdGF0ZWNoYW5nZT0oKT0+e2lmKHh8fCFEfHxELmNvbm5lY3Rpb25TdGF0ZSE9PSJmYWlsZWQiKXJldHVybjtpZihYMygiY29ubmVjdGlvbi1mYWlsZWQiLEQuY29ubmVjdGlvblN0YXRlKT09PSJ0cmFuc3BvcnQiKVoxKCJXZWJSVEMgY29ubmVjdGlvbiBmYWlsZWQuIil9O2xldCBqPWF3YWl0IEQuY3JlYXRlT2ZmZXIoKTthd2FpdCBELnNldExvY2FsRGVzY3JpcHRpb24oaiksYXdhaXQgVTEoRCk7bGV0IHA9RC5sb2NhbERlc2NyaXB0aW9uO2lmKCFwKXRocm93IEVycm9yKCJXZWJSVEMgb2ZmZXIgd2FzIG5vdCBjcmVhdGVkIik7bGV0IF89YXdhaXQgcTcoe3VybDokLHNpZ25hbDpuLnNpZ25hbCxyZXF1ZXN0VGltZW91dE1zOm5aLGJ1c3lSZXRyeUludGVydmFsTXM6YVosYnVzeVJldHJ5Q291bnQ6c1osYm9keTpKU09OLnN0cmluZ2lmeSh7dHlwZTpwLnR5cGUsc2RwOnAuc2RwLHNlc3Npb25JZDpvLGNvZGVjOlgsaWNlU2VydmVyczphfSl9KTtpZighXy5vayl7YXdhaXQgXy5ib2R5Py5jYW5jZWwoKSxmKGBXZWJSVEMgb2ZmZXIgZmFpbGVkOiBIVFRQICR7Xy5zdGF0dXN9YCk7cmV0dXJufWxldCBoPWF3YWl0IF8uanNvbigpO2lmKHgpe2F3YWl0IGkoITApO3JldHVybn10cnl7YXdhaXQgRC5zZXRSZW1vdGVEZXNjcmlwdGlvbihoKX1jYXRjaHtmKCJXZWJSVEMgcmV0dXJuZWQgYW4gaW52YWxpZCBzZXNzaW9uIGRlc2NyaXB0aW9uLiIpfX1jYXRjaChzKXtpZih4fHxuLnNpZ25hbC5hYm9ydGVkKXJldHVybjtpZihzIGluc3RhbmNlb2YgSzUpe2Yocy5tZXNzYWdlKTtyZXR1cm59bGV0IEoxPXMgaW5zdGFuY2VvZiBZMz8iV2ViUlRDIHNpZ25hbGluZyB0aW1lZCBvdXQuIjoiV2ViUlRDIHNpZ25hbGluZyBmYWlsZWQuIjtpZihYMygic2lnbmFsaW5nLWZhaWxlZCIsRD8uY29ubmVjdGlvblN0YXRlPz8iY2xvc2VkIik9PT0idHJhbnNwb3J0IilaMShKMSl9fSkoKSwoKT0+e2lmKHg9ITAsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixMMSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsTDEpLG4uYWJvcnQoKSxlIT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoZSk7aWYoTy5jdXJyZW50IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoTy5jdXJyZW50KSxPLmN1cnJlbnQ9dm9pZCAwO2koITApLHEobnVsbCksTShudWxsKSxIKG51bGwpLEQ/LmNsb3NlKCl9fSxbSiwkLFEsWCxLLFZdKSx7c3RyZWFtOlksZmFpbHVyZTpHLGVycm9yOk4sbWFya0ZyYW1lRGVjb2RlZDpQLHBlZXJDb25uZWN0aW9uOkMsc2Vzc2lvbklkOkx9fWZ1bmN0aW9uIHEzKCQsUSxKLFgsSz0ibGVmdCIpe2xldCBZPUkoKFUsQyk9Pks9PT0ibGVmdCI/VS1DOkMtVSxbS10pLHE9SSgoVSk9Pk1hdGgubWF4KEosTWF0aC5taW4oWCxVKSksW0osWF0pLFtHLEJdPWsoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gUTtsZXQgVT13aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJCksQz1VIT1udWxsP051bWJlcihVKTpOYU47cmV0dXJuIE51bWJlci5pc0Zpbml0ZShDKT9xKEMpOlF9KSxOPXR5cGVvZiB3aW5kb3c8InUiP01hdGgubWluKFgsd2luZG93LmlubmVyV2lkdGgtMzIpOlgsej1NYXRoLm1heChKLE1hdGgubWluKE4sRykpLFY9SSgoVSk9PntVLnByZXZlbnREZWZhdWx0KCk7bGV0IEM9VS5jbGllbnRYLE09eixMPVUuY3VycmVudFRhcmdldDtMLnNldFBvaW50ZXJDYXB0dXJlKFUucG9pbnRlcklkKTtsZXQgSD0oVyk9PntsZXQgVD1xKE0rWShDLFcuY2xpZW50WCkpO0IoVCl9LE89KFcpPT57TC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoVy5wb2ludGVySWQpLEwucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEgpLEwucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixPKSxMLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLE8pO3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oJCxTdHJpbmcocShNK1koQyxXLmNsaWVudFgpKSkpfWNhdGNoe319O0wuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEgpLEwuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixPKSxMLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLE8pfSxbcSxZLHosJF0pO3JldHVybnt3aWR0aDp6LG9uUG9pbnRlckRvd246Vn19dmFyICRYPTgwMDA7ZnVuY3Rpb24gUVgoJCl7cmV0dXJuImZpbGU6Ly8iKyQuc3BsaXQoIi8iKS5tYXAoZW5jb2RlVVJJQ29tcG9uZW50KS5qb2luKCIvIil9ZnVuY3Rpb24gSlgoJCl7cmV0dXJuICQhPT0ibm9uZSJ9ZnVuY3Rpb24gQjcoe3RvYXN0OiQsb25SZXZlYWw6USxvbkRpc21pc3M6SixvblBhdXNlOlgsb25SZXN1bWU6S30pe2xldCBZPUJvb2xlYW4oJC5kb3dubG9hZFVybCYmJC5kb3dubG9hZE5hbWUpLHE9Qm9vbGVhbigkLnBhdGgpLFtHLEJdPWsoITEpLE49dyhudWxsKSx6PXcobnVsbCksVj0oKT0+e2lmKHouY3VycmVudCljbGVhclRpbWVvdXQoei5jdXJyZW50KTt6LmN1cnJlbnQ9bnVsbH07eSgoKT0+KCk9PlYoKSxbXSk7bGV0IFU9KE0pPT57aWYoISQucGF0aCl7TS5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1WKCksWCgpLHouY3VycmVudD1zZXRUaW1lb3V0KCgpPT57ei5jdXJyZW50PW51bGwsQighMSksSygpfSwkWCksTS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dC9wbGFpbiIsUVgoJC5wYXRoKSksTS5kYXRhVHJhbnNmZXIuc2V0RGF0YShzNSwkLnBhdGgpLE0uZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9ImNvcHkiO2xldCBMPU4uY3VycmVudDtpZihMKU0uZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShMLEwub2Zmc2V0V2lkdGgvMixMLm9mZnNldEhlaWdodC8yKTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PkIoITApKX0sQz0oTSk9PntpZihWKCksQighMSksSlgoTS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCkpSigpO2Vsc2UgSygpfTtyZXR1cm4gWigiZGl2Iix7ImRhdGEtdGVzdGlkIjoic2NyZWVuc2hvdC10b2FzdCIsY2xhc3NOYW1lOiJ3LVttaW4oMzIwcHgsY2FsYygxMDB2dy0zMnB4KSldIixvbk1vdXNlRW50ZXI6WCxvbk1vdXNlTGVhdmU6SyxjaGlsZHJlbjpbJC50aHVtYiYmWigiaW1nIix7cmVmOk4sImRhdGEtdGVzdGlkIjoiZHJhZy1pbWFnZSIsc3JjOiQudGh1bWIsYWx0OiIiLCJhcmlhLWhpZGRlbiI6ITAsZHJhZ2dhYmxlOiExLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDotOTk5OSxsZWZ0OjAsd2lkdGg6ODAsaGVpZ2h0OjgwLGJvcmRlclJhZGl1czoxMixvYmplY3RGaXQ6ImNvdmVyIixwb2ludGVyRXZlbnRzOiJub25lIn19KSwkLnN0YXR1cz09PSJlcnJvciI/WigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0zLjUgcHktMi41IGJnLXBhbmVsIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC14bCB0ZXh0LXdoaXRlLzkwIHRleHQtWzEycHhdIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNDUpXSIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InNpemUtMS41IHJvdW5kZWQtZnVsbCBzaHJpbmstMCBiZy1bI2Y4NzE3MV0ifSksWigic3BhbiIse2NsYXNzTmFtZToic2VsZWN0LXRleHQiLGNoaWxkcmVuOiQubWVzc2FnZT8/IlNjcmVlbnNob3QgZmFpbGVkIn0pXX0pOlooImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpRLGRpc2FibGVkOiQuc3RhdHVzIT09InNhdmVkIixkcmFnZ2FibGU6JC5zdGF0dXM9PT0ic2F2ZWQiJiZxLG9uRHJhZ1N0YXJ0OlUsb25EcmFnRW5kOkMsImFyaWEtbGFiZWwiOlk/IkRvd25sb2FkIHNjcmVlbnNob3QgYWdhaW4iOiJPcGVuIHNjcmVlbnNob3QgaW4gRmluZGVyIix0aXRsZTpZPyJEb3dubG9hZCBzY3JlZW5zaG90IGFnYWluIjoiQ2xpY2sgdG8gcmV2ZWFsIGluIEZpbmRlciDCtyBkcmFnIHRvIGNvcHkgdGhlIGZpbGUiLGNsYXNzTmFtZTpgZ3JvdXAgZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGdhcC0zIHBsLTIgcHItMy41IHB5LTIgYmctcGFuZWwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLXhsIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNDUpXSB0ZXh0LWxlZnQgY3Vyc29yLXBvaW50ZXIgZW5hYmxlZDpob3ZlcjpiZy1bIzJhMmEyY10gZGlzYWJsZWQ6Y3Vyc29yLWRlZmF1bHQgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlXSAke0c/ImludmlzaWJsZSI6IiJ9YCxjaGlsZHJlbjpbWigiZGl2Iix7Y2xhc3NOYW1lOiJzaXplLTkgcm91bmRlZC1tZCBvdmVyZmxvdy1oaWRkZW4gYmctd2hpdGUvMTAgc2hyaW5rLTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcmluZy0xIHJpbmctd2hpdGUvMTAgcG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46JC50aHVtYj9aKCJpbWciLHtzcmM6JC50aHVtYixhbHQ6IiIsY2xhc3NOYW1lOiJzaXplLWZ1bGwgb2JqZWN0LWNvdmVyIixkcmFnZ2FibGU6ITF9KTpaKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBzaXplLTQgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZS8zMCBib3JkZXItdC13aGl0ZSBhbmltYXRlLVtncmlkLXNwaW5fMC44c19saW5lYXJfaW5maW5pdGVdIn0pfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGxlYWRpbmctdGlnaHQgcG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46W1ooInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSIsY2hpbGRyZW46JC5zdGF0dXM9PT0ic2F2aW5nIj8iU2F2aW5nIFNjcmVlbnNob3TigKYiOiJTY3JlZW5zaG90IFNhdmVkIn0pLCQuc3RhdHVzPT09InNhdmVkIiYmWigic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS82MCIsY2hpbGRyZW46WT8iRG93bmxvYWQgYWdhaW4iOiJPcGVuIGluIEZpbmRlciJ9KV19KSwkLnN0YXR1cz09PSJzYXZlZCImJlooaDIse2NsYXNzTmFtZToibWwtYXV0byB0ZXh0LXdoaXRlLzgwIHBvaW50ZXItZXZlbnRzLW5vbmUiLHNpemU6MTYsc3Ryb2tlV2lkdGg6Mi4yNX0pXX0pXX0pfXZhciBfOD0zNTAwLE43PTQwMDAsWlg9MWU0O2Z1bmN0aW9uIFhYKCl7cmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5yZXBsYWNlKC9bOi5dL2csIi0iKS5zbGljZSgwLDIzKX1mdW5jdGlvbiB6NygkKXtsZXQgUT13KG51bGwpLEo9dyhudWxsKSxYPXcobnVsbCksSz13KG51bGwpLFk9dyhudWxsKSxxPXcoITEpLEc9SSgoKT0+e2lmKFguY3VycmVudCljbGVhclRpbWVvdXQoWC5jdXJyZW50KTtYLmN1cnJlbnQ9bnVsbCxLLmN1cnJlbnQ9bnVsbH0sW10pLEI9SSgoTCk9PntsZXQgSD1MPz9KLmN1cnJlbnQ/P3ZvaWQgMDtpZihHKCksWS5jdXJyZW50PW51bGwsdDIuZGlzbWlzcyhIKSxIPT09dm9pZCAwfHxKLmN1cnJlbnQ9PT1TdHJpbmcoSCkpe2xldCBPPVEuY3VycmVudD8uZG93bmxvYWRVcmw7aWYoTylVUkwucmV2b2tlT2JqZWN0VVJMKE8pO1EuY3VycmVudD1udWxsLEouY3VycmVudD1udWxsfX0sW0ddKSxOPUkoKCk9PntsZXQgTD1RLmN1cnJlbnQ7aWYoTD8ucGF0aClUMShgb3BlbiAtUiAke08xKEwucGF0aCl9YCk7ZWxzZSBpZihMPy5kb3dubG9hZFVybCYmTC5kb3dubG9hZE5hbWUpSjUoTC5kb3dubG9hZFVybCxMLmRvd25sb2FkTmFtZSl9LFtdKSx6PUkoKEwpPT57RygpO2xldCBIPU1hdGgubWF4KDAsTCksTz1KLmN1cnJlbnQ7WS5jdXJyZW50PUgsSy5jdXJyZW50PURhdGUubm93KCkrSCxYLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+QihPPz92b2lkIDApLEgpfSxbRyxCXSksVj1JKCgpPT57aWYoIVguY3VycmVudHx8Sy5jdXJyZW50PT1udWxsKXJldHVybjtZLmN1cnJlbnQ9TWF0aC5tYXgoMCxLLmN1cnJlbnQtRGF0ZS5ub3coKSksRygpfSxbR10pLFU9SSgoKT0+e2xldCBMPVkuY3VycmVudDtpZihMPT1udWxsKXJldHVybjt6KEwpfSxbel0pLEM9SSgoTCxIPTEvMCk9PntpZihRLmN1cnJlbnQ9TCxKLmN1cnJlbnQ9TC5pZCx0Mi5jdXN0b20oKE8pPT5aKEI3LHt0b2FzdDpMLG9uUmV2ZWFsOk4sb25EaXNtaXNzOigpPT5CKE8pLG9uUGF1c2U6VixvblJlc3VtZTpVfSkse2lkOkwuaWQsZHVyYXRpb246MS8wfSksTnVtYmVyLmlzRmluaXRlKEgpKXooSCk7ZWxzZSBHKCksWS5jdXJyZW50PW51bGx9LFtHLEIsVixVLE4sel0pO3JldHVybntjYXB0dXJlOkkoYXN5bmMoKT0+e2lmKCEkfHxxLmN1cnJlbnQpcmV0dXJuO3EuY3VycmVudD0hMDtsZXQgTD1jcnlwdG8ucmFuZG9tVVVJRCgpO0Moe2lkOkwsc3RhdHVzOiJzYXZpbmciLHBoYXNlOiJpbiJ9KTtsZXQgSD1gc2VydmUtc2ltLXNjcmVlbnNob3QtJHtYWCgpfS5wbmdgLE89bmV3IEFib3J0Q29udHJvbGxlcixXPXNldFRpbWVvdXQoKCk9PntPLmFib3J0KEVycm9yKCJTY3JlZW5zaG90IHRpbWVkIG91dCIpKX0sWlgpO3RyeXtpZighUTMod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSl7bGV0IFI9YXdhaXQgbTQoJCx7c2lnbmFsOk8uc2lnbmFsfSksZD1VUkwuY3JlYXRlT2JqZWN0VVJMKFIpO0o1KGQsSCksQyh7aWQ6TCxzdGF0dXM6InNhdmVkIixwaGFzZToiaW4iLGRvd25sb2FkVXJsOmQsZG93bmxvYWROYW1lOkgsdGh1bWI6ZH0sXzgpO3JldHVybn1sZXQgUD1gRj0iJHtgJEhPTUUvRGVza3RvcC8ke0h9YH0iOyB4Y3J1biBzaW1jdGwgaW8gJHtPMSgkKX0gc2NyZWVuc2hvdCAiJEYiICYmIHByaW50ZiAnJXMnICIkRiJgLHg9YXdhaXQgVDEoUCx7c2lnbmFsOk8uc2lnbmFsfSksRD14LnN0ZG91dC50cmltKCk7aWYoeC5leGl0Q29kZSE9PTB8fCFEKXtDKHtpZDpMLHN0YXR1czoiZXJyb3IiLHBoYXNlOiJpbiIsbWVzc2FnZTp4LnN0ZGVyci50cmltKCl8fCJTY3JlZW5zaG90IGZhaWxlZCJ9LE43KTtyZXR1cm59Qyh7aWQ6TCxzdGF0dXM6InNhdmVkIixwaGFzZToiaW4iLHBhdGg6RH0sXzgpO2xldCBlPWAvdG1wL3NlcnZlLXNpbS1zY3JlZW5zaG90LXRodW1iLSR7TH0ucG5nYDt0cnl7bGV0IGQ9KGF3YWl0IFQxKGBzaXBzIC1aIDMyMCAke08xKEQpfSAtLW91dCAke08xKGUpfSA+L2Rldi9udWxsIDI+JjEgJiYgYmFzZTY0IC1pICR7TzEoZSl9OyBybSAtZiAke08xKGUpfWAse3NpZ25hbDpPLnNpZ25hbH0pKS5zdGRvdXQucmVwbGFjZSgvXHMrL2csIiIpO2lmKGQpe2xldCBuPVEuY3VycmVudDtpZihuPy5pZD09PUwpQyh7Li4ubix0aHVtYjpgZGF0YTppbWFnZS9wbmc7YmFzZTY0LCR7ZH1gfSxfOCl9fWNhdGNoe319Y2F0Y2goVCl7Qyh7aWQ6TCxzdGF0dXM6ImVycm9yIixwaGFzZToiaW4iLG1lc3NhZ2U6VCBpbnN0YW5jZW9mIEVycm9yP1QubWVzc2FnZToiU2NyZWVuc2hvdCBmYWlsZWQifSxONyl9ZmluYWxseXtjbGVhclRpbWVvdXQoVykscS5jdXJyZW50PSExfX0sWyQsQ10pLHJldmVhbDpOLGRpc21pc3M6Qn19ZnVuY3Rpb24gVTcoe2RlZmF1bHRXaWR0aDokLHZpZXdwb3J0V2lkdGg6USx2aWV3cG9ydEhlaWdodDpKLGFzcGVjdFJhdGlvOlgsb25TdGFydDpLfSl7bGV0IFk9ZDUoKSxbcSxHXT1rKCExKSxbQixOXT1rKCExKSxbeixWXT1rKCExKSxVPXcobnVsbCksQz13KFtdKSxNPXcobnVsbCksTD13KG51bGwpLEg9dyhudWxsKSxPPXcobnVsbCksVz1JKCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuICQ7bGV0IF89TmFOO3RyeXtsZXQgaD13aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oSjgpO189aCE9bnVsbD9OdW1iZXIoaCk6TmFOfWNhdGNoe31yZXR1cm4gZDYoJCxRLEosWCxfKX0sW1gsJCxKLFFdKSxUPUQxKCgpPT5XKCksW1ddKSxbUCx4XT1rKFQpLEQ9dyhUKSxlPXcoJCksUj1aOCgkLFEsSixYKSxkPU1hdGgubWluKFQ2LFIpLG49UD8/JCxvPXQwKG4sJCxRLEosWCksYT1JKChfKT0+e2xldCBoPWk1KF8pO0QuY3VycmVudD1oLHgoaCl9LFtdKSxpPUkoKF8pPT57aWYodHlwZW9mIHdpbmRvdz4idSJ8fCQ8PTApcmV0dXJuO2xldCBoPXQwKF8sJCxRLEosWCk7dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShKOCxTdHJpbmcoaC8kKSl9Y2F0Y2h7fX0sW1gsJCxKLFFdKSxMMT1JKChfKT0+e2lmKEguY3VycmVudCE9bnVsbCljbGVhclRpbWVvdXQoSC5jdXJyZW50KTtILmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e0guY3VycmVudD1udWxsLGkoXyl9LGw2KX0sW2ldKTt5KCgpPT57aWYocXx8QilyZXR1cm47bGV0IF89RC5jdXJyZW50O2lmKF89PW51bGwpcmV0dXJuO2xldCBoPXQwKF8sJCxRLEosWCk7aWYoaCE9PV8pYShoKX0sW1gsJCxCLHEsSixRLGFdKSx5KCgpPT57aWYoZS5jdXJyZW50PT09JClyZXR1cm47ZS5jdXJyZW50PSQsYShXKCkpfSxbJCxXLGFdKSx5KCgpPT57aWYoIXEmJiFCKXJldHVybjtsZXQgXz1kb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcixoPWRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdCxtPWRvY3VtZW50LmJvZHkuc3R5bGUud2Via2l0VXNlclNlbGVjdDtyZXR1cm4gZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9Im53c2UtcmVzaXplIixkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3Q9Im5vbmUiLGRvY3VtZW50LmJvZHkuc3R5bGUud2Via2l0VXNlclNlbGVjdD0ibm9uZSIsKCk9Pntkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj1fLGRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdD1oLGRvY3VtZW50LmJvZHkuc3R5bGUud2Via2l0VXNlclNlbGVjdD1tfX0sW3EsQl0pLHkoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm47bGV0IF89KCk9PntsZXQgbT1ELmN1cnJlbnQ7aWYobT09bnVsbClyZXR1cm47aWYoSC5jdXJyZW50IT1udWxsKWNsZWFyVGltZW91dChILmN1cnJlbnQpLEguY3VycmVudD1udWxsO2kobSl9LGg9KCk9PntpZihkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIilfKCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLF8pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixoKX19LFtpXSk7bGV0IGw9SSgoXyk9PntpZihfPlIpcmV0dXJuIFIrWDgoXy1SLFIpO2lmKF88ZClyZXR1cm4gZC1YOChkLV8sUik7cmV0dXJuIF99LFtSLGRdKSxmPUkoKCk9PntpZihMLmN1cnJlbnQpTC5jdXJyZW50KCksTC5jdXJyZW50PW51bGw7TighMSl9LFtdKSxYMT1JKChfKT0+e2xldCBoPXBlcmZvcm1hbmNlLm5vdygpLG09Qy5jdXJyZW50O20ucHVzaCh7dDpoLHg6X30pO3doaWxlKG0ubGVuZ3RoPjEmJmgtbVswXS50PnU2KW0uc2hpZnQoKX0sW10pLFoxPUkoKF8pPT57bGV0IGg9bChfKTtpZihNLmN1cnJlbnQhPW51bGwpY2FuY2VsQW5pbWF0aW9uRnJhbWUoTS5jdXJyZW50KTtNLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57TS5jdXJyZW50PW51bGwsYShoKSxYMShoKX0pfSxbbCxYMSxhXSksVTE9SSgoXyxoLG0pPT57ZigpO2xldCB2PUQuY3VycmVudD8/JDtVLmN1cnJlbnQ9e3BvaW50ZXJJZDpfLHN0YXJ0WDpoLHN0YXJ0WTptLHN0YXJ0V2lkdGg6dn0sQy5jdXJyZW50PVt7dDpwZXJmb3JtYW5jZS5ub3coKSx4OnZ9XSxLKCksRyghMCl9LFtmLCQsS10pLHM9SSgoKT0+e2xldCBfPVUuY3VycmVudDtpZihVLmN1cnJlbnQ9bnVsbCxNLmN1cnJlbnQhPW51bGwpY2FuY2VsQW5pbWF0aW9uRnJhbWUoTS5jdXJyZW50KSxNLmN1cnJlbnQ9bnVsbDtpZihfJiZfLnBvaW50ZXJJZD49MCl7bGV0IHcxPU8uY3VycmVudDtpZih3MT8uaGFzUG9pbnRlckNhcHR1cmUoXy5wb2ludGVySWQpKXcxLnJlbGVhc2VQb2ludGVyQ2FwdHVyZShfLnBvaW50ZXJJZCl9RyghMSk7bGV0IGg9RC5jdXJyZW50Pz8kLG09aTYoQy5jdXJyZW50KTtDLmN1cnJlbnQ9W107bGV0IHY9dDAoaCttKnA2LCQsUSxKLFgpLFkxPWk1KGM2KHYsWyRdLGc2KSksVjE9TWF0aC5hYnMoaC1ZMSk8MC41JiZNYXRoLmFicyhtKTw4O2lmKFl8fFYxKXthKFkxKSxMMShZMSk7cmV0dXJufU4oITApLEwuY3VycmVudD1vNih7ZnJvbTpoLHRvOlkxLHZlbG9jaXR5Om0sc3RpZmZuZXNzOmY2LGRhbXBpbmc6bTYsb25VcGRhdGU6YSxvbkNvbXBsZXRlOigpPT57TC5jdXJyZW50PW51bGwsTighMSksTDEoWTEpfX0pfSxbWCwkLFksTDEsSixRLGFdKTt5KCgpPT57cmV0dXJuKCk9PntpZihmKCksTS5jdXJyZW50IT1udWxsKWNhbmNlbEFuaW1hdGlvbkZyYW1lKE0uY3VycmVudCk7aWYoSC5jdXJyZW50IT1udWxsKXtpZihjbGVhclRpbWVvdXQoSC5jdXJyZW50KSxELmN1cnJlbnQhPW51bGwpaShELmN1cnJlbnQpfX19LFtmLGldKSx5KCgpPT57aWYoIXEpcmV0dXJuO2xldCBfPSgpPT5zKCksaD0oKT0+e2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXMoKX0sbT0odik9PntsZXQgWTE9VS5jdXJyZW50O2lmKCFZMXx8WTEucG9pbnRlcklkIT09di5wb2ludGVySWQpcmV0dXJuO3YucHJldmVudERlZmF1bHQoKSxaMShMNyhZMSx2LmNsaWVudFgsdi5jbGllbnRZLFgpKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixfKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLG0se2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLF8sITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixfLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixoKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixfKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLG0sITApLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLF8sITApLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixfLCEwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixoKX19LFtYLHMscSxaMV0pO2xldCBKMT1JKChfKT0+e2xldCBoPVUuY3VycmVudDtpZighaHx8aC5wb2ludGVySWQhPT1fLnBvaW50ZXJJZClyZXR1cm47Xy5wcmV2ZW50RGVmYXVsdCgpLF8uc3RvcFByb3BhZ2F0aW9uKCkscygpfSxbc10pLHExPUkoKF8pPT57aWYoXy5idXR0b24hPT0wKXJldHVybjtfLnByZXZlbnREZWZhdWx0KCksXy5zdG9wUHJvcGFnYXRpb24oKSxfLmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoXy5wb2ludGVySWQpLFUxKF8ucG9pbnRlcklkLF8uY2xpZW50WCxfLmNsaWVudFkpfSxbVTFdKSxqPUkoKF8pPT57bGV0IGg9VS5jdXJyZW50O2lmKCFofHxoLnBvaW50ZXJJZCE9PV8ucG9pbnRlcklkKXJldHVybjtfLnByZXZlbnREZWZhdWx0KCksWjEoTDcoaCxfLmNsaWVudFgsXy5jbGllbnRZLFgpKX0sW1gsWjFdKSxwPUkoKF8pPT57bGV0IGg9Xy5rZXk9PT0iQXJyb3dSaWdodCJ8fF8ua2V5PT09IkFycm93RG93biI/MTpfLmtleT09PSJBcnJvd0xlZnQifHxfLmtleT09PSJBcnJvd1VwIj8tMTowO2lmKGg9PT0wKXJldHVybjtfLnByZXZlbnREZWZhdWx0KCksZigpO2xldCBtPV8uc2hpZnRLZXk/ODA6MjQsdj1pNSh0MChvK2gqbSwkLFEsSixYKSk7YSh2KSxMMSh2KX0sW1gsZixvLCQsTDEsSixRLGFdKTtyZXR1cm57aGFuZGxlUmVmOk8sd2lkdGg6bixjb21taXR0ZWRXaWR0aDpvLG1pbldpZHRoOmQsbWF4V2lkdGg6Uixpc1Jlc2l6aW5nOnEsaXNJbmVydGlhOkIsaGFuZGxlSG92ZXJlZDp6LGhhbmRsZUFjdGl2ZTp6fHxxfHxCLHNldEhhbmRsZUhvdmVyZWQ6VixvblBvaW50ZXJEb3duOnExLG9uUG9pbnRlck1vdmU6aixvblBvaW50ZXJFbmQ6SjEsb25LZXlEb3duOnB9fWZ1bmN0aW9uIEw3KCQsUSxKLFgpe2xldCBLPVEtJC5zdGFydFgsWT0oSi0kLnN0YXJ0WSkqWDtyZXR1cm4gJC5zdGFydFdpZHRoKyhNYXRoLmFicyhLKT49TWF0aC5hYnMoWSk/SzpZKX1mdW5jdGlvbiBINygpe2xldCAkPXcobmV3IE1hcCksUT13KG5ldyBNYXApLEo9SSgoRyk9PntsZXQgQj1RLmN1cnJlbnQuZ2V0KEcpO2lmKEIpY2xlYXJUaW1lb3V0KEIpO1EuY3VycmVudC5kZWxldGUoRyl9LFtdKSxYPUkoKEcsQj0xLzApPT57dDIuY3VzdG9tKCgpPT5aKFE0LHt0b2FzdDpHfSkse2lkOkcuaWQsZHVyYXRpb246Qn0pfSxbXSksSz1JKChHLEIpPT57bGV0IE49Y3J5cHRvLnJhbmRvbVVVSUQoKSx6PXtpZDpOLG5hbWU6RyxraW5kOkIsc3RhdHVzOiJ1cGxvYWRpbmciLHByb2dyZXNzOjB9O3JldHVybiAkLmN1cnJlbnQuc2V0KE4seiksWCh6KSxOfSxbWF0pLFk9SSgoRyxCKT0+e2xldCBOPSQuY3VycmVudC5nZXQoRyk7aWYoIU4pcmV0dXJuO0ooRyk7bGV0IHo9ey4uLk4sLi4uQn07aWYoJC5jdXJyZW50LnNldChHLHopLFgoeixCLnN0YXR1cz09PSJzdWNjZXNzInx8Qi5zdGF0dXM9PT0iZXJyb3IiPzMwMDA6MS8wKSxCLnN0YXR1cz09PSJzdWNjZXNzInx8Qi5zdGF0dXM9PT0iZXJyb3IiKXtsZXQgVj1zZXRUaW1lb3V0KCgpPT57JC5jdXJyZW50LmRlbGV0ZShHKSxRLmN1cnJlbnQuZGVsZXRlKEcpfSwzMDAwKTtRLmN1cnJlbnQuc2V0KEcsVil9fSxbSixYXSkscT1JKChHLEIpPT57bGV0IE49JC5jdXJyZW50LmdldChHKTtpZighTilyZXR1cm47bGV0IHo9ey4uLk4scHJvZ3Jlc3M6Qn07JC5jdXJyZW50LnNldChHLHopLFgoeil9LFtYXSk7cmV0dXJue2FkZDpLLHVwZGF0ZTpZLHNldFByb2dyZXNzOnF9fWZ1bmN0aW9uIEM3KCQsUSl7bGV0W0osWF09ayhbXSksW0ssWV09ayhudWxsKSxbcSxHXT1rKCExKSxCPUkoYXN5bmMoKT0+e2lmKCEkKXJldHVybjtHKCEwKSxZKG51bGwpO3RyeXtsZXQgTj1hd2FpdCBmZXRjaCgkLHtjYWNoZToibm8tc3RvcmUifSksej1hd2FpdCBOLmpzb24oKTtpZighTi5va3x8ei5lcnJvcil0aHJvdyBFcnJvcih6LmVycm9yfHwiRmFpbGVkIHRvIGxpc3QgV2ViS2l0IHRhcmdldHMiKTtsZXQgVj10eXBlb2Ygd2luZG93PiJ1Ij9udWxsOndpbmRvdy5sb2NhdGlvbixVPXoudGFyZ2V0cz8/W107WChWP1UubWFwKChDKT0+cjQoQyxWKSk6VSl9Y2F0Y2goTil7WShOIGluc3RhbmNlb2YgRXJyb3I/Ti5tZXNzYWdlOiJGYWlsZWQgdG8gc3RhcnQgV2ViS2l0IERldlRvb2xzIil9ZmluYWxseXtHKCExKX19LFskXSk7cmV0dXJuIHkoKCk9PntpZighUSlyZXR1cm47QigpO2xldCBOPXNldEludGVydmFsKCgpPT52b2lkIEIoKSwyNTAwKTtyZXR1cm4oKT0+Y2xlYXJJbnRlcnZhbChOKX0sW1EsQl0pLHt0YXJnZXRzOkosZXJyb3I6Syxsb2FkaW5nOnEscmVmcmVzaDpCfX12YXIgS1g9NjAsWVg9MTAwMDtmdW5jdGlvbiBPNygkLFEsSixYPUtYKXtsZXRbSyxZXT1rKG51bGwpLFtxLEddPWsoMCksW0IsTl09ayhYKSxbeixWXT1rKDApO3koKCk9PntpZighUXx8ISQpcmV0dXJuO2xldCBPPSExLFc9JC5pbmNsdWRlcygiPyIpPyImIjoiPyIsVD1hc3luYygpPT57dHJ5e2xldCBEPWF3YWl0KGF3YWl0IGZldGNoKGAkeyR9JHtXfWxpbWl0PSR7Qn0mb2Zmc2V0PTBgLHtjYWNoZToibm8tc3RvcmUifSkpLmpzb24oKTtpZihPKXJldHVybjtpZihZKEQuZGV2aWNlcz8/W10pLHR5cGVvZiBELnRvdGFsPT09Im51bWJlciIpRyhELnRvdGFsKX1jYXRjaHtpZighTylZKFtdKX19O1QoKTtsZXQgUD1zZXRJbnRlcnZhbChULEo/NzUwOjMwMDApO3JldHVybigpPT57Tz0hMCxjbGVhckludGVydmFsKFApfX0sWyQsUSx6LEosQl0pO2xldCBVPUkoKCk9PlYoKE8pPT5PKzEpLFtdKSxDPUkoKCk9Pk4oKE8pPT5PK1gpLFtYXSksTT1JKCgpPT5OKFlYKSxbXSksTD1JKCgpPT5OKFgpLFtYXSksSD1xPihLPy5sZW5ndGg/PzApO3JldHVybntkZXZpY2VzOkssdG90YWw6cSxyZWZyZXNoOlUsbG9hZE1vcmU6Qyxsb2FkQWxsOk0scmVzZXRQYWdlOkwsaGFzTW9yZTpIfX12YXIgRjc9e21qcGVnRnBzOjYwLG1qcGVnUXVhbGl0eTowLjcsbWF4RGltZW5zaW9uOjAsaDI2NEJpdHJhdGU6NjAwMDAwMCxoMjY0RnBzOjYwfSxxWD17dHJhbnNwb3J0OiJodHRwIixodHRwQ29kZWM6ImF1dG8iLHdlYlJ0Y0NvZGVjOiJoMjY0IiwuLi5GN307ZnVuY3Rpb24gR1goJCl7cmV0dXJuIHR5cGVvZiAkPT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZSgkKT8kOm51bGx9ZnVuY3Rpb24gTTcoJCxRLEosWCl7bGV0IEs9R1goJCk7cmV0dXJuIEs9PW51bGw/UTpNYXRoLm1pbihYLE1hdGgubWF4KEosSykpfWZ1bmN0aW9uIEczKCQsUSxKLFgpe3JldHVybiBNYXRoLnJvdW5kKE03KCQsUSxKLFgpKX1mdW5jdGlvbiBWWCgkKXtpZighQXJyYXkuaXNBcnJheSgkKXx8JC5sZW5ndGg+MTYpcmV0dXJuIG51bGw7bGV0IFE9W107Zm9yKGxldCBKIG9mICQpe2lmKCFKfHx0eXBlb2YgSiE9PSJvYmplY3QiKXJldHVybiBudWxsO2xldCBYPUoudXJscztpZighQXJyYXkuaXNBcnJheShYKXx8WC5sZW5ndGg9PT0wfHxYLmxlbmd0aD4xNnx8IVguZXZlcnkoKHEpPT50eXBlb2YgcT09PSJzdHJpbmciJiZxLmxlbmd0aDw9MjA0OCYmL14oc3R1bnxzdHVuc3x0dXJufHR1cm5zKTovaS50ZXN0KHEpKSlyZXR1cm4gbnVsbDtsZXR7dXNlcm5hbWU6SyxjcmVkZW50aWFsOll9PUo7aWYoSyE9PXZvaWQgMCYmdHlwZW9mIEshPT0ic3RyaW5nIilyZXR1cm4gbnVsbDtpZihZIT09dm9pZCAwJiZ0eXBlb2YgWSE9PSJzdHJpbmciKXJldHVybiBudWxsO1EucHVzaCh7dXJsczpYLC4uLnR5cGVvZiBLPT09InN0cmluZyI/e3VzZXJuYW1lOkt9Ont9LC4uLnR5cGVvZiBZPT09InN0cmluZyI/e2NyZWRlbnRpYWw6WX06e319KX1yZXR1cm4gUX1mdW5jdGlvbiBEOCgkPXt9LFE9cVgpe2xldCBYPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCgkLCJpY2VTZXJ2ZXJzIik/VlgoJC5pY2VTZXJ2ZXJzKTpRLmljZVNlcnZlcnMsSz1YPT09bnVsbD9RLmljZVNlcnZlcnM6WCYmWC5sZW5ndGg+MD9YOnZvaWQgMDtyZXR1cm57dHJhbnNwb3J0OiQudHJhbnNwb3J0PT09Imh0dHAifHwkLnRyYW5zcG9ydD09PSJ3ZWJydGMiPyQudHJhbnNwb3J0OlEudHJhbnNwb3J0LGh0dHBDb2RlYzokLmh0dHBDb2RlYz09PSJhdXRvInx8JC5odHRwQ29kZWM9PT0ibWpwZWcifHwkLmh0dHBDb2RlYz09PSJoMjY0Ij8kLmh0dHBDb2RlYzpRLmh0dHBDb2RlYyx3ZWJSdGNDb2RlYzokLndlYlJ0Y0NvZGVjPT09InZwOCJ8fCQud2ViUnRjQ29kZWM9PT0idnA5Inx8JC53ZWJSdGNDb2RlYz09PSJoMjY0Ij8kLndlYlJ0Y0NvZGVjOlEud2ViUnRjQ29kZWMsLi4uSz97aWNlU2VydmVyczpLfTp7fSwuLi5ZNSgkLFEpfX1mdW5jdGlvbiBZNSgkPXt9LFE9Rjcpe3JldHVybnttanBlZ0ZwczpHMygkLm1qcGVnRnBzLFEubWpwZWdGcHMsMSwxMjApLG1qcGVnUXVhbGl0eTpNNygkLm1qcGVnUXVhbGl0eSxRLm1qcGVnUXVhbGl0eSwwLjA1LDEpLG1heERpbWVuc2lvbjpHMygkLm1heERpbWVuc2lvbixRLm1heERpbWVuc2lvbiwwLDQwOTYpLGgyNjRCaXRyYXRlOkczKCQuaDI2NEJpdHJhdGUsUS5oMjY0Qml0cmF0ZSwxZTUsNTAwMDAwMDApLGgyNjRGcHM6RzMoJC5oMjY0RnBzLFEuaDI2NEZwcywxLDE0MCl9fWZ1bmN0aW9uIHE1KCQpe3JldHVybnttanBlZ0ZwczokLm1qcGVnRnBzLG1qcGVnUXVhbGl0eTokLm1qcGVnUXVhbGl0eSxtYXhEaW1lbnNpb246JC5tYXhEaW1lbnNpb24saDI2NEJpdHJhdGU6JC5oMjY0Qml0cmF0ZSxoMjY0RnBzOiQuaDI2NEZwc319ZnVuY3Rpb24gQTcoJCl7cmV0dXJuICQ/LnRyYW5zcG9ydD09PSJ3ZWJydGMifWZ1bmN0aW9uIGs3KCQpe2xldCBRPSQ/e21qcGVnRnBzOiQubWpwZWdGcHMsbWpwZWdRdWFsaXR5OiQubWpwZWdRdWFsaXR5LG1heERpbWVuc2lvbjokLm1heERpbWVuc2lvbixoMjY0Qml0cmF0ZTokLmgyNjRCaXRyYXRlLGgyNjRGcHM6JC5oMjY0RnBzfTp7fTtpZigkPy50cmFuc3BvcnQ9PT0id2VicnRjIilyZXR1cm4gRDgoe3RyYW5zcG9ydDoid2VicnRjIix3ZWJSdGNDb2RlYzokLmNvZGVjLGljZVNlcnZlcnM6JC5pY2VTZXJ2ZXJzLC4uLlF9KTtyZXR1cm4gRDgoe3RyYW5zcG9ydDoiaHR0cCIsaHR0cENvZGVjOiQ/LmNvZGVjPz8iYXV0byIsLi4uUX0pfWZ1bmN0aW9uIFYzKCQsUSl7cmV0dXJuIEQ4KHsuLi4kLC4uLlF9LCQpfWZ1bmN0aW9uIFc3KCQsUSxKPSExKXtpZighSilyZXR1cm4gVjMoJCxRKTtsZXQgWD17fTtpZihRLndlYlJ0Y0NvZGVjIT09dm9pZCAwKVgud2ViUnRjQ29kZWM9US53ZWJSdGNDb2RlYztpZihRLmljZVNlcnZlcnMhPT12b2lkIDApWC5pY2VTZXJ2ZXJzPVEuaWNlU2VydmVycztpZihPYmplY3Qua2V5cyhYKS5sZW5ndGg9PT0wKXJldHVybiAkO3JldHVybiBWMygkLHsuLi5YLHRyYW5zcG9ydDoid2VicnRjIn0pfWZ1bmN0aW9uIEc1KCQsUSl7bGV0IEo9cTUoJCksWD1ZNSh7Li4uSiwuLi5RfSxKKTtpZihYLm1qcGVnRnBzPT09Si5tanBlZ0ZwcyYmWC5tanBlZ1F1YWxpdHk9PT1KLm1qcGVnUXVhbGl0eSYmWC5tYXhEaW1lbnNpb249PT1KLm1heERpbWVuc2lvbiYmWC5oMjY0Qml0cmF0ZT09PUouaDI2NEJpdHJhdGUmJlguaDI2NEZwcz09PUouaDI2NEZwcylyZXR1cm4gJDtyZXR1cm57Li4uJCwuLi5YfX12YXIgRDc9InNlcnZlLXNpbTpjb2RlYyIsQlg9MzAwMDtmdW5jdGlvbiBfNygkKXtsZXQgUT1rNygkKTtpZihRLnRyYW5zcG9ydCE9PSJodHRwInx8US5odHRwQ29kZWMhPT0iYXV0byIpcmV0dXJuIFE7dHJ5e2xldCBKPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShENyk7aWYoSj09PSJhdXRvInx8Sj09PSJtanBlZyJ8fEo9PT0iaDI2NCIpcmV0dXJuIFYzKFEse2h0dHBDb2RlYzpKfSl9Y2F0Y2h7fXJldHVybiBRfWZ1bmN0aW9uIFA3KHtkZXZpY2U6JCxlbmRwb2ludDpRLGluaXRpYWxTZXR0aW5nczpKfSl7bGV0IFg9QTcoSiksW0ssWV09aygoKT0+XzcoSikpLFtxLEddPWsoITEpLEI9dyhLKSxOPXcoITEpLHo9dygwKSxWPXcobnVsbCksVT13KG51bGwpO3koKCk9PnsrK3ouY3VycmVudDtsZXQgTD1fNyhKKTtpZihWLmN1cnJlbnQ/LmFib3J0KCksVS5jdXJyZW50Py5hYm9ydCgpLFYuY3VycmVudD1udWxsLFUuY3VycmVudD1udWxsLEIuY3VycmVudD1MLE4uY3VycmVudD0hMSxZKEwpLEcoITEpLCFRKXJldHVybjtsZXQgSD0hMSxPPSExLFc9YXN5bmMoKT0+e2lmKEh8fE4uY3VycmVudHx8Vi5jdXJyZW50KXJldHVybjtsZXQgeD0rK3ouY3VycmVudCxEPW5ldyBBYm9ydENvbnRyb2xsZXI7Vi5jdXJyZW50PUQ7dHJ5e2xldCBlPWF3YWl0IGZldGNoKFEse2NhY2hlOiJuby1zdG9yZSIsc2lnbmFsOkQuc2lnbmFsfSk7aWYoIWUub2spdGhyb3cgRXJyb3IoYFN0cmVhbSBzZXR0aW5ncyByZXF1ZXN0IGZhaWxlZCAoJHtlLnN0YXR1c30pYCk7bGV0IFI9WTUoYXdhaXQgZS5qc29uKCkscTUoQi5jdXJyZW50KSk7aWYoIUQuc2lnbmFsLmFib3J0ZWQmJnouY3VycmVudD09PXgpe2xldCBkPUIuY3VycmVudCxuPUc1KGQsUik7aWYobiE9PWQpQi5jdXJyZW50PW4sWShuKX1PPSExfWNhdGNoKGUpe2lmKCFELnNpZ25hbC5hYm9ydGVkJiYhTylPPSEwLGNvbnNvbGUud2FybigiRmFpbGVkIHRvIGxvYWQgc3RyZWFtIHNldHRpbmdzIixlKX1maW5hbGx5e2lmKFYuY3VycmVudD09PUQpVi5jdXJyZW50PW51bGx9fTtXKCk7bGV0IFQ9KCk9PntpZih0eXBlb2YgZG9jdW1lbnQ+InUifHxkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUhPT0iaGlkZGVuIilXKCl9LFA9c2V0SW50ZXJ2YWwoVCxCWCk7aWYodHlwZW9mIHdpbmRvdzwidSIpd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixUKTtpZih0eXBlb2YgZG9jdW1lbnQ8InUiKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLFQpO3JldHVybigpPT57aWYoSD0hMCxjbGVhckludGVydmFsKFApLHR5cGVvZiB3aW5kb3c8InUiKXdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsVCk7aWYodHlwZW9mIGRvY3VtZW50PCJ1Iilkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixUKTtWLmN1cnJlbnQ/LmFib3J0KCksVS5jdXJyZW50Py5hYm9ydCgpLFYuY3VycmVudD1udWxsLFUuY3VycmVudD1udWxsfX0sWyQsUSxKXSk7bGV0IEM9SSgoTCk9PntpZighWCYmTC5odHRwQ29kZWMhPT12b2lkIDApdHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShENyxMLmh0dHBDb2RlYyl9Y2F0Y2h7fWxldCBIPVc3KEIuY3VycmVudCxMLFgpO2lmKEg9PT1CLmN1cnJlbnQpcmV0dXJuO0IuY3VycmVudD1ILFkoSCl9LFtYXSksTT1JKChMKT0+e2lmKCFRfHxOLmN1cnJlbnR8fE9iamVjdC5rZXlzKEwpLmxlbmd0aD09PTApcmV0dXJuO2xldCBIPUIuY3VycmVudCxPPUc1KEgsTCk7Qi5jdXJyZW50PU8sWShPKSxWLmN1cnJlbnQ/LmFib3J0KCksVi5jdXJyZW50PW51bGw7bGV0IFc9Kyt6LmN1cnJlbnQsVD1uZXcgQWJvcnRDb250cm9sbGVyO1UuY3VycmVudD1ULE4uY3VycmVudD0hMCxHKCEwKSxmZXRjaChRLHttZXRob2Q6IlBBVENIIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoTCksc2lnbmFsOlQuc2lnbmFsfSkudGhlbihhc3luYyhQKT0+e2lmKCFQLm9rKXRocm93IEVycm9yKGBTdHJlYW0gc2V0dGluZ3MgdXBkYXRlIGZhaWxlZCAoJHtQLnN0YXR1c30pYCk7bGV0IHg9WTUoYXdhaXQgUC5qc29uKCkscTUoTykpO2lmKCFULnNpZ25hbC5hYm9ydGVkJiZ6LmN1cnJlbnQ9PT1XKXtsZXQgRD1HNShCLmN1cnJlbnQseCk7Qi5jdXJyZW50PUQsWShEKX19KS5jYXRjaCgoUCk9PntpZihULnNpZ25hbC5hYm9ydGVkKXJldHVybjtpZihjb25zb2xlLndhcm4oIkZhaWxlZCB0byB1cGRhdGUgc3RyZWFtIHNldHRpbmdzIixQKSx6LmN1cnJlbnQ9PT1XKXtsZXQgeD1HNShCLmN1cnJlbnQscTUoSCkpO0IuY3VycmVudD14LFkoeCl9fSkuZmluYWxseSgoKT0+e2lmKFUuY3VycmVudD09PVQpVS5jdXJyZW50PW51bGw7aWYoIVQuc2lnbmFsLmFib3J0ZWQmJnouY3VycmVudD09PVcpTi5jdXJyZW50PSExLEcoITEpfSl9LFtRXSk7cmV0dXJue3NldHRpbmdzOkssdXBkYXRlUGxheWJhY2s6Qyx1cGRhdGVFbmNvZGVyOk0scGVuZGluZzpxLHRyYW5zcG9ydExvY2tlZDpYLGVuY29kZXJTZXR0aW5nc0F2YWlsYWJsZTohIVF9fXZhciBQOD17c3RyZWFtZWQ6ITEsZmVsbEJhY2s6ITF9O2Z1bmN0aW9uIFQ3KCQsUSl7c3dpdGNoKFEpe2Nhc2UiZGVjb2RlZC1mcmFtZSI6cmV0dXJuICQuc3RyZWFtZWQ/JDp7Li4uJCxzdHJlYW1lZDohMH07Y2FzZSJ0aW1lb3V0IjpyZXR1cm4gJC5zdHJlYW1lZHx8JC5mZWxsQmFjaz8kOnsuLi4kLGZlbGxCYWNrOiEwfTtjYXNlImVycm9yIjpyZXR1cm4gJC5mZWxsQmFjaz8kOnsuLi4kLGZlbGxCYWNrOiEwfTtjYXNlInJlc2V0IjpyZXR1cm4gUDh9fXZhciBFNz00MDAwO3ZhciBOWD17S2V5QTo0LEtleUI6NSxLZXlDOjYsS2V5RDo3LEtleUU6OCxLZXlGOjksS2V5RzoxMCxLZXlIOjExLEtleUk6MTIsS2V5SjoxMyxLZXlLOjE0LEtleUw6MTUsS2V5TToxNixLZXlOOjE3LEtleU86MTgsS2V5UDoxOSxLZXlROjIwLEtleVI6MjEsS2V5UzoyMixLZXlUOjIzLEtleVU6MjQsS2V5VjoyNSxLZXlXOjI2LEtleVg6MjcsS2V5WToyOCxLZXlaOjI5LERpZ2l0MTozMCxEaWdpdDI6MzEsRGlnaXQzOjMyLERpZ2l0NDozMyxEaWdpdDU6MzQsRGlnaXQ2OjM1LERpZ2l0NzozNixEaWdpdDg6MzcsRGlnaXQ5OjM4LERpZ2l0MDozOSxFbnRlcjo0MCxFc2NhcGU6NDEsQmFja3NwYWNlOjQyLFRhYjo0MyxTcGFjZTo0NCxNaW51czo0NSxFcXVhbDo0NixCcmFja2V0TGVmdDo0NyxCcmFja2V0UmlnaHQ6NDgsQmFja3NsYXNoOjQ5LFNlbWljb2xvbjo1MSxRdW90ZTo1MixCYWNrcXVvdGU6NTMsQ29tbWE6NTQsUGVyaW9kOjU1LFNsYXNoOjU2LENhcHNMb2NrOjU3LEYxOjU4LEYyOjU5LEYzOjYwLEY0OjYxLEY1OjYyLEY2OjYzLEY3OjY0LEY4OjY1LEY5OjY2LEYxMDo2NyxGMTE6NjgsRjEyOjY5LFByaW50U2NyZWVuOjcwLFNjcm9sbExvY2s6NzEsUGF1c2U6NzIsSW5zZXJ0OjczLEhvbWU6NzQsUGFnZVVwOjc1LERlbGV0ZTo3NixFbmQ6NzcsUGFnZURvd246NzgsQXJyb3dSaWdodDo3OSxBcnJvd0xlZnQ6ODAsQXJyb3dEb3duOjgxLEFycm93VXA6ODIsTnVtTG9jazo4MyxOdW1wYWREaXZpZGU6ODQsTnVtcGFkTXVsdGlwbHk6ODUsTnVtcGFkU3VidHJhY3Q6ODYsTnVtcGFkQWRkOjg3LE51bXBhZEVudGVyOjg4LE51bXBhZDE6ODksTnVtcGFkMjo5MCxOdW1wYWQzOjkxLE51bXBhZDQ6OTIsTnVtcGFkNTo5MyxOdW1wYWQ2Ojk0LE51bXBhZDc6OTUsTnVtcGFkODo5NixOdW1wYWQ5Ojk3LE51bXBhZDA6OTgsTnVtcGFkRGVjaW1hbDo5OSxDb250cm9sTGVmdDoyMjQsU2hpZnRMZWZ0OjIyNSxBbHRMZWZ0OjIyNixNZXRhTGVmdDoyMjcsQ29udHJvbFJpZ2h0OjIyOCxTaGlmdFJpZ2h0OjIyOSxBbHRSaWdodDoyMzAsTWV0YVJpZ2h0OjIzMX07ZnVuY3Rpb24gdzcoJCl7cmV0dXJuIE5YWyRdPz9udWxsfXZhciBUOD0zMjAsSTc9NzYwLEU4PTMwMDtmdW5jdGlvbiB3OCgkLFEpe2lmKCEkKXJldHVybiBudWxsO2lmKCEkLmRldmljZSlyZXR1cm4gJDtpZighJC5wcm94eUhlbHBlcnMpcmV0dXJuICQ7bGV0IFg9YCR7JC5iYXNlUGF0aD09PSIvIj8iIjooJC5iYXNlUGF0aD8/IiIpLnJlcGxhY2UoL1wvKyQvLCIiKX0vaGVscGVyLyR7ZW5jb2RlVVJJQ29tcG9uZW50KCQuZGV2aWNlKX1gLEs9YCR7US5wcm90b2NvbH0vLyR7US5ob3N0fWAsWT1RLnByb3RvY29sPT09Imh0dHBzOiI/IndzczoiOiJ3czoiO3JldHVybnsuLi4kLHVybDpgJHtLfSR7WH1gLHN0cmVhbVVybDpgJHtLfSR7WH0vc3RyZWFtLm1qcGVnYCx3c1VybDpgJHtZfS8vJHtRLmhvc3R9JHtYfS93c2B9fWZ1bmN0aW9uIGI3KCQpe2xldCBRPW5ldyBVUkxTZWFyY2hQYXJhbXMoJC5zZWFyY2gpLmdldCgibG9ncyIpO2lmKFEhPT1udWxsKXJldHVybiBRPT09IjEiO3JldHVybiBRMygkLmhvc3RuYW1lKX1mdW5jdGlvbiB5NygkLFEpe2xldCBKPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShRKSksWD1uZXcgVWludDhBcnJheSgxK0oubGVuZ3RoKTtyZXR1cm4gWFswXT0kLFguc2V0KEosMSksWH1mdW5jdGlvbiB6WCgkLFEsSj0zMil7bGV0IFg9Wy4uLiQsUV07cmV0dXJuIFgubGVuZ3RoPko/WC5zbGljZShYLmxlbmd0aC1KKTpYfWZ1bmN0aW9uIEk4KCQsUSxKPURhdGUubm93KCksWD0xNTAwKXtsZXQgSz1RLmZpbHRlcigoWSk9PkotWS5jcmVhdGVkQXQ8PVgpO2lmKCEkfHwkLnJlYWR5U3RhdGUhPT0xKXJldHVybiBLO2ZvcihsZXQgWSBvZiBLKSQuc2VuZCh5NyhZLnRhZyxZLnBheWxvYWQpLmJ1ZmZlcik7cmV0dXJuW119ZnVuY3Rpb24gUzcoJCxRLEosWCxLPURhdGUubm93KCkpe2xldCBZPUk4KCQsUSxLKTtpZigkPy5yZWFkeVN0YXRlPT09MSlyZXR1cm4gJC5zZW5kKHk3KEosWCkuYnVmZmVyKSxZO3JldHVybiB6WChZLHt0YWc6SixwYXlsb2FkOlgsY3JlYXRlZEF0Okt9KX12YXIgTFg9e2gyNjQ6WyJoMjY0IiwidnA4IiwidnA5Il0sdnA5OlsidnA5IiwidnA4Il0sdnA4OlsidnA4Il19O2Z1bmN0aW9uIFVYKCQsUSl7bGV0IEo9TFhbJF0sWD1KLmluZGV4T2YoUSk7aWYoWD09PS0xKXJldHVybiBKWzBdPz9udWxsO3JldHVybiBKW1grMV0/P251bGx9ZnVuY3Rpb24geDcoJCxRLEope2lmKEoua2luZD09PSJwZXJtYW5lbnQiKXJldHVybnt0eXBlOiJzd2l0Y2gtdG8taHR0cCJ9O2lmKEouY29kZWMhPT1RKXJldHVybiBudWxsO2xldCBYPVVYKCQsUSk7cmV0dXJuIFgmJlghPT1RP3t0eXBlOiJyZXRyeS1jb2RlYyIsY29kZWM6WH06e3R5cGU6InN3aXRjaC10by1odHRwIn19ZnVuY3Rpb24gajcoJCl7cmV0dXJuICQ/YCR7JC5kZXZpY2V9OiR7JC5waWR9OiR7JC5zdHJlYW1Vcmx9OiR7JC53c1VybH06JHtKU09OLnN0cmluZ2lmeSgkLnN0cmVhbVNldHRpbmdzPz9udWxsKX1gOiIifWZ1bmN0aW9uIEhYKCl7bGV0WyQsUV09aygoKT0+dzgoYTIod2luZG93Ll9fU0lNX1BSRVZJRVdfXyksd2luZG93LmxvY2F0aW9uKSksW0osWF09ayghMSksW0ssWV09aygoKT0+e2xldCBtPWEyKHdpbmRvdy5fX1NJTV9QUkVWSUVXX18pO2lmKG0pcmV0dXJuIG0uZGV2aWNlO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgiZGV2aWNlIil9KSxbcSxHXT1rKCExKSxbQixOXT1rKCExKSxbeixWXT1rKCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuITE7cmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoPj1FOCs1MjB9KSx7d2lkdGg6VSxvblBvaW50ZXJEb3duOkN9PXEzKCJzZXJ2ZS1zaW06ZGV2aWNlLXNpZGViYXItd2lkdGgiLEU4LDI0MCw2NDAsInJpZ2h0IiksW00sTF09ayhudWxsKSxIPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18sTz1IPy5ncmlkQXBpRW5kcG9pbnQ/P3YxKCJncmlkL2FwaSIpLFc9SD8uZ3JpZFN0YXJ0RW5kcG9pbnQ/P3YxKCJncmlkL2FwaS9zdGFydCIpLFQ9SD8uZ3JpZFNodXRkb3duRW5kcG9pbnQ/P3YxKCJncmlkL2FwaS9zaHV0ZG93biIpLFtQLHhdPWsoe30pLFtELGVdPWsoe30pLFtSLGRdPWsoe30pLG49T2JqZWN0LnZhbHVlcyhQKS5zb21lKEJvb2xlYW4pfHxPYmplY3QudmFsdWVzKEQpLnNvbWUoQm9vbGVhbikse2RldmljZXM6byx0b3RhbDphLHJlZnJlc2g6aSxsb2FkTW9yZTpMMSxsb2FkQWxsOmwscmVzZXRQYWdlOmYsaGFzTW9yZTpYMX09TzcoTywhMCxuKSxaMT0hIShLJiZvPy5maW5kKChtKT0+bS5kZXZpY2U9PT1LKT8uaGVscGVyKSxVMT1JKChtKT0+e1kobSk7dHJ5e2xldCB2PW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO3Yuc2VhcmNoUGFyYW1zLnNldCgiZGV2aWNlIixtKSx3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwiIix2LnRvU3RyaW5nKCkpfWNhdGNoe319LFtdKSxzPUkoYXN5bmMobSx2PTIwMDAwKT0+e2xldCBZMT1EYXRlLm5vdygpK3Y7d2hpbGUoRGF0ZS5ub3coKTxZMSl7dHJ5e2lmKCgoYXdhaXQoYXdhaXQgZmV0Y2goTyx7Y2FjaGU6Im5vLXN0b3JlIn0pKS5qc29uKCkpLmRldmljZXM/P1tdKS5zb21lKChGMSk9PkYxLmRldmljZT09PW0mJkYxLmhlbHBlcikpcmV0dXJuITB9Y2F0Y2h7fWF3YWl0IG5ldyBQcm9taXNlKChWMSk9PnNldFRpbWVvdXQoVjEsNDAwKSl9cmV0dXJuITF9LFtPXSksSjE9SShhc3luYyhtKT0+e3goKHYpPT4oey4uLnYsW21dOiEwfSkpLGQoKHYpPT4oey4uLnYsW21dOm51bGx9KSk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKFcse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt1ZGlkOm19KX0pLFkxPWF3YWl0IHYuanNvbigpLmNhdGNoKCgpPT4oe30pKTtpZighdi5va3x8IVkxLm9rKXtkKChWMSk9Pih7Li4uVjEsW21dOlkxLmVycm9yPz9gSFRUUCAke3Yuc3RhdHVzfWB9KSk7cmV0dXJufWF3YWl0IHMobSl9Y2F0Y2godil7ZCgoWTEpPT4oey4uLlkxLFttXTp2Py5tZXNzYWdlPz8iUmVxdWVzdCBmYWlsZWQifSkpfWZpbmFsbHl7eCgodik9Pih7Li4udixbbV06ITF9KSksaSgpfX0sW1cscyxpXSkscTE9SShhc3luYyhtKT0+e2UoKHYpPT4oey4uLnYsW21dOiEwfSkpLGQoKHYpPT4oey4uLnYsW21dOm51bGx9KSk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKFQse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt1ZGlkOm19KX0pLFkxPWF3YWl0IHYuanNvbigpLmNhdGNoKCgpPT4oe30pKTtpZighdi5va3x8IVkxLm9rKWQoKFYxKT0+KHsuLi5WMSxbbV06WTEuZXJyb3I/P2BIVFRQICR7di5zdGF0dXN9YH0pKX1jYXRjaCh2KXtkKChZMSk9Pih7Li4uWTEsW21dOnY/Lm1lc3NhZ2U/PyJSZXF1ZXN0IGZhaWxlZCJ9KSl9ZmluYWxseXtlKCh2KT0+KHsuLi52LFttXTohMX0pKSxpKCl9fSxbVCxpXSk7eSgoKT0+e2lmKEspcmV0dXJuO2lmKCQ/LmRldmljZSl7WSgkLmRldmljZSk7cmV0dXJufWlmKCFvfHxvLmxlbmd0aD09PTApcmV0dXJuO2xldCBtPW8uZmluZCgodik9PnYuaGVscGVyKT8/by5maW5kKCh2KT0+di5zdGF0ZT09PSJCb290ZWQiKT8/b1swXTtpZihtKVkobS5kZXZpY2UpfSxbSywkPy5kZXZpY2Usb10pLHkoKCk9PntsZXQgbT1gJHt2MSgiYXBpL2V2ZW50cyIpfSR7Sz9gP2RldmljZT0ke2VuY29kZVVSSUNvbXBvbmVudChLKX1gOiIifWAsdj0oVjEpPT57USgodzEpPT57aWYoVjE9dzgoYTIoVjEpLHdpbmRvdy5sb2NhdGlvbiksajcodzEpPT09ajcoVjEpKXJldHVybiB3MTtpZihWMSl3aW5kb3cuX19TSU1fUFJFVklFV19fPVYxO2Vsc2UgaWYod2luZG93Ll9fU0lNX1BSRVZJRVdfXyl7bGV0e2Jhc2VQYXRoOkYxLGV4ZWNUb2tlbjpJMX09d2luZG93Ll9fU0lNX1BSRVZJRVdfXzt3aW5kb3cuX19TSU1fUFJFVklFV19fPXtiYXNlUGF0aDpGMSxleGVjVG9rZW46STF9fXJldHVybiBWMX0pfSxZMT1iMChtKTtyZXR1cm4gWTEub25tZXNzYWdlPShWMSk9Pnt0cnl7dihhMihKU09OLnBhcnNlKFYxLmRhdGEpKSl9Y2F0Y2h7fX0sKCk9PlkxLmNsb3NlKCl9LFtLLFoxXSkseSgoKT0+e2lmKCEkPy5sb2dzRW5kcG9pbnR8fCFiNyh3aW5kb3cubG9jYXRpb24pKXJldHVybjtsZXQgbT1iMCgkLmxvZ3NFbmRwb2ludCksdj1uZXcgTWFwLFkxPVsiIzhiZTlmZCIsIiM1MGZhN2IiLCIjZmZiODZjIiwiI2ZmNzljNiIsIiNiZDkzZjkiLCIjZjFmYThjIiwiIzYyNzJhNCIsIiNmZjU1NTUiLCIjNjlmZjk0IiwiI2Q2YWNmZiIsIiNmZmZmYTUiLCIjYTRmZmZmIiwiI2ZmNmU2ZSIsIiNjYWE5ZmEiLCIjNWFmNzhlIl07ZnVuY3Rpb24gVjEoSTEpe2xldCBXMT12LmdldChJMSk7aWYoIVcxKXtsZXQgUjE9MDtmb3IobGV0IGsxPTA7azE8STEubGVuZ3RoO2sxKyspUjE9KFIxPDw1KS1SMStJMS5jaGFyQ29kZUF0KGsxKXwwO1cxPVkxW01hdGguYWJzKFIxKSVZMS5sZW5ndGhdLHYuc2V0KEkxLFcxKX1yZXR1cm4gVzF9bGV0IHcxPSIiLEYxPSExO3JldHVybiBtLm9ubWVzc2FnZT0oSTEpPT57dHJ5e2xldCBXMT1KU09OLnBhcnNlKEkxLmRhdGEpLFIxPVcxLnByb2Nlc3NJbWFnZVBhdGg/LnNwbGl0KCIvIikucG9wKCk/P1cxLnNlbmRlckltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/IiIsazE9VzEuc3Vic3lzdGVtPz8iIixyMT1XMS5jYXRlZ29yeT8/IiIseDE9VzEuZXZlbnRNZXNzYWdlPz8iIjtpZigheDEpcmV0dXJuO2lmKFIxIT09dzEpe2lmKEYxKWNvbnNvbGUuZ3JvdXBFbmQoKTtsZXQgZjE9VjEoUjEpO2NvbnNvbGUuZ3JvdXBDb2xsYXBzZWQoYCVjJHtSMX0ke2sxP2AgJWMke2sxfSR7cjE/IjoiK3IxOiIifWA6IiJ9YCxgY29sb3I6JHtmMX07Zm9udC13ZWlnaHQ6Ym9sZGAsLi4uazE/WyJjb2xvcjojODg4O2ZvbnQtd2VpZ2h0Om5vcm1hbCJdOltdKSxGMT0hMCx3MT1SMX1sZXQgTTE9KFcxLm1lc3NhZ2VUeXBlPz8iIikudG9Mb3dlckNhc2UoKSxOMT1rMSYmUjE9PT13MT9gJWMke3IxfHxrMX0lYyBgOiIiLGExPU4xP1siY29sb3I6Izg4ODtmb250LXN0eWxlOml0YWxpYyIsImNvbG9yOmluaGVyaXQiXTpbXTtpZihNMT09PSJmYXVsdCJ8fE0xPT09ImVycm9yIiljb25zb2xlLmxvZyhgJHtOMX0lYyR7eDF9YCwuLi5hMSwiY29sb3I6I2ZmNTU1NSIpO2Vsc2UgaWYoTTE9PT0iZGVidWciKWNvbnNvbGUubG9nKGAke04xfSVjJHt4MX1gLC4uLmExLCJjb2xvcjojNjI3MmE0Iik7ZWxzZSBjb25zb2xlLmxvZyhgJHtOMX0lYyR7eDF9YCwuLi5hMSwiY29sb3I6aW5oZXJpdCIpfWNhdGNoe319LCgpPT57aWYoRjEpY29uc29sZS5ncm91cEVuZCgpO20uY2xvc2UoKX19LFskPy5sb2dzRW5kcG9pbnRdKTtsZXQgaj1LPz8kPy5kZXZpY2U/P251bGwscD1vPy5maW5kKChtKT0+bS5kZXZpY2U9PT1qKT8/bnVsbCxfPSEhJCYmJC5kZXZpY2U9PT1qLGg7aWYoXyYmJCloPVooQ1gse2NvbmZpZzokLGRldmljZU5hbWU6cD8ubmFtZT8/bnVsbCxkZXZpY2VSdW50aW1lOnA/LnJ1bnRpbWU/P251bGwsY2hyb21lOnA/LmNocm9tZT8/bnVsbCxheE92ZXJsYXlFbmFibGVkOnEsc2V0QXhPdmVybGF5RW5hYmxlZDpHLGRldnRvb2xzT3BlbjpCLHNldERldnRvb2xzT3BlbjpOLGdyaWRPcGVuOnosc2V0R3JpZE9wZW46VixncmlkUGFuZWxXaWR0aDpVLHNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDpNLHNldFNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDpMLHN0cmVhbWluZzpKLHNldFN0cmVhbWluZzpYfSk7ZWxzZXtsZXQgbT16P1UrMzY6MjQ7aD1aKCJkaXYiLHtjbGFzc05hbWU6Imgtc2NyZWVuIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0zIGJnLXBhZ2UgZm9udC1zeXN0ZW0gYm94LWJvcmRlciBbdHJhbnNpdGlvbjpwYWRkaW5nXzAuMjVzX2Vhc2VdIixzdHlsZTp7cGFkZGluZ0xlZnQ6bSxwYWRkaW5nUmlnaHQ6MjR9LGNoaWxkcmVuOnA/WihGNix7bmFtZTpwLm5hbWUscnVudGltZTpwLnJ1bnRpbWUsY2hyb21lOnAuY2hyb21lPz9udWxsLHBsYWNlaG9sZGVyQXNzZXQ6cC5wbGFjZWhvbGRlckFzc2V0Pz9udWxsLGJ1c3k6ISFwLmhlbHBlcnx8ISFQW3AuZGV2aWNlXSxidXN5TGFiZWw6cC5oZWxwZXI/IkNvbm5lY3RpbmfigKYiOiJTdGFydGluZ+KApiIsZXJyb3I6UltwLmRldmljZV0/P251bGwsb25TdGFydDooKT0+SjEocC5kZXZpY2UpfSk6WigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMyB0ZXh0LWNlbnRlciIsY2hpbGRyZW46W1ooImgxIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxOHB4XSBtLTAgdGV4dC13aGl0ZS85MCIsY2hpbGRyZW46Ik5vIHNpbXVsYXRvcnMgYXZhaWxhYmxlIn0pLFooInAiLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNTUgdGV4dC1bMTRweF0gbWF4LXctMTIwIixjaGlsZHJlbjpbIkNyZWF0ZSBhIHNpbXVsYXRvciBpbiBYY29kZSwgb3Igc3RhcnQgb25lIHdpdGgiLCIgIixaKCJjb2RlIix7Y2xhc3NOYW1lOiJiZy1bIzIyMl0gcHgtMS41IHB5LTAuNSByb3VuZGVkIHRleHQtWzEzcHhdIixjaGlsZHJlbjoiYnVueCBAZXhwby9zZXJ2ZS1zaW0gLS1kZXRhY2gifSksIi4iXX0pXX0pfSl9cmV0dXJuIFooUTEse2NoaWxkcmVuOltoLFooJDQse30pLFooRDYse29wZW46eixvbkNsb3NlOigpPT5WKCExKSx3aWR0aDpVLHNpZGU6ImxlZnQiLGRldmljZXM6byx0b3RhbDphLGhhc01vcmU6WDEsb25Mb2FkTW9yZTpMMSxvbkxvYWRBbGw6bCxvblJlc2V0UGFnZTpmLHNlbGVjdGVkVWRpZDpqLG9uU2VsZWN0OlUxLHN0YXJ0aW5nOlAsc2h1dHRpbmdEb3duOkQsb25TaHV0ZG93bjpxMX0pLFoobDUse3BhbmVsV2lkdGg6VSx2aXNpYmxlOnosb25Qb2ludGVyRG93bjpDLGFyaWFMYWJlbDoiUmVzaXplIHNpbXVsYXRvcnMgc2lkZWJhciIsc2lkZToibGVmdCJ9KSxaKHo2LHtvcGVuOnosb25DbGljazooKT0+VighMCl9KV19KX1mdW5jdGlvbiBDWCh7Y29uZmlnOiQsZGV2aWNlTmFtZTpRLGRldmljZVJ1bnRpbWU6SixjaHJvbWU6WCxheE92ZXJsYXlFbmFibGVkOkssc2V0QXhPdmVybGF5RW5hYmxlZDpZLGRldnRvb2xzT3BlbjpxLHNldERldnRvb2xzT3BlbjpHLGdyaWRPcGVuOkIsc2V0R3JpZE9wZW46TixncmlkUGFuZWxXaWR0aDp6LHNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDpWLHNldFNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDpVLHN0cmVhbWluZzpDLHNldFN0cmVhbWluZzpNfSl7eSgoKT0+e2RvY3VtZW50LnRpdGxlPVE/YFNpbXVsYXRvciAtICR7UX1gOiJTaW11bGF0b3IgUHJldmlldyJ9LFtRXSk7bGV0IEw9RTAoUSksSD1DNygkLmRldnRvb2xzRW5kcG9pbnQ/P3YxKCJkZXZ0b29scyIpLHEpO3koKCk9PntpZighcSlyZXR1cm47aWYoViYmSC50YXJnZXRzLnNvbWUoKEYpPT5GLmlkPT09VikpcmV0dXJuO1UoSC50YXJnZXRzLmxlbmd0aD09PTE/SC50YXJnZXRzWzBdLmlkOm51bGwpfSxbcSxILnRhcmdldHMsVixVXSkseSgoKT0+e1UobnVsbCl9LFskLmRldmljZSxVXSk7bGV0IE89WDcoKSxXPVA3KHtkZXZpY2U6JC5kZXZpY2UsZW5kcG9pbnQ6JC5zdHJlYW1TZXR0aW5nc0VuZHBvaW50LGluaXRpYWxTZXR0aW5nczokLnN0cmVhbVNldHRpbmdzfSksVD1XLnNldHRpbmdzLFA9Vy51cGRhdGVQbGF5YmFjayx4PVcudHJhbnNwb3J0TG9ja2VkLEQ9VC50cmFuc3BvcnQ9PT0id2VicnRjIixlPXcobnVsbCksUj1ELFtkLG5dPWsobnVsbCksbz1ULndlYlJ0Y0NvZGVjLGE9ZD8/byxpPVY3KHtvZmZlclVybDp2NSgkKSxjbG9zZVVybDpKNigkKSxlbmFibGVkOlIsY29kZWM6YSxpY2VTZXJ2ZXJzOlQuaWNlU2VydmVyc30pLFtMMSxsXT1vMChUNyxQOCksW2ZdPWsoKCk9Pm5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCJjb2RlYyIpPT09Im1qcGVnIiksWDE9VC5odHRwQ29kZWM9PT0ibWpwZWciLFoxPSFSJiYhWDEmJk8uc3VwcG9ydGVkJiYhTDEuZmVsbEJhY2smJiFmLFUxPVo3KFoxfHxSP251bGw6UTYoJCkpO3koKCk9PntNKCExKSxsKCJyZXNldCIpLG4obnVsbCl9LFskLnN0cmVhbVVybCxNLFQudHJhbnNwb3J0LFQuaHR0cENvZGVjLFQud2ViUnRjQ29kZWNdKSx5KCgpPT57aWYoIUR8fCFpLmZhaWx1cmUpcmV0dXJuO2lmKGUuY3VycmVudD09PWkuZmFpbHVyZS5zZXNzaW9uSWQpcmV0dXJuO2UuY3VycmVudD1pLmZhaWx1cmUuc2Vzc2lvbklkO2xldCBGPXg3KG8sYSxpLmZhaWx1cmUpO2lmKCFGKXJldHVybjtpZihGLnR5cGU9PT0ic3dpdGNoLXRvLWh0dHAiKXtpZih4KXJldHVybjtQKHt0cmFuc3BvcnQ6Imh0dHAifSk7cmV0dXJufW4oRi5jb2RlYyl9LFtvLGEseCxQLEQsaS5mYWlsdXJlXSk7bGV0IHM9eCYmaS5mYWlsdXJlJiYhaS5lcnJvcj8iV2ViUlRDIHN0cmVhbWluZyBmYWlsZWQuIEhUVFAgZmFsbGJhY2sgaXMgZGlzYWJsZWQgZm9yIHRoaXMgc2Vzc2lvbi4iOm51bGw7eSgoKT0+e2lmKCFaMSlyZXR1cm47bGV0IEY9c2V0VGltZW91dCgoKT0+bCgidGltZW91dCIpLEU3KTtyZXR1cm4oKT0+Y2xlYXJUaW1lb3V0KEYpfSxbWjEsJC5zdHJlYW1VcmxdKTtsZXRbSjEscTFdPWsobnVsbCksW2oscF09ayhudWxsKSxfPWosaD1KMT8/Xz8/TjIoTCxRKSxtPVA1KEwsaCksdj16MihMLGgpLFkxPUQ1KGgpLFYxPUcyKGgpLHcxPVYxP1YxLndpZHRoL1YxLmhlaWdodDoxLEYxPWYwKGgpLEkxPSEhWCYmIUYxLFcxPUkxP1guZnJhbWUud2lkdGgvWC5zY3JlZW4ud2lkdGg6MSxSMT12KlcxLGsxPUkxP1guZnJhbWUud2lkdGgvWC5mcmFtZS5oZWlnaHQ6dzEscjE9STE/YCR7WC5mcmFtZS53aWR0aH0gLyAke1guZnJhbWUuaGVpZ2h0fWA6WTEseDE9dyhudWxsKSxNMT13KFtdKTt5KCgpPT57bGV0IEY9ITEsQT1udWxsLFM9bnVsbDtNMS5jdXJyZW50PVtdO2xldCBiPSgpPT57aWYoRnx8QSlyZXR1cm47QT1zZXRUaW1lb3V0KCgpPT57QT1udWxsLGMoKX0sMTAwMCl9LGM9KCk9PntsZXQgJDE9bmV3IFdlYlNvY2tldCgkLndzVXJsKTskMS5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsUz0kMSx4MS5jdXJyZW50PSQxLCQxLm9ub3Blbj0oKT0+e00xLmN1cnJlbnQ9STgoJDEsTTEuY3VycmVudCl9LCQxLm9ubWVzc2FnZT0oSDEpPT57aWYoIShIMS5kYXRhIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXJldHVybjtsZXQgQTE9bmV3IFVpbnQ4QXJyYXkoSDEuZGF0YSk7aWYoQTEubGVuZ3RoPDF8fEExWzBdIT09MTMwKXJldHVybjt0cnl7bGV0IG8xPUpTT04ucGFyc2UobmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKEExLnN1YmFycmF5KDEpKSk7aWYobzEud2lkdGg8PTB8fG8xLmhlaWdodDw9MClyZXR1cm47cCgoWjApPT5aMCYmWjAud2lkdGg9PT1vMS53aWR0aCYmWjAuaGVpZ2h0PT09bzEuaGVpZ2h0JiZaMC5vcmllbnRhdGlvbj09PW8xLm9yaWVudGF0aW9uP1owOm8xKX1jYXRjaHt9fSwkMS5vbmNsb3NlPSgpPT57aWYoeDEuY3VycmVudD09PSQxKXgxLmN1cnJlbnQ9bnVsbDtiKCl9LCQxLm9uZXJyb3I9KCk9PnskMS5jbG9zZSgpfX07cmV0dXJuIGMoKSwoKT0+e2lmKEY9ITAsQSljbGVhclRpbWVvdXQoQSk7aWYoeDEuY3VycmVudD09PVMpeDEuY3VycmVudD1udWxsO1M/LmNsb3NlKCl9fSxbJC53c1VybF0pO2xldCBOMT1JKChGLEEpPT57TTEuY3VycmVudD1TNyh4MS5jdXJyZW50LE0xLmN1cnJlbnQsRixBKX0sW10pLGExPUkoKEYpPT5OMSgzLEYpLFtOMV0pLGYxPUkoKEYpPT5OMSg1LEYpLFtOMV0pLGkxPUkoKEYpPT5OMSg0LHtidXR0b246Rn0pLFtOMV0pLHQxPUkoKHtwaGFzZTpGLGJ1dHRvbjpBfSk9PntpZihBLnVzYWdlUGFnZT09bnVsbHx8QS51c2FnZT09bnVsbClyZXR1cm47TjEoNCx7YnV0dG9uOkEubmFtZSxwYWdlOkEudXNhZ2VQYWdlLHVzYWdlOkEudXNhZ2UscGhhc2U6Rn0pfSxbTjFdKSxxMD1JKChGKT0+TjEoMTAse2RlbHRhOkZ9KSxbTjFdKSxHMD1JKChGKT0+TjEoMTEsRiksW04xXSksbDA9SSgoRik9PntxMSgoQSk9PkEmJkEud2lkdGg9PT1GLndpZHRoJiZBLmhlaWdodD09PUYuaGVpZ2h0JiZBLm9yaWVudGF0aW9uPT09Ri5vcmllbnRhdGlvbj9BOkYpfSxbXSksajE9SSgoRik9PntOMSg3LHtvcmllbnRhdGlvbjpGfSl9LFtOMV0pLFYwPWgub3JpZW50YXRpb24/PyJwb3J0cmFpdCIsUTA9TCE9PSJ3YXRjaCImJkwhPT0idmlzaW9uIixEMD1JKChGKT0+e2lmKCFRMClyZXR1cm47bGV0IEE9KEY9PT0ibGVmdCI/eTI6eTMpW1YwXTtqMShBKX0sW1EwLFYwLGoxXSk7eSgoKT0+e3ExKG51bGwpLHAobnVsbCl9LFskLnN0cmVhbVVybF0pLHkoKCk9PntsZXQgRj1fO2lmKCFGKXJldHVybjtxMSgoQSk9PkEmJkEud2lkdGg9PT1GLndpZHRoJiZBLmhlaWdodD09PUYuaGVpZ2h0JiZBLm9yaWVudGF0aW9uPT09Ri5vcmllbnRhdGlvbj9BOm51bGwpfSxbXyxfPy53aWR0aCxfPy5oZWlnaHQsXz8ub3JpZW50YXRpb25dKTtsZXQgbTE9SSgoRixBKT0+e04xKDYse3R5cGU6Rix1c2FnZTpBfSl9LFtOMV0pLFtlMSxSMF09ayhudWxsKSxbYjEsQjBdPWsoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4hMTtsZXQgRj1OdW1iZXIod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJzZXJ2ZS1zaW06dG9vbHMtcGFuZWwtd2lkdGgiKSksQT1OdW1iZXIuaXNGaW5pdGUoRikmJkY+MD9GOlQ4O3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aD49QSs0ODB9KSx7d2lkdGg6VTAsb25Qb2ludGVyRG93bjpfMX09cTMoInNlcnZlLXNpbTp0b29scy1wYW5lbC13aWR0aCIsVDgsMjQwLDcyMCkse3dpZHRoOkUxLG9uUG9pbnRlckRvd246SjB9PXEzKCJzZXJ2ZS1zaW06ZGV2dG9vbHMtcGFuZWwtd2lkdGgiLEk3LDQyMCwxNDAwKSxbTjAsSDBdPWsoKCk9PnR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdy5pbm5lcldpZHRoOjApLFtBMCxLMV09aygoKT0+dHlwZW9mIHdpbmRvdzwidSI/d2luZG93LmlubmVySGVpZ2h0OjApO3koKCk9PntsZXQgRj0oKT0+e0gwKHdpbmRvdy5pbm5lcldpZHRoKSxLMSh3aW5kb3cuaW5uZXJIZWlnaHQpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsRiksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLEYpfSxbXSkseSgoKT0+e2xldCBGPWIwKCQuYXBwU3RhdGVFbmRwb2ludD8/djEoImFwcHN0YXRlIikpLEE9bnVsbDtyZXR1cm4gRi5vbm1lc3NhZ2U9KFMpPT57dHJ5e2xldCBiPUpTT04ucGFyc2UoUy5kYXRhKTtpZihBKWNsZWFyVGltZW91dChBKTtsZXQgYz1iPy5pc1JlYWN0TmF0aXZlPzA6NjAwO0E9c2V0VGltZW91dCgoKT0+UjAoYiksYyl9Y2F0Y2h7fX0sKCk9PntpZihBKWNsZWFyVGltZW91dChBKTtGLmNsb3NlKCl9fSxbJC5hcHBTdGF0ZUVuZHBvaW50XSk7bGV0IEU9SShhc3luYygpPT57bTEoImRvd24iLDIxKSxhd2FpdCBuZXcgUHJvbWlzZSgoQSk9PnNldFRpbWVvdXQoQSwzMCkpLG0xKCJ1cCIsMjEpfSxbbTFdKSx1PXcobnVsbCksW3IsQzFdPWsoMCksW0cxLEIxXT1rKDApO3koKCk9PntsZXQgRj11LmN1cnJlbnQ7aWYoIUZ8fHR5cGVvZiBSZXNpemVPYnNlcnZlcj4idSIpcmV0dXJuO2xldCBBPW5ldyBSZXNpemVPYnNlcnZlcigoUyk9PntsZXQgYj1TWzBdPy5jb250ZW50UmVjdDtDMShiPy53aWR0aD8/MCksQjEoYj8uaGVpZ2h0Pz8wKX0pO3JldHVybiBBLm9ic2VydmUoRiksKCk9PkEuZGlzY29ubmVjdCgpfSxbXSk7bGV0W2gxLGwxXT1rKCEwKSxwMT13KCEwKTtwMS5jdXJyZW50PWgxO2xldCBDMD13KG5ldyBTZXQpO3koKCk9PntsZXQgRj0oQSk9PntsZXQgUz0hIXUuY3VycmVudD8uY29udGFpbnMoQS50YXJnZXQpO2wxKFMpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEYsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsRiwhMCl9LFtdKSx5KCgpPT57aWYoaDEpcmV0dXJuO2xldCBGPUMwLmN1cnJlbnQ7aWYoRi5zaXplPT09MClyZXR1cm47Zm9yKGxldCBBIG9mIEYpTjEoNix7dHlwZToidXAiLHVzYWdlOkF9KTtGLmNsZWFyKCl9LFtoMSxOMV0pLHkoKCk9PntsZXQgRj0oYixjKT0+e2lmKCFwMS5jdXJyZW50KXJldHVybjtpZihiLmNvZGU9PT0iS2V5SCImJmIubWV0YUtleSYmYi5zaGlmdEtleSl7aWYoYi5wcmV2ZW50RGVmYXVsdCgpLGM9PT0iZG93biImJiFiLnJlcGVhdClOMSg0LHtidXR0b246ImhvbWUifSk7cmV0dXJufWlmKChiLmNvZGU9PT0iQXJyb3dMZWZ0Inx8Yi5jb2RlPT09IkFycm93UmlnaHQiKSYmYi5tZXRhS2V5JiYhYi5zaGlmdEtleSYmIWIuYWx0S2V5JiYhYi5jdHJsS2V5KXtpZihiLnByZXZlbnREZWZhdWx0KCksYz09PSJkb3duIiYmIWIucmVwZWF0KUQwKGIuY29kZT09PSJBcnJvd0xlZnQiPyJsZWZ0IjoicmlnaHQiKTtyZXR1cm59aWYoYi5jb2RlPT09IktleUEiJiZiLm1ldGFLZXkmJmIuc2hpZnRLZXkpe2lmKGIucHJldmVudERlZmF1bHQoKSxjPT09ImRvd24iJiYhYi5yZXBlYXQpVDEoYHhjcnVuIHNpbWN0bCB1aSAkeyQuZGV2aWNlfSBhcHBlYXJhbmNlYCkudGhlbigoSDEpPT57bGV0IEExPUgxLnN0ZG91dC50cmltKCk9PT0iZGFyayI/ImxpZ2h0IjoiZGFyayI7cmV0dXJuIFQxKGB4Y3J1biBzaW1jdGwgdWkgJHskLmRldmljZX0gYXBwZWFyYW5jZSAke0ExfWApfSkuY2F0Y2goKCk9Pnt9KTtyZXR1cm59aWYoYi5jb2RlPT09IktleUsiJiZiLm1ldGFLZXkmJiFiLnNoaWZ0S2V5JiYhYi5hbHRLZXkmJiFiLmN0cmxLZXkpe2lmKGIucHJldmVudERlZmF1bHQoKSxjPT09ImRvd24iJiYhYi5yZXBlYXQpTjEoMTIse30pO3JldHVybn1sZXQgJDE9dzcoYi5jb2RlKTtpZigkMT09bnVsbClyZXR1cm47aWYoYi5wcmV2ZW50RGVmYXVsdCgpLGM9PT0iZG93biIpQzAuY3VycmVudC5hZGQoJDEpO2Vsc2UgQzAuY3VycmVudC5kZWxldGUoJDEpO04xKDYse3R5cGU6Yyx1c2FnZTokMX0pfSxBPShiKT0+RihiLCJkb3duIiksUz0oYik9PkYoYiwidXAiKTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLEEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsUyksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsQSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIixTKX19LFtOMSwkLmRldmljZSxEMF0pO2xldCBuMT1INygpLGswPXo3KCQuZGV2aWNlKSx6MD1RNyh7ZXhlYzpUMSx1ZGlkOiQuZGV2aWNlLGVuYWJsZWQ6QyxvblVwbG9hZFN0YXJ0Om4xLmFkZCxvblVwbG9hZFByb2dyZXNzOm4xLnNldFByb2dyZXNzLG9uVXBsb2FkRW5kOihGLEEsUyk9Pm4xLnVwZGF0ZShGLHtzdGF0dXM6QT8ic3VjY2VzcyI6ImVycm9yIixtZXNzYWdlOlN9KSxvblVuc3VwcG9ydGVkOihGKT0+e2xldCBBPW4xLmFkZChGLm5hbWUsIm1lZGlhIik7bjEudXBkYXRlKEEse3N0YXR1czoiZXJyb3IiLG1lc3NhZ2U6YFVuc3VwcG9ydGVkOiAke0YudHlwZXx8azIoRil9YH0pfSxvbkhvc3RQYXRoRHJvcDprMC5kaXNtaXNzfSksUDE9VTcoe2RlZmF1bHRXaWR0aDpSMSx2aWV3cG9ydFdpZHRoOk4wLHZpZXdwb3J0SGVpZ2h0OkEwLGFzcGVjdFJhdGlvOmsxLG9uU3RhcnQ6KCk9PmwxKCExKX0pLFMwPTEyLFcwPTI0LEoyPXI+MD9NYXRoLm1pbihyLFAxLndpZHRoKTpQMS53aWR0aCxEMj0oRik9PntpZihGPD0wKXJldHVybiAwO2xldCBBPU4wLVMwLUYsYj1OMC8yK0oyLzItKEEtVzApO2lmKGI8PTApcmV0dXJuIDA7bGV0IGM9MipiO3JldHVybiBjPD1GK1cwP2M6MH0sZDA9RDIocT9FMTpiMT9VMDowKSxOMz1EMihCP3o6MCk7cmV0dXJuIFooQjYse2VuZHBvaW50Oks/JD8uYXhFbmRwb2ludDp2b2lkIDAsY2hpbGRyZW46WigiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBoLXNjcmVlbiBiZy1wYWdlIHB5LTYgZ2FwLTMgZm9udC1zeXN0ZW0gYm94LWJvcmRlciIsc3R5bGU6e3BhZGRpbmdMZWZ0OjI0K04zLHBhZGRpbmdSaWdodDoyNCtkMCx0cmFuc2l0aW9uOlAxLmlzUmVzaXppbmd8fFAxLmlzSW5lcnRpYT8ibm9uZSI6RTZ9LGNoaWxkcmVuOltaKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC0zIG1pbi13LTAiLHN0eWxlOnt3aWR0aDpQMS53aWR0aCx0cmFuc2l0aW9uOlAxLmlzUmVzaXppbmd8fFAxLmlzSW5lcnRpYT8kODpROH0sY2hpbGRyZW46W1ooYzEse2V4ZWM6VDEsb25Sb3RhdGU6ajEsb3JpZW50YXRpb246aC5vcmllbnRhdGlvbj8/bnVsbCxkZXZpY2VVZGlkOiQuZGV2aWNlLGRldmljZU5hbWU6USxkZXZpY2VSdW50aW1lOkosc3RyZWFtaW5nOkMsImFyaWEtbGFiZWwiOiJTaW11bGF0b3Igc3RhdHVzIixzdHlsZTp7YWxpZ25TZWxmOiJjZW50ZXIiLHdpZHRoOiJhdXRvIixtaW5XaWR0aDowLG1heFdpZHRoOiIxMDAlIixmbGV4V3JhcDoibm93cmFwIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixnYXA6MTAscGFkZGluZzoiNnB4IDEwcHgiLGJvcmRlclJhZGl1czoxOH0sY2hpbGRyZW46W1ooYzEuVGl0bGUse29uQ2xpY2s6KCk9Pk4oKEYpPT4hRiksImFyaWEtbGFiZWwiOiJUb2dnbGUgc2ltdWxhdG9ycyBzaWRlYmFyIiwiYXJpYS1wcmVzc2VkIjpCLHRpdGxlOiJTaW11bGF0b3JzIixoaWRlU3VidGl0bGU6ITAsaGlkZUNoZXZyb246ITAsc3R5bGU6e21heFdpZHRoOiJtaW4oMjMwcHgsIGNhbGMoMTAwdncgLSAxNzBweCkpIn19KSxaKFo0LHtzdHJlYW1pbmc6Q30pXX0pLFooImRpdiIse3JlZjp1LGNsYXNzTmFtZToicmVsYXRpdmUgbWF4LWgtZnVsbCIsc3R5bGU6e3dpZHRoOlAxLndpZHRoLGFzcGVjdFJhdGlvOnIxLHRyYW5zaXRpb246UDEuaXNSZXNpemluZ3x8UDEuaXNJbmVydGlhPyQ4OlE4LHdpbGxDaGFuZ2U6UDEuaXNSZXNpemluZ3x8UDEuaXNJbmVydGlhPyJ3aWR0aCI6dm9pZCAwfSwuLi56MC5kcm9wWm9uZVByb3BzLGNoaWxkcmVuOlsoKCk9PntsZXQgRj1aKF81LHt1cmw6JC51cmwsd3NVcmw6JC53c1VybCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsYm9yZGVyOiJub25lIixwb2ludGVyRXZlbnRzOlAxLmlzUmVzaXppbmd8fFAxLmlzSW5lcnRpYT8ibm9uZSI6dm9pZCAwfSxpbWFnZVN0eWxlOntib3JkZXJSYWRpdXM6STE/MDptLGNvcm5lclNoYXBlOkkxP3ZvaWQgMDoic3VwZXJlbGxpcHNlKDEuMykiLC4uLkkxP3t9Ontib3hTaGFkb3c6Imluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikifX0saGlkZUNvbnRyb2xzOiEwLG9uU3RyZWFtaW5nQ2hhbmdlOk0sb25TdHJlYW1Ub3VjaDphMSxvblN0cmVhbU11bHRpVG91Y2g6ZjEsb25TdHJlYW1CdXR0b246aTEsb25TdHJlYW1EaWdpdGFsQ3Jvd246cTAsb25TdHJlYW1TY3JvbGw6RzAsc3RyZWFtTW9kZTpSPyJ3ZWJydGMiOloxPyJhdmNjIjoibWpwZWciLHdlYlJ0Y1N0cmVhbTppLnN0cmVhbSxvbldlYlJ0Y0ZyYW1lOmkubWFya0ZyYW1lRGVjb2RlZCxzdHJlYW1FcnJvcjpSP2kuZXJyb3I/P3M6bnVsbCxvbkF2Y2NFcnJvcjooKT0+bCgiZXJyb3IiKSxvbkF2Y2NEZWNvZGVkRnJhbWU6KCk9PmwoImRlY29kZWQtZnJhbWUiKSxzdWJzY3JpYmVGcmFtZTpaMT92b2lkIDA6VTEuc3Vic2NyaWJlRnJhbWUsc3RyZWFtRnJhbWU6WjE/dm9pZCAwOlUxLmZyYW1lLHN0cmVhbUNvbmZpZzpoLGVuYWJsZURpZ2l0YWxDcm93bjpMPT09IndhdGNoIixvblNjcmVlbkNvbmZpZ0NoYW5nZTpsMH0pLEE9WihRMSx7Y2hpbGRyZW46W0YsSyYmWihWNix7fSldfSk7aWYoIUkxKXJldHVybiBBO3JldHVybiBaKHA1LHtjaHJvbWU6WCxpbnRlcmFjdGl2ZTohMCxvbkJ1dHRvbjp0MSxvbkNyb3duV2hlZWw6KFMsYik9PntsZXQgYz1TMihTLGIsRzF8fDEpO2lmKGMhPW51bGwpcTAoYyl9LHNjcmVlbjpBfSl9KSgpLHowLmlzRHJhZ092ZXImJlooImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiBib3JkZXItMiBib3JkZXItZGFzaGVkIGJvcmRlci1hY2NlbnQgYmctW3JnYmEoOTksMTAyLDI0MSwwLjE4KV0gdGV4dC1hY2NlbnQgcG9pbnRlci1ldmVudHMtbm9uZSB6LTIwIixzdHlsZTp7Ym9yZGVyUmFkaXVzOkkxP3ZvaWQgMDptfSxjaGlsZHJlbjpbWihvMix7c2l6ZTozMixzdHJva2VXaWR0aDoxLjV9KSxaKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxM3B4XSBmb250LW1lZGl1bSIsY2hpbGRyZW46IkRyb3AgbWVkaWEgb3IgLmlwYSJ9KV19KSxaKHI2LHtzaW11bGF0b3JSZXNpemU6UDEsZGV2aWNlVHlwZTpMLHN0cmVhbUNvbmZpZzpoLGNvbnRhaW5lcldpZHRoOnJ8fFAxLndpZHRoLGNvbnRhaW5lckhlaWdodDpHMXx8KGsxPjA/UDEud2lkdGgvazE6MCl9KSxaKEo0LHt3aWR0aDpyfHxQMS53aWR0aCxoZWlnaHQ6RzF8fChrMT4wP1AxLndpZHRoL2sxOjApLHZpc2libGU6UDEuaXNSZXNpemluZ3x8UDEuaXNJbmVydGlhfSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgbWF4LXctZnVsbCIsY2hpbGRyZW46W1ooYzEse2V4ZWM6VDEsb25Sb3RhdGU6ajEsb3JpZW50YXRpb246aC5vcmllbnRhdGlvbj8/bnVsbCxkZXZpY2VVZGlkOiQuZGV2aWNlLGRldmljZU5hbWU6USxkZXZpY2VSdW50aW1lOkosc3RyZWFtaW5nOkMsImFyaWEtbGFiZWwiOiJTaW11bGF0b3IgYWN0aW9ucyIsc3R5bGU6e2FsaWduU2VsZjoiY2VudGVyIix3aWR0aDoiYXV0byIsbWluV2lkdGg6MCxtYXhXaWR0aDoiMTAwJSIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIscGFkZGluZzoiNnB4IDhweCIsYm9yZGVyUmFkaXVzOjE4fSxjaGlsZHJlbjpaKGMxLkFjdGlvbnMse2NoaWxkcmVuOltlMT8uaXNSZWFjdE5hdGl2ZSYmWihjMS5CdXR0b24seyJhcmlhLWxhYmVsIjoiUmVsb2FkIFJlYWN0IE5hdGl2ZSBidW5kbGUiLHRpdGxlOiJSZWxvYWQgKFIpIixvbkNsaWNrOigpPT52b2lkIEUoKSxjaGlsZHJlbjpaKGEwLHt9KX0pLFooYzEuSG9tZUJ1dHRvbix7dGl0bGU6IkhvbWUifSksWihjMS5TY3JlZW5zaG90QnV0dG9uLHt0aXRsZToiU2NyZWVuc2hvdCIsb25DbGljazooRik9PntGLnByZXZlbnREZWZhdWx0KCksazAuY2FwdHVyZSgpfX0pLFooYzEuUm90YXRlQnV0dG9uLHt0aXRsZToiUm90YXRlIGRldmljZSJ9KV19KX0pLFooYzEse2V4ZWM6VDEsb25Sb3RhdGU6ajEsb3JpZW50YXRpb246aC5vcmllbnRhdGlvbj8/bnVsbCxkZXZpY2VVZGlkOiQuZGV2aWNlLGRldmljZU5hbWU6USxkZXZpY2VSdW50aW1lOkosc3RyZWFtaW5nOkMsImFyaWEtbGFiZWwiOiJBY2Nlc3NpYmlsaXR5IG92ZXJsYXkiLHN0eWxlOnt3aWR0aDoiYXV0byIsbWluV2lkdGg6MCxqdXN0aWZ5Q29udGVudDoiY2VudGVyIixwYWRkaW5nOjYsYm9yZGVyUmFkaXVzOjIyfSxjaGlsZHJlbjpaKE42LHtvdmVybGF5RW5hYmxlZDpLLHN0cmVhbWluZzpDLG9uVG9nZ2xlT3ZlcmxheTooKT0+WSgoRik9PiFGKX0pfSldfSldfSksWigiZGl2Iix7Y2xhc3NOYW1lOmBmaXhlZCB0b3AtMyByaWdodC0zIGZsZXggZmxleC1jb2wgZ2FwLTEgcC0xIGJnLXBhbmVsLWJnIGJvcmRlciBib3JkZXItd2hpdGUvOCByb3VuZGVkLVsxMHB4XSBiYWNrZHJvcC1ibHVyLVsxMnB4XSBbLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KV0gW3RyYW5zaXRpb246b3BhY2l0eV8wLjE4c19lYXNlXSB6LTQwICR7YjF8fHE/Im9wYWNpdHktMCBwb2ludGVyLWV2ZW50cy1ub25lIjoib3BhY2l0eS0xMDAgcG9pbnRlci1ldmVudHMtYXV0byJ9YCxjaGlsZHJlbjpbWigiYnV0dG9uIix7b25DbGljazooKT0+e0coITEpLEIwKChGKT0+IUYpfSxjbGFzc05hbWU6InctWzMwcHhdIGgtWzMwcHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHJvdW5kZWQtbWQgdGV4dC1bIzhlOGU5M10gY3Vyc29yLXBvaW50ZXIgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtbGFiZWwiOiJPcGVuIHRvb2xzIHBhbmVsIiwiYXJpYS1wcmVzc2VkIjpiMSx0aXRsZToiVG9vbHMiLGNoaWxkcmVuOloobDIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43NX0pfSksWigiYnV0dG9uIix7b25DbGljazooKT0+e0IwKCExKSxHKChGKT0+IUYpfSxjbGFzc05hbWU6InctWzMwcHhdIGgtWzMwcHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHJvdW5kZWQtbWQgdGV4dC1bIzhlOGU5M10gY3Vyc29yLXBvaW50ZXIgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2VdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtbGFiZWwiOiJPcGVuIFdlYktpdCBEZXZUb29scyIsImFyaWEtcHJlc3NlZCI6cSx0aXRsZToiV2ViS2l0IERldlRvb2xzIixjaGlsZHJlbjpaKHAyLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuNzV9KX0pXX0pLFoobjQse29wZW46YjEsb25DbG9zZTooKT0+QjAoITEpLHVkaWQ6JC5kZXZpY2UsZGV2aWNlUnVudGltZTpKLGN1cnJlbnRBcHA6ZTEsZXZlbnRMb2dFdmVudHNFbmRwb2ludDokLmV2ZW50TG9nRXZlbnRzRW5kcG9pbnQsbWV0cmljc0VuZHBvaW50OiQubWV0cmljc0VuZHBvaW50LGF4T3ZlcmxheUVuYWJsZWQ6SyxvblRvZ2dsZUF4T3ZlcmxheTooKT0+WSgoRik9PiFGKSxzdHJlYW1TZXR0aW5nczpULG9uU3RyZWFtUGxheWJhY2tTZXR0aW5nc0NoYW5nZTpXLnVwZGF0ZVBsYXliYWNrLG9uU3RyZWFtRW5jb2RlclNldHRpbmdzQ2hhbmdlOlcudXBkYXRlRW5jb2RlcixhY3RpdmVDb2RlYzpSP2B3ZWJydGMvJHthfWA6WjE/ImgyNjQiOiJtanBlZyIscGVlckNvbm5lY3Rpb246aS5wZWVyQ29ubmVjdGlvbix3ZWJydGNTZXNzaW9uSWQ6aS5zZXNzaW9uSWQsd2VicnRjU3RhdHNVcmw6WjYoJCksYXZjY1N1cHBvcnRlZDpPLnN1cHBvcnRlZCxzdHJlYW1TZXR0aW5nc1BlbmRpbmc6Vy5wZW5kaW5nfHwhVy5lbmNvZGVyU2V0dGluZ3NBdmFpbGFibGUsc3RyZWFtVHJhbnNwb3J0TG9ja2VkOngsd2lkdGg6VTB9KSxaKGw1LHtwYW5lbFdpZHRoOlUwLHZpc2libGU6YjEsb25Qb2ludGVyRG93bjpfMSxhcmlhTGFiZWw6IlJlc2l6ZSB0b29scyBwYW5lbCJ9KSxaKCQ3LHtvcGVuOnEsb25DbG9zZTooKT0+RyghMSksdWRpZDokLmRldmljZSx0YXJnZXRzOkgudGFyZ2V0cyxzZWxlY3RlZFRhcmdldElkOlYsb25TZWxlY3RUYXJnZXQ6VSxsb2FkaW5nOkgubG9hZGluZyxlcnJvcjpILmVycm9yLG9uUmVmcmVzaDooKT0+dm9pZCBILnJlZnJlc2goKSx3aWR0aDpFMX0pLFoobDUse3BhbmVsV2lkdGg6RTEsdmlzaWJsZTpxLG9uUG9pbnRlckRvd246SjAsYXJpYUxhYmVsOiJSZXNpemUgV2ViS2l0IERldlRvb2xzIHBhbmVsIn0pXX0pfSl9QzkoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb3QiKSkucmVuZGVyKFooSFgse30pKTsKPC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+","base64").toString("utf-8");return A8}function aX(){return new Promise(($)=>{y0("xcrun",["simctl","list","devices","-j"],{encoding:"utf-8",timeout:3000},(Q,Z)=>{if(Q)return $([]);try{let J=JSON.parse(Z),Y=[];for(let[X,G]of Object.entries(J.devices)){if(!/SimRuntime\.(iOS|watchOS|visionOS|xrOS)-/i.test(X))continue;for(let K of G){if(K.isAvailable===!1)continue;Y.push({...K,runtime:X.replace(/^.*SimRuntime\./,"")})}}$(Y)}catch{$([])}})})}function tX(){try{let $=Number(g4("sysctl -n hw.memsize",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}).trim()),Q=Number(g4("sysctl -n hw.pagesize",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}).trim()),Z=g4("vm_stat",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}),J=(X)=>{let G=Z.match(X);return G?Number(G[1]):0},Y=J(/Pages free:\s+(\d+)/)+J(/Pages inactive:\s+(\d+)/)+J(/Pages speculative:\s+(\d+)/);return{totalBytes:Number.isFinite($)?$:0,availableBytes:Y*(Number.isFinite(Q)?Q:4096)}}catch{return{totalBytes:0,availableBytes:0}}}function sX(){try{let $=g4("ps -axo rss=,args=",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:3000,maxBuffer:8388608}),Q={},Z=0,J=/\/Devices\/([0-9A-F-]{36})\//i;for(let Y of $.split(`
|
|
110
110
|
`)){let X=Y.trimStart();if(!X)continue;let G=J.exec(X);if(!G)continue;let K=Number(X.split(/\s+/,1)[0]);if(!Number.isFinite(K))continue;let W=K*1024,z=G[1].toUpperCase();Q[z]=(Q[z]??0)+W,Z+=W}return{perUdid:Q,totalBytes:Z}}catch{return{perUdid:{},totalBytes:0}}}function eX(){let{totalBytes:$,availableBytes:Q}=tX(),Z=sX(),J=Object.keys(Z.perUdid).length,Y=J>0?Z.totalBytes/J:0,X=Y>=268435456?"measured":"estimated",G=X==="measured"?Y:rX,K=G>0?Math.max(0,Math.floor(Q/G)):0;return{totalBytes:$,availableBytes:Q,runningSimulators:J,perSimAvgBytes:G,perSimSource:X,estimatedAdditional:K}}function O5($){if($==="auto"||$==="h264"||$==="mjpeg")return{transport:"http",codec:$};return}function $G($,Q){let Z=Buffer.from($),J=Buffer.from(Q);if(Z.length!==J.length)return!1;return AX(Z,J)}function QG($){if(!$)return!1;return $.split(";",1)[0].trim().toLowerCase()==="application/json"}function A5($,Q,Z,J=U5,Y=[],X=K4){if(!Z){Q.writeHead(404),Q.end("No serve-sim device");return}Q.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no",...E2($.headers.origin,Y)}),Q.write(`:
|
|
111
111
|
|
|
112
112
|
`);let G=X.subscribe(Z.device),{meta:K,unsubscribe:W}=J.subscribe(Z.device,(V)=>{if(!Q.writableEnded)Q.write("data: "+JSON.stringify(V)+`
|
|
@@ -164,7 +164,7 @@ Usage:
|
|
|
164
164
|
serve-sim permissions reset <permission|all> <bundle-id> [-d <udid|name>]
|
|
165
165
|
serve-sim permissions list [bundle-id] [-d <udid|name>]
|
|
166
166
|
|
|
167
|
-
Permissions: ${r$().join(", ")}`),process.exit(1);let Y=J.device?s(J.device):G0();if(!Y)console.error("No booted simulator. Boot one or pass -d <udid|name>."),process.exit(1);if(J.verb==="list"){let G={udid:Y,bundleId:J.bundleId??null,tcc:PZ(Y,J.bundleId),location:IZ(Y,J.bundleId),notifications:kZ(Y,J.bundleId)};console.log(JSON.stringify(G,null,Q?0:2)),process.exit(0)}let X=J.bundleId;try{if(J.permission==="all")for(let G of r$())I9(Y,"reset",G,void 0,X);else I9(Y,J.verb,J.permission,J.value,X)}catch(G){console.error(G?.message??String(G)),process.exit(1)}if(Q)console.log(JSON.stringify({udid:Y,verb:J.verb,permission:J.permission,value:J.value??null,bundleId:X}));else{let G=J.value?` (${J.value})`:"";console.log(`\uD83D\uDD10 ${J.verb} ${J.permission}${G} for ${X} on ${Y}`)}process.exit(0)}K6();M6();function Z2($,Q={}){let Z=new Date($.timestamp),J=Number.isNaN(Z.getTime())?$.timestamp:Z.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}),Y=Q.deviceLabel??($.device?$.device.slice(0,8):null),X=$.status==="error"?" failed":"";return[J,Y,`${D1($)}${X?` (${X.trim()})`:""}`].filter(Boolean).join(" ")}function D1($){if($.kind==="tap"){let Q=G$($.details,"current")??G$($.details,"start");return Q?`Tap at ${U6(Q)}`:"Tap"}if($.kind==="drag"){let Q=G$($.details,"start"),Z=G$($.details,"current");if(Q&&Z)return`Drag from ${U6(Q)} to ${U6(Z)}`;return"Drag"}if($.kind==="key"){let Q=E1($.details,"key")??$.action??"key",Z=$.action==="down"?"down":$.action==="up"?"up":$.action;return Z?`Key ${Z} ${Q2(Q)}`:`Key ${Q2(Q)}`}if($.kind==="rotate"){let Q=$.action?J2($.action):"";return Q?`Rotate ${Q}`:"Rotate"}return P1($.msg??$.summary)}function G$($,Q){let Z=$?.[Q];if(!Z||typeof Z!=="object"||Array.isArray(Z))return null;let J=Z;return typeof J.x==="number"&&typeof J.y==="number"?{x:J.x,y:J.y}:null}function E1($,Q){let Z=$?.[Q];return typeof Z==="string"&&Z.length>0?Z:null}function U6($){return`${$2($.x)}, ${$2($.y)}`}function $2($){if(!Number.isFinite($))return"?";return(Math.round((C1($,0,1)+Number.EPSILON)*100)/100).toFixed(2)}function C1($,Q,Z){return Math.min(Z,Math.max(Q,$))}function P1($){return $.replace(/\b[a-z]+(?:_[a-z]+)+\b/g,J2)}function J2($){return $.replace(/[-_]+/g," ")}function Q2($){return{MetaLeft:"Left Command",MetaRight:"Right Command",AltLeft:"Left Option",AltRight:"Right Option",ControlLeft:"Left Control",ControlRight:"Right Control",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",ArrowLeft:"Left Arrow",ArrowRight:"Right Arrow",ArrowUp:"Up Arrow",ArrowDown:"Down Arrow"}[$]??$}R6();P4();function T6($,Q){let Z=$.split(",").map((Y)=>Y.trim()).filter(Boolean),J=Q==="stun"?/^stuns?:/i:/^turns?:/i;if(Z.length===0||Z.length>16||Z.some((Y)=>Y.length>2048||!J.test(Y)))throw Error(`Expected one or more comma-separated ${Q.toUpperCase()} URLs`);return Z}function O6($,Q){let Z=$??{transport:"http"},J=Q??{transport:"http"};if(Z.transport!==J.transport)return!1;let Y=W4(Z),X=W4(J);if(Y.mjpegFps!==X.mjpegFps||Y.mjpegQuality!==X.mjpegQuality||Y.maxDimension!==X.maxDimension||Y.h264Bitrate!==X.h264Bitrate||Y.h264Fps!==X.h264Fps)return!1;if(Z.transport==="http"&&J.transport==="http")return(Z.codec??"auto")===(J.codec??"auto");if(Z.transport!=="webrtc"||J.transport!=="webrtc")return!1;if(Z.codec!==J.codec)return!1;let G=Z.iceServers??[],K=J.iceServers??[];if(G.length!==K.length)return!1;return G.every((W,z)=>{let V=K[z];return W.username===V.username&&W.credential===V.credential&&W.urls.length===V.urls.length&&W.urls.every((L,B)=>L===V.urls[B])})}function L2($,Q){let Z=[];for(let J of $??[])for(let Y of J.urls){let X=Y.toLowerCase();if(Q.some((G)=>X.startsWith(G)))Z.push(Y)}return Z}function b1($){for(let Q of $??[])if(Q.urls.some((Z)=>/^turns?:/i.test(Z)))return Q;return null}function v1($){if(!$)return[];let Q=[];if(Q.push("--transport",$.transport),$.transport==="http"){if($.codec)Q.push("--codec",$.codec)}else{Q.push("--webrtc-codec",$.codec);let Z=L2($.iceServers,["stun:","stuns:"]);if(Z.length)Q.push("--stun-url",Z.join(","));let J=L2($.iceServers,["turn:","turns:"]);if(J.length){Q.push("--turn-url",J.join(","));let Y=b1($.iceServers);if(Y?.username)Q.push("--turn-username",Y.username);if(Y?.credential)Q.push("--turn-credential",Y.credential)}}if($.mjpegFps!==void 0)Q.push("--mjpeg-fps",String($.mjpegFps));if($.mjpegQuality!==void 0)Q.push("--mjpeg-quality",String($.mjpegQuality));if($.maxDimension!==void 0)Q.push("--max-dimension",String($.maxDimension));if($.h264Bitrate!==void 0)Q.push("--video-bitrate",String($.h264Bitrate));if($.h264Fps!==void 0)Q.push("--video-fps",String($.h264Fps));return Q}function M2($,Q,Z,J){return[$,"--port",String(Q),"--host",Z,...v1(J)]}P4();var f0=s4(import.meta.url);function GG(){return"0.1.
|
|
167
|
+
Permissions: ${r$().join(", ")}`),process.exit(1);let Y=J.device?s(J.device):G0();if(!Y)console.error("No booted simulator. Boot one or pass -d <udid|name>."),process.exit(1);if(J.verb==="list"){let G={udid:Y,bundleId:J.bundleId??null,tcc:PZ(Y,J.bundleId),location:IZ(Y,J.bundleId),notifications:kZ(Y,J.bundleId)};console.log(JSON.stringify(G,null,Q?0:2)),process.exit(0)}let X=J.bundleId;try{if(J.permission==="all")for(let G of r$())I9(Y,"reset",G,void 0,X);else I9(Y,J.verb,J.permission,J.value,X)}catch(G){console.error(G?.message??String(G)),process.exit(1)}if(Q)console.log(JSON.stringify({udid:Y,verb:J.verb,permission:J.permission,value:J.value??null,bundleId:X}));else{let G=J.value?` (${J.value})`:"";console.log(`\uD83D\uDD10 ${J.verb} ${J.permission}${G} for ${X} on ${Y}`)}process.exit(0)}K6();M6();function Z2($,Q={}){let Z=new Date($.timestamp),J=Number.isNaN(Z.getTime())?$.timestamp:Z.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}),Y=Q.deviceLabel??($.device?$.device.slice(0,8):null),X=$.status==="error"?" failed":"";return[J,Y,`${D1($)}${X?` (${X.trim()})`:""}`].filter(Boolean).join(" ")}function D1($){if($.kind==="tap"){let Q=G$($.details,"current")??G$($.details,"start");return Q?`Tap at ${U6(Q)}`:"Tap"}if($.kind==="drag"){let Q=G$($.details,"start"),Z=G$($.details,"current");if(Q&&Z)return`Drag from ${U6(Q)} to ${U6(Z)}`;return"Drag"}if($.kind==="key"){let Q=E1($.details,"key")??$.action??"key",Z=$.action==="down"?"down":$.action==="up"?"up":$.action;return Z?`Key ${Z} ${Q2(Q)}`:`Key ${Q2(Q)}`}if($.kind==="rotate"){let Q=$.action?J2($.action):"";return Q?`Rotate ${Q}`:"Rotate"}return P1($.msg??$.summary)}function G$($,Q){let Z=$?.[Q];if(!Z||typeof Z!=="object"||Array.isArray(Z))return null;let J=Z;return typeof J.x==="number"&&typeof J.y==="number"?{x:J.x,y:J.y}:null}function E1($,Q){let Z=$?.[Q];return typeof Z==="string"&&Z.length>0?Z:null}function U6($){return`${$2($.x)}, ${$2($.y)}`}function $2($){if(!Number.isFinite($))return"?";return(Math.round((C1($,0,1)+Number.EPSILON)*100)/100).toFixed(2)}function C1($,Q,Z){return Math.min(Z,Math.max(Q,$))}function P1($){return $.replace(/\b[a-z]+(?:_[a-z]+)+\b/g,J2)}function J2($){return $.replace(/[-_]+/g," ")}function Q2($){return{MetaLeft:"Left Command",MetaRight:"Right Command",AltLeft:"Left Option",AltRight:"Right Option",ControlLeft:"Left Control",ControlRight:"Right Control",ShiftLeft:"Left Shift",ShiftRight:"Right Shift",ArrowLeft:"Left Arrow",ArrowRight:"Right Arrow",ArrowUp:"Up Arrow",ArrowDown:"Down Arrow"}[$]??$}R6();P4();function T6($,Q){let Z=$.split(",").map((Y)=>Y.trim()).filter(Boolean),J=Q==="stun"?/^stuns?:/i:/^turns?:/i;if(Z.length===0||Z.length>16||Z.some((Y)=>Y.length>2048||!J.test(Y)))throw Error(`Expected one or more comma-separated ${Q.toUpperCase()} URLs`);return Z}function O6($,Q){let Z=$??{transport:"http"},J=Q??{transport:"http"};if(Z.transport!==J.transport)return!1;let Y=W4(Z),X=W4(J);if(Y.mjpegFps!==X.mjpegFps||Y.mjpegQuality!==X.mjpegQuality||Y.maxDimension!==X.maxDimension||Y.h264Bitrate!==X.h264Bitrate||Y.h264Fps!==X.h264Fps)return!1;if(Z.transport==="http"&&J.transport==="http")return(Z.codec??"auto")===(J.codec??"auto");if(Z.transport!=="webrtc"||J.transport!=="webrtc")return!1;if(Z.codec!==J.codec)return!1;let G=Z.iceServers??[],K=J.iceServers??[];if(G.length!==K.length)return!1;return G.every((W,z)=>{let V=K[z];return W.username===V.username&&W.credential===V.credential&&W.urls.length===V.urls.length&&W.urls.every((L,B)=>L===V.urls[B])})}function L2($,Q){let Z=[];for(let J of $??[])for(let Y of J.urls){let X=Y.toLowerCase();if(Q.some((G)=>X.startsWith(G)))Z.push(Y)}return Z}function b1($){for(let Q of $??[])if(Q.urls.some((Z)=>/^turns?:/i.test(Z)))return Q;return null}function v1($){if(!$)return[];let Q=[];if(Q.push("--transport",$.transport),$.transport==="http"){if($.codec)Q.push("--codec",$.codec)}else{Q.push("--webrtc-codec",$.codec);let Z=L2($.iceServers,["stun:","stuns:"]);if(Z.length)Q.push("--stun-url",Z.join(","));let J=L2($.iceServers,["turn:","turns:"]);if(J.length){Q.push("--turn-url",J.join(","));let Y=b1($.iceServers);if(Y?.username)Q.push("--turn-username",Y.username);if(Y?.credential)Q.push("--turn-credential",Y.credential)}}if($.mjpegFps!==void 0)Q.push("--mjpeg-fps",String($.mjpegFps));if($.mjpegQuality!==void 0)Q.push("--mjpeg-quality",String($.mjpegQuality));if($.maxDimension!==void 0)Q.push("--max-dimension",String($.maxDimension));if($.h264Bitrate!==void 0)Q.push("--video-bitrate",String($.h264Bitrate));if($.h264Fps!==void 0)Q.push("--video-fps",String($.h264Fps));return Q}function M2($,Q,Z,J){return[$,"--port",String(Q),"--host",Z,...v1(J)]}P4();var f0=s4(import.meta.url);function GG(){return"0.1.46"}function I5(){if(!H0(L0))x8(L0,{recursive:!0})}function $0($){if($)return q8(i4($));for(let Q of a4()){let Z=q8(Q);if(Z)return Z}return null}var y$={at:0,booted:null};function WG(){let $=Date.now();if(y$.booted&&$-y$.at<1000)return y$.booted;try{let Q=J0("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),Z=JSON.parse(Q),J=new Set;for(let Y of Object.values(Z.devices))for(let X of Y)if(X.state==="Booted")J.add(X.udid);return y$={at:$,booted:J},J}catch{return null}}function q8($){try{if(!H0($))return U0("state file missing %s",$),null;let Q=JSON.parse(a0($,"utf-8"));try{process.kill(Q.pid,0)}catch{return U0("helper pid %d dead, removing stale state %s",Q.pid,$),o0($),null}let Z=WG();if(Z&&!Z.has(Q.device)){if(Q.pid===process.pid){U0("dropping own stale state for non-booted device %s",Q.device);try{o0($)}catch{}return null}U0("helper pid %d bound to non-booted device %s — killing stale helper",Q.pid,Q.device),console.error(`[serve-sim] Helper pid ${Q.pid} is bound to device ${Q.device} which is no longer booted — killing stale helper.`);try{process.kill(Q.pid,"SIGTERM")}catch{}try{o0($)}catch{}return null}return U0("state ok pid=%d device=%s port=%d",Q.pid,Q.device,Q.port),Q}catch(Q){return U0("readStateFile threw for %s: %o",$,Q),null}}function c4(){let $=[];for(let Q of a4()){let Z=q8(Q);if(Z)$.push(Z)}return $}function KG($){I5(),o4($),U0("wrote state pid=%d device=%s port=%d",$.pid,$.device,$.port)}function D0($){if($){U0("clearState device=%s",$);try{o0(i4($))}catch{}}else{U0("clearState (all)");for(let Q of a4())try{o0(Q)}catch{}}}function k8(){try{let $=J0("xcrun simctl list devices -j",{encoding:"utf-8"}),Q=JSON.parse($),Z=Object.keys(Q.devices).filter((J)=>/SimRuntime\.iOS-/i.test(J)).sort((J,Y)=>{let X=(J.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number),G=(Y.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number);return(G[0]??0)-(X[0]??0)||(G[1]??0)-(X[1]??0)});for(let J of Z){let X=(Q.devices[J]??[]).find((G)=>G.isAvailable!==!1&&/^iPhone\b/i.test(G.name));if(X)return{udid:X.udid,name:X.name}}}catch{}return null}function C5($){return x5().get($)??null}function x5(){let $=new Map;try{let Q=J0("xcrun simctl list devices -j",{encoding:"utf-8"}),Z=JSON.parse(Q);for(let J of Object.values(Z.devices))for(let Y of J)$.set(Y.udid,Y.name)}catch{}return $}function S5($){try{let Q=J0("xcrun simctl list devices -j",{encoding:"utf-8"}),Z=JSON.parse(Q);for(let J of Object.values(Z.devices))for(let Y of J)if(Y.udid===$)return Y.state==="Booted"}catch{}return!1}function I8($){try{return process.kill($,0),!0}catch{return!1}}function f$($){try{process.kill($,"SIGTERM")}catch{return}let Q=Date.now()+500;while(Date.now()<Q)try{process.kill($,0),h0(25)}catch{return}try{process.kill($,"SIGKILL")}catch{}let Z=Date.now()+500;while(Date.now()<Z)try{process.kill($,0),h0(25)}catch{return}}function zG($){if(!S5($))try{J0(`xcrun simctl boot ${$}`,{encoding:"utf-8",stdio:"pipe"})}catch(Q){let Z=(Q.stderr??Q.message??"").toLowerCase();if(!Z.includes("booted")&&!Z.includes("current state"))throw Error(`Failed to boot device ${$}: ${Q.stderr||Q.message}`)}try{J0("open -ga Simulator",{encoding:"utf-8",stdio:"pipe",timeout:3000})}catch{}}function VG(){let $=XG();for(let Q of Object.values($))for(let Z of Q??[])if(Z.family==="IPv4"&&!Z.internal)return Z.address;return null}async function w5($){let Q=new Set(c4().map((Z)=>Z.port));for(let Z=$;Z<$+100;Z++){if(Q.has(Z))continue;if(await O9(Z))return Z}throw Error(`No available port found in range ${$}-${$+99}`)}async function HG($){zG($);try{J0(`xcrun simctl bootstatus ${$} -b`,{encoding:"utf-8",stdio:"pipe",timeout:60000})}catch(Q){if(!S5($))console.error(`Device ${$} failed to reach booted state: ${Q.stderr||Q.message}`),process.exit(1)}}function LG($){if(process.argv[0]&&/(^|\/)serve-sim$/.test(process.argv[0]))return{command:process.argv[0],args:$};return{command:process.argv[0],args:[process.argv[1],...$]}}async function MG($,Q=150000){let Z=Date.now();while(Date.now()-Z<Q){let J=$0($);if(J)return J;await new Promise((Y)=>setTimeout(Y,200))}return null}async function k5($,Q,Z){L6("startHelper udid=%s port=%d detach=%s",$,Q,Z.detach);let J="127.0.0.1";I5(),D0($),E9(Q);let Y=R0(L0,`server-${$}.log`),X=S8(Y,"w"),{command:G,args:K}=LG(M2($,Q,J,Z.stream)),W=P5(G,K,{detached:Z.detach,stdio:["ignore",X,X]});if(w8(X),Z.detach)W.unref();let z=await MG($);if(!z){if(W.pid)f$(W.pid);let V="";try{V=a0(Y,"utf-8").trim()}catch{}console.error(V?`Preview server failed:
|
|
168
168
|
${V}`:"Preview server failed to start"),process.exit(1)}return Z.detach?{pid:z.pid}:{pid:z.pid,child:W}}async function UG($,Q,Z,J,Y=!1){H6("follow devices=%o startPort=%d",$,Q);let X=$.length>0?$.map(s):(()=>{let L=G0();if(L)return[L];let B=k8();if(!B)console.error("No device specified and no available iOS simulator found."),process.exit(1);if(!Z)console.log(`No booted simulator — booting ${B.name}...`);return[B.udid]})(),G=new Map,K=[],W=Q;for(let L of X){let B=$0(L);if(B)if(Y&&!O6(B.streamSettings,J))f$(B.pid),D0(L);else{if(!Z){let O=C5(L)??L;if(X.length>1)console.log(`
|
|
169
169
|
==> ${O} (${L}) <==`);console.log(` Already running on port ${B.port}`),console.log(` Stream: ${B.streamUrl}`),console.log(` WebSocket: ${B.wsUrl}`)}K.push(B);continue}W=await w5(W);let{child:N}=await k5(L,W,{detach:!1,stream:J});if(N)G.set(L,N);let M=$0(L)??Q4(L,W,"/","127.0.0.1");if(K.push(M),!Z){let O=C5(L)??L;if(X.length>1)console.log(`
|
|
170
170
|
==> ${O} (${L}) <==`);console.log(` Stream: ${M.streamUrl}`),console.log(` WebSocket: ${M.wsUrl}`),console.log(` Port: ${W}`)}W++}if(K.length===1){let L=K[0];console.log(JSON.stringify({url:L.url,streamUrl:L.streamUrl,wsUrl:L.wsUrl,port:L.port,device:L.device}))}else console.log(JSON.stringify({devices:K.map((L)=>({url:L.url,streamUrl:L.streamUrl,wsUrl:L.wsUrl,port:L.port,device:L.device}))}));if(G.size===0)return;let z=!1,V=(L)=>{if(z)return;if(z=!0,!Z)console.log(`
|
|
@@ -219,5 +219,5 @@ Examples:
|
|
|
219
219
|
serve-sim --list Show all running streams
|
|
220
220
|
serve-sim --kill Stop all streams`).action(async($,Q)=>{if(Q.list!==void 0){RG(typeof Q.list==="string"?Q.list:void 0);return}if(Q.kill!==void 0){NG(typeof Q.kill==="string"?Q.kill:void 0);return}if(Q.transport!=="http"&&Q.transport!=="webrtc")console.error("--transport must be one of: http, webrtc."),process.exit(1);let Z=(B)=>Y0.getOptionValueSource(B)==="cli",J=["webrtcCodec","stunUrl","turnUrl","turnUsername","turnCredential"].some(Z);if(Q.transport==="http"&&J)console.error("WebRTC options require --transport webrtc."),process.exit(1);if(Q.transport==="webrtc"&&Z("codec"))console.error("--codec configures HTTP streaming; use --webrtc-codec with --transport webrtc."),process.exit(1);if(Q.turnUsername===void 0!==(Q.turnCredential===void 0))console.error("--turn-username and --turn-credential must be provided together."),process.exit(1);if((Q.turnUsername!==void 0||Q.turnCredential!==void 0)&&!Q.turnUrl)console.error("--turn-username and --turn-credential require --turn-url."),process.exit(1);let Y=Q.stunUrl??[],X=[];if(Y.length)X.push({urls:Y});if(Q.turnUrl)X.push({urls:Q.turnUrl,username:Q.turnUsername,credential:Q.turnCredential});let G=["mjpegFps","mjpegQuality","maxDimension","videoBitrate","videoFps"],K={...Z("mjpegFps")?{mjpegFps:Q.mjpegFps}:{},...Z("mjpegQuality")?{mjpegQuality:Q.mjpegQuality}:{},...Z("maxDimension")?{maxDimension:Q.maxDimension}:{},...Z("videoBitrate")?{h264Bitrate:Q.videoBitrate}:{},...Z("videoFps")?{h264Fps:Q.videoFps}:{}},W=Q.transport==="webrtc"?{transport:"webrtc",codec:Q.webrtcCodec,...X.length?{iceServers:X}:{},...K}:{transport:"http",codec:Q.codec,...K},z=Q.port,V=Z("transport")||Z("codec")||J||G.some(Z),L=Q.debugStream?.trim();if(Q.debugStream!==void 0){let B=!L?"--debug-stream needs a file path, for example --debug-stream ./stream.ndjson":Q.detach||Q.preview===!1?"--debug-stream needs the preview server, so drop --detach/--no-preview.":W.transport!=="webrtc"?"--debug-stream records sender statistics, which only exist on --transport webrtc.":null;if(B!==null)console.error(B),process.exit(1)}if(Q.detach){let B=await BG($,z??3100,W,V);_G(B)}else if(Q.preview===!1)await UG($,z??3100,!!Q.quiet,W,V);else await uG(z??3200,$,z!==void 0,Q.host,{stream:W,metricsCorsOrigins:Q.metricsCorsOrigin,debugStreamPath:L})});var b0=["-d, --device <udid>","Target a specific simulator (udid or name)"];Y0.command("gesture").description("Send a touch gesture").argument("<json>",`Gesture JSON, e.g. '{"type":"begin","x":0.5,"y":0.5}'`).option(...b0).action(($,Q)=>OG($,Q.device));Y0.command("tap").description("Tap at normalized 0..1 coords").argument("<x>","X coord, normalized 0..1").argument("<y>","Y coord, normalized 0..1").option(...b0).action(($,Q,Z)=>AG($,Q,Z.device));Y0.command("button").description("Send a hardware button press").argument("[name]","Button name","home").option(...b0).action(($,Q)=>PG($,Q.device));Y0.command("type").description("Type text (US keyboard only)").argument("[text...]","Text to type").option(...b0).option("--stdin","Read text from stdin").option("--file <path>","Read text from a file").action(($,Q)=>DG($,{device:Q.device,stdin:Q.stdin,file:Q.file}));Y0.command("rotate").description("Set device orientation (portrait|portrait_upside_down|landscape_left|landscape_right)").argument("<orientation>").option(...b0).action(($,Q)=>EG($,Q.device));Y0.command("ca-debug").description("Toggle a CoreAnimation debug render flag (blended|copies|misaligned|offscreen|slow-animations)").argument("<option>").argument("<state>","on|off").option(...b0).action(($,Q,Z)=>qG($,Q,Z.device));Y0.command("memory-warning").description("Simulate a memory warning on the device").option(...b0).action(($)=>IG($.device));Y0.command("event-log").description("Show recent simulator events").option(...b0).option("-j, --json","Print JSON").option("-n, --limit <count>","Maximum number of events").action(($)=>FG($.device,{json:$.json,limit:$.limit}));Y0.command("camera").description("Inject a synthetic camera feed and launch an app (see `camera --help`)").allowUnknownOption(!0).helpOption(!1).argument("[args...]").action(($)=>hG($));Y0.command("permissions").description("Manage app permissions (see `permissions` with no args for usage)").allowUnknownOption(!0).helpOption(!1).argument("[args...]").action(($)=>b9($));Y0.command("ui").description("Get or set simulator-wide UI options (see `ui --help`)").allowUnknownOption(!0).helpOption(!1).argument("[args...]").action(($)=>l9($));await Y0.parseAsync(process.argv);
|
|
221
221
|
|
|
222
|
-
//# debugId=
|
|
222
|
+
//# debugId=72B2D1F2C38CF96B64756E2164756E21
|
|
223
223
|
//# sourceMappingURL=serve-sim.js.map
|