ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvUkVBRE1FLnR4dCBiL3J1bnRpbWUvdHV0b3IvUkVBRE1FLnR4dAppbmRleCA3NzA5N2MxLi42ZWVjZTQxIDEwMDY0NAotLS0gYS9ydW50aW1lL3R1dG9yL1JFQURNRS50eHQKKysrIGIvcnVudGltZS90dXRvci9SRUFETUUudHh0CkBAIC0xLDIyICsxLDEzOCBAQAotVHV0b3IgaXMgYSAiaGFuZHMgb24iIHR1dG9yaWFsIGZvciBuZXcgdXNlcnMgb2YgdGhlIFZpbSBlZGl0b3IuCitSRUFETUUudHh0IGZvciB2ZXJzaW9uIDcuMmEgb2YgVmltOiBWaSBJTXByb3ZlZC4KIAotTW9zdCBuZXcgdXNlcnMgY2FuIGdldCB0aHJvdWdoIGl0IGluIGxlc3MgdGhhbiBvbmUgaG91ci4gVGhlIHJlc3VsdAotaXMgdGhhdCB5b3UgY2FuIGRvIGEgc2ltcGxlIGVkaXRpbmcgdGFzayB1c2luZyB0aGUgVmltIGVkaXRvci4KIAotVHV0b3IgaXMgYSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIHR1dG9yaWFsIGxlc3NvbnMuIFlvdSBjYW4gc2ltcGx5Ci1leGVjdXRlICJ2aW0gdHV0b3IiIGFuZCB0aGVuIGZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGluIHRoZSBsZXNzb25zLgotVGhlIGxlc3NvbnMgdGVsbCB5b3UgdG8gbW9kaWZ5IHRoZSBmaWxlLCBzbyBET04nVCBETyBUSElTIE9OIFlPVVIKLU9SSUdJTkFMIENPUFkuCitXSEFUIElTIFZJTQogCi1PbiBVbml4IHlvdSBjYW4gYWxzbyB1c2UgdGhlICJ2aW10dXRvciIgcHJvZ3JhbS4gIEl0IHdpbGwgbWFrZSBhCi1zY3JhdGNoIGNvcHkgb2YgdGhlIHR1dG9yIGZpcnN0LgorVmltIGlzIGFuIGFsbW9zdCBjb21wYXRpYmxlIHZlcnNpb24gb2YgdGhlIFVOSVggZWRpdG9yIFZpLiAgTWFueSBuZXcgZmVhdHVyZXMKK2hhdmUgYmVlbiBhZGRlZDogbXVsdGktbGV2ZWwgdW5kbywgc3ludGF4IGhpZ2hsaWdodGluZywgY29tbWFuZCBsaW5lIGhpc3RvcnksCitvbi1saW5lIGhlbHAsIHNwZWxsIGNoZWNraW5nLCBmaWxlbmFtZSBjb21wbGV0aW9uLCBibG9jayBvcGVyYXRpb25zLCBldGMuCitUaGVyZSBpcyBhbHNvIGEgR3JhcGhpY2FsIFVzZXIgSW50ZXJmYWNlIChHVUkpIGF2YWlsYWJsZS4gIFNlZQorInJ1bnRpbWUvZG9jL3ZpX2RpZmYudHh0IiBmb3IgZGlmZmVyZW5jZXMgd2l0aCBWaS4KIAotSSBoYXZlIGNvbnNpZGVyZWQgYWRkaW5nIG1vcmUgYWR2YW5jZWQgbGVzc29ucyBidXQgaGF2ZSBub3QgZm91bmQgdGhlCi10aW1lLiBQbGVhc2UgbGV0IG1lIGtub3cgaG93IHlvdSBsaWtlIGl0IGFuZCBzZW5kIGFueSBpbXByb3ZlbWVudHMgeW91Ci1tYWtlLgorVGhpcyBlZGl0b3IgaXMgdmVyeSB1c2VmdWwgZm9yIGVkaXRpbmcgcHJvZ3JhbXMgYW5kIG90aGVyIHBsYWluIEFTQ0lJIGZpbGVzLgorQWxsIGNvbW1hbmRzIGFyZSBnaXZlbiB3aXRoIG5vcm1hbCBrZXlib2FyZCBjaGFyYWN0ZXJzLCBzbyB0aG9zZSB3aG8gY2FuIHR5cGUKK3dpdGggdGVuIGZpbmdlcnMgY2FuIHdvcmsgdmVyeSBmYXN0LiAgQWRkaXRpb25hbGx5LCBmdW5jdGlvbiBrZXlzIGNhbiBiZQorZGVmaW5lZCBieSB0aGUgdXNlciwgYW5kIHRoZSBtb3VzZSBjYW4gYmUgdXNlZC4KIAotQm9iIFdhcmUsIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcywgR29sZGVuLCBDbyA4MDQwMSwgVVNBCi0oMzAzKSAyNzMtMzk4NwotYndhcmVAbWluZXMuY29sb3JhZG8uZWR1IGJ3YXJlQHNsYXRlLm1pbmVzLmNvbG9yYWRvLmVkdSBid2FyZUBtaW5lcy5iaXRuZXQKK1ZpbSBjdXJyZW50bHkgcnVucyB1bmRlciBBbWlnYSBET1MsIE1TLURPUywgTVMtV2luZG93cyA5NS85OC9NZS9OVC8yMDAwL1hQLAorQXRhcmkgTWlOVCwgTWFjaW50b3NoLCBCZU9TLCBWTVMsIFJJU0MgT1MsIE9TLzIgYW5kIGFsbW9zdCBhbGwgZmxhdm91cnMgb2YKK1VOSVguICBQb3J0aW5nIHRvIG90aGVyIHN5c3RlbXMgc2hvdWxkIG5vdCBiZSB2ZXJ5IGRpZmZpY3VsdC4KIAotW1RoaXMgZmlsZSB3YXMgbW9kaWZpZWQgZm9yIFZpbSBieSBCcmFtIE1vb2xlbmFhcl0KKworRElTVFJJQlVUSU9OCisKK1RoZXJlIGFyZSBzZXBhcmF0ZSBkaXN0cmlidXRpb25zIGZvciBVbml4LCBQQywgQW1pZ2EgYW5kIHNvbWUgb3RoZXIgc3lzdGVtcy4KK1RoaXMgUkVBRE1FLnR4dCBmaWxlIGNvbWVzIHdpdGggdGhlIHJ1bnRpbWUgYXJjaGl2ZS4gIEl0IGluY2x1ZGVzIHRoZQorZG9jdW1lbnRhdGlvbiwgc3ludGF4IGZpbGVzIGFuZCBvdGhlciBmaWxlcyB0aGF0IGFyZSB1c2VkIGF0IHJ1bnRpbWUuICBUbyBydW4KK1ZpbSB5b3UgbXVzdCBnZXQgZWl0aGVyIG9uZSBvZiB0aGUgYmluYXJ5IGFyY2hpdmVzIG9yIGEgc291cmNlIGFyY2hpdmUuCitXaGljaCBvbmUgeW91IG5lZWQgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIHlvdSB3YW50IHRvIHJ1biBpdCBvbiBhbmQgd2hldGhlciB5b3UKK3dhbnQgb3IgbXVzdCBjb21waWxlIGl0IHlvdXJzZWxmLiAgQ2hlY2sgImh0dHA6Ly93d3cudmltLm9yZy9kb3dubG9hZC5waHAiIGZvcgorYW4gb3ZlcnZpZXcgb2YgY3VycmVudGx5IGF2YWlsYWJsZSBkaXN0cmlidXRpb25zLgorCisKK0RPQ1VNRU5UQVRJT04KKworVGhlIGJlc3QgaXMgdG8gdXNlICI6aGVscCIgaW4gVmltLiAgSWYgeW91IGRvbid0IGhhdmUgYW4gZXhlY3V0YWJsZSB5ZXQsIHJlYWQKKyJydW50aW1lL2RvYy9oZWxwLnR4dCIuICBJdCBjb250YWlucyBwb2ludGVycyB0byB0aGUgb3RoZXIgZG9jdW1lbnRhdGlvbgorZmlsZXMuICBUaGUgVXNlciBNYW51YWwgcmVhZHMgbGlrZSBhIGJvb2sgYW5kIGlzIHJlY29tbWVuZGVkIHRvIGxlYXJuIHRvIHVzZQorVmltLiAgU2VlICI6aGVscCB1c2VyLW1hbnVhbCIuCisKK1RoZSB2aW0gdHV0b3IgaXMgYSBvbmUgaG91ciB0cmFpbmluZyBjb3Vyc2UgZm9yIGJlZ2lubmVycy4gIE1vc3RseSBpdCBjYW4gYmUKK3N0YXJ0ZWQgYXMgInZpbXR1dG9yIi4gIFNlZSAiOmhlbHAgdHV0b3IiIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisKK0NPUFlJTkcKKworVmltIGlzIENoYXJpdHl3YXJlLiAgWW91IGNhbiB1c2UgYW5kIGNvcHkgaXQgYXMgbXVjaCBhcyB5b3UgbGlrZSwgYnV0IHlvdSBhcmUKK2VuY291cmFnZWQgdG8gbWFrZSBhIGRvbmF0aW9uIHRvIG9ycGhhbnMgaW4gVWdhbmRhLiAgUGxlYXNlIHJlYWQgdGhlIGZpbGUKKyJydW50aW1lL2RvYy91Z2FuZGEudHh0IiBmb3IgZGV0YWlscyAoZG8gIjpoZWxwIHVnYW5kYSIgaW5zaWRlIFZpbSkuCisKK1N1bW1hcnkgb2YgdGhlIGxpY2Vuc2U6IFRoZXJlIGFyZSBubyByZXN0cmljdGlvbnMgb24gdXNpbmcgb3IgZGlzdHJpYnV0aW5nIGFuCit1bm1vZGlmaWVkIGNvcHkgb2YgVmltLiAgUGFydHMgb2YgVmltIG1heSBhbHNvIGJlIGRpc3RyaWJ1dGVkLCBidXQgdGhlIGxpY2Vuc2UKK3RleHQgbXVzdCBhbHdheXMgYmUgaW5jbHVkZWQuICBGb3IgbW9kaWZpZWQgdmVyc2lvbnMgYSBmZXcgcmVzdHJpY3Rpb25zIGFwcGx5LgorVGhlIGxpY2Vuc2UgaXMgR1BMIGNvbXBhdGlibGUsIHlvdSBtYXkgY29tcGlsZSBWaW0gd2l0aCBHUEwgbGlicmFyaWVzIGFuZAorZGlzdHJpYnV0ZSBpdC4KKworCitTUE9OU09SSU5HCisKK0ZpeGluZyBidWdzIGFuZCBhZGRpbmcgbmV3IGZlYXR1cmVzIHRha2VzIGEgbG90IG9mIHRpbWUgYW5kIGVmZm9ydC4gIFRvIHNob3cKK3lvdXIgYXBwcmVjaWF0aW9uIGZvciB0aGUgd29yayBhbmQgbW90aXZhdGUgQnJhbSBhbmQgb3RoZXJzIHRvIGNvbnRpbnVlCit3b3JraW5nIG9uIFZpbSBwbGVhc2Ugc2VuZCBhIGRvbmF0aW9uLgorCitTaW5jZSBCcmFtIGlzIGJhY2sgdG8gYSBwYWlkIGpvYiB0aGUgbW9uZXkgd2lsbCBub3cgYmUgdXNlZCB0byBoZWxwIGNoaWxkcmVuCitpbiBVZ2FuZGEuICBTZWUgcnVudGltZS9kb2MvdWdhbmRhLnR4dC4gIEJ1dCBhdCB0aGUgc2FtZSB0aW1lIGRvbmF0aW9ucworaW5jcmVhc2UgQnJhbSdzIG1vdGl2YXRpb24gdG8ga2VlcCB3b3JraW5nIG9uIFZpbSEKKworRm9yIHRoZSBtb3N0IHJlY2VudCBpbmZvcm1hdGlvbiBhYm91dCBzcG9uc29yaW5nIGxvb2sgb24gdGhlIFZpbSB3ZWIgc2l0ZToKKworCWh0dHA6Ly93d3cudmltLm9yZy9zcG9uc29yLworCisKK0NPTVBJTElORworCitJZiB5b3Ugb2J0YWluZWQgYSBiaW5hcnkgZGlzdHJpYnV0aW9uIHlvdSBkb24ndCBuZWVkIHRvIGNvbXBpbGUgVmltLiAgSWYgeW91CitvYnRhaW5lZCBhIHNvdXJjZSBkaXN0cmlidXRpb24sIGFsbCB0aGUgc3R1ZmYgZm9yIGNvbXBpbGluZyBWaW0gaXMgaW4gdGhlCisic3JjIiBkaXJlY3RvcnkuICBTZWUgc3JjL0lOU1RBTEwgZm9yIGluc3RydWN0aW9ucy4KKworCitJTlNUQUxMQVRJT04KKworU2VlIG9uZSBvZiB0aGVzZSBmaWxlcyBmb3Igc3lzdGVtLXNwZWNpZmljIGluc3RydWN0aW9uczoKK1JFQURNRV9hbWkudHh0CQlBbWlnYQorUkVBRE1FX3VuaXgudHh0CQlVbml4CitSRUFETUVfZG9zLnR4dAkJTVMtRE9TIGFuZCBNUy1XaW5kb3dzCitSRUFETUVfb3MyLnR4dAkJT1MvMgorUkVBRE1FX21hYy50eHQJCU1hY2ludG9zaAorUkVBRE1FX3Ztcy50eHQJCVZNUworCisKK0lORk9STUFUSU9OCisKK1RoZSBsYXRlc3QgbmV3cyBhYm91dCBWaW0gY2FuIGJlIGZvdW5kIG9uIHRoZSBWaW0gaG9tZSBwYWdlOgorCWh0dHA6Ly93d3cudmltLm9yZy8KKworSWYgeW91IGhhdmUgcHJvYmxlbXMsIGhhdmUgYSBsb29rIGF0IHRoZSBWaW0gRkFROgorCWh0dHA6Ly92aW1kb2Muc2YubmV0L3ZpbWZhcS5odG1sCisKK1NlbmQgYnVnIHJlcG9ydHMgdG86CisJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKworVGhlcmUgYXJlIGZpdmUgbWFpbGluZyBsaXN0cyBmb3IgVmltOgorPHZpbUB2aW0ub3JnPgorCUZvciBkaXNjdXNzaW9ucyBhYm91dCB1c2luZyBleGlzdGluZyB2ZXJzaW9ucyBvZiBWaW06IFVzZWZ1bCBtYXBwaW5ncywKKwlxdWVzdGlvbnMsIGFuc3dlcnMsIHdoZXJlIHRvIGdldCBhIHNwZWNpZmljIHZlcnNpb24sIGV0Yy4KKzx2aW0tZGV2QHZpbS5vcmc+CisJRm9yIGRpc2N1c3Npb25zIGFib3V0IGNoYW5naW5nIFZpbTogTmV3IGZlYXR1cmVzLCBwb3J0aW5nLCBiZXRhLXRlc3QKKwl2ZXJzaW9ucywgZXRjLgorPHZpbS1hbm5vdW5jZUB2aW0ub3JnPgorCUFubm91bmNlbWVudHMgYWJvdXQgbmV3IHZlcnNpb25zIG9mIFZpbTsgYWxzbyBiZXRhLXRlc3QgdmVyc2lvbnMgYW5kCisJcG9ydHMgdG8gZGlmZmVyZW50IHN5c3RlbXMuCis8dmltLW11bHRpYnl0ZUB2aW0ub3JnPgorCUZvciBkaXNjdXNzaW9ucyBhYm91dCB1c2luZyBhbmQgaW1wcm92aW5nIHRoZSBtdWx0aS1ieXRlIGFzcGVjdHMgb2YKKwlWaW06IFhJTSwgSGFuZ3VsLCBmb250c2V0LCBldGMuCis8dmltLW1hY0B2aW0ub3JnPgorCUZvciBkaXNjdXNzaW9ucyBhYm91dCB1c2luZyBhbmQgaW1wcm92aW5nIFZpbSBvbiB0aGUgTWFjaW50b3NoLgorCitGb3IgbW9yZSBpbmZvIGFuZCBVUkxzIG9mIHRoZSBhcmNoaXZlcyBzZWUgImh0dHA6Ly93d3cudmltLm9yZy9tYWlsbGlzdC5waHAiLgorCitOT1RFOgorLSBZb3UgY2FuIG9ubHkgc2VuZCBtZXNzYWdlcyB0byB0aGVzZSBsaXN0cyBpZiB5b3UgaGF2ZSBzdWJzY3JpYmVkIQorLSBZb3UgbmVlZCB0byBzZW5kIHRoZSBtZXNzYWdlcyBmcm9tIHRoZSBzYW1lIGxvY2F0aW9uIGFzIHdoZXJlIHlvdSBzdWJzY3JpYmVkCisgIGZyb20gKHRvIGF2b2lkIHNwYW0gbWFpbCkuCistIE1heGltdW0gbWVzc2FnZSBzaXplIGlzIDQwMDAwIGNoYXJhY3RlcnMuCisKK0lmIHlvdSB3YW50IHRvIGpvaW4gYSBtYWlsbGlzdCwgc2VuZCBhIG1lc3NhZ2UgdG8KKwk8dmltLWhlbHBAdmltLm9yZz4KK01ha2Ugc3VyZSB0aGF0IHlvdXIgIkZyb206IiBhZGRyZXNzIGlzIGNvcnJlY3QuICBUaGVuIHRoZSBsaXN0IHNlcnZlciB3aWxsCitzZW5kIHlvdSBhIGhlbHAgbWVzc2FnZS4KKworCitNQUlOIEFVVEhPUgorCitTZW5kIGFueSBvdGhlciBjb21tZW50cywgcGF0Y2hlcywgcGl6emEgYW5kIHN1Z2dlc3Rpb25zIHRvOgorCisJQnJhbSBNb29sZW5hYXIJCUUtbWFpbDoJQnJhbUB2aW0ub3JnCisJRmluc3RlcnJ1ZXRpaG9mIDEKKwk4MTM0IEFkbGlzd2lsCisJU3dpdHplcmxhbmQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvUkVBRE1FX2FtaS50eHQuaW5mbyBiL3J1bnRpbWUvdHV0b3IvUkVBRE1FX2FtaS50eHQuaW5mbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MTI0MzZkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci9SRUFETUVfYW1pLnR4dC5pbmZvCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvUkVBRE1FX2FtaWJpbi50eHQuaW5mbyBiL3J1bnRpbWUvdHV0b3IvUkVBRE1FX2FtaWJpbi50eHQuaW5mbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZGMzZjAyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci9SRUFETUVfYW1pYmluLnR4dC5pbmZvCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvUkVBRE1FX2Rvcy50eHQgYi9ydW50aW1lL3R1dG9yL1JFQURNRV9kb3MudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ODE4YjgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL1JFQURNRV9kb3MudHh0CkBAIC0wLDAgKzEsMTU0IEBACitSRUFETUVfZG9zLnR4dCBmb3IgdmVyc2lvbiA3LjJhIG9mIFZpbTogVmkgSU1wcm92ZWQuCisKK1RoaXMgZmlsZSBleHBsYWlucyB0aGUgaW5zdGFsbGF0aW9uIG9mIFZpbSBvbiBNUy1ET1MgYW5kIE1TLVdpbmRvd3Mgc3lzdGVtcy4KK1NlZSAiUkVBRE1FLnR4dCIgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gYWJvdXQgVmltLgorCitUaGVyZSBhcmUgdHdvIHdheXMgdG8gaW5zdGFsbCBWaW06CitBLiBVc2UgdGhlIHNlbGYtaW5zdGFsbGluZyAuZXhlIGZpbGUuCitCLiBVbnBhY2sgLnppcCBmaWxlcyBhbmQgcnVuIHRoZSBpbnN0YWxsLmV4ZSBwcm9ncmFtLgorCisKK0EuIFVzaW5nIHRoZSBzZWxmLWluc3RhbGxpbmcgLmV4ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgaXMgbW9zdGx5IHNlbGYtZXhwbGFpbmluZy4gIEp1c3QgZm9sbG93IHRoZSBwcm9tcHRzIGFuZCBtYWtlIHRoZQorc2VsZWN0aW9ucy4gIEEgZmV3IHRoaW5ncyB0byB3YXRjaCBvdXQgZm9yOgorCistIFdoZW4gYW4gZXhpc3RpbmcgaW5zdGFsbGF0aW9uIGlzIGRldGVjdGVkLCB5b3UgYXJlIG9mZmVyZWQgdG8gZmlyc3QgcmVtb3ZlCisgIHRoaXMuICBUaGUgdW5pbnN0YWxsIHByb2dyYW0gaXMgdGhlbiBzdGFydGVkIHdoaWxlIHRoZSBpbnN0YWxsIHByb2dyYW0gd2FpdHMKKyAgZm9yIGl0IHRvIGNvbXBsZXRlLiAgU29tZXRpbWVzIHRoZSB3aW5kb3dzIG92ZXJsYXAgZWFjaCBvdGhlciwgd2hpY2ggY2FuIGJlCisgIGNvbmZ1c2luZy4gIEJlIHN1cmUgdGhlIGNvbXBsZXRlIHRoZSB1bmluc3RhbGxpbmcgYmVmb3JlIGNvbnRpbnVpbmcgdGhlCisgIGluc3RhbGxhdGlvbi4gIFdhdGNoIHRoZSB0YXNrYmFyIGZvciB1bmluc3RhbGwgd2luZG93cy4KKworLSBXaGVuIHNlbGVjdGluZyBhIGRpcmVjdG9yeSB0byBpbnN0YWxsIFZpbSwgdXNlIHRoZSBzYW1lIHBsYWNlIHdoZXJlIG90aGVyCisgIHZlcnNpb25zIGFyZSBsb2NhdGVkLiAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gZmluZCB5b3VyIF92aW1yYyBmaWxlLiAgRm9yCisgIGV4YW1wbGUgIkM6XFByb2dyYW0gRmlsZXNcdmltIiBvciAiRDpcdmltIi4gIEEgbmFtZSBlbmRpbmcgaW4gInZpbSIgaXMKKyAgcHJlZmVycmVkLgorCistIEFmdGVyIHNlbGVjdGluZyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRvIGluc3RhbGwgVmltLCBjbGlja2luZyBvbiAiTmV4dCIgd2lsbAorICBzdGFydCB0aGUgaW5zdGFsbGF0aW9uLgorCisKK0IuIFVzaW5nIC56aXAgZmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlc2UgYXJlIHRoZSBub3JtYWwgc3RlcHMgdG8gaW5zdGFsbCBWaW0gZnJvbSB0aGUgLnppcCBhcmNoaXZlczoKKworMS4gR28gdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3Ugd2FudCB0byBwdXQgdGhlIFZpbSBmaWxlcy4gIEV4YW1wbGVzOgorCWNkIEM6XAorCWNkIEQ6XGVkaXRvcnMKKyAgIElmIHlvdSBhbHJlYWR5IGhhdmUgYSAidmltIiBkaXJlY3RvcnksIGdvIHRvIHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggaXQgaXMKKyAgIGxvY2F0ZWQuICBDaGVjayB0aGUgJFZJTSBzZXR0aW5nIHRvIHNlZSB3aGVyZSBpdCBwb2ludHMgdG86CisJc2V0IFZJTQorICAgRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlCisJQzpcdmltXHZpbTU0CisgICBkbworCWNkIEM6XAorICAgQmluYXJ5IGFuZCBydW50aW1lIFZpbSBhcmNoaXZlcyBhcmUgbm9ybWFsbHkgdW5wYWNrZWQgaW4gdGhlIHNhbWUgbG9jYXRpb24sCisgICBvbiB0b3Agb2YgZWFjaCBvdGhlci4KKworMi4gVW5wYWNrIHRoZSB6aXAgYXJjaGl2ZXMuICBUaGlzIHdpbGwgY3JlYXRlIGEgbmV3IGRpcmVjdG9yeSAidmltXHZpbTcwIiwKKyAgIGluIHdoaWNoIGFsbCB0aGUgZGlzdHJpYnV0ZWQgVmltIGZpbGVzIGFyZSBwbGFjZWQuICBTaW5jZSB0aGUgZGlyZWN0b3J5CisgICBuYW1lIGluY2x1ZGVzIHRoZSB2ZXJzaW9uIG51bWJlciwgaXQgaXMgdW5saWtlbHkgdGhhdCB5b3Ugb3ZlcndyaXRlCisgICBleGlzdGluZyBmaWxlcy4KKyAgIEV4YW1wbGVzOgorCXBrdW56aXAgLWQgZ3ZpbTcwLnppcAorCXVuemlwIHZpbTcwdzMyLnppcAorCisgICBZb3UgbmVlZCB0byB1bnBhY2sgdGhlIHJ1bnRpbWUgYXJjaGl2ZSBhbmQgYXQgbGVhc3Qgb25lIG9mIHRoZSBiaW5hcnkKKyAgIGFyY2hpdmVzLiAgV2hlbiB1c2luZyBtb3JlIHRoYW4gb25lIGJpbmFyeSB2ZXJzaW9uLCBiZSBjYXJlZnVsIG5vdCB0bworICAgb3ZlcndyaXRlIG9uZSB2ZXJzaW9uIHdpdGggdGhlIG90aGVyLCB0aGUgbmFtZXMgb2YgdGhlIGV4ZWN1dGFibGVzCisgICAidmltLmV4ZSIgYW5kICJndmltLmV4ZSIgYXJlIHRoZSBzYW1lLgorCisgICBBZnRlciB5b3UgdW5wYWNrZWQgdGhlIGZpbGVzLCB5b3UgY2FuIHN0aWxsIG1vdmUgdGhlIHdob2xlIGRpcmVjdG9yeSB0cmVlCisgICB0byBhbm90aGVyIGxvY2F0aW9uLiAgVGhhdCBpcyB3aGVyZSB0aGV5IHdpbGwgc3RheSwgdGhlIGluc3RhbGwgcHJvZ3JhbQorICAgd29uJ3QgbW92ZSBvciBjb3B5IHRoZSBydW50aW1lIGZpbGVzLgorCisgICBPbmx5IGZvciB0aGUgMzIgYml0IERPUyB2ZXJzaW9uIG9uIE1TLURPUyB3aXRob3V0IERQTUkgc3VwcG9ydCAodHJ5aW5nIHRvCisgICBydW4gaW5zdGFsbC5leGUgd2lsbCBwcm9kdWNlIGFuIGVycm9yIG1lc3NhZ2UpOiBVbnBhY2sgdGhlIENTRFBNSTRCLlpJUAorICAgYXJjaGl2ZSBhbmQgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgaW4gdGhlIGRvY3VtZW50YXRpb24uCisKKzMuIENoYW5nZSB0byB0aGUgbmV3IGRpcmVjdG9yeToKKwljZCB2aW1cdmltNzAKKyAgIFJ1biB0aGUgImluc3RhbGwuZXhlIiBwcm9ncmFtLiAgSXQgd2lsbCBhc2sgeW91IGEgbnVtYmVyIG9mIHF1ZXN0aW9ucyBhYm91dAorICAgaG93IHlvdSB3b3VsZCBsaWtlIHRvIGhhdmUgeW91ciBWaW0gc2V0dXAuICBBbW9uZyB0aGVzZSBhcmU6CisgICAtIFlvdSBjYW4gdGVsbCBpdCB0byB3cml0ZSBhICJfdmltcmMiIGZpbGUgd2l0aCB5b3VyIHByZWZlcmVuY2VzIGluIHRoZQorICAgICBwYXJlbnQgZGlyZWN0b3J5LgorICAgLSBJdCBjYW4gYWxzbyBpbnN0YWxsIGFuICJFZGl0IHdpdGggVmltIiBlbnRyeSBpbiB0aGUgV2luZG93cyBFeHBsb3JlcgorICAgICBwb3B1cCBtZW51LgorICAgLSBZb3UgY2FuIGhhdmUgaXQgY3JlYXRlIGJhdGNoIGZpbGVzLCBzbyB0aGF0IHlvdSBjYW4gcnVuIFZpbSBmcm9tIHRoZQorICAgICBjb25zb2xlIG9yIGluIGEgc2hlbGwuICBZb3UgY2FuIHNlbGVjdCBvbmUgb2YgdGhlIGRpcmVjdG9yaWVzIGluIHlvdXIKKyAgICAgJFBBVEguICBJZiB5b3Ugc2tpcCB0aGlzLCB5b3UgY2FuIGFkZCBWaW0gdG8gdGhlIHNlYXJjaCBwYXRoIG1hbnVhbGx5OgorICAgICBUaGUgc2ltcGxlc3QgaXMgdG8gYWRkIGEgbGluZSB0byB5b3VyIGF1dG9leGVjLmJhdC4gIEV4YW1wbGVzOgorCXNldCBwYXRoPSVwYXRoJTtDOlx2aW1cdmltNzAKKwlzZXQgcGF0aD0lcGF0aCU7RDpcZWRpdG9yc1x2aW1cdmltNzAKKyAgIC0gQ3JlYXRlIGVudHJpZXMgZm9yIFZpbSBvbiB0aGUgZGVza3RvcCBhbmQgaW4gdGhlIFN0YXJ0IG1lbnUuCisKK1RoYXQncyBpdCEKKworCitSZW1hcmtzOgorCistIElmIFZpbSBjYW4ndCBmaW5kIHRoZSBydW50aW1lIGZpbGVzLCAiOmhlbHAiIHdvbid0IHdvcmsgYW5kIHRoZSBHVUkgdmVyc2lvbgorICB3b24ndCBzaG93IGEgbWVudWJhci4gIFRoZW4geW91IG5lZWQgdG8gc2V0IHRoZSAkVklNIGVudmlyb25tZW50IHZhcmlhYmxlIHRvCisgIHBvaW50IHRvIHRoZSB0b3AgZGlyZWN0b3J5IG9mIHlvdXIgVmltIGZpbGVzLiAgRXhhbXBsZToKKyAgICBzZXQgVklNPUM6XGVkaXRvcnNcdmltCisgIFZpbSB2ZXJzaW9uIDYuMCB3aWxsIGxvb2sgZm9yIHlvdXIgdmltcmMgZmlsZSBpbiAkVklNLCBhbmQgZm9yIHRoZSBydW50aW1lCisgIGZpbGVzIGluICRWSU0vdmltNzAuICBTZWUgIjpoZWxwICRWSU0iIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCistIFRvIGF2b2lkIGNvbmZ1c2lvbiBiZXR3ZWVuIGRpc3RyaWJ1dGVkIGZpbGVzIG9mIGRpZmZlcmVudCB2ZXJzaW9ucyBhbmQgeW91cgorICBvd24gbW9kaWZpZWQgdmltIHNjcmlwdHMsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGlzIGRpcmVjdG9yeSBsYXlvdXQ6CisgICgiQzpcdmltIiBpcyB1c2VkIGhlcmUgYXMgdGhlIHJvb3QsIHJlcGxhY2UgaXQgd2l0aCB0aGUgcGF0aCB5b3UgdXNlKQorICBZb3VyIG93biBmaWxlczoKKwlDOlx2aW1cX3ZpbXJjCQkJWW91ciBwZXJzb25hbCB2aW1yYy4KKwlDOlx2aW1cX3ZpbWluZm8JCQlEeW5hbWljIGluZm8gZm9yICd2aW1pbmZvJy4KKwlDOlx2aW1cdmltZmlsZXNcZnRwbHVnaW5cKi52aW0JRmlsZXR5cGUgcGx1Z2lucworCUM6XHZpbVwuLi4JCQlPdGhlciBmaWxlcyB5b3UgbWFkZS4KKyAgRGlzdHJpYnV0ZWQgZmlsZXM6CisJQzpcdmltXHZpbTcwXHZpbS5leGUJCVRoZSBWaW0gdmVyc2lvbiA2LjAgZXhlY3V0YWJsZS4KKwlDOlx2aW1cdmltNzBcZG9jXCoudHh0CQlUaGUgdmVyc2lvbiA2LjAgZG9jdW1lbnRhdGlvbiBmaWxlcy4KKwlDOlx2aW1cdmltNzBcYnVncmVwb3J0LnZpbQlBIFZpbSB2ZXJzaW9uIDYuMCBzY3JpcHQuCisJQzpcdmltXHZpbTcwXC4uLgkJT3RoZXIgdmVyc2lvbiA2LjAgZGlzdHJpYnV0ZWQgZmlsZXMuCisgIEluIHRoaXMgY2FzZSB0aGUgJFZJTSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3b3VsZCBiZSBzZXQgbGlrZSB0aGlzOgorCXNldCBWSU09QzpcdmltCisgIFRoZW4gJFZJTVJVTlRJTUUgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHNldCB0byAiJFZJTVx2aW03MCIuICBEb24ndCBhZGQKKyAgInZpbTcwIiB0byAkVklNLCB0aGF0IHdvbid0IHdvcmsuCisKKy0gWW91IGNhbiBwdXQgeW91ciBWaW0gZXhlY3V0YWJsZSBhbnl3aGVyZSBlbHNlLiAgSWYgdGhlIGV4ZWN1dGFibGUgaXMgbm90CisgIHdpdGggdGhlIG90aGVyIFZpbSBmaWxlcywgeW91IHNob3VsZCBzZXQgJFZJTS4gVGhlIHNpbXBsZXN0IGlzIHRvIGFkZCBhIGxpbmUKKyAgdG8geW91ciBhdXRvZXhlYy5iYXQuICBFeGFtcGxlczoKKwlzZXQgVklNPWM6XHZpbQorCXNldCBWSU09ZDpcZWRpdG9yc1x2aW0KKworLSBJZiB5b3UgaGF2ZSB0b2xkIHRoZSAiaW5zdGFsbC5leGUiIHByb2dyYW0gdG8gYWRkIHRoZSAiRWRpdCB3aXRoIFZpbSIgbWVudQorICBlbnRyeSwgeW91IGNhbiByZW1vdmUgaXQgYnkgcnVubmluZyB0aGUgInVuaW5zdGFsLmV4ZSIuICBTZWUKKyAgIjpoZWxwIHdpbjMyLXBvcHVwLW1lbnUiLgorCistIEluIFdpbmRvd3MgOTUvOTgvTlQgeW91IGNhbiBjcmVhdGUgYSBzaG9ydGN1dCB0byBWaW0uICBUaGlzIHdvcmtzIGZvciBhbGwKKyAgRE9TIGFuZCBXaW4zMiBjb25zb2xlIHZlcnNpb25zLiAgRm9yIHRoZSBjb25zb2xlIHZlcnNpb24gdGhpcyBnaXZlcyB5b3UgdGhlCisgIG9wcG9ydHVuaXR5IHRvIHNldCBkZWZhdWx0cyBmb3IgdGhlIENvbnNvbGUgd2hlcmUgVmltIHJ1bnMgaW4uCisKKyAgMS4gT24gdGhlIGRlc2t0b3AsIGNsaWNrIHJpZ2h0IHRvIGdldCBhIG1lbnUuICBTZWxlY3QgTmV3L1Nob3J0Y3V0LgorICAyLiBJbiB0aGUgZGlhbG9nLCBlbnRlciBDb21tYW5kIGxpbmU6ICJDOlxjb21tYW5kLmNvbSIuICBDbGljayAiTmV4dCIuCisgIDMuIEVudGVyIGFueSBuYW1lLiAgQ2xpY2sgIkZpbmlzaCIuCisgICAgIFRoZSBuZXcgc2hvcnRjdXQgd2lsbCBhcHBlYXIgb24gdGhlIGRlc2t0b3AuCisgIDQuIFdpdGggdGhlIG1vdXNlIHBvaW50ZXIgb24gdGhlIG5ldyBzaG9ydGN1dCwgY2xpY2sgcmlnaHQgdG8gZ2V0IGEgbWVudS4KKyAgICAgU2VsZWN0IFByb3BlcnRpZXMuCisgIDUuIEluIHRoZSBQcm9ncmFtIHRhYiwgY2hhbmdlIHRoZSAiQ21kbGluZSIgdG8gYWRkICIvYyIgYW5kIHRoZSBuYW1lIG9mIHRoZQorICAgICBWaW0gZXhlY3V0YWJsZS4gIEV4YW1wbGVzOgorCUM6XGNvbW1hbmQuY29tIC9jIEM6XHZpbVx2aW03MFx2aW0uZXhlCisJQzpcY29tbWFuZC5jb20gL2MgRDpcZWRpdG9yc1x2aW1cdmltNzBcdmltLmV4ZQorICA2LiBTZWxlY3QgdGhlIGZvbnQsIHdpbmRvdyBzaXplLCBldGMuIHRoYXQgeW91IGxpa2UuICBJZiB0aGlzIGlzbid0CisgICAgIHBvc3NpYmxlLCBzZWxlY3QgIkFkdmFuY2VkIiBpbiB0aGUgUHJvZ3JhbSB0YWIsIGFuZCBkZXNlbGVjdCAiTVMtRE9TCisgICAgIG1vZGUiLgorICA3LiBDbGljayBPSy4KKworICBGb3IgZ3ZpbSwgeW91IGNhbiB1c2UgYSBub3JtYWwgc2hvcnRjdXQgb24gdGhlIGRlc2t0b3AsIGFuZCBzZXQgdGhlIHNpemUgb2YKKyAgdGhlIFdpbmRvdyBpbiB5b3VyICRWSU0vX2d2aW1yYzoKKwlzZXQgbGluZXM9MzAgY29sdW1ucz05MAorCisKK0ZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLCB0eXBlIG9uZSBvZiB0aGVzZSBpbnNpZGUgVmltOgorCTpoZWxwIGRvcworCTpoZWxwIG1zZG9zCisJOmhlbHAgd2luMzIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvUkVBRE1FX21hYy50eHQgYi9ydW50aW1lL3R1dG9yL1JFQURNRV9tYWMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5NmFkMDEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL1JFQURNRV9tYWMudHh0CkBAIC0wLDAgKzEsOCBAQAorUkVBRE1FX21hYy50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorCitUaGlzIGZpbGUgZXhwbGFpbnMgdGhlIGluc3RhbGxhdGlvbiBvZiBWaW0gb24gTWFjaW50b3NoIHN5c3RlbXMuCitTZWUgIlJFQURNRS50eHQiIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IFZpbS4KKworCitTb3JyeSwgdGhpcyB0ZXh0IHN0aWxsIG5lZWRzIHRvIGJlIHdyaXR0ZW4hCisKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvcnVudGltZS5pbmZvIGIvcnVudGltZS90dXRvci9ydW50aW1lLmluZm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmZmMDQ2OAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvcnVudGltZS5pbmZvCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvcnVudGltZS9ldmltLnZpbSBiL3J1bnRpbWUvdHV0b3IvcnVudGltZS9ldmltLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTQ3MjkwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci9ydW50aW1lL2V2aW0udmltCkBAIC0wLDAgKzEsNjYgQEAKKyIgVmltIHNjcmlwdCBmb3IgRXZpbSBrZXkgYmluZGluZ3MKKyIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDYgTWFyIDI5CisKKyIgRG9uJ3QgdXNlIFZpLWNvbXBhdGlibGUgbW9kZS4KK3NldCBub2NvbXBhdGlibGUKKworIiBVc2UgdGhlIG1zd2luLnZpbSBzY3JpcHQgZm9yIG1vc3QgbWFwcGluZ3MKK3NvdXJjZSA8c2ZpbGU+OnA6aC9tc3dpbi52aW0KKworIiBWaW0gaXMgaW4gSW5zZXJ0IG1vZGUgYnkgZGVmYXVsdAorc2V0IGluc2VydG1vZGUKKworIiBNYWtlIGEgYnVmZmVyIGhpZGRlbiB3aGVuIGVkaXRpbmcgYW5vdGhlciBvbmUKK3NldCBoaWRkZW4KKworIiBNYWtlIGN1cnNvciBrZXlzIGlnbm9yZSB3cmFwcGluZworaW5vcmVtYXAgPERvd24+IDxDLVI+PXB1bXZpc2libGUoKSA/ICJcPGx0PkRvd24+IiA6ICJcPGx0PkMtTz5naiI8Q1I+Citpbm9yZW1hcCA8VXA+IDxDLVI+PXB1bXZpc2libGUoKSA/ICJcPGx0PlVwPiIgOiAiXDxsdD5DLU8+Z2siPENSPgorCisiIENUUkwtRiBkb2VzIEZpbmQgZGlhbG9nIGluc3RlYWQgb2YgcGFnZSBmb3J3YXJkCitub3JlbWFwIDxDLUY+IDpwcm9tcHRmaW5kPENSPgordm5vcmVtYXAgPEMtRj4geTpwcm9tcHRmaW5kIDxDLVI+IjxDUj4KK29ub3JlbWFwIDxDLUY+IDxDLUM+OnByb21wdGZpbmQ8Q1I+Citpbm9yZW1hcCA8Qy1GPiA8Qy1PPjpwcm9tcHRmaW5kPENSPgorY25vcmVtYXAgPEMtRj4gPEMtQz46cHJvbXB0ZmluZDxDUj4KKworCitzZXQgYmFja3NwYWNlPTIJCSIgYWxsb3cgYmFja3NwYWNpbmcgb3ZlciBldmVyeXRoaW5nIGluIGluc2VydCBtb2RlCitzZXQgYXV0b2luZGVudAkJIiBhbHdheXMgc2V0IGF1dG9pbmRlbnRpbmcgb24KK2lmIGhhcygidm1zIikKKyAgc2V0IG5vYmFja3VwCQkiIGRvIG5vdCBrZWVwIGEgYmFja3VwIGZpbGUsIHVzZSB2ZXJzaW9ucyBpbnN0ZWFkCitlbHNlCisgIHNldCBiYWNrdXAJCSIga2VlcCBhIGJhY2t1cCBmaWxlCitlbmRpZgorc2V0IGhpc3Rvcnk9NTAJCSIga2VlcCA1MCBsaW5lcyBvZiBjb21tYW5kIGxpbmUgaGlzdG9yeQorc2V0IHJ1bGVyCQkiIHNob3cgdGhlIGN1cnNvciBwb3NpdGlvbiBhbGwgdGhlIHRpbWUKK3NldCBpbmNzZWFyY2gJCSIgZG8gaW5jcmVtZW50YWwgc2VhcmNoaW5nCitzZXQgbW91c2U9YQkJIiBhbHdheXMgdXNlIHRoZSBtb3VzZQorCisiIERvbid0IHVzZSBFeCBtb2RlLCB1c2UgUSBmb3IgZm9ybWF0dGluZworbWFwIFEgZ3EKKworIiBTd2l0Y2ggc3ludGF4IGhpZ2hsaWdodGluZyBvbiwgd2hlbiB0aGUgdGVybWluYWwgaGFzIGNvbG9ycworIiBIaWdobGlnaHQgdGhlIGxhc3QgdXNlZCBzZWFyY2ggcGF0dGVybiBvbiB0aGUgbmV4dCBzZWFyY2ggY29tbWFuZC4KK2lmICZ0X0NvID4gMiB8fCBoYXMoImd1aV9ydW5uaW5nIikKKyAgc3ludGF4IG9uCisgIHNldCBobHNlYXJjaAorICBub2hsc2VhcmNoCitlbmRpZgorCisiIE9ubHkgZG8gdGhpcyBwYXJ0IHdoZW4gY29tcGlsZWQgd2l0aCBzdXBwb3J0IGZvciBhdXRvY29tbWFuZHMuCitpZiBoYXMoImF1dG9jbWQiKQorCisgICIgRW5hYmxlIGZpbGUgdHlwZSBkZXRlY3Rpb24uCisgICIgVXNlIHRoZSBkZWZhdWx0IGZpbGV0eXBlIHNldHRpbmdzLCBzbyB0aGF0IG1haWwgZ2V0cyAndHcnIHNldCB0byA3MiwKKyAgIiAnY2luZGVudCcgaXMgb24gaW4gQyBmaWxlcywgZXRjLgorICAiIEFsc28gbG9hZCBpbmRlbnQgZmlsZXMsIHRvIGF1dG9tYXRpY2FsbHkgZG8gbGFuZ3VhZ2UtZGVwZW5kZW50IGluZGVudGluZy4KKyAgZmlsZXR5cGUgcGx1Z2luIGluZGVudCBvbgorCisgICIgRm9yIGFsbCB0ZXh0IGZpbGVzIHNldCAndGV4dHdpZHRoJyB0byA3OCBjaGFyYWN0ZXJzLgorICBhdSBGaWxlVHlwZSB0ZXh0IHNldGxvY2FsIHR3PTc4CisKK2VuZGlmICIgaGFzKCJhdXRvY21kIikKKworIiB2aW06IHNldCBzdz0yIDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvcnVudGltZS9ndmltcmNfZXhhbXBsZS52aW0gYi9ydW50aW1lL3R1dG9yL3J1bnRpbWUvZ3ZpbXJjX2V4YW1wbGUudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNTE5N2UKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3J1bnRpbWUvZ3ZpbXJjX2V4YW1wbGUudmltCkBAIC0wLDAgKzEsNTkgQEAKKyIgQW4gZXhhbXBsZSBmb3IgYSBndmltcmMgZmlsZS4KKyIgVGhlIGNvbW1hbmRzIGluIHRoaXMgYXJlIGV4ZWN1dGVkIHdoZW4gdGhlIEdVSSBpcyBzdGFydGVkLgorIgorIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgorIiBMYXN0IGNoYW5nZToJMjAwMSBTZXAgMDIKKyIKKyIgVG8gdXNlIGl0LCBjb3B5IGl0IHRvCisiICAgICBmb3IgVW5peCBhbmQgT1MvMjogIH4vLmd2aW1yYworIgkgICAgICBmb3IgQW1pZ2E6ICBzOi5ndmltcmMKKyIgIGZvciBNUy1ET1MgYW5kIFdpbjMyOiAgJFZJTVxfZ3ZpbXJjCisiCSAgICBmb3IgT3BlblZNUzogIHN5cyRsb2dpbjouZ3ZpbXJjCisKKyIgTWFrZSBleHRlcm5hbCBjb21tYW5kcyB3b3JrIHRocm91Z2ggYSBwaXBlIGluc3RlYWQgb2YgYSBwc2V1ZG8tdHR5Cisic2V0IG5vZ3VpcHR5CisKKyIgc2V0IHRoZSBYMTEgZm9udCB0byB1c2UKKyIgc2V0IGd1aWZvbnQ9LW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc284ODU5LTEKKworc2V0IGNoPTIJCSIgTWFrZSBjb21tYW5kIGxpbmUgdHdvIGxpbmVzIGhpZ2gKKworc2V0IG1vdXNlaGlkZQkJIiBIaWRlIHRoZSBtb3VzZSB3aGVuIHR5cGluZyB0ZXh0CisKKyIgTWFrZSBzaGlmdC1pbnNlcnQgd29yayBsaWtlIGluIFh0ZXJtCittYXAgPFMtSW5zZXJ0PiA8TWlkZGxlTW91c2U+CittYXAhIDxTLUluc2VydD4gPE1pZGRsZU1vdXNlPgorCisiIE9ubHkgZG8gdGhpcyBmb3IgVmltIHZlcnNpb24gNS4wIGFuZCBsYXRlci4KK2lmIHZlcnNpb24gPj0gNTAwCisKKyAgIiBJIGxpa2UgaGlnaGxpZ2h0aW5nIHN0cmluZ3MgaW5zaWRlIEMgY29tbWVudHMKKyAgbGV0IGNfY29tbWVudF9zdHJpbmdzPTEKKworICAiIFN3aXRjaCBvbiBzeW50YXggaGlnaGxpZ2h0aW5nIGlmIGl0IHdhc24ndCBvbiB5ZXQuCisgIGlmICFleGlzdHMoInN5bnRheF9vbiIpCisgICAgc3ludGF4IG9uCisgIGVuZGlmCisKKyAgIiBTd2l0Y2ggb24gc2VhcmNoIHBhdHRlcm4gaGlnaGxpZ2h0aW5nLgorICBzZXQgaGxzZWFyY2gKKworICAiIEZvciBXaW4zMiB2ZXJzaW9uLCBoYXZlICJLIiBsb29rdXAgdGhlIGtleXdvcmQgaW4gYSBoZWxwIGZpbGUKKyAgImlmIGhhcygid2luMzIiKQorICAiICBsZXQgd2luaGVscGZpbGU9J3dpbmRvd3MuaGxwJworICAiICBtYXAgSyA6ZXhlY3V0ZSAiIXN0YXJ0IHdpbmhscDMyIC1rIDxjd29yZD4gIiAuIHdpbmhlbHBmaWxlIDxDUj4KKyAgImVuZGlmCisKKyAgIiBTZXQgbmljZSBjb2xvcnMKKyAgIiBiYWNrZ3JvdW5kIGZvciBub3JtYWwgdGV4dCBpcyBsaWdodCBncmV5CisgICIgVGV4dCBiZWxvdyB0aGUgbGFzdCBsaW5lIGlzIGRhcmtlciBncmV5CisgICIgQ3Vyc29yIGlzIGdyZWVuLCBDeWFuIHdoZW4gIjpsbWFwIiBtYXBwaW5ncyBhcmUgYWN0aXZlCisgICIgQ29uc3RhbnRzIGFyZSBub3QgdW5kZXJsaW5lZCBidXQgaGF2ZSBhIHNsaWdodGx5IGxpZ2h0ZXIgYmFja2dyb3VuZAorICBoaWdobGlnaHQgTm9ybWFsIGd1aWJnPWdyZXk5MAorICBoaWdobGlnaHQgQ3Vyc29yIGd1aWJnPUdyZWVuIGd1aWZnPU5PTkUKKyAgaGlnaGxpZ2h0IGxDdXJzb3IgZ3VpYmc9Q3lhbiBndWlmZz1OT05FCisgIGhpZ2hsaWdodCBOb25UZXh0IGd1aWJnPWdyZXk4MAorICBoaWdobGlnaHQgQ29uc3RhbnQgZ3VpPU5PTkUgZ3VpYmc9Z3JleTk1CisgIGhpZ2hsaWdodCBTcGVjaWFsIGd1aT1OT05FIGd1aWJnPWdyZXk5NQorCitlbmRpZgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci9ydW50aW1lL2ljb25zLmluZm8gYi9ydW50aW1lL3R1dG9yL3J1bnRpbWUvaWNvbnMuaW5mbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjZiYzU2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci9ydW50aW1lL2ljb25zLmluZm8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci9ydW50aW1lL3NjcmlwdHMudmltIGIvcnVudGltZS90dXRvci9ydW50aW1lL3NjcmlwdHMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzNmY1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3J1bnRpbWUvc2NyaXB0cy52aW0KQEAgLTAsMCArMSwzNTEgQEAKKyIgVmltIHN1cHBvcnQgZmlsZSB0byBkZXRlY3QgZmlsZSB0eXBlcyBpbiBzY3JpcHRzCisiCisiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+CisiIExhc3QgY2hhbmdlOgkyMDA4IEFwciAyOAorCisiIFRoaXMgZmlsZSBpcyBjYWxsZWQgYnkgYW4gYXV0b2NvbW1hbmQgZm9yIGV2ZXJ5IGZpbGUgdGhhdCBoYXMganVzdCBiZWVuCisiIGxvYWRlZCBpbnRvIGEgYnVmZmVyLiAgSXQgY2hlY2tzIGlmIHRoZSB0eXBlIG9mIGZpbGUgY2FuIGJlIHJlY29nbml6ZWQgYnkKKyIgdGhlIGZpbGUgY29udGVudHMuICBUaGUgYXV0b2NvbW1hbmQgaXMgaW4gJFZJTVJVTlRJTUUvZmlsZXR5cGUudmltLgorCisKKyIgT25seSBkbyB0aGUgcmVzdCB3aGVuIHRoZSBGaWxlVHlwZSBhdXRvY29tbWFuZCBoYXMgbm90IGJlZW4gdHJpZ2dlcmVkIHlldC4KK2lmIGRpZF9maWxldHlwZSgpCisgIGZpbmlzaAorZW5kaWYKKworIiBMb2FkIHRoZSB1c2VyIGRlZmluZWQgc2NyaXB0cyBmaWxlIGZpcnN0CisiIE9ubHkgZG8gdGhpcyB3aGVuIHRoZSBGaWxlVHlwZSBhdXRvY29tbWFuZCBoYXMgbm90IGJlZW4gdHJpZ2dlcmVkIHlldAoraWYgZXhpc3RzKCJteXNjcmlwdHNmaWxlIikgJiYgZmlsZXJlYWRhYmxlKGV4cGFuZChteXNjcmlwdHNmaWxlKSkKKyAgZXhlY3V0ZSAic291cmNlICIgLiBteXNjcmlwdHNmaWxlCisgIGlmIGRpZF9maWxldHlwZSgpCisgICAgZmluaXNoCisgIGVuZGlmCitlbmRpZgorCisiIExpbmUgY29udGludWF0aW9uIGlzIHVzZWQgaGVyZSwgcmVtb3ZlICdDJyBmcm9tICdjcG9wdGlvbnMnCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK2xldCBzOmxpbmUxID0gZ2V0bGluZSgxKQorCitpZiBzOmxpbmUxID1+ICJeIyEiCisgICIgQSBzY3JpcHQgdGhhdCBzdGFydHMgd2l0aCAiIyEiLgorCisgICIgQ2hlY2sgZm9yIGEgbGluZSBsaWtlICIjIS91c3IvYmluL2VudiBWQVI9dmFsIGJhc2giLiAgVHVybiBpdCBpbnRvCisgICIgIiMhL3Vzci9iaW4vYmFzaCIgdG8gbWFrZSBtYXRjaGluZyBlYXNpZXIuCisgIGlmIHM6bGluZTEgPX4gJ14jIVxzKlxTKlw8ZW52XHMnCisgICAgbGV0IHM6bGluZTEgPSBzdWJzdGl0dXRlKHM6bGluZTEsICdcU1wrPVxTXCsnLCAnJywgJ2cnKQorICAgIGxldCBzOmxpbmUxID0gc3Vic3RpdHV0ZShzOmxpbmUxLCAnXDxlbnZcc1wrJywgJycsICcnKQorICBlbmRpZgorCisgICIgR2V0IHRoZSBwcm9ncmFtIG5hbWUuCisgICIgT25seSBhY2NlcHQgc3BhY2VzIGluIFBDIHN0eWxlIHBhdGhzOiAiIyFjOi9wcm9ncmFtIGZpbGVzL3BlcmwgW2FyZ3NdIi4KKyAgIiBJZiB0aGUgd29yZCBlbnYgaXMgdXNlZCwgdXNlIHRoZSBmaXJzdCB3b3JkIGFmdGVyIHRoZSBzcGFjZToKKyAgIiAiIyEvdXNyL2Jpbi9lbnYgcGVybCBbcGF0aC9hcmdzXSIKKyAgIiBJZiB0aGVyZSBpcyBubyBwYXRoIHVzZSB0aGUgZmlyc3Qgd29yZDogIiMhcGVybCBbcGF0aC9hcmdzXSIuCisgICIgT3RoZXJ3aXNlIGdldCB0aGUgbGFzdCB3b3JkIGFmdGVyIGEgc2xhc2g6ICIjIS91c3IvYmluL3BlcmwgW3BhdGgvYXJnc10iLgorICBpZiBzOmxpbmUxID1+ICdeIyFccypcYTpbL1xcXScKKyAgICBsZXQgczpuYW1lID0gc3Vic3RpdHV0ZShzOmxpbmUxLCAnXiMhLipbL1xcXVwoXGlcK1wpLionLCAnXDEnLCAnJykKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ14jIS4qXDxlbnZcPicKKyAgICBsZXQgczpuYW1lID0gc3Vic3RpdHV0ZShzOmxpbmUxLCAnXiMhLipcPGVudlw+XHNcK1woXGlcK1wpLionLCAnXDEnLCAnJykKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ14jIVxzKlteL1xcIF0qXD5cKFteL1xcXVx8JFwpJworICAgIGxldCBzOm5hbWUgPSBzdWJzdGl0dXRlKHM6bGluZTEsICdeIyFccypcKFteL1xcIF0qXD5cKS4qJywgJ1wxJywgJycpCisgIGVsc2UKKyAgICBsZXQgczpuYW1lID0gc3Vic3RpdHV0ZShzOmxpbmUxLCAnXiMhXHMqXFMqWy9cXF1cKFxpXCtcKS4qJywgJ1wxJywgJycpCisgIGVuZGlmCisKKyAgIiB0Y2wgc2NyaXB0cyBtYXkgaGF2ZSAjIS9iaW4vc2ggaW4gdGhlIGZpcnN0IGxpbmUgYW5kICJleGVjIHdpc2giIGluIHRoZQorICAiIHRoaXJkIGxpbmUuICBTdWdnZXN0ZWQgYnkgU3RldmVuIEF0a2luc29uLgorICBpZiBnZXRsaW5lKDMpID1+ICdeZXhlYyB3aXNoJworICAgIGxldCBzOm5hbWUgPSAnd2lzaCcKKyAgZW5kaWYKKworICAiIEJvdXJuZS1saWtlIHNoZWxsIHNjcmlwdHM6IGJhc2ggYmFzaDIga3NoIGtzaDkzIHNoCisgIGlmIHM6bmFtZSA9fiAnXlwoYmFzaFxkKlx8XHxrc2hcZCpcfHNoXClcPicKKyAgICBjYWxsIFNldEZpbGVUeXBlU0goczpsaW5lMSkJIiBkZWZpbmVkIGluIGZpbGV0eXBlLnZpbQorCisgICAgIiBjc2ggc2NyaXB0cworICBlbHNlaWYgczpuYW1lID1+ICdeY3NoXD4nCisgICAgaWYgZXhpc3RzKCJnOmZpbGV0eXBlX2NzaCIpCisgICAgICBjYWxsIFNldEZpbGVUeXBlU2hlbGwoZzpmaWxldHlwZV9jc2gpCisgICAgZWxzZQorICAgICAgY2FsbCBTZXRGaWxlVHlwZVNoZWxsKCJjc2giKQorICAgIGVuZGlmCisKKyAgICAiIHRjc2ggc2NyaXB0cworICBlbHNlaWYgczpuYW1lID1+ICdedGNzaFw+JworICAgIGNhbGwgU2V0RmlsZVR5cGVTaGVsbCgidGNzaCIpCisKKyAgICAiIFogc2hlbGwgc2NyaXB0cworICBlbHNlaWYgczpuYW1lID1+ICdeenNoXD4nCisgICAgc2V0IGZ0PXpzaAorCisgICAgIiBUQ0wgc2NyaXB0cworICBlbHNlaWYgczpuYW1lID1+ICdeXCh0Y2xzaFx8d2lzaFx8ZXhwZWN0a1x8aXRjbHNoXHxpdGt3aXNoXClcPicKKyAgICBzZXQgZnQ9dGNsCisKKyAgICAiIEV4cGVjdCBzY3JpcHRzCisgIGVsc2VpZiBzOm5hbWUgPX4gJ15leHBlY3RcPicKKyAgICBzZXQgZnQ9ZXhwZWN0CisKKyAgICAiIEdudXBsb3Qgc2NyaXB0cworICBlbHNlaWYgczpuYW1lID1+ICdeZ251cGxvdFw+JworICAgIHNldCBmdD1nbnVwbG90CisKKyAgICAiIE1ha2VmaWxlcworICBlbHNlaWYgczpuYW1lID1+ICdtYWtlXD4nCisgICAgc2V0IGZ0PW1ha2UKKworICAgICIgTHVhCisgIGVsc2VpZiBzOm5hbWUgPX4gJ2x1YScKKyAgICBzZXQgZnQ9bHVhCisKKyAgICAiIFBlcmwKKyAgZWxzZWlmIHM6bmFtZSA9fiAncGVybCcKKyAgICBzZXQgZnQ9cGVybAorCisgICAgIiBQSFAKKyAgZWxzZWlmIHM6bmFtZSA9fiAncGhwJworICAgIHNldCBmdD1waHAKKworICAgICIgUHl0aG9uCisgIGVsc2VpZiBzOm5hbWUgPX4gJ3B5dGhvbicKKyAgICBzZXQgZnQ9cHl0aG9uCisKKyAgICAiIEdyb292eQorICBlbHNlaWYgczpuYW1lID1+ICdeZ3Jvb3Z5XD4nCisgICAgc2V0IGZ0PWdyb292eQorCisgICAgIiBSdWJ5CisgIGVsc2VpZiBzOm5hbWUgPX4gJ3J1YnknCisgICAgc2V0IGZ0PXJ1YnkKKworICAgICIgQkMgY2FsY3VsYXRvcgorICBlbHNlaWYgczpuYW1lID1+ICdeYmNcPicKKyAgICBzZXQgZnQ9YmMKKworICAgICIgc2VkCisgIGVsc2VpZiBzOm5hbWUgPX4gJ3NlZFw+JworICAgIHNldCBmdD1zZWQKKworICAgICIgT0NhbWwtc2NyaXB0cworICBlbHNlaWYgczpuYW1lID1+ICdvY2FtbCcKKyAgICBzZXQgZnQ9b2NhbWwKKworICAgICIgQXdrIHNjcmlwdHMKKyAgZWxzZWlmIHM6bmFtZSA9fiAnYXdrXD4nCisgICAgc2V0IGZ0PWF3aworCisgICAgIiBXZWJzaXRlIE1ldGFMYW5ndWFnZQorICBlbHNlaWYgczpuYW1lID1+ICd3bWwnCisgICAgc2V0IGZ0PXdtbAorCisgICAgIiBTY2hlbWUgc2NyaXB0cworICBlbHNlaWYgczpuYW1lID1+ICdzY2hlbWUnCisgICAgc2V0IGZ0PXNjaGVtZQorCisgICAgIiBDRkVuZ2luZSBzY3JpcHRzCisgIGVsc2VpZiBzOm5hbWUgPX4gJ2NmZW5naW5lJworICAgIHNldCBmdD1jZmVuZ2luZQorCisgIGVuZGlmCisgIHVubGV0IHM6bmFtZQorCitlbHNlCisgICIgRmlsZSBkb2VzIG5vdCBzdGFydCB3aXRoICIjISIuCisKKyAgbGV0IHM6bGluZTIgPSBnZXRsaW5lKDIpCisgIGxldCBzOmxpbmUzID0gZ2V0bGluZSgzKQorICBsZXQgczpsaW5lNCA9IGdldGxpbmUoNCkKKyAgbGV0IHM6bGluZTUgPSBnZXRsaW5lKDUpCisKKyAgIiBCb3VybmUtbGlrZSBzaGVsbCBzY3JpcHRzOiBzaCBrc2ggYmFzaCBiYXNoMgorICBpZiBzOmxpbmUxID1+ICdeOiQnCisgICAgY2FsbCBTZXRGaWxlVHlwZVNIKHM6bGluZTEpCSIgZGVmaW5lZCBpbiBmaWxldHlwZS52aW0KKworICAgICIgWiBzaGVsbCBzY3JpcHRzCisgIGVsc2VpZiBzOmxpbmUxID1+ICdeI2NvbXBkZWZcPicgfHwgczpsaW5lMSA9fiAnXiNhdXRvbG9hZFw+JworICAgIHNldCBmdD16c2gKKworICAiIEVMTSBNYWlsIGZpbGVzCisgIGVsc2VpZiBzOmxpbmUxID1+ICdeRnJvbSBbYS16QS1aXVthLXpBLVpfMC05XC49LV0qXChAW14gXSpcKVw9IC4qWzEyXVswOV1cZFxkJCcKKyAgICBzZXQgZnQ9bWFpbAorCisgICAgIiBNYXNvbgorICBlbHNlaWYgczpsaW5lMSA9fiAnXjxbJSZdLio+JworICAgIHNldCBmdD1tYXNvbgorCisgICAgIiBWaW0gc2NyaXB0cyAobXVzdCBoYXZlICciIHZpbScgYXMgdGhlIGZpcnN0IGxpbmUgdG8gdHJpZ2dlciB0aGlzKQorICBlbHNlaWYgczpsaW5lMSA9fiAnXiIgKlt2Vl1pbSQnCisgICAgc2V0IGZ0PXZpbQorCisgICAgIiBNT08KKyAgZWxzZWlmIHM6bGluZTEgPX4gJ15cKlwqIExhbWJkYU1PTyBEYXRhYmFzZSwgRm9ybWF0IFZlcnNpb24gXCUoWzEtM11cPlwpXEAhXGRcKyBcKlwqJCcKKyAgICBzZXQgZnQ9bW9vCisKKyAgICAiIERpZmYgZmlsZToKKyAgICAiIC0gImRpZmYiIGluIGZpcnN0IGxpbmUgKGNvbnRleHQgZGlmZikKKyAgICAiIC0gIk9ubHkgaW4gIiBpbiBmaXJzdCBsaW5lCisgICAgIiAtICItLS0gIiBpbiBmaXJzdCBsaW5lIGFuZCAiKysrICIgaW4gc2Vjb25kIGxpbmUgKHVuaWZpZWQgZGlmZikuCisgICAgIiAtICIqKiogIiBpbiBmaXJzdCBsaW5lIGFuZCAiLS0tICIgaW4gc2Vjb25kIGxpbmUgKGNvbnRleHQgZGlmZikuCisgICAgIiAtICIjIEl0IHdhcyBnZW5lcmF0ZWQgYnkgbWFrZXBhdGNoICIgaW4gdGhlIHNlY29uZCBsaW5lIChtYWtlcGF0Y2ggZGlmZikuCisgICAgIiAtICJJbmRleDogPGZpbGVuYW1lPiIgaW4gdGhlIGZpcnN0IGxpbmUgKENWUyBmaWxlKQorICAgICIgLSAiPT09ICIsIGxpbmUgb2YgIj0iLCAiLS0tIiwgIisrKyAiIChTVksgZGlmZikKKyAgICAiIC0gIj09PSAiLCAiLS0tICIsICIrKysgIiAoYnpyIGRpZmYsIGNvbW1vbiBjYXNlKQorICAgICIgLSAiPT09IChyZW1vdmVkfGFkZGVkfHJlbmFtZWR8bW9kaWZpZWQpIiAoYnpyIGRpZmYsIGFsdGVybmF0aXZlKQorICBlbHNlaWYgczpsaW5lMSA9fiAnXlwoZGlmZlw+XHxPbmx5IGluIFx8XGRcK1woLFxkXCtcKVw9W2NkYV1cZFwrXD5cfCMgSXQgd2FzIGdlbmVyYXRlZCBieSBtYWtlcGF0Y2ggXHxJbmRleDpcc1wrXGZcK1xyXD0kXHw9PT09PSBcZlwrIFxkXCtcLlxkXCsgdnMgZWRpdGVkXHw9PT09IC8vXGZcKyNcZFwrXCknCisJXCB8fCAoczpsaW5lMSA9fiAnXi0tLSAnICYmIHM6bGluZTIgPX4gJ14rKysgJykKKwlcIHx8IChzOmxpbmUxID1+ICdeXCogbG9va2luZyBmb3IgJyAmJiBzOmxpbmUyID1+ICdeXCogY29tcGFyaW5nIHRvICcpCisJXCB8fCAoczpsaW5lMSA9fiAnXlwqXCpcKiAnICYmIHM6bGluZTIgPX4gJ14tLS0gJykKKwlcIHx8IChzOmxpbmUxID1+ICdePT09ICcgJiYgKChzOmxpbmUyID1+ICdePVx7NjZcfScgJiYgczpsaW5lMyA9fiAnXi0tLSAnICYmIHM6bGluZTQgPX4gJ14rKysnKSB8fCAoczpsaW5lMiA9fiAnXi0tLSAnICYmIHM6bGluZTMgPX4gJ14rKysgJykpKQorCVwgfHwgKHM6bGluZTEgPX4gJ149PT0gXChyZW1vdmVkXHxhZGRlZFx8cmVuYW1lZFx8bW9kaWZpZWRcKScpCisgICAgc2V0IGZ0PWRpZmYKKworICAgICIgUG9zdFNjcmlwdCBGaWxlcyAobXVzdCBoYXZlICUhUFMgYXMgdGhlIGZpcnN0IGxpbmUsIGxpa2UgYTJwcyBvdXRwdXQpCisgIGVsc2VpZiBzOmxpbmUxID1+ICdeJSFbIFx0XSpQUycKKyAgICBzZXQgZnQ9cG9zdHNjcgorCisgICAgIiBNNCBzY3JpcHRzOiBHdWVzcyB0aGVyZSBpcyBhIGxpbmUgdGhhdCBzdGFydHMgd2l0aCAiZG5sIi4KKyAgZWxzZWlmIHM6bGluZTEgPX4gJ15ccypkbmxcPicKKwlcIHx8IHM6bGluZTIgPX4gJ15ccypkbmxcPicKKwlcIHx8IHM6bGluZTMgPX4gJ15ccypkbmxcPicKKwlcIHx8IHM6bGluZTQgPX4gJ15ccypkbmxcPicKKwlcIHx8IHM6bGluZTUgPX4gJ15ccypkbmxcPicKKyAgICBzZXQgZnQ9bTQKKworICAgICIgQW1pZ2FEb3Mgc2NyaXB0cworICBlbHNlaWYgJFRFUk0gPT0gImFtaWdhIgorCVwgJiYgKHM6bGluZTEgPX4gIl47IiB8fCBzOmxpbmUxID1+ICdeXC5bYkJdW3JSXVthQV0nKQorICAgIHNldCBmdD1hbWlnYQorCisgICAgIiBTaUNBRCBzY3JpcHRzIChtdXN0IGhhdmUgcHJvY24gb3IgcHJvY2QgYXMgdGhlIGZpcnN0IGxpbmUgdG8gdHJpZ2dlciB0aGlzKQorICBlbHNlaWYgczpsaW5lMSA9fj8gJ14gKnByb2NbbmRdICokJworICAgIHNldCBmdD1zaWNhZAorCisgICAgIiBQdXJpZnkgbG9nIGZpbGVzIHN0YXJ0IHdpdGggIioqKiogIFB1cmlmeSIKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ15cKlwqXCpcKiAgUHVyaWZ5JworICAgIHNldCBmdD1wdXJpZnlsb2cKKworICAgICIgWE1MCisgIGVsc2VpZiBzOmxpbmUxID1+ICc8P1xzKnhtbC4qPz4nCisgICAgc2V0IGZ0PXhtbAorCisgICAgIiBYSFRNTCAoZS5nLjogUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIpCisgIGVsc2VpZiBzOmxpbmUxID1+ICdcPERURFxzXCtYSFRNTFxzJworICAgIHNldCBmdD14aHRtbAorCisgICAgIiBQREYKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ14lUERGLScKKyAgICBzZXQgZnQ9cGRmCisKKyAgICAiIFhYRCBvdXRwdXQKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ15ceFx7N306IFx4XHsyfSBcPVx4XHsyfSBcPVx4XHsyfSBcPVx4XHsyfSAnCisgICAgc2V0IGZ0PXh4ZAorCisgICAgIiBSQ1MvQ1ZTIGxvZyBvdXRwdXQKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ15SQ1MgZmlsZTonIHx8IHM6bGluZTIgPX4gJ15SQ1MgZmlsZTonCisgICAgc2V0IGZ0PXJjc2xvZworCisgICAgIiBDVlMgY29tbWl0CisgIGVsc2VpZiBzOmxpbmUyID1+ICdeQ1ZTOicgfHwgZ2V0bGluZSgiJCIpID1+ICdeQ1ZTOiAnCisgICAgc2V0IGZ0PWN2cworCisgICAgIiBQcmVzY3JpYmUKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ14hUiEnCisgICAgc2V0IGZ0PXByZXNjcmliZQorCisgICAgIiBTZW5kLXByCisgIGVsc2VpZiBzOmxpbmUxID1+ICdeU0VORC1QUjonCisgICAgc2V0IGZ0PXNlbmRwcgorCisgICAgIiBTTk5TIGZpbGVzCisgIGVsc2VpZiBzOmxpbmUxID1+ICdeU05OUyBuZXR3b3JrIGRlZmluaXRpb24gZmlsZScKKyAgICBzZXQgZnQ9c25uc25ldAorICBlbHNlaWYgczpsaW5lMSA9fiAnXlNOTlMgcGF0dGVybiBkZWZpbml0aW9uIGZpbGUnCisgICAgc2V0IGZ0PXNubnNwYXQKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ15TTk5TIHJlc3VsdCBmaWxlJworICAgIHNldCBmdD1zbm5zcmVzCisKKyAgICAiIFZpcmF0YQorICBlbHNlaWYgczpsaW5lMSA9fiAnXiUuXHstfVtWdl1pcmF0YScKKwlcIHx8IHM6bGluZTIgPX4gJ14lLlx7LX1bVnZdaXJhdGEnCisJXCB8fCBzOmxpbmUzID1+ICdeJS5cey19W1Z2XWlyYXRhJworCVwgfHwgczpsaW5lNCA9fiAnXiUuXHstfVtWdl1pcmF0YScKKwlcIHx8IHM6bGluZTUgPX4gJ14lLlx7LX1bVnZdaXJhdGEnCisgICAgc2V0IGZ0PXZpcmF0YQorCisgICAgIiBTdHJhY2UKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ15bMC05XSogKmV4ZWN2ZSgnCisgICAgc2V0IGZ0PXN0cmFjZQorCisgICAgIiBWU0UgSkNMCisgIGVsc2VpZiBzOmxpbmUxID1+ICdeXCogJCQgSk9CXD4nIHx8IHM6bGluZTEgPX4gJ14vLyAqSk9CXD4nCisgICAgc2V0IGZ0PXZzZWpjbAorCisgICAgIiBUQUsgYW5kIFNJTkRBCisgIGVsc2VpZiBzOmxpbmU0ID1+ICdLICYgSyAgQXNzb2NpYXRlcycgfHwgczpsaW5lMiA9fiAnVEFLIDIwMDAnCisgICAgc2V0IGZ0PXRha291dAorICBlbHNlaWYgczpsaW5lMyA9fiAnUyBZIFMgVCBFIE0gUyAgIEkgTSBQIFIgTyBWIEUgRCAnCisgICAgc2V0IGZ0PXNpbmRhb3V0CisgIGVsc2VpZiBnZXRsaW5lKDYpID1+ICdSdW4gRGF0ZTogJworICAgIHNldCBmdD10YWtjbXAKKyAgZWxzZWlmIGdldGxpbmUoOSkgPX4gJ05vZGUgICAgRmlsZSAgMScKKyAgICBzZXQgZnQ9c2luZGFjbXAKKworICAgICIgRE5TIHpvbmUgZmlsZXMKKyAgZWxzZWlmIHM6bGluZTEuczpsaW5lMi5zOmxpbmUzLnM6bGluZTQgPX4gJ147IDw8Pj4gRGlHIFswLTkuXVwrIDw8Pj5cfEJJTkQuKm5hbWVkXHwkT1JJR0lOXHwkVFRMXHxJTlxzXCtTT0EnCisgICAgc2V0IGZ0PWJpbmR6b25lCisKKyAgICAiIEJBQU4KKyAgZWxzZWlmIHM6bGluZTEgPX4gJ3xcKlx7MSw4MH0nICYmIHM6bGluZTIgPX4gJ1ZSQyAnCisJXCB8fCBzOmxpbmUyID1+ICd8XCpcezEsODB9JyAmJiBzOmxpbmUzID1+ICdWUkMgJworICAgIHNldCBmdD1iYWFuCisKKyAgIiBWYWxncmluZAorICBlbHNlaWYgczpsaW5lMSA9fiAnXj09XGRcKz09IHZhbGdyaW5kJyB8fCBzOmxpbmUzID1+ICdePT1cZFwrPT0gVXNpbmcgdmFsZ3JpbmQnCisgICAgc2V0IGZ0PXZhbGdyaW5kCisKKyAgIiBSZW5kZXJtYW4gSW50ZXJmYWNlIEJ5dGVzdHJlYW0KKyAgZWxzZWlmIHM6bGluZTEgPX4gJ14jI1JlbmRlck1hbicKKyAgICBzZXQgZnQ9cmliCisKKyAgIiBTY2hlbWUgc2NyaXB0cworICBlbHNlaWYgczpsaW5lMSA9fiAnZXhlY1xzXCtcUypzY2hlbWUnIHx8IHM6bGluZTIgPX4gJ2V4ZWNcc1wrXFMqc2NoZW1lJworICAgIHNldCBmdD1zY2hlbWUKKworICAiIEdpdCBvdXRwdXQKKyAgZWxzZWlmIHM6bGluZTEgPX4gJ15cKGNvbW1pdFx8dHJlZVx8b2JqZWN0XCkgXHhcezQwXH0kXHxedGFnIFxTXCskJworICAgIHNldCBmdD1naXQKKworICAiIENWUyBkaWZmCisgIGVsc2UKKyAgICBsZXQgbG51bSA9IDEKKyAgICB3aGlsZSBnZXRsaW5lKGxudW0pID1+ICJePyAiICYmIGxudW0gPCBsaW5lKCIkIikKKyAgICAgIGxldCBsbnVtID0gbG51bSArIDEKKyAgICBlbmR3aGlsZQorICAgIGlmIGdldGxpbmUobG51bSkgPX4gJ15JbmRleDpcc1wrXGZcKyQnCisgICAgICBzZXQgZnQ9ZGlmZgorCisgICAgICAiIGxvY2FsZSBpbnB1dCBmaWxlczogRm9ybWFsIERlZmluaXRpb25zIG9mIEN1bHR1cmFsIENvbnZlbnRpb25zCisgICAgICAiIGZpbGVuYW1lIG11c3QgYmUgbGlrZSBlbl9VUywgZnJfRlJAZXVybyBvciBlbl9VUy5VVEYtOAorICAgIGVsc2VpZiBleHBhbmQoIiUiKSA9fiAnXGFcYV9cYVxhXCgkXHxbLkBdXClcfGkxOG4kXHxQT1NJWCRcfHRyYW5zbGl0XycKKyAgICAgIGxldCBsbnVtID0gMQorICAgICAgd2hpbGUgbG51bSA8IDEwMCAmJiBsbnVtIDwgbGluZSgiJCIpCisJaWYgZ2V0bGluZShsbnVtKSA9fiAnXkxDX1woSURFTlRJRklDQVRJT05cfENUWVBFXHxDT0xMQVRFXHxNT05FVEFSWVx8TlVNRVJJQ1x8VElNRVx8TUVTU0FHRVNcfFBBUEVSXHxURUxFUEhPTkVcfE1FQVNVUkVNRU5UXHxOQU1FXHxBRERSRVNTXCkkJworCSAgc2V0ZiBmZGNjCisJICBicmVhaworCWVuZGlmCisJbGV0IGxudW0gPSBsbnVtICsgMQorICAgICAgZW5kd2hpbGUKKyAgICBlbmRpZgorCisgIGVuZGlmCisKKyAgdW5sZXQgczpsaW5lMiBzOmxpbmUzIHM6bGluZTQgczpsaW5lNQorCitlbmRpZgorCisiIFJlc3RvcmUgJ2Nwb3B0aW9ucycKK2xldCAmY3BvID0gczpjcG9fc2F2ZQorCit1bmxldCBzOmNwb19zYXZlIHM6bGluZTEKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvcnVudGltZS9zeW5tZW51LnZpbSBiL3J1bnRpbWUvdHV0b3IvcnVudGltZS9zeW5tZW51LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGE4NDFlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci9ydW50aW1lL3N5bm1lbnUudmltCkBAIC0wLDAgKzEsNTY5IEBACisiIFZpbSBzdXBwb3J0IGZpbGUgdG8gZGVmaW5lIHRoZSBzeW50YXggc2VsZWN0aW9uIG1lbnUKKyIgVGhpcyBmaWxlIGlzIG5vcm1hbGx5IHNvdXJjZWQgZnJvbSBtZW51LnZpbS4KKyIKKyIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDYgQXByIDI3CisKKyIgRGVmaW5lIHRoZSBTZXRTeW4gZnVuY3Rpb24sIHVzZWQgZm9yIHRoZSBTeW50YXggbWVudSBlbnRyaWVzLgorIiBTZXQgJ2ZpbGV0eXBlJyBhbmQgYWxzbyAnc3ludGF4JyBpZiBpdCBpcyBtYW51YWxseSBzZWxlY3RlZC4KK2Z1biEgU2V0U3luKG5hbWUpCisgIGlmIGE6bmFtZSA9PSAiZnZ3bTEiCisgICAgbGV0IHVzZV9mdndtXzEgPSAxCisgICAgbGV0IHVzZV9mdndtXzIgPSAwCisgICAgbGV0IG5hbWUgPSAiZnZ3bSIKKyAgZWxzZWlmIGE6bmFtZSA9PSAiZnZ3bTIiCisgICAgbGV0IHVzZV9mdndtXzIgPSAxCisgICAgbGV0IHVzZV9mdndtXzEgPSAwCisgICAgbGV0IG5hbWUgPSAiZnZ3bSIKKyAgZWxzZQorICAgIGxldCBuYW1lID0gYTpuYW1lCisgIGVuZGlmCisgIGlmICFleGlzdHMoInM6c3ludGF4X21lbnVfc3lub25seSIpCisgICAgZXhlICJzZXQgZnQ9IiAuIG5hbWUKKyAgICBpZiBleGlzdHMoImc6c3ludGF4X21hbnVhbCIpCisgICAgICBleGUgInNldCBzeW49IiAuIG5hbWUKKyAgICBlbmRpZgorICBlbHNlCisgICAgZXhlICJzZXQgc3luPSIgLiBuYW1lCisgIGVuZGlmCitlbmRmdW4KKworIiA8PiBub3RhdGlvbiBpcyB1c2VkIGhlcmUsIHJlbW92ZSAnPCcgZnJvbSAnY3BvcHRpb25zJworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCisiIFRoZSBmb2xsb3dpbmcgbWVudSBpdGVtcyBhcmUgZ2VuZXJhdGVkIGJ5IG1ha2VtZW51LnZpbS4KKyIgVGhlIFN0YXJ0IE9mIFRoZSBTeW50YXggTWVudQorCithbiA1MC4xMC4xMDAgJlN5bnRheC5BQi5BMnBzXCBjb25maWcgOmNhbCBTZXRTeW4oImEycHMiKTxDUj4KK2FuIDUwLjEwLjExMCAmU3ludGF4LkFCLkFhcCA6Y2FsIFNldFN5bigiYWFwIik8Q1I+CithbiA1MC4xMC4xMjAgJlN5bnRheC5BQi5BQkFQLzQgOmNhbCBTZXRTeW4oImFiYXAiKTxDUj4KK2FuIDUwLjEwLjEzMCAmU3ludGF4LkFCLkFiYXF1cyA6Y2FsIFNldFN5bigiYWJhcXVzIik8Q1I+CithbiA1MC4xMC4xNDAgJlN5bnRheC5BQi5BQkNcIG11c2ljXCBub3RhdGlvbiA6Y2FsIFNldFN5bigiYWJjIik8Q1I+CithbiA1MC4xMC4xNTAgJlN5bnRheC5BQi5BQkVMIDpjYWwgU2V0U3luKCJhYmVsIik8Q1I+CithbiA1MC4xMC4xNjAgJlN5bnRheC5BQi5BY2VEQlwgbW9kZWwgOmNhbCBTZXRTeW4oImFjZWRiIik8Q1I+CithbiA1MC4xMC4xNzAgJlN5bnRheC5BQi5BZGEgOmNhbCBTZXRTeW4oImFkYSIpPENSPgorYW4gNTAuMTAuMTgwICZTeW50YXguQUIuQWZMZXggOmNhbCBTZXRTeW4oImFmbGV4Iik8Q1I+CithbiA1MC4xMC4xOTAgJlN5bnRheC5BQi5BTFNBXCBjb25maWcgOmNhbCBTZXRTeW4oImFsc2Fjb25mIik8Q1I+CithbiA1MC4xMC4yMDAgJlN5bnRheC5BQi5BbHRlcmFcIEFIREwgOmNhbCBTZXRTeW4oImFoZGwiKTxDUj4KK2FuIDUwLjEwLjIxMCAmU3ludGF4LkFCLkFtaWdhXCBET1MgOmNhbCBTZXRTeW4oImFtaWdhIik8Q1I+CithbiA1MC4xMC4yMjAgJlN5bnRheC5BQi5BTVBMIDpjYWwgU2V0U3luKCJhbXBsIik8Q1I+CithbiA1MC4xMC4yMzAgJlN5bnRheC5BQi5BbnRcIGJ1aWxkXCBmaWxlIDpjYWwgU2V0U3luKCJhbnQiKTxDUj4KK2FuIDUwLjEwLjI0MCAmU3ludGF4LkFCLkFOVExSIDpjYWwgU2V0U3luKCJhbnRsciIpPENSPgorYW4gNTAuMTAuMjUwICZTeW50YXguQUIuQXBhY2hlXCBjb25maWcgOmNhbCBTZXRTeW4oImFwYWNoZSIpPENSPgorYW4gNTAuMTAuMjYwICZTeW50YXguQUIuQXBhY2hlLXN0eWxlXCBjb25maWcgOmNhbCBTZXRTeW4oImFwYWNoZXN0eWxlIik8Q1I+CithbiA1MC4xMC4yNzAgJlN5bnRheC5BQi5BcHBsaXhcIEVMRiA6Y2FsIFNldFN5bigiZWxmIik8Q1I+CithbiA1MC4xMC4yODAgJlN5bnRheC5BQi5BcmNcIE1hY3JvXCBMYW5ndWFnZSA6Y2FsIFNldFN5bigiYW1sIik8Q1I+CithbiA1MC4xMC4yOTAgJlN5bnRheC5BQi5BcmNoXCBpbnZlbnRvcnkgOmNhbCBTZXRTeW4oImFyY2giKTxDUj4KK2FuIDUwLjEwLjMwMCAmU3ludGF4LkFCLkFSVCA6Y2FsIFNldFN5bigiYXJ0Iik8Q1I+CithbiA1MC4xMC4zMTAgJlN5bnRheC5BQi5BU1BcIHdpdGhcIFZCU2NyaXB0IDpjYWwgU2V0U3luKCJhc3B2YnMiKTxDUj4KK2FuIDUwLjEwLjMyMCAmU3ludGF4LkFCLkFTUFwgd2l0aFwgUGVybCA6Y2FsIFNldFN5bigiYXNwcGVybCIpPENSPgorYW4gNTAuMTAuMzMwICZTeW50YXguQUIuQXNzZW1ibHkuNjgweDAgOmNhbCBTZXRTeW4oImFzbTY4ayIpPENSPgorYW4gNTAuMTAuMzQwICZTeW50YXguQUIuQXNzZW1ibHkuRmxhdCA6Y2FsIFNldFN5bigiZmFzbSIpPENSPgorYW4gNTAuMTAuMzUwICZTeW50YXguQUIuQXNzZW1ibHkuR05VIDpjYWwgU2V0U3luKCJhc20iKTxDUj4KK2FuIDUwLjEwLjM2MCAmU3ludGF4LkFCLkFzc2VtYmx5LkdOVVwgSC04MzAwIDpjYWwgU2V0U3luKCJhc21oODMwMCIpPENSPgorYW4gNTAuMTAuMzcwICZTeW50YXguQUIuQXNzZW1ibHkuSW50ZWxcIElBLTY0IDpjYWwgU2V0U3luKCJpYTY0Iik8Q1I+CithbiA1MC4xMC4zODAgJlN5bnRheC5BQi5Bc3NlbWJseS5NaWNyb3NvZnQgOmNhbCBTZXRTeW4oIm1hc20iKTxDUj4KK2FuIDUwLjEwLjM5MCAmU3ludGF4LkFCLkFzc2VtYmx5Lk5ldHdpZGUgOmNhbCBTZXRTeW4oIm5hc20iKTxDUj4KK2FuIDUwLjEwLjQwMCAmU3ludGF4LkFCLkFzc2VtYmx5LlBJQyA6Y2FsIFNldFN5bigicGljIik8Q1I+CithbiA1MC4xMC40MTAgJlN5bnRheC5BQi5Bc3NlbWJseS5UdXJibyA6Y2FsIFNldFN5bigidGFzbSIpPENSPgorYW4gNTAuMTAuNDIwICZTeW50YXguQUIuQXNzZW1ibHkuVkFYXCBNYWNyb1wgQXNzZW1ibHkgOmNhbCBTZXRTeW4oInZtYXNtIik8Q1I+CithbiA1MC4xMC40MzAgJlN5bnRheC5BQi5Bc3NlbWJseS5aLTgwIDpjYWwgU2V0U3luKCJ6OGEiKTxDUj4KK2FuIDUwLjEwLjQ0MCAmU3ludGF4LkFCLkFzc2VtYmx5LnhhXCA2NTAyXCBjcm9zc1wgYXNzZW1iZXIgOmNhbCBTZXRTeW4oImE2NSIpPENSPgorYW4gNTAuMTAuNDUwICZTeW50YXguQUIuQVNOXC4xIDpjYWwgU2V0U3luKCJhc24iKTxDUj4KK2FuIDUwLjEwLjQ2MCAmU3ludGF4LkFCLkFzdGVyaXNrXCBjb25maWcgOmNhbCBTZXRTeW4oImFzdGVyaXNrIik8Q1I+CithbiA1MC4xMC40NzAgJlN5bnRheC5BQi5Bc3Rlcmlza1wgdm9pY2VtYWlsXCBjb25maWcgOmNhbCBTZXRTeW4oImFzdGVyaXNrdm0iKTxDUj4KK2FuIDUwLjEwLjQ4MCAmU3ludGF4LkFCLkF0bGFzIDpjYWwgU2V0U3luKCJhdGxhcyIpPENSPgorYW4gNTAuMTAuNDkwICZTeW50YXguQUIuQXV0b0hvdEtleSA6Y2FsIFNldFN5bigiYXV0b2hvdGtleSIpPENSPgorYW4gNTAuMTAuNTAwICZTeW50YXguQUIuQXV0b0l0IDpjYWwgU2V0U3luKCJhdXRvaXQiKTxDUj4KK2FuIDUwLjEwLjUxMCAmU3ludGF4LkFCLkF1dG9tYWtlIDpjYWwgU2V0U3luKCJhdXRvbWFrZSIpPENSPgorYW4gNTAuMTAuNTIwICZTeW50YXguQUIuQXZlbnVlIDpjYWwgU2V0U3luKCJhdmUiKTxDUj4KK2FuIDUwLjEwLjUzMCAmU3ludGF4LkFCLkF3ayA6Y2FsIFNldFN5bigiYXdrIik8Q1I+CithbiA1MC4xMC41NDAgJlN5bnRheC5BQi5BWWFjYyA6Y2FsIFNldFN5bigiYXlhY2MiKTxDUj4KK2FuIDUwLjEwLjU2MCAmU3ludGF4LkFCLkIgOmNhbCBTZXRTeW4oImIiKTxDUj4KK2FuIDUwLjEwLjU3MCAmU3ludGF4LkFCLkJhYW4gOmNhbCBTZXRTeW4oImJhYW4iKTxDUj4KK2FuIDUwLjEwLjU4MCAmU3ludGF4LkFCLkJhc2ljLkZyZWVCYXNpYyA6Y2FsIFNldFN5bigiZnJlZWJhc2ljIik8Q1I+CithbiA1MC4xMC41OTAgJlN5bnRheC5BQi5CYXNpYy5JQmFzaWMgOmNhbCBTZXRTeW4oImliYXNpYyIpPENSPgorYW4gNTAuMTAuNjAwICZTeW50YXguQUIuQmFzaWMuUUJhc2ljIDpjYWwgU2V0U3luKCJiYXNpYyIpPENSPgorYW4gNTAuMTAuNjEwICZTeW50YXguQUIuQmFzaWMuVmlzdWFsXCBCYXNpYyA6Y2FsIFNldFN5bigidmIiKTxDUj4KK2FuIDUwLjEwLjYyMCAmU3ludGF4LkFCLkJhemFhclwgY29tbWl0XCBmaWxlIDpjYWwgU2V0U3luKCJienIiKTxDUj4KK2FuIDUwLjEwLjYzMCAmU3ludGF4LkFCLkJDXCBjYWxjdWxhdG9yIDpjYWwgU2V0U3luKCJiYyIpPENSPgorYW4gNTAuMTAuNjQwICZTeW50YXguQUIuQkRGXCBmb250IDpjYWwgU2V0U3luKCJiZGYiKTxDUj4KK2FuIDUwLjEwLjY1MCAmU3ludGF4LkFCLkJpYlRlWC5CaWJsaW9ncmFwaHlcIGRhdGFiYXNlIDpjYWwgU2V0U3luKCJiaWIiKTxDUj4KK2FuIDUwLjEwLjY2MCAmU3ludGF4LkFCLkJpYlRlWC5CaWJsaW9ncmFwaHlcIFN0eWxlIDpjYWwgU2V0U3luKCJic3QiKTxDUj4KK2FuIDUwLjEwLjY3MCAmU3ludGF4LkFCLkJJTkQuQklORFwgY29uZmlnIDpjYWwgU2V0U3luKCJuYW1lZCIpPENSPgorYW4gNTAuMTAuNjgwICZTeW50YXguQUIuQklORC5CSU5EXCB6b25lIDpjYWwgU2V0U3luKCJiaW5kem9uZSIpPENSPgorYW4gNTAuMTAuNjkwICZTeW50YXguQUIuQmxhbmsgOmNhbCBTZXRTeW4oImJsYW5rIik8Q1I+CithbiA1MC4yMC4xMDAgJlN5bnRheC5DLkMgOmNhbCBTZXRTeW4oImMiKTxDUj4KK2FuIDUwLjIwLjExMCAmU3ludGF4LkMuQysrIDpjYWwgU2V0U3luKCJjcHAiKTxDUj4KK2FuIDUwLjIwLjEyMCAmU3ludGF4LkMuQyMgOmNhbCBTZXRTeW4oImNzIik8Q1I+CithbiA1MC4yMC4xMzAgJlN5bnRheC5DLkNhbGVuZGFyIDpjYWwgU2V0U3luKCJjYWxlbmRhciIpPENSPgorYW4gNTAuMjAuMTQwICZTeW50YXguQy5DYXNjYWRpbmdcIFN0eWxlXCBTaGVldHMgOmNhbCBTZXRTeW4oImNzcyIpPENSPgorYW4gNTAuMjAuMTUwICZTeW50YXguQy5DREwgOmNhbCBTZXRTeW4oImNkbCIpPENSPgorYW4gNTAuMjAuMTYwICZTeW50YXguQy5DZHJkYW9cIFRPQyA6Y2FsIFNldFN5bigiY2RydG9jIik8Q1I+CithbiA1MC4yMC4xNzAgJlN5bnRheC5DLkNkcmRhb1wgY29uZmlnIDpjYWwgU2V0U3luKCJjZHJkYW9jb25mIik8Q1I+CithbiA1MC4yMC4xODAgJlN5bnRheC5DLkNlbnR1cnlcIFRlcm0gOmNhbCBTZXRTeW4oImN0ZXJtIik8Q1I+CithbiA1MC4yMC4xOTAgJlN5bnRheC5DLkNIXCBzY3JpcHQgOmNhbCBTZXRTeW4oImNoIik8Q1I+CithbiA1MC4yMC4yMDAgJlN5bnRheC5DLkNoYW5nZUxvZyA6Y2FsIFNldFN5bigiY2hhbmdlbG9nIik8Q1I+CithbiA1MC4yMC4yMTAgJlN5bnRheC5DLkNoZWV0YWhcIHRlbXBsYXRlIDpjYWwgU2V0U3luKCJjaGVldGFoIik8Q1I+CithbiA1MC4yMC4yMjAgJlN5bnRheC5DLkNISUxMIDpjYWwgU2V0U3luKCJjaGlsbCIpPENSPgorYW4gNTAuMjAuMjMwICZTeW50YXguQy5DaG9yZFBybyA6Y2FsIFNldFN5bigiY2hvcmRwcm8iKTxDUj4KK2FuIDUwLjIwLjI0MCAmU3ludGF4LkMuQ2xlYW4gOmNhbCBTZXRTeW4oImNsZWFuIik8Q1I+CithbiA1MC4yMC4yNTAgJlN5bnRheC5DLkNsZXZlciA6Y2FsIFNldFN5bigiY2wiKTxDUj4KK2FuIDUwLjIwLjI2MCAmU3ludGF4LkMuQ2xpcHBlciA6Y2FsIFNldFN5bigiY2xpcHBlciIpPENSPgorYW4gNTAuMjAuMjcwICZTeW50YXguQy5DbWFrZSA6Y2FsIFNldFN5bigiY21ha2UiKTxDUj4KK2FuIDUwLjIwLjI4MCAmU3ludGF4LkMuQ211c3JjIDpjYWwgU2V0U3luKCJjbXVzcmMiKTxDUj4KK2FuIDUwLjIwLjI5MCAmU3ludGF4LkMuQ29ib2wgOmNhbCBTZXRTeW4oImNvYm9sIik8Q1I+CithbiA1MC4yMC4zMDAgJlN5bnRheC5DLkNvY28vUiA6Y2FsIFNldFN5bigiY29jbyIpPENSPgorYW4gNTAuMjAuMzEwICZTeW50YXguQy5Db2xkXCBGdXNpb24gOmNhbCBTZXRTeW4oImNmIik8Q1I+CithbiA1MC4yMC4zMjAgJlN5bnRheC5DLkNvbmFyeVwgUmVjaXBlIDpjYWwgU2V0U3luKCJjb25hcnlyZWNpcGUiKTxDUj4KK2FuIDUwLjIwLjMzMCAmU3ludGF4LkMuQ29uZmlnLkNmZ1wgQ29uZmlnXCBmaWxlIDpjYWwgU2V0U3luKCJjZmciKTxDUj4KK2FuIDUwLjIwLjM0MCAmU3ludGF4LkMuQ29uZmlnLkNvbmZpZ3VyZVwuaW4gOmNhbCBTZXRTeW4oImNvbmZpZyIpPENSPgorYW4gNTAuMjAuMzUwICZTeW50YXguQy5Db25maWcuR2VuZXJpY1wgQ29uZmlnXCBmaWxlIDpjYWwgU2V0U3luKCJjb25mIik8Q1I+CithbiA1MC4yMC4zNjAgJlN5bnRheC5DLkNSTTExNCA6Y2FsIFNldFN5bigiY3JtIik8Q1I+CithbiA1MC4yMC4zNzAgJlN5bnRheC5DLkNyb250YWIgOmNhbCBTZXRTeW4oImNyb250YWIiKTxDUj4KK2FuIDUwLjIwLjM4MCAmU3ludGF4LkMuQ1NQIDpjYWwgU2V0U3luKCJjc3AiKTxDUj4KK2FuIDUwLjIwLjM5MCAmU3ludGF4LkMuQ3RybC1IIDpjYWwgU2V0U3luKCJjdHJsaCIpPENSPgorYW4gNTAuMjAuNDAwICZTeW50YXguQy5DVURBIDpjYWwgU2V0U3luKCJjdWRhIik8Q1I+CithbiA1MC4yMC40MTAgJlN5bnRheC5DLkNVUEwuQ1VQTCA6Y2FsIFNldFN5bigiY3VwbCIpPENSPgorYW4gNTAuMjAuNDIwICZTeW50YXguQy5DVVBMLlNpbXVsYXRpb24gOmNhbCBTZXRTeW4oImN1cGxzaW0iKTxDUj4KK2FuIDUwLjIwLjQzMCAmU3ludGF4LkMuQ1ZTLmNvbW1pdFwgZmlsZSA6Y2FsIFNldFN5bigiY3ZzIik8Q1I+CithbiA1MC4yMC40NDAgJlN5bnRheC5DLkNWUy5jdnNyYyA6Y2FsIFNldFN5bigiY3ZzcmMiKTxDUj4KK2FuIDUwLjIwLjQ1MCAmU3ludGF4LkMuQ3luKysgOmNhbCBTZXRTeW4oImN5bnBwIik8Q1I+CithbiA1MC4yMC40NjAgJlN5bnRheC5DLkN5bmxpYiA6Y2FsIFNldFN5bigiY3lubGliIik8Q1I+CithbiA1MC4zMC4xMDAgJlN5bnRheC5ERS5EIDpjYWwgU2V0U3luKCJkIik8Q1I+CithbiA1MC4zMC4xMTAgJlN5bnRheC5ERS5EZWJpYW4uRGViaWFuXCBDaGFuZ2VMb2cgOmNhbCBTZXRTeW4oImRlYmNoYW5nZWxvZyIpPENSPgorYW4gNTAuMzAuMTIwICZTeW50YXguREUuRGViaWFuLkRlYmlhblwgQ29udHJvbCA6Y2FsIFNldFN5bigiZGViY29udHJvbCIpPENSPgorYW4gNTAuMzAuMTMwICZTeW50YXguREUuRGViaWFuLkRlYmlhblwgU291cmNlc1wubGlzdCA6Y2FsIFNldFN5bigiZGVic291cmNlcyIpPENSPgorYW4gNTAuMzAuMTQwICZTeW50YXguREUuRGVueWhvc3RzIDpjYWwgU2V0U3luKCJkZW55aG9zdHMiKTxDUj4KK2FuIDUwLjMwLjE1MCAmU3ludGF4LkRFLkRlc2t0b3AgOmNhbCBTZXRTeW4oImRlc2t0b3AiKTxDUj4KK2FuIDUwLjMwLjE2MCAmU3ludGF4LkRFLkRpY3RcIGNvbmZpZyA6Y2FsIFNldFN5bigiZGljdGNvbmYiKTxDUj4KK2FuIDUwLjMwLjE3MCAmU3ludGF4LkRFLkRpY3RkXCBjb25maWcgOmNhbCBTZXRTeW4oImRpY3RkY29uZiIpPENSPgorYW4gNTAuMzAuMTgwICZTeW50YXguREUuRGlmZiA6Y2FsIFNldFN5bigiZGlmZiIpPENSPgorYW4gNTAuMzAuMTkwICZTeW50YXguREUuRGlnaXRhbFwgQ29tbWFuZFwgTGFuZyA6Y2FsIFNldFN5bigiZGNsIik8Q1I+CithbiA1MC4zMC4yMDAgJlN5bnRheC5ERS5EaXJjb2xvcnMgOmNhbCBTZXRTeW4oImRpcmNvbG9ycyIpPENSPgorYW4gNTAuMzAuMjEwICZTeW50YXguREUuRGphbmdvXCB0ZW1wbGF0ZSA6Y2FsIFNldFN5bigiZGphbmdvIik8Q1I+CithbiA1MC4zMC4yMjAgJlN5bnRheC5ERS5ETlMvQklORFwgem9uZSA6Y2FsIFNldFN5bigiYmluZHpvbmUiKTxDUj4KK2FuIDUwLjMwLjIzMCAmU3ludGF4LkRFLkRvY0Jvb2suYXV0by1kZXRlY3QgOmNhbCBTZXRTeW4oImRvY2JrIik8Q1I+CithbiA1MC4zMC4yNDAgJlN5bnRheC5ERS5Eb2NCb29rLlNHTUwgOmNhbCBTZXRTeW4oImRvY2Jrc2dtbCIpPENSPgorYW4gNTAuMzAuMjUwICZTeW50YXguREUuRG9jQm9vay5YTUwgOmNhbCBTZXRTeW4oImRvY2JreG1sIik8Q1I+CithbiA1MC4zMC4yNjAgJlN5bnRheC5ERS5Eb3QgOmNhbCBTZXRTeW4oImRvdCIpPENSPgorYW4gNTAuMzAuMjcwICZTeW50YXguREUuRG94eWdlbi5DXCB3aXRoXCBkb3h5Z2VuIDpjYWwgU2V0U3luKCJjLmRveHlnZW4iKTxDUj4KK2FuIDUwLjMwLjI4MCAmU3ludGF4LkRFLkRveHlnZW4uQysrXCB3aXRoXCBkb3h5Z2VuIDpjYWwgU2V0U3luKCJjcHAuZG94eWdlbiIpPENSPgorYW4gNTAuMzAuMjkwICZTeW50YXguREUuRG94eWdlbi5JRExcIHdpdGhcIGRveHlnZW4gOmNhbCBTZXRTeW4oImlkbC5kb3h5Z2VuIik8Q1I+CithbiA1MC4zMC4zMDAgJlN5bnRheC5ERS5Eb3h5Z2VuLkphdmFcIHdpdGhcIGRveHlnZW4gOmNhbCBTZXRTeW4oImphdmEuZG94eWdlbiIpPENSPgorYW4gNTAuMzAuMzEwICZTeW50YXguREUuRHJhY3VsYSA6Y2FsIFNldFN5bigiZHJhY3VsYSIpPENSPgorYW4gNTAuMzAuMzIwICZTeW50YXguREUuRFNTU0wgOmNhbCBTZXRTeW4oImRzbCIpPENSPgorYW4gNTAuMzAuMzMwICZTeW50YXguREUuRFREIDpjYWwgU2V0U3luKCJkdGQiKTxDUj4KK2FuIDUwLjMwLjM0MCAmU3ludGF4LkRFLkRUTUxcIChab3BlKSA6Y2FsIFNldFN5bigiZHRtbCIpPENSPgorYW4gNTAuMzAuMzUwICZTeW50YXguREUuRFRyYWNlIDpjYWwgU2V0U3luKCJkdHJhY2UiKTxDUj4KK2FuIDUwLjMwLjM2MCAmU3ludGF4LkRFLkR5bGFuLkR5bGFuIDpjYWwgU2V0U3luKCJkeWxhbiIpPENSPgorYW4gNTAuMzAuMzcwICZTeW50YXguREUuRHlsYW4uRHlsYW5cIGludGVyZmFjZSA6Y2FsIFNldFN5bigiZHlsYW5pbnRyIik8Q1I+CithbiA1MC4zMC4zODAgJlN5bnRheC5ERS5EeWxhbi5EeWxhblwgbGlkIDpjYWwgU2V0U3luKCJkeWxhbmxpZCIpPENSPgorYW4gNTAuMzAuNDAwICZTeW50YXguREUuRURJRiA6Y2FsIFNldFN5bigiZWRpZiIpPENSPgorYW4gNTAuMzAuNDEwICZTeW50YXguREUuRWlmZmVsIDpjYWwgU2V0U3luKCJlaWZmZWwiKTxDUj4KK2FuIDUwLjMwLjQyMCAmU3ludGF4LkRFLkVsaW5rc1wgY29uZmlnIDpjYWwgU2V0U3luKCJlbGlua3MiKTxDUj4KK2FuIDUwLjMwLjQzMCAmU3ludGF4LkRFLkVsbVwgZmlsdGVyXCBydWxlcyA6Y2FsIFNldFN5bigiZWxtZmlsdCIpPENSPgorYW4gNTAuMzAuNDQwICZTeW50YXguREUuRW1iZWRpeFwgQ29tcG9uZW50XCBEZXNjcmlwdGlvbiA6Y2FsIFNldFN5bigiZWNkIik8Q1I+CithbiA1MC4zMC40NTAgJlN5bnRheC5ERS5FUmljc3NvblwgTEFOR3VhZ2UgOmNhbCBTZXRTeW4oImVybGFuZyIpPENSPgorYW4gNTAuMzAuNDYwICZTeW50YXguREUuRVNNVFBcIHJjIDpjYWwgU2V0U3luKCJlc210cHJjIik8Q1I+CithbiA1MC4zMC40NzAgJlN5bnRheC5ERS5FU1FMLUMgOmNhbCBTZXRTeW4oImVzcWxjIik8Q1I+CithbiA1MC4zMC40ODAgJlN5bnRheC5ERS5Fc3NiYXNlXCBzY3JpcHQgOmNhbCBTZXRTeW4oImNzYyIpPENSPgorYW4gNTAuMzAuNDkwICZTeW50YXguREUuRXN0ZXJlbCA6Y2FsIFNldFN5bigiZXN0ZXJlbCIpPENSPgorYW4gNTAuMzAuNTAwICZTeW50YXguREUuRXRlcm1cIGNvbmZpZyA6Y2FsIFNldFN5bigiZXRlcm0iKTxDUj4KK2FuIDUwLjMwLjUxMCAmU3ludGF4LkRFLkV2aWV3cyA6Y2FsIFNldFN5bigiZXZpZXdzIik8Q1I+CithbiA1MC4zMC41MjAgJlN5bnRheC5ERS5FeGltXCBjb25mIDpjYWwgU2V0U3luKCJleGltIik8Q1I+CithbiA1MC4zMC41MzAgJlN5bnRheC5ERS5FeHBlY3QgOmNhbCBTZXRTeW4oImV4cGVjdCIpPENSPgorYW4gNTAuMzAuNTQwICZTeW50YXguREUuRXhwb3J0cyA6Y2FsIFNldFN5bigiZXhwb3J0cyIpPENSPgorYW4gNTAuNDAuMTAwICZTeW50YXguRkcuRmV0Y2htYWlsIDpjYWwgU2V0U3luKCJmZXRjaG1haWwiKTxDUj4KK2FuIDUwLjQwLjExMCAmU3ludGF4LkZHLkZsZXhXaWtpIDpjYWwgU2V0U3luKCJmbGV4d2lraSIpPENSPgorYW4gNTAuNDAuMTIwICZTeW50YXguRkcuRm9jdXNcIEV4ZWN1dGFibGUgOmNhbCBTZXRTeW4oImZvY2V4ZWMiKTxDUj4KK2FuIDUwLjQwLjEzMCAmU3ludGF4LkZHLkZvY3VzXCBNYXN0ZXIgOmNhbCBTZXRTeW4oIm1hc3RlciIpPENSPgorYW4gNTAuNDAuMTQwICZTeW50YXguRkcuRk9STSA6Y2FsIFNldFN5bigiZm9ybSIpPENSPgorYW4gNTAuNDAuMTUwICZTeW50YXguRkcuRm9ydGggOmNhbCBTZXRTeW4oImZvcnRoIik8Q1I+CithbiA1MC40MC4xNjAgJlN5bnRheC5GRy5Gb3J0cmFuIDpjYWwgU2V0U3luKCJmb3J0cmFuIik8Q1I+CithbiA1MC40MC4xNzAgJlN5bnRheC5GRy5Gb3hQcm8gOmNhbCBTZXRTeW4oImZveHBybyIpPENSPgorYW4gNTAuNDAuMTgwICZTeW50YXguRkcuRnJhbWVTY3JpcHQgOmNhbCBTZXRTeW4oImZyYW1lc2NyaXB0Iik8Q1I+CithbiA1MC40MC4xOTAgJlN5bnRheC5GRy5Gc3RhYiA6Y2FsIFNldFN5bigiZnN0YWIiKTxDUj4KK2FuIDUwLjQwLjIwMCAmU3ludGF4LkZHLkZ2d20uRnZ3bVwgY29uZmlndXJhdGlvbiA6Y2FsIFNldFN5bigiZnZ3bTEiKTxDUj4KK2FuIDUwLjQwLjIxMCAmU3ludGF4LkZHLkZ2d20uRnZ3bTJcIGNvbmZpZ3VyYXRpb24gOmNhbCBTZXRTeW4oImZ2d20yIik8Q1I+CithbiA1MC40MC4yMjAgJlN5bnRheC5GRy5GdndtLkZ2d20yXCBjb25maWd1cmF0aW9uXCB3aXRoXCBNNCA6Y2FsIFNldFN5bigiZnZ3bTJtNCIpPENSPgorYW4gNTAuNDAuMjQwICZTeW50YXguRkcuR0RCXCBjb21tYW5kXCBmaWxlIDpjYWwgU2V0U3luKCJnZGIiKTxDUj4KK2FuIDUwLjQwLjI1MCAmU3ludGF4LkZHLkdETU8gOmNhbCBTZXRTeW4oImdkbW8iKTxDUj4KK2FuIDUwLjQwLjI2MCAmU3ludGF4LkZHLkdlZGNvbSA6Y2FsIFNldFN5bigiZ2VkY29tIik8Q1I+CithbiA1MC40MC4yNzAgJlN5bnRheC5GRy5HaXQuT3V0cHV0IDpjYWwgU2V0U3luKCJnaXQiKTxDUj4KK2FuIDUwLjQwLjI4MCAmU3ludGF4LkZHLkdpdC5Db21taXQgOmNhbCBTZXRTeW4oImdpdGNvbW1pdCIpPENSPgorYW4gNTAuNDAuMjkwICZTeW50YXguRkcuR2l0LkNvbmZpZyA6Y2FsIFNldFN5bigiZ2l0Y29uZmlnIik8Q1I+CithbiA1MC40MC4zMDAgJlN5bnRheC5GRy5HaXQuUmViYXNlIDpjYWwgU2V0U3luKCJnaXRyZWJhc2UiKTxDUj4KK2FuIDUwLjQwLjMxMCAmU3ludGF4LkZHLkdpdC5TZW5kXCBFbWFpbCA6Y2FsIFNldFN5bigiZ2l0c2VuZGVtYWlsIik8Q1I+CithbiA1MC40MC4zMjAgJlN5bnRheC5GRy5Ha3JlbGxtcmMgOmNhbCBTZXRTeW4oImdrcmVsbG1yYyIpPENSPgorYW4gNTAuNDAuMzMwICZTeW50YXguRkcuR1AgOmNhbCBTZXRTeW4oImdwIik8Q1I+CithbiA1MC40MC4zNDAgJlN5bnRheC5GRy5HUEcgOmNhbCBTZXRTeW4oImdwZyIpPENSPgorYW4gNTAuNDAuMzUwICZTeW50YXguRkcuR3JvdXBcIGZpbGUgOmNhbCBTZXRTeW4oImdyb3VwIik8Q1I+CithbiA1MC40MC4zNjAgJlN5bnRheC5GRy5HcnViIDpjYWwgU2V0U3luKCJncnViIik8Q1I+CithbiA1MC40MC4zNzAgJlN5bnRheC5GRy5HTlVcIFNlcnZlclwgUGFnZXMgOmNhbCBTZXRTeW4oImdzcCIpPENSPgorYW4gNTAuNDAuMzgwICZTeW50YXguRkcuR05VcGxvdCA6Y2FsIFNldFN5bigiZ251cGxvdCIpPENSPgorYW4gNTAuNDAuMzkwICZTeW50YXguRkcuR3JBRFNcIHNjcmlwdHMgOmNhbCBTZXRTeW4oImdyYWRzIik8Q1I+CithbiA1MC40MC40MDAgJlN5bnRheC5GRy5HcmV0bCA6Y2FsIFNldFN5bigiZ3JldGwiKTxDUj4KK2FuIDUwLjQwLjQxMCAmU3ludGF4LkZHLkdyb2ZmIDpjYWwgU2V0U3luKCJncm9mZiIpPENSPgorYW4gNTAuNDAuNDIwICZTeW50YXguRkcuR3Jvb3Z5IDpjYWwgU2V0U3luKCJncm9vdnkiKTxDUj4KK2FuIDUwLjQwLjQzMCAmU3ludGF4LkZHLkdUS3JjIDpjYWwgU2V0U3luKCJndGtyYyIpPENSPgorYW4gNTAuNTAuMTAwICZTeW50YXguSElKSy5IYW1zdGVyIDpjYWwgU2V0U3luKCJoYW1zdGVyIik8Q1I+CithbiA1MC41MC4xMTAgJlN5bnRheC5ISUpLLkhhc2tlbGwuSGFza2VsbCA6Y2FsIFNldFN5bigiaGFza2VsbCIpPENSPgorYW4gNTAuNTAuMTIwICZTeW50YXguSElKSy5IYXNrZWxsLkhhc2tlbGwtYzJocyA6Y2FsIFNldFN5bigiY2hhc2tlbGwiKTxDUj4KK2FuIDUwLjUwLjEzMCAmU3ludGF4LkhJSksuSGFza2VsbC5IYXNrZWxsLWxpdGVyYXRlIDpjYWwgU2V0U3luKCJsaGFza2VsbCIpPENSPgorYW4gNTAuNTAuMTQwICZTeW50YXguSElKSy5IQVNURSA6Y2FsIFNldFN5bigiaGFzdGUiKTxDUj4KK2FuIDUwLjUwLjE1MCAmU3ludGF4LkhJSksuSGVyY3VsZXMgOmNhbCBTZXRTeW4oImhlcmN1bGVzIik8Q1I+CithbiA1MC41MC4xNjAgJlN5bnRheC5ISUpLLkhleFwgZHVtcC5YWEQgOmNhbCBTZXRTeW4oInh4ZCIpPENSPgorYW4gNTAuNTAuMTcwICZTeW50YXguSElKSy5IZXhcIGR1bXAuSW50ZWxcIE1DUzUxIDpjYWwgU2V0U3luKCJoZXgiKTxDUj4KK2FuIDUwLjUwLjE4MCAmU3ludGF4LkhJSksuSFRNTC5IVE1MIDpjYWwgU2V0U3luKCJodG1sIik8Q1I+CithbiA1MC41MC4xOTAgJlN5bnRheC5ISUpLLkhUTUwuSFRNTFwgd2l0aFwgTTQgOmNhbCBTZXRTeW4oImh0bWxtNCIpPENSPgorYW4gNTAuNTAuMjAwICZTeW50YXguSElKSy5IVE1MLkhUTUxcIHdpdGhcIFJ1YnlcIChlUnVieSkgOmNhbCBTZXRTeW4oImVydWJ5Iik8Q1I+CithbiA1MC41MC4yMTAgJlN5bnRheC5ISUpLLkhUTUwuQ2hlZXRhaFwgSFRNTFwgdGVtcGxhdGUgOmNhbCBTZXRTeW4oImh0bWxjaGVldGFoIik8Q1I+CithbiA1MC41MC4yMjAgJlN5bnRheC5ISUpLLkhUTUwuRGphbmdvXCBIVE1MXCB0ZW1wbGF0ZSA6Y2FsIFNldFN5bigiaHRtbGRqYW5nbyIpPENSPgorYW4gNTAuNTAuMjMwICZTeW50YXguSElKSy5IVE1MLkhUTUwvT1MgOmNhbCBTZXRTeW4oImh0bWxvcyIpPENSPgorYW4gNTAuNTAuMjQwICZTeW50YXguSElKSy5IVE1MLlhIVE1MIDpjYWwgU2V0U3luKCJ4aHRtbCIpPENSPgorYW4gNTAuNTAuMjUwICZTeW50YXguSElKSy5Ib3N0XC5jb25mIDpjYWwgU2V0U3luKCJob3N0Y29uZiIpPENSPgorYW4gNTAuNTAuMjYwICZTeW50YXguSElKSy5IeXBlclwgQnVpbGRlciA6Y2FsIFNldFN5bigiaGIiKTxDUj4KK2FuIDUwLjUwLjI4MCAmU3ludGF4LkhJSksuSWNld21cIG1lbnUgOmNhbCBTZXRTeW4oImljZW1lbnUiKTxDUj4KK2FuIDUwLjUwLjI5MCAmU3ludGF4LkhJSksuSWNvbiA6Y2FsIFNldFN5bigiaWNvbiIpPENSPgorYW4gNTAuNTAuMzAwICZTeW50YXguSElKSy5JRExcR2VuZXJpY1wgSURMIDpjYWwgU2V0U3luKCJpZGwiKTxDUj4KK2FuIDUwLjUwLjMxMCAmU3ludGF4LkhJSksuSURMXE1pY3Jvc29mdFwgSURMIDpjYWwgU2V0U3luKCJtc2lkbCIpPENSPgorYW4gNTAuNTAuMzIwICZTeW50YXguSElKSy5JbmRlbnRcIHByb2ZpbGUgOmNhbCBTZXRTeW4oImluZGVudCIpPENSPgorYW4gNTAuNTAuMzMwICZTeW50YXguSElKSy5JbmZvcm0gOmNhbCBTZXRTeW4oImluZm9ybSIpPENSPgorYW4gNTAuNTAuMzQwICZTeW50YXguSElKSy5JbmZvcm1peFwgNEdMIDpjYWwgU2V0U3luKCJmZ2wiKTxDUj4KK2FuIDUwLjUwLjM1MCAmU3ludGF4LkhJSksuSW5pdG5nIDpjYWwgU2V0U3luKCJpbml0bmciKTxDUj4KK2FuIDUwLjUwLjM2MCAmU3ludGF4LkhJSksuSW5pdHRhYiA6Y2FsIFNldFN5bigiaW5pdHRhYiIpPENSPgorYW4gNTAuNTAuMzcwICZTeW50YXguSElKSy5Jbm5vXCBzZXR1cCA6Y2FsIFNldFN5bigiaXNzIik8Q1I+CithbiA1MC41MC4zODAgJlN5bnRheC5ISUpLLkluc3RhbGxTaGllbGRcIHNjcmlwdCA6Y2FsIFNldFN5bigiaXNoZCIpPENSPgorYW4gNTAuNTAuMzkwICZTeW50YXguSElKSy5JbnRlcmFjdGl2ZVwgRGF0YVwgTGFuZyA6Y2FsIFNldFN5bigiaWRsYW5nIik8Q1I+CithbiA1MC41MC40MDAgJlN5bnRheC5ISUpLLklQZmlsdGVyIDpjYWwgU2V0U3luKCJpcGZpbHRlciIpPENSPgorYW4gNTAuNTAuNDIwICZTeW50YXguSElKSy5KQUwgOmNhbCBTZXRTeW4oImphbCIpPENSPgorYW4gNTAuNTAuNDMwICZTeW50YXguSElKSy5KQU0gOmNhbCBTZXRTeW4oImphbSIpPENSPgorYW4gNTAuNTAuNDQwICZTeW50YXguSElKSy5KYXJnb24gOmNhbCBTZXRTeW4oImphcmdvbiIpPENSPgorYW4gNTAuNTAuNDUwICZTeW50YXguSElKSy5KYXZhLkphdmEgOmNhbCBTZXRTeW4oImphdmEiKTxDUj4KK2FuIDUwLjUwLjQ2MCAmU3ludGF4LkhJSksuSmF2YS5KYXZhQ0MgOmNhbCBTZXRTeW4oImphdmFjYyIpPENSPgorYW4gNTAuNTAuNDcwICZTeW50YXguSElKSy5KYXZhLkphdmFcIFNlcnZlclwgUGFnZXMgOmNhbCBTZXRTeW4oImpzcCIpPENSPgorYW4gNTAuNTAuNDgwICZTeW50YXguSElKSy5KYXZhLkphdmFcIFByb3BlcnRpZXMgOmNhbCBTZXRTeW4oImpwcm9wZXJ0aWVzIik8Q1I+CithbiA1MC41MC40OTAgJlN5bnRheC5ISUpLLkphdmFTY3JpcHQgOmNhbCBTZXRTeW4oImphdmFzY3JpcHQiKTxDUj4KK2FuIDUwLjUwLjUwMCAmU3ludGF4LkhJSksuSmVzcyA6Y2FsIFNldFN5bigiamVzcyIpPENSPgorYW4gNTAuNTAuNTEwICZTeW50YXguSElKSy5KZ3JhcGggOmNhbCBTZXRTeW4oImpncmFwaCIpPENSPgorYW4gNTAuNTAuNTMwICZTeW50YXguSElKSy5LY29uZmlnIDpjYWwgU2V0U3luKCJrY29uZmlnIik8Q1I+CithbiA1MC41MC41NDAgJlN5bnRheC5ISUpLLktERVwgc2NyaXB0IDpjYWwgU2V0U3luKCJrc2NyaXB0Iik8Q1I+CithbiA1MC41MC41NTAgJlN5bnRheC5ISUpLLktpbXdpdHUrKyA6Y2FsIFNldFN5bigia3d0Iik8Q1I+CithbiA1MC41MC41NjAgJlN5bnRheC5ISUpLLktpeFRhcnQgOmNhbCBTZXRTeW4oImtpeCIpPENSPgorYW4gNTAuNjAuMTAwICZTeW50YXguTC1NYS5MYWNlIDpjYWwgU2V0U3luKCJsYWNlIik8Q1I+CithbiA1MC42MC4xMTAgJlN5bnRheC5MLU1hLkxhbWRhUHJvbG9nIDpjYWwgU2V0U3luKCJscHJvbG9nIik8Q1I+CithbiA1MC42MC4xMjAgJlN5bnRheC5MLU1hLkxhdHRlIDpjYWwgU2V0U3luKCJsYXR0ZSIpPENSPgorYW4gNTAuNjAuMTMwICZTeW50YXguTC1NYS5MZFwgc2NyaXB0IDpjYWwgU2V0U3luKCJsZCIpPENSPgorYW4gNTAuNjAuMTQwICZTeW50YXguTC1NYS5MREFQLkxESUYgOmNhbCBTZXRTeW4oImxkaWYiKTxDUj4KK2FuIDUwLjYwLjE1MCAmU3ludGF4LkwtTWEuTERBUC5Db25maWd1cmF0aW9uIDpjYWwgU2V0U3luKCJsZGFwY29uZiIpPENSPgorYW4gNTAuNjAuMTYwICZTeW50YXguTC1NYS5MZXggOmNhbCBTZXRTeW4oImxleCIpPENSPgorYW4gNTAuNjAuMTcwICZTeW50YXguTC1NYS5MRlRQXCBjb25maWcgOmNhbCBTZXRTeW4oImxmdHAiKTxDUj4KK2FuIDUwLjYwLjE4MCAmU3ludGF4LkwtTWEuTGliYW8gOmNhbCBTZXRTeW4oImxpYmFvIik8Q1I+CithbiA1MC42MC4xOTAgJlN5bnRheC5MLU1hLkxpZmVMaW5lc1wgc2NyaXB0IDpjYWwgU2V0U3luKCJsaWZlbGluZXMiKTxDUj4KK2FuIDUwLjYwLjIwMCAmU3ludGF4LkwtTWEuTGlsbyA6Y2FsIFNldFN5bigibGlsbyIpPENSPgorYW4gNTAuNjAuMjEwICZTeW50YXguTC1NYS5MaW1pdHNcIGNvbmZpZyA6Y2FsIFNldFN5bigibGltaXRzIik8Q1I+CithbiA1MC42MC4yMjAgJlN5bnRheC5MLU1hLkxpbmRlblwgc2NyaXB0aW5nIDpjYWwgU2V0U3luKCJsc2wiKTxDUj4KK2FuIDUwLjYwLjIzMCAmU3ludGF4LkwtTWEuTGlzcCA6Y2FsIFNldFN5bigibGlzcCIpPENSPgorYW4gNTAuNjAuMjQwICZTeW50YXguTC1NYS5MaXRlIDpjYWwgU2V0U3luKCJsaXRlIik8Q1I+CithbiA1MC42MC4yNTAgJlN5bnRheC5MLU1hLkxpdGVTdGVwXCBSQyA6Y2FsIFNldFN5bigibGl0ZXN0ZXAiKTxDUj4KK2FuIDUwLjYwLjI2MCAmU3ludGF4LkwtTWEuTG9jYWxlXCBJbnB1dCA6Y2FsIFNldFN5bigiZmRjYyIpPENSPgorYW4gNTAuNjAuMjcwICZTeW50YXguTC1NYS5Mb2dpblwuYWNjZXNzIDpjYWwgU2V0U3luKCJsb2dpbmFjY2VzcyIpPENSPgorYW4gNTAuNjAuMjgwICZTeW50YXguTC1NYS5Mb2dpblwuZGVmcyA6Y2FsIFNldFN5bigibG9naW5kZWZzIik8Q1I+CithbiA1MC42MC4yOTAgJlN5bnRheC5MLU1hLkxvZ3RhbGsgOmNhbCBTZXRTeW4oImxvZ3RhbGsiKTxDUj4KK2FuIDUwLjYwLjMwMCAmU3ludGF4LkwtTWEuTE9UT1MgOmNhbCBTZXRTeW4oImxvdG9zIik8Q1I+CithbiA1MC42MC4zMTAgJlN5bnRheC5MLU1hLkxvdHVzU2NyaXB0IDpjYWwgU2V0U3luKCJsc2NyaXB0Iik8Q1I+CithbiA1MC42MC4zMjAgJlN5bnRheC5MLU1hLkxvdXQgOmNhbCBTZXRTeW4oImxvdXQiKTxDUj4KK2FuIDUwLjYwLjMzMCAmU3ludGF4LkwtTWEuTFBDIDpjYWwgU2V0U3luKCJscGMiKTxDUj4KK2FuIDUwLjYwLjM0MCAmU3ludGF4LkwtTWEuTHVhIDpjYWwgU2V0U3luKCJsdWEiKTxDUj4KK2FuIDUwLjYwLjM1MCAmU3ludGF4LkwtTWEuTHlueFwgU3R5bGUgOmNhbCBTZXRTeW4oImxzcyIpPENSPgorYW4gNTAuNjAuMzYwICZTeW50YXguTC1NYS5MeW54XCBjb25maWcgOmNhbCBTZXRTeW4oImx5bngiKTxDUj4KK2FuIDUwLjYwLjM4MCAmU3ludGF4LkwtTWEuTTQgOmNhbCBTZXRTeW4oIm00Iik8Q1I+CithbiA1MC42MC4zOTAgJlN5bnRheC5MLU1hLk1hR2ljXCBQb2ludCA6Y2FsIFNldFN5bigibWdwIik8Q1I+CithbiA1MC42MC40MDAgJlN5bnRheC5MLU1hLk1haWwgOmNhbCBTZXRTeW4oIm1haWwiKTxDUj4KK2FuIDUwLjYwLjQxMCAmU3ludGF4LkwtTWEuTWFpbFwgYWxpYXNlcyA6Y2FsIFNldFN5bigibWFpbGFsaWFzZXMiKTxDUj4KK2FuIDUwLjYwLjQyMCAmU3ludGF4LkwtTWEuTWFpbGNhcCA6Y2FsIFNldFN5bigibWFpbGNhcCIpPENSPgorYW4gNTAuNjAuNDMwICZTeW50YXguTC1NYS5NYWtlZmlsZSA6Y2FsIFNldFN5bigibWFrZSIpPENSPgorYW4gNTAuNjAuNDQwICZTeW50YXguTC1NYS5NYWtlSW5kZXggOmNhbCBTZXRTeW4oImlzdCIpPENSPgorYW4gNTAuNjAuNDUwICZTeW50YXguTC1NYS5NYW5cIHBhZ2UgOmNhbCBTZXRTeW4oIm1hbiIpPENSPgorYW4gNTAuNjAuNDYwICZTeW50YXguTC1NYS5NYW5cLmNvbmYgOmNhbCBTZXRTeW4oIm1hbmNvbmYiKTxDUj4KK2FuIDUwLjYwLjQ3MCAmU3ludGF4LkwtTWEuTWFwbGVcIFYgOmNhbCBTZXRTeW4oIm1hcGxlIik8Q1I+CithbiA1MC42MC40ODAgJlN5bnRheC5MLU1hLk1hc29uIDpjYWwgU2V0U3luKCJtYXNvbiIpPENSPgorYW4gNTAuNjAuNDkwICZTeW50YXguTC1NYS5NYXRoZW1hdGljYSA6Y2FsIFNldFN5bigibW1hIik8Q1I+CithbiA1MC42MC41MDAgJlN5bnRheC5MLU1hLk1hdGxhYiA6Y2FsIFNldFN5bigibWF0bGFiIik8Q1I+CithbiA1MC42MC41MTAgJlN5bnRheC5MLU1hLk1heGltYSA6Y2FsIFNldFN5bigibWF4aW1hIik8Q1I+CithbiA1MC43MC4xMDAgJlN5bnRheC5NZS1OTy5NRUxcIChmb3JcIE1heWEpIDpjYWwgU2V0U3luKCJtZWwiKTxDUj4KK2FuIDUwLjcwLjExMCAmU3ludGF4Lk1lLU5PLk1lc3NhZ2VzXCAoL3Zhci9sb2cpIDpjYWwgU2V0U3luKCJtZXNzYWdlcyIpPENSPgorYW4gNTAuNzAuMTIwICZTeW50YXguTWUtTk8uTWV0YWZvbnQgOmNhbCBTZXRTeW4oIm1mIik8Q1I+CithbiA1MC43MC4xMzAgJlN5bnRheC5NZS1OTy5NZXRhUG9zdCA6Y2FsIFNldFN5bigibXAiKTxDUj4KK2FuIDUwLjcwLjE0MCAmU3ludGF4Lk1lLU5PLk1HTCA6Y2FsIFNldFN5bigibWdsIik8Q1I+CithbiA1MC43MC4xNTAgJlN5bnRheC5NZS1OTy5NTUlYIDpjYWwgU2V0U3luKCJtbWl4Iik8Q1I+CithbiA1MC43MC4xNjAgJlN5bnRheC5NZS1OTy5Nb2Rjb25mIDpjYWwgU2V0U3luKCJtb2Rjb25mIik8Q1I+CithbiA1MC43MC4xNzAgJlN5bnRheC5NZS1OTy5Nb2RlbCA6Y2FsIFNldFN5bigibW9kZWwiKTxDUj4KK2FuIDUwLjcwLjE4MCAmU3ludGF4Lk1lLU5PLk1vZHNpbVwgSUlJIDpjYWwgU2V0U3luKCJtb2RzaW0zIik8Q1I+CithbiA1MC43MC4xOTAgJlN5bnRheC5NZS1OTy5Nb2R1bGFcIDIgOmNhbCBTZXRTeW4oIm1vZHVsYTIiKTxDUj4KK2FuIDUwLjcwLjIwMCAmU3ludGF4Lk1lLU5PLk1vZHVsYVwgMyA6Y2FsIFNldFN5bigibW9kdWxhMyIpPENSPgorYW4gNTAuNzAuMjEwICZTeW50YXguTWUtTk8uTW9uayA6Y2FsIFNldFN5bigibW9uayIpPENSPgorYW4gNTAuNzAuMjIwICZTeW50YXguTWUtTk8uTXBsYXllclwgY29uZmlnIDpjYWwgU2V0U3luKCJtcGxheWVyY29uZiIpPENSPgorYW4gNTAuNzAuMjMwICZTeW50YXguTWUtTk8uTU9PIDpjYWwgU2V0U3luKCJtb28iKTxDUj4KK2FuIDUwLjcwLjI0MCAmU3ludGF4Lk1lLU5PLk1yeHZ0cmMgOmNhbCBTZXRTeW4oIm1yeHZ0cmMiKTxDUj4KK2FuIDUwLjcwLjI1MCAmU3ludGF4Lk1lLU5PLk1TLURPUy9XaW5kb3dzLjRET1NcIFwuYmF0XCBmaWxlIDpjYWwgU2V0U3luKCJidG0iKTxDUj4KK2FuIDUwLjcwLjI2MCAmU3ludGF4Lk1lLU5PLk1TLURPUy9XaW5kb3dzLlwuYmF0XC9cLmNtZFwgZmlsZSA6Y2FsIFNldFN5bigiZG9zYmF0Y2giKTxDUj4KK2FuIDUwLjcwLjI3MCAmU3ludGF4Lk1lLU5PLk1TLURPUy9XaW5kb3dzLlwuaW5pXCBmaWxlIDpjYWwgU2V0U3luKCJkb3NpbmkiKTxDUj4KK2FuIDUwLjcwLjI4MCAmU3ludGF4Lk1lLU5PLk1TLURPUy9XaW5kb3dzLk1lc3NhZ2VcIHRleHQgOmNhbCBTZXRTeW4oIm1zbWVzc2FnZXMiKTxDUj4KK2FuIDUwLjcwLjI5MCAmU3ludGF4Lk1lLU5PLk1TLURPUy9XaW5kb3dzLk1vZHVsZVwgRGVmaW5pdGlvbiA6Y2FsIFNldFN5bigiZGVmIik8Q1I+CithbiA1MC43MC4zMDAgJlN5bnRheC5NZS1OTy5NUy1ET1MvV2luZG93cy5SZWdpc3RyeSA6Y2FsIFNldFN5bigicmVnaXN0cnkiKTxDUj4KK2FuIDUwLjcwLjMxMCAmU3ludGF4Lk1lLU5PLk1TLURPUy9XaW5kb3dzLlJlc291cmNlXCBmaWxlIDpjYWwgU2V0U3luKCJyYyIpPENSPgorYW4gNTAuNzAuMzIwICZTeW50YXguTWUtTk8uTXNxbCA6Y2FsIFNldFN5bigibXNxbCIpPENSPgorYW4gNTAuNzAuMzMwICZTeW50YXguTWUtTk8uTXVQQUQgOmNhbCBTZXRTeW4oIm11cGFkIik8Q1I+CithbiA1MC43MC4zNDAgJlN5bnRheC5NZS1OTy5NVVNIY29kZSA6Y2FsIFNldFN5bigibXVzaCIpPENSPgorYW4gNTAuNzAuMzUwICZTeW50YXguTWUtTk8uTXV0dHJjIDpjYWwgU2V0U3luKCJtdXR0cmMiKTxDUj4KK2FuIDUwLjcwLjM3MCAmU3ludGF4Lk1lLU5PLk5hbm9yYyA6Y2FsIFNldFN5bigibmFub3JjIik8Q1I+CithbiA1MC43MC4zODAgJlN5bnRheC5NZS1OTy5OYXN0cmFuXCBpbnB1dC9ETUFQIDpjYWwgU2V0U3luKCJuYXN0cmFuIik8Q1I+CithbiA1MC43MC4zOTAgJlN5bnRheC5NZS1OTy5OYXR1cmFsIDpjYWwgU2V0U3luKCJuYXR1cmFsIik8Q1I+CithbiA1MC43MC40MDAgJlN5bnRheC5NZS1OTy5OZXRyYyA6Y2FsIFNldFN5bigibmV0cmMiKTxDUj4KK2FuIDUwLjcwLjQxMCAmU3ludGF4Lk1lLU5PLk5vdmVsbFwgTkNGXCBiYXRjaCA6Y2FsIFNldFN5bigibmNmIik8Q1I+CithbiA1MC43MC40MjAgJlN5bnRheC5NZS1OTy5Ob3RcIFF1aXRlXCBDXCAoTEVHTykgOmNhbCBTZXRTeW4oIm5xYyIpPENSPgorYW4gNTAuNzAuNDMwICZTeW50YXguTWUtTk8uTnJvZmYgOmNhbCBTZXRTeW4oIm5yb2ZmIik8Q1I+CithbiA1MC43MC40NDAgJlN5bnRheC5NZS1OTy5OU0lTXCBzY3JpcHQgOmNhbCBTZXRTeW4oIm5zaXMiKTxDUj4KK2FuIDUwLjcwLjQ2MCAmU3ludGF4Lk1lLU5PLk9iamVjdGl2ZVwgQyA6Y2FsIFNldFN5bigib2JqYyIpPENSPgorYW4gNTAuNzAuNDcwICZTeW50YXguTWUtTk8uT2JqZWN0aXZlXCBDKysgOmNhbCBTZXRTeW4oIm9iamNwcCIpPENSPgorYW4gNTAuNzAuNDgwICZTeW50YXguTWUtTk8uT0NBTUwgOmNhbCBTZXRTeW4oIm9jYW1sIik8Q1I+CithbiA1MC43MC40OTAgJlN5bnRheC5NZS1OTy5PY2NhbSA6Y2FsIFNldFN5bigib2NjYW0iKTxDUj4KK2FuIDUwLjcwLjUwMCAmU3ludGF4Lk1lLU5PLk9tbmltYXJrIDpjYWwgU2V0U3luKCJvbW5pbWFyayIpPENSPgorYW4gNTAuNzAuNTEwICZTeW50YXguTWUtTk8uT3BlblJPQUQgOmNhbCBTZXRTeW4oIm9wZW5yb2FkIik8Q1I+CithbiA1MC43MC41MjAgJlN5bnRheC5NZS1OTy5PcGVuXCBQc2lvblwgTGFuZyA6Y2FsIFNldFN5bigib3BsIik8Q1I+CithbiA1MC43MC41MzAgJlN5bnRheC5NZS1OTy5PcmFjbGVcIGNvbmZpZyA6Y2FsIFNldFN5bigib3JhIik8Q1I+CithbiA1MC44MC4xMDAgJlN5bnRheC5QUS5QYWNrZXRcIGZpbHRlclwgY29uZiA6Y2FsIFNldFN5bigicGYiKTxDUj4KK2FuIDUwLjgwLjExMCAmU3ludGF4LlBRLlBhbG1cIHJlc291cmNlXCBjb21waWxlciA6Y2FsIFNldFN5bigicGlscmMiKTxDUj4KK2FuIDUwLjgwLjEyMCAmU3ludGF4LlBRLlBhbVwgY29uZmlnIDpjYWwgU2V0U3luKCJwYW1jb25mIik8Q1I+CithbiA1MC44MC4xMzAgJlN5bnRheC5QUS5QQXBwIDpjYWwgU2V0U3luKCJwYXBwIik8Q1I+CithbiA1MC44MC4xNDAgJlN5bnRheC5QUS5QYXNjYWwgOmNhbCBTZXRTeW4oInBhc2NhbCIpPENSPgorYW4gNTAuODAuMTUwICZTeW50YXguUFEuUGFzc3dvcmRcIGZpbGUgOmNhbCBTZXRTeW4oInBhc3N3ZCIpPENSPgorYW4gNTAuODAuMTYwICZTeW50YXguUFEuUENDVFMgOmNhbCBTZXRTeW4oInBjY3RzIik8Q1I+CithbiA1MC44MC4xNzAgJlN5bnRheC5QUS5QREYgOmNhbCBTZXRTeW4oInBkZiIpPENSPgorYW4gNTAuODAuMTgwICZTeW50YXguUFEuUGVybC5QZXJsIDpjYWwgU2V0U3luKCJwZXJsIik8Q1I+CithbiA1MC44MC4xOTAgJlN5bnRheC5QUS5QZXJsLlBlcmxcIFBPRCA6Y2FsIFNldFN5bigicG9kIik8Q1I+CithbiA1MC44MC4yMDAgJlN5bnRheC5QUS5QZXJsLlBlcmxcIFhTIDpjYWwgU2V0U3luKCJ4cyIpPENSPgorYW4gNTAuODAuMjEwICZTeW50YXguUFEuUEhQLlBIUFwgMy00IDpjYWwgU2V0U3luKCJwaHAiKTxDUj4KK2FuIDUwLjgwLjIyMCAmU3ludGF4LlBRLlBIUC5QaHRtbFwgKFBIUFwgMikgOmNhbCBTZXRTeW4oInBodG1sIik8Q1I+CithbiA1MC44MC4yMzAgJlN5bnRheC5QUS5QaWtlIDpjYWwgU2V0U3luKCJwaWtlIik8Q1I+CithbiA1MC44MC4yNDAgJlN5bnRheC5QUS5QaW5lXCBSQyA6Y2FsIFNldFN5bigicGluZSIpPENSPgorYW4gNTAuODAuMjUwICZTeW50YXguUFEuUGluZm9cIFJDIDpjYWwgU2V0U3luKCJwaW5mbyIpPENSPgorYW4gNTAuODAuMjYwICZTeW50YXguUFEuUEwvTSA6Y2FsIFNldFN5bigicGxtIik8Q1I+CithbiA1MC44MC4yNzAgJlN5bnRheC5QUS5QTC9TUUwgOmNhbCBTZXRTeW4oInBsc3FsIik8Q1I+CithbiA1MC44MC4yODAgJlN5bnRheC5QUS5QTFAgOmNhbCBTZXRTeW4oInBscCIpPENSPgorYW4gNTAuODAuMjkwICZTeW50YXguUFEuUE9cIChHTlVcIGdldHRleHQpIDpjYWwgU2V0U3luKCJwbyIpPENSPgorYW4gNTAuODAuMzAwICZTeW50YXguUFEuUG9zdGZpeFwgbWFpblwgY29uZmlnIDpjYWwgU2V0U3luKCJwZm1haW4iKTxDUj4KK2FuIDUwLjgwLjMxMCAmU3ludGF4LlBRLlBvc3RTY3JpcHQuUG9zdFNjcmlwdCA6Y2FsIFNldFN5bigicG9zdHNjciIpPENSPgorYW4gNTAuODAuMzIwICZTeW50YXguUFEuUG9zdFNjcmlwdC5Qb3N0U2NyaXB0XCBQcmludGVyXCBEZXNjcmlwdGlvbiA6Y2FsIFNldFN5bigicHBkIik8Q1I+CithbiA1MC44MC4zMzAgJlN5bnRheC5QUS5Qb3ZyYXkuUG92cmF5XCBzY2VuZVwgZGVzY3IgOmNhbCBTZXRTeW4oInBvdiIpPENSPgorYW4gNTAuODAuMzQwICZTeW50YXguUFEuUG92cmF5LlBvdnJheVwgY29uZmlndXJhdGlvbiA6Y2FsIFNldFN5bigicG92aW5pIik8Q1I+CithbiA1MC44MC4zNTAgJlN5bnRheC5QUS5QUFdpemFyZCA6Y2FsIFNldFN5bigicHB3aXoiKTxDUj4KK2FuIDUwLjgwLjM2MCAmU3ludGF4LlBRLlByZXNjcmliZVwgKEt5b2NlcmEpIDpjYWwgU2V0U3luKCJwcmVzY3JpYmUiKTxDUj4KK2FuIDUwLjgwLjM3MCAmU3ludGF4LlBRLlByaW50Y2FwIDpjYWwgU2V0U3luKCJwY2FwIik8Q1I+CithbiA1MC44MC4zODAgJlN5bnRheC5QUS5Qcml2b3h5IDpjYWwgU2V0U3luKCJwcml2b3h5Iik8Q1I+CithbiA1MC44MC4zOTAgJlN5bnRheC5QUS5Qcm9jbWFpbCA6Y2FsIFNldFN5bigicHJvY21haWwiKTxDUj4KK2FuIDUwLjgwLjQwMCAmU3ludGF4LlBRLlByb2R1Y3RcIFNwZWNcIEZpbGUgOmNhbCBTZXRTeW4oInBzZiIpPENSPgorYW4gNTAuODAuNDEwICZTeW50YXguUFEuUHJvZ3Jlc3MgOmNhbCBTZXRTeW4oInByb2dyZXNzIik8Q1I+CithbiA1MC44MC40MjAgJlN5bnRheC5QUS5Qcm9sb2cgOmNhbCBTZXRTeW4oInByb2xvZyIpPENSPgorYW4gNTAuODAuNDMwICZTeW50YXguUFEuUHJvTWVMYSA6Y2FsIFNldFN5bigicHJvbWVsYSIpPENSPgorYW4gNTAuODAuNDQwICZTeW50YXguUFEuUHJvdG9jb2xzIDpjYWwgU2V0U3luKCJwcm90b2NvbHMiKTxDUj4KK2FuIDUwLjgwLjQ1MCAmU3ludGF4LlBRLlB1cmlmeVwgbG9nIDpjYWwgU2V0U3luKCJwdXJpZnlsb2ciKTxDUj4KK2FuIDUwLjgwLjQ2MCAmU3ludGF4LlBRLlB5cmV4IDpjYWwgU2V0U3luKCJweXJleCIpPENSPgorYW4gNTAuODAuNDcwICZTeW50YXguUFEuUHl0aG9uIDpjYWwgU2V0U3luKCJweXRob24iKTxDUj4KK2FuIDUwLjgwLjQ5MCAmU3ludGF4LlBRLlF1YWtlIDpjYWwgU2V0U3luKCJxdWFrZSIpPENSPgorYW4gNTAuODAuNTAwICZTeW50YXguUFEuUXVpY2tmaXhcIHdpbmRvdyA6Y2FsIFNldFN5bigicWYiKTxDUj4KK2FuIDUwLjkwLjEwMCAmU3ludGF4LlItU2cuUi5SIDpjYWwgU2V0U3luKCJyIik8Q1I+CithbiA1MC45MC4xMTAgJlN5bnRheC5SLVNnLlIuUlwgaGVscCA6Y2FsIFNldFN5bigicmhlbHAiKTxDUj4KK2FuIDUwLjkwLjEyMCAmU3ludGF4LlItU2cuUi5SXCBub3dlYiA6Y2FsIFNldFN5bigicm5vd2ViIik8Q1I+CithbiA1MC45MC4xMzAgJlN5bnRheC5SLVNnLlJhY2NcIGlucHV0IDpjYWwgU2V0U3luKCJyYWNjIik8Q1I+CithbiA1MC45MC4xNDAgJlN5bnRheC5SLVNnLlJhZGlhbmNlIDpjYWwgU2V0U3luKCJyYWRpYW5jZSIpPENSPgorYW4gNTAuOTAuMTUwICZTeW50YXguUi1TZy5SYXRwb2lzb24gOmNhbCBTZXRTeW4oInJhdHBvaXNvbiIpPENSPgorYW4gNTAuOTAuMTYwICZTeW50YXguUi1TZy5SQ1MuUkNTXCBsb2dcIG91dHB1dCA6Y2FsIFNldFN5bigicmNzbG9nIik8Q1I+CithbiA1MC45MC4xNzAgJlN5bnRheC5SLVNnLlJDUy5SQ1NcIGZpbGUgOmNhbCBTZXRTeW4oInJjcyIpPENSPgorYW4gNTAuOTAuMTgwICZTeW50YXguUi1TZy5SZWFkbGluZVwgY29uZmlnIDpjYWwgU2V0U3luKCJyZWFkbGluZSIpPENSPgorYW4gNTAuOTAuMTkwICZTeW50YXguUi1TZy5SZWJvbCA6Y2FsIFNldFN5bigicmVib2wiKTxDUj4KK2FuIDUwLjkwLjIwMCAmU3ludGF4LlItU2cuUmVtaW5kIDpjYWwgU2V0U3luKCJyZW1pbmQiKTxDUj4KK2FuIDUwLjkwLjIxMCAmU3ludGF4LlItU2cuUmVsYXhcIE5HXCBjb21wYWN0IDpjYWwgU2V0U3luKCJybmMiKTxDUj4KK2FuIDUwLjkwLjIyMCAmU3ludGF4LlItU2cuUmVuZGVybWFuLlJlbmRlcm1hblwgU2hhZGVyXCBMYW5nIDpjYWwgU2V0U3luKCJzbCIpPENSPgorYW4gNTAuOTAuMjMwICZTeW50YXguUi1TZy5SZW5kZXJtYW4uUmVuZGVybWFuXCBJbnRlcmZhY2VcIEJ5dGVzdHJlYW0gOmNhbCBTZXRTeW4oInJpYiIpPENSPgorYW4gNTAuOTAuMjQwICZTeW50YXguUi1TZy5SZXNvbHZcLmNvbmYgOmNhbCBTZXRTeW4oInJlc29sdiIpPENSPgorYW4gNTAuOTAuMjUwICZTeW50YXguUi1TZy5SZXZhXCBGb3J0aCA6Y2FsIFNldFN5bigicmV2YSIpPENSPgorYW4gNTAuOTAuMjYwICZTeW50YXguUi1TZy5SZXh4IDpjYWwgU2V0U3luKCJyZXh4Iik8Q1I+CithbiA1MC45MC4yNzAgJlN5bnRheC5SLVNnLlJvYm90c1wudHh0IDpjYWwgU2V0U3luKCJyb2JvdHMiKTxDUj4KK2FuIDUwLjkwLjI4MCAmU3ludGF4LlItU2cuUm9ja0xpbnV4XCBwYWNrYWdlXCBkZXNjXC4gOmNhbCBTZXRTeW4oImRlc2MiKTxDUj4KK2FuIDUwLjkwLjI5MCAmU3ludGF4LlItU2cuUnBjZ2VuIDpjYWwgU2V0U3luKCJycGNnZW4iKTxDUj4KK2FuIDUwLjkwLjMwMCAmU3ludGF4LlItU2cuUlBMLzIgOmNhbCBTZXRTeW4oInJwbCIpPENSPgorYW4gNTAuOTAuMzEwICZTeW50YXguUi1TZy5SZVN0cnVjdHVyZWRUZXh0IDpjYWwgU2V0U3luKCJyc3QiKTxDUj4KK2FuIDUwLjkwLjMyMCAmU3ludGF4LlItU2cuUlRGIDpjYWwgU2V0U3luKCJydGYiKTxDUj4KK2FuIDUwLjkwLjMzMCAmU3ludGF4LlItU2cuUnVieSA6Y2FsIFNldFN5bigicnVieSIpPENSPgorYW4gNTAuOTAuMzUwICZTeW50YXguUi1TZy5TLUxhbmcgOmNhbCBTZXRTeW4oInNsYW5nIik8Q1I+CithbiA1MC45MC4zNjAgJlN5bnRheC5SLVNnLlNhbWJhXCBjb25maWcgOmNhbCBTZXRTeW4oInNhbWJhIik8Q1I+CithbiA1MC45MC4zNzAgJlN5bnRheC5SLVNnLlNBUyA6Y2FsIFNldFN5bigic2FzIik8Q1I+CithbiA1MC45MC4zODAgJlN5bnRheC5SLVNnLlNhdGhlciA6Y2FsIFNldFN5bigic2F0aGVyIik8Q1I+CithbiA1MC45MC4zOTAgJlN5bnRheC5SLVNnLlNjaGVtZSA6Y2FsIFNldFN5bigic2NoZW1lIik8Q1I+CithbiA1MC45MC40MDAgJlN5bnRheC5SLVNnLlNjaWxhYiA6Y2FsIFNldFN5bigic2NpbGFiIik8Q1I+CithbiA1MC45MC40MTAgJlN5bnRheC5SLVNnLlNjcmVlblwgUkMgOmNhbCBTZXRTeW4oInNjcmVlbiIpPENSPgorYW4gNTAuOTAuNDIwICZTeW50YXguUi1TZy5TREwgOmNhbCBTZXRTeW4oInNkbCIpPENSPgorYW4gNTAuOTAuNDMwICZTeW50YXguUi1TZy5TZWQgOmNhbCBTZXRTeW4oInNlZCIpPENSPgorYW4gNTAuOTAuNDQwICZTeW50YXguUi1TZy5TZW5kbWFpbFwuY2YgOmNhbCBTZXRTeW4oInNtIik8Q1I+CithbiA1MC45MC40NTAgJlN5bnRheC5SLVNnLlNlbmQtcHIgOmNhbCBTZXRTeW4oInNlbmRwciIpPENSPgorYW4gNTAuOTAuNDYwICZTeW50YXguUi1TZy5TZW5zb3JzXC5jb25mIDpjYWwgU2V0U3luKCJzZW5zb3JzIik8Q1I+CithbiA1MC45MC40NzAgJlN5bnRheC5SLVNnLlNlcnZpY2VcIExvY2F0aW9uXCBjb25maWcgOmNhbCBTZXRTeW4oInNscGNvbmYiKTxDUj4KK2FuIDUwLjkwLjQ4MCAmU3ludGF4LlItU2cuU2VydmljZVwgTG9jYXRpb25cIHJlZ2lzdHJhdGlvbiA6Y2FsIFNldFN5bigic2xwcmVnIik8Q1I+CithbiA1MC45MC40OTAgJlN5bnRheC5SLVNnLlNlcnZpY2VcIExvY2F0aW9uXCBTUEkgOmNhbCBTZXRTeW4oInNscHNwaSIpPENSPgorYW4gNTAuOTAuNTAwICZTeW50YXguUi1TZy5TZXJ2aWNlcyA6Y2FsIFNldFN5bigic2VydmljZXMiKTxDUj4KK2FuIDUwLjkwLjUxMCAmU3ludGF4LlItU2cuU2V0c2VyaWFsXCBjb25maWcgOmNhbCBTZXRTeW4oInNldHNlcmlhbCIpPENSPgorYW4gNTAuOTAuNTIwICZTeW50YXguUi1TZy5TR01MLlNHTUxcIGNhdGFsb2cgOmNhbCBTZXRTeW4oImNhdGFsb2ciKTxDUj4KK2FuIDUwLjkwLjUzMCAmU3ludGF4LlItU2cuU0dNTC5TR01MXCBEVEQgOmNhbCBTZXRTeW4oInNnbWwiKTxDUj4KK2FuIDUwLjkwLjU0MCAmU3ludGF4LlItU2cuU0dNTC5TR01MXCBEZWNsYXJhdGlvbiA6Y2FsIFNldFN5bigic2dtbGRlY2wiKTxDUj4KK2FuIDUwLjkwLjU1MCAmU3ludGF4LlItU2cuU0dNTC5TR01MLWxpbnV4ZG9jIDpjYWwgU2V0U3luKCJzZ21sbG54Iik8Q1I+CithbiA1MC4xMDAuMTAwICZTeW50YXguU2gtUy5TaGVsbFwgc2NyaXB0LnNoXCBhbmRcIGtzaCA6Y2FsIFNldFN5bigic2giKTxDUj4KK2FuIDUwLjEwMC4xMTAgJlN5bnRheC5TaC1TLlNoZWxsXCBzY3JpcHQuY3NoIDpjYWwgU2V0U3luKCJjc2giKTxDUj4KK2FuIDUwLjEwMC4xMjAgJlN5bnRheC5TaC1TLlNoZWxsXCBzY3JpcHQudGNzaCA6Y2FsIFNldFN5bigidGNzaCIpPENSPgorYW4gNTAuMTAwLjEzMCAmU3ludGF4LlNoLVMuU2hlbGxcIHNjcmlwdC56c2ggOmNhbCBTZXRTeW4oInpzaCIpPENSPgorYW4gNTAuMTAwLjE0MCAmU3ludGF4LlNoLVMuU2lDQUQgOmNhbCBTZXRTeW4oInNpY2FkIik8Q1I+CithbiA1MC4xMDAuMTUwICZTeW50YXguU2gtUy5TaWV2ZSA6Y2FsIFNldFN5bigic2lldmUiKTxDUj4KK2FuIDUwLjEwMC4xNjAgJlN5bnRheC5TaC1TLlNpbXVsYSA6Y2FsIFNldFN5bigic2ltdWxhIik8Q1I+CithbiA1MC4xMDAuMTcwICZTeW50YXguU2gtUy5TaW5kYS5TaW5kYVwgY29tcGFyZSA6Y2FsIFNldFN5bigic2luZGFjbXAiKTxDUj4KK2FuIDUwLjEwMC4xODAgJlN5bnRheC5TaC1TLlNpbmRhLlNpbmRhXCBpbnB1dCA6Y2FsIFNldFN5bigic2luZGEiKTxDUj4KK2FuIDUwLjEwMC4xOTAgJlN5bnRheC5TaC1TLlNpbmRhLlNpbmRhXCBvdXRwdXQgOmNhbCBTZXRTeW4oInNpbmRhb3V0Iik8Q1I+CithbiA1MC4xMDAuMjAwICZTeW50YXguU2gtUy5TaVNVIDpjYWwgU2V0U3luKCJzaXN1Iik8Q1I+CithbiA1MC4xMDAuMjEwICZTeW50YXguU2gtUy5TS0lMTC5TS0lMTCA6Y2FsIFNldFN5bigic2tpbGwiKTxDUj4KK2FuIDUwLjEwMC4yMjAgJlN5bnRheC5TaC1TLlNLSUxMLlNLSUxMXCBmb3JcIERpdmEgOmNhbCBTZXRTeW4oImRpdmEiKTxDUj4KK2FuIDUwLjEwMC4yMzAgJlN5bnRheC5TaC1TLlNsaWNlIDpjYWwgU2V0U3luKCJzbGljZSIpPENSPgorYW4gNTAuMTAwLjI0MCAmU3ludGF4LlNoLVMuU0xSTi5TbHJuXCByYyA6Y2FsIFNldFN5bigic2xybnJjIik8Q1I+CithbiA1MC4xMDAuMjUwICZTeW50YXguU2gtUy5TTFJOLlNscm5cIHNjb3JlIDpjYWwgU2V0U3luKCJzbHJuc2MiKTxDUj4KK2FuIDUwLjEwMC4yNjAgJlN5bnRheC5TaC1TLlNtYWxsVGFsayA6Y2FsIFNldFN5bigic3QiKTxDUj4KK2FuIDUwLjEwMC4yNzAgJlN5bnRheC5TaC1TLlNtYXJ0eVwgVGVtcGxhdGVzIDpjYWwgU2V0U3luKCJzbWFydHkiKTxDUj4KK2FuIDUwLjEwMC4yODAgJlN5bnRheC5TaC1TLlNNSUwgOmNhbCBTZXRTeW4oInNtaWwiKTxDUj4KK2FuIDUwLjEwMC4yOTAgJlN5bnRheC5TaC1TLlNNSVRIIDpjYWwgU2V0U3luKCJzbWl0aCIpPENSPgorYW4gNTAuMTAwLjMwMCAmU3ludGF4LlNoLVMuU05NUFwgTUlCIDpjYWwgU2V0U3luKCJtaWIiKTxDUj4KK2FuIDUwLjEwMC4zMTAgJlN5bnRheC5TaC1TLlNOTlMuU05OU1wgbmV0d29yayA6Y2FsIFNldFN5bigic25uc25ldCIpPENSPgorYW4gNTAuMTAwLjMyMCAmU3ludGF4LlNoLVMuU05OUy5TTk5TXCBwYXR0ZXJuIDpjYWwgU2V0U3luKCJzbm5zcGF0Iik8Q1I+CithbiA1MC4xMDAuMzMwICZTeW50YXguU2gtUy5TTk5TLlNOTlNcIHJlc3VsdCA6Y2FsIFNldFN5bigic25uc3JlcyIpPENSPgorYW4gNTAuMTAwLjM0MCAmU3ludGF4LlNoLVMuU25vYm9sNCA6Y2FsIFNldFN5bigic25vYm9sNCIpPENSPgorYW4gNTAuMTAwLjM1MCAmU3ludGF4LlNoLVMuU25vcnRcIENvbmZpZ3VyYXRpb24gOmNhbCBTZXRTeW4oImhvZyIpPENSPgorYW4gNTAuMTAwLjM2MCAmU3ludGF4LlNoLVMuU1BFQ1wgKExpbnV4XCBSUE0pIDpjYWwgU2V0U3luKCJzcGVjIik8Q1I+CithbiA1MC4xMDAuMzcwICZTeW50YXguU2gtUy5TcGVjbWFuIDpjYWwgU2V0U3luKCJzcGVjbWFuIik8Q1I+CithbiA1MC4xMDAuMzgwICZTeW50YXguU2gtUy5TcGljZSA6Y2FsIFNldFN5bigic3BpY2UiKTxDUj4KK2FuIDUwLjEwMC4zOTAgJlN5bnRheC5TaC1TLlNweWNlIDpjYWwgU2V0U3luKCJzcHljZSIpPENSPgorYW4gNTAuMTAwLjQwMCAmU3ludGF4LlNoLVMuU3BlZWR1cCA6Y2FsIFNldFN5bigic3B1cCIpPENSPgorYW4gNTAuMTAwLjQxMCAmU3ludGF4LlNoLVMuU3BsaW50IDpjYWwgU2V0U3luKCJzcGxpbnQiKTxDUj4KK2FuIDUwLjEwMC40MjAgJlN5bnRheC5TaC1TLlNxdWlkXCBjb25maWcgOmNhbCBTZXRTeW4oInNxdWlkIik8Q1I+CithbiA1MC4xMDAuNDMwICZTeW50YXguU2gtUy5TUUwuRVNRTC1DIDpjYWwgU2V0U3luKCJlc3FsYyIpPENSPgorYW4gNTAuMTAwLjQ0MCAmU3ludGF4LlNoLVMuU1FMLk15U1FMIDpjYWwgU2V0U3luKCJteXNxbCIpPENSPgorYW4gNTAuMTAwLjQ1MCAmU3ludGF4LlNoLVMuU1FMLlBML1NRTCA6Y2FsIFNldFN5bigicGxzcWwiKTxDUj4KK2FuIDUwLjEwMC40NjAgJlN5bnRheC5TaC1TLlNRTC5TUUxcIEFueXdoZXJlIDpjYWwgU2V0U3luKCJzcWxhbnl3aGVyZSIpPENSPgorYW4gNTAuMTAwLjQ3MCAmU3ludGF4LlNoLVMuU1FMLlNRTFwgKGF1dG9tYXRpYykgOmNhbCBTZXRTeW4oInNxbCIpPENSPgorYW4gNTAuMTAwLjQ4MCAmU3ludGF4LlNoLVMuU1FMLlNRTFwgKE9yYWNsZSkgOmNhbCBTZXRTeW4oInNxbG9yYWNsZSIpPENSPgorYW4gNTAuMTAwLjQ5MCAmU3ludGF4LlNoLVMuU1FMLlNRTFwgRm9ybXMgOmNhbCBTZXRTeW4oInNxbGZvcm1zIik8Q1I+CithbiA1MC4xMDAuNTAwICZTeW50YXguU2gtUy5TUUwuU1FMSiA6Y2FsIFNldFN5bigic3FsaiIpPENSPgorYW4gNTAuMTAwLjUxMCAmU3ludGF4LlNoLVMuU1FMLlNRTC1JbmZvcm1peCA6Y2FsIFNldFN5bigic3FsaW5mb3JtaXgiKTxDUj4KK2FuIDUwLjEwMC41MjAgJlN5bnRheC5TaC1TLlNRUiA6Y2FsIFNldFN5bigic3FyIik8Q1I+CithbiA1MC4xMDAuNTMwICZTeW50YXguU2gtUy5Tc2guc3NoX2NvbmZpZyA6Y2FsIFNldFN5bigic3NoY29uZmlnIik8Q1I+CithbiA1MC4xMDAuNTQwICZTeW50YXguU2gtUy5Tc2guc3NoZF9jb25maWcgOmNhbCBTZXRTeW4oInNzaGRjb25maWciKTxDUj4KK2FuIDUwLjEwMC41NTAgJlN5bnRheC5TaC1TLlN0YW5kYXJkXCBNTCA6Y2FsIFNldFN5bigic21sIik8Q1I+CithbiA1MC4xMDAuNTYwICZTeW50YXguU2gtUy5TdGF0YS5TTUNMIDpjYWwgU2V0U3luKCJzbWNsIik8Q1I+CithbiA1MC4xMDAuNTcwICZTeW50YXguU2gtUy5TdGF0YS5TdGF0YSA6Y2FsIFNldFN5bigic3RhdGEiKTxDUj4KK2FuIDUwLjEwMC41ODAgJlN5bnRheC5TaC1TLlN0b3JlZFwgUHJvY2VkdXJlcyA6Y2FsIFNldFN5bigic3RwIik8Q1I+CithbiA1MC4xMDAuNTkwICZTeW50YXguU2gtUy5TdHJhY2UgOmNhbCBTZXRTeW4oInN0cmFjZSIpPENSPgorYW4gNTAuMTAwLjYwMCAmU3ludGF4LlNoLVMuU3RyZWFtaW5nXCBkZXNjcmlwdG9yXCBmaWxlIDpjYWwgU2V0U3luKCJzZCIpPENSPgorYW4gNTAuMTAwLjYxMCAmU3ludGF4LlNoLVMuU3VidmVyc2lvblwgY29tbWl0IDpjYWwgU2V0U3luKCJzdm4iKTxDUj4KK2FuIDUwLjEwMC42MjAgJlN5bnRheC5TaC1TLlN1ZG9lcnMgOmNhbCBTZXRTeW4oInN1ZG9lcnMiKTxDUj4KK2FuIDUwLjEwMC42MzAgJlN5bnRheC5TaC1TLlN5bWJpYW5cIG1ldGEtbWFrZWZpbGUgOmNhbCBTZXRTeW4oIm1tcCIpPENSPgorYW4gNTAuMTAwLjY0MCAmU3ludGF4LlNoLVMuU3lzY3RsXC5jb25mIDpjYWwgU2V0U3luKCJzeXNjdGwiKTxDUj4KK2FuIDUwLjExMC4xMDAgJlN5bnRheC5UVVYuVEFEUyA6Y2FsIFNldFN5bigidGFkcyIpPENSPgorYW4gNTAuMTEwLjExMCAmU3ludGF4LlRVVi5UYWdzIDpjYWwgU2V0U3luKCJ0YWdzIik8Q1I+CithbiA1MC4xMTAuMTIwICZTeW50YXguVFVWLlRBSy5UQUtcIGNvbXBhcmUgOmNhbCBTZXRTeW4oInRha2NtcCIpPENSPgorYW4gNTAuMTEwLjEzMCAmU3ludGF4LlRVVi5UQUsuVEFLXCBpbnB1dCA6Y2FsIFNldFN5bigidGFrIik8Q1I+CithbiA1MC4xMTAuMTQwICZTeW50YXguVFVWLlRBSy5UQUtcIG91dHB1dCA6Y2FsIFNldFN5bigidGFrb3V0Iik8Q1I+CithbiA1MC4xMTAuMTUwICZTeW50YXguVFVWLlRjbC9UayA6Y2FsIFNldFN5bigidGNsIik8Q1I+CithbiA1MC4xMTAuMTYwICZTeW50YXguVFVWLlRlYWxJbmZvIDpjYWwgU2V0U3luKCJ0bGkiKTxDUj4KK2FuIDUwLjExMC4xNzAgJlN5bnRheC5UVVYuVGVsaXhcIFNhbHQgOmNhbCBTZXRTeW4oInRzYWx0Iik8Q1I+CithbiA1MC4xMTAuMTgwICZTeW50YXguVFVWLlRlcm1jYXAvUHJpbnRjYXAgOmNhbCBTZXRTeW4oInB0Y2FwIik8Q1I+CithbiA1MC4xMTAuMTkwICZTeW50YXguVFVWLlRlcm1pbmZvIDpjYWwgU2V0U3luKCJ0ZXJtaW5mbyIpPENSPgorYW4gNTAuMTEwLjIwMCAmU3ludGF4LlRVVi5UZVguVGVYL0xhVGVYIDpjYWwgU2V0U3luKCJ0ZXgiKTxDUj4KK2FuIDUwLjExMC4yMTAgJlN5bnRheC5UVVYuVGVYLnBsYWluXCBUZVggOmNhbCBTZXRTeW4oInBsYWludGV4Iik8Q1I+CithbiA1MC4xMTAuMjIwICZTeW50YXguVFVWLlRlWC5Db25UZVh0IDpjYWwgU2V0U3luKCJjb250ZXh0Iik8Q1I+CithbiA1MC4xMTAuMjMwICZTeW50YXguVFVWLlRlWC5UZVhcIGNvbmZpZ3VyYXRpb24gOmNhbCBTZXRTeW4oInRleG1mIik8Q1I+CithbiA1MC4xMTAuMjQwICZTeW50YXguVFVWLlRlWC5UZXhpbmZvIDpjYWwgU2V0U3luKCJ0ZXhpbmZvIik8Q1I+CithbiA1MC4xMTAuMjUwICZTeW50YXguVFVWLlRGXCBtdWRcIGNsaWVudCA6Y2FsIFNldFN5bigidGYiKTxDUj4KK2FuIDUwLjExMC4yNjAgJlN5bnRheC5UVVYuVGlkeVwgY29uZmlndXJhdGlvbiA6Y2FsIFNldFN5bigidGlkeSIpPENSPgorYW4gNTAuMTEwLjI3MCAmU3ludGF4LlRVVi5UaWxkZSA6Y2FsIFNldFN5bigidGlsZGUiKTxDUj4KK2FuIDUwLjExMC4yODAgJlN5bnRheC5UVVYuVFBQIDpjYWwgU2V0U3luKCJ0cHAiKTxDUj4KK2FuIDUwLjExMC4yOTAgJlN5bnRheC5UVVYuVHJhc3lzXCBpbnB1dCA6Y2FsIFNldFN5bigidHJhc3lzIik8Q1I+CithbiA1MC4xMTAuMzAwICZTeW50YXguVFVWLlRydXN0ZWVzIDpjYWwgU2V0U3luKCJ0cnVzdGVlcyIpPENSPgorYW4gNTAuMTEwLjMxMCAmU3ludGF4LlRVVi5UU1MuQ29tbWFuZFwgTGluZSA6Y2FsIFNldFN5bigidHNzY2wiKTxDUj4KK2FuIDUwLjExMC4zMjAgJlN5bnRheC5UVVYuVFNTLkdlb21ldHJ5IDpjYWwgU2V0U3luKCJ0c3NnbSIpPENSPgorYW4gNTAuMTEwLjMzMCAmU3ludGF4LlRVVi5UU1MuT3B0aWNzIDpjYWwgU2V0U3luKCJ0c3NvcCIpPENSPgorYW4gNTAuMTEwLjM1MCAmU3ludGF4LlRVVi5VZGV2XCBjb25maWcgOmNhbCBTZXRTeW4oInVkZXZjb25mIik8Q1I+CithbiA1MC4xMTAuMzYwICZTeW50YXguVFVWLlVkZXZcIHBlcm1pc3Npb25zIDpjYWwgU2V0U3luKCJ1ZGV2cGVybSIpPENSPgorYW4gNTAuMTEwLjM3MCAmU3ludGF4LlRVVi5VZGV2XCBydWxlcyA6Y2FsIFNldFN5bigidWRldnJ1bGVzIik8Q1I+CithbiA1MC4xMTAuMzgwICZTeW50YXguVFVWLlVJVC9VSUwgOmNhbCBTZXRTeW4oInVpbCIpPENSPgorYW4gNTAuMTEwLjM5MCAmU3ludGF4LlRVVi5VbnJlYWxTY3JpcHQgOmNhbCBTZXRTeW4oInVjIik8Q1I+CithbiA1MC4xMTAuNDAwICZTeW50YXguVFVWLlVwZGF0ZWRiXC5jb25mIDpjYWwgU2V0U3luKCJ1cGRhdGVkYiIpPENSPgorYW4gNTAuMTEwLjQyMCAmU3ludGF4LlRVVi5WYWxncmluZCA6Y2FsIFNldFN5bigidmFsZ3JpbmQiKTxDUj4KK2FuIDUwLjExMC40MzAgJlN5bnRheC5UVVYuVmVyYSA6Y2FsIFNldFN5bigidmVyYSIpPENSPgorYW4gNTAuMTEwLjQ0MCAmU3ludGF4LlRVVi5WZXJpbG9nLUFNU1wgSERMIDpjYWwgU2V0U3luKCJ2ZXJpbG9nYW1zIik8Q1I+CithbiA1MC4xMTAuNDUwICZTeW50YXguVFVWLlZlcmlsb2dcIEhETCA6Y2FsIFNldFN5bigidmVyaWxvZyIpPENSPgorYW4gNTAuMTEwLjQ2MCAmU3ludGF4LlRVVi5WZ3JpbmRlZnMgOmNhbCBTZXRTeW4oInZncmluZGVmcyIpPENSPgorYW4gNTAuMTEwLjQ3MCAmU3ludGF4LlRVVi5WSERMIDpjYWwgU2V0U3luKCJ2aGRsIik8Q1I+CithbiA1MC4xMTAuNDgwICZTeW50YXguVFVWLlZpbS5WaW1cIGhlbHBcIGZpbGUgOmNhbCBTZXRTeW4oImhlbHAiKTxDUj4KK2FuIDUwLjExMC40OTAgJlN5bnRheC5UVVYuVmltLlZpbVwgc2NyaXB0IDpjYWwgU2V0U3luKCJ2aW0iKTxDUj4KK2FuIDUwLjExMC41MDAgJlN5bnRheC5UVVYuVmltLlZpbWluZm9cIGZpbGUgOmNhbCBTZXRTeW4oInZpbWluZm8iKTxDUj4KK2FuIDUwLjExMC41MTAgJlN5bnRheC5UVVYuVmlyYXRhXCBjb25maWcgOmNhbCBTZXRTeW4oInZpcmF0YSIpPENSPgorYW4gNTAuMTEwLjUyMCAmU3ludGF4LlRVVi5WaXN1YWxcIEJhc2ljIDpjYWwgU2V0U3luKCJ2YiIpPENSPgorYW4gNTAuMTEwLjUzMCAmU3ludGF4LlRVVi5WT1NcIENNXCBtYWNybyA6Y2FsIFNldFN5bigidm9zY20iKTxDUj4KK2FuIDUwLjExMC41NDAgJlN5bnRheC5UVVYuVlJNTCA6Y2FsIFNldFN5bigidnJtbCIpPENSPgorYW4gNTAuMTEwLjU1MCAmU3ludGF4LlRVVi5WU0VcIEpDTCA6Y2FsIFNldFN5bigidnNlamNsIik8Q1I+CithbiA1MC4xMjAuMTAwICZTeW50YXguV1hZWi5XRUIuQ1dFQiA6Y2FsIFNldFN5bigiY3dlYiIpPENSPgorYW4gNTAuMTIwLjExMCAmU3ludGF4LldYWVouV0VCLldFQiA6Y2FsIFNldFN5bigid2ViIik8Q1I+CithbiA1MC4xMjAuMTIwICZTeW50YXguV1hZWi5XRUIuV0VCXCBDaGFuZ2VzIDpjYWwgU2V0U3luKCJjaGFuZ2UiKTxDUj4KK2FuIDUwLjEyMC4xMzAgJlN5bnRheC5XWFlaLldlYm1hY3JvIDpjYWwgU2V0U3luKCJ3ZWJtYWNybyIpPENSPgorYW4gNTAuMTIwLjE0MCAmU3ludGF4LldYWVouV2Vic2l0ZVwgTWV0YUxhbmd1YWdlIDpjYWwgU2V0U3luKCJ3bWwiKTxDUj4KK2FuIDUwLjEyMC4xNjAgJlN5bnRheC5XWFlaLndEaWZmIDpjYWwgU2V0U3luKCJ3ZGlmZiIpPENSPgorYW4gNTAuMTIwLjE4MCAmU3ludGF4LldYWVouV2dldFwgY29uZmlnIDpjYWwgU2V0U3luKCJ3Z2V0Iik8Q1I+CithbiA1MC4xMjAuMTkwICZTeW50YXguV1hZWi5XaGl0ZXNwYWNlXCAoYWRkKSA6Y2FsIFNldFN5bigid2hpdGVzcGFjZSIpPENSPgorYW4gNTAuMTIwLjIwMCAmU3ludGF4LldYWVouV2lsZFBhY2tldHNcIEV0aGVyUGVla1wgRGVjb2RlciA6Y2FsIFNldFN5bigiZGNkIik8Q1I+CithbiA1MC4xMjAuMjEwICZTeW50YXguV1hZWi5XaW5CYXRjaC9XZWJiYXRjaCA6Y2FsIFNldFN5bigid2luYmF0Y2giKTxDUj4KK2FuIDUwLjEyMC4yMjAgJlN5bnRheC5XWFlaLldpbmRvd3NcIFNjcmlwdGluZ1wgSG9zdCA6Y2FsIFNldFN5bigid3NoIik8Q1I+CithbiA1MC4xMjAuMjMwICZTeW50YXguV1hZWi5XU01MIDpjYWwgU2V0U3luKCJ3c21sIik8Q1I+CithbiA1MC4xMjAuMjQwICZTeW50YXguV1hZWi5XdkRpYWwgOmNhbCBTZXRTeW4oInd2ZGlhbCIpPENSPgorYW4gNTAuMTIwLjI2MCAmU3ludGF4LldYWVouWFwgS2V5Ym9hcmRcIEV4dGVuc2lvbiA6Y2FsIFNldFN5bigieGtiIik8Q1I+CithbiA1MC4xMjAuMjcwICZTeW50YXguV1hZWi5YXCBQaXhtYXAgOmNhbCBTZXRTeW4oInhwbSIpPENSPgorYW4gNTAuMTIwLjI4MCAmU3ludGF4LldYWVouWFwgUGl4bWFwXCAoMikgOmNhbCBTZXRTeW4oInhwbTIiKTxDUj4KK2FuIDUwLjEyMC4yOTAgJlN5bnRheC5XWFlaLlhcIHJlc291cmNlcyA6Y2FsIFNldFN5bigieGRlZmF1bHRzIik8Q1I+CithbiA1MC4xMjAuMzAwICZTeW50YXguV1hZWi5YQkwgOmNhbCBTZXRTeW4oInhibCIpPENSPgorYW4gNTAuMTIwLjMxMCAmU3ludGF4LldYWVouWGluZXRkXC5jb25mIDpjYWwgU2V0U3luKCJ4aW5ldGQiKTxDUj4KK2FuIDUwLjEyMC4zMjAgJlN5bnRheC5XWFlaLlhtb2RtYXAgOmNhbCBTZXRTeW4oInhtb2RtYXAiKTxDUj4KK2FuIDUwLjEyMC4zMzAgJlN5bnRheC5XWFlaLlhtYXRoIDpjYWwgU2V0U3luKCJ4bWF0aCIpPENSPgorYW4gNTAuMTIwLjM0MCAmU3ludGF4LldYWVouWE1MIDpjYWwgU2V0U3luKCJ4bWwiKTxDUj4KK2FuIDUwLjEyMC4zNTAgJlN5bnRheC5XWFlaLlhNTFwgU2NoZW1hXCAoWFNEKSA6Y2FsIFNldFN5bigieHNkIik8Q1I+CithbiA1MC4xMjAuMzYwICZTeW50YXguV1hZWi5YUXVlcnkgOmNhbCBTZXRTeW4oInhxdWVyeSIpPENSPgorYW4gNTAuMTIwLjM3MCAmU3ludGF4LldYWVouWHNsdCA6Y2FsIFNldFN5bigieHNsdCIpPENSPgorYW4gNTAuMTIwLjM4MCAmU3ludGF4LldYWVouWEZyZWU4NlwgQ29uZmlnIDpjYWwgU2V0U3luKCJ4Zjg2Y29uZiIpPENSPgorYW4gNTAuMTIwLjQwMCAmU3ludGF4LldYWVouWUFNTCA6Y2FsIFNldFN5bigieWFtbCIpPENSPgorYW4gNTAuMTIwLjQxMCAmU3ludGF4LldYWVouWWFjYyA6Y2FsIFNldFN5bigieWFjYyIpPENSPgorCisiIFRoZSBFbmQgT2YgVGhlIFN5bnRheCBNZW51CisKKworYW4gNTAuMTk1ICZTeW50YXguLVNFUDEtCQkJPE5vcD4KKworYW4gPHNpbGVudD4gNTAuMjAwICZTeW50YXguU2V0XCAnJnN5bnRheCdcIG9ubHkgOmNhbGwgPFNJRD5TZXRzeW5vbmx5KCk8Q1I+CitmdW4hIHM6U2V0c3lub25seSgpCisgIGxldCBzOnN5bnRheF9tZW51X3N5bm9ubHkgPSAxCitlbmRmdW4KK2FuIDxzaWxlbnQ+IDUwLjIwMiAmU3ludGF4LlNldFwgJyZmaWxldHlwZSdcIHRvbyA6Y2FsbCA8U0lEPk5vc3lub25seSgpPENSPgorZnVuISBzOk5vc3lub25seSgpCisgIGlmIGV4aXN0cygiczpzeW50YXhfbWVudV9zeW5vbmx5IikKKyAgICB1bmxldCBzOnN5bnRheF9tZW51X3N5bm9ubHkKKyAgZW5kaWYKK2VuZGZ1bgorCisiIFJlc3RvcmUgJ2Nwb3B0aW9ucycKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci9ydW50aW1lL3ZpbTQ4eDQ4LnBuZyBiL3J1bnRpbWUvdHV0b3IvcnVudGltZS92aW00OHg0OC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJhYzY3ZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvcnVudGltZS92aW00OHg0OC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5kZS51dGYtOCBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUudXRmLTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IzOWFiZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUudXRmLTgKQEAgLTAsMCArMSw5ODAgQEAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gICAgICBXIGkgbCBsIGsgbyBtIG0gZSBuICAgaW0gICBWIEkgTSAgIFQgdSB0IG8gciAgICAtICAgIFZlcnNpb24gMS43RCAgICAgID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgVmltIGlzdCBlaW4gc2VociBtw6RjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OyB6dSB2aWVsZSwKKyAgIHVtIGFsbGUgaW4gZWluZW0gVHV0b3Igd2llIGRpZXNlbSB6dSBlcmtsw6RyZW4uICBEaWVzZXIgVHV0b3IgaXN0IHNvCisgICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBkYXNzIER1IGRpZSBGw6RoaWdrZWl0IGVybGFuZ3N0LAorICAgVmltIG1pdCBMZWljaHRpZ2tlaXQgYWxzIGVpbmVuIEFsbHp3ZWNrLUVkaXRvciB6dSBiZW51dHplbi4KKyAgIERpZSBaZWl0IGbDvHIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRyw6RndCBjYS4gMjUtMzAgTWludXRlbiwKKyAgIGFiaMOkbmdpZyBkYXZvbiwgd2llIHZpZWwgWmVpdCBEdSBtaXQgRXhwZXJpbWVudGllcmVuIHZlcmJyaW5nc3QuCisKKyAgIEFDSFRVTkc6CisgICBEaWUgaW4gZGVuIExla3Rpb25lbiBhbmdld2VuZGV0ZW4gS29tbWFuZG9zIHdlcmRlbiBkZW4gVGV4dCBtb2RpZml6aWVyZW4uCisgICBFcnN0ZWxsZSBlaW5lIEtvcGllIGRpZXNlciBEYXRlaSwgaW4gZGVyIER1IMO8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIgorICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLgorCisgICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfDpHJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgZsO8ciBkYXMgQW53ZW5kZW4KKyAgIGtvbnppcGllcnQgaXN0LiBEYXMgYmVkZXV0ZXQsIGRhc3MgRHUgZGllIEJlZmVobGUgYXVzZsO8aHJlbiBtdXNzdCwgdW0gc2llCisgICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQorCisgICBKZXR6dCBzdGVsbGUgc2ljaGVyLCBkYXNzIERlaW5lIFVtc3RlbGx0YXN0ZSBOSUNIVCBnZWRyw7xja3QgaXN0IHVuZCBiZXTDpHRpZ2UKKyAgIGRpZSAgIGogICBUYXN0ZSBnZW7DvGdlbmQgTWFsZSwgdW0gZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1IGJld2VnZW4sIHNvIGRhc3MKKyAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZsO8bGx0Lgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWt0aW9uIDEuMTogQkVXRUdFTiBERVMgQ1VSU09SUworCisgICoqIFVtIGRlbiBDdXJzb3IgenUgYmV3ZWdlbiwgZHLDvGNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqCisJICAgICBeCQkgSGlsZmVzdGVsbHVuZzoKKwkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4KKyAgICAgICA8IGgJIGwgPgkgRGllIGwgVGFzdGUgbGllZ3QgcmVjaHRzIHVuZCBiZXdlZ3QgbmFjaCByZWNodHMuCisJICAgICBqCQkgRGllIGogVGFzdGUgw6RobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLgorCSAgICAgdgorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciBhdWYgZGVtIEJpbGRzY2hpcm0gdW1oZXIsIGJpcyBEdSBEaWNoIHNpY2hlciBmw7xobHN0LgorCisgIDIuIEhhbHRlIGRpZSBOYWNoLVVudGVuLVRhc3RlIChqKSBnZWRyw7xja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0LgorICAgICBKZXR6dCB3ZWnDn3QgRHUsIHdpZSBEdSBEaWNoIHp1ciBuw6RjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4KKworICAzLiBCZW51dHplIGRpZSBOYWNoLVVudGVuLVRhc3RlLCB1bSBEaWNoIHp1IExla3Rpb24gMS4yIHp1IGJld2VnZW4uCisKK0JlbWVya3VuZzogSW1tZXIsIHdlbm4gRHUgRGlyIHVuc2ljaGVyIGJpc3Qgw7xiZXIgZGFzLCB3YXMgRHUgZ2V0aXBwdCBoYXN0LAorCSAgIGRyw7xja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLgorCSAgIERhbm4gZ2liIGRhcyBnZXfDvG5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uCisKK0JlbWVya3VuZzogRGllIEN1cnNvci1UYXN0ZW4gc29sbHRlbiBlYmVuZmFsbHMgZnVua3Rpb25pZXJlbi4gIEFiZXIgd2VubiBEdQorCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyCisJICAgdW1oZXJ6dWJld2VnZW4sIHdlbm4gRHUgRGljaCBlaW5tYWwgZGFyYW4gZ2V3w7ZobnQgaGFzdC4gV2lya2xpY2ghCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICBMZWt0aW9uIDEuMjogVklNIEJFRU5ERU4KKworCisgICEhIEFDSFRVTkc6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWbDvGhydGVuIFNjaHJpdHRlIGF1c2bDvGhyc3QsIGxpZXMKKyAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKKworICAxLiBEcsO8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QpLgorCisgIDIuIFRpcHBlOgk6cSEgPEVOVEVSPi4KKyAgICAgRGllcyBiZWVuZGV0IGRlbiBFZGl0b3IgdW5kIFZFUldJUkZUIGFsbGUgw4RuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuCisKKyAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQorICAgICBkaWVzZW0gVHV0b3IgZ2Vmw7xocnQgaGF0LiBEaWVzIHfDpHJlOgl2aW10dXRvciA8RU5URVI+CisKKyAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcsOkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZsO8aGxzdCwKKyAgICAgZsO8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyCisgICAgIGhpbmVpbnp1Z2VsYW5nZW4uCisKK0JlbWVya3VuZzogIDpxISA8RU5URVI+ICB2ZXJ3aXJmdCBhbGxlIMOEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LiBJbgorICAgICBlaW5pZ2VuIExla3Rpb25lbiBsZXJuc3QgRHUgLCBkaWUgw4RuZGVydW5nZW4gaW4gZWluZXIgRGF0ZWkgenUgc3BlaWNoZXJuLgorCisgIDUuIEJld2VnZSBkZW4gQ3Vyc29yIGFid8OkcnRzIHp1IExla3Rpb24gMS4zLgorIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzDllNDSEVOCisKKworCSAqKiBEcsO8Y2tlICB4ICB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGzDtnNjaGVuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgorCisgIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBhdWYgZGVtIFplaWNoZW4gc3RlaHQsCisgICAgIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuCisKKyAgMy4gRHLDvGNrZSBkaWUgIHggIFRhc3RlLCB1bSBkYXMgw7xiZXJmbMO8c3NpZ2UgWmVpY2hlbiB6dSBsw7ZzY2hlbi4KKworICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QuCisKKy0tLT4gRGllIEtrdWggc3ByYW5nZyDDvGJiZXIgZGVlbiBNb29uZC4KKworICA1LiBXZW5uIG51biBkaWUgWmVpbGUga29ycmVrdCBpc3QsIGdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDEuNC4KKworQW5tZXJrdW5nOiBXw6RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUKKyAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla3Rpb24gMS40OiBURVhUIEVESVRJRVJFTiAtIEVJTkbDnEdFTgorCisKKwkJICAgICoqICBEcsO8Y2tlICBpICAsIHVtIFRleHQgZWluenVmw7xnZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKworICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYKKyAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCB3byBkZXIgVGV4dCBlaW5nZWbDvGd0IHdlcmRlbiBzb2xsLgorCisgIDMuIERyw7xja2UgIGkgIHVuZCBnaWIgZGllIG5vdHdlbmRpZ2VuIEVyZ8Okbnp1bmdlbiBlaW4uCisKKyAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHLDvGNrZSA8RVNDPiAsIHVtIHp1bSBOb3JtYWxtb2R1cworICAgICB6dXLDvGNrenVrZWhyZW4uCisgICAgIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgorCistLS0+IEluIGRpZXNlciBmdCBldHdhcyAuCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgorCisgIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmbDvGdlbiB2b24gVGV4dCBzaWNoZXIgZsO8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWt0aW9uIDEuNTogVEVYVCBFRElUSUVSRU4gLSBBTkbDnEdFTgorCisKKwkJICAgICAqKiBEcsO8Y2tlICBBICAsIHVtIFRleHQgYW56dWbDvGdlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorICAgICBFcyBpc3QgZ2xlaWNoZ8O8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4KKworICAyLiBEcsO8Y2tlICBBICB1bmQgZ2liIGRpZSBuw7Z0aWdlbiBFcmfDpG56dW5nZW4gZWluLgorCisgIDMuIFdlbm4gZGFzIEFuZsO8Z2VuIGFiZ2VzY2hsb3NzZW4gaXN0LCBkcsO8Y2tlIDxFU0M+LCB1bSBpbiBkZW4gTm9ybWFsbW9kdXMKKyAgICAgenVyw7xja3p1a2VocmVuLgorCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW5kIHdpZWRlcmhvbGUKKyAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgorCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWgKKyAgICAgSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCistLS0+IEF1Y2ggaGllciBzdGVoCisgICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdMOkbmRpZ2VzLgorCisgIDUuIFdlbm4gRHUgZGljaCBtaXQgZGVtIEFuZsO8Z2VuIHZvbiBUZXh0IHNpY2hlciBmw7xobHN0LCBnZWhlIHp1IExla3Rpb24gMS42Lgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWt0aW9uIDEuNjogRUlORSBEQVRFSSBFRElUSUVSRU4KKworCisgICAgICoqIEJlbnV0emUgIDp3cSAgLCB1bSBlaW5lIERhdGVpIHp1IHNwZWljaGVybiB1bmQgVmltIHp1IHZlcmxhc3Nlbi4gKioKKworICAhISBBQ0hUVU5HOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vmw7xocnRlbiBTY2hyaXR0ZSBhdXNmw7xocnN0LCBsaWVzCisgICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhCisKKyAgMS4gVmVybGFzc2UgZGVuIEVkaXRvciBzbyB3aWUgaW4gTGVrdGlvbiAxLjI6ICA6cSEKKworICAyLiBHaWIgZGllc2VzIEtvbW1hbmRvIGluIGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIGVpbjogIHZpbSB0dXRvciA8RU5URVI+CisgICAgICd2aW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuCisgICAgIEJlbnV0emUgZWluZSBEYXRlaSwgZGllIGdlw6RuZGVydCB3ZXJkZW4ga2Fubi4KKworICAzLiBGw7xnZSBUZXh0IGVpbiBvZGVyIGzDtnNjaGUgaWhuLCB3aWUgRHUgaW4gZGVuIHZvcmlnZW4gTGVrdGlvbmVuIGdlbGVybnQKKyAgICAgaGFzdC4KKworICA0LiBTcGVpY2hlcmUgZGllIGdlw6RuZGVydGUgRGF0ZWkgdW5kIHZlcmxhc3NlIFZpbSBtaXQ6ICA6d3EgPEVOVEVSPgorCisgIDUuIFN0YXJ0ZSBkZW4gdmltdHV0b3IgbmV1IHVuZCBiZXdlZ2UgRGljaCB6dSBkZXIgZm9sZ2VuZGVuIFp1c2FtbWVuZmFzc3VuZy4KKworICA2LiBOYWNoZGVtIER1IG9iaWdlIFNjaHJpdHRlIGdlbGVzZW4gdW5kIHZlcnN0YW5kZW4gaGFzdCwgZsO8aHJlIHNpZSBkdXJjaC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxCisKKworICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuCisJIGggKGxpbmtzKSAgICAgaiAodW50ZW4pICAgICBrIChhdWZ3w6RydHMpICAgIGwgKHJlY2h0cykKKworICAyLiBVbSBWaW0gdm9uIGRlciBFaW5nYWJlYXVmZm9yZGVydW5nIGF1c3p1ZsO8aHJlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+CisKKyAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiB1bmQgYWxsZSDDhG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOgorCQk8RVNDPiAgOnEhICA8RU5URVI+IC4KKwlPREVSIHRpcHBlOgk8RVNDPiAgOndxICA8RU5URVI+ICwgdW0gZGllIMOEbmRlcnVuZ2VuIHp1IHNwZWljaGVybi4KKworICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGzDtnNjaGVuLCB0aXBwZTogIHgKKworICA1LiBVbSBUZXh0IGVpbnp1ZsO8Z2VuIG9kZXIgYW56dWbDvGdlbiwgdGlwcGU6CisJIGkgICBFaW56dWbDvGdlbmRlbiBUZXh0IGVpbmdlYmVuICAgPEVTQz4gICAgRWluZsO8Z2VuIHZvciBkZW0gQ3Vyc29yCisJIEEgICBBbnp1ZsO8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICAgPEVTQz4gICAgQW5mw7xnZW4gbmFjaCBkZW0gWmVpbGVuZGVuZQorCitCZW1lcmt1bmc6IERyw7xja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluCisgICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCisKKyAgICAgTnVuIGZhaHJlIG1pdCBMZWt0aW9uIDIgZm9ydC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICBMZWt0aW9uIDIuMTogTMOWU0NIS09NTUFORE9TCisKKworCQkgICAqKiBUaXBwZSAgZHcgICwgdW0gZWluIFdvcnQgenUgbMO2c2NoZW4uICoqCisKKyAgMS4gRHLDvGNrZSAgPEVTQz4gIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0LgorCisgIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgorCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZWluZXMgV29ydGVzLCBkYXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLgorCisgIDQuIFRpcHBlICBkdyAgLCB1bSBkYXMgV29ydCB6dSBlbnRmZXJuZW4uCisKKyAgQmVtZXJrdW5nOiBEZXIgQnVjaHN0YWJlICBkICBlcnNjaGVpbnQgYXVmIGRlciBsZXR6dGVuIFplaWxlIGRlcyBCaWxkc2NoaXJtcywKKyAgICAgICAgd2VubiBEdSBpaG4gZWluZ2lic3QuIFZpbSB3YXJ0ZXQgZGFyYXVmLCBkYcOfIER1ICB3ICBlaW5naWJzdC4gV2VubiBEdQorICAgICAgICBlaW4gYW5kZXJlcyBaZWljaGVuIGFscyAgZCAgc2llaHN0LCBoYXN0IER1IGV0d2FzIGZhbHNjaGVzIGdldGlwcHQ7CisgICAgICAgIGRyw7xja2UgPEVTQz4gdW5kIGJlZ2lubmUgbmV1LgorCistLS0+IEVpbmlnZSBXw7ZydGVyIGx1c3RpZyBnZWjDtnJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouCisKKyAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMyB1bmQgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0IHVuZCBnZWhlCisgICAgIGRhbmFjaCB6dXIgTGVrdGlvbiAyLjIuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrdGlvbiAyLjI6IFdFSVRFUkUgTMOWU0NIS09NTUFORE9TCisKKworCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBsw7ZzY2hlbi4gKioKKworICAxLiBEcsO8Y2tlIDxFU0M+ICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuCisKKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCisKKyAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIGtvcnJla3RlbiBaZWlsZSAoTkFDSCBkZW0gZXJzdGVuIC4gKS4KKworICA0LiBUaXBwZSAgICBkJCAgICAsIHVtIGJpcyB6dW0gRW5kZSBkZXIgWmVpbGUgenUgbMO2c2NoZW4uCisKKy0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uCisKKworICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHBhc3NpZXJ0LgorCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgTGVrdGlvbiAyLjM6IMOcQkVSIE9QRVJBVE9SRU4gVU5EIEJFV0VHVU5HU1rDnEdFCisKKworICBWaWVsZSBLb21tYW5kb3MsIGRpZSBUZXh0IMOkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXIKKyAgQmV3ZWd1bmcgenVzYW1tZW4uIERhcyBGb3JtYXQgZsO8ciBlaW4gTMO2c2Noa29tbWFuZG8gbWl0IGRlbSBMw7ZzY2hvcGVyYXRvciAgZAorICBsYXV0ZXQgd2llIGZvbGd0OgorCisgICAgZCAgQmV3ZWd1bmcKKworICB3b2JlaToKKyAgICBkICAgICAgICAtIGRlciBMw7ZzY2hvcGVyYXRvcgorICAgIEJld2VndW5nIC0gd29yYXVmIGRlciBMw7ZzY2hvcGVyYXRvciBhbmdld2FuZHQgd2lyZCAodW50ZW4gYXVmZ2VsaXN0ZXQpLgorCisgIEVpbmUga2xlaW5lIEF1Zmxpc3R1bmcgdm9uIEJld2VndW5nZW46CisgICAgdyAtIGJpcyB6dW0gQmVnaW5uIGRlcyBuw6RjaHN0ZW4gV29ydGVzIE9ITkUgZGVzc2VuIGVyc3RlcyBaZWljaGVuLgorICAgIGUgLSB6dW0gRW5kZSBkZXMgYWt0dWVsbGVuIFdvcnRlcyBNSVQgZGVzc2VuIGxldHp0ZW0gWmVpY2hlbi4KKyAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0emVuIFplaWNoZW4uCisKKyAgRGVtZW50c3ByZWNoZW5kIGzDtnNjaHQgZGllIEVpbmdhYmUgdm9uICBkZSAgdm9tIEN1cnNvciBhbiBiaXMgenVtIFdvcnRlbmRlLgorCitCZW1lcmt1bmc6ICBEaWUgRWluZ2FiZSBsZWRpZ2xpY2ggZGVzIEJld2VndW5nc3RlaWxzIGltIE5vcm1hbG1vZHVzIGJld2VndCBkZW4KKyAgQ3Vyc29yIGVudHNwcmVjaGVuZC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCUxla3Rpb24gMi40OiBBTldFTkRVTkcgRUlORVMgWsOESExFUlMgRsOcUiBFSU5FTiBCRVdFR1VOR1NTQ0hSSVRUCisKKworICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCB2b3IgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCB3aWVkZXJob2x0IGRpZXNlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQmVnaW5uIGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgorCisgIDIuIFRpcHBlICAydyAgLCB1bSBkZW4gQ3Vyc29yIHp3ZWkgV8O2cnRlciB2b3J3w6RydHMgenUgYmV3ZWdlbi4KKworICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4KKworICA0LiBUaXBwZSAgMCAgKE51bGwpICwgdW0genVtIEFuZmFuZyBkZXIgWmVpbGUgenUgZ2VsYW5nZW4uCisKKyAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzIG1pdCB2ZXJzY2hpZWRlbmVuIFrDpGhsZXJuLgorCisgIC0tLT4gRGllcyBpc3QgbnVyIGVpbmUgWmVpbGUgYXVzIFfDtnJ0ZW4gdW0gc2ljaCBkYXJpbiBoZXJ1bXp1YmV3ZWdlbi4KKworICA2LiBHZWhlIHdlaXRlciB6dSBMZWt0aW9uIDIuNS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJIExla3Rpb24gMi41OiBBTldFTkRVTkcgRUlORVMgWsOESExFUlMgRsOcUiBNRUhSRVJFIEzDllNDSFZPUkfDhE5HRQorCisKKyAgICoqIERpZSBFaW5nYWJlIGVpbmVyIFphaGwgbWl0IGVpbmVtIE9wZXJhdG9yIHdpZWRlcmhvbHQgZGllc2VuIG1laHJmYWNoLiAqKgorCisgIEbDvHIgZGllIEtvbWJpbmF0aW9uIGRlcyBMw7ZzY2hvcGVyYXRvcnMgdW5kIGVpbmVtIEJld2VndW5nc3NjaHJpdHQgKHNpZWhlCisgIG9iZW4pIHN0ZWxsdCBtYW4gZGVtIEJld2VndW5nc3NjaHJpdHQgZWluZW4gWsOkaGxlciB2b3JhbiwgdW0gbWVociB6dSBsw7ZzY2hlbjoKKwkgZCAgTnVtbWVyICBCZXdlZ3VuZ3NzY2hyaXR0CisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4KKyAgICAgbWFya2llcmVuIFplaWxlLgorCisgIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV8O2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4genUgbMO2c2NoZW4uCisKKyAgMy4gV2llZGVyaG9sZSBTY2hyaXR0ZSAxIHVuZCAgMiBtaXQgZWluZW0gYW5kZXJlbiBaw6RobGVyLCB1bSBkaWUKKyAgICAgZGFyYXVmZm9sZ2VuZGVuIFfDtnJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIG1pdCBlaW5lbSBlaW56aWdlbiBLb21tYW5kbworICAgICB6dSBsw7ZzY2hlbi4KKworLS0tPiAgRGllc2UgQUJDIERFIFplaWxlIEZHSEkgSksgTE1OIE9QIG1pdCBXw7ZydGVybiBpc3QgUSBSUyBUVVYgYmVyZWluaWd0LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWt0aW9uIDIuNjogQVJCRUlURU4gQVVGIFpFSUxFTgorCisKKwkgICAgICAgKiogVGlwcGUgIGRkICAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbMO2c2NoZW4uICoqCisKKyAgV2VnZW4gZGVyIEjDpHVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbMO2c2NodCwga2FtZW4gZGllIEVudHdpY2tsZXIgdm9uCisgIFZpIGRhcmF1ZiwgZGFzcyBlcyBsZWljaHRlciB3w6RyZSwgZWluZmFjaCB6d2VpIGQncyBlaW56dWdlYmVuLCB1bSBlaW5lIFplaWxlCisgIHp1IGzDtnNjaGVuLgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIFplaWxlIGluIGRlciB1bnRlbiBzdGVoZW5kZW4gUmVkZXdlbmR1bmcuCisgIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbMO2c2NoZW4uCisgIDMuIE51biBiZXdlZ2UgRGljaCB6dXIgdmllcnRlbiBaZWlsZS4KKyAgNC4gVGlwcGUgIDJkZCAgLCB1bSB6d2VpIFplaWxlbiB6dSBsw7ZzY2hlbi4KKworLS0tPiAgMSkgIFJvc2VuIHNpbmQgcm90LAorLS0tPiAgMikgIE1hdHNjaCBpc3QgbHVzdGlnLAorLS0tPiAgMykgIFZlaWxjaGVuIHNpbmQgYmxhdSwKKy0tLT4gIDQpICBJY2ggaGFiZSBlaW4gQXV0bywKKy0tLT4gIDUpICBEaWUgVWhyIHNhZ3QgZGllIFplaXQsCistLS0+ICA2KSAgWnVja2VyIGlzdCBzw7zDnywKKy0tLT4gIDcpICBTbyB3aWUgRHUgYXVjaC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgTGVrdGlvbiAyLjc6IFLDnENLR8OETkdJRyBNQUNIRU4gKFVORE8pCisKKworCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4gKioKKwkgICAgICAqKiBvZGVyIFUgdW0gZWluZSBnYW56ZSBaZWlsZSB3aWVkZXJoZXJ6dXN0ZWxsZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4KKyAgICAgdW5kIHNldHplIGlobiBhdWYgZGVuIGVyc3RlbiBGZWhsZXIuCisgIDIuIFRpcHBlICB4ICAsIHVtIGRhcyBlcnN0ZSB1bmVyd8O8bnNjaHRlIFplaWNoZW4genUgbMO2c2NoZW4uCisgIDMuIE51biB0aXBwZSAgdSAgdW0gZGFzIHNvZWJlbiBhdXNnZWbDvGhydGUgS29tbWFuZG8gcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4KKyAgNC4gSmV0enQgYmVoZWJlIGFsbGUgRmVobGVyIGF1ZiBkZXIgWmVpbGUgbWl0IEhpbGZlIGRlcyB4ICBLb21tYW5kb3MuCisgIDUuIE51biB0aXBwZSBlaW4gZ3Jvw59lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kCisgICAgIHdpZWRlcmhlcnp1c3RlbGxlbi4KKyAgNi4gTnVuIHRpcHBlICB1ICBlaW5pZ2UgTWFsZSwgdW0gZGFzIFUgdW5kIGRpZSB2b3JoZXJnZWhlbmRlbiBLb21tYW5kb3MKKyAgICAgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4KKyAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRyw7xja3QgdW5kIGRyw7xja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUKKyAgICAgS29tbWFuZG9zIHdpZWRlcmhlcnp1c3RlbGxlbiAoZGllIFLDvGNrZ8OkbmdpZ21hY2h1bmdlbiByw7xja2fDpG5naWcgbWFjaGVuKS4KKworLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuCisKKyAgOC4gRGllcyBzaW5kIHNlaHIgbsO8dHpsaWNoZSBLb21tYW5kb3MuCisgICAgIE51biBnZWhlIHdlaXRlciB6dXIgWnVzYW1tZW5mYXNzdW5nIHZvbiBMZWt0aW9uIDIuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMgorCisKKyAgMS4gVW0gdm9tIEN1cnNvciBiaXMgenVtIG7DpGNoc3RlbiBXb3J0IHp1IGzDtnNjaGVuLCB0aXBwZTogICAgZHcKKyAgMi4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUgenUgbMO2c2NoZW4sIHRpcHBlOiAgICAgZCQKKyAgMy4gVW0gZWluZSBnYW56ZSBaZWlsZSB6dSBsw7ZzY2hlbiwgdGlwcGU6ICAgIGRkCisKKyAgNC4gVW0gZWluZSBCZXdlZ3VuZyB6dSB3aWVkZXJob2xlbiwgc3RlbGxlIGVpbmUgTnVtbWVyIHZvcmFuOiAgIDJ3CisgIDUuIERhcyBGb3JtYXQgZsO8ciBlaW4gw4RuZGVydW5nc2tvbW1hbmRvIGlzdDoKKyAgICAgICAgICAgICAgIE9wZXJhdG9yICAgW0FuemFobF0gICBCZXdlZ3VuZ3NzY2hyaXR0CisgICAgIHdvYmVpOgorICAgICAgIE9wZXJhdG9yIC0gZ2lidCBhbiwgd2FzIGdldGFuIHdlcmRlbiBzb2xsLCB6dW0gQmVpc3BpZWwgIGQgIGbDvHIgZGVsZXRlCisgICAgICAgW0FuemFobF0gLSBlaW4gb3B0aW9uYWxlciBaw6RobGVyLCB1bSBkZW4gQmV3ZWd1bmdzc2Nocml0dCB6dSB3aWVkZXJob2xlbgorICAgICAgIEJld2VndW5nc3NjaHJpdHQgLSBCZXdlZ3VuZyDDvGJlciBkZW4genUgw6RuZGVybmRlbiBUZXh0LCBzbyB3aWUKKwkJICB3IChXb3J0KSwgJCAoenVtIEVuZGUgZGVyIFplaWxlKSwgZXRjLgorCisgIDYuIFVtIERpY2ggenVtIEFuZmFuZyBkZXIgWmVpbGUgenUgYmVnZWJlbiwgYmVudXR6ZSBkaWUgTnVsbDogIDAKKworICA3LiBVbSB2b3JoZXJpZ2UgQWt0aW9uZW4gcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6CQl1IChrbGVpbmVzIHUpCisgICAgIFVtIGFsbGUgw4RuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW46ICAgVSAoZ3Jvw59lcyBVKQorICAgICBVbSBkaWUgUsO8Y2tnw6RuZ2lnbWFjaHVuZ2VuIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOiAgICBDVFJMLVIKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICBMZWt0aW9uIDMuMTogQU5Gw5xHRU4gKFBVVCkKKworCisgICAgICoqIFRpcHBlICBwICAsIHVtIHZvcmhlciBnZWzDtnNjaHRlbiBUZXh0IG5hY2ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBsw7ZzY2hlbiB1bmQgc2llIGluIGVpbWVtIFZpbS1SZWdpc3RlciB6dQorICAgICBzcGVpY2hlcm4uCisKKyAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIFplaWxlIGMpLCDDnEJFUiBkZXJqZW5pZ2VuLCB3byBkaWUgZ2Vsw7ZzY2h0ZSBaZWlsZQorICAgICBwbGF0emllcnQgd2VyZGVuIHNvbGwuCisKKyAgNC4gIFRpcHBlICAgcCAgICwgdW0gZGllIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSBwbGF0emllcmVuLgorCisgIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGFsbGUgWmVpbGVuIGluIGRpZSByaWNodGlnZQorICAgICBSZWloZW5mb2xnZSB6dSBicmluZ2VuLgorCistLS0+IGQpIEthbm5zdCBEdSBkYXMgYXVjaD8KKy0tLT4gYikgVmVpbGNoZW4gc2luZCBibGF1LAorLS0tPiBjKSBJbnRlbGxpZ2VueiBpc3QgZXJsZXJuYmFyLAorLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrdGlvbiAzLjI6IEVSU0VUWkVOIChSRVBMQUNFKQorCisKKyAgICoqIFRpcHBlICByeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIGR1cmNoICB4IHp1IGVyc2V0emVuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4KKworICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGllw59lbmQgZGFzIFplaWNoZW4sIHdlbGNoZXMgZG9ydCBzdGVoZW4gc29sbHRlLgorCisgIDQuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMywgYmlzIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4gaXN0LgorCistLS0+ICBBbHMgZGllc2UgWmVpdGUgZWluZ2Vnb2JlbiB3dXJkZSwgd3VyZGVuIGVpbmlrZSBmYWxzY2hlIFRhc3RlbiBnZWxpcHB0IQorLS0tPiAgQWxzIGRpZXNlIFplaWxlIGVpbmdlZ2ViZW4gd3VyZGUsIHd1cmRlbiBlaW5pZ2UgZmFsc2NoZSBUYXN0ZW4gZ2V0aXBwdCEKKworICA1LiBOdW4gZmFocmUgZm9ydCBtaXQgTGVrdGlvbiAzLjIuCisKK0JlbWVya3VuZzogRXJpbm5lcmUgRGljaCwgZGFzcyBEdSBkdXJjaCBBbndlbmRlbiBsZXJuZW4gc29sbHRlc3QsIG5pY2h0IGR1cmNoCisgICAgIEF1c3dlbmRpZ2xlcm5lbi4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgTGVrdGlvbiAzLjM6IMOETkRFUk4gKENIQU5HRSkKKworCisgICAgICAqKiBVbSBlaW5lIMOEbmRlcnVuZyBiaXMgenVtIFdvcnRlbmRlIGR1cmNoenVmw7xocmVuLCB0aXBwZSAgY2UgLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGRhcyAgcyAgdm9uIFdzdHdyLgorCisgIDMuIFRpcHBlICBjZSAgdW5kIGRpZSBXb3J0a29ycmVrdHVyIGVpbiAoaW4gZGllc2VtIEZhbGwgdGlwcGUgIMO2cnRlciApLgorCisgIDQuIERyw7xja2UgPEVTQz4gdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBuw6RjaHN0ZW4genUgw6RuZGVybmRlbiBaZWljaGVuLgorCisgIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMyB1bmQgNCBiaXMgZGVyIGVyc3RlIFNhdHogZ2xlaWNoIGRlbSB6d2VpdGVuIGlzdC4KKworLS0tPiBFaW5pZ2UgV3N0d3IgZGllc2VyIFpsYXd3IGxhc2RqbGFmIG1pdCBkZW0gw4RuZGVybi1PcGVyYXRvciBnYWFhdXUgd2VyZGVuLgorLS0tPiBFaW5pZ2UgV8O2cnRlciBkaWVzZXIgWmVpbGUgc29sbGVuIG1pdCBkZW0gw4RuZGVybi1PcGVyYXRvciBnZcOkbmRlcnQgd2VyZGVuLgorCitCZW1lcmtlLCBkYXNzICBjZSAgZGFzIFdvcnQgbMO2c2NodCB1bmQgRGljaCBpbiBkZW4gRWluZ2FiZW1vZHVzIHZlcnNldHp0LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgw4ROREVSVU5HRU4gTUlUVEVMUyBjCisKKworICAgICAqKiBEYXMgY2hhbmdlLUtvbW1hbmRvIGFyYmVpdGV0IG1pdCBkZW5zZWxiZW4gQmV3ZWd1bmdlbiB3aWUgZGVsZXRlLiAgKioKKworICAxLiBEZXIgY2hhbmdlIE9wZXJhdG9yIGFyYmVpdGV0IGluIGdsZWljaGVyIFdlaXNlIHdpZSBkZWxldGUuIERhcyBGb3JtYXQgaXN0OgorCisgICAgICAgICBjICAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0CisKKyAgMi4gRGllIEJld2VndW5nc3NjaHJpdHRlIHNpbmQgZGllIGdsZWljaGVuICwgc28gd2llICB3ICAoV29ydCkgdW5kICAkCisgICAgIChaZWlsZW5lbmRlKS4KKworICAzLiBCZXdlZ2UgRGljaCB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gRmVobGVyLgorCisgIDUuIFRpcHBlICBjJCAgLCBnaWIgZGVuIFJlc3QgZGVyIFplaWxlIHdpZSBpbiBkZXIgendlaXRlbiBlaW4sIGRyw7xja2UgPEVTQz4gLgorCistLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIGFuIGRpZSB6d2VpdGUgWmVpbGUgYW5nZWdsaWNoZW4gd2VyZGVuLgorLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBtaXQgZGVtICBjJCAgS29tbWFuZG8ga29ycmlnaWVydCB3ZXJkZW4uCisKK0JlbWVya3VuZzogRHUga2FubnN0IGRpZSBSw7xja3Rhc3RlIGJlbnV0emVuLCB1bSBUaXBwZmVobGVyIHp1IGtvcnJpZ2llcmVuLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDMKKworCisgIDEuIFVtIGVpbmVuIHZvcmhlciBnZWzDtnNjaHRlbiBUZXh0IGFuenVmw7xnZW4sIHRpcHBlICAgcCAuIERpZXMgZsO8Z3QgZGVuCisgICAgIGdlbMO2c2NodGVuIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuICh3ZW5uIGVpbmUgZ2FuemUgWmVpbGUgZ2Vsw7ZzY2h0IHd1cmRlLAorICAgICB3aXJkIGRpZXNlIGluIGRpZSBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZsO8Z3QpLgorCisgIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgIHVuZCBkYXMgYW4gZGllc2VyCisgICAgIFN0ZWxsZSBnZXfDvG5zY2h0ZSBaZWljaGVuLgorCisgIDMuIERlciDDhG5kZXJ1bmdzLSAoY2hhbmdlKSBPcGVyYXRvciBlcmxhdWJ0LCB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBkZXMKKyAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IMOkbmRlcm4uIFRpcHBlICBjZSAgLCB1bSBlaW5lIMOEbmRlcnVuZyB2b20gQ3Vyc29yIGJpcworICAgICB6dW0gRW5kZSBkZXMgV29ydGVzIHZvcnp1bmVobWVuOyAgYyQgIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZS4KKworICA0LiBEYXMgRm9ybWF0IGbDvHIgY2hhbmdlIGlzdDoKKworCSBjICAgW0FuemFobF0gIEJld2VndW5nc3NjaHJpdHQKKworICBOdW4gZmFocmUgbWl0IGRlciBuw6RjaHN0ZW4gTGVrdGlvbiBmb3J0LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgTGVrdGlvbiA0LjE6IENVUlNPUlBPU0lUSU9OIFVORCBEQVRFSVNUQVRVUworCisgKiogVGlwcGUgQ1RSTC1HICwgdW0gRGVpbmUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMgYW56dXplaWdlbi4gKioKKyAgICAgKiogVGlwcGUgRyAsIHVtIERpY2ggenUgZWluZXIgWmVpbGUgaW4gZGVyIERhdGVpIHp1IGJlZ2ViZW4uICoqCisKK0JlbWVya3VuZzogTGllcyBkaWVzZSBnZXNhbXRlIExla3Rpb24sIGJldm9yIER1IGlyZ2VuZGVpbmVuIFNjaHJpdHQgYXVzZsO8aHJzdCEhCisKKyAgMS4gSGFsdGUgZGllIEN0cmwgVGFzdGUgdW50ZW4gdW5kIGRyw7xja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgd2lyIENUUkwtRy4KKyAgICAgRWluZSBTdGF0dXNtZWxkdW5nIGFtIEZ1w58gZGVyIFNlaXRlIGVyc2NoZWludCBtaXQgZGVtIERhdGVpbmFtZW4gdW5kIGRlcgorICAgICBQb3NpdGlvbiBpbm5lcmhhbGIgZGVyIERhdGVpLiBNZXJrZSBEaXIgZGllIFplaWxlbm51bW1lciBmw7xyIFNjaHJpdHQgMy4KKworQmVtZXJrdW5nOiBNw7ZnbGljaGVyd2Vpc2Ugc2llaHN0IER1IGRpZSBDdXJzb3Jwb3NpdGlvbiBpbiBkZXIgdW50ZXJlbiByZWNodGVuCisgICAgICBCaWxkc2NoaXJtZWNrZS4gRGllcyBpc3QgRm9sZ2UgZGVyICdydWxlcicgT3B0aW9uIChzaWVoZSA6aGVscCAncnVsZXInKQorCisgIDIuIERyw7xja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KKyAgICAgVGlwcGUgIGdnICAsIHVtIERpY2ggenVtIEFuZmFuZyBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KKworICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLgorICAgICBEaWVzIGJyaW5ndCBEaWNoIHp1csO8Y2sgenUgZGVyIFplaWxlLCBhdWYgZGVyIER1IGdlc3RhbmRlbiBoYXN0LCBhbHMgRHUKKyAgICAgZGFzIGVyc3RlIE1hbCBDVFJMLUcgZ2VkcsO8Y2t0IGhhc3QuCisKKyAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBmw7xobHN0LCBmw7xocmUgZGllIFNjaHJpdHRlIDEgYmlzIDMgYXVzLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWt0aW9uIDQuMjogREFTIFNVQ0hFTiAtIEtPTU1BTkRPCisKKworICAqKiBUaXBwZSAgLyAgZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2ssIHVtIG5hY2ggZGVtIEF1c2RydWNrIHp1IHN1Y2hlbi4gKioKKworICAxLiBJbSBOb3JtYWxtb2R1cywgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVtZXJrZSwgZGFzcyBkYXMgIC8gdW5kIGRlcgorICAgICBDdXJzb3IgYW0gRnXDnyBkZXMgU2NoaXJtcyBlcnNjaGVpbmVuLCBzbyB3aWUgYmVpbSA6CUtvbW1hbmRvLgorCisgIDIuIE51biB0aXBwZSAnRmVoaGxlcicgPEVOVEVSPi4gRGllcyBpc3QgZGFzIFdvcnQsIG5hY2ggZGVtIER1IHN1Y2hlbiB3aWxsc3QuCisKKyAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGbDvHIgbmV4dCkuCisgICAgIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbiwgdGlwcGUgIE4gLgorCisgIDQuIFVtIG5hY2ggZWluZW0gQXVzZHJ1Y2sgcsO8Y2t3w6RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLgorCisgIDUuIFVtIGRhaGluIHp1csO8Y2t6dWtlaHJlbiwgdm9uIHdvIER1IGdla29tbWVuIGJpc3QsIGRyw7xja2UgQ1RSTC1PIChIYWx0ZQorICAgICBDdHJsIHVudGVuIHVuZCBkcsO8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIHdlaXRlcgorICAgICB6dXLDvGNrenVnZWhlbi4gIENUUkwtSSBicmluZ3QgZGljaCB2b3J3w6RydHMuCisKKy0tLT4gIEZlaGxlciBzY2hyZWlidCBzaWNoIG5pY2h0ICJGZWhobGVyIjsgRmVoaGxlciBpc3QgZWluIEZlaGxlcgorQmVtZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nCisgICAgICAgIGZvcnRnZXNldHp0LCBlcyBzZWkgZGVubiwgZGllICd3cmFwc2NhbicgT3B0aW9uIHd1cmRlIGFiZ2VzY2hhbHRldC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4KKworCisgICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUga29ycmVzcG9uZGllcmVuZGUgS2xhbW1lciApLF0sIG9kZXIgfSB6dSBmaW5kZW4uICoqCisKKyAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVzIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4KKyAgICAgc3RlaGVuZGVuIFplaWxlLCBkaWUgbWl0IC0tLT4gbWFya2llcnQgaXN0LgorCisgIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uCisKKyAgMy4gRGVyIEN1cnNvciBiZXdlZ3Qgc2ljaCB6dXIgcGFzc2VuZGVuIGdlZ2Vuw7xiZXJsaWVnZW5kZW4gS2xhbW1lci4KKworICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIGFuZGVyZW4gcGFzc2VuZGVuIEtsYW1tZXIgenUgYmV3ZWdlbi4KKworICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLgorCistLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkKKworQmVtZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTDpHQgaXN0IHNlaHIgbsO8dHpsaWNoIGJlaSBkZXIgRmVobGVyc3VjaGUgaW4gZWluZW0KKyAgICAgUHJvZ3JhbW10ZXh0LCBpbiBkZW0gcGFzc2VuZGUgS2xhbW1lcm4gZmVobGVuIQorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQlMZWt0aW9uIDQuNDogREFTIEVSU0VUWlVOR1NLT01NQU5ETyAoU1VCU1RJVFVURSkKKworCisJICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gVGlwcGUgIDpzL2RpZWUvZGllIDxFTlRFUj4gLiAgQmVtZXJrZSwgZGFzcyBkZXIgQmVmZWhsIG51ciBkYXMgZXJzdGUKKyAgICAgVm9ya29tbWVuIHZvbiAiZGllZSIgZXJzZXR6dC4KKworICAzLiBOdW4gdGlwcGUgICA6cy9kaWVlL2RpZS9nIC4gRGFzIFp1ZsO8Z2VuIGRlcyBGbGFncyAgZyAgIGJlZGV1dGV0LCBlaW5lCisgICAgIGdsb2JhbGUgRXJzZXR6dW5nIMO8YmVyIGRpZSBaZWlsZSBkdXJjaHp1ZsO8aHJlbiwgd2FzIGFsbGUgVm9ya29tbWVuIHZvbgorICAgICAiZGllZSIgYXVmIGRlciBaZWlsZSBlcnNldHp0LgorCistLS0+IGRpZWUgc2Now7Zuc3RlIFplaXQsIHVtIGRpZWUgQmx1bWVuIGFuenVzY2hhdWVuLCBpc3QgZGllZSBGcsO8aGxpbmdzemVpdC4KKworICA0LiBVbSBhbGxlIFZvcmtvbW1lbiBlaW5lciBaZWljaGVua2V0dGUgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW4genUgw6RuZGVybiwKKyAgICAgdGlwcGUgIDojLCNzL2FsdC9uZXUvZyAgIHdvYmVpICMsIyBkaWUgWmVpbGVubnVtbWVybiBkZXMgWmVpbGVuYmVyZWljaGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgc2luZCwgaW4gZGVtIGRpZSBFcnNldHp1bmcgZHVyY2hnZWbDvGhydCB3ZXJkZW4gc29sbC4KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2cgICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IMOkbmRlcm4uCisgICAgIFRpcHBlICA6JXMvYWx0L25ldS9nYyAgIHVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnZXNhbXRlbiBEYXRlaSB6dSBmaW5kZW4KKyAgICAgICAgICAgICAgICAgICAgIG1pdCBlaW5lbSBGcmFnZWRpYWxvZywgb2IgZXJzZXR6dCB3ZXJkZW4gc29sbCBvZGVyIG5pY2h0Lgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDQKKworICAxLiBDVFJMLUcgIHplaWd0IGRpZSBha3R1ZWxsZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cy4KKyAgICAgICAgICAgICBHICBicmluZ3QgRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkuCisgICAgIE51bW1lciAgRyAgYnJpbmd0IERpY2ggenVyIGVudHNwcmVjaGVuZGVuIFplaWxlbm51bW1lci4KKyAgICAgICAgICAgIGdnICBicmluZ3QgRGljaCB6dXIgZXJzdGVuIFplaWxlLgorCisgIDIuIERpZSBFaW5nYWJlIHZvbiAgLyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBWT1JXw4RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suCisgICAgIERpZSBFaW5nYWJlIHZvbiAgPyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBSw5xDS1fDhFJUUyBuYWNoIGRlbSBBdXNkcnVjay4KKyAgICAgVGlwcGUgbmFjaCBlaW5lciBTdWNoZSAgbiAgLCB1bSBkYXMgbsOkY2hzdGUgVm9ya29tbWVuIGluIGRlciBnbGVpY2hlbgorICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgIE4gICwgdW0gaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLgorICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVyw7xjayB6dSDDpGx0ZXJlbiBQb3NpdGlvbmVuLCBDVFJMLUkgenUgbmV1ZXJlbi4KKworICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICgsKSxbLF0seywgb2RlciB9CisgICAgIGJlZmluZGV0LCBicmluZ3QgRGljaCB6dXIgR2VnZW5rbGFtbWVyLgorCisgIDQuIFVtIGRhcyBlcnN0ZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGVpbmVyIFplaWxlIGR1cmNoICJuZXUiIHp1IGVyc2V0emVuLAorICAgICAgICAgICAgIHRpcHBlICAgICAgIDpzL2FsdC9uZXUKKyAgICAgVW0gYWxsZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGRlciBaZWlsZSBlcnNldHplbiwgdGlwcGUgIDpzL2FsdC9uZXUvZworICAgICBVbSBBdXNkcsO8Y2tlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVubnVtbWVybiB6dSBlcnNldHplbiwgIDojLCNzL2FsdC9uZXUvZworICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZworICAgICBGw7xyIGVpbmUgamVkbWFsaWdlIEJlc3TDpHRpZ3VuZywgYWRkaWVyZSAgJ2MnICAoY29uZmlybSkgICA6JXMvYWx0L25ldS9nYworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCUxla3Rpb24gNS4xOiBBVVNGw5xIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUworCisKKyAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVmw7xocmVuLiAqKgorCisgIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGVuIEZ1w58gZGVzIFNjaGlybXMKKyAgICAgenUgc2V0emVuLiBEaWVzIGVybGF1YnQgRGlyLCBlaW4gS29tbWFuZG96ZWlsZW4tS29tbWFuZG8gZWluenVnZWJlbi4KKworICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllcyBlcm3DtmdsaWNodCBEaXIsIGVpbiBiZWxpZWJpZ2VzLAorICAgICBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZsO8aHJlbi4KKworICAzLiBBbHMgQmVpc3BpZWwgdGlwcGUgICBscyAgIG5hY2ggZGVtICAhICB1bmQgZHLDvGNrZSA8RU5URVI+LiBEaWVzIHplaWd0CisgICAgIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGF1ZiBkZXIKKyAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB3w6Ryc3QuICBPZGVyIHZlcndlbmRlICA6IWRpciAgLCBmYWxscyBscyBuaWNodCBnZWh0LgorCitCZW1lcmt1bmc6ICBNaXQgZGllc2VyIE1ldGhvZGUga2FubiBqZWRlcyBiZWxpZWJpZ2UgZXh0ZXJuZSBLb21tYW5kbworICAgICBhdXNnZWbDvGhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uCisKK0JlbWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBtw7xzc2VuIGR1cmNoIEVpbmdhYmUgdm9uIDxFTlRFUj4KKyAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfDpGhuZW4gd2lyIGRpZXMgbmljaHQgamVkZXNtYWwuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCUxla3Rpb24gNS4yOiBNRUhSIMOcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4KKworCisqKiBVbSBhbSBUZXh0IGR1cmNoZ2Vmw7xocnRlIMOEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKgorCisgIDEuIFRpcHBlICA6IWRpciAgb2RlciAgOiFscyAgLCB1bSBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzIFZlcnplaWNobmlzc2VzIHp1CisgICAgIGVyaGFsdGVuLiAgRHUgd2Vpw590IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgorCisgIDIuIFfDpGhsZSBlaW5lbiBEYXRlaW5hbWVuLCBkZXIgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4KKworICAzLiBOdW4gdGlwcGU6ICA6dyBURVNUICAgKHdvYmVpIFRFU1QgZGVyIGdld8OkaGx0ZSBEYXRlaW5hbWUgaXN0KS4KKworICA0LiBEaWVzIHNwZWljaGVydCBkaWUgZ2FuemUgRGF0ZWkgKGRlbiBWaW0gVHV0b3IpIHVudGVyIGRlbSBOYW1lbiBURVNULgorICAgICBVbSBkaWVzIHp1IMO8YmVycHLDvGZlbiwgdGlwcGUgbm9jaG1hbHMgIDohbHMgIGJ6dy4gICFkaXIsIHVtIERlaW5lbgorICAgICBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4KKworQmVtZXJrdW5nOiBXw7xyZGVzdCBEdSBWaW0gamV0enQgYmVlbmRlbiB1bmQgZGFuYWNoIHdpZWRlciBtaXQgdmltIFRFU1QKKyAgICBzdGFydGVuLCBkYW5uIHfDpHJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtCisgICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCisKKyAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorCQkJCW9kZXIgKFVuaXgpOgk6IXJtIFRFU1QKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgTGVrdGlvbiA1LjM6IEFVU1fDhEhMRU4gVk9OIFRFWFQgWlVNIFNDSFJFSUJFTgorCisqKiBVbSBlaW5lbiBBYnNjaG5pdHQgZGVyIERhdGVpIHp1IHNwZWljaGVybiwgIHRpcHBlICB2ICBCZXdlZ3VuZyAgOncgREFURUkgKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkaWVzZXIgWmVpbGUuCisKKyAgMi4gVGlwcGUgIHYgIHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gZsO8bmZ0ZW4gQXVmbGlzdHVuZ3NwdW5rdCB1bnRlbi4KKyAgICAgQmVtZXJrZSwgZGHDnyBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuCisKKyAgMy4gRHLDvGNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ1w58gZGVzIFNjaGlybXMgZXJzY2hlaW50ICA6JzwsJz4gLgorCisgIDQuIFRpcHBlICB3IFRFU1QgICwgd29iZWkgVEVTVCBlaW4gbm9jaCBuaWNodCB2b3JoYW5kZW5lciBEYXRlaW5hbWUgaXN0LgorICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGHDnyBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IEVudGVyIGRyw7xja3N0LgorCisgIDUuIFZpbSBzY2hyZWlidCBkaWUgYXVzZ2V3w6RobHRlbiBaZWlsZW4gaW4gZGllIERhdGVpIFRFU1QuIEJlbnV0emUgIDohZGlyCisgICAgIG9kZXIgIDohbHMgLCB1bSBzaWUgenUgc2VoZW4uIEzDtnNjaGUgc2llIG5vY2ggbmljaHQhIFdpciB3ZXJkZW4gc2llIGluCisgICAgIGRlciBuw6RjaHN0ZW4gTGVrdGlvbiBiZW51dHplbi4KKworQmVtZXJrdW5nOiBEcsO8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yCisgICB1bWhlcmJld2VnZW4sIHVtIGRpZSBBdXN3YWhsIGdyw7bDn2VyIG9kZXIga2xlaW5lciB6dSBtYWNoZW4uIEFuc2NobGllw59lbmQKKyAgIGthbm4gbWFuIGVpbmVuIE9wZXJhdG9yIGFud2VuZGVuLCB1bSBtaXQgZGVtIFRleHQgZXR3YXMgenUgdHVuLiBadW0KKyAgIEJlaXNwaWVsIGzDtnNjaHQgIGQgIGRlbiBUZXh0Lgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJICAgICAgTGVrdGlvbiA1LjQ6IEVJTkxFU0VOIFVORCBaVVNBTU1FTkbDnEhSRU4gVk9OIERBVEVJRU4KKworCisgICAgICAgKiogVW0gZGVuIEluaGFsdCBlaW5lciBEYXRlaSBlaW56dWxlc2VuLCB0aXBwZSAgOnIgREFURUlOQU1FICAqKgorCisgIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIMO8YmVyaGFsYiBkaWVzZXIgWmVpbGUuCisKK0JFQUNIVEU6ICBOYWNoZGVtIER1IFNjaHJpdHQgMiBhdXNnZWbDvGhydCBoYXN0LCB3aXJzdCBEdSBUZXh0IGF1cyBMZWt0aW9uIDUuMworICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfDhFJUUywgdW0gZGllc2UgTGVrdGlvbiB3aWVkZXJ6dXNlaGVuLgorCisgIDIuIE51biBsaWVzIERlaW5lIERhdGVpIFRFU1QgZWluIGluZGVtIER1IGRhcyBLb21tYW5kbyAgOnIgVEVTVCAgYXVzZsO8aHJzdCwKKyAgICAgd29iZWkgVEVTVCBkZXIgdm9uIERpciB2ZXJ3ZW5kZXRlIERhdGVpbmFtZSBpc3QuCisgICAgIERpZSBlaW5nZWxlc2VuZSBEYXRlaSB3aXJkIHVudGVyaGFsYiBkZXIgQ3Vyc29yemVpbGUgZWluZ2Vmw7xndC4KKworICAzLiBVbSB6dSDDvGJlcnByw7xmZW4sIGRhc3MgZGllIERhdGVpIGVpbmdlbGVzZW4gd3VyZGUsIGdlaGUgenVyw7xjayB1bmQgc2llaGUsCisgICAgIGRhc3MgZXMgamV0enQgendlaSBLb3BpZW4gdm9uIExla3Rpb24gNS4zIGdpYnQsIGRhcyBPcmlnaW5hbCB1bmQgZGllCisgICAgIGVpbmdlZsO8Z3RlIERhdGVpdmVyc2lvbi4KKworQmVtZXJrdW5nOiBEdSBrYW5uc3QgYXVjaCBkaWUgQXVzZ2FiZSBlaW5lcyBleHRlcm5lbiBLb21tYW5kb3MgZWlubGVzZW4uIFp1bQorICAgICBCZWlzcGllbCBsaWVzdCAgOnIgIWxzICBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGxzIGVpbiB1bmQgcGxhdHppZXJ0CisgICAgIHNpZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA1CisKKworICAxLiA6IUtvbW1hbmRvICBmw7xocnQgZWluIGV4dGVybmVzIEtvbW1hbmRvIGF1cy4KKworICAgICAgRWluaWdlIG7DvHR6bGljaGUgQmVpc3BpZWxlIHNpbmQKKwkoTVMtRE9TKQkgIChVbml4KQorCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuCisJIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuCisKKyAgMi4gOncgREFURUlOQU1FICBzcGVpY2hlcnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSB1bnRlciBkZW0gTmFtZW4gIERBVEVJTkFNRS4KKworICAzLiB2ICBCZXdlZ3VuZyAgOncgREFURUlOQU1FICBzY2hyZWlidCBkaWUgVmlzdWVsbCBhdXNnZXfDpGhsdGVuIFplaWxlbiBpbgorICAgICBkaWUgRGF0ZWkgREFURUlOQU1FLgorCisgIDQuIDpyIERBVEVJTkFNRSAgbMOkZHQgZGllIERhdGVpIERBVEVJTkFNRSB1bmQgZsO8Z3Qgc2llIHVudGVyaGFsYiBkZXIKKyAgICAgQ3Vyc29ycG9zaXRpb24gZWluLgorCisgIDUuIDpyICFkaXIgIGxpZXN0IGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgZGlyIHVuZCBmw7xndCBzaWUgdW50ZXJoYWxiIGRlcgorICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOIMOWRkZORU4gKE9QRU4pCisKKworICAgKiogVGlwcGUgIG8JLCB1bSBlaW5lIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSDDtmZmbmVuIHVuZCBEaWNoIGluICoqCisgICAgICAgICAgICAgICAgICAgICAgKiogZGVuIEVpbmbDvGdlbW9kdXMgenUgYmVnZWJlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgZXJzdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCisKKyAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSSEFMQiBkZXMgQ3Vyc29zIHp1IMO2ZmZuZW4KKyAgICAgdW5kIERpY2ggaW4gZGVuIEVpbmbDvGdlbW9kdXMgenUgYmVnZWJlbi4KKworICAzLiBOdW4gdGlwcGUgZXR3YXMgVGV4dCB1bmQgZHLDvGNrZSA8RVNDPiAsIHVtIGRlbiBFaW5mw7xnZW1vZHVzIHp1IHZlcmxhc3Nlbi4KKworLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIG9mZmVuZW4gWmVpbGUgaW0gRWluZsO8Z2Vtb2R1cyBwbGF0emllcnQuCisKKyAgNC4gVW0gZWluZSBaZWlsZSDDnEJFUkhBTEIgZGVzIEN1cnNvcyBhdWZ6dW1hY2hlbiwgZ2liIGVpbmZhY2ggZWluIGdyb8OfZXMgIE8KKyAgICAgc3RhdHQgZWluZW0ga2xlaW5lbiAgbyAgZWluLiBWZXJzdWNoZSBkaWVzIGF1ZiBkZXIgdW50ZW4gc3RlaGVuZGVuIFplaWxlLgorCistLS0+IMOWZmZuZSBlaW5lIFplaWxlIMO8YmVyIGRpZXNlciBtaXQgTyAsIHdlbm4gZGVyIEN1cnNvciBhdWYgZGllc2VyIFplaWxlIGlzdC4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICAgTGVrdGlvbiA2LjI6IFRFWFQgQU5Gw5xHRU4gKEFQUEVORCkKKworCisJICAgICAqKiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBlaW56dWbDvGdlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4gw5xidW5nc3plaWxlIG1pdCAtLS0+IHVudGVuLgorCisgIDIuIERyw7xja2UgIGUgICwgYmlzIGRlciBDdXJzb3IgYW0gRW5kZSB2b24gIFplaSAgc3RlaHQuCisKKyAgMy4gVGlwcGUgZWluIGtsZWluZXMgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWbDvGdlbi4KKworICA0LiBWZXJ2b2xsc3TDpG5kaWdlIGRhcyBXb3J0IHNvIHdpZSBpbiBkZXIgWmVpbGUgZGFydW50ZXIuICBEcsO8Y2tlIDxFU0M+ICwKKyAgICAgdW0gZGVuIEVpbmbDvGdlbW9kdXMgenUgdmVybGFzc2VuLgorCisgIDUuIEJld2VnZSBEaWNoIG1pdCAgZSAgenVtIG7DpGNoc3RlbiB1bnZvbGxzdMOkbmRpZ2VuIFdvcnQgdW5kIHdpZWRlcmhvbGUKKyAgICAgU2Nocml0dGUgMyB1bmQgNC4KKworLS0tPiBEaWVzZSBaZWkgYmlldGV0IEdlbGVnZW4gLCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVmw7wuCistLS0+IERpZXNlIFplaWxlIGJpZXRldCBHZWxlZ2VuaGVpdCwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZsO8Z2VuLgorCitCZW1lcmt1bmc6ICBhLCBpIHVuZCBBIGdlaGVuIGFsbGUgZ2xlaWNoZXJtYcOfZW4gaW4gZGVuIEVpbmbDvGdlbW9kdXM7IGRlcgorICAgICAgICAgICAgZWluemlnZSBVbnRlcnNjaGllZCBpc3QsIHdvIGRpZSBaZWljaGVuIGVpbmdlZsO8Z3Qgd2VyZGVuLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJICAgICAgTGVrdGlvbiA2LjM6IEVJTkUgQU5ERVJFIEFSVCBERVMgRVJTRVRaRU5TIChSRVBMQUNFKQorCisKKyAgICAgICAqKiBUaXBwZSBlaW4gZ3Jvw59lcyAgUiAgLCB1bSBtZWhyIGFscyBlaW4gWmVpY2hlbiB6dSBlcnNldHplbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKyAgICAgQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkZXMgZXJzdGVuICB4eHggLgorCisgIDIuIE51biBkcsO8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlCisgICAgIHN0ZWh0LCBzbyBkYXMgZGllc2UgZGFzIHh4eCBlcnNldHp0LgorCisgIDMuIERyw7xja2UgPEVTQz4gLCB1bSBkZW4gRXJzZXR6dW5nc21vZHVzIHp1IHZlcmxhc3Nlbi4gQmVtZXJrZSwgZGHDnyBkZXIgUmVzdAorICAgICBkZXIgWmVpbGUgdW52ZXLDpG5kZXJ0IGJsZWlidC4KKworICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSwgdW0gZGFzIHZlcmJsaWViZW5lIHh4eCB6dSBlcnNldHplbi4KKworLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4KKy0tLT4gRGFzIEFkZGllcmVuIHZvbiAxMjMgenUgNDU2IGVyZ2lidCA1NzkuCisKK0JlbWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5mw7xnZW1vZHVzLCBhYmVyIGplZGVzIGVpbmdldGlwcHRlCisgICAgICAgICAgIFplaWNoZW4gbMO2c2NodCBlaW4gdm9yaGFuZGVuZXMgWmVpY2hlbi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWt0aW9uIDYuNDogVEVYVCBLT1BJRVJFTiBVTkQgRUlORsOcR0VOCisKKyAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWbDvGdlbiAqKgorCisgIDEuIEdlaGUgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4sIHNldHplIGRlbiBDdXJzb3IgaGludGVyICJhKSIuCisKKyAgMi4gU3RhcnRlIGRlbiBWaXN1ZWxsZW4gTW9kdXMgbWl0ICB2ICAsIGJld2VnZSBkZW4gQ3Vyc29yIGdlbmF1IHZvciAiZXJzdGUiLgorCisgIDMuIFRpcHBlICB5ICAsIHVtIGRlbiBoZXJ2b3JnZWhvYmVuIFRleHQgenUga29waWVyZW4uCisKKyAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIG7DpGNoc3RlbiBaZWlsZTogIGokCisKKyAgNS4gVGlwcGUgIHAgLCB1bSBkZW4gVGV4dCBlaW56dWbDvGdlbiB1bmQgYW5zY2hsaWXDn2VuZDogIGEgendlaXRlIDxFU0M+IC4KKworICA2LiBCZW51dHplIGRlbiBWaXN1ZWxsZW4gTW9kdXMsIHVtICIgRWludHJhZy4iIGF1c3p1d8OkaGxlbiwga29waWVyZSBtaXR0ZWxzCisgICAgIHkgLCBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkZXIgbsOkY2hzdGVuIFplaWxlIG1pdCAgaiQgIHVuZCBmw7xnZSBkZW4gVGV4dAorICAgICBkb3J0IG1pdCAgcCAgYW4uCisKKy0tLT4gIGEpIGRpZXMgaXN0IGRlciBlcnN0ZSBFaW50cmFnLgorICAgICAgYikKKworQmVtZXJrdW5nOiBEdSBrYW5uc3QgIHkgIGF1Y2ggYWxzIE9wZXJhdG9yIHZlcndlbmRlbjsgIHl3ICBrb3BpZXJ0IGVpbiBXb3J0Lgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgIExla3Rpb24gNi41OiBPUFRJT05FTiBTRVRaRU4KKworICAgICAgKiogU2V0emUgZWluZSBPcHRpb24gc28sIGRhc3MgZWluZSBTdWNoZSBvZGVyIGVpbmUgRXJzZXR6dW5nIEdyb8OfLSAqKgorCQkgICAgICAqKiB1bmQgS2xlaW5zY2hyZWlidW5nIGlnbm9yaWVydCAqKgorCisgIDEuIFN1Y2hlIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICAgIC9pZ25vcmllcmUgICBlaW5naWJzdC4KKyAgICAgV2llZGVyaG9sZSBkaWUgU3VjaGUgZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIC0gVGFzdGUgZHLDvGNrc3QuCisKKyAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuCisKKyAgMy4gTnVuIHN1Y2hlIHdpZWRlciBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgbiAgdGlwcHN0LgorICAgICBCZW1lcmtlLCBkYcOfIGpldHp0IElnbm9yaWVyZSB1bmQgYXVjaCBJR05PUklFUkUgZ2VmdW5kZW4gd2lyZC4KKworICA0LiBTZXR6ZSBkaWUgJ2hsc2VhcmNoJyB1bmQgJ2luY3NlYXJjaCcgLSBPcHRpb25lbjogICAgIDpzZXQgaGxzIGlzCisKKyAgNS4gV2llZGVyaG9sZSBkaWUgU3VjaGUgdW5kIGJlb2JhY2h0ZSwgd2FzIHBhc3NpZXJ0OiAvaWdub3JpZXJlIDxFTlRFUj4KKworICA2LiBVbSBkYXMgSWdub3JpZXJlbiB2b24gR3Jvw58vS2xlaW5zY2hyZWlidW5nIGFienVzY2hhbHRlbiwgdGlwcGU6ICA6c2V0IG5vaWMKKworQmVtZXJrdW5nOiBVbSBkaWUgSGVydm9yaGVidW5nIGRlciBUcmVmZmVyIHp1IGVuZmVybmVuLCBnaWIgZWluOiAgOm5vaGxzZWFyY2gKK0JlbWVya3VuZzogVW0gZGllIFNjaHJlaWJ3ZWlzZSBmw7xyIGVpbmUgZWluemlnZSBTdWNoZSB6dSBpZ25vcmllcmVuLCBiZW51dHplCisgICAgICAgICAgIFxjIGltIFN1Y2hhdXNkcnVjazogIC9pZ25vcmllcmVcYyAgPEVOVEVSPgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDYKKworIDEuIFRpcHBlICBvICAsIHVtIGVpbmUgWmVpbGUgVU5URVIgZGVtIEN1cnNvciB6dSDDtmZmbmVuIHVuZCBkZW4gRWluZsO8Z2Vtb2R1cworICAgICAgICAgICAgICAgIHp1IHN0YXJ0ZW4uCisgICAgVGlwcGUgIE8gICwgdW0gZWluZSBaZWlsZSDDnEJFUiBkZW0gQ3Vyc29yIHp1IMO2ZmZuZW4uCisKKyAyLiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLgorICAgIFRpcHBlICBBICAsIHVtIFRleHQgbmFjaCBkZW0gWmVpbGVuZW5kZSBhbnp1ZsO8Z2VuLgorCisgMy4gRGFzIEtvbW1hbmRvICBlICBicmluZ3QgRGljaCB6dW0gRW5kZSBlaW5lcyBXb3J0ZXMuCisKKyA0LiBEZXIgT3BlcmF0b3IgIHkgICh5YW5rKSBrb3BpZXJ0IFRleHQsICBwICAocHV0KSBmw7xndCBpaG4gZWluLgorCisgNS4gRWluIGdyb8OfZXMgIFIgIGdlaHQgaW4gZGVuIEVyc2V0enVuZ3Ntb2R1cyBiaXMgenVtIERyw7xja2VuIHZvbiAgPEVTQz4gLgorCisgNi4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4Ii4gRWluaWdlIE9wdGlvbmVuIHNpbmQ6CisJJ2ljJyAnaWdub3JlY2FzZScgICAgSWdub3JpZXJlIEdyb8OfL0tsZWluc2NocmVpYnVuZyBiZWkgZWluZXIgU3VjaGUKKwknaXMnICdpbmNzZWFyY2gnICAgICBaZWlnZSBUZWlsw7xiZXJlaW5zdGltbXVuZ2VuIGbDvHIgZWluZW4gU3VjaGF1c2RydWNrCisJJ2hscycgJ2hsc2VhcmNoJyAgICAgSGViZSBhbGxlIHBhc3NlbmRlbiBBdXNkcsO8Y2tlIGhlcnZvcgorICAgIERlciBPcHRpb25zbmFtZSBrYW5uIGluIGRlciBLdXJ6LSBvZGVyIGRlciBMYW5nZm9ybSBhbmdlZ2ViZW4gd2VyZGVuLgorCisgNy4gU3RlbGxlIGVpbmVyIE9wdGlvbiAibm8iIHZvcmFuLCB1bSBzaWUgYWJ6dXNjaGFsdGVuOiAgIDpzZXQgbm9pYworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWt0aW9uIDcuMSA6IEFVRlJVRkVOIFZPTiBISUxGRQorCisKKwkJICAgICAqKiBOdXR6ZSBkYXMgZWluZ2ViYXV0ZSBIaWxmZXN5c3RlbSAqKgorCisgIFZpbSBiZXNpdHp0IGVpbiB1bWZhc3NlbmRlcyBlaW5nZWJhdXRlcyBIaWxmZXN5c3RlbS4gIEbDvHIgZGVuIEFuZmFuZyBwcm9iaWVyZQorICBlaW5zIGRlciBkcmVpIGZvbGdlbmRlbiBEaW5nZSBhdXM6CisJLSBEcsO8Y2tlIGRpZSA8SGlsZmU+IC0gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKKwktIERyw7xja2UgZGllIDxGMT4gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKKwktIFRpcHBlICAgOmhlbHAgPEVOVEVSPgorCisgIExpZXMgZGVuIFRleHQgaW0gSGlsZmVmZW5zdGVyLCB1bSB6dSB2ZXJzdGVoZW4gd2llIGRpZSBIaWxmZSBmdW5rdGlvbmllcnQuCisgIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAgLCB1bSB2b24gZWluZW0gRmVuc3RlciB6dW0gYW5kZXJlbiB6dSBzcHJpbmdlbi4KKyAgVGlwcGUgICA6cSA8RU5URVI+ICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGllw59lbi4KKworICBEdSBrYW5uc3QgSGlsZmUgenUgcHJha3Rpc2NoIGplZGVtIFRoZW1hIGZpbmRlbiwgaW5kZW0gRHUgZGVtICI6aGVscCItCisgIEtvbW1hbmRvIGVpbiBBcmd1bWVudCBnaWJzdC4gIFByb2JpZXJlIGZvbGdlbmRlcyAoPEVOVEVSPiBuaWNodCB2ZXJnZXNzZW4pOgorCisJOmhlbHAgdworCTpoZWxwIGNfQ1RSTC1ECisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla3Rpb24gNy4yOiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUCisKKworCSAgICoqICBBa3RpdmllcmUgZGllIGVpbmdlYmF1dGVuIEZ1bmt0aW9uYWxpdMOkdGVuIHZvbiBWaW0gKioKKworICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTDpHRlbiwgZGllIMO8YmVyIFZpIGhpbmF1c2dlaGVuLCBhYmVyIGRpZSBtZWlzdGVuCisgIHZvbiBpaG5lbiBzaW5kIHN0YW5kYXJkbcOkw59pZyBkZWFrdGl2aWVydC4gVW0gbWVociBGdW5rdGlvbmFsaXTDpHRlbiB6dSBudXR6ZW4sCisgIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4KKworICAxLiBTdGFydGUgZGFzIEVkaXRpZXJlbiBkZXIgInZpbXJjIi1EYXRlaSwgYWJow6RuZ2lnIHZvbiBEZWluZW0gU3lzdGVtOgorCTplIH4vLnZpbXJjCQlmw7xyIFVuaXgKKwk6ZSAkVklNL192aW1yYwkJZsO8ciBNUy1XaW5kb3dzCisKKyAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46CisJOnIgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KKworICAzLiBTcGVpY2hlcmUgZGllIERhdGVpIG1pdDoKKwk6dworCisgIEJlaW0gbsOkY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLgorICBEdSBrYW5uc3QgYWxsIERlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZsO8Z2VuLgorICBGw7xyIG1laHIgSW5mb3JtYXRpb25lbiB0aXBwZSAgOmhlbHAgdmltcmMtaW50cm8KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIExla3Rpb24gNy4zOiBWRVJWT0xMU1TDhE5ESUdFTgorCisKKwkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdMOkbmRpZ3VuZyBtaXQgQ1RSTC1EIGFuZCA8VEFCPiAqKgorCisgIDEuIFN0ZWxsZSBzaWNoZXIsIGRhw58gVmltIG5pY2h0IGltIHZpLUtvbXBhdGliaWxpdMOkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3AKKworICAyLiBTaWVoZSBuYWNoLCB3ZWxjaGUgRGF0ZWllbiBpbSBWZXJ6ZWljaG5pcyBleGlzdGllcmVuOiAgOiFscyAgb2RlciAgOmRpcgorCisgIDMuIFRpcHBlIGRlbiBCZWdpbm4gZWluZXMgS29tYW5kb3M6ICA6ZQorCisgIDQuIERyw7xja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLgorCisgIDUuIERyw7xja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdMOkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4KKworICA2LiBOdW4gZsO8Z2UgZWluIExlZXJ6ZWljaGVuIHVuZCBkZW4gQmVnaW5uIGVpbmVyIGV4aXN0aWVyZW5kZW4gRGF0ZWkgYW46CisgICAgIDplZGl0IERBVAorCisgIDcuIERyw7xja2UgPFRBQj4uIFZpbSB2ZXJ2b2xsc3TDpG5kaWd0IGRlbiBOYW1lbiAoZmFsbHMgZXIgZWluZGV1dGlnIGlzdCkuCisKK0JlbWVya3VuZzogVmVydm9sbHN0w6RuZGlndW5nIGZ1bmt0aW9uaWVydCBmw7xyIHZpZWxlIEtvbW1hbmRvcy4gVmVyc3VjaGUKKyAgICAgZWluZmFjaCBDVFJMLUQgdW5kIDxUQUI+LiAgRGllcyBpc3QgaW5zYmVzb25kZXJlIG7DvHR6bGljaCBmw7xyICA6aGVscCAuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNworCisKKyAgMS4gVGlwcGUgIDpoZWxwICBvZGVyIGRyw7xja2UgPEYxPiBvZGVyIDxIZWxwPiwgdW0gZWluIEhpbGZlZmVuc3RlciB6dSDDtmZmbmVuLgorCisgIDIuIFRpcHBlICA6aGVscCBLb21tYW5kbyAgLCB1bSBIaWxmZSDDvGJlciAgS29tbWFuZG8gIHp1IGVyaGFsdGVuLgorCisgIDMuIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAsIHVtIHp1bSBhbmRlcmVuIEZlbnN0ZXIgenUgc3ByaW5nZW4uCisKKyAgNC4gVGlwcGUgIDpxICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGllw59lbi4KKworICA1LiBFcnN0ZWxsZSBlaW4gdmltcmMgLSBTdGFydHNrcmlwdCB6dXIgU2ljaGVydW5nIGJldm9yenVndGVyIEVpbnN0ZWxsdW5nZW4uCisKKyAgNi4gRHLDvGNrZSBDVFJMLUQgbmFjaCBkZW0gVGlwcGVuIGVpbmVzIEtvbW1hbmRvcyAgOiAgLCB1bSBtw7ZnbGljaGUKKyAgICAgVmVydm9sbHN0w6RuZGlndW5nZW4genUgc2VoZW4uCisgICAgIERyw7xja2UgPFRBQj4gZsO8ciBlaW5lIGVpbnppZ2UgVmVydm9sbHN0w6RuZGlndW5nLgorCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyAgRGFtaXQgaXN0IGRlciBWaW0gVHV0b3IgYmVlbmRldC4gIERpZSBJbnRlbnRpb24gd2FyLCBlaW5lbiBrdXJ6ZW4gdW5kCisgIGLDvG5kaWdlbiDDnGJlcmJsaWNrIMO8YmVyIGRlbiBWaW0gRWRpdG9yIHp1IGxpZWZlcm47IGdlcmFkZSBnZW51ZywgdW0gcmVsYXRpdgorICBsZWljaHQgbWl0IGlobSB1bWdlaGVuIHp1IGvDtm5uZW4uICBEZXIgVmltIFR1dG9yIGhhdCBuaWNodCBkZW4gZ2VyaW5nc3RlbgorICBBbnNwcnVjaCBhdWYgVm9sbHN0w6RuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzCisgIG7DpGNoc3RlcyBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgRsO8ciB3ZWl0ZXJlcyBMZXNlbiB1bmQgTGVybmVuIGlzdCBmb2xnZW5kZXMgQnVjaCBlbXBmb2hsZW4gOgorCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lCisJVmVybGFnOiBOZXcgUmlkZXJzCisgIERhcyBlcnN0ZSBCdWNoLCB3ZWxjaGVzIGR1cmNoZ8OkbmdpZyBWaW0gZ2V3aWRtZXQgaXN0LiAgQmVzb25kZXJzIG7DvHR6bGljaAorICBmw7xyIEFuZsOkbmdlci4gIFZpZWxlIEJlaXNwaWVsZSB1bmQgQmlsZGVyIHNpbmQgZW50aGFsdGVuLgorICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIEZvbGdlbmRlcyBCdWNoIGlzdCDDpGx0ZXIgdW5kIG1laHIgw7xiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0OgorCVRleHRiZWFyYmVpdHVuZyBtaXQgZGVtIHZpLUVkaXRvciAgLSAgdm9uIExpbmRhIExhbWIgdW5kIEFybm9sZCBSb2JiaW5zCisJVmVybGFnIE8nUmVpbGx5IC0gSVNCTjogMzg5NzIxMTI2MgorICBJbiBkaWVzZW0gQnVjaCBrYW5uIG1hbiBmYXN0IGFsbGVzIGZpbmRlbiwgd2FzIG1hbiBtaXQgVmkgdHVuIG3DtmNodGUuCisgIERpZSBzZWNoc3RlIEF1c2dhYmUgZW50aMOkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIMO8YmVyIFZpbS4KKworICBBbHMgYWt0dWVsbGUgUmVmZXJlbnogZsO8ciBWZXJzaW9uIDYuMiB1bmQga25hcHBlIEVpbmbDvGhydW5nIGRpZW50IGRhcworICBmb2xnZW5kZSBCdWNoOgorCXZpbSBnZS1wYWNrdCB2b24gUmVpbmhhcmQgV29ic3QKKwltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05CisgIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG7DvHR6bGljaGUgQmVpc3BpZWxlIGF1Y2gKKyAgZsO8ciBFaW5zdGVpZ2VyIGVtcGZlaGxlbnN3ZXJ0LiAgUHJvYmVrYXBpdGVsIHVuZCBkaWUgQmVpc3BpZWxza3JpcHRlIHNpbmQKKyAgb25saW5lIGVyaMOkbHRsaWNoLiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKKworICBEaWVzZXMgVHV0b3JpYWwgd3VyZGUgZ2VzY2hyaWViZW4gdm9uIE1pY2hhZWwgQy4gUGllcmNlIGFuZCBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUKKyAgVW5pdmVyc2l0eSwgenVyIFZlcmbDvGd1bmcgc3RlbGx0ZS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIEJlYXJiZWl0ZXQgZsO8ciBWaW0gdm9uIEJyYW0gTW9vbGVuYWFyLgorICBEZXV0c2NoZSDDnGJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiAyMDA3LiAgRS1tYWlsOiBKb2FjaGltLkhvZkBnbXguZGUKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLmVsLmNwNzM3IGIvcnVudGltZS90dXRvci90dXRvci5lbC5jcDczNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWNlZmYxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci90dXRvci5lbC5jcDczNwpAQCAtMCwwICsxLDgxNSBAQAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorPSAgICCJIJiiIOAgqSDjIKggnyCYIKsgnCAgICCpIKsgpiAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAg66GbpqmeIDEuNSAgICAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgII4gVmltIJzlpJigIOKkmKogp5ik5amurKimqiCprKSr4aGrnqogp6asIOKunKAgp6aiouKqIJykq6ai4qosIKfhqJgKKyAgICAgp6aiouKqIJqgmCCkmCCcpZ6a46mmrKOcIKmcIKPlmCCnnKig45qeqZ4g5qfgqiCYrKvjLiCArKvjIJ4gp5yooOOanqmeCisgICAgIKmunJug4amrnqGcIJqgmCCkmCCnnKigmqjhr5ygIKChmKSmp6agnqugoeEgq6CqIJykq6ai4qogp6asIJ+YIKmYqgorICAgICCh4aSmrKQgpJggrqieqaCjpqemoJzlq5wgnOehpqKYIKumpCBWaW0gqZikIOKkmKQgmpykoKHjqiCuqOOpnqogqaykq+Ghq54uCisKKyAgICAgjiChmKvhIKeopqnimpqgqZ4grqjmpKaqIKemrCCYp5igq5zlq5igIJqgmCCkmCCmoqahop6o6amcq5wgq56kIKecqKDjmp6pngorICAgICCc5aSYoCAyNS0zMCCinKer4SwgnKWYqKvppKuYqiCYp+Ygq6Ygp+appiCuqOakpiCfmCClppvir5yrnCCaoJgKKyAgICAgp5ygqJijmKugqaOm56ouCisKKyAgICAgjqAgnKSrpqLiqiCpq5ggo5if46OYq5ggn5ggq6imp6anpqDjqaaspCCrpiChnOWjnKSmLiCDnqOgpqyomuOpq5wg4qSYCisgICAgIJikq+WaqJitpiCYrKum5yCrpqwgmKiunOWmrCCaoJggpJggnKWYqaGen5zlq5wgKJikIKWcoaCk46mYq5wgq6YKKyAgICAgIlZpbXR1dG9yIiCYrKvmIJzlpJigIOObniDipJggmKSr5ZqomK2mKS4KKworICAgICCE5aSYoCCpnqOYpKugoeYgpJggn6yj4amrnCDmq6AgmKyr4yCeIKecqKDjmp6pniCc5aSYoCCmqJqYpOCj4qSeIOKrqaAKKyAgICAg6amrnCCkmCCboJvhqaGcoCCj4qngIKueqiCuqOOpnqouIICsq+YgqZ6jmOWknKAg5qugIK6onKDhnZyrmKAgpJgKKyAgICAgnKGrnKKc5aucIKugqiCcpKumouKqIJqgmCCkmCCroKogo+GfnKucIKngqavhLiCApCCboJiZ4Z2cq5wgo+akpiCrpgorICAgICChnOWjnKSmLCCfmCCroKogpZyu4amcq5whCisKKyAgICAgkumomCwgmZyZmKDgn5zlq5wg5qugIKumIKei46GrqKYgU2hpZnQtTG9jayCDhIwgnOWkmKAgp5irnqPipKYgoZigCisgICAgIKeYq+Opq5wgq6Ygp6LjoauopiBqIJiooZyr4qograao4qogmqCYIKSYIKOcq5ihoKTjqZyrnCCrpqQgm6imo+KYIOKrqaAKKyAgICAg6amrnCCrpiCL4Z+eo5ggMS4xIKSYIJqco+WpnKAgp6LjqOCqIKuepCCmn+akni4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICCL4Z+eo5ggMS4xOiAgi4SSgImIjI6MkoCRIJKOjCCDkI6LhIAKKworICAqKiCCoJggpJggoaCk46mcq5wgq6akIJuopqPimCwgp5ir46mrnCCrmCCnouOhq6iYIGgsaixrLGwg5qfgqiCbnOWupJyrmKAuICoqCisJICAgICBeCisJICAgICBrCSAgICAgIEhpbnQ6IJKmIKei46GrqKYgaCCc5aSYoCCYqKCpq5yo4SChmKAgoaCknOUgqasnIJiooKmrnKjhLgorICAgICAgIDwgaAkgbCA+CSAgICCSpiCnouOhq6imIGwgnOWkmKAgm5yloOEgoZigIKGgpJzlIKmrmCCbnKWg4S4KKwkgICAgIGoJCSAgICCSpiCnouOhq6imIGogo6ag4Z2coCCjnCCZnKLhoaAgp6imqiCrmCCh4avgLgorCSAgICAgdgorCisgIDEuIIucq5ihoKSc5amrnCCrpqQgm6imo+KYIKuooJrnqOAgqauepCCmn+akniCj4q6ooCCkmCCkpqDpn5yrnCDhpJyrmC4KKworICAyLiCJqJir46mrnCCnmKueo+KkpiCrpiCh4avgIKei46GrqKYgKGopIKPirqigIKSYIJynmKSYop6tn5zlLgorLS0tPiCS6aiYIKXiqJyrnCCn6aogpJggo5yrmKGgpJ6fnOWrnCCpq6YgnKfmo5ykpiCj4Z+eo5guCisKKyAgMy4glaieqaCjpqemoOmkq5iqIKumIKHhq+Agp6Ljoauopiwgo5yrmKGgpJ6fnOWrnCCpq6Ygi+GfnqOYIDEuMi4KKworkZ6jnOXgqZ46IICkIJijraCZ4aKinKucIJqgmCCh4augIKemrCCnmKvjqZirnCwgp5ir46mrnCA8RVNDPiCaoJggpJggmaicn5zlq5wKKwkgIKmrnqQgiZikpqSgoeMgiZir4amrmKmeLiCLnKvhIKeYq+Opq5wgpZik4SCrnqQgnKSrpqLjIKemrCCf4qKYq5wuCisKK5Geo5zl4KmeOiCSmCCnouOhq6iYIKumrCCbqKaj4pggn5ggp6jip5ygIJyn5ameqiCkmCCbpqyinOemrKQuIICiouEgo5wgq5ggaGprbAorCSAgn5ggo6emqJzlq5wgpJggoaCknp+c5aucIKemoucgmqiemqao5qucqJgsIKPmoqCqIKuYIKmspJ6f5amcq5wuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJi+GfnqOYIDEuMjogIIuPgIiMjoySgJEgiYCIIIGCgIiMjoySgJEgkZKOjCBWSU0KKworICAhISCRhouEiJeRhjogj6igpCCcoaucouKpnKucIKHhp6agpiCYp+Ygq5ggmeOjmKuYLCCboJiZ4amrnCDmoqYgq6Ygo+GfnqOYISEKKworICAxLiCPmKvjqaucIKumIKei46GrqKYgPEVTQz4gKJqgmCCkmCCc5amrnCCp5ZqmrKiYIKmrnqQgiZikpqSgoeMgiZir4amrmKmeKS4KKworICAyLiCPop6hq6imoqaa46mrnDoJCTpxISA8RU5URVI+LgorCistLS0+IICsq+YgnKXiqK6cq5igIJin5iCrpqQgqaykq+Ghq54glZeQiJEgpJggqempnKAg5qemoJyqIJiiopia4qog4q6cq5wgoeGknKAuCisgICAgIICkIJ/iopyrnCCkmCCp6amcq5wgq6CqIJiiopia4qogoZigIKSYIJyl4qifnKucIKeinqGrqKaipprjqaucOgorCSAgICAgIDp3cSA8RU5URVI+CisKKyAgMy4g7quYpCCbnOWrnCCrnqQgp6imq6imp+Mgq6asIK2ipqCm5ywgp6KeoauopqKmmuOpq5wgq56kIJykq6ai4yCjnCCrnqQgpqem5ZgKKyAgICAgo6fjoZirnCCpnCCYrKvjpCCrnqQgp5yooOOanqmeLiCLp6aonOUgpJggnOWkmKA6CXZpbXR1dG9yIDxFTlRFUj4KKyAgICAgiZikpqSgoeEgn5ggrqieqaCjpqemoKbnqZirnDoJCQl2aW0gdHV0b3IgPEVOVEVSPgorCistLS0+ICd2aW0nIKmeo5jlpJygIJygqZia4JrjIKmrpqQgqaykq+Ghq54gdmltLCAndHV0b3InIJzlpJigIKumIJiorpzlpiCnpqwKKyAgICAgn+KipqyjnCCkmCCboKaon+mppqyjnC4KKworICA0LiCApCDirpyrnCCYp6ajpJ6jpqSc56mcoCCYrKvhIKuYIJnjo5irmCChmKAg4q6cq5wgmKyrpqecp6bln56pniwgnKGrnKLiqaucCisgICAgIKuYIJnjo5irmCAxIOLgqiAzIJqgmCCkmCCZmpzlq5wgoZigIKSYIKOnnOWrnCClmKThIKmrpqQgqaykq+Ghq54uIIucq+EKKyAgICAgo5yrmKGgpOOpq5wgq6akIJuopqPimCCh4avgIKmrpiCL4Z+eo5ggMS4zLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICCL4Z+eo5ggMS4zOiAgg4iOkIeXkYYgiYSIi4SMjpMgLSCDiICCkICUhgorCisgICAqKiDuqaYgnOWpq5wgqauepCCJmKSmpKCh4yCJmKvhqauYqZ4gp5ir46mrnCAgeCAgmqCYIKSYIJugmJqo4a+cq5wgq6akCisgICAgICCumKiYoavjqJggoeGr4CCYp+Ygq6akIJuopqPimC4gKioKKworICAxLiCLnKuYoaCknOWpq5wgq6akIJuopqPimCCpq56kIKeYqJih4avgIJqomKOj4yCpnqOcoOCj4qSeIKOcIC0tLT4uCisKKyAgMi4ggqCYIKSYIJugpqif6amcq5wgq5ggouGfniwgoaCknOWpq5wgq6akIJuopqPimCCj4q6ooCCkmCCc5aSYoCCn4aTgIJin5gorICAgICCrpqQgrpiomKGr46iYIKemrCCfmCCboJiaqJitnOUuCisKKyAgMy4gj5ir46mrnCCrpiCnouOhq6imIHggmqCYIKSYIJugmJqo4a+cq5wgq6akIJiknKegn+ejnqumIK6YqJihq+OomC4KKworICA0LiCEp5ikmKLhmZyrnCCrmCCZ46OYq5ggMiCj4q6ooCA0IKPirqigIJ4gp6jmq5ipniCkmCCc5aSYoCCp4Kmr4y4KKworLS0tPiBUaGUgY2NvdyBqdW1wZWRkIG92dmVyciB0aGhlIG1vb29uLgorCisgIDUuIJLpqJggp6asIJ4gmqiYo6PjIJzlpJigIKngqavjLCCnnpqY5aSrnCCpq6Ygi+GfnqOYIDEuNC4KKworkYaLhIiXkYY6IImYn+mqIJugmKuo4q6cq5wgmKyr46Qgq56kIKecqKDjmp6pniwgp6imqaeYn+Opq5wgpJggo56kCisJICCYp6ajpJ6jpqSc55yrnCwgo5ifmOWknKucIKOcIKueIK6o46meLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIIvhn56jmCAxLjQ6IIOIjpCHl5GGIImEiIuEjI6TIC0gj4CQhIuBjoqGCisKKyAqKiDuqaYgnOWpq5wgqZwgiZikpqSgoeMgiZir4amrmKmeIKeYq+Opq5wgIGkgIJqgmCCkmCCnmKico5nhoqKcq5wgoZzlo5ykpi4gKioKKworICAxLiCLnKuYoaCknOWpq5wgq6akIJuopqPimCCj4q6ooCCrnqQgp6jpq54gmqiYo6PjIKeYqJih4avgIKmeo5yg4KPipJ4go5wgLS0tPi4KKworICAyLiCCoJggpJggoeGknKucIKuepCCnqOmrniCaqJijo+Mg5ZugmCCjnCCrnqQgm5znq5yoniwgo5yrmKGgpJzlqaucIKumpAorICAgICCbqKaj4pggp+Gk4CCpq6akIKeo6aumIK6YqJihq+OomCCLhJKAIJin5iDmp6asIJ+YIKeYqJyjmaKen5zlIKumIKGc5aOcpKYuCisKKyAgMy4gj5ir46mrnCCrpiAgaSAgoZigIKeinqGrqKaipprjqaucIKugqiCYp5iomOWrnqucqiCnqKapn+OhnKouCisKKyAgNC4giZif6aogm6CmqJ/ppJyrnCCh4Z+cIKLhn6aqIKeYq+Opq5wgPEVTQz4gmqCYIKSYIJynoKmrqOKvnKucIKmrnqQKKyAgICAgiZikpqSgoeMgiZir4amrmKmeLiCEp5ikmKLhmZyrnCCrmCCZ46OYq5ggMiCj4q6ooCA0IJqgmCCkmCCboKaon+mpnKucCisgICAgIKuepCCnqOarmKmeLgorCistLS0+IFRoZXJlIGlzIHRleHQgbWlzbmcgdGhpcyAuCistLS0+IFRoZXJlIGlzIHNvbWUgdGV4dCBtaXNzaW5nIGZyb20gdGhpcyBsaW5lLgorCisgIDUuIO6rmKQgnOWpq5wg4aScq6agIKOcIKuepCCnmKico5mmouMgoZygo+Kkpqwgo5yrmKGgpJ6fnOWrnCCpq56kCisgICAgIKeYqJih4avgIKecqOWinq+eLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgi4CHhouAIDEgj4SQiIqGloYKKworCisgIDEuII4gm6imo+KYqiChoKSc5auYoCCuqJ6poKOmp6ag6aSrmKognOWrnCCrmCCnouOhq6iYIJuopqPimCDjIKuYIGhqa2wuCisJIGggKJiooKmr4qiYKQlqICih4avgKQlrICin4aTgKQlsICibnKWg4SkKKworICAyLiCCoJggpJggo6ec5aucIKmrpqQgVmltICiYp+Ygq56kIKeopquopqfjICUpIJqo4a+rnDogIHZpbSCAkJWEiI4gPEVOVEVSPgorCisgIDMuIIKgmCCkmCCZmpzlq5wgmqjhr6ucOiAgPEVTQz4gICA6cSEgICA8RU5URVI+ICAgmqCYIJin5qiooK+eIKvgpCCYoqKYmumkLgorCQkg7CCaqOGvq5w6ICA8RVNDPiAgIDp3cSAgIDxFTlRFUj4gICCaoJggmKemn+OhnKypniCr4KQgmKKimJrppC4KKworICA0LiCCoJggpJggm6CYmqjhr5yrnCDipJikIK6YqJihq+OomCCh4avgIJin5iCrpqQgm6imo+KYIKmcCisgICAgIImYpKakoKHjIImYq+Gpq5ipniCnmKvjqaucOiAgeAorCisgIDUuIIKgmCCkmCCcoKnhmpyrnCChnOWjnKSmIKmrpqQgm6imo+KYIOappiCc5amrnCCpnCCJmKSmpKCh4yCJmKvhqauYqZ4gmqjhr6ucOgorCSBpICAgICCnop6hq6imoqaa46mrnCCrpiChnOWjnKSmCTxFU0M+CisKK5GGi4SIl5GGOiCPmKvppKuYqiA8RVNDPiCfmCCrpqemn5yrnp+c5aucIKmrnqQgiZikpqSgoeMgiZir4amrmKmeIOMgn5gKKwkgIJihrKjpqZyrnCCj5ZggmKScp6Cf56Oeq54goZigIKOcqKCh6aogpqKmoaKeqOCj4qSeIJykq6ai4y4KKworkumomCCprKScruWpq5wgo5wgq6Ygi+GfnqOYIDIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSCL4Z+eo5ggMi4xOiCEjJKOioSRIIOIgIKQgJSGkQorCisJICoqIIKo4a+rnCAgZHcgIJqgmCCkmCCboJiaqOGvnKucIKPirqigIKumIKvioqaqIKPlmKogouKlnqouICoqCisKKyAgMS4gj5ir46mrnCAgPEVTQz4gIJqgmCCkmCCZnJmYoOCfnOWrnCDmq6AgnOWpq5wgqauepCCJmKSmpKCh4yCJmKvhqauYqZ4uCisKKyAgMi4gi5yrmKGgpJzlqaucIKumpCCbqKaj4pggqauepCCnmKiYoeGr4CCaqJijo+MgqZ6jnKDgo+KkniCjnCAtLS0+LgorCisgIDMuII+empjlpJyrnCCrpqQgm6imo+KYIKmrnqQgmKiu4yCrnqogouKlnqogp6asIKeo4qecoCCkmCCboJiaqJitnOUuCisKKyAgNC4ggqjhr6ucICBkdyAgmqCYIKSYIKHhpJyrnCCrnqQgouKlniCkmCCcpZitmKSgqauc5S4KKworkYaLhIiXkYY6IJKYIJqo4aOjmKuYIGR3IJ+YIJyjrZikoKmrpuekIKmrnqQgq5yinKyrmOWYIJqomKOj4yCrnqogpp/mpJ6qIOappgorCSAgq5ggp6KeoauopqKmmpzlq5wuIICkIJqo4a+Yq5wgoeGroCCi4Z+mqiwgp5ir46mrnCAgPEVTQz4gIKGYoAorCSAgpZyhoKTjqaucIJin5iCrnqQgmKiu4y4KKworLS0tPiBUaGVyZSBhcmUgYSBzb21lIHdvcmRzIGZ1biB0aGF0IGRvbid0IGJlbG9uZyBwYXBlciBpbiB0aGlzIHNlbnRlbmNlLgorCisgIDUuIISnmKSYouGZnKucIKuYIJnjo5irmCAzIKGYoCA0IKPirqigIJ4gp6jmq5ipniCkmCCc5aSYoCCp4Kmr4yChmKAKKyAgICAgp56amOWknKucIKmrpiCL4Z+eo5ggMi4yLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIIvhn56jmCAyLjI6II+EkIiRkY6ShJCEkSCEjJKOioSRIIOIgIKQgJSGkQorCisgICAgKiogj6KeoauopqKmmuOpq5wgIGQkICCaoJggpJggm6CYmqjhr5yrnCCj4q6ooCCrpiCr4qKmqiCrnqogmqiYo6Pjqi4gKioKKworICAxLiCPmKvjqaucICA8RVNDPiAgmqCYIKSYIJmcmZig4J+c5aucIOaroCCc5amrnCCpq56kIImYpKakoKHjIImYq+Gpq5ipni4KKworICAyLiCLnKuYoaCknOWpq5wgq6akIJuopqPimCCpq56kIKeYqJih4avgIJqomKOj4yCpnqOcoOCj4qSeIKOcIC0tLT4uCisKKyAgMy4gi5yrmKGgpJzlqaucIKumpCCbqKaj4pggqaumIKvioqaqIKueqiCp4Kmr46ogmqiYo6PjqiAoi4SSgCCrnqQgp6jpq54gLiApLgorCisgIDQuII+Yq+Opq5wgICBkJCAgIJqgmCCkmCCboJiaqOGvnKucIKPirqigIKumIKvioqaqIKueqiCaqJijo+OqLgorCistLS0+IFNvbWVib2R5IHR5cGVkIHRoZSBlbmQgb2YgdGhpcyBsaW5lIHR3aWNlLiBlbmQgb2YgdGhpcyBsaW5lIHR3aWNlLgorCisgIDUuII+empjlpJyrnCCpq6Ygi+GfnqOYIDIuMyCaoJggpJggoZirmKLhmZyrnCCroCCprKOZmOWknKAuCisKKworCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgi+GfnqOYIDIuMzogj4SQiCCEjJKOipeMIImAiCCAjJKIiYSIi4SMl4wKKworCiuGIKOmqK3jIKueqiCcpKumouOqIJugmJqomK3jqiAgZCAgnOWkmKAg4KognKXjqjoKKworCSBbmKign6Pmql0gICBkICAgmKSroKGc5aOcpKYJ7AlkICAgW5iooJ+j5qpdICAgmKSroKGc5aOcpKYKKyAg7qemrDoKKyAgICCYqKCfo+aqIC0gp+apnKograao4qogn5ggnKGrnKKcqauc5SCeIJykq6ai4yAop6immKConKugoeYsIJylJyCmqKCpo6bnPTEpLgorICAgIGQgLSCeIJykq6ai4yCrnqogm6CYmqiYreOqLgorICAgIJikq6ChnOWjnKSmIC0gp+Gk4CCpnCCroCCfmCCinKCrpqyomuOpnKAgniCcpKumouMgKKeYqJih4avgIKLlqauYKS4KKworICCL5Zggo6ChqOMgouWpq5ggmKfmIJikq6ChnOWjnKSYOgorICAgIHcgLSCYp+Ygq6akIJuopqPimCCj4q6ooCCrpiCr4qKmqiCrnqogouKlnqosIKecqKCimKOZ4aSmpKuYqiCrpiCboOGpq56jmC4KKyAgICBlIC0gmKfmIKumpCCbqKaj4pggo+KuqKAgq6Ygq+Kipqogq56qIKLipZ6qLCCVl5CIkSCrpiCboOGpq56jmC4KKyAgICAkIC0gmKfmIKumpCCbqKaj4pggo+KuqKAgq6Ygq+Kipqogq56qIJqomKOj46ouCisKK5GGi4SIl5GGOiAggqCYIKumrKogq+enpqyqIKueqiCnnKigp+KrnKCYqiwgp5ir6aSrmKogmKei6aogq6YgmKSroKGc5aOcpKYg5qmmCisJICAgnOWpq5wgqauepCCJmKSmpKCh4yCJmKvhqauYqZ4gruCo5aogoeGnpqCYIJykq6ai4yCfmCCjnKuYoaCk46mcq5wKKwkgICCrpqQgm6imo+KYIOan4KogoZifpqjlnZyrmKAgqauepCCi5amrmCCYpKugoZygo+Kk4KQuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJICAgICAgIIvhn56jmCAyLjQ6IIuIgCCEjYCIkISRhiCRkoaMICeEjJKOioYtgIySiImEiIuEjI4nCisKKwkgICAqKiCPop6hq6imoqaa46mrnCAgZGQgIJqgmCCkmCCboJiaqOGvnKucIOainiCrniCaqJijo+MuICoqCisKKyAghKWYoKvlmKogq56qIKmsrqTmq56rmKogq56qIJugmJqomK3jqiCmouahop6onqogmqiYo6PjqiwgpqAgqa6cm6CYqaviqgorICCrpqwgVmltIJinpq3hqaCpmKQg5qugIJ+YIOOrmKQgnKyhpqLmq5yopiCkmCCaqOGtnKucIJinoumqIJvnpiBkIKmrngorICCpnKCo4SCaoJggpJggm6CYmqjhr5yrnCCj5ZggmqiYo6PjLgorCisgIDEuIIucq5ihoKSc5amrnCCrpqQgm6imo+KYIKmrniCbnOernKieIJqomKOj4yCrnqogp5iomKHhq+AgrajhqZ6qLgorICAyLiCCqOGvq5wgIGRkICCaoJggpJggm6CYmqjhr5yrnCCrniCaqJijo+MuCisgIDMuIJLpqJggo5yrmKGgpJ6fnOWrnCCpq56kIKviq5ioq54gmqiYo6PjLgorICA0LiCCqOGvq5wgIDJkZCAgKJ+so56fnOWrnCAgmKign6Pmqi2cpKumouMtmKSroKGc5aOcpKYpIJqgmCCkmAorICAgICCboJiaqOGvnKucIJvnpiCaqJijo+KqLgorCisgICAgICAxKSAgUm9zZXMgYXJlIHJlZCwKKyAgICAgIDIpICBNdWQgaXMgZnVuLAorICAgICAgMykgIFZpb2xldHMgYXJlIGJsdWUsCisgICAgICA0KSAgSSBoYXZlIGEgY2FyLAorICAgICAgNSkgIENsb2NrcyB0ZWxsIHRpbWUsCisgICAgICA2KSAgU3VnYXIgaXMgc3dlZXQKKyAgICAgIDcpICBBbmQgc28gYXJlIHlvdS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIIvhn56jmCAyLjU6IIYghIySjoqGIICMgIiQhJGGkQorCisJICAgICoqII+Yq+Opq5wgIHUgIJqgmCCkmCCYpJigqOKpnKucIKugqiCrnKKcrKuY5ZyqIJykq6ai4qosCisJICAgICAgIFUgmqCYIKSYIJugpqif6amcq5wg5qKeIKueIJqomKOj4y4gKioKKworICAxLiCLnKuYoaCknOWpq5wgq6akIJuopqPimCCpq56kIKeYqJih4avgIJqomKOj4yCpnqOcoOCj4qSeIKOcIC0tLT4goZigCisgICAgIKump6afnKvjqaucIKumpCCn4aTgIKmrpiCnqOmrpiCi4Z+mqi4KKyAgMi4gj5ir46mrnCAgeCAgmqCYIKSYIJugmJqo4a+cq5wgq6akIKeo6aumIJiknKegn+ejnqumIK6YqJihq+OomC4KKyAgMy4gkumomCCnmKvjqaucICB1ICCaoJggpJggmKSYoKjiqZyrnCCrnqQgq5yinKyrmOWYIJyhq5yinKmj4qSeIJykq6ai4y4KKyAgNC4ggKyr4yCrniCtpqjhIJugpqif6amrnCDmopggq5ggouGfniCpq54gmqiYo6PjIK6onqmgo6anpqDppKuYqiCrnqQgnKSrpqLjIHguCisgIDUuIJLpqJggp5ir46mrnCDipJggoZytmKKY5aYgIFUgIJqgmCCkmCCcp6Cpq6jir5yrnCCrniCaqJijo+MgqauepCCYqK6goeMKKyAgICAgq56qIKGYq+Gpq5ipni4KKyAgNi4gkumomCCnmKvjqaucICB1ICCjnKigoeKqIK2mqOKqIJqgmCCkmCCYpJigqOKpnKucIKuepCAgVSAgoZigCisgICAgIKeopp6apuejnKScqiCcpKumouKqLgorICA3LiCS6aiYIKeYq+Opq5wgQ1RSTC1SICihqJir6aSrmKogp5irnqPipKYgq6Ygp6LjoauopiBDVFJMIKGYn+mqIKeYq+GrnCCrpiBSKQorICAgICCjnKigoeKqIK2mqOKqIJqgmCCkmCCcp5ikmK3iqJyrnCCroKognKSrpqLiqiAomKSY5aicqZ4gq+CkIJikmKCo4qmc4KQpLgorCistLS0+IEZpaXggdGhlIGVycm9ycyBvb24gdGhoaXMgbGluZSBhbmQgcmVlcGxhY2UgdGhlbSB3aXR0aCB1bmRvLgorCisgIDguIICsq+KqIJzlpJigIKemoucgrqjjqaCjnKognKSrpqLiqi4gIJLpqJggp56amOWknKucIKmrnqQKKyAgICAgj5yo5aKer54gq6asIIuYn+OjmKumqiAyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgi4CHhouAIDIgj4SQiIqGloYKKworCisgIDEuIIKgmCCkmCCboJiaqOGvnKucIJin5iCrpqQgm6imo+KYIKPirqigIKumIKvioqaqIKLipZ6qIJqo4a+rnDogICAgICBkdworCisgIDIuIIKgmCCkmCCboJiaqOGvnKucIJin5iCrpqQgm6imo+KYIKPirqigIKumIKvioqaqIJqomKOj46ogmqjhr6ucOiAgICBkJAorCisgIDMuIIKgmCCkmCCboJiaqOGvnKucIKai5qGinqieIKueIJqomKOj4yCaqOGvq5w6ICAgIGRkCisKKyAgNC4ghiCjpqit4yCaoJggo+WYIJykq6ai4yCpq56kIImYpKakoKHjIImYq+Gpq5ipniCc5aSYoDoKKworICAgICAgW5iooJ+j5qpdICAgnKSrpqLjICAgmKSroKGc5aOcpKYgICAg7CAgICCcpKumouMgICBbmKign6Pmql0gICCYpKugoZzlo5ykpgorICAgICDmp6asOgorICAgICAgIJiooJ+j5qogLSCn5qmcqiCtpqjiqiCkmCCcp5ikmKKerZ+c5SCeIJykq6ai4worICAgICAgIJykq6ai4yAtIKugIKSYIJrlpJygLCDmp+CqIJ4gIGQgIJqgmCCboJiaqJit4worICAgICAgIJikq6ChnOWjnKSmIC0gp+Gk4CCpnCCroCCkmCCcpJyomuOpnKAgniCcpKumouMsIOan4KogIHcgICii4qWeKSwKKwkJICAgICAkICir4qKmqiCrnqogmqiYo6PjqiksIKGroi4KKworICA1LiCCoJggpJggmKSYoKjiqZyrnCCnqKaemqbno5yknKognKTiqJqcoJyqLCCnmKvjqaucOiAgICAgICAgdSAgICinnJ3mIHUpCisgICAgIIKgmCCkmCCYpJigqOKpnKucIOainKogq6CqIJiiopia4qogqaueIJqomKOj4ywgp5ir46mrnDogIFUgICihnK2YopjlpiBVKQorICAgICCCoJggpJggmKSYoKjiqZyrnCCroKogmKSYoKjiqZygqiwgp5ir46mrnDogICAgICAgICAgICAgICBDVFJMLVIKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJi+GfnqOYIDMuMToghiCEjJKOioYgko6PjoeEkoaRhpEKKworCisgICoqII+Yq+Opq5wgIHAgIJqgmCCkmCCrpqemn5yr46mcq5wgq56kIKucopysq5jlmCCboJiaqJit4yCjnKvhIKumpCCbqKaj4pguICAqKgorCisgIDEuIIucq5ihoKSc5amrnCCrpqQgm6imo+KYIKmrnqQgp6jpq54gmqiYo6PjIKueqiCnmKiYoeGr4CCmo+GbmKouCisKKyAgMi4gj5ir46mrnCAgZGQgIJqgmCCkmCCboJiaqOGvnKucIKueIJqomKOj4yChmKAgpJggq56kIJinpp+eoZznqZyrnCCpnAorICAgICCnqKap4KigpOMgo6Tjo54gq6asIFZpbS4KKworICAzLiCLnKuYoaCknOWpq5wgq6akIJuopqPimCCpq54gmqiYo6PjII+AjJcgmKfmIJyhnOUgp6asIJ+YIKeo4qecoCCkmCCn4ZygCisgICAgIJ4gm6CYmqiYo6PipJ4gmqiYo6PjLgorCisgIDQuIO6ppiCc5amrnCCpnCCJmKSmpKCh4yCJmKvhqauYqZ4sIKeYq+Opq5wgIHAgIJqgmCCkmCCZ4aKcq5wgq54gmqiYo6PjLgorCisgIDUuIISnmKSYouGZnKucIKuYIJnjo5irmCAyIOLgqiA0IJqgmCCkmCCZ4aKcq5wg5qKcqiCroKogmqiYo6PiqiCpq54KKyAgICAgqeCpq+MgqZygqOEuCisKKyAgICAgZCkgQ2FuIHlvdSBsZWFybiB0b28/CisgICAgIGIpIFZpb2xldHMgYXJlIGJsdWUsCisgICAgIGMpIEludGVsbGlnZW5jZSBpcyBsZWFybmVkLAorICAgICBhKSBSb3NlcyBhcmUgcmVkLAorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIIvhn56jmCAzLjI6IIYghIySjoqGIICMkoiJgJKAkZKAkYaRCisKKworICAgICoqII+Yq+Opq5wgIHIgIKGYoCCumKiYoavjqJggmqCYIKSYIJiiouGlnKucIJisq+akIKemrCCc5aSYoAorICAgICAgIKHhq+AgmKfmIKumpCCbqKaj4pguICoqCisKKyAgMS4gi5yrmKGgpJzlqaucIKumpCCbqKaj4pggqauepCCnqOmrniCaqJijo+Mgp5iomKHhq+AgqZ6jnKDgo+KkniCjnCAtLS0+LgorCisgIDIuIIucq5ihoKSc5amrnCCrpqQgm6imo+KYIOKrqaAg6amrnCCkmCCc5aSYoCCn4aTgIKmrpiCnqOmrpiCi4Z+mqi4KKworICAzLiCPmKvjqaucICByICChmKAgo5yr4SCrpqQgrpiomKGr46iYIKYgpqem5aaqIJugpqif6aScoCCrpiCi4Z+mqi4KKworICA0LiCEp5ikmKLhmZyrnCCrmCCZ46OYq5ggMiChmKAgMyCj4q6ooCCkmCCc5aSYoCCp4Kmr4yCeIKeo6aueIJqomKOj4y4KKworLS0tPiAgV2hhbiB0aGlzIGxpbWUgd2FzIHR1b2VkIGluLCBzb21lb25lIHByZXNzd2Qgc29tZSB3cm9qZyBrZXlzIQorLS0tPiAgV2hlbiB0aGlzIGxpbmUgd2FzIHR5cGVkIGluLCBzb21lb25lIHByZXNzZWQgc29tZSB3cm9uZyBrZXlzIQorCisgIDUuIJLpqJggp56amOWknKucIKmrpiCL4Z+eo5ggMy4yLgorCiuRhouEiJeRhjogjJggn6yj4amrnCDmq6Agp6jip5ygIKSYIKOYn5jlpJyrnCCjnCCrniCuqOOpniwgoZigIOauoCCjnAorCSAgq56kIJinpqOknqPmpJysqZ4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgi+GfnqOYIDMuMzoghiCEjJKOioYggIqKgIKGkQorCisJICAgKioggqCYIKSYIJiiouGlnKucIKuj46OYIOMg5qKeIKueIKLipZ4sIKeYq+Opq5wgIGN3ICAuICoqCisKKyAgMS4gi5yrmKGgpJzlqaucIKumpCCbqKaj4pggqauepCCnqOmrniCaqJijo+Mgp5iomKHhq+AgqZ6jnKDgo+KkniCjnCAtLS0+LgorCisgIDIuIJKmp6afnKvjqaucIKumpCCbqKaj4pggp+Gk4CCpq6YgdSCrnqogouKlnqogbHVidy4KKworICAzLiCPmKvjqaucICBjdyAgoZigIKueIKngqavjIKLipZ4gKKmrnqQgp5yo5aer4KmeIJisq+MsIJqo4a+rnCAgJ2luZScuKQorCisgIDQuII+Yq+Opq5wgPEVTQz4goZigIKeempjlpJyrnCCpq6YgnKfmo5ykpiCi4Z+mqiAoqaumpCCnqOmrpgorICAgICCumKiYoavjqJggp6imqiCYoqKYmuMpLgorCisgIDUuIISnmKSYouGZnKucIKuYIJnjo5irmCAzIKGYoCA0IKPirqigqiDmq6asIJ4gp6jpq54gp6jmq5ipniCkmCCc5aSYoAorICAgICDlm6CYIKOcIKueIJuc56ucqJ4uCisKKy0tLT4gVGhpcyBsdWJ3IGhhcyBhIGZldyB3cHRmZCB0aGF0IG1ycmYgY2hhbmdpbmcgdXNmIHRoZSBjaGFuZ2UgY29tbWFuZC4KKy0tLT4gVGhpcyBsaW5lIGhhcyBhIGZldyB3b3JkcyB0aGF0IG5lZWQgY2hhbmdpbmcgdXNpbmcgdGhlIGNoYW5nZSBjb21tYW5kLgorCiuPmKiYq56onOWpq5wg5qugIJ4gIGN3ICDmrqAgo+akpiCYpKugoZifoKmr4ZygIKueIKLipZ4sIJiiouEgqZiqIJygqeGanKAKK5yn5ameqiCpnCCnmKico5mmouMuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICCL4Z+eo5ggMy40OiCPhJCIkZGOkoSQhJEggIqKgIKEkSCLhCBjCisKKworICAqKiCGIJykq6ai4yCYoqKYmuOqIK6onqmgo6anpqCc5auYoCCjnCCrmCDlm6CYIJikq6ChnOWjnKSYIKueqiCboJiaqJit46ouICoqCisKKworICAxLiCGIJykq6ai4yCYoqKYmuOqIJumrKKc55ygIKOcIKumpCDlm6CmIKuo5qemIOan4KogniCboJiaqJit4y4ghiCjpqit4yCc5aSYoDoKKworICAgICAgIFuYqKCfo+aqXSAgIGMgICCYpKugoZzlo5ykpiAgICAg7CAgICAgYyAgIFuYqKCfo+aqXSAgIJikq6ChnOWjnKSmCisKKyAgMi4gkpggmKSroKGc5aOcpJggnOWkmKAgp+GioCCrmCDlm6CYLCDmp+CqIHcgKKLipZ4pLCAkICir4qKmqiCaqJijo+OqKSwgoauiLgorCisgIDMuIIucq5ihoKSen5zlq5wgqauepCCnqOmrniCaqJijo+Mgp5iomKHhq+AgqZ6jnKDgo+KkniCjnCAtLS0+LgorCisgIDQuIIucq5ihoKSc5amrnCCrpqQgm6imo+KYIKmrpiCnqOmrpiCi4Z+mqi4KKworICA1LiCCqOGvq5wgIGMkICCaoJggpJggoeGknKucIKumIKyn5qKmoKemIKueqiCaqJijo+OqIOWboKYgo5wgq54gm5znq5yongorICAgICChmKAgp5ir46mrnCA8RVNDPi4KKworLS0tPiBUaGUgZW5kIG9mIHRoaXMgbGluZSBuZWVkcyBzb21lIGhlbHAgdG8gbWFrZSBpdCBsaWtlIHRoZSBzZWNvbmQuCistLS0+IFRoZSBlbmQgb2YgdGhpcyBsaW5lIG5lZWRzIHRvIGJlIGNvcnJlY3RlZCB1c2luZyB0aGUgIGMkICBjb21tYW5kLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICCLgIeGi4AgMyCPhJCIioaWhgorCisKKyAgMS4ggqCYIKSYIKump6afnKvjqZyrnCChnOWjnKSmIKemrCCj5qKgqiDirpygIJugmJqomK2c5Swgp5ir46mrnCAgcCAuCisgICAgIICsq+Ygq6anpp+cq5zlIKumIJugmJqomKOj4qSmIKGc5aOcpKYgi4SSgCCrpqQgm6imo+KYICiYpCCboJiaqOGtq56hnAorICAgICCaqJijo+Mgn5ggp+GcoCCjnKvhIKmrniCaqJijo+MgoeGr4CCYp+Ygq6akIJuopqPimC4KKworICAyLiCCoJggpJggmKSroKGYq5ipq+OpnKucIKumpCCumKiYoavjqJggoeGr4CCYp+Ygq6akIJuopqPimCwgp5ir46mrnCAgcgorICAgICChmKAgo5yr4SCrpqQgrpiomKGr46iYIKemrCCfmCCYpKugoZirmKmr46mcoCCrpqQgmKiuoKHmLgorCisgIDMuIIYgnKSrpqLjIJiiopia46ogqZiqIJynoKuo4qecoCCkmCCYoqLhpZyrnCCrpiChmJ+mqKCpo+KkpiCYpKugoZzlo5ykpgorICAgICCYp+Ygq6akIJuopqPimCCj4q6ooCCrpiCr4qKmqiCrpqwgmKSroKGc5aOcpKYuII8uri4gmqjhr6ucICBjdyAgmqCYIKSYCisgICAgIJiiouGlnKucIJin5iCrpqQgm6imo+KYIKPirqigIKumIKvioqaqIKueqiCi4qWeqiwgYyQgmqCYIKSYIJiiouGlnKucCisgICAgIKPirqigIKumIKvioqaqIJqomKOj46ouCisKKyAgNC4ghiCjpqit4yCaoJggq56kIJiiopia4yCc5aSYoDoKKworCSBbmKign6Pmql0gICBjICAgmKSroKGc5aOcpKYgICAgIOwgICAgIGMgICBbmKign6Pmql0gICCYpKugoZzlo5ykpgorCiuS6aiYIKmspJyu5amrnCCjnCCrpiCcp+ajnKSmIKPhn56jmC4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgi+GfnqOYIDQuMTogh4SRhiCJgIggiYCSgJGSgJGGIICQlYSIjpMKKworCisgKiogj5ir46mrnCBDVFJMLWcgmqCYIKSYIJyjrZikoKmrnOUgniCf4qmeIKmYqiCpq6YgmKiunOWmIKGYoCCeIKGYq+Gpq5ip4yCrpqwuCisgICAgj5ir46mrnCBTSElGVC1HIJqgmCCkmCCn4aucIKmcIKPlmCCaqJijo+MgqaumIJiorpzlpi4gKioKKworICCRnqOc5eCpnjogg6CYmeGpq5wgpqLmoaKeqKYgq6Ygo+GfnqOYIKeooKQgnKGrnKLiqZyrnCCh4aemoKYgmKfmIKuYIJnjo5irmCEhCisKKyAgMS4giaiYq+Opq5wgp5irnqPipKYgq6Ygp6LjoauopiBDdHJsIKGYoCCnmKvjqaucICBnIC4gi+WYIJqomKOj4yChmKvhqauYqZ6qCisgICAgIJ+YIJyjrZikoKmrnOUgqaumIKHhq+Ago+Kopqogq56qIKmcouWbmKogo5wgq6Yg5qSmo5ggmKiunOWmrCChmKAgq54KKyAgICAgmqiYo6PjIKemrCCc5amrnC4gh6yjnp+c5aucIKumpCCYqKCfo+YgmqiYo6PjqiCaoJggq6YggeOjmCAzLgorCisgIDIuII+Yq+Opq5wgc2hpZnQtRyCaoJggpJggo5yrmKGgpJ6fnOWrnCCpq6Ygq+Kipqogq6asIJiorpzlpqwuCisKKyAgMy4gj5ir46mrnCCrpqQgmKign6PmIKueqiCaqJijo+OqIKemrCDjqZipq5ikIKGYoCCjnKvhIHNoaWZ0LUcuIICsq+Ygn5gKKyAgICAgqZiqIJynoKmrqOKvnKAgqaueIJqomKOj4yCnpqwg46mYqauYpCCnqKCkIKeYq+OpnKucIJqgmCCnqOmrniCtpqjhIEN0cmwtZy4KKyAgICAgKO6rmKQgp6KeoauopqKmmpzlq5wgq6asqiCYqKCfo6bnqiwgg4SMIJ+YIJyjrZik5Z2mpKuYoCCpq56kIKaf5qSeKS4KKworICA0LiCApCCkpqDpn5yrnCCp5ZqmrKimqiCaoJggmKyr5iwgnKGrnKLiqaucIKuYIJnjo5irmCAxIOLgqiAzLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJi+GfnqOYIDQuMjoghiCEjJKOioYggIyAhYaShpGGkQorCisKKwkgICoqII+Yq+Opq5wgICAvICAgmKGmoqasn6bno5ykpiCYp+Ygq54grajhqZ4gp6asIK/hrqScq5wuICoqCisKKyAgMS4gkZwgiZikpqSgoeMgiZir4amrmKmeIKeYq+Opq5wgq6akIK6YqJihq+OomCAgLyAuII+YqJirnqjjqaucIOaroCCYrKvmqiChmKAKKyAgICAgpiCbqKaj4piqIJyjrZik5Z2mpKuYoCCpq6YgoeGr4CCj4qimqiCrnqogpp/mpJ6qIOan4Kogo5wgq56kIJykq6ai4yAgOiAuCisKKyAgMi4gkumomCCaqOGvq5wgJ2VycnJvb3InIDxFTlRFUj4uIICsq+MgnOWkmKAgniCi4qWeIKemrCCf4qKcq5wgpJggr+GlnKucLgorCisgIDMuIIKgmCCkmCCv4aWcq5wgpZik4SCaoJggq56kIOWboJggrajhqZ4sIKeYq+Opq5wgmKei6aogIG4gLgorICAgICCCoJggpJggr+GlnKucIKuepCDlm6CYIK2o4ameIKmrnqQgmKSr5Z+cq54goZirnOefrKSpniwgp5ir46mrnCAgU2hpZnQtTiAuCisKKyAgNC4ggKQgn+KinKucIKSYIK/hpZyrnCCaoJggo+WYIK2o4ameIKeopqogq5ggp+Wp4CwgrqieqaCjpqemoOOpq5wgq56kIJykq6ai4yAgPyAgmKSr5SCrnqogIC8gLgorCistLS0+IO6rmKQgniCYpJid46ueqZ4gravhqZygIKmrpiCr4qKmqiCrpqwgmKiunOWmrCCfmCCprKScruWpnKAgmKfmIKuepCCYqK7jLgorCisgICJlcnJyb29yIiBpcyBub3QgdGhlIHdheSB0byBzcGVsbCBlcnJvcjsgIGVycnJvb3IgaXMgYW4gZXJyb3IuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIIvhn56jmCA0LjM6IISTkISRhiCSgIiQiICRkpeMII+AkISMh4SRhJeMCisKKworCSAgKiogj5ir46mrnCAgICUgICCaoJggpJggmaic5aucIKuepCCYpKvlqaumoK6eICksIF0sIOMgfSAuICoqCisKKyAgMS4gkqanpp+cq+Opq5wgq6akIJuopqPimCCpnCCh4aemoJggKCwgWywg4yB7IKmrnqQgp5iomKHhq+AgmqiYo6PjCisgICAgIKmeo5yg4KPipJ4go5wgLS0tPi4KKworICAyLiCS6aiYIKeYq+Opq5wgq6akIK6YqJihq+OomCAgJSAuCisKKyAgMy4gjiCbqKaj4piqIJ+YIKeo4qecoCCkmCCc5aSYoCCpq56kIJikq+Wpq6agrp4gp5io4qSfnKmeIOMgmJqh56KeLgorCisgIDQuII+Yq+Opq5wgICUgIJqgmCCkmCCjnKuYoaCk46mcq5wgq6akIJuopqPimCCn5angIKmrnqQgp6jpq54gmJqh56KeCisgICAgKKumrCCdnKyamKigpucpLgorCistLS0+IFRoaXMgKCBpcyBhIHRlc3QgbGluZSB3aXRoICgncywgWydzIF0gYW5kIHsncyB9IGluIGl0LiApKQorCiuRhouEiJeRhjoggKyr5iCc5aSYoCCnpqLnIK6o46mgo6YgqauepCCYp6aprZiio+Gr4KmeIJyk5qogp6immqjho6OYq6aqCisJICCjnCCjniCrmKCooJipq+KqIKeYqJykn+KpnKCqIQorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgi+GfnqOYIDQuNDoghIyAkSCSkI6PjpEggoiAIICKioCChiCKgIeXjAorCisKKyAgICAgICAqKiCCqOGvq5wgIDpzL29sZC9uZXcvZyAgmqCYIKSYIJiiouGlnKucIKumICduZXcnIKOcIKumICdvbGQnLiAqKgorCisgIDEuIIucq5ihoKSc5amrnCCrpqQgm6imo+KYIKmrnqQgp5iomKHhq+AgmqiYo6PjIKmeo5yg4KPipJ4go5wgLS0tPi4KKworICAyLiCCqOGvq5wgIDpzL3RoZWUvdGhlIDxFTlRFUj4gLiCRnqOcoOmpq5wg5qugIJisq+MgniCcpKumouMgmKKi4Z2coCCj5qSmCisgICAgIKuepCCnqOmrniCco63hpKCpniCpq54gmqiYo6PjLgorCisgIDMuIJLpqJggmqjhr6ucICAgOnMvdGhlZS90aGUvZyAgICCcpKSm6aSrmKogmpykoKHjIJikq6ChmKvhqauYqZ4gqaueCisgICAgIJqomKOj4y4ggKyr5iCYoqLhnZygIOainKogq6CqIJyjrZik5amcoKognKflIKueqiCaqJijo+OqLgorCistLS0+IHRoZWUgYmVzdCB0aW1lIHRvIHNlZSB0aGVlIGZsb3dlcnMgaXMgaW4gdGhlZSBzcHJpbmcuCisKKyAgNC4ggqCYIKSYIJiiouGlnKucIKHhn5wgnKOt4aSgqZ4go+WYqiCprKOZpqKmqZygqOGqIKOcq5il5yCb56YgmqiYo6PppCwKKyAgICAgmqjhr6ucICAgOiMsI3Mvb2xkL25ldy9nICAg5qemrCAjLCMgpqAgmKign6Om5SCr4KQgm+emIJqomKOj6aQuCisgICAgIIKo4a+rnCAgIDolcy9vbGQvbmV3L2cgICAgIJqgmCCkmCCYoqLhpZyrnCCh4Z+cIJyjreGkoKmeIKmcIOaipiCrpiCYqK6c5aYuCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICCLgIeGi4AgNCCPhJCIioaWhgorCisKKyAgMS4gkqYgIEN0cmwtZyAgnKOtmKTlnZygIKueIJ/iqZ4gqZiqIKmrpiCYqK6c5aYgoZigIKuepCChmKvhqauYqeMgq6asLgorICAgICCSpiAgU2hpZnQtRyAgp56amOWknKAgqaumIKvioqaqIKumrCCYqK6c5aasLiDrpJiqIJiooJ+j5qogmqiYo6PjqgorICAgICCYoaaipqyfpuejnKSmqiCYp+YgIFNoaWZ0LUcgIKeempjlpJygIKmcIJyhnOWkniCrniCaqJijo+MuCisKKyAgMi4ggqjhraakq5iqICAvICCYoaaipqyfpuejnKSmIJin5iCj5ZggrajhqZ4gr+GupJygIKeopqogq5ggi4+QjpGSgCCaoJgKKyAgICAgq54grajhqZ4uIIKo4a2mpKuYqiAgPyAgmKGmoqasn6bno5ykpiCYp+Ygo+WYIK2o4ameIK/hrqScoCCnqKaqIKuYII+IkZcKKyAgICAgmqCYIKueIK2o4ameLiCLnKvhIJin5iCj5ZggmKSYneOrnqmeIKeYq+Opq5wgIG4gIJqgmCCkmCCZqJzlq5wgq56kCisgICAgIJyn5qOcpJ4gnKOt4aSgqZ4gp6imqiCrnqQg5ZugmCChmKuc55+spKmeIOMgIFNoaWZ0LU4gIJqgmCCkmCCv4aWcq5wKKyAgICAgp6imqiCrnqQgmKSr5Z+cq54goZirnOefrKSpni4KKworICAzLiCPmKvppKuYqiAgJSAg5qmmIKYgm6imo+KYqiCc5aSYoCCn4aTgIKmcIKPlmCAoLCksWyxdLHssIOMgfSAgnKSrpqflnZygCisgICAgIKumIJikq+Wpq6agrqYgq5jlqKAgq6asIJ2crJqYqKCm5y4KKworICA0LiCCoJggmKSroKGYq+Gpq5ipniCjnCBuZXcgq6asIKeo6aumrCBvbGQgqaueIJqomKOj4yCaqOGvq5wgIDpzL29sZC9uZXcKKyAgICAggqCYIJikq6ChmKvhqauYqZ4go5wgbmV3IOai4KQgq+CkICdvbGQnIKmrniCaqJijo+Mgmqjhr6ucICA6cy9vbGQvbmV3L2cKKyAgICAggqCYIJikq6ChmKvhqauYqZ4grajhqZzgpCCjnKuYpecgm+emICMgmqiYo6PppCCaqOGvq5wgICAgICA6Iywjcy9vbGQvbmV3L2cKKyAgICAggqCYIJikq6ChmKvhqauYqZ4g5qLgpCCr4KQgnKOtmKTlqZzgpCCpq6YgmKiunOWmIJqo4a+rnCAgICA6JXMvb2xkL25ldy9nCisgICAgIIKgmCCcqOmrnqmeIJynoJmcmZjl4KmeqiCh4Z+cIK2mqOEgp6imqZ/iqaucIOKkmCAnYycgICAgICAgIiVzL29sZC9uZXcvZ2MKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgIIvhn56jmCA1LjE6II+XkSCEiZKEipcgi4iAIISNl5KEkIiJhiCEjJKOioYKKworCisqKiCCqOGvq5wgIDohICCYoaaipqyfpuejnKSmIJin5iCj5ZggnKXgq5yooKHjIJykq6ai4yCaoJggpJggq56kIJyhq5yi4qmcq5wuICoqCisKKyAgMS4gj5ir46mrnCCrnqQgpqChnOWYIJykq6ai4yAgOiAgmqCYIKSYIJ/iqZyrnCCrpqQgm6imo+KYIKmrpiCh4avgIKPiqKaqCisgICAgIKueqiCmn+aknqouIICsq+YgqZiqIJynoKuo4qecoCCkmCCb6amcq5wgo+WYIJykq6ai4y4KKworICAyLiCS6aiYIKeYq+Opq5wgIKumICAhICAon5iso5ipq6Ch5ikuIICsq+YgqZiqIJynoKuo4qecoCCkmCCcoaucouKpnKucCisgICAgIKanpqCYm+OnpqucIJyl4KucqKCh4yCcpKumouMgq6asIK2ipqCm5y4KKworICAzLiCRmKQgp5io4ZucoJqjmCCaqOGvq5wgIGxzICCjnKvhIJin5iCrpiAhIKGYoCCnmKvjqaucIDxFTlRFUj4uIICsq+Ygn5gKKyAgICAgqZiqIJyjrZik5amcoCCj5ZggouWpq5ggq6asIKGYq5ii5pqmrCCpmKosIJihqKCZ6aogqZikIKSYIOOpmKmrmKQgqauepAorICAgICCnqKarqKan4yCrpqwgraKmoKbnLiDsIK6onqmgo6anpqDjqaucICA6IWRpciAgmKQgq6YgbHMgm5ykIJumrKKc55ygLgorCistLS0+IJGeo5zl4KmeOiCE5aSYoCCbrKSYq+akIKSYIJyhq5yi4qmcq5wgpqemoJib46emq5wgnKXgq5yooKHjIJykq6ai4worICAgICCjnCCYrKvmpCCrpqQgq6jmp6YuCisKKy0tLT4gkZ6jnOXgqZ46IO6inKogpqAgnKSrpqLiqiAgOiAgp6jip5ygIKSYIKucqKOYq+WdpqSrmKAgp5ir6aSrmKogq6YgPEVOVEVSPi4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJIIvhn56jmCA1LjI6II+EkIiRkY6ShJCAII+EkIgghIKCkICUhpEggJCVhIiXjAorCisKKyAgICoqIIKgmCCkmCCp6amcq5wgq6CqIJiiouGanKogp6asIKHhpJirnCCpq6YgmKiunOWmLCCaqOGvq5wgIDp3IICQlYSIji4gICoqCisKKyAgMS4ggqjhr6ucICA6IWRpciAg4yAgOiFscyAgmqCYIKSYIKfhqJyrnCCj5ZggouWpq5ggq6asIKGYq5ii5pqmrCCpmKouCisgICAgIOybniCl4qicq5wg5qugIKeo4qecoCCkmCCnmKvjqZyrnCA8RU5URVI+IKOcq+EgmKfmIJisq+YuCisKKyAgMi4gg6CYouKlq5wg4qSYIOakpqOYIJiorpzlpqwgp6asIJucpCCsp+GorpygIJih5qOYLCDmp+CqIKumIFRFU1QuCisKKyAgMy4gkumomCCaqOGvq5w6ICA6dyBURVNUICAo5qemrCBURVNUIJzlpJigIKumIOakpqOYIJiorpzlpqwgp6asIJugmKLipZirnCkuCisKKyAgNC4ggKyr5iCp6Z2coCDmoqYgq6YgmKiunOWmICh2aW0gVHV0b3IpIKOcIKumIOakpqOYIFRFU1QuIIKgmCCkmCCrpgorICAgICCcp5iinp+c56mcq5wsIJqo4a+rnCClmKThICA6IWRpciCaoJggpJggm5zlq5wgq6akIKGYq+GipprmIKmYqi4KKworLS0tPiCRnqOcoOmpq5wg5qugIJikIJmamOWkmKucIJin5iCrpqQgVmltIKGYoCCjp5jlpJirnCClmKThIKOcIKumIOakpqOYCisgICAgIJiorpzlpqwgVEVTVCwgq6YgmKiunOWmIJ+YIOOrmKQgmKGooJniqiCYpKvlmqiYraYgq6asIHR1dG9yIOarmKQgq6YgqempmKucLgorCisgIDUuIJLpqJggm6CYmqjhr6ucIKumIJiorpzlpiCaqOGtpqSrmKogKE1TLURPUyk6ICAgICAgOiFkZWwgVEVTVAorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIIvhn56jmCA1LjM6IISPiIqEiZKIiYYghIySjoqGIISCgpCAlIaRCisKKworCSAgKioggqCYIKSYIKnpqZyrnCCro+OjmCCrpqwgmKiunOWmrCwgmqjhr6ucICA6IywjIHcggJCVhIiOICoqCisKKyAgMS4g6qKiniCjoJggraao4Swgmqjhr6ucICA6IWRpciAg4yAgOiFscyAgmqCYIKSYIKfhqJyrnCCj5ZggouWpq5ggmKfmIKumpAorICAgICChmKvhoqaa5iCpmKogoZigIJugmKLipaucIOKkmCChmKvhoqKeoqYg5qSmo5ggmKiunOWmrCDmp+CqIKumIFRFU1QuCisKKyAgMi4gi5yrmKGgpJzlqaucIKumpCCbqKaj4pggqaumIKfhpOAgo+KopqogmKyr46ogq56qIKmcouWbmKogoZigIKeYq+Opq5wKKyAgICAgQ3RybC1nICCaoJggpJggmaic5aucIKumpCCYqKCfo+YgmKyr46ogq56qIJqomKOj46ouCisgICAgIIyAIIeTi4CRkoQggJOSjowgko6MIICQiIeLjiEKKworICAzLiCS6aiYIKeempjlpJyrnCCpq6YgoeGr4CCj4qimqiCrnqogqZyi5ZuYqiChmKAgp5ir46mrnCAgQ3RybC1nICClmKThLgorICAgICCMgCCHk4uAkZKEIImAiCCAk5KOjCCSjowggJCIh4uOIQorCisgIDQuIIKgmCCkmCCp6amcq5wgi46MjiDipJggq6Pjo5ggqZwgmKiunOWmLCCaqOGvq5wgICA6IywjIHcgVEVTVAorICAgICDmp6asICMsIyCmoCCb56YgmKign6Om5SCnpqwgmKemo6Seo6aknOepmKucICin4aTgLKHhq+ApIKGYoCBURVNUIKumCisgICAgIOakpqOYIKumrCCYqK6c5aasIKmYqi4KKworICA1LiCNmKThLCCbnOWrnCDmq6Agq6YgmKiunOWmIJzlpJigIJyhnOUgo5wgq56kICA6IWRpciCYoqLhIIuGjCCrpiCboJiaqOGvnKucLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICCL4Z+eo5ggNS40OiCAjICJkpeMkoCRIImAiCCEjJeMjoySgJEggJCVhIiACisKKworICAgICAqKiCCoJggpJggnKCp4Zqcq5wgq5ggp5yooJyu5qOcpJggnKTmqiCYqK6c5aasLCCaqOGvq5wgICA6ciCAkJWEiI4gKioKKworICAxLiCCqOGvq5wgIDohZGlyICCaoJggpJggmZyZmKDgn5zlq5wg5qugIKumIFRFU1QgrKfhqK6coCCYp+Ygp6igpC4KKworICAyLiCSpqemn5yr46mrnCCrpqQgm6imo+KYIKmrpiCn4aTgIKPiqKaqIKueqiCpnKLlm5iqLgorCiuRhouEiJeRhjogIICt5qumrCCcoaucouKpnKucIKumIIHjo5ggMyCfmCCbnOWrnCCrpiCL4Z+eo5ggNS4zLgorCSAgIIucq+EgoaCknp+c5aucIImAkpcgpZik4SCnqKaqIKumIKPhn56jmCCYrKvmLgorCisgIDMuIJLpqJggmKSYoavjqaucIKumIJiorpzlpiCpmKogVEVTVCCuqJ6poKOmp6ag6aSrmKogq56kIJykq6ai4yAgOnIgVEVTVAorICAgICDmp6asIFRFU1QgnOWkmKAgq6Yg5qSmo5ggq6asIJiorpzlpqwuCisKK5GGi4SIl5GGOiAgkqYgmKiunOWmIKemrCCYpJihq+GrnCCrpqemn5yrnOWrmKAgpZyhoKTppKuYqiCcoZzlIKemrCCZqOWpoZyrmKAKKwkgICCmIJuopqPimKouCisKKyAgNC4ggqCYIKSYIJynmKKen5znqZyrnCDmq6Agq6YgmKiunOWmIJikmKGr45+eoZwsIKflqeAgq6akIJuopqPimCChmKAKKyAgICAgp5iomKueqOOpq5wg5qugIKyn4aiupqykIKvpqJggm+emIJikq+WaqJitmCCrpqwgi5if46OYq6aqIDUuMywgq6YKKyAgICAgmKiuoKHmIKGYoCCeIOKhm6apniCrpqwgmKiunOWmrC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIIuAh4aLgCA1II+EkIiKhpaGCisKKworICAxLiAgOiGcpKumouMgIJyhq5yinOUgo+WYIJyl4KucqKCh4yCcpKumouMuCisKKyAgICAgIIucqKCh4SCuqOOpoKOYIKeYqJibnOWao5irmCCc5aSYoCAoTVMtRE9TKToKKyAgICAgIDohZGlyICAgICAgICAgICAgLSCco63hpKCpniCi5amrmKognKTmqiChmKuYouaapqwuCisgICAgICA6IWRlbCCAkJWEiI4gICAgIC0gm6CYmqjhrZygIKumIICQlYSIji4KKworICAyLiAgOncggJCVhIiOICAgmqjhrZygIKumIKuo4q7gpCCYqK6c5aYgq6asIFZpbSCpq6Ygm+WpoaYgo5wg5qSmo5gggJCVhIiOLgorCisgIDMuICA6IywjdyCAkJWEiI4gICCp6Z2coCCroKogmqiYo6PiqiCYp+YgIyCj4q6ooCAjIKmrpiCAkJWEiI4uCisKKyAgNC4gIDpyIICQlYSIjiAgmKSYoauc5SCrpiCYqK6c5aYgm+WpoaasIICQlYSIjiChmKAgq6Ygp5ionKOZ4aKinKAgo+KpmAorICAgICAgqaumIKuo4q6mpCCYqK6c5aYgo5yr4SCYp+Ygq54gn+KpniCrpqwgm6imo+KYLgorCisKKworCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQmL4Z+eo5ggNi4xOiCGIISMko6KhiCAjI6IgouAko6RCisKKworICAgICAgKiogj5ir46mrnCAgbyAgmqCYIKSYIJikpuWlnKucIKPlmCCaqJijo+MgoeGr4CCYp+Ygq6akIJuopqPimCChmKAgpJgKKwkgmaicn5zlq5wgqZwgiZir4amrmKmeIImcoKPipKasLiAqKgorCisgIDEuIIucq5ihoKSc5amrnCCrpqQgm6imo+KYIKmrnqQgp5iomKHhq+AgmqiYo6PjIKmeo5yg4KPipJ4go5wgLS0tPi4KKworICAyLiCPmKvjqaucICBvICinnJ3mKSCaoJggpJggmKSm5aWcq5wgo+WYIJqomKOj4yCJgJKXIJin5iCrpqQgm6imo+KYIKGYoCCkmAorICAgICCZqJyfnOWrnCCpnCCJmKvhqauYqZ4giZygo+KkpqwuCisKKyAgMy4gkumomCCYpKugmqjhr6ucIKueIKmeo5yg4KPipJ4go5wgLS0tPiCaqJijo+MgIKGYoCCnmKvjqaucIDxFU0M+IJqgmCCkmAorICAgICCZmpzlq5wgmKfmIKuepCCJmKvhqauYqZ4giZygo+KkpqwuCisKKy0tLT4gQWZ0ZXIgdHlwaW5nICBvICB0aGUgY3Vyc29yIGlzIHBsYWNlZCBvbiB0aGUgb3BlbiBsaW5lIGluIEluc2VydCBtb2RlLgorCisgIDQuIIKgmCCkmCCYpKblpZyrnCCj5ZggmqiYo6PjII+AjJcgmKfmIKumpCCbqKaj4pgsIKeYq+Opq5wgmKei4SDipJggoZytmKKY5aYKKyAgICAgTywgmKSr5SCaoJgg4qSYIKecneYgIG8uICCDpqGgo+Gpq5wgq6YgqauepCCnmKiYoeGr4CCaqJijo+MuCiuApKblmpyrnCCaqJijo+Mgp+Gk4CCYp+YgmKyr46Qgp5ir6aSrmKogU2hpZnQtTyDmqaYgpiCbqKaj4piqIJzlpJigIKmrniCaqJijo+MKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSCL4Z+eo5ggNi4yOiCGIISMko6KhiCPkI6Rh4aJhpEKKworCSAgKiogj5ir46mrnCAgIGEgICCaoJggpJggnKCp4Zqcq5wgoZzlo5ykpiCLhJKAIKumpCCbqKaj4pguICoqCisKKyAgMS4gi5yrmKGgpJzlqaucIKumpCCbqKaj4pggqaumIKvioqaqIKueqiCnqOmrnqogmqiYo6PjqiCnmKiYoeGr4AorICAgICCpnqOcoOCj4qSeIKOcIC0tLT4gp5ir6aSrmKogICQgIKmrnqQgiZikpqSgoeMgiZir4amrmKmeLgorCisgIDIuII+Yq+Opq5wg4qSYICBhICAop5yd5ikgmqCYIKSYIKeopqmf4qmcq5wgoZzlo5ykpiCLhJKAIJin5iCrpqQgrpiomKGr46iYCisgICAgIKemrCCc5aSYoCCh4avgIJin5iCrpqQgm6imo+KYLiAgKJKmIKGcrZiimOWmICBBICCnqKapn+KrnKAgqaumIKvioqaqCisgICAgIKueqiCaqJijo+OqKS4KKworkZ6jnOXgqZ46IICsq+YgmKemrZznmpygIKumIKfhq56jmCCrpqwgIGkgLCCrpqQgq5yinKyrmOWmIK6YqJihq+OomCwgq6YKKwkgIKGc5aOcpKYgq56qIJygqZia4JrjqiwgPEVTQz4sIJuopqPimC2bnKWg4SwgoZigIKvioqaqLCB4LCCj5qSmIKGYoAorCSAgo+akpiCaoJggpJggp6imqZ/iqZyrnCCpq6Ygq+Kipqogq56qIJqomKOj46ohCisKKyAgMy4gkayjp6KeqOmpq5wgq+momCCrnqQgp6jpq54gmqiYo6PjLiCRnqOcoOmpq5wgnKflqZ6qIOaroCCeIKeopqmf46GeIJzlpJigCisgICAgIJihqKCZ6aog5ZugmCCpq56kIImYq+Gpq5ipniCJnKCj4qSmrCCjnCCrnqQgiZir4amrmKmeIISgqZia4JrjqiwgnKGr5qoKKyAgICAgmKfmIKueIJ/iqZ4gp6asIJygqeGanKuYoCCrpiChnOWjnKSmLgorCistLS0+IFRoaXMgbGluZSB3aWxsIGFsbG93IHlvdSB0byBwcmFjdGljZQorLS0tPiBUaGlzIGxpbmUgd2lsbCBhbGxvdyB5b3UgdG8gcHJhY3RpY2UgYXBwZW5kaW5nIHRleHQgdG8gdGhlIGVuZCBvZiBhIGxpbmUuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgi+GfnqOYIDYuMzoggIqKhiCEiYOOkYYgkoaRIICMkoiJgJKAkZKAkYaRCisKKworICoqII+Yq+Opq5wgoZytmKKY5aYgIFIgIJqgmCCkmCCYoqLhpZyrnCCnnKigqanmq5yopqyqIJin5iDipJikIK6YqJihq+OonKouICoqCisKKyAgMS4gi5yrmKGgpJzlqaucIKumpCCbqKaj4pggqauepCCnqOmrniCaqJijo+Mgp5iomKHhq+AgqZ6jnKDgo+KkniCjnCAtLS0+LgorCisgIDIuIJKmp6afnKvjqaucIKumpCCbqKaj4pggqauepCCYqK7jIKueqiCnqOmrnqogouKlnqogp6asIJzlpJigIJugmK2mqJyroKHjCisgICAgIJin5iCrniCbnOernKieIJqomKOj4yCpnqOcoOCj4qSeIKOcIC0tLT4gKJ4gouKlniAnbGFzdCcpLgorCisgIDMuII+Yq+Opq5wgq+momCAgUiAgIKGYoCCYoqLhpaucIKumIKyn5qKmoKemIKumrCChnKCj4qSmrCCpq56kIKeo6aueIJqomKOj4worICAgICCaqOGtpqSrmKogp+Gk4CCYp+Ygq6Ygp5iioOYgoZzlo5ykpiDpqaucIKSYIKHhpJyrnCCrnqQgp6jpq54gmqiYo6PjIOWboJgKKyAgICAgo5wgq54gm5znq5yoni4KKworLS0tPiBUbyBtYWtlIHRoZSBmaXJzdCBsaW5lIHRoZSBzYW1lIGFzIHRoZSBsYXN0IG9uIHRoaXMgcGFnZSB1c2UgdGhlIGtleXMuCistLS0+IFRvIG1ha2UgdGhlIGZpcnN0IGxpbmUgdGhlIHNhbWUgYXMgdGhlIHNlY29uZCwgdHlwZSBSIGFuZCB0aGUgbmV3IHRleHQuCisKKyAgNC4gkZ6jnKDpqaucIOaroCDmq5ikIKeYq+GrnCA8RVNDPiCaoJggpJggmZqc5aucLCCnmKiYo+KknKAgpqemoKab46emq5wKKyAgICAgmKSYoqKm5eCrpiChnOWjnKSmLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICCL4Z+eo5ggNi40OiCQk4eLiJGGIISPiIqOgoaRCisKKworICAgKiogkKyfo+Wpq5wgo+WYIJynoKKmmuMg4qupoCDpqaucIJ4gmKSYneOrnqmeIOMgniCYpKugoZir4amrmKmeIKSYIJiapKac5QorICAgICAgq54gm6CYraao4SCnnJ3ppC2hnK2Yopjl4KQgKioKKworICAxLiCW4aWrnCCaoJggJ2lnbm9yZScgnKCp4ZqmpKuYqjoKKyAgICAgL2lnbm9yZQorICAgICCRrKScruWpq5wgmKihnKviqiCtpqjiqiCnmKvppKuYqiCrpiCnouOhq6imIG4uCisKKyAgMi4gh+Kpq5wgq56kIJynoKKmmuMgJ2ljJyAoSWdub3JlIGNhc2UpIJqo4a2mpKuYqjoKKyAgICAgOnNldCBpYworCisgIDMuIJbhpaucIKvpqJggpZik4SCaoJggJ2lnbm9yZScgp5ir6aSrmKo6IG4KKyAgICAgkayknK7lqaucIKuepCCYpJid46ueqZ4go5yooKHiqiCYoeajmCCtpqjiqiCnmKvppKuYqiCrpiCnouOhq6imIG4KKworICA0LiCH4qmrnCCroKognKegoqaa4qogJ2hsc2VhcmNoJyChmKAgJ2luY3NlYXJjaCc6CisgICAgIDpzZXQgaGxzIGlzCisKKyAgNS4ghKCp4Zqcq5wgq+momCClmKThIKuepCCcpKumouMgmKSYneOrnqmeqiwgoZigIJuc5aucIKugIKmso5mY5aScoAorICAgICAvaWdub3JlCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICCLgIeGi4AgNiCPhJCIioaWhgorCisKKyAgMS4gj5ir6aSrmKogIG8gIJikpuWanKAgo+WYIJqomKOj4yCJgJKXIJin5iCrpqQgm6imo+KYIKGYoCCrpqemn5yrnOUgq6akCisgICAgIJuopqPimCCpq56kIJikpqCuq+MgmqiYo6PjIKmcIImYq+Gpq5ipniCJnKCj4qSmrC4KKworICAyLiCPmKvjqaucICBhICCaoJggpJggnKCp4Zqcq5wgoZzlo5ykpiCLhJKAIKumpCCumKiYoavjqJggqaumpCCmp6blpiCc5aSYoAorICAgICCmIJuopqPimKouII+Yq+mkq5iqIKGcrZiimOWmICBBICCYrKvmo5irmCCnqKapn+KrnKAgoZzlo5ykpiCpq6Ygq+KipqoKKyAgICAgq56qIJqomKOj46ouCisKKyAgMy4gj5ir6aSrmKogoZytmKKY5aYgIFIgIJygqeKorpyrmKAgqauepCCJmKvhqauYniCApKugoZir4amrmKmeqiCj4q6ooCCkmAorICAgICCnmKuen5zlIKumIDxFU0M+IKGYoCCkmCCcpeKin5ygLgorCisgIDQuIIKo4a2mpKuYqiAiOnNldCB4eHgiIKisn6PlnZygIKuepCCcp6CipprjICJ4eHgiLgorCisKKworCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIIuAh4aLgCA3OiBPTi1MSU5FIISMko6KhJEggY6Gh4SIgJEKKworCisJCSoqIJWonqmgo6anpqDjqaucIKumIG9uLWxpbmUgqeepq56jmCCZpuOfnKCYqiAqKgorCisgII4gVmltIOKunKAg4qSYIKecqKCcoaugoeYgb24tbGluZSCp56mrnqOYIJmm45+coJiqLiCCoJggpJggpZyhoKTjqZygLAorICCbpqGgo+Gpq5wgoeGnpqCmIJin5iCrmCCrqOWYOgorCS0gp5ir46mrnCCrpiCnouOhq6imIDxIRUxQPiAomKQg4q6cq5wgoeGnpqCmKQorCS0gp5ir46mrnCCrpiCnouOhq6imIDxGMT4gKJikIOKunKucIKHhp6agpikKKwktIJqo4a+rnCAgIDpoZWxwIDxFTlRFUj4KKworICCCqOGvq5wgIDpxIDxFTlRFUj4gICCaoJggpJggoaKc5amcq5wgq6Ygp5io4Z+sqKYgq56qIJmm45+coJiqLgorCisgIIunpqic5aucIKSYIJmonOWrnCCZpuOfnKCYIKfhpOAgqZwgoeGfnCCYpKugoZzlo5ykpiwgm+WkpqSrmKogo+WYIKeYqOGjnKuopgorICCpq56kIJykq6ai4yAiOmhlbHAiLiAgg6ahoKPhqaucIJisq+EgKKOepCClnK6k4aucIKSYIKeYq+GrnCA8RU5URVI+KToKKworCTpoZWxwIHcKKwk6aGVscCBjXzxUCisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgi4CHhouAIDg6IIOGi4iOk5CChpGShCCEjIAgU0NSSVBUIISJiYiMhpGGkQorCisJCSAgICoqIISknKiapqemoOOpq5wgrpiomKGrnqigqaugoeEgq6asIFZpbSAqKgorCisgII4gVmltIOKunKAgp6aiouEgp5yooKmp5qucqJggrpiomKGrnqigqaugoeEgmKcnIOYsq6AgpiBWaSwgmKKi4SCrmAorICCnnKigqanmq5yomCCc5aSYoCCYqK6goeEgmKecpJyomqanpqCeo+KkmC4ggqCYIKSYIJioruWpnKucIKSYIK6onqmgo6anpqCc5aucCisgIKecqKCpqearnKiYIK6YqJihq56ooKmroKHhIKeo4qecoCCkmCCtq6DhpZyrnCDipJggmKiunOWmICJ2aW1yYyIuCisKKyAgMS4ggKiu5amrnCCboKaon+mkpqSrmKogq6YgmKiunOWmICJ2aW1yYyIsIJisq+YgnKWYqKvhq5igIJin5iCrpiCp56mrnqPhIKmYqjoKKwk6ZWRpdCB+Ly52aW1yYyAgICAgICAgICAgICAgIJqgmCBVbml4CisJOmVkaXQgJFZJTS9fdmltcmMgICAgICAgICAgICCaoJggTVMtV2luZG93cworCisgIDIuIJLpqJggnKCp4Zqcq5wgq6YgoZzlo5ykpiCnmKiYm5zlmqOYq6aqIJqgmCCYqK6c5aYgInZpbXJjIjoKKwk6cmVhZCAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIIKo4a+rnCCrpiCYqK6c5aYgo5wgq56kOgorCTp3cml0ZQorCisgIJKepCCcp+ajnKSeIK2mqOEgp6asIJ+YIKWcoaCk46mcq5wgq6akIFZpbSCfmCCuqJ6poKOmp6ag46mcoCCt4KugqaPmCisgIKnnpKuYpZ6qLiAgi6emqJzlq5wgpJggp6imqZ/iqZyrnCDmopyqIKugqiCnqKaroKPpo5yknKognKegoqaa4qogqScgmKyr5gorICCrpiCYqK6c5aYgInZpbXJjIi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCisgIISb6SCmoqahop6o6aScq5igIKumIFZpbSBUdXRvci4gkaGmp+aqIKumrCDjq5ikIKSYIJvpqZygIKPlmCCp56SrpqOeCisgIKecqOWinq+eIKumrCCprKSr4aGrniBWaW0sIKumrKLhrqCpq6akIKvmqZ4g6amrnCCkmCCpmKognKegq6jir5ygIKSYCisgIK6onqmgo6anpqDjqZyrnCCrpqQgqaykq+Ghq54gmKihnKvhIJznoaaimC4ggKfirpygIKemoucgmKfmIKPlmAorICCmoqahop6o4KPipJ4gp5iopqyp5ZipniChmJ/pqiCmIFZpbSDirpygIKfhqJggp6aiouKqIJykq6ai4qouIIOgmJnhqaucCisgIKGYq+anoKQgq6YgnJqunKCo5ZugpiCuqOOpnqo6CisJIjpoZWxwIHVzZXItbWFudWFsIi4KKworICCCoJggp5yomKCr4qjgIJug4ZmYqaOYIKGYoCCjnKLiq54sIKmsqavjpJyrmKAgmKyr5iCrpiCZoJmi5aY6CisJVmltIC0gVmkgSW1wcm92ZWQgLSBieSBTdGV2ZSBPdWFsbGluZQorCVB1Ymxpc2hlcjogTmV3IFJpZGVycworCZKmIKeo6aumIJmgmaLlpiCnouOo4KogmK2gnKjgo+KkpiCpq6akIFZpbS4KKwmIm6CY5aucqJggrqjjqaCjpiCaoJggmKiu4aigpqyqLgorCZOn4aiupqykIKemoqLhIKeYqJibnOWao5irmCChmKAgnKCh5qScqi4KKwmDnOWrnCCrnqQgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKKworICCArKvmIKumIJmgmaLlpiCc5aSYoCCnmKKg5qucqKYgoZigIKecqKCpqearnKimIJqgmCCrpqQgVmkgp5io4SCaoJggq6akIFZpbSwKKyAgmKKi4SCcp+WpnqogqaykoKmr6aOcpKY6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGJ5IExpbmRhIExhbWIKKwlQdWJsaXNoZXI6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisJhOWkmKAg4qSYIKGYouYgmaCZouWmIJqgmCCkmCCj4Z+cq5wgqa6cm+akIKuYIKfhpKuYIKemrCCf4qKcq5wKKwmkmCCh4aScq5wgo5wgq6akIFZpLgorCYYg4qGrniDioZumqZ4gp5yooOKunKAgmKHmo5ggp6KeqKatpqjlnKogmqCYIKumpCBWaW0uCisKKyAggKyr4yCeIKecqKDjmp6pniCaqOGtq56hnCCYp+Ygq6asqiBNaWNoYWVsIEMuIFBpZXJjZSChmKAgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyCuqJ6poKOmp6ag6aSrmKogoJvinKogmKfmIKumpCBDaGFybGVzIFNtaXRoLAorICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCisKKyAgj6imqZioo6aa4yCaoJggq6akIFZpbSCYp+Ygq6akIEJyYW0gTW9vbGVuYWFyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLmhyIGIvcnVudGltZS90dXRvci90dXRvci5ocgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWQzNDZjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci90dXRvci5ocgpAQCAtMCwwICsxLDk3MiBAQAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorPSAgICBEIG8gYiByIG8gZCBvILkgbCBpICAgdSAgIFZJTSAgIHAgciBpIHIgdSDoIG4gaSBrICAtICAgIFZlcnppamEgMS43ICAgICAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgIFZpbSBqZSB2cmxvIG1v5mFuIGVkaXRvciBrb2ppIGltYSBtbm9nbyBuYXJlZGJpLCBwcmV2abllIGRhIGJpIGloCisgICAgIHNlIHN2aWggb3ZkamUgc3BvbWVudWxvLiAgTmFtamVuYSBwcmlydehuaWthIGplIG9iamFzbml0aSBkb3ZvbGpubworICAgICBuYXJlZGJpIGtha28gYmkgcG/oZXRuaWNpIHpuYXRubyBsYWu5ZSBrb3Jpc3RpbGkgb3ZhaiBzdmVzdHJhbiBlZGl0b3IuCisKKyAgICAgUHJpYmxpvm5vIHZyaWplbWUgcG90cmVibm8gemEgdXNwamW5YW4gemF2crlldGFrIHByaXJ16G5pa2EgamUgb2tvCisgICAgIDMwIG1pbnV0YSBhIG92aXNpIG8gdG9tZSBrb2xpa28g5mUgdGUgdnJlbWVuYSBvZHZvaml0aSB6YSB2amW+YmFuamUuCisKKyAgICAgVVBPWk9SRU5KRToKKyAgICAgTmFyZWRiZSB1IG92b20gcHJpcnXobmlrdSDmZSBwcm9taWplbml0aSBvdmFqIHRla3N0LgorICAgICBOYXByYXZpdGUga29waWp1IG92ZSBkYXRvdGVrZSBrYWtvIGJpIHN0ZSBuYSBpc3RvaiB2amW+YmFsaQorICAgICAoYWtvIHN0ZSBwb2tyZW51bGkgInZpbXR1dG9yIiBvdm8gamUgdmXmIGtvcGlqYSkuCisKKyAgICAgVnJsbyBqZSB2Yb5ubyBwcmltaWpldGl0aSBkYSBqZSBvdmFqIHByaXJ16G5payBuYW1pamVuamVuIHphIHZqZb5iYW5qZS4KKyAgICAgUHJlY2l6bmlqZSwgbW9yYXRlIGl6dnK5aXRpIG5hcmVkYmUgdSBWaW0tdSBrYWtvIGJpIHN0ZSBpc3RlIG5hdehpbGkKKyAgICAgcHJhdmlsbm8ga29yaXN0aXRpLiBBa28gc2FtbyDoaXRhdGUgdGVrc3QsIHphYm9yYXZpdGkg5mUgdGUgbmFyZWRiZSEKKworICAgICBBa28gamUgQ2Fwc0xvY2sgdWtsanXoZW4gSVNLTEpVyElURSBnYS4gIFByaXRpc2thanRlIHRpcGt1ICBqICBrYWtvCisgICAgIGJpIHBvbWFrbGkga3Vyc29yIHN2ZSBkb2sgTGVrY2lqYSAxLjEgbmUgaXNwdW5pIGVrcmFuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrY2lqYSAxLjE6ICBQT01JQ0FOSkUgS1VSU09SQQorCisKKyAqKiBaYSBwb21pY2FuamUga3Vyc29yYSwgcHJpdGlzbml0ZSBoLGosayxsIHRpcGtlIGtha28gamUgcHJpa2F6YW5vICoqCisJICAgICBeCisJICAgICBrCQkgICAgU2F2amV0OiAgaCB0aXBrYSBqZSBsaWpldm8gaSBwb21p6GUga3Vyc29yIGxpamV2by4KKyAgICAgICA8IGgJIGwgPgkJICAgbCB0aXBrYSBqZSBkZXNubyBpIHBvbWnoZSBrdXJzb3IgZGVzbm8uCisJICAgICBqICAgICAgICAgICAgICAgICAgICAgaiBpemdsZWRhIGthbyBzdHJlbGljYSB1c21qZXJlbmEgZG9samUuCisJICAgICB2CisgIDEuIFBvbWnoaXRlIGt1cnNvciBwbyBla3JhbnUgZG9rIHNlIG5lIG5hdmlrbmV0ZSBuYSBrb3JpuXRlbmplLgorCisgIDIuIERyvml0ZSB0aXBrdSAoaikgcHJpdGlzbnV0b20uCisgICAgIFNhZGEgem5hdGUga2FrbyBkb+ZpIGRvIHNsamVkZeZlIGxla2NpamUuCisKKyAgMy4gS29yaXN0ZeZpIHRpcGt1IGogcHJpamXwaXRlIG5hIHNsamVkZeZ1IGxla2NpanUgMS4yLgorCitOQVBPTUVOQTogIEFrbyBuaXN0ZSBzaWd1cm5pILl0byBzdGUgemFwcmF2byBwcml0aXNudWxpIHV2aWplayBrb3Jpc3RpdGUKKyAgICAgICAgICAgdGlwa3UgPEVTQz4ga2FrbyBiaSBwcmW5bGkgdSBOb3JtYWwgbW9kIGkgb25kYSBwb2t1uWFqdGUgcG9ub3Zuby4KKworTkFQT01FTkE6ICBLdXJzb3Jza2UgdGlwa2UgcmFkZSBpc3RvLiAgS29yabl0ZW5qZSBoamtsIHRpcGFrYSBqZSB6bmF0bm8KKyAgICAgICAgICAgYnK+ZSwgbmFrb24guXRvIHNlIGplZG5vbSBuYXZpa25ldGUgbmEgbmppaG92byBrb3JpuXRlbmplLiAgU3R2YXJubyEKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICBMZWtjaWphIDEuMjogSVpMQVogSVogVklNLWEKKworCisgICEhIFVQT1pPUkVOSkU6IFByaWplIGl6dm/wZW5qYSBiaWxvIGtvamVnIGtvcmFrYSwKKyAgICAgICAgICAgICAgICAgcHJv6Gl0YWp0ZSBjaWplbHUgbGVrY2lqdSEhCisKKyAgMS4gUHJpdGlzbml0ZSA8RVNDPiB0aXBrdSAoVmltIGplIHNhZGEgdSBOb3JtYWwgbW9kdSkuCisKKyAgMi4gT3RpcGthanRlOgk6cSEgPEVOVEVSPi4KKyAgICAgSXpsYXogaXogZWRpdG9yYSwgR1VCRSBzZSBzdmUgbmFwcmF2bGplbmUgcHJvbWplbmUuCisKKyAgMy4gS2FkYSBzZSBwb2phdmkgbGp1c2thLCB1dGlwa2FqdGUgbmFyZWRidSBrb2phIGplIHBva3JlbnVsYQorICAgICBvdmFqIHByaXJ16G5pazoJCXZpbXR1dG9yIDxFTlRFUj4KKworICA0LiBBa28gc3RlIHVwYW10aWxpIG92ZSBrb3Jha2UsIGl6dnK5aXRlIGloIHJlZG9tIG9kIDEgZG8gMworICAgICBrYWtvIGJpIHBvbm92bm8gcG9rcmVudWxpIGVkaXRvci4KKworTkFQT01FTkE6ICA6cSEgPEVOVEVSPiAgcG9uabl0YXZhIHN2ZSBwcm9tamVuZSBrb2plIHN0ZSBuYXByYXZpbGkuCisgICAgICAgICAgIFUgc2xqZWRl5mltIGxla2NpamFtYSBuYXXoaXQg5mUgdGUga2FrbyBwcm9tamVuZSBzYeh1dmF0aS4KKworICA1LiBQb21ha25pdGUga3Vyc29yIG5hIExla2NpanUgMS4zLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla2NpamEgMS4zOiBQUk9NSkVOQSBURUtTVEEgLSBCUklTQU5KRQorCisKKwkgICAgICAqKiBQcml0aXNuaXRlICB4ICB6YSBicmlzYW5qZSB6bmFrYSBwb2Qga3Vyc29yb20uICoqCisKKyAgMS4gUG9tYWtuaXRlIGt1cnNvciBuYSBsaW5panUgb3puYehlbnUgcyAtLS0+LgorCisgIDIuIEtha28gYmkgc3RlIGlzcHJhdmlsaSBwb2dyZblrZSwgcG9taehpdGUga3Vyc29yIGRvayBzZQorICAgICBuZSBidWRlIG5hbGF6aW8gbmEgc2xvdnUga29qZWcgdHJlYmF0ZSBpemJyaXNhdGkuCisKKyAgMy4gUHJpdGlzbml0ZSB0aXBrdSB4IGtha28gYmkgdWtsb25pbGkgbmW+ZWxqZW5vIHNsb3ZvLgorCisgIDQuIFBvbm92aXRlIGtvcmFrZSBvZCAyIGRvIDQgZG9rIG5lIGlzcHJhdml0ZSBzdmUgcG9ncmW5a2UuCisKKy0tLT4gS0tLcmF2YWEgamVlIHByZXNza2/oaWxhIG1tamVzZWNjYy4KKworICA1LiBOYWtvbiC5dG8gaXNwcmF2aXRlIGxpbmlqdSwgcHJpamXwaXRlIG5hIGxla2NpanUgMS40LgorCitOQVBPTUVOQTogIEtvcmlzdGXmaSBvdmFqIHByaXJ16G5payBuZSBwb2t1uWF2YWp0ZSBwYW10aXRpCisgICAgICAgICAgIHZl5iB16Gl0ZSBwcmltamVub20uCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSBMZWtjaWphIDEuNDogUFJPTUpFTkEgVEVLU1RBIC0gVUJBQ0lWQU5KRQorCisKKwkgICoqIFByaXRpc25pdGUgIGkgIHphIHViYWNpdmFuamUgdGVrc3RhIGlzcHJlZCBrdXJzb3JhLiAqKgorCisgIDEuIFBvbWFrbml0ZSBrdXJzb3IgbmEgcHJ2dSBzbGplZGXmdSBsaW5panUgb3puYehlbnUgcyAtLS0+LgorCisgIDIuIEtha28gYmkgbmFwcmF2aWxpIHBydnUgbGluaWp1IGlzdG92amV0bm9qIGRydWdvaiwgcG9tYWtuaXRlCisgICAgIGt1cnNvciBuYSBwcnZpIHpuYWsgUE9TTElKRSBrb2plZyDmZSB0ZSB1dGlwa2F0aSBwb3RyZWJhbiB0ZWtzdC4KKworICAzLiBQcml0aXNuaXRlICBpICB0ZSB1dGlwa2FqdGUgcG90cmVibmUgbmFkb3B1bmUuCisKKyAgNC4gTmFrb24guXRvIGlzcHJhdml0ZSBwb2dyZblrdSBwcml0aXNuaXRlIDxFU0M+IGtha28gYmkgdnJhdGlsaSBWaW0KKyAgICAgdSBOb3JtYWwgbW9kLiBQb25vdml0ZSBrb3Jha2Ugb2QgMiBkbyA0IGtha28gYmkgaXNwcmF2aWxpIHN2ZSBwb2dyZblrZS4KKworLS0tPiBOZWRqZSBubyB0ZWthIG9kIHYgbGluLgorLS0tPiBOZWRvc3RhamUgbmW5dG8gdGVrc3RhIG9kIG92ZSBsaW5pamUuCisKKyAgNS4gUHJpamXwaXRlIG5hIHNsamVkZeZ1IGxla2NpanUuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla2NpamEgMS41OiBQUk9NSkVOQSBURUtTVEEgLSBET0RBVkFOSkUKKworCisJICAgICAgICAgICAqKiBQcml0aXNuaXRlICBBICB6YSBkb2RhdmFuamUgdGVrc3RhLiAqKgorCisgIDEuIFBvbWFrbml0ZSBrdXJzb3IgbmEgcHJ2dSBzbGplZGXmdSBsaW5panUgb3puYehlbnUgcyAtLS0+LgorICAgICBOaWplIHZhvm5vIG5hIGtvamVtIHNlIHNsb3Z1IG5hbGF6aSBrdXJzb3IgbmEgdG9qIGxpbmlqaS4KKworICAyLiBQcml0aXNuaXRlICBBICBpIG5hcHJhdml0ZSBwb3RyZWJuZSBwcm9tamVuZS4KKworICAzLiBOYWtvbiC5dG8gc3RlIGRvZGFsaSB0ZWtzdCwgcHJpdGlzbml0ZSA8RVNDPgorICAgICB6YSBwb3ZyYXRhayB1IE5vcm1hbCBtb2QuCisKKyAgNC4gUG9tYWtuaXRlIGt1cnNvciBuYSBkcnVndSBsaW5panUgb3puYehlbnUgcyAtLS0+CisgICAgIGkgcG9ub3ZpdGUga29yYWtlIDIgaSAzIGRvayBuZSBwb3ByYXZpdGUgdGVrc3QuCisKKy0tLT4gSW1hIG5luXRvIHRla3N0YSBrb2ppIG5lZG9zdGFqZSBuCisgICAgIEltYSBuZbl0byB0ZWtzdGEga29qaSBuZWRvc3RhamUgbmEgb3ZvaiBsaW5pamkuCistLS0+IEltYSBuZbl0byB0ZWtzdGEga29qaSBuZQorICAgICBJbWEgbmW5dG8gdGVrc3RhIGtvamkgbmVkb3N0YWplIGJhuSBvdmRqZS4KKworICA1LiBQcmlqZfBpdGUgbmEgbGVrY2lqdSAxLjYuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWtjaWphIDEuNjogUFJPTUpFTkEgREFUT1RFS0UKKworCisgICAgICoqIEtvcmlzdGl0ZSAgOndxICB6YSBzcHJlbWFuamUgdGVrc3RhIGkgbmFwdbl0YW5qZSBWaW0tYS4gKioKKworICAhISBVUE9aT1JFTkpFOiBQcmlqZSBpenZyuWF2YW5qYSBiaWxvIGtvamVnIGtvcmFrYSwgcHJv6Gl0YWp0ZSBsZWtjaWp1ISEKKworICAxLiBJemHwaXRlIGl6IHByb2dyYW1hIGthbyBzdG8gc3RlIG5hcHJhdmlsaSB1IGxla2NpamkgMS4yOiAgOnEhCisKKyAgMi4gSXogbGp1c2tlIHV0aXBrYWp0ZSBzbGplZGXmdSBuYXJlZGJ1OiAgdmltIHR1dG9yIDxFTlRFUj4KKyAgICAgJ3ZpbScgamUgbmFyZWRiYSBwb2tyZXRhbmphIFZpbSBlZGl0b3JhLCAndHV0b3InIGplIGltZSBkYXRvdGVrZSBrb2p1CisgICAgIL5lbGl0ZSB1cmXwaXZhdGkuICBLb3Jpc3RpdGUgZGF0b3Rla3Uga29qdSBpbWF0ZSBvdmxhc3RpIG1pamVuamF0aS4KKworICAzLiBVYmFjaXRlIGkgaXpicmm5aXRlIHRla3N0IGthbyC5dG8gc3RlIHRvIG5hcHJhdmlsaSB1IGxla2NpamFtYSBwcmlqZS4KKworICA0LiBTYeh1dmFqdGUgcHJvbWplbmplbmkgdGVrc3QgaSBpemHwaXRlIGl6IFZpbS1hOiAgOndxICA8RU5URVI+CisKKyAgNS4gUG9ub3ZubyBwb2tyZW5pdGUgdmltdHV0b3IgaSBuYXN0YXZpdGUg6Gl0YXRpIHNhvmV0YWsga29qaSBzbGplZGkuCisKKyAgNi4gTmFrb24gc3RvIHByb+hpdGF0ZSBnb3JuamUga29yYWtlIGkgdSBwb3RwdW5vc3RpIGloIHJhenVtaWpldGU6CisgICAgIGl6dnK5aXRlIGloLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgIExla2NpamEgMSBTQa5FVEFLCisKKworICAxLiBLdXJzb3Igc2UgcG9taehlIHN0cmVsaWNhbWEgaWxpIHBvbW/mdSBoamtsIHRpcGFrYS4KKwloIChsaWpldm8pCWogKGRvbGplKQlrIChnb3JlKQlsIChkZXNubykKKworICAyLiBQb2tyZXRhbmplIFZpbS1hIGl6IGxqdXNrZTogIHZpbSBJTUVfREFUT1RFS0UgPEVOVEVSPgorCisgIDMuIEl6bGF6Ogk8RVNDPgk6cSEgPEVOVEVSPiAJc3ZlIHByb21qZW5lIHN1IGl6Z3VibGplbmUuCisgICAgICAgSUxJOgk8RVNDPgk6d3EgPEVOVEVSPiAJcHJvbWplbmUgc3Ugc2HodXZhbmUuCisKKyAgNC4gQnJpc2FuamUgem5ha2EgbmEga29qZW0gc2UgbmFsYXppIGt1cnNvcjogIHgKKworICA1LiBVYmFjaXZhbmphIGlsaSBkb2RhdmFuamUgdGVrc3RhOgorCSBpICAgdXRpcGthanRlIHRla3N0IDxFU0M+CXVub3MgaXNwcmVkIGt1cnNvcmEKKwkgQSAgIHV0aXBrYWp0ZSB0ZWtzdCA8RVNDPglkb2RhdmFuamUgbmEga3JhanUgbGluaWplCisKK05BUE9NRU5BOiAgVGlwa2FuamVtIHRpcGtlIDxFU0M+IHByZWJhY3VqZSBWaW0gdSBOb3JtYWwgbW9kIGkKKyAgICAgICAgICAgcHJla2lkYSBuZb5lbGplbnUgaWxpIGRqZWxvbWnobm8gemF2crllbnUgbmFyZWRidS4KKworTmFzdGF2aXRlIOhpdGF0aSBMZWtjaWp1IDIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrY2lqYSAyLjE6IE5BUkVEQkUgQlJJU0FOSkEKKworCisJCSAqKiBUaXBrYWp0ZSAgZHcgIHphIGJyaXNhbmplIHJpamXoaS4gKioKKworICAxLiBQcml0aXNuaXRlICA8RVNDPiAga2FrbyBiaSBiaWxpIHNpZ3VybmkgZGEgamUgVmltIHUgTm9ybWFsIG1vZHUuCisKKyAgMi4gUG9tYWtuaXRlIGt1cnNvciBuYSBsaW5panUgb3puYehlbnUgcyAtLS0+LgorCisgIDMuIFBvbWFrbml0ZSBrdXJzb3IgbmEgcG/oZXRhayByaWpl6Gkga29qdSB0cmViYSBpemJyaXNhdGkuCisKKyAgNC4gT3RpcGthanRlICBkdyAga2FrbyBiaSB1a2xvbmlsaSByaWpl6C4KKworTkFQT01FTkE6ICBWaW0g5mUgcHJpa2F6YXRpIHNsb3ZvICBkICBuYSB6YWRuam9qIGxpbmlqaSBrYWQgZ2Egb3RpcGthdGUuCisgICAgICAgICAgIFZpbSDoZWthIGRhIG90aXBrYXRlICB3IC4gIEFrbyBqZSBwcmlrYXphbm8gbmVrbyBkcnVnbyBzbG92bywKKyAgICAgICAgICAga3Jpdm8gc3RlIG90aXBrYWxpOyBwcml0aXNuaXRlIDxFU0M+IGkgcG9rdblhanRlIHBvbm92bm8uCisKKy0tLT4gTmVrZSByaWpl6Gkgc21pamW5bm8gbmUgcHJpcGFkYWp1IG5hIHBhcGlyIG92b2ogcmXoZW5pY2kuCisKKyAgNS4gUG9ub3ZpdGUga29yYWtlIDMgaSA0IGRvayBuZSBpc3ByYXZpdGUgcmXoZW5pY3U7CisgICAgIHByaWpl8Gl0ZSBuYSBMZWtjaWp1IDIuMi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla2NpamEgMi4yOiBKT6kgQlJJU0FOSkEKKworCisgICAgICAgKiogT3RpcGthanRlICBkJCB6YSBicmlzYW5qZSB6bmFrb3ZhIGRvIGtyYWphIGxpbmlqZS4gKioKKworICAxLiBQcml0aXNuaXRlICA8RVNDPiAga2FrbyBiaSBiaWxpCisgICAgIHNpZ3VybmkgZGEgamUgVmltIHUgTm9ybWFsIG1vZHUuCisKKyAgMi4gUG9tYWtuaXRlIGt1cnNvciBuYSBsaW5panUgb3puYehlbnUgcyAgLS0tPi4KKworICAzLiBQb21ha25pdGUga3Vyc29yIGRvIGtyYWphIGlzcHJhdm5lIHJl6GVuaWNlCisgICAgIChQT1NMSkUgcHJ2ZSAuICkuCisKKyAgNC4gT3RpcGthanRlICBkJAorICAgICBrYWtvIGJpIGl6YnJpc2FsaSBzdmUgem5ha292ZSBkbyBrcmFqYSBsaW5pamUuCisKKy0tLT4gTmV0a28gamUgdXRpcGthbyBrcmFqIG92ZSBsaW5pamUgZHZhcHV0LiBrcmFqIG92ZSBsaW5pamUgZHZhcHV0LgorCisgIDUuIFByaWpl8Gl0ZSBuYSBMZWtjaWp1IDIuMyB6YSBib2xqZSBvYmphuW5qZW5qZS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCSAgICAgIExla2NpamEgMi4zOiBVS1JBVEtPIE8gT1BFUkFUT1JJTUEgSSBQT0tSRVRJTUEKKworCisgIE1ub2dvIG5hcmVkYmkga29qZSBtaWplbmphanUgdGVrc3Qgc2Ugc2FzdG9qZSBvZCBvcGVyYXRvcmEgaSBwb2tyZXRhLgorICBPYmxpayBuYXJlZGJlIGJyaXNhbmphIHNhICBkICBvcGVyYXRvcm9tIGplIHNsamVkZeZpOgorCisgIAlkICAgcG9rcmV0CisKKyAgUHJpIOhlbXUgamU6CisgICAgZCAgICAgIC0gb3BlcmF0b3IgYnJpc2FuamEuCisgICAgcG9rcmV0IC0gb25vIG5hIOhlbXUg5mUgc2Ugb3BlcmFjaWphIGl6dnK5YXZhdGkgKG5hdmVkZW5vIHUgbmFzdGF2a3UpLgorCisgIEtyYXRrYSBsaXN0YSBwb2tyZXRhOgorICAgIHcgLSBzdmUgZG8gcG/oZXRrYSBzbGplZGXmZSByaWpl6GksIE5FIFVLTEpVyFVKVcZJIHBydm8gc2xvdm8uCisgICAgZSAtIHN2ZSBkbyBrcmFqYSB0cmVudXRh6G5lIHJpamXoaSwgVUtMSlXIVUpVxkkgemFkbmplIHNsb3ZvLgorICAgICQgLSBzdmUgZG8ga3JhamUgbGluaWplLCBVS0xKVchVSlXGSSB6YWRuamUgc2xvdm8uCisKKyAgVGlwa2FuamVtICBkZSAg5mUgc2UgYnJpc2F0aSBvZCBrdXJzb3JhIGRvIGtyYWphIHJpamXoaS4KKworTkFQT01FTkE6ICBQcml0aXNrYWp15mkgc2FtbyBwb2tyZXRlIGRvayBzdGUgdSBOb3JtYWwgbW9kdSBiZXogb3BlcmF0b3JhIOZlCisgICAgICAgICAgIHBvbWljYXRpIGt1cnNvciBrYW8guXRvIGplIG5hdmVkZW5vLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICBMZWtjaWphIDIuNDogS09SSalURU5KRSBCUk9KQU5KQSBaQSBQT0tSRVRFCisKKworICAqKiBUaXBrYW5qZW0gbmVrb2cgYnJvamEgcHJpamUgcG9rcmV0YSwgcG9rcmV0IHNlIGl6dnK5YXZhIHRvbGlrbyBwdXRhLiAqKgorCisgIDEuIFBvbWFrbml0ZSBrdXJzb3IgbmEgbGluaWp1IG96bmHoZW51IHMgLS0tPi4KKworICAyLiBPdGlwa2FqdGUgIDJ3ICBkYSBwb21ha25ldGUga3Vyc29yIGR2aWplIHJpamXoaSBuYXByaWplZC4KKworICAzLiBPdGlwa2FqdGUgIDNlICBkYSBwb21ha25ldGUga3Vyc29yIG5hIGtyYWogdHJl5mUgcmlqZehpIG5hcHJpamVkLgorCisgIDQuIE90aXBrYWp0ZSAgMCAgKG51bHUpIGRhIHBvbWFrbmV0ZSBrdXJzb3IgbmEgcG/oZXRhayBsaW5pamUuCisKKyAgNS4gUG9ub3ZpdGUga29yYWtlIDIgaSAzIHMgbmVraW0gZHJ1Z2ltIGJyb2pldmltYS4KKworLS0tPiBSZehlbmljYSBzYSByaWpl6GltYSBwbyBrb2pvaiBtb75ldGUgcG9taWNhdGkga3Vyc29yLgorCisgIDYuIFByaWpl8Gl0ZSBuYSBMZWtjaWp1IDIuNS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgTGVrY2lqYSAyLjU6IEtPUkmpVEVOSkUgQlJPSkFOSkEgWkEgVkXGRSBCUklTQU5KRQorCisKKwkgICoqIFRpcGthbmplIGJyb2phIE4gcyBvcGVyYXRvcm9tIHBvbmF2bGphIGdhIE4tcHV0YS4gKioKKworICBVIGtvbWJpbmFjaWppIG9wZXJhdG9yYSBicmlzYW5qYSBpIHBva3JldGEgc3BvbWVudXRpaCBpem5hZAorICB1YmFjdWpldGUgYnJvaiBwcmlqZSBwb2tyZXRhIGtha28gYmkgaXpicmlzYWxpIHZpuWUgem5ha292YToKKworCSBkICAgYnJvaiAgIHBva3JldAorCisgIDEuIFBvbWFrbml0ZSBrdXJzb3IgbmEgcHJ2byBzbG92byB1IHJpamXoaSBzYSBWRUxJS0lNIFNMT1ZJTUEKKyAgICAgb3puYehlbnUgcyAtLS0+LgorCisgIDIuIE90aXBrYWp0ZSAgMmR3ICBkYSBpemJyablldGUgZHZpamUgcmlqZehpIHNhIFZFTElLSU0gU0xPVklNQQorCisgIDMuIFBvbm92aXRlIGtvcmFrZSAxIGkgMiBzYSByYXpsaehpdGltIGJyb2pldmltYSBkYSBpemJyablldGUKKyAgICAgdXphc3RvcG5lIHJpamXoaSBzYSBWRUxJS0lNIFNMT1ZJTUEgc2Egc2FtbyBqZWRub20gbmFyZWRib20uCisKKy0tLT4gb3ZhIEFCQ8jGIETQRSBsaW5pamEgRkdISSBKSyBMTU4gT1AgcmlqZehpIGplIFJTqSBUVVZariBwb3ByYXZsamVuYS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla2NpamEgMi42OiBPUEVSSVJBTkpFIE5BRCBMSU5JSkFNQQorCisKKwkgICAgICAgKiogT3RpcGthanRlICBkZCAgIHphIGJyaXNhbmplIGNpamVsZSBsaW5pamUuICoqCisKKyAgWmJvZyB16GVzdGFsb3N0aSBicmlzYW5qYSBjaWplbGloIGxpbmlqYSwgZGl6YWpuZXJpIFZpLWEgc3Ugb2RsdehpbGkgZGEKKyAgamUgbGFruWUgYnJpc2F0aSBsaW5pamUgdGlwa2FuamVtICBkICBkdmFwdXQuCisKKyAgMS4gUG9tYWtuaXRlIGt1cnNvciBuYSBkcnVndSBsaW5panUgdSBkb25qb2oga2l0aWNpLgorICAyLiBPdGlwa2FqdGUgIGRkICBrYWtvIGJpIGl6YnJpc2FsaSBsaW5panUuCisgIDMuIFBvbWFrbml0ZSBrdXJzb3IgbmEg6GV0dnJ0dSBsaW5panUuCisgIDQuIE90aXBrYWp0ZSAgIDJkZCAgIGtha28gYmkgaXpicmlzYWxpIGR2aWplIGxpbmlqZS4KKworLS0tPiAgMSkgIFJ1vmUgc3UgY3J2ZW5lLAorLS0tPiAgMikgIFBsYb5hIGplIHN1cGVyLAorLS0tPiAgMykgIExqdWJpY2Ugc3UgcGxhdmUsCistLS0+ICA0KSAgSW1hbSBhdXRvLAorLS0tPiAgNSkgIFNhdG92aSB1a2F6dWp1IHZyaWplbWUsCistLS0+ICA2KSAgqWXmZXIgamUgc2xhZGFrCistLS0+ICA3KSAgS2FvIGkgdGkuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla2NpamEgMi43OiBOQVJFREJBIFBPTkmpVEVOSkEKKworCisgICoqIFByaXRpc25pdGUgIHUgIHphIHBvbmm5dGVuamUgemFkbmplIG5hcmVkYmUsICBVICB6YSBjaWplbHUgbGluaWp1LiAqKgorCisgIDEuIFBvbWFrbml0ZSBrdXJzb3IgbmEgbGluaWp1IG96bmHoZW51IHMgLS0tPiBpIHBvc3Rhdml0ZSBrdXJzb3IgbmEgcHJ2dQorICAgICBwb2dyZblrdS4KKyAgMi4gT3RpcGthanRlICB4ICBrYWtvIGJpIGl6YnJpc2FsaSBwcnZpIG5lvmVsamVuaSB6bmFrLgorICAzLiBPdGlwa2FqdGUgIHUgIGtha28gYmkgcG9uabl0aWxpIHphZG5qdSBpenZyuWVudSBuYXJlZGJ1LgorICA0LiBPdmFqIHB1dCBpc3ByYXZpdGUgc3ZlIHBvZ3JluWtlIG5hIGxpbmlqaSBrb3Jpc3Rl5mkgIHggIG5hcmVkYnUuCisgIDUuIFNhZGEgdXRpcGthanRlIHZlbGlrbyAgVSAga2FrbyBiaSBwb25puXRpbGkgc3ZlIHByb21qZW5lCisgICAgIG5hIGxpbmlqaSwgdnJh5mFqdeZpIGplIHUgcHJpamG5bmplIHN0YW5qZS4KKyAgNi4gU2FkYSB1dGlwa2FqdGUgIHUgIG5la29saWtvIHB1dGEga2FrbyBiaSBwb25puXRpbGkgIFUKKyAgICAgaSBwcmlqYbluamUgbmFyZWRiZS4KKyAgNy4gU2FkYSB1dGlwa2FqdGUgQ1RSTC1SIChkcr5l5mkgIENUUkwgIHRpcGt1IHByaXRpc251dG9tIGRvaworICAgICBuZSBwcml0aXNuZXRlICBSKSBuZWtvbGlrbyBwdXRhIGtha28gYmkgdnJhdGlsaSBwcm9tamVuZQorICAgICAocG9uabl0aWxpIHBvbmm5dGVuamEpLgorCistLS0+IFBvb3ByYXZpdGUgcG9ncmW5a2Ugbm5hIG92dm9qIGxpbmlqaSBpaSBwb29uabl0aXRlZWUgaWguCisKKyAgOC4gVnJsbyBrb3Jpc25lIG5hcmVkYmUuICBQcmlqZfBpdGUgbmEgc2G+ZXRhayBMZWtjaWplIDIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgTGVrY2lqYSAyIFNBrkVUQUsKKworCisgIDEuIEJyaXNhbmplIG9kIGt1cnNvcmEgZG8gc2xqZWRl5mUgcmlqZehpOiAgICBkdworICAyLiBCcmlzYW5qZSBvZCBrdXJzb3JhIGRvIGtyYWphIGxpbmlqZTogICAgZCQKKyAgMy4gQnJpc2FuamUgY2lqZWxlIGxpbmlqZTogICAgZGQKKworICA0LiBaYSBwb25hdmxqYW5qZSBwb2tyZXRhIHByZXRob2RpdGUgbXUgYnJvajogICAydworICA1LiBPYmxpayBuYXJlZGJlIG1pamVuamFuamE6CisgICAgICAgICAgICAgICBvcGVyYXRvciAgIFticm9qXSAgIHBva3JldAorICAgICBnZGplIGplOgorICAgICAgIG9wZXJhdG9yIC0guXRvIG5hcHJhdml0aSwgbnByLiAgIGQgIHphIGJyaXNhbmplCisgICAgICAgW2Jyb2pdICAgLSBuZW9iYXZlemFuIGJyb2ogcG9uYXZsamFuamEgcG9rcmV0YQorICAgICAgIHBva3JldCAgIC0ga3JldGFuamUgcG8gdGVrc3R1IHBvIGtvamVtIHNlIG9wZXJpcmEsCisgICAgICAgICAgICAgICAgICBrYW8guXRvIGplOiB3IChyaWpl6CksICQgKGtyYWogbGluaWplKSwgaXRkLgorCisgIDYuIFBvc3RhdmxqYW5qZSBrdXJzb3JhIG5hIHBv6GV0YWsgbGluaWplOiAgMAorCisgIDcuIFphIHBvbmm5dGVuamUgcHJldGhvZG5paCBwcm9tamVuYSwgcHJpdGlzbml0ZToJICB1ICAobWFsbyB1KQorICAgICBaYSBwb25puXRlbmplIHN2aWggcHJvbWplbmEgbmEgbGluaWppLCBwcml0aXNuaXRlOiAgIFUgICh2ZWxpa28gVSkKKyAgICAgWmEgdnJh5mFuamEgcHJvbWplbmEsIHV0aXBrYWp0ZToJQ1RSTC1SCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICAgTGVrY2lqYSAzLjE6IE5BUkVEQkEgUE9TVEFWSQorCisKKwkqKiBwICB6YSB1bm9zIHByZXRob2RubyBpemJyaXNhbm9nIHRla3N0YSBpemEga3Vyc29yYS4gKioKKworICAxLiBQb21ha25pdGUga3Vyc29yIG5hIHBydnUgc2xqZWRl5nUgbGluaWp1IG96bmHoZW51IHMgLS0tPi4KKworICAyLiBPdGlwa2FqdGUgIGRkICBrYWtvIGJpIGl6YnJpc2FsaSBsaW5panUgaSBzcHJlbWlsaSBqZSB1IFZpbSByZWdpc3Rhci4KKworICAzLiBQb21ha25pdGUga3Vyc29yIG5hIGxpbmlqdSBjKSwgSVpOQUQgbGluaWplIGtvanUgdHJlYmF0ZSB1bmlqZXRpLgorCisgIDQuIE90aXBrYWp0ZSAgcCAga2FrbyBiaSBwb3N0YXZpbGkgbGluaWp1IGlzcG9kIGt1cnNvcmEuCisKKyAgNS4gUG9ub3ZpdGUga29yYWtlIDIgZG8gNCBrYWtvIGJpIHBvc3RhdmlsaSBzdmUgbGluaWplIHUgcHJhdmlsbm9tCisgICAgIHJhc3BvcmVkdS4KKworLS0tPiBkKSBNb75luSBsaSBpIHRpIG5hdehpdGk/CistLS0+IGIpIExqdWJpY2Ugc3UgcGxhdmUsCistLS0+IGMpIEludGVsaWdlbmNpamEgamUgbmF16GVuYSwKKy0tLT4gYSkgUnW+ZSBzdSBjcnZlbmUsCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWtjaWphIDMuMjogTkFSRURCQSBQUk9NSkVORQorCisKKyAgICAgICoqIE90aXBrYWp0ZSAgcnggIHphIHphbWplbnUgc2xvdmEgaXNwb2Qga3Vyc29yYSBzYSBzbG92b20gIHggLiAqKgorCisgIDEuIFBvbWFrbml0ZSBrdXJzb3IgbmEgcHJ2dSBzbGplZGXmdSBsaW5panUgb3puYehlbnUgcyAtLS0+LgorCisgIDIuIFBvbWFrbml0ZSBrdXJzb3IgdGFrbyBkYSBzZSBuYWxhemkgbmEgcHJ2b2ogcG9ncmW5Y2kuCisKKyAgMy4gT3RpcGthanRlICByICBpIG5ha29uIHRvZ2EgaXNwcmF2YW4gem5hayBuYSB0b20gbWplc3R1LgorCisgIDQuIFBvbm92aXRlIGtvcmFrZSAyIGkgMyBzdmUgZG9rIHBydmEKKyAgICAgbGluaWplIG5lIGJ1ZGUgaXN0b3ZqZXRuYSBkcnVnb2ouCisKKy0tLT4gIEtlZGUganUgb3Z1IGxpbWlqYSB0dXBqYW5hLCBuYXRrbyBqZSBwcm90dXNrYW8ga3J1dmUgdHVwa2UhCistLS0+ICBLYWRhIGplIG92YSBsaW5pamEgdGlwa2FuYSwgbmV0a28gamUgcHJpdGlza2FvIGtyaXZlIHRpcGtlIQorCisgIDUuIFByaWpl8Gl0ZSBuYSBMZWtjaWp1IDMuMi4KKworTkFQT01FTkE6ICBQcmlzamV0aXRlIGRhIHRyZWJhdGUgdehpdGkgdmplvmJhbmplbSwgbmUgcGFt5mVuamVtLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgTGVrY2lqYSAzLjM6IE9QRVJBVE9SIE1JSkVOSkFOSkEKKworCisJICAqKiBaYSBtaWplbmphbmplIGRvIGtyYWphIHJpamXoaSwgaXN0aXBrYWp0ZSAgY2UgLiAqKgorCisgIDEuIFBvbWFrbml0ZSBrdXJzb3IgbmEgcHJ2dSBzbGplZGXmdSBsaW5panUgb3puYehlbnUgcyAtLS0+LgorCisgIDIuIFBvc3Rhdml0ZSBrdXJzb3IgbmEgIGEgIHUgIGxhY2ttYi4KKworICAzLiBPdGlwa2FqdGUgIGNlICBpIGlzcHJhdml0ZSByaWpl6CAodSBvdm9tIHNsdehhanUgb3RpcGthanRlICBpbmlqYSApLgorCisgIDQuIFByaXRpc25pdGUgPEVTQz4gaSBwb21ha25pdGUga3Vyc29yIG5hIHNsamVkZeZpIHpuYWsKKyAgICAga29qZWcgamUgcG90cmVibm8gaXNwcmF2aXRpLgorCisgIDUuIFBvbm92aXRlIGtvcmFrZSAzIGkgNCBzdmUgZG9rIHBydmEgcmXoZW5pY2EgbmUgcG9zdGFuZSBpc3RvdmpldG5hCisgICAgIGRydWdvai4KKworLS0tPiBPdmEgbGFja21iIGltYSBuZWtvbGlrbyByamxjYWgga29qZSB0cmZjYiBtaWpkbWxmc3ouCistLS0+IE92YSBsaW5pamEgaW1hIG5la29saWtvIHJpamXoaSBrb2plIHRyZWJhIG1pamVuamF0aS4KKworUHJpbWlqZXRpdGUgZGEgIGNlICBicmm5ZSByaWpl6CBpIHBvc3RhdmxqYSBWaW0gdSBJbnNlcnQgbW9kLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkgICAgICAgICBMZWtjaWphIDMuNDogSk+pIE1JSkVOSkFOSkEgS09SSalURU5KRU0gYworCisKKyAgICAqKiBOYXJlZGJhIG1pamVuamFuamEgc2Uga29yaXN0aSBzYSBpc3RpbSBwb2tyZXRpbWEga2FvIGkgYnJpc2FuamUuICoqCisKKyAgMS4gT3BlcmF0b3IgbWlqZW5qYW5qYSBzZSBrb3Jpc3RpIG5hIGlzdGkgbmHoaW4ga2FvIGkgb3BlcmF0b3IgYnJpc2FuamE6CisKKyAgICAgICAgIGMgICAgW2Jyb2pdICAgcG9rcmV0CisKKyAgMi4gUG9rcmV0aSBzdSBpc3RpLCBucHI6ICAgdyAocmlqZegpIGkgICQgKGtyYWogbGluaWplKS4KKworICAzLiBQb21ha25pdGUga3Vyc29yIG5hIHBydnUgc2xqZWRl5nUgbGluaWp1IG96bmHoZW51IHMgLS0tPi4KKworICA0LiBQb21ha25pdGUga3Vyc29yIG5hIHBydnUgcG9ncmW5a3UuCisKKyAgNS4gT3RpcGthanRlICBjJCAgaSB1dGlwa2FqdGUgb3N0YXRhayBsaW5pamUgdGFrbyBkYSBidWRlIGlzdG92amV0bmEKKyAgICAgZHJ1Z29qIHRlIHByaXRpc25pdGUgPEVTQz4uCisKKy0tLT4gS3JhaiBvdmUgbGluaWplIHRyZWJhIHBvbW/mIHRha28gZGEgaXpnbGVkYSBrYW8gbGluaWphIGlzcG9kLgorLS0tPiBLcmFqIG92ZSBsaW5pamUgdHJlYmEgaXNwcmF2aXRpIGtvcmm5dGVuamVtIGMkIG5hcmVkYmUuCisKK05BUE9NRU5BOiAgTW++ZXRlIGtvcmlzdGl0aSBCYWNrc3BhY2UgemEgaXNwcmF2bGphbmplIGdyZblha2EuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgIExla2NpamEgMyBTQa5FVEFLCisKKworICAxLiBaYSBwb3N0YXZsamFuamUgdGVrc3RhIGtvamkgamUgdXByYXZvIGl6YnJpc2FuLCBwcml0aXNuaXRlICBwIC4gT3ZvCisgICAgIHBvc3RhdmxqYSB0ZWtzdCBJWkEga3Vyc29yYSAoYWtvIGplIHBhayBsaW5pamEgaXpicmlzYW5hIHRla3N0IHNlCisgICAgIHBvc3RhdmxqYSBuYSBsaW5panUgaXNwb2Qga3Vyc29yYSkuCisKKyAgMi4gWmEgcHJvbWplbnUgem5ha2EgbmEga29qZW0gc2UgbmFsYXppIGt1cnNvciwgcHJpdGlzbml0ZSAgciAgaSBuYWtvbiB0b2dhCisgICAgIL5lbGplbmkgem5hay4KKworICAzLiBPcGVyYXRvciBtaWplbmphbmphIGRvenZvbGphdmEgcHJvbWplbnUgdGVrc3RhIG9kIGt1cnNvcmEgZG8gcG96aWNpamUgZG8KKyAgICAga29qZSBkb3ZlZGUgcG9rcmV0LiB0ai4gT3RpcGthanRlICBjZSAgemEgbWlqZW5qYW5qZSBvZCBrdXJzb3JhIGRvIGtyYWphCisgICAgIHJpamXoaSwgYyQgIHphIG1pamVuamFuamUgb2Qga3Vyc29yYSBkbyBrcmFqYSBsaW5pamUuCisKKyAgNC4gT2JsaWsgbmFyZWRiZSBtaWplbmphbmphOgorCisJIGMgICBbYnJval0gICBwb2tyZXQKKworUHJpamXwaXRlIG5hIHNsamVkZeZ1IGxla2NpanUuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkgICAgICBMZWtjaWphIDQuMTogUE9aSUNJSkEgS1VSU09SQSBJIFNUQVRVUyBEQVRPVEVLRQorCisgICoqIENUUkwtRyB6YSBwcmlrYXogcG96aWNpamUga3Vyc29yYSB1IGRhdG90ZWNpIGkgc3RhdHVzIGRhdG90ZWtlLgorICAgICBQcml0aXNuaXRlICBHICB6YSBwb21pY2FuamUga3Vyc29yYSBuYSBuZWt1IGxpbmlqdSB1IGRhdG90ZWNpLiAqKgorCitOQVBPTUVOQTogIFByb+hpdGFqdGUgY2lqZWx1IGxla2NpanUgcHJpamUgaXp2crllbmphIGJpbG8ga29qZWcga29yYWthISEKKworICAxLiBEcr5pdGUgQ3RybCB0aXBrdSBwcml0aXNudXRvbSBpIHByaXRpc25pdGUgIGcgLiAgVWtyYXRrbzogQ1RSTC1HLgorICAgICBWaW0g5mUgaXNwaXNhdGkgcG9ydWt1IG5hIGRudSBla3JhbmEgc2EgaW1lbm9tIGRhdG90ZWtlIGkgcG96aWNpam9tCisgICAgIGt1cnNvcmEgdSBkYXRvdGVjaS4gIFphcGFtdGl0ZSBicm9qIGxpbmlqZSB6YSAzLiBrb3Jhay4KKworTkFQT01FTkE6ICBNb75ldGUgdmlkamV0aSBwb3ppY2lqdSBrdXJzb3JhIHUgZG9uamVtIGRlc25vbSBrdXR1IGFrbworICAgICAgICAgICBqZSBwb3N0YXZrYSAncnVsZXInIGFrdGl2aXJhbmEgKG9iamG5bmplbm8gdSA2LiBsZWtjaWppKS4KKworICAyLiBQcml0aXNuaXRlICBHICB6YSBwb21pY2FuamUga3Vyc29yYSBuYSBrcmFqIGRhdG90ZWtlLgorICAgICBPdGlwa2FqdGUgIGdnICB6YSBwb21pY2FuamUga3Vyc29yYSBuYSBwb+hldGFrIGRhdG90ZWtlLgorCisgIDMuIE90aXBrYWp0ZSBicm9qIGxpbmlqZSBuYSBrb2pvaiBzdGUgYmlsaSBtYWxvcHJpamUgaSB6YXRpbSAgRyAuICBLdXJzb3IKKyAgICAg5mUgc2UgdnJhdGl0aSBuYSBsaW5panUgbmEga29qb2ogc2UgbmFsYXppbyBrYWRhIHN0ZSBvdGlwa2FsaSBDVFJMLUcuCisKKyAgNC4gQWtvIHN0ZSBzcHJlbW5pLCBpenZyuWl0ZSBrb3Jha2Ugb2QgMSBkbyAzLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla2NpamEgNC4yOiBOQVJFREJFIFRSQa5FTkpBCisKKyAgICAgICAqKiBPdGlwa2FqdGUgIC8gIGkgbmFrb24gdG9nYSBpenJheiBrb2plZyC+ZWxpdGUgdHJhvml0aS4gKioKKworICAxLiBVIE5vcm1hbCBtb2R1IG90aXBrYWp0ZSAgLyAgem5hay4gIFByaW1pamV0aXRlIGRhIHNlIHpuYWsKKyAgICAgcG9qYXZpbyB6YWplZG5vIHNhIGt1cnNvcm9tIG5hIGRudSBla3JhbmEga2FvIGtvZCAgOiAgbmFyZWRiZS4KKworICAyLiBTYWRhIG90aXBrYWp0ZSAnZ3JycnJluWthJyA8RU5URVI+LiAgVG8gamUgcmlqZegga29qdSB6YXByYXZvIHRyYb5pdGUuCisKKyAgMy4gWmEgcG9ub3ZubyB0cmG+ZW5qZSBpc3RvZyBpenJhemEsIG90aXBrYWp0ZSAgbiAuCisgICAgIFphIHRyYb5lbmplIGlzdG9nIGl6cmF6YSBhbGkgdSBzdXByb3Rub20gc21qZXJ1LCBvdGlwa2FqdGUgIE4gLgorCisgIDQuIFphIHRyYb5lbmplIGl6cmF6YSB1bmF0cmFnLCBrb3Jpc3RpdGUgID8gIHVtamVzdG8gIC8gLgorCisgIDUuIFphIHBvdnJhdGFrIG5hIHByZXRob2RudSBwb3ppY2lqdSBrb3Jpc3RpdGUgIENUUkwtTyAgKGRyvml0ZSBDdHJsCisgICAgIHByaXRpc251dGltIGRvayBuZSBwcml0aXNuZXRlIHRpcGt1IG8pLiAgUG9uYXZsamFqdGUgc3ZlIGRvayBzZSBuZQorICAgICB2cmF0aXRlIG5hIHBv6GV0YWsuICBDVFJMLUkgc2xp6G5vIGthbyBDVFJMLU8gYWxpIHUgc3Vwcm90bm9tIHNtamVydS4KKworLS0tPiAicG9ncnJycmW5a2EiIGplIHBvZ3JluW5vOyB1bWplc3RvIHBvZ3JycnJluWthIHRyZWJhIHN0YWphdGkgcG9ncmW5a2EuCisKK05BUE9NRU5BOiAgQWtvIHNlIHRyYb5lbmplbSBkb/BlIGRvIGtyYWphIGRhdG90ZWtlIG5hc3Rhdml0IOZlIHNlIG9kIG5qZW5vZworICAgICAgICAgICBwb+hldGthIG9zaW0gYWtvIGplIHBvc3RhdmthICd3cmFwc2NhbicgZGVha3RpdmlyYW5hLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgTGVrY2lqYSA0LjM6IFRSQa5FTkpFIFBSSVBBREFKVcZFIFpBR1JBREUKKworCisJKiogT3RpcGthanRlICAlICB6YSBwcm9uYWxhemFrIHByaXBhZGFqdeZlICksIF0gaWxpIH0gLiAqKgorCisgIDEuIFBvc3Rhdml0ZSBrdXJzb3IgbmEgYmlsbyBrb2p1IG9kICAoICwgIFsgIGlsaSAgeworICAgICBvdHZvcmVuaWggemFncmFkYSB1IGxpbmlqaSBvem5h6GVub2ogcyAtLS0+LgorCisgIDIuIE90aXBrYWp0ZSB6bmFrICAlIC4KKworICAzLiBLdXJzb3Ig5mUgc2UgcG9tYWtudXRpIG5hIHByaXBhZGFqdeZ1IHphdHZvcmVudSB6YWdyYWR1LgorCisgIDQuIE90aXBrYWp0ZSAgJSAga2FrbyBiaSBwb21ha2xpIGt1cnNvciBuYSBkcnVndSBwcmlwYWRhanXmdSB6YWdyYWR1LgorCisgIDUuIFBvbWFrbml0ZSBrdXJzb3IgbmEgbmVrdSBvZCAoLCksWyxdLHsgaWxpIH0gaSBwb25vdml0ZSAgJSAgbmFyZWRidS4KKworLS0tPiBMaW5pamEgKCB0ZXN0aXJhbmphIG9iaehuaWggKCBbIHVnbGF0aWggXSBpIHsgdml0aehhc3RpaCB9IHphZ3JhZGEuKSkKKworCitOQVBPTUVOQTogIFZybG8ga29yaXNubyB1IGlzcHJhdmxqYW5qdSBrb2RhIHNhIG5lcHJpcGFkYWp15mltIHphZ3JhZGFtYSEKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrY2lqYSA0LjQ6IE5BUkVEQkUgWkFNSUpFTkUKKworCisgICAgICAgKiogT3RpcGthanRlICA6cy9zdGFyby9ub3ZvL2cgIGRhIHphbWlqZW5pdGUgJ3N0YXJvJyB6YSAnbm92bycuICoqCisKKyAgMS4gUG9tYWtuaXRlIGt1cnNvciBuYSBsaW5panUgb3puYehlbnUgcyAtLS0+LgorCisgIDIuIE90aXBrYWp0ZSAgOnMvY3Zy5ugvY3Zy6CA8RU5URVI+IC4gIFByaW1qZXRpdGUgZGEgb3ZhIG5hcmVkYmEgemFtamVuanVqZQorICAgICBzYW1vIHBydmkgImN2cuboIiB1IGxpbmlqaS4KKworICAzLiBPdGlwa2FqdGUgIDpzL2N2cuboL2N2cugvZyAuICBEb2RhdmFuamUgIGcgIHN0YXZrZSB6bmHoaSBkYSDmZSBzZSBuYXJlZGJhCisgICAgIGl6dnK5aXRpIG5hIGNpamVsb2ogbGluaWppLCB6YW1qZW5qaXZhbmplbSBzdmloICJjdnLm6CIgdSBsaW5pamkuCisKKy0tLT4gaSBjdnLm6GkgY3Zy5uhpIGN2cuboYWsgbmEg6HZvcnUgY3JuZSBzbXLoZS4KKworICA0LiBaYSB6YW1qZW51IHN2aWggaXpyYXphIHUgcmFzcG9udSBkdmlqdSBsaW5pamEsCisgICAgIG90aXBrYWp0ZSA6Iywjcy9zdGFyby9ub3ZvL2cgICAjLCMgc3UgYnJvamV2aSBsaW5pamUgZGF0b3Rla2UgbmEga29qaW1hCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZSBpem1l8HUgbmppaCDmZSBzZSBpenZyuWl0aSB6YW1qZW5hLgorICAgICBPdGlwa2FqdGUgOiVzL3N0YXJvL25vdm8vZyAgICAgemEgemFtamVudSBzdmloIGl6cmF6YSB1IGNpamVsb2ogZGF0b3RlY2kuCisgICAgIE90aXBrYWp0ZSA6JXMvc3Rhcm8vbm92by9nYyAgICB6YSBwcm9uYWxhemFrIHN2YWtvZyBpenJhemEgdSBkYXRvdGVjaSBpCisgICAgIAkJCSAgICAgICAgICAgIHBvdHZyZHUgemFtamVuZS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBMZWtjaWphIDQgU0GuRVRBSworCisKKyAgMS4gQ1RSTC1HICBwcmlrYXp1amUgcG96aWNpanUga3Vyc29yYSB1IGRhdG90ZWNpIGkgc3RhdHVzIGRhdG90ZWtlLgorICAgICAgICAgICAgIEcgIHBvc3RhdmxqYSBrdXJzb3IgbmEgemFkbmp1IGxpbmlqdSBkYXRvdGVrZS4KKyAgICAgYnJvaiAgICBHICBwb3N0YXZsamEga3Vyc29yIG5hICBicm9qICBsaW5panUuCisgICAgICAgICAgICBnZyAgcG9zdGF2bGphIGt1cnNvciBuYSBwcnZ1IGxpbmlqdS4KKworICAyLiBUaXBrYW5qZSAgLyAgc2EgaXpyYXpvbSB0cmG+aSBVTkFQUklKRUQgdGFqIGl6cmF6LgorICAgICBUaXBrYW5qZSAgPyAgc2EgaXpyYXpvbSB0cmG+aSBVTkFUUkFHIHRhaiBpenJhei4KKyAgICAgTmFrb24gbmFyZWRiZSB0cmG+ZW5qYSBrb3Jpc3RpdGUgIG4gIHphIHByb25hbGF6YWsgaXpyYXphIHUgaXN0b20KKyAgICAgc21qZXJ1LCBpICBOICB6YSBwcm9uYWxhemFrIGlzdG9nIGl6cmF6YSBhbGkgdSBzdXByb3Rub20gc21qZXJ1LgorICAgICBDVFJMLU8gdnJh5mEga3Vyc29yIG5hIHByZXRob2RudSBwb3ppY2lqdSwgQ1RSTC1JIG5hIHNsamVkZeZ1IHBvemljaWp1LgorCisgIDMuIFRpcGthbmplICAlICBkb2sgamUga3Vyc29yIG5hIHphZ3JhZGkgcG9taehlIGdhIG5hIHByaXBhZGFqdeZ1IHphZ3JhZHUuCisKKyAgNC4gWmEgemFtamVudSBwcnZvZyBpenJhemEgc3Rhcm8gemEgaXpyYXogbm92bwkgICA6cy9zdGFyby9ub3ZvCisgICAgIFphIHphbWplbnUgc3ZpaCBpenJhemEgc3Rhcm8gbmEgY2lqZWxvaiBsaW5pamkJICAgOnMvc3Rhcm8vbm92by9nCisgICAgIFphIHphbWplbnUgc3ZpaCBpenJhemEgc3Rhcm8gdSByYXNwb251IGxpbmlqYSAjLCMgICAgIDojLCNzL3N0YXJvL25vdm8vZworICAgICBaYSB6YW1qZW51IHUgY2lqZWxvaiBkYXRvdGVjaQkJCSAgIDolcy9zdGFyby9ub3ZvL2cKKyAgICAgWmEgcG90dnJkdSBzdmFrZSB6YW1qZW5lIGRvZGFqdGUgJ2MnCQkgICA6JXMvc3Rhcm8vbm92by9nYworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICBMZWtjaWphIDUuMTogSVpWUqlBVkFOSkUgVkFOSlNLSUggTkFSRURCSQorCisKKwkqKiBPdGlwa2FqdGUgIDohICBzYSB2YW5qc2tvbSBuYXJlZGJvbSBrb2p1IL5lbGl0ZSBpenZyuWl0aS4gKioKKworICAxLiBPdGlwa2FqdGUgcG96bmF0dSBuYXJlZGJ1ICA6ICBrYWtvIGJpIGt1cnNvciBwcmVtamVzdGlsaSBuYSBkbm8KKyAgICAgZWtyYW5hLiAgVGltZSBvbW9ndeZhdmF0ZSB1bm9zIG5hcmVkYmUgdSBuYXJlZGJlbm9qIGxpbmlqaS4KKworICAyLiBPdGlwa2FqdGUgem5hayAgISAgKHVza2xp6G5paykuICBUYWtvIG9tb2d15mF2YXRlCisgICAgIGl6dnK5YXZhbmplIG5hcmVkYmUgdmFuanNrZSBsanVza2UuCisKKyAgMy4gS2FvIHByaW1qZXIgb3RpcGthanRlICAgbHMgICBuYWtvbiAhIHRlIHByaXRpc25pdGUgPEVOVEVSPi4KKyAgICAgT3ZvIOZlIHByaWthemF0aSBzYWRyvmFqIGRpcmVrdG9yaWphLCBrYW8gZGEgc3RlIHUgbGp1c2NpLgorICAgICBLb3Jpc3RpdGUgICA6IWRpciAgIGFrbyAgIDohbHMgICBuZSByYWRpLgorCitOQVBPTUVOQTogIE1vZ3XmZSBqZSBpenZyuWF2YXRpIGJpbG8ga29qdSB2YW5qc2t1IG5hcmVkYnUgbmEgb3ZhaiBuYehpbiwKKyAgICAgICAgICAgemFqZWRubyBzYSBuamVuaW0gYXJndW1lbnRpbWEuCisKK05BUE9NRU5BOiAgU3ZlICA6ICBuYXJlZGJlIHNlIGl6dnK5YXZhanUgbmFrb24guXRvIHByaXRpc25ldGUgPEVOVEVSPgorCSAgIFUgZGFsam5qZW0gdGVrc3R1IHRvIG5l5mUgdXZpamVrIGJpdGkgbmFwb21lbnV0by4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgTGVrY2lqYSA1LjI6IFZJqUUgTyBTUFJFTUFOSlUgREFUT1RFS0EKKworICAgICAgICAgICAqKiBaYSBzcHJlbWFuamUgcHJvbWplbmEsIG90aXBrYWp0ZSAgOncgSU1FX0RBVE9URUtFLiAqKgorCisgIDEuIE90aXBrYWp0ZSAgIDohZGlyICAgaWxpICAgOiFscyAgIHphIHByZWdsZWQgZGlyZWt0b3JpamEuCisgICAgIFZl5iB6bmF0ZSBkYSBtb3JhdGUgcHJpdGlzbnV0aSA8RU5URVI+IG5hIGtyYWp1IHRpcGthbmphLgorCisgIDIuIEl6YWJlcml0ZSBpbWUgZGF0b3Rla2Uga29qYSBqb7kgbmUgcG9zdG9qaSwgbnByLiBURVNULgorCisgIDMuIE90aXBrYWp0ZToJIDp3IFRFU1QgICAoZ2RqZSBqZSBURVNUIGltZSBrb2plIHN0ZSBwcmV0aG9kbm8gb2RhYnJhbGkuKQorCisgIDQuIFRpbWUg5mUgdGUgc3ByZW1pdGkgY2lqZWx1IGRhdG90ZWt1IChWaW0gVHV0b3IpIHBvZCBpbWVub20gVEVTVC4KKyAgICAgWmEgcHJvdmplcnUsIG90aXBrYWp0ZSBwb25vdm5vICAgOiFkaXIgICBpbGkgICA6IWxzCisgICAgIHphIHByZWdsZWQgZGlyZWt0b3JpamEuCisKK05BUE9NRU5BOiAgQWtvIGJpIG5hcHVzdGlsaSBWaW0gaSBwb25vdm5vIGdhIHBva3JlbnVsaSBzYSB2aW0gVEVTVCAsCisgICAgICAgICAgIGRhdG90ZWthIGJpIGJpbGEgcG90cHVuYSBrb3BpamEgb3ZlIGRhdG90ZWtlIHUgdHJlbnV0a3UKKyAgICAgICAgICAga2FkYSBzdGUgamUgc3ByZW1pbGkuCisKKyAgNS4gSXpicmm5aXRlIGRhdG90ZWt1IHRha28gZGEgb3RpcGthdGUgKE1TLURPUyk6CTohZGVsIFRFU1QKKwkJCQkgICAgICAgaWxpIChVbml4KToJOiFybSBURVNUCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgIExla2NpamEgNS4zOiBTUFJFTUFOSkUgT1pOQchFTk9HIFRFS1NUQQorCisKKyAgICoqIEtha28gYmkgc3ByZW1pbGkgZGlvIGRhdG90ZWtlLCBvdGlwa2FqdGUgIHYgIHBva3JldCAgOncgSU1FX0RBVE9URUtFICoqCisKKyAgMS4gUG9tYWtuaXRlIGt1cnNvciBuYSBvdnUgbGluaWp1LgorCisgIDIuIFByaXRpc25pdGUgIHYgIGkgcG9tYWtuaXRlIGt1cnNvciBwZXQgbGluaWphIGlzcG9kIG92ZS4KKyAgICAgUHJpbWlqZXRpdGUgcHJvbWplbnUsIG96bmHoZW5pIHRla3N0IHNlIHJhemxpa3VqZSBvZCBvYmnobm9nLgorCisgIDMuIFByaXRpc25pdGUgIDogIHpuYWsuICBOYSBkbnUgZWtyYW5hIHBvamF2aXQg5mUgc2UgIDonPCwnPiAuCisKKyAgNC4gT3RpcGthanRlICB3IFRFU1QgICwgcHJpdG9tIGplIFRFU1QgaW1lIGRhdG90ZWtlIGtvamEgam+5IG5lIHBvc3RvamkuCisgICAgIFByb3ZqZXJpdGUgZGEgemFpc3RhIHBpuWUgIDonPCwnPncgVEVTVAorICAgICBwcmlqZSBuZWdvILl0byBwcml0aXNuaXRlIDxFTlRFUj4uCisKKyAgNS4gVmltIOZlIHNwcmVtaXRpIG96bmHoZW5pIHRla3N0IHUgVEVTVC4gIFByb3ZqZXJpdGUgc2EgOiFkaXIgIGlsaSAgIWxzIC4KKyAgICAgTmVtb2p0ZSBqZSBqb7kgYnJpc2F0aSEgIEtvcmlzdGl0aSDmZSB0ZSBqZSB1IHNsamVkZeZvaiBsZWtjaWppLgorCitOQVBPTUVOQTogIFRpcGthICB2ICB6YXBv6GluamUgVml6dWFsbm8gb3puYehhdmFuamUuICBNb75ldGUgcG9taWNhdGkga3Vyc29yCisgICAgICAgICAgIHVuYW9rb2xvIGtha28gYmkgbWlqZW5qYWxpIHZlbGnoaW51IG96bmHoZW5vZyB0ZWtzdGEuIE1vvmV0ZQorICAgICAgICAgICBrb3Jpc3RpdGkgaSBvcGVyYXRvcmUuICBOcHIsICBkICDmZSBpemJyaXNhdGkgb3puYehlbmkgdGVrc3QuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgTGVrY2lqYSA1LjQ6IFXISVRBVkFOSkUgREFUT1RFS0EKKworCisgICAgICAgKiogWmEgdWJhY2l2YW5qZSBzYWRyvmFqYSBkYXRvdGVrZSwgb3RpcGthanRlICA6ciBJTUVfREFUT1RFS0UgICoqCisKKyAgMS4gUG9zdGF2aXRlIGt1cnNvciBpem5hZCBvdmUgbGluaWplLgorCitOQVBPTUVOQTogIE5ha29uILl0byBpenZyuWl0ZSAyLiBrb3JhayB2aWRqZXRpIOZlIHRlIHRla3N0IGl6IExla2NpamUgNS4zLgorICAgICAgICAgICBTdG9nYSBwb21ha25pdGUga3Vyc29yIERPTEpFIGtha28gYmkgcG9ub3ZubyB2aWRqZWxpIG92dSBsZWtjaWp1LgorCisgIDIuIFXoaXRhanRlIHZhuXUgVEVTVCBkYXRvdGVrdSBrb3Jpc3Rl5mkgbmFyZWRidSAgIDpyIFRFU1QKKyAgICAgZ2RqZSBqZSBURVNUIGltZSBkYXRvdGVrZSBrb2p1IHN0ZSBrb3Jpc3RpbGkgdSBwcmV0aG9kbm9qIGxla2NpamkuCisgICAgIFNhZHK+YWogdehpdGFuZSBkYXRvdGVrZSBqZSB1YmHoZW4gbGluaWp1IGlzcG9kIGt1cnNvcmEuCisKKyAgMy4gS2FrbyBiaSBwcm92amVyaWxpIGRhIGplIGRhdG90ZWthIHXoaXRhbmEsIHZyYXRpdGUga3Vyc29yIHVuYXRyYWcgaQorICAgICBwcmltaWpldGl0ZSBkdmlqZSBrb3BpamUgTGVrY2lqZSA1LjMsIG9yaWdpbmFsbnUgaSBvbnUgaXogZGF0b3Rla2UuCisKK05BUE9NRU5BOiAgTW++ZXRlIHRha2/wZXIgdehpdGF0aSBpc3BpcyB2YW5qc2tlIG5hcmVkYmUuICBOcHIsICA6ciAhbHMKKyAgICAgICAgICAg5mUgdehpdGF0aSBpc3BpcyAgbHMgIG5hcmVkYmUgaSBwb3N0YXZpdGkgaXNwaXMgbGluaWp1IGlzcG9kCisgICAgICAgICAgIGt1cnNvcmEuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBMZWtjaWphIDUgU0GuRVRBSworCisKKyAgMS4gIDohbmFyZWRiYSAgaXp2crlhdmEgdmFuanNrdSBuYXJlZGJ1LgorCisgICAgICBLb3Jpc25pIHByaW1qZXJpOgorCSAoTVMtRE9TKQkgIChVbml4KQorCSAgOiFkaXIJCSAgIDohbHMJCSAgIC0gIHByZWdsZWQgZGlyZWt0b3JpamEuCisJICA6IWRlbCBEQVRPVEVLQSAgIDohcm0gREFUT1RFS0EgICAtICBicmm5ZSBkYXRvdGVrdSBEQVRPVEVLQS4KKworICAyLiAgOncgREFUT1RFS0EgIHphcGlzdWplIHRyZW51dGHobnUgZGF0b3Rla3UgbmEgZGlzayBzYSBpbWVub20gREFUT1RFS0EuCisKKyAgMy4gIHYgIHBva3JldCAgOncgSU1FX0RBVE9URUtFICBzcHJlbWEgdml6dWFsbm8gb3puYehlbmUgbGluaWplIHUKKyAgICAgIGRhdG90ZWt1IElNRV9EQVRPVEVLRS4KKworICA0LiAgOnIgSU1FX0RBVE9URUtFICB16Gl0YXZhIGRhdG90ZWt1IElNRV9EQVRPVEVLRSBzYSBkaXNrYSBpIHN0YXZsamEKKyAgICAgIG5qZW4gc2Fkcr5haiBsaW5panUgaXNwb2Qga3Vyc29yYS4KKworICA1LiAgOnIgIWRpciAgdehpdGF2YSBpc3BpcyBuYXJlZGJlIGRpciBpIHBvc3RhdmxqYSBzYWRyvmFqIGlzcGlzYSBsaW5panUKKyAgICAgIGlzcG9kIGt1cnNvcmEuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgTGVrY2lqYSA2LjE6IE5BUkVEQkEgT1RWT1JJCisKKworCSoqIFByaXRpc25pdGUgIG8gIGtha28gYmkgb3R2b3JpbGkgbGluaWp1IGlzcG9kIGt1cnNvcmEKKwkgICBpIHByZblsaSB1IEluc2VydCBtb2QuICoqCisKKyAgMS4gUG9tYWtuaXRlIGt1cnNvciBuYSBzbGplZGXmdSBsaW5panUgb3puYehlbnUgcyAtLS0+LgorCisgIDIuIE90aXBrYWp0ZSBtYWxvICBvICBrYWtvIGJpIG90dm9yaWxpIG5vdnUgbGluaWp1IElTUE9EIGt1cnNvcmEKKyAgICAgaSBwcmW5bGkgdSBJbnNlcnQgbW9kLgorCisgIDMuIE90aXBrYWp0ZSBuZbl0byB0ZWtzdGEgaSBuYWtvbiB0b2dhIHByaXRpc25pdGUgPEVTQz4KKyAgICAga2FrbyBiaSBuYXB1c3RpbGkgSW5zZXJ0IG1vZC4KKworLS0tPiBOYWtvbiC5dG8gcHJpdGlzbmV0ZSAgbyAga3Vyc29yIOZlIHByZeZpIHUgbm92dSBsaW5panUgdSBJbnNlcnQgbW9kLgorCisgIDQuIFphIG90dmFyYW5qZSBsaW5pamUgSVpOQUQga3Vyc29yYSwgb3RpcGthanRlIHVtamVzdG8gbWFsb2cgbyB2ZWxpa28gTyAsCisgICAgIFBva3W5YWp0ZSBuYSBkb25qb2ogbGluaWppIG96bmHoZW5vaiBzIC0tLT4uCisKKy0tLT4gT3R2b3JpdGUgbGluaWp1IGl6bmFkIG92ZSAtIG90aXBrYWp0ZSBPIGRvayBqZSBrdXJzb3IgbmEgb3ZvaiBsaW5pamkuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWtjaWphIDYuMjogTkFSRURCQSBET0RBSgorCisKKwkgICAgICoqIE90aXBrYWp0ZSAgYSAgemEgZG9kYXZhbmplIHRla3N0YSBJWkEga3Vyc29yYS4gKioKKworICAxLiBQb21ha25pdGUga3Vyc29yIG5hIHBv6GV0YWsgc2xqZWRl5mUgbGluaWplIG96bmHoZW5lIHMgLS0tPi4KKyAgCisgIDIuIFRpcGthanRlICBlICBkb2sgc2Uga3Vyc29yIG5lIG5hbGF6aSBuYSBrcmFqdSAgbGkgLgorCisgIDMuIE90aXBrYWp0ZSAgYSAgKG1hbG8pIGtha28gYmkgZG9kYWxpIHRla3N0IElaQSBrdXJzb3JhLgorCisgIDQuIERvcHVuaXRlIHJpamXoIGthbyC5dG8gamUgbmEgbGluaWppIGlzcG9kLgorICAgICBQcml0aXNuaXRlIDxFU0M+IHphIGl6bGF6IGl6IEluc2VydCBtb2RhLgorCisgIDUuIFNhICBlICBwcmlqZfBpdGUgbmEgc2xqZWRl5nUgbmVwb3RwdW51IHJpamXoIGkgcG9ub3ZpdGUga29yYWtlIDMgaSA0LgorICAKKy0tLT4gT3ZhIGxpIG9tb2d15mF2YSB2amUgZG9kYXYgdGVrc3RhIG5la29qIGxpbmlqaS4KKy0tLT4gT3ZhIGxpbmlqYSBvbW9ndeZhdmEgdmplvmJhbmplIGRvZGF2YW5qYSB0ZWtzdGEgbmVrb2ogbGluaWppLgorCitOQVBPTUVOQTogIFNhIGksIGEsIGkgIEEgIHByZWxheml0ZSB1IGlzdGkgSW5zZXJ0IG1vZCwgamVkaW5hCisgICAgICAgICAgIHJhemxpa2EgamUgdSBwb3ppY2lqaSBvZCBrb2plIOZlIHNlIHRla3N0IHViYWNpdmF0aS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWtjaWphIDYuMzogRFJVR0kgTkHISU4gTUlKRU5KQU5KQQorCisKKyAgICAgICoqIE90aXBrYWp0ZSB2ZWxpa28gIFIgIGtha28gYmkgemFtaWplbGlsaSB2abllIG9kIGplZG5vZyB6bmFrYS4gKioKKworICAxLiBQb21ha25pdGUga3Vyc29yIG5hIHBydnUgc2xqZWRl5nUgbGluaWp1IG96bmHoZW51IHMgLS0tPi4KKyAgICAgUG9tYWtuaXRlIGt1cnNvciBuYSBwb+hldGFrIHBydm9nICB4eHggLgorCisgIDIuIFByaXRpc25pdGUgIFIgIGkgb3RpcGthanRlIGJyb2oga29qaSBqZSBsaW5panUgaXNwb2QsCisgICAgIHRha28gZGEgemFtaWplbmkgeHh4IC4KKworICAzLiBQcml0aXNuaXRlIDxFU0M+IHphIGl6bGF6IGl6IFJlcGxhY2UgbW9kYS4KKyAgICAgUHJpbWlqZXRpdGUgZGEgamUgb3N0YXRhayBsaW5pamUgb3N0YW8gbmVwcm9tamVuamVuLgorCisgIDUuIFBvbm92aXRlIGtvcmFrZSBrYWtvIGJpIHphbWlqZW5pbGkgcHJlb3N0YWxpIHh4eC4KKworLS0tPiBaYnJhamFuamU6IDEyMyBwbHVzIHh4eCBqZSB4eHguCistLS0+IFpicmFqYW5qZTogMTIzIHBsdXMgNDU2IGplIDU3OS4KKworTkFQT01FTkE6ICBSZXBsYWNlIG1vZCBqZSBrYW8gSW5zZXJ0IG1vZCwgYWxpIHNhIGJpdG5vbSByYXpsaWtvbSwKKyAgICAgICAgICAgc3Zha2kgb3RpcGthbmkgem5hayBicmm5ZSB2ZeYgcG9zdG9qZeZpLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJTGVrY2lqYSA2LjQ6IEtPUElSQU5KRSBJIExJSkVQTEpFTkpFIFRFS1NUQQorCisKKyAgICAqKiBLb3Jpc3RpdGUgIHkgIG9wZXJhdG9yIHphIGtvcGlyYW5qZSBhICBwICB6YSBsaWplcGxqZW5qZSB0ZWtzdGEuICoqCisKKyAgMS4gUG9tYWtuaXRlIGt1cnNvciBuYSBsaW5panUgcyAtLS0+ICBpIHBvc3Rhdml0ZSBrdXJzb3IgbmFrb24gImEpIi4KKyAgCisgIDIuIFBva3Jlbml0ZSBWaXN1YWwgbW9kIHNhICB2ICBpIHBvbWFrbml0ZSBrdXJzb3Igc3ZlIGRvIGlzcHJlZCAicHJ2YSIuCisgIAorICAzLiBQcml0aXNuaXRlICB5ICBrYWtvIGJpIGtvcGlyYWxpIG96bmHoZW5pIHRla3N0LgorCisgIDQuIFBvbWFrbml0ZSBrdXJzb3IgZG8ga3JhamEgc2xqZWRl5mUgbGluaWplOiAgaiQKKworICA1LiBQcml0aXNuaXRlICBwICBrYWtvIGJpIHphbGlqZXBpbGkgdGVrc3QuICBPbmRhIHV0aXBrYWp0ZTogIGRydWdhIDxFU0M+IC4KKworICA2LiBLb3Jpc3RpdGUgVmlzdWFsIG1vZCBrYWtvIGJpIG96bmHoaWxpICIgbGluaWphLiIsIGtvcGlyYWp0ZTogIHkgLCBrdXJzb3IKKyAgICAgcG9zdGF2aXRlIG5hIGtyYWogc2xqZWRl5mUgbGluaWplOiAgaiQgIGkgb25kamUgemFsaWplcGl0ZSB0ZWtzdDogIHAgLgorCistLS0+ICBhKSBvdm8gamUgcHJ2YSBsaW5pamEuCisgICAgICBiKQorCitOQVBPTUVOQTogIG1vvmV0ZSBrb3Jpc3RpdGkgIHkgIGthbyBvcGVyYXRvcjsgIHl3ICAga29waXJhIGplZG51IHJpamXoLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWtjaWphIDYuNTogTUlKRU5KQU5KRSBQT1NUQVZLSQorCisKKyAqKiBQb3N0YXZrYTogbmFyZWRiZSB0cmG+ZW5qYSBpIHphbWlqZW5lIG5lIHJhemxpa3VqdSBWRUxJS0EgaSBtYWxhIHNsb3ZhICoqCisKKyAgMS4gUG90cmG+aXRlICdyYXpsaWthJyB0aXBrYW5qZW06ICAgL3Jhemxpa2EgIDxFTlRFUj4KKyAgICAgTmVrb2xpa28gcHV0YSBwb25vdml0ZSBwcml0aXNrYW5qZW0gIG4gLgorCisgIDIuIEFrdGl2aXJhanRlICdpYycgKElnbm9yZSBjYXNlKSBwb3N0YXZrdTogICA6c2V0IGljCisKKyAgMy4gUG9ub3ZubyBwb3RyYb5pdGUgJ3Jhemxpa2EnIHRpcGthbmplbSAgbgorICAgICBQcmltaWpldGl0ZSBkYSBzdSBzYWRhIGkgUkFaTElLQSBpIFJhemxpa2EgcHJvbmHwZW5pLgorCisgIDQuIEFrdGl2aXJhanRlICdobHNlYXJjaCcgaSAnaW5jc2VhcmNoJyBwb3N0YXZrZTogIDpzZXQgaGxzIGlzCisKKyAgNS4gT3RpcGthanRlIG5hcmVkYnUgdHJhvmVuamEgaSBwcmltaWpldGl0ZSByYXpsaWtlOiAgL3Jhemxpa2EgPEVOVEVSPgorCisgIDYuIFphIGRlYWt0aXZpcmFuamUgIGljICBwb3N0YXZrZSBrb3Jpc3RpdGU6ICA6c2V0IG5vaWMKKworTkFQT01FTkE6ICBaYSBuZW96bmHoYXZhbmplIHByb25h8GVuaWggaXpyYXphIG90aXBrYWp0ZTogICA6bm9obHNlYXJjaAorTkFQT01FTkE6ICBCZXogcmF6bGlrb3ZhbmphIHZlbGlraWggaSBtYWxpaCBzbG92YSB1IHNhbW8gamVkbm9qIG5hcmVkYmkKKwkgICBrb3Jpc3RpdGUgIFxjIHUgaXpyYXp1OiAgL3Jhemxpa2FcYyAgPEVOVEVSPgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBMZWtjaWphIDYgU0GuRVRBSworCisgIDEuIFByaXRpc25pdGUgIG8gIHphIG90dmFyYW5qZSBsaW5pamUgSVNQT0Qga3Vyc29yYSBpIHByZWxhemFrIHUgSW5zZXJ0IG1vZC4KKyAgICAgUHJpdGlzbml0ZSAgTyAgemEgb3R2YXJhbmplIGxpbmlqZSBJWk5BRCBrdXJzb3JhLgorCisgIDIuIFByaXRpc25pdGUgIGEgIHphIHVub3MgdGVrc3RhIElaQSBrdXJzb3JhLgorICAgICBQcml0aXNuaXRlICBBICB6YSB1bm9zIHRla3N0YSBuYSBrcmFqdSBsaW5pamUuCisKKyAgMy4gTmFyZWRiYSAgZSAgcG9taehlIGt1cnNvciBuYSBrcmFqIHJpamXoaS4KKworICA0LiBPcGVyYXRvciAgeSAga29waXJhIHRla3N0LCAgcCAgZ2EgbGlqZXBpLgorCisgIDUuIFRpcGthbmplbSB2ZWxpa29nICBSICBWaW0gcHJlbGF6aSB1IFJlcGxhY2UgbW9kIGRvayBuZSBwcml0aXNuZXRlIDxFU0M+IC4KKworICA2LiBUaXBrYW5qZW0gIjpzZXQgeHh4IiBha3RpdmlyYSBwb3N0YXZrdSAieHh4Ii4gIE5la2UgcG9zdGF2a2Ugc3U6CisgIAknaWMnICdpZ25vcmVjYXNlJwluZSByYXpsaWt1amUgdmVsaWthL21hbGEgc2xvdmEgcHJpIHRyYb5lbmp1CisJJ2lzJyAnaW5jc2VhcmNoJwl0cmG+aSBuZWRvdnK5ZW5lIGl6cmF6ZQorCSdobHMnICdobHNlYXJjaCcJb3puYehpIHN2ZSBwcm9uYfBlbmUgaXpyYXplCisgICAgIE1vvmV0ZSBrb3Jpc3RpdGUgZHVnbyBpbGkga3JhdGtvIGltZSBwb3N0YXZrZS4KKworICA3LiBQcmV0aG9kaXRlICJubyIgaW1lbnUgcG9zdGF2a2UgemEgZGVha3RpdmlyYW5qZSBpc3RlOiAgIDpzZXQgbm9pYworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIExla2NpamEgNy4xOiBET0JJVkFOSkUgUE9NT8ZJCisKKworCQkgICAqKiBLb3Jpc3RpdGUgb24tbGluZSBzdXN0YXYgcG9tb+ZpICoqCisKKyAgVmltIGltYSBkZXRhbGphbiBvbi1saW5lIHN1c3RhdiBwb21v5mkuCisgIFphIHBv6GV0YWssIHBva3W5YWp0ZSBqZWRubyBvZCBzbGplZGXmZWc6CisJLSBwcml0aXNuaXRlIDxIRUxQPiB0aXBrdSAoYWtvIGplIHZhuWEgdGlwa292bmljYSBpbWEpCisJLSBwcml0aXNuaXRlIDxGMT4gdGlwa3UgKGFrbyBqZSB2YblhIHRpcGtvdm5pY2EgaW1hKQorCS0gdXRpcGthanRlICAgOmhlbHAgPEVOVEVSPgorCisgIFByb+hpdGFqdGUgdGVrc3QgdSBwcm96b3J1IHBvbW/maSBrYWtvIGJpIHN0ZSBzZSB6bmFsaSBzbHW+aXRpIGlzdG9tLgorICBUaXBrYW5qZW0gIENUUkwtVyBDVFJMLVcgICBwcmVsYXppdGUgaXogamVkbm9nIHByb3pvcmEgdSBkcnVnaS4KKyAgT3RpcGthanRlICAgIDpxIDxFTlRFUj4gICAga2FrbyBiaSB6YXR2b3JpbGkgcHJvem9yIHBvbW/maS4KKworICBQcm9uYeZpIOZlIHRlIHBvbW/mIG8gYmlsbyBrb2pvaiB0ZW1pLCB0YWtvIGRhIGRvZGF0ZSB1cGl0IHNhbW9qCisgICI6aGVscCIgbmFyZWRiaS4gIFBva3W5YWp0ZSAobmUgemFib3Jhdml0ZSBwcml0aXNudXRpIDxFTlRFUj4pOgorCisJOmhlbHAgdworCTpoZWxwIGNfQ1RSTC1ECisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrY2lqYSA3LjI6IFBSQVZMSkVOSkUgU0tSSVBURQorCisKKwkJICAgICAgICoqIEFrdGl2aXJhanRlIFZpbSBtb2d15m5vc3RpICoqCisKKyAgVmltIGltYSBtbm9nbyB2abllIGFsYXRhIG9kIFZpLWphLCBhbGkgdmXmaW5hIG5qaWggbmlqZSBha3RpdmlyYW5hLgorICBLYWtvIGJpIG1vZ2xpIGtvcmlzdGl0aSB2abllIG1vZ3Xmbm9zdGkgbmFwcmF2aXRlICJ2aW1yYyIgZGF0b3Rla3UuCisKKyAgMS4gVXJlZGl0ZSAidmltcmMiIGRhdG90ZWt1LiAgT3ZvIG92aXNpIG8gdmG5ZW0gc2lzdGVtdToKKwk6ZSB+Ly52aW1yYwkJemEgVW5peAorCTplICRWSU0vX3ZpbXJjCQl6YSBNUy1XaW5kb3dzCisKKyAgMi4gU2FkYSB16Gl0YWp0ZSBwcmltamVyIHNhZHK+YWphICJ2aW1yYyIgZGF0b3Rla2U6CisJOnIgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KKworICAzLiBTYeh1dmFqdGUgZGF0b3Rla3Ugc2E6CisJOncKKworICBTbGplZGXmZWcgcHV0YSBrYWRhIHBva3JlbmV0ZSBWaW0sIGJvamFuamUgc2ludGFrc2UgdGVrc3RhIGJpdGkg5mUKKyAgYWt0aXZpcmFuby4gU3ZlIHZhuWUgcG9zdGF2a2UgbW++ZXRlIGRvZGF0aSB1ICJ2aW1yYyIgZGF0b3Rla3UuCisgIFphIHZpuWUgaW5mb3JtYWNpamEgb3RpcGthanRlICA6aGVscCB2aW1yYy1pbnRybworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWtjaWphIDcuMzogQVVUT01BVFNLTyBET1ZSqUFWQU5KRQorCisKKwkqKiBEb3ZyuWF2YW5qZSBpeiBuYXJlZGJlbmUgbGluaWplIHBvbW/mdSBDVFJMLUQgaSA8VEFCPiAqKgorCisgIDEuIFByb3ZqZXJpdGUgZGEgVmltIG5pamUgdSBWaSBtb2R1OiAgOnNldCBub2NwCisKKyAgMi4gUG9nbGVkYWp0ZSBrb2plIGRhdG90ZWtlIHBvc3RvamUgdSBkaXJla3RvcmlqdTogIDohbHMgICBvciAgOiFkaXIKKworICAzLiBPdGlwa2FqdGUgcG/oZXRhayBuYXJlZGJlOiAgOmUKKworICA0LiBUaXBrYWp0ZSAgQ1RSTC1EICBpIHByaWthemF0aSDmZSBzZSBsaXN0YSBuYXJlZGJpIGtvamUgemFwb+hpbmp1IHNhICJlIi4KKworICA1LiBQcml0aXNuaXRlIDxUQUI+ICBpIFZpbSDmZSBkb3B1bml0aSB1bm9zIHUgbmFyZWRidSAiOmVkaXQiLgorCisgIDYuIERvZGFqdGUgcmF6bWFrIGkgcG/oZXRhayBkYXRvdGVrZTogIDplZGl0IEZJTAorCisgIDcuIFByaXRpc25pdGUgPFRBQj4uICBWaW0g5mUgbmFkb3B1bml0aSBpbWUgZGF0b3Rla2UgKGFrbyBqZSBqZWRpbnN0dmVubykuCisKK05BUE9NRU5BOiAgTW9ndeZlIGplIGRvcHVuaXRpIG1ub2dlIG5hcmVkYmUuICBLb3Jpc3RpdGUgQ1RSTC1EIGkgPFRBQj4uCisgICAgICAgICAgIE5hcm/oaXRvIGplIGtvcmlzbm8gemEgIDpoZWxwICBuYXJlZGJlLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgIExla2NpamEgNyBTQa5FVEFLCisKKworICAxLiBPdGlwa2FqdGUgIDpoZWxwICBpbGkgcHJpdGlzbml0ZSA8RjE+IGlsaSA8SGVscD4gIHphIHBvbW/mLgorCisgIDIuIE90aXBrYWp0ZSAgOmhlbHAgbmFyZWRiYSAga2FrbyBiaSBkb2JpbGkgcG9tb+YgemEgIG5hcmVkYmEgLgorCisgIDMuIE90aXBrYWp0ZSAgQ1RSTC1XIENUUkwtVyAgemEgcHJlbGF6YWsgdSBkcnVnaSBwcm96b3IKKworICA0LiBPdGlwa2FqdGUgIDpxICBrYWtvIGJpIHphdHZvcmlsaSBwcm96b3IgcG9tb+ZpCisKKyAgNS4gTmFwcmF2aXRlIHZpbXJjIHNrcmlwdHUgemEgcG9kaXphbmplIGtha28gYmkgdSBuanUgc3ByZW1hbGkKKyAgICAgdmG5ZSBvbWlsamVuZSBwb3N0YXZrZS4KKworICA2LiBLYWRhIHRpcGthdGUgbmFyZWRidSBrb2phIHphcG/oaW5qZSBzYSAgOgorICAgICBwcml0aXNuaXRlIENUUkwtRCBrYWtvIGJpIHZpZGplbGkgbW9ndeZlIHZhbGphbmUgdnJpamVkbm9zdGkuCisgICAgIFByaXRpc25pdGUgPFRBQj4ga2FrbyBiaSBvZGFicmFsaSBqZWRudSBvZCBuamloLgorCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICBLcmFqLiAgQ2lsaiBwcmlydehuaWthIGplIGRhIHBva2G+ZSBrcmF0YWsgcHJlZ2xlZCBWaW0gZWRpdG9yYSwgdGVrIHRvbGlrbworICBkYSBvbW9ndeZpIG5qZWdvdm8ga29yabl0ZW5qZS4gUHJpcnXobmlrIG5pamUgcG90cHVuIGplciBWaW0gaW1hIG1ub2dvIHZpuWUKKyAgbmFyZWRiaS4gWmEgdmm5ZSBpbmZvcm1hY2lqYTogIjpoZWxwIHVzZXItbWFudWFsIi4KKworICBaYSDoaXRhbmplIGkga29yabl0ZW5qZSwgcHJlcG9ydehhbW86CisJVmltIC0gVmkgSW1wcm92ZWQgLSBieSBTdGV2ZSBPdWFsbGluZQorCUl6ZGF2Yeg6IE5ldyBSaWRlcnMKKyAgUHJ2YSBrbmppZ2EgcG90cHVubyBwb3N2ZeZlbmEgVmltLXUuIFZybG8ga29yaXNuYSB6YSBwb+hldG5pa2UuCisgIFNhIG1ub2dvIHByaW1qZXJhIGkgc2xpa2EuCisgIFBvc2pldGl0ZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIFNsamVkZeZhIGtuamlnYSBqZSBuZbl0byBzdGFyaWphIGkgdmm5ZSBvIFZpLXUgbmVnbyBvIFZpbS11LCBwcmVwb3J16GFtbzoKKwlMZWFybmluZyB0aGUgVmkgRWRpdG9yIC0gYnkgTGluZGEgTGFtYgorCUl6ZGF2Yeg6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIFNvbGlkbmEga25qaWdhLCBtb75ldGUgc2F6bmF0aSBza29ybyBzdmUguXRvIG1vvmV0ZSBuYXByYXZpdGkKKyAgdSBWaS11LiCpZXN0byBpemRhbmplIGltYSBuZbl0byBpbmZvcm1hY2lqYSBpIG8gVmltLXUuCisKKyAgT3ZhaiBwcmlydehuaWsgc3UgbmFwaXNhbGk6IE1pY2hhZWwgQy4gUGllcmNlIGkgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBrb3Jpc3Rl5mkgaWRlamUgQ2hhcmxlcyBTbWl0aCwKKyAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4gIEUtcG+5dGE6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBOYWtuYWRuZSBwcm9tamVuZSBuYXByYXZpbyBqZSBCcmFtIE1vb2xlbmFhci4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCisgIFByZXZlbyBuYSBocnZhdHNraTogUGF1bCBCLiBNYWhvbCA8b25lbWRhQGdtYWlsLmNvbT4KKyAgUHJlaW5ha2EgMS40MiwgTGlwYW5qIDIwMDgKKworCmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3VuaW5zdGFsLnR4dCBiL3J1bnRpbWUvdHV0b3IvdW5pbnN0YWwudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDZjOTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3VuaW5zdGFsLnR4dApAQCAtMCwwICsxLDgwIEBACitVbmluc3RhbGxpbmcgVmltIG9uIERvcyBhbmQgTVMtV2luZG93cy4KKworVGhlcmUgYXJlIHRocmVlIHdheXMgdG8gcmVtb3ZlIFZpbToKKworMS4gV2l0aCB0aGUgR1VJIHVuaW5zdGFsbGVyLgorICAgVGhpcyBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIFZpbSB3YXMgaW5zdGFsbGVkIHdpdGggdGhlIHNlbGYtaW5zdGFsbGluZworICAgZXhlY3V0YWJsZS4gIFRoaXMgaGFzIGEgbWluaW1hbCBudW1iZXIgb2YgcXVlc3Rpb25zLiAgSXQgY2FuIGRlbGV0ZQorICAgZXZlcnl0aGluZyB0aGF0IHdhcyBpbnN0YWxsZWQuICBUaGlzIGFsc28gdW5yZWdpc3RlcnMgdGhlIFZpc1ZpbS5kbGwKKworMi4gV2l0aCB1bmluc3RhbC5leGUuCisgICBUaGlzIHJlbW92ZXMgbW9zdCBpbnN0YWxsZWQgaXRlbXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUgdGhlIGZpbGVzIHlvdQorICAgdW5wYWNrZWQuCisKKzMuIEJ5IGhhbmQuCisgICBUaGlzIGlzIGEgYml0IG1vcmUgd29yaywgYnV0IHlvdSBjYW4gZGVjaWRlIGV4YWN0bHkgd2hhdCB5b3Ugd2FudCB0bworICAgcmVtb3ZlLiAgRm9yIHVuaW5zdGFsbGluZyB0aGUgIkVkaXQgd2l0aCBWaW0iIHBvcHVwIG1lbnUgZW50cnkgeW91IHN0aWxsCisgICBoYXZlIHRvIHVzZSB1bmluc3RhbC5leGUuCisKK0l0J3MgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBtZXRob2QgdGhhdCBtYXRjaGVzIHdpdGggaG93IHlvdSBpbnN0YWxsZWQgVmltLgorVGh1cyBpZiB5b3UgaW5zdGFsbGVkIFZpbSBieSBoYW5kLCBkZWxldGVkIGl0IGJ5IGhhbmQuCisKK1RoZSBmaXJzdCB0d28gbWV0aG9kcyBzaG91bGQgYmUgYXZhaWxhYmxlIGZyb20gdGhlIEFkZC9SZW1vdmUgc29mdHdhcmUgd2luZG93CithbmQgdGhlIFZpbSBlbnRyeSBpbiB0aGUgU3RhcnQgbWVudS4gIElmIHRoZXNlIGhhdmUgYmVlbiByZW1vdmVkIGFscmVhZHksIGZpbmQKKyJ1bmluc3RhbGwtZ3VpLmV4ZSIgb3IgInVuaW5zdGFsLmV4ZSIgaW4gdGhlIFZpbSBkaXJlY3RvcnkuCisgICBSdW5uaW5nIHRoZXNlIHByb2dyYW1zIHNob3VsZCBiZSBzZWxmLWV4cGxhbmF0b3J5LiAgQ2FyZWZ1bGx5IHJlYWQgdGhlCittZXNzYWdlcyB0byBhdm9pZCBkZWxldGluZyBzb21ldGhpbmcgeW91IHdhbnQgdG8ga2VlcC4KKworSGVyZSBhcmUgZ3VpZGVsaW5lcyBmb3IgcmVtb3ZpbmcgVmltIGJ5IGhhbmQ6CisKKzEuIFJlbW92ZSB0aGUgIkVkaXQgd2l0aCBWaW0iIHBvcHVwIG1lbnUgZW50cnksIGlmIGl0IGV4aXN0cy4gIFRoaXMgd2lsbCBvbmx5CisgICBiZSBvbiBNUy1XaW5kb3dzIDk1Lzk4L05ULiAgVGhpcyBpcyBkb25lIGJ5IHJ1bm5pbmcgdGhlIHVuaW5zdGFsLmV4ZQorICAgcHJvZ3JhbS4gIEl0IHJlbW92ZXMgdGhlIHJlZ2lzdHJ5IGVudHJpZXMgZm9yIHRoZSAiRWRpdCB3aXRoIFZpbSIgcG9wdXAKKyAgIG1lbnUgZW50cnkuICBZb3Ugb25seSBuZWVkIHRvIHJ1biB1bmluc3RhbC5leGUgd2hlbiB5b3UgaGF2ZSBpbnN0YWxsZWQgdGhlCisgICBtZW51IGVudHJ5LiAgWW91IGNhbiBhbHNvIHJ1biB1bmluc3RhbC5leGUgZnJvbSB0aGUgQ29udHJvbCBwYW5lbCB3aXRoIHRoZQorICAgQWRkL1JlbW92ZSBwcm9ncmFtcyBhcHBsaWNhdGlvbi4KKyAgIE5vdGUgdGhhdCB1bmluc3RhbC5leGUgb2ZmZXJzIHlvdSB0byB1bmluc3RhbCBvdGhlciBpdGVtcy4gIFlvdSBjYW4gc2tpcAorICAgdGhpcy4KKworMi4gT25seSBpZiB5b3UgaGF2ZSB1c2VkIHRoZSBPTEUgdmVyc2lvbiBvZiBndmltOiBSZW1vdmUgdGhlIHJlZ2lzdHJhdGlvbiBvZgorICAgdGhpcyBwcm9ncmFtIGJ5IHJ1bm5pbmcgImd2aW0gLXVucmVnaXN0ZXIiIGluIGEgY29uc29sZSB3aW5kb3cuCisKKzMuIERlbGV0ZSB0aGUgZXhlY3V0YWJsZXMuICBJZiB5b3UgY29waWVkIHRoZSBleGVjdXRhYmxlcyB0byBhbm90aGVyIGxvY2F0aW9uLAorICAgeW91IHdpbGwgaGF2ZSB0byBkZWxldGUgdGhlbSBmcm9tIHdoZXJlIHlvdSBjb3BpZWQgdGhlbSB0by4gIElmIHlvdSBkb24ndAorICAgcmVtZW1iZXIgd2hlcmUgdGhleSBhcmUsIGxvb2sgaW4gdGhlIGRpcmVjdG9yaWVzIGZyb20gdGhlICRQQVRIIGVudmlyb25tZW50CisgICB2YXJpYWJsZS4KKyAgIElmIHlvdSBjcmVhdGVkIC5iYXQgZmlsZXMgd2hlbiBpbnN0YWxsaW5nIFZpbSwgYWxzbyBzZWFyY2ggZm9yIHZpbS5iYXQsCisgICBndmltLmJhdCwgZXRjLgorCis0LiBJZiB5b3UgY29tcGxldGVseSB3YW50IHRvIGRlbGV0ZSB2aW0sIGFuZCBhcmUgbm90IGdvaW5nIHRvIGluc3RhbGwgYW5vdGhlcgorICAgdmVyc2lvbiwgeW91IGNhbiBkZWxldGUgdGhlIHZpbXJjIGZpbGVzIHRoYXQgeW91IGNyZWF0ZWQuICBUaGVzZSBhcmUKKyAgIG5vcm1hbGx5IGxvY2F0ZWQgaW4gYSBkaXJlY3RvcnkgbGlrZSAiQzpcdmltIi4gIElmIHRoZSAkVklNIGVudmlyb25tZW50CisgICB2YXJpYWJsZSBpcyBzZXQsIGl0IHdpbGwgdGVsbCB0aGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgTm9ybWFsbHkgeW91IGNhbgorICAgZGVsZXRlIGV2ZXJ5dGhpbmcgaW4gdGhpcyBkaXJlY3RvcnkuICBXYXJuaW5nOiBZb3UgbWlnaHQgaGF2ZSBwdXQgc29tZQorICAgZmlsZXMgdGhlcmUgdGhhdCB5b3Ugd291bGQgbGlrZSB0byBzYXZlLiAgSWYgeW91IGRpZCByZW1vdmUgaXQgYWxsLCB5b3UgY2FuCisgICBza2lwIHRoZSBuZXh0IHN0ZXAuCisKKzUuIERlbGV0ZSB0aGUgZGlzdHJpYnV0ZWQgZmlsZXMuICBJZiB5b3UgZm9sbG93ZWQgdGhlIGRpcmVjdGlvbnMsIHRoZXNlIHdpbGwKKyAgIGJlIGxvY2F0ZWQgaW4gYSBkaXJlY3RvcnkgbGlrZSAiQzpcdmltXHZpbTU0Ii4gIElmIHRoZSAkVklNIGVudmlyb25tZW50CisgICB2YXJpYWJsZSBpcyBzZXQsIHRoZSBkaXJlY3Rvcnkgd2lsbCBiZSAkVklNXHZpbTU0LiAgRGVsZXRlIHRoZSAidmltNTQiCisgICBkaXJlY3RvcnkgYW5kIGFsbCB0aGF0IGlzIGluIGl0LiAgV2FybmluZzogSWYgeW91IGNoYW5nZWQgYW55IG9mIHRoZQorICAgZGlzdHJpYnV0ZWQgZmlsZXMsIG9yIGFkZGVkIHNvbWUgb2YgeW91ciBvd24gZmlsZXMsIHlvdSBtaWdodCB3YW50IHRvIHNhdmUKKyAgIHRoZXNlIGZpcnN0LiAgQnV0IG5vcm1hbGx5IHlvdSB3b3VsZCBub3QgaGF2ZSBjaGFuZ2VkIG9yIGFkZGVkIGZpbGVzIGhlcmUuCisKKzYuIFJlbW92ZSBzZXR0aW5nIHRoZSAkVklNIGFuZCAkVklNUlVOVElNRSBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgYWRqdXN0CisgICAkUEFUSC4gICRWSU0gb25seSBuZWVkcyB0byBiZSByZW1vdmVkIGlmIHlvdSBhcmUgbm90IGdvaW5nIHRvIGluc3RhbGwKKyAgIGFub3RoZXIgdmVyc2lvbiBvZiBWaW0uICAkVklNUlVOVElNRSBpcyBtb3N0bHkgbm90IHNldC4gIENoZWNrIGlmICRQQVRICisgICBjb250YWlucyB0aGUgcGF0aCBvZiB0aGUgdmltIGRpcmVjdG9yeS4gIE5vdGUgdGhhdCAkUEFUSCBtYXkgYmUgc2V0IGluCisgICBzZXZlcmFsIHBsYWNlcywgeW91IHdpbGwgaGF2ZSB0byBmaW5kIHRoZSByaWdodCBvbmUsIGFuZCBvbmx5IGRlbGV0ZSB0aGUKKyAgIFZpbSBwYXRoIGZyb20gaXQuICBZb3UgY2FuIG1vc3QgbGlrZWx5IGZpbmQgdGhlIGxpbmVzIHRoYXQgc2V0ICRQQVRILCAkVklNCisgICBhbmQvb3IgJFZJTVJVTlRJTUUgaW4gQzpcYXV0b2V4ZWMuYmF0LiAgVW5kZXIgV2luZG93cyBOVCB5b3UgbWlnaHQgbmVlZCB0bworICAgdXNlIHRoZSAiU3lzdGVtIFByb3BlcnRpZXMiIGVkaXRvciB0byBjaGFuZ2UgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcywgaWYKKyAgIHRoZXkgYXJlIG5vdCBpbiB0aGUgQzpcYXV0b2V4ZWMuYmF0IGZpbGUuICBZb3UgY2FuIHN0YXJ0IGl0IGJ5IHNlbGVjdGluZworICAgU3RhcnQvU2V0dGluZ3MvQ29udHJvbCBQYW5lbCBhbmQgdGhlbiAiU3lzdGVtIi4KKworNy4gSWYgeW91IGFkZGVkIGEgVmltIGVudHJ5IGluIHRoZSBzdGFydCBtZW51LCBkZWxldGUgaXQuCisKKzguIElmIHlvdSBjcmVhdGVkIGljb25zIGZvciBWaW0gb24gdGhlIGRlc2t0b3AsIGRlbGV0ZSB0aGVtLgorCitWaW0gZG9lcyBub3QgdXNlIC5pbmkgZmlsZXMuICBUaGUgYWJvdmUgc2hvdWxkIHJlbW92ZSBhbGwgVmltIGZpbGVzLCBleGNlcHQKK3RoZSBvbmVzIHRoYXQgeW91IG1vdmVkIGVsc2V3aGVyZSB5b3Vyc2VsZi4K