ZGlmZiAtLWdpdCBhLy5naXRodWIvcHVsbF9yZXF1ZXN0X3RlbXBsYXRlLm1kIGIvLmdpdGh1Yi9wdWxsX3JlcXVlc3RfdGVtcGxhdGUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdhZGRlMwotLS0gL2Rldi9udWxsCisrKyBiLy5naXRodWIvcHVsbF9yZXF1ZXN0X3RlbXBsYXRlLm1kCkBAIC0wLDAgKzEsMjIzIEBACitQdWJsaWMgU3VmZml4IExpc3QgKFBTTCkgUHVsbCBSZXF1ZXN0IChQUikgVGVtcGxhdGUKKz09PT0KKworRWFjaCBQU0wgUFIgbmVlZHMgdG8gaGF2ZSBhIGRlc2NyaXB0aW9uLCByYXRpb25hbGUsIGluZGljYXRpb24gb2YgRE5TIHZhbGlkYXRpb24gYW5kIHN5bnRheCBjaGVja2luZywgYXMgd2VsbCBhcyBhIG51bWJlciBvZiBhY2tub3dsZWRnZW1lbnRzIGZyb20gdGhlIHN1Ym1pdHRlci4gIFRoaXMgdGVtcGxhdGUgbXVzdCBiZSBpbmNsdWRlZCB3aXRoIGVhY2ggUFIsIGFuZCB0aGUgc3VibWl0dGluZyBwYXJ0eSBNVVNUIHByb3ZpZGUgcmVzcG9uc2VzIHRvIGFsbCBvZiB0aGUgZWxlbWVudHMgaW4gb3JkZXIgdG8gYmUgY29uc2lkZXJlZC4KKworPCEtLSAjIyMjIFJFQUQgVEhJUyBGSVJTVCAjIyMjCisKK0lmIHlvdSBoYXZlbid0IHlldCwgcGxlYXNlIHJlYWQgb3VyIGd1aWRlbGluZXM6CitodHRwczovL2dpdGh1Yi5jb20vcHVibGljc3VmZml4L2xpc3Qvd2lraS9HdWlkZWxpbmVzI3N1Ym1pdC10aGUtY2hhbmdlCisKK0Fsc28sIHJlYWQgdGhlbSBhZ2FpbiwgYXMgbWFueSBza2lwIHRoYXQgcGFydCBhbmQgCitnZXQgY29uZnVzZWQgYWJvdXQgd2h5IHRoZWlyIFBSIGlzIGRlbGF5ZWQgb3IgZG9lcworbm90IGdldCBhY2NlcHRlZCB3aGVuIHRoZWlycyBkaWRuJ3QgZm9sbG93IHRoZW0uCisKK0EgcmVjZW50IFBSIHVzaW5nIHRoZSBjdXJyZW50IHRlbXBsYXRlIGlzIAoraHR0cHM6Ly9naXRodWIuY29tL3B1YmxpY3N1ZmZpeC9saXN0L3B1bGwvMTU5MSwgYWx0aG91Z2ggCit0aGUgb3JnYW5pemF0aW9uIGFuZCBkZXNjcmlwdGlvbiB3ZXJlIG5vdCBhcyBzdWJzdGFudGlhbCAKK2FzIGRlc2lyZWQsIHdoaWNoIHJlcXVpcmVkIG1haW50YWluZXJzIHRpbWUgdG8gdmlzaXQgdGhlIAorcmVxdWVzdG9ycyB3ZWJzaXRlIHRvIGZ1cnRoZXIgcmVzZWFyY2guIAorSGF2aW5nIG1vcmUgcm9idXN0IG9yZy9kZXNjIGltcHJvdmVzIHRoZSBQUiBwcm9jZXNzaW5nIAorcGFjZSBkdWUgdG8gdGhlIGV4dHJhIGN5Y2xlcyBub3QgbG9zdCB0byByZXNlYXJjaC4KK0ZvciBhbiBleGFtcGxlIG9mIHdoYXQgYW4gZXhjZWxsZW50IGRlc2NyaXB0aW9uIGluIGEgUFIgbG9va3MgbGlrZQorc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC9wdWxsLzYxNSwgCithbHRob3VnaCB0aGF0IGV4YW1wbGUgdXNlcyBhbiBlYXJsaWVyIHRlbXBsYXRlLgorLS0+CisjIyMgQ2hlY2tsaXN0IG9mIHJlcXVpcmVkIHN0ZXBzCisKKyogWyBdIERlc2NyaXB0aW9uIG9mIE9yZ2FuaXphdGlvbgorKiBbIF0gUm9idXN0IFJlYXNvbiBmb3IgUFNMIEluY2x1c2lvbgorKiBbIF0gRE5TIHZlcmlmaWNhdGlvbiB2aWEgZGlnCisqIFsgXSBSdW4gU3ludGF4IENoZWNrZXIgKG1ha2UgdGVzdCkKKworKiBbIF0gRWFjaCBkb21haW4gbGlzdGVkIGluIHRoZSBQUklWQVRFIHNlY3Rpb24gaGFzIGFuZCBzaGFsbCBtYWludGFpbiBhdCBsZWFzdCB0d28geWVhcnMgcmVtYWluaW5nIG9uIHJlZ2lzdHJhdGlvbiwgYW5kIHdlIHNoYWxsIGtlZXAgdGhlIFxfUFNMIHR4dCByZWNvcmQgaW4gcGxhY2UgaW4gdGhlIHJlc3BlY3RpdmUgem9uZShzKSBpbiB0aGUgYWZmZWN0ZWQgc2VjdGlvbgorCitfX1N1Ym1pdHRlciBhZmZpcm1zIHRoZSBmb2xsb3dpbmc6X18gCis8IS0tCitUaGlyZC1wYXJ0eSBMaW1pdHMgYXJlIHVzZWQgZWxzZXdoZXJlLCBzdWNoIGFzIGF0IENsb3VkZmxhcmUsIExldCdzIAorRW5jcnlwdCwgQXBwbGUsIEdpdExhYiBvciBvdGhlcnMsIGFuZCBoYXZpbmcgYW4gZW50cnkgaW4gdGhlIFBTTCBhbHRlcnMgCit0aGUgbWFubmVyIGluIHdoaWNoIHRob3NlIHRoaXJkLXBhcnR5IHN5c3RlbXMgb3IgcHJvZHVjdHMgdHJlYXQgCithIGdpdmVuIGRvbWFpbiBuYW1lIG9yIHN1Yi1kb21haW5zIHdpdGhpbiBpdC4KKworVG8gYmUgY2xlYXIsIGl0IGlzIGFwcHJvcHJpYXRlIHRvIGFkZHJlc3MgaG93IHRob3NlIGxpbWl0cyBpbXBhY3QgCit5b3VyIGRvbWFpbihzKSBkaXJlY3RseSB3aXRoIHRoYXQgdGhpcmQtcGFydHksIGFuZCBpdCBpcyBpbmFwcHJvcHJpYXRlIAordG8gc3VibWl0IGVudHJpZXMgdG8gdGhlIFBTTCBhcyBhIG1lYW5zIHRvIHdvcmsgYXJvdW5kIHRob3NlIGxpbWl0cyBvciAKK3Jlc3RyaWN0aW9ucy4KKy0tPgorICAqIFsgXSBXZSBhcmUgbGlzdGluZyAqYW55KiB0aGlyZC1wYXJ0eSBsaW1pdHMgdGhhdCB3ZSBzZWVrIHRvIHdvcmsgYXJvdW5kIGluIG91ciByYXRpb25hbGUgc3VjaCBhcyB0aG9zZSBiZXR3ZWVuIElPUyAxNC41KyBhbmQgRmFjZWJvb2sgKHNlZSBbSXNzdWUgIzEyNDVdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC9pc3N1ZXMvMTI0NSkgYXMgYSB3ZWxsLWRvY3VtZW50ZWQgZXhhbXBsZSkKKworPCEtLQorVGhlIHB1cnBvc2Ugb2YgdGhlIHF1ZXN0aW9uIGFib3ZlIGlzIHRvIGV4cG9zZSBsaW1pdCB3b3JrYXJvdW5kcy4KK0lmIHRoZXJlIGFyZSB0aGlyZCBwYXJ0eSBsaW1pdHMgdGhhdCB0aGUgUFIgc2Vla3MgdG8gb3ZlcmNvbWUsIHRob3NlCittdXN0IGJlIGxpc3RlZCB3aXRoaW4gdGhlIHJhdGlvbmFsZSBzZWN0aW9uIG9mIHRoaXMgcmVxdWVzdCwgYW5kIAorcHJvdmlkZSBhIGdvb2QgbGV2ZWwgb2YgZGV0YWlsIHRoZSBlZmZvcnQgdGhhdCB3YXMgbWFkZSB0byB3b3JrIGRpcmVjdGx5IAord2l0aCB0aGUgdGhpcmQgcGFydCh5fGllcykgaW4gYXR0ZW1wdGluZyB0byBhZGRyZXNzIHRoaXMgd2l0aGluIHRoZWlyIAorcmF0aW9uYWxlIHJlc3BvbnNlIGJlbG93LgorSW4gYWxsIGNhc2VzLCBzb2Z0d2FyZSBhbmQgc2VydmljZXMgc2hvdWxkIGJlIGRpc2NvdXJhZ2VkIGZyb20gdXNlIG9mCit0aGUgUFNMIGFzIGEgcmF0ZS1saW1pdGluZyB0b29sLCBhbmQgcHJvdmlkZSBjbGVhciBpbnN0cnVjdGlvbnMgdG8gdGhlaXIKK293biBjbGllbnRzLCBwYXJ0bmVycyBhbmQgdXNlcnMgb24gdGhlIG1hbm5lciBpbiB3aGljaCB0aGV5IGNhbiBkaXJlY3RseQorcmVxdWVzdCByYXRlIGxpbWl0IGluY3JlYXNlcy4KK1dlIHRyZWF0IHRoZSBmb2xsb3dpbmcgYXMgYW4gYXR0ZXN0YXRpb24gaW4gdGhlIHB1YmxpYyByZWNvcmQgb2YgdGhlIAorcmVxdWVzdGluZyBwYXJ0eSB0aGF0IHRoZXkgYXJlIG5vdCBhdHRlbXB0aW5nIHRvIGJ5cGFzcyByYXRlIGxpbWl0cyB0aHJvdWdoCit0aGUgUFIuCistLT4KKworICAqIFsgXSBUaGlzIHJlcXVlc3Qgd2FzIF9ub3RfIHN1Ym1pdHRlZCB3aXRoIHRoZSBvYmplY3RpdmUgb2Ygd29ya2luZyBhcm91bmQgb3RoZXIgdGhpcmQtcGFydHkgbGltaXRzCisKKzwhLS0KK1RoZSBndWlkZWxpbmVzIGRlc2NyaWJlIHdoaWNoIHNlY3Rpb24gdG8gcGxhY2UgdGhlIGVudHJ5LCB3aGF0IHRoZSAKK29yZGVyIG9mIGNvbW1lbnRlZCBvcmcgcGxhY2VtZW50LCBvcmRlciBvZiBzb3J0aW5nIG9mIGVudHJpZXMuIAorKGhpbnQ6IFRMRCB0aGVuIFNMRCwgQXNjZW5kaW5nIHNvcnQpICAgQWx0aG91Z2ggaXQgc2VlbXMgcGVkYW50aWMsIAordGhlIHNvcnRpbmcgYW5kIGZvcm1hdHRpbmcgcnVsZXMgaGVscCBlbnN1cmUgYWxsIG9mIHRoZSBhdXRvbWF0aW9uIAordGhhdCB1c2VzIHRoZSBQU0wgb3BlcmF0ZXMgY29ycmVjdGx5LiAgVHlwaWNhbGx5IGJvdGggYXJlIHNvbHZlZCBvcgorbmVpdGhlci4KKy0tPgorCisgICogWyBdIFRoZSBbR3VpZGVsaW5lc10oaHR0cHM6Ly9naXRodWIuY29tL3B1YmxpY3N1ZmZpeC9saXN0L3dpa2kvR3VpZGVsaW5lcykgd2VyZSBjYXJlZnVsbHkgX3JlYWRfIGFuZCBfdW5kZXJzdG9vZF8sIGFuZCB0aGlzIHJlcXVlc3QgY29uZm9ybXMKKyAgKiBbIF0gVGhlIHN1Ym1pc3Npb24gZm9sbG93cyB0aGUgW2d1aWRlbGluZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC93aWtpL0Zvcm1hdCkgb24gZm9ybWF0dGluZyBhbmQgc29ydGluZworCis8IS0tIAorU29ydGluZyBhbmQgZm9ybWF0dGluZyBvZiB0aGUgZW50cmllcyBpcyBvdXRsaW5lZCBpbiB0aGUgZ3VpZGVsaW5lcyAKK2FuZCBub24tY29uZm9ybWluZyByZXF1ZXN0cyBhcmUgb25lIG9mIHRoZSBsYXJnZXN0IHNvdXJjZXMgb2YgZGVsYXksCitzbyBnZXR0aW5nIHRoaXMgcmlnaHQgaW5pdGlhbGx5IHdpbGwgYWlkIHN1Y2Nlc3NmdWxseSBoYXZpbmcgaXQgCitwcm9jZWVkLiAgTWlzcy1sb2NhdGVkIGVudHJpZXMgYW5kIHRyYWlsaW5nIHNwYWNlcyBzaG91bGQgYmUgYXZvaWRlZC4KKy0tPgorCistLS0KKworRm9yIFByaXZhdGUgc2VjdGlvbiByZXF1ZXN0cyB0aGF0IGFyZSBzdWJtaXR0aW5nIGVudHJpZXMgZm9yIGRvbWFpbnMgdGhhdCBtYXRjaCB0aGVpciBvcmdhbml6YXRpb24gd2Vic2l0ZSdzIHByaW1hcnkgZG9tYWluLCBwbGVhc2UgdW5kZXJzdGFuZCB0aGF0IHRoaXMgY2FuIGhhdmUgaW1wYWN0cyB0aGF0IG1heSBub3QgbWF0Y2ggdGhlIGRlc2lyZWQgb3V0Y29tZSBhbmQgdGFrZSBhIGxvbmcgdGltZSB0byByb2xsYmFjaywgaWYgYXQgYWxsLgorCitUbyBlbnN1cmUgdGhhdCByZXF1ZXN0ZWQgY2hhbmdlcyBhcmUgZW50aXJlbHkgaW50ZW50aW9uYWwsIG1ha2Ugc3VyZSB0aGF0IHlvdSByZWFkIHRoZSBhZmZlY3RhdGlvbiBhbmQgcHJvcGFnYXRpb24gZXhwZWN0YXRpb25zLCB0aGF0IHlvdSB1bmRlcnN0YW5kIHRoZW0sIGFuZCBjb25maXJtIHRoaXMgdW5kZXJzdGFuZGluZy4gCisKK1BSIFJvbGxiYWNrcyBoYXZlIGxvd2VyIHByaW9yaXR5LCBhbmQgdGhlIHZvbHVudGVlcnMgYXJlIHVuYWJsZSB0byBjb250cm9sIHdoZW4gb3IgaWYgYnJvd3NlcnMgb3Igb3RoZXIgcGFydGllcyB1c2luZyB0aGUgUFNMIHdpbGwgcmVmcmVzaCBvciB1cGRhdGUuCisKKzwhLS0gCitTZXJpb3VzbHksIGNhcmVmdWxseSByZWFkIHRoZSBkb3dubGluZSBmbG93IG9mIHRoZSBQU0wgYW5kIHRoZSAKK2d1aWRlbGluZXMuIFlvdXIgcmVxdWVzdCBjb3VsZCB2ZXJ5IGxpa2VseSBhbHRlciB0aGUgY29va2llIGFuZCAKK2NlcnRpZmljYXRlIChhcyB3ZWxsIGFzIG90aGVyKSBiZWhhdmlvdXJzIG9uIHlvdXIgY29yZSBkb21haW4gbmFtZSBpbiAKK3dheXMgdGhhdCBjb3VsZCBiZSBwcm9ibGVtYXRpYyBmb3IgeW91ciBidXNpbmVzcy4KKworUm9sbGJhY2sgaXMgcmVhbGx5IG5vdCBwcmVkaWN0YWJsZSwgYXMgdGhvc2Ugd2hvIHVzZSBvciBpbmNvcnBvcmF0ZSAKK3RoZSBQU0wgZG8gd2hhdCB0aGV5IGRvLCBhbmQgd2hlbi4gSXQgaXMgbm90IHdpdGhpbiB0aGUgUFNMIHZvbHVudGVlcnMnIAorY29udHJvbCB0byBkbyBhbnl0aGluZyBhYm91dCB0aGF0LiAgCisKK1RoZSB2b2x1bnRlZXJzIGFyZSBidXN5IHdpdGggbmV3IHJlcXVlc3RzLCBhbmQgcm9sbGJhY2tzIGFyZSBsb3dlc3QgCitwcmlvcml0eSwgc28gaWYgc29tZXRoaW5nIGdldHMgYnJva2VuIGJ5IHlvdXIgUFIsIGl0IHdpbGwgcG90ZW50aWFsbHkgCitzdGF5IHRoYXQgd2F5IGZvciBhbiBpbmRlZmluaXRlIHBlcmlvZCBvZiB0aW1lICh0eXBpY2FsbHkgbG9uZykuCistLT4KKworKExpbms6IFthYm91dCBwcm9wYWdhdGlvbi9leHBlY3RhdGlvbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC93aWtpL0d1aWRlbGluZXMjYXBwcm9wcmlhdGUtZXhwZWN0YXRpb25zLW9uLWRlcml2YXRpdmUtcHJvcGFnYXRpb24tdXNlLW9yLWluY2x1c2lvbikpCisKKyAqIFsgXSAqWWVzLCBJIHVuZGVyc3RhbmQqLiAgSSBjb3VsZCBicmVhayBteSBvcmdhbml6YXRpb24ncyB3ZWJzaXRlIGNvb2tpZXMgZXRjLiBhbmQgdGhlIHJvbGxiYWNrIHRpbWluZywgZXRjIGlzIGFjY2VwdGFibGUuICAqUHJvY2VlZCouCistLS0KKworCis8IS0tCisKK0FzIHlvdSBjb21wbGV0ZSBlYWNoIGl0ZW0gaW4gdGhlIGNoZWNrbGlzdCBwbGVhc2UgbWFyayBpdCB3aXRoIGFuIFgKKworRXhhbXBsZToKKworKiBbeF0gRGVzY3JpcHRpb24gb2YgT3JnYW5pemF0aW9uCisKKy0tPgorCitEZXNjcmlwdGlvbiBvZiBPcmdhbml6YXRpb24KKz09PT0KKworPCEtLQorUFJPVklERSBBVCBMRUFTVCBUSFJFRSBTRU5URU5DRVMgKHRoZSBtb3JlIHRoZSBiZXR0ZXIpIGJ1dAorYXZvaWQgdGhlIHByb21vdGlvbmFsIHN0dWZmIGFib3V0IGhvdyB3b25kZXJmdWwgaXQgaXMsIGFuZCAKK3BsZWFzZSBkbyBub3QgY29weSBhbmQgcGFzdGUgdGhlIG1pc3Npb24gc3RhdGVtZW50IG9yIAorZWxldmF0b3IgcGl0Y2ggZnJvbSB5b3VyIG9yZydzIHdlYnNpdGUuCisKK0Fsc28gdGVsbCB1cyB3aG8geW91IChzdWJtaXR0ZXIpIGFyZSBhbmQgcmVwcmVzZW50IChpLmUuIAoraW5kaXZpZHVhbCwgbm9uLXByb2ZpdCB2b2x1bnRlZXIsIGVuZ2luZWVyIGF0IGEgYnVzaW5lc3MpIAorYW5kIHdoYXQgeW91IGRvIChpLmUuIER5bkROUywgSG9zdGluZywgZXRjKSwgYW5kIHdoYXQgeW91ciAKK3JvbGUgaXMgYXMgc3VibWl0dGVyIHdpdGggcmVzcGVjdCB0byB0aGUgb3JnIGFuZCB0aGUgCitzdWJtaXNzaW9uLgorCitGb3IgdGhlIG9yZyBkZXNjcmlwdGlvbiwgdGhlcmUgaXMgbGVzcyBpbnRlcmVzdCBpbiB0aGUgCitwcm9tb3Rpb25hbCAvIG1hcmtldGluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JnIGFuZCBtb3JlIAorYSBmb2N1cyBvbiBoYXZpbmcgY29uY2lzZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29yZSBmb2N1cyBvZiAKK3RoZSBzdWJtaXR0aW5nIG9yZywgc3BlY2lmaWNhbGx5IHdpdGggY29udGV4dC9jb25uZWN0aW9uIAordG8gdGhpcyByZXF1ZXN0LgorLS0+CisKK09yZ2FuaXphdGlvbiBXZWJzaXRlOiAKKzwhLS0gCitQcm92aWRlIHRoZSB3ZWJzaXRlIGFkZHJlc3Mgb2YgCit0aGUgT3JnIGFzIGEgZnVsbCBVUkwgaS5lLiBodHRwczovL2V4YW1wbGUuY29tIAorLS0+CisKK1JlYXNvbiBmb3IgUFNMIEluY2x1c2lvbgorPT09PQorCis8IS0tCitQbGVhc2UgdGVsbCB1cyB3aHkgeW91ciBkb21haW4ocykgc2hvdWxkIGJlIGxpc3RlZCBpbiB0aGUgUFNMCisoaS5lLiBDb29raWUgU2VjdXJpdHksIExldCdzIEVuY3J5cHQgaXNzdWFuY2UsIElPUy9GYWNlYm9vaywgCitDbG91ZGZsYXJlIGV0YykgYW5kIGNsZWFybHkgY29uZmlybSB0aGF0IGFueSBwcml2YXRlIHNlY3Rpb24gCituYW1lcyBob2xkIHJlZ2lzdHJhdGlvbiB0ZXJtIGxvbmdlciB0aGFuIDIgeWVhcnMgYW5kIHNoYWxsIAorbWFpbnRhaW4gbW9yZSB0aGFuIDEgeWVhciB0ZXJtIGluIG9yZGVyIHRvIHJlbWFpbiBsaXN0ZWQuCisKK0lmIHlvdSBhcmUgYXR0ZW1wdGluZyB0byB3b3JrIGFyb3VuZCB0aGlyZCBwYXJ0eSBsaW1pdHMsIHVzZSAKK3RoaXMgYXJlYSB0byBkZXNjcmliZSBob3cgYW5kIGRldGFpbCB0aGUgbWFubmVyIGluIHdoaWNoIHlvdSAKK2hhdmUgZmlyc3QgYXR0ZW1wdGVkIHRvIGVuZ2FnZSB0aG9zZSB0aGlyZCBwYXJ0aWVzIG9uIHRoZSAKK21hdHRlci4KKworUGxlYXNlIGFsc28gaW5jbHVkZSB0aGUgbnVtYmVycyBvZiBhbnkgcGFzdCBJc3N1ZSAjIG9yIFBSICMgCitzcGVjaWZpY2FsbHkgcmVsYXRlZCB0byB0aGlzIHN1Ym1pc3Npb24gb3Igc2VjdGlvbi4KKworVGhyZWUgb3IgbW9yZSBzZW50ZW5jZXMgaGVyZSB0aGF0IGRlc2NyaWJlIHRoZSBwdXJwb3NlIGZvciAKK3doaWNoIHlvdXIgUFIgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBQU0wuICBUaGVyZSBpcyBubyAKK3VwcGVyIGxpbWl0LCBidXQgc2l4IHBhcmFncmFwaHMgc2VlbXMgbGlrZSBhIHJhdGlvbmFsIHN0b3AuCistLT4KKworTnVtYmVyIG9mIHVzZXJzIHRoaXMgcmVxdWVzdCBpcyBiZWluZyBtYWRlIHRvIHNlcnZlOgorPCEtLQorSWRlbnRpZnkgaWYgdGhpcyBpcyBjdXJyZW50IG9yIGFuIGVzdGltYXRlLgorLS0+CisKKworRE5TIFZlcmlmaWNhdGlvbiB2aWEgZGlnCis9PT09PT09CisKKzwhLS0KK0ZvciBlYWNoIGRvbWFpbiB5b3UnZCBsaWtlIHRvIGFkZCB0byB0aGUgbGlzdCBwbGVhc2UgY3JlYXRlCithIEROUyB2ZXJpZmljYXRpb24gcmVjb3JkIHBvaW50aW5nIHRvIHlvdXIgcHVsbCByZXF1ZXN0LgorCitGb3IgZXhhbXBsZSwgaWYgeW91J2QgbGlrZSB0byBhZGQgZXhhbXBsZS5jb20gYW5kIGV4YW1wbGUubmV0Cit5b3Ugd291bGQgbmVlZCB0byBwcm92aWRlIHRoZSBmb2xsb3dpbmcgdmVyaWZpY2F0aW9uczoKKworYGBgCitkaWcgK3Nob3J0IFRYVCBfcHNsLmV4YW1wbGUuY29tCisiaHR0cHM6Ly9naXRodWIuY29tL3B1YmxpY3N1ZmZpeC9saXN0L3B1bGwvWFhYWCIKK2BgYAorCitgYGAKK2RpZyArc2hvcnQgVFhUIF9wc2wuZXhhbXBsZS5uZXQKKyJodHRwczovL2dpdGh1Yi5jb20vcHVibGljc3VmZml4L2xpc3QvcHVsbC9YWFhYIgorYGBgCisKK05vdGUgdGhhdCBYWFhYIGlzIHJlcGxhY2VkIHdpdGggdGhlIG51bWJlciBvZiB5b3VyIHB1bGwgcmVxdWVzdC4KKworV2UgYXNrIHRoYXQgeW91IGxlYXZlIHRoaXMgcmVjb3JkIGluIHBsYWNlIHdoaWxlIHlvdSB3YW50IAoreW91ciBlbnRyeSB0byByZW1haW4gaW4gdGhlIFBTTCwgc28gdGhhdCBmdXR1cmUgKFRCRCkgCithdXRvbWF0aW9uIGNhbiByZW1vdmUgZW50cmllcyB3aGVyZSB0aGUgcmVjb3JkIGlzIG5vdCBwcmVzZW50LgorCistLT4KKworUmVzdWx0cyBvZiBTeW50YXggQ2hlY2tlciAoYG1ha2UgdGVzdGApCis9PT09PT09PT0KKworPCEtLQorUGxlYXNlIHZlcmlmeSB0aGF0IHlvdSBmb2xsb3dlZCB0aGUgY29ycmVjdCBzeW50YXggYW5kIG5vdGhpbmcgYnJva2UKKworZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC5naXQKK2NkIGxpc3QKK21ha2UgdGVzdAorCitTaW1wbHkgbGV0IHVzIGtub3cgdGhhdCB5b3UgcmFuIHRoZSB0ZXN0IGFuZCB0aG9zZSByZXN1bHRzCistLT4KKworCmRpZmYgLS1naXQgYS8uZ2l0aHViL3dvcmtmbG93cy90bGQtdXBkYXRlLnltbCBiLy5naXRodWIvd29ya2Zsb3dzL3RsZC11cGRhdGUueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZWJmYTkKLS0tIC9kZXYvbnVsbAorKysgYi8uZ2l0aHViL3dvcmtmbG93cy90bGQtdXBkYXRlLnltbApAQCAtMCwwICsxLDQ4IEBACisjIFB1dCB0aGlzIGF1dG9tYXRpb24gb24gaG9sZCwgdW50aWwgaXQgaXMgYWJsZSB0byBpZ25vcmUgY2hhbmdlcyB0aGF0IG9ubHkgdXBkYXRlIHRoZSBoZWFkZXIgdGltZXN0YW1wLgorbmFtZTogdGxkLXVwZGF0ZQorb246CisgIHNjaGVkdWxlOgorICAgICMgUnVuIG9uY2UgYSBkYXkgYXQgMTU6MDAgVVRDCisgICAgLSBjcm9uOiAgJzAgMTUgKiAqIConCitqb2JzOgorICBwc2wtZ3RsZC11cGRhdGU6CisgICAgbmFtZTogQ2hlY2sgZm9yIFRMRCBkYXRhIHVwZGF0ZXMKKyAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0CisgICAgc3RlcHM6CisKKyAgICAgIC0gbmFtZTogQ2hlY2sgb3V0IGNvZGUKKyAgICAgICAgdXNlczogYWN0aW9ucy9jaGVja291dEB2MgorCisgICAgICAtIG5hbWU6IFNldCB1cCBHbworICAgICAgICB1c2VzOiBhY3Rpb25zL3NldHVwLWdvQHYyCisgICAgICAgIHdpdGg6CisgICAgICAgICAgZ28tdmVyc2lvbjogXjEuMTUKKworICAgICAgLSBuYW1lOiBSdW4gdW5pdCB0ZXN0cworICAgICAgICBydW46IGdvIHRlc3QgdG9vbHMvKi5nbworCisgICAgICAtIG5hbWU6IFNldCBjdXJyZW50IGRhdGUKKyAgICAgICAgaWQ6IGdldC1kYXRlCisgICAgICAgIHJ1bjogZWNobyAiOjpzZXQtb3V0cHV0IG5hbWU9bm93OjokKGRhdGUgKyclWS0lbS0lZFQlSDolTTolUyAlWicpIgorCisgICAgICAtIG5hbWU6IFJ1biBwYXRjaG5ld2d0bGRzCisgICAgICAgIHJ1bjogdG9vbHMvcGF0Y2huZXdndGxkcworCisgICAgICAtIG5hbWU6IENyZWF0ZSBwdWxsLXJlcXVlc3QKKyAgICAgICAgaWQ6IGNwcgorICAgICAgICB1c2VzOiBwZXRlci1ldmFucy9jcmVhdGUtcHVsbC1yZXF1ZXN0QHYzCisgICAgICAgIHdpdGg6CisgICAgICAgICAgdG9rZW46ICIke3sgc2VjcmV0cy5CT1RfUEFUIH19IgorICAgICAgICAgIHB1c2gtdG8tZm9yazogdGxkLXVwZGF0ZS1ib3QvbGlzdAorICAgICAgICAgIGNvbW1pdC1tZXNzYWdlOiAidXRpbDogZ1RMRCBkYXRhIGF1dG9wdWxsIHVwZGF0ZXMgZm9yICR7eyBzdGVwcy5nZXQtZGF0ZS5vdXRwdXRzLm5vdyB9fSIKKyAgICAgICAgICB0aXRsZTogInV0aWw6IGdUTEQgYXV0b3B1bGwgdXBkYXRlcyBmb3IgJHt7IHN0ZXBzLmdldC1kYXRlLm91dHB1dHMubm93IH19IgorICAgICAgICAgIGJvZHk6ICJQdWJsaWMgc3VmZml4IGxpc3QgZ1RMRCBkYXRhIHVwZGF0ZXMgZnJvbSBgdG9vbHMvcGF0Y2huZXdndGxkc2AgZm9yICR7eyBzdGVwcy5nZXQtZGF0ZS5vdXRwdXRzLm5vdyB9fS4iCisgICAgICAgICAgY29tbWl0dGVyOiAiR2l0SHViIDxub3JlcGx5QGdpdGh1Yi5jb20+IgorICAgICAgICAgIGF1dGhvcjogIkdpdEh1YiA8bm9yZXBseUBnaXRodWIuY29tPiIKKyAgICAgICAgICBicmFuY2g6IHBzbC1ndGxkLXVwZGF0ZQorICAgICAgICAgIGRlbGV0ZS1icmFuY2g6IHRydWUKKworICAgICAgLSBuYW1lOiBDaGVjayBvdXRwdXRzCisgICAgICAgIHJ1bjogfAorICAgICAgICAgIGVjaG8gIlB1bGwgUmVxdWVzdCBOdW1iZXIgLSAke3sgc3RlcHMuY3ByLm91dHB1dHMucHVsbC1yZXF1ZXN0LW51bWJlciB9fSIKKyAgICAgICAgICBlY2hvICJQdWxsIFJlcXVlc3QgVVJMIC0gJHt7IHN0ZXBzLmNwci5vdXRwdXRzLnB1bGwtcmVxdWVzdC11cmwgfX0iCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmFmNzQxCi0tLSAvZGV2L251bGwKKysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDMgQEAKK2xpbnRlci9sb2cKK2xpYnBzbAorY292ZXJhZ2Uub3V0CmRpZmYgLS1naXQgYS8udHJhdmlzLnltbCBiLy50cmF2aXMueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkMWJlOWQKLS0tIC9kZXYvbnVsbAorKysgYi8udHJhdmlzLnltbApAQCAtMCwwICsxLDI1IEBACitsYW5ndWFnZTogYworY29tcGlsZXI6IGdjYworCitzY3JpcHQ6IAorICAtIG1ha2UKKyAgLSBnbyB0ZXN0IC12IC1jb3ZlcnByb2ZpbGU9Y292ZXJhZ2Uub3V0IHRvb2xzLyouZ28KKworZ286CisgIC0gIjEuMTUueCIKKworYWRkb25zOgorICAgIGFwdDoKKyAgICAgICAgcGFja2FnZXM6CisgICAgICAgICAgICAtIHB5dGhvbjMKKyAgICAgICAgICAgIC0gYXV0b2NvbmYKKyAgICAgICAgICAgIC0gYXV0b21ha2UKKyAgICAgICAgICAgIC0gYXV0b3BvaW50CisgICAgICAgICAgICAtIGxpYnRvb2wKKyAgICAgICAgICAgIC0gZ2V0dGV4dAorICAgICAgICAgICAgLSBsaWJpZG4xMS1kZXYKKyAgICAgICAgICAgIC0gbGliaWRuMi0wCisgICAgICAgICAgICAtIGxpYmlkbjItMC1kZXYKKyAgICAgICAgICAgIC0gbGliaWN1LWRldgorICAgICAgICAgICAgLSBsaWJ1bmlzdHJpbmcwCisgICAgICAgICAgICAtIGxpYnVuaXN0cmluZy1kZXYKZGlmZiAtLWdpdCBhL0NPTlRSSUJVVElORy5tZCBiL0NPTlRSSUJVVElORy5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzdkMTk4Ci0tLSAvZGV2L251bGwKKysrIGIvQ09OVFJJQlVUSU5HLm1kCkBAIC0wLDAgKzEsMjggQEAKKyMgU3VibWl0dGluZyBBbWVuZG1lbnRzCisKK0JlZm9yZSBzdWJtaXR0aW5nIGFueSBjaGFuZ2UgdG8gdGhlIGxpc3QsIHBsZWFzZSBtYWtlIHN1cmUgdG8gcmVhZCB0aGUgW0d1aWRlbGluZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC93aWtpL0d1aWRlbGluZXMpLgorCitBIHByb3Blcmx5IGZvcm1hdHRlZCBhbmQgdmFsaWRhdGVkIHBhdGNoIHdpbGwgZGVjcmVhc2UgdGhlIHJldmlldyB0aW1lLCBhbmQgaW5jcmVhc2UgdGhlIGNoYW5jZXMgeW91ciByZXF1ZXN0IHdpbGwgYmUgcmV2aWV3ZWQgYW5kIHBlcmhhcHMgYWNjZXB0ZWQuIEFueSBwYXRjaCB0aGF0IGRvZXNuJ3QgZm9sbG93IHRoZSBHdWlkZWxpbmVzIHdpbGwgYmUgcmVqZWN0ZWQgb3IsIGluIHRoZSBiZXN0IHNjZW5hcmlvLCBsZWZ0IHBlbmRpbmcgZm9yIGZvbGxvdy11cC4KKworVGhlIG1vc3QgY29tbW9uIHRpbWUgbG9zcyBjb21lcyBmcm9tIG5vdCBmb2xsb3dpbmcgdGhlIHNvcnRpbmcgZ3VpZGVsaW5lcworLSBTb3J0aW5nIC8gUGxhY2VtZW50IG5lZWRzIHRvIGNvbXBseSB3aXRoIFtHdWlkZWxpbmVzXShodHRwczovL2dpdGh1Yi5jb20vcHVibGljc3VmZml4L2xpc3Qvd2lraS9HdWlkZWxpbmVzKQorICAtICpQTEVBU0UqIG9yZGVyIHdpdGhpbiB0aGUgZXhpc3RpbmcgZW50cmllcyBpbiB0aGUgUFJJVkFURSBET01BSU5TIHNlY3Rpb24gc28gdGhhdCB5b3VyIGxpc3RlZCBvcmdhbml6YXRpb24gb24geW91ciBmaXJzdCBjb21tZW50IGxpbmUgaXMgYWxwaGFiZXRpY2FsbHkgc29ydGVkCisgIC0gRG8gTk9UIGFwcGVuZCB5b3VyIFBSSVZBVEUgRE9NQUlOUyBlbnRyeSB0byBlbmQgb2YgdGhlIGZpbGUKKyAgLSBJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBkb21haW4gd2l0aGluIHlvdXIgUFIsIG9yZGVyIHlvdXIgZW50cmllcyBhbHBoYWJldGljYWxseSwgYXNjZW5kaW5nIGJ5IFRMRCwgdGhlbiBTTEQsIHRoZW4gM0xEIGFuZCBkZWVwZXIgZXRjIChpZiBwcmVzZW50KQorCitPdGhlciBDb21tb24gbWlzdGFrZXMgdGhhdCBtYXkgY2F1c2UgdGhlIHJlcXVlc3QgdG8gYmUgcmVqZWN0ZWQgaW5jbHVkZToKKworLSBJbnZhbGlkIHBhdGNoIGZvcm1hdHRpbmcsIHJ1bGUgc29ydGluZyBvciBjaGFuZ2VzZXQgcG9zaXRpb24gKHNlZSB0aGlzOiBbV2lraTpGb3JtYXR0aW5nXShodHRwczovL2dpdGh1Yi5jb20vcHVibGljc3VmZml4L2xpc3Qvd2lraS9Gb3JtYXQpKQorLSBNaXNzaW5nIHZhbGlkYXRpb24gcmVjb3JkcyAKKy0gTGFjayBvZiBwcm9wZXIgZG9tYWluIG93bmVyc2hpcCBvciBleHBpcnkgZGF0ZXMgbGVzcyB0aGFuIDJZIGF3YXkKKy0gQXR0ZW1wdHMgdG8gd29yayBhcm91bmQgdmVuZG9yIGxpbWl0cyAoc2VlIFsjMTI0NV0oaHR0cHM6Ly9naXRodWIuY29tL3B1YmxpY3N1ZmZpeC9saXN0L2lzc3Vlcy8xMjQ1KSBhcyBhbiBleGFtcGxlKQorLSBTdWJtaXNzaW9ucyB3aXRoIFRMRHMgbm9uLWNvbXBsaWFudCB3aXRoIFtJQ1AtM10oaHR0cHM6Ly93d3cuaWNhbm4ub3JnL3Jlc291cmNlcy9wYWdlcy91bmlxdWUtYXV0aG9yaXRhdGl2ZS1yb290LTIwMTItMDItMjUtZW4pIG9yIG9uIHRoZSBbSUNBTk4gUFNMXShodHRwczovL2dpdGh1Yi5jb20vcHVibGljc3VmZml4L2xpc3Qvd2lraS9TZWN1cml0eS1Db25zaWRlcmF0aW9ucyNpY2Fubi1wdWJsaWMtc3VmZml4LWxpc3QpCistIEluc3VmZmljaWVudCBvciBpbmNvbXBsZXRlIHJhdGlvbmFsZSAoYmUgdmVyYm9zZSEpCistIFNtYWxsZXIsIHByaXZhdGUgcHJvamVjdHMgd2l0aCA8MjAwMCBzdGFrZWhvbGRlcnMKKworRnJlcXVlbnRseSwgUFIgc3VibWlzc2lvbnMgb3Zlcmxvb2sgdGhlIHNvcnQgb3JkZXJpbmcgZ3VpZGVsaW5lcywgYWRkaW5nIHRvIGRlbGF5IGluIHByb2Nlc3NpbmcgYW5kIGFuIGluY3JlYXNlIGluIHRoZSB0aW1lIGl0IHRha2VzIHRvIHByb2Nlc3MgcmVxdWVzdHMuCisKK01ha2Ugc3VyZSB0byByZXZpZXcgd2l0aCB0aGUgW0d1aWRlbGluZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC93aWtpL0d1aWRlbGluZXMpIGJlZm9yZSB5b3Ugb3BlbiBhIG5ldyBwdWxsIHJlcXVlc3QuCisKK1BsZWFzZSBhbHNvIG5vdGUgdGhhdCB0aGVyZSBpcyBubyBndWFyYW50ZWUgb2YgaW5jbHVzaW9uLCBub3Igd2UgYXJlIGFibGUgdG8gcHJvdmlkZSBhbiBFVEEgZm9yIGFueSBpbmNsdXNpb24gcmVxdWVzdC4gIFRoaXMgaXMgYWxzbyB0cnVlIG9mIHByb2plY3RzIHRoYXQgaW5jb3Jwb3JhdGUgdGhlIFBTTCBkb3dubGluZS4gIFRoaXMgaXMgZGVzY3JpYmVkLCBvdXRsaW5lZCBhbmQgZGlhZ3JhbW1lZCBbaGVyZV0oCitodHRwczovL2dpdGh1Yi5jb20vcHVibGljc3VmZml4L2xpc3Qvd2lraS9HdWlkZWxpbmVzI2FwcHJvcHJpYXRlLWV4cGVjdGF0aW9ucy1vbi1kZXJpdmF0aXZlLXByb3BhZ2F0aW9uLXVzZS1vci1pbmNsdXNpb24pLgpkaWZmIC0tZ2l0IGEvTElDRU5TRSBiL0xJQ0VOU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU2MjU2YwotLS0gL2Rldi9udWxsCisrKyBiL0xJQ0VOU0UKQEAgLTAsMCArMSwzNzMgQEAKK01vemlsbGEgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAyLjAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworMS4gRGVmaW5pdGlvbnMKKy0tLS0tLS0tLS0tLS0tCisKKzEuMS4gIkNvbnRyaWJ1dG9yIgorICAgIG1lYW5zIGVhY2ggaW5kaXZpZHVhbCBvciBsZWdhbCBlbnRpdHkgdGhhdCBjcmVhdGVzLCBjb250cmlidXRlcyB0bworICAgIHRoZSBjcmVhdGlvbiBvZiwgb3Igb3ducyBDb3ZlcmVkIFNvZnR3YXJlLgorCisxLjIuICJDb250cmlidXRvciBWZXJzaW9uIgorICAgIG1lYW5zIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgQ29udHJpYnV0aW9ucyBvZiBvdGhlcnMgKGlmIGFueSkgdXNlZAorICAgIGJ5IGEgQ29udHJpYnV0b3IgYW5kIHRoYXQgcGFydGljdWxhciBDb250cmlidXRvcidzIENvbnRyaWJ1dGlvbi4KKworMS4zLiAiQ29udHJpYnV0aW9uIgorICAgIG1lYW5zIENvdmVyZWQgU29mdHdhcmUgb2YgYSBwYXJ0aWN1bGFyIENvbnRyaWJ1dG9yLgorCisxLjQuICJDb3ZlcmVkIFNvZnR3YXJlIgorICAgIG1lYW5zIFNvdXJjZSBDb2RlIEZvcm0gdG8gd2hpY2ggdGhlIGluaXRpYWwgQ29udHJpYnV0b3IgaGFzIGF0dGFjaGVkCisgICAgdGhlIG5vdGljZSBpbiBFeGhpYml0IEEsIHRoZSBFeGVjdXRhYmxlIEZvcm0gb2Ygc3VjaCBTb3VyY2UgQ29kZQorICAgIEZvcm0sIGFuZCBNb2RpZmljYXRpb25zIG9mIHN1Y2ggU291cmNlIENvZGUgRm9ybSwgaW4gZWFjaCBjYXNlCisgICAgaW5jbHVkaW5nIHBvcnRpb25zIHRoZXJlb2YuCisKKzEuNS4gIkluY29tcGF0aWJsZSBXaXRoIFNlY29uZGFyeSBMaWNlbnNlcyIKKyAgICBtZWFucworCisgICAgKGEpIHRoYXQgdGhlIGluaXRpYWwgQ29udHJpYnV0b3IgaGFzIGF0dGFjaGVkIHRoZSBub3RpY2UgZGVzY3JpYmVkCisgICAgICAgIGluIEV4aGliaXQgQiB0byB0aGUgQ292ZXJlZCBTb2Z0d2FyZTsgb3IKKworICAgIChiKSB0aGF0IHRoZSBDb3ZlcmVkIFNvZnR3YXJlIHdhcyBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YKKyAgICAgICAgdmVyc2lvbiAxLjEgb3IgZWFybGllciBvZiB0aGUgTGljZW5zZSwgYnV0IG5vdCBhbHNvIHVuZGVyIHRoZQorICAgICAgICB0ZXJtcyBvZiBhIFNlY29uZGFyeSBMaWNlbnNlLgorCisxLjYuICJFeGVjdXRhYmxlIEZvcm0iCisgICAgbWVhbnMgYW55IGZvcm0gb2YgdGhlIHdvcmsgb3RoZXIgdGhhbiBTb3VyY2UgQ29kZSBGb3JtLgorCisxLjcuICJMYXJnZXIgV29yayIKKyAgICBtZWFucyBhIHdvcmsgdGhhdCBjb21iaW5lcyBDb3ZlcmVkIFNvZnR3YXJlIHdpdGggb3RoZXIgbWF0ZXJpYWwsIGluIAorICAgIGEgc2VwYXJhdGUgZmlsZSBvciBmaWxlcywgdGhhdCBpcyBub3QgQ292ZXJlZCBTb2Z0d2FyZS4KKworMS44LiAiTGljZW5zZSIKKyAgICBtZWFucyB0aGlzIGRvY3VtZW50LgorCisxLjkuICJMaWNlbnNhYmxlIgorICAgIG1lYW5zIGhhdmluZyB0aGUgcmlnaHQgdG8gZ3JhbnQsIHRvIHRoZSBtYXhpbXVtIGV4dGVudCBwb3NzaWJsZSwKKyAgICB3aGV0aGVyIGF0IHRoZSB0aW1lIG9mIHRoZSBpbml0aWFsIGdyYW50IG9yIHN1YnNlcXVlbnRseSwgYW55IGFuZAorICAgIGFsbCBvZiB0aGUgcmlnaHRzIGNvbnZleWVkIGJ5IHRoaXMgTGljZW5zZS4KKworMS4xMC4gIk1vZGlmaWNhdGlvbnMiCisgICAgbWVhbnMgYW55IG9mIHRoZSBmb2xsb3dpbmc6CisKKyAgICAoYSkgYW55IGZpbGUgaW4gU291cmNlIENvZGUgRm9ybSB0aGF0IHJlc3VsdHMgZnJvbSBhbiBhZGRpdGlvbiB0bywKKyAgICAgICAgZGVsZXRpb24gZnJvbSwgb3IgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250ZW50cyBvZiBDb3ZlcmVkCisgICAgICAgIFNvZnR3YXJlOyBvcgorCisgICAgKGIpIGFueSBuZXcgZmlsZSBpbiBTb3VyY2UgQ29kZSBGb3JtIHRoYXQgY29udGFpbnMgYW55IENvdmVyZWQKKyAgICAgICAgU29mdHdhcmUuCisKKzEuMTEuICJQYXRlbnQgQ2xhaW1zIiBvZiBhIENvbnRyaWJ1dG9yCisgICAgbWVhbnMgYW55IHBhdGVudCBjbGFpbShzKSwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiwgbWV0aG9kLAorICAgIHByb2Nlc3MsIGFuZCBhcHBhcmF0dXMgY2xhaW1zLCBpbiBhbnkgcGF0ZW50IExpY2Vuc2FibGUgYnkgc3VjaAorICAgIENvbnRyaWJ1dG9yIHRoYXQgd291bGQgYmUgaW5mcmluZ2VkLCBidXQgZm9yIHRoZSBncmFudCBvZiB0aGUKKyAgICBMaWNlbnNlLCBieSB0aGUgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yIHNhbGUsIGhhdmluZworICAgIG1hZGUsIGltcG9ydCwgb3IgdHJhbnNmZXIgb2YgZWl0aGVyIGl0cyBDb250cmlidXRpb25zIG9yIGl0cworICAgIENvbnRyaWJ1dG9yIFZlcnNpb24uCisKKzEuMTIuICJTZWNvbmRhcnkgTGljZW5zZSIKKyAgICBtZWFucyBlaXRoZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBWZXJzaW9uIDIuMCwgdGhlIEdOVQorICAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBWZXJzaW9uIDIuMSwgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbAorICAgIFB1YmxpYyBMaWNlbnNlLCBWZXJzaW9uIDMuMCwgb3IgYW55IGxhdGVyIHZlcnNpb25zIG9mIHRob3NlCisgICAgbGljZW5zZXMuCisKKzEuMTMuICJTb3VyY2UgQ29kZSBGb3JtIgorICAgIG1lYW5zIHRoZSBmb3JtIG9mIHRoZSB3b3JrIHByZWZlcnJlZCBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMuCisKKzEuMTQuICJZb3UiIChvciAiWW91ciIpCisgICAgbWVhbnMgYW4gaW5kaXZpZHVhbCBvciBhIGxlZ2FsIGVudGl0eSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzCisgICAgTGljZW5zZS4gRm9yIGxlZ2FsIGVudGl0aWVzLCAiWW91IiBpbmNsdWRlcyBhbnkgZW50aXR5IHRoYXQKKyAgICBjb250cm9scywgaXMgY29udHJvbGxlZCBieSwgb3IgaXMgdW5kZXIgY29tbW9uIGNvbnRyb2wgd2l0aCBZb3UuIEZvcgorICAgIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIG1lYW5zIChhKSB0aGUgcG93ZXIsIGRpcmVjdAorICAgIG9yIGluZGlyZWN0LCB0byBjYXVzZSB0aGUgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksCisgICAgd2hldGhlciBieSBjb250cmFjdCBvciBvdGhlcndpc2UsIG9yIChiKSBvd25lcnNoaXAgb2YgbW9yZSB0aGFuCisgICAgZmlmdHkgcGVyY2VudCAoNTAlKSBvZiB0aGUgb3V0c3RhbmRpbmcgc2hhcmVzIG9yIGJlbmVmaWNpYWwKKyAgICBvd25lcnNoaXAgb2Ygc3VjaCBlbnRpdHkuCisKKzIuIExpY2Vuc2UgR3JhbnRzIGFuZCBDb25kaXRpb25zCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisyLjEuIEdyYW50cworCitFYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgWW91IGEgd29ybGQtd2lkZSwgcm95YWx0eS1mcmVlLAorbm9uLWV4Y2x1c2l2ZSBsaWNlbnNlOgorCisoYSkgdW5kZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyAob3RoZXIgdGhhbiBwYXRlbnQgb3IgdHJhZGVtYXJrKQorICAgIExpY2Vuc2FibGUgYnkgc3VjaCBDb250cmlidXRvciB0byB1c2UsIHJlcHJvZHVjZSwgbWFrZSBhdmFpbGFibGUsCisgICAgbW9kaWZ5LCBkaXNwbGF5LCBwZXJmb3JtLCBkaXN0cmlidXRlLCBhbmQgb3RoZXJ3aXNlIGV4cGxvaXQgaXRzCisgICAgQ29udHJpYnV0aW9ucywgZWl0aGVyIG9uIGFuIHVubW9kaWZpZWQgYmFzaXMsIHdpdGggTW9kaWZpY2F0aW9ucywgb3IKKyAgICBhcyBwYXJ0IG9mIGEgTGFyZ2VyIFdvcms7IGFuZAorCisoYikgdW5kZXIgUGF0ZW50IENsYWltcyBvZiBzdWNoIENvbnRyaWJ1dG9yIHRvIG1ha2UsIHVzZSwgc2VsbCwgb2ZmZXIKKyAgICBmb3Igc2FsZSwgaGF2ZSBtYWRlLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgZWl0aGVyIGl0cworICAgIENvbnRyaWJ1dGlvbnMgb3IgaXRzIENvbnRyaWJ1dG9yIFZlcnNpb24uCisKKzIuMi4gRWZmZWN0aXZlIERhdGUKKworVGhlIGxpY2Vuc2VzIGdyYW50ZWQgaW4gU2VjdGlvbiAyLjEgd2l0aCByZXNwZWN0IHRvIGFueSBDb250cmlidXRpb24KK2JlY29tZSBlZmZlY3RpdmUgZm9yIGVhY2ggQ29udHJpYnV0aW9uIG9uIHRoZSBkYXRlIHRoZSBDb250cmlidXRvciBmaXJzdAorZGlzdHJpYnV0ZXMgc3VjaCBDb250cmlidXRpb24uCisKKzIuMy4gTGltaXRhdGlvbnMgb24gR3JhbnQgU2NvcGUKKworVGhlIGxpY2Vuc2VzIGdyYW50ZWQgaW4gdGhpcyBTZWN0aW9uIDIgYXJlIHRoZSBvbmx5IHJpZ2h0cyBncmFudGVkIHVuZGVyCit0aGlzIExpY2Vuc2UuIE5vIGFkZGl0aW9uYWwgcmlnaHRzIG9yIGxpY2Vuc2VzIHdpbGwgYmUgaW1wbGllZCBmcm9tIHRoZQorZGlzdHJpYnV0aW9uIG9yIGxpY2Vuc2luZyBvZiBDb3ZlcmVkIFNvZnR3YXJlIHVuZGVyIHRoaXMgTGljZW5zZS4KK05vdHdpdGhzdGFuZGluZyBTZWN0aW9uIDIuMShiKSBhYm92ZSwgbm8gcGF0ZW50IGxpY2Vuc2UgaXMgZ3JhbnRlZCBieSBhCitDb250cmlidXRvcjoKKworKGEpIGZvciBhbnkgY29kZSB0aGF0IGEgQ29udHJpYnV0b3IgaGFzIHJlbW92ZWQgZnJvbSBDb3ZlcmVkIFNvZnR3YXJlOworICAgIG9yCisKKyhiKSBmb3IgaW5mcmluZ2VtZW50cyBjYXVzZWQgYnk6IChpKSBZb3VyIGFuZCBhbnkgb3RoZXIgdGhpcmQgcGFydHkncworICAgIG1vZGlmaWNhdGlvbnMgb2YgQ292ZXJlZCBTb2Z0d2FyZSwgb3IgKGlpKSB0aGUgY29tYmluYXRpb24gb2YgaXRzCisgICAgQ29udHJpYnV0aW9ucyB3aXRoIG90aGVyIHNvZnR3YXJlIChleGNlcHQgYXMgcGFydCBvZiBpdHMgQ29udHJpYnV0b3IKKyAgICBWZXJzaW9uKTsgb3IKKworKGMpIHVuZGVyIFBhdGVudCBDbGFpbXMgaW5mcmluZ2VkIGJ5IENvdmVyZWQgU29mdHdhcmUgaW4gdGhlIGFic2VuY2Ugb2YKKyAgICBpdHMgQ29udHJpYnV0aW9ucy4KKworVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IGFueSByaWdodHMgaW4gdGhlIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsCitvciBsb2dvcyBvZiBhbnkgQ29udHJpYnV0b3IgKGV4Y2VwdCBhcyBtYXkgYmUgbmVjZXNzYXJ5IHRvIGNvbXBseSB3aXRoCit0aGUgbm90aWNlIHJlcXVpcmVtZW50cyBpbiBTZWN0aW9uIDMuNCkuCisKKzIuNC4gU3Vic2VxdWVudCBMaWNlbnNlcworCitObyBDb250cmlidXRvciBtYWtlcyBhZGRpdGlvbmFsIGdyYW50cyBhcyBhIHJlc3VsdCBvZiBZb3VyIGNob2ljZSB0bworZGlzdHJpYnV0ZSB0aGUgQ292ZXJlZCBTb2Z0d2FyZSB1bmRlciBhIHN1YnNlcXVlbnQgdmVyc2lvbiBvZiB0aGlzCitMaWNlbnNlIChzZWUgU2VjdGlvbiAxMC4yKSBvciB1bmRlciB0aGUgdGVybXMgb2YgYSBTZWNvbmRhcnkgTGljZW5zZSAoaWYKK3Blcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAzLjMpLgorCisyLjUuIFJlcHJlc2VudGF0aW9uCisKK0VhY2ggQ29udHJpYnV0b3IgcmVwcmVzZW50cyB0aGF0IHRoZSBDb250cmlidXRvciBiZWxpZXZlcyBpdHMKK0NvbnRyaWJ1dGlvbnMgYXJlIGl0cyBvcmlnaW5hbCBjcmVhdGlvbihzKSBvciBpdCBoYXMgc3VmZmljaWVudCByaWdodHMKK3RvIGdyYW50IHRoZSByaWdodHMgdG8gaXRzIENvbnRyaWJ1dGlvbnMgY29udmV5ZWQgYnkgdGhpcyBMaWNlbnNlLgorCisyLjYuIEZhaXIgVXNlCisKK1RoaXMgTGljZW5zZSBpcyBub3QgaW50ZW5kZWQgdG8gbGltaXQgYW55IHJpZ2h0cyBZb3UgaGF2ZSB1bmRlcgorYXBwbGljYWJsZSBjb3B5cmlnaHQgZG9jdHJpbmVzIG9mIGZhaXIgdXNlLCBmYWlyIGRlYWxpbmcsIG9yIG90aGVyCitlcXVpdmFsZW50cy4KKworMi43LiBDb25kaXRpb25zCisKK1NlY3Rpb25zIDMuMSwgMy4yLCAzLjMsIGFuZCAzLjQgYXJlIGNvbmRpdGlvbnMgb2YgdGhlIGxpY2Vuc2VzIGdyYW50ZWQKK2luIFNlY3Rpb24gMi4xLgorCiszLiBSZXNwb25zaWJpbGl0aWVzCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKzMuMS4gRGlzdHJpYnV0aW9uIG9mIFNvdXJjZSBGb3JtCisKK0FsbCBkaXN0cmlidXRpb24gb2YgQ292ZXJlZCBTb2Z0d2FyZSBpbiBTb3VyY2UgQ29kZSBGb3JtLCBpbmNsdWRpbmcgYW55CitNb2RpZmljYXRpb25zIHRoYXQgWW91IGNyZWF0ZSBvciB0byB3aGljaCBZb3UgY29udHJpYnV0ZSwgbXVzdCBiZSB1bmRlcgordGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4gWW91IG11c3QgaW5mb3JtIHJlY2lwaWVudHMgdGhhdCB0aGUgU291cmNlCitDb2RlIEZvcm0gb2YgdGhlIENvdmVyZWQgU29mdHdhcmUgaXMgZ292ZXJuZWQgYnkgdGhlIHRlcm1zIG9mIHRoaXMKK0xpY2Vuc2UsIGFuZCBob3cgdGhleSBjYW4gb2J0YWluIGEgY29weSBvZiB0aGlzIExpY2Vuc2UuIFlvdSBtYXkgbm90CithdHRlbXB0IHRvIGFsdGVyIG9yIHJlc3RyaWN0IHRoZSByZWNpcGllbnRzJyByaWdodHMgaW4gdGhlIFNvdXJjZSBDb2RlCitGb3JtLgorCiszLjIuIERpc3RyaWJ1dGlvbiBvZiBFeGVjdXRhYmxlIEZvcm0KKworSWYgWW91IGRpc3RyaWJ1dGUgQ292ZXJlZCBTb2Z0d2FyZSBpbiBFeGVjdXRhYmxlIEZvcm0gdGhlbjoKKworKGEpIHN1Y2ggQ292ZXJlZCBTb2Z0d2FyZSBtdXN0IGFsc28gYmUgbWFkZSBhdmFpbGFibGUgaW4gU291cmNlIENvZGUKKyAgICBGb3JtLCBhcyBkZXNjcmliZWQgaW4gU2VjdGlvbiAzLjEsIGFuZCBZb3UgbXVzdCBpbmZvcm0gcmVjaXBpZW50cyBvZgorICAgIHRoZSBFeGVjdXRhYmxlIEZvcm0gaG93IHRoZXkgY2FuIG9idGFpbiBhIGNvcHkgb2Ygc3VjaCBTb3VyY2UgQ29kZQorICAgIEZvcm0gYnkgcmVhc29uYWJsZSBtZWFucyBpbiBhIHRpbWVseSBtYW5uZXIsIGF0IGEgY2hhcmdlIG5vIG1vcmUKKyAgICB0aGFuIHRoZSBjb3N0IG9mIGRpc3RyaWJ1dGlvbiB0byB0aGUgcmVjaXBpZW50OyBhbmQKKworKGIpIFlvdSBtYXkgZGlzdHJpYnV0ZSBzdWNoIEV4ZWN1dGFibGUgRm9ybSB1bmRlciB0aGUgdGVybXMgb2YgdGhpcworICAgIExpY2Vuc2UsIG9yIHN1YmxpY2Vuc2UgaXQgdW5kZXIgZGlmZmVyZW50IHRlcm1zLCBwcm92aWRlZCB0aGF0IHRoZQorICAgIGxpY2Vuc2UgZm9yIHRoZSBFeGVjdXRhYmxlIEZvcm0gZG9lcyBub3QgYXR0ZW1wdCB0byBsaW1pdCBvciBhbHRlcgorICAgIHRoZSByZWNpcGllbnRzJyByaWdodHMgaW4gdGhlIFNvdXJjZSBDb2RlIEZvcm0gdW5kZXIgdGhpcyBMaWNlbnNlLgorCiszLjMuIERpc3RyaWJ1dGlvbiBvZiBhIExhcmdlciBXb3JrCisKK1lvdSBtYXkgY3JlYXRlIGFuZCBkaXN0cmlidXRlIGEgTGFyZ2VyIFdvcmsgdW5kZXIgdGVybXMgb2YgWW91ciBjaG9pY2UsCitwcm92aWRlZCB0aGF0IFlvdSBhbHNvIGNvbXBseSB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlIGZvcgordGhlIENvdmVyZWQgU29mdHdhcmUuIElmIHRoZSBMYXJnZXIgV29yayBpcyBhIGNvbWJpbmF0aW9uIG9mIENvdmVyZWQKK1NvZnR3YXJlIHdpdGggYSB3b3JrIGdvdmVybmVkIGJ5IG9uZSBvciBtb3JlIFNlY29uZGFyeSBMaWNlbnNlcywgYW5kIHRoZQorQ292ZXJlZCBTb2Z0d2FyZSBpcyBub3QgSW5jb21wYXRpYmxlIFdpdGggU2Vjb25kYXJ5IExpY2Vuc2VzLCB0aGlzCitMaWNlbnNlIHBlcm1pdHMgWW91IHRvIGFkZGl0aW9uYWxseSBkaXN0cmlidXRlIHN1Y2ggQ292ZXJlZCBTb2Z0d2FyZQordW5kZXIgdGhlIHRlcm1zIG9mIHN1Y2ggU2Vjb25kYXJ5IExpY2Vuc2UocyksIHNvIHRoYXQgdGhlIHJlY2lwaWVudCBvZgordGhlIExhcmdlciBXb3JrIG1heSwgYXQgdGhlaXIgb3B0aW9uLCBmdXJ0aGVyIGRpc3RyaWJ1dGUgdGhlIENvdmVyZWQKK1NvZnR3YXJlIHVuZGVyIHRoZSB0ZXJtcyBvZiBlaXRoZXIgdGhpcyBMaWNlbnNlIG9yIHN1Y2ggU2Vjb25kYXJ5CitMaWNlbnNlKHMpLgorCiszLjQuIE5vdGljZXMKKworWW91IG1heSBub3QgcmVtb3ZlIG9yIGFsdGVyIHRoZSBzdWJzdGFuY2Ugb2YgYW55IGxpY2Vuc2Ugbm90aWNlcworKGluY2x1ZGluZyBjb3B5cmlnaHQgbm90aWNlcywgcGF0ZW50IG5vdGljZXMsIGRpc2NsYWltZXJzIG9mIHdhcnJhbnR5LAorb3IgbGltaXRhdGlvbnMgb2YgbGlhYmlsaXR5KSBjb250YWluZWQgd2l0aGluIHRoZSBTb3VyY2UgQ29kZSBGb3JtIG9mCit0aGUgQ292ZXJlZCBTb2Z0d2FyZSwgZXhjZXB0IHRoYXQgWW91IG1heSBhbHRlciBhbnkgbGljZW5zZSBub3RpY2VzIHRvCit0aGUgZXh0ZW50IHJlcXVpcmVkIHRvIHJlbWVkeSBrbm93biBmYWN0dWFsIGluYWNjdXJhY2llcy4KKworMy41LiBBcHBsaWNhdGlvbiBvZiBBZGRpdGlvbmFsIFRlcm1zCisKK1lvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLCBhbmQgdG8gY2hhcmdlIGEgZmVlIGZvciwgd2FycmFudHksIHN1cHBvcnQsCitpbmRlbW5pdHkgb3IgbGlhYmlsaXR5IG9ibGlnYXRpb25zIHRvIG9uZSBvciBtb3JlIHJlY2lwaWVudHMgb2YgQ292ZXJlZAorU29mdHdhcmUuIEhvd2V2ZXIsIFlvdSBtYXkgZG8gc28gb25seSBvbiBZb3VyIG93biBiZWhhbGYsIGFuZCBub3Qgb24KK2JlaGFsZiBvZiBhbnkgQ29udHJpYnV0b3IuIFlvdSBtdXN0IG1ha2UgaXQgYWJzb2x1dGVseSBjbGVhciB0aGF0IGFueQorc3VjaCB3YXJyYW50eSwgc3VwcG9ydCwgaW5kZW1uaXR5LCBvciBsaWFiaWxpdHkgb2JsaWdhdGlvbiBpcyBvZmZlcmVkIGJ5CitZb3UgYWxvbmUsIGFuZCBZb3UgaGVyZWJ5IGFncmVlIHRvIGluZGVtbmlmeSBldmVyeSBDb250cmlidXRvciBmb3IgYW55CitsaWFiaWxpdHkgaW5jdXJyZWQgYnkgc3VjaCBDb250cmlidXRvciBhcyBhIHJlc3VsdCBvZiB3YXJyYW50eSwgc3VwcG9ydCwKK2luZGVtbml0eSBvciBsaWFiaWxpdHkgdGVybXMgWW91IG9mZmVyLiBZb3UgbWF5IGluY2x1ZGUgYWRkaXRpb25hbAorZGlzY2xhaW1lcnMgb2Ygd2FycmFudHkgYW5kIGxpbWl0YXRpb25zIG9mIGxpYWJpbGl0eSBzcGVjaWZpYyB0byBhbnkKK2p1cmlzZGljdGlvbi4KKworNC4gSW5hYmlsaXR5IHRvIENvbXBseSBEdWUgdG8gU3RhdHV0ZSBvciBSZWd1bGF0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSWYgaXQgaXMgaW1wb3NzaWJsZSBmb3IgWW91IHRvIGNvbXBseSB3aXRoIGFueSBvZiB0aGUgdGVybXMgb2YgdGhpcworTGljZW5zZSB3aXRoIHJlc3BlY3QgdG8gc29tZSBvciBhbGwgb2YgdGhlIENvdmVyZWQgU29mdHdhcmUgZHVlIHRvCitzdGF0dXRlLCBqdWRpY2lhbCBvcmRlciwgb3IgcmVndWxhdGlvbiB0aGVuIFlvdSBtdXN0OiAoYSkgY29tcGx5IHdpdGgKK3RoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgdG8gdGhlIG1heGltdW0gZXh0ZW50IHBvc3NpYmxlOyBhbmQgKGIpCitkZXNjcmliZSB0aGUgbGltaXRhdGlvbnMgYW5kIHRoZSBjb2RlIHRoZXkgYWZmZWN0LiBTdWNoIGRlc2NyaXB0aW9uIG11c3QKK2JlIHBsYWNlZCBpbiBhIHRleHQgZmlsZSBpbmNsdWRlZCB3aXRoIGFsbCBkaXN0cmlidXRpb25zIG9mIHRoZSBDb3ZlcmVkCitTb2Z0d2FyZSB1bmRlciB0aGlzIExpY2Vuc2UuIEV4Y2VwdCB0byB0aGUgZXh0ZW50IHByb2hpYml0ZWQgYnkgc3RhdHV0ZQorb3IgcmVndWxhdGlvbiwgc3VjaCBkZXNjcmlwdGlvbiBtdXN0IGJlIHN1ZmZpY2llbnRseSBkZXRhaWxlZCBmb3IgYQorcmVjaXBpZW50IG9mIG9yZGluYXJ5IHNraWxsIHRvIGJlIGFibGUgdG8gdW5kZXJzdGFuZCBpdC4KKworNS4gVGVybWluYXRpb24KKy0tLS0tLS0tLS0tLS0tCisKKzUuMS4gVGhlIHJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSB3aWxsIHRlcm1pbmF0ZSBhdXRvbWF0aWNhbGx5CitpZiBZb3UgZmFpbCB0byBjb21wbHkgd2l0aCBhbnkgb2YgaXRzIHRlcm1zLiBIb3dldmVyLCBpZiBZb3UgYmVjb21lCitjb21wbGlhbnQsIHRoZW4gdGhlIHJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSBmcm9tIGEgcGFydGljdWxhcgorQ29udHJpYnV0b3IgYXJlIHJlaW5zdGF0ZWQgKGEpIHByb3Zpc2lvbmFsbHksIHVubGVzcyBhbmQgdW50aWwgc3VjaAorQ29udHJpYnV0b3IgZXhwbGljaXRseSBhbmQgZmluYWxseSB0ZXJtaW5hdGVzIFlvdXIgZ3JhbnRzLCBhbmQgKGIpIG9uIGFuCitvbmdvaW5nIGJhc2lzLCBpZiBzdWNoIENvbnRyaWJ1dG9yIGZhaWxzIHRvIG5vdGlmeSBZb3Ugb2YgdGhlCitub24tY29tcGxpYW5jZSBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMgcHJpb3IgdG8gNjAgZGF5cyBhZnRlciBZb3UgaGF2ZQorY29tZSBiYWNrIGludG8gY29tcGxpYW5jZS4gTW9yZW92ZXIsIFlvdXIgZ3JhbnRzIGZyb20gYSBwYXJ0aWN1bGFyCitDb250cmlidXRvciBhcmUgcmVpbnN0YXRlZCBvbiBhbiBvbmdvaW5nIGJhc2lzIGlmIHN1Y2ggQ29udHJpYnV0b3IKK25vdGlmaWVzIFlvdSBvZiB0aGUgbm9uLWNvbXBsaWFuY2UgYnkgc29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZQorZmlyc3QgdGltZSBZb3UgaGF2ZSByZWNlaXZlZCBub3RpY2Ugb2Ygbm9uLWNvbXBsaWFuY2Ugd2l0aCB0aGlzIExpY2Vuc2UKK2Zyb20gc3VjaCBDb250cmlidXRvciwgYW5kIFlvdSBiZWNvbWUgY29tcGxpYW50IHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKK1lvdXIgcmVjZWlwdCBvZiB0aGUgbm90aWNlLgorCis1LjIuIElmIFlvdSBpbml0aWF0ZSBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSBieSBhc3NlcnRpbmcgYSBwYXRlbnQKK2luZnJpbmdlbWVudCBjbGFpbSAoZXhjbHVkaW5nIGRlY2xhcmF0b3J5IGp1ZGdtZW50IGFjdGlvbnMsCitjb3VudGVyLWNsYWltcywgYW5kIGNyb3NzLWNsYWltcykgYWxsZWdpbmcgdGhhdCBhIENvbnRyaWJ1dG9yIFZlcnNpb24KK2RpcmVjdGx5IG9yIGluZGlyZWN0bHkgaW5mcmluZ2VzIGFueSBwYXRlbnQsIHRoZW4gdGhlIHJpZ2h0cyBncmFudGVkIHRvCitZb3UgYnkgYW55IGFuZCBhbGwgQ29udHJpYnV0b3JzIGZvciB0aGUgQ292ZXJlZCBTb2Z0d2FyZSB1bmRlciBTZWN0aW9uCisyLjEgb2YgdGhpcyBMaWNlbnNlIHNoYWxsIHRlcm1pbmF0ZS4KKworNS4zLiBJbiB0aGUgZXZlbnQgb2YgdGVybWluYXRpb24gdW5kZXIgU2VjdGlvbnMgNS4xIG9yIDUuMiBhYm92ZSwgYWxsCitlbmQgdXNlciBsaWNlbnNlIGFncmVlbWVudHMgKGV4Y2x1ZGluZyBkaXN0cmlidXRvcnMgYW5kIHJlc2VsbGVycykgd2hpY2gKK2hhdmUgYmVlbiB2YWxpZGx5IGdyYW50ZWQgYnkgWW91IG9yIFlvdXIgZGlzdHJpYnV0b3JzIHVuZGVyIHRoaXMgTGljZW5zZQorcHJpb3IgdG8gdGVybWluYXRpb24gc2hhbGwgc3Vydml2ZSB0ZXJtaW5hdGlvbi4KKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyogIDYuIERpc2NsYWltZXIgb2YgV2FycmFudHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyogIENvdmVyZWQgU29mdHdhcmUgaXMgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlIG9uIGFuICJhcyBpcyIgICAgICAgKgorKiAgYmFzaXMsIHdpdGhvdXQgd2FycmFudHkgb2YgYW55IGtpbmQsIGVpdGhlciBleHByZXNzZWQsIGltcGxpZWQsIG9yICAqCisqICBzdGF0dXRvcnksIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCB3YXJyYW50aWVzIHRoYXQgdGhlICAgICAgICoKKyogIENvdmVyZWQgU29mdHdhcmUgaXMgZnJlZSBvZiBkZWZlY3RzLCBtZXJjaGFudGFibGUsIGZpdCBmb3IgYSAgICAgICAgKgorKiAgcGFydGljdWxhciBwdXJwb3NlIG9yIG5vbi1pbmZyaW5naW5nLiBUaGUgZW50aXJlIHJpc2sgYXMgdG8gdGhlICAgICAqCisqICBxdWFsaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiB0aGUgQ292ZXJlZCBTb2Z0d2FyZSBpcyB3aXRoIFlvdS4gICAgICAgICoKKyogIFNob3VsZCBhbnkgQ292ZXJlZCBTb2Z0d2FyZSBwcm92ZSBkZWZlY3RpdmUgaW4gYW55IHJlc3BlY3QsIFlvdSAgICAgKgorKiAgKG5vdCBhbnkgQ29udHJpYnV0b3IpIGFzc3VtZSB0aGUgY29zdCBvZiBhbnkgbmVjZXNzYXJ5IHNlcnZpY2luZywgICAqCisqICByZXBhaXIsIG9yIGNvcnJlY3Rpb24uIFRoaXMgZGlzY2xhaW1lciBvZiB3YXJyYW50eSBjb25zdGl0dXRlcyBhbiAgICoKKyogIGVzc2VudGlhbCBwYXJ0IG9mIHRoaXMgTGljZW5zZS4gTm8gdXNlIG9mIGFueSBDb3ZlcmVkIFNvZnR3YXJlIGlzICAgKgorKiAgYXV0aG9yaXplZCB1bmRlciB0aGlzIExpY2Vuc2UgZXhjZXB0IHVuZGVyIHRoaXMgZGlzY2xhaW1lci4gICAgICAgICAqCisqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgNy4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgVW5kZXIgbm8gY2lyY3Vtc3RhbmNlcyBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LCB3aGV0aGVyIHRvcnQgICAgICAqCisqICAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBjb250cmFjdCwgb3Igb3RoZXJ3aXNlLCBzaGFsbCBhbnkgICAgICAgICAgICoKKyogIENvbnRyaWJ1dG9yLCBvciBhbnlvbmUgd2hvIGRpc3RyaWJ1dGVzIENvdmVyZWQgU29mdHdhcmUgYXMgICAgICAgICAgKgorKiAgcGVybWl0dGVkIGFib3ZlLCBiZSBsaWFibGUgdG8gWW91IGZvciBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgICAgICAgICAqCisqICBzcGVjaWFsLCBpbmNpZGVudGFsLCBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgb2YgYW55IGNoYXJhY3RlciAgICAgICoKKyogIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBkYW1hZ2VzIGZvciBsb3N0IHByb2ZpdHMsIGxvc3Mgb2YgICAgKgorKiAgZ29vZHdpbGwsIHdvcmsgc3RvcHBhZ2UsIGNvbXB1dGVyIGZhaWx1cmUgb3IgbWFsZnVuY3Rpb24sIG9yIGFueSAgICAqCisqICBhbmQgYWxsIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMsIGV2ZW4gaWYgc3VjaCBwYXJ0eSAgICAgICoKKyogIHNoYWxsIGhhdmUgYmVlbiBpbmZvcm1lZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLiBUaGlzICAgKgorKiAgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgc2hhbGwgbm90IGFwcGx5IHRvIGxpYWJpbGl0eSBmb3IgZGVhdGggb3IgICAqCisqICBwZXJzb25hbCBpbmp1cnkgcmVzdWx0aW5nIGZyb20gc3VjaCBwYXJ0eSdzIG5lZ2xpZ2VuY2UgdG8gdGhlICAgICAgICoKKyogIGV4dGVudCBhcHBsaWNhYmxlIGxhdyBwcm9oaWJpdHMgc3VjaCBsaW1pdGF0aW9uLiBTb21lICAgICAgICAgICAgICAgKgorKiAganVyaXNkaWN0aW9ucyBkbyBub3QgYWxsb3cgdGhlIGV4Y2x1c2lvbiBvciBsaW1pdGF0aW9uIG9mICAgICAgICAgICAqCisqICBpbmNpZGVudGFsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcywgc28gdGhpcyBleGNsdXNpb24gYW5kICAgICAgICAgICoKKyogIGxpbWl0YXRpb24gbWF5IG5vdCBhcHBseSB0byBZb3UuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworOC4gTGl0aWdhdGlvbgorLS0tLS0tLS0tLS0tLQorCitBbnkgbGl0aWdhdGlvbiByZWxhdGluZyB0byB0aGlzIExpY2Vuc2UgbWF5IGJlIGJyb3VnaHQgb25seSBpbiB0aGUKK2NvdXJ0cyBvZiBhIGp1cmlzZGljdGlvbiB3aGVyZSB0aGUgZGVmZW5kYW50IG1haW50YWlucyBpdHMgcHJpbmNpcGFsCitwbGFjZSBvZiBidXNpbmVzcyBhbmQgc3VjaCBsaXRpZ2F0aW9uIHNoYWxsIGJlIGdvdmVybmVkIGJ5IGxhd3Mgb2YgdGhhdAoranVyaXNkaWN0aW9uLCB3aXRob3V0IHJlZmVyZW5jZSB0byBpdHMgY29uZmxpY3Qtb2YtbGF3IHByb3Zpc2lvbnMuCitOb3RoaW5nIGluIHRoaXMgU2VjdGlvbiBzaGFsbCBwcmV2ZW50IGEgcGFydHkncyBhYmlsaXR5IHRvIGJyaW5nCitjcm9zcy1jbGFpbXMgb3IgY291bnRlci1jbGFpbXMuCisKKzkuIE1pc2NlbGxhbmVvdXMKKy0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyBMaWNlbnNlIHJlcHJlc2VudHMgdGhlIGNvbXBsZXRlIGFncmVlbWVudCBjb25jZXJuaW5nIHRoZSBzdWJqZWN0CittYXR0ZXIgaGVyZW9mLiBJZiBhbnkgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSBpcyBoZWxkIHRvIGJlCit1bmVuZm9yY2VhYmxlLCBzdWNoIHByb3Zpc2lvbiBzaGFsbCBiZSByZWZvcm1lZCBvbmx5IHRvIHRoZSBleHRlbnQKK25lY2Vzc2FyeSB0byBtYWtlIGl0IGVuZm9yY2VhYmxlLiBBbnkgbGF3IG9yIHJlZ3VsYXRpb24gd2hpY2ggcHJvdmlkZXMKK3RoYXQgdGhlIGxhbmd1YWdlIG9mIGEgY29udHJhY3Qgc2hhbGwgYmUgY29uc3RydWVkIGFnYWluc3QgdGhlIGRyYWZ0ZXIKK3NoYWxsIG5vdCBiZSB1c2VkIHRvIGNvbnN0cnVlIHRoaXMgTGljZW5zZSBhZ2FpbnN0IGEgQ29udHJpYnV0b3IuCisKKzEwLiBWZXJzaW9ucyBvZiB0aGUgTGljZW5zZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKzEwLjEuIE5ldyBWZXJzaW9ucworCitNb3ppbGxhIEZvdW5kYXRpb24gaXMgdGhlIGxpY2Vuc2Ugc3Rld2FyZC4gRXhjZXB0IGFzIHByb3ZpZGVkIGluIFNlY3Rpb24KKzEwLjMsIG5vIG9uZSBvdGhlciB0aGFuIHRoZSBsaWNlbnNlIHN0ZXdhcmQgaGFzIHRoZSByaWdodCB0byBtb2RpZnkgb3IKK3B1Ymxpc2ggbmV3IHZlcnNpb25zIG9mIHRoaXMgTGljZW5zZS4gRWFjaCB2ZXJzaW9uIHdpbGwgYmUgZ2l2ZW4gYQorZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuCisKKzEwLjIuIEVmZmVjdCBvZiBOZXcgVmVyc2lvbnMKKworWW91IG1heSBkaXN0cmlidXRlIHRoZSBDb3ZlcmVkIFNvZnR3YXJlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgdmVyc2lvbgorb2YgdGhlIExpY2Vuc2UgdW5kZXIgd2hpY2ggWW91IG9yaWdpbmFsbHkgcmVjZWl2ZWQgdGhlIENvdmVyZWQgU29mdHdhcmUsCitvciB1bmRlciB0aGUgdGVybXMgb2YgYW55IHN1YnNlcXVlbnQgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIGxpY2Vuc2UKK3N0ZXdhcmQuCisKKzEwLjMuIE1vZGlmaWVkIFZlcnNpb25zCisKK0lmIHlvdSBjcmVhdGUgc29mdHdhcmUgbm90IGdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSwgYW5kIHlvdSB3YW50IHRvCitjcmVhdGUgYSBuZXcgbGljZW5zZSBmb3Igc3VjaCBzb2Z0d2FyZSwgeW91IG1heSBjcmVhdGUgYW5kIHVzZSBhCittb2RpZmllZCB2ZXJzaW9uIG9mIHRoaXMgTGljZW5zZSBpZiB5b3UgcmVuYW1lIHRoZSBsaWNlbnNlIGFuZCByZW1vdmUKK2FueSByZWZlcmVuY2VzIHRvIHRoZSBuYW1lIG9mIHRoZSBsaWNlbnNlIHN0ZXdhcmQgKGV4Y2VwdCB0byBub3RlIHRoYXQKK3N1Y2ggbW9kaWZpZWQgbGljZW5zZSBkaWZmZXJzIGZyb20gdGhpcyBMaWNlbnNlKS4KKworMTAuNC4gRGlzdHJpYnV0aW5nIFNvdXJjZSBDb2RlIEZvcm0gdGhhdCBpcyBJbmNvbXBhdGlibGUgV2l0aCBTZWNvbmRhcnkKK0xpY2Vuc2VzCisKK0lmIFlvdSBjaG9vc2UgdG8gZGlzdHJpYnV0ZSBTb3VyY2UgQ29kZSBGb3JtIHRoYXQgaXMgSW5jb21wYXRpYmxlIFdpdGgKK1NlY29uZGFyeSBMaWNlbnNlcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyB2ZXJzaW9uIG9mIHRoZSBMaWNlbnNlLCB0aGUKK25vdGljZSBkZXNjcmliZWQgaW4gRXhoaWJpdCBCIG9mIHRoaXMgTGljZW5zZSBtdXN0IGJlIGF0dGFjaGVkLgorCitFeGhpYml0IEEgLSBTb3VyY2UgQ29kZSBGb3JtIExpY2Vuc2UgTm90aWNlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpYworICBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzCisgIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwczovL21vemlsbGEub3JnL01QTC8yLjAvLgorCitJZiBpdCBpcyBub3QgcG9zc2libGUgb3IgZGVzaXJhYmxlIHRvIHB1dCB0aGUgbm90aWNlIGluIGEgcGFydGljdWxhcgorZmlsZSwgdGhlbiBZb3UgbWF5IGluY2x1ZGUgdGhlIG5vdGljZSBpbiBhIGxvY2F0aW9uIChzdWNoIGFzIGEgTElDRU5TRQorZmlsZSBpbiBhIHJlbGV2YW50IGRpcmVjdG9yeSkgd2hlcmUgYSByZWNpcGllbnQgd291bGQgYmUgbGlrZWx5IHRvIGxvb2sKK2ZvciBzdWNoIGEgbm90aWNlLgorCitZb3UgbWF5IGFkZCBhZGRpdGlvbmFsIGFjY3VyYXRlIG5vdGljZXMgb2YgY29weXJpZ2h0IG93bmVyc2hpcC4KKworRXhoaWJpdCBCIC0gIkluY29tcGF0aWJsZSBXaXRoIFNlY29uZGFyeSBMaWNlbnNlcyIgTm90aWNlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgIkluY29tcGF0aWJsZSBXaXRoIFNlY29uZGFyeSBMaWNlbnNlcyIsIGFzCisgIGRlZmluZWQgYnkgdGhlIE1vemlsbGEgUHVibGljIExpY2Vuc2UsIHYuIDIuMC4KZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVlMWFlOAotLS0gL2Rldi9udWxsCisrKyBiL01ha2VmaWxlCkBAIC0wLDAgKzEsMzUgQEAKK0Rpcgk9ICQoUFdEKQorT3B0aW9ucwk9IC0td2l0aC1wc2wtZmlsZT0kKERpcikvcHVibGljX3N1ZmZpeF9saXN0LmRhdCAtLXdpdGgtcHNsLXRlc3RmaWxlPSQoRGlyKS90ZXN0cy90ZXN0cy50eHQKKworYWxsOiB0ZXN0CisKK3Rlc3Q6IHRlc3Qtc3ludGF4IHRlc3QtcnVsZXMKKwordGVzdC1ydWxlczogbGlicHNsLWxpYmljdQorCit0ZXN0LXN5bnRheDoKKwlACisJICBjZCBsaW50ZXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJICAuL3BzbGludF9zZWxmdGVzdC5zaDsgICAgICAgICAgICAgICAgICAgICBcCisJICAuL3BzbGludC5weSAuLi9wdWJsaWNfc3VmZml4X2xpc3QuZGF0OworCitsaWJwc2wtY29uZmlnOgorCUAKKwkgIHRlc3QgLWQgbGlicHNsIHx8IGdpdCBjbG9uZSAtLWRlcHRoPTEgaHR0cHM6Ly9naXRodWIuY29tL3JvY2tkYWJvb3QvbGlicHNsOyAgIFwKKwkgIGNkIGxpYnBzbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwkgIGdpdCBwdWxsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwkgIGVjaG8gIkVYVFJBX0RJU1QgPSIgPiAgZ3RrLWRvYy5tYWtlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwkgIGVjaG8gIkNMRUFORklMRVMgPSIgPj4gZ3RrLWRvYy5tYWtlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwkgIGF1dG9yZWNvbmYgLS1pbnN0YWxsIC0tZm9yY2UgLS1zeW1saW5rOworCisjIFRlc3QgUFNMIGRhdGEgd2l0aCBsaWJpY3UgKElETkEyMDA4IFVUUyM0NikKK2xpYnBzbC1saWJpY3U6IGxpYnBzbC1jb25maWcKKwljZCBsaWJwc2wgJiYgLi9jb25maWd1cmUgLXEgLUMgLS1lbmFibGUtcnVudGltZT1saWJpY3UgLS1lbmFibGUtYnVpbHRpbj1saWJpY3UgJChPcHRpb25zKSAmJiBtYWtlIC1zIGNsZWFuICYmIG1ha2UgLXMgY2hlY2sgLWo0CisKKyMgVEVTVCBQU0wgZGF0YSB3aXRoIGxpYmlkbjIgKElETkEyMDA4KQorbGlicHNsLWxpYmlkbjI6IGxpYnBzbC1jb25maWcKKwljZCBsaWJwc2wgJiYgLi9jb25maWd1cmUgLXEgLUMgLS1lbmFibGUtcnVudGltZT1saWJpZG4yIC0tZW5hYmxlLWJ1aWx0aW49bGliaWRuMiAkKE9wdGlvbnMpICYmIG1ha2UgLXMgY2xlYW4gJiYgbWFrZSAtcyBjaGVjayAtajQKKworIyBURVNUIFBTTCBkYXRhIHdpdGggbGliaWRuIChJRE5BMjAwMykKK2xpYnBzbC1saWJpZG46IGxpYnBzbC1jb25maWcKKwljZCBsaWJwc2wgJiYgLi9jb25maWd1cmUgLXEgLUMgLS1lbmFibGUtcnVudGltZT1saWJpZG4gLS1lbmFibGUtYnVpbHRpbj1saWJpZG4gJChPcHRpb25zKSAmJiBtYWtlIC1zIGNsZWFuICYmIG1ha2UgLXMgY2hlY2sgLWo0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlN2E2MjYKLS0tIC9kZXYvbnVsbAorKysgYi9SRUFETUUubWQKQEAgLTAsMCArMSwxOCBAQAorVGhlIFB1YmxpYyBTdWZmaXggTGlzdAorPT09PT09PT09PT09PT09PT09PT09PQorCitBICJwdWJsaWMgc3VmZml4IiBpcyBvbmUgdW5kZXIgd2hpY2ggSW50ZXJuZXQgdXNlcnMgY2FuIChvciBoaXN0b3JpY2FsbHkgY291bGQpCitkaXJlY3RseSByZWdpc3RlciBuYW1lcy4gU29tZSBleGFtcGxlcyBvZiBwdWJsaWMgc3VmZml4ZXMgYXJlIC5jb20sIC5jby51ayBhbmQKK3B2dC5rMTIubWEudXMuIFRoZSBQdWJsaWMgU3VmZml4IExpc3QgaXMgYSBsaXN0IG9mIGFsbCBrbm93biBwdWJsaWMgc3VmZml4ZXMuCisKK1NlZSBodHRwczovL3B1YmxpY3N1ZmZpeC5vcmcvIGFuZCB0aGUgW1dpa2ldKGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC93aWtpKSBsaW5rIGFib3ZlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCitbIVtCdWlsZCBTdGF0dXNdKGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9wdWJsaWNzdWZmaXgvbGlzdC5zdmc/YnJhbmNoPW1hc3RlcildKGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9wdWJsaWNzdWZmaXgvbGlzdCkKKworKipBcmUgeW91IGhlcmUgdG8gYWRkIG9yIHVwZGF0ZSBzb21ldGhpbmc/KioKKworQWxsIHN1Ym1pc3Npb25zIG11c3QgY29uZm9ybSB0byB0aGUgW3ZhbGlkYXRpb24gYW5kIGFjY2VwdGFuY2UgZmFjdG9yc10oaHR0cHM6Ly9naXRodWIuY29tL3B1YmxpY3N1ZmZpeC9saXN0L3dpa2kvR3VpZGVsaW5lcyN2YWxpZGF0aW9uLWFuZC1ub24tYWNjZXB0YW5jZS1mYWN0b3JzKSBhbmQgcHJvdmlkZSBzdWZmaWNpZW50IHJhdGlvbmFsZSBvciBiYXNpY2FsbHkgYmUgYXMgY29tcGxldGUgYXMgcG9zc2libGUuCitUaGUgbGlzdCBpcyBtYWludGFpbmVkIGJ5IHBlb3BsZSB2b2x1bnRlZXJpbmcgdGhlaXIgdGltZS4gIEl0ZXJhdGlvbiBiYWNrIGFuZCBmb3J0aCB3aWxsIGRlbGF5IFBSIHJldmlldyBvciBpbmNsdXNpb24uCisKK0ltcG9ydGFudCBOb3RpY2U6CisyMDIxLTA0LTIzIDogRGlkIGd1aWRhbmNlIHJlbGF0ZWQgdG8gYW4gaXNzdWUgd2l0aCBGYWNlYm9vayBvciBBcHBsZSBicmluZyB5b3UgaGVyZT8gIFtSZWFkIHRoaXMgYmVmb3JlIHN1Ym1pdHRpbmcgcmVxdWVzdHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdWJsaWNzdWZmaXgvbGlzdC9pc3N1ZXMvMTI0NSkgIFdlIGFyZSBub3QgYXBwcm92aW5nIHdvcmthcm91bmQgcmVxdWVzdHMgcGVyIHRoZSB2YWxpZGF0aW9uIGFuZCBhY2NlcHRhbmNlIHN0YW5kYXJkcywgYnV0IGRvIGhhdmUgb3BlbiBkaXNjdXNzaW9uIHdpdGggRmFjZWJvb2sgb24gdGhlIG1hdHRlci4gIApkaWZmIC0tZ2l0IGEvbGludGVyL1JFQURNRS5tZCBiL2xpbnRlci9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAwMTA3MQotLS0gL2Rldi9udWxsCisrKyBiL2xpbnRlci9SRUFETUUubWQKQEAgLTAsMCArMSwzNSBAQAorVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgYSBsaW50ZXIgZm9yIHRoZSBQdWJsaWMgU3VmZml4IExpc3QuCisKK0JlZm9yZSB5b3UgY29tbWl0IGFueSBjaGFuZ2VzIHRvIHRoZSBQU0wsIHBsZWFzZSB1c2UgdGhlCitsaW50ZXIgdG8gY2hlY2sgdGhlIHN5bnRheC4KKworVXNhZ2UKKz09PT09CisKKyhmcm9tIHRoZSByZXBvJ3MgbWFpbiBkaXJlY3RvcnkpCisKKyQgbGludGVyL3BzbGludC5weSBwdWJsaWNfc3VmZml4X2xpc3QuZGF0CisKKyQ/IGlzIHNldCB0byAwIG9uIHN1Y2Nlc3MsIGVsc2UgaXQgaXMgc2V0IHRvIDEuCisKKworU2VsZnRlc3QKKz09PT09PT09CisKK0V2ZXJ5IGNoYW5nZSBvbiBwc2xpbnQucHkgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IGEgc2VsZi10ZXN0LgorCitgYGAKKyQgY2QgbGludGVyCiskIC4vcHNsaW50X3NlbGZ0ZXN0LnNoCit0ZXN0X2FsbG93ZWRjaGFyczogT0sKK3Rlc3RfZG90czogT0sKK3Rlc3RfZHVwbGljYXRlOiBPSwordGVzdF9leGNlcHRpb246IE9LCit0ZXN0X3B1bnljb2RlOiBPSwordGVzdF9zZWN0aW9uMTogT0sKK3Rlc3Rfc2VjdGlvbjI6IE9LCit0ZXN0X3NlY3Rpb24zOiBPSwordGVzdF9zZWN0aW9uNDogT0sKK3Rlc3Rfc3BhY2VzOiBPSwordGVzdF93aWxkY2FyZDogT0sKK2BgYApkaWZmIC0tZ2l0IGEvbGludGVyL3BzbGludC5weSBiL2xpbnRlci9wc2xpbnQucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzAzOGJkZQotLS0gL2Rldi9udWxsCisrKyBiL2xpbnRlci9wc2xpbnQucHkKQEAgLTAsMCArMSwyNzYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKyMgLSotIGNvZGluZzogdXRmLTggLSotIworIworIyBQU0wgbGludGVyIHdyaXR0ZW4gaW4gcHl0aG9uCisjCisjIENvcHlyaWdodCAyMDE2IFRpbSBSw7xoc2VuICh0aW0gZG90IHJ1ZWhzZW4gYXQgZ214IGRvdCBkZSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisjIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisjIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyMgdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisjIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorIyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorIworIyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorIyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyMKKyMgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyMgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisjIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorIyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisjIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisjIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyMgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorCitpbXBvcnQgc3lzCitpbXBvcnQgY29kZWNzCitpbXBvcnQgdW5pY29kZWRhdGEKKworbmxpbmUgPSAwCitsaW5lID0gIiIKK29yaWdfbGluZSA9ICIiCit3YXJuaW5ncyA9IDAKK2Vycm9ycyA9IDAKK3NraXBfb3JkZXJfY2hlY2sgPSBGYWxzZQorCitkZWYgd2FybmluZyhtc2cpOgorCWdsb2JhbCB3YXJuaW5ncywgb3JpZ19saW5lLCBubGluZQorCXByaW50KCclZDogd2FybmluZzogJXMlcycgJSAobmxpbmUsIG1zZywgIjogXCciICsgb3JpZ19saW5lICsgIlwnIiBpZiBvcmlnX2xpbmUgZWxzZSAiIikpCisJd2FybmluZ3MgKz0gMQorCitkZWYgZXJyb3IobXNnKToKKwlnbG9iYWwgZXJyb3JzLCBvcmlnX2xpbmUsIG5saW5lCisJcHJpbnQoJyVkOiBlcnJvcjogJXMlcycgJSAobmxpbmUsIG1zZywgIjogXCciICsgb3JpZ19saW5lICsgIlwnIiBpZiBvcmlnX2xpbmUgZWxzZSAiIikpCisJZXJyb3JzICs9IDEKKyMJc2tpcF9vcmRlcl9jaGVjayA9IFRydWUKKworZGVmIHByaW50X3BzbChsaXN0KToKKwlmb3IgZG9tYWluIGluIGxpc3Q6CisJCXByaW50KCIuIi5qb2luKHN0cihsYWJlbCkgZm9yIGxhYmVsIGluIHJldmVyc2VkKGRvbWFpbikpKQorCitkZWYgcHNsX2tleShzKToKKwlpZiBzWzBdID09ICcqJzoKKwkJcmV0dXJuIDAKKwlpZiBzWzBdID09ICchJzoKKwkJcmV0dXJuIDEKKwlyZXR1cm4gMgorCitkZWYgY2hlY2tfb3JkZXIoZ3JvdXApOgorCSIiIkNoZWNrIHRoZSBjb3JyZWN0IG9yZGVyIG9mIGEgZG9tYWluIGdyb3VwIiIiCisJZ2xvYmFsIHNraXBfb3JkZXJfY2hlY2sKKworCXRyeToKKwkJaWYgc2tpcF9vcmRlcl9jaGVjayBvciBsZW4oZ3JvdXApIDwgMjoKKwkJCXNraXBfb3JkZXJfY2hlY2sgPSBGYWxzZQorCQkJcmV0dXJuCisKKwkJIyBjaGVjayBpZiB0aGUgVExEIGlzIHRoZSBpZGVudGljYWwgd2l0aGluIHRoZSBncm91cAorCQlpZiBhbnkoZ3JvdXBbMF1bMF0gIT0gbGFiZWxzWzBdIGZvciBsYWJlbHMgaW4gZ3JvdXApOgorCQkJd2FybmluZygnRG9tYWluIGdyb3VwIFRMRCBpcyBub3QgY29uc2lzdGVudCcpCisKKwkJIyBzb3J0IGJ5ICMgb2YgbGFiZWxzLCBsYWJlbC1ieS1sYWJlbCAobGFiZWxzIGFyZSBpbiByZXZlcnNlZCBvcmRlcikKKwkJc29ydGVkX2dyb3VwID0gc29ydGVkKGdyb3VwLCBrZXkgPSBsYW1iZGEgbGFiZWxzOiAobGVuKGxhYmVscyksIHBzbF9rZXkobGFiZWxzWy0xXVswXSksIGxhYmVscykpCisKKwkJaWYgZ3JvdXAgIT0gc29ydGVkX2dyb3VwOgorCQkJd2FybmluZygnSW5jb3JyZWN0bHkgc29ydGVkIGdyb3VwIG9mIGRvbWFpbnMnKQorCQkJcHJpbnQoIiAgIiArIHN0cihncm91cCkpCisJCQlwcmludCgiICAiICsgc3RyKHNvcnRlZF9ncm91cCkpCisJCQlwcmludCgiQ29ycmVjdCBzb3J0aW5nIHdvdWxkIGJlOiIpCisJCQlwcmludF9wc2woc29ydGVkX2dyb3VwKQorCisJZmluYWxseToKKwkJZGVsIGdyb3VwWzpdCisKKworZGVmIGxpbnRfcHNsKGluZmlsZSk6CisJIiIiUGFyc2VzIFBTTCBmaWxlIGFuZCBwZXJmb3JtcyBzeW50YXggY2hlY2tpbmciIiIKKwlnbG9iYWwgb3JpZ19saW5lLCBubGluZQorCisJUFNMX0ZMQUdfRVhDRVBUSU9OID0gKDE8PDApCisJUFNMX0ZMQUdfV0lMRENBUkQgPSAoMTw8MSkKKwlQU0xfRkxBR19JQ0FOTiA9ICgxPDwyKSAjIGVudHJ5IG9mIElDQU5OIHNlY3Rpb24KKwlQU0xfRkxBR19QUklWQVRFID0gKDE8PDMpICMgZW50cnkgb2YgUFJJVkFURSBzZWN0aW9uCisJUFNMX0ZMQUdfUExBSU4gPSAoMTw8NCkgI2p1c3QgdXNlZCBmb3IgUFNMIHN5bnRheCBjaGVja2luZworCisJbGluZTJudW1iZXIgPSB7fQorCWxpbmUyZmxhZyA9IHt9CisJZ3JvdXAgPSBbXQorCXNlY3Rpb24gPSAwCisJaWNhbm5fc2VjdGlvbnMgPSAwCisJcHJpdmF0ZV9zZWN0aW9ucyA9IDAKKworCWxpbmVzID0gW2xpbmUuc3RyaXAoJ1xuJykgZm9yIGxpbmUgaW4gaW5maWxlXQorCisJZm9yIGxpbmUgaW4gbGluZXM6CisJCW5saW5lICs9IDEKKworCQkjIGNoZWNrIGZvciBsZWFkaW5nL3RyYWlsaW5nIHdoaXRlc3BhY2UKKwkJc3RyaXBwZWQgPSBsaW5lLnN0cmlwKCkKKwkJaWYgc3RyaXBwZWQgIT0gbGluZToKKwkJCWxpbmUgPSBsaW5lLnJlcGxhY2UoJ1x0JywnXFx0JykKKwkJCWxpbmUgPSBsaW5lLnJlcGxhY2UoJ1xyJywnXk0nKQorCQkJb3JpZ19saW5lID0gbGluZQorCQkJd2FybmluZygnTGVhZGluZy9UcmFpbGluZyB3aGl0ZXNwYWNlJykKKwkJb3JpZ19saW5lID0gbGluZQorCQlsaW5lID0gc3RyaXBwZWQKKworCQkjIGVtcHR5IGxpbmUgKGVuZCBvZiBzb3J0ZWQgZG9tYWluIGdyb3VwKQorCQlpZiBub3QgbGluZToKKwkJCSMgY2hlY2tfb3JkZXIoZ3JvdXApCisJCQljb250aW51ZQorCisJCSMgY2hlY2sgZm9yIHNlY3Rpb24gYmVnaW4vZW5kCisJCWlmIGxpbmVbMDoyXSA9PSAiLy8iOgorCQkJIyBjaGVja19vcmRlcihncm91cCkKKworCQkJaWYgc2VjdGlvbiA9PSAwOgorCQkJCWlmIGxpbmUgPT0gIi8vID09PUJFR0lOIElDQU5OIERPTUFJTlM9PT0iOgorCQkJCQlzZWN0aW9uID0gUFNMX0ZMQUdfSUNBTk4KKwkJCQkJaWNhbm5fc2VjdGlvbnMgKz0gMQorCQkJCWVsaWYgbGluZSA9PSAiLy8gPT09QkVHSU4gUFJJVkFURSBET01BSU5TPT09IjoKKwkJCQkJc2VjdGlvbiA9IFBTTF9GTEFHX1BSSVZBVEUKKwkJCQkJcHJpdmF0ZV9zZWN0aW9ucyArPSAxCisJCQkJZWxpZiBsaW5lWzM6MTFdID09ICI9PT1CRUdJTiI6CisJCQkJCWVycm9yKCdVbmV4cGVjdGVkIGJlZ2luIG9mIHVua25vd24gc2VjdGlvbicpCisJCQkJZWxpZiBsaW5lWzM6OV0gPT0gIj09PUVORCI6CisJCQkJCWVycm9yKCdFbmQgb2Ygc2VjdGlvbiB3aXRob3V0IHByZXZpb3VzIGJlZ2luJykKKwkJCWVsaWYgc2VjdGlvbiA9PSBQU0xfRkxBR19JQ0FOTjoKKwkJCQlpZiBsaW5lID09ICIvLyA9PT1FTkQgSUNBTk4gRE9NQUlOUz09PSI6CisJCQkJCXNlY3Rpb24gPSAwCisJCQkJZWxpZiBsaW5lWzM6MTFdID09ICI9PT1CRUdJTiI6CisJCQkJCWVycm9yKCdVbmV4cGVjdGVkIGJlZ2luIG9mIHNlY3Rpb246ICcpCisJCQkJZWxpZiBsaW5lWzM6OV0gPT0gIj09PUVORCI6CisJCQkJCWVycm9yKCdVbmV4cGVjdGVkIGVuZCBvZiBzZWN0aW9uJykKKwkJCWVsaWYgc2VjdGlvbiA9PSBQU0xfRkxBR19QUklWQVRFOgorCQkJCWlmIGxpbmUgPT0gIi8vID09PUVORCBQUklWQVRFIERPTUFJTlM9PT0iOgorCQkJCQlzZWN0aW9uID0gMAorCQkJCWVsaWYgbGluZVszOjExXSA9PSAiPT09QkVHSU4iOgorCQkJCQllcnJvcignVW5leHBlY3RlZCBiZWdpbiBvZiBzZWN0aW9uJykKKwkJCQllbGlmIGxpbmVbMzo5XSA9PSAiPT09RU5EIjoKKwkJCQkJZXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIHNlY3Rpb24nKQorCisJCQljb250aW51ZSAjIHByb2Nlc3Npbmcgb2YgY29tbWVudHMgZW5kcyBoZXJlCisKKwkJIyBObyBydWxlIG11c3QgYmUgb3V0c2lkZSBvZiBhIHNlY3Rpb24KKwkJaWYgc2VjdGlvbiA9PSAwOgorCQkJZXJyb3IoJ1J1bGUgb3V0c2lkZSBvZiBzZWN0aW9uJykKKworCQlncm91cC5hcHBlbmQobGlzdChyZXZlcnNlZChsaW5lLnNwbGl0KCcuJykpKSkKKworCQkjIGRlY29kZSBVVEYtOCBpbnB1dCBpbnRvIHVuaWNvZGUsIG5lZWRlZCBvbmx5IGZvciBweXRob24gMi54CisJCXRyeToKKwkJCWlmIHN5cy52ZXJzaW9uX2luZm9bMF0gPCAzOgorCQkJCWxpbmUgPSBsaW5lLmRlY29kZSgndXRmLTgnKQorCQkJZWxzZToKKwkJCQlsaW5lLmVuY29kZSgndXRmLTgnKQorCQlleGNlcHQgKFVuaWNvZGVEZWNvZGVFcnJvciwgVW5pY29kZUVuY29kZUVycm9yKToKKwkJCW9yaWdfbGluZSA9IE5vbmUKKwkJCWVycm9yKCdJbnZhbGlkIFVURi04IGNoYXJhY3RlcicpCisJCQljb250aW51ZQorCisJCSMgcnVsZXMgbXVzdCBiZSBORkMgY29kZWQgKFVuaWNvZGUncyBOb3JtYWwgRm9ybSBLYW5vbmljYWwgQ29tcG9zaXRpb24pCisJCWlmIHVuaWNvZGVkYXRhLm5vcm1hbGl6ZSgiTkZLQyIsIGxpbmUpICE9IGxpbmU6CisJCQllcnJvcignUnVsZSBtdXN0IGJlIE5GS0MnKQorCisJCSMgZWFjaCBydWxlIG11c3QgYmUgbG93ZXJjYXNlIChvciBtb3JlIGV4YWN0bHk6IG5vdCB1cHBlcmNhc2UgYW5kIG5vdCB0aXRsZWNhc2UpCisJCWlmIGxpbmUgIT0gbGluZS5sb3dlcigpOgorCQkJZXJyb3IoJ1J1bGUgbXVzdCBiZSBsb3dlcmNhc2UnKQorCisJCSMgc3RyaXAgbGVhZGluZyB3aWxkY2FyZHMKKwkJZmxhZ3MgPSBzZWN0aW9uCisJCSMgd2hpbGUgbGluZVswOjJdID09ICcqLic6CisJCWlmIGxpbmVbMDoyXSA9PSAnKi4nOgorCQkJZmxhZ3MgfD0gUFNMX0ZMQUdfV0lMRENBUkQKKwkJCWxpbmUgPSBsaW5lWzI6XQorCisJCWlmIGxpbmVbMF0gPT0gJyEnOgorCQkJZmxhZ3MgfD0gUFNMX0ZMQUdfRVhDRVBUSU9OCisJCQlsaW5lID0gbGluZVsxOl0KKwkJZWxzZToKKwkJCWZsYWdzIHw9IFBTTF9GTEFHX1BMQUlOCisKKwkJIyB3aWxkY2FyZCBhbmQgZXhjZXB0aW9uIG11c3Qgbm90IGNvbWJpbmUKKwkJaWYgZmxhZ3MgJiBQU0xfRkxBR19XSUxEQ0FSRCBhbmQgZmxhZ3MgJiBQU0xfRkxBR19FWENFUFRJT046CisJCQllcnJvcignQ29tYmluYXRpb24gb2Ygd2lsZGNhcmQgYW5kIGV4Y2VwdGlvbicpCisJCQljb250aW51ZQorCisJCWxhYmVscyA9IGxpbmUuc3BsaXQoJy4nKQorCisJCWlmIGZsYWdzICYgUFNMX0ZMQUdfRVhDRVBUSU9OIGFuZCBsZW4obGFiZWxzKSA+IDE6CisJCQlkb21haW4gPSAiLiIuam9pbihzdHIobGFiZWwpIGZvciBsYWJlbCBpbiBsYWJlbHNbMTpdKQorCQkJaWYgbm90IGRvbWFpbiBpbiBsaW5lMmZsYWc6CisJCQkJZXJyb3IoJ0V4Y2VwdGlvbiB3aXRob3V0IHByZXZpb3VzIHdpbGRjYXJkJykKKwkJCWVsaWYgbm90IGxpbmUyZmxhZ1tkb21haW5dICYgUFNMX0ZMQUdfV0lMRENBUkQ6CisJCQkJZXJyb3IoJ0V4Y2VwdGlvbiB3aXRob3V0IHByZXZpb3VzIHdpbGRjYXJkJykKKworCQlmb3IgbGFiZWwgaW4gbGFiZWxzOgorCQkJaWYgbm90IGxhYmVsOgorCQkJCWVycm9yKCdMZWFkaW5nL3RyYWlsaW5nIG9yIG11bHRpcGxlIGRvdCcpCisJCQkJY29udGludWUKKworCQkJaWYgbGFiZWxbMDo0XSA9PSAneG4tLSc6CisJCQkJZXJyb3IoJ1B1bnljb2RlIGZvdW5kJykKKwkJCQljb250aW51ZQorCisJCQlpZiAnLS0nIGluIGxhYmVsOgorCQkJCWVycm9yKCdEb3VibGUgbWludXMgZm91bmQnKQorCQkJCWNvbnRpbnVlCisKKwkJCSMgYWxsb3dlZCBhcmUgYS16LDAtOSwtIGFuZCB1bmljb2RlID49IDEyOCAobWF5YmUgdGhhdCBjYW4gYmUgZmluZXR1bmVkIGEgYml0ICE/KQorCQkJZm9yIGMgaW4gbGFiZWw6CisJCQkJaWYgbm90IGMuaXNhbG51bSgpIGFuZCBjICE9ICctJyBhbmQgb3JkKGMpIDwgMTI4OgorCQkJCQllcnJvcignSWxsZWdhbCBjaGFyYWN0ZXInKQorCQkJCQlicmVhaworCisJCWlmIGxpbmUgaW4gbGluZTJmbGFnOgorCQkJJycnRm91bmQgZXhpc3RpbmcgZW50cnk6CisJCQkgICBDb21iaW5hdGlvbiBvZiBleGNlcHRpb24gYW5kIHBsYWluIHJ1bGUgaXMgY29udHJhZGljdGlvbmFyeQorCQkJICAgICAhZm9vLmJhciArIGZvby5iYXIKKwkJCSAgIERvdWJsZXR0ZSwgc2luY2UgKi5mb28uYmFyIGltcGxpZXMgZm9vLmJhcjoKKwkJCSAgICAgIGZvby5iYXIgKyAqLmZvby5iYXIKKwkJCSAgIEFsbG93ZWQ6CisJCQkgICAgICFmb28uYmFyICsgKi5mb28uYmFyCisJCQknJycKKwkJCWVycm9yKCdGb3VuZCBkb3VibGV0dGUvYW1iaWd1aXR5IChwcmV2aW91cyBsaW5lIHdhcyAlZCknICUgbGluZTJudW1iZXJbbGluZV0pCisKKwkJbGluZTJudW1iZXJbbGluZV0gPSBubGluZQorCQlsaW5lMmZsYWdbbGluZV0gPSBmbGFncworCisJb3JpZ19saW5lID0gTm9uZQorCisJaWYgc2VjdGlvbiA9PSBQU0xfRkxBR19JQ0FOTjoKKwkJZXJyb3IoJ0lDQU5OIHNlY3Rpb24gbm90IGNsb3NlZCcpCisJZWxpZiBzZWN0aW9uID09IFBTTF9GTEFHX1BSSVZBVEU6CisJCWVycm9yKCdQUklWQVRFIHNlY3Rpb24gbm90IGNsb3NlZCcpCisKKwlpZiBpY2Fubl9zZWN0aW9ucyA8IDE6CisJCXdhcm5pbmcoJ05vIElDQU5OIHNlY3Rpb24gZm91bmQnKQorCWVsaWYgaWNhbm5fc2VjdGlvbnMgPiAxOgorCQl3YXJuaW5nKCclZCBJQ0FOTiBzZWN0aW9ucyBmb3VuZCcgJSBpY2Fubl9zZWN0aW9ucykKKworCWlmIHByaXZhdGVfc2VjdGlvbnMgPCAxOgorCQl3YXJuaW5nKCdObyBQUklWQVRFIHNlY3Rpb24gZm91bmQnKQorCWVsaWYgcHJpdmF0ZV9zZWN0aW9ucyA+IDE6CisJCXdhcm5pbmcoJyVkIFBSSVZBVEUgc2VjdGlvbnMgZm91bmQnICUgcHJpdmF0ZV9zZWN0aW9ucykKKworZGVmIHVzYWdlKCk6CisJIiIiUHJpbnRzIHRoZSB1c2FnZSIiIgorCXByaW50KCd1c2FnZTogJXMgUFNMZmlsZScgJSBzeXMuYXJndlswXSkKKwlwcmludCgnb3IgICAgICVzIC0gICAgICAgICMgVG8gcmVhZCBQU0wgZnJvbSBTVERJTicgJSBzeXMuYXJndlswXSkKKwlleGl0KDEpCisKKworZGVmIG1haW4oKToKKwkiIiJDaGVjayBzeW50YXggb2YgYSBQU0wgZmlsZSIiIgorCWlmIGxlbihzeXMuYXJndikgPCAyOgorCQl1c2FnZSgpCisKKwl3aXRoIHN5cy5zdGRpbiBpZiBzeXMuYXJndlstMV0gPT0gJy0nIGVsc2Ugb3BlbihzeXMuYXJndlstMV0sICdyJywgZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSJzdXJyb2dhdGVlc2NhcGUiKSBhcyBpbmZpbGU6CisJCWxpbnRfcHNsKGluZmlsZSkKKworCXJldHVybiBlcnJvcnMgIT0gMAorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisJc3lzLmV4aXQobWFpbigpKQpkaWZmIC0tZ2l0IGEvbGludGVyL3BzbGludF9zZWxmdGVzdC5zaCBiL2xpbnRlci9wc2xpbnRfc2VsZnRlc3Quc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGNlNTdhNgotLS0gL2Rldi9udWxsCisrKyBiL2xpbnRlci9wc2xpbnRfc2VsZnRlc3Quc2gKQEAgLTAsMCArMSwzMSBAQAorIyEvYmluL3NoCisKK3JjPTAKK3JtIC1yZiBsb2cKK21rZGlyIC1wIGxvZworCisjIGFkZCBDUiBpZiBtaXNzaW5nLCBpdCB3b24ndCBwb3NzaWJseSBzdXJ2aXZlIGdpdAorc2VkIC1pIC1lICdzL15lLmV4YW1wbGUuY29tJC9lLmV4YW1wbGUuY29tXHIvZycgdGVzdF9zcGFjZXMuaW5wdXQKKworZm9yIGZpbGUgaW4gYGxzICouaW5wdXR8Y3V0IC1kJy4nIC1mMWA7IGRvCisgIGVjaG8gLW4gIiR7ZmlsZX06ICIKKyAgLi9wc2xpbnQucHkgJHtmaWxlfS5pbnB1dCA+bG9nLyR7ZmlsZX0ubG9nIDI+JjEKKyAgZGlmZiAtdSAke2ZpbGV9LmV4cGVjdGVkIGxvZy8ke2ZpbGV9LmxvZyA+bG9nLyR7ZmlsZX0uZGlmZgorICBpZiBbICQ/IC1lcSAwIF07IHRoZW4KKyAgICBlY2hvIE9LCisgICAgcm0gbG9nLyR7ZmlsZX0uZGlmZiBsb2cvJHtmaWxlfS5sb2cKKyAgZWxzZQorICAgIGVjaG8gRkFJTEVECisgICAgY2F0IGxvZy8ke2ZpbGV9LmRpZmYKKyAgICByYz0xCisgIGZpCitkb25lCisKKyMgcmVtb3ZlIENSLCB0byBub3QgYXBwZWFyIGFzIGNoYW5nZWQgdG8gZ2l0CitzZWQgLWkgLWUgJ3MvXmUuZXhhbXBsZS5jb21cciQvZS5leGFtcGxlLmNvbS9nJyB0ZXN0X3NwYWNlcy5pbnB1dAorCitpZiBbICRyYyAtZXEgMCBdOyB0aGVuCisgIHJtZGlyIGxvZworZmkKKworZXhpdCAkcmMKZGlmZiAtLWdpdCBhL2xpbnRlci90ZXN0X05GS0MuZXhwZWN0ZWQgYi9saW50ZXIvdGVzdF9ORktDLmV4cGVjdGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1N2UxODUKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9ORktDLmV4cGVjdGVkCkBAIC0wLDAgKzEsMiBAQAorOTogZXJyb3I6IFJ1bGUgbXVzdCBiZSBORktDOiAnc3XMiGR0aXJvbC5pdCcKKzExOiB3YXJuaW5nOiBObyBQUklWQVRFIHNlY3Rpb24gZm91bmQKZGlmZiAtLWdpdCBhL2xpbnRlci90ZXN0X05GS0MuaW5wdXQgYi9saW50ZXIvdGVzdF9ORktDLmlucHV0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjYTU4NzMKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9ORktDLmlucHV0CkBAIC0wLDAgKzEsMTEgQEAKKy8vIHRlc3Q6CisvLyAtIGxhYmVsIGNvbnRhaW5zIG5vbi1ORktDIGNoYXJhY3RlcihzKQorLy8KKy8vIGJlc3Qgdmlld2VkIHdpdGggJ0xDX0FMTD1DLlVURi04IHZpIDxmaWxlbmFtZT4nIChvciBhbnkgb3RoZXIgVVRGLTggbG9jYWxlKQorCisvLyA9PT1CRUdJTiBJQ0FOTiBET01BSU5TPT09CisKK3PDvGR0aXJvbC5pdAorc3XMiGR0aXJvbC5pdAorCisvLyA9PT1FTkQgSUNBTk4gRE9NQUlOUz09PQpkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3RfYWxsb3dlZGNoYXJzLmV4cGVjdGVkIGIvbGludGVyL3Rlc3RfYWxsb3dlZGNoYXJzLmV4cGVjdGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzOWZiYTcKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9hbGxvd2VkY2hhcnMuZXhwZWN0ZWQKQEAgLTAsMCArMSw0IEBACisxMDogZXJyb3I6IElsbGVnYWwgY2hhcmFjdGVyOiAnYS5leGFtI3BsZS5jb20nCisxMTogZXJyb3I6IElsbGVnYWwgY2hhcmFjdGVyOiAnYi5leGFtIHBsZS5jb20nCisxMzogZXJyb3I6IEludmFsaWQgVVRGLTggY2hhcmFjdGVyCisxNTogd2FybmluZzogTm8gUFJJVkFURSBzZWN0aW9uIGZvdW5kCmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9hbGxvd2VkY2hhcnMuaW5wdXQgYi9saW50ZXIvdGVzdF9hbGxvd2VkY2hhcnMuaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZkODc3OAotLS0gL2Rldi9udWxsCisrKyBiL2xpbnRlci90ZXN0X2FsbG93ZWRjaGFycy5pbnB1dApAQCAtMCwwICsxLDE1IEBACisvLyB0ZXN0OgorLy8gLSBsYWJlbCBjb250YWlucyBpbGxlZ2FsIGNoYXJhY3RlcgorLy8gLSBjLiBpcyB2YWxpZCBVVEYtOAorLy8gLSBkLiBoYXMgaW52YWxpZCBVVEYtOCBjb2RlIGZvciB0aGUgVExECisvLworLy8gYmVzdCB2aWV3ZWQgd2l0aCAnTENfQUxMPUMgdmkgPGZpbGVuYW1lPicKKworLy8gPT09QkVHSU4gSUNBTk4gRE9NQUlOUz09PQorCithLmV4YW0jcGxlLmNvbQorYi5leGFtIHBsZS5jb20KK2Mu5rWL6K+VCitkLua1i+ivCisKKy8vID09PUVORCBJQ0FOTiBET01BSU5TPT09CmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9kb3RzLmV4cGVjdGVkIGIvbGludGVyL3Rlc3RfZG90cy5leHBlY3RlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTg3ODQwCi0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3RfZG90cy5leHBlY3RlZApAQCAtMCwwICsxLDQgQEAKKzk6IGVycm9yOiBMZWFkaW5nL3RyYWlsaW5nIG9yIG11bHRpcGxlIGRvdDogJy5hLmV4YW1wbGUuY29tJworMTA6IGVycm9yOiBMZWFkaW5nL3RyYWlsaW5nIG9yIG11bHRpcGxlIGRvdDogJ2IuZXhhbXBsZS5jb20uJworMTE6IGVycm9yOiBMZWFkaW5nL3RyYWlsaW5nIG9yIG11bHRpcGxlIGRvdDogJ2MuLmV4YW1wbGUuY29tJworMTM6IHdhcm5pbmc6IE5vIFBSSVZBVEUgc2VjdGlvbiBmb3VuZApkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3RfZG90cy5pbnB1dCBiL2xpbnRlci90ZXN0X2RvdHMuaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzI5MDQ0MQotLS0gL2Rldi9udWxsCisrKyBiL2xpbnRlci90ZXN0X2RvdHMuaW5wdXQKQEAgLTAsMCArMSwxMyBAQAorLy8gdGVzdDoKKy8vIC0gbGVhZGluZyBkb3QKKy8vIC0gdHJhaWxpbmcgZG90CisvLyAtIGNvbnNlY3V0aXZlIGRvdHMKKworLy8gPT09QkVHSU4gSUNBTk4gRE9NQUlOUz09PQorCisvLyBleGFtcGxlLmNvbTogaHR0cHM6Ly93d3cuaWFuYS5vcmcvZG9tYWlucy9yZXNlcnZlZAorLmEuZXhhbXBsZS5jb20KK2IuZXhhbXBsZS5jb20uCitjLi5leGFtcGxlLmNvbQorCisvLyA9PT1FTkQgSUNBTk4gRE9NQUlOUz09PQpkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3RfZHVwbGljYXRlLmV4cGVjdGVkIGIvbGludGVyL3Rlc3RfZHVwbGljYXRlLmV4cGVjdGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYTVlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9kdXBsaWNhdGUuZXhwZWN0ZWQKQEAgLTAsMCArMSw2IEBACis5OiBlcnJvcjogRm91bmQgZG91YmxldHRlL2FtYmlndWl0eSAocHJldmlvdXMgbGluZSB3YXMgOCk6ICcqLmNvbScKKzEzOiBlcnJvcjogRm91bmQgZG91YmxldHRlL2FtYmlndWl0eSAocHJldmlvdXMgbGluZSB3YXMgMTIpOiAnIXd3dy5jb20nCisxNzogZXJyb3I6IEZvdW5kIGRvdWJsZXR0ZS9hbWJpZ3VpdHkgKHByZXZpb3VzIGxpbmUgd2FzIDE2KTogJyouZXhhbXBsZS5jb20nCisyMTogZXJyb3I6IEZvdW5kIGRvdWJsZXR0ZS9hbWJpZ3VpdHkgKHByZXZpb3VzIGxpbmUgd2FzIDIwKTogJ2V4YW1wbGUxLmNvbScKKzI0OiBlcnJvcjogRm91bmQgZG91YmxldHRlL2FtYmlndWl0eSAocHJldmlvdXMgbGluZSB3YXMgMTcpOiAnZXhhbXBsZS5jb20nCisyNjogd2FybmluZzogTm8gUFJJVkFURSBzZWN0aW9uIGZvdW5kCmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9kdXBsaWNhdGUuaW5wdXQgYi9saW50ZXIvdGVzdF9kdXBsaWNhdGUuaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhjZDlmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpbnRlci90ZXN0X2R1cGxpY2F0ZS5pbnB1dApAQCAtMCwwICsxLDI2IEBACisvLyB0ZXN0OgorLy8gLSB2YWxpZCB3aWxkY2FyZCB1c2FnZQorLy8gLSBpbnZhbGlkIHdpbGRjYXJkIHVzYWdlCisKKy8vID09PUJFR0lOIElDQU5OIERPTUFJTlM9PT0KKworLy8gKi5jb20gaW1wbGljaXRlbHkgaW5jbHVkZXMgLmNvbQorY29tCisqLmNvbQorCisvLyBkb3VibGUgZXhjZXB0aW9uCishd3d3LmNvbQorIXd3dy5jb20KKworLy8gZG91YmxlIHdpbGRjYXJkCisqLmV4YW1wbGUuY29tCisqLmV4YW1wbGUuY29tCisKKy8vIGRvdWJsZSBwbGFpbiBydWxlCitleGFtcGxlMS5jb20KK2V4YW1wbGUxLmNvbQorCisvLyByZWR1bmRhbnQvb3ZlcmxhcHBpbmcgcnVsZQorZXhhbXBsZS5jb20KKworLy8gPT09RU5EIElDQU5OIERPTUFJTlM9PT0KZGlmZiAtLWdpdCBhL2xpbnRlci90ZXN0X2V4Y2VwdGlvbi5leHBlY3RlZCBiL2xpbnRlci90ZXN0X2V4Y2VwdGlvbi5leHBlY3RlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjU2ZDZmCi0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3RfZXhjZXB0aW9uLmV4cGVjdGVkCkBAIC0wLDAgKzEsNiBAQAorMTc6IGVycm9yOiBMZWFkaW5nL3RyYWlsaW5nIG9yIG11bHRpcGxlIGRvdDogJyEuZXhhbXBsZS5jb20nCisxODogZXJyb3I6IElsbGVnYWwgY2hhcmFjdGVyOiAndyF3LmV4YW1wbGUuY29tJworMTk6IGVycm9yOiBGb3VuZCBkb3VibGV0dGUvYW1iaWd1aXR5IChwcmV2aW91cyBsaW5lIHdhcyAxMik6ICchd3d3LmV4YW1wbGUuY29tJworMjA6IGVycm9yOiBFeGNlcHRpb24gd2l0aG91dCBwcmV2aW91cyB3aWxkY2FyZDogJyFhLmIuZXhhbXBsZS5jb20nCisyMTogZXJyb3I6IEV4Y2VwdGlvbiB3aXRob3V0IHByZXZpb3VzIHdpbGRjYXJkOiAnIWEuYy5leGFtcGxlLmNvbScKKzIzOiB3YXJuaW5nOiBObyBQUklWQVRFIHNlY3Rpb24gZm91bmQKZGlmZiAtLWdpdCBhL2xpbnRlci90ZXN0X2V4Y2VwdGlvbi5pbnB1dCBiL2xpbnRlci90ZXN0X2V4Y2VwdGlvbi5pbnB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmIxZDdiCi0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3RfZXhjZXB0aW9uLmlucHV0CkBAIC0wLDAgKzEsMjMgQEAKKy8vIHRlc3Q6CisvLyAtIHZhbGlkIGV4Y2VwdGlvbgorLy8gLSBpbnZhbGlkIGV4Y2VwdGlvbnMKKy8vIC0gc2FtZSBleGNlcHRpb24gdHdpY2UKKy8vIC0gZXhjZXB0aW9uIHdpdGhvdXQgd2lsZGNhcmQKKy8vIC0gZXhjZXB0aW9uIHdpdGggcHJldmFpbGluZyAnKicgcnVsZSAoIWxvY2FsaG9zdCkKKworLy8gPT09QkVHSU4gSUNBTk4gRE9NQUlOUz09PQorCisvLyB2YWxpZAorKi5leGFtcGxlLmNvbQorIXd3dy5leGFtcGxlLmNvbQorIWxvY2FsaG9zdAorYy5leGFtcGxlLmNvbQorCisvLyBpbnZhbGlkCishLmV4YW1wbGUuY29tCit3IXcuZXhhbXBsZS5jb20KKyF3d3cuZXhhbXBsZS5jb20KKyFhLmIuZXhhbXBsZS5jb20KKyFhLmMuZXhhbXBsZS5jb20KKworLy8gPT09RU5EIElDQU5OIERPTUFJTlM9PT0KZGlmZiAtLWdpdCBhL2xpbnRlci90ZXN0X3B1bnljb2RlLmV4cGVjdGVkIGIvbGludGVyL3Rlc3RfcHVueWNvZGUuZXhwZWN0ZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM0YWIwZQotLS0gL2Rldi9udWxsCisrKyBiL2xpbnRlci90ZXN0X3B1bnljb2RlLmV4cGVjdGVkCkBAIC0wLDAgKzEsMyBAQAorNzogZXJyb3I6IFB1bnljb2RlIGZvdW5kOiAnYS54bi0tMHp3bTU2ZCcKKzg6IGVycm9yOiBEb3VibGUgbWludXMgZm91bmQ6ICdhLmV4LS1hbXBsZS5jb20nCisxMDogd2FybmluZzogTm8gUFJJVkFURSBzZWN0aW9uIGZvdW5kCmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9wdW55Y29kZS5pbnB1dCBiL2xpbnRlci90ZXN0X3B1bnljb2RlLmlucHV0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNDkyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9wdW55Y29kZS5pbnB1dApAQCAtMCwwICsxLDEwIEBACisvLyB0ZXN0OgorLy8gLSBsYWJlbCBpcyBwdW55Y29kZQorLy8gLSBsYWJlbCBoYXMgZG91YmxlIG1pbnVzCisKKy8vID09PUJFR0lOIElDQU5OIERPTUFJTlM9PT0KKworYS54bi0tMHp3bTU2ZAorYS5leC0tYW1wbGUuY29tCisKKy8vID09PUVORCBJQ0FOTiBET01BSU5TPT09CmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9zZWN0aW9uMS5leHBlY3RlZCBiL2xpbnRlci90ZXN0X3NlY3Rpb24xLmV4cGVjdGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZWVkZmIKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9zZWN0aW9uMS5leHBlY3RlZApAQCAtMCwwICsxLDMgQEAKKzQ6IGVycm9yOiBSdWxlIG91dHNpZGUgb2Ygc2VjdGlvbjogJ2V4YW1wbGUuY29tJworNDogd2FybmluZzogTm8gSUNBTk4gc2VjdGlvbiBmb3VuZAorNDogd2FybmluZzogTm8gUFJJVkFURSBzZWN0aW9uIGZvdW5kCmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9zZWN0aW9uMS5pbnB1dCBiL2xpbnRlci90ZXN0X3NlY3Rpb24xLmlucHV0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ZjZiNjYKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9zZWN0aW9uMS5pbnB1dApAQCAtMCwwICsxLDQgQEAKKy8vIHRlc3Q6CisvLyAtIG5vIHNlY3Rpb24gYXQgYWxsCisKK2V4YW1wbGUuY29tCmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9zZWN0aW9uMi5leHBlY3RlZCBiL2xpbnRlci90ZXN0X3NlY3Rpb24yLmV4cGVjdGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ZWFmYjkKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9zZWN0aW9uMi5leHBlY3RlZApAQCAtMCwwICsxLDIgQEAKKzExOiB3YXJuaW5nOiAyIElDQU5OIHNlY3Rpb25zIGZvdW5kCisxMTogd2FybmluZzogTm8gUFJJVkFURSBzZWN0aW9uIGZvdW5kCmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9zZWN0aW9uMi5pbnB1dCBiL2xpbnRlci90ZXN0X3NlY3Rpb24yLmlucHV0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwZjQwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9zZWN0aW9uMi5pbnB1dApAQCAtMCwwICsxLDExIEBACisvLyB0ZXN0OgorLy8gLSB0d28gSUNBTk4gc2VjdGlvbnMKKworLy8gPT09QkVHSU4gSUNBTk4gRE9NQUlOUz09PQorCitleGFtcGxlLmNvbQorCisvLyA9PT1FTkQgSUNBTk4gRE9NQUlOUz09PQorCisvLyA9PT1CRUdJTiBJQ0FOTiBET01BSU5TPT09CisvLyA9PT1FTkQgSUNBTk4gRE9NQUlOUz09PQpkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3Rfc2VjdGlvbjMuZXhwZWN0ZWQgYi9saW50ZXIvdGVzdF9zZWN0aW9uMy5leHBlY3RlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDI4MTIxCi0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3Rfc2VjdGlvbjMuZXhwZWN0ZWQKQEAgLTAsMCArMSwyIEBACisxMTogd2FybmluZzogTm8gSUNBTk4gc2VjdGlvbiBmb3VuZAorMTE6IHdhcm5pbmc6IDIgUFJJVkFURSBzZWN0aW9ucyBmb3VuZApkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3Rfc2VjdGlvbjMuaW5wdXQgYi9saW50ZXIvdGVzdF9zZWN0aW9uMy5pbnB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2FmMTg1Ci0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3Rfc2VjdGlvbjMuaW5wdXQKQEAgLTAsMCArMSwxMSBAQAorLy8gdGVzdDoKKy8vIC0gdHdvIFBSSVZBVEUgc2VjdGlvbnMKKworLy8gPT09QkVHSU4gUFJJVkFURSBET01BSU5TPT09CisKK2V4YW1wbGUuY29tCisKKy8vID09PUVORCBQUklWQVRFIERPTUFJTlM9PT0KKworLy8gPT09QkVHSU4gUFJJVkFURSBET01BSU5TPT09CisvLyA9PT1FTkQgUFJJVkFURSBET01BSU5TPT09CmRpZmYgLS1naXQgYS9saW50ZXIvdGVzdF9zZWN0aW9uNC5leHBlY3RlZCBiL2xpbnRlci90ZXN0X3NlY3Rpb240LmV4cGVjdGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4YTA5MDYKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9zZWN0aW9uNC5leHBlY3RlZApAQCAtMCwwICsxLDMgQEAKKzg6IGVycm9yOiBVbmV4cGVjdGVkIGVuZCBvZiBzZWN0aW9uOiAnLy8gPT09RU5EIFBSSVZBVEUgRE9NQUlOUz09PScKKzg6IGVycm9yOiBJQ0FOTiBzZWN0aW9uIG5vdCBjbG9zZWQKKzg6IHdhcm5pbmc6IE5vIFBSSVZBVEUgc2VjdGlvbiBmb3VuZApkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3Rfc2VjdGlvbjQuaW5wdXQgYi9saW50ZXIvdGVzdF9zZWN0aW9uNC5pbnB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGNhMzM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3Rfc2VjdGlvbjQuaW5wdXQKQEAgLTAsMCArMSw4IEBACisvLyB0ZXN0OgorLy8gLSBJQ0FOTiBzZWN0aW9uIGltcHJvcGVybHkgY2xvc2VkCisKKy8vID09PUJFR0lOIElDQU5OIERPTUFJTlM9PT0KKworZXhhbXBsZS5jb20KKworLy8gPT09RU5EIFBSSVZBVEUgRE9NQUlOUz09PQpkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3Rfc3BhY2VzLmV4cGVjdGVkIGIvbGludGVyL3Rlc3Rfc3BhY2VzLmV4cGVjdGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhZGM1MzgKLS0tIC9kZXYvbnVsbAorKysgYi9saW50ZXIvdGVzdF9zcGFjZXMuZXhwZWN0ZWQKQEAgLTAsMCArMSw2IEBACisxMjogd2FybmluZzogTGVhZGluZy9UcmFpbGluZyB3aGl0ZXNwYWNlOiAnIGEuZXhhbXBsZS5jb20nCisxMzogd2FybmluZzogTGVhZGluZy9UcmFpbGluZyB3aGl0ZXNwYWNlOiAnYi5leGFtcGxlLmNvbSAnCisxNDogd2FybmluZzogTGVhZGluZy9UcmFpbGluZyB3aGl0ZXNwYWNlOiAnXHRjLmV4YW1wbGUuY29tJworMTU6IHdhcm5pbmc6IExlYWRpbmcvVHJhaWxpbmcgd2hpdGVzcGFjZTogJ2QuZXhhbXBsZS5jb21cdCcKKzE3OiB3YXJuaW5nOiBMZWFkaW5nL1RyYWlsaW5nIHdoaXRlc3BhY2U6ICcgICcKKzE5OiB3YXJuaW5nOiBObyBQUklWQVRFIHNlY3Rpb24gZm91bmQKZGlmZiAtLWdpdCBhL2xpbnRlci90ZXN0X3NwYWNlcy5pbnB1dCBiL2xpbnRlci90ZXN0X3NwYWNlcy5pbnB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzVkYmQzCi0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3Rfc3BhY2VzLmlucHV0CkBAIC0wLDAgKzEsMTkgQEAKKy8vIHRlc3Q6CisvLyAtIGxlYWRpbmcgc3BhY2UKKy8vIC0gdHJhaWxpbmcgc3BhY2UsIGVtcHR5IGxpbmUgd2l0aCBzcGFjZXMKKy8vIC0gbGVhZGluZyB0YWIKKy8vIC0gdHJhaWxpbmcgdGFiCisvLyAtIGxpbmUgZW5kcyB3aXRoIENSTEYgKHBzbGludF9zZWxmdGVzdCB3aWxsIGFkZCBvbmUgdG8gZS5leGFtcGxlLmNvbSBhbmQgcmVtb3ZlZCBpdCBhZnRlciB0ZXN0aW5nKQorLy8gLSBlbXB0eSBsaW5lIHdpdGggc3BhY2VzCisKKy8vID09PUJFR0lOIElDQU5OIERPTUFJTlM9PT0KKworLy8gZXhhbXBsZS5jb206IGh0dHBzOi8vd3d3LmlhbmEub3JnL2RvbWFpbnMvcmVzZXJ2ZWQKKyBhLmV4YW1wbGUuY29tCitiLmV4YW1wbGUuY29tIAorCWMuZXhhbXBsZS5jb20KK2QuZXhhbXBsZS5jb20JCitlLmV4YW1wbGUuY29tCisgIAorCisvLyA9PT1FTkQgSUNBTk4gRE9NQUlOUz09PQpkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3Rfd2lsZGNhcmQuZXhwZWN0ZWQgYi9saW50ZXIvdGVzdF93aWxkY2FyZC5leHBlY3RlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDU3MDk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3Rfd2lsZGNhcmQuZXhwZWN0ZWQKQEAgLTAsMCArMSw1IEBACisxMTogZXJyb3I6IElsbGVnYWwgY2hhcmFjdGVyOiAnKiouY29tJworMTI6IGVycm9yOiBJbGxlZ2FsIGNoYXJhY3RlcjogJ2EqLmNvbScKKzEzOiBlcnJvcjogSWxsZWdhbCBjaGFyYWN0ZXI6ICdiLiouY29tJworMTQ6IGVycm9yOiBJbGxlZ2FsIGNoYXJhY3RlcjogJ2EuYi4qJworMTY6IHdhcm5pbmc6IE5vIFBSSVZBVEUgc2VjdGlvbiBmb3VuZApkaWZmIC0tZ2l0IGEvbGludGVyL3Rlc3Rfd2lsZGNhcmQuaW5wdXQgYi9saW50ZXIvdGVzdF93aWxkY2FyZC5pbnB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYmZiMDVhCi0tLSAvZGV2L251bGwKKysrIGIvbGludGVyL3Rlc3Rfd2lsZGNhcmQuaW5wdXQKQEAgLTAsMCArMSwxNiBAQAorLy8gdGVzdDoKKy8vIC0gdmFsaWQgd2lsZGNhcmQgdXNhZ2UKKy8vIC0gaW52YWxpZCB3aWxkY2FyZCB1c2FnZQorCisvLyA9PT1CRUdJTiBJQ0FOTiBET01BSU5TPT09CisKKy8vIHZhbGlkCisqLmNvbQorCisvLyBpbnZhbGlkCisqKi5jb20KK2EqLmNvbQorYi4qLmNvbQorYS5iLioKKworLy8gPT09RU5EIElDQU5OIERPTUFJTlM9PT0KZGlmZiAtLWdpdCBhL3B1YmxpY19zdWZmaXhfbGlzdC5kYXQgYi9wdWJsaWNfc3VmZml4X2xpc3QuZGF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YWEyYmEKLS0tIC9kZXYvbnVsbAorKysgYi9wdWJsaWNfc3VmZml4X2xpc3QuZGF0CkBAIC0wLDAgKzEsMTQxODMgQEAKKy8vIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWMKKy8vIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMKKy8vIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwczovL21vemlsbGEub3JnL01QTC8yLjAvLgorCisvLyBQbGVhc2UgcHVsbCB0aGlzIGxpc3QgZnJvbSwgYW5kIG9ubHkgZnJvbSBodHRwczovL3B1YmxpY3N1ZmZpeC5vcmcvbGlzdC9wdWJsaWNfc3VmZml4X2xpc3QuZGF0LAorLy8gcmF0aGVyIHRoYW4gYW55IG90aGVyIFZDUyBzaXRlcy4gUHVsbGluZyBmcm9tIGFueSBvdGhlciBVUkwgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgc3VwcG9ydGVkLgorCisvLyBJbnN0cnVjdGlvbnMgb24gcHVsbGluZyBhbmQgdXNpbmcgdGhpcyBsaXN0IGNhbiBiZSBmb3VuZCBhdCBodHRwczovL3B1YmxpY3N1ZmZpeC5vcmcvbGlzdC8uCisKKy8vID09PUJFR0lOIElDQU5OIERPTUFJTlM9PT0KKworLy8gYWMgOiBodHRwOi8vbmljLmFjL3J1bGVzLmh0bQorYWMKK2NvbS5hYworZWR1LmFjCitnb3YuYWMKK25ldC5hYworbWlsLmFjCitvcmcuYWMKKworLy8gYWQgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYWQKK2FkCitub20uYWQKKworLy8gYWUgOiBodHRwczovL3RkcmEuZ292LmFlL2VuL2FlZGEvYWUtcG9saWNpZXMKK2FlCitjby5hZQorbmV0LmFlCitvcmcuYWUKK3NjaC5hZQorYWMuYWUKK2dvdi5hZQorbWlsLmFlCisKKy8vIGFlcm8gOiBzZWUgaHR0cHM6Ly93d3cuaW5mb3JtYXRpb24uYWVyby9pbmRleC5waHA/aWQ9NjYKK2Flcm8KK2FjY2lkZW50LWludmVzdGlnYXRpb24uYWVybworYWNjaWRlbnQtcHJldmVudGlvbi5hZXJvCithZXJvYmF0aWMuYWVybworYWVyb2NsdWIuYWVybworYWVyb2Ryb21lLmFlcm8KK2FnZW50cy5hZXJvCithaXJjcmFmdC5hZXJvCithaXJsaW5lLmFlcm8KK2FpcnBvcnQuYWVybworYWlyLXN1cnZlaWxsYW5jZS5hZXJvCithaXJ0cmFmZmljLmFlcm8KK2Fpci10cmFmZmljLWNvbnRyb2wuYWVybworYW1idWxhbmNlLmFlcm8KK2FtdXNlbWVudC5hZXJvCithc3NvY2lhdGlvbi5hZXJvCithdXRob3IuYWVybworYmFsbG9vbmluZy5hZXJvCiticm9rZXIuYWVybworY2FhLmFlcm8KK2NhcmdvLmFlcm8KK2NhdGVyaW5nLmFlcm8KK2NlcnRpZmljYXRpb24uYWVybworY2hhbXBpb25zaGlwLmFlcm8KK2NoYXJ0ZXIuYWVybworY2l2aWxhdmlhdGlvbi5hZXJvCitjbHViLmFlcm8KK2NvbmZlcmVuY2UuYWVybworY29uc3VsdGFudC5hZXJvCitjb25zdWx0aW5nLmFlcm8KK2NvbnRyb2wuYWVybworY291bmNpbC5hZXJvCitjcmV3LmFlcm8KK2Rlc2lnbi5hZXJvCitkZ2NhLmFlcm8KK2VkdWNhdG9yLmFlcm8KK2VtZXJnZW5jeS5hZXJvCitlbmdpbmUuYWVybworZW5naW5lZXIuYWVybworZW50ZXJ0YWlubWVudC5hZXJvCitlcXVpcG1lbnQuYWVybworZXhjaGFuZ2UuYWVybworZXhwcmVzcy5hZXJvCitmZWRlcmF0aW9uLmFlcm8KK2ZsaWdodC5hZXJvCitmdWVsLmFlcm8KK2dsaWRpbmcuYWVybworZ292ZXJubWVudC5hZXJvCitncm91bmRoYW5kbGluZy5hZXJvCitncm91cC5hZXJvCitoYW5nZ2xpZGluZy5hZXJvCitob21lYnVpbHQuYWVybworaW5zdXJhbmNlLmFlcm8KK2pvdXJuYWwuYWVybworam91cm5hbGlzdC5hZXJvCitsZWFzaW5nLmFlcm8KK2xvZ2lzdGljcy5hZXJvCittYWdhemluZS5hZXJvCittYWludGVuYW5jZS5hZXJvCittZWRpYS5hZXJvCittaWNyb2xpZ2h0LmFlcm8KK21vZGVsbGluZy5hZXJvCituYXZpZ2F0aW9uLmFlcm8KK3BhcmFjaHV0aW5nLmFlcm8KK3BhcmFnbGlkaW5nLmFlcm8KK3Bhc3Nlbmdlci1hc3NvY2lhdGlvbi5hZXJvCitwaWxvdC5hZXJvCitwcmVzcy5hZXJvCitwcm9kdWN0aW9uLmFlcm8KK3JlY3JlYXRpb24uYWVybworcmVwYm9keS5hZXJvCityZXMuYWVybworcmVzZWFyY2guYWVybworcm90b3JjcmFmdC5hZXJvCitzYWZldHkuYWVybworc2NpZW50aXN0LmFlcm8KK3NlcnZpY2VzLmFlcm8KK3Nob3cuYWVybworc2t5ZGl2aW5nLmFlcm8KK3NvZnR3YXJlLmFlcm8KK3N0dWRlbnQuYWVybwordHJhZGVyLmFlcm8KK3RyYWRpbmcuYWVybwordHJhaW5lci5hZXJvCit1bmlvbi5hZXJvCit3b3JraW5nZ3JvdXAuYWVybword29ya3MuYWVybworCisvLyBhZiA6IGh0dHA6Ly93d3cubmljLmFmL2hlbHAuanNwCithZgorZ292LmFmCitjb20uYWYKK29yZy5hZgorbmV0LmFmCitlZHUuYWYKKworLy8gYWcgOiBodHRwOi8vd3d3Lm5pYy5hZy9wcmljZXMuaHRtCithZworY29tLmFnCitvcmcuYWcKK25ldC5hZworY28uYWcKK25vbS5hZworCisvLyBhaSA6IGh0dHA6Ly9uaWMuY29tLmFpLworYWkKK29mZi5haQorY29tLmFpCituZXQuYWkKK29yZy5haQorCisvLyBhbCA6IGh0dHA6Ly93d3cuZXJ0Lmdvdi5hbC9lcnRfYWxiL2ZhcV9kZXQuaHRtbD9JZD0zMQorYWwKK2NvbS5hbAorZWR1LmFsCitnb3YuYWwKK21pbC5hbAorbmV0LmFsCitvcmcuYWwKKworLy8gYW0gOiBodHRwczovL3d3dy5hbW5pYy5uZXQvcG9saWN5L2VuL1BvbGljeV9FTi5wZGYKK2FtCitjby5hbQorY29tLmFtCitjb21tdW5lLmFtCituZXQuYW0KK29yZy5hbQorCisvLyBhbyA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5hbworLy8gaHR0cDovL3d3dy5kbnMuYW8vUkVHSVNUUi5ET0MKK2FvCitlZC5hbworZ3YuYW8KK29nLmFvCitjby5hbworcGIuYW8KK2l0LmFvCisKKy8vIGFxIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmFxCithcQorCisvLyBhciA6IGh0dHBzOi8vbmljLmFyL2VzL25pYy1hcmdlbnRpbmEvbm9ybWF0aXZhCithcgorYmV0LmFyCitjb20uYXIKK2Nvb3AuYXIKK2VkdS5hcgorZ29iLmFyCitnb3YuYXIKK2ludC5hcgorbWlsLmFyCittdXNpY2EuYXIKK211dHVhbC5hcgorbmV0LmFyCitvcmcuYXIKK3NlbmFzYS5hcgordHVyLmFyCisKKy8vIGFycGEgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYXJwYQorLy8gQ29uZmlybWVkIGJ5IHJlZ2lzdHJ5IDxpYW5hLXF1ZXN0aW9uc0BpY2Fubi5vcmc+IDIwMDgtMDYtMTgKK2FycGEKK2UxNjQuYXJwYQoraW4tYWRkci5hcnBhCitpcDYuYXJwYQoraXJpcy5hcnBhCit1cmkuYXJwYQordXJuLmFycGEKKworLy8gYXMgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYXMKK2FzCitnb3YuYXMKKworLy8gYXNpYSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5hc2lhCithc2lhCisKKy8vIGF0IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmF0CisvLyBDb25maXJtZWQgYnkgcmVnaXN0cnkgPGl0QG5pYy5hdD4gMjAwOC0wNi0xNworYXQKK2FjLmF0Citjby5hdAorZ3YuYXQKK29yLmF0CitzdGguYWMuYXQKKworLy8gYXUgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYXUKKy8vIGh0dHA6Ly93d3cuYXVkYS5vcmcuYXUvCithdQorLy8gMkxEcworY29tLmF1CituZXQuYXUKK29yZy5hdQorZWR1LmF1Citnb3YuYXUKK2Fzbi5hdQoraWQuYXUKKy8vIEhpc3RvcmljIDJMRHMgKGNsb3NlZCB0byBuZXcgcmVnaXN0cmF0aW9uLCBidXQgc2l0ZXMgc3RpbGwgZXhpc3QpCitpbmZvLmF1Citjb25mLmF1Citvei5hdQorLy8gQ0dETnMgLSBodHRwOi8vd3d3LmNnZG4ub3JnLmF1LworYWN0LmF1Cituc3cuYXUKK250LmF1CitxbGQuYXUKK3NhLmF1Cit0YXMuYXUKK3ZpYy5hdQord2EuYXUKKy8vIDNMRHMKK2FjdC5lZHUuYXUKK2NhdGhvbGljLmVkdS5hdQorLy8gZXEuZWR1LmF1IC0gUmVtb3ZlZCBhdCB0aGUgcmVxdWVzdCBvZiB0aGUgUXVlZW5zbGFuZCBEZXBhcnRtZW50IG9mIEVkdWNhdGlvbgorbnN3LmVkdS5hdQorbnQuZWR1LmF1CitxbGQuZWR1LmF1CitzYS5lZHUuYXUKK3Rhcy5lZHUuYXUKK3ZpYy5lZHUuYXUKK3dhLmVkdS5hdQorLy8gYWN0Lmdvdi5hdSAgQnVnIDk4NDgyNCAtIFJlbW92ZWQgYXQgcmVxdWVzdCBvZiBHcmVnIFRhbmthcmQKKy8vIG5zdy5nb3YuYXUgIEJ1ZyA1NDc5ODUgLSBSZW1vdmVkIGF0IHJlcXVlc3Qgb2YgPFNoYWUuRG9uZWxhbkBzZXJ2aWNlcy5uc3cuZ292LmF1PgorLy8gbnQuZ292LmF1ICBCdWcgOTQwNDc4IC0gUmVtb3ZlZCBhdCByZXF1ZXN0IG9mIEdyZWcgQ29ubm9ycyA8R3JlZy5Db25ub3JzQG50Lmdvdi5hdT4KK3FsZC5nb3YuYXUKK3NhLmdvdi5hdQordGFzLmdvdi5hdQordmljLmdvdi5hdQord2EuZ292LmF1CisvLyA0TERzCisvLyBlZHVjYXRpb24udGFzLmVkdS5hdSAtIFJlbW92ZWQgYXQgdGhlIHJlcXVlc3Qgb2YgdGhlIERlcGFydG1lbnQgb2YgRWR1Y2F0aW9uIFRhc21hbmlhCitzY2hvb2xzLm5zdy5lZHUuYXUKKworLy8gYXcgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYXcKK2F3Citjb20uYXcKKworLy8gYXggOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYXgKK2F4CisKKy8vIGF6IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmF6CithegorY29tLmF6CituZXQuYXoKK2ludC5hegorZ292LmF6CitvcmcuYXoKK2VkdS5hegoraW5mby5hegorcHAuYXoKK21pbC5hegorbmFtZS5hegorcHJvLmF6CitiaXouYXoKKworLy8gYmEgOiBodHRwOi8vbmljLmJhL3VzZXJzX2RhdGEvZmlsZXMvcHJhdmlsbmlrX29fcmVnaXN0cmFjaWppLnBkZgorYmEKK2NvbS5iYQorZWR1LmJhCitnb3YuYmEKK21pbC5iYQorbmV0LmJhCitvcmcuYmEKKworLy8gYmIgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYmIKK2JiCitiaXouYmIKK2NvLmJiCitjb20uYmIKK2VkdS5iYgorZ292LmJiCitpbmZvLmJiCituZXQuYmIKK29yZy5iYgorc3RvcmUuYmIKK3R2LmJiCisKKy8vIGJkIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmJkCisqLmJkCisKKy8vIGJlIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmJlCisvLyBDb25maXJtZWQgYnkgcmVnaXN0cnkgPHRlY2hAZG5zLmJlPiAyMDA4LTA2LTA4CitiZQorYWMuYmUKKworLy8gYmYgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYmYKK2JmCitnb3YuYmYKKworLy8gYmcgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYmcKKy8vIGh0dHBzOi8vd3d3LnJlZ2lzdGVyLmJnL3VzZXIvc3RhdGljL3J1bGVzL2VuL2luZGV4Lmh0bWwKK2JnCithLmJnCitiLmJnCitjLmJnCitkLmJnCitlLmJnCitmLmJnCitnLmJnCitoLmJnCitpLmJnCitqLmJnCitrLmJnCitsLmJnCittLmJnCituLmJnCitvLmJnCitwLmJnCitxLmJnCityLmJnCitzLmJnCit0LmJnCit1LmJnCit2LmJnCit3LmJnCit4LmJnCit5LmJnCit6LmJnCiswLmJnCisxLmJnCisyLmJnCiszLmJnCis0LmJnCis1LmJnCis2LmJnCis3LmJnCis4LmJnCis5LmJnCisKKy8vIGJoIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmJoCitiaAorY29tLmJoCitlZHUuYmgKK25ldC5iaAorb3JnLmJoCitnb3YuYmgKKworLy8gYmkgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYmkKKy8vIGh0dHA6Ly93aG9pcy5uaWMuYmkvCitiaQorY28uYmkKK2NvbS5iaQorZWR1LmJpCitvci5iaQorb3JnLmJpCisKKy8vIGJpeiA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5iaXoKK2JpegorCisvLyBiaiA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5iagorYmoKK2Fzc28uYmoKK2JhcnJlYXUuYmoKK2dvdXYuYmoKKworLy8gYm0gOiBodHRwOi8vd3d3LmJlcm11ZGFuaWMuYm0vZG5yLXRleHQudHh0CitibQorY29tLmJtCitlZHUuYm0KK2dvdi5ibQorbmV0LmJtCitvcmcuYm0KKworLy8gYm4gOiBodHRwOi8vd3d3LmJubmljLmJuL2ZhcXMKK2JuCitjb20uYm4KK2VkdS5ibgorZ292LmJuCituZXQuYm4KK29yZy5ibgorCisvLyBibyA6IGh0dHBzOi8vbmljLmJvL2RlbGVnYWNpb24yMDE1LnBocCNoLTEuMTAKK2JvCitjb20uYm8KK2VkdS5ibworZ29iLmJvCitpbnQuYm8KK29yZy5ibworbmV0LmJvCittaWwuYm8KK3R2LmJvCit3ZWIuYm8KKy8vIFNvY2lhbCBEb21haW5zCithY2FkZW1pYS5ibworYWdyby5ibworYXJ0ZS5ibworYmxvZy5ibworYm9saXZpYS5ibworY2llbmNpYS5ibworY29vcGVyYXRpdmEuYm8KK2RlbW9jcmFjaWEuYm8KK2RlcG9ydGUuYm8KK2Vjb2xvZ2lhLmJvCitlY29ub21pYS5ibworZW1wcmVzYS5ibworaW5kaWdlbmEuYm8KK2luZHVzdHJpYS5ibworaW5mby5ibworbWVkaWNpbmEuYm8KK21vdmltaWVudG8uYm8KK211c2ljYS5ibworbmF0dXJhbC5ibworbm9tYnJlLmJvCitub3RpY2lhcy5ibworcGF0cmlhLmJvCitwb2xpdGljYS5ibworcHJvZmVzaW9uYWwuYm8KK3BsdXJpbmFjaW9uYWwuYm8KK3B1ZWJsby5ibworcmV2aXN0YS5ibworc2FsdWQuYm8KK3RlY25vbG9naWEuYm8KK3Rrc2F0LmJvCit0cmFuc3BvcnRlLmJvCit3aWtpLmJvCisKKy8vIGJyIDogaHR0cDovL3JlZ2lzdHJvLmJyL2RvbWluaW8vY2F0ZWdvcmlhLmh0bWwKKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8Zm5ldmVzQHJlZ2lzdHJvLmJyPgorYnIKKzlndWFjdS5icgorYWJjLmJyCithZG0uYnIKK2Fkdi5icgorYWdyLmJyCithanUuYnIKK2FtLmJyCithbmFuaS5icgorYXBhcmVjaWRhLmJyCithcHAuYnIKK2FycS5icgorYXJ0LmJyCithdG8uYnIKK2IuYnIKK2JhcnVlcmkuYnIKK2JlbGVtLmJyCitiaHouYnIKK2JpYi5icgorYmlvLmJyCitibG9nLmJyCitibWQuYnIKK2JvYXZpc3RhLmJyCitic2IuYnIKK2NhbXBpbmFncmFuZGUuYnIKK2NhbXBpbmFzLmJyCitjYXhpYXMuYnIKK2NpbS5icgorY25nLmJyCitjbnQuYnIKK2NvbS5icgorY29udGFnZW0uYnIKK2Nvb3AuYnIKK2Nvei5icgorY3JpLmJyCitjdWlhYmEuYnIKK2N1cml0aWJhLmJyCitkZWYuYnIKK2Rlcy5icgorZGV0LmJyCitkZXYuYnIKK2Vjbi5icgorZWNvLmJyCitlZHUuYnIKK2VtcC5icgorZW5mLmJyCitlbmcuYnIKK2VzcC5icgorZXRjLmJyCitldGkuYnIKK2Zhci5icgorZmVpcmEuYnIKK2Zsb2cuYnIKK2Zsb3JpcGEuYnIKK2ZtLmJyCitmbmQuYnIKK2ZvcnRhbC5icgorZm90LmJyCitmb3ouYnIKK2ZzdC5icgorZzEyLmJyCitnZW8uYnIKK2dnZi5icgorZ29pYW5pYS5icgorZ292LmJyCisvLyBnb3YuYnIgMjYgc3RhdGVzICsgZGYgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU3RhdGVzX29mX0JyYXppbAorYWMuZ292LmJyCithbC5nb3YuYnIKK2FtLmdvdi5icgorYXAuZ292LmJyCitiYS5nb3YuYnIKK2NlLmdvdi5icgorZGYuZ292LmJyCitlcy5nb3YuYnIKK2dvLmdvdi5icgorbWEuZ292LmJyCittZy5nb3YuYnIKK21zLmdvdi5icgorbXQuZ292LmJyCitwYS5nb3YuYnIKK3BiLmdvdi5icgorcGUuZ292LmJyCitwaS5nb3YuYnIKK3ByLmdvdi5icgorcmouZ292LmJyCitybi5nb3YuYnIKK3JvLmdvdi5icgorcnIuZ292LmJyCitycy5nb3YuYnIKK3NjLmdvdi5icgorc2UuZ292LmJyCitzcC5nb3YuYnIKK3RvLmdvdi5icgorZ3J1LmJyCitpbWIuYnIKK2luZC5icgoraW5mLmJyCitqYWIuYnIKK2phbXBhLmJyCitqZGYuYnIKK2pvaW52aWxsZS5icgoram9yLmJyCitqdXMuYnIKK2xlZy5icgorbGVsLmJyCitsb2cuYnIKK2xvbmRyaW5hLmJyCittYWNhcGEuYnIKK21hY2Vpby5icgorbWFuYXVzLmJyCittYXJpbmdhLmJyCittYXQuYnIKK21lZC5icgorbWlsLmJyCittb3JlbmEuYnIKK21wLmJyCittdXMuYnIKK25hdGFsLmJyCituZXQuYnIKK25pdGVyb2kuYnIKKyoubm9tLmJyCitub3QuYnIKK250ci5icgorb2RvLmJyCitvbmcuYnIKK29yZy5icgorb3Nhc2NvLmJyCitwYWxtYXMuYnIKK3BvYS5icgorcHBnLmJyCitwcm8uYnIKK3BzYy5icgorcHNpLmJyCitwdmguYnIKK3FzbC5icgorcmFkaW8uYnIKK3JlYy5icgorcmVjaWZlLmJyCityZXAuYnIKK3JpYmVpcmFvLmJyCityaW8uYnIKK3Jpb2JyYW5jby5icgorcmlvcHJldG8uYnIKK3NhbHZhZG9yLmJyCitzYW1wYS5icgorc2FudGFtYXJpYS5icgorc2FudG9hbmRyZS5icgorc2FvYmVybmFyZG8uYnIKK3Nhb2dvbmNhLmJyCitzZWcuYnIKK3NqYy5icgorc2xnLmJyCitzbHouYnIKK3Nvcm9jYWJhLmJyCitzcnYuYnIKK3RheGkuYnIKK3RjLmJyCit0ZWMuYnIKK3Rlby5icgordGhlLmJyCit0bXAuYnIKK3RyZC5icgordHVyLmJyCit0di5icgordWRpLmJyCit2ZXQuYnIKK3ZpeC5icgordmxvZy5icgord2lraS5icgoremxnLmJyCisKKy8vIGJzIDogaHR0cDovL3d3dy5uaWMuYnMvcnVsZXMuaHRtbAorYnMKK2NvbS5icworbmV0LmJzCitvcmcuYnMKK2VkdS5icworZ292LmJzCisKKy8vIGJ0IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmJ0CitidAorY29tLmJ0CitlZHUuYnQKK2dvdi5idAorbmV0LmJ0CitvcmcuYnQKKworLy8gYnYgOiBObyByZWdpc3RyYXRpb25zIGF0IHRoaXMgdGltZS4KKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8amFybGVAdW5pbmV0dC5ubz4KK2J2CisKKy8vIGJ3IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmJ3CisvLyBodHRwOi8vd3d3LmdvYmluLmluZm8vZG9tYWlubmFtZS9idy5kb2MKKy8vIGxpc3Qgb2Ygb3RoZXIgMm5kIGxldmVsIHRsZHMgPworYncKK2NvLmJ3CitvcmcuYncKKworLy8gYnkgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uYnkKKy8vIGh0dHA6Ly90bGQuYnkvcnVsZXNfMjAwNl9lbi5odG1sCisvLyBsaXN0IG9mIG90aGVyIDJuZCBsZXZlbCB0bGRzID8KK2J5Citnb3YuYnkKK21pbC5ieQorLy8gT2ZmaWNpYWwgaW5mb3JtYXRpb24gZG9lcyBub3QgaW5kaWNhdGUgdGhhdCBjb20uYnkgaXMgYSByZXNlcnZlZAorLy8gc2Vjb25kLWxldmVsIGRvbWFpbiwgYnV0IGl0J3MgYmVpbmcgdXNlZCBhcyBvbmUgKHNlZSB3d3cuZ29vZ2xlLmNvbS5ieSBhbmQKKy8vIHd3dy55YWhvby5jb20uYnksIGZvciBleGFtcGxlKSwgc28gd2UgbGlzdCBpdCBoZXJlIGZvciBzYWZldHkncyBzYWtlLgorY29tLmJ5CisKKy8vIGh0dHA6Ly9ob3N0ZXIuYnkvCitvZi5ieQorCisvLyBieiA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5iegorLy8gaHR0cDovL3d3dy5iZWxpemVuaWMuYnovCitiegorY29tLmJ6CituZXQuYnoKK29yZy5iegorZWR1LmJ6Citnb3YuYnoKKworLy8gY2EgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uY2EKK2NhCisvLyBjYSBnZW9ncmFwaGljYWwgbmFtZXMKK2FiLmNhCitiYy5jYQorbWIuY2EKK25iLmNhCituZi5jYQorbmwuY2EKK25zLmNhCitudC5jYQorbnUuY2EKK29uLmNhCitwZS5jYQorcWMuY2EKK3NrLmNhCit5ay5jYQorLy8gZ2MuY2E6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5nYy5jYQorLy8gc2VlIGFsc286IGh0dHA6Ly9yZWdpc3RyeS5nYy5jYS9lbi9TdWJkb21haW5GQVEKK2djLmNhCisKKy8vIGNhdCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5jYXQKK2NhdAorCisvLyBjYyA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5jYworY2MKKworLy8gY2QgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uY2QKKy8vIHNlZSBhbHNvOiBodHRwczovL3d3dy5uaWMuY2QvZG9tYWluL2luc2VydERvbWFpbl8yLmpzcD9hY3Q9MQorY2QKK2dvdi5jZAorCisvLyBjZiA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5jZgorY2YKKworLy8gY2cgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uY2cKK2NnCisKKy8vIGNoIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmNoCitjaAorCisvLyBjaSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5jaQorLy8gaHR0cDovL3d3dy5uaWMuY2kvaW5kZXgucGhwP3BhZ2U9Y2hhcnRlCitjaQorb3JnLmNpCitvci5jaQorY29tLmNpCitjby5jaQorZWR1LmNpCitlZC5jaQorYWMuY2kKK25ldC5jaQorZ28uY2kKK2Fzc28uY2kKK2HDqXJvcG9ydC5jaQoraW50LmNpCitwcmVzc2UuY2kKK21kLmNpCitnb3V2LmNpCisKKy8vIGNrIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmNrCisqLmNrCishd3d3LmNrCisKKy8vIGNsIDogaHR0cHM6Ly93d3cubmljLmNsCisvLyBDb25maXJtZWQgYnkgLkNMIHJlZ2lzdHJ5IDxoc2FsZ2Fkb0BuaWMuY2w+CitjbAorY28uY2wKK2dvYi5jbAorZ292LmNsCittaWwuY2wKKworLy8gY20gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uY20gcGx1cyBidWcgOTgxOTI3CitjbQorY28uY20KK2NvbS5jbQorZ292LmNtCituZXQuY20KKworLy8gY24gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uY24KKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8dGFueWFsaW5nQGNubmljLmNuPgorY24KK2FjLmNuCitjb20uY24KK2VkdS5jbgorZ292LmNuCituZXQuY24KK29yZy5jbgorbWlsLmNuCivlhazlj7guY24KK+e9kee7nC5jbgor57ay57WhLmNuCisvLyBjbiBnZW9ncmFwaGljIG5hbWVzCithaC5jbgorYmouY24KK2NxLmNuCitmai5jbgorZ2QuY24KK2dzLmNuCitnei5jbgorZ3guY24KK2hhLmNuCitoYi5jbgoraGUuY24KK2hpLmNuCitobC5jbgoraG4uY24KK2psLmNuCitqcy5jbgoranguY24KK2xuLmNuCitubS5jbgorbnguY24KK3FoLmNuCitzYy5jbgorc2QuY24KK3NoLmNuCitzbi5jbgorc3guY24KK3RqLmNuCit4ai5jbgoreHouY24KK3luLmNuCit6ai5jbgoraGsuY24KK21vLmNuCit0dy5jbgorCisvLyBjbyA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5jbworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDx0ZWNuaWNvQHVuaWFuZGVzLmVkdS5jbz4KK2NvCithcnRzLmNvCitjb20uY28KK2VkdS5jbworZmlybS5jbworZ292LmNvCitpbmZvLmNvCitpbnQuY28KK21pbC5jbworbmV0LmNvCitub20uY28KK29yZy5jbworcmVjLmNvCit3ZWIuY28KKworLy8gY29tIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmNvbQorY29tCisKKy8vIGNvb3AgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uY29vcAorY29vcAorCisvLyBjciA6IGh0dHA6Ly93d3cubmljLmNyL25pY2NyX3B1YmxpY28vc2hvd1JlZ2lzdHJvRG9taW5pb3NTY3JlZW4uZG8KK2NyCithYy5jcgorY28uY3IKK2VkLmNyCitmaS5jcgorZ28uY3IKK29yLmNyCitzYS5jcgorCisvLyBjdSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5jdQorY3UKK2NvbS5jdQorZWR1LmN1CitvcmcuY3UKK25ldC5jdQorZ292LmN1CitpbmYuY3UKKworLy8gY3YgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uY3YKKy8vIGN2IDogaHR0cDovL3d3dy5kbnMuY3YvdGxkY3ZfcG9ydGFsL2RvP2NvbT1EUzs1NDQ2NDU3MTAwOzExMTsrUEFHRSg0MDAwMDE4KStLLUNBVC1DT0RJR08oUkRPTSkrUkNOVCgxMDApOyA8LSByZWdpc3RyYXRpb24gcnVsZXMKK2N2Citjb20uY3YKK2VkdS5jdgoraW50LmN2Citub21lLmN2CitvcmcuY3YKKworLy8gY3cgOiBodHRwOi8vd3d3LnVuYS5jdy9jd19yZWdpc3RyeS8KKy8vIENvbmZpcm1lZCBieSByZWdpc3RyeSA8cmVnaXN0cnlAdW5hLm5ldD4gMjAxMy0wMy0yNgorY3cKK2NvbS5jdworZWR1LmN3CituZXQuY3cKK29yZy5jdworCisvLyBjeCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5jeAorLy8gbGlzdCBvZiBvdGhlciAybmQgbGV2ZWwgdGxkcyA/CitjeAorZ292LmN4CisKKy8vIGN5IDogaHR0cDovL3d3dy5uaWMuY3kvCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgUGFuYXlpb3RvdSBGb3RpYSA8Y3lkbnNAdWN5LmFjLmN5PgorLy8gbmFtZXNwYWNlIHBvbGljaWVzIFVSTCBodHRwczovL3d3dy5uaWMuY3kvcG9ydGFsLy9zaXRlcy9kZWZhdWx0L2ZpbGVzL3N5bWZvbmlhX2dpYV9lZ2dyYWZpLnBkZgorY3kKK2FjLmN5CitiaXouY3kKK2NvbS5jeQorZWtsb2dlcy5jeQorZ292LmN5CitsdGQuY3kKK21pbC5jeQorbmV0LmN5CitvcmcuY3kKK3ByZXNzLmN5Citwcm8uY3kKK3RtLmN5CisKKy8vIGN6IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmN6CitjegorCisvLyBkZSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5kZQorLy8gQ29uZmlybWVkIGJ5IHJlZ2lzdHJ5IDxvcHNAZGVuaWMuZGU+ICh3aXRoIHRlY2huaWNhbAorLy8gcmVzZXJ2YXRpb25zKSAyMDA4LTA3LTAxCitkZQorCisvLyBkaiA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5kagorZGoKKworLy8gZGsgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZGsKKy8vIENvbmZpcm1lZCBieSByZWdpc3RyeSA8cm9iZXJ0QGRrLWhvc3RtYXN0ZXIuZGs+IDIwMDgtMDYtMTcKK2RrCisKKy8vIGRtIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmRtCitkbQorY29tLmRtCituZXQuZG0KK29yZy5kbQorZWR1LmRtCitnb3YuZG0KKworLy8gZG8gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZG8KK2RvCithcnQuZG8KK2NvbS5kbworZWR1LmRvCitnb2IuZG8KK2dvdi5kbworbWlsLmRvCituZXQuZG8KK29yZy5kbworc2xkLmRvCit3ZWIuZG8KKworLy8gZHogOiBodHRwOi8vd3d3Lm5pYy5kei9pbWFnZXMvcGRmX25pYy9jaGFydGUucGRmCitkegorYXJ0LmR6Cithc3NvLmR6Citjb20uZHoKK2VkdS5kegorZ292LmR6CitvcmcuZHoKK25ldC5kegorcG9sLmR6Citzb2MuZHoKK3RtLmR6CisKKy8vIGVjIDogaHR0cDovL3d3dy5uaWMuZWMvcmVnL3Bhc28xLmFzcAorLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDx2YWJib3VkQG5pYy5lYz4KK2VjCitjb20uZWMKK2luZm8uZWMKK25ldC5lYworZmluLmVjCitrMTIuZWMKK21lZC5lYworcHJvLmVjCitvcmcuZWMKK2VkdS5lYworZ292LmVjCitnb2IuZWMKK21pbC5lYworCisvLyBlZHUgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZWR1CitlZHUKKworLy8gZWUgOiBodHRwOi8vd3d3LmVlbmV0LmVlL0VFTmV0L2RvbV9yZWVnbGlkLmh0bWwjbGlzYV9CCitlZQorZWR1LmVlCitnb3YuZWUKK3JpaWsuZWUKK2xpYi5lZQorbWVkLmVlCitjb20uZWUKK3ByaS5lZQorYWlwLmVlCitvcmcuZWUKK2ZpZS5lZQorCisvLyBlZyA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5lZworZWcKK2NvbS5lZworZWR1LmVnCitldW4uZWcKK2dvdi5lZworbWlsLmVnCituYW1lLmVnCituZXQuZWcKK29yZy5lZworc2NpLmVnCisKKy8vIGVyIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmVyCisqLmVyCisKKy8vIGVzIDogaHR0cHM6Ly93d3cubmljLmVzL3NpdGVfaW5nbGVzL2luZ2xlcy9kb21pbmlvcy9pbmRleC5odG1sCitlcworY29tLmVzCitub20uZXMKK29yZy5lcworZ29iLmVzCitlZHUuZXMKKworLy8gZXQgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZXQKK2V0Citjb20uZXQKK2dvdi5ldAorb3JnLmV0CitlZHUuZXQKK2Jpei5ldAorbmFtZS5ldAoraW5mby5ldAorbmV0LmV0CisKKy8vIGV1IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmV1CitldQorCisvLyBmaSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5maQorZmkKKy8vIGFsYW5kLmZpIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmF4CisvLyBUaGlzIGRvbWFpbiBpcyBiZWluZyBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIC5heC4gQXMgdGhlcmUgYXJlIHN0aWxsIG1hbnkKKy8vIGRvbWFpbnMgdW5kZXIgYWxhbmQuZmksIHdlIHN0aWxsIGtlZXAgaXQgb24gdGhlIGxpc3QgdW50aWwgYWxhbmQuZmkgaXMKKy8vIGNvbXBsZXRlbHkgcmVtb3ZlZC4KKy8vIFRPRE86IENoZWNrIGZvciB1cGRhdGVzIChleHBlY3RlZCB0byBiZSBwaGFzZWQgb3V0IGFyb3VuZCBRMS8yMDA5KQorYWxhbmQuZmkKKworLy8gZmogOiBodHRwOi8vZG9tYWlucy5mai8KKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8Z2FydGgubWlsbGVyQGNvY2NhLm9yZy5uej4gMjAyMC0wMi0xMQorZmoKK2FjLmZqCitiaXouZmoKK2NvbS5magorZ292LmZqCitpbmZvLmZqCittaWwuZmoKK25hbWUuZmoKK25ldC5magorb3JnLmZqCitwcm8uZmoKKworLy8gZmsgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZmsKKyouZmsKKworLy8gZm0gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZm0KK2NvbS5mbQorZWR1LmZtCituZXQuZm0KK29yZy5mbQorZm0KKworLy8gZm8gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZm8KK2ZvCisKKy8vIGZyIDogaHR0cDovL3d3dy5hZm5pYy5mci8KKy8vIGRvbWFpbmVzIGRlc2NyaXB0aWZzIDogaHR0cHM6Ly93d3cuYWZuaWMuZnIvbWVkaWFzL2RvY3VtZW50cy9DYWRyZV9sZWdhbC9BZm5pY19OYW1pbmdfUG9saWN5XzEyMTIyMDE2X1ZFTi5wZGYKK2ZyCithc3NvLmZyCitjb20uZnIKK2dvdXYuZnIKK25vbS5mcgorcHJkLmZyCit0bS5mcgorLy8gZG9tYWluZXMgc2VjdG9yaWVscyA6IGh0dHBzOi8vd3d3LmFmbmljLmZyL2VuL3Byb2R1Y3RzLWFuZC1zZXJ2aWNlcy90aGUtZnItdGxkL3NlY3Rvci1iYXNlZC1mci1kb21haW5zLTQuaHRtbAorYWVyb3BvcnQuZnIKK2F2b2NhdC5mcgorYXZvdWVzLmZyCitjY2kuZnIKK2NoYW1iYWdyaS5mcgorY2hpcnVyZ2llbnMtZGVudGlzdGVzLmZyCitleHBlcnRzLWNvbXB0YWJsZXMuZnIKK2dlb21ldHJlLWV4cGVydC5mcgorZ3JldGEuZnIKK2h1aXNzaWVyLWp1c3RpY2UuZnIKK21lZGVjaW4uZnIKK25vdGFpcmVzLmZyCitwaGFybWFjaWVuLmZyCitwb3J0LmZyCit2ZXRlcmluYWlyZS5mcgorCisvLyBnYSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5nYQorZ2EKKworLy8gZ2IgOiBUaGlzIHJlZ2lzdHJ5IGlzIGVmZmVjdGl2ZWx5IGRvcm1hbnQKKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8RGFtaWVuLlNoYXdAamEubmV0PgorZ2IKKworLy8gZ2QgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZ2QKK2VkdS5nZAorZ292LmdkCitnZAorCisvLyBnZSA6IGh0dHA6Ly93d3cubmljLm5ldC5nZS9wb2xpY3lfZW4ucGRmCitnZQorY29tLmdlCitlZHUuZ2UKK2dvdi5nZQorb3JnLmdlCittaWwuZ2UKK25ldC5nZQorcHZ0LmdlCisKKy8vIGdmIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmdmCitnZgorCisvLyBnZyA6IGh0dHA6Ly93d3cuY2hhbm5lbGlzbGVzLm5ldC9yZWdpc3Rlci1kb21haW5zLworLy8gQ29uZmlybWVkIGJ5IHJlZ2lzdHJ5IDxuaWdlbEBjaGFubmVsaXNsZXMubmV0PiAyMDEzLTExLTI4CitnZworY28uZ2cKK25ldC5nZworb3JnLmdnCisKKy8vIGdoIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmdoCisvLyBzZWUgYWxzbzogaHR0cDovL3d3dy5uaWMuZ2gvcmVnX25vdy5waHAKKy8vIEFsdGhvdWdoIGRvbWFpbnMgZGlyZWN0bHkgYXQgc2Vjb25kIGxldmVsIGFyZSBub3QgcG9zc2libGUgYXQgdGhlIG1vbWVudCwKKy8vIHRoZXkgaGF2ZSBiZWVuIHBvc3NpYmxlIGZvciBzb21lIHRpbWUgYW5kIG1heSBjb21lIGJhY2suCitnaAorY29tLmdoCitlZHUuZ2gKK2dvdi5naAorb3JnLmdoCittaWwuZ2gKKworLy8gZ2kgOiBodHRwOi8vd3d3Lm5pYy5naS9ydWxlcy5odG1sCitnaQorY29tLmdpCitsdGQuZ2kKK2dvdi5naQorbW9kLmdpCitlZHUuZ2kKK29yZy5naQorCisvLyBnbCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5nbAorLy8gaHR0cDovL25pYy5nbAorZ2wKK2NvLmdsCitjb20uZ2wKK2VkdS5nbAorbmV0LmdsCitvcmcuZ2wKKworLy8gZ20gOiBodHRwOi8vd3d3Lm5pYy5nbS9odG1scGFnZXMlNUNnbS1wb2xpY3kuaHRtCitnbQorCisvLyBnbiA6IGh0dHA6Ly9wc2cuY29tL2Rucy9nbi9nbi50eHQKKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8cmFuZHlAcHNnLmNvbT4KK2duCithYy5nbgorY29tLmduCitlZHUuZ24KK2dvdi5nbgorb3JnLmduCituZXQuZ24KKworLy8gZ292IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmdvdgorZ292CisKKy8vIGdwIDogaHR0cDovL3d3dy5uaWMuZ3AvaW5kZXgucGhwP2xhbmc9ZW4KK2dwCitjb20uZ3AKK25ldC5ncAorbW9iaS5ncAorZWR1LmdwCitvcmcuZ3AKK2Fzc28uZ3AKKworLy8gZ3EgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZ3EKK2dxCisKKy8vIGdyIDogaHR0cHM6Ly9ncndlYi5pY3MuZm9ydGguZ3IvZW5nbGlzaC8xNjE3LUItMjAwNS5odG1sCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPHNlZ3JlZEBpY3MuZm9ydGguZ3I+CitncgorY29tLmdyCitlZHUuZ3IKK25ldC5ncgorb3JnLmdyCitnb3YuZ3IKKworLy8gZ3MgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZ3MKK2dzCisKKy8vIGd0IDogaHR0cHM6Ly93d3cuZ3Qvc2l0aW8vcmVnaXN0cmF0aW9uX3BvbGljeS5waHA/bGFuZz1lbgorZ3QKK2NvbS5ndAorZWR1Lmd0Citnb2IuZ3QKK2luZC5ndAorbWlsLmd0CituZXQuZ3QKK29yZy5ndAorCisvLyBndSA6IGh0dHA6Ly9nYWRhby5nb3YuZ3UvcmVnaXN0ZXIuaHRtbAorLy8gVW5pdmVyc2l0eSBvZiBHdWFtIDogaHR0cHM6Ly93d3cudW9nLmVkdQorLy8gU3VibWl0dGVkIGJ5IHVvZ25vY0B0cml0b24udW9nLmVkdQorZ3UKK2NvbS5ndQorZWR1Lmd1Citnb3YuZ3UKK2d1YW0uZ3UKK2luZm8uZ3UKK25ldC5ndQorb3JnLmd1Cit3ZWIuZ3UKKworLy8gZ3cgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZ3cKKy8vIGd3IDogaHR0cHM6Ly9uaWMuZ3cvcmVncmFzLworZ3cKKworLy8gZ3kgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uZ3kKKy8vIGh0dHA6Ly9yZWdpc3RyeS5neS8KK2d5Citjby5neQorY29tLmd5CitlZHUuZ3kKK2dvdi5neQorbmV0Lmd5CitvcmcuZ3kKKworLy8gaGsgOiBodHRwczovL3d3dy5oa2lyYy5oaworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxoay50ZWNoQGhraXJjLmhrPgoraGsKK2NvbS5oaworZWR1LmhrCitnb3YuaGsKK2lkdi5oaworbmV0LmhrCitvcmcuaGsKK+WFrOWPuC5oawor5pWZ6IKyLmhrCivmlY7ogrIuaGsKK+aUv+W6nC5oawor5YCL5Lq6LmhrCivkuKrkurouaGsKK+euh+S6ui5oawor57ay57ucLmhrCivnvZHnu5wuaGsKK+e7hOe5lC5oawor57ay57WhLmhrCivnvZHntaEuaGsKK+e7hOe7hy5oawor57WE57mULmhrCivntYTnu4cuaGsKKworLy8gaG0gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uaG0KK2htCisKKy8vIGhuIDogaHR0cDovL3d3dy5uaWMuaG4vcG9saXRpY2FzL3BzMDIsLDA1Lmh0bWwKK2huCitjb20uaG4KK2VkdS5obgorb3JnLmhuCituZXQuaG4KK21pbC5obgorZ29iLmhuCisKKy8vIGhyIDogaHR0cDovL3d3dy5kbnMuaHIvZG9jdW1lbnRzL3BkZi9IUlRMRC1yZWd1bGF0aW9ucy5wZGYKK2hyCitpei5ocgorZnJvbS5ocgorbmFtZS5ocgorY29tLmhyCisKKy8vIGh0IDogaHR0cDovL3d3dy5uaWMuaHQvaW5mby9jaGFydGUuY2ZtCitodAorY29tLmh0CitzaG9wLmh0CitmaXJtLmh0CitpbmZvLmh0CithZHVsdC5odAorbmV0Lmh0Citwcm8uaHQKK29yZy5odAorbWVkLmh0CithcnQuaHQKK2Nvb3AuaHQKK3BvbC5odAorYXNzby5odAorZWR1Lmh0CityZWwuaHQKK2dvdXYuaHQKK3BlcnNvLmh0CisKKy8vIGh1IDogaHR0cDovL3d3dy5kb21haW4uaHUvZG9tYWluL0VuZ2xpc2gvc2xkLmh0bWwKKy8vIENvbmZpcm1lZCBieSByZWdpc3RyeSA8cGFzenRvckBpc3p0Lmh1PiAyMDA4LTA2LTEyCitodQorY28uaHUKK2luZm8uaHUKK29yZy5odQorcHJpdi5odQorc3BvcnQuaHUKK3RtLmh1CisyMDAwLmh1CithZ3Jhci5odQorYm9sdC5odQorY2FzaW5vLmh1CitjaXR5Lmh1Citlcm90aWNhLmh1Citlcm90aWthLmh1CitmaWxtLmh1Citmb3J1bS5odQorZ2FtZXMuaHUKK2hvdGVsLmh1CitpbmdhdGxhbi5odQoram9nYXN6Lmh1Citrb255dmVsby5odQorbGFrYXMuaHUKK21lZGlhLmh1CituZXdzLmh1CityZWtsYW0uaHUKK3NleC5odQorc2hvcC5odQorc3VsaS5odQorc3pleC5odQordG96c2RlLmh1Cit1dGF6YXMuaHUKK3ZpZGVvLmh1CisKKy8vIGlkIDogaHR0cHM6Ly9wYW5kaS5pZC9lbi9kb21haW4vcmVnaXN0cmF0aW9uLXJlcXVpcmVtZW50cy8KK2lkCithYy5pZAorYml6LmlkCitjby5pZAorZGVzYS5pZAorZ28uaWQKK21pbC5pZAorbXkuaWQKK25ldC5pZAorb3IuaWQKK3BvbnBlcy5pZAorc2NoLmlkCit3ZWIuaWQKKworLy8gaWUgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uaWUKK2llCitnb3YuaWUKKworLy8gaWwgOiAgICAgICAgIGh0dHA6Ly93d3cuaXNvYy5vcmcuaWwvZG9tYWlucy8KKy8vIHNlZSBhbHNvOiAgICBodHRwczovL2VuLmlzb2Mub3JnLmlsL2lsLWNjdGxkL3JlZ2lzdHJhdGlvbi1ydWxlcworLy8gSVNPQy1JTCAgICAgIChvcGVyYXRlZCBieSAuaWwgUmVnaXN0cnkpCitpbAorYWMuaWwKK2NvLmlsCitnb3YuaWwKK2lkZi5pbAorazEyLmlsCittdW5pLmlsCituZXQuaWwKK29yZy5pbAorLy8geG4tLTRkYnJrMGNlICgiSXNyYWVsIiwgSGVicmV3KSA6IElMCivXmdep16jXkNecCisvLyB4bi0tNGRiZ2R0eTZjLnhuLS00ZGJyazBjZS4KK9eQ16fXk9ee15nXlC7Xmdep16jXkNecCisvLyB4bi0tNWRiaGw4ZC54bi0tNGRicmswY2UuCivXmdep15XXkS7Xmdep16jXkNecCisvLyB4bi0tOGRicTJhLnhuLS00ZGJyazBjZS4KK9em15TXnC7Xmdep16jXkNecCisvLyB4bi0taGViZGE4Yi54bi0tNGRicmswY2UuCivXntee16nXnC7Xmdep16jXkNecCisKKy8vIGltIDogaHR0cHM6Ly93d3cubmljLmltLworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxpbmZvQG5pYy5pbT4KK2ltCithYy5pbQorY28uaW0KK2NvbS5pbQorbHRkLmNvLmltCituZXQuaW0KK29yZy5pbQorcGxjLmNvLmltCit0dC5pbQordHYuaW0KKworLy8gaW4gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uaW4KKy8vIHNlZSBhbHNvOiBodHRwczovL3JlZ2lzdHJ5LmluL3BvbGljaWVzCisvLyBQbGVhc2Ugbm90ZSwgdGhhdCBuaWMuaW4gaXMgbm90IGFuIG9mZmljaWFsIGVUTEQsIGJ1dCB1c2VkIGJ5IG1vc3QKKy8vIGdvdmVybm1lbnQgaW5zdGl0dXRpb25zLgoraW4KKzVnLmluCis2Zy5pbgorYWMuaW4KK2FpLmluCithbS5pbgorYmloYXIuaW4KK2Jpei5pbgorYnVzaW5lc3MuaW4KK2NhLmluCitjbi5pbgorY28uaW4KK2NvbS5pbgorY29vcC5pbgorY3MuaW4KK2RlbGhpLmluCitkci5pbgorZWR1LmluCitlci5pbgorZmlybS5pbgorZ2VuLmluCitnb3YuaW4KK2d1amFyYXQuaW4KK2luZC5pbgoraW5mby5pbgoraW50LmluCitpbnRlcm5ldC5pbgoraW8uaW4KK21lLmluCittaWwuaW4KK25ldC5pbgorbmljLmluCitvcmcuaW4KK3BnLmluCitwb3N0LmluCitwcm8uaW4KK3Jlcy5pbgordHJhdmVsLmluCit0di5pbgordWsuaW4KK3VwLmluCit1cy5pbgorCisvLyBpbmZvIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmluZm8KK2luZm8KKworLy8gaW50IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmludAorLy8gQ29uZmlybWVkIGJ5IHJlZ2lzdHJ5IDxpYW5hLXF1ZXN0aW9uc0BpY2Fubi5vcmc+IDIwMDgtMDYtMTgKK2ludAorZXUuaW50CisKKy8vIGlvIDogaHR0cDovL3d3dy5uaWMuaW8vcnVsZXMuaHRtCisvLyBsaXN0IG9mIG90aGVyIDJuZCBsZXZlbCB0bGRzID8KK2lvCitjb20uaW8KKworLy8gaXEgOiBodHRwOi8vd3d3LmNtYy5pcS9lbmdsaXNoL2lxL2lxcmVnaXN0ZXIxLmh0bQoraXEKK2dvdi5pcQorZWR1LmlxCittaWwuaXEKK2NvbS5pcQorb3JnLmlxCituZXQuaXEKKworLy8gaXIgOiBodHRwOi8vd3d3Lm5pYy5pci9UZXJtc19hbmRfQ29uZGl0aW9uc19pcixfQXBwZW5kaXhfMV9Eb21haW5fUnVsZXMKKy8vIEFsc28gc2VlIGh0dHA6Ly93d3cubmljLmlyL0ludGVybmF0aW9uYWxpemVkX0RvbWFpbl9OYW1lcworLy8gVHdvIDxpcmFuPi5pciBlbnRyaWVzIGFkZGVkIGF0IHJlcXVlc3Qgb2YgPHRlY2gtdGVhbUBuaWMuaXI+LCAyMDEwLTA0LTE2CitpcgorYWMuaXIKK2NvLmlyCitnb3YuaXIKK2lkLmlyCituZXQuaXIKK29yZy5pcgorc2NoLmlyCisvLyB4bi0tbWdiYTNhNGYxNmEuaXIgKDxpcmFuPi5pciwgUGVyc2lhbiBZRUgpCivYp9uM2LHYp9mGLmlyCisvLyB4bi0tbWdiYTNhNGZyYS5pciAoPGlyYW4+LmlyLCBBcmFiaWMgWUVIKQor2KfZitix2KfZhi5pcgorCisvLyBpcyA6IGh0dHA6Ly93d3cuaXNuaWMuaXMvZG9tYWluL3J1bGVzLnBocAorLy8gQ29uZmlybWVkIGJ5IHJlZ2lzdHJ5IDxtYXJpdXNAaXNnYXRlLmlzPiAyMDA4LTEyLTA2CitpcworbmV0LmlzCitjb20uaXMKK2VkdS5pcworZ292LmlzCitvcmcuaXMKK2ludC5pcworCisvLyBpdCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5pdAoraXQKK2dvdi5pdAorZWR1Lml0CisvLyBSZXNlcnZlZCBnZW8tbmFtZXMgKHJlZ2lvbnMgYW5kIHByb3ZpbmNlcyk6CisvLyBodHRwczovL3d3dy5uaWMuaXQvc2l0ZXMvZGVmYXVsdC9maWxlcy9hcmNoaXZpby9kb2NzL1JlZ3VsYXRpb25fYXNzaWduYXRpb25fdjcuMS5wZGYKKy8vIFJlZ2lvbnMKK2Fici5pdAorYWJydXp6by5pdAorYW9zdGEtdmFsbGV5Lml0Cithb3N0YXZhbGxleS5pdAorYmFzLml0CitiYXNpbGljYXRhLml0CitjYWwuaXQKK2NhbGFicmlhLml0CitjYW0uaXQKK2NhbXBhbmlhLml0CitlbWlsaWEtcm9tYWduYS5pdAorZW1pbGlhcm9tYWduYS5pdAorZW1yLml0Citmcml1bGktdi1naXVsaWEuaXQKK2ZyaXVsaS12ZS1naXVsaWEuaXQKK2ZyaXVsaS12ZWdpdWxpYS5pdAorZnJpdWxpLXZlbmV6aWEtZ2l1bGlhLml0Citmcml1bGktdmVuZXppYWdpdWxpYS5pdAorZnJpdWxpLXZnaXVsaWEuaXQKK2ZyaXVsaXYtZ2l1bGlhLml0Citmcml1bGl2ZS1naXVsaWEuaXQKK2ZyaXVsaXZlZ2l1bGlhLml0Citmcml1bGl2ZW5lemlhLWdpdWxpYS5pdAorZnJpdWxpdmVuZXppYWdpdWxpYS5pdAorZnJpdWxpdmdpdWxpYS5pdAorZnZnLml0CitsYXouaXQKK2xhemlvLml0CitsaWcuaXQKK2xpZ3VyaWEuaXQKK2xvbS5pdAorbG9tYmFyZGlhLml0Citsb21iYXJkeS5pdAorbHVjYW5pYS5pdAorbWFyLml0CittYXJjaGUuaXQKK21vbC5pdAorbW9saXNlLml0CitwaWVkbW9udC5pdAorcGllbW9udGUuaXQKK3Btbi5pdAorcHVnLml0CitwdWdsaWEuaXQKK3Nhci5pdAorc2FyZGVnbmEuaXQKK3NhcmRpbmlhLml0CitzaWMuaXQKK3NpY2lsaWEuaXQKK3NpY2lseS5pdAordGFhLml0Cit0b3MuaXQKK3Rvc2NhbmEuaXQKK3RyZW50aW4tc3VkLXRpcm9sLml0Cit0cmVudGluLXPDvGQtdGlyb2wuaXQKK3RyZW50aW4tc3VkdGlyb2wuaXQKK3RyZW50aW4tc8O8ZHRpcm9sLml0Cit0cmVudGluLXN1ZWQtdGlyb2wuaXQKK3RyZW50aW4tc3VlZHRpcm9sLml0Cit0cmVudGluby1hLWFkaWdlLml0Cit0cmVudGluby1hYWRpZ2UuaXQKK3RyZW50aW5vLWFsdG8tYWRpZ2UuaXQKK3RyZW50aW5vLWFsdG9hZGlnZS5pdAordHJlbnRpbm8tcy10aXJvbC5pdAordHJlbnRpbm8tc3Rpcm9sLml0Cit0cmVudGluby1zdWQtdGlyb2wuaXQKK3RyZW50aW5vLXPDvGQtdGlyb2wuaXQKK3RyZW50aW5vLXN1ZHRpcm9sLml0Cit0cmVudGluby1zw7xkdGlyb2wuaXQKK3RyZW50aW5vLXN1ZWQtdGlyb2wuaXQKK3RyZW50aW5vLXN1ZWR0aXJvbC5pdAordHJlbnRpbm8uaXQKK3RyZW50aW5vYS1hZGlnZS5pdAordHJlbnRpbm9hYWRpZ2UuaXQKK3RyZW50aW5vYWx0by1hZGlnZS5pdAordHJlbnRpbm9hbHRvYWRpZ2UuaXQKK3RyZW50aW5vcy10aXJvbC5pdAordHJlbnRpbm9zdGlyb2wuaXQKK3RyZW50aW5vc3VkLXRpcm9sLml0Cit0cmVudGlub3PDvGQtdGlyb2wuaXQKK3RyZW50aW5vc3VkdGlyb2wuaXQKK3RyZW50aW5vc8O8ZHRpcm9sLml0Cit0cmVudGlub3N1ZWQtdGlyb2wuaXQKK3RyZW50aW5vc3VlZHRpcm9sLml0Cit0cmVudGluc3VkLXRpcm9sLml0Cit0cmVudGluc8O8ZC10aXJvbC5pdAordHJlbnRpbnN1ZHRpcm9sLml0Cit0cmVudGluc8O8ZHRpcm9sLml0Cit0cmVudGluc3VlZC10aXJvbC5pdAordHJlbnRpbnN1ZWR0aXJvbC5pdAordHVzY2FueS5pdAordW1iLml0Cit1bWJyaWEuaXQKK3ZhbC1kLWFvc3RhLml0Cit2YWwtZGFvc3RhLml0Cit2YWxkLWFvc3RhLml0Cit2YWxkYW9zdGEuaXQKK3ZhbGxlLWFvc3RhLml0Cit2YWxsZS1kLWFvc3RhLml0Cit2YWxsZS1kYW9zdGEuaXQKK3ZhbGxlYW9zdGEuaXQKK3ZhbGxlZC1hb3N0YS5pdAordmFsbGVkYW9zdGEuaXQKK3ZhbGxlZS1hb3N0ZS5pdAordmFsbMOpZS1hb3N0ZS5pdAordmFsbGVlLWQtYW9zdGUuaXQKK3ZhbGzDqWUtZC1hb3N0ZS5pdAordmFsbGVlYW9zdGUuaXQKK3ZhbGzDqWVhb3N0ZS5pdAordmFsbGVlZGFvc3RlLml0Cit2YWxsw6llZGFvc3RlLml0Cit2YW8uaXQKK3ZkYS5pdAordmVuLml0Cit2ZW5ldG8uaXQKKy8vIFByb3ZpbmNlcworYWcuaXQKK2FncmlnZW50by5pdAorYWwuaXQKK2FsZXNzYW5kcmlhLml0CithbHRvLWFkaWdlLml0CithbHRvYWRpZ2UuaXQKK2FuLml0CithbmNvbmEuaXQKK2FuZHJpYS1iYXJsZXR0YS10cmFuaS5pdAorYW5kcmlhLXRyYW5pLWJhcmxldHRhLml0CithbmRyaWFiYXJsZXR0YXRyYW5pLml0CithbmRyaWF0cmFuaWJhcmxldHRhLml0Cithby5pdAorYW9zdGEuaXQKK2Fvc3RlLml0CithcC5pdAorYXEuaXQKK2FxdWlsYS5pdAorYXIuaXQKK2FyZXp6by5pdAorYXNjb2xpLXBpY2Vuby5pdAorYXNjb2xpcGljZW5vLml0Cithc3RpLml0CithdC5pdAorYXYuaXQKK2F2ZWxsaW5vLml0CitiYS5pdAorYmFsc2FuLXN1ZHRpcm9sLml0CitiYWxzYW4tc8O8ZHRpcm9sLml0CitiYWxzYW4tc3VlZHRpcm9sLml0CitiYWxzYW4uaXQKK2JhcmkuaXQKK2JhcmxldHRhLXRyYW5pLWFuZHJpYS5pdAorYmFybGV0dGF0cmFuaWFuZHJpYS5pdAorYmVsbHVuby5pdAorYmVuZXZlbnRvLml0CitiZXJnYW1vLml0CitiZy5pdAorYmkuaXQKK2JpZWxsYS5pdAorYmwuaXQKK2JuLml0Citiby5pdAorYm9sb2duYS5pdAorYm9semFuby1hbHRvYWRpZ2UuaXQKK2JvbHphbm8uaXQKK2JvemVuLXN1ZHRpcm9sLml0Citib3plbi1zw7xkdGlyb2wuaXQKK2JvemVuLXN1ZWR0aXJvbC5pdAorYm96ZW4uaXQKK2JyLml0CiticmVzY2lhLml0CiticmluZGlzaS5pdAorYnMuaXQKK2J0Lml0CitidWxzYW4tc3VkdGlyb2wuaXQKK2J1bHNhbi1zw7xkdGlyb2wuaXQKK2J1bHNhbi1zdWVkdGlyb2wuaXQKK2J1bHNhbi5pdAorYnouaXQKK2NhLml0CitjYWdsaWFyaS5pdAorY2FsdGFuaXNzZXR0YS5pdAorY2FtcGlkYW5vLW1lZGlvLml0CitjYW1waWRhbm9tZWRpby5pdAorY2FtcG9iYXNzby5pdAorY2FyYm9uaWEtaWdsZXNpYXMuaXQKK2NhcmJvbmlhaWdsZXNpYXMuaXQKK2NhcnJhcmEtbWFzc2EuaXQKK2NhcnJhcmFtYXNzYS5pdAorY2FzZXJ0YS5pdAorY2F0YW5pYS5pdAorY2F0YW56YXJvLml0CitjYi5pdAorY2UuaXQKK2Nlc2VuYS1mb3JsaS5pdAorY2VzZW5hLWZvcmzDrC5pdAorY2VzZW5hZm9ybGkuaXQKK2Nlc2VuYWZvcmzDrC5pdAorY2guaXQKK2NoaWV0aS5pdAorY2kuaXQKK2NsLml0Citjbi5pdAorY28uaXQKK2NvbW8uaXQKK2Nvc2VuemEuaXQKK2NyLml0CitjcmVtb25hLml0Citjcm90b25lLml0Citjcy5pdAorY3QuaXQKK2N1bmVvLml0Citjei5pdAorZGVsbC1vZ2xpYXN0cmEuaXQKK2RlbGxvZ2xpYXN0cmEuaXQKK2VuLml0Citlbm5hLml0CitmYy5pdAorZmUuaXQKK2Zlcm1vLml0CitmZXJyYXJhLml0CitmZy5pdAorZmkuaXQKK2ZpcmVuemUuaXQKK2Zsb3JlbmNlLml0CitmbS5pdAorZm9nZ2lhLml0Citmb3JsaS1jZXNlbmEuaXQKK2ZvcmzDrC1jZXNlbmEuaXQKK2ZvcmxpY2VzZW5hLml0Citmb3Jsw6xjZXNlbmEuaXQKK2ZyLml0Citmcm9zaW5vbmUuaXQKK2dlLml0CitnZW5vYS5pdAorZ2Vub3ZhLml0Citnby5pdAorZ29yaXppYS5pdAorZ3IuaXQKK2dyb3NzZXRvLml0CitpZ2xlc2lhcy1jYXJib25pYS5pdAoraWdsZXNpYXNjYXJib25pYS5pdAoraW0uaXQKK2ltcGVyaWEuaXQKK2lzLml0Citpc2VybmlhLml0Citrci5pdAorbGEtc3BlemlhLml0CitsYXF1aWxhLml0CitsYXNwZXppYS5pdAorbGF0aW5hLml0CitsYy5pdAorbGUuaXQKK2xlY2NlLml0CitsZWNjby5pdAorbGkuaXQKK2xpdm9ybm8uaXQKK2xvLml0Citsb2RpLml0CitsdC5pdAorbHUuaXQKK2x1Y2NhLml0CittYWNlcmF0YS5pdAorbWFudG92YS5pdAorbWFzc2EtY2FycmFyYS5pdAorbWFzc2FjYXJyYXJhLml0CittYXRlcmEuaXQKK21iLml0CittYy5pdAorbWUuaXQKK21lZGlvLWNhbXBpZGFuby5pdAorbWVkaW9jYW1waWRhbm8uaXQKK21lc3NpbmEuaXQKK21pLml0CittaWxhbi5pdAorbWlsYW5vLml0Cittbi5pdAorbW8uaXQKK21vZGVuYS5pdAorbW9uemEtYnJpYW56YS5pdAorbW9uemEtZS1kZWxsYS1icmlhbnphLml0Cittb256YS5pdAorbW9uemFicmlhbnphLml0Cittb256YWVicmlhbnphLml0Cittb256YWVkZWxsYWJyaWFuemEuaXQKK21zLml0CittdC5pdAorbmEuaXQKK25hcGxlcy5pdAorbmFwb2xpLml0Cituby5pdAorbm92YXJhLml0CitudS5pdAorbnVvcm8uaXQKK29nLml0CitvZ2xpYXN0cmEuaXQKK29sYmlhLXRlbXBpby5pdAorb2xiaWF0ZW1waW8uaXQKK29yLml0CitvcmlzdGFuby5pdAorb3QuaXQKK3BhLml0CitwYWRvdmEuaXQKK3BhZHVhLml0CitwYWxlcm1vLml0CitwYXJtYS5pdAorcGF2aWEuaXQKK3BjLml0CitwZC5pdAorcGUuaXQKK3BlcnVnaWEuaXQKK3Blc2Fyby11cmJpbm8uaXQKK3Blc2Fyb3VyYmluby5pdAorcGVzY2FyYS5pdAorcGcuaXQKK3BpLml0CitwaWFjZW56YS5pdAorcGlzYS5pdAorcGlzdG9pYS5pdAorcG4uaXQKK3BvLml0Citwb3JkZW5vbmUuaXQKK3BvdGVuemEuaXQKK3ByLml0CitwcmF0by5pdAorcHQuaXQKK3B1Lml0Citwdi5pdAorcHouaXQKK3JhLml0CityYWd1c2EuaXQKK3JhdmVubmEuaXQKK3JjLml0CityZS5pdAorcmVnZ2lvLWNhbGFicmlhLml0CityZWdnaW8tZW1pbGlhLml0CityZWdnaW9jYWxhYnJpYS5pdAorcmVnZ2lvZW1pbGlhLml0CityZy5pdAorcmkuaXQKK3JpZXRpLml0CityaW1pbmkuaXQKK3JtLml0Citybi5pdAorcm8uaXQKK3JvbWEuaXQKK3JvbWUuaXQKK3Jvdmlnby5pdAorc2EuaXQKK3NhbGVybm8uaXQKK3Nhc3NhcmkuaXQKK3Nhdm9uYS5pdAorc2kuaXQKK3NpZW5hLml0CitzaXJhY3VzYS5pdAorc28uaXQKK3NvbmRyaW8uaXQKK3NwLml0Citzci5pdAorc3MuaXQKK3N1ZWR0aXJvbC5pdAorc8O8ZHRpcm9sLml0Citzdi5pdAordGEuaXQKK3RhcmFudG8uaXQKK3RlLml0Cit0ZW1waW8tb2xiaWEuaXQKK3RlbXBpb29sYmlhLml0Cit0ZXJhbW8uaXQKK3Rlcm5pLml0Cit0bi5pdAordG8uaXQKK3Rvcmluby5pdAordHAuaXQKK3RyLml0Cit0cmFuaS1hbmRyaWEtYmFybGV0dGEuaXQKK3RyYW5pLWJhcmxldHRhLWFuZHJpYS5pdAordHJhbmlhbmRyaWFiYXJsZXR0YS5pdAordHJhbmliYXJsZXR0YWFuZHJpYS5pdAordHJhcGFuaS5pdAordHJlbnRvLml0Cit0cmV2aXNvLml0Cit0cmllc3RlLml0Cit0cy5pdAordHVyaW4uaXQKK3R2Lml0Cit1ZC5pdAordWRpbmUuaXQKK3VyYmluby1wZXNhcm8uaXQKK3VyYmlub3Blc2Fyby5pdAordmEuaXQKK3ZhcmVzZS5pdAordmIuaXQKK3ZjLml0Cit2ZS5pdAordmVuZXppYS5pdAordmVuaWNlLml0Cit2ZXJiYW5pYS5pdAordmVyY2VsbGkuaXQKK3Zlcm9uYS5pdAordmkuaXQKK3ZpYm8tdmFsZW50aWEuaXQKK3ZpYm92YWxlbnRpYS5pdAordmljZW56YS5pdAordml0ZXJiby5pdAordnIuaXQKK3ZzLml0Cit2dC5pdAordnYuaXQKKworLy8gamUgOiBodHRwOi8vd3d3LmNoYW5uZWxpc2xlcy5uZXQvcmVnaXN0ZXItZG9tYWlucy8KKy8vIENvbmZpcm1lZCBieSByZWdpc3RyeSA8bmlnZWxAY2hhbm5lbGlzbGVzLm5ldD4gMjAxMy0xMS0yOAoramUKK2NvLmplCituZXQuamUKK29yZy5qZQorCisvLyBqbSA6IGh0dHA6Ly93d3cuY29tLmptL3JlZ2lzdGVyLmh0bWwKKyouam0KKworLy8gam8gOiBodHRwOi8vd3d3LmRucy5qby9SZWdpc3RyYXRpb25fcG9saWN5LmFzcHgKK2pvCitjb20uam8KK29yZy5qbworbmV0LmpvCitlZHUuam8KK3NjaC5qbworZ292LmpvCittaWwuam8KK25hbWUuam8KKworLy8gam9icyA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5qb2JzCitqb2JzCisKKy8vIGpwIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmpwCisvLyBodHRwOi8vanBycy5jby5qcC9lbi9qcGRvbWFpbi5odG1sCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGluZm9AanBycy5qcD4KK2pwCisvLyBqcCBvcmdhbml6YXRpb25hbCB0eXBlIG5hbWVzCithYy5qcAorYWQuanAKK2NvLmpwCitlZC5qcAorZ28uanAKK2dyLmpwCitsZy5qcAorbmUuanAKK29yLmpwCisvLyBqcCBwcmVmZWN0dXJlIHR5cGUgbmFtZXMKK2FpY2hpLmpwCitha2l0YS5qcAorYW9tb3JpLmpwCitjaGliYS5qcAorZWhpbWUuanAKK2Z1a3VpLmpwCitmdWt1b2thLmpwCitmdWt1c2hpbWEuanAKK2dpZnUuanAKK2d1bm1hLmpwCitoaXJvc2hpbWEuanAKK2hva2thaWRvLmpwCitoeW9nby5qcAoraWJhcmFraS5qcAoraXNoaWthd2EuanAKK2l3YXRlLmpwCitrYWdhd2EuanAKK2thZ29zaGltYS5qcAora2FuYWdhd2EuanAKK2tvY2hpLmpwCitrdW1hbW90by5qcAora3lvdG8uanAKK21pZS5qcAorbWl5YWdpLmpwCittaXlhemFraS5qcAorbmFnYW5vLmpwCituYWdhc2FraS5qcAorbmFyYS5qcAorbmlpZ2F0YS5qcAorb2l0YS5qcAorb2theWFtYS5qcAorb2tpbmF3YS5qcAorb3Nha2EuanAKK3NhZ2EuanAKK3NhaXRhbWEuanAKK3NoaWdhLmpwCitzaGltYW5lLmpwCitzaGl6dW9rYS5qcAordG9jaGlnaS5qcAordG9rdXNoaW1hLmpwCit0b2t5by5qcAordG90dG9yaS5qcAordG95YW1hLmpwCit3YWtheWFtYS5qcAoreWFtYWdhdGEuanAKK3lhbWFndWNoaS5qcAoreWFtYW5hc2hpLmpwCivmoIPmnKguanAKK+aEm+efpS5qcAor5oSb5aqbLmpwCivlhbXluqsuanAKK+eGiuacrC5qcAor6Iyo5Z+OLmpwCivljJfmtbfpgZMuanAKK+WNg+iRiS5qcAor5ZKM5q2M5bGxLmpwCivplbfltI4uanAKK+mVt+mHji5qcAor5paw5r2fLmpwCivpnZLmo64uanAKK+mdmeWyoS5qcAor5p2x5LqsLmpwCivnn7Plt50uanAKK+WfvOeOiS5qcAor5LiJ6YeNLmpwCivkuqzpg70uanAKK+S9kOizgC5qcAor5aSn5YiGLmpwCivlpKfpmKouanAKK+WliOiJry5qcAor5a6u5Z+OLmpwCivlrq7ltI4uanAKK+WvjOWxsS5qcAor5bGx5Y+jLmpwCivlsbHlvaIuanAKK+WxseaiqC5qcAor5bKp5omLLmpwCivlspDpmJwuanAKK+WyoeWxsS5qcAor5bO25qC5LmpwCivluoPls7YuanAKK+W+s+Wzti5qcAor5rKW57iELmpwCivmu4vos4AuanAKK+elnuWliOW3nS5qcAor56aP5LqVLmpwCivnpo/lsqEuanAKK+emj+Wzti5qcAor56eL55SwLmpwCivnvqTppqwuanAKK+mmmeW3nS5qcAor6auY55+lLmpwCivps6Xlj5YuanAKK+m5v+WFkOWzti5qcAorLy8ganAgZ2VvZ3JhcGhpYyB0eXBlIG5hbWVzCisvLyBodHRwOi8vanBycy5qcC9kb2MvcnVsZS9zYWlzb2t1LTEuaHRtbAorKi5rYXdhc2FraS5qcAorKi5raXRha3l1c2h1LmpwCisqLmtvYmUuanAKKyoubmFnb3lhLmpwCisqLnNhcHBvcm8uanAKKyouc2VuZGFpLmpwCisqLnlva29oYW1hLmpwCishY2l0eS5rYXdhc2FraS5qcAorIWNpdHkua2l0YWt5dXNodS5qcAorIWNpdHkua29iZS5qcAorIWNpdHkubmFnb3lhLmpwCishY2l0eS5zYXBwb3JvLmpwCishY2l0eS5zZW5kYWkuanAKKyFjaXR5Lnlva29oYW1hLmpwCisvLyA0dGggbGV2ZWwgcmVnaXN0cmF0aW9uCithaXNhaS5haWNoaS5qcAorYW1hLmFpY2hpLmpwCithbmpvLmFpY2hpLmpwCithc3VrZS5haWNoaS5qcAorY2hpcnl1LmFpY2hpLmpwCitjaGl0YS5haWNoaS5qcAorZnVzby5haWNoaS5qcAorZ2FtYWdvcmkuYWljaGkuanAKK2hhbmRhLmFpY2hpLmpwCitoYXp1LmFpY2hpLmpwCitoZWtpbmFuLmFpY2hpLmpwCitoaWdhc2hpdXJhLmFpY2hpLmpwCitpY2hpbm9taXlhLmFpY2hpLmpwCitpbmF6YXdhLmFpY2hpLmpwCitpbnV5YW1hLmFpY2hpLmpwCitpc3NoaWtpLmFpY2hpLmpwCitpd2FrdXJhLmFpY2hpLmpwCitrYW5pZS5haWNoaS5qcAora2FyaXlhLmFpY2hpLmpwCitrYXN1Z2FpLmFpY2hpLmpwCitraXJhLmFpY2hpLmpwCitraXlvc3UuYWljaGkuanAKK2tvbWFraS5haWNoaS5qcAora29uYW4uYWljaGkuanAKK2tvdGEuYWljaGkuanAKK21paGFtYS5haWNoaS5qcAorbWl5b3NoaS5haWNoaS5qcAorbmlzaGlvLmFpY2hpLmpwCituaXNzaGluLmFpY2hpLmpwCitvYnUuYWljaGkuanAKK29ndWNoaS5haWNoaS5qcAorb2hhcnUuYWljaGkuanAKK29rYXpha2kuYWljaGkuanAKK293YXJpYXNhaGkuYWljaGkuanAKK3NldG8uYWljaGkuanAKK3NoaWthdHN1LmFpY2hpLmpwCitzaGluc2hpcm8uYWljaGkuanAKK3NoaXRhcmEuYWljaGkuanAKK3RhaGFyYS5haWNoaS5qcAordGFrYWhhbWEuYWljaGkuanAKK3RvYmlzaGltYS5haWNoaS5qcAordG9laS5haWNoaS5qcAordG9nby5haWNoaS5qcAordG9rYWkuYWljaGkuanAKK3Rva29uYW1lLmFpY2hpLmpwCit0b3lvYWtlLmFpY2hpLmpwCit0b3lvaGFzaGkuYWljaGkuanAKK3RveW9rYXdhLmFpY2hpLmpwCit0b3lvbmUuYWljaGkuanAKK3RveW90YS5haWNoaS5qcAordHN1c2hpbWEuYWljaGkuanAKK3lhdG9taS5haWNoaS5qcAorYWtpdGEuYWtpdGEuanAKK2RhaXNlbi5ha2l0YS5qcAorZnVqaXNhdG8uYWtpdGEuanAKK2dvam9tZS5ha2l0YS5qcAoraGFjaGlyb2dhdGEuYWtpdGEuanAKK2hhcHBvdS5ha2l0YS5qcAoraGlnYXNoaW5hcnVzZS5ha2l0YS5qcAoraG9uam8uYWtpdGEuanAKK2hvbmp5by5ha2l0YS5qcAoraWthd2EuYWtpdGEuanAKK2thbWlrb2FuaS5ha2l0YS5qcAora2FtaW9rYS5ha2l0YS5qcAora2F0YWdhbWkuYWtpdGEuanAKK2thenVuby5ha2l0YS5qcAora2l0YWFraXRhLmFraXRhLmpwCitrb3Nha2EuYWtpdGEuanAKK2t5b3dhLmFraXRhLmpwCittaXNhdG8uYWtpdGEuanAKK21pdGFuZS5ha2l0YS5qcAorbW9yaXlvc2hpLmFraXRhLmpwCituaWthaG8uYWtpdGEuanAKK25vc2hpcm8uYWtpdGEuanAKK29kYXRlLmFraXRhLmpwCitvZ2EuYWtpdGEuanAKK29nYXRhLmFraXRhLmpwCitzZW1ib2t1LmFraXRhLmpwCit5b2tvdGUuYWtpdGEuanAKK3l1cmlob25qby5ha2l0YS5qcAorYW9tb3JpLmFvbW9yaS5qcAorZ29ub2hlLmFvbW9yaS5qcAoraGFjaGlub2hlLmFvbW9yaS5qcAoraGFzaGlrYW1pLmFvbW9yaS5qcAoraGlyYW5haS5hb21vcmkuanAKK2hpcm9zYWtpLmFvbW9yaS5qcAoraXRheWFuYWdpLmFvbW9yaS5qcAora3Vyb2lzaGkuYW9tb3JpLmpwCittaXNhd2EuYW9tb3JpLmpwCittdXRzdS5hb21vcmkuanAKK25ha2Fkb21hcmkuYW9tb3JpLmpwCitub2hlamkuYW9tb3JpLmpwCitvaXJhc2UuYW9tb3JpLmpwCitvd2FuaS5hb21vcmkuanAKK3Jva3Vub2hlLmFvbW9yaS5qcAorc2Fubm9oZS5hb21vcmkuanAKK3NoaWNoaW5vaGUuYW9tb3JpLmpwCitzaGluZ28uYW9tb3JpLmpwCit0YWtrby5hb21vcmkuanAKK3Rvd2FkYS5hb21vcmkuanAKK3RzdWdhcnUuYW9tb3JpLmpwCit0c3VydXRhLmFvbW9yaS5qcAorYWJpa28uY2hpYmEuanAKK2FzYWhpLmNoaWJhLmpwCitjaG9uYW4uY2hpYmEuanAKK2Nob3NlaS5jaGliYS5qcAorY2hvc2hpLmNoaWJhLmpwCitjaHVvLmNoaWJhLmpwCitmdW5hYmFzaGkuY2hpYmEuanAKK2Z1dHRzdS5jaGliYS5qcAoraGFuYW1pZ2F3YS5jaGliYS5qcAoraWNoaWhhcmEuY2hpYmEuanAKK2ljaGlrYXdhLmNoaWJhLmpwCitpY2hpbm9taXlhLmNoaWJhLmpwCitpbnphaS5jaGliYS5qcAoraXN1bWkuY2hpYmEuanAKK2thbWFnYXlhLmNoaWJhLmpwCitrYW1vZ2F3YS5jaGliYS5qcAora2FzaGl3YS5jaGliYS5qcAora2F0b3JpLmNoaWJhLmpwCitrYXRzdXVyYS5jaGliYS5qcAora2ltaXRzdS5jaGliYS5qcAora2lzYXJhenUuY2hpYmEuanAKK2tvemFraS5jaGliYS5qcAora3VqdWt1cmkuY2hpYmEuanAKK2t5b25hbi5jaGliYS5qcAorbWF0c3Vkby5jaGliYS5qcAorbWlkb3JpLmNoaWJhLmpwCittaWhhbWEuY2hpYmEuanAKK21pbmFtaWJvc28uY2hpYmEuanAKK21vYmFyYS5jaGliYS5qcAorbXV0c3V6YXdhLmNoaWJhLmpwCituYWdhcmEuY2hpYmEuanAKK25hZ2FyZXlhbWEuY2hpYmEuanAKK25hcmFzaGluby5jaGliYS5qcAorbmFyaXRhLmNoaWJhLmpwCitub2RhLmNoaWJhLmpwCitvYW1pc2hpcmFzYXRvLmNoaWJhLmpwCitvbWlnYXdhLmNoaWJhLmpwCitvbmp1a3UuY2hpYmEuanAKK290YWtpLmNoaWJhLmpwCitzYWthZS5jaGliYS5qcAorc2FrdXJhLmNoaWJhLmpwCitzaGltb2Z1c2EuY2hpYmEuanAKK3NoaXJha28uY2hpYmEuanAKK3NoaXJvaS5jaGliYS5qcAorc2hpc3VpLmNoaWJhLmpwCitzb2RlZ2F1cmEuY2hpYmEuanAKK3Nvc2EuY2hpYmEuanAKK3Rha28uY2hpYmEuanAKK3RhdGV5YW1hLmNoaWJhLmpwCit0b2dhbmUuY2hpYmEuanAKK3RvaG5vc2hvLmNoaWJhLmpwCit0b21pc2F0by5jaGliYS5qcAordXJheWFzdS5jaGliYS5qcAoreWFjaGltYXRhLmNoaWJhLmpwCit5YWNoaXlvLmNoaWJhLmpwCit5b2thaWNoaWJhLmNoaWJhLmpwCit5b2tvc2hpYmFoaWthcmkuY2hpYmEuanAKK3lvdHN1a2FpZG8uY2hpYmEuanAKK2FpbmFuLmVoaW1lLmpwCitob25haS5laGltZS5qcAoraWthdGEuZWhpbWUuanAKK2ltYWJhcmkuZWhpbWUuanAKK2l5by5laGltZS5qcAora2FtaWppbWEuZWhpbWUuanAKK2tpaG9rdS5laGltZS5qcAora3VtYWtvZ2VuLmVoaW1lLmpwCittYXNha2kuZWhpbWUuanAKK21hdHN1bm8uZWhpbWUuanAKK21hdHN1eWFtYS5laGltZS5qcAorbmFtaWthdGEuZWhpbWUuanAKK25paWhhbWEuZWhpbWUuanAKK296dS5laGltZS5qcAorc2Fpam8uZWhpbWUuanAKK3NlaXlvLmVoaW1lLmpwCitzaGlrb2t1Y2h1by5laGltZS5qcAordG9iZS5laGltZS5qcAordG9vbi5laGltZS5qcAordWNoaWtvLmVoaW1lLmpwCit1d2FqaW1hLmVoaW1lLmpwCit5YXdhdGFoYW1hLmVoaW1lLmpwCitlY2hpemVuLmZ1a3VpLmpwCitlaWhlaWppLmZ1a3VpLmpwCitmdWt1aS5mdWt1aS5qcAoraWtlZGEuZnVrdWkuanAKK2thdHN1eWFtYS5mdWt1aS5qcAorbWloYW1hLmZ1a3VpLmpwCittaW5hbWllY2hpemVuLmZ1a3VpLmpwCitvYmFtYS5mdWt1aS5qcAorb2hpLmZ1a3VpLmpwCitvbm8uZnVrdWkuanAKK3NhYmFlLmZ1a3VpLmpwCitzYWthaS5mdWt1aS5qcAordGFrYWhhbWEuZnVrdWkuanAKK3RzdXJ1Z2EuZnVrdWkuanAKK3dha2FzYS5mdWt1aS5qcAorYXNoaXlhLmZ1a3Vva2EuanAKK2J1emVuLmZ1a3Vva2EuanAKK2NoaWt1Z28uZnVrdW9rYS5qcAorY2hpa3Voby5mdWt1b2thLmpwCitjaGlrdWpvLmZ1a3Vva2EuanAKK2NoaWt1c2hpbm8uZnVrdW9rYS5qcAorY2hpa3V6ZW4uZnVrdW9rYS5qcAorY2h1by5mdWt1b2thLmpwCitkYXphaWZ1LmZ1a3Vva2EuanAKK2Z1a3VjaGkuZnVrdW9rYS5qcAoraGFrYXRhLmZ1a3Vva2EuanAKK2hpZ2FzaGkuZnVrdW9rYS5qcAoraGlyb2thd2EuZnVrdW9rYS5qcAoraGlzYXlhbWEuZnVrdW9rYS5qcAoraWl6dWthLmZ1a3Vva2EuanAKK2luYXRzdWtpLmZ1a3Vva2EuanAKK2thaG8uZnVrdW9rYS5qcAora2FzdWdhLmZ1a3Vva2EuanAKK2thc3V5YS5mdWt1b2thLmpwCitrYXdhcmEuZnVrdW9rYS5qcAora2Vpc2VuLmZ1a3Vva2EuanAKK2tvZ2EuZnVrdW9rYS5qcAora3VyYXRlLmZ1a3Vva2EuanAKK2t1cm9naS5mdWt1b2thLmpwCitrdXJ1bWUuZnVrdW9rYS5qcAorbWluYW1pLmZ1a3Vva2EuanAKK21peWFrby5mdWt1b2thLmpwCittaXlhbWEuZnVrdW9rYS5qcAorbWl5YXdha2EuZnVrdW9rYS5qcAorbWl6dW1ha2kuZnVrdW9rYS5qcAorbXVuYWthdGEuZnVrdW9rYS5qcAorbmFrYWdhd2EuZnVrdW9rYS5qcAorbmFrYW1hLmZ1a3Vva2EuanAKK25pc2hpLmZ1a3Vva2EuanAKK25vZ2F0YS5mdWt1b2thLmpwCitvZ29yaS5mdWt1b2thLmpwCitva2FnYWtpLmZ1a3Vva2EuanAKK29rYXdhLmZ1a3Vva2EuanAKK29raS5mdWt1b2thLmpwCitvbXV0YS5mdWt1b2thLmpwCitvbmdhLmZ1a3Vva2EuanAKK29ub2pvLmZ1a3Vva2EuanAKK290by5mdWt1b2thLmpwCitzYWlnYXdhLmZ1a3Vva2EuanAKK3Nhc2FndXJpLmZ1a3Vva2EuanAKK3NoaW5ndS5mdWt1b2thLmpwCitzaGlueW9zaGl0b21pLmZ1a3Vva2EuanAKK3Nob25haS5mdWt1b2thLmpwCitzb2VkYS5mdWt1b2thLmpwCitzdWUuZnVrdW9rYS5qcAordGFjaGlhcmFpLmZ1a3Vva2EuanAKK3RhZ2F3YS5mdWt1b2thLmpwCit0YWthdGEuZnVrdW9rYS5qcAordG9oby5mdWt1b2thLmpwCit0b3lvdHN1LmZ1a3Vva2EuanAKK3RzdWlraS5mdWt1b2thLmpwCit1a2loYS5mdWt1b2thLmpwCit1bWkuZnVrdW9rYS5qcAordXN1aS5mdWt1b2thLmpwCit5YW1hZGEuZnVrdW9rYS5qcAoreWFtZS5mdWt1b2thLmpwCit5YW5hZ2F3YS5mdWt1b2thLmpwCit5dWt1aGFzaGkuZnVrdW9rYS5qcAorYWl6dWJhbmdlLmZ1a3VzaGltYS5qcAorYWl6dW1pc2F0by5mdWt1c2hpbWEuanAKK2FpenV3YWthbWF0c3UuZnVrdXNoaW1hLmpwCithc2FrYXdhLmZ1a3VzaGltYS5qcAorYmFuZGFpLmZ1a3VzaGltYS5qcAorZGF0ZS5mdWt1c2hpbWEuanAKK2Z1a3VzaGltYS5mdWt1c2hpbWEuanAKK2Z1cnVkb25vLmZ1a3VzaGltYS5qcAorZnV0YWJhLmZ1a3VzaGltYS5qcAoraGFuYXdhLmZ1a3VzaGltYS5qcAoraGlnYXNoaS5mdWt1c2hpbWEuanAKK2hpcmF0YS5mdWt1c2hpbWEuanAKK2hpcm9uby5mdWt1c2hpbWEuanAKK2lpdGF0ZS5mdWt1c2hpbWEuanAKK2luYXdhc2hpcm8uZnVrdXNoaW1hLmpwCitpc2hpa2F3YS5mdWt1c2hpbWEuanAKK2l3YWtpLmZ1a3VzaGltYS5qcAoraXp1bWl6YWtpLmZ1a3VzaGltYS5qcAora2FnYW1paXNoaS5mdWt1c2hpbWEuanAKK2thbmV5YW1hLmZ1a3VzaGltYS5qcAora2F3YW1hdGEuZnVrdXNoaW1hLmpwCitraXRha2F0YS5mdWt1c2hpbWEuanAKK2tpdGFzaGlvYmFyYS5mdWt1c2hpbWEuanAKK2tvb3JpLmZ1a3VzaGltYS5qcAora29yaXlhbWEuZnVrdXNoaW1hLmpwCitrdW5pbWkuZnVrdXNoaW1hLmpwCittaWhhcnUuZnVrdXNoaW1hLmpwCittaXNoaW1hLmZ1a3VzaGltYS5qcAorbmFtaWUuZnVrdXNoaW1hLmpwCituYW5nby5mdWt1c2hpbWEuanAKK25pc2hpYWl6dS5mdWt1c2hpbWEuanAKK25pc2hpZ28uZnVrdXNoaW1hLmpwCitva3VtYS5mdWt1c2hpbWEuanAKK29tb3RlZ28uZnVrdXNoaW1hLmpwCitvbm8uZnVrdXNoaW1hLmpwCitvdGFtYS5mdWt1c2hpbWEuanAKK3NhbWVnYXdhLmZ1a3VzaGltYS5qcAorc2hpbW9nby5mdWt1c2hpbWEuanAKK3NoaXJha2F3YS5mdWt1c2hpbWEuanAKK3Nob3dhLmZ1a3VzaGltYS5qcAorc29tYS5mdWt1c2hpbWEuanAKK3N1a2FnYXdhLmZ1a3VzaGltYS5qcAordGFpc2hpbi5mdWt1c2hpbWEuanAKK3RhbWFrYXdhLmZ1a3VzaGltYS5qcAordGFuYWd1cmEuZnVrdXNoaW1hLmpwCit0ZW5laS5mdWt1c2hpbWEuanAKK3lhYnVraS5mdWt1c2hpbWEuanAKK3lhbWF0by5mdWt1c2hpbWEuanAKK3lhbWF0c3VyaS5mdWt1c2hpbWEuanAKK3lhbmFpenUuZnVrdXNoaW1hLmpwCit5dWdhd2EuZnVrdXNoaW1hLmpwCithbnBhY2hpLmdpZnUuanAKK2VuYS5naWZ1LmpwCitnaWZ1LmdpZnUuanAKK2dpbmFuLmdpZnUuanAKK2dvZG8uZ2lmdS5qcAorZ3Vqby5naWZ1LmpwCitoYXNoaW1hLmdpZnUuanAKK2hpY2hpc28uZ2lmdS5qcAoraGlkYS5naWZ1LmpwCitoaWdhc2hpc2hpcmFrYXdhLmdpZnUuanAKK2liaWdhd2EuZ2lmdS5qcAoraWtlZGEuZ2lmdS5qcAora2FrYW1pZ2FoYXJhLmdpZnUuanAKK2thbmkuZ2lmdS5qcAora2FzYWhhcmEuZ2lmdS5qcAora2FzYW1hdHN1LmdpZnUuanAKK2thd2F1ZS5naWZ1LmpwCitraXRhZ2F0YS5naWZ1LmpwCittaW5vLmdpZnUuanAKK21pbm9rYW1vLmdpZnUuanAKK21pdGFrZS5naWZ1LmpwCittaXp1bmFtaS5naWZ1LmpwCittb3Rvc3UuZ2lmdS5qcAorbmFrYXRzdWdhd2EuZ2lmdS5qcAorb2dha2kuZ2lmdS5qcAorc2FrYWhvZ2kuZ2lmdS5qcAorc2VraS5naWZ1LmpwCitzZWtpZ2FoYXJhLmdpZnUuanAKK3NoaXJha2F3YS5naWZ1LmpwCit0YWppbWkuZ2lmdS5qcAordGFrYXlhbWEuZ2lmdS5qcAordGFydWkuZ2lmdS5qcAordG9raS5naWZ1LmpwCit0b21pa2EuZ2lmdS5qcAord2Fub3VjaGkuZ2lmdS5qcAoreWFtYWdhdGEuZ2lmdS5qcAoreWFvdHN1LmdpZnUuanAKK3lvcm8uZ2lmdS5qcAorYW5uYWthLmd1bm1hLmpwCitjaGl5b2RhLmd1bm1hLmpwCitmdWppb2thLmd1bm1hLmpwCitoaWdhc2hpYWdhdHN1bWEuZ3VubWEuanAKK2lzZXNha2kuZ3VubWEuanAKK2l0YWt1cmEuZ3VubWEuanAKK2thbm5hLmd1bm1hLmpwCitrYW5yYS5ndW5tYS5qcAora2F0YXNoaW5hLmd1bm1hLmpwCitrYXdhYmEuZ3VubWEuanAKK2tpcnl1Lmd1bm1hLmpwCitrdXNhdHN1Lmd1bm1hLmpwCittYWViYXNoaS5ndW5tYS5qcAorbWVpd2EuZ3VubWEuanAKK21pZG9yaS5ndW5tYS5qcAorbWluYWthbWkuZ3VubWEuanAKK25hZ2Fub2hhcmEuZ3VubWEuanAKK25ha2Fub2pvLmd1bm1hLmpwCituYW5tb2t1Lmd1bm1hLmpwCitudW1hdGEuZ3VubWEuanAKK29penVtaS5ndW5tYS5qcAorb3JhLmd1bm1hLmpwCitvdGEuZ3VubWEuanAKK3NoaWJ1a2F3YS5ndW5tYS5qcAorc2hpbW9uaXRhLmd1bm1hLmpwCitzaGludG8uZ3VubWEuanAKK3Nob3dhLmd1bm1hLmpwCit0YWthc2FraS5ndW5tYS5qcAordGFrYXlhbWEuZ3VubWEuanAKK3RhbWFtdXJhLmd1bm1hLmpwCit0YXRlYmF5YXNoaS5ndW5tYS5qcAordG9taW9rYS5ndW5tYS5qcAordHN1a2l5b25vLmd1bm1hLmpwCit0c3VtYWdvaS5ndW5tYS5qcAordWVuby5ndW5tYS5qcAoreW9zaGlva2EuZ3VubWEuanAKK2FzYW1pbmFtaS5oaXJvc2hpbWEuanAKK2RhaXdhLmhpcm9zaGltYS5qcAorZXRhamltYS5oaXJvc2hpbWEuanAKK2Z1Y2h1Lmhpcm9zaGltYS5qcAorZnVrdXlhbWEuaGlyb3NoaW1hLmpwCitoYXRzdWthaWNoaS5oaXJvc2hpbWEuanAKK2hpZ2FzaGloaXJvc2hpbWEuaGlyb3NoaW1hLmpwCitob25nby5oaXJvc2hpbWEuanAKK2ppbnNla2lrb2dlbi5oaXJvc2hpbWEuanAKK2thaXRhLmhpcm9zaGltYS5qcAora3VpLmhpcm9zaGltYS5qcAora3VtYW5vLmhpcm9zaGltYS5qcAora3VyZS5oaXJvc2hpbWEuanAKK21paGFyYS5oaXJvc2hpbWEuanAKK21peW9zaGkuaGlyb3NoaW1hLmpwCituYWthLmhpcm9zaGltYS5qcAorb25vbWljaGkuaGlyb3NoaW1hLmpwCitvc2FraWthbWlqaW1hLmhpcm9zaGltYS5qcAorb3Rha2UuaGlyb3NoaW1hLmpwCitzYWthLmhpcm9zaGltYS5qcAorc2VyYS5oaXJvc2hpbWEuanAKK3NlcmFuaXNoaS5oaXJvc2hpbWEuanAKK3NoaW5pY2hpLmhpcm9zaGltYS5qcAorc2hvYmFyYS5oaXJvc2hpbWEuanAKK3Rha2VoYXJhLmhpcm9zaGltYS5qcAorYWJhc2hpcmkuaG9ra2FpZG8uanAKK2FiaXJhLmhva2thaWRvLmpwCithaWJldHN1Lmhva2thaWRvLmpwCitha2FiaXJhLmhva2thaWRvLmpwCitha2tlc2hpLmhva2thaWRvLmpwCithc2FoaWthd2EuaG9ra2FpZG8uanAKK2FzaGliZXRzdS5ob2trYWlkby5qcAorYXNob3JvLmhva2thaWRvLmpwCithc3NhYnUuaG9ra2FpZG8uanAKK2F0c3VtYS5ob2trYWlkby5qcAorYmliYWkuaG9ra2FpZG8uanAKK2JpZWkuaG9ra2FpZG8uanAKK2JpZnVrYS5ob2trYWlkby5qcAorYmlob3JvLmhva2thaWRvLmpwCitiaXJhdG9yaS5ob2trYWlkby5qcAorY2hpcHB1YmV0c3UuaG9ra2FpZG8uanAKK2NoaXRvc2UuaG9ra2FpZG8uanAKK2RhdGUuaG9ra2FpZG8uanAKK2ViZXRzdS5ob2trYWlkby5qcAorZW1iZXRzdS5ob2trYWlkby5qcAorZW5pd2EuaG9ra2FpZG8uanAKK2VyaW1vLmhva2thaWRvLmpwCitlc2FuLmhva2thaWRvLmpwCitlc2FzaGkuaG9ra2FpZG8uanAKK2Z1a2FnYXdhLmhva2thaWRvLmpwCitmdWt1c2hpbWEuaG9ra2FpZG8uanAKK2Z1cmFuby5ob2trYWlkby5qcAorZnVydWJpcmEuaG9ra2FpZG8uanAKK2hhYm9yby5ob2trYWlkby5qcAoraGFrb2RhdGUuaG9ra2FpZG8uanAKK2hhbWF0b25iZXRzdS5ob2trYWlkby5qcAoraGlkYWthLmhva2thaWRvLmpwCitoaWdhc2hpa2FndXJhLmhva2thaWRvLmpwCitoaWdhc2hpa2F3YS5ob2trYWlkby5qcAoraGlyb28uaG9ra2FpZG8uanAKK2hva3VyeXUuaG9ra2FpZG8uanAKK2hva3V0by5ob2trYWlkby5qcAoraG9uYmV0c3UuaG9ra2FpZG8uanAKK2hvcm9rYW5haS5ob2trYWlkby5qcAoraG9yb25vYmUuaG9ra2FpZG8uanAKK2lrZWRhLmhva2thaWRvLmpwCitpbWFrYW5lLmhva2thaWRvLmpwCitpc2hpa2FyaS5ob2trYWlkby5qcAoraXdhbWl6YXdhLmhva2thaWRvLmpwCitpd2FuYWkuaG9ra2FpZG8uanAKK2thbWlmdXJhbm8uaG9ra2FpZG8uanAKK2thbWlrYXdhLmhva2thaWRvLmpwCitrYW1pc2hpaG9yby5ob2trYWlkby5qcAora2FtaXN1bmFnYXdhLmhva2thaWRvLmpwCitrYW1vZW5haS5ob2trYWlkby5qcAora2F5YWJlLmhva2thaWRvLmpwCitrZW1idWNoaS5ob2trYWlkby5qcAora2lrb25haS5ob2trYWlkby5qcAora2ltb2JldHN1Lmhva2thaWRvLmpwCitraXRhaGlyb3NoaW1hLmhva2thaWRvLmpwCitraXRhbWkuaG9ra2FpZG8uanAKK2tpeW9zYXRvLmhva2thaWRvLmpwCitrb3NoaW1penUuaG9ra2FpZG8uanAKK2t1bm5lcHB1Lmhva2thaWRvLmpwCitrdXJpeWFtYS5ob2trYWlkby5qcAora3Vyb21hdHN1bmFpLmhva2thaWRvLmpwCitrdXNoaXJvLmhva2thaWRvLmpwCitrdXRjaGFuLmhva2thaWRvLmpwCitreW93YS5ob2trYWlkby5qcAorbWFzaGlrZS5ob2trYWlkby5qcAorbWF0c3VtYWUuaG9ra2FpZG8uanAKK21pa2FzYS5ob2trYWlkby5qcAorbWluYW1pZnVyYW5vLmhva2thaWRvLmpwCittb21iZXRzdS5ob2trYWlkby5qcAorbW9zZXVzaGkuaG9ra2FpZG8uanAKK211a2F3YS5ob2trYWlkby5qcAorbXVyb3Jhbi5ob2trYWlkby5qcAorbmFpZS5ob2trYWlkby5qcAorbmFrYWdhd2EuaG9ra2FpZG8uanAKK25ha2FzYXRzdW5haS5ob2trYWlkby5qcAorbmFrYXRvbWJldHN1Lmhva2thaWRvLmpwCituYW5hZS5ob2trYWlkby5qcAorbmFucG9yby5ob2trYWlkby5qcAorbmF5b3JvLmhva2thaWRvLmpwCituZW11cm8uaG9ra2FpZG8uanAKK25paWthcHB1Lmhva2thaWRvLmpwCituaWtpLmhva2thaWRvLmpwCituaXNoaW9rb3BwZS5ob2trYWlkby5qcAorbm9ib3JpYmV0c3UuaG9ra2FpZG8uanAKK251bWF0YS5ob2trYWlkby5qcAorb2JpaGlyby5ob2trYWlkby5qcAorb2JpcmEuaG9ra2FpZG8uanAKK29rZXRvLmhva2thaWRvLmpwCitva29wcGUuaG9ra2FpZG8uanAKK290YXJ1Lmhva2thaWRvLmpwCitvdG9iZS5ob2trYWlkby5qcAorb3RvZnVrZS5ob2trYWlkby5qcAorb3RvaW5lcHB1Lmhva2thaWRvLmpwCitvdW11Lmhva2thaWRvLmpwCitvem9yYS5ob2trYWlkby5qcAorcGlwcHUuaG9ra2FpZG8uanAKK3Jhbmtvc2hpLmhva2thaWRvLmpwCityZWJ1bi5ob2trYWlkby5qcAorcmlrdWJldHN1Lmhva2thaWRvLmpwCityaXNoaXJpLmhva2thaWRvLmpwCityaXNoaXJpZnVqaS5ob2trYWlkby5qcAorc2Fyb21hLmhva2thaWRvLmpwCitzYXJ1ZnV0c3UuaG9ra2FpZG8uanAKK3NoYWtvdGFuLmhva2thaWRvLmpwCitzaGFyaS5ob2trYWlkby5qcAorc2hpYmVjaGEuaG9ra2FpZG8uanAKK3NoaWJldHN1Lmhva2thaWRvLmpwCitzaGlrYWJlLmhva2thaWRvLmpwCitzaGlrYW9pLmhva2thaWRvLmpwCitzaGltYW1ha2kuaG9ra2FpZG8uanAKK3NoaW1penUuaG9ra2FpZG8uanAKK3NoaW1va2F3YS5ob2trYWlkby5qcAorc2hpbnNoaW5vdHN1Lmhva2thaWRvLmpwCitzaGludG9rdS5ob2trYWlkby5qcAorc2hpcmFudWthLmhva2thaWRvLmpwCitzaGlyYW9pLmhva2thaWRvLmpwCitzaGlyaXVjaGkuaG9ra2FpZG8uanAKK3NvYmV0c3UuaG9ra2FpZG8uanAKK3N1bmFnYXdhLmhva2thaWRvLmpwCit0YWlraS5ob2trYWlkby5qcAordGFrYXN1Lmhva2thaWRvLmpwCit0YWtpa2F3YS5ob2trYWlkby5qcAordGFraW5vdWUuaG9ra2FpZG8uanAKK3Rlc2hpa2FnYS5ob2trYWlkby5qcAordG9iZXRzdS5ob2trYWlkby5qcAordG9obWEuaG9ra2FpZG8uanAKK3RvbWFrb21haS5ob2trYWlkby5qcAordG9tYXJpLmhva2thaWRvLmpwCit0b3lhLmhva2thaWRvLmpwCit0b3lha28uaG9ra2FpZG8uanAKK3RveW90b21pLmhva2thaWRvLmpwCit0b3lvdXJhLmhva2thaWRvLmpwCit0c3ViZXRzdS5ob2trYWlkby5qcAordHN1a2lnYXRhLmhva2thaWRvLmpwCit1cmFrYXdhLmhva2thaWRvLmpwCit1cmF1c3UuaG9ra2FpZG8uanAKK3VyeXUuaG9ra2FpZG8uanAKK3V0YXNoaW5haS5ob2trYWlkby5qcAord2Fra2FuYWkuaG9ra2FpZG8uanAKK3dhc3NhbXUuaG9ra2FpZG8uanAKK3lha3Vtby5ob2trYWlkby5qcAoreW9pY2hpLmhva2thaWRvLmpwCithaW9pLmh5b2dvLmpwCitha2FzaGkuaHlvZ28uanAKK2Frby5oeW9nby5qcAorYW1hZ2FzYWtpLmh5b2dvLmpwCithb2dha2kuaHlvZ28uanAKK2FzYWdvLmh5b2dvLmpwCithc2hpeWEuaHlvZ28uanAKK2F3YWppLmh5b2dvLmpwCitmdWt1c2FraS5oeW9nby5qcAorZ29zaGlraS5oeW9nby5qcAoraGFyaW1hLmh5b2dvLmpwCitoaW1lamkuaHlvZ28uanAKK2ljaGlrYXdhLmh5b2dvLmpwCitpbmFnYXdhLmh5b2dvLmpwCitpdGFtaS5oeW9nby5qcAora2Frb2dhd2EuaHlvZ28uanAKK2thbWlnb3JpLmh5b2dvLmpwCitrYW1pa2F3YS5oeW9nby5qcAora2FzYWkuaHlvZ28uanAKK2thc3VnYS5oeW9nby5qcAora2F3YW5pc2hpLmh5b2dvLmpwCittaWtpLmh5b2dvLmpwCittaW5hbWlhd2FqaS5oeW9nby5qcAorbmlzaGlub21peWEuaHlvZ28uanAKK25pc2hpd2FraS5oeW9nby5qcAorb25vLmh5b2dvLmpwCitzYW5kYS5oeW9nby5qcAorc2FubmFuLmh5b2dvLmpwCitzYXNheWFtYS5oeW9nby5qcAorc2F5by5oeW9nby5qcAorc2hpbmd1Lmh5b2dvLmpwCitzaGlub25zZW4uaHlvZ28uanAKK3NoaXNvLmh5b2dvLmpwCitzdW1vdG8uaHlvZ28uanAKK3RhaXNoaS5oeW9nby5qcAordGFrYS5oeW9nby5qcAordGFrYXJhenVrYS5oeW9nby5qcAordGFrYXNhZ28uaHlvZ28uanAKK3Rha2luby5oeW9nby5qcAordGFtYmEuaHlvZ28uanAKK3RhdHN1bm8uaHlvZ28uanAKK3RveW9va2EuaHlvZ28uanAKK3lhYnUuaHlvZ28uanAKK3lhc2hpcm8uaHlvZ28uanAKK3lva2EuaHlvZ28uanAKK3lva2F3YS5oeW9nby5qcAorYW1pLmliYXJha2kuanAKK2FzYWhpLmliYXJha2kuanAKK2JhbmRvLmliYXJha2kuanAKK2NoaWt1c2VpLmliYXJha2kuanAKK2RhaWdvLmliYXJha2kuanAKK2Z1amlzaGlyby5pYmFyYWtpLmpwCitoaXRhY2hpLmliYXJha2kuanAKK2hpdGFjaGluYWthLmliYXJha2kuanAKK2hpdGFjaGlvbWl5YS5pYmFyYWtpLmpwCitoaXRhY2hpb3RhLmliYXJha2kuanAKK2liYXJha2kuaWJhcmFraS5qcAoraW5hLmliYXJha2kuanAKK2luYXNoaWtpLmliYXJha2kuanAKK2l0YWtvLmliYXJha2kuanAKK2l3YW1hLmliYXJha2kuanAKK2pvc28uaWJhcmFraS5qcAora2FtaXN1LmliYXJha2kuanAKK2thc2FtYS5pYmFyYWtpLmpwCitrYXNoaW1hLmliYXJha2kuanAKK2thc3VtaWdhdXJhLmliYXJha2kuanAKK2tvZ2EuaWJhcmFraS5qcAorbWloby5pYmFyYWtpLmpwCittaXRvLmliYXJha2kuanAKK21vcml5YS5pYmFyYWtpLmpwCituYWthLmliYXJha2kuanAKK25hbWVnYXRhLmliYXJha2kuanAKK29hcmFpLmliYXJha2kuanAKK29nYXdhLmliYXJha2kuanAKK29taXRhbWEuaWJhcmFraS5qcAorcnl1Z2FzYWtpLmliYXJha2kuanAKK3Nha2FpLmliYXJha2kuanAKK3Nha3VyYWdhd2EuaWJhcmFraS5qcAorc2hpbW9kYXRlLmliYXJha2kuanAKK3NoaW1vdHN1bWEuaWJhcmFraS5qcAorc2hpcm9zYXRvLmliYXJha2kuanAKK3Nvd2EuaWJhcmFraS5qcAorc3VpZnUuaWJhcmFraS5qcAordGFrYWhhZ2kuaWJhcmFraS5qcAordGFtYXRzdWt1cmkuaWJhcmFraS5qcAordG9rYWkuaWJhcmFraS5qcAordG9tb2JlLmliYXJha2kuanAKK3RvbmUuaWJhcmFraS5qcAordG9yaWRlLmliYXJha2kuanAKK3RzdWNoaXVyYS5pYmFyYWtpLmpwCit0c3VrdWJhLmliYXJha2kuanAKK3VjaGloYXJhLmliYXJha2kuanAKK3VzaGlrdS5pYmFyYWtpLmpwCit5YWNoaXlvLmliYXJha2kuanAKK3lhbWFnYXRhLmliYXJha2kuanAKK3lhd2FyYS5pYmFyYWtpLmpwCit5dWtpLmliYXJha2kuanAKK2FuYW1penUuaXNoaWthd2EuanAKK2hha3VpLmlzaGlrYXdhLmpwCitoYWt1c2FuLmlzaGlrYXdhLmpwCitrYWdhLmlzaGlrYXdhLmpwCitrYWhva3UuaXNoaWthd2EuanAKK2thbmF6YXdhLmlzaGlrYXdhLmpwCitrYXdha2l0YS5pc2hpa2F3YS5qcAora29tYXRzdS5pc2hpa2F3YS5qcAorbmFrYW5vdG8uaXNoaWthd2EuanAKK25hbmFvLmlzaGlrYXdhLmpwCitub21pLmlzaGlrYXdhLmpwCitub25vaWNoaS5pc2hpa2F3YS5qcAorbm90by5pc2hpa2F3YS5qcAorc2hpa2EuaXNoaWthd2EuanAKK3N1enUuaXNoaWthd2EuanAKK3RzdWJhdGEuaXNoaWthd2EuanAKK3RzdXJ1Z2kuaXNoaWthd2EuanAKK3VjaGluYWRhLmlzaGlrYXdhLmpwCit3YWppbWEuaXNoaWthd2EuanAKK2Z1ZGFpLml3YXRlLmpwCitmdWppc2F3YS5pd2F0ZS5qcAoraGFuYW1ha2kuaXdhdGUuanAKK2hpcmFpenVtaS5pd2F0ZS5qcAoraGlyb25vLml3YXRlLmpwCitpY2hpbm9oZS5pd2F0ZS5qcAoraWNoaW5vc2VraS5pd2F0ZS5qcAoraXdhaXp1bWkuaXdhdGUuanAKK2l3YXRlLml3YXRlLmpwCitqb2JvamkuaXdhdGUuanAKK2thbWFpc2hpLml3YXRlLmpwCitrYW5lZ2FzYWtpLml3YXRlLmpwCitrYXJ1bWFpLml3YXRlLmpwCitrYXdhaS5pd2F0ZS5qcAora2l0YWthbWkuaXdhdGUuanAKK2t1amkuaXdhdGUuanAKK2t1bm9oZS5pd2F0ZS5qcAora3V6dW1ha2kuaXdhdGUuanAKK21peWFrby5pd2F0ZS5qcAorbWl6dXNhd2EuaXdhdGUuanAKK21vcmlva2EuaXdhdGUuanAKK25pbm9oZS5pd2F0ZS5qcAorbm9kYS5pd2F0ZS5qcAorb2Z1bmF0by5pd2F0ZS5qcAorb3NodS5pd2F0ZS5qcAorb3RzdWNoaS5pd2F0ZS5qcAorcmlrdXplbnRha2F0YS5pd2F0ZS5qcAorc2hpd2EuaXdhdGUuanAKK3NoaXp1a3Vpc2hpLml3YXRlLmpwCitzdW1pdGEuaXdhdGUuanAKK3Rhbm9oYXRhLml3YXRlLmpwCit0b25vLml3YXRlLmpwCit5YWhhYmEuaXdhdGUuanAKK3lhbWFkYS5pd2F0ZS5qcAorYXlhZ2F3YS5rYWdhd2EuanAKK2hpZ2FzaGlrYWdhd2Eua2FnYXdhLmpwCitrYW5vbmppLmthZ2F3YS5qcAora290b2hpcmEua2FnYXdhLmpwCittYW5uby5rYWdhd2EuanAKK21hcnVnYW1lLmthZ2F3YS5qcAorbWl0b3lvLmthZ2F3YS5qcAorbmFvc2hpbWEua2FnYXdhLmpwCitzYW51a2kua2FnYXdhLmpwCit0YWRvdHN1LmthZ2F3YS5qcAordGFrYW1hdHN1LmthZ2F3YS5qcAordG9ub3Noby5rYWdhd2EuanAKK3VjaGlub21pLmthZ2F3YS5qcAordXRhenUua2FnYXdhLmpwCit6ZW50c3VqaS5rYWdhd2EuanAKK2FrdW5lLmthZ29zaGltYS5qcAorYW1hbWkua2Fnb3NoaW1hLmpwCitoaW9raS5rYWdvc2hpbWEuanAKK2lzYS5rYWdvc2hpbWEuanAKK2lzZW4ua2Fnb3NoaW1hLmpwCitpenVtaS5rYWdvc2hpbWEuanAKK2thZ29zaGltYS5rYWdvc2hpbWEuanAKK2thbm95YS5rYWdvc2hpbWEuanAKK2thd2FuYWJlLmthZ29zaGltYS5qcAora2lua28ua2Fnb3NoaW1hLmpwCitrb3V5YW1hLmthZ29zaGltYS5qcAorbWFrdXJhemFraS5rYWdvc2hpbWEuanAKK21hdHN1bW90by5rYWdvc2hpbWEuanAKK21pbmFtaXRhbmUua2Fnb3NoaW1hLmpwCituYWthdGFuZS5rYWdvc2hpbWEuanAKK25pc2hpbm9vbW90ZS5rYWdvc2hpbWEuanAKK3NhdHN1bWFzZW5kYWkua2Fnb3NoaW1hLmpwCitzb28ua2Fnb3NoaW1hLmpwCit0YXJ1bWl6dS5rYWdvc2hpbWEuanAKK3l1c3VpLmthZ29zaGltYS5qcAorYWlrYXdhLmthbmFnYXdhLmpwCithdHN1Z2kua2FuYWdhd2EuanAKK2F5YXNlLmthbmFnYXdhLmpwCitjaGlnYXNha2kua2FuYWdhd2EuanAKK2ViaW5hLmthbmFnYXdhLmpwCitmdWppc2F3YS5rYW5hZ2F3YS5qcAoraGFkYW5vLmthbmFnYXdhLmpwCitoYWtvbmUua2FuYWdhd2EuanAKK2hpcmF0c3VrYS5rYW5hZ2F3YS5qcAoraXNlaGFyYS5rYW5hZ2F3YS5qcAora2Fpc2VpLmthbmFnYXdhLmpwCitrYW1ha3VyYS5rYW5hZ2F3YS5qcAora2l5b2thd2Eua2FuYWdhd2EuanAKK21hdHN1ZGEua2FuYWdhd2EuanAKK21pbmFtaWFzaGlnYXJhLmthbmFnYXdhLmpwCittaXVyYS5rYW5hZ2F3YS5qcAorbmFrYWkua2FuYWdhd2EuanAKK25pbm9taXlhLmthbmFnYXdhLmpwCitvZGF3YXJhLmthbmFnYXdhLmpwCitvaS5rYW5hZ2F3YS5qcAorb2lzby5rYW5hZ2F3YS5qcAorc2FnYW1paGFyYS5rYW5hZ2F3YS5qcAorc2FtdWthd2Eua2FuYWdhd2EuanAKK3RzdWt1aS5rYW5hZ2F3YS5qcAoreWFtYWtpdGEua2FuYWdhd2EuanAKK3lhbWF0by5rYW5hZ2F3YS5qcAoreW9rb3N1a2Eua2FuYWdhd2EuanAKK3l1Z2F3YXJhLmthbmFnYXdhLmpwCit6YW1hLmthbmFnYXdhLmpwCit6dXNoaS5rYW5hZ2F3YS5qcAorYWtpLmtvY2hpLmpwCitnZWlzZWkua29jaGkuanAKK2hpZGFrYS5rb2NoaS5qcAoraGlnYXNoaXRzdW5vLmtvY2hpLmpwCitpbm8ua29jaGkuanAKK2thZ2FtaS5rb2NoaS5qcAora2FtaS5rb2NoaS5qcAora2l0YWdhd2Eua29jaGkuanAKK2tvY2hpLmtvY2hpLmpwCittaWhhcmEua29jaGkuanAKK21vdG95YW1hLmtvY2hpLmpwCittdXJvdG8ua29jaGkuanAKK25haGFyaS5rb2NoaS5qcAorbmFrYW11cmEua29jaGkuanAKK25hbmtva3Uua29jaGkuanAKK25pc2hpdG9zYS5rb2NoaS5qcAorbml5b2RvZ2F3YS5rb2NoaS5qcAorb2NoaS5rb2NoaS5qcAorb2thd2Eua29jaGkuanAKK290b3lvLmtvY2hpLmpwCitvdHN1a2kua29jaGkuanAKK3Nha2F3YS5rb2NoaS5qcAorc3VrdW1vLmtvY2hpLmpwCitzdXNha2kua29jaGkuanAKK3Rvc2Eua29jaGkuanAKK3Rvc2FzaGltaXp1LmtvY2hpLmpwCit0b3lvLmtvY2hpLmpwCit0c3Vuby5rb2NoaS5qcAordW1hamkua29jaGkuanAKK3lhc3VkYS5rb2NoaS5qcAoreXVzdWhhcmEua29jaGkuanAKK2FtYWt1c2Eua3VtYW1vdG8uanAKK2FyYW8ua3VtYW1vdG8uanAKK2Fzby5rdW1hbW90by5qcAorY2hveW8ua3VtYW1vdG8uanAKK2d5b2t1dG8ua3VtYW1vdG8uanAKK2thbWlhbWFrdXNhLmt1bWFtb3RvLmpwCitraWt1Y2hpLmt1bWFtb3RvLmpwCitrdW1hbW90by5rdW1hbW90by5qcAorbWFzaGlraS5rdW1hbW90by5qcAorbWlmdW5lLmt1bWFtb3RvLmpwCittaW5hbWF0YS5rdW1hbW90by5qcAorbWluYW1pb2d1bmkua3VtYW1vdG8uanAKK25hZ2FzdS5rdW1hbW90by5qcAorbmlzaGloYXJhLmt1bWFtb3RvLmpwCitvZ3VuaS5rdW1hbW90by5qcAorb3p1Lmt1bWFtb3RvLmpwCitzdW1vdG8ua3VtYW1vdG8uanAKK3Rha2Ftb3JpLmt1bWFtb3RvLmpwCit1a2kua3VtYW1vdG8uanAKK3V0by5rdW1hbW90by5qcAoreWFtYWdhLmt1bWFtb3RvLmpwCit5YW1hdG8ua3VtYW1vdG8uanAKK3lhdHN1c2hpcm8ua3VtYW1vdG8uanAKK2F5YWJlLmt5b3RvLmpwCitmdWt1Y2hpeWFtYS5reW90by5qcAoraGlnYXNoaXlhbWEua3lvdG8uanAKK2lkZS5reW90by5qcAoraW5lLmt5b3RvLmpwCitqb3lvLmt5b3RvLmpwCitrYW1lb2thLmt5b3RvLmpwCitrYW1vLmt5b3RvLmpwCitraXRhLmt5b3RvLmpwCitraXp1Lmt5b3RvLmpwCitrdW1peWFtYS5reW90by5qcAora3lvdGFtYmEua3lvdG8uanAKK2t5b3RhbmFiZS5reW90by5qcAora3lvdGFuZ28ua3lvdG8uanAKK21haXp1cnUua3lvdG8uanAKK21pbmFtaS5reW90by5qcAorbWluYW1peWFtYXNoaXJvLmt5b3RvLmpwCittaXlhenUua3lvdG8uanAKK211a28ua3lvdG8uanAKK25hZ2Fva2FreW8ua3lvdG8uanAKK25ha2FneW8ua3lvdG8uanAKK25hbnRhbi5reW90by5qcAorb3lhbWF6YWtpLmt5b3RvLmpwCitzYWt5by5reW90by5qcAorc2Vpa2Eua3lvdG8uanAKK3RhbmFiZS5reW90by5qcAordWppLmt5b3RvLmpwCit1aml0YXdhcmEua3lvdG8uanAKK3dhenVrYS5reW90by5qcAoreWFtYXNoaW5hLmt5b3RvLmpwCit5YXdhdGEua3lvdG8uanAKK2FzYWhpLm1pZS5qcAoraW5hYmUubWllLmpwCitpc2UubWllLmpwCitrYW1leWFtYS5taWUuanAKK2thd2Fnb2UubWllLmpwCitraWhvLm1pZS5qcAora2lzb3Nha2kubWllLmpwCitraXdhLm1pZS5qcAora29tb25vLm1pZS5qcAora3VtYW5vLm1pZS5qcAora3V3YW5hLm1pZS5qcAorbWF0c3VzYWthLm1pZS5qcAorbWVpd2EubWllLmpwCittaWhhbWEubWllLmpwCittaW5hbWlpc2UubWllLmpwCittaXN1Z2kubWllLmpwCittaXlhbWEubWllLmpwCituYWJhcmkubWllLmpwCitzaGltYS5taWUuanAKK3N1enVrYS5taWUuanAKK3RhZG8ubWllLmpwCit0YWlraS5taWUuanAKK3Rha2kubWllLmpwCit0YW1ha2kubWllLmpwCit0b2JhLm1pZS5qcAordHN1Lm1pZS5qcAordWRvbm8ubWllLmpwCit1cmVzaGluby5taWUuanAKK3dhdGFyYWkubWllLmpwCit5b2trYWljaGkubWllLmpwCitmdXJ1a2F3YS5taXlhZ2kuanAKK2hpZ2FzaGltYXRzdXNoaW1hLm1peWFnaS5qcAoraXNoaW5vbWFraS5taXlhZ2kuanAKK2l3YW51bWEubWl5YWdpLmpwCitrYWt1ZGEubWl5YWdpLmpwCitrYW1pLm1peWFnaS5qcAora2F3YXNha2kubWl5YWdpLmpwCittYXJ1bW9yaS5taXlhZ2kuanAKK21hdHN1c2hpbWEubWl5YWdpLmpwCittaW5hbWlzYW5yaWt1Lm1peWFnaS5qcAorbWlzYXRvLm1peWFnaS5qcAorbXVyYXRhLm1peWFnaS5qcAorbmF0b3JpLm1peWFnaS5qcAorb2dhd2FyYS5taXlhZ2kuanAKK29oaXJhLm1peWFnaS5qcAorb25hZ2F3YS5taXlhZ2kuanAKK29zYWtpLm1peWFnaS5qcAorcmlmdS5taXlhZ2kuanAKK3NlbWluZS5taXlhZ2kuanAKK3NoaWJhdGEubWl5YWdpLmpwCitzaGljaGlrYXNodWt1Lm1peWFnaS5qcAorc2hpa2FtYS5taXlhZ2kuanAKK3NoaW9nYW1hLm1peWFnaS5qcAorc2hpcm9pc2hpLm1peWFnaS5qcAordGFnYWpvLm1peWFnaS5qcAordGFpd2EubWl5YWdpLmpwCit0b21lLm1peWFnaS5qcAordG9taXlhLm1peWFnaS5qcAord2FrdXlhLm1peWFnaS5qcAord2F0YXJpLm1peWFnaS5qcAoreWFtYW1vdG8ubWl5YWdpLmpwCit6YW8ubWl5YWdpLmpwCitheWEubWl5YXpha2kuanAKK2ViaW5vLm1peWF6YWtpLmpwCitnb2thc2UubWl5YXpha2kuanAKK2h5dWdhLm1peWF6YWtpLmpwCitrYWRvZ2F3YS5taXlhemFraS5qcAora2F3YW1pbmFtaS5taXlhemFraS5qcAora2lqby5taXlhemFraS5qcAora2l0YWdhd2EubWl5YXpha2kuanAKK2tpdGFrYXRhLm1peWF6YWtpLmpwCitraXRhdXJhLm1peWF6YWtpLmpwCitrb2JheWFzaGkubWl5YXpha2kuanAKK2t1bml0b21pLm1peWF6YWtpLmpwCitrdXNoaW1hLm1peWF6YWtpLmpwCittaW1hdGEubWl5YXpha2kuanAKK21peWFrb25vam8ubWl5YXpha2kuanAKK21peWF6YWtpLm1peWF6YWtpLmpwCittb3JvdHN1a2EubWl5YXpha2kuanAKK25pY2hpbmFuLm1peWF6YWtpLmpwCituaXNoaW1lcmEubWl5YXpha2kuanAKK25vYmVva2EubWl5YXpha2kuanAKK3NhaXRvLm1peWF6YWtpLmpwCitzaGlpYmEubWl5YXpha2kuanAKK3NoaW50b21pLm1peWF6YWtpLmpwCit0YWthaGFydS5taXlhemFraS5qcAordGFrYW5hYmUubWl5YXpha2kuanAKK3Rha2F6YWtpLm1peWF6YWtpLmpwCit0c3Vuby5taXlhemFraS5qcAorYWNoaS5uYWdhbm8uanAKK2FnZW1hdHN1Lm5hZ2Fuby5qcAorYW5hbi5uYWdhbm8uanAKK2Fva2kubmFnYW5vLmpwCithc2FoaS5uYWdhbm8uanAKK2F6dW1pbm8ubmFnYW5vLmpwCitjaGlrdWhva3UubmFnYW5vLmpwCitjaGlrdW1hLm5hZ2Fuby5qcAorY2hpbm8ubmFnYW5vLmpwCitmdWppbWkubmFnYW5vLmpwCitoYWt1YmEubmFnYW5vLmpwCitoYXJhLm5hZ2Fuby5qcAoraGlyYXlhLm5hZ2Fuby5qcAoraWlkYS5uYWdhbm8uanAKK2lpamltYS5uYWdhbm8uanAKK2lpeWFtYS5uYWdhbm8uanAKK2lpenVuYS5uYWdhbm8uanAKK2lrZWRhLm5hZ2Fuby5qcAoraWt1c2FrYS5uYWdhbm8uanAKK2luYS5uYWdhbm8uanAKK2thcnVpemF3YS5uYWdhbm8uanAKK2thd2FrYW1pLm5hZ2Fuby5qcAora2lzby5uYWdhbm8uanAKK2tpc29mdWt1c2hpbWEubmFnYW5vLmpwCitraXRhYWlraS5uYWdhbm8uanAKK2tvbWFnYW5lLm5hZ2Fuby5qcAora29tb3JvLm5hZ2Fuby5qcAorbWF0c3VrYXdhLm5hZ2Fuby5qcAorbWF0c3Vtb3RvLm5hZ2Fuby5qcAorbWlhc2EubmFnYW5vLmpwCittaW5hbWlhaWtpLm5hZ2Fuby5qcAorbWluYW1pbWFraS5uYWdhbm8uanAKK21pbmFtaW1pbm93YS5uYWdhbm8uanAKK21pbm93YS5uYWdhbm8uanAKK21peWFkYS5uYWdhbm8uanAKK21peW90YS5uYWdhbm8uanAKK21vY2hpenVraS5uYWdhbm8uanAKK25hZ2Fuby5uYWdhbm8uanAKK25hZ2F3YS5uYWdhbm8uanAKK25hZ2lzby5uYWdhbm8uanAKK25ha2FnYXdhLm5hZ2Fuby5qcAorbmFrYW5vLm5hZ2Fuby5qcAorbm96YXdhb25zZW4ubmFnYW5vLmpwCitvYnVzZS5uYWdhbm8uanAKK29nYXdhLm5hZ2Fuby5qcAorb2theWEubmFnYW5vLmpwCitvbWFjaGkubmFnYW5vLmpwCitvbWkubmFnYW5vLmpwCitvb2t1d2EubmFnYW5vLmpwCitvb3NoaWthLm5hZ2Fuby5qcAorb3Rha2kubmFnYW5vLmpwCitvdGFyaS5uYWdhbm8uanAKK3Nha2FlLm5hZ2Fuby5qcAorc2FrYWtpLm5hZ2Fuby5qcAorc2FrdS5uYWdhbm8uanAKK3Nha3Voby5uYWdhbm8uanAKK3NoaW1vc3V3YS5uYWdhbm8uanAKK3NoaW5hbm9tYWNoaS5uYWdhbm8uanAKK3NoaW9qaXJpLm5hZ2Fuby5qcAorc3V3YS5uYWdhbm8uanAKK3N1emFrYS5uYWdhbm8uanAKK3Rha2FnaS5uYWdhbm8uanAKK3Rha2Ftb3JpLm5hZ2Fuby5qcAordGFrYXlhbWEubmFnYW5vLmpwCit0YXRlc2hpbmEubmFnYW5vLmpwCit0YXRzdW5vLm5hZ2Fuby5qcAordG9nYWt1c2hpLm5hZ2Fuby5qcAordG9ndXJhLm5hZ2Fuby5qcAordG9taS5uYWdhbm8uanAKK3VlZGEubmFnYW5vLmpwCit3YWRhLm5hZ2Fuby5qcAoreWFtYWdhdGEubmFnYW5vLmpwCit5YW1hbm91Y2hpLm5hZ2Fuby5qcAoreWFzYWthLm5hZ2Fuby5qcAoreWFzdW9rYS5uYWdhbm8uanAKK2NoaWppd2EubmFnYXNha2kuanAKK2Z1dHN1Lm5hZ2FzYWtpLmpwCitnb3RvLm5hZ2FzYWtpLmpwCitoYXNhbWkubmFnYXNha2kuanAKK2hpcmFkby5uYWdhc2FraS5qcAoraWtpLm5hZ2FzYWtpLmpwCitpc2FoYXlhLm5hZ2FzYWtpLmpwCitrYXdhdGFuYS5uYWdhc2FraS5qcAora3VjaGlub3RzdS5uYWdhc2FraS5qcAorbWF0c3V1cmEubmFnYXNha2kuanAKK25hZ2FzYWtpLm5hZ2FzYWtpLmpwCitvYmFtYS5uYWdhc2FraS5qcAorb211cmEubmFnYXNha2kuanAKK29zZXRvLm5hZ2FzYWtpLmpwCitzYWlrYWkubmFnYXNha2kuanAKK3Nhc2Viby5uYWdhc2FraS5qcAorc2VpaGkubmFnYXNha2kuanAKK3NoaW1hYmFyYS5uYWdhc2FraS5qcAorc2hpbmthbWlnb3RvLm5hZ2FzYWtpLmpwCit0b2dpdHN1Lm5hZ2FzYWtpLmpwCit0c3VzaGltYS5uYWdhc2FraS5qcAordW56ZW4ubmFnYXNha2kuanAKK2FuZG8ubmFyYS5qcAorZ29zZS5uYXJhLmpwCitoZWd1cmkubmFyYS5qcAoraGlnYXNoaXlvc2hpbm8ubmFyYS5qcAoraWthcnVnYS5uYXJhLmpwCitpa29tYS5uYXJhLmpwCitrYW1pa2l0YXlhbWEubmFyYS5qcAora2FubWFraS5uYXJhLmpwCitrYXNoaWJhLm5hcmEuanAKK2thc2hpaGFyYS5uYXJhLmpwCitrYXRzdXJhZ2kubmFyYS5qcAora2F3YWkubmFyYS5qcAora2F3YWthbWkubmFyYS5qcAora2F3YW5pc2hpLm5hcmEuanAKK2tvcnlvLm5hcmEuanAKK2t1cm90YWtpLm5hcmEuanAKK21pdHN1ZS5uYXJhLmpwCittaXlha2UubmFyYS5qcAorbmFyYS5uYXJhLmpwCitub3NlZ2F3YS5uYXJhLmpwCitvamkubmFyYS5qcAorb3VkYS5uYXJhLmpwCitveW9kby5uYXJhLmpwCitzYWt1cmFpLm5hcmEuanAKK3NhbmdvLm5hcmEuanAKK3NoaW1vaWNoaS5uYXJhLmpwCitzaGltb2tpdGF5YW1hLm5hcmEuanAKK3NoaW5qby5uYXJhLmpwCitzb25pLm5hcmEuanAKK3Rha2F0b3JpLm5hcmEuanAKK3Rhd2FyYW1vdG8ubmFyYS5qcAordGVua2F3YS5uYXJhLmpwCit0ZW5yaS5uYXJhLmpwCit1ZGEubmFyYS5qcAoreWFtYXRva29yaXlhbWEubmFyYS5qcAoreWFtYXRvdGFrYWRhLm5hcmEuanAKK3lhbWF6b2UubmFyYS5qcAoreW9zaGluby5uYXJhLmpwCithZ2EubmlpZ2F0YS5qcAorYWdhbm8ubmlpZ2F0YS5qcAorZ29zZW4ubmlpZ2F0YS5qcAoraXRvaWdhd2EubmlpZ2F0YS5qcAoraXp1bW96YWtpLm5paWdhdGEuanAKK2pvZXRzdS5uaWlnYXRhLmpwCitrYW1vLm5paWdhdGEuanAKK2thcml3YS5uaWlnYXRhLmpwCitrYXNoaXdhemFraS5uaWlnYXRhLmpwCittaW5hbWl1b251bWEubmlpZ2F0YS5qcAorbWl0c3VrZS5uaWlnYXRhLmpwCittdWlrYS5uaWlnYXRhLmpwCittdXJha2FtaS5uaWlnYXRhLmpwCitteW9rby5uaWlnYXRhLmpwCituYWdhb2thLm5paWdhdGEuanAKK25paWdhdGEubmlpZ2F0YS5qcAorb2ppeWEubmlpZ2F0YS5qcAorb21pLm5paWdhdGEuanAKK3NhZG8ubmlpZ2F0YS5qcAorc2Fuam8ubmlpZ2F0YS5qcAorc2Vpcm8ubmlpZ2F0YS5qcAorc2Vpcm91Lm5paWdhdGEuanAKK3Nla2lrYXdhLm5paWdhdGEuanAKK3NoaWJhdGEubmlpZ2F0YS5qcAordGFnYW1pLm5paWdhdGEuanAKK3RhaW5haS5uaWlnYXRhLmpwCit0b2NoaW8ubmlpZ2F0YS5qcAordG9rYW1hY2hpLm5paWdhdGEuanAKK3RzdWJhbWUubmlpZ2F0YS5qcAordHN1bmFuLm5paWdhdGEuanAKK3VvbnVtYS5uaWlnYXRhLmpwCit5YWhpa28ubmlpZ2F0YS5qcAoreW9pdGEubmlpZ2F0YS5qcAoreXV6YXdhLm5paWdhdGEuanAKK2JlcHB1Lm9pdGEuanAKK2J1bmdvb25vLm9pdGEuanAKK2J1bmdvdGFrYWRhLm9pdGEuanAKK2hhc2FtYS5vaXRhLmpwCitoaWppLm9pdGEuanAKK2hpbWVzaGltYS5vaXRhLmpwCitoaXRhLm9pdGEuanAKK2thbWl0c3VlLm9pdGEuanAKK2tva29ub2Uub2l0YS5qcAora3VqdS5vaXRhLmpwCitrdW5pc2FraS5vaXRhLmpwCitrdXN1Lm9pdGEuanAKK29pdGEub2l0YS5qcAorc2Fpa2kub2l0YS5qcAordGFrZXRhLm9pdGEuanAKK3RzdWt1bWkub2l0YS5qcAordXNhLm9pdGEuanAKK3VzdWtpLm9pdGEuanAKK3l1ZnUub2l0YS5qcAorYWthaXdhLm9rYXlhbWEuanAKK2FzYWt1Y2hpLm9rYXlhbWEuanAKK2JpemVuLm9rYXlhbWEuanAKK2hheWFzaGltYS5va2F5YW1hLmpwCitpYmFyYS5va2F5YW1hLmpwCitrYWdhbWluby5va2F5YW1hLmpwCitrYXNhb2thLm9rYXlhbWEuanAKK2tpYmljaHVvLm9rYXlhbWEuanAKK2t1bWVuYW4ub2theWFtYS5qcAora3VyYXNoaWtpLm9rYXlhbWEuanAKK21hbml3YS5va2F5YW1hLmpwCittaXNha2kub2theWFtYS5qcAorbmFnaS5va2F5YW1hLmpwCituaWltaS5va2F5YW1hLmpwCituaXNoaWF3YWt1cmEub2theWFtYS5qcAorb2theWFtYS5va2F5YW1hLmpwCitzYXRvc2hvLm9rYXlhbWEuanAKK3NldG91Y2hpLm9rYXlhbWEuanAKK3NoaW5qby5va2F5YW1hLmpwCitzaG9vLm9rYXlhbWEuanAKK3NvamEub2theWFtYS5qcAordGFrYWhhc2hpLm9rYXlhbWEuanAKK3RhbWFuby5va2F5YW1hLmpwCit0c3V5YW1hLm9rYXlhbWEuanAKK3dha2Uub2theWFtYS5qcAoreWFrYWdlLm9rYXlhbWEuanAKK2FndW5pLm9raW5hd2EuanAKK2dpbm93YW4ub2tpbmF3YS5qcAorZ2lub3phLm9raW5hd2EuanAKK2d1c2hpa2FtaS5va2luYXdhLmpwCitoYWViYXJ1Lm9raW5hd2EuanAKK2hpZ2FzaGkub2tpbmF3YS5qcAoraGlyYXJhLm9raW5hd2EuanAKK2loZXlhLm9raW5hd2EuanAKK2lzaGlnYWtpLm9raW5hd2EuanAKK2lzaGlrYXdhLm9raW5hd2EuanAKK2l0b21hbi5va2luYXdhLmpwCitpemVuYS5va2luYXdhLmpwCitrYWRlbmEub2tpbmF3YS5qcAora2luLm9raW5hd2EuanAKK2tpdGFkYWl0by5va2luYXdhLmpwCitraXRhbmFrYWd1c3VrdS5va2luYXdhLmpwCitrdW1lamltYS5va2luYXdhLmpwCitrdW5pZ2FtaS5va2luYXdhLmpwCittaW5hbWlkYWl0by5va2luYXdhLmpwCittb3RvYnUub2tpbmF3YS5qcAorbmFnby5va2luYXdhLmpwCituYWhhLm9raW5hd2EuanAKK25ha2FndXN1a3Uub2tpbmF3YS5qcAorbmFraWppbi5va2luYXdhLmpwCituYW5qby5va2luYXdhLmpwCituaXNoaWhhcmEub2tpbmF3YS5qcAorb2dpbWkub2tpbmF3YS5qcAorb2tpbmF3YS5va2luYXdhLmpwCitvbm5hLm9raW5hd2EuanAKK3NoaW1vamkub2tpbmF3YS5qcAordGFrZXRvbWkub2tpbmF3YS5qcAordGFyYW1hLm9raW5hd2EuanAKK3Rva2FzaGlraS5va2luYXdhLmpwCit0b21pZ3VzdWt1Lm9raW5hd2EuanAKK3RvbmFraS5va2luYXdhLmpwCit1cmFzb2Uub2tpbmF3YS5qcAordXJ1bWEub2tpbmF3YS5qcAoreWFlc2Uub2tpbmF3YS5qcAoreW9taXRhbi5va2luYXdhLmpwCit5b25hYmFydS5va2luYXdhLmpwCit5b25hZ3VuaS5va2luYXdhLmpwCit6YW1hbWkub2tpbmF3YS5qcAorYWJlbm8ub3Nha2EuanAKK2NoaWhheWFha2FzYWthLm9zYWthLmpwCitjaHVvLm9zYWthLmpwCitkYWl0by5vc2FrYS5qcAorZnVqaWlkZXJhLm9zYWthLmpwCitoYWJpa2luby5vc2FrYS5qcAoraGFubmFuLm9zYWthLmpwCitoaWdhc2hpb3Nha2Eub3Nha2EuanAKK2hpZ2FzaGlzdW1peW9zaGkub3Nha2EuanAKK2hpZ2FzaGl5b2RvZ2F3YS5vc2FrYS5qcAoraGlyYWthdGEub3Nha2EuanAKK2liYXJha2kub3Nha2EuanAKK2lrZWRhLm9zYWthLmpwCitpenVtaS5vc2FrYS5qcAoraXp1bWlvdHN1Lm9zYWthLmpwCitpenVtaXNhbm8ub3Nha2EuanAKK2thZG9tYS5vc2FrYS5qcAora2FpenVrYS5vc2FrYS5qcAora2FuYW4ub3Nha2EuanAKK2thc2hpd2FyYS5vc2FrYS5qcAora2F0YW5vLm9zYWthLmpwCitrYXdhY2hpbmFnYW5vLm9zYWthLmpwCitraXNoaXdhZGEub3Nha2EuanAKK2tpdGEub3Nha2EuanAKK2t1bWF0b3JpLm9zYWthLmpwCittYXRzdWJhcmEub3Nha2EuanAKK21pbmF0by5vc2FrYS5qcAorbWlub2gub3Nha2EuanAKK21pc2FraS5vc2FrYS5qcAorbW9yaWd1Y2hpLm9zYWthLmpwCituZXlhZ2F3YS5vc2FrYS5qcAorbmlzaGkub3Nha2EuanAKK25vc2Uub3Nha2EuanAKK29zYWthc2F5YW1hLm9zYWthLmpwCitzYWthaS5vc2FrYS5qcAorc2F5YW1hLm9zYWthLmpwCitzZW5uYW4ub3Nha2EuanAKK3NldHRzdS5vc2FrYS5qcAorc2hpam9uYXdhdGUub3Nha2EuanAKK3NoaW1hbW90by5vc2FrYS5qcAorc3VpdGEub3Nha2EuanAKK3RhZGFva2Eub3Nha2EuanAKK3RhaXNoaS5vc2FrYS5qcAordGFqaXJpLm9zYWthLmpwCit0YWthaXNoaS5vc2FrYS5qcAordGFrYXRzdWtpLm9zYWthLmpwCit0b25kYWJheWFzaGkub3Nha2EuanAKK3RveW9uYWthLm9zYWthLmpwCit0b3lvbm8ub3Nha2EuanAKK3lhby5vc2FrYS5qcAorYXJpYWtlLnNhZ2EuanAKK2FyaXRhLnNhZ2EuanAKK2Z1a3Vkb21pLnNhZ2EuanAKK2dlbmthaS5zYWdhLmpwCitoYW1hdGFtYS5zYWdhLmpwCitoaXplbi5zYWdhLmpwCitpbWFyaS5zYWdhLmpwCitrYW1pbWluZS5zYWdhLmpwCitrYW56YWtpLnNhZ2EuanAKK2thcmF0c3Uuc2FnYS5qcAora2FzaGltYS5zYWdhLmpwCitraXRhZ2F0YS5zYWdhLmpwCitraXRhaGF0YS5zYWdhLmpwCitraXlhbWEuc2FnYS5qcAora291aG9rdS5zYWdhLmpwCitreXVyYWdpLnNhZ2EuanAKK25pc2hpYXJpdGEuc2FnYS5qcAorb2dpLnNhZ2EuanAKK29tYWNoaS5zYWdhLmpwCitvdWNoaS5zYWdhLmpwCitzYWdhLnNhZ2EuanAKK3NoaXJvaXNoaS5zYWdhLmpwCit0YWt1LnNhZ2EuanAKK3RhcmEuc2FnYS5qcAordG9zdS5zYWdhLmpwCit5b3NoaW5vZ2FyaS5zYWdhLmpwCithcmFrYXdhLnNhaXRhbWEuanAKK2FzYWthLnNhaXRhbWEuanAKK2NoaWNoaWJ1LnNhaXRhbWEuanAKK2Z1amltaS5zYWl0YW1hLmpwCitmdWppbWluby5zYWl0YW1hLmpwCitmdWtheWEuc2FpdGFtYS5qcAoraGFubm8uc2FpdGFtYS5qcAoraGFueXUuc2FpdGFtYS5qcAoraGFzdWRhLnNhaXRhbWEuanAKK2hhdG9nYXlhLnNhaXRhbWEuanAKK2hhdG95YW1hLnNhaXRhbWEuanAKK2hpZGFrYS5zYWl0YW1hLmpwCitoaWdhc2hpY2hpY2hpYnUuc2FpdGFtYS5qcAoraGlnYXNoaW1hdHN1eWFtYS5zYWl0YW1hLmpwCitob25qby5zYWl0YW1hLmpwCitpbmEuc2FpdGFtYS5qcAoraXJ1bWEuc2FpdGFtYS5qcAoraXdhdHN1a2kuc2FpdGFtYS5qcAora2FtaWl6dW1pLnNhaXRhbWEuanAKK2thbWlrYXdhLnNhaXRhbWEuanAKK2thbWlzYXRvLnNhaXRhbWEuanAKK2thc3VrYWJlLnNhaXRhbWEuanAKK2thd2Fnb2Uuc2FpdGFtYS5qcAora2F3YWd1Y2hpLnNhaXRhbWEuanAKK2thd2FqaW1hLnNhaXRhbWEuanAKK2them8uc2FpdGFtYS5qcAora2l0YW1vdG8uc2FpdGFtYS5qcAora29zaGlnYXlhLnNhaXRhbWEuanAKK2tvdW5vc3Uuc2FpdGFtYS5qcAora3VraS5zYWl0YW1hLmpwCitrdW1hZ2F5YS5zYWl0YW1hLmpwCittYXRzdWJ1c2hpLnNhaXRhbWEuanAKK21pbmFuby5zYWl0YW1hLmpwCittaXNhdG8uc2FpdGFtYS5qcAorbWl5YXNoaXJvLnNhaXRhbWEuanAKK21peW9zaGkuc2FpdGFtYS5qcAorbW9yb3lhbWEuc2FpdGFtYS5qcAorbmFnYXRvcm8uc2FpdGFtYS5qcAorbmFtZWdhd2Euc2FpdGFtYS5qcAorbmlpemEuc2FpdGFtYS5qcAorb2dhbm8uc2FpdGFtYS5qcAorb2dhd2Euc2FpdGFtYS5qcAorb2dvc2Uuc2FpdGFtYS5qcAorb2tlZ2F3YS5zYWl0YW1hLmpwCitvbWl5YS5zYWl0YW1hLmpwCitvdGFraS5zYWl0YW1hLmpwCityYW56YW4uc2FpdGFtYS5qcAorcnlva2FtaS5zYWl0YW1hLmpwCitzYWl0YW1hLnNhaXRhbWEuanAKK3Nha2Fkby5zYWl0YW1hLmpwCitzYXR0ZS5zYWl0YW1hLmpwCitzYXlhbWEuc2FpdGFtYS5qcAorc2hpa2kuc2FpdGFtYS5qcAorc2hpcmFva2Euc2FpdGFtYS5qcAorc29rYS5zYWl0YW1hLmpwCitzdWdpdG8uc2FpdGFtYS5qcAordG9kYS5zYWl0YW1hLmpwCit0b2tpZ2F3YS5zYWl0YW1hLmpwCit0b2tvcm96YXdhLnNhaXRhbWEuanAKK3RzdXJ1Z2FzaGltYS5zYWl0YW1hLmpwCit1cmF3YS5zYWl0YW1hLmpwCit3YXJhYmkuc2FpdGFtYS5qcAoreWFzaGlvLnNhaXRhbWEuanAKK3lva296ZS5zYWl0YW1hLmpwCit5b25vLnNhaXRhbWEuanAKK3lvcmlpLnNhaXRhbWEuanAKK3lvc2hpZGEuc2FpdGFtYS5qcAoreW9zaGlrYXdhLnNhaXRhbWEuanAKK3lvc2hpbWkuc2FpdGFtYS5qcAorYWlzaG8uc2hpZ2EuanAKK2dhbW8uc2hpZ2EuanAKK2hpZ2FzaGlvbWkuc2hpZ2EuanAKK2hpa29uZS5zaGlnYS5qcAora29rYS5zaGlnYS5qcAora29uYW4uc2hpZ2EuanAKK2tvc2VpLnNoaWdhLmpwCitrb3RvLnNoaWdhLmpwCitrdXNhdHN1LnNoaWdhLmpwCittYWliYXJhLnNoaWdhLmpwCittb3JpeWFtYS5zaGlnYS5qcAorbmFnYWhhbWEuc2hpZ2EuanAKK25pc2hpYXphaS5zaGlnYS5qcAorbm90b2dhd2Euc2hpZ2EuanAKK29taWhhY2hpbWFuLnNoaWdhLmpwCitvdHN1LnNoaWdhLmpwCityaXR0by5zaGlnYS5qcAorcnl1b2guc2hpZ2EuanAKK3Rha2FzaGltYS5zaGlnYS5qcAordGFrYXRzdWtpLnNoaWdhLmpwCit0b3JhaGltZS5zaGlnYS5qcAordG95b3NhdG8uc2hpZ2EuanAKK3lhc3Uuc2hpZ2EuanAKK2FrYWdpLnNoaW1hbmUuanAKK2FtYS5zaGltYW5lLmpwCitnb3RzdS5zaGltYW5lLmpwCitoYW1hZGEuc2hpbWFuZS5qcAoraGlnYXNoaWl6dW1vLnNoaW1hbmUuanAKK2hpa2F3YS5zaGltYW5lLmpwCitoaWtpbWkuc2hpbWFuZS5qcAoraXp1bW8uc2hpbWFuZS5qcAora2FraW5va2kuc2hpbWFuZS5qcAorbWFzdWRhLnNoaW1hbmUuanAKK21hdHN1ZS5zaGltYW5lLmpwCittaXNhdG8uc2hpbWFuZS5qcAorbmlzaGlub3NoaW1hLnNoaW1hbmUuanAKK29oZGEuc2hpbWFuZS5qcAorb2tpbm9zaGltYS5zaGltYW5lLmpwCitva3VpenVtby5zaGltYW5lLmpwCitzaGltYW5lLnNoaW1hbmUuanAKK3RhbWF5dS5zaGltYW5lLmpwCit0c3V3YW5vLnNoaW1hbmUuanAKK3VubmFuLnNoaW1hbmUuanAKK3lha3Vtby5zaGltYW5lLmpwCit5YXN1Z2kuc2hpbWFuZS5qcAoreWF0c3VrYS5zaGltYW5lLmpwCithcmFpLnNoaXp1b2thLmpwCithdGFtaS5zaGl6dW9rYS5qcAorZnVqaS5zaGl6dW9rYS5qcAorZnVqaWVkYS5zaGl6dW9rYS5qcAorZnVqaWthd2Euc2hpenVva2EuanAKK2Z1amlub21peWEuc2hpenVva2EuanAKK2Z1a3Vyb2kuc2hpenVva2EuanAKK2dvdGVtYmEuc2hpenVva2EuanAKK2hhaWJhcmEuc2hpenVva2EuanAKK2hhbWFtYXRzdS5zaGl6dW9rYS5qcAoraGlnYXNoaWl6dS5zaGl6dW9rYS5qcAoraXRvLnNoaXp1b2thLmpwCitpd2F0YS5zaGl6dW9rYS5qcAoraXp1LnNoaXp1b2thLmpwCitpenVub2t1bmkuc2hpenVva2EuanAKK2tha2VnYXdhLnNoaXp1b2thLmpwCitrYW5uYW1pLnNoaXp1b2thLmpwCitrYXdhbmVob24uc2hpenVva2EuanAKK2thd2F6dS5zaGl6dW9rYS5qcAora2lrdWdhd2Euc2hpenVva2EuanAKK2tvc2FpLnNoaXp1b2thLmpwCittYWtpbm9oYXJhLnNoaXp1b2thLmpwCittYXRzdXpha2kuc2hpenVva2EuanAKK21pbmFtaWl6dS5zaGl6dW9rYS5qcAorbWlzaGltYS5zaGl6dW9rYS5qcAorbW9yaW1hY2hpLnNoaXp1b2thLmpwCituaXNoaWl6dS5zaGl6dW9rYS5qcAorbnVtYXp1LnNoaXp1b2thLmpwCitvbWFlemFraS5zaGl6dW9rYS5qcAorc2hpbWFkYS5zaGl6dW9rYS5qcAorc2hpbWl6dS5zaGl6dW9rYS5qcAorc2hpbW9kYS5zaGl6dW9rYS5qcAorc2hpenVva2Euc2hpenVva2EuanAKK3N1c29uby5zaGl6dW9rYS5qcAoreWFpenUuc2hpenVva2EuanAKK3lvc2hpZGEuc2hpenVva2EuanAKK2FzaGlrYWdhLnRvY2hpZ2kuanAKK2JhdG8udG9jaGlnaS5qcAoraGFnYS50b2NoaWdpLmpwCitpY2hpa2FpLnRvY2hpZ2kuanAKK2l3YWZ1bmUudG9jaGlnaS5qcAora2FtaW5va2F3YS50b2NoaWdpLmpwCitrYW51bWEudG9jaGlnaS5qcAora2FyYXN1eWFtYS50b2NoaWdpLmpwCitrdXJvaXNvLnRvY2hpZ2kuanAKK21hc2hpa28udG9jaGlnaS5qcAorbWlidS50b2NoaWdpLmpwCittb2thLnRvY2hpZ2kuanAKK21vdGVnaS50b2NoaWdpLmpwCituYXN1LnRvY2hpZ2kuanAKK25hc3VzaGlvYmFyYS50b2NoaWdpLmpwCituaWtrby50b2NoaWdpLmpwCituaXNoaWthdGEudG9jaGlnaS5qcAorbm9naS50b2NoaWdpLmpwCitvaGlyYS50b2NoaWdpLmpwCitvaHRhd2FyYS50b2NoaWdpLmpwCitveWFtYS50b2NoaWdpLmpwCitzYWt1cmEudG9jaGlnaS5qcAorc2Fuby50b2NoaWdpLmpwCitzaGltb3RzdWtlLnRvY2hpZ2kuanAKK3NoaW95YS50b2NoaWdpLmpwCit0YWthbmV6YXdhLnRvY2hpZ2kuanAKK3RvY2hpZ2kudG9jaGlnaS5qcAordHN1Z2EudG9jaGlnaS5qcAordWppaWUudG9jaGlnaS5qcAordXRzdW5vbWl5YS50b2NoaWdpLmpwCit5YWl0YS50b2NoaWdpLmpwCithaXp1bWkudG9rdXNoaW1hLmpwCithbmFuLnRva3VzaGltYS5qcAoraWNoaWJhLnRva3VzaGltYS5qcAoraXRhbm8udG9rdXNoaW1hLmpwCitrYWluYW4udG9rdXNoaW1hLmpwCitrb21hdHN1c2hpbWEudG9rdXNoaW1hLmpwCittYXRzdXNoaWdlLnRva3VzaGltYS5qcAorbWltYS50b2t1c2hpbWEuanAKK21pbmFtaS50b2t1c2hpbWEuanAKK21peW9zaGkudG9rdXNoaW1hLmpwCittdWdpLnRva3VzaGltYS5qcAorbmFrYWdhd2EudG9rdXNoaW1hLmpwCituYXJ1dG8udG9rdXNoaW1hLmpwCitzYW5hZ29jaGkudG9rdXNoaW1hLmpwCitzaGlzaGlrdWkudG9rdXNoaW1hLmpwCit0b2t1c2hpbWEudG9rdXNoaW1hLmpwCit3YWppa2kudG9rdXNoaW1hLmpwCithZGFjaGkudG9reW8uanAKK2FraXJ1bm8udG9reW8uanAKK2FraXNoaW1hLnRva3lvLmpwCithb2dhc2hpbWEudG9reW8uanAKK2FyYWthd2EudG9reW8uanAKK2J1bmt5by50b2t5by5qcAorY2hpeW9kYS50b2t5by5qcAorY2hvZnUudG9reW8uanAKK2NodW8udG9reW8uanAKK2Vkb2dhd2EudG9reW8uanAKK2Z1Y2h1LnRva3lvLmpwCitmdXNzYS50b2t5by5qcAoraGFjaGlqby50b2t5by5qcAoraGFjaGlvamkudG9reW8uanAKK2hhbXVyYS50b2t5by5qcAoraGlnYXNoaWt1cnVtZS50b2t5by5qcAoraGlnYXNoaW11cmF5YW1hLnRva3lvLmpwCitoaWdhc2hpeWFtYXRvLnRva3lvLmpwCitoaW5vLnRva3lvLmpwCitoaW5vZGUudG9reW8uanAKK2hpbm9oYXJhLnRva3lvLmpwCitpbmFnaS50b2t5by5qcAoraXRhYmFzaGkudG9reW8uanAKK2thdHN1c2hpa2EudG9reW8uanAKK2tpdGEudG9reW8uanAKK2tpeW9zZS50b2t5by5qcAora29kYWlyYS50b2t5by5qcAora29nYW5laS50b2t5by5qcAora29rdWJ1bmppLnRva3lvLmpwCitrb21hZS50b2t5by5qcAora290by50b2t5by5qcAora291enVzaGltYS50b2t5by5qcAora3VuaXRhY2hpLnRva3lvLmpwCittYWNoaWRhLnRva3lvLmpwCittZWd1cm8udG9reW8uanAKK21pbmF0by50b2t5by5qcAorbWl0YWthLnRva3lvLmpwCittaXp1aG8udG9reW8uanAKK211c2FzaGltdXJheWFtYS50b2t5by5qcAorbXVzYXNoaW5vLnRva3lvLmpwCituYWthbm8udG9reW8uanAKK25lcmltYS50b2t5by5qcAorb2dhc2F3YXJhLnRva3lvLmpwCitva3V0YW1hLnRva3lvLmpwCitvbWUudG9reW8uanAKK29zaGltYS50b2t5by5qcAorb3RhLnRva3lvLmpwCitzZXRhZ2F5YS50b2t5by5qcAorc2hpYnV5YS50b2t5by5qcAorc2hpbmFnYXdhLnRva3lvLmpwCitzaGluanVrdS50b2t5by5qcAorc3VnaW5hbWkudG9reW8uanAKK3N1bWlkYS50b2t5by5qcAordGFjaGlrYXdhLnRva3lvLmpwCit0YWl0by50b2t5by5qcAordGFtYS50b2t5by5qcAordG9zaGltYS50b2t5by5qcAorY2hpenUudG90dG9yaS5qcAoraGluby50b3R0b3JpLmpwCitrYXdhaGFyYS50b3R0b3JpLmpwCitrb2dlLnRvdHRvcmkuanAKK2tvdG91cmEudG90dG9yaS5qcAorbWlzYXNhLnRvdHRvcmkuanAKK25hbmJ1LnRvdHRvcmkuanAKK25pY2hpbmFuLnRvdHRvcmkuanAKK3Nha2FpbWluYXRvLnRvdHRvcmkuanAKK3RvdHRvcmkudG90dG9yaS5qcAord2FrYXNhLnRvdHRvcmkuanAKK3lhenUudG90dG9yaS5qcAoreW9uYWdvLnRvdHRvcmkuanAKK2FzYWhpLnRveWFtYS5qcAorZnVjaHUudG95YW1hLmpwCitmdWt1bWl0c3UudG95YW1hLmpwCitmdW5haGFzaGkudG95YW1hLmpwCitoaW1pLnRveWFtYS5qcAoraW1penUudG95YW1hLmpwCitpbmFtaS50b3lhbWEuanAKK2pvaGFuYS50b3lhbWEuanAKK2thbWlpY2hpLnRveWFtYS5qcAora3Vyb2JlLnRveWFtYS5qcAorbmFrYW5paWthd2EudG95YW1hLmpwCituYW1lcmlrYXdhLnRveWFtYS5qcAorbmFudG8udG95YW1hLmpwCitueXV6ZW4udG95YW1hLmpwCitveWFiZS50b3lhbWEuanAKK3RhaXJhLnRveWFtYS5qcAordGFrYW9rYS50b3lhbWEuanAKK3RhdGV5YW1hLnRveWFtYS5qcAordG9nYS50b3lhbWEuanAKK3RvbmFtaS50b3lhbWEuanAKK3RveWFtYS50b3lhbWEuanAKK3VuYXp1a2kudG95YW1hLmpwCit1b3p1LnRveWFtYS5qcAoreWFtYWRhLnRveWFtYS5qcAorYXJpZGEud2FrYXlhbWEuanAKK2FyaWRhZ2F3YS53YWtheWFtYS5qcAorZ29iby53YWtheWFtYS5qcAoraGFzaGltb3RvLndha2F5YW1hLmpwCitoaWRha2Eud2FrYXlhbWEuanAKK2hpcm9nYXdhLndha2F5YW1hLmpwCitpbmFtaS53YWtheWFtYS5qcAoraXdhZGUud2FrYXlhbWEuanAKK2thaW5hbi53YWtheWFtYS5qcAora2FtaXRvbmRhLndha2F5YW1hLmpwCitrYXRzdXJhZ2kud2FrYXlhbWEuanAKK2tpbWluby53YWtheWFtYS5qcAora2lub2thd2Eud2FrYXlhbWEuanAKK2tpdGF5YW1hLndha2F5YW1hLmpwCitrb3lhLndha2F5YW1hLmpwCitrb3phLndha2F5YW1hLmpwCitrb3phZ2F3YS53YWtheWFtYS5qcAora3Vkb3lhbWEud2FrYXlhbWEuanAKK2t1c2hpbW90by53YWtheWFtYS5qcAorbWloYW1hLndha2F5YW1hLmpwCittaXNhdG8ud2FrYXlhbWEuanAKK25hY2hpa2F0c3V1cmEud2FrYXlhbWEuanAKK3NoaW5ndS53YWtheWFtYS5qcAorc2hpcmFoYW1hLndha2F5YW1hLmpwCit0YWlqaS53YWtheWFtYS5qcAordGFuYWJlLndha2F5YW1hLmpwCit3YWtheWFtYS53YWtheWFtYS5qcAoreXVhc2Eud2FrYXlhbWEuanAKK3l1cmEud2FrYXlhbWEuanAKK2FzYWhpLnlhbWFnYXRhLmpwCitmdW5hZ2F0YS55YW1hZ2F0YS5qcAoraGlnYXNoaW5lLnlhbWFnYXRhLmpwCitpaWRlLnlhbWFnYXRhLmpwCitrYWhva3UueWFtYWdhdGEuanAKK2thbWlub3lhbWEueWFtYWdhdGEuanAKK2thbmV5YW1hLnlhbWFnYXRhLmpwCitrYXdhbmlzaGkueWFtYWdhdGEuanAKK21hbXVyb2dhd2EueWFtYWdhdGEuanAKK21pa2F3YS55YW1hZ2F0YS5qcAorbXVyYXlhbWEueWFtYWdhdGEuanAKK25hZ2FpLnlhbWFnYXRhLmpwCituYWtheWFtYS55YW1hZ2F0YS5qcAorbmFueW8ueWFtYWdhdGEuanAKK25pc2hpa2F3YS55YW1hZ2F0YS5qcAorb2JhbmF6YXdhLnlhbWFnYXRhLmpwCitvZS55YW1hZ2F0YS5qcAorb2d1bmkueWFtYWdhdGEuanAKK29oa3VyYS55YW1hZ2F0YS5qcAorb2lzaGlkYS55YW1hZ2F0YS5qcAorc2FnYWUueWFtYWdhdGEuanAKK3Nha2F0YS55YW1hZ2F0YS5qcAorc2FrZWdhd2EueWFtYWdhdGEuanAKK3NoaW5qby55YW1hZ2F0YS5qcAorc2hpcmF0YWthLnlhbWFnYXRhLmpwCitzaG9uYWkueWFtYWdhdGEuanAKK3Rha2FoYXRhLnlhbWFnYXRhLmpwCit0ZW5kby55YW1hZ2F0YS5qcAordG96YXdhLnlhbWFnYXRhLmpwCit0c3VydW9rYS55YW1hZ2F0YS5qcAoreWFtYWdhdGEueWFtYWdhdGEuanAKK3lhbWFub2JlLnlhbWFnYXRhLmpwCit5b25lemF3YS55YW1hZ2F0YS5qcAoreXV6YS55YW1hZ2F0YS5qcAorYWJ1LnlhbWFndWNoaS5qcAoraGFnaS55YW1hZ3VjaGkuanAKK2hpa2FyaS55YW1hZ3VjaGkuanAKK2hvZnUueWFtYWd1Y2hpLmpwCitpd2FrdW5pLnlhbWFndWNoaS5qcAora3VkYW1hdHN1LnlhbWFndWNoaS5qcAorbWl0b3UueWFtYWd1Y2hpLmpwCituYWdhdG8ueWFtYWd1Y2hpLmpwCitvc2hpbWEueWFtYWd1Y2hpLmpwCitzaGltb25vc2VraS55YW1hZ3VjaGkuanAKK3NodW5hbi55YW1hZ3VjaGkuanAKK3RhYnVzZS55YW1hZ3VjaGkuanAKK3Rva3V5YW1hLnlhbWFndWNoaS5qcAordG95b3RhLnlhbWFndWNoaS5qcAordWJlLnlhbWFndWNoaS5qcAoreXV1LnlhbWFndWNoaS5qcAorY2h1by55YW1hbmFzaGkuanAKK2Rvc2hpLnlhbWFuYXNoaS5qcAorZnVlZnVraS55YW1hbmFzaGkuanAKK2Z1amlrYXdhLnlhbWFuYXNoaS5qcAorZnVqaWthd2FndWNoaWtvLnlhbWFuYXNoaS5qcAorZnVqaXlvc2hpZGEueWFtYW5hc2hpLmpwCitoYXlha2F3YS55YW1hbmFzaGkuanAKK2hva3V0by55YW1hbmFzaGkuanAKK2ljaGlrYXdhbWlzYXRvLnlhbWFuYXNoaS5qcAora2FpLnlhbWFuYXNoaS5qcAora29mdS55YW1hbmFzaGkuanAKK2tvc2h1LnlhbWFuYXNoaS5qcAora29zdWdlLnlhbWFuYXNoaS5qcAorbWluYW1pLWFscHMueWFtYW5hc2hpLmpwCittaW5vYnUueWFtYW5hc2hpLmpwCituYWthbWljaGkueWFtYW5hc2hpLmpwCituYW5idS55YW1hbmFzaGkuanAKK25hcnVzYXdhLnlhbWFuYXNoaS5qcAorbmlyYXNha2kueWFtYW5hc2hpLmpwCituaXNoaWthdHN1cmEueWFtYW5hc2hpLmpwCitvc2hpbm8ueWFtYW5hc2hpLmpwCitvdHN1a2kueWFtYW5hc2hpLmpwCitzaG93YS55YW1hbmFzaGkuanAKK3RhYmF5YW1hLnlhbWFuYXNoaS5qcAordHN1cnUueWFtYW5hc2hpLmpwCit1ZW5vaGFyYS55YW1hbmFzaGkuanAKK3lhbWFuYWtha28ueWFtYW5hc2hpLmpwCit5YW1hbmFzaGkueWFtYW5hc2hpLmpwCisKKy8vIGtlIDogaHR0cDovL3d3dy5rZW5pYy5vci5rZS9pbmRleC5waHAvZW4va2UtZG9tYWlucy9rZS1kb21haW5zCitrZQorYWMua2UKK2NvLmtlCitnby5rZQoraW5mby5rZQorbWUua2UKK21vYmkua2UKK25lLmtlCitvci5rZQorc2Mua2UKKworLy8ga2cgOiBodHRwOi8vd3d3LmRvbWFpbi5rZy9kbW5fbi5odG1sCitrZworb3JnLmtnCituZXQua2cKK2NvbS5rZworZWR1LmtnCitnb3Yua2cKK21pbC5rZworCisvLyBraCA6IGh0dHA6Ly93d3cubXB0Yy5nb3Yua2gvZG5zX3JlZ2lzdHJhdGlvbi5odG0KKyoua2gKKworLy8ga2kgOiBodHRwOi8vd3d3LmtpL2Rucy9pbmRleC5odG1sCitraQorZWR1LmtpCitiaXoua2kKK25ldC5raQorb3JnLmtpCitnb3Yua2kKK2luZm8ua2kKK2NvbS5raQorCisvLyBrbSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5rbQorLy8gaHR0cDovL3d3dy5kb21haW5lLmttL2RvY3VtZW50cy9jaGFydGUuZG9jCitrbQorb3JnLmttCitub20ua20KK2dvdi5rbQorcHJkLmttCit0bS5rbQorZWR1LmttCittaWwua20KK2Fzcy5rbQorY29tLmttCisvLyBUaGVzZSBhcmUgb25seSBtZW50aW9uZWQgYXMgcHJvcG9zZWQgc3VnZ2VzdGlvbnMgYXQgZG9tYWluZS5rbSwgYnV0CisvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ua20gc2F5cyB0aGV5J3JlIGF2YWlsYWJsZSBmb3IgcmVnaXN0cmF0aW9uOgorY29vcC5rbQorYXNzby5rbQorcHJlc3NlLmttCittZWRlY2luLmttCitub3RhaXJlcy5rbQorcGhhcm1hY2llbnMua20KK3ZldGVyaW5haXJlLmttCitnb3V2LmttCisKKy8vIGtuIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmtuCisvLyBodHRwOi8vd3d3LmRvdC5rbi9kb21haW5SdWxlcy5odG1sCitrbgorbmV0LmtuCitvcmcua24KK2VkdS5rbgorZ292LmtuCisKKy8vIGtwIDogaHR0cDovL3d3dy5rY2NlLmtwL2VuX2luZGV4LnBocAora3AKK2NvbS5rcAorZWR1LmtwCitnb3Yua3AKK29yZy5rcAorcmVwLmtwCit0cmEua3AKKworLy8ga3IgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ua3IKKy8vIHNlZSBhbHNvOiBodHRwOi8vZG9tYWluLm5pZGEub3Iua3IvZW5nL3JlZ2lzdHJhdGlvbi5qc3AKK2tyCithYy5rcgorY28ua3IKK2VzLmtyCitnby5rcgoraHMua3IKK2tnLmtyCittaWwua3IKK21zLmtyCituZS5rcgorb3Iua3IKK3BlLmtyCityZS5rcgorc2Mua3IKKy8vIGtyIGdlb2dyYXBoaWNhbCBuYW1lcworYnVzYW4ua3IKK2NodW5nYnVrLmtyCitjaHVuZ25hbS5rcgorZGFlZ3Uua3IKK2RhZWplb24ua3IKK2dhbmd3b24ua3IKK2d3YW5nanUua3IKK2d5ZW9uZ2J1ay5rcgorZ3llb25nZ2kua3IKK2d5ZW9uZ25hbS5rcgoraW5jaGVvbi5rcgoramVqdS5rcgoramVvbmJ1ay5rcgoramVvbm5hbS5rcgorc2VvdWwua3IKK3Vsc2FuLmtyCisKKy8vIGt3IDogaHR0cHM6Ly93d3cubmljLmt3L3BvbGljaWVzLworLy8gQ29uZmlybWVkIGJ5IHJlZ2lzdHJ5IDxuaWMudGVjaEBjaXRyYS5nb3Yua3c+CitrdworY29tLmt3CitlZHUua3cKK2VtYi5rdworZ292Lmt3CitpbmQua3cKK25ldC5rdworb3JnLmt3CisKKy8vIGt5IDogaHR0cDovL3d3dy5pY3RhLmt5L2RhX2t5X3JlZ19kb20ucGhwCisvLyBDb25maXJtZWQgYnkgcmVnaXN0cnkgPGt5c3VwcG9ydEBwZXJpbWV0ZXJ1c2EuY29tPiAyMDA4LTA2LTE3CitreQorY29tLmt5CitlZHUua3kKK25ldC5reQorb3JnLmt5CisKKy8vIGt6IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmt6CisvLyBzZWUgYWxzbzogaHR0cDovL3d3dy5uaWMua3ovcnVsZXMvaW5kZXguanNwCitregorb3JnLmt6CitlZHUua3oKK25ldC5regorZ292Lmt6CittaWwua3oKK2NvbS5regorCisvLyBsYSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5sYQorLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxnYXZpbi5icm93bkBuaWMubGE+CitsYQoraW50LmxhCituZXQubGEKK2luZm8ubGEKK2VkdS5sYQorZ292LmxhCitwZXIubGEKK2NvbS5sYQorb3JnLmxhCisKKy8vIGxiIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmxiCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPHJhbmR5QHBzZy5jb20+CitsYgorY29tLmxiCitlZHUubGIKK2dvdi5sYgorbmV0LmxiCitvcmcubGIKKworLy8gbGMgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubGMKKy8vIHNlZSBhbHNvOiBodHRwOi8vd3d3Lm5pYy5sYy9ydWxlcy5odG0KK2xjCitjb20ubGMKK25ldC5sYworY28ubGMKK29yZy5sYworZWR1LmxjCitnb3YubGMKKworLy8gbGkgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubGkKK2xpCisKKy8vIGxrIDogaHR0cHM6Ly93d3cubmljLmxrL2luZGV4LnBocC9kb21haW4tcmVnaXN0cmF0aW9uL2xrLWRvbWFpbi1uYW1pbmctc3RydWN0dXJlCitsaworZ292LmxrCitzY2gubGsKK25ldC5saworaW50LmxrCitjb20ubGsKK29yZy5saworZWR1LmxrCituZ28ubGsKK3NvYy5saword2ViLmxrCitsdGQubGsKK2Fzc24ubGsKK2dycC5saworaG90ZWwubGsKK2FjLmxrCisKKy8vIGxyIDogaHR0cDovL3BzZy5jb20vZG5zL2xyL2xyLnR4dAorLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxyYW5keUBwc2cuY29tPgorbHIKK2NvbS5scgorZWR1LmxyCitnb3YubHIKK29yZy5scgorbmV0LmxyCisKKy8vIGxzIDogaHR0cDovL3d3dy5uaWMubHMvCisvLyBDb25maXJtZWQgYnkgcmVnaXN0cnkgPGxzYWRtaW5AbmljLmxzPgorbHMKK2FjLmxzCitiaXoubHMKK2NvLmxzCitlZHUubHMKK2dvdi5scworaW5mby5scworbmV0LmxzCitvcmcubHMKK3NjLmxzCisKKy8vIGx0IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLmx0CitsdAorLy8gZ292Lmx0IDogaHR0cDovL3d3dy5nb3YubHQvaW5kZXhfZW4ucGhwCitnb3YubHQKKworLy8gbHUgOiBodHRwOi8vd3d3LmRucy5sdS9lbi8KK2x1CisKKy8vIGx2IDogaHR0cDovL3d3dy5uaWMubHYvRE5TL0VuL2dlbmVyaWMucGhwCitsdgorY29tLmx2CitlZHUubHYKK2dvdi5sdgorb3JnLmx2CittaWwubHYKK2lkLmx2CituZXQubHYKK2Fzbi5sdgorY29uZi5sdgorCisvLyBseSA6IGh0dHA6Ly93d3cubmljLmx5L3JlZ3VsYXRpb25zLnBocAorbHkKK2NvbS5seQorbmV0Lmx5Citnb3YubHkKK3BsYy5seQorZWR1Lmx5CitzY2gubHkKK21lZC5seQorb3JnLmx5CitpZC5seQorCisvLyBtYSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5tYQorLy8gaHR0cDovL3d3dy5hbnJ0Lm1hL2ZyL2FkbWluL2Rvd25sb2FkL3VwbG9hZC9maWxlX2ZyNzgyLnBkZgorbWEKK2NvLm1hCituZXQubWEKK2dvdi5tYQorb3JnLm1hCithYy5tYQorcHJlc3MubWEKKworLy8gbWMgOiBodHRwOi8vd3d3Lm5pYy5tYy8KK21jCit0bS5tYworYXNzby5tYworCisvLyBtZCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5tZAorbWQKKworLy8gbWUgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubWUKK21lCitjby5tZQorbmV0Lm1lCitvcmcubWUKK2VkdS5tZQorYWMubWUKK2dvdi5tZQoraXRzLm1lCitwcml2Lm1lCisKKy8vIG1nIDogaHR0cDovL25pYy5tZy9uaWNtZy8/cGFnZV9pZD0zOQorbWcKK29yZy5tZworbm9tLm1nCitnb3YubWcKK3ByZC5tZwordG0ubWcKK2VkdS5tZworbWlsLm1nCitjb20ubWcKK2NvLm1nCisKKy8vIG1oIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLm1oCittaAorCisvLyBtaWwgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubWlsCittaWwKKworLy8gbWsgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubWsKKy8vIHNlZSBhbHNvOiBodHRwOi8vZG5zLm1hcm5ldC5uZXQubWsvcG9zdGFwa2EucGhwCittaworY29tLm1rCitvcmcubWsKK25ldC5taworZWR1Lm1rCitnb3YubWsKK2luZi5taworbmFtZS5taworCisvLyBtbCA6IGh0dHA6Ly93d3cuZ29iaW4uaW5mby9kb21haW5uYW1lL21sLXRlbXBsYXRlLmRvYworLy8gc2VlIGFsc286IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5tbAorbWwKK2NvbS5tbAorZWR1Lm1sCitnb3V2Lm1sCitnb3YubWwKK25ldC5tbAorb3JnLm1sCitwcmVzc2UubWwKKworLy8gbW0gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubW0KKyoubW0KKworLy8gbW4gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubW4KK21uCitnb3YubW4KK2VkdS5tbgorb3JnLm1uCisKKy8vIG1vIDogaHR0cDovL3d3dy5tb25pYy5uZXQubW8vCittbworY29tLm1vCituZXQubW8KK29yZy5tbworZWR1Lm1vCitnb3YubW8KKworLy8gbW9iaSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5tb2JpCittb2JpCisKKy8vIG1wIDogaHR0cDovL3d3dy5kb3QubXAvCisvLyBDb25maXJtZWQgYnkgcmVnaXN0cnkgPGRjYW1hY2hvQHNhaXBhbi5jb20+IDIwMDgtMDYtMTcKK21wCisKKy8vIG1xIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLm1xCittcQorCisvLyBtciA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5tcgorbXIKK2dvdi5tcgorCisvLyBtcyA6IGh0dHA6Ly93d3cubmljLm1zL3BkZi9NU19Eb21haW5fTmFtZV9SdWxlcy5wZGYKK21zCitjb20ubXMKK2VkdS5tcworZ292Lm1zCituZXQubXMKK29yZy5tcworCisvLyBtdCA6IGh0dHBzOi8vd3d3Lm5pYy5vcmcubXQvZ28vcG9saWN5CisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGhlbHBAbmljLm9yZy5tdD4KK210Citjb20ubXQKK2VkdS5tdAorbmV0Lm10CitvcmcubXQKKworLy8gbXUgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubXUKK211Citjb20ubXUKK25ldC5tdQorb3JnLm11Citnb3YubXUKK2FjLm11Citjby5tdQorb3IubXUKKworLy8gbXVzZXVtIDogaHR0cDovL2Fib3V0Lm11c2V1bS9uYW1pbmcvCisvLyBodHRwOi8vaW5kZXgubXVzZXVtLworbXVzZXVtCithY2FkZW15Lm11c2V1bQorYWdyaWN1bHR1cmUubXVzZXVtCithaXIubXVzZXVtCithaXJndWFyZC5tdXNldW0KK2FsYWJhbWEubXVzZXVtCithbGFza2EubXVzZXVtCithbWJlci5tdXNldW0KK2FtYnVsYW5jZS5tdXNldW0KK2FtZXJpY2FuLm11c2V1bQorYW1lcmljYW5hLm11c2V1bQorYW1lcmljYW5hbnRpcXVlcy5tdXNldW0KK2FtZXJpY2FuYXJ0Lm11c2V1bQorYW1zdGVyZGFtLm11c2V1bQorYW5kLm11c2V1bQorYW5uZWZyYW5rLm11c2V1bQorYW50aHJvLm11c2V1bQorYW50aHJvcG9sb2d5Lm11c2V1bQorYW50aXF1ZXMubXVzZXVtCithcXVhcml1bS5tdXNldW0KK2FyYm9yZXR1bS5tdXNldW0KK2FyY2hhZW9sb2dpY2FsLm11c2V1bQorYXJjaGFlb2xvZ3kubXVzZXVtCithcmNoaXRlY3R1cmUubXVzZXVtCithcnQubXVzZXVtCithcnRhbmRkZXNpZ24ubXVzZXVtCithcnRjZW50ZXIubXVzZXVtCithcnRkZWNvLm11c2V1bQorYXJ0ZWR1Y2F0aW9uLm11c2V1bQorYXJ0Z2FsbGVyeS5tdXNldW0KK2FydHMubXVzZXVtCithcnRzYW5kY3JhZnRzLm11c2V1bQorYXNtYXRhcnQubXVzZXVtCithc3Nhc3NpbmF0aW9uLm11c2V1bQorYXNzaXNpLm11c2V1bQorYXNzb2NpYXRpb24ubXVzZXVtCithc3Ryb25vbXkubXVzZXVtCithdGxhbnRhLm11c2V1bQorYXVzdGluLm11c2V1bQorYXVzdHJhbGlhLm11c2V1bQorYXV0b21vdGl2ZS5tdXNldW0KK2F2aWF0aW9uLm11c2V1bQorYXhpcy5tdXNldW0KK2JhZGFqb3oubXVzZXVtCitiYWdoZGFkLm11c2V1bQorYmFobi5tdXNldW0KK2JhbGUubXVzZXVtCitiYWx0aW1vcmUubXVzZXVtCitiYXJjZWxvbmEubXVzZXVtCitiYXNlYmFsbC5tdXNldW0KK2Jhc2VsLm11c2V1bQorYmF0aHMubXVzZXVtCitiYXVlcm4ubXVzZXVtCitiZWF1eGFydHMubXVzZXVtCitiZWVsZGVuZ2VsdWlkLm11c2V1bQorYmVsbGV2dWUubXVzZXVtCitiZXJnYmF1Lm11c2V1bQorYmVya2VsZXkubXVzZXVtCitiZXJsaW4ubXVzZXVtCitiZXJuLm11c2V1bQorYmlibGUubXVzZXVtCitiaWxiYW8ubXVzZXVtCitiaWxsLm11c2V1bQorYmlyZGFydC5tdXNldW0KK2JpcnRocGxhY2UubXVzZXVtCitib25uLm11c2V1bQorYm9zdG9uLm11c2V1bQorYm90YW5pY2FsLm11c2V1bQorYm90YW5pY2FsZ2FyZGVuLm11c2V1bQorYm90YW5pY2dhcmRlbi5tdXNldW0KK2JvdGFueS5tdXNldW0KK2JyYW5keXdpbmV2YWxsZXkubXVzZXVtCiticmFzaWwubXVzZXVtCiticmlzdG9sLm11c2V1bQorYnJpdGlzaC5tdXNldW0KK2JyaXRpc2hjb2x1bWJpYS5tdXNldW0KK2Jyb2FkY2FzdC5tdXNldW0KK2JydW5lbC5tdXNldW0KK2JydXNzZWwubXVzZXVtCiticnVzc2Vscy5tdXNldW0KK2JydXhlbGxlcy5tdXNldW0KK2J1aWxkaW5nLm11c2V1bQorYnVyZ2hvZi5tdXNldW0KK2J1cy5tdXNldW0KK2J1c2hleS5tdXNldW0KK2NhZGFxdWVzLm11c2V1bQorY2FsaWZvcm5pYS5tdXNldW0KK2NhbWJyaWRnZS5tdXNldW0KK2Nhbi5tdXNldW0KK2NhbmFkYS5tdXNldW0KK2NhcGVicmV0b24ubXVzZXVtCitjYXJyaWVyLm11c2V1bQorY2FydG9vbmFydC5tdXNldW0KK2Nhc2FkZWxhbW9uZWRhLm11c2V1bQorY2FzdGxlLm11c2V1bQorY2FzdHJlcy5tdXNldW0KK2NlbHRpYy5tdXNldW0KK2NlbnRlci5tdXNldW0KK2NoYXR0YW5vb2dhLm11c2V1bQorY2hlbHRlbmhhbS5tdXNldW0KK2NoZXNhcGVha2ViYXkubXVzZXVtCitjaGljYWdvLm11c2V1bQorY2hpbGRyZW4ubXVzZXVtCitjaGlsZHJlbnMubXVzZXVtCitjaGlsZHJlbnNnYXJkZW4ubXVzZXVtCitjaGlyb3ByYWN0aWMubXVzZXVtCitjaG9jb2xhdGUubXVzZXVtCitjaHJpc3RpYW5zYnVyZy5tdXNldW0KK2NpbmNpbm5hdGkubXVzZXVtCitjaW5lbWEubXVzZXVtCitjaXJjdXMubXVzZXVtCitjaXZpbGlzYXRpb24ubXVzZXVtCitjaXZpbGl6YXRpb24ubXVzZXVtCitjaXZpbHdhci5tdXNldW0KK2NsaW50b24ubXVzZXVtCitjbG9jay5tdXNldW0KK2NvYWwubXVzZXVtCitjb2FzdGFsZGVmZW5jZS5tdXNldW0KK2NvZHkubXVzZXVtCitjb2xkd2FyLm11c2V1bQorY29sbGVjdGlvbi5tdXNldW0KK2NvbG9uaWFsd2lsbGlhbXNidXJnLm11c2V1bQorY29sb3JhZG9wbGF0ZWF1Lm11c2V1bQorY29sdW1iaWEubXVzZXVtCitjb2x1bWJ1cy5tdXNldW0KK2NvbW11bmljYXRpb24ubXVzZXVtCitjb21tdW5pY2F0aW9ucy5tdXNldW0KK2NvbW11bml0eS5tdXNldW0KK2NvbXB1dGVyLm11c2V1bQorY29tcHV0ZXJoaXN0b3J5Lm11c2V1bQorY29tdW5pY2HDp8O1ZXMubXVzZXVtCitjb250ZW1wb3JhcnkubXVzZXVtCitjb250ZW1wb3JhcnlhcnQubXVzZXVtCitjb252ZW50Lm11c2V1bQorY29wZW5oYWdlbi5tdXNldW0KK2NvcnBvcmF0aW9uLm11c2V1bQorY29ycmVpb3MtZS10ZWxlY29tdW5pY2HDp8O1ZXMubXVzZXVtCitjb3J2ZXR0ZS5tdXNldW0KK2Nvc3R1bWUubXVzZXVtCitjb3VudHJ5ZXN0YXRlLm11c2V1bQorY291bnR5Lm11c2V1bQorY3JhZnRzLm11c2V1bQorY3JhbmJyb29rLm11c2V1bQorY3JlYXRpb24ubXVzZXVtCitjdWx0dXJhbC5tdXNldW0KK2N1bHR1cmFsY2VudGVyLm11c2V1bQorY3VsdHVyZS5tdXNldW0KK2N5YmVyLm11c2V1bQorY3ltcnUubXVzZXVtCitkYWxpLm11c2V1bQorZGFsbGFzLm11c2V1bQorZGF0YWJhc2UubXVzZXVtCitkZHIubXVzZXVtCitkZWNvcmF0aXZlYXJ0cy5tdXNldW0KK2RlbGF3YXJlLm11c2V1bQorZGVsbWVuaG9yc3QubXVzZXVtCitkZW5tYXJrLm11c2V1bQorZGVwb3QubXVzZXVtCitkZXNpZ24ubXVzZXVtCitkZXRyb2l0Lm11c2V1bQorZGlub3NhdXIubXVzZXVtCitkaXNjb3ZlcnkubXVzZXVtCitkb2xscy5tdXNldW0KK2Rvbm9zdGlhLm11c2V1bQorZHVyaGFtLm11c2V1bQorZWFzdGFmcmljYS5tdXNldW0KK2Vhc3Rjb2FzdC5tdXNldW0KK2VkdWNhdGlvbi5tdXNldW0KK2VkdWNhdGlvbmFsLm11c2V1bQorZWd5cHRpYW4ubXVzZXVtCitlaXNlbmJhaG4ubXVzZXVtCitlbGJ1cmcubXVzZXVtCitlbHZlbmRyZWxsLm11c2V1bQorZW1icm9pZGVyeS5tdXNldW0KK2VuY3ljbG9wZWRpYy5tdXNldW0KK2VuZ2xhbmQubXVzZXVtCitlbnRvbW9sb2d5Lm11c2V1bQorZW52aXJvbm1lbnQubXVzZXVtCitlbnZpcm9ubWVudGFsY29uc2VydmF0aW9uLm11c2V1bQorZXBpbGVwc3kubXVzZXVtCitlc3NleC5tdXNldW0KK2VzdGF0ZS5tdXNldW0KK2V0aG5vbG9neS5tdXNldW0KK2V4ZXRlci5tdXNldW0KK2V4aGliaXRpb24ubXVzZXVtCitmYW1pbHkubXVzZXVtCitmYXJtLm11c2V1bQorZmFybWVxdWlwbWVudC5tdXNldW0KK2Zhcm1lcnMubXVzZXVtCitmYXJtc3RlYWQubXVzZXVtCitmaWVsZC5tdXNldW0KK2ZpZ3VlcmVzLm11c2V1bQorZmlsYXRlbGlhLm11c2V1bQorZmlsbS5tdXNldW0KK2ZpbmVhcnQubXVzZXVtCitmaW5lYXJ0cy5tdXNldW0KK2ZpbmxhbmQubXVzZXVtCitmbGFuZGVycy5tdXNldW0KK2Zsb3JpZGEubXVzZXVtCitmb3JjZS5tdXNldW0KK2ZvcnRtaXNzb3VsYS5tdXNldW0KK2ZvcnR3b3J0aC5tdXNldW0KK2ZvdW5kYXRpb24ubXVzZXVtCitmcmFuY2Fpc2UubXVzZXVtCitmcmFua2Z1cnQubXVzZXVtCitmcmFuemlza2FuZXIubXVzZXVtCitmcmVlbWFzb25yeS5tdXNldW0KK2ZyZWlidXJnLm11c2V1bQorZnJpYm91cmcubXVzZXVtCitmcm9nLm11c2V1bQorZnVuZGFjaW8ubXVzZXVtCitmdXJuaXR1cmUubXVzZXVtCitnYWxsZXJ5Lm11c2V1bQorZ2FyZGVuLm11c2V1bQorZ2F0ZXdheS5tdXNldW0KK2dlZWx2aW5jay5tdXNldW0KK2dlbW9sb2dpY2FsLm11c2V1bQorZ2VvbG9neS5tdXNldW0KK2dlb3JnaWEubXVzZXVtCitnaWVzc2VuLm11c2V1bQorZ2xhcy5tdXNldW0KK2dsYXNzLm11c2V1bQorZ29yZ2UubXVzZXVtCitncmFuZHJhcGlkcy5tdXNldW0KK2dyYXoubXVzZXVtCitndWVybnNleS5tdXNldW0KK2hhbGxvZmZhbWUubXVzZXVtCitoYW1idXJnLm11c2V1bQoraGFuZHNvbi5tdXNldW0KK2hhcnZlc3RjZWxlYnJhdGlvbi5tdXNldW0KK2hhd2FpaS5tdXNldW0KK2hlYWx0aC5tdXNldW0KK2hlaW1hdHVuZHVocmVuLm11c2V1bQoraGVsbGFzLm11c2V1bQoraGVsc2lua2kubXVzZXVtCitoZW1ieWdkc2ZvcmJ1bmQubXVzZXVtCitoZXJpdGFnZS5tdXNldW0KK2hpc3RvaXJlLm11c2V1bQoraGlzdG9yaWNhbC5tdXNldW0KK2hpc3RvcmljYWxzb2NpZXR5Lm11c2V1bQoraGlzdG9yaWNob3VzZXMubXVzZXVtCitoaXN0b3Jpc2NoLm11c2V1bQoraGlzdG9yaXNjaGVzLm11c2V1bQoraGlzdG9yeS5tdXNldW0KK2hpc3RvcnlvZnNjaWVuY2UubXVzZXVtCitob3JvbG9neS5tdXNldW0KK2hvdXNlLm11c2V1bQoraHVtYW5pdGllcy5tdXNldW0KK2lsbHVzdHJhdGlvbi5tdXNldW0KK2ltYWdlYW5kc291bmQubXVzZXVtCitpbmRpYW4ubXVzZXVtCitpbmRpYW5hLm11c2V1bQoraW5kaWFuYXBvbGlzLm11c2V1bQoraW5kaWFubWFya2V0Lm11c2V1bQoraW50ZWxsaWdlbmNlLm11c2V1bQoraW50ZXJhY3RpdmUubXVzZXVtCitpcmFxLm11c2V1bQoraXJvbi5tdXNldW0KK2lzbGVvZm1hbi5tdXNldW0KK2phbWlzb24ubXVzZXVtCitqZWZmZXJzb24ubXVzZXVtCitqZXJ1c2FsZW0ubXVzZXVtCitqZXdlbHJ5Lm11c2V1bQoramV3aXNoLm11c2V1bQoramV3aXNoYXJ0Lm11c2V1bQoramZrLm11c2V1bQoram91cm5hbGlzbS5tdXNldW0KK2p1ZGFpY2EubXVzZXVtCitqdWR5Z2FybGFuZC5tdXNldW0KK2p1ZWRpc2NoZXMubXVzZXVtCitqdWlmLm11c2V1bQora2FyYXRlLm11c2V1bQora2FyaWthdHVyLm11c2V1bQora2lkcy5tdXNldW0KK2tvZWJlbmhhdm4ubXVzZXVtCitrb2Vsbi5tdXNldW0KK2t1bnN0Lm11c2V1bQora3Vuc3RzYW1tbHVuZy5tdXNldW0KK2t1bnN0dW5kZGVzaWduLm11c2V1bQorbGFib3IubXVzZXVtCitsYWJvdXIubXVzZXVtCitsYWpvbGxhLm11c2V1bQorbGFuY2FzaGlyZS5tdXNldW0KK2xhbmRlcy5tdXNldW0KK2xhbnMubXVzZXVtCitsw6Rucy5tdXNldW0KK2xhcnNzb24ubXVzZXVtCitsZXdpc21pbGxlci5tdXNldW0KK2xpbmNvbG4ubXVzZXVtCitsaW56Lm11c2V1bQorbGl2aW5nLm11c2V1bQorbGl2aW5naGlzdG9yeS5tdXNldW0KK2xvY2FsaGlzdG9yeS5tdXNldW0KK2xvbmRvbi5tdXNldW0KK2xvc2FuZ2VsZXMubXVzZXVtCitsb3V2cmUubXVzZXVtCitsb3lhbGlzdC5tdXNldW0KK2x1Y2VybmUubXVzZXVtCitsdXhlbWJvdXJnLm11c2V1bQorbHV6ZXJuLm11c2V1bQorbWFkLm11c2V1bQorbWFkcmlkLm11c2V1bQorbWFsbG9yY2EubXVzZXVtCittYW5jaGVzdGVyLm11c2V1bQorbWFuc2lvbi5tdXNldW0KK21hbnNpb25zLm11c2V1bQorbWFueC5tdXNldW0KK21hcmJ1cmcubXVzZXVtCittYXJpdGltZS5tdXNldW0KK21hcml0aW1vLm11c2V1bQorbWFyeWxhbmQubXVzZXVtCittYXJ5bGh1cnN0Lm11c2V1bQorbWVkaWEubXVzZXVtCittZWRpY2FsLm11c2V1bQorbWVkaXppbmhpc3RvcmlzY2hlcy5tdXNldW0KK21lZXJlcy5tdXNldW0KK21lbW9yaWFsLm11c2V1bQorbWVzYXZlcmRlLm11c2V1bQorbWljaGlnYW4ubXVzZXVtCittaWRhdGxhbnRpYy5tdXNldW0KK21pbGl0YXJ5Lm11c2V1bQorbWlsbC5tdXNldW0KK21pbmVycy5tdXNldW0KK21pbmluZy5tdXNldW0KK21pbm5lc290YS5tdXNldW0KK21pc3NpbGUubXVzZXVtCittaXNzb3VsYS5tdXNldW0KK21vZGVybi5tdXNldW0KK21vbWEubXVzZXVtCittb25leS5tdXNldW0KK21vbm1vdXRoLm11c2V1bQorbW9udGljZWxsby5tdXNldW0KK21vbnRyZWFsLm11c2V1bQorbW9zY293Lm11c2V1bQorbW90b3JjeWNsZS5tdXNldW0KK211ZW5jaGVuLm11c2V1bQorbXVlbnN0ZXIubXVzZXVtCittdWxob3VzZS5tdXNldW0KK211bmNpZS5tdXNldW0KK211c2VldC5tdXNldW0KK211c2V1bWNlbnRlci5tdXNldW0KK211c2V1bXZlcmVuaWdpbmcubXVzZXVtCittdXNpYy5tdXNldW0KK25hdGlvbmFsLm11c2V1bQorbmF0aW9uYWxmaXJlYXJtcy5tdXNldW0KK25hdGlvbmFsaGVyaXRhZ2UubXVzZXVtCituYXRpdmVhbWVyaWNhbi5tdXNldW0KK25hdHVyYWxoaXN0b3J5Lm11c2V1bQorbmF0dXJhbGhpc3RvcnltdXNldW0ubXVzZXVtCituYXR1cmFsc2NpZW5jZXMubXVzZXVtCituYXR1cmUubXVzZXVtCituYXR1cmhpc3RvcmlzY2hlcy5tdXNldW0KK25hdHV1cndldGVuc2NoYXBwZW4ubXVzZXVtCituYXVtYnVyZy5tdXNldW0KK25hdmFsLm11c2V1bQorbmVicmFza2EubXVzZXVtCituZXVlcy5tdXNldW0KK25ld2hhbXBzaGlyZS5tdXNldW0KK25ld2plcnNleS5tdXNldW0KK25ld21leGljby5tdXNldW0KK25ld3BvcnQubXVzZXVtCituZXdzcGFwZXIubXVzZXVtCituZXd5b3JrLm11c2V1bQorbmllcGNlLm11c2V1bQorbm9yZm9say5tdXNldW0KK25vcnRoLm11c2V1bQorbnJ3Lm11c2V1bQorbnljLm11c2V1bQorbnlueS5tdXNldW0KK29jZWFub2dyYXBoaWMubXVzZXVtCitvY2Vhbm9ncmFwaGlxdWUubXVzZXVtCitvbWFoYS5tdXNldW0KK29ubGluZS5tdXNldW0KK29udGFyaW8ubXVzZXVtCitvcGVuYWlyLm11c2V1bQorb3JlZ29uLm11c2V1bQorb3JlZ29udHJhaWwubXVzZXVtCitvdGFnby5tdXNldW0KK294Zm9yZC5tdXNldW0KK3BhY2lmaWMubXVzZXVtCitwYWRlcmJvcm4ubXVzZXVtCitwYWxhY2UubXVzZXVtCitwYWxlby5tdXNldW0KK3BhbG1zcHJpbmdzLm11c2V1bQorcGFuYW1hLm11c2V1bQorcGFyaXMubXVzZXVtCitwYXNhZGVuYS5tdXNldW0KK3BoYXJtYWN5Lm11c2V1bQorcGhpbGFkZWxwaGlhLm11c2V1bQorcGhpbGFkZWxwaGlhYXJlYS5tdXNldW0KK3BoaWxhdGVseS5tdXNldW0KK3Bob2VuaXgubXVzZXVtCitwaG90b2dyYXBoeS5tdXNldW0KK3BpbG90cy5tdXNldW0KK3BpdHRzYnVyZ2gubXVzZXVtCitwbGFuZXRhcml1bS5tdXNldW0KK3BsYW50YXRpb24ubXVzZXVtCitwbGFudHMubXVzZXVtCitwbGF6YS5tdXNldW0KK3BvcnRhbC5tdXNldW0KK3BvcnRsYW5kLm11c2V1bQorcG9ydGxsaWdhdC5tdXNldW0KK3Bvc3RzLWFuZC10ZWxlY29tbXVuaWNhdGlvbnMubXVzZXVtCitwcmVzZXJ2YXRpb24ubXVzZXVtCitwcmVzaWRpby5tdXNldW0KK3ByZXNzLm11c2V1bQorcHJvamVjdC5tdXNldW0KK3B1YmxpYy5tdXNldW0KK3B1Ym9sLm11c2V1bQorcXVlYmVjLm11c2V1bQorcmFpbHJvYWQubXVzZXVtCityYWlsd2F5Lm11c2V1bQorcmVzZWFyY2gubXVzZXVtCityZXNpc3RhbmNlLm11c2V1bQorcmlvZGVqYW5laXJvLm11c2V1bQorcm9jaGVzdGVyLm11c2V1bQorcm9ja2FydC5tdXNldW0KK3JvbWEubXVzZXVtCitydXNzaWEubXVzZXVtCitzYWludGxvdWlzLm11c2V1bQorc2FsZW0ubXVzZXVtCitzYWx2YWRvcmRhbGkubXVzZXVtCitzYWx6YnVyZy5tdXNldW0KK3NhbmRpZWdvLm11c2V1bQorc2FuZnJhbmNpc2NvLm11c2V1bQorc2FudGFiYXJiYXJhLm11c2V1bQorc2FudGFjcnV6Lm11c2V1bQorc2FudGFmZS5tdXNldW0KK3Nhc2thdGNoZXdhbi5tdXNldW0KK3NhdHgubXVzZXVtCitzYXZhbm5haGdhLm11c2V1bQorc2NobGVzaXNjaGVzLm11c2V1bQorc2Nob2VuYnJ1bm4ubXVzZXVtCitzY2hva29sYWRlbi5tdXNldW0KK3NjaG9vbC5tdXNldW0KK3NjaHdlaXoubXVzZXVtCitzY2llbmNlLm11c2V1bQorc2NpZW5jZWFuZGhpc3RvcnkubXVzZXVtCitzY2llbmNlYW5kaW5kdXN0cnkubXVzZXVtCitzY2llbmNlY2VudGVyLm11c2V1bQorc2NpZW5jZWNlbnRlcnMubXVzZXVtCitzY2llbmNlLWZpY3Rpb24ubXVzZXVtCitzY2llbmNlaGlzdG9yeS5tdXNldW0KK3NjaWVuY2VzLm11c2V1bQorc2NpZW5jZXNuYXR1cmVsbGVzLm11c2V1bQorc2NvdGxhbmQubXVzZXVtCitzZWFwb3J0Lm11c2V1bQorc2V0dGxlbWVudC5tdXNldW0KK3NldHRsZXJzLm11c2V1bQorc2hlbGwubXVzZXVtCitzaGVyYnJvb2tlLm11c2V1bQorc2liZW5pay5tdXNldW0KK3NpbGsubXVzZXVtCitza2kubXVzZXVtCitza29sZS5tdXNldW0KK3NvY2lldHkubXVzZXVtCitzb2xvZ25lLm11c2V1bQorc291bmRhbmR2aXNpb24ubXVzZXVtCitzb3V0aGNhcm9saW5hLm11c2V1bQorc291dGh3ZXN0Lm11c2V1bQorc3BhY2UubXVzZXVtCitzcHkubXVzZXVtCitzcXVhcmUubXVzZXVtCitzdGFkdC5tdXNldW0KK3N0YWxiYW5zLm11c2V1bQorc3Rhcm5iZXJnLm11c2V1bQorc3RhdGUubXVzZXVtCitzdGF0ZW9mZGVsYXdhcmUubXVzZXVtCitzdGF0aW9uLm11c2V1bQorc3RlYW0ubXVzZXVtCitzdGVpZXJtYXJrLm11c2V1bQorc3Rqb2huLm11c2V1bQorc3RvY2tob2xtLm11c2V1bQorc3RwZXRlcnNidXJnLm11c2V1bQorc3R1dHRnYXJ0Lm11c2V1bQorc3Vpc3NlLm11c2V1bQorc3VyZ2VvbnNoYWxsLm11c2V1bQorc3VycmV5Lm11c2V1bQorc3ZpenplcmEubXVzZXVtCitzd2VkZW4ubXVzZXVtCitzeWRuZXkubXVzZXVtCit0YW5rLm11c2V1bQordGNtLm11c2V1bQordGVjaG5vbG9neS5tdXNldW0KK3RlbGVrb21tdW5pa2F0aW9uLm11c2V1bQordGVsZXZpc2lvbi5tdXNldW0KK3RleGFzLm11c2V1bQordGV4dGlsZS5tdXNldW0KK3RoZWF0ZXIubXVzZXVtCit0aW1lLm11c2V1bQordGltZWtlZXBpbmcubXVzZXVtCit0b3BvbG9neS5tdXNldW0KK3Rvcmluby5tdXNldW0KK3RvdWNoLm11c2V1bQordG93bi5tdXNldW0KK3RyYW5zcG9ydC5tdXNldW0KK3RyZWUubXVzZXVtCit0cm9sbGV5Lm11c2V1bQordHJ1c3QubXVzZXVtCit0cnVzdGVlLm11c2V1bQordWhyZW4ubXVzZXVtCit1bG0ubXVzZXVtCit1bmRlcnNlYS5tdXNldW0KK3VuaXZlcnNpdHkubXVzZXVtCit1c2EubXVzZXVtCit1c2FudGlxdWVzLm11c2V1bQordXNhcnRzLm11c2V1bQordXNjb3VudHJ5ZXN0YXRlLm11c2V1bQordXNjdWx0dXJlLm11c2V1bQordXNkZWNvcmF0aXZlYXJ0cy5tdXNldW0KK3VzZ2FyZGVuLm11c2V1bQordXNoaXN0b3J5Lm11c2V1bQordXNodWFpYS5tdXNldW0KK3VzbGl2aW5naGlzdG9yeS5tdXNldW0KK3V0YWgubXVzZXVtCit1dmljLm11c2V1bQordmFsbGV5Lm11c2V1bQordmFudGFhLm11c2V1bQordmVyc2FpbGxlcy5tdXNldW0KK3Zpa2luZy5tdXNldW0KK3ZpbGxhZ2UubXVzZXVtCit2aXJnaW5pYS5tdXNldW0KK3ZpcnR1YWwubXVzZXVtCit2aXJ0dWVsLm11c2V1bQordmxhYW5kZXJlbi5tdXNldW0KK3ZvbGtlbmt1bmRlLm11c2V1bQord2FsZXMubXVzZXVtCit3YWxsb25pZS5tdXNldW0KK3dhci5tdXNldW0KK3dhc2hpbmd0b25kYy5tdXNldW0KK3dhdGNoYW5kY2xvY2subXVzZXVtCit3YXRjaC1hbmQtY2xvY2subXVzZXVtCit3ZXN0ZXJuLm11c2V1bQord2VzdGZhbGVuLm11c2V1bQord2hhbGluZy5tdXNldW0KK3dpbGRsaWZlLm11c2V1bQord2lsbGlhbXNidXJnLm11c2V1bQord2luZG1pbGwubXVzZXVtCit3b3Jrc2hvcC5tdXNldW0KK3lvcmsubXVzZXVtCit5b3Jrc2hpcmUubXVzZXVtCit5b3NlbWl0ZS5tdXNldW0KK3lvdXRoLm11c2V1bQorem9vbG9naWNhbC5tdXNldW0KK3pvb2xvZ3kubXVzZXVtCivXmdeo15XXqdec15nXnS5tdXNldW0KK9C40LrQvtC8Lm11c2V1bQorCisvLyBtdiA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5tdgorLy8gIm12IiBpbmNsdWRlZCBiZWNhdXNlLCBjb250cmEgV2lraXBlZGlhLCBnb29nbGUubXYgZXhpc3RzLgorbXYKK2Flcm8ubXYKK2Jpei5tdgorY29tLm12Citjb29wLm12CitlZHUubXYKK2dvdi5tdgoraW5mby5tdgoraW50Lm12CittaWwubXYKK211c2V1bS5tdgorbmFtZS5tdgorbmV0Lm12CitvcmcubXYKK3Byby5tdgorCisvLyBtdyA6IGh0dHA6Ly93d3cucmVnaXN0cmFyLm13LworbXcKK2FjLm13CitiaXoubXcKK2NvLm13Citjb20ubXcKK2Nvb3AubXcKK2VkdS5tdworZ292Lm13CitpbnQubXcKK211c2V1bS5tdworbmV0Lm13CitvcmcubXcKKworLy8gbXggOiBodHRwOi8vd3d3Lm5pYy5teC8KKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8ZmFyaWFzQG5pYy5teD4KK214Citjb20ubXgKK29yZy5teAorZ29iLm14CitlZHUubXgKK25ldC5teAorCisvLyBteSA6IGh0dHA6Ly93d3cubXluaWMubXkvCisvLyBBdmFpbGFibGUgc3RyaW5nczogaHR0cHM6Ly9teW5pYy5teS9yZXNvdXJjZXMvZG9tYWlucy9idXlpbmctYS1kb21haW4vCitteQorYml6Lm15Citjb20ubXkKK2VkdS5teQorZ292Lm15CittaWwubXkKK25hbWUubXkKK25ldC5teQorb3JnLm15CisKKy8vIG16IDogaHR0cDovL3d3dy51ZW0ubXovCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGFudG9uaW9AdWVtLm16PgorbXoKK2FjLm16CithZHYubXoKK2NvLm16CitlZHUubXoKK2dvdi5tegorbWlsLm16CituZXQubXoKK29yZy5tegorCisvLyBuYSA6IGh0dHA6Ly93d3cubmEtbmljLmNvbS5uYS8KKy8vIGh0dHA6Ly93d3cuaW5mby5uYS9kb21haW4vCituYQoraW5mby5uYQorcHJvLm5hCituYW1lLm5hCitzY2hvb2wubmEKK29yLm5hCitkci5uYQordXMubmEKK214Lm5hCitjYS5uYQoraW4ubmEKK2NjLm5hCit0di5uYQord3MubmEKK21vYmkubmEKK2NvLm5hCitjb20ubmEKK29yZy5uYQorCisvLyBuYW1lIDogaGFzIDJuZC1sZXZlbCB0bGRzLCBidXQgdGhlcmUncyBubyBsaXN0IG9mIHRoZW0KK25hbWUKKworLy8gbmMgOiBodHRwOi8vd3d3LmNjdGxkLm5jLworbmMKK2Fzc28ubmMKK25vbS5uYworCisvLyBuZSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5uZQorbmUKKworLy8gbmV0IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLm5ldAorbmV0CisKKy8vIG5mIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLm5mCituZgorY29tLm5mCituZXQubmYKK3Blci5uZgorcmVjLm5mCit3ZWIubmYKK2FydHMubmYKK2Zpcm0ubmYKK2luZm8ubmYKK290aGVyLm5mCitzdG9yZS5uZgorCisvLyBuZyA6IGh0dHA6Ly93d3cubmlyYS5vcmcubmcvaW5kZXgucGhwL2pvaW4tdXMvcmVnaXN0ZXItbmctZG9tYWluLzE4OS1uaXJhLXNsZHMKK25nCitjb20ubmcKK2VkdS5uZworZ292Lm5nCitpLm5nCittaWwubmcKK21vYmkubmcKK25hbWUubmcKK25ldC5uZworb3JnLm5nCitzY2gubmcKKworLy8gbmkgOiBodHRwOi8vd3d3Lm5pYy5uaS8KK25pCithYy5uaQorYml6Lm5pCitjby5uaQorY29tLm5pCitlZHUubmkKK2dvYi5uaQoraW4ubmkKK2luZm8ubmkKK2ludC5uaQorbWlsLm5pCituZXQubmkKK25vbS5uaQorb3JnLm5pCit3ZWIubmkKKworLy8gbmwgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubmwKKy8vICAgICAgaHR0cHM6Ly93d3cuc2lkbi5ubC8KKy8vICAgICAgY2NUTEQgZm9yIHRoZSBOZXRoZXJsYW5kcworbmwKKworLy8gbm8gOiBodHRwczovL3d3dy5ub3JpZC5uby9lbi9vbS1kb21lbmVuYXZuL3JlZ2VsdmVyay1mb3Itbm8vCisvLyBOb3JpZCBnZW9ncmFwaGljYWwgc2Vjb25kIGxldmVsIGRvbWFpbnMgOiBodHRwczovL3d3dy5ub3JpZC5uby9lbi9vbS1kb21lbmVuYXZuL3JlZ2VsdmVyay1mb3Itbm8vdmVkbGVnZy1iLworLy8gTm9yaWQgY2F0ZWdvcnkgc2Vjb25kIGxldmVsIGRvbWFpbnMgOiBodHRwczovL3d3dy5ub3JpZC5uby9lbi9vbS1kb21lbmVuYXZuL3JlZ2VsdmVyay1mb3Itbm8vdmVkbGVnZy1jLworLy8gTm9yaWQgY2F0ZWdvcnkgc2Vjb25kLWxldmVsIGRvbWFpbnMgbWFuYWdlZCBieSBwYXJ0aWVzIG90aGVyIHRoYW4gTm9yaWQgOiBodHRwczovL3d3dy5ub3JpZC5uby9lbi9vbS1kb21lbmVuYXZuL3JlZ2VsdmVyay1mb3Itbm8vdmVkbGVnZy1kLworLy8gUlNTIGZlZWQ6IGh0dHBzOi8vdGVrbmlzay5ub3JpZC5uby9lbi9mZWVkLworbm8KKy8vIE5vcmlkIGNhdGVnb3J5IHNlY29uZCBsZXZlbCBkb21haW5zIDogaHR0cHM6Ly93d3cubm9yaWQubm8vZW4vb20tZG9tZW5lbmF2bi9yZWdlbHZlcmstZm9yLW5vL3ZlZGxlZ2ctYy8KK2Zocy5ubwordmdzLm5vCitmeWxrZXNiaWJsLm5vCitmb2xrZWJpYmwubm8KK211c2V1bS5ubworaWRyZXR0Lm5vCitwcml2Lm5vCisvLyBOb3JpZCBjYXRlZ29yeSBzZWNvbmQtbGV2ZWwgZG9tYWlucyBtYW5hZ2VkIGJ5IHBhcnRpZXMgb3RoZXIgdGhhbiBOb3JpZCA6IGh0dHBzOi8vd3d3Lm5vcmlkLm5vL2VuL29tLWRvbWVuZW5hdm4vcmVnZWx2ZXJrLWZvci1uby92ZWRsZWdnLWQvCittaWwubm8KK3N0YXQubm8KK2RlcC5ubwora29tbXVuZS5ubworaGVyYWQubm8KKy8vIE5vcmlkIGdlb2dyYXBoaWNhbCBzZWNvbmQgbGV2ZWwgZG9tYWlucyA6IGh0dHBzOi8vd3d3Lm5vcmlkLm5vL2VuL29tLWRvbWVuZW5hdm4vcmVnZWx2ZXJrLWZvci1uby92ZWRsZWdnLWIvCisvLyBjb3VudGllcworYWEubm8KK2FoLm5vCitidS5ubworZm0ubm8KK2hsLm5vCitobS5ubworamFuLW1heWVuLm5vCittci5ubworbmwubm8KK250Lm5vCitvZi5ubworb2wubm8KK29zbG8ubm8KK3JsLm5vCitzZi5ubworc3Qubm8KK3N2YWxiYXJkLm5vCit0bS5ubwordHIubm8KK3ZhLm5vCit2Zi5ubworLy8gcHJpbWFyeSBhbmQgbG93ZXIgc2Vjb25kYXJ5IHNjaG9vbHMgcGVyIGNvdW50eQorZ3MuYWEubm8KK2dzLmFoLm5vCitncy5idS5ubworZ3MuZm0ubm8KK2dzLmhsLm5vCitncy5obS5ubworZ3MuamFuLW1heWVuLm5vCitncy5tci5ubworZ3Mubmwubm8KK2dzLm50Lm5vCitncy5vZi5ubworZ3Mub2wubm8KK2dzLm9zbG8ubm8KK2dzLnJsLm5vCitncy5zZi5ubworZ3Muc3Qubm8KK2dzLnN2YWxiYXJkLm5vCitncy50bS5ubworZ3MudHIubm8KK2dzLnZhLm5vCitncy52Zi5ubworLy8gY2l0aWVzCitha3JlaGFtbi5ubworw6VrcmVoYW1uLm5vCithbGdhcmQubm8KK8OlbGfDpXJkLm5vCithcm5hLm5vCiticnVtdW5kZGFsLm5vCiticnluZS5ubworYnJvbm5veXN1bmQubm8KK2Jyw7hubsO4eXN1bmQubm8KK2Ryb2Jhay5ubworZHLDuGJhay5ubworZWdlcnN1bmQubm8KK2ZldHN1bmQubm8KK2Zsb3JvLm5vCitmbG9yw7gubm8KK2ZyZWRyaWtzdGFkLm5vCitob2trc3VuZC5ubworaG9uZWZvc3Mubm8KK2jDuG5lZm9zcy5ubworamVzc2hlaW0ubm8KK2pvcnBlbGFuZC5ubworasO4cnBlbGFuZC5ubwora2lya2VuZXMubm8KK2tvcGVydmlrLm5vCitrcm9rc3RhZGVsdmEubm8KK2xhbmdldmFnLm5vCitsYW5nZXbDpWcubm8KK2xlaXJ2aWsubm8KK21qb25kYWxlbi5ubworbWrDuG5kYWxlbi5ubworbW8taS1yYW5hLm5vCittb3Nqb2VuLm5vCittb3Nqw7hlbi5ubworbmVzb2RkdGFuZ2VuLm5vCitvcmthbmdlci5ubworb3NveXJvLm5vCitvc8O4eXJvLm5vCityYWhvbHQubm8KK3LDpWhvbHQubm8KK3NhbmRuZXNzam9lbi5ubworc2FuZG5lc3Nqw7hlbi5ubworc2tlZHNtb2tvcnNldC5ubworc2xhdHR1bS5ubworc3BqZWxrYXZpay5ubworc3RhdGhlbGxlLm5vCitzdGF2ZXJuLm5vCitzdGpvcmRhbHNoYWxzZW4ubm8KK3N0asO4cmRhbHNoYWxzZW4ubm8KK3RhbmFuZ2VyLm5vCit0cmFuYnkubm8KK3Zvc3NldmFuZ2VuLm5vCisvLyBjb21tdW5pdGllcworYWZqb3JkLm5vCivDpWZqb3JkLm5vCithZ2RlbmVzLm5vCithbC5ubworw6VsLm5vCithbGVzdW5kLm5vCivDpWxlc3VuZC5ubworYWxzdGFoYXVnLm5vCithbHRhLm5vCivDoWx0w6Eubm8KK2FsYWhlYWRqdS5ubworw6FsYWhlYWRqdS5ubworYWx2ZGFsLm5vCithbWxpLm5vCivDpW1saS5ubworYW1vdC5ubworw6Vtb3Qubm8KK2FuZGVidS5ubworYW5kb3kubm8KK2FuZMO4eS5ubworYW5kYXN1b2xvLm5vCithcmRhbC5ubworw6VyZGFsLm5vCithcmVtYXJrLm5vCithcmVuZGFsLm5vCivDpXMubm8KK2FzZXJhbC5ubworw6VzZXJhbC5ubworYXNrZXIubm8KK2Fza2ltLm5vCithc2t2b2xsLm5vCithc2tveS5ubworYXNrw7h5Lm5vCithc25lcy5ubworw6VzbmVzLm5vCithdWRuZWRhbG4ubm8KK2F1a3JhLm5vCithdXJlLm5vCithdXJsYW5kLm5vCithdXJza29nLWhvbGFuZC5ubworYXVyc2tvZy1ow7hsYW5kLm5vCithdXN0ZXZvbGwubm8KK2F1c3RyaGVpbS5ubworYXZlcm95Lm5vCithdmVyw7h5Lm5vCitiYWxlc3RyYW5kLm5vCitiYWxsYW5nZW4ubm8KK2JhbGF0Lm5vCitiw6Fsw6F0Lm5vCitiYWxzZmpvcmQubm8KK2JhaGNjYXZ1b3RuYS5ubworYsOhaGNjYXZ1b3RuYS5ubworYmFtYmxlLm5vCitiYXJkdS5ubworYmVhcmR1Lm5vCitiZWlhcm4ubm8KK2JhamRkYXIubm8KK2LDoWpkZGFyLm5vCitiYWlkYXIubm8KK2LDoWlkw6FyLm5vCitiZXJnLm5vCitiZXJnZW4ubm8KK2JlcmxldmFnLm5vCitiZXJsZXbDpWcubm8KK2JlYXJhbHZhaGtpLm5vCitiZWFyYWx2w6Foa2kubm8KK2JpbmRhbC5ubworYmlya2VuZXMubm8KK2JqYXJrb3kubm8KK2JqYXJrw7h5Lm5vCitiamVya3JlaW0ubm8KK2JqdWduLm5vCitib2RvLm5vCitib2TDuC5ubworYmFkYWRkamEubm8KK2LDpWTDpWRkasOlLm5vCitidWRlamp1Lm5vCitib2tuLm5vCiticmVtYW5nZXIubm8KK2Jyb25ub3kubm8KK2Jyw7hubsO4eS5ubworYnlnbGFuZC5ubworYnlrbGUubm8KK2JhcnVtLm5vCitiw6ZydW0ubm8KK2JvLnRlbGVtYXJrLm5vCitiw7gudGVsZW1hcmsubm8KK2JvLm5vcmRsYW5kLm5vCitiw7gubm9yZGxhbmQubm8KK2JpZXZhdC5ubworYmlldsOhdC5ubworYm9tbG8ubm8KK2LDuG1sby5ubworYmF0c2Zqb3JkLm5vCitiw6V0c2Zqb3JkLm5vCitiYWhjYXZ1b3RuYS5ubworYsOhaGNhdnVvdG5hLm5vCitkb3ZyZS5ubworZHJhbW1lbi5ubworZHJhbmdlZGFsLm5vCitkeXJveS5ubworZHlyw7h5Lm5vCitkb25uYS5ubworZMO4bm5hLm5vCitlaWQubm8KK2VpZGZqb3JkLm5vCitlaWRzYmVyZy5ubworZWlkc2tvZy5ubworZWlkc3ZvbGwubm8KK2VpZ2Vyc3VuZC5ubworZWx2ZXJ1bS5ubworZW5lYmFray5ubworZW5nZXJkYWwubm8KK2V0bmUubm8KK2V0bmVkYWwubm8KK2V2ZW5lcy5ubworZXZlbmFzc2kubm8KK2V2ZW7DocWhxaFpLm5vCitldmplLW9nLWhvcm5uZXMubm8KK2ZhcnN1bmQubm8KK2ZhdXNrZS5ubworZnVvc3Nrby5ubworZnVvaXNrdS5ubworZmVkamUubm8KK2ZldC5ubworZmlubm95Lm5vCitmaW5uw7h5Lm5vCitmaXRqYXIubm8KK2ZqYWxlci5ubworZmplbGwubm8KK2ZsYWtzdGFkLm5vCitmbGF0YW5nZXIubm8KK2ZsZWtrZWZqb3JkLm5vCitmbGVzYmVyZy5ubworZmxvcmEubm8KK2ZsYS5ubworZmzDpS5ubworZm9sbGRhbC5ubworZm9yc2FuZC5ubworZm9zbmVzLm5vCitmcmVpLm5vCitmcm9nbi5ubworZnJvbGFuZC5ubworZnJvc3RhLm5vCitmcmFuYS5ubworZnLDpm5hLm5vCitmcm95YS5ubworZnLDuHlhLm5vCitmdXNhLm5vCitmeXJlc2RhbC5ubworZm9yZGUubm8KK2bDuHJkZS5ubworZ2FtdmlrLm5vCitnYW5nYXZpaWthLm5vCitnw6HFi2dhdmlpa2Eubm8KK2dhdWxhci5ubworZ2F1c2RhbC5ubworZ2lsZGVza2FsLm5vCitnaWxkZXNrw6VsLm5vCitnaXNrZS5ubworZ2plbW5lcy5ubworZ2plcmRydW0ubm8KK2dqZXJzdGFkLm5vCitnamVzZGFsLm5vCitnam92aWsubm8KK2dqw7h2aWsubm8KK2dsb3BwZW4ubm8KK2dvbC5ubworZ3Jhbi5ubworZ3JhbmUubm8KK2dyYW52aW4ubm8KK2dyYXRhbmdlbi5ubworZ3JpbXN0YWQubm8KK2dyb25nLm5vCitrcmFhbmdoa2Uubm8KK2tyw6Vhbmdoa2Uubm8KK2dydWUubm8KK2d1bGVuLm5vCitoYWRzZWwubm8KK2hhbGRlbi5ubworaGFsc2Eubm8KK2hhbWFyLm5vCitoYW1hcm95Lm5vCitoYWJtZXIubm8KK2jDoWJtZXIubm8KK2hhcG1pci5ubworaMOhcG1pci5ubworaGFtbWVyZmVzdC5ubworaGFtbWFyZmVhc3RhLm5vCitow6FtbcOhcmZlYXN0YS5ubworaGFyYW0ubm8KK2hhcmVpZC5ubworaGFyc3RhZC5ubworaGFzdmlrLm5vCitha25vbHVva3RhLm5vCivDoWvFi29sdW9rdGEubm8KK2hhdHRmamVsbGRhbC5ubworYWFyYm9ydGUubm8KK2hhdWdlc3VuZC5ubworaGVtbmUubm8KK2hlbW5lcy5ubworaGVtc2VkYWwubm8KK2hlcm95Lm1vcmUtb2ctcm9tc2RhbC5ubworaGVyw7h5Lm3DuHJlLW9nLXJvbXNkYWwubm8KK2hlcm95Lm5vcmRsYW5kLm5vCitoZXLDuHkubm9yZGxhbmQubm8KK2hpdHJhLm5vCitoamFydGRhbC5ubworaGplbG1lbGFuZC5ubworaG9ib2wubm8KK2hvYsO4bC5ubworaG9mLm5vCitob2wubm8KK2hvbGUubm8KK2hvbG1lc3RyYW5kLm5vCitob2x0YWxlbi5ubworaG9sdMOlbGVuLm5vCitob3JuaW5kYWwubm8KK2hvcnRlbi5ubworaHVyZGFsLm5vCitodXJ1bS5ubworaHZhbGVyLm5vCitoeWxsZXN0YWQubm8KK2hhZ2Vib3N0YWQubm8KK2jDpmdlYm9zdGFkLm5vCitob3lhbmdlci5ubworaMO4eWFuZ2VyLm5vCitob3lsYW5kZXQubm8KK2jDuHlsYW5kZXQubm8KK2hhLm5vCitow6Uubm8KK2liZXN0YWQubm8KK2luZGVyb3kubm8KK2luZGVyw7h5Lm5vCitpdmVsYW5kLm5vCitqZXZuYWtlci5ubworam9uZGFsLm5vCitqb2xzdGVyLm5vCitqw7hsc3Rlci5ubwora2FyYXNqb2subm8KK2thcmFzam9oa2Eubm8KK2vDoXLDocWham9oa2Eubm8KK2thcmxzb3kubm8KK2dhbHNhLm5vCitnw6Fsc8OhLm5vCitrYXJtb3kubm8KK2thcm3DuHkubm8KK2thdXRva2Vpbm8ubm8KK2d1b3ZkYWdlYWlkbnUubm8KK2tsZXBwLm5vCitrbGFidS5ubwora2zDpmJ1Lm5vCitrb25nc2Jlcmcubm8KK2tvbmdzdmluZ2VyLm5vCitrcmFnZXJvLm5vCitrcmFnZXLDuC5ubwora3Jpc3RpYW5zYW5kLm5vCitrcmlzdGlhbnN1bmQubm8KK2tyb2RzaGVyYWQubm8KK2tyw7hkc2hlcmFkLm5vCitrdmFsc3VuZC5ubworcmFoa2tlcmF2anUubm8KK3LDoWhra2Vyw6F2anUubm8KK2t2YW0ubm8KK2t2aW5lc2RhbC5ubwora3Zpbm5oZXJhZC5ubwora3ZpdGVzZWlkLm5vCitrdml0c295Lm5vCitrdml0c8O4eS5ubwora3ZhZmpvcmQubm8KK2t2w6Zmam9yZC5ubworZ2llaHRhdnVvYXRuYS5ubwora3ZhbmFuZ2VuLm5vCitrdsOmbmFuZ2VuLm5vCituYXZ1b3RuYS5ubworbsOhdnVvdG5hLm5vCitrYWZqb3JkLm5vCitrw6Vmam9yZC5ubworZ2FpdnVvdG5hLm5vCitnw6FpdnVvdG5hLm5vCitsYXJ2aWsubm8KK2xhdmFuZ2VuLm5vCitsYXZhZ2lzLm5vCitsb2FiYXQubm8KK2xvYWLDoXQubm8KK2xlYmVzYnkubm8KK2RhdnZlc2lpZGEubm8KK2xlaWthbmdlci5ubworbGVpcmZqb3JkLm5vCitsZWthLm5vCitsZWtzdmlrLm5vCitsZW52aWsubm8KK2xlYW5nYXZpaWthLm5vCitsZWHFi2dhdmlpa2Eubm8KK2xlc2phLm5vCitsZXZhbmdlci5ubworbGllci5ubworbGllcm5lLm5vCitsaWxsZWhhbW1lci5ubworbGlsbGVzYW5kLm5vCitsaW5kZXNuZXMubm8KK2xpbmRhcy5ubworbGluZMOlcy5ubworbG9tLm5vCitsb3BwYS5ubworbGFocHBpLm5vCitsw6FocHBpLm5vCitsdW5kLm5vCitsdW5uZXIubm8KK2x1cm95Lm5vCitsdXLDuHkubm8KK2x1c3Rlci5ubworbHluZ2RhbC5ubworbHluZ2VuLm5vCitpdmd1Lm5vCitsYXJkYWwubm8KK2xlcmRhbC5ubworbMOmcmRhbC5ubworbG9kaW5nZW4ubm8KK2zDuGRpbmdlbi5ubworbG9yZW5za29nLm5vCitsw7hyZW5za29nLm5vCitsb3Rlbi5ubworbMO4dGVuLm5vCittYWx2aWsubm8KK21hc295Lm5vCittw6Vzw7h5Lm5vCittdW9zYXQubm8KK211b3PDoXQubm8KK21hbmRhbC5ubworbWFya2VyLm5vCittYXJuYXJkYWwubm8KK21hc2Zqb3JkZW4ubm8KK21lbGFuZC5ubworbWVsZGFsLm5vCittZWxodXMubm8KK21lbG95Lm5vCittZWzDuHkubm8KK21lcmFrZXIubm8KK21lcsOla2VyLm5vCittb2FyZWtlLm5vCittb8OlcmVrZS5ubworbWlkc3VuZC5ubworbWlkdHJlLWdhdWxkYWwubm8KK21vZGFsZW4ubm8KK21vZHVtLm5vCittb2xkZS5ubworbW9za2VuZXMubm8KK21vc3Mubm8KK21vc3Zpay5ubworbWFsc2Vsdi5ubworbcOlbHNlbHYubm8KK21hbGF0dnVvcG1pLm5vCittw6FsYXR2dW9wbWkubm8KK25hbWRhbHNlaWQubm8KK2FlanJpZS5ubworbmFtc29zLm5vCituYW1zc2tvZ2FuLm5vCituYWFtZXNqZXZ1ZW1pZS5ubworbsOlw6VtZXNqZXZ1ZW1pZS5ubworbGFha2VzdnVlbWllLm5vCituYW5uZXN0YWQubm8KK25hcnZpay5ubworbmFydmlpa2Eubm8KK25hdXN0ZGFsLm5vCituZWRyZS1laWtlci5ubworbmVzLmFrZXJzaHVzLm5vCituZXMuYnVza2VydWQubm8KK25lc25hLm5vCituZXNvZGRlbi5ubworbmVzc2VieS5ubwordW5qYXJnYS5ubwordW5qw6FyZ2Eubm8KK25lc3NldC5ubworbmlzc2VkYWwubm8KK25pdHRlZGFsLm5vCitub3JkLWF1cmRhbC5ubworbm9yZC1mcm9uLm5vCitub3JkLW9kYWwubm8KK25vcmRkYWwubm8KK25vcmRrYXBwLm5vCitkYXZ2ZW5qYXJnYS5ubworZGF2dmVuasOhcmdhLm5vCitub3JkcmUtbGFuZC5ubworbm9yZHJlaXNhLm5vCityYWlzYS5ubworcsOhaXNhLm5vCitub3JlLW9nLXV2ZGFsLm5vCitub3RvZGRlbi5ubworbmFyb3kubm8KK27DpnLDuHkubm8KK25vdHRlcm95Lm5vCituw7h0dGVyw7h5Lm5vCitvZGRhLm5vCitva3NuZXMubm8KK8O4a3NuZXMubm8KK29wcGRhbC5ubworb3BwZWdhcmQubm8KK29wcGVnw6VyZC5ubworb3JrZGFsLm5vCitvcmxhbmQubm8KK8O4cmxhbmQubm8KK29yc2tvZy5ubworw7hyc2tvZy5ubworb3JzdGEubm8KK8O4cnN0YS5ubworb3MuaGVkbWFyay5ubworb3MuaG9yZGFsYW5kLm5vCitvc2VuLm5vCitvc3Rlcm95Lm5vCitvc3RlcsO4eS5ubworb3N0cmUtdG90ZW4ubm8KK8O4c3RyZS10b3Rlbi5ubworb3ZlcmhhbGxhLm5vCitvdnJlLWVpa2VyLm5vCivDuHZyZS1laWtlci5ubworb3llci5ubworw7h5ZXIubm8KK295Z2FyZGVuLm5vCivDuHlnYXJkZW4ubm8KK295c3RyZS1zbGlkcmUubm8KK8O4eXN0cmUtc2xpZHJlLm5vCitwb3JzYW5nZXIubm8KK3BvcnNhbmd1Lm5vCitwb3Jzw6HFi2d1Lm5vCitwb3JzZ3J1bm4ubm8KK3JhZG95Lm5vCityYWTDuHkubm8KK3Jha2tlc3RhZC5ubworcmFuYS5ubworcnVvdmF0Lm5vCityYW5kYWJlcmcubm8KK3JhdW1hLm5vCityZW5kYWxlbi5ubworcmVubmVidS5ubworcmVubmVzb3kubm8KK3Jlbm5lc8O4eS5ubworcmluZGFsLm5vCityaW5nZWJ1Lm5vCityaW5nZXJpa2Uubm8KK3JpbmdzYWtlci5ubworcmlzc2Eubm8KK3Jpc29yLm5vCityaXPDuHIubm8KK3JvYW4ubm8KK3JvbGxhZy5ubworcnlnZ2Uubm8KK3JhbGluZ2VuLm5vCityw6ZsaW5nZW4ubm8KK3JvZG95Lm5vCityw7hkw7h5Lm5vCityb21za29nLm5vCityw7htc2tvZy5ubworcm9yb3Mubm8KK3LDuHJvcy5ubworcm9zdC5ubworcsO4c3Qubm8KK3JveWtlbi5ubworcsO4eWtlbi5ubworcm95cnZpay5ubworcsO4eXJ2aWsubm8KK3JhZGUubm8KK3LDpWRlLm5vCitzYWxhbmdlbi5ubworc2llbGxhay5ubworc2FsdGRhbC5ubworc2FsYXQubm8KK3PDoWzDoXQubm8KK3PDoWxhdC5ubworc2FtbmFuZ2VyLm5vCitzYW5kZS5tb3JlLW9nLXJvbXNkYWwubm8KK3NhbmRlLm3DuHJlLW9nLXJvbXNkYWwubm8KK3NhbmRlLnZlc3Rmb2xkLm5vCitzYW5kZWZqb3JkLm5vCitzYW5kbmVzLm5vCitzYW5kb3kubm8KK3NhbmTDuHkubm8KK3NhcnBzYm9yZy5ubworc2F1ZGEubm8KK3NhdWhlcmFkLm5vCitzZWwubm8KK3NlbGJ1Lm5vCitzZWxqZS5ubworc2Vsam9yZC5ubworc2lnZGFsLm5vCitzaWxqYW4ubm8KK3NpcmRhbC5ubworc2thdW4ubm8KK3NrZWRzbW8ubm8KK3NraS5ubworc2tpZW4ubm8KK3NraXB0dmV0Lm5vCitza2plcnZveS5ubworc2tqZXJ2w7h5Lm5vCitza2llcnZhLm5vCitza2llcnbDoS5ubworc2tqYWsubm8KK3NrasOlay5ubworc2tvZGplLm5vCitza2FubGFuZC5ubworc2vDpW5sYW5kLm5vCitza2FuaXQubm8KK3Nrw6FuaXQubm8KK3Ntb2xhLm5vCitzbcO4bGEubm8KK3NuaWxsZmpvcmQubm8KK3NuYXNhLm5vCitzbsOlc2Eubm8KK3Nub2FzYS5ubworc25hYXNlLm5vCitzbsOlYXNlLm5vCitzb2duZGFsLm5vCitzb2tuZGFsLm5vCitzb2xhLm5vCitzb2x1bmQubm8KK3NvbmdkYWxlbi5ubworc29ydGxhbmQubm8KK3NweWRlYmVyZy5ubworc3RhbmdlLm5vCitzdGF2YW5nZXIubm8KK3N0ZWlnZW4ubm8KK3N0ZWlua2plci5ubworc3Rqb3JkYWwubm8KK3N0asO4cmRhbC5ubworc3Rva2tlLm5vCitzdG9yLWVsdmRhbC5ubworc3RvcmQubm8KK3N0b3JkYWwubm8KK3N0b3Jmam9yZC5ubworb21hc3Z1b3RuYS5ubworc3RyYW5kLm5vCitzdHJhbmRhLm5vCitzdHJ5bi5ubworc3VsYS5ubworc3VsZGFsLm5vCitzdW5kLm5vCitzdW5uZGFsLm5vCitzdXJuYWRhbC5ubworc3ZlaW8ubm8KK3N2ZWx2aWsubm8KK3N5a2t5bHZlbi5ubworc29nbmUubm8KK3PDuGduZS5ubworc29tbmEubm8KK3PDuG1uYS5ubworc29uZHJlLWxhbmQubm8KK3PDuG5kcmUtbGFuZC5ubworc29yLWF1cmRhbC5ubworc8O4ci1hdXJkYWwubm8KK3Nvci1mcm9uLm5vCitzw7hyLWZyb24ubm8KK3Nvci1vZGFsLm5vCitzw7hyLW9kYWwubm8KK3Nvci12YXJhbmdlci5ubworc8O4ci12YXJhbmdlci5ubworbWF0dGEtdmFyamphdC5ubworbcOhdHRhLXbDoXJqamF0Lm5vCitzb3Jmb2xkLm5vCitzw7hyZm9sZC5ubworc29ycmVpc2Eubm8KK3PDuHJyZWlzYS5ubworc29ydW0ubm8KK3PDuHJ1bS5ubwordGFuYS5ubworZGVhdG51Lm5vCit0aW1lLm5vCit0aW5ndm9sbC5ubwordGlubi5ubwordGplbGRzdW5kLm5vCitkaWVsZGRhbnVvcnJpLm5vCit0am9tZS5ubwordGrDuG1lLm5vCit0b2trZS5ubwordG9sZ2Eubm8KK3RvcnNrZW4ubm8KK3RyYW5veS5ubwordHJhbsO4eS5ubwordHJvbXNvLm5vCit0cm9tc8O4Lm5vCit0cm9tc2Eubm8KK3JvbXNhLm5vCit0cm9uZGhlaW0ubm8KK3Ryb2FuZGluLm5vCit0cnlzaWwubm8KK3RyYW5hLm5vCit0csOmbmEubm8KK3Ryb2dzdGFkLm5vCit0csO4Z3N0YWQubm8KK3R2ZWRlc3RyYW5kLm5vCit0eWRhbC5ubwordHluc2V0Lm5vCit0eXNmam9yZC5ubworZGl2dGFzdnVvZG5hLm5vCitkaXZ0dGFzdnVvdG5hLm5vCit0eXNuZXMubm8KK3R5c3Zhci5ubwordHlzdsOmci5ubwordG9uc2Jlcmcubm8KK3TDuG5zYmVyZy5ubwordWxsZW5zYWtlci5ubwordWxsZW5zdmFuZy5ubwordWx2aWsubm8KK3V0c2lyYS5ubwordmFkc28ubm8KK3ZhZHPDuC5ubworY2FoY2VzdW9sby5ubworxI3DoWhjZXN1b2xvLm5vCit2YWtzZGFsLm5vCit2YWxsZS5ubwordmFuZy5ubwordmFueWx2ZW4ubm8KK3ZhcmRvLm5vCit2YXJkw7gubm8KK3ZhcmdnYXQubm8KK3bDoXJnZ8OhdC5ubwordmVmc24ubm8KK3ZhYXBzdGUubm8KK3ZlZ2Eubm8KK3ZlZ2Fyc2hlaS5ubwordmVnw6Vyc2hlaS5ubwordmVubmVzbGEubm8KK3ZlcmRhbC5ubwordmVycmFuLm5vCit2ZXN0Ynkubm8KK3Zlc3RuZXMubm8KK3Zlc3RyZS1zbGlkcmUubm8KK3Zlc3RyZS10b3Rlbi5ubwordmVzdHZhZ295Lm5vCit2ZXN0dsOlZ8O4eS5ubwordmV2ZWxzdGFkLm5vCit2aWsubm8KK3Zpa25hLm5vCit2aW5kYWZqb3JkLm5vCit2b2xkYS5ubwordm9zcy5ubwordmFyb3kubm8KK3bDpnLDuHkubm8KK3ZhZ2FuLm5vCit2w6VnYW4ubm8KK3ZvYWdhdC5ubwordmFnc295Lm5vCit2w6Vnc8O4eS5ubwordmFnYS5ubwordsOlZ8OlLm5vCit2YWxlci5vc3Rmb2xkLm5vCit2w6VsZXIuw7hzdGZvbGQubm8KK3ZhbGVyLmhlZG1hcmsubm8KK3bDpWxlci5oZWRtYXJrLm5vCisKKy8vIG5wIDogaHR0cDovL3d3dy5tb3MuY29tLm5wL3JlZ2lzdGVyLmh0bWwKKyoubnAKKworLy8gbnIgOiBodHRwOi8vY2VucGFjLm5ldC5uci9kbnMvaW5kZXguaHRtbAorLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDx0ZWNobmljaWFuQGNlbnBhYy5uZXQubnI+CitucgorYml6Lm5yCitpbmZvLm5yCitnb3YubnIKK2VkdS5ucgorb3JnLm5yCituZXQubnIKK2NvbS5ucgorCisvLyBudSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5udQorbnUKKworLy8gbnogOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ubnoKKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8amF5QG56cnMubmV0Lm56PgorbnoKK2FjLm56Citjby5uegorY3JpLm56CitnZWVrLm56CitnZW4ubnoKK2dvdnQubnoKK2hlYWx0aC5uegoraXdpLm56CitraXdpLm56CittYW9yaS5uegorbWlsLm56CittxIFvcmkubnoKK25ldC5uegorb3JnLm56CitwYXJsaWFtZW50Lm56CitzY2hvb2wubnoKKworLy8gb20gOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ub20KK29tCitjby5vbQorY29tLm9tCitlZHUub20KK2dvdi5vbQorbWVkLm9tCittdXNldW0ub20KK25ldC5vbQorb3JnLm9tCitwcm8ub20KKworLy8gb25pb24gOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzY4Ngorb25pb24KKworLy8gb3JnIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLm9yZworb3JnCisKKy8vIHBhIDogaHR0cDovL3d3dy5uaWMucGEvCisvLyBTb21lIGFkZGl0aW9uYWwgc2Vjb25kIGxldmVsICJkb21haW5zIiByZXNvbHZlIGRpcmVjdGx5IGFzIGhvc3RuYW1lcywgc3VjaCBhcworLy8gcGFubmV0LnBhLCBzbyB3ZSBhZGQgYSBydWxlIGZvciAicGEiLgorcGEKK2FjLnBhCitnb2IucGEKK2NvbS5wYQorb3JnLnBhCitzbGQucGEKK2VkdS5wYQorbmV0LnBhCitpbmcucGEKK2Fiby5wYQorbWVkLnBhCitub20ucGEKKworLy8gcGUgOiBodHRwczovL3d3dy5uaWMucGUvSW5mb3JtZUZpbmFsQ29taXNpb24ucGRmCitwZQorZWR1LnBlCitnb2IucGUKK25vbS5wZQorbWlsLnBlCitvcmcucGUKK2NvbS5wZQorbmV0LnBlCisKKy8vIHBmIDogaHR0cDovL3d3dy5nb2Jpbi5pbmZvL2RvbWFpbm5hbWUvZm9ybXVsYWlyZS1wZi5wZGYKK3BmCitjb20ucGYKK29yZy5wZgorZWR1LnBmCisKKy8vIHBnIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnBnCisqLnBnCisKKy8vIHBoIDogaHR0cDovL3d3dy5kb21haW5zLnBoL0ZBUTIuYXNwCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGplZEBlbWFpbC5jb20ucGg+CitwaAorY29tLnBoCituZXQucGgKK29yZy5waAorZ292LnBoCitlZHUucGgKK25nby5waAorbWlsLnBoCitpLnBoCisKKy8vIHBrIDogaHR0cDovL3BrNS5wa25pYy5uZXQucGsvcGs1L21zZ05hbWVway5QSworcGsKK2NvbS5waworbmV0LnBrCitlZHUucGsKK29yZy5waworZmFtLnBrCitiaXoucGsKK3dlYi5waworZ292LnBrCitnb2IucGsKK2dvay5waworZ29uLnBrCitnb3AucGsKK2dvcy5waworaW5mby5waworCisvLyBwbCBodHRwOi8vd3d3LmRucy5wbC9lbmdsaXNoL2luZGV4Lmh0bWwKKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeQorcGwKK2NvbS5wbAorbmV0LnBsCitvcmcucGwKKy8vIHBsIGZ1bmN0aW9uYWwgZG9tYWlucyAoaHR0cDovL3d3dy5kbnMucGwvZW5nbGlzaC9pbmRleC5odG1sKQorYWlkLnBsCithZ3JvLnBsCithdG0ucGwKK2F1dG8ucGwKK2Jpei5wbAorZWR1LnBsCitnbWluYS5wbAorZ3NtLnBsCitpbmZvLnBsCittYWlsLnBsCittaWFzdGEucGwKK21lZGlhLnBsCittaWwucGwKK25pZXJ1Y2hvbW9zY2kucGwKK25vbS5wbAorcGMucGwKK3Bvd2lhdC5wbAorcHJpdi5wbAorcmVhbGVzdGF0ZS5wbAorcmVsLnBsCitzZXgucGwKK3Nob3AucGwKK3NrbGVwLnBsCitzb3MucGwKK3N6a29sYS5wbAordGFyZ2kucGwKK3RtLnBsCit0b3VyaXNtLnBsCit0cmF2ZWwucGwKK3R1cnlzdHlrYS5wbAorLy8gR292ZXJubWVudCBkb21haW5zCitnb3YucGwKK2FwLmdvdi5wbAoraWMuZ292LnBsCitpcy5nb3YucGwKK3VzLmdvdi5wbAora21wc3AuZ292LnBsCitrcHBzcC5nb3YucGwKK2t3cHNwLmdvdi5wbAorcHNwLmdvdi5wbAord3Nrci5nb3YucGwKK2t3cC5nb3YucGwKK213Lmdvdi5wbAordWcuZ292LnBsCit1bS5nb3YucGwKK3VtaWcuZ292LnBsCit1Z2ltLmdvdi5wbAordXBvdy5nb3YucGwKK3V3Lmdvdi5wbAorc3Rhcm9zdHdvLmdvdi5wbAorcGEuZ292LnBsCitwby5nb3YucGwKK3Bzc2UuZ292LnBsCitwdXAuZ292LnBsCityemd3Lmdvdi5wbAorc2EuZ292LnBsCitzby5nb3YucGwKK3NyLmdvdi5wbAord3NhLmdvdi5wbAorc2tvLmdvdi5wbAordXpzLmdvdi5wbAord2lpaC5nb3YucGwKK3dpbmIuZ292LnBsCitwaW5iLmdvdi5wbAord2lvcy5nb3YucGwKK3dpdGQuZ292LnBsCit3em1pdXcuZ292LnBsCitwaXcuZ292LnBsCit3aXcuZ292LnBsCitncml3Lmdvdi5wbAord2lmLmdvdi5wbAorb3VtLmdvdi5wbAorc2RuLmdvdi5wbAorenAuZ292LnBsCit1cHBvLmdvdi5wbAorbXVwLmdvdi5wbAord3Vvei5nb3YucGwKK2tvbnN1bGF0Lmdvdi5wbAorb2lybS5nb3YucGwKKy8vIHBsIHJlZ2lvbmFsIGRvbWFpbnMgKGh0dHA6Ly93d3cuZG5zLnBsL2VuZ2xpc2gvaW5kZXguaHRtbCkKK2F1Z3VzdG93LnBsCitiYWJpYS1nb3JhLnBsCitiZWR6aW4ucGwKK2Jlc2tpZHkucGwKK2JpYWxvd2llemEucGwKK2JpYWx5c3Rvay5wbAorYmllbGF3YS5wbAorYmllc3pjemFkeS5wbAorYm9sZXNsYXdpZWMucGwKK2J5ZGdvc3pjei5wbAorYnl0b20ucGwKK2NpZXN6eW4ucGwKK2N6ZWxhZHoucGwKK2N6ZXN0LnBsCitkbHVnb2xla2EucGwKK2VsYmxhZy5wbAorZWxrLnBsCitnbG9nb3cucGwKK2duaWV6bm8ucGwKK2dvcmxpY2UucGwKK2dyYWpld28ucGwKK2lsYXdhLnBsCitqYXdvcnpuby5wbAoramVsZW5pYS1nb3JhLnBsCitqZ29yYS5wbAora2FsaXN6LnBsCitrYXppbWllcnotZG9sbnkucGwKK2thcnBhY3oucGwKK2thcnR1enkucGwKK2thc3p1YnkucGwKK2thdG93aWNlLnBsCitrZXBuby5wbAora2V0cnp5bi5wbAora2xvZHprby5wbAora29iaWVyenljZS5wbAora29sb2JyemVnLnBsCitrb25pbi5wbAora29uc2tvd29sYS5wbAora3V0bm8ucGwKK2xhcHkucGwKK2xlYm9yay5wbAorbGVnbmljYS5wbAorbGV6YWpzay5wbAorbGltYW5vd2EucGwKK2xvbXphLnBsCitsb3dpY3oucGwKK2x1YmluLnBsCitsdWtvdy5wbAorbWFsYm9yay5wbAorbWFsb3BvbHNrYS5wbAorbWF6b3dzemUucGwKK21henVyeS5wbAorbWllbGVjLnBsCittaWVsbm8ucGwKK21yYWdvd28ucGwKK25ha2xvLnBsCitub3dhcnVkYS5wbAorbnlzYS5wbAorb2xhd2EucGwKK29sZWNrby5wbAorb2xrdXN6LnBsCitvbHN6dHluLnBsCitvcG9jem5vLnBsCitvcG9sZS5wbAorb3N0cm9kYS5wbAorb3N0cm9sZWthLnBsCitvc3Ryb3dpZWMucGwKK29zdHJvd3dsa3AucGwKK3BpbGEucGwKK3Bpc3oucGwKK3BvZGhhbGUucGwKK3BvZGxhc2llLnBsCitwb2xrb3dpY2UucGwKK3BvbW9yemUucGwKK3BvbW9yc2tpZS5wbAorcHJvY2hvd2ljZS5wbAorcHJ1c3prb3cucGwKK3ByemV3b3Jzay5wbAorcHVsYXd5LnBsCityYWRvbS5wbAorcmF3YS1tYXoucGwKK3J5Ym5pay5wbAorcnplc3pvdy5wbAorc2Fub2sucGwKK3Nlam55LnBsCitzbGFzay5wbAorc2x1cHNrLnBsCitzb3Nub3dpZWMucGwKK3N0YWxvd2Etd29sYS5wbAorc2tvY3pvdy5wbAorc3RhcmFjaG93aWNlLnBsCitzdGFyZ2FyZC5wbAorc3V3YWxraS5wbAorc3dpZG5pY2EucGwKK3N3aWVib2R6aW4ucGwKK3N3aW5vdWpzY2llLnBsCitzemN6ZWNpbi5wbAorc3pjenl0bm8ucGwKK3Rhcm5vYnJ6ZWcucGwKK3Rnb3J5LnBsCit0dXJlay5wbAordHljaHkucGwKK3VzdGthLnBsCit3YWxicnp5Y2gucGwKK3dhcm1pYS5wbAord2Fyc3phd2EucGwKK3dhdy5wbAord2Vncm93LnBsCit3aWVsdW4ucGwKK3dsb2NsLnBsCit3bG9jbGF3ZWsucGwKK3dvZHppc2xhdy5wbAord29sb21pbi5wbAord3JvY2xhdy5wbAoremFjaHBvbW9yLnBsCit6YWdhbi5wbAoremFyb3cucGwKK3pnb3JhLnBsCit6Z29yemVsZWMucGwKKworLy8gcG0gOiBodHRwOi8vd3d3LmFmbmljLmZyL21lZGlhcy9kb2N1bWVudHMvQUZOSUMtbmFtaW5nLXBvbGljeTIwMTIucGRmCitwbQorCisvLyBwbiA6IGh0dHA6Ly93d3cuZ292ZXJubWVudC5wbi9QblJlZ2lzdHJ5L3BvbGljaWVzLmh0bQorcG4KK2dvdi5wbgorY28ucG4KK29yZy5wbgorZWR1LnBuCituZXQucG4KKworLy8gcG9zdCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5wb3N0Citwb3N0CisKKy8vIHByIDogaHR0cDovL3d3dy5uaWMucHIvaW5kZXguYXNwP2Y9MQorcHIKK2NvbS5wcgorbmV0LnByCitvcmcucHIKK2dvdi5wcgorZWR1LnByCitpc2xhLnByCitwcm8ucHIKK2Jpei5wcgoraW5mby5wcgorbmFtZS5wcgorLy8gdGhlc2UgYXJlbid0IG1lbnRpb25lZCBvbiBuaWMucHIsIGJ1dCBvbiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ucHIKK2VzdC5wcgorcHJvZi5wcgorYWMucHIKKworLy8gcHJvIDogaHR0cDovL3JlZ2lzdHJ5LnByby9nZXQtcHJvCitwcm8KK2FhYS5wcm8KK2FjYS5wcm8KK2FjY3QucHJvCithdm9jYXQucHJvCitiYXIucHJvCitjcGEucHJvCitlbmcucHJvCitqdXIucHJvCitsYXcucHJvCittZWQucHJvCityZWNodC5wcm8KKworLy8gcHMgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8ucHMKKy8vIGh0dHA6Ly93d3cubmljLnBzL3JlZ2lzdHJhdGlvbi9wb2xpY3kuaHRtbCNyZWcKK3BzCitlZHUucHMKK2dvdi5wcworc2VjLnBzCitwbG8ucHMKK2NvbS5wcworb3JnLnBzCituZXQucHMKKworLy8gcHQgOiBodHRwczovL3d3dy5kbnMucHQvZW4vZG9tYWluL3B0LXRlcm1zLWFuZC1jb25kaXRpb25zLXJlZ2lzdHJhdGlvbi1ydWxlcy8KK3B0CituZXQucHQKK2dvdi5wdAorb3JnLnB0CitlZHUucHQKK2ludC5wdAorcHVibC5wdAorY29tLnB0Citub21lLnB0CisKKy8vIHB3IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnB3CitwdworY28ucHcKK25lLnB3Citvci5wdworZWQucHcKK2dvLnB3CitiZWxhdS5wdworCisvLyBweSA6IGh0dHA6Ly93d3cubmljLnB5L3BhdXRhcy5odG1sI3NlY2Npb25fOQorLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5CitweQorY29tLnB5Citjb29wLnB5CitlZHUucHkKK2dvdi5weQorbWlsLnB5CituZXQucHkKK29yZy5weQorCisvLyBxYSA6IGh0dHA6Ly9kb21haW5zLnFhL2VuLworcWEKK2NvbS5xYQorZWR1LnFhCitnb3YucWEKK21pbC5xYQorbmFtZS5xYQorbmV0LnFhCitvcmcucWEKK3NjaC5xYQorCisvLyByZSA6IGh0dHA6Ly93d3cuYWZuaWMucmUvb2J0ZW5pci9jaGFydGVzL25vbW1hZ2UtcmUvYW5uZXhlLWRlc2NyaXB0aWZzCityZQorYXNzby5yZQorY29tLnJlCitub20ucmUKKworLy8gcm8gOiBodHRwOi8vd3d3LnJvdGxkLnJvLworcm8KK2FydHMucm8KK2NvbS5ybworZmlybS5ybworaW5mby5ybworbm9tLnJvCitudC5ybworb3JnLnJvCityZWMucm8KK3N0b3JlLnJvCit0bS5ybword3d3LnJvCisKKy8vIHJzIDogaHR0cHM6Ly93d3cucm5pZHMucnMvZW4vZG9tYWlucy9uYXRpb25hbC1kb21haW5zCitycworYWMucnMKK2NvLnJzCitlZHUucnMKK2dvdi5ycworaW4ucnMKK29yZy5ycworCisvLyBydSA6IGh0dHBzOi8vY2N0bGQucnUvZmlsZXMvcGRmL2RvY3MvZW4vcnVsZXNfcnUtcmYucGRmCisvLyBTdWJtaXR0ZWQgYnkgR2VvcmdlIEdlb3JnaWV2c2t5IDxndWdAY2N0bGQucnU+CitydQorCisvLyBydyA6IGh0dHBzOi8vd3d3LnJpY3RhLm9yZy5ydy9zaXRlcy9kZWZhdWx0L2ZpbGVzL3Jlc291cmNlcy9yZWdpc3RyeV9yZWdpc3RyYXJfY29udHJhY3RfMC5wZGYKK3J3CithYy5ydworY28ucncKK2Nvb3AucncKK2dvdi5ydworbWlsLnJ3CituZXQucncKK29yZy5ydworCisvLyBzYSA6IGh0dHA6Ly93d3cubmljLm5ldC5zYS8KK3NhCitjb20uc2EKK25ldC5zYQorb3JnLnNhCitnb3Yuc2EKK21lZC5zYQorcHViLnNhCitlZHUuc2EKK3NjaC5zYQorCisvLyBzYiA6IGh0dHA6Ly93d3cuc2JuaWMubmV0LnNiLworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxsZWUuaHVtcGhyaWVzQHRlbGVrb20uY29tLnNiPgorc2IKK2NvbS5zYgorZWR1LnNiCitnb3Yuc2IKK25ldC5zYgorb3JnLnNiCisKKy8vIHNjIDogaHR0cDovL3d3dy5uaWMuc2MvCitzYworY29tLnNjCitnb3Yuc2MKK25ldC5zYworb3JnLnNjCitlZHUuc2MKKworLy8gc2QgOiBodHRwOi8vd3d3Lmlzb2Muc2Qvc3VkYW5pYy5pc29jLnNkL2JpbGxpbmdfcHJpY2luZy5odG0KKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8YWRtaW5AaXNvYy5zZD4KK3NkCitjb20uc2QKK25ldC5zZAorb3JnLnNkCitlZHUuc2QKK21lZC5zZAordHYuc2QKK2dvdi5zZAoraW5mby5zZAorCisvLyBzZSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5zZQorLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxwYXRyaWsud2FsbHN0cm9tQGlpcy5zZT4KK3NlCithLnNlCithYy5zZQorYi5zZQorYmQuc2UKK2JyYW5kLnNlCitjLnNlCitkLnNlCitlLnNlCitmLnNlCitmaC5zZQorZmhzay5zZQorZmh2LnNlCitnLnNlCitoLnNlCitpLnNlCitrLnNlCitrb21mb3JiLnNlCitrb21tdW5hbGZvcmJ1bmQuc2UKK2tvbXZ1eC5zZQorbC5zZQorbGFuYmliLnNlCittLnNlCituLnNlCituYXR1cmJydWtzZ3ltbi5zZQorby5zZQorb3JnLnNlCitwLnNlCitwYXJ0aS5zZQorcHAuc2UKK3ByZXNzLnNlCityLnNlCitzLnNlCit0LnNlCit0bS5zZQordS5zZQordy5zZQoreC5zZQoreS5zZQorei5zZQorCisvLyBzZyA6IGh0dHA6Ly93d3cubmljLm5ldC5zZy9wYWdlL3JlZ2lzdHJhdGlvbi1wb2xpY2llcy1wcm9jZWR1cmVzLWFuZC1ndWlkZWxpbmVzCitzZworY29tLnNnCituZXQuc2cKK29yZy5zZworZ292LnNnCitlZHUuc2cKK3Blci5zZworCisvLyBzaCA6IGh0dHA6Ly9uaWMuc2gvcnVsZXMuaHRtCitzaAorY29tLnNoCituZXQuc2gKK2dvdi5zaAorb3JnLnNoCittaWwuc2gKKworLy8gc2kgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uc2kKK3NpCisKKy8vIHNqIDogTm8gcmVnaXN0cmF0aW9ucyBhdCB0aGlzIHRpbWUuCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGphcmxlQHVuaW5ldHQubm8+CitzagorCisvLyBzayA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5zaworLy8gbGlzdCBvZiAybmQgbGV2ZWwgZG9tYWlucyA/CitzaworCisvLyBzbCA6IGh0dHA6Ly93d3cubmljLnNsCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGFkYW1AbmVvaXAuY29tPgorc2wKK2NvbS5zbAorbmV0LnNsCitlZHUuc2wKK2dvdi5zbAorb3JnLnNsCisKKy8vIHNtIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnNtCitzbQorCisvLyBzbiA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5zbgorc24KK2FydC5zbgorY29tLnNuCitlZHUuc24KK2dvdXYuc24KK29yZy5zbgorcGVyc28uc24KK3VuaXYuc24KKworLy8gc28gOiBodHRwOi8vc29uaWMuc28vcG9saWNpZXMvCitzbworY29tLnNvCitlZHUuc28KK2dvdi5zbworbWUuc28KK25ldC5zbworb3JnLnNvCisKKy8vIHNyIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnNyCitzcgorCisvLyBzcyA6IGh0dHBzOi8vcmVnaXN0cnkubmljLnNzLworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDx0ZWNobmljYWxAbmljLnNzPgorc3MKK2Jpei5zcworY29tLnNzCitlZHUuc3MKK2dvdi5zcworbWUuc3MKK25ldC5zcworb3JnLnNzCitzY2guc3MKKworLy8gc3QgOiBodHRwOi8vd3d3Lm5pYy5zdC9odG1sL3BvbGljeXJ1bGVzLworc3QKK2NvLnN0Citjb20uc3QKK2NvbnN1bGFkby5zdAorZWR1LnN0CitlbWJhaXhhZGEuc3QKK21pbC5zdAorbmV0LnN0Citvcmcuc3QKK3ByaW5jaXBlLnN0CitzYW90b21lLnN0CitzdG9yZS5zdAorCisvLyBzdSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5zdQorc3UKKworLy8gc3YgOiBodHRwOi8vd3d3LnN2bmV0Lm9yZy5zdi9uaXZlbGRvcy5wZGYKK3N2Citjb20uc3YKK2VkdS5zdgorZ29iLnN2Citvcmcuc3YKK3JlZC5zdgorCisvLyBzeCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5zeAorLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxqY3ZpZ25lc0BvcGVucmVnaXN0cnkuY29tPgorc3gKK2dvdi5zeAorCisvLyBzeSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy5zeQorLy8gc2VlIGFsc286IGh0dHA6Ly93d3cuZ29iaW4uaW5mby9kb21haW5uYW1lL3N5LmRvYworc3kKK2VkdS5zeQorZ292LnN5CituZXQuc3kKK21pbC5zeQorY29tLnN5Citvcmcuc3kKKworLy8gc3ogOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8uc3oKKy8vIGh0dHA6Ly93d3cuc2lzcGEub3JnLnN6Lworc3oKK2NvLnN6CithYy5zegorb3JnLnN6CisKKy8vIHRjIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnRjCit0YworCisvLyB0ZCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy50ZAordGQKKworLy8gdGVsOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8udGVsCisvLyBodHRwOi8vd3d3LnRlbG5pYy5vcmcvCit0ZWwKKworLy8gdGYgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8udGYKK3RmCisKKy8vIHRnIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnRnCisvLyBodHRwOi8vd3d3Lm5pYy50Zy8KK3RnCisKKy8vIHRoIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnRoCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGtyaXRAdGhhaW5zLmNvLnRoPgordGgKK2FjLnRoCitjby50aAorZ28udGgKK2luLnRoCittaS50aAorbmV0LnRoCitvci50aAorCisvLyB0aiA6IGh0dHA6Ly93d3cubmljLnRqL3BvbGljeS5odG1sCit0agorYWMudGoKK2Jpei50agorY28udGoKK2NvbS50agorZWR1LnRqCitnby50agorZ292LnRqCitpbnQudGoKK21pbC50agorbmFtZS50agorbmV0LnRqCituaWMudGoKK29yZy50agordGVzdC50agord2ViLnRqCisKKy8vIHRrIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnRrCit0aworCisvLyB0bCA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy50bAordGwKK2dvdi50bAorCisvLyB0bSA6IGh0dHA6Ly93d3cubmljLnRtL2xvY2FsLmh0bWwKK3RtCitjb20udG0KK2NvLnRtCitvcmcudG0KK25ldC50bQorbm9tLnRtCitnb3YudG0KK21pbC50bQorZWR1LnRtCisKKy8vIHRuIDogaHR0cDovL3d3dy5yZWdpc3RyZS50bi9mci8KKy8vIGh0dHBzOi8vd2hvaXMuYXRpLnRuLwordG4KK2NvbS50bgorZW5zLnRuCitmaW4udG4KK2dvdi50bgoraW5kLnRuCitpbmZvLnRuCitpbnRsLnRuCittaW5jb20udG4KK25hdC50bgorbmV0LnRuCitvcmcudG4KK3BlcnNvLnRuCit0b3VyaXNtLnRuCisKKy8vIHRvIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnRvCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGVndWxsaWNoQGNvbG8udG8+Cit0bworY29tLnRvCitnb3YudG8KK25ldC50bworb3JnLnRvCitlZHUudG8KK21pbC50bworCisvLyB0ciA6IGh0dHBzOi8vbmljLnRyLworLy8gaHR0cHM6Ly9uaWMudHIvZm9ybXMvZW5nL3BvbGljaWVzLnBkZgorLy8gaHR0cHM6Ly9uaWMudHIvaW5kZXgucGhwP1VTUkFDVE49UFJJQ0VMU1QKK3RyCithdi50cgorYmJzLnRyCitiZWwudHIKK2Jpei50cgorY29tLnRyCitkci50cgorZWR1LnRyCitnZW4udHIKK2dvdi50cgoraW5mby50cgorbWlsLnRyCitrMTIudHIKK2tlcC50cgorbmFtZS50cgorbmV0LnRyCitvcmcudHIKK3BvbC50cgordGVsLnRyCit0c2sudHIKK3R2LnRyCit3ZWIudHIKKy8vIFVzZWQgYnkgTm9ydGhlcm4gQ3lwcnVzCituYy50cgorLy8gVXNlZCBieSBnb3Zlcm5tZW50IGFnZW5jaWVzIG9mIE5vcnRoZXJuIEN5cHJ1cworZ292Lm5jLnRyCisKKy8vIHR0IDogaHR0cDovL3d3dy5uaWMudHQvCit0dAorY28udHQKK2NvbS50dAorb3JnLnR0CituZXQudHQKK2Jpei50dAoraW5mby50dAorcHJvLnR0CitpbnQudHQKK2Nvb3AudHQKK2pvYnMudHQKK21vYmkudHQKK3RyYXZlbC50dAorbXVzZXVtLnR0CithZXJvLnR0CituYW1lLnR0Citnb3YudHQKK2VkdS50dAorCisvLyB0diA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy50dgorLy8gTm90IGxpc3RpbmcgYW55IDJMRHMgYXMgcmVzZXJ2ZWQgc2luY2Ugbm9uZSBzZWVtIHRvIGV4aXN0IGluIHByYWN0aWNlLAorLy8gV2lraXBlZGlhIG5vdHdpdGhzdGFuZGluZy4KK3R2CisKKy8vIHR3IDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnR3Cit0dworZWR1LnR3Citnb3YudHcKK21pbC50dworY29tLnR3CituZXQudHcKK29yZy50dworaWR2LnR3CitnYW1lLnR3CitlYml6LnR3CitjbHViLnR3CivntrLot68udHcKK+e1hOe5lC50dwor5ZWG5qWtLnR3CisKKy8vIHR6IDogaHR0cDovL3d3dy50em5pYy5vci50ei9pbmRleC5waHAvZG9tYWlucworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxtYW5hZ2VyQHR6bmljLm9yLnR6PgordHoKK2FjLnR6Citjby50egorZ28udHoKK2hvdGVsLnR6CitpbmZvLnR6CittZS50egorbWlsLnR6Cittb2JpLnR6CituZS50egorb3IudHoKK3NjLnR6Cit0di50egorCisvLyB1YSA6IGh0dHBzOi8vaG9zdG1hc3Rlci51YS9wb2xpY3kvP3VhCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGRrQGNjdGxkLnVhPgordWEKKy8vIHVhIDJMRAorY29tLnVhCitlZHUudWEKK2dvdi51YQoraW4udWEKK25ldC51YQorb3JnLnVhCisvLyB1YSBnZW9ncmFwaGljIG5hbWVzCisvLyBodHRwczovL2hvc3RtYXN0ZXIudWEvMmxkLworY2hlcmthc3N5LnVhCitjaGVya2FzeS51YQorY2hlcm5pZ292LnVhCitjaGVybmloaXYudWEKK2NoZXJuaXZ0c2kudWEKK2NoZXJub3Z0c3kudWEKK2NrLnVhCitjbi51YQorY3IudWEKK2NyaW1lYS51YQorY3YudWEKK2RuLnVhCitkbmVwcm9wZXRyb3Zzay51YQorZG5pcHJvcGV0cm92c2sudWEKK2RvbmV0c2sudWEKK2RwLnVhCitpZi51YQoraXZhbm8tZnJhbmtpdnNrLnVhCitraC51YQora2hhcmtpdi51YQora2hhcmtvdi51YQora2hlcnNvbi51YQora2htZWxuaXRza2l5LnVhCitraG1lbG55dHNreWkudWEKK2tpZXYudWEKK2tpcm92b2dyYWQudWEKK2ttLnVhCitrci51YQora3J5bS51YQora3MudWEKK2t2LnVhCitreWl2LnVhCitsZy51YQorbHQudWEKK2x1Z2Fuc2sudWEKK2x1dHNrLnVhCitsdi51YQorbHZpdi51YQorbWsudWEKK215a29sYWl2LnVhCituaWtvbGFldi51YQorb2QudWEKK29kZXNhLnVhCitvZGVzc2EudWEKK3BsLnVhCitwb2x0YXZhLnVhCityaXZuZS51YQorcm92bm8udWEKK3J2LnVhCitzYi51YQorc2ViYXN0b3BvbC51YQorc2V2YXN0b3BvbC51YQorc20udWEKK3N1bXkudWEKK3RlLnVhCit0ZXJub3BpbC51YQordXoudWEKK3V6aGdvcm9kLnVhCit2aW5uaWNhLnVhCit2aW5ueXRzaWEudWEKK3ZuLnVhCit2b2x5bi51YQoreWFsdGEudWEKK3phcG9yaXpoemhlLnVhCit6YXBvcml6aHpoaWEudWEKK3poaXRvbWlyLnVhCit6aHl0b215ci51YQorenAudWEKK3p0LnVhCisKKy8vIHVnIDogaHR0cHM6Ly93d3cucmVnaXN0cnkuY28udWcvCit1ZworY28udWcKK29yLnVnCithYy51Zworc2MudWcKK2dvLnVnCituZS51ZworY29tLnVnCitvcmcudWcKKworLy8gdWsgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8udWsKKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8TWljaGFlbC5EYWx5QG5vbWluZXQub3JnLnVrPgordWsKK2FjLnVrCitjby51aworZ292LnVrCitsdGQudWsKK21lLnVrCituZXQudWsKK25ocy51aworb3JnLnVrCitwbGMudWsKK3BvbGljZS51aworKi5zY2gudWsKKworLy8gdXMgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8udXMKK3VzCitkbmkudXMKK2ZlZC51cworaXNhLnVzCitraWRzLnVzCituc24udXMKKy8vIHVzIGdlb2dyYXBoaWMgbmFtZXMKK2FrLnVzCithbC51cworYXIudXMKK2FzLnVzCithei51cworY2EudXMKK2NvLnVzCitjdC51cworZGMudXMKK2RlLnVzCitmbC51cworZ2EudXMKK2d1LnVzCitoaS51cworaWEudXMKK2lkLnVzCitpbC51cworaW4udXMKK2tzLnVzCitreS51cworbGEudXMKK21hLnVzCittZC51cworbWUudXMKK21pLnVzCittbi51cworbW8udXMKK21zLnVzCittdC51cworbmMudXMKK25kLnVzCituZS51cworbmgudXMKK25qLnVzCitubS51cworbnYudXMKK255LnVzCitvaC51cworb2sudXMKK29yLnVzCitwYS51cworcHIudXMKK3JpLnVzCitzYy51cworc2QudXMKK3RuLnVzCit0eC51cwordXQudXMKK3ZpLnVzCit2dC51cwordmEudXMKK3dhLnVzCit3aS51cword3YudXMKK3d5LnVzCisvLyBUaGUgcmVnaXN0cmFyIG5vdGVzIHNldmVyYWwgbW9yZSBzcGVjaWZpYyBkb21haW5zIGF2YWlsYWJsZSBpbiBlYWNoIHN0YXRlLAorLy8gc3VjaCBhcyBzdGF0ZS4qLnVzLCBkc3QuKi51cywgZXRjLiwgYnV0IHJlc29sdXRpb24gb2YgdGhlc2UgaXMgc29tZXdoYXQKKy8vIGhhcGhhemFyZDsgaW4gc29tZSBzdGF0ZXMgdGhlc2UgZG9tYWlucyByZXNvbHZlIGFzIGFkZHJlc3Nlcywgd2hpbGUgaW4gb3RoZXJzCisvLyBvbmx5IHN1YmRvbWFpbnMgYXJlIGF2YWlsYWJsZSwgb3IgZXZlbiBub3RoaW5nIGF0IGFsbC4gV2UgaW5jbHVkZSB0aGUKKy8vIG1vc3QgY29tbW9uIG9uZXMgd2hlcmUgaXQncyBjbGVhciB0aGF0IGRpZmZlcmVudCBzaXRlcyBhcmUgZGlmZmVyZW50CisvLyBlbnRpdGllcy4KK2sxMi5hay51cworazEyLmFsLnVzCitrMTIuYXIudXMKK2sxMi5hcy51cworazEyLmF6LnVzCitrMTIuY2EudXMKK2sxMi5jby51cworazEyLmN0LnVzCitrMTIuZGMudXMKK2sxMi5kZS51cworazEyLmZsLnVzCitrMTIuZ2EudXMKK2sxMi5ndS51cworLy8gazEyLmhpLnVzICBCdWcgNjE0NTY1IC0gSGF3YWlpIGhhcyBhIHN0YXRlLXdpZGUgRE9FIGxvZ2luCitrMTIuaWEudXMKK2sxMi5pZC51cworazEyLmlsLnVzCitrMTIuaW4udXMKK2sxMi5rcy51cworazEyLmt5LnVzCitrMTIubGEudXMKK2sxMi5tYS51cworazEyLm1kLnVzCitrMTIubWUudXMKK2sxMi5taS51cworazEyLm1uLnVzCitrMTIubW8udXMKK2sxMi5tcy51cworazEyLm10LnVzCitrMTIubmMudXMKKy8vIGsxMi5uZC51cyAgQnVnIDEwMjgzNDcgLSBSZW1vdmVkIGF0IHJlcXVlc3Qgb2YgVHJhdmlzIFJvc3NvIDx0cm9zc293QG5kLmdvdj4KK2sxMi5uZS51cworazEyLm5oLnVzCitrMTIubmoudXMKK2sxMi5ubS51cworazEyLm52LnVzCitrMTIubnkudXMKK2sxMi5vaC51cworazEyLm9rLnVzCitrMTIub3IudXMKK2sxMi5wYS51cworazEyLnByLnVzCisvLyBrMTIucmkudXMgIFJlbW92ZWQgYXQgcmVxdWVzdCBvZiBLaW0gQ291cm5veWVyIDxuZXRzdXBwb3J0QHN0YWZmLnJpLm5ldD4KK2sxMi5zYy51cworLy8gazEyLnNkLnVzICBCdWcgOTM0MTMxIC0gUmVtb3ZlZCBhdCByZXF1ZXN0IG9mIEphbWVzIEJvb3plIDxKYW1lcy5Cb296ZUBrMTIuc2QudXM+CitrMTIudG4udXMKK2sxMi50eC51cworazEyLnV0LnVzCitrMTIudmkudXMKK2sxMi52dC51cworazEyLnZhLnVzCitrMTIud2EudXMKK2sxMi53aS51cworLy8gazEyLnd2LnVzICBCdWcgOTQ3NzA1IC0gUmVtb3ZlZCBhdCByZXF1ZXN0IG9mIFZlcm5lIEJyaXR0b24gPHZlcm5lQHd2bmV0LmVkdT4KK2sxMi53eS51cworY2MuYWsudXMKK2NjLmFsLnVzCitjYy5hci51cworY2MuYXMudXMKK2NjLmF6LnVzCitjYy5jYS51cworY2MuY28udXMKK2NjLmN0LnVzCitjYy5kYy51cworY2MuZGUudXMKK2NjLmZsLnVzCitjYy5nYS51cworY2MuZ3UudXMKK2NjLmhpLnVzCitjYy5pYS51cworY2MuaWQudXMKK2NjLmlsLnVzCitjYy5pbi51cworY2Mua3MudXMKK2NjLmt5LnVzCitjYy5sYS51cworY2MubWEudXMKK2NjLm1kLnVzCitjYy5tZS51cworY2MubWkudXMKK2NjLm1uLnVzCitjYy5tby51cworY2MubXMudXMKK2NjLm10LnVzCitjYy5uYy51cworY2MubmQudXMKK2NjLm5lLnVzCitjYy5uaC51cworY2MubmoudXMKK2NjLm5tLnVzCitjYy5udi51cworY2MubnkudXMKK2NjLm9oLnVzCitjYy5vay51cworY2Mub3IudXMKK2NjLnBhLnVzCitjYy5wci51cworY2MucmkudXMKK2NjLnNjLnVzCitjYy5zZC51cworY2MudG4udXMKK2NjLnR4LnVzCitjYy51dC51cworY2MudmkudXMKK2NjLnZ0LnVzCitjYy52YS51cworY2Mud2EudXMKK2NjLndpLnVzCitjYy53di51cworY2Mud3kudXMKK2xpYi5hay51cworbGliLmFsLnVzCitsaWIuYXIudXMKK2xpYi5hcy51cworbGliLmF6LnVzCitsaWIuY2EudXMKK2xpYi5jby51cworbGliLmN0LnVzCitsaWIuZGMudXMKKy8vIGxpYi5kZS51cyAgSXNzdWUgIzI0MyAtIE1vdmVkIHRvIFByaXZhdGUgc2VjdGlvbiBhdCByZXF1ZXN0IG9mIEVkIE1vb3JlIDxFZC5Nb29yZUBsaWIuZGUudXM+CitsaWIuZmwudXMKK2xpYi5nYS51cworbGliLmd1LnVzCitsaWIuaGkudXMKK2xpYi5pYS51cworbGliLmlkLnVzCitsaWIuaWwudXMKK2xpYi5pbi51cworbGliLmtzLnVzCitsaWIua3kudXMKK2xpYi5sYS51cworbGliLm1hLnVzCitsaWIubWQudXMKK2xpYi5tZS51cworbGliLm1pLnVzCitsaWIubW4udXMKK2xpYi5tby51cworbGliLm1zLnVzCitsaWIubXQudXMKK2xpYi5uYy51cworbGliLm5kLnVzCitsaWIubmUudXMKK2xpYi5uaC51cworbGliLm5qLnVzCitsaWIubm0udXMKK2xpYi5udi51cworbGliLm55LnVzCitsaWIub2gudXMKK2xpYi5vay51cworbGliLm9yLnVzCitsaWIucGEudXMKK2xpYi5wci51cworbGliLnJpLnVzCitsaWIuc2MudXMKK2xpYi5zZC51cworbGliLnRuLnVzCitsaWIudHgudXMKK2xpYi51dC51cworbGliLnZpLnVzCitsaWIudnQudXMKK2xpYi52YS51cworbGliLndhLnVzCitsaWIud2kudXMKKy8vIGxpYi53di51cyAgQnVnIDk0MTY3MCAtIFJlbW92ZWQgYXQgcmVxdWVzdCBvZiBMYXJyeSBXIEFybm9sZCA8YXJub2xkQHd2bGMubGliLnd2LnVzPgorbGliLnd5LnVzCisvLyBrMTIubWEudXMgY29udGFpbnMgc2Nob29sIGRpc3RyaWN0cyBpbiBNYXNzYWNodXNldHRzLiBUaGUgNExEcyBhcmUKKy8vICBtYW5hZ2VkIGluZGVwZW5kZW50bHkgZXhjZXB0IGZvciBwcml2YXRlIChQVlQpLCBjaGFydGVyIChDSFRSKSBhbmQKKy8vICBwYXJvY2hpYWwgKFBBUk9DSCkgc2Nob29scy4gIFRob3NlIGFyZSBkZWxlZ2F0ZWQgZGlyZWN0bHkgdG8gdGhlCisvLyAgNUxEIG9wZXJhdG9ycy4gICA8azEyLW1hLWhvc3RtYXN0ZXIgXyBhdCBfIHJzdWMuZ3dlZXAubmV0PgorcHZ0LmsxMi5tYS51cworY2h0ci5rMTIubWEudXMKK3Bhcm9jaC5rMTIubWEudXMKKy8vIE1lcml0IE5ldHdvcmssIEluYy4gbWFpbnRhaW5zIHRoZSByZWdpc3RyeSBmb3IgPX4gLyhrMTJ8Y2N8bGliKS5taS51cy8gYW5kIHRoZSBmb2xsb3dpbmcKKy8vICAgIHNlZSBhbHNvOiBodHRwOi8vZG9tcmVnLm1lcml0LmVkdQorLy8gICAgc2VlIGFsc286IHdob2lzIC1oIHdob2lzLmRvbXJlZy5tZXJpdC5lZHUgaGVscAorYW5uLWFyYm9yLm1pLnVzCitjb2cubWkudXMKK2RzdC5taS51cworZWF0b24ubWkudXMKK2dlbi5taS51cworbXVzLm1pLnVzCit0ZWMubWkudXMKK3dhc2h0ZW5hdy5taS51cworCisvLyB1eSA6IGh0dHA6Ly93d3cubmljLm9yZy51eS8KK3V5Citjb20udXkKK2VkdS51eQorZ3ViLnV5CittaWwudXkKK25ldC51eQorb3JnLnV5CisKKy8vIHV6IDogaHR0cDovL3d3dy5yZWcudXovCit1egorY28udXoKK2NvbS51egorbmV0LnV6CitvcmcudXoKKworLy8gdmEgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8udmEKK3ZhCisKKy8vIHZjIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvLnZjCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgPGtzaGFoQGNhLmFmaWxpYXMuaW5mbz4KK3ZjCitjb20udmMKK25ldC52Yworb3JnLnZjCitnb3YudmMKK21pbC52YworZWR1LnZjCisKKy8vIHZlIDogaHR0cHM6Ly9yZWdpc3Ryby5uaWMudmUvCisvLyBTdWJtaXR0ZWQgYnkgcmVnaXN0cnkgbmljQG5pYy52ZSBhbmQgbmljdmVAY29uYXRlbC5nb2IudmUKK3ZlCithcnRzLnZlCitiaWIudmUKK2NvLnZlCitjb20udmUKK2UxMi52ZQorZWR1LnZlCitmaXJtLnZlCitnb2IudmUKK2dvdi52ZQoraW5mby52ZQoraW50LnZlCittaWwudmUKK25ldC52ZQorbm9tLnZlCitvcmcudmUKK3Jhci52ZQorcmVjLnZlCitzdG9yZS52ZQordGVjLnZlCit3ZWIudmUKKworLy8gdmcgOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8udmcKK3ZnCisKKy8vIHZpIDogaHR0cDovL3d3dy5uaWMudmkvbmV3ZG9tYWluZm9ybS5odG0KKy8vIGh0dHA6Ly93d3cubmljLnZpL0RvbWFpbl9SdWxlcy9ib2R5X2RvbWFpbl9ydWxlcy5odG1sIGluZGljYXRlcyBzb21lIG90aGVyCisvLyBUTERzIGFyZSAicmVzZXJ2ZWQiLCBzdWNoIGFzIGVkdS52aSBhbmQgZ292LnZpLCBidXQgZG9lc24ndCBhY3R1YWxseSBzYXkgdGhleQorLy8gYXJlIGF2YWlsYWJsZSBmb3IgcmVnaXN0cmF0aW9uICh3aGljaCB0aGV5IGRvIG5vdCBzZWVtIHRvIGJlKS4KK3ZpCitjby52aQorY29tLnZpCitrMTIudmkKK25ldC52aQorb3JnLnZpCisKKy8vIHZuIDogaHR0cHM6Ly93d3cuZG90LnZuL3ZubmljL3ZubmljL2RvbWFpbnJlZ2lzdHJhdGlvbi5qc3AKK3ZuCitjb20udm4KK25ldC52bgorb3JnLnZuCitlZHUudm4KK2dvdi52bgoraW50LnZuCithYy52bgorYml6LnZuCitpbmZvLnZuCituYW1lLnZuCitwcm8udm4KK2hlYWx0aC52bgorCisvLyB2dSA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy52dQorLy8gaHR0cDovL3d3dy52dW5pYy52dS8KK3Z1Citjb20udnUKK2VkdS52dQorbmV0LnZ1CitvcmcudnUKKworLy8gd2YgOiBodHRwOi8vd3d3LmFmbmljLmZyL21lZGlhcy9kb2N1bWVudHMvQUZOSUMtbmFtaW5nLXBvbGljeTIwMTIucGRmCit3ZgorCisvLyB3cyA6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLy53cworLy8gaHR0cDovL3NhbW9hbmljLndzL2luZGV4LmRodG1sCit3cworY29tLndzCituZXQud3MKK29yZy53cworZ292LndzCitlZHUud3MKKworLy8geXQgOiBodHRwOi8vd3d3LmFmbmljLmZyL21lZGlhcy9kb2N1bWVudHMvQUZOSUMtbmFtaW5nLXBvbGljeTIwMTIucGRmCit5dAorCisvLyBJRE4gY2NUTERzCisvLyBXaGVuIHN1Ym1pdHRpbmcgcGF0Y2hlcywgcGxlYXNlIG1haW50YWluIGEgc29ydCBieSBJU08gMzE2NiBjY1RMRCwgdGhlbgorLy8gVS1sYWJlbCwgYW5kIGZvbGxvdyB0aGlzIGZvcm1hdDoKKy8vIC8vIEEtTGFiZWwgKCI8TGF0aW4gcmVuZGVyaW5ncz4iLCA8bGFuZ3VhZ2UgbmFtZT5bLCB2YXJpYW50IGluZm9dKSA6IDxJU08gMzE2NiBjY1RMRD4KKy8vIC8vIFtzcG9uc29yaW5nIG9yZ10KKy8vIFUtTGFiZWwKKworLy8geG4tLW1nYmFhbTdhOGggKCJFbWVyYXQiLCBBcmFiaWMpIDogQUUKKy8vIGh0dHA6Ly9uaWMuYWUvZW5nbGlzaC9hcmFiaWNkb21haW4vcnVsZXMuanNwCivYp9mF2KfYsdin2KoKKworLy8geG4tLXk5YTNhcSAoImh5ZSIsIEFybWVuaWFuKSA6IEFNCisvLyBJU09DIEFNIChvcGVyYXRlZCBieSAuYW0gUmVnaXN0cnkpCivVsNWh1bUKKworLy8geG4tLTU0YjdmdGEwY2MgKCJCYW5nbGEiLCBCYW5nbGEpIDogQkQKK+CmrOCmvuCmguCmsuCmvgorCisvLyB4bi0tOTBhZSAoImJnIiwgQnVsZ2FyaWFuKSA6IEJHCivQsdCzCisKKy8vIHhuLS1tZ2JjcHE2Z3BhMWEgKCJhbGJhaHJhaW4iLCBBcmFiaWMpIDogQkgKK9in2YTYqNit2LHZitmGCisKKy8vIHhuLS05MGFpcyAoImJlbCIsIEJlbGFydXNpYW4vUnVzc2lhbiBDeXJpbGxpYykgOiBCWQorLy8gT3BlcmF0ZWQgYnkgLmJ5IHJlZ2lzdHJ5CivQsdC10LsKKworLy8geG4tLWZpcXM4cyAoIlpob25nZ3VvL0NoaW5hIiwgQ2hpbmVzZSwgU2ltcGxpZmllZCkgOiBDTgorLy8gQ05OSUMKKy8vIGh0dHA6Ly9jbm5pYy5jbi9odG1sL0Rpci8yMDA1LzEwLzExLzMyMTguaHRtCivkuK3lm70KKworLy8geG4tLWZpcXo5cyAoIlpob25nZ3VvL0NoaW5hIiwgQ2hpbmVzZSwgVHJhZGl0aW9uYWwpIDogQ04KKy8vIENOTklDCisvLyBodHRwOi8vY25uaWMuY24vaHRtbC9EaXIvMjAwNS8xMC8xMS8zMjE4Lmh0bQor5Lit5ZyLCisKKy8vIHhuLS1sZ2JiYXQxYWQ4aiAoIkFsZ2VyaWEvQWwgSmF6YWlyIiwgQXJhYmljKSA6IERaCivYp9mE2KzYstin2KbYsQorCisvLyB4bi0td2diaDFjICgiRWd5cHQvTWFzciIsIEFyYWJpYykgOiBFRworLy8gaHR0cDovL3d3dy5kb3RtYXNyLmVnLwor2YXYtdixCisKKy8vIHhuLS1lMWE0YyAoImV1IiwgQ3lyaWxsaWMpIDogRVUKKy8vIGh0dHBzOi8vZXVyaWQuZXUKK9C10Y4KKworLy8geG4tLXF4YTZhICgiZXUiLCBHcmVlaykgOiBFVQorLy8gaHR0cHM6Ly9ldXJpZC5ldQorzrXPhQorCisvLyB4bi0tbWdiYWgxYTNoamtyZCAoIk1hdXJpdGFuaWEiLCBBcmFiaWMpIDogTVIKK9mF2YjYsdmK2KrYp9mG2YrYpworCisvLyB4bi0tbm9kZSAoImdlIiwgR2VvcmdpYW4gTWtoZWRydWxpKSA6IEdFCivhg5Lhg5QKKworLy8geG4tLXF4YW0gKCJlbCIsIEdyZWVrKSA6IEdSCisvLyBIZWxsZW5pYyBNaW5pc3RyeSBvZiBJbmZyYXN0cnVjdHVyZSwgVHJhbnNwb3J0LCBhbmQgTmV0d29ya3MKK861zrsKKworLy8geG4tLWo2dzE5M2cgKCJIb25nIEtvbmciLCBDaGluZXNlKSA6IEhLCisvLyBodHRwczovL3d3dy5oa2lyYy5oaworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxoay50ZWNoQGhraXJjLmhrPgorLy8gaHR0cHM6Ly93d3cuaGtpcmMuaGsvY29udGVudC5qc3A/aWQ9MzAjIS8zNAor6aaZ5rivCivlhazlj7gu6aaZ5rivCivmlZnogrIu6aaZ5rivCivmlL/lupwu6aaZ5rivCivlgIvkurou6aaZ5rivCivntrLntaEu6aaZ5rivCivntYTnuZQu6aaZ5rivCisKKy8vIHhuLS0yc2NyajljICgiQmhhcmF0IiwgS2FubmFkYSkgOiBJTgorLy8gSW5kaWEKK+CyreCyvuCysOCypAorCisvLyB4bi0tM2hjcmo5YyAoIkJoYXJhdCIsIE9yaXlhKSA6IElOCisvLyBJbmRpYQor4Kyt4Ky+4Kyw4KykCisKKy8vIHhuLS00NWJyNWN5bCAoIkJoYXJhdGFtIiwgQXNzYW1lc2UpIDogSU4KKy8vIEluZGlhCivgpq3gpr7gp7DgpqQKKworLy8geG4tLWgyYnJlZzNldmUgKCJCaGFyYXRhbSIsIFNhbnNrcml0KSA6IElOCisvLyBJbmRpYQor4KSt4KS+4KSw4KSk4KSu4KWNCisKKy8vIHhuLS1oMmJyajljOGMgKCJCaGFyb3QiLCBTYW50YWxpKSA6IElOCisvLyBJbmRpYQor4KSt4KS+4KSw4KWL4KSkCisKKy8vIHhuLS1tZ2JndTgyYSAoIkJoYXJhdCIsIFNpbmRoaSkgOiBJTgorLy8gSW5kaWEKK9qA2KfYsdiqCisKKy8vIHhuLS1ydmMxZTBhbTNlICgiQmhhcmF0YW0iLCBNYWxheWFsYW0pIDogSU4KKy8vIEluZGlhCivgtK3gtL7gtLDgtKTgtIIKKworLy8geG4tLWgyYnJqOWMgKCJCaGFyYXQiLCBEZXZhbmFnYXJpKSA6IElOCisvLyBJbmRpYQor4KSt4KS+4KSw4KSkCisKKy8vIHhuLS1tZ2JiaDFhICgiQmhhcmF0IiwgS2FzaG1pcmkpIDogSU4KKy8vIEluZGlhCivYqNin2LHYqgorCisvLyB4bi0tbWdiYmgxYTcxZSAoIkJoYXJhdCIsIEFyYWJpYykgOiBJTgorLy8gSW5kaWEKK9io2r7Yp9ix2KoKKworLy8geG4tLWZwY3JqOWMzZCAoIkJoYXJhdCIsIFRlbHVndSkgOiBJTgorLy8gSW5kaWEKK+CwreCwvuCwsOCwpOCxjQorCisvLyB4bi0tZ2Vjcmo5YyAoIkJoYXJhdCIsIEd1amFyYXRpKSA6IElOCisvLyBJbmRpYQor4Kqt4Kq+4Kqw4KqkCisKKy8vIHhuLS1zOWJyajljICgiQmhhcmF0IiwgR3VybXVraGkpIDogSU4KKy8vIEluZGlhCivgqK3gqL7gqLDgqKQKKworLy8geG4tLTQ1YnJqOWMgKCJCaGFyYXQiLCBCZW5nYWxpKSA6IElOCisvLyBJbmRpYQor4Kat4Ka+4Kaw4KakCisKKy8vIHhuLS14a2MyZGwzYTVlZTBoICgiSW5kaWEiLCBUYW1pbCkgOiBJTgorLy8gSW5kaWEKK+Cuh+CuqOCvjeCupOCuv+Cur+CuvgorCisvLyB4bi0tbWdiYTNhNGYxNmEgKCJJcmFuIiwgUGVyc2lhbikgOiBJUgor2KfbjNix2KfZhgorCisvLyB4bi0tbWdiYTNhNGZyYSAoIklyYW4iLCBBcmFiaWMpIDogSVIKK9in2YrYsdin2YYKKworLy8geG4tLW1nYnR4MmIgKCJJcmFxIiwgQXJhYmljKSA6IElRCisvLyBDb21tdW5pY2F0aW9ucyBhbmQgTWVkaWEgQ29tbWlzc2lvbgor2LnYsdin2YIKKworLy8geG4tLW1nYmF5aDdncGEgKCJhbC1PcmRvbiIsIEFyYWJpYykgOiBKTworLy8gTmF0aW9uYWwgSW5mb3JtYXRpb24gVGVjaG5vbG9neSBDZW50ZXIgKE5JVEMpCisvLyBSb3lhbCBTY2llbnRpZmljIFNvY2lldHksIEFsLUp1YmVpaGEKK9in2YTYp9ix2K/ZhgorCisvLyB4bi0tM2UwYjcwN2UgKCJSZXB1YmxpYyBvZiBLb3JlYSIsIEhhbmd1bCkgOiBLUgor7ZWc6rWtCisKKy8vIHhuLS04MGFvMjFhICgiS2F6IiwgS2F6YWtoKSA6IEtaCivSm9Cw0LcKKworLy8geG4tLXE3Y2U2YSAoIkxhbyIsIExhbykgOiBMQQor4Lql4Lqy4LqnCisKKy8vIHhuLS1memMyYzllMmMgKCJMYW5rYSIsIFNpbmhhbGVzZS1TaW5oYWxhKSA6IExLCisvLyBodHRwczovL25pYy5sawor4La94LaC4Laa4LePCisKKy8vIHhuLS14a2MyYWwzaHllMmEgKCJJbGFuZ2FpIiwgVGFtaWwpIDogTEsKKy8vIGh0dHBzOi8vbmljLmxrCivgrofgrrLgrpngr43grpXgr4gKKworLy8geG4tLW1nYmMwYTlhemNnICgiTW9yb2Njby9hbC1NYWdocmliIiwgQXJhYmljKSA6IE1BCivYp9mE2YXYutix2KgKKworLy8geG4tLWQxYWxmICgibWtkIiwgTWFjZWRvbmlhbikgOiBNSworLy8gTUFSbmV0CivQvNC60LQKKworLy8geG4tLWwxYWNjICgibW9uIiwgTW9uZ29saWFuKSA6IE1OCivQvNC+0L0KKworLy8geG4tLW1peDg5MWYgKCJNYWNhbyIsIENoaW5lc2UsIFRyYWRpdGlvbmFsKSA6IE1PCisvLyBNT05JQyAvIEhORVQgQXNpYSAoUmVnaXN0cnkgT3BlcmF0b3IgZm9yIC5tbykKK+a+s+mWgAorCisvLyB4bi0tbWl4MDgyZiAoIk1hY2FvIiwgQ2hpbmVzZSwgU2ltcGxpZmllZCkgOiBNTwor5r6z6ZeoCisKKy8vIHhuLS1tZ2J4NGNkMGFiICgiTWFsYXlzaWEiLCBNYWxheSkgOiBNWQor2YXZhNmK2LPZitinCisKKy8vIHhuLS1tZ2I5YXdiZiAoIk9tYW4iLCBBcmFiaWMpIDogT00KK9i52YXYp9mGCisKKy8vIHhuLS1tZ2JhaTlhemdxcDZqICgiUGFraXN0YW4iLCBVcmR1L0FyYWJpYykgOiBQSwor2b7Yp9qp2LPYqtin2YYKKworLy8geG4tLW1nYmFpOWE1ZXZhMDBiICgiUGFraXN0YW4iLCBVcmR1L0FyYWJpYywgdmFyaWFudCkgOiBQSwor2b7Yp9mD2LPYqtin2YYKKworLy8geG4tLXlnYmkyYW1teCAoIkZhbGFzdGVlbiIsIEFyYWJpYykgOiBQUworLy8gVGhlIFBhbGVzdGluaWFuIE5hdGlvbmFsIEludGVybmV0IE5hbWluZyBBdXRob3JpdHkgKFBOSU5BKQorLy8gaHR0cDovL3d3dy5wbmluYS5wcwor2YHZhNiz2LfZitmGCisKKy8vIHhuLS05MGEzYWMgKCJzcmIiLCBDeXJpbGxpYykgOiBSUworLy8gaHR0cHM6Ly93d3cucm5pZHMucnMvZW4vZG9tYWlucy9uYXRpb25hbC1kb21haW5zCivRgdGA0LEKK9C/0YAu0YHRgNCxCivQvtGA0LMu0YHRgNCxCivQvtCx0YAu0YHRgNCxCivQvtC0LtGB0YDQsQor0YPQv9GALtGB0YDQsQor0LDQui7RgdGA0LEKKworLy8geG4tLXAxYWkgKCJyZiIsIFJ1c3NpYW4tQ3lyaWxsaWMpIDogUlUKKy8vIGh0dHBzOi8vY2N0bGQucnUvZmlsZXMvcGRmL2RvY3MvZW4vcnVsZXNfcnUtcmYucGRmCisvLyBTdWJtaXR0ZWQgYnkgR2VvcmdlIEdlb3JnaWV2c2t5IDxndWdAY2N0bGQucnU+CivRgNGECisKKy8vIHhuLS13Z2JsNmEgKCJRYXRhciIsIEFyYWJpYykgOiBRQQorLy8gaHR0cDovL3d3dy5pY3QuZ292LnFhLwor2YLYt9ixCisKKy8vIHhuLS1tZ2JlcnA0YTVkNGFyICgiQWxTYXVkaWFoIiwgQXJhYmljKSA6IFNBCisvLyBodHRwOi8vd3d3Lm5pYy5uZXQuc2EvCivYp9mE2LPYudmI2K/ZitipCisKKy8vIHhuLS1tZ2JlcnA0YTVkNGE4N2cgKCJBbFNhdWRpYWgiLCBBcmFiaWMsIHZhcmlhbnQpICA6IFNBCivYp9mE2LPYudmI2K/bjNipCisKKy8vIHhuLS1tZ2JxbHk3YzBhNjdmYmMgKCJBbFNhdWRpYWgiLCBBcmFiaWMsIHZhcmlhbnQpIDogU0EKK9in2YTYs9i52YjYr9uM24MKKworLy8geG4tLW1nYnFseTdjdmFmciAoIkFsU2F1ZGlhaCIsIEFyYWJpYywgdmFyaWFudCkgOiBTQQor2KfZhNiz2LnZiNiv2YrZhworCisvLyB4bi0tbWdicGwyZmggKCJzdWRhbiIsIEFyYWJpYykgOiBTRAorLy8gT3BlcmF0ZWQgYnkgLnNkIHJlZ2lzdHJ5CivYs9mI2K/Yp9mGCisKKy8vIHhuLS15ZnJvNGk2N28gU2luZ2Fwb3JlICgiU2luZ2Fwb3JlIiwgQ2hpbmVzZSkgOiBTRwor5paw5Yqg5Z2hCisKKy8vIHhuLS1jbGNoYzBlYTBiMmcyYTlnY2QgKCJTaW5nYXBvcmUiLCBUYW1pbCkgOiBTRwor4K6a4K6/4K6Z4K+N4K6V4K6q4K+N4K6q4K+C4K6w4K+NCisKKy8vIHhuLS1vZ2JwZjhmbCAoIlN5cmlhIiwgQXJhYmljKSA6IFNZCivYs9mI2LHZitipCisKKy8vIHhuLS1tZ2J0ZjhmbCAoIlN5cmlhIiwgQXJhYmljLCB2YXJpYW50KSA6IFNZCivYs9mI2LHZitinCisKKy8vIHhuLS1vM2N3NGggKCJUaGFpIiwgVGhhaSkgOiBUSAorLy8gaHR0cDovL3d3dy50aG5pYy5jby50aAor4LmE4LiX4LiiCivguKjguLbguIHguKnguLIu4LmE4LiX4LiiCivguJjguLjguKPguIHguLTguIgu4LmE4LiX4LiiCivguKPguLHguJDguJrguLLguKUu4LmE4LiX4LiiCivguJfguKvguLLguKMu4LmE4LiX4LiiCivguYDguJnguYfguJUu4LmE4LiX4LiiCivguK3guIfguITguYzguIHguKMu4LmE4LiX4LiiCisKKy8vIHhuLS1wZ2JzMGRoICgiVHVuaXNpYSIsIEFyYWJpYykgOiBUTgorLy8gaHR0cDovL25pYy50bgor2KrZiNmG2LMKKworLy8geG4tLWtwcnk1N2QgKCJUYWl3YW4iLCBDaGluZXNlLCBUcmFkaXRpb25hbCkgOiBUVworLy8gaHR0cDovL3d3dy50d25pYy5uZXQvZW5nbGlzaC9kbi9kbl8wN2EuaHRtCivlj7DngaMKKworLy8geG4tLWtwcncxM2QgKCJUYWl3YW4iLCBDaGluZXNlLCBTaW1wbGlmaWVkKSA6IFRXCisvLyBodHRwOi8vd3d3LnR3bmljLm5ldC9lbmdsaXNoL2RuL2RuXzA3YS5odG0KK+WPsOa5vgorCisvLyB4bi0tbm54Mzg4YSAoIlRhaXdhbiIsIENoaW5lc2UsIHZhcmlhbnQpIDogVFcKK+iHuueBoworCisvLyB4bi0tajFhbWggKCJ1a3IiLCBDeXJpbGxpYykgOiBVQQor0YPQutGACisKKy8vIHhuLS1tZ2IyZGRlcyAoIkFsWWVtZW4iLCBBcmFiaWMpIDogWUUKK9in2YTZitmF2YYKKworLy8geHh4IDogaHR0cDovL2ljbXJlZ2lzdHJ5LmNvbQoreHh4CisKKy8vIHllIDogaHR0cDovL3d3dy55Lm5ldC55ZS9zZXJ2aWNlcy9kb21haW5fbmFtZS5odG0KK3llCitjb20ueWUKK2VkdS55ZQorZ292LnllCituZXQueWUKK21pbC55ZQorb3JnLnllCisKKy8vIHphIDogaHR0cHM6Ly93d3cuemFkbmEub3JnLnphL2NvbnRlbnQvcGFnZS9kb21haW4taW5mb3JtYXRpb24vCithYy56YQorYWdyaWMuemEKK2FsdC56YQorY28uemEKK2VkdS56YQorZ292LnphCitncm9uZGFyLnphCitsYXcuemEKK21pbC56YQorbmV0LnphCituZ28uemEKK25pYy56YQorbmlzLnphCitub20uemEKK29yZy56YQorc2Nob29sLnphCit0bS56YQord2ViLnphCisKKy8vIHptIDogaHR0cHM6Ly96aWN0YS56bS8KKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8aW5mb0B6aWN0YS56bT4KK3ptCithYy56bQorYml6LnptCitjby56bQorY29tLnptCitlZHUuem0KK2dvdi56bQoraW5mby56bQorbWlsLnptCituZXQuem0KK29yZy56bQorc2NoLnptCisKKy8vIHp3IDogaHR0cHM6Ly93d3cucG90cmF6Lmdvdi56dy8KKy8vIENvbmZpcm1lZCBieSByZWdpc3RyeSA8Ym10ZW5nd2FAcG90cmF6Lmdvdi56dz4gMjAxNy0wMS0yNQorencKK2FjLnp3Citjby56dworZ292Lnp3CittaWwuencKK29yZy56dworCisKKy8vIG5ld0dUTERzCisKKy8vIExpc3Qgb2YgbmV3IGdUTERzIGltcG9ydGVkIGZyb20gaHR0cHM6Ly93d3cuaWNhbm4ub3JnL3Jlc291cmNlcy9yZWdpc3RyaWVzL2d0bGRzL3YyL2d0bGRzLmpzb24gb24gMjAyMi0xMS0wMlQxNToxNzozOVoKKy8vIFRoaXMgbGlzdCBpcyBhdXRvLWdlbmVyYXRlZCwgZG9uJ3QgZWRpdCBpdCBtYW51YWxseS4KKy8vIGFhYSA6IDIwMTUtMDItMjYgQW1lcmljYW4gQXV0b21vYmlsZSBBc3NvY2lhdGlvbiwgSW5jLgorYWFhCisKKy8vIGFhcnAgOiAyMDE1LTA1LTIxIEFBUlAKK2FhcnAKKworLy8gYWJhcnRoIDogMjAxNS0wNy0zMCBGaWF0IENocnlzbGVyIEF1dG9tb2JpbGVzIE4uVi4KK2FiYXJ0aAorCisvLyBhYmIgOiAyMDE0LTEwLTI0IEFCQiBMdGQKK2FiYgorCisvLyBhYmJvdHQgOiAyMDE0LTA3LTI0IEFiYm90dCBMYWJvcmF0b3JpZXMsIEluYy4KK2FiYm90dAorCisvLyBhYmJ2aWUgOiAyMDE1LTA3LTMwIEFiYlZpZSBJbmMuCithYmJ2aWUKKworLy8gYWJjIDogMjAxNS0wNy0zMCBEaXNuZXkgRW50ZXJwcmlzZXMsIEluYy4KK2FiYworCisvLyBhYmxlIDogMjAxNS0wNi0yNSBBYmxlIEluYy4KK2FibGUKKworLy8gYWJvZ2FkbyA6IDIwMTQtMDQtMjQgUmVnaXN0cnkgU2VydmljZXMsIExMQworYWJvZ2FkbworCisvLyBhYnVkaGFiaSA6IDIwMTUtMDctMzAgQWJ1IERoYWJpIFN5c3RlbXMgYW5kIEluZm9ybWF0aW9uIENlbnRyZQorYWJ1ZGhhYmkKKworLy8gYWNhZGVteSA6IDIwMTMtMTEtMDcgQmlua3kgTW9vbiwgTExDCithY2FkZW15CisKKy8vIGFjY2VudHVyZSA6IDIwMTQtMDgtMTUgQWNjZW50dXJlIHBsYworYWNjZW50dXJlCisKKy8vIGFjY291bnRhbnQgOiAyMDE0LTExLTIwIGRvdCBBY2NvdW50YW50IExpbWl0ZWQKK2FjY291bnRhbnQKKworLy8gYWNjb3VudGFudHMgOiAyMDE0LTAzLTIwIEJpbmt5IE1vb24sIExMQworYWNjb3VudGFudHMKKworLy8gYWNvIDogMjAxNS0wMS0wOCBBQ08gU2V2ZXJpbiBBaGxtYW5uIEdtYkggJiBDby4gS0cKK2FjbworCisvLyBhY3RvciA6IDIwMTMtMTItMTIgRG9nIEJlYWNoLCBMTEMKK2FjdG9yCisKKy8vIGFkYWMgOiAyMDE1LTA3LTE2IEFsbGdlbWVpbmVyIERldXRzY2hlciBBdXRvbW9iaWwtQ2x1YiBlLlYuIChBREFDKQorYWRhYworCisvLyBhZHMgOiAyMDE0LTEyLTA0IENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCithZHMKKworLy8gYWR1bHQgOiAyMDE0LTEwLTE2IElDTSBSZWdpc3RyeSBBRCBMTEMKK2FkdWx0CisKKy8vIGFlZyA6IDIwMTUtMDMtMTkgQWt0aWVib2xhZ2V0IEVsZWN0cm9sdXgKK2FlZworCisvLyBhZXRuYSA6IDIwMTUtMDUtMjEgQWV0bmEgTGlmZSBJbnN1cmFuY2UgQ29tcGFueQorYWV0bmEKKworLy8gYWZsIDogMjAxNC0xMC0wMiBBdXN0cmFsaWFuIEZvb3RiYWxsIExlYWd1ZQorYWZsCisKKy8vIGFmcmljYSA6IDIwMTQtMDMtMjQgWkEgQ2VudHJhbCBSZWdpc3RyeSBOUEMgdHJhZGluZyBhcyBSZWdpc3RyeS5BZnJpY2EKK2FmcmljYQorCisvLyBhZ2FraGFuIDogMjAxNS0wNC0yMyBGb25kYXRpb24gQWdhIEtoYW4gKEFnYSBLaGFuIEZvdW5kYXRpb24pCithZ2FraGFuCisKKy8vIGFnZW5jeSA6IDIwMTMtMTEtMTQgQmlua3kgTW9vbiwgTExDCithZ2VuY3kKKworLy8gYWlnIDogMjAxNC0xMi0xOCBBbWVyaWNhbiBJbnRlcm5hdGlvbmFsIEdyb3VwLCBJbmMuCithaWcKKworLy8gYWlyYnVzIDogMjAxNS0wNy0zMCBBaXJidXMgUy5BLlMuCithaXJidXMKKworLy8gYWlyZm9yY2UgOiAyMDE0LTAzLTA2IERvZyBCZWFjaCwgTExDCithaXJmb3JjZQorCisvLyBhaXJ0ZWwgOiAyMDE0LTEwLTI0IEJoYXJ0aSBBaXJ0ZWwgTGltaXRlZAorYWlydGVsCisKKy8vIGFrZG4gOiAyMDE1LTA0LTIzIEZvbmRhdGlvbiBBZ2EgS2hhbiAoQWdhIEtoYW4gRm91bmRhdGlvbikKK2FrZG4KKworLy8gYWxmYXJvbWVvIDogMjAxNS0wNy0zMSBGaWF0IENocnlzbGVyIEF1dG9tb2JpbGVzIE4uVi4KK2FsZmFyb21lbworCisvLyBhbGliYWJhIDogMjAxNS0wMS0xNSBBbGliYWJhIEdyb3VwIEhvbGRpbmcgTGltaXRlZAorYWxpYmFiYQorCisvLyBhbGlwYXkgOiAyMDE1LTAxLTE1IEFsaWJhYmEgR3JvdXAgSG9sZGluZyBMaW1pdGVkCithbGlwYXkKKworLy8gYWxsZmluYW56IDogMjAxNC0wNy0wMyBBbGxmaW5hbnogRGV1dHNjaGUgVmVybcO2Z2Vuc2JlcmF0dW5nIEFrdGllbmdlc2VsbHNjaGFmdAorYWxsZmluYW56CisKKy8vIGFsbHN0YXRlIDogMjAxNS0wNy0zMSBBbGxzdGF0ZSBGaXJlIGFuZCBDYXN1YWx0eSBJbnN1cmFuY2UgQ29tcGFueQorYWxsc3RhdGUKKworLy8gYWxseSA6IDIwMTUtMDYtMTggQWxseSBGaW5hbmNpYWwgSW5jLgorYWxseQorCisvLyBhbHNhY2UgOiAyMDE0LTA3LTAyIFJlZ2lvbiBHcmFuZCBFc3QKK2Fsc2FjZQorCisvLyBhbHN0b20gOiAyMDE1LTA3LTMwIEFMU1RPTQorYWxzdG9tCisKKy8vIGFtYXpvbiA6IDIwMTktMTItMTkgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCithbWF6b24KKworLy8gYW1lcmljYW5leHByZXNzIDogMjAxNS0wNy0zMSBBbWVyaWNhbiBFeHByZXNzIFRyYXZlbCBSZWxhdGVkIFNlcnZpY2VzIENvbXBhbnksIEluYy4KK2FtZXJpY2FuZXhwcmVzcworCisvLyBhbWVyaWNhbmZhbWlseSA6IDIwMTUtMDctMjMgQW1GYW0sIEluYy4KK2FtZXJpY2FuZmFtaWx5CisKKy8vIGFtZXggOiAyMDE1LTA3LTMxIEFtZXJpY2FuIEV4cHJlc3MgVHJhdmVsIFJlbGF0ZWQgU2VydmljZXMgQ29tcGFueSwgSW5jLgorYW1leAorCisvLyBhbWZhbSA6IDIwMTUtMDctMjMgQW1GYW0sIEluYy4KK2FtZmFtCisKKy8vIGFtaWNhIDogMjAxNS0wNS0yOCBBbWljYSBNdXR1YWwgSW5zdXJhbmNlIENvbXBhbnkKK2FtaWNhCisKKy8vIGFtc3RlcmRhbSA6IDIwMTQtMDctMjQgR2VtZWVudGUgQW1zdGVyZGFtCithbXN0ZXJkYW0KKworLy8gYW5hbHl0aWNzIDogMjAxNC0xMi0xOCBDYW1wdXMgSVAgTExDCithbmFseXRpY3MKKworLy8gYW5kcm9pZCA6IDIwMTQtMDgtMDcgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK2FuZHJvaWQKKworLy8gYW5xdWFuIDogMjAxNS0wMS0wOCBCZWlqaW5nIFFpaHUgS2VqaSBDby4sIEx0ZC4KK2FucXVhbgorCisvLyBhbnogOiAyMDE1LTA3LTMxIEF1c3RyYWxpYSBhbmQgTmV3IFplYWxhbmQgQmFua2luZyBHcm91cCBMaW1pdGVkCithbnoKKworLy8gYW9sIDogMjAxNS0wOS0xNyBPYXRoIEluYy4KK2FvbAorCisvLyBhcGFydG1lbnRzIDogMjAxNC0xMi0xMSBCaW5reSBNb29uLCBMTEMKK2FwYXJ0bWVudHMKKworLy8gYXBwIDogMjAxNS0wNS0xNCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorYXBwCisKKy8vIGFwcGxlIDogMjAxNS0wNS0xNCBBcHBsZSBJbmMuCithcHBsZQorCisvLyBhcXVhcmVsbGUgOiAyMDE0LTA3LTI0IEFxdWFyZWxsZS5jb20KK2FxdWFyZWxsZQorCisvLyBhcmFiIDogMjAxNS0xMS0xMiBMZWFndWUgb2YgQXJhYiBTdGF0ZXMKK2FyYWIKKworLy8gYXJhbWNvIDogMjAxNC0xMS0yMCBBcmFtY28gU2VydmljZXMgQ29tcGFueQorYXJhbWNvCisKKy8vIGFyY2hpIDogMjAxNC0wMi0wNiBJZGVudGl0eSBEaWdpdGFsIExpbWl0ZWQKK2FyY2hpCisKKy8vIGFybXkgOiAyMDE0LTAzLTA2IERvZyBCZWFjaCwgTExDCithcm15CisKKy8vIGFydCA6IDIwMTYtMDMtMjQgVUsgQ3JlYXRpdmUgSWRlYXMgTGltaXRlZAorYXJ0CisKKy8vIGFydGUgOiAyMDE0LTEyLTExIEFzc29jaWF0aW9uIFJlbGF0aXZlIMOgIGxhIFTDqWzDqXZpc2lvbiBFdXJvcMOpZW5uZSBHLkUuSS5FLgorYXJ0ZQorCisvLyBhc2RhIDogMjAxNS0wNy0zMSBXYWwtTWFydCBTdG9yZXMsIEluYy4KK2FzZGEKKworLy8gYXNzb2NpYXRlcyA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCithc3NvY2lhdGVzCisKKy8vIGF0aGxldGEgOiAyMDE1LTA3LTMwIFRoZSBHYXAsIEluYy4KK2F0aGxldGEKKworLy8gYXR0b3JuZXkgOiAyMDE0LTAzLTIwIERvZyBCZWFjaCwgTExDCithdHRvcm5leQorCisvLyBhdWN0aW9uIDogMjAxNC0wMy0yMCBEb2cgQmVhY2gsIExMQworYXVjdGlvbgorCisvLyBhdWRpIDogMjAxNS0wNS0yMSBBVURJIEFrdGllbmdlc2VsbHNjaGFmdAorYXVkaQorCisvLyBhdWRpYmxlIDogMjAxNS0wNi0yNSBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2F1ZGlibGUKKworLy8gYXVkaW8gOiAyMDE0LTAzLTIwIFhZWi5DT00gTExDCithdWRpbworCisvLyBhdXNwb3N0IDogMjAxNS0wOC0xMyBBdXN0cmFsaWFuIFBvc3RhbCBDb3Jwb3JhdGlvbgorYXVzcG9zdAorCisvLyBhdXRob3IgOiAyMDE0LTEyLTE4IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgorYXV0aG9yCisKKy8vIGF1dG8gOiAyMDE0LTExLTEzIFhZWi5DT00gTExDCithdXRvCisKKy8vIGF1dG9zIDogMjAxNC0wMS0wOSBYWVouQ09NIExMQworYXV0b3MKKworLy8gYXZpYW5jYSA6IDIwMTUtMDEtMDggQXZpYW5jYSBJbmMuCithdmlhbmNhCisKKy8vIGF3cyA6IDIwMTUtMDYtMjUgQVdTIFJlZ2lzdHJ5IExMQworYXdzCisKKy8vIGF4YSA6IDIwMTMtMTItMTkgQVhBIEdyb3VwIE9wZXJhdGlvbnMgU0FTCitheGEKKworLy8gYXp1cmUgOiAyMDE0LTEyLTE4IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbgorYXp1cmUKKworLy8gYmFieSA6IDIwMTUtMDQtMDkgWFlaLkNPTSBMTEMKK2JhYnkKKworLy8gYmFpZHUgOiAyMDE1LTAxLTA4IEJhaWR1LCBJbmMuCitiYWlkdQorCisvLyBiYW5hbWV4IDogMjAxNS0wNy0zMCBDaXRpZ3JvdXAgSW5jLgorYmFuYW1leAorCisvLyBiYW5hbmFyZXB1YmxpYyA6IDIwMTUtMDctMzEgVGhlIEdhcCwgSW5jLgorYmFuYW5hcmVwdWJsaWMKKworLy8gYmFuZCA6IDIwMTQtMDYtMTIgRG9nIEJlYWNoLCBMTEMKK2JhbmQKKworLy8gYmFuayA6IDIwMTQtMDktMjUgZlRMRCBSZWdpc3RyeSBTZXJ2aWNlcyBMTEMKK2JhbmsKKworLy8gYmFyIDogMjAxMy0xMi0xMiBQdW50byAyMDEyIFNvY2llZGFkIEFub25pbWEgUHJvbW90b3JhIGRlIEludmVyc2lvbiBkZSBDYXBpdGFsIFZhcmlhYmxlCitiYXIKKworLy8gYmFyY2Vsb25hIDogMjAxNC0wNy0yNCBNdW5pY2lwaSBkZSBCYXJjZWxvbmEKK2JhcmNlbG9uYQorCisvLyBiYXJjbGF5Y2FyZCA6IDIwMTQtMTEtMjAgQmFyY2xheXMgQmFuayBQTEMKK2JhcmNsYXljYXJkCisKKy8vIGJhcmNsYXlzIDogMjAxNC0xMS0yMCBCYXJjbGF5cyBCYW5rIFBMQworYmFyY2xheXMKKworLy8gYmFyZWZvb3QgOiAyMDE1LTA2LTExIEdhbGxvIFZpbmV5YXJkcywgSW5jLgorYmFyZWZvb3QKKworLy8gYmFyZ2FpbnMgOiAyMDEzLTExLTE0IEJpbmt5IE1vb24sIExMQworYmFyZ2FpbnMKKworLy8gYmFzZWJhbGwgOiAyMDE1LTEwLTI5IE1MQiBBZHZhbmNlZCBNZWRpYSBESCwgTExDCitiYXNlYmFsbAorCisvLyBiYXNrZXRiYWxsIDogMjAxNS0wOC0yMCBGw6lkw6lyYXRpb24gSW50ZXJuYXRpb25hbGUgZGUgQmFza2V0YmFsbCAoRklCQSkKK2Jhc2tldGJhbGwKKworLy8gYmF1aGF1cyA6IDIwMTQtMDQtMTcgV2Vya2hhdXMgR21iSAorYmF1aGF1cworCisvLyBiYXllcm4gOiAyMDE0LTAxLTIzIEJheWVybiBDb25uZWN0IEdtYkgKK2JheWVybgorCisvLyBiYmMgOiAyMDE0LTEyLTE4IEJyaXRpc2ggQnJvYWRjYXN0aW5nIENvcnBvcmF0aW9uCitiYmMKKworLy8gYmJ0IDogMjAxNS0wNy0yMyBCQiZUIENvcnBvcmF0aW9uCitiYnQKKworLy8gYmJ2YSA6IDIwMTQtMTAtMDIgQkFOQ08gQklMQkFPIFZJWkNBWUEgQVJHRU5UQVJJQSwgUy5BLgorYmJ2YQorCisvLyBiY2cgOiAyMDE1LTA0LTAyIFRoZSBCb3N0b24gQ29uc3VsdGluZyBHcm91cCwgSW5jLgorYmNnCisKKy8vIGJjbiA6IDIwMTQtMDctMjQgTXVuaWNpcGkgZGUgQmFyY2Vsb25hCitiY24KKworLy8gYmVhdHMgOiAyMDE1LTA1LTE0IEJlYXRzIEVsZWN0cm9uaWNzLCBMTEMKK2JlYXRzCisKKy8vIGJlYXV0eSA6IDIwMTUtMTItMDMgWFlaLkNPTSBMTEMKK2JlYXV0eQorCisvLyBiZWVyIDogMjAxNC0wMS0wOSBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitiZWVyCisKKy8vIGJlbnRsZXkgOiAyMDE0LTEyLTE4IEJlbnRsZXkgTW90b3JzIExpbWl0ZWQKK2JlbnRsZXkKKworLy8gYmVybGluIDogMjAxMy0xMC0zMSBkb3RCRVJMSU4gR21iSCAmIENvLiBLRworYmVybGluCisKKy8vIGJlc3QgOiAyMDEzLTEyLTE5IEJlc3RUTEQgUHR5IEx0ZAorYmVzdAorCisvLyBiZXN0YnV5IDogMjAxNS0wNy0zMSBCQlkgU29sdXRpb25zLCBJbmMuCitiZXN0YnV5CisKKy8vIGJldCA6IDIwMTUtMDUtMDcgSWRlbnRpdHkgRGlnaXRhbCBMaW1pdGVkCitiZXQKKworLy8gYmhhcnRpIDogMjAxNC0wMS0wOSBCaGFydGkgRW50ZXJwcmlzZXMgKEhvbGRpbmcpIFByaXZhdGUgTGltaXRlZAorYmhhcnRpCisKKy8vIGJpYmxlIDogMjAxNC0wNi0xOSBBbWVyaWNhbiBCaWJsZSBTb2NpZXR5CitiaWJsZQorCisvLyBiaWQgOiAyMDEzLTEyLTE5IGRvdCBCaWQgTGltaXRlZAorYmlkCisKKy8vIGJpa2UgOiAyMDEzLTA4LTI3IEJpbmt5IE1vb24sIExMQworYmlrZQorCisvLyBiaW5nIDogMjAxNC0xMi0xOCBNaWNyb3NvZnQgQ29ycG9yYXRpb24KK2JpbmcKKworLy8gYmluZ28gOiAyMDE0LTEyLTA0IEJpbmt5IE1vb24sIExMQworYmluZ28KKworLy8gYmlvIDogMjAxNC0wMy0wNiBJZGVudGl0eSBEaWdpdGFsIExpbWl0ZWQKK2JpbworCisvLyBibGFjayA6IDIwMTQtMDEtMTYgSWRlbnRpdHkgRGlnaXRhbCBMaW1pdGVkCitibGFjaworCisvLyBibGFja2ZyaWRheSA6IDIwMTQtMDEtMTYgUmVnaXN0cnkgU2VydmljZXMsIExMQworYmxhY2tmcmlkYXkKKworLy8gYmxvY2tidXN0ZXIgOiAyMDE1LTA3LTMwIERpc2ggREJTIENvcnBvcmF0aW9uCitibG9ja2J1c3RlcgorCisvLyBibG9nIDogMjAxNS0wNS0xNCBLbm9jayBLbm9jayBXSE9JUyBUaGVyZSwgTExDCitibG9nCisKKy8vIGJsb29tYmVyZyA6IDIwMTQtMDctMTcgQmxvb21iZXJnIElQIEhvbGRpbmdzIExMQworYmxvb21iZXJnCisKKy8vIGJsdWUgOiAyMDEzLTExLTA3IElkZW50aXR5IERpZ2l0YWwgTGltaXRlZAorYmx1ZQorCisvLyBibXMgOiAyMDE0LTEwLTMwIEJyaXN0b2wtTXllcnMgU3F1aWJiIENvbXBhbnkKK2JtcworCisvLyBibXcgOiAyMDE0LTAxLTA5IEJheWVyaXNjaGUgTW90b3JlbiBXZXJrZSBBa3RpZW5nZXNlbGxzY2hhZnQKK2JtdworCisvLyBibnBwYXJpYmFzIDogMjAxNC0wNS0yOSBCTlAgUGFyaWJhcworYm5wcGFyaWJhcworCisvLyBib2F0cyA6IDIwMTQtMTItMDQgWFlaLkNPTSBMTEMKK2JvYXRzCisKKy8vIGJvZWhyaW5nZXIgOiAyMDE1LTA3LTA5IEJvZWhyaW5nZXIgSW5nZWxoZWltIEludGVybmF0aW9uYWwgR21iSAorYm9laHJpbmdlcgorCisvLyBib2ZhIDogMjAxNS0wNy0zMSBCYW5rIG9mIEFtZXJpY2EgQ29ycG9yYXRpb24KK2JvZmEKKworLy8gYm9tIDogMjAxNC0xMC0xNiBOw7pjbGVvIGRlIEluZm9ybWHDp8OjbyBlIENvb3JkZW5hw6fDo28gZG8gUG9udG8gQlIgLSBOSUMuYnIKK2JvbQorCisvLyBib25kIDogMjAxNC0wNi0wNSBTaG9ydERvdCBTQQorYm9uZAorCisvLyBib28gOiAyMDE0LTAxLTMwIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitib28KKworLy8gYm9vayA6IDIwMTUtMDgtMjcgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitib29rCisKKy8vIGJvb2tpbmcgOiAyMDE1LTA3LTE2IEJvb2tpbmcuY29tIEIuVi4KK2Jvb2tpbmcKKworLy8gYm9zY2ggOiAyMDE1LTA2LTE4IFJvYmVydCBCb3NjaCBHTUJICitib3NjaAorCisvLyBib3N0aWsgOiAyMDE1LTA1LTI4IEJvc3RpayBTQQorYm9zdGlrCisKKy8vIGJvc3RvbiA6IDIwMTUtMTItMTAgUmVnaXN0cnkgU2VydmljZXMsIExMQworYm9zdG9uCisKKy8vIGJvdCA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitib3QKKworLy8gYm91dGlxdWUgOiAyMDEzLTExLTE0IEJpbmt5IE1vb24sIExMQworYm91dGlxdWUKKworLy8gYm94IDogMjAxNS0xMS0xMiBJbnRlcmNhcCBSZWdpc3RyeSBJbmMuCitib3gKKworLy8gYnJhZGVzY28gOiAyMDE0LTEyLTE4IEJhbmNvIEJyYWRlc2NvIFMuQS4KK2JyYWRlc2NvCisKKy8vIGJyaWRnZXN0b25lIDogMjAxNC0xMi0xOCBCcmlkZ2VzdG9uZSBDb3Jwb3JhdGlvbgorYnJpZGdlc3RvbmUKKworLy8gYnJvYWR3YXkgOiAyMDE0LTEyLTIyIENlbGVicmF0ZSBCcm9hZHdheSwgSW5jLgorYnJvYWR3YXkKKworLy8gYnJva2VyIDogMjAxNC0xMi0xMSBEb2cgQmVhY2gsIExMQworYnJva2VyCisKKy8vIGJyb3RoZXIgOiAyMDE1LTAxLTI5IEJyb3RoZXIgSW5kdXN0cmllcywgTHRkLgorYnJvdGhlcgorCisvLyBicnVzc2VscyA6IDIwMTQtMDItMDYgRE5TLmJlIHZ6dworYnJ1c3NlbHMKKworLy8gYnVpbGQgOiAyMDEzLTExLTA3IFBsYW4gQmVlIExMQworYnVpbGQKKworLy8gYnVpbGRlcnMgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQworYnVpbGRlcnMKKworLy8gYnVzaW5lc3MgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQworYnVzaW5lc3MKKworLy8gYnV5IDogMjAxNC0xMi0xOCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2J1eQorCisvLyBidXp6IDogMjAxMy0xMC0wMiBET1RTVFJBVEVHWSBDTy4KK2J1enoKKworLy8gYnpoIDogMjAxNC0wMi0yNyBBc3NvY2lhdGlvbiB3d3cuYnpoCitiemgKKworLy8gY2FiIDogMjAxMy0xMC0yNCBCaW5reSBNb29uLCBMTEMKK2NhYgorCisvLyBjYWZlIDogMjAxNS0wMi0xMSBCaW5reSBNb29uLCBMTEMKK2NhZmUKKworLy8gY2FsIDogMjAxNC0wNy0yNCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorY2FsCisKKy8vIGNhbGwgOiAyMDE0LTEyLTE4IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgorY2FsbAorCisvLyBjYWx2aW5rbGVpbiA6IDIwMTUtMDctMzAgUFZIIGdUTEQgSG9sZGluZ3MgTExDCitjYWx2aW5rbGVpbgorCisvLyBjYW0gOiAyMDE2LTA0LTIxIENhbSBDb25uZWN0aW5nIFNBUkwKK2NhbQorCisvLyBjYW1lcmEgOiAyMDEzLTA4LTI3IEJpbmt5IE1vb24sIExMQworY2FtZXJhCisKKy8vIGNhbXAgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQworY2FtcAorCisvLyBjYW5vbiA6IDIwMTQtMDktMTIgQ2Fub24gSW5jLgorY2Fub24KKworLy8gY2FwZXRvd24gOiAyMDE0LTAzLTI0IFpBIENlbnRyYWwgUmVnaXN0cnkgTlBDIHRyYWRpbmcgYXMgWkEgQ2VudHJhbCBSZWdpc3RyeQorY2FwZXRvd24KKworLy8gY2FwaXRhbCA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitjYXBpdGFsCisKKy8vIGNhcGl0YWxvbmUgOiAyMDE1LTA4LTA2IENhcGl0YWwgT25lIEZpbmFuY2lhbCBDb3Jwb3JhdGlvbgorY2FwaXRhbG9uZQorCisvLyBjYXIgOiAyMDE1LTAxLTIyIFhZWi5DT00gTExDCitjYXIKKworLy8gY2FyYXZhbiA6IDIwMTMtMTItMTIgQ2FyYXZhbiBJbnRlcm5hdGlvbmFsLCBJbmMuCitjYXJhdmFuCisKKy8vIGNhcmRzIDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK2NhcmRzCisKKy8vIGNhcmUgOiAyMDE0LTAzLTA2IEJpbmt5IE1vb24sIExMQworY2FyZQorCisvLyBjYXJlZXIgOiAyMDEzLTEwLTA5IGRvdENhcmVlciBMTEMKK2NhcmVlcgorCisvLyBjYXJlZXJzIDogMjAxMy0xMC0wMiBCaW5reSBNb29uLCBMTEMKK2NhcmVlcnMKKworLy8gY2FycyA6IDIwMTQtMTEtMTMgWFlaLkNPTSBMTEMKK2NhcnMKKworLy8gY2FzYSA6IDIwMTMtMTEtMjEgUmVnaXN0cnkgU2VydmljZXMsIExMQworY2FzYQorCisvLyBjYXNlIDogMjAxNS0wOS0wMyBEaWdpdHksIExMQworY2FzZQorCisvLyBjYXNoIDogMjAxNC0wMy0wNiBCaW5reSBNb29uLCBMTEMKK2Nhc2gKKworLy8gY2FzaW5vIDogMjAxNC0xMi0xOCBCaW5reSBNb29uLCBMTEMKK2Nhc2lubworCisvLyBjYXRlcmluZyA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCitjYXRlcmluZworCisvLyBjYXRob2xpYyA6IDIwMTUtMTAtMjEgUG9udGlmaWNpdW0gQ29uc2lsaXVtIGRlIENvbXVuaWNhdGlvbmlidXMgU29jaWFsaWJ1cyAoUENDUykgKFBvbnRpZmljYWwgQ291bmNpbCBmb3IgU29jaWFsIENvbW11bmljYXRpb24pCitjYXRob2xpYworCisvLyBjYmEgOiAyMDE0LTA2LTI2IENPTU1PTldFQUxUSCBCQU5LIE9GIEFVU1RSQUxJQQorY2JhCisKKy8vIGNibiA6IDIwMTQtMDgtMjIgVGhlIENocmlzdGlhbiBCcm9hZGNhc3RpbmcgTmV0d29yaywgSW5jLgorY2JuCisKKy8vIGNicmUgOiAyMDE1LTA3LTAyIENCUkUsIEluYy4KK2NicmUKKworLy8gY2JzIDogMjAxNS0wOC0wNiBDQlMgRG9tYWlucyBJbmMuCitjYnMKKworLy8gY2VudGVyIDogMjAxMy0xMS0wNyBCaW5reSBNb29uLCBMTEMKK2NlbnRlcgorCisvLyBjZW8gOiAyMDEzLTExLTA3IENFT1RMRCBQdHkgTHRkCitjZW8KKworLy8gY2VybiA6IDIwMTQtMDYtMDUgRXVyb3BlYW4gT3JnYW5pemF0aW9uIGZvciBOdWNsZWFyIFJlc2VhcmNoICgiQ0VSTiIpCitjZXJuCisKKy8vIGNmYSA6IDIwMTQtMDgtMjggQ0ZBIEluc3RpdHV0ZQorY2ZhCisKKy8vIGNmZCA6IDIwMTQtMTItMTEgU2hvcnREb3QgU0EKK2NmZAorCisvLyBjaGFuZWwgOiAyMDE1LTA0LTA5IENoYW5lbCBJbnRlcm5hdGlvbmFsIEIuVi4KK2NoYW5lbAorCisvLyBjaGFubmVsIDogMjAxNC0wNS0wOCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorY2hhbm5lbAorCisvLyBjaGFyaXR5IDogMjAxOC0wNC0xMSBQdWJsaWMgSW50ZXJlc3QgUmVnaXN0cnkKK2NoYXJpdHkKKworLy8gY2hhc2UgOiAyMDE1LTA0LTMwIEpQTW9yZ2FuIENoYXNlIEJhbmssIE5hdGlvbmFsIEFzc29jaWF0aW9uCitjaGFzZQorCisvLyBjaGF0IDogMjAxNC0xMi0wNCBCaW5reSBNb29uLCBMTEMKK2NoYXQKKworLy8gY2hlYXAgOiAyMDEzLTExLTE0IEJpbmt5IE1vb24sIExMQworY2hlYXAKKworLy8gY2hpbnRhaSA6IDIwMTUtMDYtMTEgQ0hJTlRBSSBDb3Jwb3JhdGlvbgorY2hpbnRhaQorCisvLyBjaHJpc3RtYXMgOiAyMDEzLTExLTIxIFhZWi5DT00gTExDCitjaHJpc3RtYXMKKworLy8gY2hyb21lIDogMjAxNC0wNy0yNCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorY2hyb21lCisKKy8vIGNodXJjaCA6IDIwMTQtMDItMDYgQmlua3kgTW9vbiwgTExDCitjaHVyY2gKKworLy8gY2lwcmlhbmkgOiAyMDE1LTAyLTE5IEhvdGVsIENpcHJpYW5pIFNybAorY2lwcmlhbmkKKworLy8gY2lyY2xlIDogMjAxNC0xMi0xOCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2NpcmNsZQorCisvLyBjaXNjbyA6IDIwMTQtMTItMjIgQ2lzY28gVGVjaG5vbG9neSwgSW5jLgorY2lzY28KKworLy8gY2l0YWRlbCA6IDIwMTUtMDctMjMgQ2l0YWRlbCBEb21haW4gTExDCitjaXRhZGVsCisKKy8vIGNpdGkgOiAyMDE1LTA3LTMwIENpdGlncm91cCBJbmMuCitjaXRpCisKKy8vIGNpdGljIDogMjAxNC0wMS0wOSBDSVRJQyBHcm91cCBDb3Jwb3JhdGlvbgorY2l0aWMKKworLy8gY2l0eSA6IDIwMTQtMDUtMjkgQmlua3kgTW9vbiwgTExDCitjaXR5CisKKy8vIGNpdHllYXRzIDogMjAxNC0xMi0xMSBMaWZlc3R5bGUgRG9tYWluIEhvbGRpbmdzLCBJbmMuCitjaXR5ZWF0cworCisvLyBjbGFpbXMgOiAyMDE0LTAzLTIwIEJpbmt5IE1vb24sIExMQworY2xhaW1zCisKKy8vIGNsZWFuaW5nIDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK2NsZWFuaW5nCisKKy8vIGNsaWNrIDogMjAxNC0wNi0wNSBJbnRlcm5ldCBOYW1pbmcgQ29tcGFueSBMTEMKK2NsaWNrCisKKy8vIGNsaW5pYyA6IDIwMTQtMDMtMjAgQmlua3kgTW9vbiwgTExDCitjbGluaWMKKworLy8gY2xpbmlxdWUgOiAyMDE1LTEwLTAxIFRoZSBFc3TDqWUgTGF1ZGVyIENvbXBhbmllcyBJbmMuCitjbGluaXF1ZQorCisvLyBjbG90aGluZyA6IDIwMTMtMDgtMjcgQmlua3kgTW9vbiwgTExDCitjbG90aGluZworCisvLyBjbG91ZCA6IDIwMTUtMDQtMTYgQXJ1YmEgUEVDIFMucC5BLgorY2xvdWQKKworLy8gY2x1YiA6IDIwMTMtMTEtMDggUmVnaXN0cnkgU2VydmljZXMsIExMQworY2x1YgorCisvLyBjbHVibWVkIDogMjAxNS0wNi0yNSBDbHViIE3DqWRpdGVycmFuw6llIFMuQS4KK2NsdWJtZWQKKworLy8gY29hY2ggOiAyMDE0LTEwLTA5IEJpbmt5IE1vb24sIExMQworY29hY2gKKworLy8gY29kZXMgOiAyMDEzLTEwLTMxIEJpbmt5IE1vb24sIExMQworY29kZXMKKworLy8gY29mZmVlIDogMjAxMy0xMC0xNyBCaW5reSBNb29uLCBMTEMKK2NvZmZlZQorCisvLyBjb2xsZWdlIDogMjAxNC0wMS0xNiBYWVouQ09NIExMQworY29sbGVnZQorCisvLyBjb2xvZ25lIDogMjAxNC0wMi0wNSBkb3RLb2VsbiBHbWJICitjb2xvZ25lCisKKy8vIGNvbWNhc3QgOiAyMDE1LTA3LTIzIENvbWNhc3QgSVAgSG9sZGluZ3MgSSwgTExDCitjb21jYXN0CisKKy8vIGNvbW1iYW5rIDogMjAxNC0wNi0yNiBDT01NT05XRUFMVEggQkFOSyBPRiBBVVNUUkFMSUEKK2NvbW1iYW5rCisKKy8vIGNvbW11bml0eSA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCitjb21tdW5pdHkKKworLy8gY29tcGFueSA6IDIwMTMtMTEtMDcgQmlua3kgTW9vbiwgTExDCitjb21wYW55CisKKy8vIGNvbXBhcmUgOiAyMDE1LTEwLTA4IFJlZ2lzdHJ5IFNlcnZpY2VzLCBMTEMKK2NvbXBhcmUKKworLy8gY29tcHV0ZXIgOiAyMDEzLTEwLTI0IEJpbmt5IE1vb24sIExMQworY29tcHV0ZXIKKworLy8gY29tc2VjIDogMjAxNS0wMS0wOCBWZXJpU2lnbiwgSW5jLgorY29tc2VjCisKKy8vIGNvbmRvcyA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCitjb25kb3MKKworLy8gY29uc3RydWN0aW9uIDogMjAxMy0wOS0xNiBCaW5reSBNb29uLCBMTEMKK2NvbnN0cnVjdGlvbgorCisvLyBjb25zdWx0aW5nIDogMjAxMy0xMi0wNSBEb2cgQmVhY2gsIExMQworY29uc3VsdGluZworCisvLyBjb250YWN0IDogMjAxNS0wMS0wOCBEb2cgQmVhY2gsIExMQworY29udGFjdAorCisvLyBjb250cmFjdG9ycyA6IDIwMTMtMDktMTAgQmlua3kgTW9vbiwgTExDCitjb250cmFjdG9ycworCisvLyBjb29raW5nIDogMjAxMy0xMS0yMSBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitjb29raW5nCisKKy8vIGNvb2tpbmdjaGFubmVsIDogMjAxNS0wNy0wMiBMaWZlc3R5bGUgRG9tYWluIEhvbGRpbmdzLCBJbmMuCitjb29raW5nY2hhbm5lbAorCisvLyBjb29sIDogMjAxMy0xMS0xNCBCaW5reSBNb29uLCBMTEMKK2Nvb2wKKworLy8gY29yc2ljYSA6IDIwMTQtMDktMjUgQ29sbGVjdGl2aXTDqSBkZSBDb3JzZQorY29yc2ljYQorCisvLyBjb3VudHJ5IDogMjAxMy0xMi0xOSBJbnRlcm5ldCBOYW1pbmcgQ29tcGFueSBMTEMKK2NvdW50cnkKKworLy8gY291cG9uIDogMjAxNS0wMi0yNiBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2NvdXBvbgorCisvLyBjb3Vwb25zIDogMjAxNS0wMy0yNiBCaW5reSBNb29uLCBMTEMKK2NvdXBvbnMKKworLy8gY291cnNlcyA6IDIwMTQtMTItMDQgUmVnaXN0cnkgU2VydmljZXMsIExMQworY291cnNlcworCisvLyBjcGEgOiAyMDE5LTA2LTEwIEFtZXJpY2FuIEluc3RpdHV0ZSBvZiBDZXJ0aWZpZWQgUHVibGljIEFjY291bnRhbnRzCitjcGEKKworLy8gY3JlZGl0IDogMjAxNC0wMy0yMCBCaW5reSBNb29uLCBMTEMKK2NyZWRpdAorCisvLyBjcmVkaXRjYXJkIDogMjAxNC0wMy0yMCBCaW5reSBNb29uLCBMTEMKK2NyZWRpdGNhcmQKKworLy8gY3JlZGl0dW5pb24gOiAyMDE1LTAxLTIyIERvdENvb3BlcmF0aW9uIExMQworY3JlZGl0dW5pb24KKworLy8gY3JpY2tldCA6IDIwMTQtMTAtMDkgZG90IENyaWNrZXQgTGltaXRlZAorY3JpY2tldAorCisvLyBjcm93biA6IDIwMTQtMTAtMjQgQ3Jvd24gRXF1aXBtZW50IENvcnBvcmF0aW9uCitjcm93bgorCisvLyBjcnMgOiAyMDE0LTA0LTAzIEZlZGVyYXRlZCBDby1vcGVyYXRpdmVzIExpbWl0ZWQKK2NycworCisvLyBjcnVpc2UgOiAyMDE1LTEyLTEwIFZpa2luZyBSaXZlciBDcnVpc2VzIChCZXJtdWRhKSBMdGQuCitjcnVpc2UKKworLy8gY3J1aXNlcyA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCitjcnVpc2VzCisKKy8vIGN1aXNpbmVsbGEgOiAyMDE0LTA0LTAzIFNDSE1JRFQgR1JPVVBFIFMuQS5TLgorY3Vpc2luZWxsYQorCisvLyBjeW1ydSA6IDIwMTQtMDUtMDggTm9taW5ldCBVSworY3ltcnUKKworLy8gY3lvdSA6IDIwMTUtMDEtMjIgU2hvcnREb3QgU0EKK2N5b3UKKworLy8gZGFidXIgOiAyMDE0LTAyLTA2IERhYnVyIEluZGlhIExpbWl0ZWQKK2RhYnVyCisKKy8vIGRhZCA6IDIwMTQtMDEtMjMgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK2RhZAorCisvLyBkYW5jZSA6IDIwMTMtMTAtMjQgRG9nIEJlYWNoLCBMTEMKK2RhbmNlCisKKy8vIGRhdGEgOiAyMDE2LTA2LTAyIERpc2ggREJTIENvcnBvcmF0aW9uCitkYXRhCisKKy8vIGRhdGUgOiAyMDE0LTExLTIwIGRvdCBEYXRlIExpbWl0ZWQKK2RhdGUKKworLy8gZGF0aW5nIDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK2RhdGluZworCisvLyBkYXRzdW4gOiAyMDE0LTAzLTI3IE5JU1NBTiBNT1RPUiBDTy4sIExURC4KK2RhdHN1bgorCisvLyBkYXkgOiAyMDE0LTAxLTMwIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitkYXkKKworLy8gZGNsayA6IDIwMTQtMTEtMjAgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK2RjbGsKKworLy8gZGRzIDogMjAxNS0wNS0wNyBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitkZHMKKworLy8gZGVhbCA6IDIwMTUtMDYtMjUgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitkZWFsCisKKy8vIGRlYWxlciA6IDIwMTQtMTItMjIgSW50ZXJjYXAgUmVnaXN0cnkgSW5jLgorZGVhbGVyCisKKy8vIGRlYWxzIDogMjAxNC0wNS0yMiBCaW5reSBNb29uLCBMTEMKK2RlYWxzCisKKy8vIGRlZ3JlZSA6IDIwMTQtMDMtMDYgRG9nIEJlYWNoLCBMTEMKK2RlZ3JlZQorCisvLyBkZWxpdmVyeSA6IDIwMTQtMDktMTEgQmlua3kgTW9vbiwgTExDCitkZWxpdmVyeQorCisvLyBkZWxsIDogMjAxNC0xMC0yNCBEZWxsIEluYy4KK2RlbGwKKworLy8gZGVsb2l0dGUgOiAyMDE1LTA3LTMxIERlbG9pdHRlIFRvdWNoZSBUb2htYXRzdQorZGVsb2l0dGUKKworLy8gZGVsdGEgOiAyMDE1LTAyLTE5IERlbHRhIEFpciBMaW5lcywgSW5jLgorZGVsdGEKKworLy8gZGVtb2NyYXQgOiAyMDEzLTEwLTI0IERvZyBCZWFjaCwgTExDCitkZW1vY3JhdAorCisvLyBkZW50YWwgOiAyMDE0LTAzLTIwIEJpbmt5IE1vb24sIExMQworZGVudGFsCisKKy8vIGRlbnRpc3QgOiAyMDE0LTAzLTIwIERvZyBCZWFjaCwgTExDCitkZW50aXN0CisKKy8vIGRlc2kgOiAyMDEzLTExLTE0IERlc2kgTmV0d29ya3MgTExDCitkZXNpCisKKy8vIGRlc2lnbiA6IDIwMTQtMTEtMDcgUmVnaXN0cnkgU2VydmljZXMsIExMQworZGVzaWduCisKKy8vIGRldiA6IDIwMTQtMTAtMTYgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK2RldgorCisvLyBkaGwgOiAyMDE1LTA3LTIzIERldXRzY2hlIFBvc3QgQUcKK2RobAorCisvLyBkaWFtb25kcyA6IDIwMTMtMDktMjIgQmlua3kgTW9vbiwgTExDCitkaWFtb25kcworCisvLyBkaWV0IDogMjAxNC0wNi0yNiBYWVouQ09NIExMQworZGlldAorCisvLyBkaWdpdGFsIDogMjAxNC0wMy0wNiBCaW5reSBNb29uLCBMTEMKK2RpZ2l0YWwKKworLy8gZGlyZWN0IDogMjAxNC0wNC0xMCBCaW5reSBNb29uLCBMTEMKK2RpcmVjdAorCisvLyBkaXJlY3RvcnkgOiAyMDEzLTA5LTIwIEJpbmt5IE1vb24sIExMQworZGlyZWN0b3J5CisKKy8vIGRpc2NvdW50IDogMjAxNC0wMy0wNiBCaW5reSBNb29uLCBMTEMKK2Rpc2NvdW50CisKKy8vIGRpc2NvdmVyIDogMjAxNS0wNy0yMyBEaXNjb3ZlciBGaW5hbmNpYWwgU2VydmljZXMKK2Rpc2NvdmVyCisKKy8vIGRpc2ggOiAyMDE1LTA3LTMwIERpc2ggREJTIENvcnBvcmF0aW9uCitkaXNoCisKKy8vIGRpeSA6IDIwMTUtMTEtMDUgTGlmZXN0eWxlIERvbWFpbiBIb2xkaW5ncywgSW5jLgorZGl5CisKKy8vIGRucCA6IDIwMTMtMTItMTMgRGFpIE5pcHBvbiBQcmludGluZyBDby4sIEx0ZC4KK2RucAorCisvLyBkb2NzIDogMjAxNC0xMC0xNiBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorZG9jcworCisvLyBkb2N0b3IgOiAyMDE2LTA2LTAyIEJpbmt5IE1vb24sIExMQworZG9jdG9yCisKKy8vIGRvZyA6IDIwMTQtMTItMDQgQmlua3kgTW9vbiwgTExDCitkb2cKKworLy8gZG9tYWlucyA6IDIwMTMtMTAtMTcgQmlua3kgTW9vbiwgTExDCitkb21haW5zCisKKy8vIGRvdCA6IDIwMTUtMDUtMjEgRGlzaCBEQlMgQ29ycG9yYXRpb24KK2RvdAorCisvLyBkb3dubG9hZCA6IDIwMTQtMTEtMjAgZG90IFN1cHBvcnQgTGltaXRlZAorZG93bmxvYWQKKworLy8gZHJpdmUgOiAyMDE1LTAzLTA1IENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitkcml2ZQorCisvLyBkdHYgOiAyMDE1LTA2LTA0IERpc2ggREJTIENvcnBvcmF0aW9uCitkdHYKKworLy8gZHViYWkgOiAyMDE1LTAxLTAxIER1YmFpIFNtYXJ0IEdvdmVybm1lbnQgRGVwYXJ0bWVudAorZHViYWkKKworLy8gZHVubG9wIDogMjAxNS0wNy0wMiBUaGUgR29vZHllYXIgVGlyZSAmIFJ1YmJlciBDb21wYW55CitkdW5sb3AKKworLy8gZHVwb250IDogMjAxNS0wNi0yNSBEdVBvbnQgU3BlY2lhbHR5IFByb2R1Y3RzIFVTQSwgTExDCitkdXBvbnQKKworLy8gZHVyYmFuIDogMjAxNC0wMy0yNCBaQSBDZW50cmFsIFJlZ2lzdHJ5IE5QQyB0cmFkaW5nIGFzIFpBIENlbnRyYWwgUmVnaXN0cnkKK2R1cmJhbgorCisvLyBkdmFnIDogMjAxNC0wNi0yMyBEZXV0c2NoZSBWZXJtw7ZnZW5zYmVyYXR1bmcgQWt0aWVuZ2VzZWxsc2NoYWZ0IERWQUcKK2R2YWcKKworLy8gZHZyIDogMjAxNi0wNS0yNiBESVNIIFRlY2hub2xvZ2llcyBMLkwuQy4KK2R2cgorCisvLyBlYXJ0aCA6IDIwMTQtMTItMDQgSW50ZXJsaW5rIFN5c3RlbXMgSW5ub3ZhdGlvbiBJbnN0aXR1dGUgSy5LLgorZWFydGgKKworLy8gZWF0IDogMjAxNC0wMS0yMyBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorZWF0CisKKy8vIGVjbyA6IDIwMTYtMDctMDggQmlnIFJvb20gSW5jLgorZWNvCisKKy8vIGVkZWthIDogMjAxNC0xMi0xOCBFREVLQSBWZXJiYW5kIGthdWZtw6RubmlzY2hlciBHZW5vc3NlbnNjaGFmdGVuIGUuVi4KK2VkZWthCisKKy8vIGVkdWNhdGlvbiA6IDIwMTMtMTEtMDcgQmlua3kgTW9vbiwgTExDCitlZHVjYXRpb24KKworLy8gZW1haWwgOiAyMDEzLTEwLTMxIEJpbmt5IE1vb24sIExMQworZW1haWwKKworLy8gZW1lcmNrIDogMjAxNC0wNC0wMyBNZXJjayBLR2FBCitlbWVyY2sKKworLy8gZW5lcmd5IDogMjAxNC0wOS0xMSBCaW5reSBNb29uLCBMTEMKK2VuZXJneQorCisvLyBlbmdpbmVlciA6IDIwMTQtMDMtMDYgRG9nIEJlYWNoLCBMTEMKK2VuZ2luZWVyCisKKy8vIGVuZ2luZWVyaW5nIDogMjAxNC0wMy0wNiBCaW5reSBNb29uLCBMTEMKK2VuZ2luZWVyaW5nCisKKy8vIGVudGVycHJpc2VzIDogMjAxMy0wOS0yMCBCaW5reSBNb29uLCBMTEMKK2VudGVycHJpc2VzCisKKy8vIGVwc29uIDogMjAxNC0xMi0wNCBTZWlrbyBFcHNvbiBDb3Jwb3JhdGlvbgorZXBzb24KKworLy8gZXF1aXBtZW50IDogMjAxMy0wOC0yNyBCaW5reSBNb29uLCBMTEMKK2VxdWlwbWVudAorCisvLyBlcmljc3NvbiA6IDIwMTUtMDctMDkgVGVsZWZvbmFrdGllYm9sYWdldCBMIE0gRXJpY3Nzb24KK2VyaWNzc29uCisKKy8vIGVybmkgOiAyMDE0LTA0LTAzIEVSTkkgR3JvdXAgSG9sZGluZyBBRworZXJuaQorCisvLyBlc3EgOiAyMDE0LTA1LTA4IENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitlc3EKKworLy8gZXN0YXRlIDogMjAxMy0wOC0yNyBCaW5reSBNb29uLCBMTEMKK2VzdGF0ZQorCisvLyBldGlzYWxhdCA6IDIwMTUtMDktMDMgRW1pcmF0ZXMgVGVsZWNvbW11bmljYXRpb25zIENvcnBvcmF0aW9uICh0cmFkaW5nIGFzIEV0aXNhbGF0KQorZXRpc2FsYXQKKworLy8gZXVyb3Zpc2lvbiA6IDIwMTQtMDQtMjQgRXVyb3BlYW4gQnJvYWRjYXN0aW5nIFVuaW9uIChFQlUpCitldXJvdmlzaW9uCisKKy8vIGV1cyA6IDIwMTMtMTItMTIgUHVudHVldXMgRnVuZGF6aW9hCitldXMKKworLy8gZXZlbnRzIDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK2V2ZW50cworCisvLyBleGNoYW5nZSA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitleGNoYW5nZQorCisvLyBleHBlcnQgOiAyMDEzLTExLTIxIEJpbmt5IE1vb24sIExMQworZXhwZXJ0CisKKy8vIGV4cG9zZWQgOiAyMDEzLTEyLTA1IEJpbmt5IE1vb24sIExMQworZXhwb3NlZAorCisvLyBleHByZXNzIDogMjAxNS0wMi0xMSBCaW5reSBNb29uLCBMTEMKK2V4cHJlc3MKKworLy8gZXh0cmFzcGFjZSA6IDIwMTUtMDUtMTQgRXh0cmEgU3BhY2UgU3RvcmFnZSBMTEMKK2V4dHJhc3BhY2UKKworLy8gZmFnZSA6IDIwMTQtMTItMTggRmFnZSBJbnRlcm5hdGlvbmFsIFMuQS4KK2ZhZ2UKKworLy8gZmFpbCA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitmYWlsCisKKy8vIGZhaXJ3aW5kcyA6IDIwMTQtMTEtMTMgRmFpcldpbmRzIFBhcnRuZXJzLCBMTEMKK2ZhaXJ3aW5kcworCisvLyBmYWl0aCA6IDIwMTQtMTEtMjAgZG90IEZhaXRoIExpbWl0ZWQKK2ZhaXRoCisKKy8vIGZhbWlseSA6IDIwMTUtMDQtMDIgRG9nIEJlYWNoLCBMTEMKK2ZhbWlseQorCisvLyBmYW4gOiAyMDE0LTAzLTA2IERvZyBCZWFjaCwgTExDCitmYW4KKworLy8gZmFucyA6IDIwMTQtMTEtMDcgWkROUyBJbnRlcm5hdGlvbmFsIExpbWl0ZWQKK2ZhbnMKKworLy8gZmFybSA6IDIwMTMtMTEtMDcgQmlua3kgTW9vbiwgTExDCitmYXJtCisKKy8vIGZhcm1lcnMgOiAyMDE1LTA3LTA5IEZhcm1lcnMgSW5zdXJhbmNlIEV4Y2hhbmdlCitmYXJtZXJzCisKKy8vIGZhc2hpb24gOiAyMDE0LTA3LTAzIFJlZ2lzdHJ5IFNlcnZpY2VzLCBMTEMKK2Zhc2hpb24KKworLy8gZmFzdCA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitmYXN0CisKKy8vIGZlZGV4IDogMjAxNS0wOC0wNiBGZWRlcmFsIEV4cHJlc3MgQ29ycG9yYXRpb24KK2ZlZGV4CisKKy8vIGZlZWRiYWNrIDogMjAxMy0xMi0xOSBUb3AgTGV2ZWwgU3BlY3RydW0sIEluYy4KK2ZlZWRiYWNrCisKKy8vIGZlcnJhcmkgOiAyMDE1LTA3LTMxIEZpYXQgQ2hyeXNsZXIgQXV0b21vYmlsZXMgTi5WLgorZmVycmFyaQorCisvLyBmZXJyZXJvIDogMjAxNC0xMi0xOCBGZXJyZXJvIFRyYWRpbmcgTHV4IFMuQS4KK2ZlcnJlcm8KKworLy8gZmlhdCA6IDIwMTUtMDctMzEgRmlhdCBDaHJ5c2xlciBBdXRvbW9iaWxlcyBOLlYuCitmaWF0CisKKy8vIGZpZGVsaXR5IDogMjAxNS0wNy0zMCBGaWRlbGl0eSBCcm9rZXJhZ2UgU2VydmljZXMgTExDCitmaWRlbGl0eQorCisvLyBmaWRvIDogMjAxNS0wOC0wNiBSb2dlcnMgQ29tbXVuaWNhdGlvbnMgQ2FuYWRhIEluYy4KK2ZpZG8KKworLy8gZmlsbSA6IDIwMTUtMDEtMDggTW90aW9uIFBpY3R1cmUgRG9tYWluIFJlZ2lzdHJ5IFB0eSBMdGQKK2ZpbG0KKworLy8gZmluYWwgOiAyMDE0LTEwLTE2IE7DumNsZW8gZGUgSW5mb3JtYcOnw6NvIGUgQ29vcmRlbmHDp8OjbyBkbyBQb250byBCUiAtIE5JQy5icgorZmluYWwKKworLy8gZmluYW5jZSA6IDIwMTQtMDMtMjAgQmlua3kgTW9vbiwgTExDCitmaW5hbmNlCisKKy8vIGZpbmFuY2lhbCA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitmaW5hbmNpYWwKKworLy8gZmlyZSA6IDIwMTUtMDYtMjUgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitmaXJlCisKKy8vIGZpcmVzdG9uZSA6IDIwMTQtMTItMTggQnJpZGdlc3RvbmUgTGljZW5zaW5nIFNlcnZpY2VzLCBJbmMKK2ZpcmVzdG9uZQorCisvLyBmaXJtZGFsZSA6IDIwMTQtMDMtMjcgRmlybWRhbGUgSG9sZGluZ3MgTGltaXRlZAorZmlybWRhbGUKKworLy8gZmlzaCA6IDIwMTMtMTItMTIgQmlua3kgTW9vbiwgTExDCitmaXNoCisKKy8vIGZpc2hpbmcgOiAyMDEzLTExLTIxIFJlZ2lzdHJ5IFNlcnZpY2VzLCBMTEMKK2Zpc2hpbmcKKworLy8gZml0IDogMjAxNC0xMS0wNyBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitmaXQKKworLy8gZml0bmVzcyA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitmaXRuZXNzCisKKy8vIGZsaWNrciA6IDIwMTUtMDQtMDIgRmxpY2tyLCBJbmMuCitmbGlja3IKKworLy8gZmxpZ2h0cyA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCitmbGlnaHRzCisKKy8vIGZsaXIgOiAyMDE1LTA3LTIzIEZMSVIgU3lzdGVtcywgSW5jLgorZmxpcgorCisvLyBmbG9yaXN0IDogMjAxMy0xMS0wNyBCaW5reSBNb29uLCBMTEMKK2Zsb3Jpc3QKKworLy8gZmxvd2VycyA6IDIwMTQtMTAtMDkgWFlaLkNPTSBMTEMKK2Zsb3dlcnMKKworLy8gZmx5IDogMjAxNC0wNS0wOCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorZmx5CisKKy8vIGZvbyA6IDIwMTQtMDEtMjMgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK2ZvbworCisvLyBmb29kIDogMjAxNi0wNC0yMSBMaWZlc3R5bGUgRG9tYWluIEhvbGRpbmdzLCBJbmMuCitmb29kCisKKy8vIGZvb2RuZXR3b3JrIDogMjAxNS0wNy0wMiBMaWZlc3R5bGUgRG9tYWluIEhvbGRpbmdzLCBJbmMuCitmb29kbmV0d29yaworCisvLyBmb290YmFsbCA6IDIwMTQtMTItMTggQmlua3kgTW9vbiwgTExDCitmb290YmFsbAorCisvLyBmb3JkIDogMjAxNC0xMS0xMyBGb3JkIE1vdG9yIENvbXBhbnkKK2ZvcmQKKworLy8gZm9yZXggOiAyMDE0LTEyLTExIERvZyBCZWFjaCwgTExDCitmb3JleAorCisvLyBmb3JzYWxlIDogMjAxNC0wNS0yMiBEb2cgQmVhY2gsIExMQworZm9yc2FsZQorCisvLyBmb3J1bSA6IDIwMTUtMDQtMDIgRmVnaXN0cnksIExMQworZm9ydW0KKworLy8gZm91bmRhdGlvbiA6IDIwMTMtMTItMDUgUHVibGljIEludGVyZXN0IFJlZ2lzdHJ5Citmb3VuZGF0aW9uCisKKy8vIGZveCA6IDIwMTUtMDktMTEgRk9YIFJlZ2lzdHJ5LCBMTEMKK2ZveAorCisvLyBmcmVlIDogMjAxNS0xMi0xMCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2ZyZWUKKworLy8gZnJlc2VuaXVzIDogMjAxNS0wNy0zMCBGcmVzZW5pdXMgSW1tb2JpbGllbi1WZXJ3YWx0dW5ncy1HbWJICitmcmVzZW5pdXMKKworLy8gZnJsIDogMjAxNC0wNS0xNSBGUkxyZWdpc3RyeSBCLlYuCitmcmwKKworLy8gZnJvZ2FucyA6IDIwMTMtMTItMTkgT1AzRlQKK2Zyb2dhbnMKKworLy8gZnJvbnRkb29yIDogMjAxNS0wNy0wMiBMaWZlc3R5bGUgRG9tYWluIEhvbGRpbmdzLCBJbmMuCitmcm9udGRvb3IKKworLy8gZnJvbnRpZXIgOiAyMDE1LTAyLTA1IEZyb250aWVyIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uCitmcm9udGllcgorCisvLyBmdHIgOiAyMDE1LTA3LTE2IEZyb250aWVyIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uCitmdHIKKworLy8gZnVqaXRzdSA6IDIwMTUtMDctMzAgRnVqaXRzdSBMaW1pdGVkCitmdWppdHN1CisKKy8vIGZ1biA6IDIwMTYtMDEtMTQgUmFkaXggRlpDCitmdW4KKworLy8gZnVuZCA6IDIwMTQtMDMtMjAgQmlua3kgTW9vbiwgTExDCitmdW5kCisKKy8vIGZ1cm5pdHVyZSA6IDIwMTQtMDMtMjAgQmlua3kgTW9vbiwgTExDCitmdXJuaXR1cmUKKworLy8gZnV0Ym9sIDogMjAxMy0wOS0yMCBEb2cgQmVhY2gsIExMQworZnV0Ym9sCisKKy8vIGZ5aSA6IDIwMTUtMDQtMDIgQmlua3kgTW9vbiwgTExDCitmeWkKKworLy8gZ2FsIDogMjAxMy0xMS0wNyBBc29jaWFjacOzbiBwdW50b0dBTAorZ2FsCisKKy8vIGdhbGxlcnkgOiAyMDEzLTA5LTEzIEJpbmt5IE1vb24sIExMQworZ2FsbGVyeQorCisvLyBnYWxsbyA6IDIwMTUtMDYtMTEgR2FsbG8gVmluZXlhcmRzLCBJbmMuCitnYWxsbworCisvLyBnYWxsdXAgOiAyMDE1LTAyLTE5IEdhbGx1cCwgSW5jLgorZ2FsbHVwCisKKy8vIGdhbWUgOiAyMDE1LTA1LTI4IFhZWi5DT00gTExDCitnYW1lCisKKy8vIGdhbWVzIDogMjAxNS0wNS0yOCBEb2cgQmVhY2gsIExMQworZ2FtZXMKKworLy8gZ2FwIDogMjAxNS0wNy0zMSBUaGUgR2FwLCBJbmMuCitnYXAKKworLy8gZ2FyZGVuIDogMjAxNC0wNi0yNiBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitnYXJkZW4KKworLy8gZ2F5IDogMjAxOS0wNS0yMyBUb3AgTGV2ZWwgRGVzaWduLCBMTEMKK2dheQorCisvLyBnYml6IDogMjAxNC0wNy0xNyBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorZ2JpegorCisvLyBnZG4gOiAyMDE0LTA3LTMxIEpvaW50IFN0b2NrIENvbXBhbnkgIk5hdmlnYXRpb24taW5mb3JtYXRpb24gc3lzdGVtcyIKK2dkbgorCisvLyBnZWEgOiAyMDE0LTEyLTA0IEdFQSBHcm91cCBBa3RpZW5nZXNlbGxzY2hhZnQKK2dlYQorCisvLyBnZW50IDogMjAxNC0wMS0yMyBFYXN5aG9zdCBCVgorZ2VudAorCisvLyBnZW50aW5nIDogMjAxNS0wMy0xMiBSZXNvcnRzIFdvcmxkIEluYyBQdGUuIEx0ZC4KK2dlbnRpbmcKKworLy8gZ2VvcmdlIDogMjAxNS0wNy0zMSBXYWwtTWFydCBTdG9yZXMsIEluYy4KK2dlb3JnZQorCisvLyBnZ2VlIDogMjAxNC0wMS0wOSBHTU8gSW50ZXJuZXQsIEluYy4KK2dnZWUKKworLy8gZ2lmdCA6IDIwMTMtMTAtMTcgRG90R2lmdCwgTExDCitnaWZ0CisKKy8vIGdpZnRzIDogMjAxNC0wNy0wMyBCaW5reSBNb29uLCBMTEMKK2dpZnRzCisKKy8vIGdpdmVzIDogMjAxNC0wMy0wNiBQdWJsaWMgSW50ZXJlc3QgUmVnaXN0cnkKK2dpdmVzCisKKy8vIGdpdmluZyA6IDIwMTQtMTEtMTMgUHVibGljIEludGVyZXN0IFJlZ2lzdHJ5CitnaXZpbmcKKworLy8gZ2xhc3MgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQworZ2xhc3MKKworLy8gZ2xlIDogMjAxNC0wNy0yNCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorZ2xlCisKKy8vIGdsb2JhbCA6IDIwMTQtMDQtMTcgRG90IEdsb2JhbCBEb21haW4gUmVnaXN0cnkgTGltaXRlZAorZ2xvYmFsCisKKy8vIGdsb2JvIDogMjAxMy0xMi0xOSBHbG9ibyBDb211bmljYcOnw6NvIGUgUGFydGljaXBhw6fDtWVzIFMuQQorZ2xvYm8KKworLy8gZ21haWwgOiAyMDE0LTA1LTAxIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitnbWFpbAorCisvLyBnbWJoIDogMjAxNi0wMS0yOSBCaW5reSBNb29uLCBMTEMKK2dtYmgKKworLy8gZ21vIDogMjAxNC0wMS0wOSBHTU8gSW50ZXJuZXQsIEluYy4KK2dtbworCisvLyBnbXggOiAyMDE0LTA0LTI0IDEmMSBNYWlsICYgTWVkaWEgR21iSAorZ214CisKKy8vIGdvZGFkZHkgOiAyMDE1LTA3LTIzIEdvIERhZGR5IEVhc3QsIExMQworZ29kYWRkeQorCisvLyBnb2xkIDogMjAxNS0wMS0yMiBCaW5reSBNb29uLCBMTEMKK2dvbGQKKworLy8gZ29sZHBvaW50IDogMjAxNC0xMS0yMCBZT0RPQkFTSEkgQ0FNRVJBIENPLixMVEQuCitnb2xkcG9pbnQKKworLy8gZ29sZiA6IDIwMTQtMTItMTggQmlua3kgTW9vbiwgTExDCitnb2xmCisKKy8vIGdvbyA6IDIwMTQtMTItMTggTlRUIFJlc29uYW50IEluYy4KK2dvbworCisvLyBnb29keWVhciA6IDIwMTUtMDctMDIgVGhlIEdvb2R5ZWFyIFRpcmUgJiBSdWJiZXIgQ29tcGFueQorZ29vZHllYXIKKworLy8gZ29vZyA6IDIwMTQtMTEtMjAgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK2dvb2cKKworLy8gZ29vZ2xlIDogMjAxNC0wNy0yNCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorZ29vZ2xlCisKKy8vIGdvcCA6IDIwMTQtMDEtMTYgUmVwdWJsaWNhbiBTdGF0ZSBMZWFkZXJzaGlwIENvbW1pdHRlZSwgSW5jLgorZ29wCisKKy8vIGdvdCA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitnb3QKKworLy8gZ3JhaW5nZXIgOiAyMDE1LTA1LTA3IEdyYWluZ2VyIFJlZ2lzdHJ5IFNlcnZpY2VzLCBMTEMKK2dyYWluZ2VyCisKKy8vIGdyYXBoaWNzIDogMjAxMy0wOS0xMyBCaW5reSBNb29uLCBMTEMKK2dyYXBoaWNzCisKKy8vIGdyYXRpcyA6IDIwMTQtMDMtMjAgQmlua3kgTW9vbiwgTExDCitncmF0aXMKKworLy8gZ3JlZW4gOiAyMDE0LTA1LTA4IElkZW50aXR5IERpZ2l0YWwgTGltaXRlZAorZ3JlZW4KKworLy8gZ3JpcGUgOiAyMDE0LTAzLTA2IEJpbmt5IE1vb24sIExMQworZ3JpcGUKKworLy8gZ3JvY2VyeSA6IDIwMTYtMDYtMTYgV2FsLU1hcnQgU3RvcmVzLCBJbmMuCitncm9jZXJ5CisKKy8vIGdyb3VwIDogMjAxNC0wOC0xNSBCaW5reSBNb29uLCBMTEMKK2dyb3VwCisKKy8vIGd1YXJkaWFuIDogMjAxNS0wNy0zMCBUaGUgR3VhcmRpYW4gTGlmZSBJbnN1cmFuY2UgQ29tcGFueSBvZiBBbWVyaWNhCitndWFyZGlhbgorCisvLyBndWNjaSA6IDIwMTQtMTEtMTMgR3VjY2lvIEd1Y2NpIFMucC5hLgorZ3VjY2kKKworLy8gZ3VnZSA6IDIwMTQtMDgtMjggQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK2d1Z2UKKworLy8gZ3VpZGUgOiAyMDEzLTA5LTEzIEJpbmt5IE1vb24sIExMQworZ3VpZGUKKworLy8gZ3VpdGFycyA6IDIwMTMtMTEtMTQgWFlaLkNPTSBMTEMKK2d1aXRhcnMKKworLy8gZ3VydSA6IDIwMTMtMDgtMjcgQmlua3kgTW9vbiwgTExDCitndXJ1CisKKy8vIGhhaXIgOiAyMDE1LTEyLTAzIFhZWi5DT00gTExDCitoYWlyCisKKy8vIGhhbWJ1cmcgOiAyMDE0LTAyLTIwIEhhbWJ1cmcgVG9wLUxldmVsLURvbWFpbiBHbWJICitoYW1idXJnCisKKy8vIGhhbmdvdXQgOiAyMDE0LTExLTEzIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitoYW5nb3V0CisKKy8vIGhhdXMgOiAyMDEzLTEyLTA1IERvZyBCZWFjaCwgTExDCitoYXVzCisKKy8vIGhibyA6IDIwMTUtMDctMzAgSEJPIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitoYm8KKworLy8gaGRmYyA6IDIwMTUtMDctMzAgSE9VU0lORyBERVZFTE9QTUVOVCBGSU5BTkNFIENPUlBPUkFUSU9OIExJTUlURUQKK2hkZmMKKworLy8gaGRmY2JhbmsgOiAyMDE1LTAyLTEyIEhERkMgQmFuayBMaW1pdGVkCitoZGZjYmFuaworCisvLyBoZWFsdGggOiAyMDE1LTAyLTExIERvdEhlYWx0aCwgTExDCitoZWFsdGgKKworLy8gaGVhbHRoY2FyZSA6IDIwMTQtMDYtMTIgQmlua3kgTW9vbiwgTExDCitoZWFsdGhjYXJlCisKKy8vIGhlbHAgOiAyMDE0LTA2LTI2IElubm92YXRpb24gc2VydmljZSBMaW1pdGVkCitoZWxwCisKKy8vIGhlbHNpbmtpIDogMjAxNS0wMi0wNSBDaXR5IG9mIEhlbHNpbmtpCitoZWxzaW5raQorCisvLyBoZXJlIDogMjAxNC0wMi0wNiBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgoraGVyZQorCisvLyBoZXJtZXMgOiAyMDE0LTA3LTEwIEhFUk1FUyBJTlRFUk5BVElPTkFMCitoZXJtZXMKKworLy8gaGd0diA6IDIwMTUtMDctMDIgTGlmZXN0eWxlIERvbWFpbiBIb2xkaW5ncywgSW5jLgoraGd0dgorCisvLyBoaXBob3AgOiAyMDE0LTAzLTA2IERvdCBIaXAgSG9wLCBMTEMKK2hpcGhvcAorCisvLyBoaXNhbWl0c3UgOiAyMDE1LTA3LTE2IEhpc2FtaXRzdSBQaGFybWFjZXV0aWNhbCBDby4sSW5jLgoraGlzYW1pdHN1CisKKy8vIGhpdGFjaGkgOiAyMDE0LTEwLTMxIEhpdGFjaGksIEx0ZC4KK2hpdGFjaGkKKworLy8gaGl2IDogMjAxNC0wMy0xMyBJbnRlcm5ldCBOYW1pbmcgQ29tcGFueSBMTEMKK2hpdgorCisvLyBoa3QgOiAyMDE1LTA1LTE0IFBDQ1ctSEtUIERhdGFDb20gU2VydmljZXMgTGltaXRlZAoraGt0CisKKy8vIGhvY2tleSA6IDIwMTUtMDMtMTkgQmlua3kgTW9vbiwgTExDCitob2NrZXkKKworLy8gaG9sZGluZ3MgOiAyMDEzLTA4LTI3IEJpbmt5IE1vb24sIExMQworaG9sZGluZ3MKKworLy8gaG9saWRheSA6IDIwMTMtMTEtMDcgQmlua3kgTW9vbiwgTExDCitob2xpZGF5CisKKy8vIGhvbWVkZXBvdCA6IDIwMTUtMDQtMDIgSG9tZSBEZXBvdCBQcm9kdWN0IEF1dGhvcml0eSwgTExDCitob21lZGVwb3QKKworLy8gaG9tZWdvb2RzIDogMjAxNS0wNy0xNiBUaGUgVEpYIENvbXBhbmllcywgSW5jLgoraG9tZWdvb2RzCisKKy8vIGhvbWVzIDogMjAxNC0wMS0wOSBYWVouQ09NIExMQworaG9tZXMKKworLy8gaG9tZXNlbnNlIDogMjAxNS0wNy0xNiBUaGUgVEpYIENvbXBhbmllcywgSW5jLgoraG9tZXNlbnNlCisKKy8vIGhvbmRhIDogMjAxNC0xMi0xOCBIb25kYSBNb3RvciBDby4sIEx0ZC4KK2hvbmRhCisKKy8vIGhvcnNlIDogMjAxMy0xMS0yMSBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitob3JzZQorCisvLyBob3NwaXRhbCA6IDIwMTYtMTAtMjAgQmlua3kgTW9vbiwgTExDCitob3NwaXRhbAorCisvLyBob3N0IDogMjAxNC0wNC0xNyBSYWRpeCBGWkMKK2hvc3QKKworLy8gaG9zdGluZyA6IDIwMTQtMDUtMjkgWFlaLkNPTSBMTEMKK2hvc3RpbmcKKworLy8gaG90IDogMjAxNS0wOC0yNyBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2hvdAorCisvLyBob3RlbGVzIDogMjAxNS0wMy0wNSBUcmF2ZWwgUmVzZXJ2YXRpb25zIFNSTAoraG90ZWxlcworCisvLyBob3RlbHMgOiAyMDE2LTA0LTA3IEJvb2tpbmcuY29tIEIuVi4KK2hvdGVscworCisvLyBob3RtYWlsIDogMjAxNC0xMi0xOCBNaWNyb3NvZnQgQ29ycG9yYXRpb24KK2hvdG1haWwKKworLy8gaG91c2UgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQworaG91c2UKKworLy8gaG93IDogMjAxNC0wMS0yMyBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgoraG93CisKKy8vIGhzYmMgOiAyMDE0LTEwLTI0IEhTQkMgR2xvYmFsIFNlcnZpY2VzIChVSykgTGltaXRlZAoraHNiYworCisvLyBodWdoZXMgOiAyMDE1LTA3LTMwIEh1Z2hlcyBTYXRlbGxpdGUgU3lzdGVtcyBDb3Jwb3JhdGlvbgoraHVnaGVzCisKKy8vIGh5YXR0IDogMjAxNS0wNy0zMCBIeWF0dCBHVExELCBMLkwuQy4KK2h5YXR0CisKKy8vIGh5dW5kYWkgOiAyMDE1LTA3LTA5IEh5dW5kYWkgTW90b3IgQ29tcGFueQoraHl1bmRhaQorCisvLyBpYm0gOiAyMDE0LTA3LTMxIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24KK2libQorCisvLyBpY2JjIDogMjAxNS0wMi0xOSBJbmR1c3RyaWFsIGFuZCBDb21tZXJjaWFsIEJhbmsgb2YgQ2hpbmEgTGltaXRlZAoraWNiYworCisvLyBpY2UgOiAyMDE0LTEwLTMwIEludGVyY29udGluZW50YWxFeGNoYW5nZSwgSW5jLgoraWNlCisKKy8vIGljdSA6IDIwMTUtMDEtMDggU2hvcnREb3QgU0EKK2ljdQorCisvLyBpZWVlIDogMjAxNS0wNy0yMyBJRUVFIEdsb2JhbCBMTEMKK2llZWUKKworLy8gaWZtIDogMjAxNC0wMS0zMCBpZm0gZWxlY3Ryb25pYyBnbWJoCitpZm0KKworLy8gaWthbm8gOiAyMDE1LTA3LTA5IElrYW5vIFMuQS4KK2lrYW5vCisKKy8vIGltYW1hdCA6IDIwMTUtMDgtMDYgRm9uZGF0aW9uIEFnYSBLaGFuIChBZ2EgS2hhbiBGb3VuZGF0aW9uKQoraW1hbWF0CisKKy8vIGltZGIgOiAyMDE1LTA2LTI1IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgoraW1kYgorCisvLyBpbW1vIDogMjAxNC0wNy0xMCBCaW5reSBNb29uLCBMTEMKK2ltbW8KKworLy8gaW1tb2JpbGllbiA6IDIwMTMtMTEtMDcgRG9nIEJlYWNoLCBMTEMKK2ltbW9iaWxpZW4KKworLy8gaW5jIDogMjAxOC0wMy0xMCBJbnRlcmNhcCBSZWdpc3RyeSBJbmMuCitpbmMKKworLy8gaW5kdXN0cmllcyA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCitpbmR1c3RyaWVzCisKKy8vIGluZmluaXRpIDogMjAxNC0wMy0yNyBOSVNTQU4gTU9UT1IgQ08uLCBMVEQuCitpbmZpbml0aQorCisvLyBpbmcgOiAyMDE0LTAxLTIzIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitpbmcKKworLy8gaW5rIDogMjAxMy0xMi0wNSBUb3AgTGV2ZWwgRGVzaWduLCBMTEMKK2luaworCisvLyBpbnN0aXR1dGUgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQworaW5zdGl0dXRlCisKKy8vIGluc3VyYW5jZSA6IDIwMTUtMDItMTkgZlRMRCBSZWdpc3RyeSBTZXJ2aWNlcyBMTEMKK2luc3VyYW5jZQorCisvLyBpbnN1cmUgOiAyMDE0LTAzLTIwIEJpbmt5IE1vb24sIExMQworaW5zdXJlCisKKy8vIGludGVybmF0aW9uYWwgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQworaW50ZXJuYXRpb25hbAorCisvLyBpbnR1aXQgOiAyMDE1LTA3LTMwIEludHVpdCBBZG1pbmlzdHJhdGl2ZSBTZXJ2aWNlcywgSW5jLgoraW50dWl0CisKKy8vIGludmVzdG1lbnRzIDogMjAxNC0wMy0yMCBCaW5reSBNb29uLCBMTEMKK2ludmVzdG1lbnRzCisKKy8vIGlwaXJhbmdhIDogMjAxNC0wOC0yOCBJcGlyYW5nYSBQcm9kdXRvcyBkZSBQZXRyb2xlbyBTLkEuCitpcGlyYW5nYQorCisvLyBpcmlzaCA6IDIwMTQtMDgtMDcgQmlua3kgTW9vbiwgTExDCitpcmlzaAorCisvLyBpc21haWxpIDogMjAxNS0wOC0wNiBGb25kYXRpb24gQWdhIEtoYW4gKEFnYSBLaGFuIEZvdW5kYXRpb24pCitpc21haWxpCisKKy8vIGlzdCA6IDIwMTQtMDgtMjggSXN0YW5idWwgTWV0cm9wb2xpdGFuIE11bmljaXBhbGl0eQoraXN0CisKKy8vIGlzdGFuYnVsIDogMjAxNC0wOC0yOCBJc3RhbmJ1bCBNZXRyb3BvbGl0YW4gTXVuaWNpcGFsaXR5Citpc3RhbmJ1bAorCisvLyBpdGF1IDogMjAxNC0xMC0wMiBJdGF1IFVuaWJhbmNvIEhvbGRpbmcgUy5BLgoraXRhdQorCisvLyBpdHYgOiAyMDE1LTA3LTA5IElUViBTZXJ2aWNlcyBMaW1pdGVkCitpdHYKKworLy8gamFndWFyIDogMjAxNC0xMS0xMyBKYWd1YXIgTGFuZCBSb3ZlciBMdGQKK2phZ3VhcgorCisvLyBqYXZhIDogMjAxNC0wNi0xOSBPcmFjbGUgQ29ycG9yYXRpb24KK2phdmEKKworLy8gamNiIDogMjAxNC0xMS0yMCBKQ0IgQ28uLCBMdGQuCitqY2IKKworLy8gamVlcCA6IDIwMTUtMDctMzAgRkNBIFVTIExMQy4KK2plZXAKKworLy8gamV0enQgOiAyMDE0LTAxLTA5IEJpbmt5IE1vb24sIExMQworamV0enQKKworLy8gamV3ZWxyeSA6IDIwMTUtMDMtMDUgQmlua3kgTW9vbiwgTExDCitqZXdlbHJ5CisKKy8vIGppbyA6IDIwMTUtMDQtMDIgUmVsaWFuY2UgSW5kdXN0cmllcyBMaW1pdGVkCitqaW8KKworLy8gamxsIDogMjAxNS0wNC0wMiBKb25lcyBMYW5nIExhU2FsbGUgSW5jb3Jwb3JhdGVkCitqbGwKKworLy8gam1wIDogMjAxNS0wMy0yNiBNYXRyaXggSVAgTExDCitqbXAKKworLy8gam5qIDogMjAxNS0wNi0xOCBKb2huc29uICYgSm9obnNvbiBTZXJ2aWNlcywgSW5jLgoram5qCisKKy8vIGpvYnVyZyA6IDIwMTQtMDMtMjQgWkEgQ2VudHJhbCBSZWdpc3RyeSBOUEMgdHJhZGluZyBhcyBaQSBDZW50cmFsIFJlZ2lzdHJ5Citqb2J1cmcKKworLy8gam90IDogMjAxNC0xMi0xOCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2pvdAorCisvLyBqb3kgOiAyMDE0LTEyLTE4IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgoram95CisKKy8vIGpwbW9yZ2FuIDogMjAxNS0wNC0zMCBKUE1vcmdhbiBDaGFzZSBCYW5rLCBOYXRpb25hbCBBc3NvY2lhdGlvbgoranBtb3JnYW4KKworLy8ganBycyA6IDIwMTQtMDktMTggSmFwYW4gUmVnaXN0cnkgU2VydmljZXMgQ28uLCBMdGQuCitqcHJzCisKKy8vIGp1ZWdvcyA6IDIwMTQtMDMtMjAgSW50ZXJuZXQgTmFtaW5nIENvbXBhbnkgTExDCitqdWVnb3MKKworLy8ganVuaXBlciA6IDIwMTUtMDctMzAgSlVOSVBFUiBORVRXT1JLUywgSU5DLgoranVuaXBlcgorCisvLyBrYXVmZW4gOiAyMDEzLTExLTA3IERvZyBCZWFjaCwgTExDCitrYXVmZW4KKworLy8ga2RkaSA6IDIwMTQtMDktMTIgS0RESSBDT1JQT1JBVElPTgora2RkaQorCisvLyBrZXJyeWhvdGVscyA6IDIwMTUtMDQtMzAgS2VycnkgVHJhZGluZyBDby4gTGltaXRlZAora2Vycnlob3RlbHMKKworLy8ga2Vycnlsb2dpc3RpY3MgOiAyMDE1LTA0LTA5IEtlcnJ5IFRyYWRpbmcgQ28uIExpbWl0ZWQKK2tlcnJ5bG9naXN0aWNzCisKKy8vIGtlcnJ5cHJvcGVydGllcyA6IDIwMTUtMDQtMDkgS2VycnkgVHJhZGluZyBDby4gTGltaXRlZAora2Vycnlwcm9wZXJ0aWVzCisKKy8vIGtmaCA6IDIwMTQtMTItMDQgS3V3YWl0IEZpbmFuY2UgSG91c2UKK2tmaAorCisvLyBraWEgOiAyMDE1LTA3LTA5IEtJQSBNT1RPUlMgQ09SUE9SQVRJT04KK2tpYQorCisvLyBraWRzIDogMjAyMS0wOC0xMyBEb3RLaWRzIEZvdW5kYXRpb24gTGltaXRlZAora2lkcworCisvLyBraW0gOiAyMDEzLTA5LTIzIElkZW50aXR5IERpZ2l0YWwgTGltaXRlZAora2ltCisKKy8vIGtpbmRlciA6IDIwMTQtMTEtMDcgRmVycmVybyBUcmFkaW5nIEx1eCBTLkEuCitraW5kZXIKKworLy8ga2luZGxlIDogMjAxNS0wNi0yNSBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2tpbmRsZQorCisvLyBraXRjaGVuIDogMjAxMy0wOS0yMCBCaW5reSBNb29uLCBMTEMKK2tpdGNoZW4KKworLy8ga2l3aSA6IDIwMTMtMDktMjAgRE9UIEtJV0kgTElNSVRFRAora2l3aQorCisvLyBrb2VsbiA6IDIwMTQtMDEtMDkgZG90S29lbG4gR21iSAora29lbG4KKworLy8ga29tYXRzdSA6IDIwMTUtMDEtMDggS29tYXRzdSBMdGQuCitrb21hdHN1CisKKy8vIGtvc2hlciA6IDIwMTUtMDgtMjAgS29zaGVyIE1hcmtldGluZyBBc3NldHMgTExDCitrb3NoZXIKKworLy8ga3BtZyA6IDIwMTUtMDQtMjMgS1BNRyBJbnRlcm5hdGlvbmFsIENvb3BlcmF0aXZlIChLUE1HIEludGVybmF0aW9uYWwgR2Vub3NzZW5zY2hhZnQpCitrcG1nCisKKy8vIGtwbiA6IDIwMTUtMDEtMDggS29uaW5rbGlqa2UgS1BOIE4uVi4KK2twbgorCisvLyBrcmQgOiAyMDEzLTEyLTA1IEtSRyBEZXBhcnRtZW50IG9mIEluZm9ybWF0aW9uIFRlY2hub2xvZ3kKK2tyZAorCisvLyBrcmVkIDogMjAxMy0xMi0xOSBLcmVkVExEIFB0eSBMdGQKK2tyZWQKKworLy8ga3Vva2dyb3VwIDogMjAxNS0wNC0wOSBLZXJyeSBUcmFkaW5nIENvLiBMaW1pdGVkCitrdW9rZ3JvdXAKKworLy8ga3lvdG8gOiAyMDE0LTExLTA3IEFjYWRlbWljIEluc3RpdHV0aW9uOiBLeW90byBKeW9obyBHYWt1ZW4KK2t5b3RvCisKKy8vIGxhY2FpeGEgOiAyMDE0LTAxLTA5IEZ1bmRhY2nDs24gQmFuY2FyaWEgQ2FpeGEgZOKAmUVzdGFsdmlzIGkgUGVuc2lvbnMgZGUgQmFyY2Vsb25hLCDigJxsYSBDYWl4YeKAnQorbGFjYWl4YQorCisvLyBsYW1ib3JnaGluaSA6IDIwMTUtMDYtMDQgQXV0b21vYmlsaSBMYW1ib3JnaGluaSBTLnAuQS4KK2xhbWJvcmdoaW5pCisKKy8vIGxhbWVyIDogMjAxNS0xMC0wMSBUaGUgRXN0w6llIExhdWRlciBDb21wYW5pZXMgSW5jLgorbGFtZXIKKworLy8gbGFuY2FzdGVyIDogMjAxNS0wMi0xMiBMQU5DQVNURVIKK2xhbmNhc3RlcgorCisvLyBsYW5jaWEgOiAyMDE1LTA3LTMxIEZpYXQgQ2hyeXNsZXIgQXV0b21vYmlsZXMgTi5WLgorbGFuY2lhCisKKy8vIGxhbmQgOiAyMDEzLTA5LTEwIEJpbmt5IE1vb24sIExMQworbGFuZAorCisvLyBsYW5kcm92ZXIgOiAyMDE0LTExLTEzIEphZ3VhciBMYW5kIFJvdmVyIEx0ZAorbGFuZHJvdmVyCisKKy8vIGxhbnhlc3MgOiAyMDE1LTA3LTMwIExBTlhFU1MgQ29ycG9yYXRpb24KK2xhbnhlc3MKKworLy8gbGFzYWxsZSA6IDIwMTUtMDQtMDIgSm9uZXMgTGFuZyBMYVNhbGxlIEluY29ycG9yYXRlZAorbGFzYWxsZQorCisvLyBsYXQgOiAyMDE0LTEwLTE2IFhZWi5DT00gTExDCitsYXQKKworLy8gbGF0aW5vIDogMjAxNS0wNy0zMCBEaXNoIERCUyBDb3Jwb3JhdGlvbgorbGF0aW5vCisKKy8vIGxhdHJvYmUgOiAyMDE0LTA2LTE2IExhIFRyb2JlIFVuaXZlcnNpdHkKK2xhdHJvYmUKKworLy8gbGF3IDogMjAxNS0wMS0yMiBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitsYXcKKworLy8gbGF3eWVyIDogMjAxNC0wMy0yMCBEb2cgQmVhY2gsIExMQworbGF3eWVyCisKKy8vIGxkcyA6IDIwMTQtMDMtMjAgSVJJIERvbWFpbiBNYW5hZ2VtZW50LCBMTEMKK2xkcworCisvLyBsZWFzZSA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitsZWFzZQorCisvLyBsZWNsZXJjIDogMjAxNC0wOC0wNyBBLkMuRC4gTEVDIEFzc29jaWF0aW9uIGRlcyBDZW50cmVzIERpc3RyaWJ1dGV1cnMgRWRvdWFyZCBMZWNsZXJjCitsZWNsZXJjCisKKy8vIGxlZnJhayA6IDIwMTUtMDctMTYgTGVGcmFrIE9yZ2FuaXphdGlvbiwgSW5jLgorbGVmcmFrCisKKy8vIGxlZ2FsIDogMjAxNC0xMC0xNiBCaW5reSBNb29uLCBMTEMKK2xlZ2FsCisKKy8vIGxlZ28gOiAyMDE1LTA3LTE2IExFR08gSnVyaXMgQS9TCitsZWdvCisKKy8vIGxleHVzIDogMjAxNS0wNC0yMyBUT1lPVEEgTU9UT1IgQ09SUE9SQVRJT04KK2xleHVzCisKKy8vIGxnYnQgOiAyMDE0LTA1LTA4IElkZW50aXR5IERpZ2l0YWwgTGltaXRlZAorbGdidAorCisvLyBsaWRsIDogMjAxNC0wOS0xOCBTY2h3YXJ6IERvbWFpbnMgdW5kIFNlcnZpY2VzIEdtYkggJiBDby4gS0cKK2xpZGwKKworLy8gbGlmZSA6IDIwMTQtMDItMDYgQmlua3kgTW9vbiwgTExDCitsaWZlCisKKy8vIGxpZmVpbnN1cmFuY2UgOiAyMDE1LTAxLTE1IEFtZXJpY2FuIENvdW5jaWwgb2YgTGlmZSBJbnN1cmVycworbGlmZWluc3VyYW5jZQorCisvLyBsaWZlc3R5bGUgOiAyMDE0LTEyLTExIExpZmVzdHlsZSBEb21haW4gSG9sZGluZ3MsIEluYy4KK2xpZmVzdHlsZQorCisvLyBsaWdodGluZyA6IDIwMTMtMDgtMjcgQmlua3kgTW9vbiwgTExDCitsaWdodGluZworCisvLyBsaWtlIDogMjAxNC0xMi0xOCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK2xpa2UKKworLy8gbGlsbHkgOiAyMDE1LTA3LTMxIEVsaSBMaWxseSBhbmQgQ29tcGFueQorbGlsbHkKKworLy8gbGltaXRlZCA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitsaW1pdGVkCisKKy8vIGxpbW8gOiAyMDEzLTEwLTE3IEJpbmt5IE1vb24sIExMQworbGltbworCisvLyBsaW5jb2xuIDogMjAxNC0xMS0xMyBGb3JkIE1vdG9yIENvbXBhbnkKK2xpbmNvbG4KKworLy8gbGluZGUgOiAyMDE0LTEyLTA0IExpbmRlIEFrdGllbmdlc2VsbHNjaGFmdAorbGluZGUKKworLy8gbGluayA6IDIwMTMtMTEtMTQgTm92YSBSZWdpc3RyeSBMdGQKK2xpbmsKKworLy8gbGlwc3kgOiAyMDE1LTA2LTI1IExpcHN5IEx0ZAorbGlwc3kKKworLy8gbGl2ZSA6IDIwMTQtMTItMDQgRG9nIEJlYWNoLCBMTEMKK2xpdmUKKworLy8gbGl2aW5nIDogMjAxNS0wNy0zMCBMaWZlc3R5bGUgRG9tYWluIEhvbGRpbmdzLCBJbmMuCitsaXZpbmcKKworLy8gbGxjIDogMjAxNy0xMi0xNCBJZGVudGl0eSBEaWdpdGFsIExpbWl0ZWQKK2xsYworCisvLyBsbHAgOiAyMDE5LTA4LTI2IEludGVyY2FwIFJlZ2lzdHJ5IEluYy4KK2xscAorCisvLyBsb2FuIDogMjAxNC0xMS0yMCBkb3QgTG9hbiBMaW1pdGVkCitsb2FuCisKKy8vIGxvYW5zIDogMjAxNC0wMy0yMCBCaW5reSBNb29uLCBMTEMKK2xvYW5zCisKKy8vIGxvY2tlciA6IDIwMTUtMDYtMDQgRGlzaCBEQlMgQ29ycG9yYXRpb24KK2xvY2tlcgorCisvLyBsb2N1cyA6IDIwMTUtMDYtMjUgTG9jdXMgQW5hbHl0aWNzIExMQworbG9jdXMKKworLy8gbG9mdCA6IDIwMTUtMDctMzAgQW5uY28sIEluYy4KK2xvZnQKKworLy8gbG9sIDogMjAxNS0wMS0zMCBYWVouQ09NIExMQworbG9sCisKKy8vIGxvbmRvbiA6IDIwMTMtMTEtMTQgRG90IExvbmRvbiBEb21haW5zIExpbWl0ZWQKK2xvbmRvbgorCisvLyBsb3R0ZSA6IDIwMTQtMTEtMDcgTG90dGUgSG9sZGluZ3MgQ28uLCBMdGQuCitsb3R0ZQorCisvLyBsb3R0byA6IDIwMTQtMDQtMTAgSWRlbnRpdHkgRGlnaXRhbCBMaW1pdGVkCitsb3R0bworCisvLyBsb3ZlIDogMjAxNC0xMi0yMiBNZXJjaGFudCBMYXcgR3JvdXAgTExQCitsb3ZlCisKKy8vIGxwbCA6IDIwMTUtMDctMzAgTFBMIEhvbGRpbmdzLCBJbmMuCitscGwKKworLy8gbHBsZmluYW5jaWFsIDogMjAxNS0wNy0zMCBMUEwgSG9sZGluZ3MsIEluYy4KK2xwbGZpbmFuY2lhbAorCisvLyBsdGQgOiAyMDE0LTA5LTI1IEJpbmt5IE1vb24sIExMQworbHRkCisKKy8vIGx0ZGEgOiAyMDE0LTA0LTE3IEludGVyTmV0WCwgQ29ycAorbHRkYQorCisvLyBsdW5kYmVjayA6IDIwMTUtMDgtMDYgSC4gTHVuZGJlY2sgQS9TCitsdW5kYmVjaworCisvLyBsdXhlIDogMjAxNC0wMS0wOSBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitsdXhlCisKKy8vIGx1eHVyeSA6IDIwMTMtMTAtMTcgTHV4dXJ5IFBhcnRuZXJzLCBMTEMKK2x1eHVyeQorCisvLyBtYWN5cyA6IDIwMTUtMDctMzEgTWFjeXMsIEluYy4KK21hY3lzCisKKy8vIG1hZHJpZCA6IDIwMTQtMDUtMDEgQ29tdW5pZGFkIGRlIE1hZHJpZAorbWFkcmlkCisKKy8vIG1haWYgOiAyMDE0LTEwLTAyIE11dHVlbGxlIEFzc3VyYW5jZSBJbnN0aXR1dGV1ciBGcmFuY2UgKE1BSUYpCittYWlmCisKKy8vIG1haXNvbiA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCittYWlzb24KKworLy8gbWFrZXVwIDogMjAxNS0wMS0xNSBYWVouQ09NIExMQworbWFrZXVwCisKKy8vIG1hbiA6IDIwMTQtMTItMDQgTUFOIFNFCittYW4KKworLy8gbWFuYWdlbWVudCA6IDIwMTMtMTEtMDcgQmlua3kgTW9vbiwgTExDCittYW5hZ2VtZW50CisKKy8vIG1hbmdvIDogMjAxMy0xMC0yNCBQVU5UTyBGQSBTLkwuCittYW5nbworCisvLyBtYXAgOiAyMDE2LTA2LTA5IENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCittYXAKKworLy8gbWFya2V0IDogMjAxNC0wMy0wNiBEb2cgQmVhY2gsIExMQworbWFya2V0CisKKy8vIG1hcmtldGluZyA6IDIwMTMtMTEtMDcgQmlua3kgTW9vbiwgTExDCittYXJrZXRpbmcKKworLy8gbWFya2V0cyA6IDIwMTQtMTItMTEgRG9nIEJlYWNoLCBMTEMKK21hcmtldHMKKworLy8gbWFycmlvdHQgOiAyMDE0LTEwLTA5IE1hcnJpb3R0IFdvcmxkd2lkZSBDb3Jwb3JhdGlvbgorbWFycmlvdHQKKworLy8gbWFyc2hhbGxzIDogMjAxNS0wNy0xNiBUaGUgVEpYIENvbXBhbmllcywgSW5jLgorbWFyc2hhbGxzCisKKy8vIG1hc2VyYXRpIDogMjAxNS0wNy0zMSBGaWF0IENocnlzbGVyIEF1dG9tb2JpbGVzIE4uVi4KK21hc2VyYXRpCisKKy8vIG1hdHRlbCA6IDIwMTUtMDgtMDYgTWF0dGVsIFNpdGVzLCBJbmMuCittYXR0ZWwKKworLy8gbWJhIDogMjAxNS0wNC0wMiBCaW5reSBNb29uLCBMTEMKK21iYQorCisvLyBtY2tpbnNleSA6IDIwMTUtMDctMzEgTWNLaW5zZXkgSG9sZGluZ3MsIEluYy4KK21ja2luc2V5CisKKy8vIG1lZCA6IDIwMTUtMDgtMDYgTWVkaXN0cnkgTExDCittZWQKKworLy8gbWVkaWEgOiAyMDE0LTAzLTA2IEJpbmt5IE1vb24sIExMQworbWVkaWEKKworLy8gbWVldCA6IDIwMTQtMDEtMTYgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK21lZXQKKworLy8gbWVsYm91cm5lIDogMjAxNC0wNS0yOSBUaGUgQ3Jvd24gaW4gcmlnaHQgb2YgdGhlIFN0YXRlIG9mIFZpY3RvcmlhLCByZXByZXNlbnRlZCBieSBpdHMgRGVwYXJ0bWVudCBvZiBTdGF0ZSBEZXZlbG9wbWVudCwgQnVzaW5lc3MgYW5kIElubm92YXRpb24KK21lbGJvdXJuZQorCisvLyBtZW1lIDogMjAxNC0wMS0zMCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorbWVtZQorCisvLyBtZW1vcmlhbCA6IDIwMTQtMTAtMTYgRG9nIEJlYWNoLCBMTEMKK21lbW9yaWFsCisKKy8vIG1lbiA6IDIwMTUtMDItMjYgRXhjbHVzaXZlIFJlZ2lzdHJ5IExpbWl0ZWQKK21lbgorCisvLyBtZW51IDogMjAxMy0wOS0xMSBEb3QgTWVudSBSZWdpc3RyeSwgTExDCittZW51CisKKy8vIG1lcmNrbXNkIDogMjAxNi0wNy0xNCBNU0QgUmVnaXN0cnkgSG9sZGluZ3MsIEluYy4KK21lcmNrbXNkCisKKy8vIG1pYW1pIDogMjAxMy0xMi0xOSBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCittaWFtaQorCisvLyBtaWNyb3NvZnQgOiAyMDE0LTEyLTE4IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbgorbWljcm9zb2Z0CisKKy8vIG1pbmkgOiAyMDE0LTAxLTA5IEJheWVyaXNjaGUgTW90b3JlbiBXZXJrZSBBa3RpZW5nZXNlbGxzY2hhZnQKK21pbmkKKworLy8gbWludCA6IDIwMTUtMDctMzAgSW50dWl0IEFkbWluaXN0cmF0aXZlIFNlcnZpY2VzLCBJbmMuCittaW50CisKKy8vIG1pdCA6IDIwMTUtMDctMDIgTWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neQorbWl0CisKKy8vIG1pdHN1YmlzaGkgOiAyMDE1LTA3LTIzIE1pdHN1YmlzaGkgQ29ycG9yYXRpb24KK21pdHN1YmlzaGkKKworLy8gbWxiIDogMjAxNS0wNS0yMSBNTEIgQWR2YW5jZWQgTWVkaWEgREgsIExMQworbWxiCisKKy8vIG1scyA6IDIwMTUtMDQtMjMgVGhlIENhbmFkaWFuIFJlYWwgRXN0YXRlIEFzc29jaWF0aW9uCittbHMKKworLy8gbW1hIDogMjAxNC0xMS0wNyBNTUEgSUFSRAorbW1hCisKKy8vIG1vYmlsZSA6IDIwMTYtMDYtMDIgRGlzaCBEQlMgQ29ycG9yYXRpb24KK21vYmlsZQorCisvLyBtb2RhIDogMjAxMy0xMS0wNyBEb2cgQmVhY2gsIExMQworbW9kYQorCisvLyBtb2UgOiAyMDEzLTExLTEzIEludGVybGluayBTeXN0ZW1zIElubm92YXRpb24gSW5zdGl0dXRlIEsuSy4KK21vZQorCisvLyBtb2kgOiAyMDE0LTEyLTE4IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgorbW9pCisKKy8vIG1vbSA6IDIwMTUtMDQtMTYgWFlaLkNPTSBMTEMKK21vbQorCisvLyBtb25hc2ggOiAyMDEzLTA5LTMwIE1vbmFzaCBVbml2ZXJzaXR5Cittb25hc2gKKworLy8gbW9uZXkgOiAyMDE0LTEwLTE2IEJpbmt5IE1vb24sIExMQworbW9uZXkKKworLy8gbW9uc3RlciA6IDIwMTUtMDktMTEgWFlaLkNPTSBMTEMKK21vbnN0ZXIKKworLy8gbW9ybW9uIDogMjAxMy0xMi0wNSBJUkkgRG9tYWluIE1hbmFnZW1lbnQsIExMQworbW9ybW9uCisKKy8vIG1vcnRnYWdlIDogMjAxNC0wMy0yMCBEb2cgQmVhY2gsIExMQworbW9ydGdhZ2UKKworLy8gbW9zY293IDogMjAxMy0xMi0xOSBGb3VuZGF0aW9uIGZvciBBc3Npc3RhbmNlIGZvciBJbnRlcm5ldCBUZWNobm9sb2dpZXMgYW5kIEluZnJhc3RydWN0dXJlIERldmVsb3BtZW50IChGQUlUSUQpCittb3Njb3cKKworLy8gbW90byA6IDIwMTUtMDYtMDQgTW90b3JvbGEgVHJhZGVtYXJrIEhvbGRpbmdzLCBMTEMKK21vdG8KKworLy8gbW90b3JjeWNsZXMgOiAyMDE0LTAxLTA5IFhZWi5DT00gTExDCittb3RvcmN5Y2xlcworCisvLyBtb3YgOiAyMDE0LTAxLTMwIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCittb3YKKworLy8gbW92aWUgOiAyMDE1LTAyLTA1IEJpbmt5IE1vb24sIExMQworbW92aWUKKworLy8gbXNkIDogMjAxNS0wNy0yMyBNU0QgUmVnaXN0cnkgSG9sZGluZ3MsIEluYy4KK21zZAorCisvLyBtdG4gOiAyMDE0LTEyLTA0IE1UTiBEdWJhaSBMaW1pdGVkCittdG4KKworLy8gbXRyIDogMjAxNS0wMy0xMiBNVFIgQ29ycG9yYXRpb24gTGltaXRlZAorbXRyCisKKy8vIG11c2ljIDogMjAyMS0wNS0wNCBEb3RNdXNpYyBMaW1pdGVkCittdXNpYworCisvLyBtdXR1YWwgOiAyMDE1LTA0LTAyIE5vcnRod2VzdGVybiBNdXR1YWwgTVUgVExEIFJlZ2lzdHJ5LCBMTEMKK211dHVhbAorCisvLyBuYWIgOiAyMDE1LTA4LTIwIE5hdGlvbmFsIEF1c3RyYWxpYSBCYW5rIExpbWl0ZWQKK25hYgorCisvLyBuYWdveWEgOiAyMDEzLTEwLTI0IEdNTyBSZWdpc3RyeSwgSW5jLgorbmFnb3lhCisKKy8vIG5hdHVyYSA6IDIwMTUtMDMtMTIgTkFUVVJBIENPU03DiVRJQ09TIFMuQS4KK25hdHVyYQorCisvLyBuYXZ5IDogMjAxNC0wMy0wNiBEb2cgQmVhY2gsIExMQworbmF2eQorCisvLyBuYmEgOiAyMDE1LTA3LTMxIE5CQSBSRUdJU1RSWSwgTExDCituYmEKKworLy8gbmVjIDogMjAxNS0wMS0wOCBORUMgQ29ycG9yYXRpb24KK25lYworCisvLyBuZXRiYW5rIDogMjAxNC0wNi0yNiBDT01NT05XRUFMVEggQkFOSyBPRiBBVVNUUkFMSUEKK25ldGJhbmsKKworLy8gbmV0ZmxpeCA6IDIwMTUtMDYtMTggTmV0ZmxpeCwgSW5jLgorbmV0ZmxpeAorCisvLyBuZXR3b3JrIDogMjAxMy0xMS0xNCBCaW5reSBNb29uLCBMTEMKK25ldHdvcmsKKworLy8gbmV1c3RhciA6IDIwMTMtMTItMDUgTmV1U3RhciwgSW5jLgorbmV1c3RhcgorCisvLyBuZXcgOiAyMDE0LTAxLTMwIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCituZXcKKworLy8gbmV3cyA6IDIwMTQtMTItMTggRG9nIEJlYWNoLCBMTEMKK25ld3MKKworLy8gbmV4dCA6IDIwMTUtMDYtMTggTmV4dCBwbGMKK25leHQKKworLy8gbmV4dGRpcmVjdCA6IDIwMTUtMDYtMTggTmV4dCBwbGMKK25leHRkaXJlY3QKKworLy8gbmV4dXMgOiAyMDE0LTA3LTI0IENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCituZXh1cworCisvLyBuZmwgOiAyMDE1LTA3LTIzIE5GTCBSZWcgT3BzIExMQworbmZsCisKKy8vIG5nbyA6IDIwMTQtMDMtMDYgUHVibGljIEludGVyZXN0IFJlZ2lzdHJ5CituZ28KKworLy8gbmhrIDogMjAxNC0wMi0xMyBKYXBhbiBCcm9hZGNhc3RpbmcgQ29ycG9yYXRpb24gKE5ISykKK25oaworCisvLyBuaWNvIDogMjAxNC0xMi0wNCBEV0FOR08gQ28uLCBMdGQuCituaWNvCisKKy8vIG5pa2UgOiAyMDE1LTA3LTIzIE5JS0UsIEluYy4KK25pa2UKKworLy8gbmlrb24gOiAyMDE1LTA1LTIxIE5JS09OIENPUlBPUkFUSU9OCituaWtvbgorCisvLyBuaW5qYSA6IDIwMTMtMTEtMDcgRG9nIEJlYWNoLCBMTEMKK25pbmphCisKKy8vIG5pc3NhbiA6IDIwMTQtMDMtMjcgTklTU0FOIE1PVE9SIENPLiwgTFRELgorbmlzc2FuCisKKy8vIG5pc3NheSA6IDIwMTUtMTAtMjkgTmlwcG9uIExpZmUgSW5zdXJhbmNlIENvbXBhbnkKK25pc3NheQorCisvLyBub2tpYSA6IDIwMTUtMDEtMDggTm9raWEgQ29ycG9yYXRpb24KK25va2lhCisKKy8vIG5vcnRod2VzdGVybm11dHVhbCA6IDIwMTUtMDYtMTggTm9ydGh3ZXN0ZXJuIE11dHVhbCBSZWdpc3RyeSwgTExDCitub3J0aHdlc3Rlcm5tdXR1YWwKKworLy8gbm9ydG9uIDogMjAxNC0xMi0wNCBOb3J0b25MaWZlTG9jayBJbmMuCitub3J0b24KKworLy8gbm93IDogMjAxNS0wNi0yNSBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK25vdworCisvLyBub3dydXogOiAyMDE0LTA5LTA0IEFzaWEgR3JlZW4gSVQgU3lzdGVtIEJpbGdpc2F5YXIgU2FuLiB2ZSBUaWMuIEx0ZC4gU3RpLgorbm93cnV6CisKKy8vIG5vd3R2IDogMjAxNS0wNS0xNCBTdGFyYnVja3MgKEhLKSBMaW1pdGVkCitub3d0dgorCisvLyBucmEgOiAyMDE0LTA1LTIyIE5SQSBIb2xkaW5ncyBDb21wYW55LCBJTkMuCitucmEKKworLy8gbnJ3IDogMjAxMy0xMS0yMSBNaW5kcyArIE1hY2hpbmVzIEdtYkgKK25ydworCisvLyBudHQgOiAyMDE0LTEwLTMxIE5JUFBPTiBURUxFR1JBUEggQU5EIFRFTEVQSE9ORSBDT1JQT1JBVElPTgorbnR0CisKKy8vIG55YyA6IDIwMTQtMDEtMjMgVGhlIENpdHkgb2YgTmV3IFlvcmsgYnkgYW5kIHRocm91Z2ggdGhlIE5ldyBZb3JrIENpdHkgRGVwYXJ0bWVudCBvZiBJbmZvcm1hdGlvbiBUZWNobm9sb2d5ICYgVGVsZWNvbW11bmljYXRpb25zCitueWMKKworLy8gb2JpIDogMjAxNC0wOS0yNSBPQkkgR3JvdXAgSG9sZGluZyBTRSAmIENvLiBLR2FBCitvYmkKKworLy8gb2JzZXJ2ZXIgOiAyMDE1LTA0LTMwIERvZyBCZWFjaCwgTExDCitvYnNlcnZlcgorCisvLyBvZmZpY2UgOiAyMDE1LTAzLTEyIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbgorb2ZmaWNlCisKKy8vIG9raW5hd2EgOiAyMDEzLTEyLTA1IEJScmVnaXN0cnksIEluYy4KK29raW5hd2EKKworLy8gb2xheWFuIDogMjAxNS0wNS0xNCBDcmVzY2VudCBIb2xkaW5nIEdtYkgKK29sYXlhbgorCisvLyBvbGF5YW5ncm91cCA6IDIwMTUtMDUtMTQgQ3Jlc2NlbnQgSG9sZGluZyBHbWJICitvbGF5YW5ncm91cAorCisvLyBvbGRuYXZ5IDogMjAxNS0wNy0zMSBUaGUgR2FwLCBJbmMuCitvbGRuYXZ5CisKKy8vIG9sbG8gOiAyMDE1LTA2LTA0IERpc2ggREJTIENvcnBvcmF0aW9uCitvbGxvCisKKy8vIG9tZWdhIDogMjAxNS0wMS0wOCBUaGUgU3dhdGNoIEdyb3VwIEx0ZAorb21lZ2EKKworLy8gb25lIDogMjAxNC0xMS0wNyBPbmUuY29tIEEvUworb25lCisKKy8vIG9uZyA6IDIwMTQtMDMtMDYgUHVibGljIEludGVyZXN0IFJlZ2lzdHJ5CitvbmcKKworLy8gb25sIDogMjAxMy0wOS0xNiBpUmVnaXN0cnkgR21iSAorb25sCisKKy8vIG9ubGluZSA6IDIwMTUtMDEtMTUgUmFkaXggRlpDCitvbmxpbmUKKworLy8gb29vIDogMjAxNC0wMS0wOSBJTkZJQkVBTSBBVkVOVUVTIExJTUlURUQKK29vbworCisvLyBvcGVuIDogMjAxNS0wNy0zMSBBbWVyaWNhbiBFeHByZXNzIFRyYXZlbCBSZWxhdGVkIFNlcnZpY2VzIENvbXBhbnksIEluYy4KK29wZW4KKworLy8gb3JhY2xlIDogMjAxNC0wNi0xOSBPcmFjbGUgQ29ycG9yYXRpb24KK29yYWNsZQorCisvLyBvcmFuZ2UgOiAyMDE1LTAzLTEyIE9yYW5nZSBCcmFuZCBTZXJ2aWNlcyBMaW1pdGVkCitvcmFuZ2UKKworLy8gb3JnYW5pYyA6IDIwMTQtMDMtMjcgSWRlbnRpdHkgRGlnaXRhbCBMaW1pdGVkCitvcmdhbmljCisKKy8vIG9yaWdpbnMgOiAyMDE1LTEwLTAxIFRoZSBFc3TDqWUgTGF1ZGVyIENvbXBhbmllcyBJbmMuCitvcmlnaW5zCisKKy8vIG9zYWthIDogMjAxNC0wOS0wNCBPc2FrYSBSZWdpc3RyeSBDby4sIEx0ZC4KK29zYWthCisKKy8vIG90c3VrYSA6IDIwMTMtMTAtMTEgT3RzdWthIEhvbGRpbmdzIENvLiwgTHRkLgorb3RzdWthCisKKy8vIG90dCA6IDIwMTUtMDYtMDQgRGlzaCBEQlMgQ29ycG9yYXRpb24KK290dAorCisvLyBvdmggOiAyMDE0LTAxLTE2IE3DqWRpYUJDCitvdmgKKworLy8gcGFnZSA6IDIwMTQtMTItMDQgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK3BhZ2UKKworLy8gcGFuYXNvbmljIDogMjAxNS0wNy0zMCBQYW5hc29uaWMgQ29ycG9yYXRpb24KK3BhbmFzb25pYworCisvLyBwYXJpcyA6IDIwMTQtMDEtMzAgQ2l0eSBvZiBQYXJpcworcGFyaXMKKworLy8gcGFycyA6IDIwMTQtMDktMDQgQXNpYSBHcmVlbiBJVCBTeXN0ZW0gQmlsZ2lzYXlhciBTYW4uIHZlIFRpYy4gTHRkLiBTdGkuCitwYXJzCisKKy8vIHBhcnRuZXJzIDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK3BhcnRuZXJzCisKKy8vIHBhcnRzIDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK3BhcnRzCisKKy8vIHBhcnR5IDogMjAxNC0wOS0xMSBCbHVlIFNreSBSZWdpc3RyeSBMaW1pdGVkCitwYXJ0eQorCisvLyBwYXNzYWdlbnMgOiAyMDE1LTAzLTA1IFRyYXZlbCBSZXNlcnZhdGlvbnMgU1JMCitwYXNzYWdlbnMKKworLy8gcGF5IDogMjAxNS0wOC0yNyBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK3BheQorCisvLyBwY2N3IDogMjAxNS0wNS0xNCBQQ0NXIEVudGVycHJpc2VzIExpbWl0ZWQKK3BjY3cKKworLy8gcGV0IDogMjAxNS0wNS0wNyBJZGVudGl0eSBEaWdpdGFsIExpbWl0ZWQKK3BldAorCisvLyBwZml6ZXIgOiAyMDE1LTA5LTExIFBmaXplciBJbmMuCitwZml6ZXIKKworLy8gcGhhcm1hY3kgOiAyMDE0LTA2LTE5IE5hdGlvbmFsIEFzc29jaWF0aW9uIG9mIEJvYXJkcyBvZiBQaGFybWFjeQorcGhhcm1hY3kKKworLy8gcGhkIDogMjAxNi0wNy0yOCBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorcGhkCisKKy8vIHBoaWxpcHMgOiAyMDE0LTExLTA3IEtvbmlua2xpamtlIFBoaWxpcHMgTi5WLgorcGhpbGlwcworCisvLyBwaG9uZSA6IDIwMTYtMDYtMDIgRGlzaCBEQlMgQ29ycG9yYXRpb24KK3Bob25lCisKKy8vIHBob3RvIDogMjAxMy0xMS0xNCBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitwaG90bworCisvLyBwaG90b2dyYXBoeSA6IDIwMTMtMDktMjAgQmlua3kgTW9vbiwgTExDCitwaG90b2dyYXBoeQorCisvLyBwaG90b3MgOiAyMDEzLTEwLTE3IEJpbmt5IE1vb24sIExMQworcGhvdG9zCisKKy8vIHBoeXNpbyA6IDIwMTQtMDUtMDEgUGh5c0JpeiBQdHkgTHRkCitwaHlzaW8KKworLy8gcGljcyA6IDIwMTMtMTEtMTQgWFlaLkNPTSBMTEMKK3BpY3MKKworLy8gcGljdGV0IDogMjAxNC0wNi0yNiBQaWN0ZXQgRXVyb3BlIFMuQS4KK3BpY3RldAorCisvLyBwaWN0dXJlcyA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitwaWN0dXJlcworCisvLyBwaWQgOiAyMDE1LTAxLTA4IFRvcCBMZXZlbCBTcGVjdHJ1bSwgSW5jLgorcGlkCisKKy8vIHBpbiA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitwaW4KKworLy8gcGluZyA6IDIwMTUtMDYtMTEgUGluZyBSZWdpc3RyeSBQcm92aWRlciwgSW5jLgorcGluZworCisvLyBwaW5rIDogMjAxMy0xMC0wMSBJZGVudGl0eSBEaWdpdGFsIExpbWl0ZWQKK3BpbmsKKworLy8gcGlvbmVlciA6IDIwMTUtMDctMTYgUGlvbmVlciBDb3Jwb3JhdGlvbgorcGlvbmVlcgorCisvLyBwaXp6YSA6IDIwMTQtMDYtMjYgQmlua3kgTW9vbiwgTExDCitwaXp6YQorCisvLyBwbGFjZSA6IDIwMTQtMDQtMjQgQmlua3kgTW9vbiwgTExDCitwbGFjZQorCisvLyBwbGF5IDogMjAxNS0wMy0wNSBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgorcGxheQorCisvLyBwbGF5c3RhdGlvbiA6IDIwMTUtMDctMDIgU29ueSBJbnRlcmFjdGl2ZSBFbnRlcnRhaW5tZW50IEluYy4KK3BsYXlzdGF0aW9uCisKKy8vIHBsdW1iaW5nIDogMjAxMy0wOS0xMCBCaW5reSBNb29uLCBMTEMKK3BsdW1iaW5nCisKKy8vIHBsdXMgOiAyMDE1LTAyLTA1IEJpbmt5IE1vb24sIExMQworcGx1cworCisvLyBwbmMgOiAyMDE1LTA3LTAyIFBOQyBEb21haW4gQ28uLCBMTEMKK3BuYworCisvLyBwb2hsIDogMjAxNC0wNi0yMyBEZXV0c2NoZSBWZXJtw7ZnZW5zYmVyYXR1bmcgQWt0aWVuZ2VzZWxsc2NoYWZ0IERWQUcKK3BvaGwKKworLy8gcG9rZXIgOiAyMDE0LTA3LTAzIElkZW50aXR5IERpZ2l0YWwgTGltaXRlZAorcG9rZXIKKworLy8gcG9saXRpZSA6IDIwMTUtMDgtMjAgUG9saXRpZSBOZWRlcmxhbmQKK3BvbGl0aWUKKworLy8gcG9ybiA6IDIwMTQtMTAtMTYgSUNNIFJlZ2lzdHJ5IFBOIExMQworcG9ybgorCisvLyBwcmFtZXJpY2EgOiAyMDE1LTA3LTMwIFBydWRlbnRpYWwgRmluYW5jaWFsLCBJbmMuCitwcmFtZXJpY2EKKworLy8gcHJheGkgOiAyMDEzLTEyLTA1IFByYXhpIFMucC5BLgorcHJheGkKKworLy8gcHJlc3MgOiAyMDE0LTA0LTAzIFJhZGl4IEZaQworcHJlc3MKKworLy8gcHJpbWUgOiAyMDE1LTA2LTI1IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgorcHJpbWUKKworLy8gcHJvZCA6IDIwMTQtMDEtMjMgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK3Byb2QKKworLy8gcHJvZHVjdGlvbnMgOiAyMDEzLTEyLTA1IEJpbmt5IE1vb24sIExMQworcHJvZHVjdGlvbnMKKworLy8gcHJvZiA6IDIwMTQtMDctMjQgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK3Byb2YKKworLy8gcHJvZ3Jlc3NpdmUgOiAyMDE1LTA3LTIzIFByb2dyZXNzaXZlIENhc3VhbHR5IEluc3VyYW5jZSBDb21wYW55Citwcm9ncmVzc2l2ZQorCisvLyBwcm9tbyA6IDIwMTQtMTItMTggSWRlbnRpdHkgRGlnaXRhbCBMaW1pdGVkCitwcm9tbworCisvLyBwcm9wZXJ0aWVzIDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK3Byb3BlcnRpZXMKKworLy8gcHJvcGVydHkgOiAyMDE0LTA1LTIyIEludGVybmV0IE5hbWluZyBDb21wYW55IExMQworcHJvcGVydHkKKworLy8gcHJvdGVjdGlvbiA6IDIwMTUtMDQtMjMgWFlaLkNPTSBMTEMKK3Byb3RlY3Rpb24KKworLy8gcHJ1IDogMjAxNS0wNy0zMCBQcnVkZW50aWFsIEZpbmFuY2lhbCwgSW5jLgorcHJ1CisKKy8vIHBydWRlbnRpYWwgOiAyMDE1LTA3LTMwIFBydWRlbnRpYWwgRmluYW5jaWFsLCBJbmMuCitwcnVkZW50aWFsCisKKy8vIHB1YiA6IDIwMTMtMTItMTIgRG9nIEJlYWNoLCBMTEMKK3B1YgorCisvLyBwd2MgOiAyMDE1LTEwLTI5IFByaWNld2F0ZXJob3VzZUNvb3BlcnMgTExQCitwd2MKKworLy8gcXBvbiA6IDIwMTMtMTEtMTQgZG90Q09PTCwgSW5jLgorcXBvbgorCisvLyBxdWViZWMgOiAyMDEzLTEyLTE5IFBvaW50UXXDqWJlYyBJbmMKK3F1ZWJlYworCisvLyBxdWVzdCA6IDIwMTUtMDMtMjYgWFlaLkNPTSBMTEMKK3F1ZXN0CisKKy8vIHJhY2luZyA6IDIwMTQtMTItMDQgUHJlbWllciBSZWdpc3RyeSBMaW1pdGVkCityYWNpbmcKKworLy8gcmFkaW8gOiAyMDE2LTA3LTIxIEV1cm9wZWFuIEJyb2FkY2FzdGluZyBVbmlvbiAoRUJVKQorcmFkaW8KKworLy8gcmVhZCA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCityZWFkCisKKy8vIHJlYWxlc3RhdGUgOiAyMDE1LTA5LTExIGRvdFJlYWxFc3RhdGUgTExDCityZWFsZXN0YXRlCisKKy8vIHJlYWx0b3IgOiAyMDE0LTA1LTI5IFJlYWwgRXN0YXRlIERvbWFpbnMgTExDCityZWFsdG9yCisKKy8vIHJlYWx0eSA6IDIwMTUtMDMtMTkgRG9nIEJlYWNoLCBMTEMKK3JlYWx0eQorCisvLyByZWNpcGVzIDogMjAxMy0xMC0xNyBCaW5reSBNb29uLCBMTEMKK3JlY2lwZXMKKworLy8gcmVkIDogMjAxMy0xMS0wNyBJZGVudGl0eSBEaWdpdGFsIExpbWl0ZWQKK3JlZAorCisvLyByZWRzdG9uZSA6IDIwMTQtMTAtMzEgUmVkc3RvbmUgSGF1dGUgQ291dHVyZSBDby4sIEx0ZC4KK3JlZHN0b25lCisKKy8vIHJlZHVtYnJlbGxhIDogMjAxNS0wMy0yNiBUcmF2ZWxlcnMgVExELCBMTEMKK3JlZHVtYnJlbGxhCisKKy8vIHJlaGFiIDogMjAxNC0wMy0wNiBEb2cgQmVhY2gsIExMQworcmVoYWIKKworLy8gcmVpc2UgOiAyMDE0LTAzLTEzIEJpbmt5IE1vb24sIExMQworcmVpc2UKKworLy8gcmVpc2VuIDogMjAxNC0wMy0wNiBCaW5reSBNb29uLCBMTEMKK3JlaXNlbgorCisvLyByZWl0IDogMjAxNC0wOS0wNCBOYXRpb25hbCBBc3NvY2lhdGlvbiBvZiBSZWFsIEVzdGF0ZSBJbnZlc3RtZW50IFRydXN0cywgSW5jLgorcmVpdAorCisvLyByZWxpYW5jZSA6IDIwMTUtMDQtMDIgUmVsaWFuY2UgSW5kdXN0cmllcyBMaW1pdGVkCityZWxpYW5jZQorCisvLyByZW4gOiAyMDEzLTEyLTEyIFpETlMgSW50ZXJuYXRpb25hbCBMaW1pdGVkCityZW4KKworLy8gcmVudCA6IDIwMTQtMTItMDQgWFlaLkNPTSBMTEMKK3JlbnQKKworLy8gcmVudGFscyA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCityZW50YWxzCisKKy8vIHJlcGFpciA6IDIwMTMtMTEtMDcgQmlua3kgTW9vbiwgTExDCityZXBhaXIKKworLy8gcmVwb3J0IDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK3JlcG9ydAorCisvLyByZXB1YmxpY2FuIDogMjAxNC0wMy0yMCBEb2cgQmVhY2gsIExMQworcmVwdWJsaWNhbgorCisvLyByZXN0IDogMjAxMy0xMi0xOSBQdW50byAyMDEyIFNvY2llZGFkIEFub25pbWEgUHJvbW90b3JhIGRlIEludmVyc2lvbiBkZSBDYXBpdGFsIFZhcmlhYmxlCityZXN0CisKKy8vIHJlc3RhdXJhbnQgOiAyMDE0LTA3LTAzIEJpbmt5IE1vb24sIExMQworcmVzdGF1cmFudAorCisvLyByZXZpZXcgOiAyMDE0LTExLTIwIGRvdCBSZXZpZXcgTGltaXRlZAorcmV2aWV3CisKKy8vIHJldmlld3MgOiAyMDEzLTA5LTEzIERvZyBCZWFjaCwgTExDCityZXZpZXdzCisKKy8vIHJleHJvdGggOiAyMDE1LTA2LTE4IFJvYmVydCBCb3NjaCBHTUJICityZXhyb3RoCisKKy8vIHJpY2ggOiAyMDEzLTExLTIxIGlSZWdpc3RyeSBHbWJICityaWNoCisKKy8vIHJpY2hhcmRsaSA6IDIwMTUtMDUtMTQgUGFjaWZpYyBDZW50dXJ5IEFzc2V0IE1hbmFnZW1lbnQgKEhLKSBMaW1pdGVkCityaWNoYXJkbGkKKworLy8gcmljb2ggOiAyMDE0LTExLTIwIFJpY29oIENvbXBhbnksIEx0ZC4KK3JpY29oCisKKy8vIHJpbCA6IDIwMTUtMDQtMDIgUmVsaWFuY2UgSW5kdXN0cmllcyBMaW1pdGVkCityaWwKKworLy8gcmlvIDogMjAxNC0wMi0yNyBFbXByZXNhIE11bmljaXBhbCBkZSBJbmZvcm3DoXRpY2EgU0EgLSBJUExBTlJJTworcmlvCisKKy8vIHJpcCA6IDIwMTQtMDctMTAgRG9nIEJlYWNoLCBMTEMKK3JpcAorCisvLyByb2NoZXIgOiAyMDE0LTEyLTE4IEZlcnJlcm8gVHJhZGluZyBMdXggUy5BLgorcm9jaGVyCisKKy8vIHJvY2tzIDogMjAxMy0xMS0xNCBEb2cgQmVhY2gsIExMQworcm9ja3MKKworLy8gcm9kZW8gOiAyMDEzLTEyLTE5IFJlZ2lzdHJ5IFNlcnZpY2VzLCBMTEMKK3JvZGVvCisKKy8vIHJvZ2VycyA6IDIwMTUtMDgtMDYgUm9nZXJzIENvbW11bmljYXRpb25zIENhbmFkYSBJbmMuCityb2dlcnMKKworLy8gcm9vbSA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCityb29tCisKKy8vIHJzdnAgOiAyMDE0LTA1LTA4IENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCityc3ZwCisKKy8vIHJ1Z2J5IDogMjAxNi0xMi0xNSBXb3JsZCBSdWdieSBTdHJhdGVnaWMgRGV2ZWxvcG1lbnRzIExpbWl0ZWQKK3J1Z2J5CisKKy8vIHJ1aHIgOiAyMDEzLTEwLTAyIGRvdFNhYXJsYW5kIEdtYkgKK3J1aHIKKworLy8gcnVuIDogMjAxNS0wMy0xOSBCaW5reSBNb29uLCBMTEMKK3J1bgorCisvLyByd2UgOiAyMDE1LTA0LTAyIFJXRSBBRworcndlCisKKy8vIHJ5dWt5dSA6IDIwMTQtMDEtMDkgQlJyZWdpc3RyeSwgSW5jLgorcnl1a3l1CisKKy8vIHNhYXJsYW5kIDogMjAxMy0xMi0xMiBkb3RTYWFybGFuZCBHbWJICitzYWFybGFuZAorCisvLyBzYWZlIDogMjAxNC0xMi0xOCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK3NhZmUKKworLy8gc2FmZXR5IDogMjAxNS0wMS0wOCBTYWZldHkgUmVnaXN0cnkgU2VydmljZXMsIExMQy4KK3NhZmV0eQorCisvLyBzYWt1cmEgOiAyMDE0LTEyLTE4IFNBS1VSQSBJbnRlcm5ldCBJbmMuCitzYWt1cmEKKworLy8gc2FsZSA6IDIwMTQtMTAtMTYgRG9nIEJlYWNoLCBMTEMKK3NhbGUKKworLy8gc2Fsb24gOiAyMDE0LTEyLTExIEJpbmt5IE1vb24sIExMQworc2Fsb24KKworLy8gc2Ftc2NsdWIgOiAyMDE1LTA3LTMxIFdhbC1NYXJ0IFN0b3JlcywgSW5jLgorc2Ftc2NsdWIKKworLy8gc2Ftc3VuZyA6IDIwMTQtMDQtMDMgU0FNU1VORyBTRFMgQ08uLCBMVEQKK3NhbXN1bmcKKworLy8gc2FuZHZpayA6IDIwMTQtMTEtMTMgU2FuZHZpayBBQgorc2FuZHZpaworCisvLyBzYW5kdmlrY29yb21hbnQgOiAyMDE0LTExLTA3IFNhbmR2aWsgQUIKK3NhbmR2aWtjb3JvbWFudAorCisvLyBzYW5vZmkgOiAyMDE0LTEwLTA5IFNhbm9maQorc2Fub2ZpCisKKy8vIHNhcCA6IDIwMTQtMDMtMjcgU0FQIEFHCitzYXAKKworLy8gc2FybCA6IDIwMTQtMDctMDMgQmlua3kgTW9vbiwgTExDCitzYXJsCisKKy8vIHNhcyA6IDIwMTUtMDQtMDIgUmVzZWFyY2ggSVAgTExDCitzYXMKKworLy8gc2F2ZSA6IDIwMTUtMDYtMjUgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitzYXZlCisKKy8vIHNheG8gOiAyMDE0LTEwLTMxIFNheG8gQmFuayBBL1MKK3NheG8KKworLy8gc2JpIDogMjAxNS0wMy0xMiBTVEFURSBCQU5LIE9GIElORElBCitzYmkKKworLy8gc2JzIDogMjAxNC0xMS0wNyBTaG9ydERvdCBTQQorc2JzCisKKy8vIHNjYSA6IDIwMTQtMDMtMTMgU1ZFTlNLQSBDRUxMVUxPU0EgQUtUSUVCT0xBR0VUIFNDQSAocHVibCkKK3NjYQorCisvLyBzY2IgOiAyMDE0LTAyLTIwIFRoZSBTaWFtIENvbW1lcmNpYWwgQmFuayBQdWJsaWMgQ29tcGFueSBMaW1pdGVkICgiU0NCIikKK3NjYgorCisvLyBzY2hhZWZmbGVyIDogMjAxNS0wOC0wNiBTY2hhZWZmbGVyIFRlY2hub2xvZ2llcyBBRyAmIENvLiBLRworc2NoYWVmZmxlcgorCisvLyBzY2htaWR0IDogMjAxNC0wNC0wMyBTQ0hNSURUIEdST1VQRSBTLkEuUy4KK3NjaG1pZHQKKworLy8gc2Nob2xhcnNoaXBzIDogMjAxNC0wNC0yNCBTY2hvbGFyc2hpcHMuY29tLCBMTEMKK3NjaG9sYXJzaGlwcworCisvLyBzY2hvb2wgOiAyMDE0LTEyLTE4IEJpbmt5IE1vb24sIExMQworc2Nob29sCisKKy8vIHNjaHVsZSA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCitzY2h1bGUKKworLy8gc2Nod2FyeiA6IDIwMTQtMDktMTggU2Nod2FyeiBEb21haW5zIHVuZCBTZXJ2aWNlcyBHbWJIICYgQ28uIEtHCitzY2h3YXJ6CisKKy8vIHNjaWVuY2UgOiAyMDE0LTA5LTExIGRvdCBTY2llbmNlIExpbWl0ZWQKK3NjaWVuY2UKKworLy8gc2NvdCA6IDIwMTQtMDEtMjMgRG90IFNjb3QgUmVnaXN0cnkgTGltaXRlZAorc2NvdAorCisvLyBzZWFyY2ggOiAyMDE2LTA2LTA5IENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitzZWFyY2gKKworLy8gc2VhdCA6IDIwMTQtMDUtMjIgU0VBVCwgUy5BLiAoU29jaWVkYWQgVW5pcGVyc29uYWwpCitzZWF0CisKKy8vIHNlY3VyZSA6IDIwMTUtMDgtMjcgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitzZWN1cmUKKworLy8gc2VjdXJpdHkgOiAyMDE1LTA1LTE0IFhZWi5DT00gTExDCitzZWN1cml0eQorCisvLyBzZWVrIDogMjAxNC0xMi0wNCBTZWVrIExpbWl0ZWQKK3NlZWsKKworLy8gc2VsZWN0IDogMjAxNS0xMC0wOCBSZWdpc3RyeSBTZXJ2aWNlcywgTExDCitzZWxlY3QKKworLy8gc2VuZXIgOiAyMDE0LTEwLTI0IFNlbmVyIEluZ2VuaWVyw61hIHkgU2lzdGVtYXMsIFMuQS4KK3NlbmVyCisKKy8vIHNlcnZpY2VzIDogMjAxNC0wMi0yNyBCaW5reSBNb29uLCBMTEMKK3NlcnZpY2VzCisKKy8vIHNlcyA6IDIwMTUtMDctMjMgU0VTCitzZXMKKworLy8gc2V2ZW4gOiAyMDE1LTA4LTA2IFNldmVuIFdlc3QgTWVkaWEgTHRkCitzZXZlbgorCisvLyBzZXcgOiAyMDE0LTA3LTE3IFNFVy1FVVJPRFJJVkUgR21iSCAmIENvIEtHCitzZXcKKworLy8gc2V4IDogMjAxNC0xMS0xMyBJQ00gUmVnaXN0cnkgU1ggTExDCitzZXgKKworLy8gc2V4eSA6IDIwMTMtMDktMTEgSW50ZXJuZXQgTmFtaW5nIENvbXBhbnkgTExDCitzZXh5CisKKy8vIHNmciA6IDIwMTUtMDgtMTMgU29jaWV0ZSBGcmFuY2Fpc2UgZHUgUmFkaW90ZWxlcGhvbmUgLSBTRlIKK3NmcgorCisvLyBzaGFuZ3JpbGEgOiAyMDE1LTA5LTAzIFNoYW5ncmnigJBMYSBJbnRlcm5hdGlvbmFsIEhvdGVsIE1hbmFnZW1lbnQgTGltaXRlZAorc2hhbmdyaWxhCisKKy8vIHNoYXJwIDogMjAxNC0wNS0wMSBTaGFycCBDb3Jwb3JhdGlvbgorc2hhcnAKKworLy8gc2hhdyA6IDIwMTUtMDQtMjMgU2hhdyBDYWJsZXN5c3RlbXMgRy5QLgorc2hhdworCisvLyBzaGVsbCA6IDIwMTUtMDctMzAgU2hlbGwgSW5mb3JtYXRpb24gVGVjaG5vbG9neSBJbnRlcm5hdGlvbmFsIEluYworc2hlbGwKKworLy8gc2hpYSA6IDIwMTQtMDktMDQgQXNpYSBHcmVlbiBJVCBTeXN0ZW0gQmlsZ2lzYXlhciBTYW4uIHZlIFRpYy4gTHRkLiBTdGkuCitzaGlhCisKKy8vIHNoaWtzaGEgOiAyMDEzLTExLTE0IElkZW50aXR5IERpZ2l0YWwgTGltaXRlZAorc2hpa3NoYQorCisvLyBzaG9lcyA6IDIwMTMtMTAtMDIgQmlua3kgTW9vbiwgTExDCitzaG9lcworCisvLyBzaG9wIDogMjAxNi0wNC0wOCBHTU8gUmVnaXN0cnksIEluYy4KK3Nob3AKKworLy8gc2hvcHBpbmcgOiAyMDE2LTAzLTMxIEJpbmt5IE1vb24sIExMQworc2hvcHBpbmcKKworLy8gc2hvdWppIDogMjAxNS0wMS0wOCBCZWlqaW5nIFFpaHUgS2VqaSBDby4sIEx0ZC4KK3Nob3VqaQorCisvLyBzaG93IDogMjAxNS0wMy0wNSBCaW5reSBNb29uLCBMTEMKK3Nob3cKKworLy8gc2hvd3RpbWUgOiAyMDE1LTA4LTA2IENCUyBEb21haW5zIEluYy4KK3Nob3d0aW1lCisKKy8vIHNpbGsgOiAyMDE1LTA2LTI1IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgorc2lsaworCisvLyBzaW5hIDogMjAxNS0wMy0xMiBTaW5hIENvcnBvcmF0aW9uCitzaW5hCisKKy8vIHNpbmdsZXMgOiAyMDEzLTA4LTI3IEJpbmt5IE1vb24sIExMQworc2luZ2xlcworCisvLyBzaXRlIDogMjAxNS0wMS0xNSBSYWRpeCBGWkMKK3NpdGUKKworLy8gc2tpIDogMjAxNS0wNC0wOSBJZGVudGl0eSBEaWdpdGFsIExpbWl0ZWQKK3NraQorCisvLyBza2luIDogMjAxNS0wMS0xNSBYWVouQ09NIExMQworc2tpbgorCisvLyBza3kgOiAyMDE0LTA2LTE5IFNreSBJbnRlcm5hdGlvbmFsIEFHCitza3kKKworLy8gc2t5cGUgOiAyMDE0LTEyLTE4IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbgorc2t5cGUKKworLy8gc2xpbmcgOiAyMDE1LTA3LTMwIERJU0ggVGVjaG5vbG9naWVzIEwuTC5DLgorc2xpbmcKKworLy8gc21hcnQgOiAyMDE1LTA3LTA5IFNtYXJ0IENvbW11bmljYXRpb25zLCBJbmMuIChTTUFSVCkKK3NtYXJ0CisKKy8vIHNtaWxlIDogMjAxNC0xMi0xOCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK3NtaWxlCisKKy8vIHNuY2YgOiAyMDE1LTAyLTE5IFNvY2nDqXTDqSBOYXRpb25hbGUgZGVzIENoZW1pbnMgZGUgZmVyIEZyYW5jYWlzIFMgTiBDIEYKK3NuY2YKKworLy8gc29jY2VyIDogMjAxNS0wMy0yNiBCaW5reSBNb29uLCBMTEMKK3NvY2NlcgorCisvLyBzb2NpYWwgOiAyMDEzLTExLTA3IERvZyBCZWFjaCwgTExDCitzb2NpYWwKKworLy8gc29mdGJhbmsgOiAyMDE1LTA3LTAyIFNvZnRCYW5rIEdyb3VwIENvcnAuCitzb2Z0YmFuaworCisvLyBzb2Z0d2FyZSA6IDIwMTQtMDMtMjAgRG9nIEJlYWNoLCBMTEMKK3NvZnR3YXJlCisKKy8vIHNvaHUgOiAyMDEzLTEyLTE5IFNvaHUuY29tIExpbWl0ZWQKK3NvaHUKKworLy8gc29sYXIgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQworc29sYXIKKworLy8gc29sdXRpb25zIDogMjAxMy0xMS0wNyBCaW5reSBNb29uLCBMTEMKK3NvbHV0aW9ucworCisvLyBzb25nIDogMjAxNS0wMi0yNiBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK3NvbmcKKworLy8gc29ueSA6IDIwMTUtMDEtMDggU29ueSBDb3Jwb3JhdGlvbgorc29ueQorCisvLyBzb3kgOiAyMDE0LTAxLTIzIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCitzb3kKKworLy8gc3BhIDogMjAxOS0wOS0xOSBBc2lhIFNwYSBhbmQgV2VsbG5lc3MgUHJvbW90aW9uIENvdW5jaWwgTGltaXRlZAorc3BhCisKKy8vIHNwYWNlIDogMjAxNC0wNC0wMyBSYWRpeCBGWkMKK3NwYWNlCisKKy8vIHNwb3J0IDogMjAxNy0xMS0xNiBHbG9iYWwgQXNzb2NpYXRpb24gb2YgSW50ZXJuYXRpb25hbCBTcG9ydHMgRmVkZXJhdGlvbnMgKEdBSVNGKQorc3BvcnQKKworLy8gc3BvdCA6IDIwMTUtMDItMjYgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCitzcG90CisKKy8vIHNybCA6IDIwMTUtMDUtMDcgSW50ZXJOZXRYLCBDb3JwCitzcmwKKworLy8gc3RhZGEgOiAyMDE0LTExLTEzIFNUQURBIEFyem5laW1pdHRlbCBBRworc3RhZGEKKworLy8gc3RhcGxlcyA6IDIwMTUtMDctMzAgU3RhcGxlcywgSW5jLgorc3RhcGxlcworCisvLyBzdGFyIDogMjAxNS0wMS0wOCBTdGFyIEluZGlhIFByaXZhdGUgTGltaXRlZAorc3RhcgorCisvLyBzdGF0ZWJhbmsgOiAyMDE1LTAzLTEyIFNUQVRFIEJBTksgT0YgSU5ESUEKK3N0YXRlYmFuaworCisvLyBzdGF0ZWZhcm0gOiAyMDE1LTA3LTMwIFN0YXRlIEZhcm0gTXV0dWFsIEF1dG9tb2JpbGUgSW5zdXJhbmNlIENvbXBhbnkKK3N0YXRlZmFybQorCisvLyBzdGMgOiAyMDE0LTEwLTA5IFNhdWRpIFRlbGVjb20gQ29tcGFueQorc3RjCisKKy8vIHN0Y2dyb3VwIDogMjAxNC0xMC0wOSBTYXVkaSBUZWxlY29tIENvbXBhbnkKK3N0Y2dyb3VwCisKKy8vIHN0b2NraG9sbSA6IDIwMTQtMTItMTggU3RvY2tob2xtcyBrb21tdW4KK3N0b2NraG9sbQorCisvLyBzdG9yYWdlIDogMjAxNC0xMi0yMiBYWVouQ09NIExMQworc3RvcmFnZQorCisvLyBzdG9yZSA6IDIwMTUtMDQtMDkgUmFkaXggRlpDCitzdG9yZQorCisvLyBzdHJlYW0gOiAyMDE2LTAxLTA4IGRvdCBTdHJlYW0gTGltaXRlZAorc3RyZWFtCisKKy8vIHN0dWRpbyA6IDIwMTUtMDItMTEgRG9nIEJlYWNoLCBMTEMKK3N0dWRpbworCisvLyBzdHVkeSA6IDIwMTQtMTItMTEgUmVnaXN0cnkgU2VydmljZXMsIExMQworc3R1ZHkKKworLy8gc3R5bGUgOiAyMDE0LTEyLTA0IEJpbmt5IE1vb24sIExMQworc3R5bGUKKworLy8gc3Vja3MgOiAyMDE0LTEyLTIyIFZveCBQb3B1bGkgUmVnaXN0cnkgTHRkLgorc3Vja3MKKworLy8gc3VwcGxpZXMgOiAyMDEzLTEyLTE5IEJpbmt5IE1vb24sIExMQworc3VwcGxpZXMKKworLy8gc3VwcGx5IDogMjAxMy0xMi0xOSBCaW5reSBNb29uLCBMTEMKK3N1cHBseQorCisvLyBzdXBwb3J0IDogMjAxMy0xMC0yNCBCaW5reSBNb29uLCBMTEMKK3N1cHBvcnQKKworLy8gc3VyZiA6IDIwMTQtMDEtMDkgUmVnaXN0cnkgU2VydmljZXMsIExMQworc3VyZgorCisvLyBzdXJnZXJ5IDogMjAxNC0wMy0yMCBCaW5reSBNb29uLCBMTEMKK3N1cmdlcnkKKworLy8gc3V6dWtpIDogMjAxNC0wMi0yMCBTVVpVS0kgTU9UT1IgQ09SUE9SQVRJT04KK3N1enVraQorCisvLyBzd2F0Y2ggOiAyMDE1LTAxLTA4IFRoZSBTd2F0Y2ggR3JvdXAgTHRkCitzd2F0Y2gKKworLy8gc3dpc3MgOiAyMDE0LTEwLTE2IFN3aXNzIENvbmZlZGVyYXRpb24KK3N3aXNzCisKKy8vIHN5ZG5leSA6IDIwMTQtMDktMTggU3RhdGUgb2YgTmV3IFNvdXRoIFdhbGVzLCBEZXBhcnRtZW50IG9mIFByZW1pZXIgYW5kIENhYmluZXQKK3N5ZG5leQorCisvLyBzeXN0ZW1zIDogMjAxMy0xMS0wNyBCaW5reSBNb29uLCBMTEMKK3N5c3RlbXMKKworLy8gdGFiIDogMjAxNC0xMi0wNCBUYWJjb3JwIEhvbGRpbmdzIExpbWl0ZWQKK3RhYgorCisvLyB0YWlwZWkgOiAyMDE0LTA3LTEwIFRhaXBlaSBDaXR5IEdvdmVybm1lbnQKK3RhaXBlaQorCisvLyB0YWxrIDogMjAxNS0wNC0wOSBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK3RhbGsKKworLy8gdGFvYmFvIDogMjAxNS0wMS0xNSBBbGliYWJhIEdyb3VwIEhvbGRpbmcgTGltaXRlZAordGFvYmFvCisKKy8vIHRhcmdldCA6IDIwMTUtMDctMzEgVGFyZ2V0IERvbWFpbiBIb2xkaW5ncywgTExDCit0YXJnZXQKKworLy8gdGF0YW1vdG9ycyA6IDIwMTUtMDMtMTIgVGF0YSBNb3RvcnMgTHRkCit0YXRhbW90b3JzCisKKy8vIHRhdGFyIDogMjAxNC0wNC0yNCBMaW1pdGVkIExpYWJpbGl0eSBDb21wYW55ICJDb29yZGluYXRpb24gQ2VudGVyIG9mIFJlZ2lvbmFsIERvbWFpbiBvZiBUYXRhcnN0YW4gUmVwdWJsaWMiCit0YXRhcgorCisvLyB0YXR0b28gOiAyMDEzLTA4LTMwIFRvcCBMZXZlbCBEZXNpZ24sIExMQwordGF0dG9vCisKKy8vIHRheCA6IDIwMTQtMDMtMjAgQmlua3kgTW9vbiwgTExDCit0YXgKKworLy8gdGF4aSA6IDIwMTUtMDMtMTkgQmlua3kgTW9vbiwgTExDCit0YXhpCisKKy8vIHRjaSA6IDIwMTQtMDktMTIgQXNpYSBHcmVlbiBJVCBTeXN0ZW0gQmlsZ2lzYXlhciBTYW4uIHZlIFRpYy4gTHRkLiBTdGkuCit0Y2kKKworLy8gdGRrIDogMjAxNS0wNi0xMSBUREsgQ29ycG9yYXRpb24KK3RkaworCisvLyB0ZWFtIDogMjAxNS0wMy0wNSBCaW5reSBNb29uLCBMTEMKK3RlYW0KKworLy8gdGVjaCA6IDIwMTUtMDEtMzAgUmFkaXggRlpDCit0ZWNoCisKKy8vIHRlY2hub2xvZ3kgOiAyMDEzLTA5LTEzIEJpbmt5IE1vb24sIExMQwordGVjaG5vbG9neQorCisvLyB0ZW1hc2VrIDogMjAxNC0wOC0wNyBUZW1hc2VrIEhvbGRpbmdzIChQcml2YXRlKSBMaW1pdGVkCit0ZW1hc2VrCisKKy8vIHRlbm5pcyA6IDIwMTQtMTItMDQgQmlua3kgTW9vbiwgTExDCit0ZW5uaXMKKworLy8gdGV2YSA6IDIwMTUtMDctMDIgVGV2YSBQaGFybWFjZXV0aWNhbCBJbmR1c3RyaWVzIExpbWl0ZWQKK3RldmEKKworLy8gdGhkIDogMjAxNS0wNC0wMiBIb21lIERlcG90IFByb2R1Y3QgQXV0aG9yaXR5LCBMTEMKK3RoZAorCisvLyB0aGVhdGVyIDogMjAxNS0wMy0xOSBCaW5reSBNb29uLCBMTEMKK3RoZWF0ZXIKKworLy8gdGhlYXRyZSA6IDIwMTUtMDUtMDcgWFlaLkNPTSBMTEMKK3RoZWF0cmUKKworLy8gdGlhYSA6IDIwMTUtMDctMjMgVGVhY2hlcnMgSW5zdXJhbmNlIGFuZCBBbm51aXR5IEFzc29jaWF0aW9uIG9mIEFtZXJpY2EKK3RpYWEKKworLy8gdGlja2V0cyA6IDIwMTUtMDItMDUgWFlaLkNPTSBMTEMKK3RpY2tldHMKKworLy8gdGllbmRhIDogMjAxMy0xMS0xNCBCaW5reSBNb29uLCBMTEMKK3RpZW5kYQorCisvLyB0aWZmYW55IDogMjAxNS0wMS0zMCBUaWZmYW55IGFuZCBDb21wYW55Cit0aWZmYW55CisKKy8vIHRpcHMgOiAyMDEzLTA5LTIwIEJpbmt5IE1vb24sIExMQwordGlwcworCisvLyB0aXJlcyA6IDIwMTQtMTEtMDcgQmlua3kgTW9vbiwgTExDCit0aXJlcworCisvLyB0aXJvbCA6IDIwMTQtMDQtMjQgcHVua3QgVGlyb2wgR21iSAordGlyb2wKKworLy8gdGptYXh4IDogMjAxNS0wNy0xNiBUaGUgVEpYIENvbXBhbmllcywgSW5jLgordGptYXh4CisKKy8vIHRqeCA6IDIwMTUtMDctMTYgVGhlIFRKWCBDb21wYW5pZXMsIEluYy4KK3RqeAorCisvLyB0a21heHggOiAyMDE1LTA3LTE2IFRoZSBUSlggQ29tcGFuaWVzLCBJbmMuCit0a21heHgKKworLy8gdG1hbGwgOiAyMDE1LTAxLTE1IEFsaWJhYmEgR3JvdXAgSG9sZGluZyBMaW1pdGVkCit0bWFsbAorCisvLyB0b2RheSA6IDIwMTMtMDktMjAgQmlua3kgTW9vbiwgTExDCit0b2RheQorCisvLyB0b2t5byA6IDIwMTMtMTEtMTMgR01PIFJlZ2lzdHJ5LCBJbmMuCit0b2t5bworCisvLyB0b29scyA6IDIwMTMtMTEtMjEgQmlua3kgTW9vbiwgTExDCit0b29scworCisvLyB0b3AgOiAyMDE0LTAzLTIwIC5UT1AgUmVnaXN0cnkKK3RvcAorCisvLyB0b3JheSA6IDIwMTQtMTItMTggVG9yYXkgSW5kdXN0cmllcywgSW5jLgordG9yYXkKKworLy8gdG9zaGliYSA6IDIwMTQtMDQtMTAgVE9TSElCQSBDb3Jwb3JhdGlvbgordG9zaGliYQorCisvLyB0b3RhbCA6IDIwMTUtMDgtMDYgVE9UQUwgU0UKK3RvdGFsCisKKy8vIHRvdXJzIDogMjAxNS0wMS0yMiBCaW5reSBNb29uLCBMTEMKK3RvdXJzCisKKy8vIHRvd24gOiAyMDE0LTAzLTA2IEJpbmt5IE1vb24sIExMQwordG93bgorCisvLyB0b3lvdGEgOiAyMDE1LTA0LTIzIFRPWU9UQSBNT1RPUiBDT1JQT1JBVElPTgordG95b3RhCisKKy8vIHRveXMgOiAyMDE0LTAzLTA2IEJpbmt5IE1vb24sIExMQwordG95cworCisvLyB0cmFkZSA6IDIwMTQtMDEtMjMgRWxpdGUgUmVnaXN0cnkgTGltaXRlZAordHJhZGUKKworLy8gdHJhZGluZyA6IDIwMTQtMTItMTEgRG9nIEJlYWNoLCBMTEMKK3RyYWRpbmcKKworLy8gdHJhaW5pbmcgOiAyMDEzLTExLTA3IEJpbmt5IE1vb24sIExMQwordHJhaW5pbmcKKworLy8gdHJhdmVsIDogMjAxNS0xMC0wOSBEb2cgQmVhY2gsIExMQwordHJhdmVsCisKKy8vIHRyYXZlbGNoYW5uZWwgOiAyMDE1LTA3LTAyIExpZmVzdHlsZSBEb21haW4gSG9sZGluZ3MsIEluYy4KK3RyYXZlbGNoYW5uZWwKKworLy8gdHJhdmVsZXJzIDogMjAxNS0wMy0yNiBUcmF2ZWxlcnMgVExELCBMTEMKK3RyYXZlbGVycworCisvLyB0cmF2ZWxlcnNpbnN1cmFuY2UgOiAyMDE1LTAzLTI2IFRyYXZlbGVycyBUTEQsIExMQwordHJhdmVsZXJzaW5zdXJhbmNlCisKKy8vIHRydXN0IDogMjAxNC0xMC0xNiBJbnRlcm5ldCBOYW1pbmcgQ29tcGFueSBMTEMKK3RydXN0CisKKy8vIHRydiA6IDIwMTUtMDMtMjYgVHJhdmVsZXJzIFRMRCwgTExDCit0cnYKKworLy8gdHViZSA6IDIwMTUtMDYtMTEgTGF0aW4gQW1lcmljYW4gVGVsZWNvbSBMTEMKK3R1YmUKKworLy8gdHVpIDogMjAxNC0wNy0wMyBUVUkgQUcKK3R1aQorCisvLyB0dW5lcyA6IDIwMTUtMDItMjYgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCit0dW5lcworCisvLyB0dXNodSA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCit0dXNodQorCisvLyB0dnMgOiAyMDE1LTAyLTE5IFQgViBTVU5EUkFNIElZRU5HQVIgICYgU09OUyBMSU1JVEVECit0dnMKKworLy8gdWJhbmsgOiAyMDE1LTA4LTIwIE5hdGlvbmFsIEF1c3RyYWxpYSBCYW5rIExpbWl0ZWQKK3ViYW5rCisKKy8vIHVicyA6IDIwMTQtMTItMTEgVUJTIEFHCit1YnMKKworLy8gdW5pY29tIDogMjAxNS0xMC0xNSBDaGluYSBVbml0ZWQgTmV0d29yayBDb21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbiBMaW1pdGVkCit1bmljb20KKworLy8gdW5pdmVyc2l0eSA6IDIwMTQtMDMtMDYgQmlua3kgTW9vbiwgTExDCit1bml2ZXJzaXR5CisKKy8vIHVubyA6IDIwMTMtMDktMTEgUmFkaXggRlpDCit1bm8KKworLy8gdW9sIDogMjAxNC0wNS0wMSBVQk4gSU5URVJORVQgTFREQS4KK3VvbAorCisvLyB1cHMgOiAyMDE1LTA2LTI1IFVQUyBNYXJrZXQgRHJpdmVyLCBJbmMuCit1cHMKKworLy8gdmFjYXRpb25zIDogMjAxMy0xMi0wNSBCaW5reSBNb29uLCBMTEMKK3ZhY2F0aW9ucworCisvLyB2YW5hIDogMjAxNC0xMi0xMSBMaWZlc3R5bGUgRG9tYWluIEhvbGRpbmdzLCBJbmMuCit2YW5hCisKKy8vIHZhbmd1YXJkIDogMjAxNS0wOS0wMyBUaGUgVmFuZ3VhcmQgR3JvdXAsIEluYy4KK3Zhbmd1YXJkCisKKy8vIHZlZ2FzIDogMjAxNC0wMS0xNiBEb3QgVmVnYXMsIEluYy4KK3ZlZ2FzCisKKy8vIHZlbnR1cmVzIDogMjAxMy0wOC0yNyBCaW5reSBNb29uLCBMTEMKK3ZlbnR1cmVzCisKKy8vIHZlcmlzaWduIDogMjAxNS0wOC0xMyBWZXJpU2lnbiwgSW5jLgordmVyaXNpZ24KKworLy8gdmVyc2ljaGVydW5nIDogMjAxNC0wMy0yMCB0bGRib3ggR21iSAordmVyc2ljaGVydW5nCisKKy8vIHZldCA6IDIwMTQtMDMtMDYgRG9nIEJlYWNoLCBMTEMKK3ZldAorCisvLyB2aWFqZXMgOiAyMDEzLTEwLTE3IEJpbmt5IE1vb24sIExMQwordmlhamVzCisKKy8vIHZpZGVvIDogMjAxNC0xMC0xNiBEb2cgQmVhY2gsIExMQwordmlkZW8KKworLy8gdmlnIDogMjAxNS0wNS0xNCBWSUVOTkEgSU5TVVJBTkNFIEdST1VQIEFHIFdpZW5lciBWZXJzaWNoZXJ1bmcgR3J1cHBlCit2aWcKKworLy8gdmlraW5nIDogMjAxNS0wNC0wMiBWaWtpbmcgUml2ZXIgQ3J1aXNlcyAoQmVybXVkYSkgTHRkLgordmlraW5nCisKKy8vIHZpbGxhcyA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCit2aWxsYXMKKworLy8gdmluIDogMjAxNS0wNi0xOCBCaW5reSBNb29uLCBMTEMKK3ZpbgorCisvLyB2aXAgOiAyMDE1LTAxLTIyIFJlZ2lzdHJ5IFNlcnZpY2VzLCBMTEMKK3ZpcAorCisvLyB2aXJnaW4gOiAyMDE0LTA5LTI1IFZpcmdpbiBFbnRlcnByaXNlcyBMaW1pdGVkCit2aXJnaW4KKworLy8gdmlzYSA6IDIwMTUtMDctMzAgVmlzYSBXb3JsZHdpZGUgUHRlLiBMaW1pdGVkCit2aXNhCisKKy8vIHZpc2lvbiA6IDIwMTMtMTItMDUgQmlua3kgTW9vbiwgTExDCit2aXNpb24KKworLy8gdml2YSA6IDIwMTQtMTEtMDcgU2F1ZGkgVGVsZWNvbSBDb21wYW55Cit2aXZhCisKKy8vIHZpdm8gOiAyMDE1LTA3LTMxIFRlbGVmb25pY2EgQnJhc2lsIFMuQS4KK3Zpdm8KKworLy8gdmxhYW5kZXJlbiA6IDIwMTQtMDItMDYgRE5TLmJlIHZ6dwordmxhYW5kZXJlbgorCisvLyB2b2RrYSA6IDIwMTMtMTItMTkgUmVnaXN0cnkgU2VydmljZXMsIExMQwordm9ka2EKKworLy8gdm9sa3N3YWdlbiA6IDIwMTUtMDUtMTQgVm9sa3N3YWdlbiBHcm91cCBvZiBBbWVyaWNhIEluYy4KK3ZvbGtzd2FnZW4KKworLy8gdm9sdm8gOiAyMDE1LTExLTEyIFZvbHZvIEhvbGRpbmcgU3ZlcmlnZSBBa3RpZWJvbGFnCit2b2x2bworCisvLyB2b3RlIDogMjAxMy0xMS0yMSBNb25vbGl0aCBSZWdpc3RyeSBMTEMKK3ZvdGUKKworLy8gdm90aW5nIDogMjAxMy0xMS0xMyBWYWx1ZXRhaW5tZW50IENvcnAuCit2b3RpbmcKKworLy8gdm90byA6IDIwMTMtMTEtMjEgTW9ub2xpdGggUmVnaXN0cnkgTExDCit2b3RvCisKKy8vIHZveWFnZSA6IDIwMTMtMDgtMjcgQmlua3kgTW9vbiwgTExDCit2b3lhZ2UKKworLy8gdnVlbG9zIDogMjAxNS0wMy0wNSBUcmF2ZWwgUmVzZXJ2YXRpb25zIFNSTAordnVlbG9zCisKKy8vIHdhbGVzIDogMjAxNC0wNS0wOCBOb21pbmV0IFVLCit3YWxlcworCisvLyB3YWxtYXJ0IDogMjAxNS0wNy0zMSBXYWwtTWFydCBTdG9yZXMsIEluYy4KK3dhbG1hcnQKKworLy8gd2FsdGVyIDogMjAxNC0xMS0xMyBTYW5kdmlrIEFCCit3YWx0ZXIKKworLy8gd2FuZyA6IDIwMTMtMTAtMjQgWm9kaWFjIFdhbmcgTGltaXRlZAord2FuZworCisvLyB3YW5nZ291IDogMjAxNC0xMi0xOCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK3dhbmdnb3UKKworLy8gd2F0Y2ggOiAyMDEzLTExLTE0IEJpbmt5IE1vb24sIExMQword2F0Y2gKKworLy8gd2F0Y2hlcyA6IDIwMTQtMTItMjIgSWRlbnRpdHkgRGlnaXRhbCBMaW1pdGVkCit3YXRjaGVzCisKKy8vIHdlYXRoZXIgOiAyMDE1LTAxLTA4IEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24KK3dlYXRoZXIKKworLy8gd2VhdGhlcmNoYW5uZWwgOiAyMDE1LTAzLTEyIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24KK3dlYXRoZXJjaGFubmVsCisKKy8vIHdlYmNhbSA6IDIwMTQtMDEtMjMgZG90IFdlYmNhbSBMaW1pdGVkCit3ZWJjYW0KKworLy8gd2ViZXIgOiAyMDE1LTA2LTA0IFNhaW50LUdvYmFpbiBXZWJlciBTQQord2ViZXIKKworLy8gd2Vic2l0ZSA6IDIwMTQtMDQtMDMgUmFkaXggRlpDCit3ZWJzaXRlCisKKy8vIHdlZGRpbmcgOiAyMDE0LTA0LTI0IFJlZ2lzdHJ5IFNlcnZpY2VzLCBMTEMKK3dlZGRpbmcKKworLy8gd2VpYm8gOiAyMDE1LTAzLTA1IFNpbmEgQ29ycG9yYXRpb24KK3dlaWJvCisKKy8vIHdlaXIgOiAyMDE1LTAxLTI5IFdlaXIgR3JvdXAgSVAgTGltaXRlZAord2VpcgorCisvLyB3aG9zd2hvIDogMjAxNC0wMi0yMCBXaG8ncyBXaG8gUmVnaXN0cnkKK3dob3N3aG8KKworLy8gd2llbiA6IDIwMTMtMTAtMjggcHVua3Qud2llbiBHbWJICit3aWVuCisKKy8vIHdpa2kgOiAyMDEzLTExLTA3IFRvcCBMZXZlbCBEZXNpZ24sIExMQword2lraQorCisvLyB3aWxsaWFtaGlsbCA6IDIwMTQtMDMtMTMgV2lsbGlhbSBIaWxsIE9yZ2FuaXphdGlvbiBMaW1pdGVkCit3aWxsaWFtaGlsbAorCisvLyB3aW4gOiAyMDE0LTExLTIwIEZpcnN0IFJlZ2lzdHJ5IExpbWl0ZWQKK3dpbgorCisvLyB3aW5kb3dzIDogMjAxNC0xMi0xOCBNaWNyb3NvZnQgQ29ycG9yYXRpb24KK3dpbmRvd3MKKworLy8gd2luZSA6IDIwMTUtMDYtMTggQmlua3kgTW9vbiwgTExDCit3aW5lCisKKy8vIHdpbm5lcnMgOiAyMDE1LTA3LTE2IFRoZSBUSlggQ29tcGFuaWVzLCBJbmMuCit3aW5uZXJzCisKKy8vIHdtZSA6IDIwMTQtMDItMTMgV2lsbGlhbSBNb3JyaXMgRW5kZWF2b3IgRW50ZXJ0YWlubWVudCwgTExDCit3bWUKKworLy8gd29sdGVyc2tsdXdlciA6IDIwMTUtMDgtMDYgV29sdGVycyBLbHV3ZXIgTi5WLgord29sdGVyc2tsdXdlcgorCisvLyB3b29kc2lkZSA6IDIwMTUtMDctMDkgV29vZHNpZGUgUGV0cm9sZXVtIExpbWl0ZWQKK3dvb2RzaWRlCisKKy8vIHdvcmsgOiAyMDEzLTEyLTE5IFJlZ2lzdHJ5IFNlcnZpY2VzLCBMTEMKK3dvcmsKKworLy8gd29ya3MgOiAyMDEzLTExLTE0IEJpbmt5IE1vb24sIExMQword29ya3MKKworLy8gd29ybGQgOiAyMDE0LTA2LTEyIEJpbmt5IE1vb24sIExMQword29ybGQKKworLy8gd293IDogMjAxNS0xMC0wOCBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK3dvdworCisvLyB3dGMgOiAyMDEzLTEyLTE5IFdvcmxkIFRyYWRlIENlbnRlcnMgQXNzb2NpYXRpb24sIEluYy4KK3d0YworCisvLyB3dGYgOiAyMDE0LTAzLTA2IEJpbmt5IE1vb24sIExMQword3RmCisKKy8vIHhib3ggOiAyMDE0LTEyLTE4IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbgoreGJveAorCisvLyB4ZXJveCA6IDIwMTQtMTAtMjQgWGVyb3ggRE5IQyBMTEMKK3hlcm94CisKKy8vIHhmaW5pdHkgOiAyMDE1LTA3LTA5IENvbWNhc3QgSVAgSG9sZGluZ3MgSSwgTExDCit4ZmluaXR5CisKKy8vIHhpaHVhbiA6IDIwMTUtMDEtMDggQmVpamluZyBRaWh1IEtlamkgQ28uLCBMdGQuCit4aWh1YW4KKworLy8geGluIDogMjAxNC0xMi0xMSBFbGVnYW50IExlYWRlciBMaW1pdGVkCit4aW4KKworLy8geG4tLTExYjRjM2QgOiAyMDE1LTAxLTE1IFZlcmlTaWduIFNhcmwKK+CkleClieCkrgorCisvLyB4bi0tMWNrMmUxYiA6IDIwMTUtMDItMjYgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCivjgrvjg7zjg6sKKworLy8geG4tLTFxcXcyM2EgOiAyMDE0LTAxLTA5IEd1YW5nemhvdSBZVSBXZWkgSW5mb3JtYXRpb24gVGVjaG5vbG9neSBDby4sIEx0ZC4KK+S9m+WxsQorCisvLyB4bi0tMzBycjd5IDogMjAxNC0wNi0xMiBFeGNlbGxlbnQgRmlyc3QgTGltaXRlZAor5oWI5ZaECisKKy8vIHhuLS0zYnN0MDBtIDogMjAxMy0wOS0xMyBFYWdsZSBIb3Jpem9uIExpbWl0ZWQKK+mbhuWbogorCisvLyB4bi0tM2RzNDQzZyA6IDIwMTMtMDktMDggVExEIFJFR0lTVFJZIExJTUlURUQgT1kKK+WcqOe6vworCisvLyB4bi0tM3B4dThrIDogMjAxNS0wMS0xNSBWZXJpU2lnbiBTYXJsCivngrnnnIsKKworLy8geG4tLTQyYzJkOWEgOiAyMDE1LTAxLTE1IFZlcmlTaWduIFNhcmwKK+C4hOC4reC4oQorCisvLyB4bi0tNDVxMTFjIDogMjAxMy0xMS0yMSBab2RpYWMgR2VtaW5pIEx0ZAor5YWr5Y2mCisKKy8vIHhuLS00Z2JyaW0gOiAyMDEzLTEwLTA0IEhlbGl1bSBUTERzIEx0ZAor2YXZiNmC2LkKKworLy8geG4tLTU1cXc0MmcgOiAyMDEzLTExLTA4IENoaW5hIE9yZ2FuaXphdGlvbmFsIE5hbWUgQWRtaW5pc3RyYXRpb24gQ2VudGVyCivlhaznm4oKKworLy8geG4tLTU1cXg1ZCA6IDIwMTMtMTEtMTQgQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIgKENOTklDKQor5YWs5Y+4CisKKy8vIHhuLS01c3UzNGo5MzZiZ3NnIDogMjAxNS0wOS0wMyBTaGFuZ3Jp4oCQTGEgSW50ZXJuYXRpb25hbCBIb3RlbCBNYW5hZ2VtZW50IExpbWl0ZWQKK+mmmeagvOmHjOaLiQorCisvLyB4bi0tNXR6bTVnIDogMjAxNC0xMi0yMiBHbG9iYWwgV2Vic2l0ZSBUTEQgQXNpYSBMaW1pdGVkCivnvZHnq5kKKworLy8geG4tLTZmcno4MmcgOiAyMDEzLTA5LTIzIElkZW50aXR5IERpZ2l0YWwgTGltaXRlZAor56e75YqoCisKKy8vIHhuLS02cXE5ODZiM3hsIDogMjAxMy0wOS0xMyBUeWNvb24gVHJlYXN1cmUgTGltaXRlZAor5oiR54ix5L2gCisKKy8vIHhuLS04MGFkeGhrcyA6IDIwMTMtMTItMTkgRm91bmRhdGlvbiBmb3IgQXNzaXN0YW5jZSBmb3IgSW50ZXJuZXQgVGVjaG5vbG9naWVzIGFuZCBJbmZyYXN0cnVjdHVyZSBEZXZlbG9wbWVudCAoRkFJVElEKQor0LzQvtGB0LrQstCwCisKKy8vIHhuLS04MGFxZWNkcjFhIDogMjAxNS0xMC0yMSBQb250aWZpY2l1bSBDb25zaWxpdW0gZGUgQ29tdW5pY2F0aW9uaWJ1cyBTb2NpYWxpYnVzIChQQ0NTKSAoUG9udGlmaWNhbCBDb3VuY2lsIGZvciBTb2NpYWwgQ29tbXVuaWNhdGlvbikKK9C60LDRgtC+0LvQuNC6CisKKy8vIHhuLS04MGFzZWhkYiA6IDIwMTMtMDctMTQgQ09SRSBBc3NvY2lhdGlvbgor0L7QvdC70LDQudC9CisKKy8vIHhuLS04MGFzd2cgOiAyMDEzLTA3LTE0IENPUkUgQXNzb2NpYXRpb24KK9GB0LDQudGCCisKKy8vIHhuLS04eTBhMDYzYSA6IDIwMTUtMDMtMjYgQ2hpbmEgVW5pdGVkIE5ldHdvcmsgQ29tbXVuaWNhdGlvbnMgQ29ycG9yYXRpb24gTGltaXRlZAor6IGU6YCaCisKKy8vIHhuLS05ZGJxMmEgOiAyMDE1LTAxLTE1IFZlcmlTaWduIFNhcmwKK9en15XXnQorCisvLyB4bi0tOWV0NTJ1IDogMjAxNC0wNi0xMiBSSVNFIFZJQ1RPUlkgTElNSVRFRAor5pe25bCaCisKKy8vIHhuLS05a3J0MDBhIDogMjAxNS0wMy0xMiBTaW5hIENvcnBvcmF0aW9uCivlvq7ljZoKKworLy8geG4tLWI0dzYwNWZlcmQgOiAyMDE0LTA4LTA3IFRlbWFzZWsgSG9sZGluZ3MgKFByaXZhdGUpIExpbWl0ZWQKK+a3oemprOmUoQorCisvLyB4bi0tYmNrMWI5YTVkcmU0YyA6IDIwMTUtMDItMjYgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCivjg5XjgqHjg4Pjgrfjg6fjg7MKKworLy8geG4tLWMxYXZnIDogMjAxMy0xMS0xNCBQdWJsaWMgSW50ZXJlc3QgUmVnaXN0cnkKK9C+0YDQsworCisvLyB4bi0tYzJicjdnIDogMjAxNS0wMS0xNSBWZXJpU2lnbiBTYXJsCivgpKjgpYfgpJ8KKworLy8geG4tLWNjazJiM2IgOiAyMDE1LTAyLTI2IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgor44K544OI44KiCisKKy8vIHhuLS1jY2t3Y3hldGQgOiAyMDE5LTEyLTE5IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgor44Ki44Oe44K+44OzCisKKy8vIHhuLS1jZzRia2kgOiAyMDEzLTA5LTI3IFNBTVNVTkcgU0RTIENPLiwgTFRECivsgrzshLEKKworLy8geG4tLWN6cjY5NGIgOiAyMDE0LTAxLTE2IEludGVybmV0IERvdFRyYWRlbWFyayBPcmdhbmlzYXRpb24gTGltaXRlZAor5ZWG5qCHCisKKy8vIHhuLS1jenJzMHQgOiAyMDEzLTEyLTE5IEJpbmt5IE1vb24sIExMQwor5ZWG5bqXCisKKy8vIHhuLS1jenJ1MmQgOiAyMDEzLTExLTIxIFpvZGlhYyBBcXVhcml1cyBMaW1pdGVkCivllYbln44KKworLy8geG4tLWQxYWNqM2IgOiAyMDEzLTExLTIwIFRoZSBGb3VuZGF0aW9uIGZvciBOZXR3b3JrIEluaXRpYXRpdmVzIOKAnFRoZSBTbWFydCBJbnRlcm5ldOKAnQor0LTQtdGC0LgKKworLy8geG4tLWVja3ZkdGM5ZCA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCivjg53jgqTjg7Pjg4gKKworLy8geG4tLWVmdnk4OGggOiAyMDE0LTA4LTIyIEd1YW5nemhvdSBZVSBXZWkgSW5mb3JtYXRpb24gVGVjaG5vbG9neSBDby4sIEx0ZC4KK+aWsOmXuworCisvLyB4bi0tZmN0NDI5ayA6IDIwMTUtMDQtMDkgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCivlrrbpm7sKKworLy8geG4tLWZoYmVpIDogMjAxNS0wMS0xNSBWZXJpU2lnbiBTYXJsCivZg9mI2YUKKworLy8geG4tLWZpcTIyOGM1aHMgOiAyMDEzLTA5LTA4IFRMRCBSRUdJU1RSWSBMSU1JVEVEIE9ZCivkuK3mlofnvZEKKworLy8geG4tLWZpcTY0YiA6IDIwMTMtMTAtMTQgQ0lUSUMgR3JvdXAgQ29ycG9yYXRpb24KK+S4reS/oQorCisvLyB4bi0tZmpxNzIwYSA6IDIwMTQtMDUtMjIgQmlua3kgTW9vbiwgTExDCivlqLHkuZAKKworLy8geG4tLWZsdzM1MWUgOiAyMDE0LTA3LTMxIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCivosLfmrYwKKworLy8geG4tLWZ6eXM4ZDY5dXZnbSA6IDIwMTUtMDUtMTQgUENDVyBFbnRlcnByaXNlcyBMaW1pdGVkCivpm7voqIrnm4jnp5EKKworLy8geG4tLWcyeHg0OGMgOiAyMDE1LTAxLTMwIE5hd2FuZyBIZWxpKFhpYW1lbikgTmV0d29yayBTZXJ2aWNlIENvLiwgTFRELgor6LSt54mpCisKKy8vIHhuLS1nY2tyM2YwZiA6IDIwMTUtMDItMjYgQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCivjgq/jg6njgqbjg4kKKworLy8geG4tLWdrM2F0MWUgOiAyMDE1LTEwLTA4IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgor6YCa6LKpCisKKy8vIHhuLS1oeHQ4MTRlIDogMjAxNC0wNS0xNSBab2RpYWMgVGF1cnVzIExpbWl0ZWQKK+e9keW6lworCisvLyB4bi0taTFiNmIxYTZhMmUgOiAyMDEzLTExLTE0IFB1YmxpYyBJbnRlcmVzdCBSZWdpc3RyeQor4KS44KSC4KSX4KSg4KSoCisKKy8vIHhuLS1pbXI1MTNuIDogMjAxNC0xMi0xMSBJbnRlcm5ldCBEb3RUcmFkZW1hcmsgT3JnYW5pc2F0aW9uIExpbWl0ZWQKK+mkkOWOhQorCisvLyB4bi0taW8wYTdpIDogMjAxMy0xMS0xNCBDaGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciAoQ05OSUMpCivnvZHnu5wKKworLy8geG4tLWoxYWVmIDogMjAxNS0wMS0xNSBWZXJpU2lnbiBTYXJsCivQutC+0LwKKworLy8geG4tLWpscTQ4MG4ycmcgOiAyMDE5LTEyLTE5IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgor5Lqa6ams6YCKCisKKy8vIHhuLS1qbHE2MXU5dzdiIDogMjAxNS0wMS0wOCBOb2tpYSBDb3Jwb3JhdGlvbgor6K+65Z+65LqaCisKKy8vIHhuLS1qdnIxODltIDogMjAxNS0wMi0yNiBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK+mjn+WTgQorCisvLyB4bi0ta2NyeDc3ZDF4NGEgOiAyMDE0LTExLTA3IEtvbmlua2xpamtlIFBoaWxpcHMgTi5WLgor6aOe5Yip5rWmCisKKy8vIHhuLS1rcHV0M2kgOiAyMDE0LTAyLTEzIEJlaWppbmcgUklUVC1OZXQgVGVjaG5vbG9neSBEZXZlbG9wbWVudCBDby4sIEx0ZAor5omL5py6CisKKy8vIHhuLS1tZ2JhM2EzZWp0IDogMjAxNC0xMS0yMCBBcmFtY28gU2VydmljZXMgQ29tcGFueQor2KfYsdin2YXZg9mICisKKy8vIHhuLS1tZ2JhN2MwYmJuMGEgOiAyMDE1LTA1LTE0IENyZXNjZW50IEhvbGRpbmcgR21iSAor2KfZhNi52YTZitin2YYKKworLy8geG4tLW1nYmFha2M3ZHZmIDogMjAxNS0wOS0wMyBFbWlyYXRlcyBUZWxlY29tbXVuaWNhdGlvbnMgQ29ycG9yYXRpb24gKHRyYWRpbmcgYXMgRXRpc2FsYXQpCivYp9iq2LXYp9mE2KfYqgorCisvLyB4bi0tbWdiYWIyYmQgOiAyMDEzLTEwLTMxIENPUkUgQXNzb2NpYXRpb24KK9io2KfYstin2LEKKworLy8geG4tLW1nYmNhN2R6ZG8gOiAyMDE1LTA3LTMwIEFidSBEaGFiaSBTeXN0ZW1zIGFuZCBJbmZvcm1hdGlvbiBDZW50cmUKK9in2KjZiNi42KjZigorCisvLyB4bi0tbWdiaTRlY2V4cCA6IDIwMTUtMTAtMjEgUG9udGlmaWNpdW0gQ29uc2lsaXVtIGRlIENvbXVuaWNhdGlvbmlidXMgU29jaWFsaWJ1cyAoUENDUykgKFBvbnRpZmljYWwgQ291bmNpbCBmb3IgU29jaWFsIENvbW11bmljYXRpb24pCivZg9in2KvZiNmE2YrZgworCisvLyB4bi0tbWdidDNkaGQgOiAyMDE0LTA5LTA0IEFzaWEgR3JlZW4gSVQgU3lzdGVtIEJpbGdpc2F5YXIgU2FuLiB2ZSBUaWMuIEx0ZC4gU3RpLgor2YfZhdix2KfZhworCisvLyB4bi0tbWsxYnU0NGMgOiAyMDE1LTAxLTE1IFZlcmlTaWduIFNhcmwKK+uLt+y7tAorCisvLyB4bi0tbXh0cTFtIDogMjAxNC0wMy0wNiBOZXQtQ2hpbmVzZSBDby4sIEx0ZC4KK+aUv+W6nAorCisvLyB4bi0tbmdiYzVhemQgOiAyMDEzLTA3LTEzIEludGVybmF0aW9uYWwgRG9tYWluIFJlZ2lzdHJ5IFB0eS4gTHRkLgor2LTYqNmD2KkKKworLy8geG4tLW5nYmU5ZTBhIDogMjAxNC0xMi0wNCBLdXdhaXQgRmluYW5jZSBIb3VzZQor2KjZitiq2YMKKworLy8geG4tLW5nYnJ4IDogMjAxNS0xMS0xMiBMZWFndWUgb2YgQXJhYiBTdGF0ZXMKK9i52LHYqAorCisvLyB4bi0tbnF2N2YgOiAyMDEzLTExLTE0IFB1YmxpYyBJbnRlcmVzdCBSZWdpc3RyeQor5py65p6ECisKKy8vIHhuLS1ucXY3ZnMwMGVtYSA6IDIwMTMtMTEtMTQgUHVibGljIEludGVyZXN0IFJlZ2lzdHJ5Civnu4Tnu4fmnLrmnoQKKworLy8geG4tLW55cXkyNmEgOiAyMDE0LTExLTA3IFN0YWJsZSBUb25lIExpbWl0ZWQKK+WBpeW6tworCisvLyB4bi0tb3R1Nzk2ZCA6IDIwMTctMDgtMDYgSmlhbmcgWXUgTGlhbmcgQ2FpIFRlY2hub2xvZ3kgQ29tcGFueSBMaW1pdGVkCivmi5vogZgKKworLy8geG4tLXAxYWNmIDogMjAxMy0xMi0xMiBSdXNuYW1lcyBMaW1pdGVkCivRgNGD0YEKKworLy8geG4tLXBzc3kydSA6IDIwMTUtMDEtMTUgVmVyaVNpZ24gU2FybAor5aSn5ou/CisKKy8vIHhuLS1xOWp5YjRjIDogMjAxMy0wOS0xNyBDaGFybGVzdG9uIFJvYWQgUmVnaXN0cnkgSW5jLgor44G/44KT44GqCisKKy8vIHhuLS1xY2thMXBtYyA6IDIwMTQtMDctMzEgQ2hhcmxlc3RvbiBSb2FkIFJlZ2lzdHJ5IEluYy4KK+OCsOODvOOCsOODqworCisvLyB4bi0tcmhxdjk2ZyA6IDIwMTMtMDktMTEgU3RhYmxlIFRvbmUgTGltaXRlZAor5LiW55WMCisKKy8vIHhuLS1yb3Z1ODhiIDogMjAxNS0wMi0yNiBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK+abuOexjQorCisvLyB4bi0tc2VzNTU0ZyA6IDIwMTQtMDEtMTYgS05FVCBDby4sIEx0ZC4KK+e9keWdgAorCisvLyB4bi0tdDYwYjU2YSA6IDIwMTUtMDEtMTUgVmVyaVNpZ24gU2FybAor64u364S3CisKKy8vIHhuLS10Y2t3ZSA6IDIwMTUtMDEtMTUgVmVyaVNpZ24gU2FybAor44Kz44OgCisKKy8vIHhuLS10aXE0OXhxeWogOiAyMDE1LTEwLTIxIFBvbnRpZmljaXVtIENvbnNpbGl1bSBkZSBDb211bmljYXRpb25pYnVzIFNvY2lhbGlidXMgKFBDQ1MpIChQb250aWZpY2FsIENvdW5jaWwgZm9yIFNvY2lhbCBDb21tdW5pY2F0aW9uKQor5aSp5Li75pWZCisKKy8vIHhuLS11bnVwNHkgOiAyMDEzLTA3LTE0IEJpbmt5IE1vb24sIExMQwor5ri45oiPCisKKy8vIHhuLS12ZXJtZ2Vuc2JlcmF0ZXItY3RiIDogMjAxNC0wNi0yMyBEZXV0c2NoZSBWZXJtw7ZnZW5zYmVyYXR1bmcgQWt0aWVuZ2VzZWxsc2NoYWZ0IERWQUcKK3Zlcm3DtmdlbnNiZXJhdGVyCisKKy8vIHhuLS12ZXJtZ2Vuc2JlcmF0dW5nLXB3YiA6IDIwMTQtMDYtMjMgRGV1dHNjaGUgVmVybcO2Z2Vuc2JlcmF0dW5nIEFrdGllbmdlc2VsbHNjaGFmdCBEVkFHCit2ZXJtw7ZnZW5zYmVyYXR1bmcKKworLy8geG4tLXZocXV2IDogMjAxMy0wOC0yNyBCaW5reSBNb29uLCBMTEMKK+S8geS4mgorCisvLyB4bi0tdnVxODYxYiA6IDIwMTQtMTAtMTYgQmVpamluZyBUZWxlLWluZm8gTmV0d29yayBUZWNobm9sb2d5IENvLiwgTHRkLgor5L+h5oGvCisKKy8vIHhuLS13NHI4NWVsOGZodTVkbnJhIDogMjAxNS0wNC0zMCBLZXJyeSBUcmFkaW5nIENvLiBMaW1pdGVkCivlmInph4zlpKfphZLlupcKKworLy8geG4tLXc0cnM0MGwgOiAyMDE1LTA3LTMwIEtlcnJ5IFRyYWRpbmcgQ28uIExpbWl0ZWQKK+WYiemHjAorCisvLyB4bi0teGhxNTIxYiA6IDIwMTMtMTEtMTQgR3Vhbmd6aG91IFlVIFdlaSBJbmZvcm1hdGlvbiBUZWNobm9sb2d5IENvLiwgTHRkLgor5bm/5LicCisKKy8vIHhuLS16ZnIxNjRiIDogMjAxMy0xMS0wOCBDaGluYSBPcmdhbml6YXRpb25hbCBOYW1lIEFkbWluaXN0cmF0aW9uIENlbnRlcgor5pS/5YqhCisKKy8vIHh5eiA6IDIwMTMtMTItMDUgWFlaLkNPTSBMTEMKK3h5egorCisvLyB5YWNodHMgOiAyMDE0LTAxLTA5IFhZWi5DT00gTExDCit5YWNodHMKKworLy8geWFob28gOiAyMDE1LTA0LTAyIE9hdGggSW5jLgoreWFob28KKworLy8geWFtYXh1biA6IDIwMTQtMTItMTggQW1hem9uIFJlZ2lzdHJ5IFNlcnZpY2VzLCBJbmMuCit5YW1heHVuCisKKy8vIHlhbmRleCA6IDIwMTQtMDQtMTAgWWFuZGV4IEV1cm9wZSBCLlYuCit5YW5kZXgKKworLy8geW9kb2Jhc2hpIDogMjAxNC0xMS0yMCBZT0RPQkFTSEkgQ0FNRVJBIENPLixMVEQuCit5b2RvYmFzaGkKKworLy8geW9nYSA6IDIwMTQtMDUtMjkgUmVnaXN0cnkgU2VydmljZXMsIExMQworeW9nYQorCisvLyB5b2tvaGFtYSA6IDIwMTMtMTItMTIgR01PIFJlZ2lzdHJ5LCBJbmMuCit5b2tvaGFtYQorCisvLyB5b3UgOiAyMDE1LTA0LTA5IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgoreW91CisKKy8vIHlvdXR1YmUgOiAyMDE0LTA1LTAxIENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCit5b3V0dWJlCisKKy8vIHl1biA6IDIwMTUtMDEtMDggQmVpamluZyBRaWh1IEtlamkgQ28uLCBMdGQuCit5dW4KKworLy8gemFwcG9zIDogMjAxNS0wNi0yNSBBbWF6b24gUmVnaXN0cnkgU2VydmljZXMsIEluYy4KK3phcHBvcworCisvLyB6YXJhIDogMjAxNC0xMS0wNyBJbmR1c3RyaWEgZGUgRGlzZcOxbyBUZXh0aWwsIFMuQS4gKElORElURVgsIFMuQS4pCit6YXJhCisKKy8vIHplcm8gOiAyMDE0LTEyLTE4IEFtYXpvbiBSZWdpc3RyeSBTZXJ2aWNlcywgSW5jLgoremVybworCisvLyB6aXAgOiAyMDE0LTA1LTA4IENoYXJsZXN0b24gUm9hZCBSZWdpc3RyeSBJbmMuCit6aXAKKworLy8gem9uZSA6IDIwMTMtMTEtMTQgQmlua3kgTW9vbiwgTExDCit6b25lCisKKy8vIHp1ZXJpY2ggOiAyMDE0LTExLTA3IEthbnRvbiBaw7xyaWNoIChDYW50b24gb2YgWnVyaWNoKQorenVlcmljaAorCisKKy8vID09PUVORCBJQ0FOTiBET01BSU5TPT09CisvLyA9PT1CRUdJTiBQUklWQVRFIERPTUFJTlM9PT0KKy8vIChOb3RlOiB0aGVzZSBhcmUgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIGJ5IGNvbXBhbnkgbmFtZSkKKworLy8gMUdCIExMQyA6IGh0dHBzOi8vd3d3LjFnYi51YS8KKy8vIFN1Ym1pdHRlZCBieSAxR0IgTExDIDxub2NAMWdiLmNvbS51YT4KK2NjLnVhCitpbmYudWEKK2x0ZC51YQorCisvLyA2MTFjb2luIDogaHR0cHM6Ly82MTFwcm9qZWN0Lm9yZy8KKzYxMS50bworCisvLyBBYXJvbiBNYXJhaXMnIEdpdGxhYiBwYWdlczogaHR0cHM6Ly9sYWIuYWFyb25sZWVtLmNvLnphCisvLyBTdWJtaXR0ZWQgYnkgQWFyb24gTWFyYWlzIDxpdHNfbWVAYWFyb25sZWVtLmNvLnphPgorZ3JhcGhveC51cworCisvLyBhY2Nlc3NvIFRlY2hub2xvZ3kgR3JvdXAsIHBsYy4gOiBodHRwczovL2FjY2Vzc28uY29tLworLy8gU3VibWl0dGVkIGJ5IGFjY2Vzc28gVGVhbSA8YWNjZXNzb2Vjb21tZXJjZUBhY2Nlc3NvLmNvbT4KKyouZGV2Y2RuYWNjZXNzby5jb20KKworLy8gQWNvcm4gTGFicyA6IGh0dHBzOi8vYWNvcm4uaW8KKy8vIFN1Ym1pdHRlZCBieSBDcmFpZyBKZWxsaWNrIDxkb21haW5zQGFjb3JuLmlvPgorKi5vbi1hY29ybi5pbworCisvLyBBZG9iZSA6IGh0dHBzOi8vd3d3LmFkb2JlLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBJYW4gQm9zdG9uIDxib3N0b25AYWRvYmUuY29tPiBhbmQgTGFycyBUcmllbG9mZiA8dHJpZWxvZmZAYWRvYmUuY29tPgorYWRvYmVhZW1jbG91ZC5jb20KKyouZGV2LmFkb2JlYWVtY2xvdWQuY29tCitobHgubGl2ZQorYWRvYmVhZW1jbG91ZC5uZXQKK2hseC5wYWdlCitobHgzLnBhZ2UKKworLy8gQWduYXQgc3AuIHogby5vLiA6IGh0dHBzOi8vZG9tZW5hLnBsCisvLyBTdWJtaXR0ZWQgYnkgUHJ6ZW15c2xhdyBQbGV3YSA8aXQtYWRtaW5AZG9tZW5hLnBsPgorYmVlcC5wbAorCisvLyBBaXJraXQgOiBodHRwczovL3d3dy5haXJraXQuY29tLworLy8gU3VibWl0dGVkIGJ5IEdyYW50IENvb2tzZXkgPHNlY3VyaXR5QGFpcmtpdC5jb20+CithaXJraXRhcHBzLmNvbQorYWlya2l0YXBwcy1hdS5jb20KK2FpcmtpdGFwcHMuZXUKKworLy8gQWl2ZW46IGh0dHBzOi8vYWl2ZW4uaW8vCisvLyBTdWJtaXR0ZWQgYnkgRXRpZW5uZSBTdGFsbWFucyA8c2VjdXJpdHlAYWl2ZW4uaW8+CithaXZlbmNsb3VkLmNvbQorCisvLyBhbGJvdG8uY2EgOiBodHRwOi8vYWxib3RvLmNhCisvLyBTdWJtaXR0ZWQgYnkgQW50b24gQXZyYW1vdiA8YXZyYW1vdkBhbGJvdG8uY2E+CitiYXJzeS5jYQorCisvLyBBbGNlcyBTb2Z0d2FyZSBMdGQgOiBodHRwOi8vYWxjZXMtc29mdHdhcmUuY29tCisvLyBTdWJtaXR0ZWQgYnkgTWFyayBKLiBUaXRvcmVua28gPG1hcmsudGl0b3JlbmtvQGFsY2VzLXNvZnR3YXJlLmNvbT4KKyouY29tcHV0ZS5lc3RhdGUKKyouYWxjZXMubmV0d29yaworCisvLyBhbGwtaW5rbC5jb20gOiBodHRwczovL2FsbC1pbmtsLmNvbQorLy8gU3VibWl0dGVkIGJ5IFdlcm5lciBLYWx0b2ZlbiA8d2tAYWxsLWlua2wuY29tPgora2Fzc2VydmVyLmNvbQorCisvLyBBbHRlcnZpc3RhOiBodHRwczovL3d3dy5hbHRlcnZpc3RhLm9yZworLy8gU3VibWl0dGVkIGJ5IENhcmxvIENhbm5hcyA8dGVjaF9zdGFmZkBhbHRlcnZpc3RhLml0PgorYWx0ZXJ2aXN0YS5vcmcKKworLy8gYWx3YXlzZGF0YSA6IGh0dHBzOi8vd3d3LmFsd2F5c2RhdGEuY29tCisvLyBTdWJtaXR0ZWQgYnkgQ3lyaWwgPGFkbWluQGFsd2F5c2RhdGEuY29tPgorYWx3YXlzZGF0YS5uZXQKKworLy8gQW1hemUgU29mdHdhcmUgOiBodHRwczovL2FtYXplLmNvCisvLyBTdWJtaXR0ZWQgYnkgRG9tYWluIEFkbWluIDxkb21haW5hZG1pbkBhbWF6ZS5jbz4KK215YW1hemUubmV0CisKKy8vIEFtYXpvbiA6IGh0dHBzOi8vd3d3LmFtYXpvbi5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQVdTIFNlY3VyaXR5IDxwc2wtbWFpbnRhaW5lcnNAYW1hem9uLmNvbT4KKy8vIFN1YnNlY3Rpb25zIG9mIEFtYXpvbi9zdWJzaWRpYXJpZXMgd2lsbCBhcHBlYXIgdW50aWwgImNvbmNsdWRlcyIgdGFnCisKKy8vIEFtYXpvbiBDbG91ZEZyb250CisvLyBTdWJtaXR0ZWQgYnkgRG9uYXZhbiBNaWxsZXIgPGRvbmF2YW5tQGFtYXpvbi5jb20+CisvLyBSZWZlcmVuY2U6IDU0MTQ0NjE2LWZkNDktNDQzNS04NTM1LTE5YzZhNjAxYmRiMworY2xvdWRmcm9udC5uZXQKKworLy8gQW1hem9uIEVDMgorLy8gU3VibWl0dGVkIGJ5IEx1a2UgV2VsbHMgPHBzbC1tYWludGFpbmVyc0BhbWF6b24uY29tPgorLy8gUmVmZXJlbmNlOiA0YzM4ZmE3MS01OGFjLTQ3NjgtOTllNS02ODljMTc2N2U1MzcKKyouY29tcHV0ZS5hbWF6b25hd3MuY29tCisqLmNvbXB1dGUtMS5hbWF6b25hd3MuY29tCisqLmNvbXB1dGUuYW1hem9uYXdzLmNvbS5jbgordXMtZWFzdC0xLmFtYXpvbmF3cy5jb20KKworLy8gQW1hem9uIFMzCisvLyBTdWJtaXR0ZWQgYnkgTHVrZSBXZWxscyA8cHNsLW1haW50YWluZXJzQGFtYXpvbi5jb20+CisvLyBSZWZlcmVuY2U6IGQwNjhiZDk3LWYwYTktNDgzOC1hNmQ4LTk1NGI2MjJlZjRhZQorczMuY24tbm9ydGgtMS5hbWF6b25hd3MuY29tLmNuCitzMy5kdWFsc3RhY2suYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbQorczMuZHVhbHN0YWNrLmFwLW5vcnRoZWFzdC0yLmFtYXpvbmF3cy5jb20KK3MzLmFwLW5vcnRoZWFzdC0yLmFtYXpvbmF3cy5jb20KK3MzLXdlYnNpdGUuYXAtbm9ydGhlYXN0LTIuYW1hem9uYXdzLmNvbQorczMuZHVhbHN0YWNrLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbQorczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbQorczMuZHVhbHN0YWNrLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20KK3MzLmR1YWxzdGFjay5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tCitzMy5kdWFsc3RhY2suY2EtY2VudHJhbC0xLmFtYXpvbmF3cy5jb20KK3MzLmNhLWNlbnRyYWwtMS5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLmNhLWNlbnRyYWwtMS5hbWF6b25hd3MuY29tCitzMy5kdWFsc3RhY2suZXUtY2VudHJhbC0xLmFtYXpvbmF3cy5jb20KK3MzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tCitzMy5kdWFsc3RhY2suZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20KK3MzLmR1YWxzdGFjay5ldS13ZXN0LTIuYW1hem9uYXdzLmNvbQorczMuZXUtd2VzdC0yLmFtYXpvbmF3cy5jb20KK3MzLXdlYnNpdGUuZXUtd2VzdC0yLmFtYXpvbmF3cy5jb20KK3MzLmR1YWxzdGFjay5ldS13ZXN0LTMuYW1hem9uYXdzLmNvbQorczMuZXUtd2VzdC0zLmFtYXpvbmF3cy5jb20KK3MzLXdlYnNpdGUuZXUtd2VzdC0zLmFtYXpvbmF3cy5jb20KK3MzLmFtYXpvbmF3cy5jb20KK3MzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20KK3MzLWFwLW5vcnRoZWFzdC0yLmFtYXpvbmF3cy5jb20KK3MzLWFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbQorczMtYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbQorczMtYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbQorczMtY2EtY2VudHJhbC0xLmFtYXpvbmF3cy5jb20KK3MzLWV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tCitzMy1ldS13ZXN0LTEuYW1hem9uYXdzLmNvbQorczMtZXUtd2VzdC0yLmFtYXpvbmF3cy5jb20KK3MzLWV1LXdlc3QtMy5hbWF6b25hd3MuY29tCitzMy1leHRlcm5hbC0xLmFtYXpvbmF3cy5jb20KK3MzLWZpcHMtdXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tCitzMy1zYS1lYXN0LTEuYW1hem9uYXdzLmNvbQorczMtdXMtZWFzdC0yLmFtYXpvbmF3cy5jb20KK3MzLXVzLWdvdi13ZXN0LTEuYW1hem9uYXdzLmNvbQorczMtdXMtd2VzdC0xLmFtYXpvbmF3cy5jb20KK3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20KK3MzLXdlYnNpdGUtYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbQorczMtd2Vic2l0ZS1hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLWV1LXdlc3QtMS5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLXNhLWVhc3QtMS5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLXVzLWVhc3QtMS5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLXVzLXdlc3QtMS5hbWF6b25hd3MuY29tCitzMy13ZWJzaXRlLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tCitzMy5kdWFsc3RhY2suc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20KK3MzLmR1YWxzdGFjay51cy1lYXN0LTEuYW1hem9uYXdzLmNvbQorczMuZHVhbHN0YWNrLnVzLWVhc3QtMi5hbWF6b25hd3MuY29tCitzMy51cy1lYXN0LTIuYW1hem9uYXdzLmNvbQorczMtd2Vic2l0ZS51cy1lYXN0LTIuYW1hem9uYXdzLmNvbQorCisvLyBBV1MgQ2xvdWQ5CisvLyBTdWJtaXR0ZWQgYnk6IEFXUyBTZWN1cml0eSA8cHNsLW1haW50YWluZXJzQGFtYXpvbi5jb20+CisvLyBSZWZlcmVuY2U6IDJiNmRmYTlhLTNhN2YtNDM2Ny1iMmU3LTAzMjFlNzdjMGQ1OQordmZzLmNsb3VkOS5hZi1zb3V0aC0xLmFtYXpvbmF3cy5jb20KK3dlYnZpZXctYXNzZXRzLmNsb3VkOS5hZi1zb3V0aC0xLmFtYXpvbmF3cy5jb20KK3Zmcy5jbG91ZDkuYXAtZWFzdC0xLmFtYXpvbmF3cy5jb20KK3dlYnZpZXctYXNzZXRzLmNsb3VkOS5hcC1lYXN0LTEuYW1hem9uYXdzLmNvbQordmZzLmNsb3VkOS5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tCit3ZWJ2aWV3LWFzc2V0cy5jbG91ZDkuYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbQordmZzLmNsb3VkOS5hcC1ub3J0aGVhc3QtMi5hbWF6b25hd3MuY29tCit3ZWJ2aWV3LWFzc2V0cy5jbG91ZDkuYXAtbm9ydGhlYXN0LTIuYW1hem9uYXdzLmNvbQordmZzLmNsb3VkOS5hcC1ub3J0aGVhc3QtMy5hbWF6b25hd3MuY29tCit3ZWJ2aWV3LWFzc2V0cy5jbG91ZDkuYXAtbm9ydGhlYXN0LTMuYW1hem9uYXdzLmNvbQordmZzLmNsb3VkOS5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20KK3dlYnZpZXctYXNzZXRzLmNsb3VkOS5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20KK3Zmcy5jbG91ZDkuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbQord2Vidmlldy1hc3NldHMuY2xvdWQ5LmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20KK3Zmcy5jbG91ZDkuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbQord2Vidmlldy1hc3NldHMuY2xvdWQ5LmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb20KK3Zmcy5jbG91ZDkuY2EtY2VudHJhbC0xLmFtYXpvbmF3cy5jb20KK3dlYnZpZXctYXNzZXRzLmNsb3VkOS5jYS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbQordmZzLmNsb3VkOS5ldS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbQord2Vidmlldy1hc3NldHMuY2xvdWQ5LmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tCit2ZnMuY2xvdWQ5LmV1LW5vcnRoLTEuYW1hem9uYXdzLmNvbQord2Vidmlldy1hc3NldHMuY2xvdWQ5LmV1LW5vcnRoLTEuYW1hem9uYXdzLmNvbQordmZzLmNsb3VkOS5ldS1zb3V0aC0xLmFtYXpvbmF3cy5jb20KK3dlYnZpZXctYXNzZXRzLmNsb3VkOS5ldS1zb3V0aC0xLmFtYXpvbmF3cy5jb20KK3Zmcy5jbG91ZDkuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20KK3dlYnZpZXctYXNzZXRzLmNsb3VkOS5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbQordmZzLmNsb3VkOS5ldS13ZXN0LTIuYW1hem9uYXdzLmNvbQord2Vidmlldy1hc3NldHMuY2xvdWQ5LmV1LXdlc3QtMi5hbWF6b25hd3MuY29tCit2ZnMuY2xvdWQ5LmV1LXdlc3QtMy5hbWF6b25hd3MuY29tCit3ZWJ2aWV3LWFzc2V0cy5jbG91ZDkuZXUtd2VzdC0zLmFtYXpvbmF3cy5jb20KK3Zmcy5jbG91ZDkubWUtc291dGgtMS5hbWF6b25hd3MuY29tCit3ZWJ2aWV3LWFzc2V0cy5jbG91ZDkubWUtc291dGgtMS5hbWF6b25hd3MuY29tCit2ZnMuY2xvdWQ5LnNhLWVhc3QtMS5hbWF6b25hd3MuY29tCit3ZWJ2aWV3LWFzc2V0cy5jbG91ZDkuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20KK3Zmcy5jbG91ZDkudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20KK3dlYnZpZXctYXNzZXRzLmNsb3VkOS51cy1lYXN0LTEuYW1hem9uYXdzLmNvbQordmZzLmNsb3VkOS51cy1lYXN0LTIuYW1hem9uYXdzLmNvbQord2Vidmlldy1hc3NldHMuY2xvdWQ5LnVzLWVhc3QtMi5hbWF6b25hd3MuY29tCit2ZnMuY2xvdWQ5LnVzLXdlc3QtMS5hbWF6b25hd3MuY29tCit3ZWJ2aWV3LWFzc2V0cy5jbG91ZDkudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20KK3Zmcy5jbG91ZDkudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20KK3dlYnZpZXctYXNzZXRzLmNsb3VkOS51cy13ZXN0LTIuYW1hem9uYXdzLmNvbQorCisvLyBBV1MgRWxhc3RpYyBCZWFuc3RhbGsKKy8vIFN1Ym1pdHRlZCBieSBMdWtlIFdlbGxzIDxwc2wtbWFpbnRhaW5lcnNAYW1hem9uLmNvbT4KKy8vIFJlZmVyZW5jZTogYWEyMDIzOTQtNDNhMC00ODU3LWIyNDUtOGRiMDQ1NDkxMzdlCitjbi1ub3J0aC0xLmViLmFtYXpvbmF3cy5jb20uY24KK2NuLW5vcnRod2VzdC0xLmViLmFtYXpvbmF3cy5jb20uY24KK2VsYXN0aWNiZWFuc3RhbGsuY29tCithcC1ub3J0aGVhc3QtMS5lbGFzdGljYmVhbnN0YWxrLmNvbQorYXAtbm9ydGhlYXN0LTIuZWxhc3RpY2JlYW5zdGFsay5jb20KK2FwLW5vcnRoZWFzdC0zLmVsYXN0aWNiZWFuc3RhbGsuY29tCithcC1zb3V0aC0xLmVsYXN0aWNiZWFuc3RhbGsuY29tCithcC1zb3V0aGVhc3QtMS5lbGFzdGljYmVhbnN0YWxrLmNvbQorYXAtc291dGhlYXN0LTIuZWxhc3RpY2JlYW5zdGFsay5jb20KK2NhLWNlbnRyYWwtMS5lbGFzdGljYmVhbnN0YWxrLmNvbQorZXUtY2VudHJhbC0xLmVsYXN0aWNiZWFuc3RhbGsuY29tCitldS13ZXN0LTEuZWxhc3RpY2JlYW5zdGFsay5jb20KK2V1LXdlc3QtMi5lbGFzdGljYmVhbnN0YWxrLmNvbQorZXUtd2VzdC0zLmVsYXN0aWNiZWFuc3RhbGsuY29tCitzYS1lYXN0LTEuZWxhc3RpY2JlYW5zdGFsay5jb20KK3VzLWVhc3QtMS5lbGFzdGljYmVhbnN0YWxrLmNvbQordXMtZWFzdC0yLmVsYXN0aWNiZWFuc3RhbGsuY29tCit1cy1nb3Ytd2VzdC0xLmVsYXN0aWNiZWFuc3RhbGsuY29tCit1cy13ZXN0LTEuZWxhc3RpY2JlYW5zdGFsay5jb20KK3VzLXdlc3QtMi5lbGFzdGljYmVhbnN0YWxrLmNvbQorCisvLyAoQVdTKSBFbGFzdGljIExvYWQgQmFsYW5jaW5nCisvLyBTdWJtaXR0ZWQgYnkgTHVrZSBXZWxscyA8cHNsLW1haW50YWluZXJzQGFtYXpvbi5jb20+CisvLyBSZWZlcmVuY2U6IDEyYTNkNTI4LTFiYWMtNDQzMy1hMzU5LWEzOTU4NjdmZmVkMgorKi5lbGIuYW1hem9uYXdzLmNvbS5jbgorKi5lbGIuYW1hem9uYXdzLmNvbQorCisvLyBBV1MgR2xvYmFsIEFjY2VsZXJhdG9yCisvLyBTdWJtaXR0ZWQgYnkgRGFuaWVsIE1hc3NhZ3VlciA8cHNsLW1haW50YWluZXJzQGFtYXpvbi5jb20+CisvLyBSZWZlcmVuY2U6IGQ5MTY3NTlkLWEwOGItNDI0MS1iNTM2LTRkYjg4NzM4M2E2YQorYXdzZ2xvYmFsYWNjZWxlcmF0b3IuY29tCisKKy8vIGVlcm8KKy8vIFN1Ym1pdHRlZCBieSBZdWUgS2FuZyA8ZWVyby1keW5hbWljLWRuc0BhbWF6b24uY29tPgorLy8gUmVmZXJlbmNlOiAyNjRhZmU3MC1mNjJjLTRjMDItOGFiOS1iNTI4MWVkMjQ0NjEKK2Vlcm8ub25saW5lCitlZXJvLXN0YWdlLm9ubGluZQorCisvLyBjb25jbHVkZXMgQW1hem9uCisKKy8vIEFtdW5lIDogaHR0cHM6Ly9hbXVuZS5vcmcvCisvLyBTdWJtaXR0ZWQgYnkgVGVhbSBBbXVuZSA8Y2VydEBhbXVuZS5vcmc+Cit0M2wzcDBydC5uZXQKK3RlbGUuYW11bmUub3JnCisKKy8vIEFwaWdlZSA6IGh0dHBzOi8vYXBpZ2VlLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBBcGlnZWUgU2VjdXJpdHkgVGVhbSA8c2VjdXJpdHlAYXBpZ2VlLmNvbT4KK2FwaWdlZS5pbworCisvLyBBcHBodWQgOiBodHRwczovL2FwcGh1ZC5jb20KKy8vIFN1Ym1pdHRlZCBieSBBbGV4YW5kZXIgU2VsaXZhbm92IDxhbGV4QGFwcGh1ZC5jb20+CitzaWlpdGVzLmNvbQorCisvLyBBcHBzcGFjZSA6IGh0dHBzOi8vd3d3LmFwcHNwYWNlLmNvbQorLy8gU3VibWl0dGVkIGJ5IEFwcHNwYWNlIFNlY3VyaXR5IFRlYW0gPHNlY3VyaXR5QGFwcHNwYWNlLmNvbT4KK2FwcHNwYWNlaG9zdGVkLmNvbQorYXBwc3BhY2V1c2VyY29udGVudC5jb20KKworLy8gQXBwdWRvIFVHIChoYWZ0dW5nc2Jlc2NocsOkbmt0KSA6IGh0dHBzOi8vd3d3LmFwcHVkby5jb20KKy8vIFN1Ym1pdHRlZCBieSBBbGV4YW5kZXIgSG9jaGJhdW0gPGFkbWluQGFwcHVkby5jb20+CithcHB1ZG8ubmV0CisKKy8vIEFwdGlibGUgOiBodHRwczovL3d3dy5hcHRpYmxlLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBUaG9tYXMgT3JvemNvIDx0aG9tYXNAYXB0aWJsZS5jb20+Citvbi1hcHRpYmxlLmNvbQorCisvLyBBU0VJTmV0IDogaHR0cHM6Ly93d3cuYXNlaW5ldC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQXNlaSBTRUtJR1VDSEkgPG1haWxAYXNlaW5ldC5jb20+Cit1c2VyLmFzZWluZXQubmUuanAKK2d2LnZjCitkLmd2LnZjCisKKy8vIEFzb2NpYWNpw7NuIEFtaWdvcyBkZSBsYSBJbmZvcm3DoXRpY2EgIkV1c2thbGFtaWdhIiA6IGh0dHA6Ly9lbmNvdW50ZXIuZXVzLworLy8gU3VibWl0dGVkIGJ5IEhlY3RvciBNYXJ0aW4gPG1hcmNhbkBldXNrYWxlbmNvdW50ZXIub3JnPgordXNlci5wYXJ0eS5ldXMKKworLy8gQXNzb2NpYXRpb24gcG90YWdlci5vcmcgOiBodHRwczovL3BvdGFnZXIub3JnLworLy8gU3VibWl0dGVkIGJ5IEx1bmFyIDxqYXJkaW5pZXJzQHBvdGFnZXIub3JnPgorcGltaWVudGEub3JnCitwb2l2cm9uLm9yZworcG90YWdlci5vcmcKK3N3ZWV0cGVwcGVyLm9yZworCisvLyBBU1VTVE9SIEluYy4gOiBodHRwOi8vd3d3LmFzdXN0b3IuY29tCisvLyBTdWJtaXR0ZWQgYnkgVmluY2VudCBUc2VuZyA8dmluY2VudHRzZW5nQGFzdXN0b3IuY29tPgorbXlhc3VzdG9yLmNvbQorCisvLyBBdGxhc3NpYW4gOiBodHRwczovL2F0bGFzc2lhbi5jb20KKy8vIFN1Ym1pdHRlZCBieSBTYW0gU215dGggPGRldmxvb3BAYXRsYXNzaWFuLmNvbT4KK2Nkbi5wcm9kLmF0bGFzc2lhbi1kZXYubmV0CisKKy8vIEF1dGhlbnRpY2sgVUcgKGhhZnR1bmdzYmVzY2hyw6Rua3QpIDogaHR0cHM6Ly9hdXRoZW50aWNrLm5ldAorLy8gU3VibWl0dGVkIGJ5IEx1a2FzIFJlc2Noa2UgPGx1a2FzQGF1dGhlbnRpY2submV0PgordHJhbnNsYXRlZC5wYWdlCisKKy8vIEFWTSA6IGh0dHBzOi8vYXZtLmRlCisvLyBTdWJtaXR0ZWQgYnkgQW5kcmVhcyBXZWlzZSA8YS53ZWlzZUBhdm0uZGU+CitteWZyaXR6Lm5ldAorCisvLyBBVlN0YWNrIFB0ZS4gTHRkLiA6IGh0dHBzOi8vYXZzdGFjay5pbworLy8gU3VibWl0dGVkIGJ5IEphc3BlciBIdWdvIDxqYXNwZXJAYXZzdGFjay5pbz4KK29uYXZzdGFjay5uZXQKKworLy8gQVcgQWR2aXNvcldlYnNpdGVzLmNvbSBTb2Z0d2FyZSBJbmMgOiBodHRwczovL2Fkdmlzb3J3ZWJzaXRlcy5jb20KKy8vIFN1Ym1pdHRlZCBieSBKYW1lcyBLZW5uZWR5IDxkb21haW5zQGFkdmlzb3J3ZWJzaXRlcy5jb20+CisqLmF3ZGV2LmNhCisqLmFkdmlzb3Iud3MKKworLy8gQVoucGwgc3AuIHouby5vOiBodHRwczovL2F6LnBsCisvLyBTdWJtaXR0ZWQgYnkgS3J6eXN6dG9mIFdvbHNraSA8a3J6eXN6dG9mLndvbHNraUBob21lLmV1PgorZWNvbW1lcmNlLXNob3AucGwKKworLy8gYi1kYXRhIEdtYkggOiBodHRwczovL3d3dy5iLWRhdGEuaW8KKy8vIFN1Ym1pdHRlZCBieSBPbGl2aWVyIEJlbnogPG9saXZpZXIuYmVuekBiLWRhdGEuY2g+CitiLWRhdGEuaW8KKworLy8gYmFja3BsYW5lIDogaHR0cHM6Ly93d3cuYmFja3BsYW5lLmlvCisvLyBTdWJtaXR0ZWQgYnkgQW50aG9ueSBWb3V0YXMgPGFudGhvbnlAYmFja3BsYW5lLmlvPgorYmFja3BsYW5lYXBwLmlvCisKKy8vIEJhbGVuYSA6IGh0dHBzOi8vd3d3LmJhbGVuYS5pbworLy8gU3VibWl0dGVkIGJ5IFBldHJvcyBBbmdlbGF0b3MgPHBldHJvc2FnZ0BiYWxlbmEuaW8+CitiYWxlbmEtZGV2aWNlcy5jb20KKworLy8gVW5pdmVyc2l0eSBvZiBCYW5qYSBMdWthIDogaHR0cHM6Ly91bmlibC5vcmcKKy8vIERvbWFpbnMgZm9yIFJlcHVibGljIG9mIFNycHNrYSBhZG1pbmlzdHJhdGl2ZSBlbnRpdHkuCisvLyBTdWJtaXR0ZWQgYnkgTWFya28gSXZhbm92aWMgPGtvcm1hbmdAaG90bWFpbC5ycz4KK3JzLmJhCisKKy8vIEJhbnphaSBDbG91ZAorLy8gU3VibWl0dGVkIGJ5IEphbm9zIE1hdHlhcyA8aW5mb0BiYW56YWljbG91ZC5jb20+CisqLmJhbnphaS5jbG91ZAorYXBwLmJhbnphaWNsb3VkLmlvCisqLmJhY2t5YXJkcy5iYW56YWljbG91ZC5pbworCisvLyBCQVNFLCBJbmMuIDogaHR0cHM6Ly9iaW5jLmpwCisvLyBTdWJtaXR0ZWQgYnkgWXV5YSBOQUdBU0FXQSA8cHVibGljLXN1ZmZpeC1saXN0QGJpbmMuanA+CitiYXNlLmVjCitvZmZpY2lhbC5lYworYnV5c2hvcC5qcAorZmFzaGlvbnN0b3JlLmpwCitoYW5kY3JhZnRlZC5qcAora2F3YWlpc2hvcC5qcAorc3VwZXJzYWxlLmpwCit0aGVzaG9wLmpwCitzaG9wc2VsZWN0Lm5ldAorYmFzZS5zaG9wCisKKy8vIEJlYWdsZUJvYXJkLm9yZyBGb3VuZGF0aW9uIDogaHR0cHM6Ly9iZWFnbGVib2FyZC5vcmcKKy8vIFN1Ym1pdHRlZCBieSBKYXNvbiBLcmlkbmVyIDxqa3JpZG5lckBiZWFnbGVib2FyZC5vcmc+CitiZWFnbGVib2FyZC5pbworCisvLyBCZWdldCBMdGQKKy8vIFN1Ym1pdHRlZCBieSBMZXYgTmVrcmFzb3YgPGxuZWtyYXNvdkBiZWdldC5jb20+CisqLmJlZ2V0LmFwcAorCisvLyBCZXRhSW5BQm94CisvLyBTdWJtaXR0ZWQgYnkgQWRyaWFuIDxhZHJpYW5AYmV0YWluYWJveC5jb20+CitiZXRhaW5hYm94LmNvbQorCisvLyBCaW5hcnlMYW5lIDogaHR0cDovL3d3dy5iaW5hcnlsYW5lLmNvbQorLy8gU3VibWl0dGVkIGJ5IE5hdGhhbiBPJ1N1bGxpdmFuIDxuYXRoYW5AbWFtbW90aC5jb20uYXU+CitibnIubGEKKworLy8gQml0YnVja2V0IDogaHR0cDovL2JpdGJ1Y2tldC5vcmcKKy8vIFN1Ym1pdHRlZCBieSBBbmR5IE9ydGxpZWIgPGFvcnRsaWViQGF0bGFzc2lhbi5jb20+CitiaXRidWNrZXQuaW8KKworLy8gQmxhY2tiYXVkLCBJbmMuIDogaHR0cHM6Ly93d3cuYmxhY2tiYXVkLmNvbQorLy8gU3VibWl0dGVkIGJ5IFBhdWwgQ3Jvd2RlciA8cGF1bC5jcm93ZGVyQGJsYWNrYmF1ZC5jb20+CitibGFja2JhdWRjZG4ubmV0CisKKy8vIEJsYXRlY2ggOiBodHRwOi8vd3d3LmJsYXRlY2gubmV0CisvLyBTdWJtaXR0ZWQgYnkgTHVrZSBCcmF0Y2ggPGx1a2VAYnJhdGNoLmNvLnVrPgorb2YuamUKKworLy8gQmx1ZSBCaXRlLCBMTEMgOiBodHRwczovL2JsdWViaXRlLmNvbQorLy8gU3VibWl0dGVkIGJ5IEpvc2h1YSBXZWlzcyA8YWRtaW4uZW5naW5lZXJpbmdAYmx1ZWJpdGUuY29tPgorYmx1ZWJpdGUuaW8KKworLy8gQm9vbWxhIDogaHR0cHM6Ly9ib29tbGEuY29tCisvLyBTdWJtaXR0ZWQgYnkgVGlib3IgSGFsdGVyIDx0aGFsdGVyQGJvb21sYS5jb20+Citib29tbGEubmV0CisKKy8vIEJvdXRpciA6IGh0dHBzOi8vd3d3LmJvdXRpci5jb20KKy8vIFN1Ym1pdHRlZCBieSBFcmljIE5nIEthIEthIDxuZ2tha2FAYm91dGlyLmNvbT4KK2JvdXRpci5jb20KKworLy8gQm94ZnVzZSA6IGh0dHBzOi8vYm94ZnVzZS5jb20KKy8vIFN1Ym1pdHRlZCBieSBBeGVsIEZvbnRhaW5lIDxheGVsQGJveGZ1c2UuY29tPgorYm94ZnVzZS5pbworCisvLyBicGxhY2VkIDogaHR0cHM6Ly93d3cuYnBsYWNlZC5uZXQvCisvLyBTdWJtaXR0ZWQgYnkgTWlyb3NsYXYgQm96aWMgPHNlY3VyaXR5QGJwbGFjZWQubmV0Pgorc3F1YXJlNy5jaAorYnBsYWNlZC5jb20KK2JwbGFjZWQuZGUKK3NxdWFyZTcuZGUKK2JwbGFjZWQubmV0CitzcXVhcmU3Lm5ldAorCisvLyBCcmVuZGx5IDogaHR0cHM6Ly9icmVuZGx5LnJzCisvLyBTdWJtaXR0ZWQgYnkgRHVzYW4gUmFkb3Zhbm92aWMgPGR1c2FuLnJhZG92YW5vdmljQGJyZW5kbHkucnM+CitzaG9wLmJyZW5kbHkucnMKKworLy8gQnJvd3NlclNhZmV0eU1hcmsKKy8vIFN1Ym1pdHRlZCBieSBEYXZlIFRoYXJwIDxicm93c2Vyc2FmZXR5bWFyay5pb0BxdWljaW5jLmNvbT4KK2Jyb3dzZXJzYWZldHltYXJrLmlvCisKKy8vIEJ5dGVtYXJrIEhvc3RpbmcgOiBodHRwczovL3d3dy5ieXRlbWFyay5jby51aworLy8gU3VibWl0dGVkIGJ5IFBhdWwgQ2FtbWlzaCA8cGF1bC5jYW1taXNoQGJ5dGVtYXJrLmNvLnVrPgordWswLmJpZ3YuaW8KK2RoLmJ5dGVtYXJrLmNvLnVrCit2bS5ieXRlbWFyay5jby51aworCisvLyBDYWYuanMgTGFicyBMTEMgOiBodHRwczovL3d3dy5jYWZqcy5jb20KKy8vIFN1Ym1pdHRlZCBieSBBbnRvbmlvIExhaW4gPGFudGxhaUBjYWZqcy5jb20+CitjYWZqcy5jb20KKworLy8gY2FsbGlkb211cyA6IGh0dHBzOi8vd3d3LmNhbGxpZG9tdXMuY29tLworLy8gU3VibWl0dGVkIGJ5IE1hcmN1cyBQb3BwIDxhZG1pbkBjYWxsaWRvbXVzLmNvbT4KK215Y2QuZXUKKworLy8gQ2FycmQgOiBodHRwczovL2NhcnJkLmNvCisvLyBTdWJtaXR0ZWQgYnkgQUogPGFqQGNhcnJkLmNvPgorZHJyLmFjCit1d3UuYWkKK2NhcnJkLmNvCitjcmQuY28KK2p1Lm1wCisKKy8vIENlbnRyYWxOaWMgOiBodHRwOi8vd3d3LmNlbnRyYWxuaWMuY29tL25hbWVzL2RvbWFpbnMKKy8vIFN1Ym1pdHRlZCBieSByZWdpc3RyeSA8Z2F2aW4uYnJvd25AY2VudHJhbG5pYy5jb20+CithZS5vcmcKK2JyLmNvbQorY24uY29tCitjb20uZGUKK2NvbS5zZQorZGUuY29tCitldS5jb20KK2diLm5ldAoraHUubmV0CitqcC5uZXQKK2pwbi5jb20KK21leC5jb20KK3J1LmNvbQorc2EuY29tCitzZS5uZXQKK3VrLmNvbQordWsubmV0Cit1cy5jb20KK3phLmJ6Cit6YS5jb20KKworLy8gTm8gbG9uZ2VyIG9wZXJhdGVkIGJ5IENlbnRyYWxOaWMsIHRoZXNlIGVudHJpZXMgc2hvdWxkIGJlIGFkb3B0ZWQgYW5kL29yIHJlbW92ZWQgYnkgY3VycmVudCBvcGVyYXRvcnMKKy8vIFN1Ym1pdHRlZCBieSBHYXZpbiBCcm93biA8Z2F2aW4uYnJvd25AY2VudHJhbG5pYy5jb20+Cithci5jb20KK2h1LmNvbQora3IuY29tCituby5jb20KK3FjLmNvbQordXkuY29tCisKKy8vIEFmcmljYS5jb20gV2ViIFNvbHV0aW9ucyBMdGQgOiBodHRwczovL3JlZ2lzdHJ5LmFmcmljYS5jb20KKy8vIFN1Ym1pdHRlZCBieSBHYXZpbiBCcm93biA8Z2F2aW4uYnJvd25AY2VudHJhbG5pYy5jb20+CithZnJpY2EuY29tCisKKy8vIGlET1QgU2VydmljZXMgTGltaXRlZCA6IGh0dHA6Ly93d3cuZG9tYWluLmdyLmNvbQorLy8gU3VibWl0dGVkIGJ5IEdhdmluIEJyb3duIDxnYXZpbi5icm93bkBjZW50cmFsbmljLmNvbT4KK2dyLmNvbQorCisvLyBSYWRpeCBGWkMgOiBodHRwOi8vZG9tYWlucy5pbi5uZXQKKy8vIFN1Ym1pdHRlZCBieSBHYXZpbiBCcm93biA8Z2F2aW4uYnJvd25AY2VudHJhbG5pYy5jb20+Citpbi5uZXQKK3dlYi5pbgorCisvLyBVUyBSRUdJU1RSWSBMTEMgOiBodHRwOi8vdXMub3JnCisvLyBTdWJtaXR0ZWQgYnkgR2F2aW4gQnJvd24gPGdhdmluLmJyb3duQGNlbnRyYWxuaWMuY29tPgordXMub3JnCisKKy8vIGNvLmNvbSBSZWdpc3RyeSwgTExDIDogaHR0cHM6Ly9yZWdpc3RyeS5jby5jb20KKy8vIFN1Ym1pdHRlZCBieSBHYXZpbiBCcm93biA8Z2F2aW4uYnJvd25AY2VudHJhbG5pYy5jb20+Citjby5jb20KKworLy8gUm9hciBEb21haW5zIExMQyA6IGh0dHBzOi8vcm9hci5iYXNrZXRiYWxsLworLy8gU3VibWl0dGVkIGJ5IEdhdmluIEJyb3duIDxnYXZpbi5icm93bkBjZW50cmFsbmljLmNvbT4KK2F1cy5iYXNrZXRiYWxsCituei5iYXNrZXRiYWxsCisKKy8vIEJSUyBNZWRpYSA6IGh0dHBzOi8vYnJzbWVkaWEuY29tLworLy8gU3VibWl0dGVkIGJ5IEdhdmluIEJyb3duIDxnYXZpbi5icm93bkBjZW50cmFsbmljLmNvbT4KK3JhZGlvLmFtCityYWRpby5mbQorCisvLyBjLmxhIDogaHR0cDovL3d3dy5jLmxhLworYy5sYQorCisvLyBjZXJ0bWdyLm9yZyA6IGh0dHBzOi8vY2VydG1nci5vcmcKKy8vIFN1Ym1pdHRlZCBieSBCLiBCbGVjaHNjaG1pZHQgPGhvc3RtYXN0ZXJAY2VydG1nci5vcmc+CitjZXJ0bWdyLm9yZworCisvLyBDaXR5aG9zdCBMTEMgIDogaHR0cHM6Ly9jaXR5aG9zdC51YQorLy8gU3VibWl0dGVkIGJ5IE1ha3N5bSBSaXZ0aW4gPHN1cHBvcnRAY2l0eWhvc3QubmV0LnVhPgorY3gudWEKKworLy8gQ2l2aWxpemVkIERpc2NvdXJzZSBDb25zdHJ1Y3Rpb24gS2l0LCBJbmMuIDogaHR0cHM6Ly93d3cuZGlzY291cnNlLm9yZy8KKy8vIFN1Ym1pdHRlZCBieSBSaXNoYWJoIE5hbWJpYXIgJiBNaWNoYWVsIEJyb3duIDx0ZWFtQGRpc2NvdXJzZS5vcmc+CitkaXNjb3Vyc2UuZ3JvdXAKK2Rpc2NvdXJzZS50ZWFtCisKKy8vIENsZXZlciBDbG91ZCA6IGh0dHBzOi8vd3d3LmNsZXZlci1jbG91ZC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgUXVlbnRpbiBBZGFtIDxub2NAY2xldmVyLWNsb3VkLmNvbT4KK2NsZXZlcmFwcHMuaW8KKworLy8gQ2xlcmsgOiBodHRwczovL3d3dy5jbGVyay5kZXYKKy8vIFN1Ym1pdHRlZCBieSBDb2xpbiBTaWRvdGkgPHN5c3RlbXNAY2xlcmsuZGV2PgorY2xlcmsuYXBwCitjbGVya3N0YWdlLmFwcAorKi5sY2wuZGV2CisqLmxjbHN0YWdlLmRldgorKi5zdGcuZGV2CisqLnN0Z3N0YWdlLmRldgorCisvLyBDbGlja1Jpc2luZyA6IGh0dHBzOi8vY2xpY2tyaXNpbmcuY29tLworLy8gU3VibWl0dGVkIGJ5IFVtdXQgR3VtZWxpIDxpbmZyYXN0cnVjdHVyZS1wdWJsaWNzdWZmaXhsaXN0QGNsaWNrcmlzaW5nLmNvbT4KK2NsaWNrcmlzaW5nLm5ldAorCisvLyBDbG91ZDY2IDogaHR0cHM6Ly93d3cuY2xvdWQ2Ni5jb20vCisvLyBTdWJtaXR0ZWQgYnkgS2hhc2ggU2FqYWRpIDxraGFzaEBjbG91ZDY2LmNvbT4KK2M2Ni5tZQorY2xvdWQ2Ni53cworY2xvdWQ2Ni56b25lCisKKy8vIENsb3VkQWNjZXNzLm5ldCA6IGh0dHBzOi8vd3d3LmNsb3VkYWNjZXNzLm5ldC8KKy8vIFN1Ym1pdHRlZCBieSBQYXdlbCBQYW5layA8bm9jQGNsb3VkYWNjZXNzLm5ldD4KK2pkZXZjbG91ZC5jb20KK3dwZGV2Y2xvdWQuY29tCitjbG91ZGFjY2Vzcy5ob3N0CitmcmVlc2l0ZS5ob3N0CitjbG91ZGFjY2Vzcy5uZXQKKworLy8gY2xvdWRDb250cm9sIDogaHR0cHM6Ly93d3cuY2xvdWRjb250cm9sLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBUb2JpYXMgV2lsa2VuIDx0d0BjbG91ZGNvbnRyb2wuY29tPgorY2xvdWRjb250cm9sbGVkLmNvbQorY2xvdWRjb250cm9sYXBwLmNvbQorCisvLyBDbG91ZGVyYSwgSW5jLiA6IGh0dHBzOi8vd3d3LmNsb3VkZXJhLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBLZWRhcm5hdGggV2Fpa2FyIDxzZWN1cml0eUBjbG91ZGVyYS5jb20+CisqLmNsb3VkZXJhLnNpdGUKKworLy8gQ2xvdWRmbGFyZSwgSW5jLiA6IGh0dHBzOi8vd3d3LmNsb3VkZmxhcmUuY29tLworLy8gU3VibWl0dGVkIGJ5IENsb3VkZmxhcmUgVGVhbSA8cHVibGljc3VmZml4bGlzdEBjbG91ZGZsYXJlLmNvbT4KK3BhZ2VzLmRldgordHJ5Y2xvdWRmbGFyZS5jb20KK3dvcmtlcnMuZGV2CisKKy8vIENsb3Z5ciA6IGh0dHBzOi8vY2xvdnlyLmlvCisvLyBTdWJtaXR0ZWQgYnkgUGF0cmljayBOaWVsc2VuIDxwYXRyaWNrQGNsb3Z5ci5pbz4KK3duZXh0LmFwcAorCisvLyBjby5jYSA6IGh0dHA6Ly9yZWdpc3RyeS5jby5jYS8KK2NvLmNhCisKKy8vIENvICYgQ28gOiBodHRwczovL2NvLWNvLm5sLworLy8gU3VibWl0dGVkIGJ5IEdvdmVydCBWZXJzbHVpcyA8Z292ZXJ0QGNvLWNvLm5sPgorKi5vdGFwLmNvCisKKy8vIGktcmVnaXN0cnkgcy5yLm8uIDogaHR0cDovL3d3dy5pLXJlZ2lzdHJ5LmN6LworLy8gU3VibWl0dGVkIGJ5IE1hcnRpbiBTZW1yYWQgPHNlbXJhZEBpLXJlZ2lzdHJ5LmN6PgorY28uY3oKKworLy8gQ0RONzcuY29tIDogaHR0cDovL3d3dy5jZG43Ny5jb20KKy8vIFN1Ym1pdHRlZCBieSBKYW4gS3JwZXMgPGphbi5rcnBlc0BjZG43Ny5jb20+CitjLmNkbjc3Lm9yZworY2RuNzctc3NsLm5ldAorci5jZG43Ny5uZXQKK3JzYy5jZG43Ny5vcmcKK3NzbC5vcmlnaW4uY2RuNzctc2VjdXJlLm9yZworCisvLyBDbG91ZCBETlMgTHRkIDogaHR0cDovL3d3dy5jbG91ZG5zLm5ldAorLy8gU3VibWl0dGVkIGJ5IEFsZWtzYW5kZXIgSHJpc3RvdiA8bm9jQGNsb3VkbnMubmV0PgorY2xvdWRucy5hc2lhCitjbG91ZG5zLmJpegorY2xvdWRucy5jbHViCitjbG91ZG5zLmNjCitjbG91ZG5zLmV1CitjbG91ZG5zLmluCitjbG91ZG5zLmluZm8KK2Nsb3VkbnMub3JnCitjbG91ZG5zLnBybworY2xvdWRucy5wdworY2xvdWRucy51cworCisvLyBDTlBZIDogaHR0cHM6Ly9jbnB5LmdkbgorLy8gU3VibWl0dGVkIGJ5IEFuZ2VsbyBHbGFkZGluZyA8YW5nZWxvQGxhaGFja2VyLm5ldD4KK2NucHkuZ2RuCisKKy8vIENvZGViZXJnIGUuIFYuIDogaHR0cHM6Ly9jb2RlYmVyZy5vcmcKKy8vIFN1Ym1pdHRlZCBieSBNb3JpdHogTWFycXVhcmR0IDxnaXRAbW9tYXIuZGU+Citjb2RlYmVyZy5wYWdlCisKKy8vIENvRE5TIEIuVi4KK2NvLm5sCitjby5ubworCisvLyBDb21iZWxsLmNvbSA6IGh0dHBzOi8vd3d3LmNvbWJlbGwuY29tCisvLyBTdWJtaXR0ZWQgYnkgVGhvbWFzIFdvdXRlcnMgPHRob21hcy53b3V0ZXJzQGNvbWJlbGxncm91cC5jb20+Cit3ZWJob3N0aW5nLmJlCitob3N0aW5nLWNsdXN0ZXIubmwKKworLy8gQ29vcmRpbmF0aW9uIENlbnRlciBmb3IgVExEIFJVIGFuZCBYTi0tUDFBSSA6IGh0dHBzOi8vY2N0bGQucnUvZW4vZG9tYWlucy9kb21lbnNfcnUvcmVzZXJ2ZWQvCisvLyBTdWJtaXR0ZWQgYnkgR2VvcmdlIEdlb3JnaWV2c2t5IDxndWdAY2N0bGQucnU+CithYy5ydQorZWR1LnJ1Citnb3YucnUKK2ludC5ydQorbWlsLnJ1Cit0ZXN0LnJ1CisKKy8vIENPU0lNTyBHbWJIIDogaHR0cDovL3d3dy5jb3NpbW8uZGUKKy8vIFN1Ym1pdHRlZCBieSBSZW5lIE1hcnRpY2tlIDxybWFydGlja2VAY29zaW1vLmRlPgorZHluLmNvc2lkbnMuZGUKK2R5bmFtaXNjaGVzLWRucy5kZQorZG5zdXBkYXRlci5kZQoraW50ZXJuZXQtZG5zLmRlCitsLW8tZy1pLW4uZGUKK2R5bmFtaWMtZG5zLmluZm8KK2Zlc3RlLWlwLm5ldAora254LXNlcnZlci5uZXQKK3N0YXRpYy1hY2Nlc3MubmV0CisKKy8vIENyYXluaWMsIHMuci5vLiA6IGh0dHA6Ly93d3cuY3JheW5pYy5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQWxlcyBLcmFqbmlrIDxhbGVzLmtyYWpuaWtAY3JheW5pYy5jb20+CityZWFsbS5jegorCisvLyBDcnlwdG9ub21pYyA6IGh0dHBzOi8vY3J5cHRvbm9taWMubmV0LworLy8gU3VibWl0dGVkIGJ5IEFuZHJldyBDYWR5IDxwdWJsaWMtc3VmZml4LWxpc3RAY3J5cHRvbm9taWMubmV0PgorKi5jcnlwdG9ub21pYy5uZXQKKworLy8gQ3VwY2FrZSA6IGh0dHBzOi8vY3VwY2FrZS5pby8KKy8vIFN1Ym1pdHRlZCBieSBKb25hdGhhbiBSdWRlbmJlcmcgPGpvbmF0aGFuQGN1cGNha2UuaW8+CitjdXBjYWtlLmlzCisKKy8vIEN1cnYgVUcgOiBodHRwczovL2N1cnYtbGFicy5kZS8KKy8vIFN1Ym1pdHRlZCBieSBNYXJ2aW4gV2llc25lciA8TWFydmluQGN1cnYtbGFicy5kZT4KK2N1cnYuZGV2CisKKy8vIEN1c3RvbWVyIE9DSSAtIE9yYWNsZSBEeW4gaHR0cHM6Ly9jbG91ZC5vcmFjbGUuY29tL2hvbWUgaHR0cHM6Ly9keW4uY29tL2Rucy8KKy8vIFN1Ym1pdHRlZCBieSBHcmVnb3J5IERyYWtlIDxzdXBwb3J0QGR5bi5jb20+CisvLyBOb3RlOiBUaGlzIGlzIGludGVuZGVkIHRvIGFsc28gaW5jbHVkZSBjdXN0b21lci1vY2kuY29tIGR1ZSB0byB3aWxkY2FyZHMgaW1wbGljaXRseSBpbmNsdWRpbmcgdGhlIGN1cnJlbnQgbGFiZWwKKyouY3VzdG9tZXItb2NpLmNvbQorKi5vY2kuY3VzdG9tZXItb2NpLmNvbQorKi5vY3AuY3VzdG9tZXItb2NpLmNvbQorKi5vY3MuY3VzdG9tZXItb2NpLmNvbQorCisvLyBjeW9uIEdtYkggOiBodHRwczovL3d3dy5jeW9uLmNoLworLy8gU3VibWl0dGVkIGJ5IERvbWluaWMgTHVlY2hpbmdlciA8ZG9sQGN5b24uY2g+CitjeW9uLmxpbmsKK2N5b24uc2l0ZQorCisvLyBEYW5nZXIgU2NpZW5jZSBHcm91cDogaHR0cHM6Ly9kYW5nZXJzY2llbmNlLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBTa3lsYXIgTWFjRG9uYWxkIDxza3lsYXJAZGFuZ2Vyc2NpZW5jZS5jb20+CitmbndrLnNpdGUKK2ZvbGlvbmV0d29yay5zaXRlCitwbGF0Zm9ybTAuYXBwCisKKy8vIERhcGxpZSwgSW5jIDogaHR0cHM6Ly9kYXBsaWUuY29tCisvLyBTdWJtaXR0ZWQgYnkgQUogT05lYWwgPGFqQGRhcGxpZS5jb20+CitkYXBsaWUubWUKK2xvY2FsaG9zdC5kYXBsaWUubWUKKworLy8gRGF0dG8sIEluYy4gOiBodHRwczovL3d3dy5kYXR0by5jb20vCisvLyBTdWJtaXR0ZWQgYnkgUGhpbGlwcCBIZWNrZWwgPHBoQGRhdHRvLmNvbT4KK2RhdHRvbG9jYWwuY29tCitkYXR0b3JlbGF5LmNvbQorZGF0dG93ZWIuY29tCitteWRhdHRvLmNvbQorZGF0dG9sb2NhbC5uZXQKK215ZGF0dG8ubmV0CisKKy8vIERhbnNrLm5ldCA6IGh0dHA6Ly93d3cuZGFuc2submV0LworLy8gU3VibWl0dGVkIGJ5IEFuYW5pIFZvdWxlIDxkaWdpdGFsQGRpZ2l0YWwuY28uZGs+CitiaXouZGsKK2NvLmRrCitmaXJtLmRrCityZWcuZGsKK3N0b3JlLmRrCisKKy8vIGRhcHBub2RlLmlvIDogaHR0cHM6Ly9kYXBwbm9kZS5pby8KKy8vIFN1Ym1pdHRlZCBieSBBYmVsIEJvbGR1IC8gREFwcE5vZGUgVGVhbSA8Y29tbXVuaXR5QGRhcHBub2RlLmlvPgorZHluZG5zLmRhcHBub2RlLmlvCisKKy8vIGRhcHBzLmVhcnRoIDogaHR0cHM6Ly9kYXBwcy5lYXJ0aC8KKy8vIFN1Ym1pdHRlZCBieSBEYW5paWwgQnVyZGFrb3YgPGljcWtpbGxAZ21haWwuY29tPgorKi5kYXBwcy5lYXJ0aAorKi5ienouZGFwcHMuZWFydGgKKworLy8gRGFyaywgSW5jLiA6IGh0dHBzOi8vZGFya2xhbmcuY29tCisvLyBTdWJtaXR0ZWQgYnkgUGF1bCBCaWdnYXIgPG9wc0BkYXJrbGFuZy5jb20+CitidWlsdHdpdGhkYXJrLmNvbQorCisvLyBEYXRhRGV0ZWN0LCBMTEMuIDogaHR0cHM6Ly9kYXRhZGV0ZWN0LmNvbQorLy8gU3VibWl0dGVkIGJ5IEFuZHJldyBCYW5jaGljaCA8YWJhbmNoaWNoQHNjZXZlbi5jb20+CitkZW1vLmRhdGFkZXRlY3QuY29tCitpbnN0YW5jZS5kYXRhZGV0ZWN0LmNvbQorCisvLyBEYXRhd2lyZSwgSW5jIDogaHR0cHM6Ly93d3cuZGF0YXdpcmUuaW8KKy8vIFN1Ym1pdHRlZCBieSBSaWNoYXJkIExpIDxzZWNhbGVydEBkYXRhd2lyZS5pbz4KK2VkZ2VzdGFjay5tZQorCisvLyBERE5TNSA6IGh0dHBzOi8vZGRuczUuY29tCisvLyBTdWJtaXR0ZWQgYnkgQ2FtZXJvbiBFbGxpb3R0IDxjYW1lcm9uQGNhbWVyb25lbGxpb3R0LmNvbT4KK2RkbnM1LmNvbQorCisvLyBEZWJpYW4gOiBodHRwczovL3d3dy5kZWJpYW4ub3JnLworLy8gU3VibWl0dGVkIGJ5IFBldGVyIFBhbGZyYWRlciAvIERlYmlhbiBTeXNhZG1pbiBUZWFtIDxkc2EtcHVibGljc3VmZml4bGlzdEBkZWJpYW4ub3JnPgorZGViaWFuLm5ldAorCisvLyBEZW5vIExhbmQgSW5jIDogaHR0cHM6Ly9kZW5vLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBMdWNhIENhc29uYXRvIDxob3N0bWFzdGVyQGRlbm8uY29tPgorZGVuby5kZXYKK2Rlbm8tc3RhZ2luZy5kZXYKKworLy8gZGVTRUMgOiBodHRwczovL2Rlc2VjLmlvLworLy8gU3VibWl0dGVkIGJ5IFBldGVyIFRob21hc3NlbiA8cGV0ZXJAZGVzZWMuaW8+CitkZWR5bi5pbworCisvLyBEZXRhOiBodHRwczovL3d3dy5kZXRhLnNoLworLy8gU3VibWl0dGVkIGJ5IEFhdmFzaCBTaHJlc3RoYSA8YWF2YXNoQGRldGEuc2g+CitkZXRhLmFwcAorZGV0YS5kZXYKKworLy8gRGloZXIgU29sdXRpb25zIDogaHR0cHM6Ly9kaWhlci5zb2x1dGlvbnMKKy8vIFN1Ym1pdHRlZCBieSBEaWRpIEhlcm1hd2FuIDxtYWlsQGRpaGVyLnNvbHV0aW9ucz4KKyoucnNzLm15LmlkCisqLmRpaGVyLnNvbHV0aW9ucworCisvLyBEaXNjb3JkIEluYyA6IGh0dHBzOi8vZGlzY29yZC5jb20KKy8vIFN1Ym1pdHRlZCBieSBTYWhuIExhbSA8c2xhbUBkaXNjb3JkYXBwLmNvbT4KK2Rpc2NvcmRzYXlzLmNvbQorZGlzY29yZHNlei5jb20KKworLy8gRE5TIEFmcmljYSBMdGQgaHR0cHM6Ly9kbnMuYnVzaW5lc3MKKy8vIFN1Ym1pdHRlZCBieSBDYWx2aW4gQnJvd25lIDxjYWx2aW5AZG5zLmJ1c2luZXNzPgoram96aS5iaXoKKworLy8gRE5TaG9tZSA6IGh0dHBzOi8vd3d3LmRuc2hvbWUuZGUvCisvLyBTdWJtaXR0ZWQgYnkgTm9yYmVydCBBdWxlciA8bWFpbEBkbnNob21lLmRlPgorZG5zaG9tZS5kZQorCisvLyBEb3RBcmFpIDogaHR0cHM6Ly93d3cuZG90YXJhaS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQXRzYWRhd2F0IE5ldGNoYXJhZHNhbmcgPGF0c2FkYXdhdEBkb3RhcmFpLmNvLnRoPgorb25saW5lLnRoCitzaG9wLnRoCisKKy8vIERyYXlUZWsgQ29ycC4gOiBodHRwczovL3d3dy5kcmF5dGVrLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBQYXVsIEZhbmcgPG1pc0BkcmF5dGVrLmNvbT4KK2RyYXlkZG5zLmNvbQorCisvLyBEcmVhbUNvbW1lcmNlIDogaHR0cHM6Ly9zaG9wZXIucGwvCisvLyBTdWJtaXR0ZWQgYnkgS29ucmFkIEtvdGFyYmEgPGtvbnJhZC5rb3RhcmJhQGRyZWFtY29tbWVyY2UuY29tPgorc2hvcGFyZW5hLnBsCisKKy8vIERyZWFtSG9zdCA6IGh0dHA6Ly93d3cuZHJlYW1ob3N0LmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBBbmRyZXcgRmFybWVyIDxhbmRyZXcuZmFybWVyQGRyZWFtaG9zdC5jb20+CitkcmVhbWhvc3RlcnMuY29tCisKKy8vIERyb2JvIDogaHR0cDovL3d3dy5kcm9iby5jb20vCisvLyBTdWJtaXR0ZWQgYnkgUmljYXJkbyBQYWRpbGhhIDxycGFkaWxoYUBkcm9iby5jb20+CitteWRyb2JvLmNvbQorCisvLyBEcnVkIEhvbGRpbmdzLCBMTEMuIDogaHR0cHM6Ly93d3cuZHJ1ZC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgS2V2aW4gQnJpZGdlcyA8a2V2aW5AZHJ1ZC5jb20+CitkcnVkLmlvCitkcnVkLnVzCisKKy8vIER1Y2tETlMgOiBodHRwOi8vd3d3LmR1Y2tkbnMub3JnLworLy8gU3VibWl0dGVkIGJ5IFJpY2hhcmQgSGFycGVyIDxyaWNoYXJkQGR1Y2tkbnMub3JnPgorZHVja2Rucy5vcmcKKworLy8gQmlwIDogaHR0cHM6Ly9iaXAuc2gKKy8vIFN1Ym1pdHRlZCBieSBKb2VsIEtlbm5lZHkgPGpvZWxAYmlwLnNoPgorYmlwLnNoCisKKy8vIGJpdGJyaWRnZS5uZXQgOiBTdWJtaXR0ZWQgYnkgQ3JhaWcgV2VsY2gsIGFiZWxpaWRldkBnbWFpbC5jb20KK2JpdGJyaWRnZS5uZXQKKworLy8gZHkuZmkgOiBodHRwOi8vZHkuZmkvCisvLyBTdWJtaXR0ZWQgYnkgSGVpa2tpIEhhbm5pa2FpbmVuIDxoZXNzdUBoZXMuaWtpLmZpPgorZHkuZmkKK3R1bmsub3JnCisKKy8vIER5bkROUy5jb20gOiBodHRwOi8vd3d3LmR5bmRucy5jb20vc2VydmljZXMvZG5zL2R5bmRucy8KK2R5bmRucy1hdC1ob21lLmNvbQorZHluZG5zLWF0LXdvcmsuY29tCitkeW5kbnMtYmxvZy5jb20KK2R5bmRucy1mcmVlLmNvbQorZHluZG5zLWhvbWUuY29tCitkeW5kbnMtaXAuY29tCitkeW5kbnMtbWFpbC5jb20KK2R5bmRucy1vZmZpY2UuY29tCitkeW5kbnMtcGljcy5jb20KK2R5bmRucy1yZW1vdGUuY29tCitkeW5kbnMtc2VydmVyLmNvbQorZHluZG5zLXdlYi5jb20KK2R5bmRucy13aWtpLmNvbQorZHluZG5zLXdvcmsuY29tCitkeW5kbnMuYml6CitkeW5kbnMuaW5mbworZHluZG5zLm9yZworZHluZG5zLnR2CithdC1iYW5kLWNhbXAubmV0CithdGguY3gKK2JhcnJlbC1vZi1rbm93bGVkZ2UuaW5mbworYmFycmVsbC1vZi1rbm93bGVkZ2UuaW5mbworYmV0dGVyLXRoYW4udHYKK2Jsb2dkbnMuY29tCitibG9nZG5zLm5ldAorYmxvZ2Rucy5vcmcKK2Jsb2dzaXRlLm9yZworYm9sZGx5Z29pbmdub3doZXJlLm9yZworYnJva2UtaXQubmV0CitidXlzaG91c2VzLm5ldAorY2VjaGlyZS5jb20KK2Ruc2FsaWFzLmNvbQorZG5zYWxpYXMubmV0CitkbnNhbGlhcy5vcmcKK2Ruc2Rvam8uY29tCitkbnNkb2pvLm5ldAorZG5zZG9qby5vcmcKK2RvZXMtaXQubmV0Citkb2VzbnRleGlzdC5jb20KK2RvZXNudGV4aXN0Lm9yZworZG9udGV4aXN0LmNvbQorZG9udGV4aXN0Lm5ldAorZG9udGV4aXN0Lm9yZworZG9vbWRucy5jb20KK2Rvb21kbnMub3JnCitkdnJkbnMub3JnCitkeW4tby1zYXVyLmNvbQorZHluYWxpYXMuY29tCitkeW5hbGlhcy5uZXQKK2R5bmFsaWFzLm9yZworZHluYXRob21lLm5ldAorZHluZG5zLndzCitlbmRvZmludGVybmV0Lm5ldAorZW5kb2ZpbnRlcm5ldC5vcmcKK2VuZG9mdGhlaW50ZXJuZXQub3JnCitlc3QtYS1sYS1tYWlzb24uY29tCitlc3QtYS1sYS1tYXNpb24uY29tCitlc3QtbGUtcGF0cm9uLmNvbQorZXN0LW1vbi1ibG9ndWV1ci5jb20KK2Zvci1iZXR0ZXIuYml6Citmb3ItbW9yZS5iaXoKK2Zvci1vdXIuaW5mbworZm9yLXNvbWUuYml6Citmb3ItdGhlLmJpegorZm9yZ290Lmhlci5uYW1lCitmb3Jnb3QuaGlzLm5hbWUKK2Zyb20tYWsuY29tCitmcm9tLWFsLmNvbQorZnJvbS1hci5jb20KK2Zyb20tYXoubmV0Citmcm9tLWNhLmNvbQorZnJvbS1jby5uZXQKK2Zyb20tY3QuY29tCitmcm9tLWRjLmNvbQorZnJvbS1kZS5jb20KK2Zyb20tZmwuY29tCitmcm9tLWdhLmNvbQorZnJvbS1oaS5jb20KK2Zyb20taWEuY29tCitmcm9tLWlkLmNvbQorZnJvbS1pbC5jb20KK2Zyb20taW4uY29tCitmcm9tLWtzLmNvbQorZnJvbS1reS5jb20KK2Zyb20tbGEubmV0Citmcm9tLW1hLmNvbQorZnJvbS1tZC5jb20KK2Zyb20tbWUub3JnCitmcm9tLW1pLmNvbQorZnJvbS1tbi5jb20KK2Zyb20tbW8uY29tCitmcm9tLW1zLmNvbQorZnJvbS1tdC5jb20KK2Zyb20tbmMuY29tCitmcm9tLW5kLmNvbQorZnJvbS1uZS5jb20KK2Zyb20tbmguY29tCitmcm9tLW5qLmNvbQorZnJvbS1ubS5jb20KK2Zyb20tbnYuY29tCitmcm9tLW55Lm5ldAorZnJvbS1vaC5jb20KK2Zyb20tb2suY29tCitmcm9tLW9yLmNvbQorZnJvbS1wYS5jb20KK2Zyb20tcHIuY29tCitmcm9tLXJpLmNvbQorZnJvbS1zYy5jb20KK2Zyb20tc2QuY29tCitmcm9tLXRuLmNvbQorZnJvbS10eC5jb20KK2Zyb20tdXQuY29tCitmcm9tLXZhLmNvbQorZnJvbS12dC5jb20KK2Zyb20td2EuY29tCitmcm9tLXdpLmNvbQorZnJvbS13di5jb20KK2Zyb20td3kuY29tCitmdHBhY2Nlc3MuY2MKK2Z1ZXR0ZXJ0ZGFzbmV0ei5kZQorZ2FtZS1ob3N0Lm9yZworZ2FtZS1zZXJ2ZXIuY2MKK2dldG15aXAuY29tCitnZXRzLWl0Lm5ldAorZ28uZHluZG5zLm9yZworZ290ZG5zLmNvbQorZ290ZG5zLm9yZworZ3Jva3MtdGhlLmluZm8KK2dyb2tzLXRoaXMuaW5mbworaGFtLXJhZGlvLW9wLm5ldAoraGVyZS1mb3ItbW9yZS5pbmZvCitob2JieS1zaXRlLmNvbQoraG9iYnktc2l0ZS5vcmcKK2hvbWUuZHluZG5zLm9yZworaG9tZWRucy5vcmcKK2hvbWVmdHAubmV0Citob21lZnRwLm9yZworaG9tZWlwLm5ldAoraG9tZWxpbnV4LmNvbQoraG9tZWxpbnV4Lm5ldAoraG9tZWxpbnV4Lm9yZworaG9tZXVuaXguY29tCitob21ldW5peC5uZXQKK2hvbWV1bml4Lm9yZworaWFtYWxsYW1hLmNvbQoraW4tdGhlLWJhbmQubmV0Citpcy1hLWFuYXJjaGlzdC5jb20KK2lzLWEtYmxvZ2dlci5jb20KK2lzLWEtYm9va2tlZXBlci5jb20KK2lzLWEtYnJ1aW5zZmFuLm9yZworaXMtYS1idWxscy1mYW4uY29tCitpcy1hLWNhbmRpZGF0ZS5vcmcKK2lzLWEtY2F0ZXJlci5jb20KK2lzLWEtY2VsdGljc2Zhbi5vcmcKK2lzLWEtY2hlZi5jb20KK2lzLWEtY2hlZi5uZXQKK2lzLWEtY2hlZi5vcmcKK2lzLWEtY29uc2VydmF0aXZlLmNvbQoraXMtYS1jcGEuY29tCitpcy1hLWN1YmljbGUtc2xhdmUuY29tCitpcy1hLWRlbW9jcmF0LmNvbQoraXMtYS1kZXNpZ25lci5jb20KK2lzLWEtZG9jdG9yLmNvbQoraXMtYS1maW5hbmNpYWxhZHZpc29yLmNvbQoraXMtYS1nZWVrLmNvbQoraXMtYS1nZWVrLm5ldAoraXMtYS1nZWVrLm9yZworaXMtYS1ncmVlbi5jb20KK2lzLWEtZ3VydS5jb20KK2lzLWEtaGFyZC13b3JrZXIuY29tCitpcy1hLWh1bnRlci5jb20KK2lzLWEta25pZ2h0Lm9yZworaXMtYS1sYW5kc2NhcGVyLmNvbQoraXMtYS1sYXd5ZXIuY29tCitpcy1hLWxpYmVyYWwuY29tCitpcy1hLWxpYmVydGFyaWFuLmNvbQoraXMtYS1saW51eC11c2VyLm9yZworaXMtYS1sbGFtYS5jb20KK2lzLWEtbXVzaWNpYW4uY29tCitpcy1hLW5hc2NhcmZhbi5jb20KK2lzLWEtbnVyc2UuY29tCitpcy1hLXBhaW50ZXIuY29tCitpcy1hLXBhdHNmYW4ub3JnCitpcy1hLXBlcnNvbmFsdHJhaW5lci5jb20KK2lzLWEtcGhvdG9ncmFwaGVyLmNvbQoraXMtYS1wbGF5ZXIuY29tCitpcy1hLXJlcHVibGljYW4uY29tCitpcy1hLXJvY2tzdGFyLmNvbQoraXMtYS1zb2NpYWxpc3QuY29tCitpcy1hLXNveGZhbi5vcmcKK2lzLWEtc3R1ZGVudC5jb20KK2lzLWEtdGVhY2hlci5jb20KK2lzLWEtdGVjaGllLmNvbQoraXMtYS10aGVyYXBpc3QuY29tCitpcy1hbi1hY2NvdW50YW50LmNvbQoraXMtYW4tYWN0b3IuY29tCitpcy1hbi1hY3RyZXNzLmNvbQoraXMtYW4tYW5hcmNoaXN0LmNvbQoraXMtYW4tYXJ0aXN0LmNvbQoraXMtYW4tZW5naW5lZXIuY29tCitpcy1hbi1lbnRlcnRhaW5lci5jb20KK2lzLWJ5LnVzCitpcy1jZXJ0aWZpZWQuY29tCitpcy1mb3VuZC5vcmcKK2lzLWdvbmUuY29tCitpcy1pbnRvLWFuaW1lLmNvbQoraXMtaW50by1jYXJzLmNvbQoraXMtaW50by1jYXJ0b29ucy5jb20KK2lzLWludG8tZ2FtZXMuY29tCitpcy1sZWV0LmNvbQoraXMtbG9zdC5vcmcKK2lzLW5vdC1jZXJ0aWZpZWQuY29tCitpcy1zYXZlZC5vcmcKK2lzLXNsaWNrLmNvbQoraXMtdWJlcmxlZXQuY29tCitpcy12ZXJ5LWJhZC5vcmcKK2lzLXZlcnktZXZpbC5vcmcKK2lzLXZlcnktZ29vZC5vcmcKK2lzLXZlcnktbmljZS5vcmcKK2lzLXZlcnktc3dlZXQub3JnCitpcy13aXRoLXRoZWJhbmQuY29tCitpc2EtZ2Vlay5jb20KK2lzYS1nZWVrLm5ldAoraXNhLWdlZWsub3JnCitpc2EtaG9ja2V5bnV0LmNvbQoraXNzbWFydGVydGhhbnlvdS5jb20KK2lzdGVpbmdlZWsuZGUKK2lzdG1laW4uZGUKK2tpY2tzLWFzcy5uZXQKK2tpY2tzLWFzcy5vcmcKK2tub3dzaXRhbGwuaW5mbworbGFuZC00LXNhbGUudXMKK2xlYnRpbW5ldHouZGUKK2xlaXR1bmdzZW4uZGUKK2xpa2VzLXBpZS5jb20KK2xpa2VzY2FuZHkuY29tCittZXJzZWluZS5udQorbWluZS5udQorbWlzY29uZnVzZWQub3JnCitteXBldHMud3MKK215cGhvdG9zLmNjCituZWF0LXVybC5jb20KK29mZmljZS1vbi10aGUubmV0Citvbi10aGUtd2ViLnR2Citwb2R6b25lLm5ldAorcG9kem9uZS5vcmcKK3JlYWRteWJsb2cub3JnCitzYXZlcy10aGUtd2hhbGVzLmNvbQorc2NyYXBwZXItc2l0ZS5uZXQKK3NjcmFwcGluZy5jYworc2VsZmlwLmJpegorc2VsZmlwLmNvbQorc2VsZmlwLmluZm8KK3NlbGZpcC5uZXQKK3NlbGZpcC5vcmcKK3NlbGxzLWZvci1sZXNzLmNvbQorc2VsbHMtZm9yLXUuY29tCitzZWxscy1pdC5uZXQKK3NlbGxzeW91cmhvbWUub3JnCitzZXJ2ZWJicy5jb20KK3NlcnZlYmJzLm5ldAorc2VydmViYnMub3JnCitzZXJ2ZWZ0cC5uZXQKK3NlcnZlZnRwLm9yZworc2VydmVnYW1lLm9yZworc2hhY2tuZXQubnUKK3NpbXBsZS11cmwuY29tCitzcGFjZS10by1yZW50LmNvbQorc3R1ZmYtNC1zYWxlLm9yZworc3R1ZmYtNC1zYWxlLnVzCit0ZWFjaGVzLXlvZ2EuY29tCit0aHJ1aGVyZS5uZXQKK3RyYWV1bXRnZXJhZGUuZGUKK3dlYmhvcC5iaXoKK3dlYmhvcC5pbmZvCit3ZWJob3AubmV0Cit3ZWJob3Aub3JnCit3b3JzZS10aGFuLnR2Cit3cml0ZXN0aGlzYmxvZy5jb20KKworLy8gZGRuc3MuZGUgOiBodHRwczovL3d3dy5kZG5zcy5kZS8KKy8vIFN1Ym1pdHRlZCBieSBSb2JlcnQgTmllZHppZWxhIDx3ZWJtYXN0ZXJAZGRuc3MuZGU+CitkZG5zcy5kZQorZHluLmRkbnNzLmRlCitkeW5kbnMuZGRuc3MuZGUKK2R5bmRuczEuZGUKK2R5bi1pcDI0LmRlCitob21lLXdlYnNlcnZlci5kZQorZHluLmhvbWUtd2Vic2VydmVyLmRlCitteWhvbWUtc2VydmVyLmRlCitkZG5zcy5vcmcKKworLy8gRGVmaW5pbWEgOiBodHRwOi8vd3d3LmRlZmluaW1hLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBNYXhlbmNlIEJpdHRlcmxpIDxtYXhlbmNlQGRlZmluaW1hLmNvbT4KK2RlZmluaW1hLm5ldAorZGVmaW5pbWEuaW8KKworLy8gRGlnaXRhbE9jZWFuIEFwcCBQbGF0Zm9ybSA6IGh0dHBzOi8vd3d3LmRpZ2l0YWxvY2Vhbi5jb20vcHJvZHVjdHMvYXBwLXBsYXRmb3JtLworLy8gU3VibWl0dGVkIGJ5IEJyYXh0b24gSHVnZ2lucyA8cHNsLW1haW50YWluZXJzQGRpZ2l0YWxvY2Vhbi5jb20+CitvbmRpZ2l0YWxvY2Vhbi5hcHAKKworLy8gRGlnaXRhbE9jZWFuIFNwYWNlcyA6IGh0dHBzOi8vd3d3LmRpZ2l0YWxvY2Vhbi5jb20vcHJvZHVjdHMvc3BhY2VzLworLy8gU3VibWl0dGVkIGJ5IFJvYmluIEguIEpvaG5zb24gPHBzbC1tYWludGFpbmVyc0BkaWdpdGFsb2NlYW4uY29tPgorKi5kaWdpdGFsb2NlYW5zcGFjZXMuY29tCisKKy8vIGRuc3RyYWNlLnBybyA6IGh0dHBzOi8vZG5zdHJhY2UucHJvLworLy8gU3VibWl0dGVkIGJ5IENocmlzIFBhcnRyaWRnZSA8Y2hyaXNAcGFydHJpZGdlLnRlY2g+CitiY2kuZG5zdHJhY2UucHJvCisKKy8vIER5bnUuY29tIDogaHR0cHM6Ly93d3cuZHludS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgU3VlIFllIDxzdWVAZHludS5jb20+CitkZG5zZnJlZS5jb20KK2RkbnNnZWVrLmNvbQorZ2lpemUuY29tCitnbGVlemUuY29tCitrb3pvdy5jb20KK2xvc2V5b3VyaXAuY29tCitvb2d1eS5jb20KK3RoZXdvcmtwYy5jb20KK2Nhc2FjYW0ubmV0CitkeW51Lm5ldAorYWNjZXNzY2FtLm9yZworY2FtZHZyLm9yZworZnJlZWRkbnMub3JnCitteXdpcmUub3JnCit3ZWJyZWRpcmVjdC5vcmcKK215ZGRucy5yb2NrcworYmxvZ3NpdGUueHl6CisKKy8vIGR5bnY2IDogaHR0cHM6Ly9keW52Ni5jb20KKy8vIFN1Ym1pdHRlZCBieSBEb21pbmlrIE1lbmtlIDxkb21AZGlnaW5lby5kZT4KK2R5bnY2Lm5ldAorCisvLyBFNFlPVSBzcG9sLiBzLnIuby4gOiBodHRwczovL2U0eW91LmN6LworLy8gU3VibWl0dGVkIGJ5IFZsYWRpbWlyIER1ZHIgPGluZm9AZTR5b3UuY3o+CitlNC5jegorCisvLyBFYXN5cGFuZWwgOiBodHRwczovL2Vhc3lwYW5lbC5pbworLy8gU3VibWl0dGVkIGJ5IEFuZHJlaSBDYW50YSA8YW5kcmVpQGVhc3lwYW5lbC5pbz4KK2Vhc3lwYW5lbC5hcHAKK2Vhc3lwYW5lbC5ob3N0CisKKy8vIEVsZW1lbnRvciA6IEVsZW1lbnRvciBMdGQuCisvLyBTdWJtaXR0ZWQgYnkgQW50b24gQmFya2FuIDxhbnRvbmJAZWxlbWVudG9yLmNvbT4KK2VsZW1lbnRvci5jbG91ZAorZWxlbWVudG9yLmNvb2wKKworLy8gRW4gcm9vdOKAvSA6IGh0dHBzOi8vZW4tcm9vdC5vcmcKKy8vIFN1Ym1pdHRlZCBieSBFbW1hbnVlbCBSYXZpYXJ0IDxlbW1hbnVlbEByYXZpYXJ0LmNvbT4KK2VuLXJvb3QuZnIKKworLy8gRW5hbGVhbiBTQVM6IGh0dHBzOi8vd3d3LmVuYWxlYW4uY29tCisvLyBTdWJtaXR0ZWQgYnkgVGhvbWFzIENvdHRpZXIgPHRob21hcy5jb3R0aWVyQGVuYWxlYW4uY29tPgorbXl0dWxlYXAuY29tCit0dWxlYXAtcGFydG5lcnMuY29tCisKKy8vIEVuY29yZXRpdml0eSBBQjogaHR0cHM6Ly9lbmNvcmUuZGV2CisvLyBTdWJtaXR0ZWQgYnkgQW5kcsOpIEVyaWtzc29uIDxhbmRyZUBlbmNvcmUuZGV2PgorZW5jci5hcHAKK2VuY29yZWFwaS5jb20KKworLy8gRUNHIFJvYm90aWNzLCBJbmM6IGh0dHBzOi8vZWNncm9ib3RpY3Mub3JnCisvLyBTdWJtaXR0ZWQgYnkgPGZyYzE1MzNAZWNncm9ib3RpY3Mub3JnPgorb25yZWQub25lCitzdGFnaW5nLm9ucmVkLm9uZQorCisvLyBlbmNvd2F5IEdtYkggOiBodHRwczovL3d3dy5lbmNvd2F5LmRlCisvLyBTdWJtaXR0ZWQgYnkgTWFyY2VsIERhdXMgPGNsb3Vkb3BzQGVuY293YXkuZGU+CitldS5lbmNvd2F5LmNsb3VkCisKKy8vIEVVLm9yZyBodHRwczovL2V1Lm9yZy8KKy8vIFN1Ym1pdHRlZCBieSBQaWVycmUgQmV5c3NhYyA8aG9zdG1hc3RlckBldS5vcmc+CitldS5vcmcKK2FsLmV1Lm9yZworYXNzby5ldS5vcmcKK2F0LmV1Lm9yZworYXUuZXUub3JnCitiZS5ldS5vcmcKK2JnLmV1Lm9yZworY2EuZXUub3JnCitjZC5ldS5vcmcKK2NoLmV1Lm9yZworY24uZXUub3JnCitjeS5ldS5vcmcKK2N6LmV1Lm9yZworZGUuZXUub3JnCitkay5ldS5vcmcKK2VkdS5ldS5vcmcKK2VlLmV1Lm9yZworZXMuZXUub3JnCitmaS5ldS5vcmcKK2ZyLmV1Lm9yZworZ3IuZXUub3JnCitoci5ldS5vcmcKK2h1LmV1Lm9yZworaWUuZXUub3JnCitpbC5ldS5vcmcKK2luLmV1Lm9yZworaW50LmV1Lm9yZworaXMuZXUub3JnCitpdC5ldS5vcmcKK2pwLmV1Lm9yZwora3IuZXUub3JnCitsdC5ldS5vcmcKK2x1LmV1Lm9yZworbHYuZXUub3JnCittYy5ldS5vcmcKK21lLmV1Lm9yZworbWsuZXUub3JnCittdC5ldS5vcmcKK215LmV1Lm9yZworbmV0LmV1Lm9yZworbmcuZXUub3JnCitubC5ldS5vcmcKK25vLmV1Lm9yZworbnouZXUub3JnCitwYXJpcy5ldS5vcmcKK3BsLmV1Lm9yZworcHQuZXUub3JnCitxLWEuZXUub3JnCityby5ldS5vcmcKK3J1LmV1Lm9yZworc2UuZXUub3JnCitzaS5ldS5vcmcKK3NrLmV1Lm9yZwordHIuZXUub3JnCit1ay5ldS5vcmcKK3VzLmV1Lm9yZworCisvLyBFdXJvYnl0ZSA6IGh0dHBzOi8vZXVyb2J5dGUucnUKKy8vIFN1Ym1pdHRlZCBieSBFdmdlbml5IFN1YmJvdGluIDxlLnN1YmJvdGluQGV1cm9ieXRlLnJ1PgorZXVyb2Rpci5ydQorCisvLyBFdmVubm9kZSA6IGh0dHA6Ly93d3cuZXZlbm5vZGUuY29tLworLy8gU3VibWl0dGVkIGJ5IE1pY2hhbCBLcmFsaWsgPHN1cHBvcnRAZXZlbm5vZGUuY29tPgorZXUtMS5ldmVubm9kZS5jb20KK2V1LTIuZXZlbm5vZGUuY29tCitldS0zLmV2ZW5ub2RlLmNvbQorZXUtNC5ldmVubm9kZS5jb20KK3VzLTEuZXZlbm5vZGUuY29tCit1cy0yLmV2ZW5ub2RlLmNvbQordXMtMy5ldmVubm9kZS5jb20KK3VzLTQuZXZlbm5vZGUuY29tCisKKy8vIGVEaXJlY3QgQ29ycC4gOiBodHRwczovL2hvc3RpbmcudXJsLmNvbS50dy8KKy8vIFN1Ym1pdHRlZCBieSBDLlMuIGNoYW5nIDxjc2NoYW5nQGNvcnAudXJsLmNvbS50dz4KK3R3bWFpbC5jYwordHdtYWlsLm5ldAordHdtYWlsLm9yZworbXltYWlsZXIuY29tLnR3Cit1cmwudHcKKworLy8gRmFicmljYSBUZWNobm9sb2dpZXMsIEluYy4gOiBodHRwczovL3d3dy5mYWJyaWNhLmRldi8KKy8vIFN1Ym1pdHRlZCBieSBFcmljIEppYW5nIDxlcmljQGZhYnJpY2EuZGV2Pgorb25mYWJyaWNhLmNvbQorCisvLyBGYWNlYm9vaywgSW5jLgorLy8gU3VibWl0dGVkIGJ5IFBldGVyIFJ1aWJhbCA8cHVibGljLXN1ZmZpeEBmYi5jb20+CithcHBzLmZic2J4LmNvbQorCisvLyBGQUlUSUQgOiBodHRwczovL2ZhaXRpZC5vcmcvCisvLyBTdWJtaXR0ZWQgYnkgTWF4aW0gQWx6b2JhIDx0ZWNoLmNvbnRhY3RAZmFpdGlkLm9yZz4KKy8vIGh0dHBzOi8vd3d3LmZsZXhpcmVnLm5ldC9zdGF0X2luZm8KK3J1Lm5ldAorYWR5Z2V5YS5ydQorYmFzaGtpcmlhLnJ1CitiaXIucnUKK2NiZy5ydQorY29tLnJ1CitkYWdlc3Rhbi5ydQorZ3Jvem55LnJ1CitrYWxteWtpYS5ydQora3VzdGFuYWkucnUKK21hcmluZS5ydQorbW9yZG92aWEucnUKK21zay5ydQorbXl0aXMucnUKK25hbGNoaWsucnUKK25vdi5ydQorcHlhdGlnb3Jzay5ydQorc3BiLnJ1Cit2bGFkaWthdmthei5ydQordmxhZGltaXIucnUKK2Fia2hhemlhLnN1CithZHlnZXlhLnN1Citha3R5dWJpbnNrLnN1CithcmtoYW5nZWxzay5zdQorYXJtZW5pYS5zdQorYXNoZ2FiYWQuc3UKK2F6ZXJiYWlqYW4uc3UKK2JhbGFzaG92LnN1CitiYXNoa2lyaWEuc3UKK2JyeWFuc2suc3UKK2J1a2hhcmEuc3UKK2NoaW1rZW50LnN1CitkYWdlc3Rhbi5zdQorZWFzdC1rYXpha2hzdGFuLnN1CitleG5ldC5zdQorZ2VvcmdpYS5zdQorZ3Jvem55LnN1CitpdmFub3ZvLnN1CitqYW1ieWwuc3UKK2thbG15a2lhLnN1CitrYWx1Z2Euc3UKK2thcmFjb2wuc3UKK2thcmFnYW5kYS5zdQora2FyZWxpYS5zdQora2hha2Fzc2lhLnN1CitrcmFzbm9kYXIuc3UKK2t1cmdhbi5zdQora3VzdGFuYWkuc3UKK2xlbnVnLnN1CittYW5neXNobGFrLnN1Cittb3Jkb3ZpYS5zdQorbXNrLnN1CittdXJtYW5zay5zdQorbmFsY2hpay5zdQorbmF2b2kuc3UKK25vcnRoLWthemFraHN0YW4uc3UKK25vdi5zdQorb2JuaW5zay5zdQorcGVuemEuc3UKK3Bva3JvdnNrLnN1Citzb2NoaS5zdQorc3BiLnN1Cit0YXNoa2VudC5zdQordGVybWV6LnN1Cit0b2dsaWF0dGkuc3UKK3Ryb2l0c2suc3UKK3RzZWxpbm9ncmFkLnN1Cit0dWxhLnN1Cit0dXZhLnN1Cit2bGFkaWthdmthei5zdQordmxhZGltaXIuc3UKK3ZvbG9nZGEuc3UKKworLy8gRmFuY3kgQml0cywgTExDIDogaHR0cDovL2dldGNoYW5uZWxzLmNvbQorLy8gU3VibWl0dGVkIGJ5IEFtYW4gR3VwdGEgPGFtYW5AZ2V0Y2hhbm5lbHMuY29tPgorY2hhbm5lbHNkdnIubmV0Cit1LmNoYW5uZWxzZHZyLm5ldAorCisvLyBGYXN0bHkgSW5jLiA6IGh0dHA6Ly93d3cuZmFzdGx5LmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBGYXN0bHkgU2VjdXJpdHkgPHNlY3VyaXR5QGZhc3RseS5jb20+CitlZGdlY29tcHV0ZS5hcHAKK2Zhc3RseS10ZXJyYXJpdW0uY29tCitmYXN0bHlsYi5uZXQKK21hcC5mYXN0bHlsYi5uZXQKK2ZyZWV0bHMuZmFzdGx5Lm5ldAorbWFwLmZhc3RseS5uZXQKK2EucHJvZC5mYXN0bHkubmV0CitnbG9iYWwucHJvZC5mYXN0bHkubmV0CithLnNzbC5mYXN0bHkubmV0CitiLnNzbC5mYXN0bHkubmV0CitnbG9iYWwuc3NsLmZhc3RseS5uZXQKKworLy8gRmFzdG1haWwgOiBodHRwczovL3d3dy5mYXN0bWFpbC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgTWFyYyBCcmFkc2hhdyA8bWFyY0BmYXN0bWFpbHRlYW0uY29tPgorKi51c2VyLmZtCisKKy8vIEZBU1RWUFMgRUVTVEkgT1UgOiBodHRwczovL2Zhc3R2cHMucnUvCisvLyBTdWJtaXR0ZWQgYnkgTGlraGFjaGV2IFZhc2lsaXkgPGxpaGFjaGV2QGZhc3R2cHMucnU+CitmYXN0dnBzLXNlcnZlci5jb20KK2Zhc3R2cHMuaG9zdAorbXlmYXN0Lmhvc3QKK2Zhc3R2cHMuc2l0ZQorbXlmYXN0LnNwYWNlCisKKy8vIEZlZG9yYSA6IGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvCisvLyBzdWJtaXR0ZWQgYnkgUGF0cmljayBVaXRlcndpamsgPHB1aXRlcndpamtAZmVkb3JhcHJvamVjdC5vcmc+CitmZWRvcmFpbmZyYWNsb3VkLm9yZworZmVkb3JhcGVvcGxlLm9yZworY2xvdWQuZmVkb3JhcHJvamVjdC5vcmcKK2FwcC5vcy5mZWRvcmFwcm9qZWN0Lm9yZworYXBwLm9zLnN0Zy5mZWRvcmFwcm9qZWN0Lm9yZworCisvLyBGZWFyV29ya3MgTWVkaWEgTHRkLiA6IGh0dHBzOi8vZmVhcndvcmtzbWVkaWEuY28udWsKKy8vIHN1Ym1pdHRlZCBieSBLZWl0aCBGYWlybGV5IDxkb21haW5zQGZlYXJ3b3Jrc21lZGlhLmNvLnVrPgorY29ubi51aworY29wcm8udWsKK2hvc3AudWsKKworLy8gRmVybWF4IDogaHR0cHM6Ly9mZXJtYXguY29tLworLy8gc3VibWl0dGVkIGJ5IEtvZW4gVmFuIElzdGVyZGFlbCA8ay52YW5pc3RlcmRhZWxAZmVybWF4LmJlPgorbXlkb2Jpc3MuY29tCisKKy8vIEZIIE11ZW5zdGVyIDogaHR0cHM6Ly93d3cuZmgtbXVlbnN0ZXIuZGUKKy8vIFN1Ym1pdHRlZCBieSBSb2JpbiBOYXVuZG9yZiA8ci5uYXVuZG9yZkBmaC1tdWVuc3Rlci5kZT4KK2ZoLW11ZW5zdGVyLmlvCisKKy8vIEZpbGVnZWFyIEluYy4gOiBodHRwczovL3d3dy5maWxlZ2Vhci5jb20KKy8vIFN1Ym1pdHRlZCBieSBKYXNvbiBaaHUgPGphc29uQG93dHdhcmUuY29tPgorZmlsZWdlYXIubWUKK2ZpbGVnZWFyLWF1Lm1lCitmaWxlZ2Vhci1kZS5tZQorZmlsZWdlYXItZ2IubWUKK2ZpbGVnZWFyLWllLm1lCitmaWxlZ2Vhci1qcC5tZQorZmlsZWdlYXItc2cubWUKKworLy8gRmlyZWJhc2UsIEluYy4KKy8vIFN1Ym1pdHRlZCBieSBDaHJpcyBSYXlub3IgPGNocmlzQGZpcmViYXNlLmNvbT4KK2ZpcmViYXNlYXBwLmNvbQorCisvLyBGaXJld2Via2l0IDogaHR0cHM6Ly93d3cuZmlyZXdlYmtpdC5jb20KKy8vIFN1Ym1pdHRlZCBieSBNYWppZCBRdXJlc2hpIDxtcXVyZXNoaUBhbXJheW4uY29tPgorZmlyZXdlYi5hcHAKKworLy8gRkxBUCA6IGh0dHBzOi8vd3d3LmZsYXAuY2xvdWQKKy8vIFN1Ym1pdHRlZCBieSBMb3VpcyBDaGVtaW5lYXUgPGxvdWlzQGNobW4ubWU+CitmbGFwLmlkCisKKy8vIEZsYXNoRHJpdmUgOiBodHRwczovL2ZsYXNoZHJpdmUuaW8KKy8vIFN1Ym1pdHRlZCBieSBFcmljIENoYW4gPHN1cHBvcnRAZmxhc2hkcml2ZS5pbz4KK29uZmxhc2hkcml2ZS5hcHAKK2ZsZHJ2LmNvbQorCisvLyBmbHkuaW86IGh0dHBzOi8vZmx5LmlvCisvLyBTdWJtaXR0ZWQgYnkgS3VydCBNYWNrZXkgPGt1cnRAZmx5LmlvPgorZmx5LmRldgorZWRnZWFwcC5uZXQKK3Nody5pbworCisvLyBGbHlubiA6IGh0dHBzOi8vZmx5bm4uaW8KKy8vIFN1Ym1pdHRlZCBieSBKb25hdGhhbiBSdWRlbmJlcmcgPGpvbmF0aGFuQGZseW5uLmlvPgorZmx5bm5ob3N0aW5nLm5ldAorCisvLyBGb3JnZXJvY2sgOsKgaHR0cHM6Ly93d3cuZm9yZ2Vyb2NrLmNvbQorLy8gU3VibWl0dGVkIGJ5IFJvZGVyaWNrIFBhcnIgPHJvZGVyaWNrLnBhcnJAZm9yZ2Vyb2NrLmNvbT4KK2ZvcmdlYmxvY2tzLmNvbQoraWQuZm9yZ2Vyb2NrLmlvCisKKy8vIEZyYW1lciA6IGh0dHBzOi8vd3d3LmZyYW1lci5jb20KKy8vIFN1Ym1pdHRlZCBieSBLb2VuIFJvdXdob3JzdCA8a29lbnJoQGZyYW1lci5jb20+CitmcmFtZXIuYXBwCitmcmFtZXJjYW52YXMuY29tCitmcmFtZXIubWVkaWEKK2ZyYW1lci5waG90b3MKK2ZyYW1lci53ZWJzaXRlCitmcmFtZXIud2lraQorCisvLyBGcnVza3kgTUVESUEmUFIgOiBodHRwczovL3d3dy5mcnVza3kuZGUKKy8vIFN1Ym1pdHRlZCBieSBWaWN0b3IgUHVweW5pbiA8aGFsbG9AZnJ1c2t5LmRlPgorKi5mcnVza3kuZGUKKworLy8gUmF2UGFnZSA6IGh0dHBzOi8vd3d3LnJhdnBhZ2UuY28uaWwKKy8vIFN1Ym1pdHRlZCBieSBSb25pIEhvcm93aXR6IDxyb25pQHJlc3BvbmRlci5jby5pbD4KK3JhdnBhZ2UuY28uaWwKKworLy8gRnJlZGVyaWsgQnJhdW4gaHR0cHM6Ly9mcmVkZXJpay1icmF1bi5jb20KKy8vIFN1Ym1pdHRlZCBieSBGcmVkZXJpayBCcmF1biA8ZmJAZnJlZGVyaWstYnJhdW4uY29tPgorMGUudmMKKworLy8gRnJlZWJveCA6IGh0dHA6Ly93d3cuZnJlZWJveC5mcgorLy8gU3VibWl0dGVkIGJ5IFJvbWFpbiBGbGllZGVsIDxyZmxpZWRlbEBmcmVlYm94LmZyPgorZnJlZWJveC1vcy5jb20KK2ZyZWVib3hvcy5jb20KK2ZieC1vcy5mcgorZmJ4b3MuZnIKK2ZyZWVib3gtb3MuZnIKK2ZyZWVib3hvcy5mcgorCisvLyBmcmVlZGVza3RvcC5vcmcgOiBodHRwczovL3d3dy5mcmVlZGVza3RvcC5vcmcKKy8vIFN1Ym1pdHRlZCBieSBEYW5pZWwgU3RvbmUgPGRhbmllbEBmb29pc2hiYXIub3JnPgorZnJlZWRlc2t0b3Aub3JnCisKKy8vIGZyZWVteWlwLmNvbSA6IGh0dHBzOi8vZnJlZW15aXAuY29tCisvLyBTdWJtaXR0ZWQgYnkgQ2FkZW5jZSA8Y29udGFjdEBmcmVlbXlpcC5jb20+CitmcmVlbXlpcC5jb20KKworLy8gRnVua0ZldWVyIC0gVmVyZWluIHp1ciBGw7ZyZGVydW5nIGZyZWllciBOZXR6ZSA6IGh0dHBzOi8vd3d3LmZ1bmtmZXVlci5hdAorLy8gU3VibWl0dGVkIGJ5IERhbmllbCBBLiBNYWllcmhvZmVyIDx2b3JzdGFuZEBmdW5rZmV1ZXIuYXQ+Cit3aWVuLmZ1bmtmZXVlci5hdAorCisvLyBGdXR1cmV3ZWIgT0cgOiBodHRwOi8vd3d3LmZ1dHVyZXdlYi5hdAorLy8gU3VibWl0dGVkIGJ5IEFuZHJlYXMgU2NobmVkZXJsZS1XYWduZXIgPHNjaG5lZGVybGVAZnV0dXJld2ViLmF0PgorKi5mdXR1cmVjbXMuYXQKKyouZXguZnV0dXJlY21zLmF0CisqLmluLmZ1dHVyZWNtcy5hdAorZnV0dXJlaG9zdGluZy5hdAorZnV0dXJlbWFpbGluZy5hdAorKi5leC5vcnRzaW5mby5hdAorKi5rdW5kZW4ub3J0c2luZm8uYXQKKyouc3RhdGljcy5jbG91ZAorCisvLyBHRFMgOiBodHRwczovL3d3dy5nb3YudWsvc2VydmljZS1tYW51YWwvdGVjaG5vbG9neS9tYW5hZ2luZy1kb21haW4tbmFtZXMKKy8vIFN1Ym1pdHRlZCBieSBTdGVwaGVuIEZvcmQgPGhvc3RtYXN0ZXJAZGlnaXRhbC5jYWJpbmV0LW9mZmljZS5nb3YudWs+CitpbmRlcGVuZGVudC1jb21taXNzaW9uLnVrCitpbmRlcGVuZGVudC1pbnF1ZXN0LnVrCitpbmRlcGVuZGVudC1pbnF1aXJ5LnVrCitpbmRlcGVuZGVudC1wYW5lbC51aworaW5kZXBlbmRlbnQtcmV2aWV3LnVrCitwdWJsaWMtaW5xdWlyeS51aworcm95YWwtY29tbWlzc2lvbi51aworY2FtcGFpZ24uZ292LnVrCitzZXJ2aWNlLmdvdi51aworCisvLyBDRERPIDogaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2dldC1hbi1hcGktZG9tYWluLW9uLWdvdnVrCisvLyBTdWJtaXR0ZWQgYnkgSmFtaWUgVGFubmEgPGphbWllLnRhbm5hQGRpZ2l0YWwuY2FiaW5ldC1vZmZpY2UuZ292LnVrPgorYXBpLmdvdi51aworCisvLyBHZWhpcm4gSW5jLiA6IGh0dHBzOi8vd3d3LmdlaGlybi5jby5qcC8KKy8vIFN1Ym1pdHRlZCBieSBLb2hlaSBZT1NISURBIDx0ZWNoQGdlaGlybi5jby5qcD4KK2dlaGlybi5uZS5qcAordXNlcmNvbnRlbnQuanAKKworLy8gR2VudGxlbnQsIEluYy4gOiBodHRwczovL3d3dy5nZW50bGVudC5jb20KKy8vIFN1Ym1pdHRlZCBieSBUb20gS2xlaW4gPHRvbUBnZW50bGVudC5jb20+CitnZW50YXBwcy5jb20KK2dlbnRsZW50YXBpcy5jb20KK2xhYi5tcworY2RuLWVkZ2VzLm5ldAorCisvLyBHaG9zdCBGb3VuZGF0aW9uIDogaHR0cHM6Ly9naG9zdC5vcmcKKy8vIFN1Ym1pdHRlZCBieSBNYXR0IEhhbmxleSA8c2VjdXJpdHlAZ2hvc3Qub3JnPgorZ2hvc3QuaW8KKworLy8gR2lnbm9TeXN0ZW1KYXBhbjogaHR0cDovL2dzai5iegorLy8gU3VibWl0dGVkIGJ5IEdpZ25vU3lzdGVtSmFwYW4gPGtha3V0b3UtZWNAZ3NqLmJ6PgorZ3NqLmJ6CisKKy8vIEdpdEh1YiwgSW5jLgorLy8gU3VibWl0dGVkIGJ5IFBhdHJpY2sgVG9vbWV5IDxzZWN1cml0eUBnaXRodWIuY29tPgorZ2l0aHVidXNlcmNvbnRlbnQuY29tCitnaXRodWJwcmV2aWV3LmRldgorZ2l0aHViLmlvCisKKy8vIEdpdExhYiwgSW5jLgorLy8gU3VibWl0dGVkIGJ5IEFsZXggSGFuc2Vsa2EgPGFsZXhAZ2l0bGFiLmNvbT4KK2dpdGxhYi5pbworCisvLyBHaXRwbGFjLnNpIC0gaHR0cHM6Ly9naXRwbGFjLnNpCisvLyBTdWJtaXR0ZWQgYnkgQWxqYcW+IFN0YXJjIDxtZUBhbGpheHVzLmV1PgorZ2l0YXBwLnNpCitnaXRwYWdlLnNpCisKKy8vIEdsaXRjaCwgSW5jIDogaHR0cHM6Ly9nbGl0Y2guY29tCisvLyBTdWJtaXR0ZWQgYnkgTWFkcyBIYXJ0bWFubiA8bWFkc0BnbGl0Y2guY29tPgorZ2xpdGNoLm1lCisKKy8vIEdsb2JhbCBOT0cgQWxsaWFuY2UgOiBodHRwczovL25vZ2FsbGlhbmNlLm9yZy8KKy8vIFN1Ym1pdHRlZCBieSBTYW5kZXIgU3RlZmZhbm4gPHNhbmRlckBub2dhbGxpYW5jZS5vcmc+Citub2cuY29tbXVuaXR5CisKKy8vIEdsb2JlIEhvc3RpbmcgU1JMIDogaHR0cHM6Ly93d3cuZ2xvYmVob3N0aW5nLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBHYXZpbiBCcm93biA8Z2F2aW4uYnJvd25AY2VudHJhbG5pYy5jb20+Citjby5ybworc2hvcC5ybworCisvLyBHTU8gUGVwYWJvLCBJbmMuIDogaHR0cHM6Ly9wZXBhYm8uY29tLworLy8gU3VibWl0dGVkIGJ5IEhvc3RpbmcgRGl2IDxhZG1pbkBwZXBhYm8uY29tPgorbG9saXBvcC5pbworYW5ncnkuanAKK2JhYnlibHVlLmpwCitiYWJ5bWlsay5qcAorYmFja2Ryb3AuanAKK2JhbWJpbmEuanAKK2JpdHRlci5qcAorYmx1c2guanAKK2Jvby5qcAorYm95LmpwCitib3lmcmllbmQuanAKK2J1dC5qcAorY2FuZHlwb3AuanAKK2NhcG9vLmpwCitjYXRmb29kLmpwCitjaGVhcC5qcAorY2hpY2FwcGEuanAKK2NoaWxsb3V0LmpwCitjaGlwcy5qcAorY2hvd2Rlci5qcAorY2h1LmpwCitjaWFvLmpwCitjb2NvdHRlLmpwCitjb29sYmxvZy5qcAorY3Jhbmt5LmpwCitjdXRlZ2lybC5qcAorZGFhLmpwCitkZWNhLmpwCitkZWNpLmpwCitkaWdpY2suanAKK2Vnb2lzbS5qcAorZmFrZWZ1ci5qcAorZmVtLmpwCitmbGllci5qcAorZmxvcHB5LmpwCitmb29sLmpwCitmcmVuY2hraXNzLmpwCitnaXJsZnJpZW5kLmpwCitnaXJseS5qcAorZ2xvb215LmpwCitnb25uYS5qcAorZ3JlYXRlci5qcAoraGFjY2EuanAKK2hlYXZ5LmpwCitoZXIuanAKK2hpaG8uanAKK2hpcHB5LmpwCitob2x5LmpwCitodW5ncnkuanAKK2ljdXJ1cy5qcAoraXRpZ28uanAKK2plbGx5YmVhbi5qcAora2lraXJhcmEuanAKK2tpbGwuanAKK2tpbG8uanAKK2t1cm9uLmpwCitsaXR0bGVzdGFyLmpwCitsb2xpcG9wbWMuanAKK2xvbGl0YXB1bmsuanAKK2xvbW8uanAKK2xvdmVwb3AuanAKK2xvdmVzaWNrLmpwCittYWluLmpwCittb2RzLmpwCittb25kLmpwCittb25nb2xpYW4uanAKK21vby5qcAorbmFtYXN0ZS5qcAorbmlraXRhLmpwCitub2J1c2hpLmpwCitub29yLmpwCitvb3BzLmpwCitwYXJhbGxlbC5qcAorcGFyYXNpdGUuanAKK3BlY29yaS5qcAorcGVld2VlLmpwCitwZW5uZS5qcAorcGVwcGVyLmpwCitwZXJtYS5qcAorcGlnYm9hdC5qcAorcGlub2tvLmpwCitwdW55dS5qcAorcHVwdS5qcAorcHVzc3ljYXQuanAKK3B5YS5qcAorcmFpbmRyb3AuanAKK3JlYWR5bWFkZS5qcAorc2FkaXN0LmpwCitzY2hvb2xidXMuanAKK3NlY3JldC5qcAorc3RhYmEuanAKK3N0cmlwcGVyLmpwCitzdWIuanAKK3N1bm55ZGF5LmpwCit0aGljay5qcAordG9ua290c3UuanAKK3VuZGVyLmpwCit1cHBlci5qcAordmVsdmV0LmpwCit2ZXJzZS5qcAordmVyc3VzLmpwCit2aXZpYW4uanAKK3dhdHNvbi5qcAord2VibGlrZS5qcAord2hpdGVzbm93LmpwCit6b21iaWUuanAKK2hldGVtbC5uZXQKKworLy8gR09WLlVLIFBsYXRmb3JtIGFzIGEgU2VydmljZSA6IGh0dHBzOi8vd3d3LmNsb3VkLnNlcnZpY2UuZ292LnVrLworLy8gU3VibWl0dGVkIGJ5IFRvbSBXaGl0d2VsbCA8Z292LXVrLXBhYXMtc3VwcG9ydEBkaWdpdGFsLmNhYmluZXQtb2ZmaWNlLmdvdi51az4KK2Nsb3VkYXBwcy5kaWdpdGFsCitsb25kb24uY2xvdWRhcHBzLmRpZ2l0YWwKKworLy8gR09WLlVLIFBheSA6IGh0dHBzOi8vd3d3LnBheW1lbnRzLnNlcnZpY2UuZ292LnVrLworLy8gU3VibWl0dGVkIGJ5IFJpY2hhcmQgQmFrZXIgPHJpY2hhcmQuYmFrZXJAZGlnaXRhbC5jYWJpbmV0LW9mZmljZS5nb3YudWs+CitweW1udC51aworCisvLyBVS0hvbWVPZmZpY2UgOiBodHRwczovL3d3dy5nb3YudWsvZ292ZXJubWVudC9vcmdhbmlzYXRpb25zL2hvbWUtb2ZmaWNlCisvLyBTdWJtaXR0ZWQgYnkgSm9uIFNoYW5rcyA8am9uLnNoYW5rc0BkaWdpdGFsLmhvbWVvZmZpY2UuZ292LnVrPgoraG9tZW9mZmljZS5nb3YudWsKKworLy8gR2xvYmVIb3N0aW5nLCBJbmMuCisvLyBTdWJtaXR0ZWQgYnkgWm9sdGFuIEVncmVzaSA8ZWdyZXNpQGdsb2JlaG9zdGluZy5jb20+Cityby5pbQorCisvLyBHb0lQIEROUyBTZXJ2aWNlcyA6IGh0dHA6Ly93d3cuZ29pcC5kZQorLy8gU3VibWl0dGVkIGJ5IENocmlzdGlhbiBQb3VsdGVyIDxtaWxjaHN0cmFzc2VAZ29pcC5kZT4KK2dvaXAuZGUKKworLy8gR29vZ2xlLCBJbmMuCisvLyBTdWJtaXR0ZWQgYnkgRWR1YXJkbyBWZWxhIDxldm5AZ29vZ2xlLmNvbT4KK3J1bi5hcHAKK2EucnVuLmFwcAord2ViLmFwcAorKi4wZW1tLmNvbQorYXBwc3BvdC5jb20KKyouci5hcHBzcG90LmNvbQorY29kZXNwb3QuY29tCitnb29nbGVhcGlzLmNvbQorZ29vZ2xlY29kZS5jb20KK3BhZ2VzcGVlZG1vYmlsaXplci5jb20KK3B1Ymxpc2hwcm94eS5jb20KK3dpdGhnb29nbGUuY29tCit3aXRoeW91dHViZS5jb20KKyouZ2F0ZXdheS5kZXYKK2Nsb3VkLmdvb2cKK3RyYW5zbGF0ZS5nb29nCisqLnVzZXJjb250ZW50Lmdvb2cKK2Nsb3VkZnVuY3Rpb25zLm5ldAorYmxvZ3Nwb3QuYWUKK2Jsb2dzcG90LmFsCitibG9nc3BvdC5hbQorYmxvZ3Nwb3QuYmEKK2Jsb2dzcG90LmJlCitibG9nc3BvdC5iZworYmxvZ3Nwb3QuYmoKK2Jsb2dzcG90LmNhCitibG9nc3BvdC5jZgorYmxvZ3Nwb3QuY2gKK2Jsb2dzcG90LmNsCitibG9nc3BvdC5jby5hdAorYmxvZ3Nwb3QuY28uaWQKK2Jsb2dzcG90LmNvLmlsCitibG9nc3BvdC5jby5rZQorYmxvZ3Nwb3QuY28ubnoKK2Jsb2dzcG90LmNvLnVrCitibG9nc3BvdC5jby56YQorYmxvZ3Nwb3QuY29tCitibG9nc3BvdC5jb20uYXIKK2Jsb2dzcG90LmNvbS5hdQorYmxvZ3Nwb3QuY29tLmJyCitibG9nc3BvdC5jb20uYnkKK2Jsb2dzcG90LmNvbS5jbworYmxvZ3Nwb3QuY29tLmN5CitibG9nc3BvdC5jb20uZWUKK2Jsb2dzcG90LmNvbS5lZworYmxvZ3Nwb3QuY29tLmVzCitibG9nc3BvdC5jb20ubXQKK2Jsb2dzcG90LmNvbS5uZworYmxvZ3Nwb3QuY29tLnRyCitibG9nc3BvdC5jb20udXkKK2Jsb2dzcG90LmN2CitibG9nc3BvdC5jegorYmxvZ3Nwb3QuZGUKK2Jsb2dzcG90LmRrCitibG9nc3BvdC5maQorYmxvZ3Nwb3QuZnIKK2Jsb2dzcG90LmdyCitibG9nc3BvdC5oaworYmxvZ3Nwb3QuaHIKK2Jsb2dzcG90Lmh1CitibG9nc3BvdC5pZQorYmxvZ3Nwb3QuaW4KK2Jsb2dzcG90LmlzCitibG9nc3BvdC5pdAorYmxvZ3Nwb3QuanAKK2Jsb2dzcG90LmtyCitibG9nc3BvdC5saQorYmxvZ3Nwb3QubHQKK2Jsb2dzcG90Lmx1CitibG9nc3BvdC5tZAorYmxvZ3Nwb3QubWsKK2Jsb2dzcG90Lm1yCitibG9nc3BvdC5teAorYmxvZ3Nwb3QubXkKK2Jsb2dzcG90Lm5sCitibG9nc3BvdC5ubworYmxvZ3Nwb3QucGUKK2Jsb2dzcG90LnB0CitibG9nc3BvdC5xYQorYmxvZ3Nwb3QucmUKK2Jsb2dzcG90LnJvCitibG9nc3BvdC5ycworYmxvZ3Nwb3QucnUKK2Jsb2dzcG90LnNlCitibG9nc3BvdC5zZworYmxvZ3Nwb3Quc2kKK2Jsb2dzcG90LnNrCitibG9nc3BvdC5zbgorYmxvZ3Nwb3QudGQKK2Jsb2dzcG90LnR3CitibG9nc3BvdC51ZworYmxvZ3Nwb3Qudm4KKworLy8gR291cGlsZSA6IGh0dHBzOi8vZ291cGlsZS5mcgorLy8gU3VibWl0dGVkIGJ5IE5pZWxzIE1hcnRpZ25lbmUgPGhlbGxvQGdvdXBpbGUuZnI+Citnb3VwaWxlLmZyCisKKy8vIEdvdmVybm1lbnQgb2YgdGhlIE5ldGhlcmxhbmRzOiBodHRwczovL3d3dy5nb3Zlcm5tZW50Lm5sCisvLyBTdWJtaXR0ZWQgYnkgPGRvbWVpbm5hYW1AbWluYXoubmw+Citnb3YubmwKKworLy8gR3JvdXAgNTMsIExMQyA6IGh0dHBzOi8vd3d3Lmdyb3VwNTMuY29tCisvLyBTdWJtaXR0ZWQgYnkgVHlsZXIgVG9kZCA8bm9jQG5vdmE1My5uZXQ+Cithd3NtcHBsLmNvbQorCisvLyBHw7xuc3RpZ0Jlc3RlbGxlbiA6IGh0dHBzOi8vZ8O8bnN0aWdiZXN0ZWxsZW4uZGUKKy8vIFN1Ym1pdHRlZCBieSBGdXJrYW4gQWtrb2MgPGluZm9AaGVuZGVsem9uLmRlPgorZ8O8bnN0aWdiZXN0ZWxsZW4uZGUKK2fDvG5zdGlnbGllZmVybi5kZQorCisvLyBIYWthcmFuIGdyb3VwOiBodHRwOi8vaGFrYXJhbi5jegorLy8gU3VibWl0dGVkIGJ5IEFyc2VuaXkgU29rb2xvdiA8c2VjdXJpdHlAaGFrYXJhbi5jej4KK2Zpbi5jaQorZnJlZS5ocgorY2FhLmxpCit1YS5ycworY29uZi5zZQorCisvLyBIYW5kc2hha2UgOiBodHRwczovL2hhbmRzaGFrZS5vcmcKKy8vIFN1Ym1pdHRlZCBieSBNaWtlIERhbW0gPG1kQG1kLnZjPgoraHMuem9uZQoraHMucnVuCisKKy8vIEhhc2hiYW5nIDogaHR0cHM6Ly9oYXNoYmFuZy5zaAoraGFzaGJhbmcuc2gKKworLy8gSGFzdXJhIDogaHR0cHM6Ly9oYXN1cmEuaW8KKy8vIFN1Ym1pdHRlZCBieSBTaGFoaWRoIEsgTXVoYW1tZWQgPHNoYWhpZGhAaGFzdXJhLmlvPgoraGFzdXJhLmFwcAoraGFzdXJhLWFwcC5pbworCisvLyBIZWlsYnJvbm4gVW5pdmVyc2l0eSBvZiBBcHBsaWVkIFNjaWVuY2VzIC0gRmFjdWx0eSBJbmZvcm1hdGljcyAoR2l0TGFiIFBhZ2VzKTogaHR0cHM6Ly93d3cuaHMtaGVpbGJyb25uLmRlCisvLyBTdWJtaXR0ZWQgYnkgUmljaGFyZCBab3dhbGxhIDxtaS1hZG1pbkBocy1oZWlsYnJvbm4uZGU+CitwYWdlcy5pdC5ocy1oZWlsYnJvbm4uZGUKKworLy8gSGVwZm9yZ2UgOiBodHRwczovL3d3dy5oZXBmb3JnZS5vcmcKKy8vIFN1Ym1pdHRlZCBieSBEYXZpZCBHcmVsbHNjaGVpZCA8YWRtaW5AaGVwZm9yZ2Uub3JnPgoraGVwZm9yZ2Uub3JnCisKKy8vIEhlcm9rdSA6IGh0dHBzOi8vd3d3Lmhlcm9rdS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgVG9tIE1haGVyIDx0bWFoZXJAaGVyb2t1LmNvbT4KK2hlcm9rdWFwcC5jb20KK2hlcm9rdXNzbC5jb20KKworLy8gSGliZXJuYXRpbmcgUmhpbm9zCisvLyBTdWJtaXR0ZWQgYnkgT3JlbiBFaW5pIDxvcmVuQHJhdmVuZGIubmV0PgorcmF2ZW5kYi5jbG91ZAorcmF2ZW5kYi5jb21tdW5pdHkKK3JhdmVuZGIubWUKK2RldmVsb3BtZW50LnJ1bgorcmF2ZW5kYi5ydW4KKworLy8gaG9tZS5wbCBTLkEuOiBodHRwczovL2hvbWUucGwKKy8vIFN1Ym1pdHRlZCBieSBLcnp5c3p0b2YgV29sc2tpIDxrcnp5c3p0b2Yud29sc2tpQGhvbWUuZXU+Citob21lc2tsZXAucGwKKworLy8gSG9uZyBLb25nIFByb2R1Y3Rpdml0eSBDb3VuY2lsOiBodHRwczovL3d3dy5oa3BjLm9yZy8KKy8vIFN1Ym1pdHRlZCBieSBTRUNhYVMgVGVhbSA8c3VtbWNoYW5AaGtwYy5vcmc+CitzZWNhYXMuaGsKKworLy8gSG9wbGl4IDogaHR0cHM6Ly93d3cuaG9wbGl4LmNvbQorLy8gU3VibWl0dGVkIGJ5IERhbmlsbyBEZSBGcmFuY288aW5mb0Bob3BsaXguc2hvcD4KK2hvcGxpeC5zaG9wCisKKworLy8gSE9TVEJJUCBSRUdJU1RSWSA6IGh0dHBzOi8vd3d3Lmhvc3RiaXAuY29tLworLy8gU3VibWl0dGVkIGJ5IEF0YW51bnUgSWdidW51cm9naGVuZSA8cHVibGljc3VmZml4bGlzdEBob3N0YmlwLmNvbT4KK29yeC5iaXoKK2Jpei5nbAorY29sLm5nCitmaXJtLm5nCitnZW4ubmcKK2x0ZC5uZworbmdvLm5nCitlZHUuc2NvdAorc2NoLnNvCisKKy8vIEhvc3R5SG9zdGluZyAoaG9zdHlob3N0aW5nLmNvbSkKK2hvc3R5aG9zdGluZy5pbworCisvLyBIw6Rra2luZW4uZmkKKy8vIFN1Ym1pdHRlZCBieSBFZXJvIEjDpGtraW5lbiA8RWVybytwc2xASMOka2tpbmVuLmZpPgoraMOka2tpbmVuLmZpCisKKy8vIEljaSBsYSBMdW5lIDogaHR0cDovL3d3dy5pY2lsYWx1bmUuY29tLworLy8gU3VibWl0dGVkIGJ5IFNpbW9uIE1vcnZhbiA8c2ltb25AaWNpbGFsdW5lLmNvbT4KKyoubW9vbnNjYWxlLmlvCittb29uc2NhbGUubmV0CisKKy8vIGlraS5maQorLy8gU3VibWl0dGVkIGJ5IEhhbm51IEFyb25zc29uIDxoYWFAaWtpLmZpPgoraWtpLmZpCisKKy8vIGlsaWFkIGl0YWxpYTogaHR0cHM6Ly93d3cuaWxpYWQuaXQKKy8vIFN1Ym1pdHRlZCBieSBNYXJpb3MgTWFrYXNzaWtpcyA8bW1ha2Fzc2lraXNAZnJlZWJveC5mcj4KK2lieG9zLml0CitpbGlhZGJveG9zLml0CisKKy8vIEltcGVydHJpeCBTb2x1dGlvbnMgOiA8aHR0cHM6Ly9pbXBlcnRyaXhjZG4uY29tPgorLy8gU3VibWl0dGVkIGJ5IFpoaXhpYW5nIFpoYW8gPGNzdWl0ZUBpbXBlcnRyaXguY29tPgoraW1wZXJ0cml4Y2RuLmNvbQoraW1wZXJ0cml4LmNvbQorCisvLyBJbmNzdWIsIExMQzogaHR0cHM6Ly9pbmNzdWIuY29tLworLy8gU3VibWl0dGVkIGJ5IEFhcm9uIEVkd2FyZHMgPHN5c2FkbWluc0BpbmNzdWIuY29tPgorc211c2hjZG4uY29tCit3cGhvc3RlZG1haWwuY29tCit3cG11Y2RuLmNvbQordGVtcHVybC5ob3N0Cit3cG11ZGV2Lmhvc3QKKworLy8gSW5kaXZpZHVhbCBOZXR3b3JrIEJlcmxpbiBlLlYuIDogaHR0cHM6Ly93d3cuaW4tYmVybGluLmRlLworLy8gU3VibWl0dGVkIGJ5IENocmlzdGlhbiBTZWl0eiA8Y2hyaXNAaW4tYmVybGluLmRlPgorZHluLWJlcmxpbi5kZQoraW4tYmVybGluLmRlCitpbi1icmIuZGUKK2luLWJ1dHRlci5kZQoraW4tZHNsLmRlCitpbi1kc2wubmV0Citpbi1kc2wub3JnCitpbi12cG4uZGUKK2luLXZwbi5uZXQKK2luLXZwbi5vcmcKKworLy8gaW5mby5hdCA6IGh0dHA6Ly93d3cuaW5mby5hdC8KK2Jpei5hdAoraW5mby5hdAorCisvLyBpbmZvLmN4IDogaHR0cDovL2luZm8uY3gKKy8vIFN1Ym1pdHRlZCBieSBKYWNvYiBTbGF0ZXIgPHdob2lzQGlnbG9vLnRvPgoraW5mby5jeAorCisvLyBJbnRlcmxlZ2lzIDogaHR0cDovL3d3dy5pbnRlcmxlZ2lzLmxlZy5icgorLy8gU3VibWl0dGVkIGJ5IEdhYnJpZWwgRmVycmVpcmEgPHJlZ2lzdHJvYnJAaW50ZXJsZWdpcy5sZWcuYnI+CithYy5sZWcuYnIKK2FsLmxlZy5icgorYW0ubGVnLmJyCithcC5sZWcuYnIKK2JhLmxlZy5icgorY2UubGVnLmJyCitkZi5sZWcuYnIKK2VzLmxlZy5icgorZ28ubGVnLmJyCittYS5sZWcuYnIKK21nLmxlZy5icgorbXMubGVnLmJyCittdC5sZWcuYnIKK3BhLmxlZy5icgorcGIubGVnLmJyCitwZS5sZWcuYnIKK3BpLmxlZy5icgorcHIubGVnLmJyCityai5sZWcuYnIKK3JuLmxlZy5icgorcm8ubGVnLmJyCityci5sZWcuYnIKK3JzLmxlZy5icgorc2MubGVnLmJyCitzZS5sZWcuYnIKK3NwLmxlZy5icgordG8ubGVnLmJyCisKKy8vIGludGVybWV0cmljcyBHbWJIIDogaHR0cHM6Ly9waXhvbGluby5jb20vCisvLyBTdWJtaXR0ZWQgYnkgV29sZmdhbmcgU2Nod2FyeiA8YWRtaW5AaW50ZXJtZXRyaWNzLmRlPgorcGl4b2xpbm8uY29tCisKKy8vIEludGVybmV0LVBybywgTExQOiBodHRwczovL25ldGFuZ2Vscy5ydS8KKy8vIFN1Ym1pdHRlZCBieSBWYXNpbGl5IFNoZXJlZGVrbyA8cGlwaG9uQGdtYWlsLmNvbT4KK25hNHUucnUKKworLy8gaW9wc3lzIHNvZnR3YXJlIHNvbHV0aW9ucyBBQiA6IGh0dHBzOi8vaW9wc3lzLmV1LworLy8gU3VibWl0dGVkIGJ5IFJvbWFuIEF6YXJlbmtvIDxyb21hbi5hemFyZW5rb0Bpb3BzeXMuZXU+Citpb3BzeXMuc2UKKworLy8gSVBpRm9ueSBTeXN0ZW1zLCBJbmMuIDogaHR0cHM6Ly93d3cuaXBpZm9ueS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgTWF0dGhldyBIYXJkZW1hbiA8bWhhcmRlbWFuQGlwaWZvbnkuY29tPgoraXBpZm9ueS5uZXQKKworLy8gSVNlcnYgR21iSCA6IGh0dHBzOi8vaXNlcnYuZGUKKy8vIFN1Ym1pdHRlZCBieSBNYXJpbyBIb2JlcmcgPGluZm9AaXNlcnYuZGU+Citpc2VydnNjaHVsZS5kZQorbWVpbi1pc2Vydi5kZQorc2NodWxwbGF0dGZvcm0uZGUKK3NjaHVsc2VydmVyLmRlCit0ZXN0LWlzZXJ2LmRlCitpc2Vydi5kZXYKKworLy8gSS1PIERBVEEgREVWSUNFLCBJTkMuIDogaHR0cDovL3d3dy5pb2RhdGEuY29tLworLy8gU3VibWl0dGVkIGJ5IFl1amkgTWluYWdhd2EgPGRvbWFpbnMtYWRtaW5AaW9kYXRhLmpwPgoraW9iYi5uZXQKKworLy8gSmVsYXN0aWMsIEluYy4gOiBodHRwczovL2plbGFzdGljLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBJaG9yIEtvbG9keXVrIDxpa0BqZWxhc3RpYy5jb20+CittZWwuY2xvdWRsZXRzLmNvbS5hdQorY2xvdWQuaW50ZXJob3N0c29sdXRpb25zLmJlCit1c2Vycy5zY2FsZS52aXJ0dWFsY2xvdWQuY29tLmJyCitteWNsb3VkLmJ5CithbHAxLmFlLmZsb3cuY2gKK2FwcGVuZ2luZS5mbG93LmNoCitlcy0xLmF4YXJuZXQuY2xvdWQKK2RpYWRlbS5jbG91ZAordmlwLmplbGFzdGljLmNsb3VkCitqZWxlLmNsb3VkCitpdDEuZXVyLmFydWJhLmplbnYtYXJ1YmEuY2xvdWQKK2l0MS5qZW52LWFydWJhLmNsb3VkCitrZWxpd2ViLmNsb3VkCitjcy5rZWxpd2ViLmNsb3VkCitveGEuY2xvdWQKK3RuLm94YS5jbG91ZAordWsub3hhLmNsb3VkCitwcmltZXRlbC5jbG91ZAordWsucHJpbWV0ZWwuY2xvdWQKK2NhLnJlY2xhaW0uY2xvdWQKK3VrLnJlY2xhaW0uY2xvdWQKK3VzLnJlY2xhaW0uY2xvdWQKK2NoLnRyZW5kaG9zdGluZy5jbG91ZAorZGUudHJlbmRob3N0aW5nLmNsb3VkCitqZWxlLmNsdWIKK2Ftc2NvbXB1dGUuY29tCitjbGlja2V0Y2xvdWQuY29tCitkb3BhYXMuY29tCitoaWRvcmEuY29tCitwYWFzLmhvc3RlZC1ieS1wcmV2aWRlci5jb20KK3JhZy1jbG91ZC5ob3N0ZXVyLmNvbQorcmFnLWNsb3VkLWNoLmhvc3RldXIuY29tCitqY2xvdWQuaWstc2VydmVyLmNvbQoramNsb3VkLXZlci1qcGMuaWstc2VydmVyLmNvbQorZGVtby5qZWxhc3RpYy5jb20KK2tpbGF0aXJvbi5jb20KK3BhYXMubWFzc2l2ZWdyaWQuY29tCitqZWQud2FmYWljbG91ZC5jb20KK2xvbi53YWZhaWNsb3VkLmNvbQorcnlkLndhZmFpY2xvdWQuY29tCitqLnNjYWxlZm9yY2UuY29tLmN5CitqZWxhc3RpYy5kb2dhZG8uZXUKK2ZpLmNsb3VkcGxhdGZvcm0uZmkKK2RlbW8uZGF0YWNlbnRlci5maQorcGFhcy5kYXRhY2VudGVyLmZpCitqZWxlLmhvc3QKK21pcmNsb3VkLmhvc3QKK3BhYXMuYmVlYnl0ZS5pbworc2VrZDEuYmVlYnl0ZWFwcC5pbworamVsZS5pbworY2xvdWQtZnIxLnVuaXNwYWNlLmlvCitqYy5uZWVuLml0CitjbG91ZC5qZWxhc3RpYy5vcGVuLnRpbS5pdAoramNsb3VkLmt6Cit1cGFhcy5rYXp0ZWxlcG9ydC5regorY2xvdWRqaWZmeS5uZXQKK2ZyYTEtZGUuY2xvdWRqaWZmeS5uZXQKK3dlc3QxLXVzLmNsb3VkamlmZnkubmV0CitqbHMtc3RvMS5lbGFzdHgubmV0CitqbHMtc3RvMi5lbGFzdHgubmV0CitqbHMtc3RvMy5lbGFzdHgubmV0CitmYXN0c3RhY2tzLm5ldAorZnItMS5wYWFzLm1hc3NpdmVncmlkLm5ldAorbG9uLTEucGFhcy5tYXNzaXZlZ3JpZC5uZXQKK2xvbi0yLnBhYXMubWFzc2l2ZWdyaWQubmV0CitueS0xLnBhYXMubWFzc2l2ZWdyaWQubmV0CitueS0yLnBhYXMubWFzc2l2ZWdyaWQubmV0CitzZy0xLnBhYXMubWFzc2l2ZWdyaWQubmV0CitqZWxhc3RpYy5zYXZlaW5jbG91ZC5uZXQKK25vcmRlc3RlLWlkYy5zYXZlaW5jbG91ZC5uZXQKK2ouc2NhbGVmb3JjZS5uZXQKK2plbGFzdGljLnRzdWthZXJ1Lm5ldAorc2RzY2xvdWQucGwKK3VuaWNsb3VkLnBsCittaXJjbG91ZC5ydQoramVsYXN0aWMucmVncnVob3N0aW5nLnJ1CitlbnNjYWxlZC5zZworamVsZS5zaXRlCitqZWxhc3RpYy50ZWFtCitvcmFuZ2VjbG91ZC50bgorai5sYXllcnNoaWZ0LmNvLnVrCitwaHguZW5zY2FsZWQudXMKK21pcmNsb3VkLnVzCisKKy8vIEppbm8gOiBodHRwczovL3d3dy5qaW5vLnJ1CisvLyBTdWJtaXR0ZWQgYnkgU2VyZ2V5IFVseWFzaGluIDx1bHlhc2hpbkBqaW5vLnJ1PgorbXlqaW5vLnJ1CisqLmhvc3RpbmcubXlqaW5vLnJ1CisqLmxhbmRpbmcubXlqaW5vLnJ1CisqLnNwZWN0cnVtLm15amluby5ydQorKi52cHMubXlqaW5vLnJ1CisKKy8vIEpvdGVsdWx1IFMuTC4gOiBodHRwczovL2pvdGVsdWx1LmNvbQorLy8gU3VibWl0dGVkIGJ5IERhbmllbCBGYXJpw7FhIDxpbmdlbmllcmlhQGpvdGVsdWx1LmNvbT4KK2pvdGVsdWx1LmNsb3VkCisKKy8vIEpveWVudCA6IGh0dHBzOi8vd3d3LmpveWVudC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQnJpYW4gQmVubmV0dCA8YnJpYW4uYmVubmV0dEBqb3llbnQuY29tPgorKi50cml0b24uem9uZQorKi5jbnMuam95ZW50LmNvbQorCisvLyBKUy5PUkcgOiBodHRwOi8vZG5zLmpzLm9yZworLy8gU3VibWl0dGVkIGJ5IFN0ZWZhbiBLZWltIDxhZG1pbkBqcy5vcmc+Citqcy5vcmcKKworLy8gS2Fhc0hvc3RpbmcgOiBodHRwOi8vd3d3LmthYXNob3N0aW5nLm5sLworLy8gU3VibWl0dGVkIGJ5IFdvdXRlciBCYWtrZXIgPGhvc3RtYXN0ZXJAa2Fhc2hvc3Rpbmcubmw+CitrYWFzLmdnCitraHBsYXkubmwKKworLy8gS2FrYW8gOiBodHRwczovL3d3dy5rYWthb2NvcnAuY29tLworLy8gU3VibWl0dGVkIGJ5IEphZVlvb25nIExlZSA8Y2VjQGtha2FvY29ycC5jb20+CitrdGlzdG9yeS5jb20KKworLy8gS2Fwc2kgOiBodHRwczovL2thcHNpLmZpCisvLyBTdWJtaXR0ZWQgYnkgVG9taSBKdW50dW5lbiA8ZXJhbmlAa2Fwc2kuZmk+CitrYXBzaS5maQorCisvLyBLZXl3ZWIgQUcgOiBodHRwczovL3d3dy5rZXl3ZWIuZGUKKy8vIFN1Ym1pdHRlZCBieSBNYXJ0aW4gRGFubmVobCA8cG9zdG1hc3RlckBrZXltYWNoaW5lLmRlPgora2V5bWFjaGluZS5kZQorCisvLyBLaW5nSG9zdCA6IGh0dHBzOi8va2luZy5ob3N0CisvLyBTdWJtaXR0ZWQgYnkgRmVsaXBlIEtlbGxlciBCcmF6IDxmZWxpcGVicmF6QGtpbmdob3N0LmNvbS5icj4KK2tpbmdob3N0Lm5ldAordW5pNS5uZXQKKworLy8gS25pZ2h0UG9pbnQgU3lzdGVtcywgTExDIDogaHR0cDovL3d3dy5rbmlnaHRwb2ludC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgUm95IEtlZW5lIDxya2VlbmVAa25pZ2h0cG9pbnQuY29tPgora25pZ2h0cG9pbnQuc3lzdGVtcworCisvLyBLb29iaW5FdmVudCwgU0w6IGh0dHBzOi8vd3d3Lmtvb2Jpbi5jb20KKy8vIFN1Ym1pdHRlZCBieSBJdsOhbiBPbGl2YSA8aXZhbi5vbGl2YUBrb29iaW4uY29tPgora29vYmluLmV2ZW50cworCisvLyBLVVJPS1UgTFREIDogaHR0cHM6Ly9rdXJva3UubHRkLworLy8gU3VibWl0dGVkIGJ5IERpc3Bvc2FCb3kgPHNlY3VyaXR5QG95YS50bz4KK295YS50bworCisvLyBLYXRob2xpZWtlIFVuaXZlcnNpdGVpdCBMZXV2ZW46IGh0dHBzOi8vd3d3Lmt1bGV1dmVuLmJlCisvLyBTdWJtaXR0ZWQgYnkgQWJ1c2UgS1UgTGV1dmVuIDxhYnVzZUBrdWxldXZlbi5iZT4KK2t1bGV1dmVuLmNsb3VkCitlenByb3h5Lmt1bGV1dmVuLmJlCisKKy8vIC5LUkQgOiBodHRwOi8vbmljLmtyZC9kYXRhL2tyZC9SZWdpc3RyYXRpb24lMjBQb2xpY3kucGRmCitjby5rcmQKK2VkdS5rcmQKKworLy8gS3JlbGxpYW4gTHRkLiA6IGh0dHBzOi8va3JlbGxpYW4uY29tCisvLyBTdWJtaXR0ZWQgYnkgQmVuIEZyYW5jaXMgPGJlbkBrcmVsbGlhbi5jb20+CitrcmVsbGlhbi5uZXQKK3dlYnRoaW5ncy5pbworCisvLyBMQ3ViZSAtIFByb2Zlc3Npb25hbCBob3N0aW5nIGUuSy4gOiBodHRwczovL3d3dy5sY3ViZS13ZWJob3N0aW5nLmRlCisvLyBTdWJtaXR0ZWQgYnkgTGFycyBMYWVobiA8aW5mb0BsY3ViZS5kZT4KK2dpdC1yZXBvcy5kZQorbGN1YmUtc2VydmVyLmRlCitzdm4tcmVwb3MuZGUKKworLy8gTGVhZHBhZ2VzIDogaHR0cHM6Ly93d3cubGVhZHBhZ2VzLm5ldAorLy8gU3VibWl0dGVkIGJ5IEdyZWcgRGFsbGF2YWxsZSA8ZG9tYWluc0BsZWFkcGFnZXMubmV0PgorbGVhZHBhZ2VzLmNvCitscGFnZXMuY28KK2xwdXNlcmNvbnRlbnQuY29tCisKKy8vIExlbHV4LmZpIDogaHR0cHM6Ly9sZWx1eC5maS8KKy8vIFN1Ym1pdHRlZCBieSBMZWx1eCBBZG1pbiA8cHVibGlzdWZmaXhAbGVsdXguc2l0ZT4KK2xlbHV4LnNpdGUKKworLy8gTGlmZXRpbWUgSG9zdGluZyA6IGh0dHBzOi8vTGlmZXRpbWUuSG9zdGluZy8KKy8vIFN1Ym1pdHRlZCBieSBNaWtlIEZpbGxhdG9yIDxzdXBwb3J0QGxpZmV0aW1lLmhvc3Rpbmc+Citjby5idXNpbmVzcworY28uZWR1Y2F0aW9uCitjby5ldmVudHMKK2NvLmZpbmFuY2lhbAorY28ubmV0d29yaworY28ucGxhY2UKK2NvLnRlY2hub2xvZ3kKKworLy8gTGlnaHRtYWtlciBQcm9wZXJ0eSBNYW5hZ2VyLCBJbmMuIDogaHR0cHM6Ly9hcHAubG1wbS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgR3JlZyBIb2xsYW5kIDxncmVnLmhvbGxhbmRAbG1wbS5jb20+CithcHAubG1wbS5jb20KKworLy8gbGlua3lhcmQgbGR0OiBodHRwczovL3d3dy5saW5reWFyZC5jaC8KKy8vIFN1Ym1pdHRlZCBieSBNYXJpbyBTaWVnZW50aGFsZXIgPG1hcmlvLnNpZWdlbnRoYWxlckBsaW5reWFyZC5jaD4KK2xpbmt5YXJkLmNsb3VkCitsaW5reWFyZC1jbG91ZC5jaAorCisvLyBMaW5vZGUgOiBodHRwczovL2xpbm9kZS5jb20KKy8vIFN1Ym1pdHRlZCBieSA8c2VjdXJpdHlAbGlub2RlLmNvbT4KK21lbWJlcnMubGlub2RlLmNvbQorKi5ub2RlYmFsYW5jZXIubGlub2RlLmNvbQorKi5saW5vZGVvYmplY3RzLmNvbQoraXAubGlub2RldXNlcmNvbnRlbnQuY29tCisKKy8vIExpcXVpZE5ldCBMdGQgOiBodHRwOi8vd3d3LmxpcXVpZG5ldGxpbWl0ZWQuY29tLworLy8gU3VibWl0dGVkIGJ5IFZpY3RvciBWZWxjaGV2IDxhZG1pbkBsaXF1aWRuZXRsaW1pdGVkLmNvbT4KK3dlLmJzCisKKy8vIExvY2FsY2VydCA6IGh0dHBzOi8vbG9jYWxjZXJ0LmRldgorLy8gU3VibWl0dGVkIGJ5IExhbm4gTWFydGluIDxzZWN1cml0eUBsb2NhbGNlcnQuZGV2PgorKi51c2VyLmxvY2FsY2VydC5kZXYKKworLy8gbG9jYWx6b25lLnh5egorLy8gU3VibWl0dGVkIGJ5IEtlbm55IE5pZWhhZ2UgPGhlbGxvQHlhaGUuc2g+Citsb2NhbHpvbmUueHl6CisKKy8vIExvZydpbiBMaW5lIDogaHR0cHM6Ly93d3cubG9naW5saW5lLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBSw6ltaSBNYWNoIDxyZW1pLm1hY2hAbG9naW5saW5lLmNvbT4KK2xvZ2lubGluZS5hcHAKK2xvZ2lubGluZS5kZXYKK2xvZ2lubGluZS5pbworbG9naW5saW5lLnNlcnZpY2VzCitsb2dpbmxpbmUuc2l0ZQorCisvLyBMb2thbGl6ZWQgOiBodHRwczovL2xva2FsaXplZC5ubAorLy8gU3VibWl0dGVkIGJ5IE5vYWggVGFoZWlqIDxub2FoQGxva2FsaXplZC5ubD4KK3NlcnZlcnMucnVuCisKKy8vIEzDtWhtdXMgRmFtaWx5LCBUaGUKKy8vIFN1Ym1pdHRlZCBieSBIZWlraSBMw7VobXVzIDxob3N0bWFzdGVyIGF0IGxvaG11cyBkb3QgbWU+Citsb2htdXMubWUKKworLy8gTHViTUFOIFVNQ1MgU3AuIHogby5vIDogaHR0cHM6Ly9sdWJtYW4ucGwvCisvLyBTdWJtaXR0ZWQgYnkgSXJlbmV1c3ogTWFsaXN6ZXdza2kgPGlyZW5ldXN6Lm1hbGlzemV3c2tpQGx1Ym1hbi5wbD4KK2tyYXNuaWsucGwKK2xlY3puYS5wbAorbHViYXJ0b3cucGwKK2x1Ymxpbi5wbAorcG9uaWF0b3dhLnBsCitzd2lkbmlrLnBsCisKKy8vIEx1Zy5vcmcudWsgOiBodHRwczovL2x1Zy5vcmcudWsKKy8vIFN1Ym1pdHRlZCBieSBKb24gU3ByaWdncyA8YWRtaW5AbHVnLm9yZy51az4KK2dsdWcub3JnLnVrCitsdWcub3JnLnVrCitsdWdzLm9yZy51aworCisvLyBMdWthbmV0IEx0ZCA6IGh0dHBzOi8vbHVrYW5ldC5jb20KKy8vIFN1Ym1pdHRlZCBieSBBbnRvbiBBdnJhbW92IDxyZWdpc3RlckBsdWthbmV0LmNvbT4KK2JhcnN5LmJnCitiYXJzeS5jby51aworYmFyc3lvbmxpbmUuY28udWsKK2JhcnN5Y2VudGVyLmNvbQorYmFyc3lvbmxpbmUuY29tCitiYXJzeS5jbHViCitiYXJzeS5kZQorYmFyc3kuZXUKK2JhcnN5LmluCitiYXJzeS5pbmZvCitiYXJzeS5pbworYmFyc3kubWUKK2JhcnN5Lm1lbnUKK2JhcnN5Lm1vYmkKK2JhcnN5Lm5ldAorYmFyc3kub25saW5lCitiYXJzeS5vcmcKK2JhcnN5LnBybworYmFyc3kucHViCitiYXJzeS5ybworYmFyc3kuc2hvcAorYmFyc3kuc2l0ZQorYmFyc3kuc3VwcG9ydAorYmFyc3kudWsKKworLy8gTWFnZW50byBDb21tZXJjZQorLy8gU3VibWl0dGVkIGJ5IERhbWllbiBUb3Vybm91ZCA8ZHRvdXJub3VkQG1hZ2VudG8uY2xvdWQ+CisqLm1hZ2VudG9zaXRlLmNsb3VkCisKKy8vIE1heSBGaXJzdCAtIFBlb3BsZSBMaW5rIDogaHR0cHM6Ly9tYXlmaXJzdC5vcmcvCisvLyBTdWJtaXR0ZWQgYnkgSmFtaWUgTWNDbGVsbGFuZCA8aW5mb0BtYXlmaXJzdC5vcmc+CittYXlmaXJzdC5pbmZvCittYXlmaXJzdC5vcmcKKworLy8gTWFpbC5SdSBHcm91cCA6IGh0dHBzOi8vaGIuY2xkbWFpbC5ydQorLy8gU3VibWl0dGVkIGJ5IElseWEgWmFyZXRza2l5IDx6YXJldHNraXlAY29ycC5tYWlsLnJ1PgoraGIuY2xkbWFpbC5ydQorCisvLyBNYWlsIFRyYW5zZmVyIFBsYXRmb3JtIDogaHR0cHM6Ly93d3cubmV1cGVlci5jb20KKy8vIFN1Ym1pdHRlZCBieSBMaSBIdWkgPGxpaHVpQG5ldXBlZXIuY29tPgorY24udnUKKworLy8gTWF6ZSBQbGF5OiBodHRwczovL3d3dy5tYXplcGxheS5jb20KKy8vIFN1Ym1pdHRlZCBieSBBZGFtIEh1bXBoZXJ5cyA8YWRhbUBtd3MuZGV2PgorbWF6ZXBsYXkuY29tCisKKy8vIG1jcGUubWUgOiBodHRwczovL21jcGUubWUKKy8vIFN1Ym1pdHRlZCBieSBOb2EgSGV5bCA8aGlAbm9hLmRldj4KK21jcGUubWUKKworLy8gTWNIb3N0IDogaHR0cHM6Ly9tY2hvc3QucnUKKy8vIFN1Ym1pdHRlZCBieSBFdmdlbml5IFN1YmJvdGluIDxlLnN1YmJvdGluQG1jaG9zdC5ydT4KK21jZGlyLm1lCittY2Rpci5ydQorbWNwcmUucnUKK3Zwcy5tY2Rpci5ydQorCisvLyBNZWRpYXRlY2ggOiBodHRwczovL21lZGlhdGVjaC5ieQorLy8gU3VibWl0dGVkIGJ5IEV2Z2VuaXkgS296aHVob3Zza2l5IDx1Z2Vua0BtZWRpYXRlY2guYnk+CittZWRpYXRlY2guYnkKK21lZGlhdGVjaC5kZXYKKworLy8gTWVkaWNvbSBIZWFsdGggOiBodHRwczovL21lZGljb21oZWFsdGguY29tCisvLyBTdWJtaXR0ZWQgYnkgTWljaGFlbCBPbHNvbiA8bW9sc29uQG1lZGljb21oZWFsdGguY29tPgoraHJhLmhlYWx0aAorCisvLyBNZW1zZXQgaG9zdGluZyA6IGh0dHBzOi8vd3d3Lm1lbXNldC5jb20KKy8vIFN1Ym1pdHRlZCBieSBUb20gV2hpdHdlbGwgPGRvbWFpbnNAbWVtc2V0LmNvbT4KK21pbmlzZXJ2ZXIuY29tCittZW1zZXQubmV0CisKKy8vIE1lc3NlcmxpIEluZm9ybWF0aWsgQUcgOiBodHRwczovL3d3dy5tZXNzZXJsaS5jaC8KKy8vIFN1Ym1pdHRlZCBieSBSdWJlbiBTY2htaWRtZWlzdGVyIDxwc2wtbWFpbnRhaW5lcnNAbWVzc2VybGkuY2g+CittZXNzZXJsaS5hcHAKKworLy8gTWV0YUNlbnRydW0sIENFU05FVCB6LnMucC5vLiA6IGh0dHBzOi8vd3d3Lm1ldGFjZW50cnVtLmN6L2VuLworLy8gU3VibWl0dGVkIGJ5IFpkZW7Em2sgxaB1c3RyIDx6ZGVuZWsuc3VzdHJAY2VzbmV0LmN6PgorKi5jbG91ZC5tZXRhY2VudHJ1bS5jegorY3VzdG9tLm1ldGFjZW50cnVtLmN6CisKKy8vIE1ldGFDZW50cnVtLCBDRVNORVQgei5zLnAuby4gOiBodHRwczovL3d3dy5tZXRhY2VudHJ1bS5jei9lbi8KKy8vIFN1Ym1pdHRlZCBieSBSYWRpbSBKYW7EjWEgPGphbmNhQGNlc25ldC5jej4KK2ZsdC5jbG91ZC5tdW5pLmN6Cit1c3IuY2xvdWQubXVuaS5jegorCisvLyBNZXRlb3IgRGV2ZWxvcG1lbnQgR3JvdXAgOiBodHRwczovL3d3dy5tZXRlb3IuY29tL2hvc3RpbmcKKy8vIFN1Ym1pdHRlZCBieSBQaWVycmUgQ2FycmllciA8cGllcnJlQG1ldGVvci5jb20+CittZXRlb3JhcHAuY29tCitldS5tZXRlb3JhcHAuY29tCisKKy8vIE1pY2hhdSBFbnRlcnByaXNlcyBMaW1pdGVkIDogaHR0cDovL3d3dy5jby5wbC8KK2NvLnBsCisKKy8vIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiA6IGh0dHA6Ly9taWNyb3NvZnQuY29tCisvLyBTdWJtaXR0ZWQgYnkgUHVibGljIFN1ZmZpeCBMaXN0IEFkbWluIDxtc2Z0cHNsYWRtaW5AbWljcm9zb2Z0LmNvbT4KKyouYXp1cmVjb250YWluZXIuaW8KK2F6dXJld2Vic2l0ZXMubmV0CithenVyZS1tb2JpbGUubmV0CitjbG91ZGFwcC5uZXQKK2F6dXJlc3RhdGljYXBwcy5uZXQKKzEuYXp1cmVzdGF0aWNhcHBzLm5ldAorMi5henVyZXN0YXRpY2FwcHMubmV0CitjZW50cmFsdXMuYXp1cmVzdGF0aWNhcHBzLm5ldAorZWFzdGFzaWEuYXp1cmVzdGF0aWNhcHBzLm5ldAorZWFzdHVzMi5henVyZXN0YXRpY2FwcHMubmV0Cit3ZXN0ZXVyb3BlLmF6dXJlc3RhdGljYXBwcy5uZXQKK3dlc3R1czIuYXp1cmVzdGF0aWNhcHBzLm5ldAorCisvLyBtaW5pb24uc3lzdGVtcyA6IGh0dHA6Ly9taW5pb24uc3lzdGVtcworLy8gU3VibWl0dGVkIGJ5IFJvYmVydCBCw7Z0dGluZ2VyIDxyQG1pbmlvbi5zeXN0ZW1zPgorY3N4LmNjCisKKy8vIE1pbnRlcmUgOiBodHRwczovL21pbnRlcmUuY29tLworLy8gU3VibWl0dGVkIGJ5IEJlbiBBdWJpbiA8c2VjdXJpdHlAbWludGVyZS5jb20+CittaW50ZXJlLnNpdGUKKworLy8gTW9iaWxlRWR1Y2F0aW9uLCBMTEMgOiBodHRwczovL2pvaW5mb3J0ZS5jb20KKy8vIFN1Ym1pdHRlZCBieSBHcmF5c29uIE1hcnRpbiA8Z3JheXNvbi5tYXJ0aW5AbW9iaWxlZWR1Y2F0aW9uLnVzPgorZm9ydGUuaWQKKworLy8gTW96aWxsYSBDb3Jwb3JhdGlvbiA6IGh0dHBzOi8vbW96aWxsYS5jb20KKy8vIFN1Ym1pdHRlZCBieSBCZW4gRnJhbmNpcyA8YmZyYW5jaXNAbW96aWxsYS5jb20+Cittb3ppbGxhLWlvdC5vcmcKKworLy8gTW96aWxsYSBGb3VuZGF0aW9uIDogaHR0cHM6Ly9tb3ppbGxhLm9yZy8KKy8vIFN1Ym1pdHRlZCBieSBnbG9iIDxnbG9iQG1vemlsbGEuY29tPgorYm1vYXR0YWNobWVudHMub3JnCisKKy8vIE1TSy1JWCA6IGh0dHBzOi8vd3d3Lm1zay1peC5ydS8KKy8vIFN1Ym1pdHRlZCBieSBLaGFubmFub3YgUm9tYW4gPHIua2hhbm5hbm92QG1zay1peC5ydT4KK25ldC5ydQorb3JnLnJ1CitwcC5ydQorCisvLyBNeXRoaWMgQmVhc3RzIDogaHR0cHM6Ly93d3cubXl0aGljLWJlYXN0cy5jb20KKy8vIFN1Ym1pdHRlZCBieSBQYXVsIENhbW1pc2ggPGtlbGR1dW1AbXl0aGljLWJlYXN0cy5jb20+Citob3N0ZWRwaS5jb20KK2N1c3RvbWVyLm15dGhpYy1iZWFzdHMuY29tCitjYXJhY2FsLm15dGhpYy1iZWFzdHMuY29tCitmZW50aWdlci5teXRoaWMtYmVhc3RzLmNvbQorbHlueC5teXRoaWMtYmVhc3RzLmNvbQorb2NlbG90Lm15dGhpYy1iZWFzdHMuY29tCitvbmNpbGxhLm15dGhpYy1iZWFzdHMuY29tCitvbnphLm15dGhpYy1iZWFzdHMuY29tCitzcGhpbngubXl0aGljLWJlYXN0cy5jb20KK3ZzLm15dGhpYy1iZWFzdHMuY29tCit4Lm15dGhpYy1iZWFzdHMuY29tCit5YWxpLm15dGhpYy1iZWFzdHMuY29tCitjdXN0LnJldHJvc251Yi5jby51aworCisvLyBOYWJ1IENhc2EgOiBodHRwczovL3d3dy5uYWJ1Y2FzYS5jb20KKy8vIFN1Ym1pdHRlZCBieSBQYXVsdXMgU2Nob3V0c2VuIDxpbmZyYUBuYWJ1Y2FzYS5jb20+Cit1aS5uYWJ1LmNhc2EKKworLy8gTmV0IGF0IFdvcmsgR21iaCA6IGh0dHBzOi8vd3d3Lm5ldGF0d29yay5kZQorLy8gU3VibWl0dGVkIGJ5IEphbiBKYWVzY2hrZSA8amFuLmphZXNjaGtlQG5ldGF0d29yay5kZT4KK2Nsb3VkLm5vc3BhbXByb3h5LmNvbQorCisvLyBOZXRsaWZ5IDogaHR0cHM6Ly93d3cubmV0bGlmeS5jb20KKy8vIFN1Ym1pdHRlZCBieSBKZXNzaWNhIFBhcnNvbnMgPGplc3NpY2FAbmV0bGlmeS5jb20+CituZXRsaWZ5LmFwcAorCisvLyBOZXVzdGFyIEluYy4KKy8vIFN1Ym1pdHRlZCBieSBUcnVuZyBUcmFuIDxUcnVuZy5UcmFuQG5ldXN0YXIuYml6PgorNHUuY29tCisKKy8vIG5ncm9rIDogaHR0cHM6Ly9uZ3Jvay5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQWxhbiBTaHJldmUgPGFsYW5Abmdyb2suY29tPgorbmdyb2suaW8KKworLy8gTmltYnVzIEhvc3RpbmcgTHRkLiA6IGh0dHBzOi8vd3d3Lm5pbWJ1c2hvc3RpbmcuY28udWsvCisvLyBTdWJtaXR0ZWQgYnkgTmljaG9sYXMgRm9yZCA8bmlja0BuaW1idXNob3N0aW5nLmNvLnVrPgorbmgtc2Vydi5jby51aworCisvLyBORlNOLCBJbmMuIDogaHR0cHM6Ly93d3cuTmVhcmx5RnJlZVNwZWVjaC5ORVQvCisvLyBTdWJtaXR0ZWQgYnkgSmVmZiBXaGVlbGhvdXNlIDxzdXBwb3J0QG5lYXJseWZyZWVzcGVlY2gubmV0PgorbmZzaG9zdC5jb20KKworLy8gTm9vcCA6IGh0dHBzOi8vbm9vcC5hcHAKKy8vIFN1Ym1pdHRlZCBieSBOYXRoYW5pZWwgU2Nod2VpbmJlcmcgPG5vb3BAcmVhcmMuaW8+CisqLmRldmVsb3Blci5hcHAKK25vb3AuYXBwCisKKy8vIE5vcnRoZmxhbmsgTHRkLiA6IGh0dHBzOi8vbm9ydGhmbGFuay5jb20vCisvLyBTdWJtaXR0ZWQgYnkgTWFyY28gU3V0ZXIgPG1hcmNvQG5vcnRoZmxhbmsuY29tPgorKi5ub3J0aGZsYW5rLmFwcAorKi5idWlsZC5ydW4KKyouY29kZS5ydW4KKyouZGF0YWJhc2UucnVuCisqLm1pZ3JhdGlvbi5ydW4KKworLy8gTm90aWNlYWJsZSA6IGh0dHBzOi8vbm90aWNlYWJsZS5pbworLy8gU3VibWl0dGVkIGJ5IExhdXJlbnQgUGVsbGVncmlubyA8c2VjdXJpdHlAbm90aWNlYWJsZS5pbz4KK25vdGljZWFibGUubmV3cworCisvLyBOb3ctRE5TIDogaHR0cHM6Ly9ub3ctZG5zLmNvbQorLy8gU3VibWl0dGVkIGJ5IFN0ZXZlIFJ1c3NlbGwgPHN0ZXZlQG5vdy1kbnMuY29tPgorZG5za2luZy5jaAorbXlwaS5jbworbjR0LmNvCiswMDF3d3cuY29tCitkZG5zbGl2ZS5jb20KK215aXBob3N0LmNvbQorZm9ydW16LmluZm8KKzE2LWIuaXQKKzMyLWIuaXQKKzY0LWIuaXQKK3NvdW5kY2FzdC5tZQordGNwNC5tZQorZG5zdXAubmV0CitoaWNhbS5uZXQKK25vdy1kbnMubmV0Citvd25pcC5uZXQKK3ZwbmRucy5uZXQKK2R5bnNlcnYub3JnCitub3ctZG5zLm9yZworeDQ0My5wdworbm93LWRucy50b3AKK250ZGxsLnRvcAorZnJlZWRkbnMudXMKK2NyYWZ0aW5nLnh5egoremFwdG8ueHl6CisKKy8vIG5zdXBkYXRlLmluZm8gOiBodHRwczovL3d3dy5uc3VwZGF0ZS5pbmZvLworLy8gU3VibWl0dGVkIGJ5IFRob21hcyBXYWxkbWFubiA8aW5mb0Buc3VwZGF0ZS5pbmZvPgorbnN1cGRhdGUuaW5mbworbmVyZHBvbC5vdmgKKworLy8gTm8tSVAuY29tIDogaHR0cHM6Ly9ub2lwLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBEZXZlbiBSZXphIDxwdWJsaWNzdWZmaXhsaXN0QG5vaXAuY29tPgorYmxvZ3N5dGUuY29tCiticmFzaWxpYS5tZQorY2FibGUtbW9kZW0ub3JnCitjaXNjb2ZyZWFrLmNvbQorY29sbGVnZWZhbi5vcmcKK2NvdWNocG90YXRvZnJpZXMub3JnCitkYW1uc2VydmVyLmNvbQorZGRucy5tZQorZGl0Y2h5b3VyaXAuY29tCitkbnNmb3IubWUKK2Ruc2lza2lua3kuY29tCitkdnJjYW0uaW5mbworZHlubnMuY29tCitlYXRpbmctb3JnYW5pYy5uZXQKK2ZhbnRhc3lsZWFndWUuY2MKK2dlZWtnYWxheHkuY29tCitnb2xmZmFuLnVzCitoZWFsdGgtY2FyZXJlZm9ybS5jb20KK2hvbWVzZWN1cml0eW1hYy5jb20KK2hvbWVzZWN1cml0eXBjLmNvbQoraG9wdG8ubWUKK2lsb3ZlY29sbGVnZS5pbmZvCitsb2dpbnRvLm1lCittbGJmYW4ub3JnCittbWFmYW4uYml6CitteWFjdGl2ZWRpcmVjdG9yeS5jb20KK215ZGlzc2VudC5uZXQKK215ZWZmZWN0Lm5ldAorbXltZWRpYXBjLm5ldAorbXlwc3gubmV0CitteXNlY3VyaXR5Y2FtZXJhLmNvbQorbXlzZWN1cml0eWNhbWVyYS5uZXQKK215c2VjdXJpdHljYW1lcmEub3JnCituZXQtZnJlYWtzLmNvbQorbmZsZmFuLm9yZworbmhsZmFuLm5ldAorbm8taXAuY2EKK25vLWlwLmNvLnVrCituby1pcC5uZXQKK25vaXAudXMKK29udGhld2lmaS5jb20KK3BnYWZhbi5uZXQKK3BvaW50MnRoaXMuY29tCitwb2ludHRvLnVzCitwcml2YXRpemVoZWFsdGhpbnN1cmFuY2UubmV0CitxdWlja3N5dGVzLmNvbQorcmVhZC1ib29rcy5vcmcKK3NlY3VyaXR5dGFjdGljcy5jb20KK3NlcnZlZXhjaGFuZ2UuY29tCitzZXJ2ZWh1bW91ci5jb20KK3NlcnZlcDJwLmNvbQorc2VydmVzYXJjYXNtLmNvbQorc3R1ZmZ0b3JlYWQuY29tCit1ZmNmYW4ub3JnCit1bnVzdWFscGVyc29uLmNvbQord29ya2lzYm9yaW5nLmNvbQorM3V0aWxpdGllcy5jb20KK2JvdW5jZW1lLm5ldAorZGRucy5uZXQKK2RkbnNraW5nLmNvbQorZ290ZG5zLmNoCitob3B0by5vcmcKK215ZnRwLmJpegorbXlmdHAub3JnCitteXZuYy5jb20KK25vLWlwLmJpegorbm8taXAuaW5mbworbm8taXAub3JnCitub2lwLm1lCityZWRpcmVjdG1lLm5ldAorc2VydmViZWVyLmNvbQorc2VydmVibG9nLm5ldAorc2VydmVjb3VudGVyc3RyaWtlLmNvbQorc2VydmVmdHAuY29tCitzZXJ2ZWdhbWUuY29tCitzZXJ2ZWhhbGZsaWZlLmNvbQorc2VydmVodHRwLmNvbQorc2VydmVpcmMuY29tCitzZXJ2ZW1pbmVjcmFmdC5uZXQKK3NlcnZlbXAzLmNvbQorc2VydmVwaWNzLmNvbQorc2VydmVxdWFrZS5jb20KK3N5dGVzLm5ldAord2ViaG9wLm1lCit6YXB0by5vcmcKKworLy8gTm9kZUFydCA6IGh0dHBzOi8vbm9kZWFydC5pbworLy8gU3VibWl0dGVkIGJ5IEtvbnN0YW50aW4gTm9zb3YgPE5vc292QG5vZGVhcnQuaW8+CitzdGFnZS5ub2RlYXJ0LmlvCisKKy8vIE51Y2xlb3MgSW5jLiA6IGh0dHBzOi8vbnVjbGVvcy5jb20KKy8vIFN1Ym1pdHRlZCBieSBQaW90ciBaZHVuaWFrIDxwaW90ckBudWNsZW9zLmNvbT4KK3BjbG91ZC5ob3N0CisKKy8vIE5ZQy5tbiA6IGh0dHA6Ly93d3cuaW5mb3JtYXRpb24ubnljLm1uCisvLyBTdWJtaXR0ZWQgYnkgTWF0dGhldyBCcm93biA8bWF0dGJyb3duQG55Yy5tbj4KK255Yy5tbgorCisvLyBPYnNlcnZhYmxlLCBJbmMuIDogaHR0cHM6Ly9vYnNlcnZhYmxlaHEuY29tCisvLyBTdWJtaXR0ZWQgYnkgTWlrZSBCb3N0b2NrIDxkbnNAb2JzZXJ2YWJsZWhxLmNvbT4KK3N0YXRpYy5vYnNlcnZhYmxldXNlcmNvbnRlbnQuY29tCisKKy8vIE9jdG9wb2RhbCBTb2x1dGlvbnMsIExMQy4gOiBodHRwczovL3VsdGVyaXVzLmlvLworLy8gU3VibWl0dGVkIGJ5IEFuZHJldyBTYW1wc29uIDxhbmRyZXdAdWx0ZXJpdXMuaW8+CitjeWEuZ2cKKworLy8gT01HLkxPTCA6IDxodHRwczovL29tZy5sb2w+CisvLyBTdWJtaXR0ZWQgYnkgQWRhbSBOZXdib2xkIDxhZGFtQG9tZy5sb2w+CitvbWcubG9sCisKKy8vIE9tbmlib25kIFN5c3RlbXMsIExMQy4gOiBodHRwczovL3d3dy5vbW5pYm9uZC5jb20KKy8vIFN1Ym1pdHRlZCBieSBDb2xlIEVzdGVwIDxjb2xlQG9tbmlib25kLmNvbT4KK2Nsb3VkeWNsdXN0ZXIubmV0CisKKy8vIE9tbmlXZSBMaW1pdGVkOiBodHRwczovL29tbml3ZS5jb20KKy8vIFN1Ym1pdHRlZCBieSBWaWNhcnkgQXJjaGFuZ2VsIDx2aWNhcnlAb21uaXdlLmNvbT4KK29tbml3ZS5zaXRlCisKKy8vIE9uZS5jb206IGh0dHBzOi8vd3d3Lm9uZS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgSmFjb2IgQnVuayBOaWVsc2VuIDxqYm5Ab25lLmNvbT4KKzEyM2hqZW1tZXNpZGUuZGsKKzEyM2hqZW1tZXNpZGUubm8KKzEyM2hvbWVwYWdlLml0CisxMjNrb3Rpc2l2dS5maQorMTIzbWluc2lkYS5zZQorMTIzbWl3ZWIuZXMKKzEyM3BhZ2luYXdlYi5wdAorMTIzc2FpdC5ydQorMTIzc2l0ZXdlYi5mcgorMTIzd2Vic2VpdGUuYXQKKzEyM3dlYnNlaXRlLmRlCisxMjN3ZWJzaXRlLmJlCisxMjN3ZWJzaXRlLmNoCisxMjN3ZWJzaXRlLmx1CisxMjN3ZWJzaXRlLm5sCitzZXJ2aWNlLm9uZQorc2ltcGxlc2l0ZS5jb20KK3NpbXBsZXNpdGUuY29tLmJyCitzaW1wbGVzaXRlLmdyCitzaW1wbGVzaXRlLnBsCisKKy8vIE9uZSBGb2xkIE1lZGlhIDogaHR0cDovL3d3dy5vbmVmb2xkbWVkaWEuY29tLworLy8gU3VibWl0dGVkIGJ5IEVkZGllIEpvbmVzIDxlZGRpZUBvbmVmb2xkbWVkaWEuY29tPgorbmlkLmlvCisKKy8vIE9wZW4gU29jaWFsIDogaHR0cHM6Ly93d3cuZ2V0b3BlbnNvY2lhbC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQWxleGFuZGVyIFZhcndpamsgPHNlY3VyaXR5QGdldG9wZW5zb2NpYWwuY29tPgorb3BlbnNvY2lhbC5zaXRlCisKKy8vIE9wZW5DcmFmdCBHbWJIIDogaHR0cDovL29wZW5jcmFmdC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgU3ZlbiBNYXJuYWNoIDxzdmVuQG9wZW5jcmFmdC5jb20+CitvcGVuY3JhZnQuaG9zdGluZworCisvLyBPcGVuUmVzZWFyY2ggR21iSDogaHR0cHM6Ly9vcGVucmVzZWFyY2guY29tLworLy8gU3VibWl0dGVkIGJ5IFBoaWxpcHAgU2NobWlkIDxvcHNAb3BlbnJlc2VhcmNoLmNvbT4KK29yc2l0ZXMuY29tCisKKy8vIE9wZXJhIFNvZnR3YXJlLCBBLlMuQS4KKy8vIFN1Ym1pdHRlZCBieSBZbmd2ZSBQZXR0ZXJzZW4gPHluZ3ZlQG9wZXJhLmNvbT4KK29wZXJhdW5pdGUuY29tCisKKy8vIE9yYW5nZSA6IGh0dHBzOi8vd3d3Lm9yYW5nZS5jb20KKy8vIFN1Ym1pdHRlZCBieSBBbGV4YW5kcmUgTGludGUgPGFsZXhhbmRyZS5saW50ZUBvcmFuZ2UuY29tPgordGVjaC5vcmFuZ2UKKworLy8gT3Vyc2t5IExpbWl0ZWQgOiBodHRwczovL2F1dGhnZWFyLmNvbS8sIGh0dHBzOi8vc2t5Z2Vhci5pby8KKy8vIFN1Ym1pdHRlZCBieSBBdXRoZ2VhciBUZWFtIDxoZWxsb0BhdXRoZ2Vhci5jb20+LCBTa3lnZWFyIERldmVsb3BlciA8aGVsbG9Ac2t5Z2Vhci5pbz4KK2F1dGhnZWFyLXN0YWdpbmcuY29tCithdXRoZ2VhcmFwcHMuY29tCitza3lnZWFyYXBwLmNvbQorCisvLyBPdXRTeXN0ZW1zCisvLyBTdWJtaXR0ZWQgYnkgRHVhcnRlIFNhbnRvcyA8ZG9tYWluLWFkbWluQG91dHN5c3RlbXNjbG91ZC5jb20+CitvdXRzeXN0ZW1zY2xvdWQuY29tCisKKy8vIE9WSGNsb3VkOiBodHRwczovL292aGNsb3VkLmNvbQorLy8gU3VibWl0dGVkIGJ5IFZpbmNlbnQgQ2Fzc8OpIDx2aW5jZW50LmNhc3NlQG92aGNsb3VkLmNvbT4KKyoud2VicGFhcy5vdmgubmV0CisqLmhvc3Rpbmcub3ZoLm5ldAorCisvLyBPd25Qcm92aWRlciBHbWJIOiBodHRwOi8vd3d3Lm93bnByb3ZpZGVyLmNvbQorLy8gU3VibWl0dGVkIGJ5IEphbiBNb2VubmljaCA8amFuLm1vZW5uaWNoQG93bnByb3ZpZGVyLmNvbT4KK293bnByb3ZpZGVyLmNvbQorb3duLnBtCisKKy8vIE93TyA6IGh0dHBzOi8vd2hhdHMtdGguaXMvCisvLyBTdWJtaXR0ZWQgYnkgRGVhbiBTaGVhdGhlciA8ZGVhbkBkZWFuc2hlYXRoZXIuY29tPgorKi5vd28uY29kZXMKKworLy8gT1ggOiBodHRwOi8vd3d3Lm94LnJzCisvLyBTdWJtaXR0ZWQgYnkgQWRhbSBHcmFuZCA8d2VibWFzdGVyQG1haWwub3gucnM+CitveC5ycworCisvLyBveS5sYworLy8gU3VibWl0dGVkIGJ5IENoYXJseSBDb3N0ZSA8Y2hhbmdhY29AY2hhbmdhY28ub3kubGM+CitveS5sYworCisvLyBQYWdlZm9nIDogaHR0cHM6Ly9wYWdlZm9nLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBEZXJlayBNeWVycyA8ZGVyZWtAcGFnZWZvZy5jb20+CitwZ2ZvZy5jb20KKworLy8gUGFnZWZyb250IDogaHR0cHM6Ly93d3cucGFnZWZyb250aHEuY29tLworLy8gU3VibWl0dGVkIGJ5IEphc29uIEtyaXNzIDxqYXNvbkBwYWdlZnJvbnRocS5jb20+CitwYWdlZnJvbnRhcHAuY29tCisKKy8vIFBhZ2VYTCA6IGh0dHBzOi8vcGFnZXhsLmNvbQorLy8gU3VibWl0dGVkIGJ5IFlhbm4gR3VpY2hhcmQgPHlhbm5AcGFnZXhsLmNvbT4KK3BhZ2V4bC5jb20KKworLy8gUGF5d2hpcmwsIEluYyA6IGh0dHBzOi8vcGF5d2hpcmwuY29tLworLy8gU3VibWl0dGVkIGJ5IERhbmllbCBOZXR6ZXIgPGRhbkBwYXl3aGlybC5jb20+CisqLnBheXdoaXJsLmNvbQorCisvLyBwY2Fycmllci5jYSBTb2Z0d2FyZSBJbmM6IGh0dHBzOi8vcGNhcnJpZXIuY2EvCisvLyBTdWJtaXR0ZWQgYnkgUGllcnJlIENhcnJpZXIgPHBjQHJyaWVyLmNhPgorYmFyMC5uZXQKK2JhcjEubmV0CitiYXIyLm5ldAorcmR2LnRvCisKKy8vIC5wbCBkb21haW5zIChncmFuZGZhdGhlcmVkKQorYXJ0LnBsCitnbGl3aWNlLnBsCitrcmFrb3cucGwKK3Bvem5hbi5wbAord3JvYy5wbAoremFrb3BhbmUucGwKKworLy8gUGFudGhlb24gU3lzdGVtcywgSW5jLiA6IGh0dHBzOi8vcGFudGhlb24uaW8vCisvLyBTdWJtaXR0ZWQgYnkgR2FyeSBEeWxpbmEgPGdhcnlAcGFudGhlb24uaW8+CitwYW50aGVvbnNpdGUuaW8KK2dvdHBhbnRoZW9uLmNvbQorCisvLyBQZXBsaW5rIHwgUGVwd2F2ZSA6IGh0dHA6Ly9wZXBsaW5rLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBTdGV2ZSBMZXVuZyA8c3RldmVsZXVuZ0BwZXBsaW5rLmNvbT4KK215cGVwLmxpbmsKKworLy8gUGVyc3BlY3RhIDogaHR0cHM6Ly9wZXJzcGVjdGEuY29tLworLy8gU3VibWl0dGVkIGJ5IEtlbm5ldGggVmFuIEFsc3R5bmUgPGt2YW5hbHN0eW5lQHBlcnNwZWN0YS5jb20+CitwZXJzcGVjdGEuY2xvdWQKKworLy8gUEUgVWx5YW5vdiBLaXJpbGwgU2VyZ2VldmljaCA6IGh0dHBzOi8vYWlyeS5ob3N0CisvLyBTdWJtaXR0ZWQgYnkgS2lyaWxsIFVseWFub3YgPGsudWx5YW5vdkBhaXJ5Lmhvc3Q+CitsazMucnUKKworLy8gUGxhbmV0LVdvcmsgOiBodHRwczovL3d3dy5wbGFuZXQtd29yay5jb20vCisvLyBTdWJtaXR0ZWQgYnkgRnLDqWTDqXJpYyBWQU5OScOIUkUgPGYudmFubmllcmVAcGxhbmV0LXdvcmsuY29tPgorb24td2ViLmZyCisKKy8vIFBsYXRmb3JtLnNoIDogaHR0cHM6Ly9wbGF0Zm9ybS5zaAorLy8gU3VibWl0dGVkIGJ5IE5pa29sYSBLb3R1ciA8bmlrb2xhQHBsYXRmb3JtLnNoPgorYmMucGxhdGZvcm0uc2gKK2VudC5wbGF0Zm9ybS5zaAorZXUucGxhdGZvcm0uc2gKK3VzLnBsYXRmb3JtLnNoCisqLnBsYXRmb3Jtc2guc2l0ZQorKi50c3Quc2l0ZQorCisvLyBQbGF0dGVyOiBodHRwczovL3BsYXR0ZXIuZGV2CisvLyBTdWJtaXR0ZWQgYnkgUGF0cmljayBGbG9yIDxwYXRyaWNrQHBsYXR0ZXIuZGV2PgorcGxhdHRlci1hcHAuY29tCitwbGF0dGVyLWFwcC5kZXYKK3BsYXR0ZXJwLnVzCisKKy8vIFBsZXNrIDogaHR0cHM6Ly93d3cucGxlc2suY29tLworLy8gU3VibWl0dGVkIGJ5IEFudG9uIEFraHR5YW1vdiA8cHJvZ3JhbS1tYW5hZ2Vyc0BwbGVzay5jb20+CitwZG5zLnBhZ2UKK3BsZXNrLnBhZ2UKK3BsZXNrbnMuY29tCisKKy8vIFBvcnQ1MyA6IGh0dHBzOi8vcG9ydDUzLmlvLworLy8gU3VibWl0dGVkIGJ5IE1heGltaWxpYW4gU2NoaWVkZXIgPG1heGlAemV1Zy5jbz4KK2R5bjUzLmlvCisKKy8vIFBvcnRlciA6IGh0dHBzOi8vcG9ydGVyLnJ1bi8KKy8vIFN1Ym1pdHRlZCBieSBSdWRyYWtzaCBNSyA8cnVkaUBwb3J0ZXIucnVuPgorb25wb3J0ZXIucnVuCisKKy8vIFBvc2l0aXZlIENvZGVzIFRlY2hub2xvZ3kgQ29tcGFueSA6IGh0dHA6Ly9jby5ibi9mYXEuaHRtbAorLy8gU3VibWl0dGVkIGJ5IFp1bGZhaXMgPHBjQGNvLmJuPgorY28uYm4KKworLy8gUG9zdG1hbiwgSW5jIDogaHR0cHM6Ly9wb3N0bWFuLmNvbQorLy8gU3VibWl0dGVkIGJ5IFJhaHVsIERoYXdhbiA8c2VjdXJpdHlAcG9zdG1hbi5jb20+Citwb3N0bWFuLWVjaG8uY29tCitwc3Rtbi5pbworbW9jay5wc3Rtbi5pbworaHR0cGJpbi5vcmcKKworLy9wcmVxdWFsaWZ5bWUudG9kYXkgOiBodHRwczovL3ByZXF1YWxpZnltZS50b2RheQorLy9TdWJtaXR0ZWQgYnkgRGVlcGFrVGl3YXJpIGRlZXBha0BpdnlsZWFkLmlvCitwcmVxdWFsaWZ5bWUudG9kYXkKKworLy8gcHJnbXIuY29tIDogaHR0cHM6Ly9wcmdtci5jb20vCisvLyBTdWJtaXR0ZWQgYnkgU2FyYWggTmV3bWFuIDxvd25lckBwcmdtci5jb20+Cit4ZW4ucHJnbXIuY29tCisKKy8vIHByaXYuYXQgOiBodHRwOi8vd3d3Lm5pYy5wcml2LmF0LworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxsZW5kbEBuaWMuYXQ+Citwcml2LmF0CisKKy8vIHByaXZhY3l0b29scy5pbyA6IGh0dHBzOi8vd3d3LnByaXZhY3l0b29scy5pby8KKy8vIFN1Ym1pdHRlZCBieSBKb25haCBBcmFnb24gPGpvbmFoQHByaXZhY3l0b29scy5pbz4KK3BydmN5LnBhZ2UKKworLy8gUHJvdG9jb2wgTGFicyA6IGh0dHBzOi8vcHJvdG9jb2wuYWkvCisvLyBTdWJtaXR0ZWQgYnkgTWljaGFlbCBCdXJucyA8bm9jQHByb3RvY29sLmFpPgorKi5kd2ViLmxpbmsKKworLy8gUHJvdG9uZXQgR21iSCA6IGh0dHA6Ly9wcm90b25ldC5pbworLy8gU3VibWl0dGVkIGJ5IE1hcnRpbiBNZWllciA8YWRtaW5AcHJvdG9uZXQuaW8+Citwcm90b25ldC5pbworCisvLyBQdWJsaWNhdGlvbiBQcmVzc2UgQ29tbXVuaWNhdGlvbiBTQVJMIDogaHR0cHM6Ly9wcGNvbS5mcgorLy8gU3VibWl0dGVkIGJ5IFlhYWNvdiBBa2liYSBTbGFtYSA8YWRtaW5AY2hpcnVyZ2llbnMtZGVudGlzdGVzLWVuLWZyYW5jZS5mcj4KK2NoaXJ1cmdpZW5zLWRlbnRpc3Rlcy1lbi1mcmFuY2UuZnIKK2J5ZW4uc2l0ZQorCisvLyBwdWJ0bHMub3JnOiBodHRwczovL3d3dy5wdWJ0bHMub3JnCisvLyBTdWJtaXR0ZWQgYnkgS29yIE5pZWxzZW4gPGtvckBwdWJ0bHMub3JnPgorcHVidGxzLm9yZworCisvLyBQeXRob25Bbnl3aGVyZSBMTFA6IGh0dHBzOi8vd3d3LnB5dGhvbmFueXdoZXJlLmNvbQorLy8gU3VibWl0dGVkIGJ5IEdpbGVzIFRob21hcyA8Z2lsZXNAcHl0aG9uYW55d2hlcmUuY29tPgorcHl0aG9uYW55d2hlcmUuY29tCitldS5weXRob25hbnl3aGVyZS5jb20KKworLy8gUU9UTywgT3JnLgorLy8gU3VibWl0dGVkIGJ5IEplZmZyZXkgUGhpbGxpcHMgRnJlZW1hbiA8amVmZnJleS5mcmVlbWFuQHFvdG8ub3JnPgorcW90by5pbworCisvLyBRdWFsaWZpbyA6IGh0dHBzOi8vcXVhbGlmaW8uY29tLworLy8gU3VibWl0dGVkIGJ5IFhhdmllciBEZSBDb2NrIDx4ZGVjb2NrQGdtYWlsLmNvbT4KK3F1YWxpZmlvYXBwLmNvbQorCisvLyBRdWlja0JhY2tlbmQ6IGh0dHBzOi8vd3d3LnF1aWNrYmFja2VuZC5jb20KKy8vIFN1Ym1pdHRlZCBieSBEYW5pIEJpcm8gPGRhbmlAcHltZXQuY29tPgorcWJ1c2VyLmNvbQorCisvLyBSYWQgV2ViIEhvc3Rpbmc6IGh0dHBzOi8vcmFkd2ViaG9zdGluZy5jb20KKy8vIFN1Ym1pdHRlZCBieSBTY290dCBDbGFleXMgPHMuY2xhZXlzQHJhZHdlYmhvc3RpbmcuY29tPgorY2xvdWRzaXRlLmJ1aWxkZXJzCisKKy8vIFJlZGdhdGUgU29mdHdhcmU6IGh0dHBzOi8vcmVkLWdhdGUuY29tCisvLyBTdWJtaXR0ZWQgYnkgQW5kcmV3IEZhcnJpZXMgPGFuZHJldy5mYXJyaWVzQHJlZC1nYXRlLmNvbT4KK2luc3RhbmNlcy5zcGF3bi5jYworCisvLyBSZWRzdGFyIENvbnN1bHRhbnRzIDogaHR0cHM6Ly93d3cucmVkc3RhcmNvbnN1bHRhbnRzLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBKb25zIFNsZW1tZXIgPGpvbnNAcmVkc3RhcmNvbnN1bHRhbnRzLmNvbT4KK2luc3RhbnRjbG91ZC5jbgorCisvLyBSdXNzaWFuIEFjYWRlbXkgb2YgU2NpZW5jZXMKKy8vIFN1Ym1pdHRlZCBieSBUZWNoIFN1cHBvcnQgPHN1cHBvcnRAcmFzbmV0LnJ1PgorcmFzLnJ1CisKKy8vIFFBMgorLy8gU3VibWl0dGVkIGJ5IERhbmllbCBEZW50IChodHRwczovL3d3dy5kYW5pZWxkZW50LmNvbS8pCitxYTIuY29tCisKKy8vIFFDWAorLy8gU3VibWl0dGVkIGJ5IENhc3NhbmRyYSBCZWVsZW4gPGNhc3NhbmRyYUBiZWVsZW4ub25lPgorcWN4LmlvCisqLnN5cy5xY3guaW8KKworLy8gUU5BUCBTeXN0ZW0gSW5jIDogaHR0cHM6Ly93d3cucW5hcC5jb20KKy8vIFN1Ym1pdHRlZCBieSBOaWNrIENoYW5nIDxuaWNrY2hhbmdAcW5hcC5jb20+CitkZXYtbXlxbmFwY2xvdWQuY29tCithbHBoYS1teXFuYXBjbG91ZC5jb20KK215cW5hcGNsb3VkLmNvbQorCisvLyBRdWlwIDogaHR0cHM6Ly9xdWlwLmNvbQorLy8gU3VibWl0dGVkIGJ5IFBhdHJpY2sgTGluZWhhbiA8cGxpbmVoYW5AcXVpcC5jb20+CisqLnF1aXBlbGVtZW50cy5jb20KKworLy8gUXV0aGVvcnkgTExDIDogaHR0cDovL3F1dGhlb3J5LmlvCisvLyBTdWJtaXR0ZWQgYnkgSm9uYXMgU2Nod2FydHogPGpvbmFzQHF1dGhlb3J5LmlvPgordmFwb3IuY2xvdWQKK3ZhcG9yY2xvdWQuaW8KKworLy8gUmFja21hemUgTExDIDogaHR0cHM6Ly93d3cucmFja21hemUuY29tCisvLyBTdWJtaXR0ZWQgYnkgS2lyaWxsIFBlcnRzZXYgPGtpa2FAcmFja21hemUuY29tPgorcmFja21hemUuY29tCityYWNrbWF6ZS5uZXQKKworLy8gUmFrdXRlbiBHYW1lcywgSW5jIDogaHR0cHM6Ly9kZXYudmliZXJwbGF5LmlvCisvLyBTdWJtaXR0ZWQgYnkgSm9zaHVhIFpoYW5nIDxwdWJsaWMtc3VmZml4QHJnYW1lcy5qcD4KK2cudmJycGxzYnguaW8KKworLy8gUmFuY2hlciBMYWJzLCBJbmMgOiBodHRwczovL3JhbmNoZXIuY29tCisvLyBTdWJtaXR0ZWQgYnkgVmluY2VudCBGaWR1Y2NpYSA8ZG9tYWluc0ByYW5jaGVyLmNvbT4KKyoub24tazNzLmlvCisqLm9uLXJhbmNoZXIuY2xvdWQKKyoub24tcmlvLmlvCisKKy8vIFJlYWQgVGhlIERvY3MsIEluYyA6IGh0dHBzOi8vd3d3LnJlYWR0aGVkb2NzLm9yZworLy8gU3VibWl0dGVkIGJ5IERhdmlkIEZpc2NoZXIgPHRlYW1AcmVhZHRoZWRvY3Mub3JnPgorcmVhZHRoZWRvY3MuaW8KKworLy8gUmVkIEhhdCwgSW5jLiBPcGVuU2hpZnQgOiBodHRwczovL29wZW5zaGlmdC5yZWRoYXQuY29tLworLy8gU3VibWl0dGVkIGJ5IFRpbSBLcmFtZXIgPHRrcmFtZXJAcmhjbG91ZC5jb20+CityaGNsb3VkLmNvbQorCisvLyBSZW5kZXIgOiBodHRwczovL3JlbmRlci5jb20KKy8vIFN1Ym1pdHRlZCBieSBBbnVyYWcgR29lbCA8ZGV2QHJlbmRlci5jb20+CithcHAucmVuZGVyLmNvbQorb25yZW5kZXIuY29tCisKKy8vIFJlcGwuaXQgOiBodHRwczovL3JlcGwuaXQKKy8vIFN1Ym1pdHRlZCBieSBMaW5jb2xuIEJlcmdlc29uIDxsaW5jb2xuQHJlcGxpdC5jb20+CitmaXJld2FsbGVkcmVwbGl0LmNvCitpZC5maXJld2FsbGVkcmVwbGl0LmNvCityZXBsLmNvCitpZC5yZXBsLmNvCityZXBsLnJ1bgorCisvLyBSZXNpbi5pbyA6IGh0dHBzOi8vcmVzaW4uaW8KKy8vIFN1Ym1pdHRlZCBieSBUaW0gUGVycnkgPHRpbUByZXNpbi5pbz4KK3Jlc2luZGV2aWNlLmlvCitkZXZpY2VzLnJlc2luc3RhZ2luZy5pbworCisvLyBSZXRoaW5rREIgOiBodHRwczovL3d3dy5yZXRoaW5rZGIuY29tLworLy8gU3VibWl0dGVkIGJ5IENocmlzIEthc3RvcmZmIDxpbmZvQHJldGhpbmtkYi5jb20+CitoemMuaW8KKworLy8gUmV2aXRhbGlzZWQgTGltaXRlZCA6IGh0dHA6Ly93d3cucmV2aXRhbGlzZWQuY28udWsKKy8vIFN1Ym1pdHRlZCBieSBKYWNrIFByaWNlIDxqYWNrQHJldml0YWxpc2VkLmNvLnVrPgord2VsbGJlaW5nem9uZS5ldQord2VsbGJlaW5nem9uZS5jby51aworCisvLyBSaWNvIERldmVsb3BtZW50cyBMaW1pdGVkIDogaHR0cHM6Ly9hZGltby5jbworLy8gU3VibWl0dGVkIGJ5IENvbGluIEJyb3duIDxoZWxsb0BhZGltby5jbz4KK2FkaW1vLmNvLnVrCisKKy8vIFJpc2V1cCBOZXR3b3JrcyA6IGh0dHBzOi8vcmlzZXVwLm5ldAorLy8gU3VibWl0dGVkIGJ5IE1pY2FoIEFuZGVyc29uIDxtaWNhaEByaXNldXAubmV0PgoraXRjb3VsZGJld29yLnNlCisKKy8vIFJvY2hlc3RlciBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neSA6IGh0dHA6Ly93d3cucml0LmVkdS8KKy8vIFN1Ym1pdHRlZCBieSBKZW5uaWZlciBIZXJ0aW5nIDxqY2hpdHNAcml0LmVkdT4KK2dpdC1wYWdlcy5yaXQuZWR1CisKKy8vIFJvY2t5IEVudGVycHJpc2UgU29mdHdhcmUgRm91bmRhdGlvbiA6IGh0dHBzOi8vcmVzZi5vcmcKKy8vIFN1Ym1pdHRlZCBieSBOZWlsIEhhbmxvbiA8bmVpbEByZXNmLm9yZz4KK3JvY2t5LnBhZ2UKKworLy8gUnVzbmFtZXMgTGltaXRlZDogaHR0cDovL3J1c25hbWVzLnJ1LworLy8gU3VibWl0dGVkIGJ5IFNlcmdleSBab3RvdiA8YWRtaW5AcnVzbmFtZXMucnU+CivQsdC40Lcu0YDRg9GBCivQutC+0Lwu0YDRg9GBCivQutGA0YvQvC7RgNGD0YEKK9C80LjRgC7RgNGD0YEKK9C80YHQui7RgNGD0YEKK9C+0YDQsy7RgNGD0YEKK9GB0LDQvNCw0YDQsC7RgNGD0YEKK9GB0L7Rh9C4LtGA0YPRgQor0YHQv9CxLtGA0YPRgQor0Y8u0YDRg9GBCisKKy8vIFNhbGVzZm9yY2UuY29tLCBJbmMuIGh0dHBzOi8vc2FsZXNmb3JjZS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgTWljaGFlbCBCaXZlbiA8bWJpdmVuQHNhbGVzZm9yY2UuY29tPgorKi5idWlsZGVyLmNvZGUuY29tCisqLmRldi1idWlsZGVyLmNvZGUuY29tCisqLnN0Zy1idWlsZGVyLmNvZGUuY29tCisKKy8vIFNhbmRzdG9ybSBEZXZlbG9wbWVudCBHcm91cCwgSW5jLiA6IGh0dHBzOi8vc2FuZGNhdHMuaW8vCisvLyBTdWJtaXR0ZWQgYnkgQXNoZWVzaCBMYXJvaWEgPGFzaGVlc2hAc2FuZHN0b3JtLmlvPgorc2FuZGNhdHMuaW8KKworLy8gU0JFIG5ldHdvcmsgc29sdXRpb25zIEdtYkggOiBodHRwczovL3d3dy5zYmUuZGUvCisvLyBTdWJtaXR0ZWQgYnkgTm9ybWFuIE1laWxpY2sgPG5tQHNiZS5kZT4KK2xvZ29pcC5kZQorbG9nb2lwLmNvbQorCisvLyBTY2FsZXdheSA6IGh0dHBzOi8vd3d3LnNjYWxld2F5LmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBSw6lteSBMw6lvbmUgPHJsZW9uZUBzY2FsZXdheS5jb20+Citmci1wYXItMS5iYXJlbWV0YWwuc2N3LmNsb3VkCitmci1wYXItMi5iYXJlbWV0YWwuc2N3LmNsb3VkCitubC1hbXMtMS5iYXJlbWV0YWwuc2N3LmNsb3VkCitmbmMuZnItcGFyLnNjdy5jbG91ZAorZnVuY3Rpb25zLmZuYy5mci1wYXIuc2N3LmNsb3VkCitrOHMuZnItcGFyLnNjdy5jbG91ZAorbm9kZXMuazhzLmZyLXBhci5zY3cuY2xvdWQKK3MzLmZyLXBhci5zY3cuY2xvdWQKK3MzLXdlYnNpdGUuZnItcGFyLnNjdy5jbG91ZAord2htLmZyLXBhci5zY3cuY2xvdWQKK3ByaXYuaW5zdGFuY2VzLnNjdy5jbG91ZAorcHViLmluc3RhbmNlcy5zY3cuY2xvdWQKK2s4cy5zY3cuY2xvdWQKK2s4cy5ubC1hbXMuc2N3LmNsb3VkCitub2Rlcy5rOHMubmwtYW1zLnNjdy5jbG91ZAorczMubmwtYW1zLnNjdy5jbG91ZAorczMtd2Vic2l0ZS5ubC1hbXMuc2N3LmNsb3VkCit3aG0ubmwtYW1zLnNjdy5jbG91ZAorazhzLnBsLXdhdy5zY3cuY2xvdWQKK25vZGVzLms4cy5wbC13YXcuc2N3LmNsb3VkCitzMy5wbC13YXcuc2N3LmNsb3VkCitzMy13ZWJzaXRlLnBsLXdhdy5zY3cuY2xvdWQKK3NjYWxlYm9vay5zY3cuY2xvdWQKK3NtYXJ0bGFiZWxpbmcuc2N3LmNsb3VkCitkZWRpYm94LmZyCisKKy8vIHNjaG9rb2tla3Mub3JnIEdiUiA6IGh0dHBzOi8vc2Nob2tva2Vrcy5vcmcvCisvLyBTdWJtaXR0ZWQgYnkgSGFubm8gQsO2Y2sgPGhhbm5vQHNjaG9rb2tla3Mub3JnPgorc2Nob2tva2Vrcy5uZXQKKworLy8gU2NvdHRpc2ggR292ZXJubWVudDogaHR0cHM6Ly93d3cuZ292LnNjb3QKKy8vIFN1Ym1pdHRlZCBieSBNYXJ0aW4gRWxsaXMgPG1hcnRpbi5lbGxpc0Bnb3Yuc2NvdD4KK2dvdi5zY290CitzZXJ2aWNlLmdvdi5zY290CisKKy8vIFNjcnkgU2VjdXJpdHkgOiBodHRwOi8vd3d3LnNjcnlzZWMuY29tCisvLyBTdWJtaXR0ZWQgYnkgU2hhbnRlIEFkYW0gPHNoYW50ZUBza3loYXQuaW8+CitzY3J5c2VjLmNvbQorCisvLyBTZWN1cmVwb2ludCBHbWJIIDogaHR0cHM6Ly93d3cuc2VjdXJlcG9pbnQuZGUKKy8vIFN1Ym1pdHRlZCBieSBFcmlrIEFuZGVycyA8ZXJpay5hbmRlcnNAc2VjdXJlcG9pbnQuZGU+CitmaXJld2FsbC1nYXRld2F5LmNvbQorZmlyZXdhbGwtZ2F0ZXdheS5kZQorbXktZ2F0ZXdheS5kZQorbXktcm91dGVyLmRlCitzcGRucy5kZQorc3BkbnMuZXUKK2ZpcmV3YWxsLWdhdGV3YXkubmV0CitteS1maXJld2FsbC5vcmcKK215ZmlyZXdhbGwub3JnCitzcGRucy5vcmcKKworLy8gU2VpZGF0IDogaHR0cHM6Ly93d3cuc2VpZGF0LmNvbQorLy8gU3VibWl0dGVkIGJ5IEFydGVtIEtvbmRyYXRldiA8YWNjb3VudHNAc2VpZGF0LmNvbT4KK3NlaWRhdC5uZXQKKworLy8gU2VsbGZ5IDogaHR0cHM6Ly9zZWxsZnkuY29tCisvLyBTdWJtaXR0ZWQgYnkgWXVyaXkgUm9tYWRpbiA8Y29udGFjdEBzZWxsZnkuY29tPgorc2VsbGZ5LnN0b3JlCisKKy8vIFNlbnNlZXJpbmcgR21iSCA6IGh0dHBzOi8vd3d3LnNlbnNlZXJpbmcuZGUKKy8vIFN1Ym1pdHRlZCBieSBGZWxpeCBNw7ZuY2tlbWV5ZXIgPGYubW9lbmNrZW1leWVyQHNlbnNlZXJpbmcuZGU+CitzZW5zZWVyaW5nLm5ldAorCisvLyBTZW5kbXNnOiBodHRwczovL3d3dy5zZW5kbXNnLmNvLmlsCisvLyBTdWJtaXR0ZWQgYnkgQXNzYWYgU3Rlcm4gPGRvbWFpbnNAY29tc3Rhci5jby5pbD4KK21pbmlzaXRlLm1zCisKKy8vIFNlcnZpY2UgTWFnbmV0IDogaHR0cHM6Ly9teXNlcnZpY2VtYWduZXQuY29tCisvLyBTdWJtaXR0ZWQgYnkgRGF2ZSBTYW5kZXJzIDxkYXZlQG15c2VydmljZW1hZ25ldC5jb20+CittYWduZXQucGFnZQorCisvLyBTZXJ2aWNlIE9ubGluZSBMTEMgOiBodHRwOi8vZHJzLnVhLworLy8gU3VibWl0dGVkIGJ5IFNlcmhpaSBCdWxha2ggPHN1cHBvcnRAZHJzLnVhPgorYml6LnVhCitjby51YQorcHAudWEKKworLy8gU2hpZnQgQ3J5cHRvIEFHIDogaHR0cHM6Ly9zaGlmdGNyeXB0by5jaAorLy8gU3VibWl0dGVkIGJ5IGFsZXggPGFsZXhAc2hpZnRjcnlwdG8uY2g+CitzaGlmdGNyeXB0by5kZXYKK3NoaWZ0Y3J5cHRvLmlvCisKKy8vIFNoaWZ0RWRpdCA6IGh0dHBzOi8vc2hpZnRlZGl0Lm5ldC8KKy8vIFN1Ym1pdHRlZCBieSBBZGFtIEppbWVuZXogPGFkYW1Ac2hpZnRjcmVhdGUuY29tPgorc2hpZnRlZGl0LmlvCisKKy8vIFNob3BibG9ja3MgOiBodHRwOi8vd3d3LnNob3BibG9ja3MuY29tLworLy8gU3VibWl0dGVkIGJ5IEFsZXggQm93ZXJzIDxhbGV4QHNob3BibG9ja3MuY29tPgorbXlzaG9wYmxvY2tzLmNvbQorCisvLyBTaG9waWZ5IDogaHR0cHM6Ly93d3cuc2hvcGlmeS5jb20KKy8vIFN1Ym1pdHRlZCBieSBBbGV4IFJpY2h0ZXIgPGFsZXgucmljaHRlckBzaG9waWZ5LmNvbT4KK215c2hvcGlmeS5jb20KKworLy8gU2hvcGl0IDogaHR0cHM6Ly93d3cuc2hvcGl0Y29tbWVyY2UuY29tLworLy8gU3VibWl0dGVkIGJ5IENyYWlnIE1jTWFob24gPGNyYWlnQHNob3BpdGNvbW1lcmNlLmNvbT4KK3Nob3BpdHNpdGUuY29tCisKKy8vIHNob3B3YXJlIEFHIDogaHR0cHM6Ly9zaG9wd2FyZS5jb20KKy8vIFN1Ym1pdHRlZCBieSBKZW5zIEvDvHBlciA8Y2xvdWRAc2hvcHdhcmUuY29tPgorc2hvcHdhcmUuc3RvcmUKKworLy8gU2llbWVucyBNb2JpbGl0eSBHbWJICisvLyBTdWJtaXR0ZWQgYnkgT2xpdmVyIEdyYWVibmVyIDxzZWN1cml0eUBtby1zaWVtZW5zLmlvPgorbW8tc2llbWVucy5pbworCisvLyBTaW5hQXBwRW5naW5lIDogaHR0cDovL3NhZS5zaW5hLmNvbS5jbi8KKy8vIFN1Ym1pdHRlZCBieSBTaW5hQXBwRW5naW5lIDxzYWVzdXBwb3J0QHNpbmFjbG91ZC5jb20+Cisxa2FwcC5jb20KK2FwcGNoaXppLmNvbQorYXBwbGluemkuY29tCitzaW5hYXBwLmNvbQordmlwc2luYWFwcC5jb20KKworLy8gU2l0ZWxlYWYgOiBodHRwczovL3d3dy5zaXRlbGVhZi5jb20vCisvLyBTdWJtaXR0ZWQgYnkgU2t5bGFyIENoYWxsYW5kIDxzdXBwb3J0QHNpdGVsZWFmLmNvbT4KK3NpdGVsZWFmLm5ldAorCisvLyBTa3loYXQgOiBodHRwOi8vd3d3LnNreWhhdC5pbworLy8gU3VibWl0dGVkIGJ5IFNoYW50ZSBBZGFtIDxzaGFudGVAc2t5aGF0LmlvPgorYm91bnR5LWZ1bGwuY29tCithbHBoYS5ib3VudHktZnVsbC5jb20KK2JldGEuYm91bnR5LWZ1bGwuY29tCisKKy8vIFNtYWxsIFRlY2hub2xvZ3kgRm91bmRhdGlvbiA6IGh0dHBzOi8vc21hbGwtdGVjaC5vcmcKKy8vIFN1Ym1pdHRlZCBieSBBcmFsIEJhbGthbiA8YXJhbEBzbWFsbC10ZWNoLm9yZz4KK3NtYWxsLXdlYi5vcmcKKworLy8gU21vb3ZlLmlvIDogaHR0cHM6Ly93d3cuc21vb3ZlLmlvLworLy8gU3VibWl0dGVkIGJ5IERhbiBLb3phayA8ZGFuQHNtb292ZS5pbz4KK3ZwNC5tZQorCisvLyBTbm93Zmxha2UgSW5jIDogaHR0cHM6Ly93d3cuc25vd2ZsYWtlLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBGYWl0aCBPbGFwYWRlIDxmYWl0aC5vbGFwYWRlQHNub3dmbGFrZS5jb20+CitzdHJlYW1saXRhcHAuY29tCisKKy8vIFNub3dwbG93IEFuYWx5dGljcyA6IGh0dHBzOi8vc25vd3Bsb3dhbmFseXRpY3MuY29tLworLy8gU3VibWl0dGVkIGJ5IElhbiBTdHJlZXRlciA8aWFuQHNub3dwbG93YW5hbHl0aWNzLmNvbT4KK3RyeS1zbm93cGxvdy5jb20KKworLy8gU291cmNlSHV0IDogaHR0cHM6Ly9zb3VyY2VodXQub3JnCisvLyBTdWJtaXR0ZWQgYnkgRHJldyBEZVZhdWx0IDxzaXJAY21wd24uY29tPgorc3JodC5zaXRlCisKKy8vIFN0YWNraGVybyA6IGh0dHBzOi8vd3d3LnN0YWNraGVyby5pbworLy8gU3VibWl0dGVkIGJ5IEFkcmllbiBHaWxsb24gPGFkcmllbitwdWJsaWMtc3VmZml4LWxpc3RAc3RhY2toZXJvLmlvPgorc3RhY2toZXJvLW5ldHdvcmsuY29tCisKKy8vIFN0YWNsYXIgOiBodHRwczovL3N0YWNsYXIuY29tCisvLyBTdWJtaXR0ZWQgYnkgUSBNaXNlbGwgPHFAc3RhY2xhci5jb20+CittdXNpY2lhbi5pbworLy8gU3VibWl0dGVkIGJ5IE1hdHRoaWFzIE1lcmtlbCA8bWF0dGhpYXMubWVya2VsQHN0YWNsYXIuY29tPgorbm92ZWNvcmUuc2l0ZQorCisvLyBzdGF0aWNsYW5kIDogaHR0cHM6Ly9zdGF0aWMubGFuZAorLy8gU3VibWl0dGVkIGJ5IFNldGggVmluY2VudCA8c2V0aHZpbmNlbnRAZ21haWwuY29tPgorc3RhdGljLmxhbmQKK2Rldi5zdGF0aWMubGFuZAorc2l0ZXMuc3RhdGljLmxhbmQKKworLy8gU3RvcmViYXNlIDogaHR0cHM6Ly93d3cuc3RvcmViYXNlLmlvCisvLyBTdWJtaXR0ZWQgYnkgVG9ueSBTY2hpcm1lciA8dG9ueUBzdG9yZWJhc2UuaW8+CitzdG9yZWJhc2Uuc3RvcmUKKworLy8gU3RyYXRlZ2ljIFN5c3RlbSBDb25zdWx0aW5nIChlQXBwcyBIb3N0aW5nKTogaHR0cHM6Ly93d3cuZWFwcHMuY29tLworLy8gU3VibWl0dGVkIGJ5IEFsZXggT2FuY2VhIDxhb2FuY2VhQGNsb3Vkc2NhbGUzNjUuY29tPgordnBzLWhvc3QubmV0CithdGwuamVsYXN0aWMudnBzLWhvc3QubmV0CituanMuamVsYXN0aWMudnBzLWhvc3QubmV0CityaWMuamVsYXN0aWMudnBzLWhvc3QubmV0CisKKy8vIFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0YWlubWVudCBMTEMgOiBodHRwczovL3NpZS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgRGF2aWQgQ29sZXMgPGRhdmlkLmNvbGVzQHNvbnkuY29tPgorcGxheXN0YXRpb24tY2xvdWQuY29tCisKKy8vIFNvdXJjZUxhaXIgUEMgOiBodHRwczovL3d3dy5zb3VyY2VsYWlyLmNvbQorLy8gU3VibWl0dGVkIGJ5IEFudG9uaXMgS2FsaXBldGlzIDxha2FsaXBldGlzQHNvdXJjZWxhaXIuY29tPgorYXBwcy5sYWlyLmlvCisqLnN0b2xvcy5pbworCisvLyBTcGFjZUtpdCA6IGh0dHBzOi8vd3d3LnNwYWNla2l0LmlvLworLy8gU3VibWl0dGVkIGJ5IFJlemEgQWtoYXZhbiA8c3BhY2VraXQuaW9AZ21haWwuY29tPgorc3BhY2VraXQuaW8KKworLy8gU3BlZWRQYXJ0bmVyIEdtYkg6IGh0dHBzOi8vd3d3LnNwZWVkcGFydG5lci5kZS8KKy8vIFN1Ym1pdHRlZCBieSBTdGVmYW4gTmV1ZmVpbmQgPGluZm9Ac3BlZWRwYXJ0bmVyLmRlPgorY3VzdG9tZXIuc3BlZWRwYXJ0bmVyLmRlCisKKy8vIFNwcmVhZHNob3AgKHNwcmQubmV0IEFHKSA6IGh0dHBzOi8vd3d3LnNwcmVhZHNob3AuY29tLworLy8gU3VibWl0dGVkIGJ5IE1hcnRpbiBCcmVlc3QgPHNlY3VyaXR5QHNwcmVhZHNob3AuY29tPgorbXlzcHJlYWRzaG9wLmF0CitteXNwcmVhZHNob3AuY29tLmF1CitteXNwcmVhZHNob3AuYmUKK215c3ByZWFkc2hvcC5jYQorbXlzcHJlYWRzaG9wLmNoCitteXNwcmVhZHNob3AuY29tCitteXNwcmVhZHNob3AuZGUKK215c3ByZWFkc2hvcC5kaworbXlzcHJlYWRzaG9wLmVzCitteXNwcmVhZHNob3AuZmkKK215c3ByZWFkc2hvcC5mcgorbXlzcHJlYWRzaG9wLmllCitteXNwcmVhZHNob3AuaXQKK215c3ByZWFkc2hvcC5uZXQKK215c3ByZWFkc2hvcC5ubAorbXlzcHJlYWRzaG9wLm5vCitteXNwcmVhZHNob3AucGwKK215c3ByZWFkc2hvcC5zZQorbXlzcHJlYWRzaG9wLmNvLnVrCisKKy8vIFN0YW5kYXJkIExpYnJhcnkgOiBodHRwczovL3N0ZGxpYi5jb20KKy8vIFN1Ym1pdHRlZCBieSBKYWNvYiBMZWUgPGphY29iQHN0ZGxpYi5jb20+CithcGkuc3RkbGliLmNvbQorCisvLyBTdG9yaiBMYWJzIEluYy4gOiBodHRwczovL3N0b3JqLmlvLworLy8gU3VibWl0dGVkIGJ5IFBoaWxpcCBIdXRjaGlucyA8aG9zdG1hc3RlckBzdG9yai5pbz4KK3N0b3JqLmZhcm0KKworLy8gU3R1ZGVudGVuIE5ldCBUd2VudGUgOiBodHRwOi8vd3d3LnNudC51dHdlbnRlLm5sLworLy8gU3VibWl0dGVkIGJ5IFNpbGtlIEhvZnN0cmEgPHN5c2NvbUBzbnQudXR3ZW50ZS5ubD4KK3V0d2VudGUuaW8KKworLy8gU3R1ZGVudC1SdW4gQ29tcHV0aW5nIEZhY2lsaXR5IDogaHR0cHM6Ly93d3cuc3JjZi5uZXQvCisvLyBTdWJtaXR0ZWQgYnkgRWR3aW4gQmFsYW5pIDxzeXNhZG1pbnNAc3JjZi5uZXQ+Citzb2Muc3JjZi5uZXQKK3VzZXIuc3JjZi5uZXQKKworLy8gU3ViIDYgTGltaXRlZDogaHR0cDovL3d3dy5zdWI2LmNvbQorLy8gU3VibWl0dGVkIGJ5IERhbiBNaWxsZXIgPGRtQHN1YjYuY29tPgordGVtcC1kbnMuY29tCisKKy8vIFN1cGFiYXNlIDogaHR0cHM6Ly9zdXBhYmFzZS5pbworLy8gU3VibWl0dGVkIGJ5IEluaWFuIFBhcmFtZXNod2FyYW4gPHNlY3VyaXR5QHN1cGFiYXNlLmlvPgorc3VwYWJhc2UuY28KK3N1cGFiYXNlLmluCitzdXBhYmFzZS5uZXQKK3N1LnBhYmEuc2UKKworLy8gU3ltZm9ueSwgU0FTIDogaHR0cHM6Ly9zeW1mb255LmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CisqLnM1eS5pbworKi5zZW5zaW9zaXRlLmNsb3VkCisKKy8vIFN5bmNsb3VkIDogaHR0cHM6Ly9zeW5jbG91ZC5vcmcKKy8vIFN1Ym1pdHRlZCBieSBCb3JpcyBSeWJhbGtpbiA8c3luY2xvdWRAc3luY2xvdWQuaXQ+CitzeW5jbG91ZC5pdAorCisvLyBTeW5vbG9neSwgSW5jLiA6IGh0dHBzOi8vd3d3LnN5bm9sb2d5LmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBSb255IFdlbmcgPHJvbnl3ZW5nQHN5bm9sb2d5LmNvbT4KK2RzY2xvdWQuYml6CitkaXJlY3QucXVpY2tjb25uZWN0LmNuCitkc215bmFzLmNvbQorZmFtaWx5ZHMuY29tCitkaXNrc3RhdGlvbi5tZQorZHNjbG91ZC5tZQoraTIzNC5tZQorbXlkcy5tZQorc3lub2xvZ3kubWUKK2RzY2xvdWQubW9iaQorZHNteW5hcy5uZXQKK2ZhbWlseWRzLm5ldAorZHNteW5hcy5vcmcKK2ZhbWlseWRzLm9yZwordnBucGx1cy50bworZGlyZWN0LnF1aWNrY29ubmVjdC50bworCisvLyBUYWJpdCBUZWNobm9sb2dpZXMgTHRkLiA6IGh0dHBzOi8vdGFiaXQuY2xvdWQvCisvLyBTdWJtaXR0ZWQgYnkgT3JlbiBBZ2l2IDxvcmVuQHRhYml0LmNsb3VkPgordGFiaXRvcmRlci5jby5pbAorCisvLyBUQUlGVU4gU29mdHdhcmUgQUcgOiBodHRwOi8vdGFpZnVuLXNvZnR3YXJlLmRlCisvLyBTdWJtaXR0ZWQgYnkgQmpvZXJuIEhlbmtlIDxkZXYtc2VydmVyQHRhaWZ1bi1zb2Z0d2FyZS5kZT4KK3RhaWZ1bi1kbnMuZGUKKworLy8gVGFpbHNjYWxlIEluYy4gOiBodHRwczovL3d3dy50YWlsc2NhbGUuY29tCisvLyBTdWJtaXR0ZWQgYnkgRGF2aWQgQW5kZXJzb24gPGRhbmRlcnNvbkB0YWlsc2NhbGUuY29tPgorYmV0YS50YWlsc2NhbGUubmV0Cit0cy5uZXQKKworLy8gVEFTSyBnZW9ncmFwaGljYWwgZG9tYWlucyAod3d3LnRhc2suZ2RhLnBsL3VzbHVnaS9kbnMpCitnZGEucGwKK2dkYW5zay5wbAorZ2R5bmlhLnBsCittZWQucGwKK3NvcG90LnBsCisKKy8vIHRlYW0uYmx1ZSBodHRwczovL3RlYW0uYmx1ZQorLy8gU3VibWl0dGVkIGJ5IENlZHJpYyBEdWJvaXMgPGNlZHJpYy5kdWJvaXNAdGVhbS5ibHVlPgorc2l0ZS50Yi1ob3N0aW5nLmNvbQorCisvLyBUZWNraWRzIGUuVi4gOiBodHRwczovL3d3dy50ZWNraWRzLm9yZworLy8gU3VibWl0dGVkIGJ5IERvbWluaWsgR2VvcmdlIDxkb21pbmlrLmdlb3JnZUB0ZWNraWRzLm9yZz4KK2VkdWdpdC5pbworczMudGVja2lkcy5vcmcKKworLy8gVGVsZWJpdCA6IGh0dHBzOi8vdGVsZWJpdC5jbG91ZAorLy8gU3VibWl0dGVkIGJ5IEFKIE9OZWFsIDxhakB0ZWxlYml0LmNsb3VkPgordGVsZWJpdC5hcHAKK3RlbGViaXQuaW8KKyoudGVsZWJpdC54eXoKKworLy8gVGhpbmdkdXN0IEFHIDogaHR0cHM6Ly90aGluZ2R1c3QuY29tLworLy8gU3VibWl0dGVkIGJ5IEFkcmlhbiBJbWJvZGVuIDxhZGlAdGhpbmdkdXN0LmNvbT4KKyouZmlyZW5ldC5jaAorKi5zdmMuZmlyZW5ldC5jaAorcmVzZXJ2ZC5jb20KK3RoaW5nZHVzdGRhdGEuY29tCitjdXN0LmRldi50aGluZ2R1c3QuaW8KK2N1c3QuZGlzcmVjLnRoaW5nZHVzdC5pbworY3VzdC5wcm9kLnRoaW5nZHVzdC5pbworY3VzdC50ZXN0aW5nLnRoaW5nZHVzdC5pbworcmVzZXJ2ZC5kZXYudGhpbmdkdXN0LmlvCityZXNlcnZkLmRpc3JlYy50aGluZ2R1c3QuaW8KK3Jlc2VydmQudGVzdGluZy50aGluZ2R1c3QuaW8KKworLy8gdGlja2V0IGkvTyBHbWJIIDogaHR0cHM6Ly90aWNrZXQuaW8KKy8vIFN1Ym1pdHRlZCBieSBDaHJpc3RpYW4gRnJhbmtlIDxpdEB0aWNrZXQuaW8+Cit0aWNrZXRzLmlvCisKKy8vIFRsb24uaW8gOiBodHRwczovL3Rsb24uaW8KKy8vIFN1Ym1pdHRlZCBieSBNYXJrIFN0YWFyaW5rIDxtYXJrQHRsb24uaW8+CithcnZvLm5ldHdvcmsKK2F6aW11dGgubmV0d29yawordGxvbi5uZXR3b3JrCisKKy8vIFRvciBQcm9qZWN0LCBJbmMuIDogaHR0cHM6Ly90b3Jwcm9qZWN0Lm9yZworLy8gU3VibWl0dGVkIGJ5IEFudG9pbmUgQmVhdXByw6kgPGFuYXJjYXRAdG9ycHJvamVjdC5vcmcKK3RvcnByb2plY3QubmV0CitwYWdlcy50b3Jwcm9qZWN0Lm5ldAorCisvLyBUb3duTmV3cy5jb20gOiBodHRwOi8vd3d3LnRvd25uZXdzLmNvbQorLy8gU3VibWl0dGVkIGJ5IER1c3RpbiBXYXJkIDxkd2FyZEB0b3dubmV3cy5jb20+CitibG94Y21zLmNvbQordG93bm5ld3Mtc3RhZ2luZy5jb20KKworLy8gVHJhZmZpY1BsZXggR21iSCA6IGh0dHBzOi8vd3d3LnRyYWZmaWNwbGV4LmRlLworLy8gU3VibWl0dGVkIGJ5IFBoaWxsaXBwIFLDtmxsIDxwaGlsbGlwcC5yb2VsbEB0cmFmZmljcGxleC5kZT4KKzEyaHAuYXQKKzJpeC5hdAorNGxpbWEuYXQKK2xpbWEtY2l0eS5hdAorMTJocC5jaAorMml4LmNoCis0bGltYS5jaAorbGltYS1jaXR5LmNoCit0cmFmZmljcGxleC5jbG91ZAorZGUuY29vbAorMTJocC5kZQorMml4LmRlCis0bGltYS5kZQorbGltYS1jaXR5LmRlCisxMzM3LnBpY3R1cmVzCitjbGFuLnJpcAorbGltYS1jaXR5LnJvY2tzCit3ZWJzcGFjZS5yb2NrcworbGltYS56b25lCisKKy8vIFRyYW5zSVAgOiBodHRwczovL3d3dy50cmFuc2lwLm5sCisvLyBTdWJtaXR0ZWQgYnkgUm9yeSBCcmV1ayA8cmJyZXVrQHRyYW5zaXAubmw+CisqLnRyYW5zdXJsLmJlCisqLnRyYW5zdXJsLmV1CisqLnRyYW5zdXJsLm5sCisKKy8vIFRyYW5zSVA6IGh0dHBzOi8vd3d3LnRyYW5zaXAubmwKKy8vIFN1Ym1pdHRlZCBieSBDZWRyaWMgRHVib2lzIDxjZWRyaWMuZHVib2lzQHRlYW0uYmx1ZT4KK3NpdGUudHJhbnNpcC5tZQorCisvLyBUdXhGYW1pbHkgOiBodHRwOi8vdHV4ZmFtaWx5Lm9yZworLy8gU3VibWl0dGVkIGJ5IFR1eEZhbWlseSBhZG1pbmlzdHJhdG9ycyA8YWRtQHN0YWZmLnR1eGZhbWlseS5vcmc+Cit0dXhmYW1pbHkub3JnCisKKy8vIFR3b0ROUyA6IGh0dHBzOi8vd3d3LnR3b2Rucy5kZS8KKy8vIFN1Ym1pdHRlZCBieSBUd29ETlMtU3VwcG9ydCA8c3VwcG9ydEB0d28tZG5zLmRlPgorZGQtZG5zLmRlCitkaXNrc3RhdGlvbi5ldQorZGlza3N0YXRpb24ub3JnCitkcmF5LWRucy5kZQorZHJheWRucy5kZQorZHluLXZwbi5kZQorZHludnBuLmRlCittZWluLXZpZ29yLmRlCitteS12aWdvci5kZQorbXktd2FuLmRlCitzeW5vLWRzLmRlCitzeW5vbG9neS1kaXNrc3RhdGlvbi5kZQorc3lub2xvZ3ktZHMuZGUKKworLy8gVHlwZWRyZWFtIDogaHR0cHM6Ly90eXBlZHJlYW0uY29tCisvLyBTdWJtaXR0ZWQgYnkgUHV0cmkgS2FydW5pYSA8cHV0cmlAdHlwZWRyZWFtLmNvbT4KK3R5cGVkcmVhbS5hcHAKKworLy8gVHlwZWZvcm0gOiBodHRwczovL3d3dy50eXBlZm9ybS5jb20KKy8vIFN1Ym1pdHRlZCBieSBTZXJnaSBGZXJyaXogPHNlcmdpLmZlcnJpekB0eXBlZm9ybS5jb20+Citwcm8udHlwZWZvcm0uY29tCisKKy8vIFViZXJzcGFjZSA6IGh0dHBzOi8vdWJlcnNwYWNlLmRlCisvLyBTdWJtaXR0ZWQgYnkgTW9yaXR6IFdlcm5lciA8bXdlcm5lckBqb25hc3Bhc2NoZS5jb20+Cit1YmVyLnNwYWNlCisqLnViZXJzcGFjZS5kZQorCisvLyBVRFIgTGltaXRlZCA6IGh0dHA6Ly93d3cudWRyLmhrLmNvbQorLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxob3N0bWFzdGVyQHVkci5oay5jb20+Citoay5jb20KK2hrLm9yZworbHRkLmhrCitpbmMuaGsKKworLy8gVU5JVkVSU0FMIERPTUFJTiBSRUdJU1RSWSA6IGh0dHBzOi8vd3d3LnVkci5vcmcueXQvCisvLyBzZWUgYWxzbzogd2hvaXMgLWggd2hvaXMudWRyLm9yZy55dCBoZWxwCisvLyBTdWJtaXR0ZWQgYnkgQXRhbnVudSBJZ2J1bnVyb2doZW5lIDxwdWJsaWNzdWZmaXhsaXN0QHVkci5vcmcueXQ+CituYW1lLnBtCitzY2gudGYKK2Jpei53Zgorc2NoLndmCitvcmcueXQKKworLy8gVW5pdGVkIEdhbWVzZXJ2ZXIgR21iSCA6IGh0dHBzOi8vdW5pdGVkLWdhbWVzZXJ2ZXIuZGUKKy8vIFN1Ym1pdHRlZCBieSBTdGVmYW4gU2Nod2FyeiA8c3lzYWRtQHVuaXRlZC1nYW1lc2VydmVyLmRlPgordmlydHVhbHVzZXIuZGUKK3ZpcnR1YWwtdXNlci5kZQorCisvLyBVcGxpIDogaHR0cHM6Ly91cGxpLmlvCisvLyBTdWJtaXR0ZWQgYnkgTGVubnkgQmFra2FsaWFuIDxsZW5ueS5iYWtrYWxpYW5AZ21haWwuY29tPgordXBsaS5pbworCisvLyB1cm93bi5uZXQgOiBodHRwczovL3Vyb3duLm5ldAorLy8gU3VibWl0dGVkIGJ5IEhvc3RtYXN0ZXIgPGhvc3RtYXN0ZXJAdXJvd24ubmV0PgordXJvd24uY2xvdWQKK2Ruc3VwZGF0ZS5pbmZvCisKKy8vIC5VUworLy8gU3VibWl0dGVkIGJ5IEVkIE1vb3JlIDxFZC5Nb29yZUBsaWIuZGUudXM+CitsaWIuZGUudXMKKworLy8gVmVyeVBvc2l0aXZlIFNJQSA6IGh0dHA6Ly92ZXJ5Lmx2CisvLyBTdWJtaXR0ZWQgYnkgRGFua28gQWxla3NlamV2cyA8ZGFua29AdmVyeS5sdj4KKzIwMzguaW8KKworLy8gVmVyY2VsLCBJbmMgOiBodHRwczovL3ZlcmNlbC5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQ29ubm9yIERhdmlzIDxzZWN1cml0eUB2ZXJjZWwuY29tPgordmVyY2VsLmFwcAordmVyY2VsLmRldgorbm93LnNoCisKKy8vIFZpcHJpbmV0IEV1cm9wZSBHbWJIIDogaHR0cDovL3d3dy52aXByaW5ldC5jb20KKy8vIFN1Ym1pdHRlZCBieSBTaW1vbiBLaXNzZWwgPGhvc3RtYXN0ZXJAdmlwcmluZXQuY29tPgorcm91dGVyLm1hbmFnZW1lbnQKKworLy8gVmlydHVhbC1JbmZvIDogaHR0cHM6Ly93d3cudmlydHVhbC1pbmZvLmluZm8vCisvLyBTdWJtaXR0ZWQgYnkgQWRuYW4gUklIQU4gPGhvc3RtYXN0ZXJAdi1pbmZvLmluZm8+Cit2LWluZm8uaW5mbworCisvLyBWb29ybG9wZXIuY29tOiBodHRwczovL3Zvb3Jsb3Blci5jb20KKy8vIFN1Ym1pdHRlZCBieSBOYXRoYW4gdmFuIEJha2VsIDxpbmZvQHZvb3Jsb3Blci5jb20+Cit2b29ybG9wZXIuY2xvdWQKKworLy8gVm94ZWwuc2ggRE5TIDogaHR0cHM6Ly92b3hlbC5zaC9kbnMvCisvLyBTdWJtaXR0ZWQgYnkgTWlhIFJlaGxpbmdlciA8ZG5zQHZveGVsLnNoPgorbmVrby5hbQorbnlhYS5hbQorYmUuYXgKK2NhdC5heAorZXMuYXgKK2V1LmF4CitnZy5heAorbWMuYXgKK3VzLmF4Cit4eS5heAorbmwuY2kKK3h4LmdsCithcHAuZ3AKK2Jsb2cuZ3QKK2RlLmd0Cit0by5ndAorYmUuZ3kKK2NjLmhuCitibG9nLmtnCitpby5rZworanAua2cKK3R2LmtnCit1ay5rZwordXMua2cKK2RlLmxzCithdC5tZAorZGUubWQKK2pwLm1kCit0by5tZAoraW5kaWUucG9ybgordnhsLnNoCitjaC50YworbWUudGMKK3dlLnRjCitueWFuLnRvCithdC52ZworYmxvZy52dQorZGV2LnZ1CittZS52dQorCisvLyBWLlVBIERvbWFpbiBBZG1pbmlzdHJhdG9yIDogaHR0cHM6Ly9kb21haW4udi51YS8KKy8vIFN1Ym1pdHRlZCBieSBTZXJoaWkgUm9zdGlsbyA8c2VyZ2V5QHJvc3RpbG8ua2lldi51YT4KK3YudWEKKworLy8gVnVsdHIgT2JqZWN0cyA6IGh0dHBzOi8vd3d3LnZ1bHRyLmNvbS9wcm9kdWN0cy9vYmplY3Qtc3RvcmFnZS8KKy8vIFN1Ym1pdHRlZCBieSBOaWVscyBNYXVtZW5lZSA8c3RvcmFnZUB2dWx0ci5jb20+CisqLnZ1bHRyb2JqZWN0cy5jb20KKworLy8gV2FmZmxlIENvbXB1dGVyIEluYy4sIEx0ZC4gOiBodHRwczovL2RvY3Mud2FmZmxlaW5mby5jb20KKy8vIFN1Ym1pdHRlZCBieSBNYXNheXVraSBOb3RlIDxtYXNhQGJsYWRlLndhZmZsZWNlbGwuY29tPgord2FmZmxlY2VsbC5jb20KKworLy8gV2ViSGFyZSBidjogaHR0cHM6Ly93d3cud2ViaGFyZS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgQXJub2xkIEhlbmRyaWtzIDxpbmZvQHdlYmhhcmUuY29tPgorKi53ZWJoYXJlLmRldgorCisvLyBXZWJIb3RlbGllciBUZWNobm9sb2dpZXMgTHRkOiBodHRwczovL3d3dy53ZWJob3RlbGllci5uZXQvCisvLyBTdWJtaXR0ZWQgYnkgQXBvc3RvbG9zIFRzYWtwaW5pcyA8YXBvc3RvbG9zLnRzYWtwaW5pc0BnbWFpbC5jb20+CityZXNlcnZlLW9ubGluZS5uZXQKK3Jlc2VydmUtb25saW5lLmNvbQorYm9va29ubGluZS5hcHAKK2hvdGVsd2l0aGZsaWdodC5jb20KKworLy8gV2VEZXBsb3kgYnkgTGlmZXJheSwgSW5jLiA6IGh0dHBzOi8vd3d3LndlZGVwbG95LmNvbQorLy8gU3VibWl0dGVkIGJ5IEhlbnJpcXVlIFZpY2VudGUgPHNlY3VyaXR5QHdlZGVwbG95LmNvbT4KK3dlZGVwbG95LmlvCit3ZWRlcGxveS5tZQord2VkZXBsb3kuc2gKKworLy8gV2VzdGVybiBEaWdpdGFsIFRlY2hub2xvZ2llcywgSW5jIDogaHR0cHM6Ly93d3cud2RjLmNvbQorLy8gU3VibWl0dGVkIGJ5IEp1bmcgSmluIDxqdW5nc2Vvay5qaW5Ad2RjLmNvbT4KK3JlbW90ZXdkLmNvbQorCisvLyBXSUFSRCBFbnRlcnByaXNlcyA6IGh0dHBzOi8vd2lhcmR3ZWIuY29tCisvLyBTdWJtaXR0ZWQgYnkgS2lkZCBIdXN0bGUgPGtpZGRodXN0bGVAd2lhcmR3ZWIuY29tPgorcGFnZXMud2lhcmR3ZWIuY29tCisKKy8vIFdpa2ltZWRpYSBMYWJzIDogaHR0cHM6Ly93aWtpdGVjaC53aWtpbWVkaWEub3JnCisvLyBTdWJtaXR0ZWQgYnkgQXJ0dXJvIEJvcnJlcm8gR29uemFsZXogPGFib3JyZXJvQHdpa2ltZWRpYS5vcmc+Cit3bWZsYWJzLm9yZwordG9vbGZvcmdlLm9yZword21jbG91ZC5vcmcKKworLy8gV0lTUCA6IGh0dHBzOi8vd2lzcC5nZworLy8gU3VibWl0dGVkIGJ5IFN0ZXBhbiBGZWRvdG92IDxzdGVwYW5Ad2lzcC5nZz4KK3BhbmVsLmdnCitkYWVtb24ucGFuZWwuZ2cKKworLy8gV2l6YXJkIFppbmVzIDogaHR0cHM6Ly93aXphcmR6aW5lcy5jb20KKy8vIFN1Ym1pdHRlZCBieSBKdWxpYSBFdmFucyA8anVsaWFAd2l6YXJkemluZXMuY29tPgorbWVzc3dpdGhkbnMuY29tCisKKy8vIFdvbHRMYWIgR21iSCA6IGh0dHBzOi8vd3d3LndvbHRsYWIuY29tCisvLyBTdWJtaXR0ZWQgYnkgVGltIETDvHN0ZXJodXMgPHNlY3VyaXR5QHdvbHRsYWIuY2xvdWQ+Cit3b2x0bGFiLWRlbW8uY29tCitteWZvcnVtLmNvbW11bml0eQorY29tbXVuaXR5LXByby5kZQorZGlza3Vzc2lvbnNiZXJlaWNoLmRlCitjb21tdW5pdHktcHJvLm5ldAorbWVpbmZvcnVtLm5ldAorCisvLyBXb29kcyBWYWxsZGF0YSA6IGh0dHBzOi8vd3d3Lndvb2RzdmFsbGRhdGEuY28udWsvCisvLyBTdWJtaXR0ZWQgYnkgQ2hyaXMgV2hpdHRsZSA8Y2hyaXMud2hpdHRsZUB3b29kc3ZhbGxkYXRhLmNvLnVrPgorYWZmaW5pdHlsb3R0ZXJ5Lm9yZy51aworcmFmZmxlZW50cnkub3JnLnVrCit3ZWVrbHlsb3R0ZXJ5Lm9yZy51aworCisvLyBXUCBFbmdpbmUgOiBodHRwczovL3dwZW5naW5lLmNvbS8KKy8vIFN1Ym1pdHRlZCBieSBNaWNoYWVsIFNtaXRoIDxtaWNoYWVsLnNtaXRoQHdwZW5naW5lLmNvbT4KKy8vIFN1Ym1pdHRlZCBieSBCcmFuZG9uIER1UmV0dGUgPGJyYW5kb24uZHVyZXR0ZUB3cGVuZ2luZS5jb20+Cit3cGVuZ2luZXBvd2VyZWQuY29tCitqcy53cGVuZ2luZXBvd2VyZWQuY29tCisKKy8vIFdpeC5jb20sIEluYy4gOiBodHRwczovL3d3dy53aXguY29tCisvLyBTdWJtaXR0ZWQgYnkgU2hhaGFyIFRhbG1pIDxzaGFoYXJAd2l4LmNvbT4KK3dpeHNpdGUuY29tCitlZGl0b3J4LmlvCisKKy8vIFhlbm9uQ2xvdWQgR2JSOiBodHRwczovL3hlbm9uY2xvdWQubmV0CisvLyBTdWJtaXR0ZWQgYnkgSnVsaWFuIFVwaG9mZiA8cHVibGljc3VmZml4bGlzdEB4ZW5vbmNsb3VkLm5ldD4KK2hhbGYuaG9zdAorCisvLyBYbkJheSBUZWNobm9sb2d5IDogaHR0cDovL3d3dy54bmJheS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgWG5CYXkgRGV2ZWxvcGVyIDxkZXZlbG9wZXIueG5jbG91ZEBnbWFpbC5jb20+Cit4bmJheS5jb20KK3UyLnhuYmF5LmNvbQordTItbG9jYWwueG5iYXkuY29tCisKKy8vIFhTNEFMTCBJbnRlcm5ldCBidiA6IGh0dHBzOi8vd3d3LnhzNGFsbC5ubC8KKy8vIFN1Ym1pdHRlZCBieSBEYW5pZWwgTW9zdGVydG1hbiA8dW5peGJlaGVlcitwdWJsaWNzdWZmaXhAeHM0YWxsLm5ldD4KK2Npc3Ryb24ubmwKK2RlbW9uLm5sCit4czRhbGwuc3BhY2UKKworLy8gWWFuZGV4LkNsb3VkIExMQzogaHR0cHM6Ly9jbG91ZC55YW5kZXguY29tCisvLyBTdWJtaXR0ZWQgYnkgQWxleGFuZGVyIExvZGluIDxzZWN1cml0eStwc2xAeWFuZGV4LXRlYW0ucnU+Cit5YW5kZXhjbG91ZC5uZXQKK3N0b3JhZ2UueWFuZGV4Y2xvdWQubmV0Cit3ZWJzaXRlLnlhbmRleGNsb3VkLm5ldAorCisvLyBZZXNDb3Vyc2UgUHR5IEx0ZCA6IGh0dHBzOi8veWVzY291cnNlLmNvbQorLy8gU3VibWl0dGVkIGJ5IEF0dWwgQmhvdXJhc2thciA8YXR1bEB5ZXNjb3Vyc2UuY29tPgorb2ZmaWNpYWwuYWNhZGVteQorCisvLyBZb2xhIDogaHR0cHM6Ly93d3cueW9sYS5jb20vCisvLyBTdWJtaXR0ZWQgYnkgU3RlZmFubyBSaXZlcmEgPHN0ZWZhbm9AeW9sYS5jb20+Cit5b2xhc2l0ZS5jb20KKworLy8gWW9tYm8gOiBodHRwczovL3lvbWJvLm5ldAorLy8gU3VibWl0dGVkIGJ5IE1pdGNoIFNjaHdlbmsgPG1pdGNoQHlvbWJvLm5ldD4KK3liby5mYWl0aAoreW9tYm8ubWUKK2hvbWVsaW5rLm9uZQoreWJvLnBhcnR5Cit5Ym8ucmV2aWV3Cit5Ym8uc2NpZW5jZQoreWJvLnRyYWRlCisKKy8vIFl1bm9ob3N0IDogaHR0cHM6Ly95dW5vaG9zdC5vcmcKKy8vIFN1Ym1pdHRlZCBieSBWYWxlbnRpbiBHcmltYXVkIDxzZWN1cml0eUB5dW5vaG9zdC5vcmc+Cit5bmguZnIKK25vaG9zdC5tZQorbm9oby5zdAorCisvLyBaYU5pQyA6IGh0dHA6Ly93d3cuemEubmV0LworLy8gU3VibWl0dGVkIGJ5IHJlZ2lzdHJ5IDxob3N0bWFzdGVyQG5pYy56YS5uZXQ+Cit6YS5uZXQKK3phLm9yZworCisvLyBaaW5lIEVPT0QgOiBodHRwczovL3ppbmUuYmcvCisvLyBTdWJtaXR0ZWQgYnkgTWFydGluIEFuZ2Vsb3YgPG1hcnRpbkB6aW5lLmJnPgorYnNzLmRlc2lnbgorCisvLyBaaXRjb20gQS9TIDogaHR0cHM6Ly93d3cueml0Y29tLmRrCisvLyBTdWJtaXR0ZWQgYnkgRW1pbCBTdGFobCA8ZXNwQHppdGNvbS5kaz4KK2Jhc2ljc2VydmVyLmlvCit2aXJ0dWFsc2VydmVyLmlvCitlbnRlcnByaXNlY2xvdWQubnUKKworLy8gPT09RU5EIFBSSVZBVEUgRE9NQUlOUz09PQpkaWZmIC0tZ2l0IGEvdGVzdHMvUkVBRE1FIGIvdGVzdHMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViODViNDEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9SRUFETUUKQEAgLTAsMCArMSw3IEBACitwcmVwYXJlX3RsZHMucHk6CisKK1RoaXMgaXMgYSBjb3B5IG9mIGEgZmlsZSBtYXN0ZXJlZCBpbiBNb3ppbGxhJ3MgSGcgcmVwbyBhdDoKK2h0dHBzOi8vaGcubW96aWxsYS5vcmcvbW96aWxsYS1jZW50cmFsL2ZpbGUvZGVmYXVsdC9uZXR3ZXJrL2Rucy9wcmVwYXJlX3RsZHMucHkKK1dlIGluY2x1ZGUgaXQgaGVyZSBzbyB3ZSBjYW4gY2hlY2sgdGhhdCBpdCBzdGlsbCBwcm9kdWNlcyB2YWxpZCBvdXRwdXQgd2hlbgordGhlIFBTTCBjaGFuZ2VzLgorCmRpZmYgLS1naXQgYS90ZXN0cy9wcmVwYXJlX3RsZHMucHkgYi90ZXN0cy9wcmVwYXJlX3RsZHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE1ZWQyOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3ByZXBhcmVfdGxkcy5weQpAQCAtMCwwICsxLDExNiBAQAorIyBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljCisjIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMKKyMgZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4KKworaW1wb3J0IGNvZGVjcworaW1wb3J0IGVuY29kaW5ncy5pZG5hCitpbXBvcnQgcmUKK2ltcG9ydCBzeXMKKworIiIiCitQcm9jZXNzZXMgYSBmaWxlIGNvbnRhaW5pbmcgZWZmZWN0aXZlIFRMRCBkYXRhLiAgU2VlIHRoZSBmb2xsb3dpbmcgVVJMIGZvciBhCitkZXNjcmlwdGlvbiBvZiBlZmZlY3RpdmUgVExEcyBhbmQgb2YgdGhlIGZpbGUgZm9ybWF0IHRoYXQgdGhpcyBzY3JpcHQKK3Byb2Nlc3NlcyAoYWx0aG91Z2ggZm9yIHRoZSBsYXR0ZXIgeW91J3JlIGJldHRlciBvZmYganVzdCByZWFkaW5nIHRoaXMgZmlsZSdzCitzaG9ydCBzb3VyY2UgY29kZSkuCisKK2h0dHBzOi8vd2lraS5tb3ppbGxhLm9yZy9HZWNrbzpFZmZlY3RpdmVfVExEX1NlcnZpY2UKKyIiIgorCitkZWYgZ2V0RWZmZWN0aXZlVExEcyhwYXRoKToKKyAgZmlsZSA9IGNvZGVjcy5vcGVuKHBhdGgsICJyIiwgIlVURi04IikKKyAgZG9tYWlucyA9IHNldCgpCisgIHdoaWxlIFRydWU6CisgICAgbGluZSA9IGZpbGUucmVhZGxpbmUoKQorICAgICMgbGluZSBhbHdheXMgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgdW5sZXNzIHRoZSBmaWxlIGlzIGVtcHR5CisgICAgaWYgbGVuKGxpbmUpID09IDA6CisgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgbGluZSA9IGxpbmUucnN0cmlwKCkKKyAgICAjIGNvbW1lbnQsIGVtcHR5LCBvciBzdXBlcmZsdW91cyBsaW5lIGZvciBleHBsaWNpdG5lc3MgcHVycG9zZXMKKyAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIi8vIikgb3IgIi4iIG5vdCBpbiBsaW5lOgorICAgICAgY29udGludWUKKyAgICBsaW5lID0gcmUuc3BsaXQociJbIFx0XG5dIiwgbGluZSwgMSlbMF0KKyAgICBlbnRyeSA9IEVmZmVjdGl2ZVRMREVudHJ5KGxpbmUpCisgICAgZG9tYWluID0gZW50cnkuZG9tYWluKCkKKyAgICBhc3NlcnQgZG9tYWluIG5vdCBpbiBkb21haW5zLCBcCisgICAgICAgICAgICJyZXBlYXRpbmcgZG9tYWluICVzIG1ha2VzIG5vIHNlbnNlIiAlIGRvbWFpbgorICAgIGRvbWFpbnMuYWRkKGRvbWFpbikKKyAgICB5aWVsZCBlbnRyeQorCitkZWYgX25vcm1hbGl6ZUhvc3RuYW1lKGRvbWFpbik6CisgICIiIgorICBOb3JtYWxpemVzIHRoZSBnaXZlbiBkb21haW4sIGNvbXBvbmVudCBieSBjb21wb25lbnQuICBBU0NJSSBjb21wb25lbnRzIGFyZQorICBsb3dlcmNhc2VkLCB3aGlsZSBub24tQVNDSUkgY29tcG9uZW50cyBhcmUgcHJvY2Vzc2VkIHVzaW5nIHRoZSBUb0FTQ0lJCisgIGFsZ29yaXRobS4KKyAgIiIiCisgIGRlZiBjb252ZXJ0TGFiZWwobGFiZWwpOgorICAgIGlmIF9pc0FTQ0lJKGxhYmVsKToKKyAgICAgIHJldHVybiBsYWJlbC5sb3dlcigpCisgICAgcmV0dXJuIGVuY29kaW5ncy5pZG5hLlRvQVNDSUkobGFiZWwpCisgIHJldHVybiAiLiIuam9pbihtYXAoY29udmVydExhYmVsLCBkb21haW4uc3BsaXQoIi4iKSkpCisKK2RlZiBfaXNBU0NJSShzKToKKyAgIlRydWUgaWYgcyBjb25zaXN0cyBlbnRpcmVseSBvZiBBU0NJSSBjaGFyYWN0ZXJzLCBmYWxzZSBvdGhlcndpc2UuIgorICBmb3IgYyBpbiBzOgorICAgIGlmIG9yZChjKSA+IDEyNzoKKyAgICAgIHJldHVybiBGYWxzZQorICByZXR1cm4gVHJ1ZQorCitjbGFzcyBFZmZlY3RpdmVUTERFbnRyeToKKyAgIiIiCisgIFN0b3JlcyBhbiBlbnRyeSBpbiBhbiBlZmZlY3RpdmUtVExEIG5hbWUgZmlsZS4KKyAgIiIiCisKKyAgX2V4Y2VwdGlvbiA9IEZhbHNlCisgIF93aWxkID0gRmFsc2UKKworICBkZWYgX19pbml0X18oc2VsZiwgbGluZSk6CisgICAgIiIiCisgICAgQ3JlYXRlcyBhIFRMRCBlbnRyeSBmcm9tIGEgbGluZSBvZiBkYXRhLCB3aGljaCBtdXN0IGhhdmUgYmVlbiBzdHJpcHBlZCBvZgorICAgIHRoZSBsaW5lIGVuZGluZy4KKyAgICAiIiIKKyAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIiEiKToKKyAgICAgIHNlbGYuX2V4Y2VwdGlvbiA9IFRydWUKKyAgICAgIGRvbWFpbiA9IGxpbmVbMTpdCisgICAgZWxpZiBsaW5lLnN0YXJ0c3dpdGgoIiouIik6CisgICAgICBzZWxmLl93aWxkID0gVHJ1ZQorICAgICAgZG9tYWluID0gbGluZVsyOl0KKyAgICBlbHNlOgorICAgICAgZG9tYWluID0gbGluZQorICAgIHNlbGYuX2RvbWFpbiA9IF9ub3JtYWxpemVIb3N0bmFtZShkb21haW4pCisKKyAgZGVmIGRvbWFpbihzZWxmKToKKyAgICAiVGhlIGRvbWFpbiB0aGlzIHJlcHJlc2VudHMuIgorICAgIHJldHVybiBzZWxmLl9kb21haW4KKworICBkZWYgZXhjZXB0aW9uKHNlbGYpOgorICAgICJUcnVlIGlmIHRoaXMgZW50cnkncyBkb21haW4gZGVub3RlcyBkb2VzIG5vdCBkZW5vdGUgYW4gZWZmZWN0aXZlIFRMRC4iCisgICAgcmV0dXJuIHNlbGYuX2V4Y2VwdGlvbgorCisgIGRlZiB3aWxkKHNlbGYpOgorICAgICJUcnVlIGlmIHRoaXMgZW50cnkgcmVwcmVzZW50cyBhIGNsYXNzIG9mIGVmZmVjdGl2ZSBUTERzLiIKKyAgICByZXR1cm4gc2VsZi5fd2lsZAorCisKKyMjIyMjIyMjIyMjIyMjIyMjCisjIERPIEVWRVJZVEhJTkcgIworIyMjIyMjIyMjIyMjIyMjIyMKKworZGVmIG1haW4ob3V0cHV0LCBlZmZlY3RpdmVfdGxkX2ZpbGVuYW1lKToKKyAgIiIiCisgIGVmZmVjdGl2ZV90bGRfZmlsZW5hbWUgaXMgdGhlIGVmZmVjdGl2ZSBUTEQgZmlsZSB0byBwYXJzZS4KKyAgQSBDKysgYXJyYXkgb2YgeyBkb21haW4sIGV4Y2VwdGlvbiwgd2lsZCB9IGVudHJpZXMgcmVwcmVzZW50aW5nIHRoZQorICBlVExEIGZpbGUgaXMgdGhlbiBwcmludGVkIHRvIG91dHB1dC4KKyAgIiIiCisKKyAgZGVmIGJvb2xTdHIoYik6CisgICAgaWYgYjoKKyAgICAgIHJldHVybiAidHJ1ZSIKKyAgICByZXR1cm4gImZhbHNlIgorCisgIGZvciBldGxkIGluIGdldEVmZmVjdGl2ZVRMRHMoZWZmZWN0aXZlX3RsZF9maWxlbmFtZSk6CisgICAgZXhjZXB0aW9uID0gYm9vbFN0cihldGxkLmV4Y2VwdGlvbigpKQorICAgIHdpbGQgPSBib29sU3RyKGV0bGQud2lsZCgpKQorICAgIG91dHB1dC53cml0ZSgnRVRMRF9FTlRSWSgiJXMiLCAlcywgJXMpXG4nICUgKGV0bGQuZG9tYWluKCksIGV4Y2VwdGlvbiwgd2lsZCkpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgbWFpbihzeXMuc3Rkb3V0LCBzeXMuYXJndlsxXSkKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfYnVnNDE0MTIyLmpzIGIvdGVzdHMvdGVzdF9idWc0MTQxMjIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlhYzE4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3Rlc3RfYnVnNDE0MTIyLmpzCkBAIC0wLDAgKzEsNTggQEAKK2NvbnN0IFBSX1JET05MWSA9IDB4MTsKKwordmFyIGV0bGQgPSBDY1siQG1vemlsbGEub3JnL25ldHdvcmsvZWZmZWN0aXZlLXRsZC1zZXJ2aWNlOzEiXQorICAgICAgICAgICAgIC5nZXRTZXJ2aWNlKENpLm5zSUVmZmVjdGl2ZVRMRFNlcnZpY2UpOwordmFyIGlkbiA9IENjWyJAbW96aWxsYS5vcmcvbmV0d29yay9pZG4tc2VydmljZTsxIl0KKyAgICAgICAgICAgICAuZ2V0U2VydmljZShDaS5uc0lJRE5TZXJ2aWNlKTsKKworZnVuY3Rpb24gcnVuX3Rlc3QoKQoreworICB2YXIgZmlzID0gQ2NbIkBtb3ppbGxhLm9yZy9uZXR3b3JrL2ZpbGUtaW5wdXQtc3RyZWFtOzEiXQorICAgICAgICAgICAgICAuY3JlYXRlSW5zdGFuY2UoQ2kubnNJRmlsZUlucHV0U3RyZWFtKTsKKyAgZmlzLmluaXQoZG9fZ2V0X2ZpbGUoImVmZmVjdGl2ZV90bGRfbmFtZXMuZGF0IiksCisgICAgICAgICAgIFBSX1JET05MWSwgMDQ0NCwgQ2kubnNJRmlsZUlucHV0U3RyZWFtLkNMT1NFX09OX0VPRik7CisKKyAgdmFyIGxpcyA9IENjWyJAbW96aWxsYS5vcmcvaW50bC9jb252ZXJ0ZXItaW5wdXQtc3RyZWFtOzEiXQorICAgICAgICAgICAgICAuY3JlYXRlSW5zdGFuY2UoQ2kubnNJQ29udmVydGVySW5wdXRTdHJlYW0pOworICBsaXMuaW5pdChmaXMsICJVVEYtOCIsIDEwMjQsIDApOworICBsaXMuUXVlcnlJbnRlcmZhY2UoQ2kubnNJVW5pY2hhckxpbmVJbnB1dFN0cmVhbSk7CisKKyAgdmFyIG91dCA9IHsgdmFsdWU6ICIiIH07CisgIGRvCisgIHsKKyAgICB2YXIgbW9yZSA9IGxpcy5yZWFkTGluZShvdXQpOworICAgIHZhciBsaW5lID0gb3V0LnZhbHVlOworCisgICAgbGluZSA9IGxpbmUucmVwbGFjZSgvXlxzKy8sICIiKTsKKyAgICB2YXIgZmlyc3RUd28gPSBsaW5lLnN1YnN0cmluZygwLCAyKTsgLy8gYSBtaXNub21lciwgYnV0IHdoYXRldmVyCisgICAgaWYgKGZpcnN0VHdvID09ICIiIHx8IGZpcnN0VHdvID09ICIvLyIpCisgICAgICBjb250aW51ZTsKKworICAgIHZhciBzcGFjZSA9IGxpbmUuc2VhcmNoKC9bIFx0XS8pOworICAgIGxpbmUgPSBsaW5lLnN1YnN0cmluZygwLCBzcGFjZSA9PSAtMSA/IGxpbmUubGVuZ3RoIDogc3BhY2UpOworCisgICAgaWYgKCIqLiIgPT0gZmlyc3RUd28pCisgICAgeworICAgICAgbGV0IHJlc3QgPSBsaW5lLnN1YnN0cmluZygyKTsKKyAgICAgIGNoZWNrUHVibGljU3VmZml4KCJmb28uU1VQRVItU1BFQ0lBTC1BV0VTT01FLVBSRUZJWC4iICsgcmVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJTVVBFUi1TUEVDSUFMLUFXRVNPTUUtUFJFRklYLiIgKyByZXN0KTsKKyAgICB9CisgICAgZWxzZSBpZiAoIiEiID09IGxpbmUuY2hhckF0KDApKQorICAgIHsKKyAgICAgIGNoZWNrUHVibGljU3VmZml4KGxpbmUuc3Vic3RyaW5nKDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgbGluZS5zdWJzdHJpbmcobGluZS5pbmRleE9mKCIuIikgKyAxKSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBjaGVja1B1YmxpY1N1ZmZpeCgiU1VQRVItU1BFQ0lBTC1BV0VTT01FLVBSRUZJWC4iICsgbGluZSwgbGluZSk7CisgICAgfQorICB9CisgIHdoaWxlIChtb3JlKTsKK30KKworZnVuY3Rpb24gY2hlY2tQdWJsaWNTdWZmaXgoaG9zdCwgZXhwZWN0ZWRTdWZmaXgpCit7CisgIGV4cGVjdGVkU3VmZml4ID0gaWRuLmNvbnZlcnRVVEY4dG9BQ0UoZXhwZWN0ZWRTdWZmaXgpLnRvTG93ZXJDYXNlKCk7CisgIHZhciBhY3R1YWxTdWZmaXggPSBldGxkLmdldFB1YmxpY1N1ZmZpeEZyb21Ib3N0KGhvc3QpOworICBkb19jaGVja19lcShhY3R1YWxTdWZmaXgsIGV4cGVjdGVkU3VmZml4KTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfcHNsLmpzIGIvdGVzdHMvdGVzdF9wc2wuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUxZmZhNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3Rlc3RfcHNsLmpzCkBAIC0wLDAgKzEsMzYgQEAKK3ZhciBldGxkID0gQ2NbIkBtb3ppbGxhLm9yZy9uZXR3b3JrL2VmZmVjdGl2ZS10bGQtc2VydmljZTsxIl0KKyAgICAgICAgICAgICAuZ2V0U2VydmljZShDaS5uc0lFZmZlY3RpdmVUTERTZXJ2aWNlKTsKKwordmFyIGlkbmEgPSBDY1siQG1vemlsbGEub3JnL25ldHdvcmsvaWRuLXNlcnZpY2U7MSJdCisgICAgICAgICAgIC5nZXRTZXJ2aWNlKENpLm5zSUlETlNlcnZpY2UpOworCit2YXIgQ3IgPSBDb21wb25lbnRzLnJlc3VsdHM7CisKK2Z1bmN0aW9uIHJ1bl90ZXN0KCkKK3sKKyAgdmFyIGZpbGUgPSBkb19nZXRfZmlsZSgiZGF0YS90ZXN0X3BzbC50eHQiKTsKKyAgdmFyIGlvcyA9IENjWyJAbW96aWxsYS5vcmcvbmV0d29yay9pby1zZXJ2aWNlOzEiXQorICAgICAgICAgICAgICAuZ2V0U2VydmljZShDaS5uc0lJT1NlcnZpY2UpOworICB2YXIgdXJpID0gaW9zLm5ld0ZpbGVVUkkoZmlsZSk7CisgIHZhciBzY3JpcHRMb2FkZXIgPSBDY1siQG1vemlsbGEub3JnL21vei9qc3N1YnNjcmlwdC1sb2FkZXI7MSJdCisgICAgICAgICAgICAgICAgICAgICAgIC5nZXRTZXJ2aWNlKENpLm1veklKU1N1YlNjcmlwdExvYWRlcik7CisgIHZhciBzcnZTY29wZSA9IHt9OworICBzY3JpcHRMb2FkZXIubG9hZFN1YlNjcmlwdCh1cmkuc3BlYywgc3J2U2NvcGUsICJ1dGYtOCIpOworfQorCitmdW5jdGlvbiBjaGVja1B1YmxpY1N1ZmZpeChob3N0LCBleHBlY3RlZFN1ZmZpeCkKK3sKKyAgdmFyIGFjdHVhbFN1ZmZpeCA9IG51bGw7CisgIHRyeSB7CisgICAgYWN0dWFsU3VmZml4ID0gZXRsZC5nZXRCYXNlRG9tYWluRnJvbUhvc3QoaG9zdCk7CisgIH0gY2F0Y2ggKGUgaWYgZS5yZXN1bHQgPT0gQ3IuTlNfRVJST1JfSU5TVUZGSUNJRU5UX0RPTUFJTl9MRVZFTFMgfHwKKyAgICAgICAgICAgICAgICBlLnJlc3VsdCA9PSBDci5OU19FUlJPUl9JTExFR0FMX1ZBTFVFKSB7CisgIH0KKyAgLy8gVGhlIEVmZmVjdGl2ZVRMRFNlcnZpY2UgYWx3YXlzIGdpdmVzIGJhY2sgcHVueWNvZGVkIGxhYmVscy4KKyAgLy8gVGhlIHRlc3Qgc3VpdGUgd2FudHMgdG8gZ2V0IGJhY2sgd2hhdCBpdCBwdXQgaW4uCisgIGlmIChhY3R1YWxTdWZmaXggIT09IG51bGwgJiYgZXhwZWN0ZWRTdWZmaXggIT09IG51bGwgJiYKKyAgICAgIC8oXnxcLil4bi0tLy50ZXN0KGFjdHVhbFN1ZmZpeCkgJiYgIS8oXnxcLil4bi0tLy50ZXN0KGV4cGVjdGVkU3VmZml4KSkgeworICAgIGFjdHVhbFN1ZmZpeCA9IGlkbmEuY29udmVydEFDRXRvVVRGOChhY3R1YWxTdWZmaXgpOworICB9CisgIGRvX2NoZWNrX2VxKGFjdHVhbFN1ZmZpeCwgZXhwZWN0ZWRTdWZmaXgpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9wc2wudHh0IGIvdGVzdHMvdGVzdF9wc2wudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxMmU1ZmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90ZXN0X3BzbC50eHQKQEAgLTAsMCArMSw5OCBAQAorLy8gQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisvLyBodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworCisvLyBudWxsIGlucHV0LgorY2hlY2tQdWJsaWNTdWZmaXgobnVsbCwgbnVsbCk7CisvLyBNaXhlZCBjYXNlLgorY2hlY2tQdWJsaWNTdWZmaXgoJ0NPTScsIG51bGwpOworY2hlY2tQdWJsaWNTdWZmaXgoJ2V4YW1wbGUuQ09NJywgJ2V4YW1wbGUuY29tJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnV3dXLmV4YW1wbGUuQ09NJywgJ2V4YW1wbGUuY29tJyk7CisvLyBMZWFkaW5nIGRvdC4KK2NoZWNrUHVibGljU3VmZml4KCcuY29tJywgbnVsbCk7CitjaGVja1B1YmxpY1N1ZmZpeCgnLmV4YW1wbGUnLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCcuZXhhbXBsZS5jb20nLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCcuZXhhbXBsZS5leGFtcGxlJywgbnVsbCk7CisvLyBVbmxpc3RlZCBUTEQuCitjaGVja1B1YmxpY1N1ZmZpeCgnZXhhbXBsZScsIG51bGwpOworY2hlY2tQdWJsaWNTdWZmaXgoJ2V4YW1wbGUuZXhhbXBsZScsICdleGFtcGxlLmV4YW1wbGUnKTsKK2NoZWNrUHVibGljU3VmZml4KCdiLmV4YW1wbGUuZXhhbXBsZScsICdleGFtcGxlLmV4YW1wbGUnKTsKK2NoZWNrUHVibGljU3VmZml4KCdhLmIuZXhhbXBsZS5leGFtcGxlJywgJ2V4YW1wbGUuZXhhbXBsZScpOworLy8gTGlzdGVkLCBidXQgbm9uLUludGVybmV0LCBUTEQuCisvL2NoZWNrUHVibGljU3VmZml4KCdsb2NhbCcsIG51bGwpOworLy9jaGVja1B1YmxpY1N1ZmZpeCgnZXhhbXBsZS5sb2NhbCcsIG51bGwpOworLy9jaGVja1B1YmxpY1N1ZmZpeCgnYi5leGFtcGxlLmxvY2FsJywgbnVsbCk7CisvL2NoZWNrUHVibGljU3VmZml4KCdhLmIuZXhhbXBsZS5sb2NhbCcsIG51bGwpOworLy8gVExEIHdpdGggb25seSAxIHJ1bGUuCitjaGVja1B1YmxpY1N1ZmZpeCgnYml6JywgbnVsbCk7CitjaGVja1B1YmxpY1N1ZmZpeCgnZG9tYWluLmJpeicsICdkb21haW4uYml6Jyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnYi5kb21haW4uYml6JywgJ2RvbWFpbi5iaXonKTsKK2NoZWNrUHVibGljU3VmZml4KCdhLmIuZG9tYWluLmJpeicsICdkb21haW4uYml6Jyk7CisvLyBUTEQgd2l0aCBzb21lIDItbGV2ZWwgcnVsZXMuCitjaGVja1B1YmxpY1N1ZmZpeCgnY29tJywgbnVsbCk7CitjaGVja1B1YmxpY1N1ZmZpeCgnZXhhbXBsZS5jb20nLCAnZXhhbXBsZS5jb20nKTsKK2NoZWNrUHVibGljU3VmZml4KCdiLmV4YW1wbGUuY29tJywgJ2V4YW1wbGUuY29tJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnYS5iLmV4YW1wbGUuY29tJywgJ2V4YW1wbGUuY29tJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgndWsuY29tJywgbnVsbCk7CitjaGVja1B1YmxpY1N1ZmZpeCgnZXhhbXBsZS51ay5jb20nLCAnZXhhbXBsZS51ay5jb20nKTsKK2NoZWNrUHVibGljU3VmZml4KCdiLmV4YW1wbGUudWsuY29tJywgJ2V4YW1wbGUudWsuY29tJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnYS5iLmV4YW1wbGUudWsuY29tJywgJ2V4YW1wbGUudWsuY29tJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgndGVzdC5hYycsICd0ZXN0LmFjJyk7CisvLyBUTEQgd2l0aCBvbmx5IDEgKHdpbGRjYXJkKSBydWxlLgorY2hlY2tQdWJsaWNTdWZmaXgoJ21tJywgbnVsbCk7CitjaGVja1B1YmxpY1N1ZmZpeCgnYy5tbScsIG51bGwpOworY2hlY2tQdWJsaWNTdWZmaXgoJ2IuYy5tbScsICdiLmMubW0nKTsKK2NoZWNrUHVibGljU3VmZml4KCdhLmIuYy5tbScsICdiLmMubW0nKTsKKy8vIE1vcmUgY29tcGxleCBUTEQuCitjaGVja1B1YmxpY1N1ZmZpeCgnanAnLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCd0ZXN0LmpwJywgJ3Rlc3QuanAnKTsKK2NoZWNrUHVibGljU3VmZml4KCd3d3cudGVzdC5qcCcsICd0ZXN0LmpwJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnYWMuanAnLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCd0ZXN0LmFjLmpwJywgJ3Rlc3QuYWMuanAnKTsKK2NoZWNrUHVibGljU3VmZml4KCd3d3cudGVzdC5hYy5qcCcsICd0ZXN0LmFjLmpwJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgna3lvdG8uanAnLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCd0ZXN0Lmt5b3RvLmpwJywgJ3Rlc3Qua3lvdG8uanAnKTsKK2NoZWNrUHVibGljU3VmZml4KCdpZGUua3lvdG8uanAnLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCdiLmlkZS5reW90by5qcCcsICdiLmlkZS5reW90by5qcCcpOworY2hlY2tQdWJsaWNTdWZmaXgoJ2EuYi5pZGUua3lvdG8uanAnLCAnYi5pZGUua3lvdG8uanAnKTsKK2NoZWNrUHVibGljU3VmZml4KCdjLmtvYmUuanAnLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCdiLmMua29iZS5qcCcsICdiLmMua29iZS5qcCcpOworY2hlY2tQdWJsaWNTdWZmaXgoJ2EuYi5jLmtvYmUuanAnLCAnYi5jLmtvYmUuanAnKTsKK2NoZWNrUHVibGljU3VmZml4KCdjaXR5LmtvYmUuanAnLCAnY2l0eS5rb2JlLmpwJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnd3d3LmNpdHkua29iZS5qcCcsICdjaXR5LmtvYmUuanAnKTsKKy8vIFRMRCB3aXRoIGEgd2lsZGNhcmQgcnVsZSBhbmQgZXhjZXB0aW9ucy4KK2NoZWNrUHVibGljU3VmZml4KCdjaycsIG51bGwpOworY2hlY2tQdWJsaWNTdWZmaXgoJ3Rlc3QuY2snLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCdiLnRlc3QuY2snLCAnYi50ZXN0LmNrJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnYS5iLnRlc3QuY2snLCAnYi50ZXN0LmNrJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnd3d3LmNrJywgJ3d3dy5jaycpOworY2hlY2tQdWJsaWNTdWZmaXgoJ3d3dy53d3cuY2snLCAnd3d3LmNrJyk7CisvLyBVUyBLMTIuCitjaGVja1B1YmxpY1N1ZmZpeCgndXMnLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCd0ZXN0LnVzJywgJ3Rlc3QudXMnKTsKK2NoZWNrUHVibGljU3VmZml4KCd3d3cudGVzdC51cycsICd0ZXN0LnVzJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnYWsudXMnLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCd0ZXN0LmFrLnVzJywgJ3Rlc3QuYWsudXMnKTsKK2NoZWNrUHVibGljU3VmZml4KCd3d3cudGVzdC5hay51cycsICd0ZXN0LmFrLnVzJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnazEyLmFrLnVzJywgbnVsbCk7CitjaGVja1B1YmxpY1N1ZmZpeCgndGVzdC5rMTIuYWsudXMnLCAndGVzdC5rMTIuYWsudXMnKTsKK2NoZWNrUHVibGljU3VmZml4KCd3d3cudGVzdC5rMTIuYWsudXMnLCAndGVzdC5rMTIuYWsudXMnKTsKKy8vIElETiBsYWJlbHMuCitjaGVja1B1YmxpY1N1ZmZpeCgn6aOf54uuLmNvbS5jbicsICfpo5/ni64uY29tLmNuJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgn6aOf54uuLuWFrOWPuC5jbicsICfpo5/ni64u5YWs5Y+4LmNuJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnd3d3Lumjn+eLri7lhazlj7guY24nLCAn6aOf54uuLuWFrOWPuC5jbicpOworY2hlY2tQdWJsaWNTdWZmaXgoJ3NoaXNoaS7lhazlj7guY24nLCAnc2hpc2hpLuWFrOWPuC5jbicpOworY2hlY2tQdWJsaWNTdWZmaXgoJ+WFrOWPuC5jbicsIG51bGwpOworY2hlY2tQdWJsaWNTdWZmaXgoJ+mjn+eLri7kuK3lm70nLCAn6aOf54uuLuS4reWbvScpOworY2hlY2tQdWJsaWNTdWZmaXgoJ3d3dy7po5/ni64u5Lit5Zu9JywgJ+mjn+eLri7kuK3lm70nKTsKK2NoZWNrUHVibGljU3VmZml4KCdzaGlzaGku5Lit5Zu9JywgJ3NoaXNoaS7kuK3lm70nKTsKK2NoZWNrUHVibGljU3VmZml4KCfkuK3lm70nLCBudWxsKTsKKy8vIFNhbWUgYXMgYWJvdmUsIGJ1dCBwdW55Y29kZWQuCitjaGVja1B1YmxpY1N1ZmZpeCgneG4tLTg1eDcyMmYuY29tLmNuJywgJ3huLS04NXg3MjJmLmNvbS5jbicpOworY2hlY2tQdWJsaWNTdWZmaXgoJ3huLS04NXg3MjJmLnhuLS01NXF4NWQuY24nLCAneG4tLTg1eDcyMmYueG4tLTU1cXg1ZC5jbicpOworY2hlY2tQdWJsaWNTdWZmaXgoJ3d3dy54bi0tODV4NzIyZi54bi0tNTVxeDVkLmNuJywgJ3huLS04NXg3MjJmLnhuLS01NXF4NWQuY24nKTsKK2NoZWNrUHVibGljU3VmZml4KCdzaGlzaGkueG4tLTU1cXg1ZC5jbicsICdzaGlzaGkueG4tLTU1cXg1ZC5jbicpOworY2hlY2tQdWJsaWNTdWZmaXgoJ3huLS01NXF4NWQuY24nLCBudWxsKTsKK2NoZWNrUHVibGljU3VmZml4KCd4bi0tODV4NzIyZi54bi0tZmlxczhzJywgJ3huLS04NXg3MjJmLnhuLS1maXFzOHMnKTsKK2NoZWNrUHVibGljU3VmZml4KCd3d3cueG4tLTg1eDcyMmYueG4tLWZpcXM4cycsICd4bi0tODV4NzIyZi54bi0tZmlxczhzJyk7CitjaGVja1B1YmxpY1N1ZmZpeCgnc2hpc2hpLnhuLS1maXFzOHMnLCAnc2hpc2hpLnhuLS1maXFzOHMnKTsKK2NoZWNrUHVibGljU3VmZml4KCd4bi0tZmlxczhzJywgbnVsbCk7CmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0cy50eHQgYi90ZXN0cy90ZXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTgzNzdjZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3Rlc3RzLnR4dApAQCAtMCwwICsxLDk4IEBACisvLyBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKy8vIGh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCisKKy8vIG51bGwgaW5wdXQuCitudWxsIG51bGwKKy8vIE1peGVkIGNhc2UuCitDT00gbnVsbAorZXhhbXBsZS5DT00gZXhhbXBsZS5jb20KK1d3Vy5leGFtcGxlLkNPTSBleGFtcGxlLmNvbQorLy8gTGVhZGluZyBkb3QuCisuY29tIG51bGwKKy5leGFtcGxlIG51bGwKKy5leGFtcGxlLmNvbSBudWxsCisuZXhhbXBsZS5leGFtcGxlIG51bGwKKy8vIFVubGlzdGVkIFRMRC4KK2V4YW1wbGUgbnVsbAorZXhhbXBsZS5leGFtcGxlIGV4YW1wbGUuZXhhbXBsZQorYi5leGFtcGxlLmV4YW1wbGUgZXhhbXBsZS5leGFtcGxlCithLmIuZXhhbXBsZS5leGFtcGxlIGV4YW1wbGUuZXhhbXBsZQorLy8gTGlzdGVkLCBidXQgbm9uLUludGVybmV0LCBUTEQuCisvL2xvY2FsIG51bGwKKy8vZXhhbXBsZS5sb2NhbCBudWxsCisvL2IuZXhhbXBsZS5sb2NhbCBudWxsCisvL2EuYi5leGFtcGxlLmxvY2FsIG51bGwKKy8vIFRMRCB3aXRoIG9ubHkgMSBydWxlLgorYml6IG51bGwKK2RvbWFpbi5iaXogZG9tYWluLmJpegorYi5kb21haW4uYml6IGRvbWFpbi5iaXoKK2EuYi5kb21haW4uYml6IGRvbWFpbi5iaXoKKy8vIFRMRCB3aXRoIHNvbWUgMi1sZXZlbCBydWxlcy4KK2NvbSBudWxsCitleGFtcGxlLmNvbSBleGFtcGxlLmNvbQorYi5leGFtcGxlLmNvbSBleGFtcGxlLmNvbQorYS5iLmV4YW1wbGUuY29tIGV4YW1wbGUuY29tCit1ay5jb20gbnVsbAorZXhhbXBsZS51ay5jb20gZXhhbXBsZS51ay5jb20KK2IuZXhhbXBsZS51ay5jb20gZXhhbXBsZS51ay5jb20KK2EuYi5leGFtcGxlLnVrLmNvbSBleGFtcGxlLnVrLmNvbQordGVzdC5hYyB0ZXN0LmFjCisvLyBUTEQgd2l0aCBvbmx5IDEgKHdpbGRjYXJkKSBydWxlLgorbW0gbnVsbAorYy5tbSBudWxsCitiLmMubW0gYi5jLm1tCithLmIuYy5tbSBiLmMubW0KKy8vIE1vcmUgY29tcGxleCBUTEQuCitqcCBudWxsCit0ZXN0LmpwIHRlc3QuanAKK3d3dy50ZXN0LmpwIHRlc3QuanAKK2FjLmpwIG51bGwKK3Rlc3QuYWMuanAgdGVzdC5hYy5qcAord3d3LnRlc3QuYWMuanAgdGVzdC5hYy5qcAora3lvdG8uanAgbnVsbAordGVzdC5reW90by5qcCB0ZXN0Lmt5b3RvLmpwCitpZGUua3lvdG8uanAgbnVsbAorYi5pZGUua3lvdG8uanAgYi5pZGUua3lvdG8uanAKK2EuYi5pZGUua3lvdG8uanAgYi5pZGUua3lvdG8uanAKK2Mua29iZS5qcCBudWxsCitiLmMua29iZS5qcCBiLmMua29iZS5qcAorYS5iLmMua29iZS5qcCBiLmMua29iZS5qcAorY2l0eS5rb2JlLmpwIGNpdHkua29iZS5qcAord3d3LmNpdHkua29iZS5qcCBjaXR5LmtvYmUuanAKKy8vIFRMRCB3aXRoIGEgd2lsZGNhcmQgcnVsZSBhbmQgZXhjZXB0aW9ucy4KK2NrIG51bGwKK3Rlc3QuY2sgbnVsbAorYi50ZXN0LmNrIGIudGVzdC5jaworYS5iLnRlc3QuY2sgYi50ZXN0LmNrCit3d3cuY2sgd3d3LmNrCit3d3cud3d3LmNrIHd3dy5jaworLy8gVVMgSzEyLgordXMgbnVsbAordGVzdC51cyB0ZXN0LnVzCit3d3cudGVzdC51cyB0ZXN0LnVzCithay51cyBudWxsCit0ZXN0LmFrLnVzIHRlc3QuYWsudXMKK3d3dy50ZXN0LmFrLnVzIHRlc3QuYWsudXMKK2sxMi5hay51cyBudWxsCit0ZXN0LmsxMi5hay51cyB0ZXN0LmsxMi5hay51cword3d3LnRlc3QuazEyLmFrLnVzIHRlc3QuazEyLmFrLnVzCisvLyBJRE4gbGFiZWxzLgor6aOf54uuLmNvbS5jbiDpo5/ni64uY29tLmNuCivpo5/ni64u5YWs5Y+4LmNuIOmjn+eLri7lhazlj7guY24KK3d3dy7po5/ni64u5YWs5Y+4LmNuIOmjn+eLri7lhazlj7guY24KK3NoaXNoaS7lhazlj7guY24gc2hpc2hpLuWFrOWPuC5jbgor5YWs5Y+4LmNuIG51bGwKK+mjn+eLri7kuK3lm70g6aOf54uuLuS4reWbvQord3d3Lumjn+eLri7kuK3lm70g6aOf54uuLuS4reWbvQorc2hpc2hpLuS4reWbvSBzaGlzaGku5Lit5Zu9CivkuK3lm70gbnVsbAorLy8gU2FtZSBhcyBhYm92ZSwgYnV0IHB1bnljb2RlZC4KK3huLS04NXg3MjJmLmNvbS5jbiB4bi0tODV4NzIyZi5jb20uY24KK3huLS04NXg3MjJmLnhuLS01NXF4NWQuY24geG4tLTg1eDcyMmYueG4tLTU1cXg1ZC5jbgord3d3LnhuLS04NXg3MjJmLnhuLS01NXF4NWQuY24geG4tLTg1eDcyMmYueG4tLTU1cXg1ZC5jbgorc2hpc2hpLnhuLS01NXF4NWQuY24gc2hpc2hpLnhuLS01NXF4NWQuY24KK3huLS01NXF4NWQuY24gbnVsbAoreG4tLTg1eDcyMmYueG4tLWZpcXM4cyB4bi0tODV4NzIyZi54bi0tZmlxczhzCit3d3cueG4tLTg1eDcyMmYueG4tLWZpcXM4cyB4bi0tODV4NzIyZi54bi0tZmlxczhzCitzaGlzaGkueG4tLWZpcXM4cyBzaGlzaGkueG4tLWZpcXM4cworeG4tLWZpcXM4cyBudWxsCmRpZmYgLS1naXQgYS90b29scy9jb252ZXJ0X3Rlc3RzIGIvdG9vbHMvY29udmVydF90ZXN0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWY1ZDUxCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29udmVydF90ZXN0cwpAQCAtMCwwICsxLDcgQEAKKyMhL2Jpbi9zaAorIworIyBXcml0dGVuIDIwMTYgYnkgVGltIFJ1ZWhzZW4gKHRpbSBkb3QgcnVlaHNlbiBhdCBnbXggZG90IGRlKQorIworIyBDb252ZXJ0IHRlc3RfcHNsLnR4dCB0byB0ZXN0cy50eHQgKHNlZCBoYWNrKQorCitzZWQgLWUgInMvY2hlY2tQdWJsaWNTdWZmaXgoJypcKFteJ10qXCknKiwgJypcKFteJ10qXCknKik7L1wxIFwyL2ciIHRlc3RfcHNsLnR4dCA+dGVzdHMudHh0CmRpZmYgLS1naXQgYS90b29scy9uZXdndGxkcy5nbyBiL3Rvb2xzL25ld2d0bGRzLmdvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3Yzk1YmUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9uZXdndGxkcy5nbwpAQCAtMCwwICsxLDU2MyBAQAorLy8gbmV3Z3RsZHMgaXMgYSB1dGlsaXR5IGNvbW1hbmQgdGhhdCBkb3dubG9hZHMgdGhlIGxpc3Qgb2YgZ1RMRHMgZnJvbSBJQ0FOTgorLy8gYW5kIGZvcm1hdHMgaXQgaW50byB0aGUgUFNMIGZvcm1hdCwgd3JpdGluZyB0byBzdGRvdXQuCitwYWNrYWdlIG1haW4KKworaW1wb3J0ICgKKwkiYnl0ZXMiCisJImVuY29kaW5nL2pzb24iCisJImVycm9ycyIKKwkiZmxhZyIKKwkiZm10IgorCSJpbyIKKwkibmV0L2h0dHAiCisJIm9zIgorCSJzdHJpbmdzIgorCSJ0ZXh0L3RlbXBsYXRlIgorCSJ0aW1lIgorKQorCitjb25zdCAoCisJLy8gSUNBTk5fR1RMRF9KU09OX1VSTCBpcyB0aGUgVVJMIGZvciB0aGUgSUNBTk4gZ1RMRCBKU09OIHJlZ2lzdHJ5ICh2ZXJzaW9uCisJLy8gMikuIFNlZSBodHRwczovL3d3dy5pY2Fubi5vcmcvcmVzb3VyY2VzL3BhZ2VzL3JlZ2lzdHJpZXMvcmVnaXN0cmllcy1lbiBmb3IKKwkvLyBtb3JlIGluZm9ybWF0aW9uLgorCUlDQU5OX0dUTERfSlNPTl9VUkwgPSAiaHR0cHM6Ly93d3cuaWNhbm4ub3JnL3Jlc291cmNlcy9yZWdpc3RyaWVzL2d0bGRzL3YyL2d0bGRzLmpzb24iCisJLy8gSUFOQV9UTERTX1RYVF9VUkwgaXMgdGhlIFVSTCBmb3IgdGhlIElBTkEgIlB1YmxpYyBTdWZmaXggTGlzdCIgb2YgVExEcworCS8vIGluIHRoZSBJQ1AtMyBSb290IC0gaW5jbHVkaW5nIG5ldyBjY1RMRHMsIEVCUkVSTyBnVExEUyBvciB0aGluZ3Mgbm90IGluCisJLy8gdGhlIEpTT04gRmlsZSBhYm92ZSB0aGF0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgUFNMLiAgTm90ZTogVVBQRVJDQVNFCisJSUFOQV9UTERTX1RYVF9VUkwgPSAiaHR0cDovL2RhdGEuaWFuYS5vcmcvVExEL3RsZHMtYWxwaGEtYnktZG9tYWluLnR4dCIKKwkvLyBQU0xfR1RMRFNfU0VDVElPTl9IRUFERVIgbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBuZXdHVExEcyBzZWN0aW9uIG9mIHRoZQorCS8vIG92ZXJhbGwgcHVibGljIHN1ZmZpeCBkYXQgZmlsZS4KKwlQU0xfR1RMRFNfU0VDVElPTl9IRUFERVIgPSAiLy8gbmV3R1RMRHMiCisJLy8gUFNMX0dUTERTX1NFQ1RJT05fRk9PVEVSIG1hcmtzIHRoZSBlbmQgb2YgdGhlIG5ld0dUTERzIHNlY3Rpb24gb2YgdGhlCisJLy8gb3ZlcmFsbCBwdWJsaWMgc3VmZml4IGRhdCBmaWxlLgorCVBTTF9HVExEU19TRUNUSU9OX0ZPT1RFUiA9ICIvLyA9PT1FTkQgSUNBTk4gRE9NQUlOUz09PSIKKykKKwordmFyICgKKwkvLyBsZWdhY3lHVExEcyBhcmUgZ1RMRHMgdGhhdCBwcmVkYXRlIElDQU5OJ3MgbmV3IGdUTEQgcHJvZ3JhbS4gVGhlc2UgbGVnYWN5CisJLy8gZ1RMRHMgYXJlIHByZXNlbnQgaW4gdGhlIElDQU5OX0dUTERfSlNPTl9VUkwgZGF0YSBidXQgd2UgZG8gbm90IHdhbnQgdG8KKwkvLyBpbmNsdWRlIHRoZW0gaW4gdGhlIG5ldyBnVExEIHNlY3Rpb24gb2YgdGhlIFBTTCBkYXRhIGJlY2F1c2UgaXQgd2lsbCBjcmVhdGUKKwkvLyBkdXBsaWNhdGVzIHdpdGggZXhpc3RpbmcgZW50cmllcyBhbG9uZ3NpZGUgcmVnaXN0cnktcmVzZXJ2ZWQgc2Vjb25kIGxldmVsCisJLy8gZG9tYWlucyBwcmVzZW50IGluIHRoZSBQU0wgZGF0YS4gRW50cmllcyBwcmVzZW50IGluIGxlZ2FjeUdUTERzIHdpbGwgbm90IGJlCisJLy8gb3V0cHV0IGJ5IHRoaXMgdG9vbCB3aGVuIGdlbmVyYXRpbmcgdGhlIG5ldyBnVExEIGRhdGEuCisJbGVnYWN5R1RMRHMgPSBtYXBbc3RyaW5nXWJvb2x7CisJCSJhZXJvIjogICB0cnVlLAorCQkiYXNpYSI6ICAgdHJ1ZSwKKwkJImJpeiI6ICAgIHRydWUsCisJCSJjYXQiOiAgICB0cnVlLAorCQkiY29tIjogICAgdHJ1ZSwKKwkJImNvb3AiOiAgIHRydWUsCisJCSJpbmZvIjogICB0cnVlLAorCQkiam9icyI6ICAgdHJ1ZSwKKwkJIm1vYmkiOiAgIHRydWUsCisJCSJtdXNldW0iOiB0cnVlLAorCQkibmFtZSI6ICAgdHJ1ZSwKKwkJIm5ldCI6ICAgIHRydWUsCisJCSJvcmciOiAgICB0cnVlLAorCQkicG9zdCI6ICAgdHJ1ZSwKKwkJInBybyI6ICAgIHRydWUsCisJCSJ0ZWwiOiAgICB0cnVlLAorCQkieHh4IjogICAgdHJ1ZSwKKwl9CisKKwkvLyBwc2xIZWFkZXJUZW1wbGF0ZSBpcyBhIHBhcnNlZCB0ZXh0L3RlbXBsYXRlIGluc3RhbmNlIGZvciByZW5kZXJpbmcgdGhlIGhlYWRlcgorCS8vIGJlZm9yZSB0aGUgZGF0YSByZW5kZXJlZCB3aXRoIHRoZSBwc2xUZW1wbGF0ZS4gV2UgdXNlIHR3byBzZXBhcmF0ZSB0ZW1wbGF0ZXMKKwkvLyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBoYXZpbmcgYSB2YXJpYWJsZSBkYXRlIHN0YW1wIGluIHRoZSBwc2xUZW1wbGF0ZSwgYWxsb3dpbmcKKwkvLyB1cyB0byBlYXNpbHkgY2hlY2sgdGhhdCB0aGUgZGF0YSBpbiB0aGUgY3VycmVudCAuZGF0IGZpbGUgaXMgdW5jaGFuZ2VkIGZyb20KKwkvLyB3aGF0IHdlIHJlbmRlciB3aGVuIHRoZXJlIGFyZSBubyB1cGRhdGVzIHRvIGFkZC4KKwkvLworCS8vIEV4cGVjdGVkIHRlbXBsYXRlIGRhdGE6CisJLy8gICBVUkwgLSB0aGUgc3RyaW5nIFVSTCB0aGF0IHRoZSBkYXRhIHdhcyBmZXRjaGVkIGZyb20uCisJLy8gICBEYXRlIC0gdGhlIHRpbWUuRGF0ZSB0aGF0IHRoZSBkYXRhIHdhcyBmZXRjaGVkLgorCS8vICAgRGF0ZUZvcm1hdCAtIHRoZSBmb3JtYXQgc3RyaW5nIHRvIHVzZSB3aXRoIHRoZSBkYXRlLgorCXBzbEhlYWRlclRlbXBsYXRlID0gdGVtcGxhdGUuTXVzdCh0ZW1wbGF0ZS5OZXcoInB1YmxpYy1zdWZmaXgtbGlzdC1ndGxkcy1oZWFkZXIiKS5QYXJzZShgCisvLyBMaXN0IG9mIG5ldyBnVExEcyBpbXBvcnRlZCBmcm9tIHt7IC5VUkwgfX0gb24ge3sgLkRhdGUuRm9ybWF0IC5EYXRlRm9ybWF0IH19CisvLyBUaGlzIGxpc3QgaXMgYXV0by1nZW5lcmF0ZWQsIGRvbid0IGVkaXQgaXQgbWFudWFsbHkuYCkpCisKKwkvLyBwc2xUZW1wbGF0ZSBpcyBhIHBhcnNlZCB0ZXh0L3RlbXBsYXRlIGluc3RhbmNlIGZvciByZW5kZXJpbmcgYSBsaXN0IG9mIHBzbEVudHJ5CisJLy8gb2JqZWN0cyBpbiB0aGUgZm9ybWF0IHVzZWQgYnkgdGhlIHB1YmxpYyBzdWZmaXggbGlzdC4KKwkvLworCS8vIEl0IGV4cGVjdHMgdGhlIGZvbGxvd2luZyB0ZW1wbGF0ZSBkYXRhOgorCS8vICAgRW50cmllcyAtIGEgbGlzdCBvZiBwc2xFbnRyeSBvYmplY3RzLgorCXBzbFRlbXBsYXRlID0gdGVtcGxhdGUuTXVzdCgKKwkJdGVtcGxhdGUuTmV3KCJwdWJsaWMtc3VmZml4LWxpc3QtZ3RsZHMiKS5QYXJzZShgCit7ey0gcmFuZ2UgLkVudHJpZXMgfX0KK3t7LSAuQ29tbWVudCB9fQore3sgcHJpbnRmICIlc1xuIiAuVUxhYmVsIH19Cit7eyBlbmQgfX1gKSkKKykKKworLy8gcHNsRW50cnkgaXMgYSBzdHJ1Y3QgbWF0Y2hpbmcgYSBzdWJzZXQgb2YgdGhlIGdUTEQgZGF0YSBmaWVsZHMgcHJlc2VudCBpbgorLy8gZWFjaCBvYmplY3QgZW50cnkgb2YgdGhlICJHTFREcyIgYXJyYXkgZnJvbSBJQ0FOTl9HVExEX0pTT05fVVJMLgordHlwZSBwc2xFbnRyeSBzdHJ1Y3QgeworCS8vIEFMYWJlbCBjb250YWlucyB0aGUgQVNDSUkgZ1RMRCBuYW1lLiBGb3IgaW50ZXJuYXRpb25hbGl6ZWQgZ1RMRHMgdGhlIEdUTEQKKwkvLyBmaWVsZCBpcyBleHByZXNzZWQgaW4gcHVueWNvZGUuCisJQUxhYmVsIHN0cmluZyBganNvbjoiZ1RMRCJgCisJLy8gVUxhYmVsIGNvbnRhaW5zIHRoZSB1bmljb2RlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBnVExEIG5hbWUuIFdoZW4gdGhlIGdUTEQKKwkvLyBVTGFiZWwgaW4gdGhlIElDQU5OIGdUTEQgZGF0YSBpcyBlbXB0eSAoZS5nIGZvciBhbiBBU0NJSSBnVExEIGxpa2UKKwkvLyAnLnBpenphJykgdGhlIFBTTCBlbnRyeSB3aWxsIHVzZSB0aGUgQUxhYmVsIGFzIHRoZSBVTGFiZWwuCisJVUxhYmVsIHN0cmluZworCS8vIFJlZ2lzdHJ5T3BlcmF0b3IgaG9sZHMgdGhlIG5hbWUgb2YgdGhlIHJlZ2lzdHJ5IG9wZXJhdG9yIHRoYXQgb3BlcmF0ZXMgdGhlCisJLy8gZ1RMRCAobWF5IGJlIGVtcHR5KS4KKwlSZWdpc3RyeU9wZXJhdG9yIHN0cmluZworCS8vIERhdGVPZkNvbnRyYWN0U2lnbmF0dXJlIGhvbGRzIHRoZSBkYXRlIHRoZSBnVExEIGNvbnRyYWN0IHdhcyBzaWduZWQgKG1heSBiZSBlbXB0eSkuCisJRGF0ZU9mQ29udHJhY3RTaWduYXR1cmUgc3RyaW5nCisJLy8gQ29udHJhY3RUZXJtaW5hdGVkIGluZGljYXRlcyB3aGV0aGVyIHRoZSBjb250cmFjdCBoYXMgYmVlbiB0ZXJtaW5hdGVkIGJ5CisJLy8gSUNBTk4uIFdoZW4gcmVuZGVyZWQgYnkgdGhlIHBzbFRlbXBsYXRlIG9ubHkgZW50cmllcyB3aXRoCisJLy8gQ29udHJhY3RUZXJtaW5hdGVkID0gZmFsc2UgYXJlIGluY2x1ZGVkLgorCUNvbnRyYWN0VGVybWluYXRlZCBib29sCisJLy8gUmVtb3ZhbERhdGUgaW5kaWNhdGVzIHRoZSBkYXRlIHRoZSBnVExEIGRlbGVnYXRpb24gd2FzIHJlbW92ZWQgZnJvbSB0aGUKKwkvLyByb290IHpvbmVzLgorCVJlbW92YWxEYXRlIHN0cmluZworfQorCisvLyBub3JtYWxpemUgd2lsbCBub3JtYWxpemUgYSBwc2xFbnRyeSBieSBtdXRhdGluZyBpdCBpbiBwbGFjZSB0byB0cmltIHRoZQorLy8gc3RyaW5nIGZpZWxkcyBvZiB3aGl0ZXNwYWNlIGFuZCBieSBwb3B1bGF0aW5nIHRoZSBVTGFiZWwgd2l0aCB0aGUgQUxhYmVsIGlmCisvLyB0aGUgVUxhYmVsIGlzIGVtcHR5LgorZnVuYyAoZSAqcHNsRW50cnkpIG5vcm1hbGl6ZSgpIHsKKwllLkFMYWJlbCA9IHN0cmluZ3MuVHJpbVNwYWNlKGUuQUxhYmVsKQorCWUuVUxhYmVsID0gc3RyaW5ncy5UcmltU3BhY2UoZS5VTGFiZWwpCisJZS5SZWdpc3RyeU9wZXJhdG9yID0gc3RyaW5ncy5UcmltU3BhY2UoZS5SZWdpc3RyeU9wZXJhdG9yKQorCWUuRGF0ZU9mQ29udHJhY3RTaWduYXR1cmUgPSBzdHJpbmdzLlRyaW1TcGFjZShlLkRhdGVPZkNvbnRyYWN0U2lnbmF0dXJlKQorCisJLy8gSWYgdGhlcmUgaXMgbm8gZXhwbGljaXQgdUxhYmVsIHVzZSB0aGUgZ1RMRCBhcyB0aGUgdUxhYmVsLgorCWlmIGUuVUxhYmVsID09ICIiIHsKKwkJZS5VTGFiZWwgPSBlLkFMYWJlbAorCX0KK30KKworLy8gQ29tbWVudCBnZW5lcmF0ZXMgYSBjb21tZW50IHN0cmluZyBmb3IgdGhlIHBzbEVudHJ5LiBUaGlzIHN0cmluZyBoYXMgYSBgLy9gCisvLyBwcmVmaXggYW5kIG1hdGNoZXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgdHdvIGZvcm1zLgorLy8KKy8vIElmIHRoZSByZWdpc3RyeSBvcGVyYXRvciBmaWVsZCBpcyBlbXB0eSB0aGUgY29tbWVudCB3aWxsIGJlIG9mIHRoZSBmb3JtOgorLy8KKy8vICAgICcvLyA8QUxhYmVsPiA6IDxEYXRlT2ZDb250cmFjdFNpZ25hdHVyZT4nCisvLworLy8gSWYgdGhlIHJlZ2lzdHJ5IG9wZXJhdG9yIGZpZWxkIGlzIG5vdCBlbXB0eSB0aGUgY29tbWVudCB3aWxsIGJlIG9mIHRoZSBmb3JtOgorLy8KKy8vICAgICcvLyA8QUxhYmVsPiA6IDxEYXRlT2ZDb250cmFjdFNpZ25hdHVyZT4gPFJlZ2lzdHJ5T3BlcmF0b3I+JworLy8KKy8vIEluIGJvdGggY2FzZXMgdGhlIDxEYXRlT2ZDb250cmFjdFNpZ25hdHVyZT4gbWF5IGJlIGVtcHR5LgorZnVuYyAoZSBwc2xFbnRyeSkgQ29tbWVudCgpIHN0cmluZyB7CisJcGFydHMgOj0gW11zdHJpbmd7CisJCSIvLyIsCisJCWUuQUxhYmVsLAorCQkiOiIsCisJCWUuRGF0ZU9mQ29udHJhY3RTaWduYXR1cmUsCisJfQorCS8vIEF2b2lkIHR3byB0cmFpbGluZyBzcGFjZXMgaWYgcmVnaXN0cnkgb3BlcmF0b3IgaXMgZW1wdHkKKwlpZiBlLlJlZ2lzdHJ5T3BlcmF0b3IgIT0gIiIgeworCQlwYXJ0cyA9IGFwcGVuZChwYXJ0cywgZS5SZWdpc3RyeU9wZXJhdG9yKQorCX0KKwlyZXR1cm4gc3RyaW5ncy5Kb2luKHBhcnRzLCAiICIpCit9CisKKy8vIGdUTEREYXRTcGFuIHJlcHJlc2VudHMgdGhlIHNwYW4gYmV0d2VlbiB0aGUgUFNMX0dUTERfU0VDVElPTl9IRUFERVIgYW5kCisvLyB0aGUgUFNMX0dUTERTX1NFQ1RJT05fRk9PVEVSIGluIHRoZSBQU0wgZGF0IGZpbGUuCit0eXBlIGdUTEREYXRTcGFuIHN0cnVjdCB7CisJc3RhcnRJbmRleCBpbnQKKwllbmRJbmRleCAgIGludAorfQorCit2YXIgKAorCWVyck5vSGVhZGVyID0gZm10LkVycm9yZigiZGlkIG5vdCBmaW5kIGV4cGVjdGVkIGhlYWRlciBsaW5lICVxIiwKKwkJUFNMX0dUTERTX1NFQ1RJT05fSEVBREVSKQorCWVyck11bHRpcGxlSGVhZGVycyA9IGZtdC5FcnJvcmYoImZvdW5kIGV4cGVjdGVkIGhlYWRlciBsaW5lICVxIG1vcmUgdGhhbiBvbmNlIiwKKwkJUFNMX0dUTERTX1NFQ1RJT05fSEVBREVSKQorCWVyck5vRm9vdGVyID0gZm10LkVycm9yZigiZGlkIG5vdCBmaW5kIGV4cGVjdGVkIGZvb3RlciBsaW5lICVxIiwKKwkJUFNMX0dUTERTX1NFQ1RJT05fRk9PVEVSKQorKQorCit0eXBlIGVyckludmVydGVkU3BhbiBzdHJ1Y3QgeworCXNwYW4gZ1RMRERhdFNwYW4KK30KKworZnVuYyAoZSBlcnJJbnZlcnRlZFNwYW4pIEVycm9yKCkgc3RyaW5nIHsKKwlyZXR1cm4gZm10LlNwcmludGYoCisJCSJmb3VuZCBmb290ZXIgbGluZSAlcSBiZWZvcmUgaGVhZGVyIGxpbmUgJXEgKGluZGV4ICVkIHZzICVkKSIsCisJCVBTTF9HVExEU19TRUNUSU9OX0ZPT1RFUiwgUFNMX0dUTERTX1NFQ1RJT05fSEVBREVSLAorCQllLnNwYW4uZW5kSW5kZXgsIGUuc3Bhbi5zdGFydEluZGV4KQorfQorCisvLyB2YWxpZGF0ZSBjaGVja3MgdGhhdCBhIGdpdmVuIGdUTEREYXRTcGFuIGlzIHNlbnNpYmxlLiBJdCByZXR1cm5zIGFuIGVyciBpZgorLy8gdGhlIHNwYW4gaXMgbmlsLCBpZiB0aGUgc3RhcnQgb3IgZW5kIGluZGV4IGhhdmVuJ3QgYmVlbiBzZXQgdG8gPiAwLCBvciBpZiB0aGUKKy8vIGVuZCBpbmRleCBpcyA8PSB0aGUgdGhlIHN0YXJ0IGluZGV4LgorZnVuYyAocyBnVExERGF0U3BhbikgdmFsaWRhdGUoKSBlcnJvciB7CisJaWYgcy5zdGFydEluZGV4IDw9IDAgeworCQlyZXR1cm4gZXJyTm9IZWFkZXIKKwl9CisJaWYgcy5lbmRJbmRleCA8PSAwIHsKKwkJcmV0dXJuIGVyck5vRm9vdGVyCisJfQorCWlmIHMuZW5kSW5kZXggPD0gcy5zdGFydEluZGV4IHsKKwkJcmV0dXJuIGVyckludmVydGVkU3BhbntzcGFuOiBzfQorCX0KKwlyZXR1cm4gbmlsCit9CisKKy8vIGRhdEZpbGUgaG9sZHMgdGhlIGluZGl2aWR1YWwgbGluZXMgcmVhZCBmcm9tIHRoZSBwdWJsaWMgc3VmZml4IGxpc3QgZGF0IGZpbGUgYW5kCisvLyB0aGUgc3BhbiB0aGF0IGhvbGRzIHRoZSBnVExEIHNwZWNpZmljIGRhdGEgc2VjdGlvbi4gSXQgc3VwcG9ydHMgcmVhZGluZyB0aGUKKy8vIGdUTEQgc3BlY2lmaWMgZGF0YSwgYW5kIHJlcGxhY2luZyBpdC4KK3R5cGUgZGF0RmlsZSBzdHJ1Y3QgeworCS8vIGxpbmVzIGhvbGRzIHRoZSBkYXRmaWxlIGNvbnRlbnRzIHNwbGl0IGJ5ICJcbiIKKwlsaW5lcyBbXXN0cmluZworCS8vIGdUTERTcGFuIGhvbGRzIHRoZSBpbmRleGVzIHdoZXJlIHRoZSBnVExEIGRhdGEgY2FuIGJlIGZvdW5kIGluIGxpbmVzLgorCWdUTERTcGFuIGdUTEREYXRTcGFuCit9CisKK3R5cGUgZXJyU3Bhbk91dE9mQm91bmRzIHN0cnVjdCB7CisJc3BhbiAgICAgZ1RMRERhdFNwYW4KKwludW1MaW5lcyBpbnQKK30KKworZnVuYyAoZSBlcnJTcGFuT3V0T2ZCb3VuZHMpIEVycm9yKCkgc3RyaW5nIHsKKwlyZXR1cm4gZm10LlNwcmludGYoCisJCSJzcGFuIG91dCBvZiBib3VuZHM6IHN0YXJ0IGluZGV4ICVkLCBlbmQgaW5kZXggJWQsIG51bWJlciBvZiBsaW5lcyAlZCIsCisJCWUuc3Bhbi5zdGFydEluZGV4LCBlLnNwYW4uZW5kSW5kZXgsIGUubnVtTGluZXMpCit9CisKKy8vIHZhbGlkYXRlIHZhbGlkYXRlcyB0aGUgc3RhdGUgb2YgdGhlIGRhdEZpbGUuIEl0IHJldHVybnMgYW4gZXJyb3IgaWYKKy8vIHRoZSBnVExEIHNwYW4gdmFsaWRhdGUoKSByZXR1cm5zIGFuIGVycm9yLCBvciBpZiBnVExEIHNwYW4gZW5kSW5kZXggaXMgPj0gdGhlCisvLyBudW1iZXIgb2YgbGluZXMgaW4gdGhlIGZpbGUuCitmdW5jIChkIGRhdEZpbGUpIHZhbGlkYXRlKCkgZXJyb3IgeworCWlmIGVyciA6PSBkLmdUTERTcGFuLnZhbGlkYXRlKCk7IGVyciAhPSBuaWwgeworCQlyZXR1cm4gZXJyCisJfQorCWlmIGQuZ1RMRFNwYW4uZW5kSW5kZXggPj0gbGVuKGQubGluZXMpIHsKKwkJcmV0dXJuIGVyclNwYW5PdXRPZkJvdW5kc3tzcGFuOiBkLmdUTERTcGFuLCBudW1MaW5lczogbGVuKGQubGluZXMpfQorCX0KKwlyZXR1cm4gbmlsCit9CisKKy8vIGdldEdUTERMaW5lcyByZXR1cm5zIHRoZSBsaW5lcyBmcm9tIHRoZSBkYXQgZmlsZSB3aXRoaW4gdGhlIGdUTEQgZGF0YSBzcGFuLAorLy8gb3IgYW4gZXJyb3IgaWYgdGhlIHNwYW4gaXNuJ3QgdmFsaWQgZm9yIHRoZSBkYXQgZmlsZS4KK2Z1bmMgKGQgZGF0RmlsZSkgZ2V0R1RMRExpbmVzKCkgKFtdc3RyaW5nLCBlcnJvcikgeworCWlmIGVyciA6PSBkLnZhbGlkYXRlKCk7IGVyciAhPSBuaWwgeworCQlyZXR1cm4gbmlsLCBlcnIKKwl9CisJcmV0dXJuIGQubGluZXNbZC5nVExEU3Bhbi5zdGFydEluZGV4OmQuZ1RMRFNwYW4uZW5kSW5kZXhdLCBuaWwKK30KKworLy8gUmVwbGFjZUdUTERDb250ZW50IHVwZGF0ZXMgdGhlIGRhdCBmaWxlJ3MgbGluZXMgdG8gcmVwbGFjZSB0aGUgZ1RMRCBkYXRhIHNwYW4KKy8vIHdpdGggbmV3IGNvbnRlbnQuCitmdW5jIChkICpkYXRGaWxlKSBSZXBsYWNlR1RMRENvbnRlbnQoY29udGVudCBzdHJpbmcpIGVycm9yIHsKKwlpZiBlcnIgOj0gZC52YWxpZGF0ZSgpOyBlcnIgIT0gbmlsIHsKKwkJcmV0dXJuIGVycgorCX0KKworCWNvbnRlbnRMaW5lcyA6PSBzdHJpbmdzLlNwbGl0KGNvbnRlbnQsICJcbiIpCisJYmVmb3JlTGluZXMgOj0gZC5saW5lc1swOmQuZ1RMRFNwYW4uc3RhcnRJbmRleF0KKwlhZnRlckxpbmVzIDo9IGQubGluZXNbZC5nVExEU3Bhbi5lbmRJbmRleDpdCisJbmV3TGluZXMgOj0gYXBwZW5kKGJlZm9yZUxpbmVzLCBhcHBlbmQoY29udGVudExpbmVzLCBhZnRlckxpbmVzLi4uKS4uLikKKworCS8vIFVwZGF0ZSB0aGUgc3BhbiBiYXNlZCBvbiB0aGUgbmV3IGNvbnRlbnQgbGVuZ3RoCisJZC5nVExEU3Bhbi5lbmRJbmRleCA9IGxlbihiZWZvcmVMaW5lcykgKyBsZW4oY29udGVudExpbmVzKQorCS8vIGFuZCB1cGRhdGUgdGhlIGRhdGEgZmlsZSBsaW5lcworCWQubGluZXMgPSBuZXdMaW5lcworCXJldHVybiBuaWwKK30KKworLy8gU3RyaW5nIHJldHVybnMgdGhlIGRhdCBmaWxlJ3MgbGluZXMgam9pbmVkIHRvZ2V0aGVyLgorZnVuYyAoZCBkYXRGaWxlKSBTdHJpbmcoKSBzdHJpbmcgeworCXJldHVybiBzdHJpbmdzLkpvaW4oZC5saW5lcywgIlxuIikKK30KKworLy8gcmVhZERhdEZpbGUgcmVhZHMgdGhlIGNvbnRlbnRzIG9mIHRoZSBQU0wgZGF0IGZpbGUgZnJvbSB0aGUgcHJvdmlkZWQgcGF0aAorLy8gYW5kIHJldHVybnMgYSByZXByZXNlbnRhdGlvbiBob2xkaW5nIGFsbCBvZiB0aGUgbGluZXMgYW5kIHRoZSBzcGFuIHdoZXJlIHRoZSBnVExECisvLyBkYXRhIGlzIGZvdW5kIHdpdGhpbiB0aGUgZGF0IGZpbGUuIEFuIGVycm9yIGlzIHJldHVybmVkIGlmIHRoZSBmaWxlIGNhbid0IGJlIHJlYWQKKy8vIG9yIGlmIHRoZSBnVExEIGRhdGEgc3BhbiBjYW4ndCBiZSBmb3VuZCBvciBpcyBpbnZhbGlkLgorZnVuYyByZWFkRGF0RmlsZShkYXRGaWxlUGF0aCBzdHJpbmcpICgqZGF0RmlsZSwgZXJyb3IpIHsKKwlwc2xEYXRCeXRlcywgZXJyIDo9IG9zLlJlYWRGaWxlKGRhdEZpbGVQYXRoKQorCWlmIGVyciAhPSBuaWwgeworCQlyZXR1cm4gbmlsLCBlcnIKKwl9CisJcmV0dXJuIHJlYWREYXRGaWxlQ29udGVudChzdHJpbmcocHNsRGF0Qnl0ZXMpKQorfQorCitmdW5jIHJlYWREYXRGaWxlQ29udGVudChwc2xEYXRhIHN0cmluZykgKCpkYXRGaWxlLCBlcnJvcikgeworCXBzbERhdExpbmVzIDo9IHN0cmluZ3MuU3BsaXQocHNsRGF0YSwgIlxuIikKKworCWhlYWRlckluZGV4LCBmb290ZXJJbmRleCA6PSAwLCAwCisJZm9yIGkgOj0gMDsgaSA8IGxlbihwc2xEYXRMaW5lcyk7IGkrKyB7CisJCWxpbmUgOj0gcHNsRGF0TGluZXNbaV0KKworCQlpZiBsaW5lID09IFBTTF9HVExEU19TRUNUSU9OX0hFQURFUiAmJiBoZWFkZXJJbmRleCA9PSAwIHsKKwkJCS8vIElmIHRoZSBsaW5lIG1hdGNoZXMgdGhlIGhlYWRlciBhbmQgd2UgaGF2ZW4ndCBzZWVuIHRoZSBoZWFkZXIgeWV0LCBjYXB0dXJlCisJCQkvLyB0aGUgaW5kZXgKKwkJCWhlYWRlckluZGV4ID0gaQorCQl9IGVsc2UgaWYgbGluZSA9PSBQU0xfR1RMRFNfU0VDVElPTl9IRUFERVIgJiYgaGVhZGVySW5kZXggIT0gMCB7CisJCQkvLyBJZiB0aGUgbGluZSBtYXRjaGVzIHRoZSBoZWFkZXIgYW5kIHdlJ3ZlIGFscmVhZHkgc2VlbiB0aGUgaGVhZGVyIHJldHVybgorCQkJLy8gYW4gZXJyb3IuIFRoaXMgaXMgdW5leHBlY3RlZC4KKwkJCXJldHVybiBuaWwsIGVyck11bHRpcGxlSGVhZGVycworCQl9IGVsc2UgaWYgbGluZSA9PSBQU0xfR1RMRFNfU0VDVElPTl9GT09URVIgJiYgZm9vdGVySW5kZXggPT0gMCB7CisJCQkvLyBJZiB0aGUgbGluZSBtYXRjaGVzIHRoZSBmb290ZXIsIGNhcHR1cmUgdGhlIGluZGV4LiBXZSBkb24ndCBuZWVkCisJCQkvLyB0byBjb25zaWRlciB0aGUgY2FzZSB3aGVyZSB3ZSd2ZSBhbHJlYWR5IHNlZW4gYSBmb290ZXIgYmVjYXVzZSB3ZSBicmVhaworCQkJLy8gYmVsb3cgd2hlbiB3ZSBoYXZlIGJvdGggYSBoZWFkZXIgYW5kIGZvb3RlciBpbmRleC4KKwkJCWZvb3RlckluZGV4ID0gaQorCQl9CisKKwkJLy8gQnJlYWsgd2hlbiB3ZSBoYXZlIGZvdW5kIG9uZSBoZWFkZXIgYW5kIG9uZSBmb290ZXIuCisJCWlmIGhlYWRlckluZGV4ICE9IDAgJiYgZm9vdGVySW5kZXggIT0gMCB7CisJCQlicmVhaworCQl9CisJfQorCisJaWYgaGVhZGVySW5kZXggPT0gMCB7CisJCXJldHVybiBuaWwsIGVyck5vSGVhZGVyCisJfSBlbHNlIGlmIGZvb3RlckluZGV4ID09IDAgeworCQlyZXR1cm4gbmlsLCBlcnJOb0Zvb3RlcgorCX0KKworCWRhdEZpbGUgOj0gJmRhdEZpbGV7CisJCWxpbmVzOiBwc2xEYXRMaW5lcywKKwkJZ1RMRFNwYW46IGdUTEREYXRTcGFueworCQkJc3RhcnRJbmRleDogaGVhZGVySW5kZXggKyAxLAorCQkJZW5kSW5kZXg6ICAgZm9vdGVySW5kZXgsCisJCX0sCisJfQorCWlmIGVyciA6PSBkYXRGaWxlLnZhbGlkYXRlKCk7IGVyciAhPSBuaWwgeworCQlyZXR1cm4gbmlsLCBlcnIKKwl9CisKKwlyZXR1cm4gZGF0RmlsZSwgbmlsCit9CisKKy8vIGdldERhdGEgcGVyZm9ybXMgYSBIVFRQIEdFVCByZXF1ZXN0IHRvIHRoZSBnaXZlbiBVUkwgYW5kIHJldHVybnMgdGhlCisvLyByZXNwb25zZSBib2R5IGJ5dGVzIG9yIHJldHVybnMgYW4gZXJyb3IuIEFuIEhUVFAgcmVzcG9uc2UgY29kZSBvdGhlciB0aGFuCisvLyBodHRwLlN0YXR1c09LICgyMDApIGlzIGNvbnNpZGVyZWQgdG8gYmUgYW4gZXJyb3IuCitmdW5jIGdldERhdGEodXJsIHN0cmluZykgKFtdYnl0ZSwgZXJyb3IpIHsKKwlyZXNwLCBlcnIgOj0gaHR0cC5HZXQodXJsKQorCWlmIGVyciAhPSBuaWwgeworCQlyZXR1cm4gbmlsLCBlcnIKKwl9CisJZGVmZXIgcmVzcC5Cb2R5LkNsb3NlKCkKKworCWlmIHJlc3AuU3RhdHVzQ29kZSAhPSBodHRwLlN0YXR1c09LIHsKKwkJcmV0dXJuIG5pbCwgZm10LkVycm9yZigidW5leHBlY3RlZCBzdGF0dXMgY29kZSBmZXRjaGluZyBkYXRhICIrCisJCQkiZnJvbSAlcSA6IGV4cGVjdGVkIHN0YXR1cyAlZCBnb3QgJWQiLAorCQkJdXJsLCBodHRwLlN0YXR1c09LLCByZXNwLlN0YXR1c0NvZGUpCisJfQorCisJcmVzcEJvZHksIGVyciA6PSBpby5SZWFkQWxsKHJlc3AuQm9keSkKKwlpZiBlcnIgIT0gbmlsIHsKKwkJcmV0dXJuIG5pbCwgZXJyCisJfQorCXJldHVybiByZXNwQm9keSwgbmlsCit9CisKKy8vIGZpbHRlckdUTERzIHJlbW92ZXMgZW50cmllcyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSBsZWdhY3lHVExEcyBtYXAgb3IgaGF2ZQorLy8gQ29udHJhY3RUZXJtaW5hdGVkIGVxdWFsIHRvIHRydWUsIG9yIGEgbm9uLWVtcHR5IFJlbW92YWxEYXRlLgorZnVuYyBmaWx0ZXJHVExEcyhlbnRyaWVzIFtdKnBzbEVudHJ5KSBbXSpwc2xFbnRyeSB7CisJdmFyIGZpbHRlcmVkIFtdKnBzbEVudHJ5CisJZm9yIF8sIGVudHJ5IDo9IHJhbmdlIGVudHJpZXMgeworCQlpZiBfLCBpc0xlZ2FjeSA6PSBsZWdhY3lHVExEc1tlbnRyeS5BTGFiZWxdOyBpc0xlZ2FjeSB7CisJCQljb250aW51ZQorCQl9CisJCWlmIGVudHJ5LkNvbnRyYWN0VGVybWluYXRlZCB7CisJCQljb250aW51ZQorCQl9CisJCWlmIGVudHJ5LlJlbW92YWxEYXRlICE9ICIiIHsKKwkJCWNvbnRpbnVlCisJCX0KKwkJZmlsdGVyZWQgPSBhcHBlbmQoZmlsdGVyZWQsIGVudHJ5KQorCX0KKwlyZXR1cm4gZmlsdGVyZWQKK30KKworLy8gZ2V0UFNMRW50cmllcyBmZXRjaGVzIGEgbGlzdCBvZiBwc2xFbnRyeSBvYmplY3RzIChvciByZXR1cm5zIGFuIGVycm9yKSBieToKKy8vICAgMS4gZ2V0dGluZyB0aGUgcmF3IEpTT04gZGF0YSBmcm9tIHRoZSBwcm92aWRlZCB1cmwgc3RyaW5nLgorLy8gICAyLiB1bm1hcnNoYWxpbmcgdGhlIEpTT04gZGF0YSB0byBjcmVhdGUgcHNsRW50cnkgb2JqZWN0cy4KKy8vICAgMy4gbm9ybWFsaXppbmcgdGhlIHBzbEVudHJ5IG9iamVjdHMuCisvLyAgIDQuIGZpbHRlcmluZyBvdXQgYW55IGxlZ2FjeSBvciBjb250cmFjdCB0ZXJtaW5hdGVkIGdUTERzCisvLworLy8gSWYgdGhlcmUgYXJlIG5vIHBzbEVudHJ5IG9iamVjdHMgYWZ0ZXIgdW5tYXJzaGFsaW5nIHRoZSBkYXRhIGluIHN0ZXAgMiBvcgorLy8gZmlsdGVyaW5nIHRoZSBnVExEcyBpbiBzdGVwIDQgaXQgaXMgY29uc2lkZXJlZCBhbiBlcnJvciBjb25kaXRpb24uCitmdW5jIGdldFBTTEVudHJpZXModXJsIHN0cmluZykgKFtdKnBzbEVudHJ5LCBlcnJvcikgeworCXJlc3BCb2R5LCBlcnIgOj0gZ2V0RGF0YSh1cmwpCisJaWYgZXJyICE9IG5pbCB7CisJCXJldHVybiBuaWwsIGVycgorCX0KKworCXZhciByZXN1bHRzIHN0cnVjdCB7CisJCUdUTERzIFtdKnBzbEVudHJ5CisJfQorCWlmIGVyciA6PSBqc29uLlVubWFyc2hhbChyZXNwQm9keSwgJnJlc3VsdHMpOyBlcnIgIT0gbmlsIHsKKwkJcmV0dXJuIG5pbCwgZm10LkVycm9yZigKKwkJCSJ1bm1hcnNoYWxpbmcgSUNBTk4gZ1RMRCBKU09OIGRhdGE6ICV2IiwgZXJyKQorCX0KKworCS8vIFdlIGV4cGVjdCB0aGVyZSB0byBhbHdheXMgYmUgR1RMRCBkYXRhLiBJZiB0aGVyZSB3YXMgbm9uZSBhZnRlciB1bm1hcnNoYWxpbmcKKwkvLyB0aGVuIGl0cyBsaWtlbHkgdGhlIGRhdGEgZm9ybWF0IGhhcyBjaGFuZ2VkIG9yIHNvbWV0aGluZyBlbHNlIGhhcyBnb25lIHdyb25nLgorCWlmIGxlbihyZXN1bHRzLkdUTERzKSA9PSAwIHsKKwkJcmV0dXJuIG5pbCwgZXJyb3JzLk5ldygiZm91bmQgbm8gZ1RMRCBpbmZvcm1hdGlvbiBhZnRlciB1bm1hcnNoYWxpbmciKQorCX0KKworCS8vIE5vcm1hbGl6ZSBlYWNoIHRsZEVudHJ5LiBUaGlzIHdpbGwgcmVtb3ZlIGxlYWRpbmcvdHJhaWxpbmcgd2hpdGVzcGFjZSBhbmQKKwkvLyBwb3B1bGF0ZSB0aGUgVUxhYmVsIHdpdGggdGhlIEFMYWJlbCBpZiB0aGUgZW50cnkgaGFzIG5vIFVMYWJlbC4KKwlmb3IgXywgdGxkRW50cnkgOj0gcmFuZ2UgcmVzdWx0cy5HVExEcyB7CisJCXRsZEVudHJ5Lm5vcm1hbGl6ZSgpCisJfQorCisJZmlsdGVyZWQgOj0gZmlsdGVyR1RMRHMocmVzdWx0cy5HVExEcykKKwlpZiBsZW4oZmlsdGVyZWQpID09IDAgeworCQlyZXR1cm4gbmlsLCBlcnJvcnMuTmV3KAorCQkJImZvdW5kIG5vIGdUTEQgaW5mb3JtYXRpb24gYWZ0ZXIgcmVtb3ZpbmcgbGVnYWN5IGFuZCBjb250cmFjdCB0ZXJtaW5hdGVkIGdUTERzIikKKwl9CisJcmV0dXJuIGZpbHRlcmVkLCBuaWwKK30KKworLy8gcmVuZGVyVGVtcGxhdGUgcmVuZGVycyB0aGUgZ2l2ZW4gdGVtcGxhdGUgdG8gdGhlIHByb3ZpZGVkIHdyaXRlciwgdXNpbmcgdGhlCisvLyB0ZW1wbGF0ZURhdGEsIG9yIHJldHVybnMgYW4gZXJyb3IuCitmdW5jIHJlbmRlclRlbXBsYXRlKHdyaXRlciBpby5Xcml0ZXIsIHRlbXBsYXRlICp0ZW1wbGF0ZS5UZW1wbGF0ZSwgdGVtcGxhdGVEYXRhIGludGVyZmFjZXt9KSBlcnJvciB7CisJdmFyIGJ1ZiBieXRlcy5CdWZmZXIKKwlpZiBlcnIgOj0gdGVtcGxhdGUuRXhlY3V0ZSgmYnVmLCB0ZW1wbGF0ZURhdGEpOyBlcnIgIT0gbmlsIHsKKwkJcmV0dXJuIGVycgorCX0KKworCV8sIGVyciA6PSB3cml0ZXIuV3JpdGUoYnVmLkJ5dGVzKCkpCisJaWYgZXJyICE9IG5pbCB7CisJCXJldHVybiBlcnIKKwl9CisJcmV0dXJuIG5pbAorfQorCisvLyBjbG9jayBpcyBhIHNtYWxsIGludGVyZmFjZSB0aGF0IGxldHMgdXMgbW9jayB0aW1lIGluIHVuaXQgdGVzdHMuCit0eXBlIGNsb2NrIGludGVyZmFjZSB7CisJTm93KCkgdGltZS5UaW1lCit9CisKKy8vIHJlYWxDbG9jayBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBjbG9jayB0aGF0IHVzZXMgdGltZS5Ob3coKSBuYXRpdmVseS4KK3R5cGUgcmVhbENsb2NrIHN0cnVjdHt9CisKKy8vIE5vdyByZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUuVGltZSB1c2luZyB0aGUgc3lzdGVtIGNsb2NrLgorZnVuYyAoYyByZWFsQ2xvY2spIE5vdygpIHRpbWUuVGltZSB7CisJcmV0dXJuIHRpbWUuTm93KCkKK30KKworLy8gcmVuZGVySGVhZGVyIHJlbmRlcnMgdGhlIHBzbEhlYWRlclRlbXBsYXRlIHRvIHRoZSB3cml0ZXIgb3IgcmV0dXJucyBhbiBlcnJvci4gVGhlCisvLyBwcm92aWRlZCBjbG9jayBpbnN0YW5jZSBpcyB1c2VkIGZvciB0aGUgaGVhZGVyIGxhc3QgdXBkYXRlIHRpbWVzdGFtcC4gSWYgbm8KKy8vIGNsayBpbnN0YW5jZSBpcyBwcm92aWRlZCByZWFsQ2xvY2sgaXMgdXNlZC4KK2Z1bmMgcmVuZGVySGVhZGVyKHdyaXRlciBpby5Xcml0ZXIsIGNsayBjbG9jaykgZXJyb3IgeworCWlmIGNsayA9PSBuaWwgeworCQljbGsgPSAmcmVhbENsb2Nre30KKwl9CisJdGVtcGxhdGVEYXRhIDo9IHN0cnVjdCB7CisJCVVSTCAgICAgICAgc3RyaW5nCisJCURhdGUgICAgICAgdGltZS5UaW1lCisJCURhdGVGb3JtYXQgc3RyaW5nCisJfXsKKwkJVVJMOiAgICAgICAgSUNBTk5fR1RMRF9KU09OX1VSTCwKKwkJRGF0ZTogICAgICAgY2xrLk5vdygpLlVUQygpLAorCQlEYXRlRm9ybWF0OiB0aW1lLlJGQzMzMzksCisJfQorCisJcmV0dXJuIHJlbmRlclRlbXBsYXRlKHdyaXRlciwgcHNsSGVhZGVyVGVtcGxhdGUsIHRlbXBsYXRlRGF0YSkKK30KKworLy8gcmVuZGVyRGF0YSByZW5kZXJzIHRoZSBnaXZlbiBsaXN0IG9mIHBzbEVudHJ5IG9iamVjdHMgdXNpbmcgdGhlIHBzbFRlbXBsYXRlLgorLy8gVGhlIHJlbmRlcmVkIHRlbXBsYXRlIGRhdGEgaXMgd3JpdHRlbiB0byB0aGUgcHJvdmlkZWQgd3JpdGVyIG9yIGFuIGVycm9yIGlzCisvLyByZXR1cm5lZC4KK2Z1bmMgcmVuZGVyRGF0YSh3cml0ZXIgaW8uV3JpdGVyLCBlbnRyaWVzIFtdKnBzbEVudHJ5KSBlcnJvciB7CisJdGVtcGxhdGVEYXRhIDo9IHN0cnVjdCB7CisJCUVudHJpZXMgW10qcHNsRW50cnkKKwl9eworCQlFbnRyaWVzOiBlbnRyaWVzLAorCX0KKworCXJldHVybiByZW5kZXJUZW1wbGF0ZSh3cml0ZXIsIHBzbFRlbXBsYXRlLCB0ZW1wbGF0ZURhdGEpCit9CisKKy8vIFByb2Nlc3MgaGFuZGxlcyB1cGRhdGluZyBhIGRhdEZpbGUgd2l0aCBuZXcgZ1RMRCBjb250ZW50LiBJZiB0aGVyZSBhcmUgbm8KKy8vIGdUTEQgdXBkYXRlcyB0aGUgZXhpc3RpbmcgZGF0IGZpbGUncyBjb250ZW50cyB3aWxsIGJlIHJldHVybmVkLiBJZiB0aGVyZSBhcmUKKy8vIHVwZGF0ZXMsIHRoZSBuZXcgdXBkYXRlcyB3aWxsIGJlIHNwbGljZWQgaW50byBwbGFjZSBhbmQgdGhlIHVwZGF0ZWQgZmlsZSBjb250ZW50cworLy8gcmV0dXJuZWQuCitmdW5jIHByb2Nlc3MoZGF0RmlsZSAqZGF0RmlsZSwgZGF0YVVSTCBzdHJpbmcsIGNsayBjbG9jaykgKHN0cmluZywgZXJyb3IpIHsKKwkvLyBHZXQgdGhlIGxpbmVzIGZvciB0aGUgZ1RMRCBkYXRhIHNwYW4gLSB0aGlzIGluY2x1ZGVzIGJvdGggdGhlIGhlYWRlciB3aXRoIHRoZQorCS8vIGRhdGUgYW5kIHRoZSBhY3R1YWwgZ1RMRCBlbnRyaWVzLgorCXNwYW5MaW5lcywgZXJyIDo9IGRhdEZpbGUuZ2V0R1RMRExpbmVzKCkKKwlpZiBlcnIgIT0gbmlsIHsKKwkJcmV0dXJuICIiLCBlcnIKKwl9CisKKwkvLyBSZW5kZXIgYSBuZXcgaGVhZGVyIGZvciB0aGUgZ1RMRCBkYXRhLgorCXZhciBuZXdIZWFkZXJCdWYgc3RyaW5ncy5CdWlsZGVyCisJaWYgZXJyIDo9IHJlbmRlckhlYWRlcigmbmV3SGVhZGVyQnVmLCBjbGspOyBlcnIgIT0gbmlsIHsKKwkJcmV0dXJuICIiLCBlcnIKKwl9CisKKwkvLyBGaWd1cmUgb3V0IGhvdyBtYW55IGxpbmVzIHRoZSBoZWFkZXIgd2l0aCB0aGUgZHluYW1pYyBkYXRlIGlzLgorCW5ld0hlYWRlckxpbmVzIDo9IHN0cmluZ3MuU3BsaXQobmV3SGVhZGVyQnVmLlN0cmluZygpLCAiXG4iKQorCWhlYWRlckxlbiA6PSBsZW4obmV3SGVhZGVyTGluZXMpCisKKwkvLyBXZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCB0aGF0IG1hbnkgbGluZXMgaW4gdGhlIGV4aXN0aW5nIHNwYW4gZGF0YS4KKwlpZiBsZW4oc3BhbkxpbmVzKSA8PSBoZWFkZXJMZW4geworCQlyZXR1cm4gIiIsIGVycm9ycy5OZXcoImd0bGQgc3BhbiBkYXRhIHdhcyB0b28gc21hbGwsIG1pc3NpbmcgaGVhZGVyPyIpCisJfQorCisJLy8gVGhlIGdUTEQgZGF0YSBjYW4gYmUgZm91bmQgYnkgc2tpcHBpbmcgdGhlIGhlYWRlciBsaW5lcworCWV4aXN0aW5nRGF0YSA6PSBzdHJpbmdzLkpvaW4oc3BhbkxpbmVzW2hlYWRlckxlbjpdLCAiXG4iKQorCisJLy8gRmV0Y2ggbmV3IFBTTCBlbnRyaWVzLgorCWVudHJpZXMsIGVyciA6PSBnZXRQU0xFbnRyaWVzKGRhdGFVUkwpCisJaWYgZXJyICE9IG5pbCB7CisJCXJldHVybiAiIiwgZXJyCisJfQorCisJLy8gUmVuZGVyIHRoZSBuZXcgZ1RMRCBQU0wgc2VjdGlvbiB3aXRoIHRoZSBuZXcgZW50cmllcy4KKwl2YXIgbmV3RGF0YUJ1ZiBzdHJpbmdzLkJ1aWxkZXIKKwlpZiBlcnIgOj0gcmVuZGVyRGF0YSgmbmV3RGF0YUJ1ZiwgZW50cmllcyk7IGVyciAhPSBuaWwgeworCQlyZXR1cm4gIiIsIGVycgorCX0KKworCS8vIElmIHRoZSBuZXdseSByZW5kZXJlZCBkYXRhIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4aXN0aW5nIGRhdGEgdGhlbiB3ZSB3YW50IHRvCisJLy8gdXBkYXRlIHRoZSBkYXQgZmlsZSBjb250ZW50IGJ5IHJlcGxhY2luZyB0aGUgb2xkIHNwYW4gd2l0aCB0aGUgbmV3IGNvbnRlbnQuCisJaWYgbmV3RGF0YUJ1Zi5TdHJpbmcoKSAhPSBleGlzdGluZ0RhdGEgeworCQluZXdDb250ZW50IDo9IG5ld0hlYWRlckJ1Zi5TdHJpbmcoKSArICJcbiIgKyBuZXdEYXRhQnVmLlN0cmluZygpCisJCWlmIGVyciA6PSBkYXRGaWxlLlJlcGxhY2VHVExEQ29udGVudChuZXdDb250ZW50KTsgZXJyICE9IG5pbCB7CisJCQlyZXR1cm4gIiIsIGVycgorCQl9CisJfQorCisJcmV0dXJuIGRhdEZpbGUuU3RyaW5nKCksIG5pbAorfQorCitmdW5jIG1haW4oKSB7CisJaWZFcnJRdWl0IDo9IGZ1bmMoZXJyIGVycm9yKSB7CisJCWlmIGVyciAhPSBuaWwgeworCQkJZm10LkZwcmludGYob3MuU3RkZXJyLCAiZXJyb3IgdXBkYXRpbmcgZ1RMRCBkYXRhOiAldlxuIiwgZXJyKQorCQkJb3MuRXhpdCgxKQorCQl9CisJfQorCisJcHNsRGF0RmlsZSA6PSBmbGFnLlN0cmluZygKKwkJInBzbC1kYXQtZmlsZSIsCisJCSJwdWJsaWNfc3VmZml4X2xpc3QuZGF0IiwKKwkJImZpbGUgcGF0aCB0byB0aGUgcHVibGljX3N1ZmZpeF9saXN0LmRhdCBkYXRhIGZpbGUgdG8gYmUgdXBkYXRlZCB3aXRoIG5ldyBnVExEcyIpCisKKwlvdmVyd3JpdGUgOj0gZmxhZy5Cb29sKAorCQkib3ZlcndyaXRlIiwKKwkJZmFsc2UsCisJCSJvdmVyd3JpdGUgLXBzbC1kYXQtZmlsZSB3aXRoIHRoZSBuZXcgZGF0YSBpbnN0ZWFkIG9mIHByaW50aW5nIHRvIHN0ZG91dCIpCisKKwkvLyBQYXJzZSBDTEkgZmxhZ3MuCisJZmxhZy5QYXJzZSgpCisKKwkvLyBSZWFkIHRoZSBleGlzdGluZyBmaWxlIGNvbnRlbnQgYW5kIGZpbmQgdGhlIHNwYW4gdGhhdCBjb250YWlucyB0aGUgZ1RMRCBkYXRhLgorCWRhdEZpbGUsIGVyciA6PSByZWFkRGF0RmlsZSgqcHNsRGF0RmlsZSkKKwlpZkVyclF1aXQoZXJyKQorCisJLy8gUHJvY2VzcyB0aGUgZGF0IGZpbGUuCisJY29udGVudCwgZXJyIDo9IHByb2Nlc3MoZGF0RmlsZSwgSUNBTk5fR1RMRF9KU09OX1VSTCwgbmlsKQorCWlmRXJyUXVpdChlcnIpCisKKwkvLyBJZiB3ZSdyZSBub3Qgb3ZlcndyaXRpbmcgdGhlIGZpbGUsIHByaW50IHRoZSBjb250ZW50IHRvIHN0ZG91dC4KKwlpZiAhKm92ZXJ3cml0ZSB7CisJCWZtdC5QcmludGxuKGNvbnRlbnQpCisJCW9zLkV4aXQoMCkKKwl9CisKKwkvLyBPdGhlcndpc2UgcHJpbnQgbm90aGluZyB0byBzdGRvdXQgYW5kIHdyaXRlIHRoZSBjb250ZW50IG92ZXIgdGhlIGV4aXRpbmcKKwkvLyBwc2xEYXRGaWxlIHBhdGggd2UgcmVhZCBlYXJsaWVyLgorCWVyciA9IG9zLldyaXRlRmlsZSgqcHNsRGF0RmlsZSwgW11ieXRlKGNvbnRlbnQpLCAwNjQ0KQorCWlmRXJyUXVpdChlcnIpCit9CmRpZmYgLS1naXQgYS90b29scy9uZXdndGxkc190ZXN0LmdvIGIvdG9vbHMvbmV3Z3RsZHNfdGVzdC5nbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTQxN2MyCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvbmV3Z3RsZHNfdGVzdC5nbwpAQCAtMCwwICsxLDgwNyBAQAorcGFja2FnZSBtYWluCisKK2ltcG9ydCAoCisJImJ5dGVzIgorCSJlbmNvZGluZy9qc29uIgorCSJmbXQiCisJImlvIgorCSJuZXQvaHR0cCIKKwkibmV0L2h0dHAvaHR0cHRlc3QiCisJIm9zIgorCSJyZWZsZWN0IgorCSJzdHJpbmdzIgorCSJ0ZXN0aW5nIgorCSJ0aW1lIgorKQorCitmdW5jIFRlc3RFbnRyeU5vcm1hbGl6ZSh0ICp0ZXN0aW5nLlQpIHsKKwl0ZXN0Q2FzZXMgOj0gW11zdHJ1Y3QgeworCQluYW1lICAgICAgICAgIHN0cmluZworCQlpbnB1dEVudHJ5ICAgIHBzbEVudHJ5CisJCWV4cGVjdGVkRW50cnkgcHNsRW50cnkKKwl9eworCQl7CisJCQluYW1lOiAiYWxyZWFkeSBub3JtYWxpemVkIiwKKwkJCWlucHV0RW50cnk6IHBzbEVudHJ5eworCQkJCUFMYWJlbDogICAgICAgICAgICAgICAgICAiY3B1IiwKKwkJCQlVTGFiZWw6ICAgICAgICAgICAgICAgICAgIu+9g++9kO+9lSIsCisJCQkJRGF0ZU9mQ29udHJhY3RTaWduYXR1cmU6ICIyMDE5LTA2LTEzIiwKKwkJCQlSZWdpc3RyeU9wZXJhdG9yOiAgICAgICAgIkBjcHUncyBiYXJnYWluIGdUTEQgZW1wb3JpdW0iLAorCQkJfSwKKwkJCWV4cGVjdGVkRW50cnk6IHBzbEVudHJ5eworCQkJCUFMYWJlbDogICAgICAgICAgICAgICAgICAiY3B1IiwKKwkJCQlVTGFiZWw6ICAgICAgICAgICAgICAgICAgIu+9g++9kO+9lSIsCisJCQkJRGF0ZU9mQ29udHJhY3RTaWduYXR1cmU6ICIyMDE5LTA2LTEzIiwKKwkJCQlSZWdpc3RyeU9wZXJhdG9yOiAgICAgICAgIkBjcHUncyBiYXJnYWluIGdUTEQgZW1wb3JpdW0iLAorCQkJfSwKKwkJfSwKKwkJeworCQkJbmFtZTogImV4dHJhIHdoaXRlc3BhY2UiLAorCQkJaW5wdXRFbnRyeTogcHNsRW50cnl7CisJCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICIgIGNwdSAgICAiLAorCQkJCVVMYWJlbDogICAgICAgICAgICAgICAgICAiICAg772D772Q772VICAgIiwKKwkJCQlEYXRlT2ZDb250cmFjdFNpZ25hdHVyZTogIiAgIDIwMTktMDYtMTMgICAgIiwKKwkJCQlSZWdpc3RyeU9wZXJhdG9yOiAiICAgICBAY3B1J3MgYmFyZ2FpbiBnVExEIGVtcG9yaXVtICIgKworCQkJCQkiKG5vdyB3aXRoIGJvbnVzIHdoaXRlc3BhY2UpICAgICIsCisJCQl9LAorCQkJZXhwZWN0ZWRFbnRyeTogcHNsRW50cnl7CisJCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICJjcHUiLAorCQkJCVVMYWJlbDogICAgICAgICAgICAgICAgICAi772D772Q772VIiwKKwkJCQlEYXRlT2ZDb250cmFjdFNpZ25hdHVyZTogIjIwMTktMDYtMTMiLAorCQkJCVJlZ2lzdHJ5T3BlcmF0b3I6ICJAY3B1J3MgYmFyZ2FpbiBnVExEIGVtcG9yaXVtICIgKworCQkJCQkiKG5vdyB3aXRoIGJvbnVzIHdoaXRlc3BhY2UpIiwKKwkJCX0sCisJCX0sCisJCXsKKwkJCW5hbWU6ICJubyBleHBsaWNpdCB1TGFiZWwiLAorCQkJaW5wdXRFbnRyeTogcHNsRW50cnl7CisJCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICJjcHUiLAorCQkJCURhdGVPZkNvbnRyYWN0U2lnbmF0dXJlOiAiMjAxOS0wNi0xMyIsCisJCQkJUmVnaXN0cnlPcGVyYXRvcjogICAgICAgICJAY3B1J3MgYmFyZ2FpbiBnVExEIGVtcG9yaXVtIiwKKwkJCX0sCisJCQlleHBlY3RlZEVudHJ5OiBwc2xFbnRyeXsKKwkJCQlBTGFiZWw6ICAgICAgICAgICAgICAgICAgImNwdSIsCisJCQkJVUxhYmVsOiAgICAgICAgICAgICAgICAgICJjcHUiLAorCQkJCURhdGVPZkNvbnRyYWN0U2lnbmF0dXJlOiAiMjAxOS0wNi0xMyIsCisJCQkJUmVnaXN0cnlPcGVyYXRvcjogICAgICAgICJAY3B1J3MgYmFyZ2FpbiBnVExEIGVtcG9yaXVtIiwKKwkJCX0sCisJCX0sCisJfQorCisJZm9yIF8sIHRjIDo9IHJhbmdlIHRlc3RDYXNlcyB7CisJCXQuUnVuKHRjLm5hbWUsIGZ1bmModCAqdGVzdGluZy5UKSB7CisJCQllbnRyeSA6PSAmdGMuaW5wdXRFbnRyeQorCQkJZW50cnkubm9ybWFsaXplKCkKKwkJCWlmIGRlZXBFcXVhbCA6PSByZWZsZWN0LkRlZXBFcXVhbCgqZW50cnksIHRjLmV4cGVjdGVkRW50cnkpOyAhZGVlcEVxdWFsIHsKKwkJCQl0LkVycm9yZigiZW50cnkgZGlkIG5vdCBtYXRjaCBleHBlY3RlZCBhZnRlciBub3JtYWxpemF0aW9uLiAldiB2cyAldiIsCisJCQkJCSplbnRyeSwgdGMuZXhwZWN0ZWRFbnRyeSkKKwkJCX0KKwkJfSkKKwl9Cit9CisKK2Z1bmMgVGVzdEVudHJ5Q29tbWVudCh0ICp0ZXN0aW5nLlQpIHsKKwl0ZXN0Q2FzZXMgOj0gW11zdHJ1Y3QgeworCQluYW1lICAgICBzdHJpbmcKKwkJZW50cnkgICAgcHNsRW50cnkKKwkJZXhwZWN0ZWQgc3RyaW5nCisJfXsKKwkJeworCQkJbmFtZTogIkZ1bGwgZW50cnkiLAorCQkJZW50cnk6IHBzbEVudHJ5eworCQkJCUFMYWJlbDogICAgICAgICAgICAgICAgICAiY3B1IiwKKwkJCQlEYXRlT2ZDb250cmFjdFNpZ25hdHVyZTogIjIwMTktMDYtMTMiLAorCQkJCVJlZ2lzdHJ5T3BlcmF0b3I6ICAgICAgICAiQGNwdSdzIGJhcmdhaW4gZ1RMRCBlbXBvcml1bSIsCisJCQl9LAorCQkJZXhwZWN0ZWQ6ICIvLyBjcHUgOiAyMDE5LTA2LTEzIEBjcHUncyBiYXJnYWluIGdUTEQgZW1wb3JpdW0iLAorCQl9LAorCQl7CisJCQluYW1lOiAiRW50cnkgd2l0aCBlbXB0eSBjb250cmFjdCBzaWduYXR1cmUgZGF0ZSBhbmQgb3BlcmF0b3IiLAorCQkJZW50cnk6IHBzbEVudHJ5eworCQkJCUFMYWJlbDogImNwdSIsCisJCQl9LAorCQkJZXhwZWN0ZWQ6ICIvLyBjcHUgOiAiLAorCQl9LAorCQl7CisJCQluYW1lOiAiRW50cnkgd2l0aCBlbXB0eSBjb250cmFjdCBzaWduYXR1cmUgYW5kIG5vbi1lbXB0eSBvcGVyYXRvciIsCisJCQllbnRyeTogcHNsRW50cnl7CisJCQkJQUxhYmVsOiAgICAgICAgICAgImNwdSIsCisJCQkJUmVnaXN0cnlPcGVyYXRvcjogIkBjcHUncyBiYXJnYWluIGdUTEQgZW1wb3JpdW0iLAorCQkJfSwKKwkJCWV4cGVjdGVkOiAiLy8gY3B1IDogIEBjcHUncyBiYXJnYWluIGdUTEQgZW1wb3JpdW0iLAorCQl9LAorCX0KKworCWZvciBfLCB0YyA6PSByYW5nZSB0ZXN0Q2FzZXMgeworCQl0LlJ1bih0Yy5uYW1lLCBmdW5jKHQgKnRlc3RpbmcuVCkgeworCQkJaWYgYWN0dWFsIDo9IHRjLmVudHJ5LkNvbW1lbnQoKTsgYWN0dWFsICE9IHRjLmV4cGVjdGVkIHsKKwkJCQl0LkVycm9yZigiZW50cnkgJXYgQ29tbWVudCgpID09ICVxIGV4cGVjdGVkID09ICVxIiwKKwkJCQkJdGMuZW50cnksIGFjdHVhbCwgdGMuZXhwZWN0ZWQpCisJCQl9CisJCX0pCisJfQorfQorCit0eXBlIGJhZFN0YXR1c0hhbmRsZXIgc3RydWN0e30KKworZnVuYyAoaCAqYmFkU3RhdHVzSGFuZGxlcikgU2VydmVIVFRQKHcgaHR0cC5SZXNwb25zZVdyaXRlciwgXyAqaHR0cC5SZXF1ZXN0KSB7CisJdy5Xcml0ZUhlYWRlcihodHRwLlN0YXR1c1VuYXZhaWxhYmxlRm9yTGVnYWxSZWFzb25zKQorCV8sIF8gPSB3LldyaXRlKFtdYnl0ZSgic29ycnkiKSkKK30KKworZnVuYyBUZXN0R2V0RGF0YSh0ICp0ZXN0aW5nLlQpIHsKKwloYW5kbGVyIDo9ICZiYWRTdGF0dXNIYW5kbGVye30KKwlzZXJ2ZXIgOj0gaHR0cHRlc3QuTmV3U2VydmVyKGhhbmRsZXIpCisJZGVmZXIgc2VydmVyLkNsb3NlKCkKKworCS8vIE5PVEU6IFRlc3RHZXREYXRhIG9ubHkgdGVzdHMgdGhlIGhhbmRsaW5nIG9mIG5vbi0yMDAgc3RhdHVzIGNvZGVzIGluCisJLy8gZ2V0RGF0YSBhcyBhbnl0aGluZyBlbHNlIGlzIGp1c3QgdGVzdGluZyBzdGRsaWIgY29kZS4KKwlyZXNwLCBlcnIgOj0gZ2V0RGF0YShzZXJ2ZXIuVVJMKQorCWlmIGVyciA9PSBuaWwgeworCQl0LkVycm9yKCJleHBlY3RlZCBnZXREYXRhKCkgdG8gYSBiYWQgc3RhdHVzIGhhbmRsZXIgc2VydmVyIHRvIHJldHVybiBhbiAiICsKKwkJCSJlcnJvciwgZ290IG5pbCIpCisJfQorCWlmIHJlc3AgIT0gbmlsIHsKKwkJdC5FcnJvcmYoImV4cGVjdGVkIGdldERhdGEoKSB0byBhIGJhZCBzdGF0dXMgaGFuZGxlciBzZXJ2ZXIgdG8gcmV0dXJuIGEgIisKKwkJCSJuaWwgcmVzcG9uc2UgYm9keSBieXRlIHNsaWNlLCBnb3Q6ICV2IiwKKwkJCXJlc3ApCisJfQorfQorCit0eXBlIG1vY2tIYW5kbGVyIHN0cnVjdCB7CisJcmVzcERhdGEgW11ieXRlCit9CisKK2Z1bmMgKGggKm1vY2tIYW5kbGVyKSBTZXJ2ZUhUVFAodyBodHRwLlJlc3BvbnNlV3JpdGVyLCBfICpodHRwLlJlcXVlc3QpIHsKKwlfLCBfID0gdy5Xcml0ZShoLnJlc3BEYXRhKQorfQorCitmdW5jIFRlc3RHZXRQU0xFbnRyaWVzKHQgKnRlc3RpbmcuVCkgeworCW1vY2tEYXRhIDo9IHN0cnVjdCB7CisJCUdUTERzIFtdcHNsRW50cnkKKwl9eworCQlHVExEczogW11wc2xFbnRyeXsKKwkJCXsKKwkJCQlBTGFiZWw6ICAgICAgICAgICAgICAgICAgImNlZXBlZXlvdSIsCisJCQkJRGF0ZU9mQ29udHJhY3RTaWduYXR1cmU6ICIyMDk5LTA2LTEzIiwKKwkJCQlSZWdpc3RyeU9wZXJhdG9yOiAgICAgICAgIkBjcHUncyBiYXJnYWluIGdUTEQgZW1wb3JpdW0iLAorCQkJfSwKKwkJCXsKKwkJCQkvLyBOT1RFOiB3ZSBpbmNsdWRlIHdoaXRlc3BhY2UgaW4gdGhpcyBlbnRyeSB0byB0ZXN0IHRoYXQgbm9ybWFsaXphdGlvbgorCQkJCS8vIG9jY3Vycy4KKwkJCQlBTGFiZWw6ICAgICAgICAgICAgICAgICAgIiAgY3B1ICAgICIsCisJCQkJVUxhYmVsOiAgICAgICAgICAgICAgICAgICIgICDvvYPvvZDvvZUgICAiLAorCQkJCURhdGVPZkNvbnRyYWN0U2lnbmF0dXJlOiAiICAgMjAxOS0wNi0xMyAgICAiLAorCQkJCVJlZ2lzdHJ5T3BlcmF0b3I6ICIgICAgIEBjcHUncyBiYXJnYWluIGdUTEQgZW1wb3JpdW0gIiArCisJCQkJCSIobm93IHdpdGggYm9udXMgd2hpdGVzcGFjZSkgICAgIiwKKwkJCX0sCisJCQl7CisJCQkJLy8gTk9URTogd2UgaW5jbHVkZSBhIGxlZ2FjeSBnVExEIGhlcmUgdG8gdGVzdCB0aGF0IGZpbHRlcmluZyBvZiBsZWdhY3kKKwkJCQkvLyBnVExEcyBvY2N1cnMuCisJCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICJhZXJvIiwKKwkJCQlEYXRlT2ZDb250cmFjdFNpZ25hdHVyZTogIjE5OTktMTAtMzEiLAorCQkJCVJlZ2lzdHJ5T3BlcmF0b3I6ICAgICAgICAiRGVwYXJ0bWVudCBvZiBIaXN0b3JpY2FsIEJhZ2dhZ2UgYW5kIFRlY2huaWNhbCBEZWJ0IiwKKwkJCX0sCisJCQl7CisJCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICJ0ZXJtaW5hdGVkIiwKKwkJCQlEYXRlT2ZDb250cmFjdFNpZ25hdHVyZTogIjE5ODctMTAtMzEiLAorCQkJCS8vIE5PVEU6IHdlIGluY2x1ZGUgYSBjb250cmFjdCB0ZXJtaW5hdGVkID0gdHJ1ZSBlbnRyeSBoZXJlIHRvIHRlc3QgdGhhdAorCQkJCS8vIGZpbHRlcmluZyBvZiB0ZXJtaW5hdGVkIGVudHJpZXMgb2NjdXJzLgorCQkJCUNvbnRyYWN0VGVybWluYXRlZDogdHJ1ZSwKKwkJCX0sCisJCX0sCisJfQorCS8vIE5PVEU6IHN3YWxsb3dpbmcgdGhlIHBvc3NpYmxlIGVyciByZXR1cm4gaGVyZSBiZWNhdXNlIHRoZSBtb2NrIGRhdGEgaXMKKwkvLyBhc3N1bWVkIHRvIGJlIHN0YXRpYy9jb3JyZWN0IGFuZCBpdCBzaW1wbGlmaWVzIHRoZSBoYW5kbGVyLgorCWpzb25CeXRlcywgXyA6PSBqc29uLk1hcnNoYWwobW9ja0RhdGEpCisKKwlleHBlY3RlZEVudHJpZXMgOj0gW11wc2xFbnRyeXsKKwkJeworCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICJjZWVwZWV5b3UiLAorCQkJVUxhYmVsOiAgICAgICAgICAgICAgICAgICJjZWVwZWV5b3UiLAorCQkJRGF0ZU9mQ29udHJhY3RTaWduYXR1cmU6ICIyMDk5LTA2LTEzIiwKKwkJCVJlZ2lzdHJ5T3BlcmF0b3I6ICAgICAgICAiQGNwdSdzIGJhcmdhaW4gZ1RMRCBlbXBvcml1bSIsCisJCX0sCisJCXsKKwkJCUFMYWJlbDogICAgICAgICAgICAgICAgICAiY3B1IiwKKwkJCVVMYWJlbDogICAgICAgICAgICAgICAgICAi772D772Q772VIiwKKwkJCURhdGVPZkNvbnRyYWN0U2lnbmF0dXJlOiAiMjAxOS0wNi0xMyIsCisJCQlSZWdpc3RyeU9wZXJhdG9yOiAiQGNwdSdzIGJhcmdhaW4gZ1RMRCBlbXBvcml1bSAiICsKKwkJCQkiKG5vdyB3aXRoIGJvbnVzIHdoaXRlc3BhY2UpIiwKKwkJfSwKKwl9CisKKwloYW5kbGVyIDo9ICZtb2NrSGFuZGxlcntqc29uQnl0ZXN9CisJc2VydmVyIDo9IGh0dHB0ZXN0Lk5ld1NlcnZlcihoYW5kbGVyKQorCWRlZmVyIHNlcnZlci5DbG9zZSgpCisKKwllbnRyaWVzLCBlcnIgOj0gZ2V0UFNMRW50cmllcyhzZXJ2ZXIuVVJMKQorCWlmIGVyciAhPSBuaWwgeworCQl0LkZhdGFsZigiZXhwZWN0ZWQgbm8gZXJyb3IgZnJvbSBnZXRQU0xFbnRyaWVzIHdpdGggbW9ja0hhbmRsZXIuIEdvdCAldiIsCisJCQllcnIpCisJfQorCisJaWYgbGVuKGVudHJpZXMpICE9IGxlbihleHBlY3RlZEVudHJpZXMpIHsKKwkJdC5GYXRhbGYoImV4cGVjdGVkICVkIGVudHJpZXMgZnJvbSBnZXRQU0xFbnRyaWVzIHdpdGggbW9ja0hhbmRsZXIuIEdvdCAlZCIsCisJCQlsZW4oZXhwZWN0ZWRFbnRyaWVzKSwKKwkJCWxlbihlbnRyaWVzKSkKKwl9CisKKwlmb3IgaSwgZW50cnkgOj0gcmFuZ2UgZW50cmllcyB7CisJCWlmIGRlZXBFcXVhbCA6PSByZWZsZWN0LkRlZXBFcXVhbCgqZW50cnksIGV4cGVjdGVkRW50cmllc1tpXSk7ICFkZWVwRXF1YWwgeworCQkJdC5FcnJvcmYoImdldFBTTEVudHJpZXMoKSBlbnRyeSBpbmRleCAlZCB3YXMgJSN2LCBleHBlY3RlZCAlI3YiLAorCQkJCWksCisJCQkJKmVudHJ5LAorCQkJCWV4cGVjdGVkRW50cmllc1tpXSkKKwkJfQorCX0KK30KKworZnVuYyBUZXN0R2V0UFNMRW50cmllc0VtcHR5UmVzdWx0cyh0ICp0ZXN0aW5nLlQpIHsKKwkvLyBNb2NrIGFuIGVtcHR5IHJlc3VsdAorCW1vY2tEYXRhIDo9IHN0cnVjdCB7CisJCUdUTERzIFtdcHNsRW50cnkKKwl9e30KKworCS8vIE5PVEU6IHN3YWxsb3dpbmcgdGhlIHBvc3NpYmxlIGVyciByZXR1cm4gaGVyZSBiZWNhdXNlIHRoZSBtb2NrIGRhdGEgaXMKKwkvLyBhc3N1bWVkIHRvIGJlIHN0YXRpYy9jb3JyZWN0IGFuZCBpdCBzaW1wbGlmaWVzIHRoZSBoYW5kbGVyLgorCWpzb25CeXRlcywgXyA6PSBqc29uLk1hcnNoYWwobW9ja0RhdGEpCisKKwloYW5kbGVyIDo9ICZtb2NrSGFuZGxlcntqc29uQnl0ZXN9CisJc2VydmVyIDo9IGh0dHB0ZXN0Lk5ld1NlcnZlcihoYW5kbGVyKQorCWRlZmVyIHNlcnZlci5DbG9zZSgpCisKKwlfLCBlcnIgOj0gZ2V0UFNMRW50cmllcyhzZXJ2ZXIuVVJMKQorCWlmIGVyciA9PSBuaWwgeworCQl0LkVycm9yKCJleHBlY3RlZCBlcnJvciBmcm9tIGdldFBTTEVudHJpZXMgd2l0aCBlbXB0eSByZXN1bHRzIG1vY2tIYW5kbGVyLiBHb3QgbmlsIikKKwl9Cit9CisKK2Z1bmMgVGVzdEdldFBTTEVudHJpZXNFbXB0eUZpbHRlcmVkUmVzdWx0cyh0ICp0ZXN0aW5nLlQpIHsKKwkvLyBNb2NrIGRhdGEgdGhhdCB3aWxsIGJlIGZpbHRlcmVkIHRvIGFuIGVtcHR5IGxpc3QKKwltb2NrRGF0YSA6PSBzdHJ1Y3QgeworCQlHVExEcyBbXXBzbEVudHJ5CisJfXsKKwkJR1RMRHM6IFtdcHNsRW50cnl7CisJCQl7CisJCQkJLy8gTk9URTogR1RMRCBtYXRjaGVzIGEgbGVnYWN5R1RMRHMgbWFwIGVudHJ5IHRvIGVuc3VyZSBmaWx0ZXJpbmcuCisJCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICJhZXJvIiwKKwkJCQlEYXRlT2ZDb250cmFjdFNpZ25hdHVyZTogIjE5OTktMTAtMzEiLAorCQkJCVJlZ2lzdHJ5T3BlcmF0b3I6ICAgICAgICAiRGVwYXJ0bWVudCBvZiBIaXN0b3JpY2FsIEJhZ2dhZ2UgYW5kIFRlY2huaWNhbCBEZWJ0IiwKKwkJCX0sCisJCQl7CisJCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICJ0ZXJtaW5hdGVkIiwKKwkJCQlEYXRlT2ZDb250cmFjdFNpZ25hdHVyZTogIjE5ODctMTAtMzEiLAorCQkJCS8vIE5PVEU6IFNldHRpbmcgQ29udHJhY3RUZXJtaW5hdGVkIHRvIGVuc3VyZSBmaWx0ZXJpbmcuCisJCQkJQ29udHJhY3RUZXJtaW5hdGVkOiB0cnVlLAorCQkJfSwKKwkJCXsKKwkJCQlBTGFiZWw6ICAgICAgICAgICAgICAgICAgInJlbW92ZWQiLAorCQkJCURhdGVPZkNvbnRyYWN0U2lnbmF0dXJlOiAiMTk5OS0xMC0zMSIsCisJCQkJUmVnaXN0cnlPcGVyYXRvcjogICAgICAgICJEZXBhcnRtZW50IG9mIEhpc3RvcmljYWwgQmFnZ2FnZSBhbmQgVGVjaG5pY2FsIERlYnQiLAorCQkJCVJlbW92YWxEYXRlOiAgICAgICAgICAgICAiMjAxOS0wOC0wNiIsCisJCQl9LAorCQl9LAorCX0KKworCS8vIE5PVEU6IHN3YWxsb3dpbmcgdGhlIHBvc3NpYmxlIGVyciByZXR1cm4gaGVyZSBiZWNhdXNlIHRoZSBtb2NrIGRhdGEgaXMKKwkvLyBhc3N1bWVkIHRvIGJlIHN0YXRpYy9jb3JyZWN0IGFuZCBpdCBzaW1wbGlmaWVzIHRoZSBoYW5kbGVyLgorCWpzb25CeXRlcywgXyA6PSBqc29uLk1hcnNoYWwobW9ja0RhdGEpCisKKwloYW5kbGVyIDo9ICZtb2NrSGFuZGxlcntqc29uQnl0ZXN9CisJc2VydmVyIDo9IGh0dHB0ZXN0Lk5ld1NlcnZlcihoYW5kbGVyKQorCWRlZmVyIHNlcnZlci5DbG9zZSgpCisKKwlfLCBlcnIgOj0gZ2V0UFNMRW50cmllcyhzZXJ2ZXIuVVJMKQorCWlmIGVyciA9PSBuaWwgeworCQl0LkVycm9yKCJleHBlY3RlZCBlcnJvciBmcm9tIGdldFBTTEVudHJpZXMgd2l0aCBlbXB0eSBmaWx0ZXJlZCByZXN1bHRzIG1vY2tIYW5kbGVyLiBHb3QgbmlsIikKKwl9Cit9CisKK2Z1bmMgVGVzdFJlbmRlckRhdGEodCAqdGVzdGluZy5UKSB7CisJZW50cmllcyA6PSBbXSpwc2xFbnRyeXsKKwkJeworCQkJQUxhYmVsOiAgICAgICAgICAgICAgICAgICJjZWVwZWV5b3UiLAorCQkJVUxhYmVsOiAgICAgICAgICAgICAgICAgICJjZWVwZWV5b3UiLAorCQkJRGF0ZU9mQ29udHJhY3RTaWduYXR1cmU6ICIyMDk5LTA2LTEzIiwKKwkJCVJlZ2lzdHJ5T3BlcmF0b3I6ICAgICAgICAiQGNwdSdzIGJhcmdhaW4gZ1RMRCBlbXBvcml1bSIsCisJCX0sCisJCXsKKwkJCUFMYWJlbDogICAgICAgICAgICAgICAgICAiY3B1IiwKKwkJCVVMYWJlbDogICAgICAgICAgICAgICAgICAi772D772Q772VIiwKKwkJCURhdGVPZkNvbnRyYWN0U2lnbmF0dXJlOiAiMjAxOS0wNi0xMyIsCisJCX0sCisJfQorCisJZXhwZWN0ZWRMaXN0IDo9IGAvLyBjZWVwZWV5b3UgOiAyMDk5LTA2LTEzIEBjcHUncyBiYXJnYWluIGdUTEQgZW1wb3JpdW0KK2NlZXBlZXlvdQorCisvLyBjcHUgOiAyMDE5LTA2LTEzCivvvYPvvZDvvZUKKworYAorCisJdmFyIGJ1ZiBieXRlcy5CdWZmZXIKKwlpZiBlcnIgOj0gcmVuZGVyRGF0YShpby5Xcml0ZXIoJmJ1ZiksIGVudHJpZXMpOyBlcnIgIT0gbmlsIHsKKwkJdC5GYXRhbGYoInVuZXhwZWN0ZWQgZXJyb3IgZnJvbSByZW5kZXJEYXRhOiAldiIsIGVycikKKwl9CisKKwlpZiByZW5kZXJlZCA6PSBidWYuU3RyaW5nKCk7IHJlbmRlcmVkICE9IGV4cGVjdGVkTGlzdCB7CisJCXQuRXJyb3JmKCJleHBlY3RlZCByZW5kZXJlZCBsaXN0IGNvbnRlbnQgJXEsIGdvdCAlcSIsCisJCQlleHBlY3RlZExpc3QsIHJlbmRlcmVkKQorCX0KK30KKworZnVuYyBUZXN0RXJySW52ZXJ0ZWRTcGFuKHQgKnRlc3RpbmcuVCkgeworCWVyciA6PSBlcnJJbnZlcnRlZFNwYW57Z1RMRERhdFNwYW57c3RhcnRJbmRleDogNTAsIGVuZEluZGV4OiAxMH19CisJZXhwZWN0ZWQgOj0gYGZvdW5kIGZvb3RlciBsaW5lICIvLyA9PT1FTkQgSUNBTk4gRE9NQUlOUz09PSIgYCArCisJCWBiZWZvcmUgaGVhZGVyIGxpbmUgIi8vIG5ld0dUTERzIiAoaW5kZXggMTAgdnMgNTApYAorCWlmIGFjdHVhbCA6PSBlcnIuRXJyb3IoKTsgYWN0dWFsICE9IGV4cGVjdGVkIHsKKwkJdC5FcnJvcmYoImV4cGVjdGVkICUjdiBFcnJvcigpIHRvIHJldHVybiAlcSBnb3QgJXEiLCBlcnIsIGV4cGVjdGVkLCBhY3R1YWwpCisJfQorfQorCitmdW5jIFRlc3RHVExERGF0U3BhblZhbGlkYXRlKHQgKnRlc3RpbmcuVCkgeworCXRlc3RDYXNlcyA6PSBbXXN0cnVjdCB7CisJCW5hbWUgICAgIHN0cmluZworCQlzcGFuICAgICBnVExERGF0U3BhbgorCQlleHBlY3RlZCBlcnJvcgorCX17CisJCXsKKwkJCW5hbWU6ICAgICAibm8gaGVhZGVyIiwKKwkJCXNwYW46ICAgICBnVExERGF0U3Bhbnt9LAorCQkJZXhwZWN0ZWQ6IGVyck5vSGVhZGVyLAorCQl9LAorCQl7CisJCQluYW1lOiAgICAgIm5vIGZvb3RlciIsCisJCQlzcGFuOiAgICAgZ1RMRERhdFNwYW57c3RhcnRJbmRleDogMTB9LAorCQkJZXhwZWN0ZWQ6IGVyck5vRm9vdGVyLAorCQl9LAorCQl7CisJCQluYW1lOiAgICAgImludmVydGVkIiwKKwkJCXNwYW46ICAgICBnVExERGF0U3BhbntzdGFydEluZGV4OiA1MCwgZW5kSW5kZXg6IDEwfSwKKwkJCWV4cGVjdGVkOiBlcnJJbnZlcnRlZFNwYW57Z1RMRERhdFNwYW57c3RhcnRJbmRleDogNTAsIGVuZEluZGV4OiAxMH19LAorCQl9LAorCQl7CisJCQluYW1lOiAidmFsaWQiLAorCQkJc3BhbjogZ1RMRERhdFNwYW57c3RhcnRJbmRleDogMTAsIGVuZEluZGV4OiAyMH0sCisJCX0sCisJfQorCisJZm9yIF8sIHRjIDo9IHJhbmdlIHRlc3RDYXNlcyB7CisJCXQuUnVuKHRjLm5hbWUsIGZ1bmModCAqdGVzdGluZy5UKSB7CisJCQlpZiBhY3R1YWwgOj0gdGMuc3Bhbi52YWxpZGF0ZSgpOyBhY3R1YWwgIT0gdGMuZXhwZWN0ZWQgeworCQkJCXQuRXJyb3JmKCJleHBlY3RlZCBzcGFuICV2IHZhbGlkYXRlIHRvIHJldHVybiAldiBnb3QgJXYiLAorCQkJCQl0Yy5zcGFuLCB0Yy5leHBlY3RlZCwgYWN0dWFsKQorCQkJfQorCQl9KQorCX0KK30KKworZnVuYyBUZXN0RXJyU3Bhbk91dE9mQm91bmRzKHQgKnRlc3RpbmcuVCkgeworCWVyciA6PSBlcnJTcGFuT3V0T2ZCb3VuZHN7CisJCXNwYW46ICAgICBnVExERGF0U3BhbntzdGFydEluZGV4OiA1LCBlbmRJbmRleDogNTB9LAorCQludW1MaW5lczogMjAsCisJfQorCWV4cGVjdGVkIDo9IGBzcGFuIG91dCBvZiBib3VuZHM6IHN0YXJ0IGluZGV4IDUsIGVuZCBpbmRleCA1MCwgbnVtYmVyIG9mIGxpbmVzIDIwYAorCWlmIGFjdHVhbCA6PSBlcnIuRXJyb3IoKTsgYWN0dWFsICE9IGV4cGVjdGVkIHsKKwkJdC5FcnJvcmYoImV4cGVjdGVkICUjdiBFcnJvcigpIHRvIHJldHVybiAlcSBnb3QgJXEiLCBlcnIsIGV4cGVjdGVkLCBhY3R1YWwpCisJfQorfQorCitmdW5jIFRlc3REYXRGaWxlVmFsaWRhdGUodCAqdGVzdGluZy5UKSB7CisJdGVzdENhc2VzIDo9IFtdc3RydWN0IHsKKwkJbmFtZSAgICAgc3RyaW5nCisJCWZpbGUgICAgIGRhdEZpbGUKKwkJZXhwZWN0ZWQgZXJyb3IKKwl9eworCQl7CisJCQluYW1lOiAgICAgImJhZCBnVExEIHNwYW4iLAorCQkJZmlsZTogICAgIGRhdEZpbGV7Z1RMRFNwYW46IGdUTEREYXRTcGFue319LAorCQkJZXhwZWN0ZWQ6IGVyck5vSGVhZGVyLAorCQl9LAorCQl7CisJCQluYW1lOiAib3V0IG9mIGJvdW5kcyBzcGFuIiwKKwkJCWZpbGU6IGRhdEZpbGV7CisJCQkJbGluZXM6ICAgIFtdc3RyaW5neyJvbmUgbGluZSJ9LAorCQkJCWdUTERTcGFuOiBnVExERGF0U3BhbntzdGFydEluZGV4OiA1LCBlbmRJbmRleDogMTB9LAorCQkJfSwKKwkJCWV4cGVjdGVkOiBlcnJTcGFuT3V0T2ZCb3VuZHN7CisJCQkJc3BhbjogICAgIGdUTEREYXRTcGFue3N0YXJ0SW5kZXg6IDUsIGVuZEluZGV4OiAxMH0sCisJCQkJbnVtTGluZXM6IDEsCisJCQl9LAorCQl9LAorCQl7CisJCQluYW1lOiAidmFsaWQiLAorCQkJZmlsZTogZGF0RmlsZXsKKwkJCQlsaW5lczogICAgW11zdHJpbmd7Im9uZSBsaW5lIiwgInR3byBsaW5lIiwgInRocmVlIGxpbmUiLCAiZm91ciJ9LAorCQkJCWdUTERTcGFuOiBnVExERGF0U3BhbntzdGFydEluZGV4OiAyLCBlbmRJbmRleDogM319LAorCQl9LAorCX0KKworCWZvciBfLCB0YyA6PSByYW5nZSB0ZXN0Q2FzZXMgeworCQl0LlJ1bih0Yy5uYW1lLCBmdW5jKHQgKnRlc3RpbmcuVCkgeworCQkJaWYgYWN0dWFsIDo9IHRjLmZpbGUudmFsaWRhdGUoKTsgYWN0dWFsICE9IHRjLmV4cGVjdGVkIHsKKwkJCQl0LkVycm9yZigiZXhwZWN0ZWQgZGF0IGZpbGUgJXYgdmFsaWRhdGUgdG8gcmV0dXJuICV2IGdvdCAldiIsCisJCQkJCXRjLmZpbGUsIHRjLmV4cGVjdGVkLCBhY3R1YWwpCisJCQl9CisJCX0pCisJfQorfQorCitmdW5jIFRlc3RHZXRHVExETGluZXModCAqdGVzdGluZy5UKSB7CisJbGluZXMgOj0gW11zdHJpbmd7CisJCSJzb21lIGp1bmsiLCAgICAgICAgICAgICAgLy8gSW5kZXggMAorCQlQU0xfR1RMRFNfU0VDVElPTl9IRUFERVIsIC8vIEluZGV4IDEKKwkJImhlcmUgYmUgZ1RMRHMiLCAgICAgICAgICAvLyBJbmRleCAyCisJCSJzbyBtYW55IGdUTERzIiwgICAgICAgICAgLy8gSW5kZXggMworCQlQU0xfR1RMRFNfU0VDVElPTl9GT09URVIsIC8vIEluZGV4IDQKKwkJIm1vcmUganVuayIsICAgICAgICAgICAgICAvLyBJbmRleCA1CisJfQorCWZpbGUgOj0gZGF0RmlsZXsKKwkJbGluZXM6ICAgIGxpbmVzLAorCQlnVExEU3BhbjogZ1RMRERhdFNwYW57c3RhcnRJbmRleDogMiwgZW5kSW5kZXg6IDR9LAorCX0KKworCWV4cGVjdGVkTGluZXMgOj0gW11zdHJpbmd7CisJCWxpbmVzWzJdLCBsaW5lc1szXSwKKwl9CisKKwlpZiBhY3R1YWwsIGVyciA6PSBmaWxlLmdldEdUTERMaW5lcygpOyBlcnIgIT0gbmlsIHsKKwkJdC5FcnJvcmYoInVuZXhwZWN0ZWQgZXJyOiAldiIsIGVycikKKwl9IGVsc2UgaWYgIXJlZmxlY3QuRGVlcEVxdWFsKGFjdHVhbCwgZXhwZWN0ZWRMaW5lcykgeworCQl0LkVycm9yZigiZXhwZWN0ZWQgJXYgZ290ICV2IiwgZXhwZWN0ZWRMaW5lcywgYWN0dWFsKQorCX0KKworCS8vIE5vdyB1cGRhdGUgdGhlIGdUTERTcGFuIHRvIGJlIGludmFsaWQgYW5kIHRyeSBhZ2FpbgorCWZpbGUuZ1RMRFNwYW4uZW5kSW5kZXggPSA5OQorCWV4cGVjdGVkRXJyIDo9IGVyclNwYW5PdXRPZkJvdW5kc3sKKwkJbnVtTGluZXM6IGxlbihsaW5lcyksCisJCXNwYW46ICAgICBnVExERGF0U3BhbntzdGFydEluZGV4OiAyLCBlbmRJbmRleDogOTl9LAorCX0KKwlpZiBfLCBlcnIgOj0gZmlsZS5nZXRHVExETGluZXMoKTsgZXJyICE9IGV4cGVjdGVkRXJyIHsKKwkJdC5FcnJvcmYoImV4cGVjdGVkIGVyciAldiBnb3QgJXYiLCBleHBlY3RlZEVyciwgZXJyKQorCX0KK30KKworZnVuYyBUZXN0UmVwbGFjZUdUTERDb250ZW50KHQgKnRlc3RpbmcuVCkgeworCW9yaWdMaW5lcyA6PSBbXXN0cmluZ3sKKwkJInNvbWUganVuayIsICAgICAgICAgICAgICAvLyBJbmRleCAwCisJCVBTTF9HVExEU19TRUNUSU9OX0hFQURFUiwgLy8gSW5kZXggMQorCQkiaGVyZSBiZSBnVExEcyIsICAgICAgICAgIC8vIEluZGV4IDIKKwkJInNvIG1hbnkgZ1RMRHMiLCAgICAgICAgICAvLyBJbmRleCAzCisJCVBTTF9HVExEU19TRUNUSU9OX0ZPT1RFUiwgLy8gSW5kZXggNAorCQkibW9yZSBqdW5rIiwgICAgICAgICAgICAgIC8vIEluZGV4IDUKKwl9CisJZmlsZSA6PSBkYXRGaWxleworCQlsaW5lczogICAgb3JpZ0xpbmVzLAorCQlnVExEU3BhbjogZ1RMRERhdFNwYW57c3RhcnRJbmRleDogMiwgZW5kSW5kZXg6IDR9LAorCX0KKwluZXdMaW5lcyA6PSBbXXN0cmluZ3sKKwkJIm5ldyBnVExEIEEiLCAvLyBJbmRleCAwCisJCSJuZXcgZ1RMRCBCIiwgLy8gSW5kZXggMQorCQkibmV3IGdUTEQgQyIsIC8vIEluZGV4IDIKKwl9CisKKwluZXdDb250ZW50IDo9IHN0cmluZ3MuSm9pbihuZXdMaW5lcywgIlxuIikKKwlpZiBlcnIgOj0gZmlsZS5SZXBsYWNlR1RMRENvbnRlbnQobmV3Q29udGVudCk7IGVyciAhPSBuaWwgeworCQl0LkVycm9yZigidW5leHBlY3RlZCBlcnIgJXYiLCBlcnIpCisJfQorCisJZXhwZWN0ZWRMaW5lcyA6PSBbXXN0cmluZ3sKKwkJb3JpZ0xpbmVzWzBdLAorCQlvcmlnTGluZXNbMV0sCisJCW5ld0xpbmVzWzBdLAorCQluZXdMaW5lc1sxXSwKKwkJbmV3TGluZXNbMl0sCisJCW9yaWdMaW5lc1s0XSwKKwkJb3JpZ0xpbmVzWzVdLAorCX0KKwlpZiAhcmVmbGVjdC5EZWVwRXF1YWwoZmlsZS5saW5lcywgZXhwZWN0ZWRMaW5lcykgeworCQl0LkVycm9yZigiZXhwZWN0ZWQgbGluZXMgdG8gYmUgdXBkYXRlZCB0byAldiB3YXMgJXYiLCBleHBlY3RlZExpbmVzLCBmaWxlLmxpbmVzKQorCX0KKwlpZiBmaWxlLmdUTERTcGFuLmVuZEluZGV4ICE9IDUgeworCQl0LkVycm9yZigiZXhwZWN0ZWQgZmlsZSB0byBoYXZlIGdUTERTcGFuIGVuZCB1cGRhdGVkIHRvIDUsIHdhcyAlZCIsCisJCQlmaWxlLmdUTERTcGFuLmVuZEluZGV4KQorCX0KKworCS8vIE5vdyB1cGRhdGUgdGhlIGdUTERTcGFuIHRvIGJlIGludmFsaWQgYW5kIHRyeSBhZ2FpbgorCWZpbGUuZ1RMRFNwYW4uZW5kSW5kZXggPSA5OQorCWV4cGVjdGVkRXJyIDo9IGVyclNwYW5PdXRPZkJvdW5kc3sKKwkJbnVtTGluZXM6IGxlbihleHBlY3RlZExpbmVzKSwKKwkJc3BhbjogICAgIGdUTEREYXRTcGFue3N0YXJ0SW5kZXg6IDIsIGVuZEluZGV4OiA5OX0sCisJfQorCWlmIGVyciA6PSBmaWxlLlJlcGxhY2VHVExEQ29udGVudCgiaWdub3JlZCBjb250ZW50Iik7IGVyciAhPSBleHBlY3RlZEVyciB7CisJCXQuRXJyb3JmKCJleHBlY3RlZCBlcnIgJXYgZ290ICV2IiwgZXhwZWN0ZWRFcnIsIGVycikKKwl9IGVsc2UgaWYgIXJlZmxlY3QuRGVlcEVxdWFsKGZpbGUubGluZXMsIGV4cGVjdGVkTGluZXMpIHsKKwkJdC5FcnJvcmYoImV4cGVjdGVkIGxpbmVzIHRvIHN0aWxsIGJlICV2IHdhcyBjaGFuZ2VkIHRvICV2IiwKKwkJCWV4cGVjdGVkTGluZXMsIGZpbGUubGluZXMpCisJfQorfQorCitmdW5jIFRlc3REYXRGaWxlU3RyaW5nKHQgKnRlc3RpbmcuVCkgeworCWZpbGUgOj0gZGF0RmlsZXsKKwkJbGluZXM6IFtdc3RyaW5neyJoZWxsbyIsICJ3b3JsZCJ9LAorCX0KKwlleHBlY3RlZCA6PSAiaGVsbG9cbndvcmxkIgorCWlmIGFjdHVhbCA6PSBmaWxlLlN0cmluZygpOyBhY3R1YWwgIT0gZXhwZWN0ZWQgeworCQl0LkVycm9yZigiZXhwZWN0ZWQgZmlsZSAldiBTdHJpbmcoKSB0byBiZSAlcSB3YXMgJXEiLCBmaWxlLCBleHBlY3RlZCwgYWN0dWFsKQorCX0KK30KKworZnVuYyBUZXN0UmVhZERhdEZpbGUodCAqdGVzdGluZy5UKSB7CisJbXVzdFdyaXRlVGVtcCA6PSBmdW5jKHQgKnRlc3RpbmcuVCwgY29udGVudCBzdHJpbmcpIHN0cmluZyB7CisJCXRtcGZpbGUsIGVyciA6PSBvcy5DcmVhdGVUZW1wKCIiLCAiZGF0IikKKwkJaWYgZXJyICE9IG5pbCB7CisJCQl0LkZhdGFsZigiRmFpbGVkIHRvIGNyZWF0ZSB0ZW1wIGZpbGU6ICV2IiwgZXJyKQorCQl9CisJCWlmIF8sIGVyciA6PSB0bXBmaWxlLldyaXRlKFtdYnl0ZShjb250ZW50KSk7IGVyciAhPSBuaWwgeworCQkJdC5GYXRhbGYoIkZhaWxlZCB0byB3cml0ZSB0ZW1wIGZpbGU6ICV2IiwgZXJyKQorCQl9CisJCWlmIGVyciA6PSB0bXBmaWxlLkNsb3NlKCk7IGVyciAhPSBuaWwgeworCQkJdC5GYXRhbGYoIkZhaWxlZCB0byBjbG9zZSB0ZW1wIGZpbGU6ICV2IiwgZXJyKQorCQl9CisJCXJldHVybiB0bXBmaWxlLk5hbWUoKQorCX0KKworCW5vSGVhZGVyQ29udGVudCA6PSBzdHJpbmdzLkpvaW4oW11zdHJpbmd7CisJCSJmb28iLAorCQkiYmFyIiwKKwl9LCAiXG4iKQorCW5vSGVhZGVyRmlsZSA6PSBtdXN0V3JpdGVUZW1wKHQsIG5vSGVhZGVyQ29udGVudCkKKwlkZWZlciBvcy5SZW1vdmUobm9IZWFkZXJGaWxlKQorCisJbm9Gb290ZXJDb250ZW50IDo9IHN0cmluZ3MuSm9pbihbXXN0cmluZ3sKKwkJImZvbyIsCisJCVBTTF9HVExEU19TRUNUSU9OX0hFQURFUiwKKwkJImJhciIsCisJfSwgIlxuIikKKwlub0Zvb3RlckZpbGUgOj0gbXVzdFdyaXRlVGVtcCh0LCBub0Zvb3RlckNvbnRlbnQpCisJZGVmZXIgb3MuUmVtb3ZlKG5vRm9vdGVyRmlsZSkKKworCW11bHRpSGVhZGVyQ29udGVudCA6PSBzdHJpbmdzLkpvaW4oW11zdHJpbmd7CisJCSJmb28iLAorCQlQU0xfR1RMRFNfU0VDVElPTl9IRUFERVIsCisJCSJ0ZXN0IiwKKwkJUFNMX0dUTERTX1NFQ1RJT05fSEVBREVSLAorCQkidGVzdCIsCisJCVBTTF9HVExEU19TRUNUSU9OX0ZPT1RFUiwKKwkJImJhciIsCisJfSwgIlxuIikKKwltdWx0aUhlYWRlckZpbGUgOj0gbXVzdFdyaXRlVGVtcCh0LCBtdWx0aUhlYWRlckNvbnRlbnQpCisJZGVmZXIgb3MuUmVtb3ZlKG11bHRpSGVhZGVyRmlsZSkKKworCWludmVydGVkQ29udGVudCA6PSBzdHJpbmdzLkpvaW4oW11zdHJpbmd7CisJCSJmb28iLAorCQlQU0xfR1RMRFNfU0VDVElPTl9GT09URVIsCisJCSJ0ZXN0IiwKKwkJUFNMX0dUTERTX1NFQ1RJT05fSEVBREVSLAorCQkiYmFyIiwKKwl9LCAiXG4iKQorCWludmVydGVkRmlsZSA6PSBtdXN0V3JpdGVUZW1wKHQsIGludmVydGVkQ29udGVudCkKKwlkZWZlciBvcy5SZW1vdmUoaW52ZXJ0ZWRGaWxlKQorCisJdmFsaWRDb250ZW50IDo9IHN0cmluZ3MuSm9pbihbXXN0cmluZ3sKKwkJImZvbyIsICAgICAgICAgICAgICAgICAgICAvLyBJbmRleCAwCisJCVBTTF9HVExEU19TRUNUSU9OX0hFQURFUiwgLy8gSW5kZXggMQorCQkidGVzdCIsICAgICAgICAgICAgICAgICAgIC8vIEluZGV4IDIKKwkJUFNMX0dUTERTX1NFQ1RJT05fRk9PVEVSLCAvLyBJbmRleCAzCisJCSJiYXIiLCAgICAgICAgICAgICAgICAgICAgLy8gSW5kZXggNAorCX0sICJcbiIpCisJdmFsaWRGaWxlIDo9IG11c3RXcml0ZVRlbXAodCwgdmFsaWRDb250ZW50KQorCWRlZmVyIG9zLlJlbW92ZSh2YWxpZEZpbGUpCisKKwl0ZXN0Q2FzZXMgOj0gW11zdHJ1Y3QgeworCQluYW1lICAgICAgICAgICAgc3RyaW5nCisJCXBhdGggICAgICAgICAgICBzdHJpbmcKKwkJZXhwZWN0ZWRFcnJNc2cgIHN0cmluZworCQlleHBlY3RlZERhdEZpbGUgKmRhdEZpbGUKKwl9eworCQl7CisJCQluYW1lOiAgICAgICAgICAgIm5vIHN1Y2ggZmlsZSIsCisJCQlwYXRoOiAgICAgICAgICAgIiIsCisJCQlleHBlY3RlZEVyck1zZzogIm9wZW4gOiBubyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IiwKKwkJfSwKKwkJeworCQkJbmFtZTogICAgICAgICAgICJubyBoZWFkZXIiLAorCQkJcGF0aDogICAgICAgICAgIG5vSGVhZGVyRmlsZSwKKwkJCWV4cGVjdGVkRXJyTXNnOiBlcnJOb0hlYWRlci5FcnJvcigpLAorCQl9LAorCQl7CisJCQluYW1lOiAgICAgICAgICAgIm5vIGZvb3RlciIsCisJCQlwYXRoOiAgICAgICAgICAgbm9Gb290ZXJGaWxlLAorCQkJZXhwZWN0ZWRFcnJNc2c6IGVyck5vRm9vdGVyLkVycm9yKCksCisJCX0sCisJCXsKKwkJCW5hbWU6ICAgICAgICAgICAibXVsdGlwbGUgaGVhZGVycyIsCisJCQlwYXRoOiAgICAgICAgICAgbXVsdGlIZWFkZXJGaWxlLAorCQkJZXhwZWN0ZWRFcnJNc2c6IGVyck11bHRpcGxlSGVhZGVycy5FcnJvcigpLAorCQl9LAorCQl7CisJCQluYW1lOiAgICAgICAgICAgImludmVydGVkIGhlYWRlci9mb290ZXIiLAorCQkJcGF0aDogICAgICAgICAgIGludmVydGVkRmlsZSwKKwkJCWV4cGVjdGVkRXJyTXNnOiAoZXJySW52ZXJ0ZWRTcGFue2dUTEREYXRTcGFue3N0YXJ0SW5kZXg6IDQsIGVuZEluZGV4OiAxfX0pLkVycm9yKCksCisJCX0sCisJCXsKKwkJCW5hbWU6ICJ2YWxpZCIsCisJCQlwYXRoOiB2YWxpZEZpbGUsCisJCQlleHBlY3RlZERhdEZpbGU6ICZkYXRGaWxleworCQkJCWxpbmVzOiBzdHJpbmdzLlNwbGl0KHZhbGlkQ29udGVudCwgIlxuIiksCisJCQkJZ1RMRFNwYW46IGdUTEREYXRTcGFueworCQkJCQlzdGFydEluZGV4OiAyLAorCQkJCQllbmRJbmRleDogICAzLAorCQkJCX0sCisJCQl9LAorCQl9LAorCX0KKworCWZvciBfLCB0YyA6PSByYW5nZSB0ZXN0Q2FzZXMgeworCQl0LlJ1bih0Yy5uYW1lLCBmdW5jKHQgKnRlc3RpbmcuVCkgeworCQkJYWN0dWFsLCBlcnIgOj0gcmVhZERhdEZpbGUodGMucGF0aCkKKwkJCWlmIGVyciAhPSBuaWwgJiYgdGMuZXhwZWN0ZWRFcnJNc2cgPT0gIiIgeworCQkJCXQuRXJyb3JmKCJ1bmV4cGVjdGVkIGVycjogJXYiLCBlcnIpCisJCQl9IGVsc2UgaWYgZXJyICE9IG5pbCAmJiBlcnIuRXJyb3IoKSAhPSB0Yy5leHBlY3RlZEVyck1zZyB7CisJCQkJdC5FcnJvcmYoImV4cGVjdGVkIGVycjogJXEsIGdvdDogJXEiLCB0Yy5leHBlY3RlZEVyck1zZywgZXJyLkVycm9yKCkpCisJCQl9IGVsc2UgaWYgZXJyID09IG5pbCAmJiB0Yy5leHBlY3RlZEVyck1zZyAhPSAiIiB7CisJCQkJdC5FcnJvcmYoImV4cGVjdGVkIGVycjogJXEsIGdvdDogbmlsIiwgdGMuZXhwZWN0ZWRFcnJNc2cpCisJCQl9IGVsc2UgaWYgIXJlZmxlY3QuRGVlcEVxdWFsKGFjdHVhbCwgdGMuZXhwZWN0ZWREYXRGaWxlKSB7CisJCQkJdC5FcnJvcmYoImV4cGVjdGVkIGRhdCBmaWxlOiAlcSwgZ290ICVxIiwgdGMuZXhwZWN0ZWREYXRGaWxlLCBhY3R1YWwpCisJCQl9CisJCX0pCisJfQorfQorCit0eXBlIG1vY2tDbG9jayBzdHJ1Y3QgeworCWZha2VVbml4VGltZSBpbnQ2NAorfQorCitmdW5jIChtIG1vY2tDbG9jaykgTm93KCkgdGltZS5UaW1lIHsKKwlyZXR1cm4gdGltZS5Vbml4KG0uZmFrZVVuaXhUaW1lLCAwKQorfQorCitmdW5jIFRlc3RQcm9jZXNzKHQgKnRlc3RpbmcuVCkgeworCW1vY2tIYW5kbGVyIDo9IGZ1bmMoY29udGVudCBzdHJpbmcpIGh0dHAuSGFuZGxlckZ1bmMgeworCQlyZXR1cm4gZnVuYyh3IGh0dHAuUmVzcG9uc2VXcml0ZXIsIHIgKmh0dHAuUmVxdWVzdCkgeworCQkJdy5IZWFkZXIoKS5TZXQoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi9qc29uIikKKwkJCXcuV3JpdGVIZWFkZXIoaHR0cC5TdGF0dXNPSykKKwkJCWZtdC5GcHJpbnRsbih3LCBjb250ZW50KQorCQl9CisJfQorCisJZXhpc3RpbmdEYXRhIDo9IGAKKy4uLgorCisvLyBuZXdHVExEcworCisvLyBMaXN0IG9mIG5ldyBnVExEcyBpbXBvcnRlZCBmcm9tIGh0dHBzOi8vd3d3LmljYW5uLm9yZy9yZXNvdXJjZXMvcmVnaXN0cmllcy9ndGxkcy92Mi9ndGxkcy5qc29uIG9uIDIwMjEtMDItMDdUMTM6MjU6NTYtMDU6MDAKKy8vIFRoaXMgbGlzdCBpcyBhdXRvLWdlbmVyYXRlZCwgZG9uJ3QgZWRpdCBpdCBtYW51YWxseS4KKy8vIGFhYSA6IDIwMTUtMDItMjYgQW1lcmljYW4gQXV0b21vYmlsZSBBc3NvY2lhdGlvbiwgSW5jLgorYWFhCisKKworLy8gPT09RU5EIElDQU5OIERPTUFJTlM9PT0KKworLi4uCitgCisJZXhpc3RpbmdKU09OIDo9IGAKK3sKKwkiZ1RMRHMiOiBbCisJCXsKKwkJCSJjb250cmFjdFRlcm1pbmF0ZWQiOiBmYWxzZSwKKwkJCSJkYXRlT2ZDb250cmFjdFNpZ25hdHVyZSI6ICIyMDE1LTAyLTI2IiwKKwkJCSJnVExEIjogImFhYSIsCisJCQkicmVnaXN0cnlPcGVyYXRvciI6ICJBbWVyaWNhbiBBdXRvbW9iaWxlIEFzc29jaWF0aW9uLCBJbmMuIiwKKwkJCSJyZW1vdmFsRGF0ZSI6IG51bGwsCisJCQkidUxhYmVsIjogbnVsbAorCQl9CisJXQorfQorYAorCisJbmV3SlNPTiA6PSBgCit7CisJImdUTERzIjogWworCQl7CisJCQkiY29udHJhY3RUZXJtaW5hdGVkIjogZmFsc2UsCisJCQkiZGF0ZU9mQ29udHJhY3RTaWduYXR1cmUiOiAiMjAxNS0wMi0yNiIsCisJCQkiZ1RMRCI6ICJhYWEiLAorCQkJInJlZ2lzdHJ5T3BlcmF0b3IiOiAiQW1lcmljYW4gQXV0b21vYmlsZSBBc3NvY2lhdGlvbiwgSW5jLiIsCisJCQkicmVtb3ZhbERhdGUiOiBudWxsLAorCQkJInVMYWJlbCI6IG51bGwKKwkJfSwKKwkJeworCQkJImNvbnRyYWN0VGVybWluYXRlZCI6IGZhbHNlLAorCQkJImRhdGVPZkNvbnRyYWN0U2lnbmF0dXJlIjogIjIwMTQtMDMtMjAiLAorCQkJImdUTEQiOiAiYWNjb3VudGFudHMiLAorCQkJInJlZ2lzdHJ5T3BlcmF0b3IiOiAiQmlua3kgTW9vbiwgTExDIiwKKwkJCSJyZW1vdmFsRGF0ZSI6IG51bGwsCisJCQkidUxhYmVsIjogbnVsbAorCQl9CisJXQorfQorYAorCisJZmFrZUNsb2NrIDo9IG1vY2tDbG9ja3sKKwkJZmFrZVVuaXhUaW1lOiAxNjEyOTE2NjU0LAorCX0KKwluZXdEYXRhIDo9IGAKKy4uLgorCisvLyBuZXdHVExEcworCisvLyBMaXN0IG9mIG5ldyBnVExEcyBpbXBvcnRlZCBmcm9tIGh0dHBzOi8vd3d3LmljYW5uLm9yZy9yZXNvdXJjZXMvcmVnaXN0cmllcy9ndGxkcy92Mi9ndGxkcy5qc29uIG9uIDIwMjEtMDItMTBUMDA6MjQ6MTRaCisvLyBUaGlzIGxpc3QgaXMgYXV0by1nZW5lcmF0ZWQsIGRvbid0IGVkaXQgaXQgbWFudWFsbHkuCisvLyBhYWEgOiAyMDE1LTAyLTI2IEFtZXJpY2FuIEF1dG9tb2JpbGUgQXNzb2NpYXRpb24sIEluYy4KK2FhYQorCisvLyBhY2NvdW50YW50cyA6IDIwMTQtMDMtMjAgQmlua3kgTW9vbiwgTExDCithY2NvdW50YW50cworCisKKy8vID09PUVORCBJQ0FOTiBET01BSU5TPT09CisKKy4uLgorYAorCisJbXVzdFJlYWREYXRGaWxlIDo9IGZ1bmModCAqdGVzdGluZy5ULCBjb250ZW50IHN0cmluZykgKmRhdEZpbGUgeworCQlkYXRGaWxlLCBlcnIgOj0gcmVhZERhdEZpbGVDb250ZW50KGNvbnRlbnQpCisJCWlmIGVyciAhPSBuaWwgeworCQkJdC5GYXRhbGYoImZhaWxlZCB0byByZWFkRGF0RmlsZUNvbnRlbnQgJXE6ICV2IiwgY29udGVudCwgZXJyKQorCQl9CisJCXJldHVybiBkYXRGaWxlCisJfQorCisJdGVzdENhc2VzIDo9IFtdc3RydWN0IHsKKwkJbmFtZSAgICAgICAgICAgIHN0cmluZworCQlmaWxlICAgICAgICAgICAgKmRhdEZpbGUKKwkJcHNsSlNPTiAgICAgICAgIHN0cmluZworCQlleHBlY3RlZEVyck1zZyAgc3RyaW5nCisJCWV4cGVjdGVkQ29udGVudCBzdHJpbmcKKwl9eworCQl7CisJCQluYW1lOiAgICAgICAgICAgImJhZCBzcGFuIiwKKwkJCWZpbGU6ICAgICAgICAgICAmZGF0RmlsZXt9LAorCQkJZXhwZWN0ZWRFcnJNc2c6IGVyck5vSGVhZGVyLkVycm9yKCksCisJCX0sCisJCXsKKwkJCW5hbWU6ICJzcGFuIHRvbyBzbWFsbCIsCisJCQlmaWxlOiAmZGF0RmlsZXsKKwkJCQlsaW5lczogICAgW11zdHJpbmd7ImEiLCAiYiIsICJjIn0sCisJCQkJZ1RMRFNwYW46IGdUTEREYXRTcGFue3N0YXJ0SW5kZXg6IDEsIGVuZEluZGV4OiAyfSwKKwkJCX0sCisJCQlleHBlY3RlZEVyck1zZzogImd0bGQgc3BhbiBkYXRhIHdhcyB0b28gc21hbGwsIG1pc3NpbmcgaGVhZGVyPyIsCisJCX0sCisJCXsKKwkJCW5hbWU6ICAgICAgICAgICAgIm5vIGNoYW5nZSBpbiBkYXRhIiwKKwkJCWZpbGU6ICAgICAgICAgICAgbXVzdFJlYWREYXRGaWxlKHQsIGV4aXN0aW5nRGF0YSksCisJCQlwc2xKU09OOiAgICAgICAgIGV4aXN0aW5nSlNPTiwKKwkJCWV4cGVjdGVkQ29udGVudDogZXhpc3RpbmdEYXRhLAorCQl9LAorCQl7CisJCQluYW1lOiAgICAgICAgICAgICJjaGFuZ2UgaW4gZGF0YSIsCisJCQlmaWxlOiAgICAgICAgICAgIG11c3RSZWFkRGF0RmlsZSh0LCBleGlzdGluZ0RhdGEpLAorCQkJcHNsSlNPTjogICAgICAgICBuZXdKU09OLAorCQkJZXhwZWN0ZWRDb250ZW50OiBuZXdEYXRhLAorCQl9LAorCX0KKworCWZvciBfLCB0YyA6PSByYW5nZSB0ZXN0Q2FzZXMgeworCQl0LlJ1bih0Yy5uYW1lLCBmdW5jKHQgKnRlc3RpbmcuVCkgeworCQkJcyA6PSBodHRwdGVzdC5OZXdTZXJ2ZXIobW9ja0hhbmRsZXIodGMucHNsSlNPTikpCisJCQlkZWZlciBzLkNsb3NlKCkKKworCQkJY29udGVudCwgZXJyIDo9IHByb2Nlc3ModGMuZmlsZSwgcy5VUkwsIGZha2VDbG9jaykKKwkJCWlmIGVyciAhPSBuaWwgJiYgdGMuZXhwZWN0ZWRFcnJNc2cgPT0gIiIgeworCQkJCXQuRXJyb3JmKCJ1bmV4cGVjdGVkIGVycjogJXYiLCBlcnIpCisJCQl9IGVsc2UgaWYgZXJyICE9IG5pbCAmJiBlcnIuRXJyb3IoKSAhPSB0Yy5leHBlY3RlZEVyck1zZyB7CisJCQkJdC5FcnJvcmYoImV4cGVjdGVkIGVycjogJXEsIGdvdDogJXEiLCB0Yy5leHBlY3RlZEVyck1zZywgZXJyLkVycm9yKCkpCisJCQl9IGVsc2UgaWYgZXJyID09IG5pbCAmJiB0Yy5leHBlY3RlZEVyck1zZyAhPSAiIiB7CisJCQkJdC5FcnJvcmYoImV4cGVjdGVkIGVycjogJXEsIGdvdDogbmlsIiwgdGMuZXhwZWN0ZWRFcnJNc2cpCisJCQl9IGVsc2UgaWYgY29udGVudCAhPSB0Yy5leHBlY3RlZENvbnRlbnQgeworCQkJCWZtdC5QcmludGYoImdvdCBjb250ZW50OlxuJXMiLCBjb250ZW50KQorCQkJCWZtdC5QcmludGYoImV4cGVjdGVkIGNvbnRlbnQ6XG4lcyIsIHRjLmV4cGVjdGVkQ29udGVudCkKKwkJCQl0LkVycm9yZigiZXhwZWN0ZWQgY29udGVudDogJXEsIGdvdCAlcSIsIHRjLmV4cGVjdGVkQ29udGVudCwgY29udGVudCkKKwkJCX0KKwkJfSkKKwl9Cit9CmRpZmYgLS1naXQgYS90b29scy9wYXRjaG5ld2d0bGRzIGIvdG9vbHMvcGF0Y2huZXdndGxkcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZGM5M2E5Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcGF0Y2huZXdndGxkcwpAQCAtMCwwICsxLDE2IEBACisjIS9iaW4vYmFzaAorCitzZXQgLWUKK3NldCAtbyBwaXBlZmFpbAorCitpZiAhIFsgLXggIiQoY29tbWFuZCAtdiBnbykiIF0KK3RoZW4KKyAgZWNobyAiZXJyb3I6IGEgZ28gYmluYXJ5IGluIFwkUEFUSCBpcyByZXF1aXJlZCB0byBydW4gbmV3Z3RsZHMuZ28iID4mMgorICBleGl0IDEKK2ZpCisKK0JBU0VESVI9JChkaXJuYW1lICIkMCIpCisKK2dvIHJ1biAiJEJBU0VESVIvbmV3Z3RsZHMuZ28iIFwKKyAgLW92ZXJ3cml0ZSBcCisgIC1wc2wtZGF0LWZpbGU9IiRCQVNFRElSLy4uL3B1YmxpY19zdWZmaXhfbGlzdC5kYXQiCg==