UNPKG

@qs-coder/libheif-js

Version:

Emscripten distribution of libheif for Node.JS and the browser

1 lines 2.17 MB
var libheif=(()=>{var V5;var Er=typeof document!="undefined"?(V5=document.currentScript)==null?void 0:V5.src:void 0;return typeof __filename!="undefined"&&(Er||(Er=__filename)),function(wu={}){var I5,K=wu,y5,Jr,WR=new Promise((Y,D)=>{y5=Y,Jr=D}),vu=typeof window=="object",P6=typeof importScripts=="function",L6=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",F5=Object.assign({},K),Y5=[],Nr="./this.program",g5=(Y,D)=>{throw D},H4="";function _u(Y){return K.locateFile?K.locateFile(Y,H4):H4+Y}var zi,Dr,K6;if(L6){var Rr=require("fs"),E5=require("path");H4=__dirname+"/",zi=(Y,D)=>(Y=zr(Y)?new URL(Y):E5.normalize(Y),Rr.readFileSync(Y,D?void 0:"utf8")),K6=Y=>{var D=zi(Y,!0);return D.buffer||(D=new Uint8Array(D)),D},Dr=(Y,D,H,j=!0)=>{Y=zr(Y)?new URL(Y):E5.normalize(Y),Rr.readFile(Y,j?void 0:"utf8",(b,a)=>{b?H(b):D(j?a.buffer:a)})},!K.thisProgram&&process.argv.length>1&&(Nr=process.argv[1].replace(/\\/g,"/")),Y5=process.argv.slice(2),g5=(Y,D)=>{throw process.exitCode=Y,D}}else(vu||P6)&&(P6?H4=self.location.href:typeof document!="undefined"&&document.currentScript&&(H4=document.currentScript.src),Er&&(H4=Er),H4.startsWith("blob:")?H4="":H4=H4.substr(0,H4.replace(/[?#].*/,"").lastIndexOf("/")+1),zi=Y=>{var D=new XMLHttpRequest;return D.open("GET",Y,!1),D.send(null),D.responseText},P6&&(K6=Y=>{var D=new XMLHttpRequest;return D.open("GET",Y,!1),D.responseType="arraybuffer",D.send(null),new Uint8Array(D.response)}),Dr=(Y,D,H)=>{if(zr(Y)){var j=new XMLHttpRequest;j.open("GET",Y,!0),j.responseType="arraybuffer",j.onload=()=>{if(j.status==200||j.status==0&&j.response){D(j.response);return}H()},j.onerror=H,j.send(null);return}fetch(Y,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(new Error(b.status+" : "+b.url))).then(D,H)});var Mr=K.print||console.log.bind(console),xi=K.printErr||console.error.bind(console);Object.assign(K,F5),F5=null,K.arguments&&(Y5=K.arguments),K.thisProgram&&(Nr=K.thisProgram),K.quit&&(g5=K.quit);var q6;K.wasmBinary&&(q6=K.wasmBinary);var Ti={Memory:function(Y){this.buffer=new ArrayBuffer(Y.initial*65536)},Module:function(Y){},Instance:function(Y,D){this.exports=function(j){function b(d2){return d2.set=function(E2,o){this[E2]=o},d2.get=function(E2){return this[E2]},d2}for(var a,u0=new Uint8Array(123),s0=25;s0>=0;--s0)u0[48+s0]=52+s0,u0[65+s0]=s0,u0[97+s0]=26+s0;u0[43]=62,u0[47]=63;function t0(d2,E2,o){for(var C,i,l=0,y=E2,k0=o.length,W0=E2+(k0*3>>2)-(o[k0-2]=="=")-(o[k0-1]=="=");l<k0;l+=4)C=u0[o.charCodeAt(l+1)],i=u0[o.charCodeAt(l+2)],d2[y++]=u0[o.charCodeAt(l)]<<2|C>>4,y<W0&&(d2[y++]=C<<4|i>>2),y<W0&&(d2[y++]=i<<6|u0[o.charCodeAt(l+3)])}function J0(d2){t0(a,1024,"MTdTdHJlYW1SZWFkZXJfQ0FwaQAxMlN0cmVhbVJlYWRlcgAyMFN0cmVhbVJlYWRlcl9pc3RyZWFtADE5U3RyZWFtUmVhZGVyX21lbW9yeQBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2Vzc2VudGlhbF9wcm9wZXJ0eQBoZWlmX3N1YmVycm9yX0lwbWFfYm94X3JlZmVyZW5jZXNfbm9uZXhpc3RpbmdfcHJvcGVydHkAaGVpZl9zdWJlcnJvcl9Ob19pc3BlX3Byb3BlcnR5AGhlaWZfc3ViZXJyb3JfSW52YWxpZF9wcm9wZXJ0eQBVbnN1cHBvcnRlZCBlc3NlbnRpYWwgaXRlbSBwcm9wZXJ0eQAnaXBtYScgYm94IHJlZmVyZW5jZXMgYSBub24tZXhpc3RpbmcgcHJvcGVydHkASW52YWxpZCBwcm9wZXJ0eQBJbWFnZSBoYXMgbm8gJ2lzcGUnIHByb3BlcnR5AGhlaWZfY2hhbm5lbF9kaXNwYXJpdHkAaW5maW5pdHkAaGVpZl9zdWJlcnJvcl9DYW5ub3RfcmVhZF9wbHVnaW5fZGlyZWN0b3J5AGhlaWZfY29udGV4dF9yZWFkX2Zyb21fbWVtb3J5AEZlYnJ1YXJ5AEphbnVhcnkASnVseQBUbXAgZGF0YSBjb3VsZCBub3QgYmUgcmVhZCBjb21wbGV0ZWx5AGhlaWZfY2hhbm5lbF9maWx0ZXJfYXJyYXkAVGh1cnNkYXkAVHVlc2RheQBXZWRuZXNkYXkAU2F0dXJkYXkAU3VuZGF5AE1vbmRheQBGcmlkYXkATWF5AGhldngAaGVpZl9zdWJlcnJvcl9Ob19pZGF0X2JveABoZWlmX3N1YmVycm9yX05vX2hkbHJfYm94AGhlaWZfc3ViZXJyb3JfTm9faWNicl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19mdHlwX2JveABoZWlmX3N1YmVycm9yX05vX2lwcnBfYm94AGhlaWZfc3ViZXJyb3JfTm9faXBjb19ib3gAaGVpZl9zdWJlcnJvcl9Ob19waXRtX2JveABoZWlmX3N1YmVycm9yX0ludmFsaWRfcGl4aV9ib3gAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX21pbmlfYm94AGhlaWZfc3ViZXJyb3JfTm9faWluZl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pcmVmX2JveABoZWlmX3N1YmVycm9yX05vX2luZmVfYm94AGhlaWZfc3ViZXJyb3JfTm9faWxvY19ib3gAaGVpZl9zdWJlcnJvcl9Ob19tZXRhX2JveABoZWlmX3N1YmVycm9yX05vX2lwbWFfYm94AGhlaWZfc3ViZXJyb3JfTm9fdnZjQ19ib3gAaGVpZl9zdWJlcnJvcl9Ob19odmNDX2JveABoZWlmX3N1YmVycm9yX05vX2F2Y0NfYm94AGhlaWZfc3ViZXJyb3JfTm9fYXYxQ19ib3gAdGhpcyBwcm9wZXJ0eSBpcyBub3QgcmVhZCBhcyBhIHJhdyBib3gAZXJyb3IgcmVhZGluZyBmdHlwIGJveABpbnB1dCBpcyBub3QgYSBmdHlwIGJveABJbnZhbGlkIHBpeGkgYm94AENhbm5vdCByZWFkIGZ1bGwgbWV0YSBib3gAKSBoYXMgbm8gcHJvcGVydGllcyBhc3NpZ25lZCB0byBpdCBpbiBpcG1hIGJveAAgcmVmZXJlbmNlZCBpbiBpcG1hIGJveABlcnJvciB3aGlsZSByZWFkaW5nIGh2Y0MgYm94AE5vICdpZGF0JyBib3gATm8gJ2hkbHInIGJveABObyAnaWNicicgYm94AE5vICdmdHlwJyBib3gATm8gJ2lwcnAnIGJveABObyAnaXBjbycgYm94AE5vICdwaXRtJyBib3gAVW5zdXBwb3J0ZWQgb3IgaW52YWxpZCAnbWluaScgYm94AE5vICdpaW5mJyBib3gATm8gJ2lyZWYnIGJveABObyAnaW5mZScgYm94AE5vICdpbG9jJyBib3gATm8gJ21ldGEnIGJveABObyAnaXBtYScgYm94AE5vICd2dmNDJyBib3gATm8gJ2h2Y0MnIGJveABObyAnYXZjQycgYm94AE5vICdhdjFDJyBib3gASW52YWxpZCBxdWF0ZXJuaW9uIGluIGV4dHJpbnNpYyByb3RhdGlvbiBtYXRyaXgAaGVpeABjbWV4AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAX19uZXh0X3ByaW1lIG92ZXJmbG93AGhlaWZfY2hyb21hX2Rvd25zYW1wbGluZ19zaGFycF95dXYATm92AFRodQBoZWlmX2NvbnRleHQAZ2V0X3RocmVhZF9jb250ZXh0AGhlaWZfd3JpdGVyIGNhbGxiYWNrIHJldHVybmVkIGEgbnVsbCBlcnJvciB0ZXh0AGhlaWZfZXJyb3JfSW52YWxpZF9pbnB1dABpbnZhbGlkIGRpc3Bhcml0eV9yZWZlcmVuY2VfdmlldyBpbiBpbnB1dABpbnZhbGlkIGRlcHRoIHJlcHJlc2VudGF0aW9uIHR5cGUgaW4gaW5wdXQAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABJbnZhbGlkIGlucHV0AEF1Z3VzdABoZWlmX2Vycm9yX0lucHV0X2RvZXNfbm90X2V4aXN0AGhlaWZfZXJyb3JfQ29sb3JfcHJvZmlsZV9kb2VzX25vdF9leGlzdABSZWdpb24gaXRlbSBkb2VzIG5vdCBleGlzdABJdGVtIGRvZXMgbm90IGV4aXN0AENvbG9yIHByb2ZpbGUgZG9lcyBub3QgZXhpc3QASW5wdXQgZmlsZSBkb2VzIG5vdCBleGlzdAByZWFkX3NjYWxpbmdfbGlzdABNYXNrIGltYWdlIGRhdGEgaXMgdG9vIHNob3J0AEhFVkMgU0VJIE5BTCB0b28gc2hvcnQAdW5zaWduZWQgc2hvcnQAdW5zaWduZWQgaW50AGNvbXBvbmVudABoZWlmX3N1YmVycm9yX051bGxfcG9pbnRlcl9hcmd1bWVudABOVUxMIGFyZ3VtZW50AHJlZmNudABjb25zdGFudABIaWdoIHZhcmlhbnQAaGVpZl9maWxldHlwZV9yZXN1bHQAcmVhZF90cmFuc2Zvcm1fdW5pdAByZWFkX2NvZGluZ191bml0AGluaXQATnVtYmVyIG9mIHRpbGVzIGV4Y2VlZHMgc2VjdXJpdHkgbGltaXQAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfMjRiaXQAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfMzJiaXQAaGVpZl9pbWFnZV9oYW5kbGVfZ2V0X2hlaWdodAB6ZXJvIHdpZHRoIG9yIGhlaWdodAAgaXMgbm90IGltcGxlbWVudGVkIHlldAByZWFkX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXQAZ2V0AE9jdABmbG9hdABoZWlmX2NvbXByZXNzaW9uX2Zvcm1hdABoZWlmX3N1YmVycm9yX1dyb25nX3RpbGVfaW1hZ2VfY2hyb21hX2Zvcm1hdABXcm9uZyB0aWxlIGltYWdlIGNocm9tYSBmb3JtYXQAU2F0AHVpbnQ2NF90AGhldnMAYWxsb2NhdGVfdGhyZWFkX2NvbnRleHRzAG4gPCBuVGhyZWFkQ29udGV4dHMAY29uc3RydWN0X3JlZmVyZW5jZV9waWN0dXJlX2xpc3RzACBjb21wb25lbnRzAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9OQ0xYX21hdHJpeF9jb2VmZmljaWVudHMAVW5rbm93biBOQ0xYIG1hdHJpeCBjb2VmZmljaWVudHMAdW5pdFkgPj0gMCAmJiB1bml0WSA8IGhlaWdodF9pbl91bml0cwB1bml0WCA+PSAwICYmIHVuaXRYIDwgd2lkdGhfaW5fdW5pdHMAU3VjY2VzcwBmaWxsX2x1bWFfbW90aW9uX3ZlY3Rvcl9wcmVkaWN0b3JzAGRlcml2ZV9jb2xsb2NhdGVkX21vdGlvbl92ZWN0b3JzAHNwcwBwcHMARm9ybWF0UmFuZ2VFeHRlbnNpb25zAGhlaWZfc3ViZXJyb3JfVG9vX21hbnlfcmVnaW9ucwBFcnJvciB3aGlsZSBzY2FubmluZyB0aGUgZGlyZWN0b3J5IGZvciBwbHVnaW5zAERlcml2ZWQgaW1hZ2UgZG9lcyBub3QgcmVmZXJlbmNlIGFueSBvdGhlciBpbWFnZSBpdGVtcwBjaGFubmVscwBpbml0aWFsaXplX0NBQkFDX21vZGVscwBhdmlzAGhlaXMAaW1hZ2UvajJpcwBHcmlkIHRpbGVzIGhhdmUgZGlmZmVyZW50IHNpemVzAHNldF9kZXJpdmVkX3ZhbHVlcwAgYnl0ZXMAZGVyaXZlX2NvbWJpbmVkX2JpcHJlZGljdGl2ZV9tZXJnaW5nX2NhbmRpZGF0ZXMAWUNiQ3IgaW1hZ2Ugd2l0aG91dCBZLENiLENyIHBsYW5lcwBSR0IgaW5wdXQgd2l0aG91dCBSLEcsQiwgcGxhbmVzAGdlbmVyYXRlX2ludGVyX3ByZWRpY3Rpb25fc2FtcGxlcwBkZWNvZGVfc2xpY2VfdW5pdF90aWxlcwAgbGF5ZXJzIGVudHJpZXMAaGVpZl9zdWJlcnJvcl9Vbmtub3duX05DTFhfY29sb3JfcHJpbWFyaWVzAFVua25vd24gTkNMWCBjb2xvciBwcmltYXJpZXMAdGhyZWFkX2ZpbmlzaGVzAGhlaWZfY29udGV4dF9nZXRfbnVtYmVyX29mX3RvcF9sZXZlbF9pbWFnZXMAaGVpZl9zdWJlcnJvcl9NaXNzaW5nX2dyaWRfaW1hZ2VzACdzdGVyJyBlbnRpdHkgZ3JvdXAgZG9lcyBub3QgZXhpc3RzIG9mIGV4YWN0bHkgdHdvIGltYWdlcwBNaXNzaW5nIGdyaWQgaW1hZ2VzAHVkZXMAJ2lyZWYnIGhhcyBkb3VibGUgcmVmZXJlbmNlcwBOdW1iZXIgb2YgaW1hZ2Ugb2Zmc2V0cyBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGltYWdlIHJlZmVyZW5jZXMAaGVpZl9zdWJlcnJvcl9Vbmtub3duX05DTFhfdHJhbnNmZXJfY2hhcmFjdGVyaXN0aWNzAFVua25vd24gTkNMWCB0cmFuc2ZlciBjaGFyYWN0ZXJpc3RpY3MAaGVpZl9zdWJlcnJvcl9PdmVybGF5X2ltYWdlX291dHNpZGVfb2ZfY2FudmFzAHk8c3BzLT5QaWNIZWlnaHRJbk1pblBVcwB4PHNwcy0+UGljV2lkdGhJbk1pblBVcwBoZWlmX2pzX2NvbnRleHRfZ2V0X2xpc3Rfb2ZfdG9wX2xldmVsX2ltYWdlX0lEcwBiYWRfd2Vha19wdHIAQXByAHZlY3RvcgBmaWxsX3NjYWxpbmdfZmFjdG9yAGhlaWZfc3ViZXJyb3JfQ29tcHJlc3Npb25faW5pdGlhbGlzYXRpb25fZXJyb3IAaGVpZl9lcnJvcl9NZW1vcnlfYWxsb2NhdGlvbl9lcnJvcgBoZWlmX2Vycm9yX0VuY29kZXJfcGx1Z2luX2Vycm9yAGhlaWZfZXJyb3JfRGVjb2Rlcl9wbHVnaW5fZXJyb3IAaGVpZl9lcnJvcl9FbmNvZGluZ19lcnJvcgBoZWlmX3N1YmVycm9yX1BsdWdpbl9sb2FkaW5nX2Vycm9yAGhlaWZfZXJyb3JfUGx1Z2luX2xvYWRpbmdfZXJyb3IAaGVpZl9lcnJvcgBoZWlmX2Vycm9yX1VzYWdlX2Vycm9yAG1vbmV5X2dldCBlcnJvcgBVbmtub3duIGVycm9yAE1lbW9yeSBhbGxvY2F0aW9uIGVycm9yAEVuY29kZXIgcGx1Z2luIGdlbmVyYXRlZCBhbiBlcnJvcgBEZWNvZGVyIHBsdWdpbiBnZW5lcmF0ZWQgYW4gZXJyb3IASW50ZXJuYWwgZXJyb3IAVXNhZ2UgZXJyb3IAQ29tcHJlc3Npb24gaW5pdGlhbGlzYXRpb24gbWV0aG9kIGVycm9yAGhlaWZfY2hyb21hX3Vwc2FtcGxpbmdfbmVhcmVzdF9uZWlnaGJvcgBoZWlmX2Nocm9tYV9kb3duc2FtcGxpbmdfbmVhcmVzdF9uZWlnaGJvcgBoZGxyAHN1Yl9sYXllcgBtdWx0aS1sYXllcgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX3BhcmFtZXRlcgBVbnN1cHBvcnRlZCBlbmNvZGVyIHBhcmFtZXRlcgBVbnN1cHBvcnRlZCBwYXJhbWV0ZXIAQ2FuY2VsZWQgYnkgdXNlcgBoZWlmX3N1YmVycm9yX05vX3BpY3RfaGFuZGxlcgBOb3QgYSAncGljdCcgaGFuZGxlcgBNaXNzaW5nIHJlcXVpcmVkIFNJWiBNYXJrZXIATWlzc2luZyByZXF1aXJlZCBTT0MgTWFya2VyAGRlMjY1X2ltYWdlX2dldF9idWZmZXIAb3V0cHV0X25leHRfcGljdHVyZV9pbl9yZW9yZGVyX2J1ZmZlcgBpbml0X0NBQkFDX2RlY29kZXIAbGliZGUyNjUgSEVWQyBkZWNvZGVyAGR1bXBfc2xpY2Vfc2VnbWVudF9oZWFkZXIASW52YWxpZCBKUEVHIFNPRiBoZWFkZXIAT2N0b2JlcgBoZWlmX2dldF92ZXJzaW9uX251bWJlcgBoZWlmX3N1YmVycm9yX0ludmFsaWRfZnJhY3Rpb25hbF9udW1iZXIASW52YWxpZCBmcmFjdGlvbmFsIG51bWJlcgBOb3ZlbWJlcgBTZXB0ZW1iZXIARGVjZW1iZXIAYnIAcGxhbmFyAGludHJhX3ByZWRpY3Rpb25fYW5ndWxhcgB1bnNpZ25lZCBjaGFyAGhlaWZfY2hyb21hX3Vwc2FtcGxpbmdfYmlsaW5lYXIAaW9zX2Jhc2U6OmNsZWFyAE1hcgBoZWlmX2NvbG9yc3BhY2VfWUNiQ3IAaGVpZl9jaGFubmVsX0NyAGhlaWZfc3ViZXJyb3JfRW5jb2Rlcl9jbGVhbnVwAFNlcAAlSTolTTolUyAlcABtb25vAGhlaWZfZmlsZXR5cGVfbm8AdW5rbm93bgBVbmtub3duAFN1bgBKdW4Ac3RkOjpleGNlcHRpb24ARXJyb3Igc2V0dGluZyBpbnB1dCBmaWxlIHBvc2l0aW9uAGRlcml2ZV9zcGF0aWFsX2x1bWFfdmVjdG9yX3ByZWRpY3Rpb24AaGVpZl9zdWJlcnJvcl9FbmNvZGVyX2luaXRpYWxpemF0aW9uAHVua25vd24gY29sb3IgY29uZmlndXJhdGlvbgBJbnZhbGlkIGRhdGEgaW4gZ2VuZXJpYyBjb21wcmVzc2lvbiBpbmZsYXRpb24ASW52YWxpZCBjbGVhbi1hcGVydHVyZSBzcGVjaWZpY2F0aW9uAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfY29sb3JfY29udmVyc2lvbgBVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uAGhlaWZfZ2V0X3ZlcnNpb24AaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF93cml0ZXJfdmVyc2lvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX3BsdWdpbl92ZXJzaW9uAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfZGF0YV92ZXJzaW9uAFVuc3VwcG9ydGVkIHBsdWdpbiB2ZXJzaW9uAFVuc3VwcG9ydGVkIGRhdGEgdmVyc2lvbgBJbnN1ZmZpY2llbnQgZGF0YSByZW1haW5pbmcgZm9yIHBvaW50IHJlZ2lvbgBVbnN1cHBvcnRlZCBiaXQgZGVwdGggZm9yIG1hc2sgcmVnaW9uAFVuc3VwcG9ydGVkIGNvbG91cnNwYWNlIGZvciBtYXNrIHJlZ2lvbgBJbnN1ZmZpY2llbnQgZGF0YSByZW1haW5pbmcgZm9yIGlubGluZSBtYXNrIHJlZ2lvbgBJbnN1ZmZpY2llbnQgZGF0YSByZW1haW5pbmcgZm9yIHJlZmVyZW5jZWQgbWFzayByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBlbGxpcHNlIHJlZ2lvbgBJbnN1ZmZpY2llbnQgZGF0YSByZW1haW5pbmcgZm9yIHJlY3RhbmdsZSByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBwb2x5Z29uAE1vbgBjbWluAEVycm9yIHdoaWxlIGxvYWRpbmcgcGx1Z2luAE1haW4AU3VwcG9ydCBmb3IgdGhpcyBjb21wcmVzc2lvbiBmb3JtYXQgaGFzIG5vdCBiZWVuIGJ1aWx0IGluAE5VTEwgYXJndW1lbnQgcGFzc2VkIGluAG5hbgBKYW4AaGV2bQBwaXRtAGNvcHlfbGluZXNfZnJvbQBoZWltAGhlaWZfY2hyb21hX3Vwc2FtcGxpbmdfYWxnb3JpdGhtAGhlaWZfY2hyb21hX2Rvd25zYW1wbGluZ19hbGdvcml0aG0AaGVpZl9zdWJlcnJvcl9Ob19vcl9pbnZhbGlkX3ByaW1hcnlfaXRlbQBoZWlmX3N1YmVycm9yX05vX3Byb3BlcnRpZXNfYXNzaWduZWRfdG9faXRlbQBObyBvciBpbnZhbGlkIHByaW1hcnkgaXRlbQBObyBwcm9wZXJ0aWVzIGFzc2lnbmVkIHRvIGl0ZW0AVW5zdXBwb3J0ZWQgYml0IGRlcHRoIGZvciBtYXNrIGl0ZW0AQ2xlYW51cCBwcm9ibGVtAEluaXRpYWxpemF0aW9uIHByb2JsZW0ARW5jb2RpbmcgcHJvYmxlbQBoZWlmX3N1YmVycm9yX0ludmFsaWRfSjJLX2NvZGVzdHJlYW0ASW52YWxpZCBKUEVHIDIwMDAgY29kZXN0cmVhbQBKdWwAdXJsAGRlMjY1X3NldF9wYXJhbWV0ZXJfYm9vbABhcHBsaWNhdGlvbi9yZGYreG1sAGxsAEFwcmlsAFRodW1ibmFpbCByZWZlcmVuY2VzIGFub3RoZXIgdGh1bWJuYWlsAENhbiBjdXJyZW50bHkgb25seSBjcm9wIGltYWdlcyB3aXRoIDggYml0cyBwZXIgcGl4ZWwAQ2FuIGN1cnJlbnRseSBvbmx5IGZpbGwgaW1hZ2VzIHdpdGggOCBiaXRzIHBlciBwaXhlbABoZWlmX2NoYW5uZWwASW5saW5lIG1hc2sgaW1hZ2UgbXVzdCBoYXZlIGEgWSBjaGFubmVsAGRlY29kZV9zbGljZV91bml0X3BhcmFsbGVsAGhlaWZfY29sb3JzcGFjZV9ub252aXN1YWwAZ2VuZXJhbABzY2FsZV9jb2VmZmljaWVudHNfaW50ZXJuYWwAaGVpZl9jb21wcmVzc2lvbl9tYXNrAHRyYW5zZm9ybV9za2lwXzhfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfYXZnXzhfZmFsbGJhY2sAcHV0X3dlaWdodGVkX2JpcHJlZF84X2ZhbGxiYWNrAHB1dF91bndlaWdodGVkX3ByZWRfOF9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfcHJlZF84X2ZhbGxiYWNrAHRyYW5zZm9ybV9za2lwXzE2X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkX2F2Z18xNl9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfYmlwcmVkXzE2X2ZhbGxiYWNrAHB1dF91bndlaWdodGVkX3ByZWRfMTZfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfMTZfZmFsbGJhY2sAaGVpZl9lcnJvcl9PawBpbWFnZS9oZWoyawBwaXhpAEZyaQBqMmtpAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfYml0X2RlcHRoAGhlaWZfc3ViZXJyb3JfV3JvbmdfdGlsZV9pbWFnZV9waXhlbF9kZXB0aABoZWlmX2NoYW5uZWxfZGVwdGgAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTpkZXB0aABVbnN1cHBvcnRlZCBiaXQgZGVwdGgAV3JvbmcgdGlsZSBpbWFnZSBwaXhlbCBkZXB0aABkZXJpdmVfYm91bmRhcnlTdHJlbmd0aABiYWRfYXJyYXlfbmV3X2xlbmd0aABoZWlmX2ltYWdlX2hhbmRsZV9nZXRfd2lkdGgAcHVzaABNYXJjaAAuL2RlY2N0eC5oAC4uL2xpYmRlMjY1L2ltYWdlLmgALi9pbWFnZS5oAC4vaW50cmFwcmVkLmgAQXVnAGltYWdlL3BuZwB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBiYXNpY19zdHJpbmcAc3RkOjpzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgdGhlIHR5cGUgc3RyaW5nAGludHJhX3ByZWRpY3Rpb25fc2FtcGxlX2ZpbHRlcmluZwBoZWlmX3N1YmVycm9yX0VuY29kZXJfZW5jb2RpbmcAaW1hZ2UvanBlZwBkZWNvZGVfc3BsaXRfdHJhbnNmb3JtX2ZsYWcAaW5mACdpZGVuJyBpbWFnZSByZWZlcnJpbmcgdG8gaXRzZWxmAGltYWdlL2F2aWYAaW1hZ2UvaGVpZgBpcmVmAGRyZWYAJS4wTGYAJUxmAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9ib3hfc2l6ZQBoZWlmX3N1YmVycm9yX0ludmFsaWRfaW1hZ2Vfc2l6ZQBpZHg8aW50cmFQcmVkTW9kZUMuZGF0YV9zaXplAEludmFsaWQgYm94IHNpemUAYXYxQyB3aXRoIHVuc3BlY2lmaWVkIGJveCBzaXplAGpwZ0MgYmxvY2sgZXhjZWVkcyBtYXhpbXVtIHNpemUAUmVhZCBiZXlvbmQgZmlsZSBzaXplAEludmFsaWQgaW1hZ2Ugc2l6ZQBJbWFnZSBzaXplIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBDb2xvciBwcm9maWxlIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBDYW5ub3QgcmVhZCBtZXRhIGJveCB3aXRoIHVuc3BlY2lmaWVkIHNpemUAZGF0YSBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZQBpbnRlcmxlYXZlAHRydWUAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX3BhcmFtZXRlcl92YWx1ZQBPdXQgb2YgcmFuZ2UgTHNpeiB2YWx1ZQBPdXQgb2YgcmFuZ2UgQ3NpeiB2YWx1ZQBJbnZhbGlkIHBhcmFtZXRlciB2YWx1ZQBPdXQgb2YgcmFuZ2UgTGNhcCB2YWx1ZQBJbnZhbGlkIGlucHV0IHJlYWRlciByZXR1cm4gdmFsdWUAc2V0X2luaXRWYWx1ZQBUdWUAVGlsaSBoZWFkZXIgZGF0YSBpbmNvbXBsZXRlAFJlZ2lvbiBkYXRhIGluY29tcGxldGUAT3ZlcmxheSBpbWFnZSBkYXRhIGluY29tcGxldGUAR3JpZCBpbWFnZSBkYXRhIGluY29tcGxldGUAZGVmbGF0ZQBmYWxzZQBoZWlmX2ltYWdlX2hhbmRsZV9yZWxlYXNlAGhlaWZfaW1hZ2VfcmVsZWFzZQBoZWlmX3N1YmVycm9yX0ludmFsaWRfY2xlYW5fYXBlcnR1cmUAZ2VuZXJhdGVfdW5hdmFpbGFibGVfcmVmZXJlbmNlX3BpY3R1cmUATWFpblN0aWxsUGljdHVyZQBoZWlmX2Vycm9yX1Vuc3VwcG9ydGVkX2ZlYXR1cmUAVW5zdXBwb3J0ZWQgZmVhdHVyZQBoZWlmX2pzX2NoZWNrX2ZpbGV0eXBlAGhlaWZfZXJyb3JfVW5zdXBwb3J0ZWRfZmlsZXR5cGUAaGVpZl9zdWJlcnJvcl9Vbmtub3duX2NvbG9yX3Byb2ZpbGVfdHlwZQBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2ltYWdlX3R5cGUAVW5zdXBwb3J0ZWQgZmlsZS10eXBlAHdyb25nIHByb3BlcnR5IHR5cGUAVW5rbm93biBjb2xvciBwcm9maWxlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBpc3BlAEp1bmUAQ29uc3RyYWluZWQgQmFzZWxpbmUAZGUyNjVfZ2V0X2ltYWdlX3BsYW5lAHNjYWxpbmcgaW5wdXQgaGFzIGV4dHJhIGNvbG9yIHBsYW5lAG1vbm9jaHJvbWUgaW5wdXQgd2l0aCBubyBZIHBsYW5lAGhlaWZfY29sb3JzcGFjZV9tb25vY2hyb21lAGhlaWZfY2hyb21hX21vbm9jaHJvbWUAZGVjb3VwbGUAJ3RpbGknIGltYWdlcyBjYW4gb25seSBiZSBhY2Nlc3MgcGVyIHRpbGUARXJyb3IgZHVyaW5nIGVuY29kaW5nIG9yIHdyaXRpbmcgb3V0cHV0IGZpbGUARXJyb3IgcmVhZGluZyBpbnB1dCBmaWxlAGlkYXQgYm94IHJlZmVyZW5jZWQgaW4gaXJlZiBib3ggaXMgbm90IHByZXNlbnQgaW4gZmlsZQAgdGlsZSBpbWFnZXMgaW4gZmlsZQBVbmV4cGVjdGVkIGVuZCBvZiBmaWxlAGZ0eXAgYm94IHNoYWxsIG5vdCBiZSB0aGUgb25seSBib3ggaW4gdGhlIGZpbGUAaGVpZl9qc19jb250ZXh0X2dldF9wcmltYXJ5X2ltYWdlX2hhbmRsZQBoZWlmX2pzX2NvbnRleHRfZ2V0X2ltYWdlX2hhbmRsZQBoZWlmX2ltYWdlX2hhbmRsZQBoZWlmX3N1YmVycm9yX0l0ZW1fcmVmZXJlbmNlX2N5Y2xlAEltYWdlIHJlZmVyZW5jZSBjeWNsZQBkb3VibGUAcmVhZF9wcmVkX3dlaWdodF90YWJsZQBhbGxvY19hbmRfaW5pdF9zaWduaWZpY2FudF9jb2VmZl9jdHhJZHhfbG9va3VwVGFibGUAQm94IHNpemUgdG9vIGxhcmdlAHByb3BlcnR5IGluZGV4IG91dCBvZiByYW5nZQBHcmlkIHRpbGUgaW5kZXggb3V0IG9mIHJhbmdlAGlucHV0IGRlcHRoIHJlcHJlc2VudGF0aW9uIHR5cGUgb3V0IG9mIHJhbmdlAGlsb2MgZGF0YSBwb2ludGVycyBvdXQgb2YgYWxsb3dlZCByYW5nZQBmdHlwIGJveCBsYXJnZXIgdGhhbiBpbml0aWFsIHJlYWQgcmFuZ2UAbWVzc2FnZQBoZWlmX2Nocm9tYV9kb3duc2FtcGxpbmdfYXZlcmFnZQBoZWlmX2ltYWdlX2hhbmRsZV9pc19wcmltYXJ5X2ltYWdlAG5ld19pbWFnZQBmaWxsX2Zyb21faW1hZ2UAaGVpZl9pbWFnZQBhbGxvY19pbWFnZQBObyBpcmVmIGJveCBhdmFpbGFibGUsIGJ1dCBuZWVkZWQgZm9yIGlkZW4gaW1hZ2UAUmVnaW9uIG1hc2sgcmVmZXJlbmNlZCBpdGVtIGlzIG5vdCBhbiBpbWFnZQBObyBpcmVmIGJveCBhdmFpbGFibGUsIGJ1dCBuZWVkZWQgZm9yIGlvdmwgaW1hZ2UAJ3BpdG0nIGJveCByZWZlcmVuY2VzIGFuIHVuc3VwcG9ydGVkIG9yIG5vbi1leGlzdGluZyBpbWFnZQBSZWdpb24gaXRlbSBhc3NpZ25lZCB0byBub24tZXhpc3RpbmcgaW1hZ2UAYHByZW1gIGxpbmsgYXNzaWduZWQgdG8gbm9uLWV4aXN0aW5nIGltYWdlAE1ldGFkYXRhIGFzc2lnbmVkIHRvIG5vbi1leGlzdGluZyBpbWFnZQBUaHVtYm5haWwgcmVmZXJlbmNlcyBhIG5vbi1leGlzdGluZyBpbWFnZQBObyB2dmNDIHByb3BlcnR5IGluIHZ2YzEgdHlwZSBpbWFnZQBObyBodmNDIHByb3BlcnR5IGluIGh2YzEgdHlwZSBpbWFnZQBHcmlkIHRpbGVzIGRvIG5vdCBjb3ZlciB3aG9sZSBpbWFnZQAnaWRlbicgaW1hZ2UgcmVmZXJlbmNlcyB1bmF2YWlsYWJsZSBpbWFnZQAnaWRlbicgaW1hZ2Ugd2l0aCBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSBpbWFnZQBObyBpcmVmIGJveCBhdmFpbGFibGUsIGJ1dCBuZWVkZWQgZm9yIGdyaWQgaW1hZ2UASW1hZ2UgaXMgbm8gZ3JpZCBpbWFnZQBJbWFnZSB0aWxlIGhhcyBkaWZmZXJlbnQgY2hyb21hIGZvcm1hdCB0aGFuIGNvbWJpbmVkIGltYWdlAENhbm5vdCBhZGQgdGlsZSB0byBhIG5vbi10aWxlZCBpbWFnZQBpbmZlAHJlYWRfdHJhbnNmb3JtX3RyZWUAaGVpZl9jb250ZXh0X2ZyZWUAZGVjb2RlX3BhcnRfbW9kZQBkZWNvZGUAc3ViY29kZQBoZWlmX3N1YmVycm9yX2NvZGUAaGVpZl9lcnJvcl9jb2RlAFByZWRNb2RlID09IGN1UHJlZE1vZGUAc3RyaWRlAGltYWdlL2F2aWYtc2VxdWVuY2UAaW1hZ2UvaGVpZi1zZXF1ZW5jZQBpbWFnZS9oZWljLXNlcXVlbmNlAFJlZ2lvbiBtYXNrIHJlZmVyZW5jZSB3aXRoIG5vbi1leGlzdGluZyBtYXNrIGltYWdlIHJlZmVyZW5jZQBoZWlmX2NvbG9yc3BhY2UAaGVpZl9maWxldHlwZV9tYXliZQBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2l0ZW1fY29uc3RydWN0aW9uX21ldGhvZABoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2hlYWRlcl9jb21wcmVzc2lvbl9tZXRob2QAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9nZW5lcmljX2NvbXByZXNzaW9uX21ldGhvZABVbnN1cHBvcnRlZCBpdGVtIGNvbnN0cnVjdGlvbiBtZXRob2QAVW5zdXBwb3J0ZWQgaGVhZGVyIGNvbXByZXNzaW9uIG1ldGhvZABVbnN1cHBvcnRlZCBnZW5lcmljIGNvbXByZXNzaW9uIG1ldGhvZABObyBtZXRhIGJveCBmb3VuZAB2b2lkAE5VTEwgYXJndW1lbnQgcmVjZWl2ZWQAaGVpZl9jaGFubmVsX2ludGVybGVhdmVkAGhlaWZfZmlsZXR5cGVfeWVzX3Vuc3VwcG9ydGVkAGhlaWZfZmlsZXR5cGVfeWVzX3N1cHBvcnRlZABUaGUgdmVyc2lvbiBvZiB0aGUgcGFzc2VkIHdyaXRlciBpcyBub3Qgc3VwcG9ydGVkAFRoZSB2ZXJzaW9uIG9mIHRoZSBwYXNzZWQgcGx1Z2luIGlzIG5vdCBzdXBwb3J0ZWQAcGNsciBtb3JlIHRoYW4gMTYgYml0cyBwZXIgY2hhbm5lbCBpcyBub3Qgc3VwcG9ydGVkAHBjbHIgd2l0aCBzaWduZWQgZGF0YSBpcyBub3Qgc3VwcG9ydGVkAFBsdWdpbnMgYXJlIG5vdCBzdXBwb3J0ZWQAQ2hhbm5lbHMgd2l0aCBkaWZmZXJlbnQgbnVtYmVyIG9mIGJpdHMgcGVyIHBpeGVsIGFyZSBub3Qgc3VwcG9ydGVkAGNvbHIgYm94ZXMgd2l0aCB1bmRlZmluZWQgYm94IHNpemUgYXJlIG5vdCBzdXBwb3J0ZWQAanBnQyB3aXRoIHVuc3BlY2lmaWVkIHNpemUgYXJlIG5vdCBzdXBwb3J0ZWQAbG9jYWxlIG5vdCBzdXBwb3J0ZWQARGVmbGF0ZSBjb21wcmVzc2VkIGlubGluZSBtYXNrIGlzIG5vdCB5ZXQgc3VwcG9ydGVkAHNjYWxpbmcgbGlzdCBsb2dnaW5nIG91dHB1dCBub3QgaW1wbGVtZW50ZWQAUmVjdXJzaXZlIGF1eCBpbWFnZSBkZXRlY3RlZABSZWN1cnNpdmUgdGh1bWJuYWlsIGltYWdlIGRldGVjdGVkAFJlY3Vyc2l2ZSBkZXB0aCBpbWFnZSBkZXRlY3RlZABSZWN1cnNpdmUgYWxwaGEgaW1hZ2UgZGV0ZWN0ZWQAaGVpZl9jb21wcmVzc2lvbl91bmNvbXByZXNzZWQATlVMTCBwYXNzZWQAaGVpZl9zdWJlcnJvcl9DYW1lcmFfZXh0cmluc2ljX21hdHJpeF91bmRlZmluZWQAaGVpZl9zdWJlcnJvcl9DYW1lcmFfaW50cmluc2ljX21hdHJpeF91bmRlZmluZWQAaGVpZl9jb21wcmVzc2lvbl91bmRlZmluZWQAaGVpZl9jb2xvcnNwYWNlX3VuZGVmaW5lZABoZWlmX2Nocm9tYV91bmRlZmluZWQAQ2FtZXJhIGV4dHJpbnNpYyBtYXRyaXggdW5kZWZpbmVkAENhbWVyYSBpbnRyaW5zaWMgbWF0cml4IHVuZGVmaW5lZABoZWlmX3N1YmVycm9yX05vX21hdGNoaW5nX2RlY29kZXJfaW5zdGFsbGVkAG11dGV4IGxvY2sgZmFpbGVkAERlY29kaW5nIHRoZSBpbWFnZSB3YXMgY2FuY2VsZWQAaGVpZl9lcnJvcl9DYW5jZWxlZABoZWlmX3N1YmVycm9yX0F1eGlsaWFyeV9pbWFnZV90eXBlX3Vuc3BlY2lmaWVkAFR5cGUgb2YgYXV4aWxpYXJ5IGltYWdlIHVuc3BlY2lmaWVkAGhlaWZfc3ViZXJyb3JfVW5zcGVjaWZpZWQAaGVpZl9zdWJlcnJvcl9TZWN1cml0eV9saW1pdF9leGNlZWRlZABTZWN1cml0eSBsaW1pdCBleGNlZWRlZABTZWN1cml0eSBsaW1pdCBmb3IgbWF4aW11bSBuZXN0aW5nIG9mIGJveGVzIGhhcyBiZWVuIGV4Y2VlZGVkAGhlaWZfc3ViZXJyb3JfUGx1Z2luX2lzX25vdF9sb2FkZWQAVHJ5aW5nIHRvIHJlbW92ZSBhIHBsdWdpbiB0aGF0IGlzIG5vdCBsb2FkZWQAUGx1Z2luIGZpbGUgY2Fubm90IGJlIGxvYWRlZABoZWlmX3N1YmVycm9yX05vbmV4aXN0aW5nX2l0ZW1fcmVmZXJlbmNlZABoZWlmX3N1YmVycm9yX05vbmV4aXN0aW5nX2ltYWdlX2NoYW5uZWxfcmVmZXJlbmNlZABOb24tZXhpc3RpbmcgaW1hZ2UgY2hhbm5lbCByZWZlcmVuY2VkAE5vbi1leGlzdGluZyBhdXggaW1hZ2UgcmVmZXJlbmNlZABOb24tZXhpc3RpbmcgZGVwdGggaW1hZ2UgcmVmZXJlbmNlZABOb25leGlzdGVudCBncmlkIGltYWdlIHJlZmVyZW5jZWQATm9uLWV4aXN0aW5nIGFscGhhIGltYWdlIHJlZmVyZW5jZWQATm9uLWV4aXN0aW5nIGl0ZW0gSUQgcmVmZXJlbmNlZABXZWQAc3BzLT5zcHNfcmVhZABwcHMtPnBwc19yZWFkAHNsaWNlLXNlZ21lbnQtJWQ7JWQAY3RiLXJvdy0lZABzYW8tJWQAZGVibG9jay0lZAAqJWQAaGV2YwBoZWlmX2NvbnRleHRfYWxsb2MAc3RkOjpiYWRfYWxsb2MAaWxvYwBjdHhJZHhMb29rdXBbbG9nMnctMl1bY0lkeF1bc2NhbklkeF1bcHJldkNzYmZdW3hDKyh5Qzw8bG9nMncpXSA9PSBjdHhJZHhJbmMAZ2V0X3V2bGMAdnZpYwBpbWFnZS9oZWljAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfY29kZWMATWlzc2luZyByZXF1aXJlZCBib3ggZm9yIG1hc2sgY29kZWMAVW5zdXBwb3J0ZWQgY29kZWMARGVjAGRlY2N0eC5jYwBmYWxsYmFjay1kY3QuY2MAdnBzLmNjAHNwcy5jYwBwcHMuY2MAbmFsLXBhcnNlci5jYwBmYWxsYmFjay1tb3Rpb24uY2MAdHJhbnNmb3JtLmNjAGJpdHN0cmVhbS5jYwBjb250ZXh0bW9kZWwuY2MAZGVibG9jay5jYwBpbWFnZS5jYwBzbGljZS5jYwByZWZwaWMuY2MAY2FiYWMuY2MAZHBiLmNjAGRlMjY1LmNjAHdiAHJiAGNvbXByZXNzX3psaWIARmViAGFiAGhlaWZfY2hhbm5lbF9DYgB3K2IAcitiAGErYgByd2EAbWV0YQBkZWNvdXBsZV9vcl9hbGxvY193aXRoX2VtcHR5X2RhdGEAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX292ZXJsYXlfZGF0YQBoZWlmX3N1YmVycm9yX0Nhbm5vdF93cml0ZV9vdXRwdXRfZGF0YQBoZWlmX3N1YmVycm9yX0ludmFsaWRfcmVnaW9uX2RhdGEAaGVpZl9zdWJlcnJvcl9Ob19pdGVtX2RhdGEAaGVpZl9zdWJlcnJvcl9FbmRfb2ZfZGF0YQBoZWlmX3N1YmVycm9yX0ludmFsaWRfZ3JpZF9kYXRhAGhlaWZfc3ViZXJyb3JfRGVjb21wcmVzc2lvbl9pbnZhbGlkX2RhdGEASW52YWxpZCBvdmVybGF5IGRhdGEAQ2Fubm90IHdyaXRlIG91dHB1dCBkYXRhAGluc3VmZmljaWVudCBpbnB1dCBkYXRhAEluc3VmZmljaWVudCBpbnB1dCBkYXRhAEl0ZW0gaGFzIG5vIGRhdGEASW52YWxpZCByZWdpb24gaXRlbSBkYXRhAExlc3MgdGhhbiA4IGJ5dGVzIG9mIGRhdGEASW52YWxpZCBncmlkIGRhdGEAIGhhcyBubyBjb21wcmVzc2VkIGRhdGEAaXBtYQBoZWlmX2Nocm9tYQBtY19jaHJvbWEAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQBoZWlmX2NoYW5uZWxfQWxwaGEAT3ZlcmxheSBpbWFnZSBvdXRzaWRlIG9mIGNhbnZhcyBhcmVhAEluc3VmZmljaWVudCBkYXRhIHJlbWFpbmluZyBmb3IgaW5saW5lIG1hc2sgcmVnaW9uIGRhdGFbXQAgIHEgPSBbAGxheWVyLXNpemVzOiBbAGhlaWZfY2hhbm5lbF9ZACVhICViICVkICVIOiVNOiVTICVZAFBPU0lYAGZpcnN0TGF5ZXJSZWFkIDwgTUFYX1RFTVBPUkFMX1NVQkxBWUVSUwBWUFMAU1BTAFBQUwBTVUZGSVhfQVBTAFBSRUZJWF9BUFMAaj49MCAmJiBqIDwgTUFYX05VTV9SRUZfUElDUwBoZWlmX2NoYW5uZWxfUgBkZWNvZGVfc2xpY2VfdW5pdF9XUFAATkFOAFBNAFNFQ0FNAHRocmVhZF9jb250ZXh0cz09TlVMTABjYW5ub3QgcmV0dXJuIGRhdGEgd2l0aCBvdXRfZGF0YV9zaXplPT1OVUxMAHBlbmRpbmdfaW5wdXRfTkFMID09IE5VTEwATENfQUxMAFBBTABwdXNoX05BTABoZWlmX2NvbXByZXNzaW9uX0hUSjJLAE9QSQBEQ0kAUEgAaGVpZl9jaGFubmVsX0cATEFORwBoZWlmX2NvbXByZXNzaW9uX0pQRUcASU5GAG5UIDw9IE1BWF9JTlRSQV9QUkVEX0JMT0NLX1NJWkUAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUlJHR0JCX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQkFBX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQl9CRQBoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF9SUkdHQkJBQV9CRQBhdXhDAHNwcy0+U3ViSGVpZ2h0QyA9PSBTdWJIZWlnaHRDAHNwcy0+U3ViV2lkdGhDID09IFN1YldpZHRoQwBzZXRfSW50cmFQcmVkTW9kZUMAaGVpZl9jb21wcmVzc2lvbl9WVkMAaGVpZl9jb21wcmVzc2lvbl9FVkMAaGVpZl9jb21wcmVzc2lvbl9IRVZDAGhlaWZfY29tcHJlc3Npb25fQVZDAE5UU0MATUFDAGhlaWZfY2hhbm5lbF9CAHNoZHItPnNsaWNlX3R5cGUgPT0gU0xJQ0VfVFlQRV9CAGhlaWZfY29sb3JzcGFjZV9SR0IAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUkdCAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JHQkEAPwBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgA7aW5kZXg9AE5vbmV4aXN0aW5nIHByb3BlcnR5IChpbmRleD0ASXRlbSAoSUQ9AFRpbGUgaW1hZ2UgSUQ9ADsAIHR5OgB0eDoAY29uZmlnIE9CVXM6AGdlbmVyYWwgbGV2ZWw6ADAxMjM0NTY3ODkAQy5VVEYtOAByZWY8NwBoZHItPm51bV9yZWZfaWR4X2wxX2FjdGl2ZSA8PSAxNgBoZHItPm51bV9yZWZfaWR4X2wwX2FjdGl2ZSA8PSAxNgBpbWctPkJpdERlcHRoX1kgPj0gOCAmJiBpbWctPkJpdERlcHRoX1kgPD0gMTYAaW1nLT5CaXREZXB0aF9DID49IDggJiYgaW1nLT5CaXREZXB0aF9DIDw9IDE2AGxpYmRlMjY1AGludHJhUHJlZE1vZGU8MzUATnVtYmVyIG9mIHRpbGUgcm93cy9jb2x1bW5zIG1heSBub3QgZXhjZWVkIDY1NTM1ADEuMC4xNQAxLjE5LjUASGlnaCA0OjQ6NABDQUxWQyA0OjQ6NABoZWlmX2Nocm9tYV80NDQAc2NhbGluZ19saXN0X3ByZWRfbWF0cml4X2lkX2RlbHRhPT0zAGhlaWZfanNfZGVjb2RlX2ltYWdlMgBpbnRyYVByZWRNb2RlPj0yAG51bU1WUENhbmRMWD09MgB1cm46bXBlZzpoZXZjOjIwMTU6YXV4aWQ6MgBIaWdoIDQ6MjoyAG1vZGVsW2ldLnN0YXRlIDw9IDYyAG5UPD0zMgBoZWlmX2Nocm9tYV80MjIAY29udGV4dCA+PSAwICYmIGNvbnRleHQgPD0gMgBjaGFubmVsPj0wICYmIGNoYW5uZWwgPD0gMgBpbml0VHlwZSA+PSAwICYmIGluaXRUeXBlIDw9IDIAbXNmMQBtaWYxAGhlaWZfY29tcHJlc3Npb25fQVYxAHJlZlBpY1EwPT1yZWZQaWNRMQAqcmVmY250PjEAbG9nMldEPj0xAHVybjptcGVnOmhldmM6MjAxNTphdXhpZDoxAHVybjptcGVnOmF2YzoyMDE1OmF1eGlkOjEAY2JmX2NyICE9IC0xAGNiZl9jYiAhPSAtMQBjYmZfbHVtYSAhPSAtMQB2YWx1ZT4wAFJJZHg+PTAAcmVmUGljTGlzdD49MAB0aWxlWD49MCAmJiB0aWxlWT49MAByZHBjbU1vZGU9PTAAKHdpZHRoJjEpPT0wADQ6MjowAGhlaWZfY2hyb21hXzQyMABNYWluMTAASGlnaCAxMABoZWlmX2NvbXByZXNzaW9uX0pQRUcyMDAwAGxlbmd0aCA+PSAwAG5UaHJlYWRzUnVubmluZyA+PSAwAGZpcnN0ICUgMiA9PSAwAGVuZCAlIDIgPT0gMABpbWctPm51bV90aHJlYWRzX2FjdGl2ZSgpID09IDAALwBUaWxlZCBpbWFnZSB3aXRob3V0ICdpc3BlJyBwcm9wZXJ0eSBib3guAFRpbGVkIGltYWdlIHdpdGhvdXQgJ3RpbEMnIHByb3BlcnR5IGJveC4AQ2Fubm90IHdyaXRlIGR1bW15IGVycm9yIGJveC4AVG9vIG1hbnkgZW50aXRpZXMgaW4gZHJlZiBib3guAENhbm5vdCB3cml0ZSBtb3JlIHRoYW4gMjU1IFNQUy1FeHQgaW50byBhdmNDIGJveC4AQ2Fubm90IHdyaXRlIFNQUy1FeHQgbGFyZ2VyIHRoYW4gNjU1MzUgYnl0ZXMgaW50byBhdmNDIGJveC4AQ2Fubm90IHdyaXRlIFNQUyBsYXJnZXIgdGhhbiA2NTUzNSBieXRlcyBpbnRvIGF2Y0MgYm94LgBDYW5ub3Qgd3JpdGUgUFBTIGxhcmdlciB0aGFuIDY1NTM1IGJ5dGVzIGludG8gYXZjQyBib3guAENhbm5vdCB3cml0ZSBtb3JlIHRoYW4gMjU1IFBQUyBpbnRvIGF2Y0MgYm94LgBDYW5ub3Qgd3JpdGUgbW9yZSB0aGFuIDMxIFBQUyBpbnRvIGF2Y0MgYm94LgBGaWxlIGRvZXMgbm90IHN0YXJ0IHdpdGggJ2Z0eXAnIGJveC4ATm90IGVub3VnaCBkYXRhIHByZXNlbnQgaW4gJ2lsb2MnIHRvIHNhdGlzZnkgcmVxdWVzdC4ATnVtYmVyIG9mIHRpbGVzIGV4Y2VlZHMgc2VjdXJpdHkgbGltaXQuAE92ZXJsYXkgaW1hZ2Ugd2l0aCB6ZXJvIHdpZHRoIG9yIGhlaWdodC4AJ3RpbGknIGltYWdlIHdpdGggemVybyB3aWR0aCBvciBoZWlnaHQuACd0aWxpJyBpbWFnZSB3aXRoIHVuc3VwcG9ydGVkIGNvbXByZXNzaW9uIGZvcm1hdC4AVG9vIG1hbnkgVlZDIE5BTCBhcnJheXMuACBleHRlbnRzLgBUb28gbWFueSBWVkMgTkFMIHVuaXRzLgBDYW5ub3QgZGVjb2RlIHdpdGggYSBkdW1teSBkZWNvZGVyIHBsdWdpbnMuACBpdGVtcy4AIGVudGl0aWVzLgBJbnB1dCBmaWxlIGhhcyBhbiAnaXJlZicgYm94IHdpdGggbm8gcmVmZXJlbmNlcy4AaGVpZl9pbWFnZV9jcmVhdGU6IE5VTEwgcGFzc2VkIGFzIGltYWdlIHBvaW50ZXIuAEludmFsaWQgY29sb3JzcGFjZS9jaHJvbWEgY29tYmluYXRpb24uACdpb3ZsJyBpbWFnZSByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGl0ZW0uAFNlbGYtcmVmZXJlbmNlIGluICdpb3ZsJyBpbWFnZSBpdGVtLgBUb28gbWFueSByZWdpb25zICg+MjU1KSBpbiBhbiAncmdhbicgaXRlbS4ARmlsZSBzaXplIHRvbyBzbWFsbC4AVGlsZSBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIHRoZSBzcGVjaWZpZWQgdGlsZSBzaXplLgBWVkMgTkFMIHRvbyBsYXJnZS4AVkNDIGJpdCBkZXB0aCBvdXQgb2YgcmFuZ2UuAEV4Y2VlZGVkIHN1cHBvcnRlZCB2YWx1ZSByYW5nZS4AIGlzIG5vdCBhIHByb3BlciBpbWFnZS4AVGh1bWJuYWlsIGltYWdlcyBtdXN0IGJlIHNtYWxsZXIgdGhhbiB0aGUgb3JpZ2luYWwgaW1hZ2UuAE5vIGoya0ggYm94IGZvdW5kLgBObyBzdXBwb3J0ZWQgYnJhbmRzIGZvdW5kLgB2dmNDIHdpdGggbnVtX2J5dGVzX2NvbnN0cmFpbnRfaW5mbz09MCBpcyBub3QgYWxsb3dlZC4AJyBpcyBub3Qgc3VwcG9ydGVkLgAnIGJveCBleGNlZWRlZC4AQ291bGQgbm90IGZpbmQgbG9jYXRpb24gb2YgVElGRiBoZWFkZXIgaW4gRXhpZiBtZXRhZGF0YS4AY2FsbGVkIGhlaWZfY29udGV4dF9hZGRfaXRlbSgpIHdpdGggaW52YWxpZCAnaXRlbV90eXBlJy4AY2FsbGVkIGhlaWZfY29udGV4dF9hZGRfZ2VuZXJpY19tZXRhZGF0YSgpIHdpdGggaW52YWxpZCAnaXRlbV90eXBlJy4AKiwAdysAcisAYSsASW52YWxpZCBjb2xvcl9wcm9maWxlX3R5cGUgKG11c3QgYmUgNCBjaGFyYWN0ZXJzKQAoZnJvbSBwcHMpAGZ0eXAgYm94IHRvbyBzbWFsbCAobGVzcyB0aGFuIDggYnl0ZXMpAE1pc3NpbmcgcmVxdWlyZWQgaGVhZGVyIG1hcmtlcihzKQAodW5rbm93bikAKG51bGwpAGRwYi5oYXNfZnJlZV9kcGJfcGljdHVyZSh0cnVlKQAob3ZlcnJpZGUpAGN0eC0+aGFzX2ltYWdlKGNvbFBpYykAKGZyb20gUFBTKQBDb3VsZCBub3Qgd3JpdGUgdG8gdG1wIGZpbGUgKHN0b3JhZ2UgZnVsbD8pAFNQUyBtYXggcGljdHVyZSB3aWR0aCBvciBoZWlnaHQgZXhjZWVkcyBtYXhpbXVtICg2NTUzNSkAVG9vIG1hbnkgdGlsZXMgKG1heGltdW06IDY1NTM1KQBUb28gbWFueSBvdmVybGF5IGltYWdlcyAobWF4aW11bTogNjU1MzUpACEodHJhZm9EZXB0aD09MCAmJiBsb2cyVHJhZm9TaXplPT0yKQAhcmVvcmRlcl9vdXRwdXRfcXVldWUuZW1wdHkoKQBOVUxMIHBhc3NlZCB0byBoZWlmX2ltYWdlX2hhbmRsZV9nZXRfaW1hZ2VfdGlsaW5nKCkAUklkeCA+PSAwICYmIFJJZHggPCBzZXRzLnNpemUoKQBOVUxMIG91dF9kZXB0aF9oYW5kbGUgcGFzc2VkIHRvIGhlaWZfaW1hZ2VfaGFuZGxlX2dldF9kZXB0aF9pbWFnZV9oYW5kbGUoKQBOVUxMIG91dF9pbWcgcGFzc2VkIHRvIGhlaWZfZGVjb2RlX2ltYWdlKCkATnVtYmVyIG9mIHJlZmVyZW5jZXMgaW4gaXJlZiBib3ggKABOdW1iZXIgb2YgZXh0ZW50cyBpbiBpbG9jIGJveCAoACkgZXhjZWVkcyBzZWN1cml0eSBsaW1pdCAoAE1heGltdW0gbnVtYmVyIG9mIGNoaWxkIGJveGVzICgASW5wdXQgZXJyb3IgKABCb3ggc2l6ZSAoACBieXRlcykgc21hbGxlciB0aGFuIGhlYWRlciBzaXplICgAd2hpdGUgcG9pbnQgKHgseSk6ICgAQ2Fubm90IGVuY29kZSBpbWFnZSB0byAnaWRlbicAQ2Fubm90IGVuY29kZSBpbWFnZSB0byAnaW92bCcAQ2Fubm90IGVuY29kZSBpbWFnZSB0byAndGlsZCcAQ2Fubm90IGVuY29kZSBpbWFnZSB0byAnZ3JpZCcAY291bGQgbm90IHBhcnNlIGl0ZW0gcHJvcGVydHkgJwApIGluICcAcmVmZXJlbmNlIHdpdGggdHlwZSAnAEltYWdlIGl0ZW0gb2YgdHlwZSAnAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhACB8IAAgdGlsZXMsIGJ1dCBvbmx5IAAgeCAASlBFRy0yMDAwIGxheWVycywgYnV0IHRoZSBib3ggb25seSBjb250YWlucyAAIEpQRUctMjAwMCBjaGFubmVscywgYnV0IGZpbGUgb25seSBjb250YWlucyAAZW50aXR5IGdyb3VwIGJveCBjb250YWlucyAAaWxvYyBib3ggY29udGFpbnMgAEV4dGVudCBpbiBpbG9jIGJveCByZWZlcmVuY2VzIGRhdGEgb3V0c2lkZSBvZiBmaWxlIGJvdW5kcyAAQ291bGQgbm90IHdyaXRlIHRvIHRtcCBmaWxlOiBlcnJvciAAQ2Fubm90IHJlYWQgdG1wIGRhdGEgZmlsZSwgZXJyb3IgAGlwbWEgYm94IHdhbnRzIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciAAbGF5ZXIgACBKUEVHLTIwMDAgY2hhbm5lbHMsIGJ1dCB0aGUgc2VjdXJpdHkgbGltaXQgaXMgc2V0IHRvIAAgZW50aXRpZXMsIGJ1dCB0aGUgc2VjdXJpdHkgbGltaXQgaXMgc2V0IHRvIAAgaXRlbXMsIGJ1dCB0aGUgc2VjdXJpdHkgbGltaXQgaGFzIGJlZW4gc2V0IHRvIAAocG9pbnRzIHRvIGZpbGUgcG9zaXRpb24gAG9yaWVudGF0aW9uIABHcmlkIGltYWdlIHZlcnNpb24gACBib3ggZGF0YSB2ZXJzaW9uIABPdmVybGF5IGltYWdlIGRhdGEgdmVyc2lvbiAALCB2ZXJzaW9uIABlbnRpdHkgZ3JvdXAgYm94IHNob3VsZCBjb250YWluIABpcmVmIGJveCBzaG91bGQgY29udGFpbiAAaWxvYyBib3ggc2hvdWxkIGNvbnRhaW4gAGlsb2MgaXRlbSBzaG91bGQgY29udGFpbiAAKSBmb3IgaXRlbSAAQ2Fubm90IG1pcnJvciBpbWFnZXMgd2l0aCAAVGlsZWQgaW1hZ2Ugd2l0aCAAQWxsb2NhdGluZyAAIGl0ZW1zLCB3aGljaCBleGNlZWRzIHRoZSBzZWN1cml0eSBsaW1pdCBvZiAAIGJ5dGVzLCBleGNlZWRpbmcgdGhlIHNlY3VyaXR5IGxpbWl0IG9mIAApIGV4Y2VlZHMgdGhlIHNlY3VyaXR5IGxpbWl0cyBvZiAAaW52YWxpZCBib3ggc2l6ZSAAQm94IHNpemUgACBleGNlZWRzIHRoZSBtYXhpbXVtIGltYWdlIHNpemUgAEltYWdlIHNpemUgAGNkZWYgYm94IHdhbnRzIHRvIGRlZmluZSAAajJrTCBib3ggd2FudHMgdG8gZGVmaW5lIABObyBhdXhDIHByb3BlcnR5IGZvciBpbWFnZSAAIGJ5dGVzLCB0b3RhbCBtZW1vcnkgc2l6ZSB3b3VsZCBiZSAASXRlbSBjb25zdHJ1Y3Rpb24gbWV0aG9kIABpZGF0IGJveCBjb250YWluZWQgAGlsb2MgYm94IGNvbnRhaW5lZCAAIGV4dGVudHMsIGJ1dCB3ZSBjYW4gb25seSByZWFkIAAgaXRlbXMsIGJ1dCB3ZSBjYW4gb25seSByZWFkIAAgZW50aXRpZXMsIGJ1dCB3ZSBjYW4gb25seSByZWFkIAAgcmVmZXJlbmNlcywgYnV0IHdlIGNhbiBvbmx5IHJlYWQgAColZCAAKiVkJWMgAEl0ZW0gd2l0aCBJRCAAIDsgAHByb2ZpbGVfY29tcGF0aWJpbGl0eTogAGZhdGFsaXR5OiAAaW5pdGlhbF9wcmVzZW50YXRpb25fZGVsYXk6IABhbWJpZW50X2xpZ2h0X3k6IABjaHJvbWFfc3Vic2FtcGxpbmdfeTogAEJveDogAGNvbXBvbmVudF9pbmRleDogAGl0ZW1fcHJvdGVjdGlvbl9pbmRleDogAGNoYW5uZWxfaW5kZXg6IAAgIGRhdGFfcmVmZXJlbmNlX2luZGV4OiAAb2xzLWluZGV4OiAAb3AtaW5kZXg6IABwcm9wZXJ0eSBpbmRleDogAGFtYmllbnRfbGlnaHRfeDogAGNocm9tYV9zdWJzYW1wbGluZ194OiAAc2tldzogAHByaW5jaXBhbC1wb2ludDogAHR3ZWx2ZV9iaXQ6IABtYXggcGljdHVyZSBoZWlnaHQ6IABpbWFnZSBoZWlnaHQ6IAAgIGJhc2Vfb2Zmc2V0OiAAY2hyb21hX2Zvcm1hdDogAGNocm9tYS1mb3JtYXQ6IABDaHJvbWEgZm9ybWF0OiAAbnVtIG9mIGFycmF5czogACAgZXh0ZW50czogAG1hdHJpeF9jb2VmZmljaWVudHM6IABhcnJheV9jb21wbGV0ZW5lc3M6IABhcnJheSBjb21wbGV0ZW5lc3M6IABudW0gc3VibGF5ZXJzOiAAbnVtX3RlbXBvcmFsX2xheWVyczogACwgZGVjb2RlX2xheWVyczogACwgZGlzY2FyZF9sZXZlbHM6IAB0YWdzOiAAICAlc19wcm9maWxlX2NvbXBhdGliaWxpdHlfZmxhZ3M6IABnZW5lcmFsX3Byb2ZpbGVfY29tcGF0aWJpbGl0eV9mbGFnczogAGdlbmVyYWxfY29uc3RyYWludF9pbmRpY2F0b3JfZmxhZ3M6IABudW0gYnl0ZXM6IABudW1iZXIgb2YgZGF0YSBieXRlczogAGF1eCBzdWJ0eXBlczogAHwgdGlsZXM6IABjb2xvdXJfcHJpbWFyaWVzOiAAdGlsZSByb3cgYm91bmRhcmllczogAHRpbGUgY29sdW1uIGJvdW5kYXJpZXM6IABjb21wYXRpYmxlIGJyYW5kczogAHRyYW5zZmVyX2NoYXJhY3RlcmlzdGljczogAGVudGl0eSBJRHM6IAAgdG8gSURzOiAALCBwYWxldHRlX2NvbG91cjogACcgcGFyc2UgZXJyb3I6IABkZXNjcmlwdGlvbjogAGNocm9tYV9zYW1wbGVfcG9zaXRpb246IABtaXJyb3IgZGlyZWN0aW9uOiAAcm90YXRpb246IABhbWJpZW50X2lsbHVtaW5hdGlvbjogACwgY2hhbm5lbF9hc3NvY2lhdGlvbjogAGxvY2F0aW9uOiAAQVZDTGV2ZWxJbmRpY2F0aW9uOiAAQVZDUHJvZmlsZUluZGljYXRpb246IABjb25maWd1cmF0aW9uX3ZlcnNpb246IABtaW5vciB2ZXJzaW9uOiAAaGlkZGVuIGl0ZW06IABiaXRzX3Blcl9waXhlbDogAG1heF9jb250ZW50X2xpZ2h0X2xldmVsOiAAbWF4X3BpY19hdmVyYWdlX2xpZ2h0X2xldmVsOiAAYml0c19wZXJfY2hhbm5lbDogACAoZXNzZW50aWFsOiAAaGlnaF9iaXRkZXB0aDogAGJpdC1kZXB0aDogAGZvY2FsLWxlbmd0aDogAGltYWdlIHdpZHRoOiAAICBwaXRjaDogAHwgYmlubmluZzogAGNvbnRlbnRfZW5jb2Rpbmc6IAB2U3BhY2luZzogAGhTcGFjaW5nOiAAbGFuZzogAGdlbmVyYWxfdGllcl9mbGFnOiAAZnVsbF9yYW5nZV9mbGFnOiAAcHRsIGZyYW1lIG9ubHkgY29uc3RyYWludCBmbGFnOiAAdGllciBmbGFnOiAAcHRsIG11bHRpIGxheWVyIGVuYWJsZWQgZmxhZzogAGxlbmd0aF9zaXplOiAAICAgKGhlYWRlciBzaXplOiAATkFMIGxlbmd0aCBzaXplOiAAdGlsZSBzaXplOiAAcHJvZmlsZSBzaXplOiAAdW5oYW5kbGVkIGV4dGVuZGVkIGNhcGFiaWxpdGllcyB2YWx1ZTogAGNvbnN0YW50X2ZyYW1lX3JhdGU6IABhdmdfZnJhbWVfcmF0ZTogAGNvbnN0YW50IGZyYW1lIHJhdGU6IABjbGVhbl9hcGVydHVyZTogAGNvbnRlbnRfdHlwZTogAE5BTF91bml0X3R5cGU6IABjb2xvdXJfdHlwZTogAGhhbmRsZXJfdHlwZTogAHBhcmFsbGVsaXNtX3R5cGU6IABpdGVtX3R5cGU6IAAsIGNoYW5uZWxfdHlwZTogACwgbWFwcGluZ190eXBlOiAAYXV4IHR5cGU6IABpdGVtIHVyaSB0eXBlOiAATkFMIHR5cGU6IABtb25vY2hyb21lOiAAaXRlbV9uYW1lOiAAc2VxX3Byb2ZpbGU6IABnZW5lcmFsIHByb2ZpbGU6IABFcnJvciBvcGVuaW5nIGZpbGU6IABtYXggZGlzcGxheSBtYXN0ZXJpbmcgbHVtaW5hbmNlOiAAbWluIGRpc3BsYXkgbWFzdGVyaW5nIGx1bWluYW5jZTogAGdlbmVyYWxfcHJvZmlsZV9zcGFjZTogACAgY29uc3RydWN0aW9uIG1ldGhvZDogAG1ham9yIGJyYW5kOiAAbGF5ZXJfaWQ6IABncm91cCBpZDogAHdvcmxkIGNvb3JkaW5hdGUgc3lzdGVtIGlkOiAAdGVtcG9yYWxfaWRfbmVzdGVkOiAAcHJlX2RlZmluZWQ6IABtaW5fc3BhdGlhbF9zZWdtZW50YXRpb25faWRjOiAAZ2VuZXJhbF9sZXZlbF9pZGM6IABnZW5lcmFsX3Byb2ZpbGVfaWRjOiAAZGF0YTogAGJpdF9kZXB0aF9sdW1hOiAAQml0IGRlcHRoIGx1bWE6IABiaXRfZGVwdGhfY2hyb21hOiAAQml0IGRlcHRoIGNocm9tYTogAHJlZl9waWNfc2V0WyAlMmQgXTogAFNQUy1FWFQ6IABTUFM6IABQUFM6IABFUlI6IABJTkZPOiAATkU6IABpdGVtX0lEOiAAIGZyb20gSUQ6IABhc3NvY2lhdGlvbnMgZm9yIGl0ZW0gSUQ6IAByaWdodCBpbWFnZSBJRDogAGxlZnQgaW1hZ2UgSUQ6IAAsIE5QQzogACwgQjogAHNlcV9sZXZlbF9pZHhfMDogAGRpc3BsYXlfcHJpbWFyaWVzICh4LHkpOiAAY2FtZXJhIHBvc2l0aW9uICh1bSk6IAApIDogACksIAAgIHJvbGw6ICAAbWF4IHBpY3R1cmUgd2lkdGg6ICAAICB5YXc6ICAgACAgICAgIABubyBza2V3CgBub3QgcHJlc2VudAoAU1BTIGVycm9yOiBDQiBhbGlnbm1lbnQKACVwIGluaXQKAColcwoAc2xpY2VfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZyA6ICVkICVzCgBudW1fcmVmX2lkeF9sMV9hY3RpdmUgICAgICAgICAgOiAlZCAlcwoAbnVtX3JlZl9pZHhfbDBfYWN0aXZlICAgICAgICAgIDogJWQgJXMKACAgJXNfcHJvZmlsZV9pZGMgICAgICAgOiAlcwoAICB2aWRlb19mb3JtYXQgICAgICAgICAgICAgICAgOiAlcwoAJXAgZGVzdHJ1Y3RvcgoAJXAgcmVsZWFzZSAlcAoAbWZyZWUgJXAKACVwIGMndG9yID0gJXAKACVwIGFzc2lnbiA9ICVwCgBob3Jpem9udGFsCgBmYXRhbAoAb3B0aW9uYWwKAHZlcnRpY2FsCgBTUFMgZXJyb3I6IHRyYW5zZm9ybSBoaWVyYXJjaHkgZGVwdGggKGludGVyKSA+IENUQiBzaXplIC0gbWluIFRCIHNpemUKAFNQUyBlcnJvcjogdHJhbnNmb3JtIGhpZXJhcmNoeSBkZXB0aCAoaW50cmEpID4gQ1RCIHNpemUgLSBtaW4gVEIgc2l6ZQoAbm8gY29sb3IgcHJvZmlsZQoAaWdub3JhYmxlCgBudW1iZXIgb2YgZGF0YSBieXRlcyBpcyBpbnZhbGlkCgB1bnN1cHBvcnRlZAoAaW52YWxpZCBTUFMgcmVmZXJlbmNlZAoAaW52YWxpZCBQUFMgcmVmZXJlbmNlZAoAUFBTICVkIGhhcyBub3QgYmVlbiByZWFkCgBzYW1wbGUgYXNwZWN0IHJhdGlvICAgICAgICA6ICVkOiVkCgBMYXllciAlZAoAdnBzX251bV9sYXllcl9zZXRzID0gJWQKAHZwc19udW1fdW5pdHNfaW5fdGljayA9ICVkCgBsYXllciAlZDogdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZyA9ICVkCgBsYXllciAoYWxsKTogdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZyA9ICVkCgB2cHNfdGltaW5nX2luZm9fcHJlc2VudF9mbGFnID0gJWQKAHZwc19leHRlbnNpb25fZmxhZyA9ICVkCgB2cHNfcG9jX3Byb3BvcnRpb25hbF90b190aW1pbmdfZmxhZyA9ICVkCgB2cHNfbnVtX3RpY2tzX3BvY19kaWZmX29uZSA9ICVkCgBocmRfbGF5ZXJfc2V0X2lkeFslZF0gPSAlZAoAbGF5ZXJfaWRfaW5jbHVkZWRfZmxhZ1slZF1bJWRdID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X251bV9yZW9yZGVyX3BpY3MgID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X2xhdGVuY3lfaW5jcmVhc2UgID0gJWQKAHZwc19tYXhfbGF5ZXJfaWQgICA9ICVkCgB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzICAgICA9ICVkCgB2cHNfdGltZV9zY2FsZSAgICAgICAgPSAlZAoAY29uZl93aW5fYm90dG9tX29mZnNldDogJWQKAGNocm9tYV9sb2NfaW5mb19wcmVzZW50X2ZsYWc6ICVkCgBsaXN0c19tb2RpZmljYXRpb25fcHJlc2VudF9mbGFnOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfY29udHJvbF9wcmVzZW50X2ZsYWc6ICVkCgB2aWRlb19zaWduYWxfdHlwZV9wcmVzZW50X2ZsYWc6ICVkCgBwaWNfc2NhbGluZ19saXN0X2RhdGFfcHJlc2VudF9mbGFnOiAlZAoAcGljX2Rpc2FibGVfZGVibG9ja2luZ19maWx0ZXJfZmxhZzogJWQKAG5ldXRyYWxfY2hyb21hX2luZGljYXRpb25fZmxhZzogJWQKAHVuaWZvcm1fc3BhY2luZ19mbGFnOiAlZAoAdHJhbnNxdWFudF9ieXBhc3NfZW5hYmxlX2ZsYWc6ICVkCgBjb25zdHJhaW5lZF9pbnRyYV9wcmVkX2ZsYWc6ICVkCgBwcHNfbG9vcF9maWx0ZXJfYWNyb3NzX3NsaWNlc19lbmFibGVkX2ZsYWc6ICVkCgB0cmFuc2Zvcm1fc2tpcF9lbmFibGVkX2ZsYWc6ICVkCgBkZWJsb2NraW5nX2ZpbHRlcl9vdmVycmlkZV9lbmFibGVkX2ZsYWc6ICVkCgBlbnRyb3B5X2NvZGluZ19zeW5jX2VuYWJsZWRfZmxhZzogJWQKACAgY2hyb21hX3NhbXBsZV9sb2NfdHlwZV9ib3R0b21fZmllbGQ6ICVkCgAgICVkOiAlZAoAY29uZl93aW5fcmlnaHRfb2Zmc2V0IDogJWQKAG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0cyA6ICVkCgBudW1fbG9uZ190ZXJtX3JlZl9waWNzX3NwcyA6ICVkCgBwaWNfaGVpZ2h0X2luX2x1bWFfc2FtcGxlcyA6ICVkCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRlciA6ICVkCgAgICAgJXNfZnJhbWVfb25seV9jb25zdHJhaW50X2ZsYWcgOiAlZAoAICAgICVzX25vbl9wYWNrZWRfY29uc3RyYWludF9mbGFnIDogJWQKAHBwc19zbGljZV9jaHJvbWFfcXBfb2Zmc2V0c19wcmVzZW50X2ZsYWcgOiAlZAoAdnVpX2hyZF9wYXJhbWV0ZXJzX3ByZXNlbnRfZmxhZyA6ICVkCgBsb25nX3Rlcm1fcmVmX3BpY3NfcHJlc2VudF9mbGFnIDogJWQKAG92ZXJzY2FuX2luZm9fcHJlc2VudF9mbGFnIDogJWQKAHZwc19zdWJfbGF5ZXJfb3JkZXJpbmdfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAc3BzX3N1Yl9sYXllcl9vcmRlcmluZ19pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgBmcmFtZV9maWVsZF9pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgAgIGNvbG91cl9kZXNjcmlwdGlvbl9wcmVzZW50X2ZsYWcgOiAlZAoAc2xpY2Vfc2VnbWVudF9oZWFkZXJfZXh0ZW5zaW9uX3ByZXNlbnRfZmxhZyA6ICVkCgBzcHNfc2NhbGluZ19saXN0X2RhdGFfcHJlc2VudF9mbGFnIDogJWQKACAgbW90aW9uX3ZlY3RvcnNfb3Zlcl9waWNfYm91bmRhcmllc19mbGFnIDogJWQKAHNwc19tdWx0aWxheWVyX2V4dGVuc2lvbl9mbGFnIDogJWQKAHBwc19tdWx0aWxheWVyX2V4dGVuc2lvbl9mbGFnIDogJWQKAHNwc190ZW1wb3JhbF9pZF9uZXN0aW5nX2ZsYWcgOiAlZAoAdnVpX3BvY19wcm9wb3J0aW9uYWxfdG9fdGltaW5nX2ZsYWcgOiAlZAoAc2VwYXJhdGVfY29sb3VyX3BsYW5lX2ZsYWcgOiAlZAoAc2NhbGluZ19saXN0X2VuYWJsZV9mbGFnIDogJWQKAHN0cm9uZ19pbnRyYV9zbW9vdGhpbmdfZW5hYmxlX2ZsYWcgOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZmxhZyA6ICVkCgBudW1fcmVmX2lkeF9hY3RpdmVfb3ZlcnJpZGVfZmxhZyA6ICVkCgAgICAgJXNfcHJvZ3Jlc3NpdmVfc291cmNlX2ZsYWcgOiAlZAoAICAgICVzX2ludGVybGFjZWRfc291cmNlX2ZsYWcgOiAlZAoAc2FtcGxlX2FkYXB0aXZlX29mZnNldF9lbmFibGVkX2ZsYWcgOiAlZAoAZGVwZW5kZW50X3NsaWNlX3NlZ21lbnRzX2VuYWJsZWRfZmxhZyA6ICVkCgBsb29wX2ZpbHRlcl9hY3Jvc3NfdGlsZXNfZW5hYmxlZF9mbGFnIDogJWQKAHNsaWNlX2xvb3BfZmlsdGVyX2Fjcm9zc19zbGljZXNfZW5hYmxlZF9mbGFnIDogJWQKAHNsaWNlX3RlbXBvcmFsX212cF9lbmFibGVkX2ZsYWcgOiAlZAoAY3Jvc3NfY29tcG9uZW50X3ByZWRpY3Rpb25fZW5hYmxlZF9mbGFnIDogJWQKAHBlcnNpc3RlbnRfcmljZV9hZGFwdGF0aW9uX2VuYWJsZWRfZmxhZyA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZSA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAGxvZzJfbWluX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9kaWZmX21heF9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbnVtX3JlZl9pZHhfbDFfZGVmYXVsdF9hY3RpdmUgOiAlZAoAbnVtX3JlZl9pZHhfbDBfZGVmYXVsdF9hY3RpdmUgOiAlZAoAbG9nMl9tYXhfcGljX29yZGVyX2NudF9sc2IgOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmEgOiAlZAoAYml0X2RlcHRoX2Nocm9tYSA6ICVkCgBlbnRyeSBwb2ludCBbJWldIDogJWQKACAgc3BzX21heF9sYXRlbmN5X2luY3JlYXNlX3BsdXMxIDogJWQKAHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb25fZmxhZ19sMSA6ICVkCgByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uX2ZsYWdfbDAgOiAlZAoATG9nMk1pbkN1Q2hyb21hUXBPZmZzZXRTaXplIChSRXh0KSA6ICVkCgBMb2cyTWF4VHJhbnNmb3JtU2tpcFNpemUgICAgKFJFeHQpIDogJWQKAGNvbmZfd2luX2xlZnRfb2Zmc2V0ICA6ICVkCgAgIGRlZl9kaXNwX3dpbl9ib3R0b21fb2Zmc2V0ICA6ICVkCgBzbGljZV9iZXRhX29mZnNldCAgOiAlZAoAcGljX3dpZHRoX2luX2x1bWFfc2FtcGxlcyAgOiAlZAoAdnVpX3RpbWluZ19pbmZvX3ByZXNlbnRfZmxhZyAgOiAlZAoAb3ZlcnNjYW5fYXBwcm9wcmlhdGVfZmxhZyAgOiAlZAoAcGNtX2xvb3BfZmlsdGVyX2Rpc2FibGVfZmxhZyAgOiAlZAoAZml2ZV9taW51c19tYXhfbnVtX21lcmdlX2NhbmQgIDogJWQKAHZpZGVvX3BhcmFtZXRlcl9zZXRfaWQgIDogJWQKACAgZGVmX2Rpc3Bfd2luX3JpZ2h0X29mZnNldCAgIDogJWQKAGNvbmZfd2luX3RvcF9vZmZzZXQgICA6ICVkCgBkZWZhdWx0X2Rpc3BsYXlfd2luZG93X2ZsYWcgICA6ICVkCgBjdV9xcF9kZWx0YV9lbmFibGVkX2ZsYWcgICA6ICVkCgBsb2cyX21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZSAgIDogJWQKACAgY2hyb21hX3NhbXBsZV9sb2NfdHlwZV90b3BfZmllbGQgICA6ICVkCgBiaXRfZGVwdGhfbHVtYSAgIDogJWQKAHBjbV9zYW1wbGVfYml0X2RlcHRoX2Nocm9tYSAgIDogJWQKAE1heENiU2l6ZVkgICA6ICVkCgBNaW5DYlNpemVZICAgOiAlZAoATWF4VEJTaXplWSAgIDogJWQKAE1pblRCU2l6ZVkgICA6ICVkCgAgIGRlZl9kaXNwX3dpbl9sZWZ0X29mZnNldCAgICA6ICVkCgBzbGljZV90Y19vZmZzZXQgICAgOiAlZAoAbnVtX2V4dHJhX3NsaWNlX2hlYWRlcl9iaXRzICAgIDogJWQKAG51bV9lbnRyeV9wb2ludF9vZmZzZXRzICAgIDogJWQKAG51bV90aWxlX2NvbHVtbnMgICAgOiAlZAoAICB0cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3MgICAgOiAlZAoAICBsb2cyX21heF9tdl9sZW5ndGhfaG9yaXpvbnRhbCAgICA6ICVkCgBjb25mb3JtYW5jZV93aW5kb3dfZmxhZyAgICA6ICVkCgBjYWJhY19pbml0X3ByZXNlbnRfZmxhZyAgICA6ICVkCgBzcHNfZXh0ZW5zaW9uX3ByZXNlbnRfZmxhZyAgICA6ICVkCgAgIHJlc3RyaWN0ZWRfcmVmX3BpY19saXN0c19mbGFnICAgIDogJWQKAHRyYW5zZm9ybV9za2lwX3JvdGF0aW9uX2VuYWJsZWRfZmxhZyAgICA6ICVkCgBzZXFfcGFyYW1ldGVyX3NldF9pZCAgICA6ICVkCgBzbGljZV9jcl9xcF9vZmZzZXQgICAgIDogJWQKAHNsaWNlX2NiX3FwX29mZnNldCAgICAgOiAlZAoAICBkZWZfZGlzcF93aW5fdG9wX29mZnNldCAgICAgOiAlZAoAZGlmZl9jdV9xcF9kZWx0YV9kZXB0aCAgICAgOiAlZAoAb3V0cHV0X2ZsYWdfcHJlc2VudF9mbGFnICAgICA6ICVkCgB0cmFuc2Zvcm1fc2tpcF9jb250ZXh0X2VuYWJsZWRfZmxhZyAgICAgOiAlZAoAY2FiYWNfYnlwYXNzX2FsaWdubWVudF9lbmFibGVkX2ZsYWcgICAgIDogJWQKAGhpZ2hfcHJlY2lzaW9uX29mZnNldHNfZW5hYmxlZF9mbGFnICAgICA6ICVkCgAgICVzX3Byb2ZpbGVfc3BhY2UgICAgIDogJWQKACAgbWluX3NwYXRpYWxfc2VnbWVudGF0aW9uX2lkYyAgICAgOiAlZAoAcGNtX3NhbXBsZV9iaXRfZGVwdGhfbHVtYSAgICAgOiAlZAoAQ3RiU2l6ZVkgICAgIDogJWQKAHNwc19tYXhfc3ViX2xheWVycyAgICAgIDogJWQKAGxvZzJfcGFyYWxsZWxfbWVyZ2VfbGV2ZWwgICAgICA6ICVkCgAgIGxvZzJfbWF4X212X2xlbmd0aF92ZXJ0aWNhbCAgICAgIDogJWQKACAgc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZyAgICAgIDogJWQKAHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc3BzX2ZsYWcgICAgICA6ICVkCgBzcHNfcmFuZ2VfZXh0ZW5zaW9uX2ZsYWcgICAgICA6ICVkCgBwcHNfcmFuZ2VfZXh0ZW5zaW9uX2ZsYWcgICAgICA6ICVkCgBleHRlbmRlZF9wcmVjaXNpb25fcHJvY2Vzc2luZ19mbGFnICAgICAgOiAlZAoAc2lnbl9kYXRhX2hpZGluZ19mbGFnICAgICAgOiAlZAoAY2hyb21hX3FwX29mZnNldF9saXN0X2VuYWJsZWRfZmxhZyAgICAgIDogJWQKAHNwc190ZW1wb3JhbF9tdnBfZW5hYmxlZF9mbGFnICAgICAgOiAlZAoAZmlyc3Rfc2xpY2Vfc2VnbWVudF9pbl9waWNfZmxhZyAgICAgIDogJWQKAGxvZzJfbWF4X3RyYW5zZm9ybV9za2lwX2Jsb2NrX3NpemUgICAgICA6ICVkCgBudW1fdGlsZV9yb3dzICAgICAgIDogJWQKACAgc3BzX21heF9udW1fcmVvcmRlcl9waWNzICAgICAgIDogJWQKACAgdnVpX251bV91bml0c19pbl90aWNrICAgICAgIDogJWQKACAgdGlsZXNfZml4ZWRfc3RydWN0dXJlX2ZsYWcgICAgICAgOiAlZAoAICB2aWRlb19mdWxsX3JhbmdlX2ZsYWcgICAgICAgOiAlZAoAc2VxX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgOiAlZAoAcGljX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgOiAlZAoAICBtYXhfYml0c19wZXJfbWluX2N1X2Rlbm9tICAgICAgICA6ICVkCgB2dWlfcGFyYW1ldGVyc19wcmVzZW50X2ZsYWcgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfZnJvbV9sMF9mbGFnICAgICAgICA6ICVkCgBDaHJvbWFXZWlnaHRfTCVkWyVkXVslZF0gICAgICAgIDogJWQKAENocm9tYU9mZnNldF9MJWRbJWRdWyVkXSAgICAgICAgOiAlZAoAUGljSGVpZ2h0SW5DdGJzWSAgICAgICAgOiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAgICAgICAgIDogJWQKAGRlcGVuZGVudF9zbGljZV9zZWdtZW50X2ZsYWcgICAgICAgICA6ICVkCgBub19vdXRwdXRfb2ZfcHJpb3JfcGljc19mbGFnICAgICAgICAgOiAlZAoAICAlc190aWVyX2ZsYWcgICAgICAgICA6ICVkCgBiaXRzdHJlYW1fcmVzdHJpY3Rpb25fZmxhZyAgICAgICAgIDogJWQKAHdlaWdodGVkX2JpcHJlZF9mbGFnICAgICAgICAgOiAlZAoAc2xpY2VfcXBfZGVsdGEgICAgICAgICA6ICVkCgBQaWNXaWR0aEluQ3Ric1kgICAgICAgICA6ICVkCgAgIG1heF9ieXRlc19wZXJfcGljX2Rlbm9tICAgICAgICAgIDogJWQKAENocm9tYUxvZzJXZWlnaHREZW5vbSAgICAgICAgICA6ICVkCgBkaWZmX2N1X2Nocm9tYV9xcF9vZmZzZXRfZGVwdGggICAgICAgICAgOiAlZAoAdnBzX3RlbXBvcmFsX2lkX25lc3RpbmdfZmxhZyAgICAgICAgICA6ICVkCgBMb2cyTWluQ3VRcERlbHRhU2l6ZSAgICAgICAgICA6ICVkCgB2dWlfbnVtX3RpY2tzX3BvY19kaWZmX29uZSAgICAgICAgICA6ICVkCgBzaG9ydF90ZXJtX3JlZl9waWNfc2V0X2lkeCAgICAgICAgICAgOiAlZAoAc3BzX2V4dGVuc2lvbl82Yml0cyAgICAgICAgICAgOiAlZAoAcHBzX2V4dGVuc2lvbl82Yml0cyAgICAgICAgICAgOiAlZAoAd2VpZ2h0ZWRfcHJlZF9mbGFnICAgICAgICAgICA6ICVkCgBpbnRyYV9zbW9vdGhpbmdfZGlzYWJsZWRfZmxhZyAgICAgICAgICAgOiAlZAoAdGlsZXNfZW5hYmxlZF9mbGFnICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fY2hyb21hX2ZsYWcgICAgICAgICAgIDogJWQKAHNsaWNlX3BpY19wYXJhbWV0ZXJfc2V0X2lkICAgICAgICAgICA6ICVkCgAgIGNvbG91cl9wcmltYXJpZXMgICAgICAgICAgICA6ICVkCgBwcHNfZXh0ZW5zaW9uX2ZsYWcgICAgICAgICAgICA6ICVkCgBsb2cyX3Nhb19vZmZzZXRfc2NhbGVfY2hyb21hICAgICAgICAgICAgOiAlZAoAbHVtYV9vZmZzZXRfbCVkWyVkXSAgICAgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfcmVmX2lkeCAgICAgICAgICAgICA6ICVkCgBwaWNfY3JfcXBfb2Zmc2V0ICAgICAgICAgICAgIDogJWQKAHBpY19jYl9xcF9vZmZzZXQgICAgICAgICAgICAgOiAlZAoAZXhwbGljaXRfcmRwY21fZW5hYmxlZF9mbGFnICAgICAgICAgICAgIDogJWQKAGltcGxpY2l0X3JkcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fbHVtYV9mbGFnICAgICAgICAgICAgIDogJWQKAEx1bWFXZWlnaHRfTCVkWyVkXSAgICAgICAgICAgICA6ICVkCgAgIHZ1aV90aW1lX3NjYWxlICAgICAgICAgICAgICA6ICVkCgBzbGljZV9waWNfb3JkZXJfY250X2xzYiAgICAgICAgICAgICAgOiAlZAoAbG9nMl9zYW9fb2Zmc2V0X3NjYWxlX2x1bWEgICAgICAgICAgICAgIDogJWQKAFN1YkhlaWdodEMgICAgICAgICAgICAgIDogJWQKACAgbWF0cml4X2NvZWZmcyAgICAgICAgICAgICAgIDogJWQKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9sZW4gICAgICAgICAgICAgICA6ICVkCgBtdmRfbDFfemVyb19mbGFnICAgICAgICAgICAgICAgOiAlZAoAU3ViV2lkdGhDICAgICAgICAgICAgICAgOiAlZAoAc2xpY2Vfc2VnbWVudF9hZGRyZXNzICAgICAgICAgICAgICAgIDogJWQKAHBpY19pbml0X3FwICAgICAgICAgICAgICAgIDogJWQKAGNhYmFjX2luaXRfZmxhZyAgICAgICAgICAgICAgICA6ICVkCgBmaWVsZF9zZXFfZmxhZyAgICAgICAgICAgICAgICA6ICVkCgB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkICAgICAgICAgICAgICAgIDogJWQKAG9mZnNldF9sZW4gICAgICAgICAgICAgICAgIDogJWQKAHZwc19tYXhfc3ViX2xheWVycyAgICAgICAgICAgICAgICAgICAgOiAlZAoAYW1wX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICAgICAgICAgOiAlZAoAcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICAgICAgICAgOiAlZAoAY3JfcXBfb2Zmc2V0X2xpc3RbJWRdICAgICAgICAgICAgICAgICAgICA6ICVkCgBjYl9xcF9vZmZzZXRfbGlzdFslZF0gICAgICAgICAgICAgICAgICAgIDogJWQKAHBpY19vdXRwdXRfZmxhZyAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBjb2xvdXJfcGxhbmVfaWQgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAbnVtX2xvbmdfdGVybV9waWNzICAgICAgICAgICAgICAgICAgICAgICA6ICVkCgB2cHNfbWF4X2xheWVycyAgICAgICAgICAgICAgICAgICAgICAgIDogJWQKAG51bV9sb25nX3Rlcm1fc3BzICAgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAYmV0YV9vZmZzZXQ6ICAlZAoAdGNfb2Zmc2V0OiAgICAlZAoAc2xpY2VfdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJWMKACAgUHJvZmlsZS9UaWVyL0xldmVsIFtMYXllciAlZF0KAFNQUyBlcnJvcjogYml0ZGVwdGggWSBub3QgaW4gWzg7MTZdCgBTUFMgZXJyb3I6IGJpdGRlcHRoIEMgbm90IGluIFs4OzE2XQoAU1BTIGVycm9yOiBUQl9tYXggPiAzMiBvciBDVEIKAFNQUyBlcnJvcjogVEIgPiBDQgoAPGFycmF5PgoAY29uZmlnIE5BTHM6CgA0OjQ6NAoANDoyOjIKADQ6MjowCgA0OjA6MAoARmlsZSBkb2VzIG5vdCBpbmNsdWRlIGFueSBzdXBwb3J0ZWQgYnJhbmRzLgoAbGliaGVpZiB3YXJuaW5nOiBoZWlmX2ltYWdlX2NyZWF0ZSgpIHVzZWQgd2l0aCBhbiBpbGxlZ2FsIGNvbG9yc3BhY2UvY2hyb21hIGNvbWJpbmF0aW9uLiBUaGlzIHdpbGwgcmV0dXJuIGFuIGVycm9yIGluIGEgZnV0dXJlIHZlcnNpb24uCgAtLS0tLS0tLS0tLS0tLS0tLSBTUFMtcmFuZ2UtZXh0ZW5zaW9uIC0tLS0tLS0tLS0tLS0tLS0tCgAtLS0tLS0tLS0tLS0tLS0tLSBWUFMgLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0tLS0tLS0tIFNQUyAtLS0tLS0tLS0tLS0tLS0tLQoALS0tLS0tLS0tLS0tLS0tLS0gUFBTIC0tLS0tLS0tLS0tLS0tLS0tCgAtLS0tLS0tLS0tLS0tLS0tLSBWVUkgLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0tLS0tLS0tIFNMSUNFIC0tLS0tLS0tLS0tLS0tLS0tCgAtLS0tLS0tLS0tIFBQUyByYW5nZS1leHRlbnNpb24gLS0tLS0tLS0tLQoAIC0tLS0tCgBjb2xvdXJfdHlwZTogLS0tCgAqCgAoYW5nbGVzKQoAY2hyb21hX2Zvcm1hdF9pZGMgICAgICAgOiAlZCAoJXMpCgAgKHNtYWxsZXIgdGhhbiBoZWFkZXIpCgAlcCBkZWNvdXBsZSAoJXApCgAocXVhdGVyaW9uKQoAICAlc19sZXZlbF9pZGMgICAgICAgICA6ICVkICglNC4yZikKAGx0X3JlZl9waWNfcG9jX2xzYl9zcHNbJWRdIDogJWQgICAodXNlZF9ieV9jdXJyX3BpY19sdF9zcHNfZmxhZz0lZCkKACVwIChhbGxvYykKACBkZWdyZWVzIChDQ1cpCgAzQm94ADlCb3hIZWFkZXIAOEJveF9pc3BlADdGdWxsQm94ADlCb3hfb3RoZXIAOUJveF9FcnJvcgA4Qm94X2Z0eXAAOEJveF9mcmVlADhCb3hfbWV0YQA4Qm94X2hkbHIAOEJveF9waXRtADhCb3hfaW5mZQA4Qm94X2lpbmYAOEJveF9pcHJwADhCb3hfaXBjbwA4Qm94X2lwbWEAOEJveF9hdXhDADhCb3hfaXJvdAA4Qm94X2ltaXIAOEJveF9jbGFwADhCb3hfaXJlZgA4Qm94X2lkYXQAOEJveF9ncnBsADE3Qm94X0VudGl0eVRvR3JvdXAAOEJveF9zdGVyADhCb3hfcHltZAA4Qm94X2RpbmYAOEJveF9kcmVmADdCb3hfdXJsADhCb3hfcGl4aQA4Qm94X3Bhc3AAOEJveF9sc2VsADhCb3hfY2xsaQA4Qm94X21kY3YAOEJveF9hbXZlADhCb3hfY21pbgA4Qm94X2NtZXgAOEJveF91ZGVzADhCb3hfaWxvYwBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X21ldGFOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9mdHlwTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfZnJlZU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2hkbHJOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9waXRtTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaWxvY05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lpbmZOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pbmZlTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaXBycE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lwY29OU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pcG1hTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaXNwZU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2F1eENOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pcm90TlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaW1pck5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2NsYXBOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pcmVmTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaHZjQ05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2F2MUNOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF92dmNDTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaWRhdE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2dycGxOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9weW1kTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2h