REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 114.03 KB
Close
/usr/share/locale/en@boldquot/LC_MESSAGES/gettext-tools.mo
Text
Base64
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EwAAAAAAAACUAAAAugEAAAAAAAB8AQAApQEAAJ4CAAAvAgAAwgEAACUCAAAqAgAAsQEAAAAAAAACAQAAdQIAAAAAAAAwAAAA1AEAAD0CAAAAAAAAdwAAAK4BAACAAQAAlQIAACICAAAAAAAA8AAAAMwBAABfAgAAAAAAAMQAAACvAQAA+gAAAJMBAAD+AQAAZgIAAKUAAADDAAAANwEAAJYAAACYAgAAgQEAAOMAAAAAAAAAAAAAAD8BAAAAAAAAlwAAAAAAAAAjAQAAVgEAAAAAAACnAQAASQEAAOgAAACCAAAAAAAAAB8AAACXAgAAAwEAAAAAAAAAAAAAAAAAAEcCAABUAQAAAAAAAFICAADmAAAAAAAAAO4BAAA/AAAAKwIAAPYBAADaAQAAggIAAGUAAAAAAAAAWwIAABkAAABuAgAADwEAAIkAAAAtAgAAAAAAAKICAAAAAAAAPgIAAMkAAAB+AgAAMgAAAIcAAABMAgAAAAAAAAAAAAAAAAAAIwIAAK4AAADRAAAAAAAAALwBAACeAQAABAAAAAIAAAAAAAAAlQEAAHYCAACdAQAAtgIAAAAAAAAAAAAAvAAAAAAAAAAAAAAAAAAAAHQCAADyAQAAnAIAAAAAAADQAAAA/gAAAGcBAAAAAAAAAAAAACcAAACKAQAA7QAAAD0BAADTAAAABAIAAAAAAAAAAAAADwIAAN4BAAAAAAAAIQIAAEoCAABOAQAAAAAAAKQCAABBAgAAFwEAAFMCAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9ubHkgWE1MIGJhc2VkIGxhbmd1YWdlcykKACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9ubHkgbGFuZ3VhZ2UgQysrKQoAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25seSBsYW5ndWFnZXMgQywgQysrLCBPYmplY3RpdmVDKQoAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25seSBsYW5ndWFnZXMgQywgQysrLCBPYmplY3RpdmVDLCBTaGVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeXRob24sIExpc3AsIEVtYWNzTGlzcCwgbGlicmVwLCBTY2hlbWUsIEphdmEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQyMsIGF3aywgVGNsLCBQZXJsLCBQSFAsIEdDQy1zb3VyY2UsIEdsYWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEx1YSwgSmF2YVNjcmlwdCwgVmFsYSkKACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9ubHkgbGFuZ3VhZ2VzIEMsIEMrKywgT2JqZWN0aXZlQywgU2hlbGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHl0aG9uLCBMaXNwLCBFbWFjc0xpc3AsIGxpYnJlcCwgU2NoZW1lLCBKYXZhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMjLCBhd2ssIFRjbCwgUGVybCwgUEhQLCBHQ0Mtc291cmNlLCBHbGFkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMdWEsIEphdmFTY3JpcHQsIFZhbGEsIERlc2t0b3ApCgAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbmx5IGxhbmd1YWdlcyBDLCBDKyssIE9iamVjdGl2ZUMsIFNoZWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5dGhvbiwgTGlzcCwgRW1hY3NMaXNwLCBsaWJyZXAsIFNjaGVtZSwgSmF2YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDIywgYXdrLCBZQ1AsIFRjbCwgUGVybCwgUEhQLCBHQ0Mtc291cmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEx1YSwgSmF2YVNjcmlwdCwgVmFsYSkKACAgICAgIC0tYmFja3VwPUNPTlRST0wgICAgICAgIG1ha2UgYSBiYWNrdXAgb2YgZGVmLnBvCgAgICAgICAtLWJvb3N0ICAgICAgICAgICAgICAgICByZWNvZ25pemUgQm9vc3QgZm9ybWF0IHN0cmluZ3MKACAgICAgIC0tY2hlY2stYWNjZWxlcmF0b3JzWz1DSEFSXSAgY2hlY2sgcHJlc2VuY2Ugb2Yga2V5Ym9hcmQgYWNjZWxlcmF0b3JzIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbnUgaXRlbXMKACAgICAgIC0tY2hlY2stZG9tYWluICAgICAgICAgIGNoZWNrIGZvciBjb25mbGljdHMgYmV0d2VlbiBkb21haW4gZGlyZWN0aXZlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgLS1vdXRwdXQtZmlsZSBvcHRpb24KACAgICAgIC0tY2hlY2stZm9ybWF0ICAgICAgICAgIGNoZWNrIGxhbmd1YWdlIGRlcGVuZGVudCBmb3JtYXQgc3RyaW5ncwoAICAgICAgLS1jaGVjay1oZWFkZXIgICAgICAgICAgdmVyaWZ5IHByZXNlbmNlIGFuZCBjb250ZW50cyBvZiB0aGUgaGVhZGVyIGVudHJ5CgAgICAgICAtLWNoZWNrPU5BTUUgICAgICAgICAgICBwZXJmb3JtIHN5bnRheCBjaGVjayBvbiBtZXNzYWdlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbGxpcHNpcy11bmljb2RlLCBzcGFjZS1lbGxpcHNpcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGUtdW5pY29kZSwgYnVsbGV0LXVuaWNvZGUpCgAgICAgICAtLWNsZWFyLWZ1enp5ICAgICAgICAgICBzZXQgYWxsIG1lc3NhZ2VzIG5vbi0nZnV6enknCgAgICAgICAtLWNsZWFyLW9ic29sZXRlICAgICAgICBzZXQgYWxsIG1lc3NhZ2VzIG5vbi1vYnNvbGV0ZQoAICAgICAgLS1jbGVhci1wcmV2aW91cyAgICAgICAgcmVtb3ZlIHRoZSAicHJldmlvdXMgbXNnaWQiIGZyb20gYWxsIG1lc3NhZ2VzCgAgICAgICAtLWNvbG9yICAgICAgICAgICAgICAgICB1c2UgY29sb3JzIGFuZCBvdGhlciB0ZXh0IGF0dHJpYnV0ZXMgYWx3YXlzCiAgICAgIC0tY29sb3I9V0hFTiAgICAgICAgICAgIHVzZSBjb2xvcnMgYW5kIG90aGVyIHRleHQgYXR0cmlidXRlcyBpZiBXSEVOLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVOIG1heSBiZSAnYWx3YXlzJywgJ25ldmVyJywgJ2F1dG8nLCBvciAnaHRtbCcuCgAgICAgICAtLWNvcHlyaWdodC1ob2xkZXI9U1RSSU5HICBzZXQgY29weXJpZ2h0IGhvbGRlciBpbiBvdXRwdXQKACAgICAgIC0tY3NoYXJwICAgICAgICAgICAgICAgIEMjIG1vZGU6IGdlbmVyYXRlIGEgLk5FVCAuZGxsIGZpbGUKACAgICAgIC0tY3NoYXJwICAgICAgICAgICAgICAgIEMjIG1vZGU6IGlucHV0IGlzIGEgLk5FVCAuZGxsIGZpbGUKACAgICAgIC0tY3NoYXJwLXJlc291cmNlcyAgICAgIEMjIHJlc291cmNlcyBtb2RlOiBnZW5lcmF0ZSBhIC5ORVQgLnJlc291cmNlcyBmaWxlCgAgICAgICAtLWNzaGFycC1yZXNvdXJjZXMgICAgICBDIyByZXNvdXJjZXMgbW9kZTogaW5wdXQgaXMgYSAuTkVUIC5yZXNvdXJjZXMgZmlsZQoAICAgICAgLS1kZWJ1ZyAgICAgICAgICAgICAgICAgbW9yZSBkZXRhaWxlZCBmb3JtYXRzdHJpbmcgcmVjb2duaXRpb24gcmVzdWx0CgAgICAgICAtLWRlc2t0b3AgICAgICAgICAgICAgICBEZXNrdG9wIEVudHJ5IG1vZGU6IGdlbmVyYXRlIGEgLmRlc2t0b3AgZmlsZQoAICAgICAgLS1lbXB0eSAgICAgICAgICAgICAgICAgd2hlbiByZW1vdmluZyAnZnV6enknLCBhbHNvIHNldCBtc2dzdHIgZW1wdHkKACAgICAgIC0tZW5kaWFubmVzcz1CWVRFT1JERVIgIHdyaXRlIG91dCAzMi1iaXQgbnVtYmVycyBpbiB0aGUgZ2l2ZW4gYnl0ZSBvcmRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiaWcgb3IgbGl0dGxlLCBkZWZhdWx0IGRlcGVuZHMgb24gcGxhdGZvcm0pCgAgICAgICAtLWVzY2FwZSAgICAgICAgICAgICAgICB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCwgbm8gZXh0ZW5kZWQgY2hhcnMKACAgICAgIC0tZmxhZz1XT1JEOkFSRzpGTEFHICAgIGFkZGl0aW9uYWwgZmxhZyBmb3Igc3RyaW5ncyBpbnNpZGUgdGhlIGFyZ3VtZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciBBUkcgb2Yga2V5d29yZCBXT1JECgAgICAgICAtLWZvcmNlLXBvICAgICAgICAgICAgICB3cml0ZSBQTyBmaWxlIGV2ZW4gaWYgZW1wdHkKACAgICAgIC0tZm9yZWlnbi11c2VyICAgICAgICAgIG9taXQgRlNGIGNvcHlyaWdodCBpbiBvdXRwdXQgZm9yIGZvcmVpZ24gdXNlcgoAICAgICAgLS1mcm9tLWNvZGU9TkFNRSAgICAgICAgZW5jb2Rpbmcgb2YgaW5wdXQgZmlsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXhjZXB0IGZvciBQeXRob24sIFRjbCwgR2xhZGUpCgAgICAgICAtLWZ1enp5ICAgICAgICAgICAgICAgICBzeW5vbnltIGZvciAtLW9ubHktZnV6enkgLS1jbGVhci1mdXp6eQoAICAgICAgLS1pZ25vcmUtZmlsZT1GSUxFLnBvICAgbWFuaXB1bGF0ZSBvbmx5IGVudHJpZXMgbm90IGxpc3RlZCBpbiBGSUxFLnBvCgAgICAgICAtLWluZGVudCAgICAgICAgICAgICAgICBpbmRlbnRlZCBvdXRwdXQgc3R5bGUKACAgICAgIC0taXRzPUZJTEUgICAgICAgICAgICAgIGFwcGx5IElUUyBydWxlcyBmcm9tIEZJTEUKACAgICAgIC0taXRzdG9vbCAgICAgICAgICAgICAgIHdyaXRlIG91dCBpdHN0b29sIGNvbW1lbnRzCgAgICAgICAtLWphdmEyICAgICAgICAgICAgICAgICBsaWtlIC0tamF2YSwgYW5kIGFzc3VtZSBKYXZhMiAoSkRLIDEuMiBvciBoaWdoZXIpCgAgICAgICAtLWtkZSAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgS0RFIDQgZm9ybWF0IHN0cmluZ3MKACAgICAgIC0ta2VlcC1oZWFkZXIgICAgICAgICAgIGtlZXAgaGVhZGVyIGVudHJ5IHVubW9kaWZpZWQsIGRvbid0IGZpbHRlciBpdAoAICAgICAgLS1sYW5nPUNBVEFMT0dOQU1FICAgICAgc2V0ICdMYW5ndWFnZScgZmllbGQgaW4gdGhlIGhlYWRlciBlbnRyeQoAICAgICAgLS1tc2dpZC1idWdzLWFkZHJlc3M9RU1BSUxAQUREUkVTUyAgc2V0IHJlcG9ydCBhZGRyZXNzIGZvciBtc2dpZCBidWdzCgAgICAgICAtLW5vLWVzY2FwZSAgICAgICAgICAgICBkbyBub3QgdXNlIEMgZXNjYXBlcyBpbiBvdXRwdXQgKGRlZmF1bHQpCgAgICAgICAtLW5vLWZ1enp5ICAgICAgICAgICAgICByZW1vdmUgJ2Z1enp5JyBtYXJrZWQgbWVzc2FnZXMKACAgICAgIC0tbm8taGFzaCAgICAgICAgICAgICAgIGJpbmFyeSBmaWxlIHdpbGwgbm90IGluY2x1ZGUgdGhlIGhhc2ggdGFibGUKACAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgIGRvIG5vdCB3cml0ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXMKACAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgIHN1cHByZXNzICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lcwoAICAgICAgLS1uby1vYnNvbGV0ZSAgICAgICAgICAgcmVtb3ZlIG9ic29sZXRlICN+IG1lc3NhZ2VzCgAgICAgICAtLW5vLXRyYW5zbGF0b3IgICAgICAgICBhc3N1bWUgdGhlIFBPIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQKACAgICAgIC0tbm8td3JhcCAgICAgICAgICAgICAgIGRvIG5vdCBicmVhayBsb25nIG1lc3NhZ2UgbGluZXMsIGxvbmdlciB0aGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBvdXRwdXQgcGFnZSB3aWR0aCwgaW50byBzZXZlcmFsIGxpbmVzCgAgICAgICAtLW9ic29sZXRlICAgICAgICAgICAgICBzeW5vbnltIGZvciAtLW9ubHktb2Jzb2xldGUgLS1jbGVhci1vYnNvbGV0ZQoAICAgICAgLS1vbWl0LWhlYWRlciAgICAgICAgICAgZG9uJ3Qgd3JpdGUgaGVhZGVyIHdpdGggJ21zZ2lkICIiJyBlbnRyeQoAICAgICAgLS1vbmx5LWZpbGU9RklMRS5wbyAgICAgbWFuaXB1bGF0ZSBvbmx5IGVudHJpZXMgbGlzdGVkIGluIEZJTEUucG8KACAgICAgIC0tb25seS1mdXp6eSAgICAgICAgICAgIGtlZXAgJ2Z1enp5JyBtYXJrZWQgbWVzc2FnZXMKACAgICAgIC0tb25seS1vYnNvbGV0ZSAgICAgICAgIGtlZXAgb2Jzb2xldGUgI34gbWVzc2FnZXMKACAgICAgIC0tcGFja2FnZS1uYW1lPVBBQ0tBR0UgIHNldCBwYWNrYWdlIG5hbWUgaW4gb3V0cHV0CgAgICAgICAtLXBhY2thZ2UtdmVyc2lvbj1WRVJTSU9OICBzZXQgcGFja2FnZSB2ZXJzaW9uIGluIG91dHB1dAoAICAgICAgLS1wcmV2aW91cyAgICAgICAgICAgICAga2VlcCBwcmV2aW91cyBtc2dpZHMgb2YgdHJhbnNsYXRlZCBtZXNzYWdlcwoAICAgICAgLS1wcmV2aW91cyAgICAgICAgICAgICAgd2hlbiBzZXR0aW5nICdmdXp6eScsIGtlZXAgcHJldmlvdXMgbXNnaWRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgbWVzc2FnZXMuCgAgICAgICAtLXByb3BlcnRpZXMtb3V0cHV0ICAgICB3cml0ZSBvdXQgYSBKYXZhIC5wcm9wZXJ0aWVzIGZpbGUKACAgICAgIC0tcXQgICAgICAgICAgICAgICAgICAgIFF0IG1vZGU6IGdlbmVyYXRlIGEgUXQgLnFtIGZpbGUKACAgICAgIC0tcXQgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBRdCBmb3JtYXQgc3RyaW5ncwoAICAgICAgLS1zZW50ZW5jZS1lbmQ9VFlQRSAgICAgdHlwZSBkZXNjcmliaW5nIHRoZSBlbmQgb2Ygc2VudGVuY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2luZ2xlLXNwYWNlLCB3aGljaCBpcyB0aGUgZGVmYXVsdCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGRvdWJsZS1zcGFjZSkKACAgICAgIC0tc2V0LWZ1enp5ICAgICAgICAgICAgIHNldCBhbGwgbWVzc2FnZXMgJ2Z1enp5JwoAICAgICAgLS1zZXQtb2Jzb2xldGUgICAgICAgICAgc2V0IGFsbCBtZXNzYWdlcyBvYnNvbGV0ZQoAICAgICAgLS1zb3J0LWJ5LWZpbGUgICAgICAgICAgc29ydCBvdXRwdXQgYnkgZmlsZSBsb2NhdGlvbgoAICAgICAgLS1zb3J0LW91dHB1dCAgICAgICAgICAgZ2VuZXJhdGUgc29ydGVkIG91dHB1dAoAICAgICAgLS1zb3VyY2UgICAgICAgICAgICAgICAgcHJvZHVjZSBhIC5qYXZhIGZpbGUsIGluc3RlYWQgb2YgYSAuY2xhc3MgZmlsZQoAICAgICAgLS1zdGF0aXN0aWNzICAgICAgICAgICAgcHJpbnQgc3RhdGlzdGljcyBhYm91dCB0cmFuc2xhdGlvbnMKACAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgIGVuYWJsZSBzdHJpY3QgVW5pZm9ydW0gbW9kZQoAICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAgc3RyaWN0IFVuaWZvcnVtIG91dHB1dCBzdHlsZQoAICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAgd3JpdGUgb3V0IHN0cmljdCBVbmlmb3J1bSBjb25mb3JtaW5nIC5wbyBmaWxlCgAgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICB3cml0ZSBzdHJpY3QgdW5pZm9ydW0gc3R5bGUKACAgICAgIC0tc3RyaW5ndGFibGUtaW5wdXQgICAgIGlucHV0IGZpbGUgaXMgaW4gTmVYVHN0ZXAvR05Vc3RlcCAuc3RyaW5ncyBzeW50YXgKACAgICAgIC0tc3RyaW5ndGFibGUtaW5wdXQgICAgIGlucHV0IGZpbGVzIGFyZSBpbiBOZVhUc3RlcC9HTlVzdGVwIC5zdHJpbmdzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bnRheAoAICAgICAgLS1zdHJpbmd0YWJsZS1vdXRwdXQgICAgd3JpdGUgb3V0IGEgTmVYVHN0ZXAvR05Vc3RlcCAuc3RyaW5ncyBmaWxlCgAgICAgICAtLXN0eWxlPVNUWUxFRklMRSAgICAgICBzcGVjaWZ5IENTUyBzdHlsZSBydWxlIGZpbGUgZm9yIC0tY29sb3IKACAgICAgIC0tc3VmZml4PVNVRkZJWCAgICAgICAgIG92ZXJyaWRlIHRoZSB1c3VhbCBiYWNrdXAgc3VmZml4CgAgICAgICAtLXRjbCAgICAgICAgICAgICAgICAgICBUY2wgbW9kZTogZ2VuZXJhdGUgYSB0Y2wvbXNnY2F0IC5tc2cgZmlsZQoAICAgICAgLS10Y2wgICAgICAgICAgICAgICAgICAgVGNsIG1vZGU6IGlucHV0IGlzIGEgdGNsL21zZ2NhdCAubXNnIGZpbGUKACAgICAgIC0tdHJhbnNsYXRlZCAgICAgICAgICAgIGtlZXAgdHJhbnNsYXRlZCwgcmVtb3ZlIHVudHJhbnNsYXRlZCBtZXNzYWdlcwoAICAgICAgLS11bnRyYW5zbGF0ZWQgICAgICAgICAga2VlcCB1bnRyYW5zbGF0ZWQsIHJlbW92ZSB0cmFuc2xhdGVkIG1lc3NhZ2VzCgAgICAgICAtLXVzZS1maXJzdCAgICAgICAgICAgICB1c2UgZmlyc3QgYXZhaWxhYmxlIHRyYW5zbGF0aW9uIGZvciBlYWNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsIGRvbid0IG1lcmdlIHNldmVyYWwgdHJhbnNsYXRpb25zCgAgICAgICAtLXVzZS1mdXp6eSAgICAgICAgICAgICBjb25zaWRlciBmdXp6eSBlbnRyaWVzCgAgICAgICAtLXVzZS11bnRyYW5zbGF0ZWQgICAgICBjb25zaWRlciB1bnRyYW5zbGF0ZWQgZW50cmllcwoAICAgICAgLS14bWwgICAgICAgICAgICAgICAgICAgWE1MIG1vZGU6IGdlbmVyYXRlIFhNTCBmaWxlCgAgIC0tbmV3bGluZSAgICAgICAgICAgICAgICAgICBhZGQgYSBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgaW5wdXQgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlIGEgbmV3bGluZSBmcm9tIHRoZSBlbmQgb2Ygb3V0cHV0ACAgLS1uZXdsaW5lICAgICAgICAgICAgICAgICAgIGFkZCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgaW5wdXQKACAgLS10ZW1wbGF0ZT1URU1QTEFURSAgICAgICAgIGEgLmRlc2t0b3AgZmlsZSB1c2VkIGFzIGEgdGVtcGxhdGUKACAgLS10ZW1wbGF0ZT1URU1QTEFURSAgICAgICAgIGFuIFhNTCBmaWxlIHVzZWQgYXMgYSB0ZW1wbGF0ZQoAICAtPCwgLS1sZXNzLXRoYW49TlVNQkVSICAgICAgcHJpbnQgbWVzc2FnZXMgd2l0aCBsZXNzIHRoYW4gdGhpcyBtYW55CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zLCBkZWZhdWx0cyB0byBpbmZpbml0ZSBpZiBub3Qgc2V0CgAgIC0+LCAtLW1vcmUtdGhhbj1OVU1CRVIgICAgICBwcmludCBtZXNzYWdlcyB3aXRoIG1vcmUgdGhhbiB0aGlzIG1hbnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMsIGRlZmF1bHRzIHRvIDAgaWYgbm90IHNldAoAICAtPiwgLS1tb3JlLXRoYW49TlVNQkVSICAgICAgcHJpbnQgbWVzc2FnZXMgd2l0aCBtb3JlIHRoYW4gdGhpcyBtYW55CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zLCBkZWZhdWx0cyB0byAxIGlmIG5vdCBzZXQKACAgLUMsIC0tYysrICAgICAgICAgICAgICAgICAgIHNob3J0aGFuZCBmb3IgLS1sYW5ndWFnZT1DKysKACAgLUMsIC0tY2hlY2stY29tcGF0aWJpbGl0eSAgIGNoZWNrIHRoYXQgR05VIG1zZ2ZtdCBiZWhhdmVzIGxpa2UgWC9PcGVuIG1zZ2ZtdAoAICAtQywgLS1jb21wZW5kaXVtPUZJTEUgICAgICAgYWRkaXRpb25hbCBsaWJyYXJ5IG9mIG1lc3NhZ2UgdHJhbnNsYXRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXkgYmUgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlCgAgIC1ELCAtLWRpcmVjdG9yeT1ESVJFQ1RPUlkgICBhZGQgRElSRUNUT1JZIHRvIGxpc3QgZm9yIGlucHV0IGZpbGVzIHNlYXJjaAoAICAtRSwgLS1lc2NhcGUgICAgICAgICAgICAgICAgdXNlIEMgZXNjYXBlcyBpbiBvdXRwdXQsIG5vIGV4dGVuZGVkIGNoYXJzCgAgIC1GLCAtLXNvcnQtYnktZmlsZSAgICAgICAgICBzb3J0IG91dHB1dCBieSBmaWxlIGxvY2F0aW9uCgAgIC1MLCAtLWxhbmd1YWdlPU5BTUUgICAgICAgICByZWNvZ25pc2UgdGhlIHNwZWNpZmllZCBYTUwgbGFuZ3VhZ2UKACAgLUwsIC0tbGFuZ3VhZ2U9TkFNRSAgICAgICAgIHJlY29nbmlzZSB0aGUgc3BlY2lmaWVkIGxhbmd1YWdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEMsIEMrKywgT2JqZWN0aXZlQywgUE8sIFNoZWxsLCBQeXRob24sIExpc3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW1hY3NMaXNwLCBsaWJyZXAsIFNjaGVtZSwgU21hbGx0YWxrLCBKYXZhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEphdmFQcm9wZXJ0aWVzLCBDIywgYXdrLCBZQ1AsIFRjbCwgUGVybCwgUEhQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDQy1zb3VyY2UsIE5YU3RyaW5nVGFibGUsIFJTVCwgR2xhZGUsIEx1YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKYXZhU2NyaXB0LCBWYWxhLCBEZXNrdG9wKQoAICAtTVtTVFJJTkddLCAtLW1zZ3N0ci1zdWZmaXhbPVNUUklOR10gIHVzZSBTVFJJTkcgb3IgIiIgYXMgc3VmZml4IGZvciBtc2dzdHIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMKACAgLU4sIC0tbm8tZnV6enktbWF0Y2hpbmcgICAgIGRvIG5vdCB1c2UgZnV6enkgbWF0Y2hpbmcKACAgLVAsIC0tcHJvcGVydGllcy1pbnB1dCAgICAgIGlucHV0IGZpbGUgaXMgaW4gSmF2YSAucHJvcGVydGllcyBzeW50YXgKACAgLVAsIC0tcHJvcGVydGllcy1pbnB1dCAgICAgIGlucHV0IGZpbGVzIGFyZSBpbiBKYXZhIC5wcm9wZXJ0aWVzIHN5bnRheAoAICAtVCwgLS10cmlncmFwaHMgICAgICAgICAgICAgdW5kZXJzdGFuZCBBTlNJIEMgdHJpZ3JhcGhzIGZvciBpbnB1dAoAICAtVSwgLS11cGRhdGUgICAgICAgICAgICAgICAgdXBkYXRlIGRlZi5wbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90aGluZyBpZiBkZWYucG8gYWxyZWFkeSB1cCB0byBkYXRlCgAgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdAoAICAtYSwgLS1hbGlnbm1lbnQ9TlVNQkVSICAgICAgYWxpZ24gc3RyaW5ncyB0byBOVU1CRVIgYnl0ZXMgKGRlZmF1bHQ6ICVkKQoAICAtYSwgLS1leHRyYWN0LWFsbCAgICAgICAgICAgZXh0cmFjdCBhbGwgc3RyaW5ncwoAICAtYywgLS1jaGVjayAgICAgICAgICAgICAgICAgcGVyZm9ybSBhbGwgdGhlIGNoZWNrcyBpbXBsaWVkIGJ5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1jaGVjay1mb3JtYXQsIC0tY2hlY2staGVhZGVyLCAtLWNoZWNrLWRvbWFpbgoAICAtYywgLS1jbGRyICAgICAgICAgICAgICAgICAgcHJpbnQgcGx1cmFsIHJ1bGVzIGluIHRoZSBDTERSIGZvcm1hdAoAICAtY1RBRywgLS1hZGQtY29tbWVudHM9VEFHICAgcGxhY2UgY29tbWVudCBibG9ja3Mgc3RhcnRpbmcgd2l0aCBUQUcgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlY2VkaW5nIGtleXdvcmQgbGluZXMgaW4gb3V0cHV0IGZpbGUKICAtYywgLS1hZGQtY29tbWVudHMgICAgICAgICAgcGxhY2UgYWxsIGNvbW1lbnQgYmxvY2tzIHByZWNlZGluZyBrZXl3b3JkIGxpbmVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gb3V0cHV0IGZpbGUKACAgLWQgRElSRUNUT1JZICAgICAgICAgICAgICAgIGJhc2UgZGlyZWN0b3J5IGZvciBsb2NhbGUgZGVwZW5kZW50IC5kbGwgZmlsZXMKACAgLWQgRElSRUNUT1JZICAgICAgICAgICAgICAgIGJhc2UgZGlyZWN0b3J5IG9mIC5tc2cgbWVzc2FnZSBjYXRhbG9ncwoAICAtZCBESVJFQ1RPUlkgICAgICAgICAgICAgICAgYmFzZSBkaXJlY3Rvcnkgb2YgLnBvIGZpbGVzCgAgIC1kIERJUkVDVE9SWSAgICAgICAgICAgICAgICBiYXNlIGRpcmVjdG9yeSBvZiBjbGFzc2VzIGRpcmVjdG9yeSBoaWVyYXJjaHkKACAgLWQsIC0tZGVmYXVsdC1kb21haW49TkFNRSAgIHVzZSBOQU1FLnBvIGZvciBvdXRwdXQgKGluc3RlYWQgb2YgbWVzc2FnZXMucG8pCgAgIC1kLCAtLXJlcGVhdGVkICAgICAgICAgICAgICBwcmludCBvbmx5IGR1cGxpY2F0ZXMKACAgLWUsIC0tZXhwcmVzc2lvbj1TQ1JJUFQgICAgIGFkZCBTQ1JJUFQgdG8gdGhlIGNvbW1hbmRzIHRvIGJlIGV4ZWN1dGVkCgAgIC1lLCAtLW5vLWVzY2FwZSAgICAgICAgICAgICBkbyBub3QgdXNlIEMgZXNjYXBlcyBpbiBvdXRwdXQgKGRlZmF1bHQpCgAgIC1mLCAtLWZpbGU9U0NSSVBURklMRSAgICAgICBhZGQgdGhlIGNvbnRlbnRzIG9mIFNDUklQVEZJTEUgdG8gdGhlIGNvbW1hbmRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgZXhlY3V0ZWQKACAgLWYsIC0tZmlsZXMtZnJvbT1GSUxFICAgICAgIGdldCBsaXN0IG9mIGlucHV0IGZpbGVzIGZyb20gRklMRQoAICAtZiwgLS1mcWRuLCAtLWxvbmcgICAgICAgICAgbG9uZyBob3N0IG5hbWUsIGluY2x1ZGVzIGZ1bGx5IHF1YWxpZmllZCBkb21haW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBhbmQgYWxpYXNlcwoAICAtZiwgLS11c2UtZnV6enkgICAgICAgICAgICAgdXNlIGZ1enp5IGVudHJpZXMgaW4gb3V0cHV0CgAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdAoAICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAgICAgaW5kZW50ZWQgb3V0cHV0IHN0eWxlCgAgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICB3cml0ZSBpbmRlbnRlZCBvdXRwdXQgc3R5bGUKACAgLWksIC0taW5kZW50ICAgICAgICAgICAgICAgIHdyaXRlIHRoZSAucG8gZmlsZSB1c2luZyBpbmRlbnRlZCBzdHlsZQoAICAtaSwgLS1pbnB1dD1JTlBVVEZJTEUgICAgICAgaW5wdXQgUE8gZmlsZQoAICAtaSwgLS1pbnB1dD1JTlBVVEZJTEUgICAgICAgaW5wdXQgUE9UIGZpbGUKACAgLWksIC0taXAtYWRkcmVzcyAgICAgICAgICAgIGFkZHJlc3NlcyBmb3IgdGhlIGhvc3RuYW1lCgAgIC1qLCAtLWphdmEgICAgICAgICAgICAgICAgICBKYXZhIG1vZGU6IGdlbmVyYXRlIGEgSmF2YSBSZXNvdXJjZUJ1bmRsZSBjbGFzcwoAICAtaiwgLS1qYXZhICAgICAgICAgICAgICAgICAgSmF2YSBtb2RlOiBpbnB1dCBpcyBhIEphdmEgUmVzb3VyY2VCdW5kbGUgY2xhc3MKACAgLWosIC0tam9pbi1leGlzdGluZyAgICAgICAgIGpvaW4gbWVzc2FnZXMgd2l0aCBleGlzdGluZyBmaWxlCgAgIC1rV09SRCwgLS1rZXl3b3JkPVdPUkQgICAgICBsb29rIGZvciBXT1JEIGFzIGFuIGFkZGl0aW9uYWwga2V5d29yZAogIC1rLCAtLWtleXdvcmQgICAgICAgICAgICAgICBkbyBub3QgdG8gdXNlIGRlZmF1bHQga2V5d29yZHMKACAgLWwsIC0tbG9jYWxlPUxMX0NDICAgICAgICAgIHNldCB0YXJnZXQgbG9jYWxlCgAgIC1sLCAtLWxvY2FsZT1MT0NBTEUgICAgICAgICBsb2NhbGUgbmFtZSwgZWl0aGVyIGxhbmd1YWdlIG9yIGxhbmd1YWdlX0NPVU5UUlkKACAgLW0sIC0tbXVsdGktZG9tYWluICAgICAgICAgIGFwcGx5IHJlZi5wb3QgdG8gZWFjaCBvZiB0aGUgZG9tYWlucyBpbiBkZWYucG8KACAgLW1bU1RSSU5HXSwgLS1tc2dzdHItcHJlZml4Wz1TVFJJTkddICB1c2UgU1RSSU5HIG9yICIiIGFzIHByZWZpeCBmb3IgbXNnc3RyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzCgAgIC1uLCAtLWFkZC1sb2NhdGlvbiAgICAgICAgICBnZW5lcmF0ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXMgKGRlZmF1bHQpCgAgIC1uLCAtLWFkZC1sb2NhdGlvbiAgICAgICAgICBwcmVzZXJ2ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXMgKGRlZmF1bHQpCgAgIC1uLCAtLXF1aWV0LCAtLXNpbGVudCAgICAgICBzdXBwcmVzcyBhdXRvbWF0aWMgcHJpbnRpbmcgb2YgcGF0dGVybiBzcGFjZQoAICAtbywgLS1vdXRwdXQtZmlsZT1GSUxFICAgICAgd3JpdGUgb3V0cHV0IHRvIHNwZWNpZmllZCBQTyBmaWxlCgAgIC1vLCAtLW91dHB1dC1maWxlPUZJTEUgICAgICB3cml0ZSBvdXRwdXQgdG8gc3BlY2lmaWVkIGZpbGUKACAgLW8sIC0tb3V0cHV0PUZJTEUgICAgICAgICAgIHdyaXRlIG91dHB1dCB0byBzcGVjaWZpZWQgZmlsZQoAICAtcCwgLS1vdXRwdXQtZGlyPURJUiAgICAgICAgb3V0cHV0IGZpbGVzIHdpbGwgYmUgcGxhY2VkIGluIGRpcmVjdG9yeSBESVIKACAgLXAsIC0tcHJvcGVydGllcy1vdXRwdXQgICAgIHdyaXRlIG91dCBhIEphdmEgLnByb3BlcnRpZXMgZmlsZQoAICAtcSwgLS1xdWlldCwgLS1zaWxlbnQgICAgICAgc3VwcHJlc3MgcHJvZ3Jlc3MgaW5kaWNhdG9ycwoAICAtciwgLS1yZXNvdXJjZT1SRVNPVVJDRSAgICAgcmVzb3VyY2UgbmFtZQoAICAtcywgLS1zaG9ydCAgICAgICAgICAgICAgICAgc2hvcnQgaG9zdCBuYW1lCgAgIC1zLCAtLXNvcnQtb3V0cHV0ICAgICAgICAgICBnZW5lcmF0ZSBzb3J0ZWQgb3V0cHV0CgAgIC10LCAtLXRvLWNvZGU9TkFNRSAgICAgICAgICBlbmNvZGluZyBmb3Igb3V0cHV0CgAgIC11LCAtLXVuaXF1ZSAgICAgICAgICAgICAgICBwcmludCBvbmx5IHVuaXF1ZSBtZXNzYWdlcywgZGlzY2FyZCBkdXBsaWNhdGVzCgAgIC11LCAtLXVuaXF1ZSAgICAgICAgICAgICAgICBzaG9ydGhhbmQgZm9yIC0tbGVzcy10aGFuPTIsIHJlcXVlc3RzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgb25seSB1bmlxdWUgbWVzc2FnZXMgYmUgcHJpbnRlZAoAICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5IGxldmVsCgAgIC13LCAtLXdpZHRoPU5VTUJFUiAgICAgICAgICBzZXQgb3V0cHV0IHBhZ2Ugd2lkdGgKACAgLXgsIC0tZXhjbHVkZS1maWxlPUZJTEUucG8gIGVudHJpZXMgZnJvbSBGSUxFLnBvIGFyZSBub3QgZXh0cmFjdGVkCgAgIEZJTEUgLi4uICAgICAgICAgICAgICAgICAgICBpbnB1dCAubW8gZmlsZXMKACAgSU5QVVRGSUxFICAgICAgICAgICAgICAgICAgIGlucHV0IFBPIGZpbGUKACAgSU5QVVRGSUxFICAgICAgICAgICAgICAgICAgIGlucHV0IFBPIG9yIFBPVCBmaWxlCgAgIElOUFVURklMRSAuLi4gICAgICAgICAgICAgICBpbnB1dCBmaWxlcwoAICBkZWYucG8gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zCgAgIGRlZi5wbyAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbnMgcmVmZXJyaW5nIHRvIG9sZCBzb3VyY2VzCgAgIGZpbGVuYW1lLnBvIC4uLiAgICAgICAgICAgICBpbnB1dCBmaWxlcwoAICByZWYucG90ICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlcyB0byBuZXcgc291cmNlcwoAICByZWYucG90ICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlcyB0byB0aGUgc291cmNlcwoAIGRvbmUuCgAgZmFpbGVkLgoAIHRpbWVkIG91dC4KACIlcyIgbm9kZSBkb2VzIG5vdCBjb250YWluICIlcyIAIiVzIiBub2RlIGRvZXMgbm90IGhhdmUgIiVzIgAlZCB0cmFuc2xhdGVkIG1lc3NhZ2UAJWQgdHJhbnNsYXRlZCBtZXNzYWdlcwAlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZQAlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBpbiAlcwAlcyBhbmQgZXhwbGljaXQgZmlsZSBuYW1lcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlACVzIGNhbm5vdCBiZSByZWFkACVzIGRvZXMgbm90IGV4aXN0ACVzIGV4aXN0cyBidXQgY2Fubm90IHJlYWQAJXMgaXMgb25seSB2YWxpZCB3aXRoICVzACVzIGlzIG9ubHkgdmFsaWQgd2l0aCAlcyBvciAlcwAlcyBpcyBvbmx5IHZhbGlkIHdpdGggJXMsICVzIG9yICVzACVzIHJlcXVpcmVzIGEgIi0tdGVtcGxhdGUgdGVtcGxhdGUiIHNwZWNpZmljYXRpb24AJXMgcmVxdWlyZXMgYSAiLWQgZGlyZWN0b3J5IiBzcGVjaWZpY2F0aW9uACVzIHJlcXVpcmVzIGEgIi1sIGxvY2FsZSIgc3BlY2lmaWNhdGlvbgAlcyByZXF1aXJlcyBhICItbyBmaWxlIiBzcGVjaWZpY2F0aW9uACVzIHN1YnByb2Nlc3MAJXMgc3VicHJvY2VzcyBJL08gZXJyb3IAJXMgc3VicHJvY2VzcyBmYWlsZWQAJXMgc3VicHJvY2VzcyBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJWQAJXMgc3VicHJvY2VzcyBnb3QgZmF0YWwgc2lnbmFsICVkACVzIHN1YnByb2Nlc3MgdGVybWluYXRlZCB3aXRoIGV4aXQgY29kZSAlZAAlcyVzOiB3YXJuaW5nOiAAJXM6IAAlczogZXJyb3Igd2hpbGUgY29udmVydGluZyBmcm9tICIlcyIgZW5jb2RpbmcgdG8gIiVzIiBlbmNvZGluZwAlczogaW5wdXQgaXMgbm90IHZhbGlkIGluICIlcyIgZW5jb2RpbmcAJXM6IGludmFsaWQgb3B0aW9uIC0tICclYycKACVzOiBvcHRpb24gJyVjJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnQKACVzOiBvcHRpb24gJyVzJyBpcyBhbWJpZ3VvdXMKACVzOiBvcHRpb24gJyVzJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ACVzOiBvcHRpb24gJy0tJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnQKACVzOiBvcHRpb24gJy0tJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50CgAlczogb3B0aW9uICctVyAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudAoAJXM6IG9wdGlvbiAnLVcgJXMnIGlzIGFtYmlndW91cwoAJXM6IG9wdGlvbiAnLVcgJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50CgAlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICclYycKACVzOiB1bnJlY29nbml6ZWQgb3B0aW9uICclYyVzJwoAJXM6IHVucmVjb2duaXplZCBvcHRpb24gJy0tJXMnCgAlczogd2FybmluZzogc291cmNlIGZpbGUgY29udGFpbnMgZnV6enkgdHJhbnNsYXRpb24AJXM6JWQ6IEluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlIGF0IGVuZCBvZiBmaWxlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZQoAJXM6JWQ6IEluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlIGF0IGVuZCBvZiBmaWxlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZSBvciB0aHJvdWdoIGEKY29tbWVudCBhcyBzcGVjaWZpZWQgaW4gaHR0cDovL3d3dy5weXRob24ub3JnL3BlcHMvcGVwLTAyNjMuaHRtbC4KACVzOiVkOiBJbmNvbXBsZXRlIG11bHRpYnl0ZSBzZXF1ZW5jZSBhdCBlbmQgb2YgZmlsZS4KUGxlYXNlIHNwZWNpZnkgdGhlIGNvcnJlY3Qgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUuCgAlczolZDogSW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UgYXQgZW5kIG9mIGxpbmUuClBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlCgAlczolZDogSW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UgYXQgZW5kIG9mIGxpbmUuClBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlIG9yIHRocm91Z2ggYQpjb21tZW50IGFzIHNwZWNpZmllZCBpbiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcGVwcy9wZXAtMDI2My5odG1sLgoAJXM6JWQ6IEluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlIGF0IGVuZCBvZiBsaW5lLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZS4KACVzOiVkOiBJbnZhbGlkIG11bHRpYnl0ZSBzZXF1ZW5jZS4KUGxlYXNlIHNwZWNpZnkgdGhlIGNvcnJlY3Qgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUKACVzOiVkOiBJbnZhbGlkIG11bHRpYnl0ZSBzZXF1ZW5jZS4KUGxlYXNlIHNwZWNpZnkgdGhlIGNvcnJlY3Qgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUgb3IgdGhyb3VnaCBhCmNvbW1lbnQgYXMgc3BlY2lmaWVkIGluIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9wZXBzL3BlcC0wMjYzLmh0bWwuCgAlczolZDogSW52YWxpZCBtdWx0aWJ5dGUgc2VxdWVuY2UuClBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlLgoAJXM6JWQ6IEludmFsaWQgbXVsdGlieXRlIHNlcXVlbmNlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUKACVzOiVkOiBJbnZhbGlkIG11bHRpYnl0ZSBzZXF1ZW5jZS4KUGxlYXNlIHNwZWNpZnkgdGhlIHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlIG9yIHRocm91Z2ggYSBjb21tZW50CmFzIHNwZWNpZmllZCBpbiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcGVwcy9wZXAtMDI2My5odG1sLgoAJXM6JWQ6IEludmFsaWQgbXVsdGlieXRlIHNlcXVlbmNlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUuCgAlczolZDogTG9uZyBpbmNvbXBsZXRlIG11bHRpYnl0ZSBzZXF1ZW5jZS4KUGxlYXNlIHNwZWNpZnkgdGhlIGNvcnJlY3Qgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUKACVzOiVkOiBMb25nIGluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZSBvciB0aHJvdWdoIGEKY29tbWVudCBhcyBzcGVjaWZpZWQgaW4gaHR0cDovL3d3dy5weXRob24ub3JnL3BlcHMvcGVwLTAyNjMuaHRtbC4KACVzOiVkOiBMb25nIGluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZS4KACVzOiVkOiBjYW4ndCBmaW5kIHN0cmluZyB0ZXJtaW5hdG9yICIlcyIgYW55d2hlcmUgYmVmb3JlIEVPRgAlczolZDogaWNvbnYgZmFpbHVyZQAlczolZDogaW52YWxpZCBpbnRlcnBvbGF0aW9uICgiXEwiKSBvZiA4Yml0IGNoYXJhY3RlciAiJWMiACVzOiVkOiBpbnZhbGlkIGludGVycG9sYXRpb24gKCJcVSIpIG9mIDhiaXQgY2hhcmFjdGVyICIlYyIAJXM6JWQ6IGludmFsaWQgaW50ZXJwb2xhdGlvbiAoIlxsIikgb2YgOGJpdCBjaGFyYWN0ZXIgIiVjIgAlczolZDogaW52YWxpZCBpbnRlcnBvbGF0aW9uICgiXHUiKSBvZiA4Yml0IGNoYXJhY3RlciAiJWMiACVzOiVkOiBpbnZhbGlkIHN0cmluZyBkZWZpbml0aW9uACVzOiVkOiBpbnZhbGlkIHN0cmluZyBleHByZXNzaW9uACVzOiVkOiBpbnZhbGlkIHZhcmlhYmxlIGludGVycG9sYXRpb24gYXQgIiVjIgAlczolZDogbWlzc2luZyBudW1iZXIgYWZ0ZXIgIwAlczolZDogbWlzc2luZyByaWdodCBicmFjZSBvbiBceHtIRVhOVU1CRVJ9ACVzOiVkOiB3YXJuaW5nOiAlcyBpcyBub3QgYWxsb3dlZAAlczolZDogd2FybmluZzogJyknIGZvdW5kIHdoZXJlICd9JyB3YXMgZXhwZWN0ZWQAJXM6JWQ6IHdhcm5pbmc6ICd9JyBmb3VuZCB3aGVyZSAnKScgd2FzIGV4cGVjdGVkACVzOiVkOiB3YXJuaW5nOiBSZWdFeHAgbGl0ZXJhbCB0ZXJtaW5hdGVkIHRvbyBlYXJseQAlczolZDogd2FybmluZzogaW52YWxpZCBVbmljb2RlIGNoYXJhY3RlcgAlczolZDogd2FybmluZzogbG9uZSBzdXJyb2dhdGUgVSslMDRYACVzOiVkOiB3YXJuaW5nOiByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbCB0ZXJtaW5hdGVkIHRvbyBlYXJseQAlczolZDogd2FybmluZzogdW50ZXJtaW5hdGVkIFhNTCBtYXJrdXAAJXM6JWQ6IHdhcm5pbmc6IHVudGVybWluYXRlZCBjaGFyYWN0ZXIgY29uc3RhbnQAJXM6JWQ6IHdhcm5pbmc6IHVudGVybWluYXRlZCByZWd1bGFyIGV4cHJlc3Npb24AJXM6JWQ6IHdhcm5pbmc6IHVudGVybWluYXRlZCBzdHJpbmcAJXM6JWQ6IHdhcm5pbmc6IHVudGVybWluYXRlZCBzdHJpbmcgY29uc3RhbnQAJXM6JWQ6IHdhcm5pbmc6IHVudGVybWluYXRlZCBzdHJpbmcgbGl0ZXJhbAAlczolbHU6IHdhcm5pbmc6IHRoZSBzeW50YXggJCIuLi4iIGlzIGRlcHJlY2F0ZWQgZHVlIHRvIHNlY3VyaXR5IHJlYXNvbnM7IHVzZSBldmFsX2dldHRleHQgaW5zdGVhZAAlc1JlYWQgJWxkIG9sZCArICVsZCByZWZlcmVuY2UsIG1lcmdlZCAlbGQsIGZ1enppZWQgJWxkLCBtaXNzaW5nICVsZCwgb2Jzb2xldGUgJWxkLgoAJwAnJXMnIGRvZXMgbm90IHVzZSAlJUMgYnV0ICclcycgdXNlcyAlJUMAJyVzJyBkb2VzIG5vdCB1c2UgJSVtIGJ1dCAnJXMnIHVzZXMgJSVtACclcycgZm9ybWF0IHN0cmluZyB3aXRoIHVubmFtZWQgYXJndW1lbnRzIGNhbm5vdCBiZSBwcm9wZXJseSBsb2NhbGl6ZWQ6ClRoZSB0cmFuc2xhdG9yIGNhbm5vdCByZW9yZGVyIHRoZSBhcmd1bWVudHMuClBsZWFzZSBjb25zaWRlciB1c2luZyBhIGZvcm1hdCBzdHJpbmcgd2l0aCBuYW1lZCBhcmd1bWVudHMsCmFuZCBhIG1hcHBpbmcgaW5zdGVhZCBvZiBhIHR1cGxlIGZvciB0aGUgYXJndW1lbnRzLgoAJyVzJyBpcyBhIHNpbXBsZSBmb3JtYXQgc3RyaW5nLCBidXQgJyVzJyBpcyBub3Q6IGl0IGNvbnRhaW5zIGFuICdMJyBmbGFnIG9yIGEgZG91YmxlLWRpZ2l0IGFyZ3VtZW50IG51bWJlcgAnJXMnIGlzIG5vdCBhIHZhbGlkICVzIGZvcm1hdCBzdHJpbmcsIHVubGlrZSAnJXMnLiBSZWFzb246ICVzACclcycgaXMgbm90IGEgdmFsaWQgZW5jb2RpbmcgbmFtZS4gIFVzaW5nIEFTQ0lJIGFzIGZhbGxiYWNrLgoAJyVzJyBpcyBub3QgYSB2YWxpZCBuYW1lOiAlYwAnJXMnIGlzIG5vdCBhIHZhbGlkIG5hbWU6ICclYycAJyVzJyB1c2VzICUlQyBidXQgJyVzJyBkb2Vzbid0ACclcycgdXNlcyAlJW0gYnV0ICclcycgZG9lc24ndAAnZG9tYWluICVzJyBkaXJlY3RpdmUgaWdub3JlZAAnbXNnaWQnIGFuZCAnbXNnaWRfcGx1cmFsJyBlbnRyaWVzIGRvIG5vdCBib3RoIGJlZ2luIHdpdGggJ1xuJwAnbXNnaWQnIGFuZCAnbXNnaWRfcGx1cmFsJyBlbnRyaWVzIGRvIG5vdCBib3RoIGVuZCB3aXRoICdcbicAJ21zZ2lkJyBhbmQgJ21zZ3N0cicgZW50cmllcyBkbyBub3QgYm90aCBiZWdpbiB3aXRoICdcbicAJ21zZ2lkJyBhbmQgJ21zZ3N0cicgZW50cmllcyBkbyBub3QgYm90aCBlbmQgd2l0aCAnXG4nACdtc2dpZCcgYW5kICdtc2dzdHJbJXVdJyBlbnRyaWVzIGRvIG5vdCBib3RoIGJlZ2luIHdpdGggJ1xuJwAnbXNnaWQnIGFuZCAnbXNnc3RyWyV1XScgZW50cmllcyBkbyBub3QgYm90aCBlbmQgd2l0aCAnXG4nACwgJWQgZnV6enkgdHJhbnNsYXRpb24ALCAlZCBmdXp6eSB0cmFuc2xhdGlvbnMALCAlZCB1bnRyYW5zbGF0ZWQgbWVzc2FnZQAsICVkIHVudHJhbnNsYXRlZCBtZXNzYWdlcwAtIENvbnZlcnQgdGhlIHRyYW5zbGF0aW9uIGNhdGFsb2cgdG8gJXMgdXNpbmcgJ21zZ2NvbnYnLAogIHRoZW4gYXBwbHkgJyVzJywKICB0aGVuIGNvbnZlcnQgYmFjayB0byAlcyB1c2luZyAnbXNnY29udicuCgAtIFNldCBMQ19BTEwgdG8gYSBsb2NhbGUgd2l0aCBlbmNvZGluZyAlcywKICBjb252ZXJ0IHRoZSB0cmFuc2xhdGlvbiBjYXRhbG9nIHRvICVzIHVzaW5nICdtc2djb252JywKICB0aGVuIGFwcGx5ICclcycsCiAgdGhlbiBjb252ZXJ0IGJhY2sgdG8gJXMgdXNpbmcgJ21zZ2NvbnYnLgoALSBTZXQgTENfQUxMIHRvIGEgbG9jYWxlIHdpdGggZW5jb2RpbmcgJXMuCgAtLWpvaW4tZXhpc3RpbmcgY2Fubm90IGJlIHVzZWQgd2hlbiBvdXRwdXQgaXMgd3JpdHRlbiB0byBzdGRvdXQALi4uYnV0IHRoaXMgZGVmaW5pdGlvbiBpcyBzaW1pbGFyADxzdGRpbj4APHVubmFtZWQ+AEEgLS1mbGFnIGFyZ3VtZW50IGRvZXNuJ3QgaGF2ZSB0aGUgPGtleXdvcmQ+OjxhcmdudW0+OltwYXNzLV08ZmxhZz4gc3ludGF4OiAlcwBBIHNwZWNpYWwgYnVpbHRpbiBjb21tYW5kIGNhbGxlZCAnMCcgb3V0cHV0cyB0aGUgdHJhbnNsYXRpb24sIGZvbGxvd2VkIGJ5IGEKbnVsbCBieXRlLiAgVGhlIG91dHB1dCBvZiAibXNnZXhlYyAwIiBpcyBzdWl0YWJsZSBhcyBpbnB1dCBmb3IgInhhcmdzIC0wIi4KAEFTQ0lJIGJ1bGxldCAoJyVjJykgaW5zdGVhZCBvZiBVbmljb2RlAEFTQ0lJIGRvdWJsZSBxdW90ZSB1c2VkIGluc3RlYWQgb2YgVW5pY29kZQBBU0NJSSBlbGxpcHNpcyAoJy4uLicpIGluc3RlYWQgb2YgVW5pY29kZQBBU0NJSSBzaW5nbGUgcXVvdGUgdXNlZCBpbnN0ZWFkIG9mIFVuaWNvZGUAQWx0aG91Z2ggYmVpbmcgdXNlZCBpbiBhIGZvcm1hdCBzdHJpbmcgcG9zaXRpb24sIHRoZSAlcyBpcyBub3QgYSB2YWxpZCAlcyBmb3JtYXQgc3RyaW5nLiBSZWFzb246ICVzCgBBbHRob3VnaCBkZWNsYXJlZCBhcyBzdWNoLCB0aGUgJXMgaXMgbm90IGEgdmFsaWQgJXMgZm9ybWF0IHN0cmluZy4gUmVhc29uOiAlcwoAQXBwbGllcyBhIGNvbW1hbmQgdG8gYWxsIHRyYW5zbGF0aW9ucyBvZiBhIHRyYW5zbGF0aW9uIGNhdGFsb2cuClRoZSBDT01NQU5EIGNhbiBiZSBhbnkgcHJvZ3JhbSB0aGF0IHJlYWRzIGEgdHJhbnNsYXRpb24gZnJvbSBzdGFuZGFyZAppbnB1dC4gIEl0IGlzIGludm9rZWQgb25jZSBmb3IgZWFjaCB0cmFuc2xhdGlvbi4gIEl0cyBvdXRwdXQgYmVjb21lcwptc2dleGVjJ3Mgb3V0cHV0LiAgbXNnZXhlYydzIHJldHVybiBjb2RlIGlzIHRoZSBtYXhpbXVtIHJldHVybiBjb2RlCmFjcm9zcyBhbGwgaW52b2NhdGlvbnMuCgBBcHBsaWVzIGEgZmlsdGVyIHRvIGFsbCB0cmFuc2xhdGlvbnMgb2YgYSB0cmFuc2xhdGlvbiBjYXRhbG9nLgoAQXR0cmlidXRlIG1hbmlwdWxhdGlvbjoKAEJydW5vIEhhaWJsZQBCeSBkZWZhdWx0IHRoZSBpbnB1dCBmaWxlcyBhcmUgYXNzdW1lZCB0byBiZSBpbiBBU0NJSS4KAEJ5IGRlZmF1bHQgdGhlIGxhbmd1YWdlIGlzIGd1ZXNzZWQgZGVwZW5kaW5nIG9uIHRoZSBpbnB1dCBmaWxlIG5hbWUgZXh0ZW5zaW9uLgoAQyMgY29tcGlsZXIgbm90IGZvdW5kLCB0cnkgaW5zdGFsbGluZyBwbmV0AEMjIHZpcnR1YWwgbWFjaGluZSBub3QgZm91bmQsIHRyeSBpbnN0YWxsaW5nIHBuZXQAQ2Fubm90IGNvbnZlcnQgZnJvbSAiJXMiIHRvICIlcyIuICVzIHJlbGllcyBvbiBpY29udigpLCBhbmQgaWNvbnYoKSBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgY29udmVyc2lvbi4AQ2Fubm90IGNvbnZlcnQgZnJvbSAiJXMiIHRvICIlcyIuICVzIHJlbGllcyBvbiBpY29udigpLiBUaGlzIHZlcnNpb24gd2FzIGJ1aWx0IHdpdGhvdXQgaWNvbnYoKS4AQ2Fubm90IG91dHB1dCBtdWx0aXBsZSB0cmFuc2xhdGlvbiBkb21haW5zIGludG8gYSBzaW5nbGUgZmlsZSB3aXRoIHRoZSBzcGVjaWZpZWQgb3V0cHV0IGZvcm1hdC4AQ2Fubm90IG91dHB1dCBtdWx0aXBsZSB0cmFuc2xhdGlvbiBkb21haW5zIGludG8gYSBzaW5nbGUgZmlsZSB3aXRoIHRoZSBzcGVjaWZpZWQgb3V0cHV0IGZvcm1hdC4gVHJ5IHVzaW5nIFBPIGZpbGUgc3ludGF4IGluc3RlYWQuAENoYXJzZXQgIiVzIiBpcyBub3QgYSBwb3J0YWJsZSBlbmNvZGluZyBuYW1lLgpNZXNzYWdlIGNvbnZlcnNpb24gdG8gdXNlcidzIGNoYXJzZXQgbWlnaHQgbm90IHdvcmsuCgBDaGFyc2V0ICIlcyIgaXMgbm90IHN1cHBvcnRlZC4gJXMgcmVsaWVzIG9uIGljb252KCksCmFuZCBpY29udigpIGRvZXMgbm90IHN1cHBvcnQgIiVzIi4KAENoYXJzZXQgIiVzIiBpcyBub3Qgc3VwcG9ydGVkLiAlcyByZWxpZXMgb24gaWNvbnYoKS4KVGhpcyB2ZXJzaW9uIHdhcyBidWlsdCB3aXRob3V0IGljb252KCkuCgBDaGFyc2V0IG1pc3NpbmcgaW4gaGVhZGVyLgpNZXNzYWdlIGNvbnZlcnNpb24gdG8gdXNlcidzIGNoYXJzZXQgd2lsbCBub3Qgd29yay4KAENob2ljZSBvZiBpbnB1dCBmaWxlIGxhbmd1YWdlOgoAQ29tbWFuZCBpbnB1dDoKAENvbXBhcmUgdHdvIFVuaWZvcnVtIHN0eWxlIC5wbyBmaWxlcyB0byBjaGVjayB0aGF0IGJvdGggY29udGFpbiB0aGUgc2FtZQpzZXQgb2YgbXNnaWQgc3RyaW5ncy4gIFRoZSBkZWYucG8gZmlsZSBpcyBhbiBleGlzdGluZyBQTyBmaWxlIHdpdGggdGhlCnRyYW5zbGF0aW9ucy4gIFRoZSByZWYucG90IGZpbGUgaXMgdGhlIGxhc3QgY3JlYXRlZCBQTyBmaWxlLCBvciBhIFBPIFRlbXBsYXRlCmZpbGUgKGdlbmVyYWxseSBjcmVhdGVkIGJ5IHhnZXR0ZXh0KS4gIFRoaXMgaXMgdXNlZnVsIGZvciBjaGVja2luZyB0aGF0CnlvdSBoYXZlIHRyYW5zbGF0ZWQgZWFjaCBhbmQgZXZlcnkgbWVzc2FnZSBpbiB5b3VyIHByb2dyYW0uICBXaGVyZSBhbiBleGFjdAptYXRjaCBjYW5ub3QgYmUgZm91bmQsIGZ1enp5IG1hdGNoaW5nIGlzIHVzZWQgdG8gcHJvZHVjZSBiZXR0ZXIgZGlhZ25vc3RpY3MuCgBDb25jYXRlbmF0ZXMgYW5kIG1lcmdlcyB0aGUgc3BlY2lmaWVkIFBPIGZpbGVzLgpGaW5kIG1lc3NhZ2VzIHdoaWNoIGFyZSBjb21tb24gdG8gdHdvIG9yIG1vcmUgb2YgdGhlIHNwZWNpZmllZCBQTyBmaWxlcy4KQnkgdXNpbmcgdGhlIC0tbW9yZS10aGFuIG9wdGlvbiwgZ3JlYXRlciBjb21tb25hbGl0eSBtYXkgYmUgcmVxdWVzdGVkCmJlZm9yZSBtZXNzYWdlcyBhcmUgcHJpbnRlZC4gIENvbnZlcnNlbHksIHRoZSAtLWxlc3MtdGhhbiBvcHRpb24gbWF5IGJlCnVzZWQgdG8gc3BlY2lmeSBsZXNzIGNvbW1vbmFsaXR5IGJlZm9yZSBtZXNzYWdlcyBhcmUgcHJpbnRlZCAoaS5lLgotLWxlc3MtdGhhbj0yIHdpbGwgb25seSBwcmludCB0aGUgdW5pcXVlIG1lc3NhZ2VzKS4gIFRyYW5zbGF0aW9ucywKY29tbWVudHMsIGV4dHJhY3RlZCBjb21tZW50cywgYW5kIGZpbGUgcG9zaXRpb25zIHdpbGwgYmUgY3VtdWxhdGVkLCBleGNlcHQKdGhhdCBpZiAtLXVzZS1maXJzdCBpcyBzcGVjaWZpZWQsIHRoZXkgd2lsbCBiZSB0YWtlbiBmcm9tIHRoZSBmaXJzdCBQTyBmaWxlCnRvIGRlZmluZSB0aGVtLgoAQ29udGludWluZyBhbnl3YXksIGV4cGVjdCBwYXJzZSBlcnJvcnMuAENvbnRpbnVpbmcgYW55d2F5LgBDb252ZXJzaW9uIGZyb20gIiVzIiB0byAiJXMiIGludHJvZHVjZXMgZHVwbGljYXRlczogc29tZSBkaWZmZXJlbnQgbXNnaWRzIGJlY29tZSBlcXVhbC4AQ29udmVyc2lvbiBvZiBmaWxlICVzIGZyb20gJXMgZW5jb2RpbmcgdG8gJXMgZW5jb2RpbmcKY2hhbmdlcyBzb21lIG1zZ2lkcyBvciBtc2djdHh0cy4KRWl0aGVyIGNoYW5nZSBhbGwgbXNnaWRzIGFuZCBtc2djdHh0cyB0byBiZSBwdXJlIEFTQ0lJLCBvciBlbnN1cmUgdGhleSBhcmUKVVRGLTggZW5jb2RlZCBmcm9tIHRoZSBiZWdpbm5pbmcsIGkuZS4gYWxyZWFkeSBpbiB5b3VyIHNvdXJjZSBjb2RlIGZpbGVzLgoAQ29udmVyc2lvbiB0YXJnZXQ6CgBDb252ZXJ0IGJpbmFyeSBtZXNzYWdlIGNhdGFsb2cgdG8gVW5pZm9ydW0gc3R5bGUgLnBvIGZpbGUuCgBDb252ZXJ0cyBhIHRyYW5zbGF0aW9uIGNhdGFsb2cgdG8gYSBkaWZmZXJlbnQgY2hhcmFjdGVyIGVuY29kaW5nLgoAQ29weXJpZ2h0IChDKSAlcyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuCgBDcmVhdGVkICVzLgoAQ3JlYXRlcyBhIG5ldyBQTyBmaWxlLCBpbml0aWFsaXppbmcgdGhlIG1ldGEgaW5mb3JtYXRpb24gd2l0aCB2YWx1ZXMgZnJvbSB0aGUKdXNlcidzIGVudmlyb25tZW50LgoAQ3JlYXRlcyBhbiBFbmdsaXNoIHRyYW5zbGF0aW9uIGNhdGFsb2cuICBUaGUgaW5wdXQgZmlsZSBpcyB0aGUgbGFzdApjcmVhdGVkIEVuZ2xpc2ggUE8gZmlsZSwgb3IgYSBQTyBUZW1wbGF0ZSBmaWxlIChnZW5lcmFsbHkgY3JlYXRlZCBieQp4Z2V0dGV4dCkuICBVbnRyYW5zbGF0ZWQgZW50cmllcyBhcmUgYXNzaWduZWQgYSB0cmFuc2xhdGlvbiB0aGF0IGlzCmlkZW50aWNhbCB0byB0aGUgbXNnaWQuCgBEYWlraSBVZW5vAERhbmlsbyBTZWdhbgBEZXNrdG9wIEVudHJ5IG1vZGUgb3B0aW9uczoKAEVtcHR5IG1zZ2lkLiAgSXQgaXMgcmVzZXJ2ZWQgYnkgR05VIGdldHRleHQ6CmdldHRleHQoIiIpIHJldHVybnMgdGhlIGhlYWRlciBlbnRyeSB3aXRoCm1ldGEgaW5mb3JtYXRpb24sIG5vdCB0aGUgZW1wdHkgc3RyaW5nLgoARW5nbGlzaCB0cmFuc2xhdGlvbnMgZm9yICVzIHBhY2thZ2UARXh0cmFjdCBvciBjb252ZXJ0IFVuaWNvZGUgQ0xEUiBwbHVyYWwgcnVsZXMuCgpJZiBib3RoIExPQ0FMRSBhbmQgUlVMRVMgYXJlIHNwZWNpZmllZCwgaXQgcmVhZHMgQ0xEUiBwbHVyYWwgcnVsZXMgZm9yCkxPQ0FMRSBmcm9tIFJVTEVTIGFuZCBwcmludCB0aGVtIGluIGEgZm9ybSBzdWl0YWJsZSBmb3IgZ2V0dGV4dCB1c2UuCklmIG5vIGFyZ3VtZW50IGlzIGdpdmVuLCBpdCByZWFkcyBDTERSIHBsdXJhbCBydWxlcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dC4KAEV4dHJhY3QgdHJhbnNsYXRhYmxlIHN0cmluZ3MgZnJvbSBnaXZlbiBpbnB1dCBmaWxlcy4KAEV4dHJhY3RzIGFsbCBtZXNzYWdlcyBvZiBhIHRyYW5zbGF0aW9uIGNhdGFsb2cgdGhhdCBtYXRjaCBhIGdpdmVuIHBhdHRlcm4Kb3IgYmVsb25nIHRvIHNvbWUgZ2l2ZW4gc291cmNlIGZpbGVzLgoARmV0Y2hlcyBhbmQgb3V0cHV0cyB0aGUgY29udGVudHMgb2YgYW4gVVJMLiAgSWYgdGhlIFVSTCBjYW5ub3QgYmUgYWNjZXNzZWQsCnRoZSBsb2NhbGx5IGFjY2Vzc2libGUgRklMRSBpcyB1c2VkIGluc3RlYWQuCgBGaWx0ZXIgaW5wdXQgYW5kIG91dHB1dDoKAEZpbHRlcnMgdGhlIG1lc3NhZ2VzIG9mIGEgdHJhbnNsYXRpb24gY2F0YWxvZyBhY2NvcmRpbmcgdG8gdGhlaXIgYXR0cmlidXRlcywKYW5kIG1hbmlwdWxhdGVzIHRoZSBhdHRyaWJ1dGVzLgoARmluZCBtZXNzYWdlcyB3aGljaCBhcmUgY29tbW9uIHRvIHR3byBvciBtb3JlIG9mIHRoZSBzcGVjaWZpZWQgUE8gZmlsZXMuCkJ5IHVzaW5nIHRoZSAtLW1vcmUtdGhhbiBvcHRpb24sIGdyZWF0ZXIgY29tbW9uYWxpdHkgbWF5IGJlIHJlcXVlc3RlZApiZWZvcmUgbWVzc2FnZXMgYXJlIHByaW50ZWQuICBDb252ZXJzZWx5LCB0aGUgLS1sZXNzLXRoYW4gb3B0aW9uIG1heSBiZQp1c2VkIHRvIHNwZWNpZnkgbGVzcyBjb21tb25hbGl0eSBiZWZvcmUgbWVzc2FnZXMgYXJlIHByaW50ZWQgKGkuZS4KLS1sZXNzLXRoYW49MiB3aWxsIG9ubHkgcHJpbnQgdGhlIHVuaXF1ZSBtZXNzYWdlcykuICBUcmFuc2xhdGlvbnMsCmNvbW1lbnRzIGFuZCBleHRyYWN0ZWQgY29tbWVudHMgd2lsbCBiZSBwcmVzZXJ2ZWQsIGJ1dCBvbmx5IGZyb20gdGhlIGZpcnN0ClBPIGZpbGUgdG8gZGVmaW5lIHRoZW0uICBGaWxlIHBvc2l0aW9ucyBmcm9tIGFsbCBQTyBmaWxlcyB3aWxsIGJlCmN1bXVsYXRlZC4KAEZvdW5kICd+JWMnIHdpdGhvdXQgbWF0Y2hpbmcgJ34lYycuAEZvdW5kIG1vcmUgdGhhbiBvbmUgLnBvdCBmaWxlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgaW5wdXQgLnBvdCBmaWxlIHRocm91Z2ggdGhlIC0taW5wdXQgb3B0aW9uLgoARm91bmQgbm8gLnBvdCBmaWxlIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KUGxlYXNlIHNwZWNpZnkgdGhlIGlucHV0IC5wb3QgZmlsZSB0aHJvdWdoIHRoZSAtLWlucHV0IG9wdGlvbi4KAEdlbmVyYXRlIGJpbmFyeSBtZXNzYWdlIGNhdGFsb2cgZnJvbSB0ZXh0dWFsIHRyYW5zbGF0aW9uIGRlc2NyaXB0aW9uLgoASWYgaW5wdXQgZmlsZSBpcyAtLCBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLgoASWYgbm8gaW5wdXQgZmlsZSBpcyBnaXZlbiBvciBpZiBpdCBpcyAtLCBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLgoASWYgbm8gaW5wdXQgZmlsZSBpcyBnaXZlbiwgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGlzIHNlYXJjaGVkIGZvciB0aGUgUE9UIGZpbGUuCklmIGl0IGlzIC0sIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuCgBJZiBubyBvdXRwdXQgZmlsZSBpcyBnaXZlbiwgaXQgZGVwZW5kcyBvbiB0aGUgLS1sb2NhbGUgb3B0aW9uIG9yIHRoZSB1c2VyJ3MKbG9jYWxlIHNldHRpbmcuICBJZiBpdCBpcyAtLCB0aGUgcmVzdWx0cyBhcmUgd3JpdHRlbiB0byBzdGFuZGFyZCBvdXRwdXQuCgBJZiBvdXRwdXQgZmlsZSBpcyAtLCBvdXRwdXQgaXMgd3JpdHRlbiB0byBzdGFuZGFyZCBvdXRwdXQuCgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgIiVzIiBpcyBub3QgZm9sbG93ZWQgYnkgYSBjb21tYS4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsICclYycgY2Fubm90IHN0YXJ0IGEgZmllbGQgbmFtZS4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsICclYycgY2Fubm90IHN0YXJ0IGEgZ2V0YXR0ciBhcmd1bWVudC4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsICclYycgY2Fubm90IHN0YXJ0IGEgZ2V0aXRlbSBhcmd1bWVudC4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsICclYycgaXMgbm90IGZvbGxvd2VkIGJ5IGEgZGlnaXQuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCAnLCcgaXMgbm90IGZvbGxvd2VkIGJ5IGEgbnVtYmVyLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgJ3snIGlzIG5vdCBmb2xsb3dlZCBieSBhbiBhcmd1bWVudCBudW1iZXIuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCAnfjpbJyBpcyBub3QgZm9sbG93ZWQgYnkgdHdvIGNsYXVzZXMsIHNlcGFyYXRlZCBieSAnfjsnLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgJ347JyBpcyB1c2VkIGluIGFuIGludmFsaWQgcG9zaXRpb24uAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCBhIGNob2ljZSBjb250YWlucyBhIG51bWJlciB0aGF0IGlzIG5vdCBmb2xsb3dlZCBieSAnPCcsICcjJyBvciAnJXMnLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgYSBjaG9pY2UgY29udGFpbnMgbm8gbnVtYmVyLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgYSBwcmVjaXNpb24gaXMgbm90IGFsbG93ZWQgYmVmb3JlICclYycuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCBhIHByZWNpc2lvbiBzcGVjaWZpY2F0aW9uIGlzIG5vdCBhbGxvd2VkIGJlZm9yZSAnJWMnLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgYm90aCB0aGUgQCBhbmQgdGhlIDogbW9kaWZpZXJzIGFyZSBnaXZlbi4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIGZsYWdzIGFyZSBub3QgYWxsb3dlZCBiZWZvcmUgJyVjJy4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIG5vIG1vcmUgbmVzdGluZyBpcyBhbGxvd2VkIGluIGEgZm9ybWF0IHNwZWNpZmllci4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHBhcmFtZXRlciAldSBpcyBvZiB0eXBlICclcycgYnV0IGEgcGFyYW1ldGVyIG9mIHR5cGUgJyVzJyBpcyBleHBlY3RlZC4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRoZSBhcmd1bWVudCAlZCBpcyBuZWdhdGl2ZS4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRoZSBhcmd1bWVudCBudW1iZXIgMCBpcyBub3QgYSBwb3NpdGl2ZSBpbnRlZ2VyLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgdGhlIGFyZ3VtZW50IG51bWJlciBmb3IgdGhlIHByZWNpc2lvbiBtdXN0IGJlIGVxdWFsIHRvICV1LgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgdGhlIGFyZ3VtZW50IG51bWJlciBpcyBub3QgZm9sbG93ZWQgYnkgYSBjb21tYSBhbmQgb25lIG9mICIlcyIsICIlcyIsICIlcyIsICIlcyIuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0aGUgY2hhcmFjdGVyICclYycgaXMgbm90IGEgZGlnaXQgYmV0d2VlbiAxIGFuZCA5LgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgdGhlIGNoYXJhY3RlciAnJWMnIGlzIG5vdCBhIHZhbGlkIGNvbnZlcnNpb24gc3BlY2lmaWVyLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgdGhlIGZsYWdzIGNvbWJpbmF0aW9uIGlzIGludmFsaWQuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0aGUgcHJlY2lzaW9uIHNwZWNpZmljYXRpb24gaXMgaW52YWxpZC4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRoZSBwcmVjaXNpb24ncyBhcmd1bWVudCBudW1iZXIgMCBpcyBub3QgYSBwb3NpdGl2ZSBpbnRlZ2VyLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgdGhlIHNpemUgc3BlY2lmaWVyIGlzIGluY29tcGF0aWJsZSB3aXRoIHRoZSBjb252ZXJzaW9uIHNwZWNpZmllciAnJWMnLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgdGhlIHN1YnN0cmluZyAiJXMiIGlzIG5vdCBhIHZhbGlkIGRhdGUvdGltZSBzdHlsZS4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRoZSBzdWJzdHJpbmcgIiVzIiBpcyBub3QgYSB2YWxpZCBudW1iZXIgc3R5bGUuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0aGUgdG9rZW4gYWZ0ZXIgJzwnIGlzIG5vdCBmb2xsb3dlZCBieSAnPicuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0aGUgdG9rZW4gYWZ0ZXIgJzwnIGlzIG5vdCB0aGUgbmFtZSBvZiBhIGZvcm1hdCBzcGVjaWZpZXIgbWFjcm8uIFRoZSB2YWxpZCBtYWNybyBuYW1lcyBhcmUgbGlzdGVkIGluIElTTyBDIDk5IHNlY3Rpb24gNy44LjEuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0aGUgd2lkdGgncyBhcmd1bWVudCBudW1iZXIgMCBpcyBub3QgYSBwb3NpdGl2ZSBpbnRlZ2VyLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgdGhlcmUgaXMgYW4gdW50ZXJtaW5hdGVkIGZvcm1hdCBkaXJlY3RpdmUuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0b28gbWFueSBwYXJhbWV0ZXJzIGFyZSBnaXZlbjsgZXhwZWN0ZWQgYXQgbW9zdCAldSBwYXJhbWV0ZXIuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0b28gbWFueSBwYXJhbWV0ZXJzIGFyZSBnaXZlbjsgZXhwZWN0ZWQgYXQgbW9zdCAldSBwYXJhbWV0ZXJzLgBJbmZvcm1hdGl2ZSBvdXRwdXQ6CgBJbnB1dCBmaWxlIGludGVycHJldGF0aW9uOgoASW5wdXQgZmlsZSBsb2NhdGlvbiBpbiBDIyBtb2RlOgoASW5wdXQgZmlsZSBsb2NhdGlvbiBpbiBKYXZhIG1vZGU6CgBJbnB1dCBmaWxlIGxvY2F0aW9uIGluIFRjbCBtb2RlOgoASW5wdXQgZmlsZSBsb2NhdGlvbjoKAElucHV0IGZpbGUgc3ludGF4OgoASW5wdXQgZmlsZXMgY29udGFpbiBtZXNzYWdlcyBpbiBkaWZmZXJlbnQgZW5jb2RpbmdzLCAlcyBhbmQgJXMgYW1vbmcgb3RoZXJzLgpDb252ZXJ0aW5nIHRoZSBvdXRwdXQgdG8gVVRGLTguClRvIHNlbGVjdCBhIGRpZmZlcmVudCBvdXRwdXQgZW5jb2RpbmcsIHVzZSB0aGUgLS10by1jb2RlIG9wdGlvbi4KAElucHV0IGZpbGVzIGNvbnRhaW4gbWVzc2FnZXMgaW4gZGlmZmVyZW50IGVuY29kaW5ncywgVVRGLTggYW1vbmcgb3RoZXJzLgpDb252ZXJ0aW5nIHRoZSBvdXRwdXQgdG8gVVRGLTguCgBJbnN0YWxsaW5nIEdOVSBsaWJpY29udiBhbmQgdGhlbiByZWluc3RhbGxpbmcgR05VIGdldHRleHQKd291bGQgZml4IHRoaXMgcHJvYmxlbS4KAEphdmEgY29tcGlsZXIgbm90IGZvdW5kLCB0cnkgaW5zdGFsbGluZyBnY2ogb3Igc2V0ICRKQVZBQwBKYXZhIHZpcnR1YWwgbWFjaGluZSBub3QgZm91bmQsIHRyeSBpbnN0YWxsaW5nIGdpaiBvciBzZXQgJEpBVkEATGFuZ3VhZ2Ugc3BlY2lmaWMgb3B0aW9uczoKAExvY2FsZSBjaGFyc2V0ICIlcyIgaXMgZGlmZmVyZW50IGZyb20KaW5wdXQgZmlsZSBjaGFyc2V0ICIlcyIuCk91dHB1dCBvZiAnJXMnIG1pZ2h0IGJlIGluY29ycmVjdC4KUG9zc2libGUgd29ya2Fyb3VuZHMgYXJlOgoATG9jYWxlIGNoYXJzZXQgIiVzIiBpcyBub3QgYSBwb3J0YWJsZSBlbmNvZGluZyBuYW1lLgpPdXRwdXQgb2YgJyVzJyBtaWdodCBiZSBpbmNvcnJlY3QuCkEgcG9zc2libGUgd29ya2Fyb3VuZCBpcyB0byBzZXQgTENfQUxMPUMuCgBNYW5kYXRvcnkgYXJndW1lbnRzIHRvIGxvbmcgb3B0aW9ucyBhcmUgbWFuZGF0b3J5IGZvciBzaG9ydCBvcHRpb25zIHRvby4KAE1hbmRhdG9yeSBhcmd1bWVudHMgdG8gbG9uZyBvcHRpb25zIGFyZSBtYW5kYXRvcnkgZm9yIHNob3J0IG9wdGlvbnMgdG9vLgpTaW1pbGFybHkgZm9yIG9wdGlvbmFsIGFyZ3VtZW50cy4KAE1lcmdlcyB0d28gVW5pZm9ydW0gc3R5bGUgLnBvIGZpbGVzIHRvZ2V0aGVyLiAgVGhlIGRlZi5wbyBmaWxlIGlzIGFuCmV4aXN0aW5nIFBPIGZpbGUgd2l0aCB0cmFuc2xhdGlvbnMgd2hpY2ggd2lsbCBiZSB0YWtlbiBvdmVyIHRvIHRoZSBuZXdseQpjcmVhdGVkIGZpbGUgYXMgbG9uZyBhcyB0aGV5IHN0aWxsIG1hdGNoOyBjb21tZW50cyB3aWxsIGJlIHByZXNlcnZlZCwKYnV0IGV4dHJhY3RlZCBjb21tZW50cyBhbmQgZmlsZSBwb3NpdGlvbnMgd2lsbCBiZSBkaXNjYXJkZWQuICBUaGUgcmVmLnBvdApmaWxlIGlzIHRoZSBsYXN0IGNyZWF0ZWQgUE8gZmlsZSB3aXRoIHVwLXRvLWRhdGUgc291cmNlIHJlZmVyZW5jZXMgYnV0Cm9sZCB0cmFuc2xhdGlvbnMsIG9yIGEgUE8gVGVtcGxhdGUgZmlsZSAoZ2VuZXJhbGx5IGNyZWF0ZWQgYnkgeGdldHRleHQpOwphbnkgdHJhbnNsYXRpb25zIG9yIGNvbW1lbnRzIGluIHRoZSBmaWxlIHdpbGwgYmUgZGlzY2FyZGVkLCBob3dldmVyIGRvdApjb21tZW50cyBhbmQgZmlsZSBwb3NpdGlvbnMgd2lsbCBiZSBwcmVzZXJ2ZWQuICBXaGVyZSBhbiBleGFjdCBtYXRjaApjYW5ub3QgYmUgZm91bmQsIGZ1enp5IG1hdGNoaW5nIGlzIHVzZWQgdG8gcHJvZHVjZSBiZXR0ZXIgcmVzdWx0cy4KAE1lc3NhZ2Ugc2VsZWN0aW9uOgoATWVzc2FnZSBzZWxlY3Rpb246CiAgWy1OIFNPVVJDRUZJTEVdLi4uIFstTSBET01BSU5OQU1FXS4uLgogIFstSiBNU0dDVFhULVBBVFRFUk5dIFstSyBNU0dJRC1QQVRURVJOXSBbLVQgTVNHU1RSLVBBVFRFUk5dCiAgWy1DIENPTU1FTlQtUEFUVEVSTl0gWy1YIEVYVFJBQ1RFRC1DT01NRU5ULVBBVFRFUk5dCkEgbWVzc2FnZSBpcyBzZWxlY3RlZCBpZiBpdCBjb21lcyBmcm9tIG9uZSBvZiB0aGUgc3BlY2lmaWVkIHNvdXJjZSBmaWxlcywKb3IgaWYgaXQgY29tZXMgZnJvbSBvbmUgb2YgdGhlIHNwZWNpZmllZCBkb21haW5zLApvciBpZiAtSiBpcyBnaXZlbiBhbmQgaXRzIGNvbnRleHQgKG1zZ2N0eHQpIG1hdGNoZXMgTVNHQ1RYVC1QQVRURVJOLApvciBpZiAtSyBpcyBnaXZlbiBhbmQgaXRzIGtleSAobXNnaWQgb3IgbXNnaWRfcGx1cmFsKSBtYXRjaGVzIE1TR0lELVBBVFRFUk4sCm9yIGlmIC1UIGlzIGdpdmVuIGFuZCBpdHMgdHJhbnNsYXRpb24gKG1zZ3N0cikgbWF0Y2hlcyBNU0dTVFItUEFUVEVSTiwKb3IgaWYgLUMgaXMgZ2l2ZW4gYW5kIHRoZSB0cmFuc2xhdG9yJ3MgY29tbWVudCBtYXRjaGVzIENPTU1FTlQtUEFUVEVSTiwKb3IgaWYgLVggaXMgZ2l2ZW4gYW5kIHRoZSBleHRyYWN0ZWQgY29tbWVudCBtYXRjaGVzIEVYVFJBQ1RFRC1DT01NRU5ULVBBVFRFUk4uCgpXaGVuIG1vcmUgdGhhbiBvbmUgc2VsZWN0aW9uIGNyaXRlcmlvbiBpcyBzcGVjaWZpZWQsIHRoZSBzZXQgb2Ygc2VsZWN0ZWQKbWVzc2FnZXMgaXMgdGhlIHVuaW9uIG9mIHRoZSBzZWxlY3RlZCBtZXNzYWdlcyBvZiBlYWNoIGNyaXRlcmlvbi4KCk1TR0NUWFQtUEFUVEVSTiBvciBNU0dJRC1QQVRURVJOIG9yIE1TR1NUUi1QQVRURVJOIG9yIENPTU1FTlQtUEFUVEVSTiBvcgpFWFRSQUNURUQtQ09NTUVOVC1QQVRURVJOIHN5bnRheDoKICBbLUUgfCAtRl0gWy1lIFBBVFRFUk4gfCAtZiBGSUxFXS4uLgpQQVRURVJOcyBhcmUgYmFzaWMgcmVndWxhciBleHByZXNzaW9ucyBieSBkZWZhdWx0LCBvciBleHRlbmRlZCByZWd1bGFyCmV4cHJlc3Npb25zIGlmIC1FIGlzIGdpdmVuLCBvciBmaXhlZCBzdHJpbmdzIGlmIC1GIGlzIGdpdmVuLgoKICAtTiwgLS1sb2NhdGlvbj1TT1VSQ0VGSUxFICAgc2VsZWN0IG1lc3NhZ2VzIGV4dHJhY3RlZCBmcm9tIFNPVVJDRUZJTEUKICAtTSwgLS1kb21haW49RE9NQUlOTkFNRSAgICAgc2VsZWN0IG1lc3NhZ2VzIGJlbG9uZ2luZyB0byBkb21haW4gRE9NQUlOTkFNRQogIC1KLCAtLW1zZ2N0eHQgICAgICAgICAgICAgICBzdGFydCBvZiBwYXR0ZXJucyBmb3IgdGhlIG1zZ2N0eHQKICAtSywgLS1tc2dpZCAgICAgICAgICAgICAgICAgc3RhcnQgb2YgcGF0dGVybnMgZm9yIHRoZSBtc2dpZAogIC1ULCAtLW1zZ3N0ciAgICAgICAgICAgICAgICBzdGFydCBvZiBwYXR0ZXJucyBmb3IgdGhlIG1zZ3N0cgogIC1DLCAtLWNvbW1lbnQgICAgICAgICAgICAgICBzdGFydCBvZiBwYXR0ZXJucyBmb3IgdGhlIHRyYW5zbGF0b3IncyBjb21tZW50CiAgLVgsIC0tZXh0cmFjdGVkLWNvbW1lbnQgICAgIHN0YXJ0IG9mIHBhdHRlcm5zIGZvciB0aGUgZXh0cmFjdGVkIGNvbW1lbnQKICAtRSwgLS1leHRlbmRlZC1yZWdleHAgICAgICAgUEFUVEVSTiBpcyBhbiBleHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb24KICAtRiwgLS1maXhlZC1zdHJpbmdzICAgICAgICAgUEFUVEVSTiBpcyBhIHNldCBvZiBuZXdsaW5lLXNlcGFyYXRlZCBzdHJpbmdzCiAgLWUsIC0tcmVnZXhwPVBBVFRFUk4gICAgICAgIHVzZSBQQVRURVJOIGFzIGEgcmVndWxhciBleHByZXNzaW9uCiAgLWYsIC0tZmlsZT1GSUxFICAgICAgICAgICAgIG9idGFpbiBQQVRURVJOIGZyb20gRklMRQogIC1pLCAtLWlnbm9yZS1jYXNlICAgICAgICAgICBpZ25vcmUgY2FzZSBkaXN0aW5jdGlvbnMKICAtdiwgLS1pbnZlcnQtbWF0Y2ggICAgICAgICAgb3V0cHV0IG9ubHkgdGhlIG1lc3NhZ2VzIHRoYXQgZG8gbm90IG1hdGNoIGFueQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24gY3JpdGVyaW9uCgBOb24tQVNDSUkgY2hhcmFjdGVyIGF0ICVzJXMuAE5vbi1BU0NJSSBjb21tZW50IGF0IG9yIGJlZm9yZSAlcyVzLgBOb24tQVNDSUkgc3RyaW5nIGF0ICVzJXMuAE9wZXJhdGlvbiBtb2RlOgoAT3BlcmF0aW9uIG1vZGlmaWVyczoKAE91dHB1dCBkZXRhaWxzOgoAT3V0cHV0IGZpbGUgJXMgYWxyZWFkeSBleGlzdHMuClBsZWFzZSBzcGVjaWZ5IHRoZSBsb2NhbGUgdGhyb3VnaCB0aGUgLS1sb2NhbGUgb3B0aW9uIG9yCnRoZSBvdXRwdXQgLnBvIGZpbGUgdGhyb3VnaCB0aGUgLS1vdXRwdXQtZmlsZSBvcHRpb24uCgBPdXRwdXQgZmlsZSBsb2NhdGlvbiBpbiBDIyBtb2RlOgoAT3V0cHV0IGZpbGUgbG9jYXRpb24gaW4gSmF2YSBtb2RlOgoAT3V0cHV0IGZpbGUgbG9jYXRpb24gaW4gVGNsIG1vZGU6CgBPdXRwdXQgZmlsZSBsb2NhdGlvbiBpbiB1cGRhdGUgbW9kZToKAE91dHB1dCBmaWxlIGxvY2F0aW9uOgoAT3V0cHV0IGZvcm1hdDoKAFBldGVyIE1pbGxlcgBQbGVhc2Ugc3BlY2lmeSB0aGUgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUKAFBsZWFzZSBzcGVjaWZ5IHRoZSBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZSBvciB0aHJvdWdoIGEgY29tbWVudAphcyBzcGVjaWZpZWQgaW4gaHR0cDovL3d3dy5weXRob24ub3JnL3BlcHMvcGVwLTAyNjMuaHRtbC4KAFBsZWFzZSBzcGVjaWZ5IHRoZSBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZS4AUHJpbnQgdGhlIG1hY2hpbmUncyBob3N0bmFtZS4KAFJlY29kZSBTZXJiaWFuIHRleHQgZnJvbSBDeXJpbGxpYyB0byBMYXRpbiBzY3JpcHQuCgBSZXBvcnQgYnVncyB0byA8YnVnLWdudS1nZXR0ZXh0QGdudS5vcmc+LgoAUmV0cmlldmluZyAlcy4uLgBUaGUgLWwgYW5kIC1kIG9wdGlvbnMgYXJlIG1hbmRhdG9yeS4gIFRoZSAuZGxsIGZpbGUgaXMgbG9jYXRlZCBpbiBhCnN1YmRpcmVjdG9yeSBvZiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSB3aG9zZSBuYW1lIGRlcGVuZHMgb24gdGhlIGxvY2FsZS4KAFRoZSAtbCBhbmQgLWQgb3B0aW9ucyBhcmUgbWFuZGF0b3J5LiAgVGhlIC5kbGwgZmlsZSBpcyB3cml0dGVuIGluIGEKc3ViZGlyZWN0b3J5IG9mIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IHdob3NlIG5hbWUgZGVwZW5kcyBvbiB0aGUgbG9jYWxlLgoAVGhlIC1sIGFuZCAtZCBvcHRpb25zIGFyZSBtYW5kYXRvcnkuICBUaGUgLm1zZyBmaWxlIGlzIGxvY2F0ZWQgaW4gdGhlCnNwZWNpZmllZCBkaXJlY3RvcnkuCgBUaGUgLWwgYW5kIC1kIG9wdGlvbnMgYXJlIG1hbmRhdG9yeS4gIFRoZSAubXNnIGZpbGUgaXMgd3JpdHRlbiBpbiB0aGUKc3BlY2lmaWVkIGRpcmVjdG9yeS4KAFRoZSAtbCwgLW8sIGFuZCAtLXRlbXBsYXRlIG9wdGlvbnMgYXJlIG1hbmRhdG9yeS4gIElmIC1EIGlzIHNwZWNpZmllZCwgaW5wdXQKZmlsZXMgYXJlIHJlYWQgZnJvbSB0aGUgZGlyZWN0b3J5IGluc3RlYWQgb2YgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCgBUaGUgRklMVEVSIGNhbiBiZSBhbnkgcHJvZ3JhbSB0aGF0IHJlYWRzIGEgdHJhbnNsYXRpb24gZnJvbSBzdGFuZGFyZCBpbnB1dAphbmQgd3JpdGVzIGEgbW9kaWZpZWQgdHJhbnNsYXRpb24gdG8gc3RhbmRhcmQgb3V0cHV0LgoAVGhlIGJhY2t1cCBzdWZmaXggaXMgJ34nLCB1bmxlc3Mgc2V0IHdpdGggLS1zdWZmaXggb3IgdGhlIFNJTVBMRV9CQUNLVVBfU1VGRklYCmVudmlyb25tZW50IHZhcmlhYmxlLgoAVGhlIGNoYXJhY3RlciB0aGF0IHRlcm1pbmF0ZXMgdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUgaXMgbm90IGEgZGlnaXQgYmV0d2VlbiAxIGFuZCA5LgBUaGUgY2hhcmFjdGVyIHRoYXQgdGVybWluYXRlcyB0aGUgZGlyZWN0aXZlIG51bWJlciAldSBpcyBub3QgYSB2YWxpZCBjb252ZXJzaW9uIHNwZWNpZmllci4AVGhlIGNsYXNzIG5hbWUgaXMgZGV0ZXJtaW5lZCBieSBhcHBlbmRpbmcgdGhlIGxvY2FsZSBuYW1lIHRvIHRoZSByZXNvdXJjZSBuYW1lLApzZXBhcmF0ZWQgd2l0aCBhbiB1bmRlcnNjb3JlLiAgVGhlIC1kIG9wdGlvbiBpcyBtYW5kYXRvcnkuICBUaGUgY2xhc3MgaXMKd3JpdHRlbiB1bmRlciB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeS4KAFRoZSBjbGFzcyBuYW1lIGlzIGRldGVybWluZWQgYnkgYXBwZW5kaW5nIHRoZSBsb2NhbGUgbmFtZSB0byB0aGUgcmVzb3VyY2UgbmFtZSwKc2VwYXJhdGVkIHdpdGggYW4gdW5kZXJzY29yZS4gIFRoZSBjbGFzcyBpcyBsb2NhdGVkIHVzaW5nIHRoZSBDTEFTU1BBVEguCgBUaGUgZGVmYXVsdCBlbmNvZGluZyBpcyB0aGUgY3VycmVudCBsb2NhbGUncyBlbmNvZGluZy4KAFRoZSBkaXJlY3RpdmUgbnVtYmVyICV1IGVuZHMgd2l0aCBhbiBpbnZhbGlkIGNoYXJhY3RlciAnJWMnIGluc3RlYWQgb2YgJ30nLgBUaGUgZGlyZWN0aXZlIG51bWJlciAldSBlbmRzIHdpdGggYW4gaW52YWxpZCBjaGFyYWN0ZXIgaW5zdGVhZCBvZiAnfScuAFRoZSBkaXJlY3RpdmUgbnVtYmVyICV1IHN0YXJ0cyB3aXRoIHwgYnV0IGRvZXMgbm90IGVuZCB3aXRoIHwuAFRoZSBlbGVtZW50IDwlcz4gZG9lcyBub3QgY29udGFpbiBhIDwlcz4gZWxlbWVudABUaGUgZWxlbWVudCA8JXM+IGRvZXMgbm90IGhhdmUgYXR0cmlidXRlIDwlcz4AVGhlIGZvbGxvd2luZyBtc2djdHh0IGNvbnRhaW5zIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLgpUaGlzIHdpbGwgY2F1c2UgcHJvYmxlbXMgdG8gdHJhbnNsYXRvcnMgd2hvIHVzZSBhIGNoYXJhY3RlciBlbmNvZGluZwpkaWZmZXJlbnQgZnJvbSB5b3Vycy4gQ29uc2lkZXIgdXNpbmcgYSBwdXJlIEFTQ0lJIG1zZ2N0eHQgaW5zdGVhZC4KJXMKAFRoZSBmb2xsb3dpbmcgbXNnaWQgY29udGFpbnMgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuClRoaXMgd2lsbCBjYXVzZSBwcm9ibGVtcyB0byB0cmFuc2xhdG9ycyB3aG8gdXNlIGEgY2hhcmFjdGVyIGVuY29kaW5nCmRpZmZlcmVudCBmcm9tIHlvdXJzLiBDb25zaWRlciB1c2luZyBhIHB1cmUgQVNDSUkgbXNnaWQgaW5zdGVhZC4KJXMKAFRoZSBpbnB1dCB0ZXh0IGlzIHJlYWQgZnJvbSBzdGFuZGFyZCBpbnB1dC4gIFRoZSBjb252ZXJ0ZWQgdGV4dCBpcyBvdXRwdXQgdG8Kc3RhbmRhcmQgb3V0cHV0LgoAVGhlIG5ldyBtZXNzYWdlIGNhdGFsb2cgc2hvdWxkIGNvbnRhaW4geW91ciBlbWFpbCBhZGRyZXNzLCBzbyB0aGF0IHVzZXJzIGNhbgpnaXZlIHlvdSBmZWVkYmFjayBhYm91dCB0aGUgdHJhbnNsYXRpb25zLCBhbmQgc28gdGhhdCBtYWludGFpbmVycyBjYW4gY29udGFjdAp5b3UgaW4gY2FzZSBvZiB1bmV4cGVjdGVkIHRlY2huaWNhbCBwcm9ibGVtcy4KAFRoZSBvcHRpb24gLS1tc2dpZC1idWdzLWFkZHJlc3Mgd2FzIG5vdCBzcGVjaWZpZWQuCklmIHlvdSBhcmUgdXNpbmcgYSAnTWFrZXZhcnMnIGZpbGUsIHBsZWFzZSBzcGVjaWZ5CnRoZSBNU0dJRF9CVUdTX0FERFJFU1MgdmFyaWFibGUgdGhlcmU7IG90aGVyd2lzZSBwbGVhc2UKc3BlY2lmeSBhbiAtLW1zZ2lkLWJ1Z3MtYWRkcmVzcyBjb21tYW5kIGxpbmUgb3B0aW9uLgoAVGhlIHJlc3VsdCBpcyB3cml0dGVuIGJhY2sgdG8gZGVmLnBvLgoAVGhlIHJlc3VsdHMgYXJlIHdyaXR0ZW4gdG8gc3RhbmRhcmQgb3V0cHV0IGlmIG5vIG91dHB1dCBmaWxlIGlzIHNwZWNpZmllZApvciBpZiBpdCBpcyAtLgoAVGhlIHJvb3QgZWxlbWVudCBtdXN0IGJlIDwlcz4AVGhlIHN0cmluZyBjb250YWlucyBhIGxvbmUgJ30nIGFmdGVyIGRpcmVjdGl2ZSBudW1iZXIgJXUuAFRoZSBzdHJpbmcgZW5kcyBpbiB0aGUgbWlkZGxlIG9mIGEgZGlyZWN0aXZlLgBUaGUgc3RyaW5nIGVuZHMgaW4gdGhlIG1pZGRsZSBvZiBhIGRpcmVjdGl2ZTogZm91bmQgJ3snIHdpdGhvdXQgbWF0Y2hpbmcgJ30nLgBUaGUgc3RyaW5nIGVuZHMgaW4gdGhlIG1pZGRsZSBvZiBhIH4vLi4uLyBkaXJlY3RpdmUuAFRoZSBzdHJpbmcgcmVmZXJzIHRvIGEgc2hlbGwgdmFyaWFibGUgd2hvc2UgdmFsdWUgbWF5IGJlIGRpZmZlcmVudCBpbnNpZGUgc2hlbGwgZnVuY3Rpb25zLgBUaGUgc3RyaW5nIHJlZmVycyB0byBhIHNoZWxsIHZhcmlhYmxlIHdpdGggYSBub24tQVNDSUkgbmFtZS4AVGhlIHN0cmluZyByZWZlcnMgdG8gYSBzaGVsbCB2YXJpYWJsZSB3aXRoIGFuIGVtcHR5IG5hbWUuAFRoZSBzdHJpbmcgcmVmZXJzIHRvIGEgc2hlbGwgdmFyaWFibGUgd2l0aCBjb21wbGV4IHNoZWxsIGJyYWNlIHN5bnRheC4gVGhpcyBzeW50YXggaXMgdW5zdXBwb3J0ZWQgaGVyZSBkdWUgdG8gc2VjdXJpdHkgcmVhc29ucy4AVGhlIHN0cmluZyByZWZlcnMgdG8gYXJndW1lbnQgbnVtYmVyICV1IGJ1dCBpZ25vcmVzIGFyZ3VtZW50IG51bWJlciAldS4AVGhlIHN0cmluZyByZWZlcnMgdG8gYXJndW1lbnQgbnVtYmVyICV1IGJ1dCBpZ25vcmVzIHRoZSBhcmd1bWVudHMgJXUgYW5kICV1LgBUaGUgc3RyaW5nIHJlZmVycyB0byBhcmd1bWVudCBudW1iZXIgJXUgaW4gaW5jb21wYXRpYmxlIHdheXMuAFRoZSBzdHJpbmcgcmVmZXJzIHRvIGFyZ3VtZW50cyBib3RoIHRocm91Z2ggYWJzb2x1dGUgYXJndW1lbnQgbnVtYmVycyBhbmQgdGhyb3VnaCB1bm51bWJlcmVkIGFyZ3VtZW50IHNwZWNpZmljYXRpb25zLgBUaGUgc3RyaW5nIHJlZmVycyB0byBhcmd1bWVudHMgYm90aCB0aHJvdWdoIGFyZ3VtZW50IG5hbWVzIGFuZCB0aHJvdWdoIHVubmFtZWQgYXJndW1lbnQgc3BlY2lmaWNhdGlvbnMuAFRoZSBzdHJpbmcgcmVmZXJzIHRvIHNvbWUgYXJndW1lbnQgaW4gaW5jb21wYXRpYmxlIHdheXMuAFRoZSBzdHJpbmcgcmVmZXJzIHRvIHRoZSBhcmd1bWVudCBuYW1lZCAnJXMnIGluIGluY29tcGF0aWJsZSB3YXlzLgBUaGUgc3RyaW5nIHN0YXJ0cyBpbiB0aGUgbWlkZGxlIG9mIGEgZGlyZWN0aXZlOiBmb3VuZCAnfScgd2l0aG91dCBtYXRjaGluZyAneycuAFRoZSB2ZXJzaW9uIGNvbnRyb2wgbWV0aG9kIG1heSBiZSBzZWxlY3RlZCB2aWEgdGhlIC0tYmFja3VwIG9wdGlvbiBvciB0aHJvdWdoCnRoZSBWRVJTSU9OX0NPTlRST0wgZW52aXJvbm1lbnQgdmFyaWFibGUuICBIZXJlIGFyZSB0aGUgdmFsdWVzOgogIG5vbmUsIG9mZiAgICAgICBuZXZlciBtYWtlIGJhY2t1cHMgKGV2ZW4gaWYgLS1iYWNrdXAgaXMgZ2l2ZW4pCiAgbnVtYmVyZWQsIHQgICAgIG1ha2UgbnVtYmVyZWQgYmFja3VwcwogIGV4aXN0aW5nLCBuaWwgICBudW1iZXJlZCBpZiBudW1iZXJlZCBiYWNrdXBzIGV4aXN0LCBzaW1wbGUgb3RoZXJ3aXNlCiAgc2ltcGxlLCBuZXZlciAgIGFsd2F5cyBtYWtlIHNpbXBsZSBiYWNrdXBzCgBUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uCgBUcnkgdXNpbmcgdGhlIGZvbGxvd2luZywgdmFsaWQgZm9yICVzOgBVbHJpY2ggRHJlcHBlcgBVbmlmaWVzIGR1cGxpY2F0ZSB0cmFuc2xhdGlvbnMgaW4gYSB0cmFuc2xhdGlvbiBjYXRhbG9nLgpGaW5kcyBkdXBsaWNhdGUgdHJhbnNsYXRpb25zIG9mIHRoZSBzYW1lIG1lc3NhZ2UgSUQuICBTdWNoIGR1cGxpY2F0ZXMgYXJlCmludmFsaWQgaW5wdXQgZm9yIG90aGVyIHByb2dyYW1zIGxpa2UgbXNnZm10LCBtc2dtZXJnZSBvciBtc2djYXQuICBCeQpkZWZhdWx0LCBkdXBsaWNhdGVzIGFyZSBtZXJnZWQgdG9nZXRoZXIuICBXaGVuIHVzaW5nIHRoZSAtLXJlcGVhdGVkIG9wdGlvbiwKb25seSBkdXBsaWNhdGVzIGFyZSBvdXRwdXQsIGFuZCBhbGwgb3RoZXIgbWVzc2FnZXMgYXJlIGRpc2NhcmRlZC4gIENvbW1lbnRzCmFuZCBleHRyYWN0ZWQgY29tbWVudHMgd2lsbCBiZSBjdW11bGF0ZWQsIGV4Y2VwdCB0aGF0IGlmIC0tdXNlLWZpcnN0IGlzCnNwZWNpZmllZCwgdGhleSB3aWxsIGJlIHRha2VuIGZyb20gdGhlIGZpcnN0IHRyYW5zbGF0aW9uLiAgRmlsZSBwb3NpdGlvbnMKd2lsbCBiZSBjdW11bGF0ZWQuICBXaGVuIHVzaW5nIHRoZSAtLXVuaXF1ZSBvcHRpb24sIGR1cGxpY2F0ZXMgYXJlIGRpc2NhcmRlZC4KAFVua25vd24gZW5jb2RpbmcgIiVzIi4gUHJvY2VlZGluZyB3aXRoIEFTQ0lJIGluc3RlYWQuAFVua25vd24gc3lzdGVtIGVycm9yAFVzYWdlOiAlcyBbT1BUSU9OLi4uXSBbTE9DQUxFIFJVTEVTXS4uLgoAVXNhZ2U6ICVzIFtPUFRJT05dCgBVc2FnZTogJXMgW09QVElPTl0gQ09NTUFORCBbQ09NTUFORC1PUFRJT05dCgBVc2FnZTogJXMgW09QVElPTl0gRklMVEVSIFtGSUxURVItT1BUSU9OXQoAVXNhZ2U6ICVzIFtPUFRJT05dIElOUFVURklMRQoAVXNhZ2U6ICVzIFtPUFRJT05dIFVSTCBGSUxFCgBVc2FnZTogJXMgW09QVElPTl0gW0ZJTEVdLi4uCgBVc2FnZTogJXMgW09QVElPTl0gW0lOUFVURklMRV0KAFVzYWdlOiAlcyBbT1BUSU9OXSBbSU5QVVRGSUxFXS4uLgoAVXNhZ2U6ICVzIFtPUFRJT05dIGRlZi5wbyByZWYucG90CgBVc2FnZTogJXMgW09QVElPTl0gZmlsZW5hbWUucG8gLi4uCgBVc2VmdWwgRklMVEVSLU9QVElPTnMgd2hlbiB0aGUgRklMVEVSIGlzICdzZWQnOgoAVmFsaWQgYXJndW1lbnRzIGFyZToAV3JpdHRlbiBieSAlcyBhbmQgJXMuCgBXcml0dGVuIGJ5ICVzLgoAWE1MIG1vZGUgb3B0aW9uczoKAFlvdSBhcmUgaW4gYSBsYW5ndWFnZSBpbmRpZmZlcmVudCBlbnZpcm9ubWVudC4gIFBsZWFzZSBzZXQKeW91ciBMQU5HIGVudmlyb25tZW50IHZhcmlhYmxlLCBhcyBkZXNjcmliZWQgaW4gdGhlIEFCT1VULU5MUwpmaWxlLiAgVGhpcyBpcyBuZWNlc3Nhcnkgc28geW91IGNhbiB0ZXN0IHlvdXIgdHJhbnNsYXRpb25zLgoAX29wZW5fb3NmaGFuZGxlIGZhaWxlZABgAGEgY2xvc2UgZWxlbWVudCBuYW1lAGEgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFyZ3VtZW50ICV1IGRvZXNuJ3QgZXhpc3QgaW4gJyVzJwBhIGZvcm1hdCBzcGVjaWZpY2F0aW9uIGZvciBhcmd1bWVudCAldSwgYXMgaW4gJyVzJywgZG9lc24ndCBleGlzdCBpbiAnJXMnAGEgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFyZ3VtZW50ICclcycgZG9lc24ndCBleGlzdCBpbiAnJXMnAGEgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFyZ3VtZW50ICclcycsIGFzIGluICclcycsIGRvZXNuJ3QgZXhpc3QgaW4gJyVzJwBhIGZvcm1hdCBzcGVjaWZpY2F0aW9uIGZvciBhcmd1bWVudCB7JXV9IGRvZXNuJ3QgZXhpc3QgaW4gJyVzJwBhIGZvcm1hdCBzcGVjaWZpY2F0aW9uIGZvciBhcmd1bWVudCB7JXV9LCBhcyBpbiAnJXMnLCBkb2Vzbid0IGV4aXN0IGluICclcycAYSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBmb3IgYXJndW1lbnRzICV1IGFuZCAldSBkb2Vzbid0IGV4aXN0IGluICclcycsIG9ubHkgb25lIGFyZ3VtZW50IG1heSBiZSBpZ25vcmVkAGFmdGVyICc8JwBhZnRlciAnPScAYW1iaWd1b3VzIGFyZ3VtZW50ICVzIGZvciAlcwBhbWJpZ3VvdXMgYXJndW1lbnQgc3BlY2lmaWNhdGlvbiBmb3Iga2V5d29yZCAnJS4qcycAYXQgbGVhc3Qgb25lIHNlZCBzY3JpcHQgbXVzdCBiZSBzcGVjaWZpZWQAYXQgbGVhc3QgdHdvIGZpbGVzIG11c3QgYmUgc3BlY2lmaWVkAGF0IG1vc3Qgb25lIGlucHV0IGZpbGUgYWxsb3dlZABiYWNrdXAgdHlwZQBidXQgaGVhZGVyIGVudHJ5IGxhY2tzIGEgIm5wbHVyYWxzPUlOVEVHRVIiIGF0dHJpYnV0ZQBidXQgaGVhZGVyIGVudHJ5IGxhY2tzIGEgInBsdXJhbD1FWFBSRVNTSU9OIiBhdHRyaWJ1dGUAYnV0IHNvbWUgbWVzc2FnZXMgaGF2ZSBvbmUgcGx1cmFsIGZvcm0AYnV0IHNvbWUgbWVzc2FnZXMgaGF2ZSAlbHUgcGx1cmFsIGZvcm1zAGJ1dCBzb21lIG1lc3NhZ2VzIGhhdmUgb25seSBvbmUgcGx1cmFsIGZvcm0AYnV0IHNvbWUgbWVzc2FnZXMgaGF2ZSBvbmx5ICVsdSBwbHVyYWwgZm9ybXMAY2Fubm90IGNyZWF0ZSBYUGF0aCBjb250ZXh0AGNhbm5vdCBjcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHVzaW5nIHRlbXBsYXRlICIlcyIAY2Fubm90IGNyZWF0ZSBvdXRwdXQgZmlsZSAiJXMiAGNhbm5vdCBjcmVhdGUgcGlwZQBjYW5ub3QgZXZhbHVhdGUgWFBhdGggZXhwcmVzc2lvbjogJXMAY2Fubm90IGV2YWx1YXRlIFhQYXRoIGxvY2F0aW9uIHBhdGg6ICVzAGNhbm5vdCBleHRyYWN0IHJ1bGVzIGZvciAlcwBjYW5ub3QgZmluZCBhIHRlbXBvcmFyeSBkaXJlY3RvcnksIHRyeSBzZXR0aW5nICRUTVBESVIAY2Fubm90IGxvY2F0ZSBJVFMgcnVsZXMgZm9yICVzAGNhbm5vdCBvcGVuIGJhY2t1cCBmaWxlICVzIGZvciB3cml0aW5nAGNhbm5vdCBwYXJzZSBDTERSIHJ1bGUAY2Fubm90IHJlYWQgJXM6ICVzAGNhbm5vdCByZWFkIFhNTCBmaWxlICVzAGNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGRpcmVjdG9yeSAlcwBjYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBmaWxlICVzAGNhbm5vdCByZXN0b3JlIGZkICVkOiBkdXAyIGZhaWxlZABjYW5ub3Qgc2V0IHVwIG5vbmJsb2NraW5nIEkvTyB0byAlcyBzdWJwcm9jZXNzAGNvbW11bmljYXRpb24gd2l0aCAlcyBzdWJwcm9jZXNzIGZhaWxlZABjb21waWxhdGlvbiBvZiBDIyBjbGFzcyBmYWlsZWQAY29tcGlsYXRpb24gb2YgQyMgY2xhc3MgZmFpbGVkLCBwbGVhc2UgdHJ5IC0tdmVyYm9zZQBjb21waWxhdGlvbiBvZiBKYXZhIGNsYXNzIGZhaWxlZCwgcGxlYXNlIHRyeSAtLXZlcmJvc2Ugb3Igc2V0ICRKQVZBQwBjb21waWxhdGlvbiBvZiBKYXZhIGNsYXNzIGZhaWxlZCwgcGxlYXNlIHRyeSB0byBzZXQgJEpBVkFDAGNvbnRleHQgbWlzbWF0Y2ggYmV0d2VlbiBzaW5ndWxhciBhbmQgcGx1cmFsIGZvcm0AY29udGV4dCBzZXBhcmF0b3IgPEVPVD4gd2l0aGluIHN0cmluZwBjb3VsZCBub3QgZ2V0IGhvc3QgbmFtZQBjcmVhdGlvbiBvZiB0aHJlYWRzIGZhaWxlZABkb2N1bWVudCBlbmRlZCB1bmV4cGVjdGVkbHk6ICVzAGRvY3VtZW50IG11c3QgYmVnaW4gd2l0aCBhbiBlbGVtZW50AGRvbWFpbiAiJXMiIGluIGlucHV0IGZpbGUgJyVzJyBkb2Vzbid0IGNvbnRhaW4gYSBoZWFkZXIgZW50cnkgd2l0aCBhIGNoYXJzZXQgc3BlY2lmaWNhdGlvbgBkb21haW4gbmFtZSAiJXMiIG5vdCBzdWl0YWJsZSBhcyBmaWxlIG5hbWUAZG9tYWluIG5hbWUgIiVzIiBub3Qgc3VpdGFibGUgYXMgZmlsZSBuYW1lOiB3aWxsIHVzZSBwcmVmaXgAZHVwbGljYXRlIG1lc3NhZ2UgZGVmaW5pdGlvbgBlbGVtZW50IGlzIGNsb3NlZABlbGVtZW50cyBzdGlsbCBvcGVuAGVtcHR5AGVtcHR5ICdtc2dzdHInIGVudHJ5IGlnbm9yZWQAZW1wdHkgZG9jdW1lbnQAZW5kLW9mLWZpbGUgd2l0aGluIHN0cmluZwBlbmQtb2YtbGluZSB3aXRoaW4gc3RyaW5nAGVycm9yIGFmdGVyIHJlYWRpbmcgIiVzIgBlcnJvciBhZnRlciByZWFkaW5nICVzAGVycm9yIHJlYWRpbmcgIiVzIgBlcnJvciByZWFkaW5nICVzAGVycm9yIHJlYWRpbmcgY3VycmVudCBkaXJlY3RvcnkAZXJyb3Igd2hpbGUgY29udmVydGluZyBmcm9tICIlcyIgZW5jb2RpbmcgdG8gIiVzIiBlbmNvZGluZwBlcnJvciB3aGlsZSBvcGVuaW5nICIlcyIgZm9yIHJlYWRpbmcAZXJyb3Igd2hpbGUgb3BlbmluZyAiJXMiIGZvciB3cml0aW5nAGVycm9yIHdoaWxlIG9wZW5pbmcgJXMgZm9yIHJlYWRpbmcAZXJyb3Igd2hpbGUgcGFyc2luZzogJXMAZXJyb3Igd2hpbGUgcmVhZGluZyAiJXMiAGVycm9yIHdoaWxlIHdyaXRpbmcgIiVzIiBmaWxlAGVycm9yIHdoaWxlIHdyaXRpbmcgdG8gJXMgc3VicHJvY2VzcwBlcnJvciB3cml0aW5nICVzAGVycm9yIHdyaXRpbmcgc3Rkb3V0AGV4YWN0bHkgMiBpbnB1dCBmaWxlcyByZXF1aXJlZABleGFjdGx5IG9uZSBpbnB1dCBmaWxlIHJlcXVpcmVkAGV4cGVjdGVkIHR3byBhcmd1bWVudHMAZXh0cmEgb3BlcmFuZCAlcwBmYWlsZWQgdG8gY3JlYXRlICIlcyIAZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgIiVzIgBmZG9wZW4oKSBmYWlsZWQAZmlsZSAiJXMiIGNvbnRhaW5zIGEgbm90IE5VTCB0ZXJtaW5hdGVkIHN0cmluZwBmaWxlICIlcyIgY29udGFpbnMgYSBub3QgTlVMIHRlcm1pbmF0ZWQgc3RyaW5nLCBhdCAlcwBmaWxlICIlcyIgaXMgbm90IGluIEdOVSAubW8gZm9ybWF0AGZpbGUgIiVzIiBpcyB0cnVuY2F0ZWQAZmlsdGVyIG91dHB1dCBpcyBub3QgdGVybWluYXRlZCB3aXRoIGEgbmV3bGluZQBmaXJzdCBwbHVyYWwgZm9ybSBoYXMgbm9uemVybyBpbmRleABmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJyVzJyBhbmQgJyVzJyBhcmUgbm90IGVxdWl2YWxlbnQAZm9ybWF0IHNwZWNpZmljYXRpb25zIGluICclcycgYW5kICclcycgZm9yIGFyZ3VtZW50ICV1IGFyZSBub3QgdGhlIHNhbWUAZm9ybWF0IHNwZWNpZmljYXRpb25zIGluICclcycgYW5kICclcycgZm9yIGFyZ3VtZW50ICclcycgYXJlIG5vdCB0aGUgc2FtZQBmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJyVzJyBhbmQgJyVzJyBmb3IgYXJndW1lbnQgeyV1fSBhcmUgbm90IHRoZSBzYW1lAGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBpbiAnJXMnIGFyZSBub3QgYSBzdWJzZXQgb2YgdGhvc2UgaW4gJyVzJwBmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJyVzJyBleHBlY3QgYSBtYXBwaW5nLCB0aG9zZSBpbiAnJXMnIGV4cGVjdCBhIHR1cGxlAGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBpbiAnJXMnIGV4cGVjdCBhIHR1cGxlLCB0aG9zZSBpbiAnJXMnIGV4cGVjdCBhIG1hcHBpbmcAZm91bmQgJWQgZmF0YWwgZXJyb3IAZm91bmQgJWQgZmF0YWwgZXJyb3JzAGZ1enp5ICdtc2dzdHInIGVudHJ5IGlnbm9yZWQAaGVhZGVyIGZpZWxkICclcycgbWlzc2luZyBpbiBoZWFkZXIKAGhlYWRlciBmaWVsZCAnJXMnIHN0aWxsIGhhcyB0aGUgaW5pdGlhbCBkZWZhdWx0IHZhbHVlCgBpY29udiBmYWlsdXJlAGltcG9zc2libGUgc2VsZWN0aW9uIGNyaXRlcmlhIHNwZWNpZmllZCAoJWQgPCBuIDwgJWQpAGluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlAGluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlIGF0IGVuZCBvZiBmaWxlAGluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlIGF0IGVuZCBvZiBsaW5lAGluY29uc2lzdGVudCB1c2Ugb2YgI34AaW5wdXQgZmlsZSAnJXMnIGRvZXNuJ3QgY29udGFpbiBhIGhlYWRlciBlbnRyeSB3aXRoIGEgY2hhcnNldCBzcGVjaWZpY2F0aW9uAGlucHV0IGZpbGUgZG9lc24ndCBjb250YWluIGEgaGVhZGVyIGVudHJ5IHdpdGggYSBjaGFyc2V0IHNwZWNpZmljYXRpb24AaW5wdXQgaXMgbm90IHZhbGlkIGluICIlcyIgZW5jb2RpbmcAaW5zaWRlIGEgY29tbWVudCBvciBwcm9jZXNzaW5nIGluc3RydWN0aW9uAGluc2lkZSBhbiBhdHRyaWJ1dGUgbmFtZQBpbnNpZGUgYW4gYXR0cmlidXRlIHZhbHVlAGluc2lkZSBhbiBlbGVtZW50IG5hbWUAaW5zaWRlIGFuIG9wZW4gdGFnAGluc2lkZSB0aGUgY2xvc2UgdGFnAGludGVybmF0aW9uYWxpemVkIG1lc3NhZ2VzIHNob3VsZCBub3QgY29udGFpbiB0aGUgJ1wlYycgZXNjYXBlIHNlcXVlbmNlAGludmFsaWQgVVRGLTggc2VxdWVuY2UAaW52YWxpZCBhcmd1bWVudCAlcyBmb3IgJXMAaW52YWxpZCBhdHRyaWJ1dGUgdmFsdWUgIiVzIiBmb3IgIiVzIgBpbnZhbGlkIGNoYXJhY3RlciBhZnRlciAnJXMnAGludmFsaWQgY2hhcmFjdGVyIHJlZmVyZW5jZTogJXMAaW52YWxpZCBjb250cm9sIHNlcXVlbmNlAGludmFsaWQgZW5kaWFubmVzczogJXMAaW52YWxpZCBlbnRpdHkgcmVmZXJlbmNlOiAlcwBpbnZhbGlkIG11bHRpYnl0ZSBzZXF1ZW5jZQBpbnZhbGlkIG5vbi1ibGFuayBjaGFyYWN0ZXIAaW52YWxpZCBub24tYmxhbmsgbGluZQBpbnZhbGlkIG5wbHVyYWxzIHZhbHVlAGludmFsaWQgcGx1cmFsIGV4cHJlc3Npb24AaW52YWxpZCBzb3VyY2VfdmVyc2lvbiBhcmd1bWVudCB0byBjb21waWxlX2phdmFfY2xhc3MAaW52YWxpZCB0YXJnZXRfdmVyc2lvbiBhcmd1bWVudCB0byBjb21waWxlX2phdmFfY2xhc3MAa2V5d29yZCAiJXMiIHVua25vd24AbGFuZ3VhZ2UgJyVzJyB1bmtub3duAG1lbW9yeSBleGhhdXN0ZWQAbWVzc2FnZSBjYXRhbG9nIGhhcyBjb250ZXh0IGRlcGVuZGVudCB0cmFuc2xhdGlvbnMKYnV0IHRoZSBDIyAucmVzb3VyY2VzIGZvcm1hdCBkb2Vzbid0IHN1cHBvcnQgY29udGV4dHMKAG1lc3NhZ2UgY2F0YWxvZyBoYXMgY29udGV4dCBkZXBlbmRlbnQgdHJhbnNsYXRpb25zCmJ1dCB0aGUgVGNsIG1lc3NhZ2UgY2F0YWxvZyBmb3JtYXQgZG9lc24ndCBzdXBwb3J0IGNvbnRleHRzCgBtZXNzYWdlIGNhdGFsb2cgaGFzIGNvbnRleHQgZGVwZW5kZW50IHRyYW5zbGF0aW9ucywgYnV0IHRoZSBvdXRwdXQgZm9ybWF0IGRvZXMgbm90IHN1cHBvcnQgdGhlbS4AbWVzc2FnZSBjYXRhbG9nIGhhcyBtc2djdHh0IHN0cmluZ3MgY29udGFpbmluZyBjaGFyYWN0ZXJzIG91dHNpZGUgSVNPLTg4NTktMQpidXQgdGhlIFF0IG1lc3NhZ2UgY2F0YWxvZyBmb3JtYXQgc3VwcG9ydHMgVW5pY29kZSBvbmx5IGluIHRoZSB0cmFuc2xhdGVkCnN0cmluZ3MsIG5vdCBpbiB0aGUgY29udGV4dCBzdHJpbmdzCgBtZXNzYWdlIGNhdGFsb2cgaGFzIG1zZ2lkIHN0cmluZ3MgY29udGFpbmluZyBjaGFyYWN0ZXJzIG91dHNpZGUgSVNPLTg4NTktMQpidXQgdGhlIFF0IG1lc3NhZ2UgY2F0YWxvZyBmb3JtYXQgc3VwcG9ydHMgVW5pY29kZSBvbmx5IGluIHRoZSB0cmFuc2xhdGVkCnN0cmluZ3MsIG5vdCBpbiB0aGUgdW50cmFuc2xhdGVkIHN0cmluZ3MKAG1lc3NhZ2UgY2F0YWxvZyBoYXMgcGx1cmFsIGZvcm0gdHJhbnNsYXRpb25zAG1lc3NhZ2UgY2F0YWxvZyBoYXMgcGx1cmFsIGZvcm0gdHJhbnNsYXRpb25zCmJ1dCB0aGUgQyMgLnJlc291cmNlcyBmb3JtYXQgZG9lc24ndCBzdXBwb3J0IHBsdXJhbCBoYW5kbGluZwoAbWVzc2FnZSBjYXRhbG9nIGhhcyBwbHVyYWwgZm9ybSB0cmFuc2xhdGlvbnMKYnV0IHRoZSBRdCBtZXNzYWdlIGNhdGFsb2cgZm9ybWF0IGRvZXNuJ3Qgc3VwcG9ydCBwbHVyYWwgaGFuZGxpbmcKAG1lc3NhZ2UgY2F0YWxvZyBoYXMgcGx1cmFsIGZvcm0gdHJhbnNsYXRpb25zCmJ1dCB0aGUgVGNsIG1lc3NhZ2UgY2F0YWxvZyBmb3JtYXQgZG9lc24ndCBzdXBwb3J0IHBsdXJhbCBoYW5kbGluZwoAbWVzc2FnZSBjYXRhbG9nIGhhcyBwbHVyYWwgZm9ybSB0cmFuc2xhdGlvbnMsIGJ1dCBsYWNrcyBhIGhlYWRlciBlbnRyeSB3aXRoICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPUlOVEVHRVI7IHBsdXJhbD1FWFBSRVNTSU9OOyIAbWVzc2FnZSBjYXRhbG9nIGhhcyBwbHVyYWwgZm9ybSB0cmFuc2xhdGlvbnMsIGJ1dCB0aGUgb3V0cHV0IGZvcm1hdCBkb2VzIG5vdCBzdXBwb3J0IHRoZW0uAG1lc3NhZ2UgY2F0YWxvZyBoYXMgcGx1cmFsIGZvcm0gdHJhbnNsYXRpb25zLCBidXQgdGhlIG91dHB1dCBmb3JtYXQgZG9lcyBub3Qgc3VwcG9ydCB0aGVtLiBUcnkgZ2VuZXJhdGluZyBhIEphdmEgY2xhc3MgdXNpbmcgIm1zZ2ZtdCAtLWphdmEiLCBpbnN0ZWFkIG9mIGEgcHJvcGVydGllcyBmaWxlLgBtaXNzaW5nICclYycAbWlzc2luZyAnJWMnIG9yICclYycAbWlzc2luZyAnPScgYWZ0ZXIgIiVzIgBtaXNzaW5nICc+JwBtaXNzaW5nICdtc2dpZF9wbHVyYWwnIHNlY3Rpb24AbWlzc2luZyAnbXNnc3RyJyBzZWN0aW9uAG1pc3NpbmcgJ21zZ3N0cltdJyBzZWN0aW9uAG1pc3NpbmcgY29tbWFuZCBuYW1lAG1pc3NpbmcgZmlsdGVyIG5hbWUAbXNnc3RyIGhhcyB0b28gbWFueSBrZXlib2FyZCBhY2NlbGVyYXRvciBtYXJrcyAnJWMnAG1zZ3N0ciBsYWNrcyB0aGUga2V5Ym9hcmQgYWNjZWxlcmF0b3IgbWFyayAnJWMnAG5vIGVuZGluZyAnOycAbm8gaW5wdXQgZmlsZSBnaXZlbgBubyBpbnB1dCBmaWxlIHNob3VsZCBiZSBnaXZlbiBpZiAlcyBhbmQgJXMgYXJlIHNwZWNpZmllZABubyBpbnB1dCBmaWxlcyBnaXZlbgBub24tcGVybWl0dGVkIGNoYXJhY3RlcgBub3QgYSB2YWxpZCBKYXZhIGNsYXNzIG5hbWU6ICVzAG5vdCBhIHZhbGlkIG51bWJlciBzcGVjaWZpY2F0aW9uAG5wbHVyYWxzID0gJWx1AG5wbHVyYWxzID0gJWx1IGJ1dCBwbHVyYWwgZXhwcmVzc2lvbiBjYW4gcHJvZHVjZSB2YWx1ZXMgYXMgbGFyZ2UgYXMgJWx1AG51bWJlciBvZiBmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJyVzJyBhbmQgJyVzJyBkb2VzIG5vdCBtYXRjaABvcHRpb24gJyVjJyBjYW5ub3QgYmUgdXNlZCBiZWZvcmUgJ0onIG9yICdLJyBvciAnVCcgb3IgJ0MnIG9yICdYJyBoYXMgYmVlbiBzcGVjaWZpZWQAcGx1cmFsIGV4cHJlc3Npb24gY2FuIHByb2R1Y2UgYXJpdGhtZXRpYyBleGNlcHRpb25zLCBwb3NzaWJseSBkaXZpc2lvbiBieSB6ZXJvAHBsdXJhbCBleHByZXNzaW9uIGNhbiBwcm9kdWNlIGRpdmlzaW9uIGJ5IHplcm8AcGx1cmFsIGV4cHJlc3Npb24gY2FuIHByb2R1Y2UgaW50ZWdlciBvdmVyZmxvdwBwbHVyYWwgZXhwcmVzc2lvbiBjYW4gcHJvZHVjZSBuZWdhdGl2ZSB2YWx1ZXMAcGx1cmFsIGZvcm0gaGFzIHdyb25nIGluZGV4AHBsdXJhbCBoYW5kbGluZyBpcyBhIEdOVSBnZXR0ZXh0IGV4dGVuc2lvbgBwcmVzZW50IGNoYXJzZXQgIiVzIiBpcyBub3QgYSBwb3J0YWJsZSBlbmNvZGluZyBuYW1lAHByZXNlcnZpbmcgcGVybWlzc2lvbnMgZm9yICVzAHJlYWQgZnJvbSAlcyBzdWJwcm9jZXNzIGZhaWxlZABzZWxlY3RvciBpcyBub3Qgc3BlY2lmaWVkAHNlbnRlbmNlIGVuZCB0eXBlICclcycgdW5rbm93bgBzZXR0aW5nIHBlcm1pc3Npb25zIGZvciAlcwBzcGFjZSBiZWZvcmUgZWxsaXBzaXMgZm91bmQgaW4gdXNlciB2aXNpYmxlIHN0cmluZ3MAc3RhbmRhcmQgaW5wdXQAc3RhbmRhcmQgb3V0cHV0AHN5bnRheCBjaGVjayAnJXMnIHVua25vd24AdGFyZ2V0IGNoYXJzZXQgIiVzIiBpcyBub3QgYSBwb3J0YWJsZSBlbmNvZGluZyBuYW1lLgB0aGUgYXJndW1lbnQgdG8gJXMgc2hvdWxkIGJlIGEgc2luZ2xlIHB1bmN0dWF0aW9uIGNoYXJhY3RlcgB0aGUgcm9vdCBlbGVtZW50IGlzIG5vdCAibG9jYXRpbmdSdWxlcyIAdGhlIHJvb3QgZWxlbWVudCBpcyBub3QgInJ1bGVzIiB1bmRlciBuYW1lc3BhY2UgJXMAdGhpcyBmaWxlIG1heSBub3QgY29udGFpbiBkb21haW4gZGlyZWN0aXZlcwB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZmlyc3QgZGVmaW5pdGlvbgB0aGlzIG1lc3NhZ2UgaXMgdW50cmFuc2xhdGVkAHRoaXMgbWVzc2FnZSBpcyB1c2VkIGJ1dCBub3QgZGVmaW5lZCBpbiAlcwB0aGlzIG1lc3NhZ2UgaXMgdXNlZCBidXQgbm90IGRlZmluZWQuLi4AdGhpcyBtZXNzYWdlIG5lZWRzIHRvIGJlIHJldmlld2VkIGJ5IHRoZSB0cmFuc2xhdG9yAHRoaXMgbWVzc2FnZSBzaG91bGQgZGVmaW5lIHBsdXJhbCBmb3JtcwB0aGlzIG1lc3NhZ2Ugc2hvdWxkIG5vdCBkZWZpbmUgcGx1cmFsIGZvcm1zAHRvbyBtYW55IGFyZ3VtZW50cwB0b28gbWFueSBlcnJvcnMsIGFib3J0aW5nAHR3byBkaWZmZXJlbnQgY2hhcnNldHMgIiVzIiBhbmQgIiVzIiBpbiBpbnB1dCBmaWxlAHVua25vd24AdW50ZXJtaW5hdGVkIGdyb3VwIG5hbWUAd2FybmluZzogAHdhcm5pbmc6IElUUyBydWxlIGZpbGUgJyVzJyBkb2VzIG5vdCBleGlzdAB3YXJuaW5nOiBJVFMgcnVsZSBmaWxlICclcycgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIHlvdXIgZ2V0dGV4dCBpbnN0YWxsYXRpb24Ad2FybmluZzogUE8gZmlsZSBoZWFkZXIgZnV6enkKAHdhcm5pbmc6IFBPIGZpbGUgaGVhZGVyIG1pc3Npbmcgb3IgaW52YWxpZAoAd2FybmluZzogY2hhcnNldCBjb252ZXJzaW9uIHdpbGwgbm90IHdvcmsKAHdhcm5pbmc6IGZpbGUgJyVzJyBleHRlbnNpb24gJyVzJyBpcyB1bmtub3duOyB3aWxsIHRyeSBDAHdhcm5pbmc6IGludmFsaWQgVW5pY29kZSBjaGFyYWN0ZXIAd2FybmluZzogaW52YWxpZCBcdXh4eHggc3ludGF4IGZvciBVbmljb2RlIGNoYXJhY3RlcgB3YXJuaW5nOiBtaXNzaW5nIGNvbnRleHQgZm9yIGtleXdvcmQgJyUuKnMnAHdhcm5pbmc6IG1pc3NpbmcgY29udGV4dCBmb3IgcGx1cmFsIGFyZ3VtZW50IG9mIGtleXdvcmQgJyUuKnMnAHdhcm5pbmc6IG9sZGVyIHZlcnNpb25zIG9mIG1zZ2ZtdCB3aWxsIGdpdmUgYW4gZXJyb3Igb24gdGhpcwoAd2FybmluZzogc3ludGF4IGVycm9yAHdhcm5pbmc6IHN5bnRheCBlcnJvciwgZXhwZWN0ZWQgJzsnIGFmdGVyIHN0cmluZwB3YXJuaW5nOiBzeW50YXggZXJyb3IsIGV4cGVjdGVkICc9JyBvciAnOycgYWZ0ZXIgc3RyaW5nAHdhcm5pbmc6IHRoaXMgbWVzc2FnZSBpcyBub3QgdXNlZAB3YXJuaW5nOiB1bnRlcm1pbmF0ZWQga2V5L3ZhbHVlIHBhaXIAd2FybmluZzogdW50ZXJtaW5hdGVkIHN0cmluZwB3cml0ZSBlcnJvcgB3cml0ZSB0byAlcyBzdWJwcm9jZXNzIGZhaWxlZAB3cml0ZSB0byBzdGRvdXQgZmFpbGVkAHhnZXR0ZXh0IGNhbm5vdCB3b3JrIHdpdGhvdXQga2V5d29yZHMgdG8gbG9vayBmb3IAUHJvamVjdC1JZC1WZXJzaW9uOiBnZXR0ZXh0LXRvb2xzIDAuMTkuOC4xClJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctZ251LWdldHRleHRAZ251Lm9yZwpQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNi0wNi0xMSAyMjowOCswOTAwClBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDYtMTEgMjI6MDgrMDkwMApMYXN0LVRyYW5zbGF0b3I6IEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkCkxhbmd1YWdlLVRlYW06IG5vbmUKTGFuZ3VhZ2U6IGVuQGJvbGRxdW90Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0ClBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpOwoAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25seSBYTUwgYmFzZWQgbGFuZ3VhZ2VzKQoAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25seSBsYW5ndWFnZSBDKyspCgAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbmx5IGxhbmd1YWdlcyBDLCBDKyssIE9iamVjdGl2ZUMpCgAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbmx5IGxhbmd1YWdlcyBDLCBDKyssIE9iamVjdGl2ZUMsIFNoZWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5dGhvbiwgTGlzcCwgRW1hY3NMaXNwLCBsaWJyZXAsIFNjaGVtZSwgSmF2YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDIywgYXdrLCBUY2wsIFBlcmwsIFBIUCwgR0NDLXNvdXJjZSwgR2xhZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTHVhLCBKYXZhU2NyaXB0LCBWYWxhKQoAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25seSBsYW5ndWFnZXMgQywgQysrLCBPYmplY3RpdmVDLCBTaGVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeXRob24sIExpc3AsIEVtYWNzTGlzcCwgbGlicmVwLCBTY2hlbWUsIEphdmEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQyMsIGF3aywgVGNsLCBQZXJsLCBQSFAsIEdDQy1zb3VyY2UsIEdsYWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEx1YSwgSmF2YVNjcmlwdCwgVmFsYSwgRGVza3RvcCkKACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9ubHkgbGFuZ3VhZ2VzIEMsIEMrKywgT2JqZWN0aXZlQywgU2hlbGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHl0aG9uLCBMaXNwLCBFbWFjc0xpc3AsIGxpYnJlcCwgU2NoZW1lLCBKYXZhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMjLCBhd2ssIFlDUCwgVGNsLCBQZXJsLCBQSFAsIEdDQy1zb3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTHVhLCBKYXZhU2NyaXB0LCBWYWxhKQoAICAgICAgLS1iYWNrdXA9Q09OVFJPTCAgICAgICAgbWFrZSBhIGJhY2t1cCBvZiBkZWYucG8KACAgICAgIC0tYm9vc3QgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBCb29zdCBmb3JtYXQgc3RyaW5ncwoAICAgICAgLS1jaGVjay1hY2NlbGVyYXRvcnNbPUNIQVJdICBjaGVjayBwcmVzZW5jZSBvZiBrZXlib2FyZCBhY2NlbGVyYXRvcnMgZm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVudSBpdGVtcwoAICAgICAgLS1jaGVjay1kb21haW4gICAgICAgICAgY2hlY2sgZm9yIGNvbmZsaWN0cyBiZXR3ZWVuIGRvbWFpbiBkaXJlY3RpdmVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHRoZSAtLW91dHB1dC1maWxlIG9wdGlvbgoAICAgICAgLS1jaGVjay1mb3JtYXQgICAgICAgICAgY2hlY2sgbGFuZ3VhZ2UgZGVwZW5kZW50IGZvcm1hdCBzdHJpbmdzCgAgICAgICAtLWNoZWNrLWhlYWRlciAgICAgICAgICB2ZXJpZnkgcHJlc2VuY2UgYW5kIGNvbnRlbnRzIG9mIHRoZSBoZWFkZXIgZW50cnkKACAgICAgIC0tY2hlY2s9TkFNRSAgICAgICAgICAgIHBlcmZvcm0gc3ludGF4IGNoZWNrIG9uIG1lc3NhZ2VzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVsbGlwc2lzLXVuaWNvZGUsIHNwYWNlLWVsbGlwc2lzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdW90ZS11bmljb2RlLCBidWxsZXQtdW5pY29kZSkKACAgICAgIC0tY2xlYXItZnV6enkgICAgICAgICAgIHNldCBhbGwgbWVzc2FnZXMgbm9uLSdmdXp6eScKACAgICAgIC0tY2xlYXItb2Jzb2xldGUgICAgICAgIHNldCBhbGwgbWVzc2FnZXMgbm9uLW9ic29sZXRlCgAgICAgICAtLWNsZWFyLXByZXZpb3VzICAgICAgICByZW1vdmUgdGhlIOKAnBtbMW1wcmV2aW91cyBtc2dpZBtbMG3igJ0gZnJvbSBhbGwgbWVzc2FnZXMKACAgICAgIC0tY29sb3IgICAgICAgICAgICAgICAgIHVzZSBjb2xvcnMgYW5kIG90aGVyIHRleHQgYXR0cmlidXRlcyBhbHdheXMKICAgICAgLS1jb2xvcj1XSEVOICAgICAgICAgICAgdXNlIGNvbG9ycyBhbmQgb3RoZXIgdGV4dCBhdHRyaWJ1dGVzIGlmIFdIRU4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRU4gbWF5IGJlICdhbHdheXMnLCAnbmV2ZXInLCAnYXV0bycsIG9yICdodG1sJy4KACAgICAgIC0tY29weXJpZ2h0LWhvbGRlcj1TVFJJTkcgIHNldCBjb3B5cmlnaHQgaG9sZGVyIGluIG91dHB1dAoAICAgICAgLS1jc2hhcnAgICAgICAgICAgICAgICAgQyMgbW9kZTogZ2VuZXJhdGUgYSAuTkVUIC5kbGwgZmlsZQoAICAgICAgLS1jc2hhcnAgICAgICAgICAgICAgICAgQyMgbW9kZTogaW5wdXQgaXMgYSAuTkVUIC5kbGwgZmlsZQoAICAgICAgLS1jc2hhcnAtcmVzb3VyY2VzICAgICAgQyMgcmVzb3VyY2VzIG1vZGU6IGdlbmVyYXRlIGEgLk5FVCAucmVzb3VyY2VzIGZpbGUKACAgICAgIC0tY3NoYXJwLXJlc291cmNlcyAgICAgIEMjIHJlc291cmNlcyBtb2RlOiBpbnB1dCBpcyBhIC5ORVQgLnJlc291cmNlcyBmaWxlCgAgICAgICAtLWRlYnVnICAgICAgICAgICAgICAgICBtb3JlIGRldGFpbGVkIGZvcm1hdHN0cmluZyByZWNvZ25pdGlvbiByZXN1bHQKACAgICAgIC0tZGVza3RvcCAgICAgICAgICAgICAgIERlc2t0b3AgRW50cnkgbW9kZTogZ2VuZXJhdGUgYSAuZGVza3RvcCBmaWxlCgAgICAgICAtLWVtcHR5ICAgICAgICAgICAgICAgICB3aGVuIHJlbW92aW5nICdmdXp6eScsIGFsc28gc2V0IG1zZ3N0ciBlbXB0eQoAICAgICAgLS1lbmRpYW5uZXNzPUJZVEVPUkRFUiAgd3JpdGUgb3V0IDMyLWJpdCBudW1iZXJzIGluIHRoZSBnaXZlbiBieXRlIG9yZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJpZyBvciBsaXR0bGUsIGRlZmF1bHQgZGVwZW5kcyBvbiBwbGF0Zm9ybSkKACAgICAgIC0tZXNjYXBlICAgICAgICAgICAgICAgIHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0LCBubyBleHRlbmRlZCBjaGFycwoAICAgICAgLS1mbGFnPVdPUkQ6QVJHOkZMQUcgICAgYWRkaXRpb25hbCBmbGFnIGZvciBzdHJpbmdzIGluc2lkZSB0aGUgYXJndW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyIEFSRyBvZiBrZXl3b3JkIFdPUkQKACAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgIHdyaXRlIFBPIGZpbGUgZXZlbiBpZiBlbXB0eQoAICAgICAgLS1mb3JlaWduLXVzZXIgICAgICAgICAgb21pdCBGU0YgY29weXJpZ2h0IGluIG91dHB1dCBmb3IgZm9yZWlnbiB1c2VyCgAgICAgICAtLWZyb20tY29kZT1OQU1FICAgICAgICBlbmNvZGluZyBvZiBpbnB1dCBmaWxlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleGNlcHQgZm9yIFB5dGhvbiwgVGNsLCBHbGFkZSkKACAgICAgIC0tZnV6enkgICAgICAgICAgICAgICAgIHN5bm9ueW0gZm9yIC0tb25seS1mdXp6eSAtLWNsZWFyLWZ1enp5CgAgICAgICAtLWlnbm9yZS1maWxlPUZJTEUucG8gICBtYW5pcHVsYXRlIG9ubHkgZW50cmllcyBub3QgbGlzdGVkIGluIEZJTEUucG8KACAgICAgIC0taW5kZW50ICAgICAgICAgICAgICAgIGluZGVudGVkIG91dHB1dCBzdHlsZQoAICAgICAgLS1pdHM9RklMRSAgICAgICAgICAgICAgYXBwbHkgSVRTIHJ1bGVzIGZyb20gRklMRQoAICAgICAgLS1pdHN0b29sICAgICAgICAgICAgICAgd3JpdGUgb3V0IGl0c3Rvb2wgY29tbWVudHMKACAgICAgIC0tamF2YTIgICAgICAgICAgICAgICAgIGxpa2UgLS1qYXZhLCBhbmQgYXNzdW1lIEphdmEyIChKREsgMS4yIG9yIGhpZ2hlcikKACAgICAgIC0ta2RlICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBLREUgNCBmb3JtYXQgc3RyaW5ncwoAICAgICAgLS1rZWVwLWhlYWRlciAgICAgICAgICAga2VlcCBoZWFkZXIgZW50cnkgdW5tb2RpZmllZCwgZG9uJ3QgZmlsdGVyIGl0CgAgICAgICAtLWxhbmc9Q0FUQUxPR05BTUUgICAgICBzZXQg4oCYG1sxbUxhbmd1YWdlG1swbeKAmSBmaWVsZCBpbiB0aGUgaGVhZGVyIGVudHJ5CgAgICAgICAtLW1zZ2lkLWJ1Z3MtYWRkcmVzcz1FTUFJTEBBRERSRVNTICBzZXQgcmVwb3J0IGFkZHJlc3MgZm9yIG1zZ2lkIGJ1Z3MKACAgICAgIC0tbm8tZXNjYXBlICAgICAgICAgICAgIGRvIG5vdCB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCAoZGVmYXVsdCkKACAgICAgIC0tbm8tZnV6enkgICAgICAgICAgICAgIHJlbW92ZSDigJgbWzFtZnV6enkbWzBt4oCZIG1hcmtlZCBtZXNzYWdlcwoAICAgICAgLS1uby1oYXNoICAgICAgICAgICAgICAgYmluYXJ5IGZpbGUgd2lsbCBub3QgaW5jbHVkZSB0aGUgaGFzaCB0YWJsZQoAICAgICAgLS1uby1sb2NhdGlvbiAgICAgICAgICAgZG8gbm90IHdyaXRlIOKAmBtbMW0jOiBmaWxlbmFtZTpsaW5lG1swbeKAmSBsaW5lcwoAICAgICAgLS1uby1sb2NhdGlvbiAgICAgICAgICAgc3VwcHJlc3Mg4oCYG1sxbSM6IGZpbGVuYW1lOmxpbmUbWzBt4oCZIGxpbmVzCgAgICAgICAtLW5vLW9ic29sZXRlICAgICAgICAgICByZW1vdmUgb2Jzb2xldGUgI34gbWVzc2FnZXMKACAgICAgIC0tbm8tdHJhbnNsYXRvciAgICAgICAgIGFzc3VtZSB0aGUgUE8gZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZAoAICAgICAgLS1uby13cmFwICAgICAgICAgICAgICAgZG8gbm90IGJyZWFrIGxvbmcgbWVzc2FnZSBsaW5lcywgbG9uZ2VyIHRoYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBwYWdlIHdpZHRoLCBpbnRvIHNldmVyYWwgbGluZXMKACAgICAgIC0tb2Jzb2xldGUgICAgICAgICAgICAgIHN5bm9ueW0gZm9yIC0tb25seS1vYnNvbGV0ZSAtLWNsZWFyLW9ic29sZXRlCgAgICAgICAtLW9taXQtaGVhZGVyICAgICAgICAgICBkb24ndCB3cml0ZSBoZWFkZXIgd2l0aCDigJgbWzFtbXNnaWQgIiIbWzBt4oCZIGVudHJ5CgAgICAgICAtLW9ubHktZmlsZT1GSUxFLnBvICAgICBtYW5pcHVsYXRlIG9ubHkgZW50cmllcyBsaXN0ZWQgaW4gRklMRS5wbwoAICAgICAgLS1vbmx5LWZ1enp5ICAgICAgICAgICAga2VlcCDigJgbWzFtZnV6enkbWzBt4oCZIG1hcmtlZCBtZXNzYWdlcwoAICAgICAgLS1vbmx5LW9ic29sZXRlICAgICAgICAga2VlcCBvYnNvbGV0ZSAjfiBtZXNzYWdlcwoAICAgICAgLS1wYWNrYWdlLW5hbWU9UEFDS0FHRSAgc2V0IHBhY2thZ2UgbmFtZSBpbiBvdXRwdXQKACAgICAgIC0tcGFja2FnZS12ZXJzaW9uPVZFUlNJT04gIHNldCBwYWNrYWdlIHZlcnNpb24gaW4gb3V0cHV0CgAgICAgICAtLXByZXZpb3VzICAgICAgICAgICAgICBrZWVwIHByZXZpb3VzIG1zZ2lkcyBvZiB0cmFuc2xhdGVkIG1lc3NhZ2VzCgAgICAgICAtLXByZXZpb3VzICAgICAgICAgICAgICB3aGVuIHNldHRpbmcgJ2Z1enp5Jywga2VlcCBwcmV2aW91cyBtc2dpZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgdHJhbnNsYXRlZCBtZXNzYWdlcy4KACAgICAgIC0tcHJvcGVydGllcy1vdXRwdXQgICAgIHdyaXRlIG91dCBhIEphdmEgLnByb3BlcnRpZXMgZmlsZQoAICAgICAgLS1xdCAgICAgICAgICAgICAgICAgICAgUXQgbW9kZTogZ2VuZXJhdGUgYSBRdCAucW0gZmlsZQoAICAgICAgLS1xdCAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIFF0IGZvcm1hdCBzdHJpbmdzCgAgICAgICAtLXNlbnRlbmNlLWVuZD1UWVBFICAgICB0eXBlIGRlc2NyaWJpbmcgdGhlIGVuZCBvZiBzZW50ZW5jZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaW5nbGUtc3BhY2UsIHdoaWNoIGlzIHRoZSBkZWZhdWx0LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZG91YmxlLXNwYWNlKQoAICAgICAgLS1zZXQtZnV6enkgICAgICAgICAgICAgc2V0IGFsbCBtZXNzYWdlcyDigJgbWzFtZnV6enkbWzBt4oCZCgAgICAgICAtLXNldC1vYnNvbGV0ZSAgICAgICAgICBzZXQgYWxsIG1lc3NhZ2VzIG9ic29sZXRlCgAgICAgICAtLXNvcnQtYnktZmlsZSAgICAgICAgICBzb3J0IG91dHB1dCBieSBmaWxlIGxvY2F0aW9uCgAgICAgICAtLXNvcnQtb3V0cHV0ICAgICAgICAgICBnZW5lcmF0ZSBzb3J0ZWQgb3V0cHV0CgAgICAgICAtLXNvdXJjZSAgICAgICAgICAgICAgICBwcm9kdWNlIGEgLmphdmEgZmlsZSwgaW5zdGVhZCBvZiBhIC5jbGFzcyBmaWxlCgAgICAgICAtLXN0YXRpc3RpY3MgICAgICAgICAgICBwcmludCBzdGF0aXN0aWNzIGFib3V0IHRyYW5zbGF0aW9ucwoAICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAgZW5hYmxlIHN0cmljdCBVbmlmb3J1bSBtb2RlCgAgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICBzdHJpY3QgVW5pZm9ydW0gb3V0cHV0IHN0eWxlCgAgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICB3cml0ZSBvdXQgc3RyaWN0IFVuaWZvcnVtIGNvbmZvcm1pbmcgLnBvIGZpbGUKACAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgIHdyaXRlIHN0cmljdCB1bmlmb3J1bSBzdHlsZQoAICAgICAgLS1zdHJpbmd0YWJsZS1pbnB1dCAgICAgaW5wdXQgZmlsZSBpcyBpbiBOZVhUc3RlcC9HTlVzdGVwIC5zdHJpbmdzIHN5bnRheAoAICAgICAgLS1zdHJpbmd0YWJsZS1pbnB1dCAgICAgaW5wdXQgZmlsZXMgYXJlIGluIE5lWFRzdGVwL0dOVXN0ZXAgLnN0cmluZ3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ludGF4CgAgICAgICAtLXN0cmluZ3RhYmxlLW91dHB1dCAgICB3cml0ZSBvdXQgYSBOZVhUc3RlcC9HTlVzdGVwIC5zdHJpbmdzIGZpbGUKACAgICAgIC0tc3R5bGU9U1RZTEVGSUxFICAgICAgIHNwZWNpZnkgQ1NTIHN0eWxlIHJ1bGUgZmlsZSBmb3IgLS1jb2xvcgoAICAgICAgLS1zdWZmaXg9U1VGRklYICAgICAgICAgb3ZlcnJpZGUgdGhlIHVzdWFsIGJhY2t1cCBzdWZmaXgKACAgICAgIC0tdGNsICAgICAgICAgICAgICAgICAgIFRjbCBtb2RlOiBnZW5lcmF0ZSBhIHRjbC9tc2djYXQgLm1zZyBmaWxlCgAgICAgICAtLXRjbCAgICAgICAgICAgICAgICAgICBUY2wgbW9kZTogaW5wdXQgaXMgYSB0Y2wvbXNnY2F0IC5tc2cgZmlsZQoAICAgICAgLS10cmFuc2xhdGVkICAgICAgICAgICAga2VlcCB0cmFuc2xhdGVkLCByZW1vdmUgdW50cmFuc2xhdGVkIG1lc3NhZ2VzCgAgICAgICAtLXVudHJhbnNsYXRlZCAgICAgICAgICBrZWVwIHVudHJhbnNsYXRlZCwgcmVtb3ZlIHRyYW5zbGF0ZWQgbWVzc2FnZXMKACAgICAgIC0tdXNlLWZpcnN0ICAgICAgICAgICAgIHVzZSBmaXJzdCBhdmFpbGFibGUgdHJhbnNsYXRpb24gZm9yIGVhY2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSwgZG9uJ3QgbWVyZ2Ugc2V2ZXJhbCB0cmFuc2xhdGlvbnMKACAgICAgIC0tdXNlLWZ1enp5ICAgICAgICAgICAgIGNvbnNpZGVyIGZ1enp5IGVudHJpZXMKACAgICAgIC0tdXNlLXVudHJhbnNsYXRlZCAgICAgIGNvbnNpZGVyIHVudHJhbnNsYXRlZCBlbnRyaWVzCgAgICAgICAtLXhtbCAgICAgICAgICAgICAgICAgICBYTUwgbW9kZTogZ2VuZXJhdGUgWE1MIGZpbGUKACAgLS1uZXdsaW5lICAgICAgICAgICAgICAgICAgIGFkZCBhIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiBpbnB1dCBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmUgYSBuZXdsaW5lIGZyb20gdGhlIGVuZCBvZiBvdXRwdXQAICAtLW5ld2xpbmUgICAgICAgICAgICAgICAgICAgYWRkIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiBpbnB1dAoAICAtLXRlbXBsYXRlPVRFTVBMQVRFICAgICAgICAgYSAuZGVza3RvcCBmaWxlIHVzZWQgYXMgYSB0ZW1wbGF0ZQoAICAtLXRlbXBsYXRlPVRFTVBMQVRFICAgICAgICAgYW4gWE1MIGZpbGUgdXNlZCBhcyBhIHRlbXBsYXRlCgAgIC08LCAtLWxlc3MtdGhhbj1OVU1CRVIgICAgICBwcmludCBtZXNzYWdlcyB3aXRoIGxlc3MgdGhhbiB0aGlzIG1hbnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMsIGRlZmF1bHRzIHRvIGluZmluaXRlIGlmIG5vdCBzZXQKACAgLT4sIC0tbW9yZS10aGFuPU5VTUJFUiAgICAgIHByaW50IG1lc3NhZ2VzIHdpdGggbW9yZSB0aGFuIHRoaXMgbWFueQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9ucywgZGVmYXVsdHMgdG8gMCBpZiBub3Qgc2V0CgAgIC0+LCAtLW1vcmUtdGhhbj1OVU1CRVIgICAgICBwcmludCBtZXNzYWdlcyB3aXRoIG1vcmUgdGhhbiB0aGlzIG1hbnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMsIGRlZmF1bHRzIHRvIDEgaWYgbm90IHNldAoAICAtQywgLS1jKysgICAgICAgICAgICAgICAgICAgc2hvcnRoYW5kIGZvciAtLWxhbmd1YWdlPUMrKwoAICAtQywgLS1jaGVjay1jb21wYXRpYmlsaXR5ICAgY2hlY2sgdGhhdCBHTlUgbXNnZm10IGJlaGF2ZXMgbGlrZSBYL09wZW4gbXNnZm10CgAgIC1DLCAtLWNvbXBlbmRpdW09RklMRSAgICAgICBhZGRpdGlvbmFsIGxpYnJhcnkgb2YgbWVzc2FnZSB0cmFuc2xhdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heSBiZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UKACAgLUQsIC0tZGlyZWN0b3J5PURJUkVDVE9SWSAgIGFkZCBESVJFQ1RPUlkgdG8gbGlzdCBmb3IgaW5wdXQgZmlsZXMgc2VhcmNoCgAgIC1FLCAtLWVzY2FwZSAgICAgICAgICAgICAgICB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCwgbm8gZXh0ZW5kZWQgY2hhcnMKACAgLUYsIC0tc29ydC1ieS1maWxlICAgICAgICAgIHNvcnQgb3V0cHV0IGJ5IGZpbGUgbG9jYXRpb24KACAgLUwsIC0tbGFuZ3VhZ2U9TkFNRSAgICAgICAgIHJlY29nbmlzZSB0aGUgc3BlY2lmaWVkIFhNTCBsYW5ndWFnZQoAICAtTCwgLS1sYW5ndWFnZT1OQU1FICAgICAgICAgcmVjb2duaXNlIHRoZSBzcGVjaWZpZWQgbGFuZ3VhZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQywgQysrLCBPYmplY3RpdmVDLCBQTywgU2hlbGwsIFB5dGhvbiwgTGlzcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbWFjc0xpc3AsIGxpYnJlcCwgU2NoZW1lLCBTbWFsbHRhbGssIEphdmEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSmF2YVByb3BlcnRpZXMsIEMjLCBhd2ssIFlDUCwgVGNsLCBQZXJsLCBQSFAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NDLXNvdXJjZSwgTlhTdHJpbmdUYWJsZSwgUlNULCBHbGFkZSwgTHVhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEphdmFTY3JpcHQsIFZhbGEsIERlc2t0b3ApCgAgIC1NW1NUUklOR10sIC0tbXNnc3RyLXN1ZmZpeFs9U1RSSU5HXSAgdXNlIFNUUklORyBvciAiIiBhcyBzdWZmaXggZm9yIG1zZ3N0cgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcwoAICAtTiwgLS1uby1mdXp6eS1tYXRjaGluZyAgICAgZG8gbm90IHVzZSBmdXp6eSBtYXRjaGluZwoAICAtUCwgLS1wcm9wZXJ0aWVzLWlucHV0ICAgICAgaW5wdXQgZmlsZSBpcyBpbiBKYXZhIC5wcm9wZXJ0aWVzIHN5bnRheAoAICAtUCwgLS1wcm9wZXJ0aWVzLWlucHV0ICAgICAgaW5wdXQgZmlsZXMgYXJlIGluIEphdmEgLnByb3BlcnRpZXMgc3ludGF4CgAgIC1ULCAtLXRyaWdyYXBocyAgICAgICAgICAgICB1bmRlcnN0YW5kIEFOU0kgQyB0cmlncmFwaHMgZm9yIGlucHV0CgAgIC1VLCAtLXVwZGF0ZSAgICAgICAgICAgICAgICB1cGRhdGUgZGVmLnBvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyBub3RoaW5nIGlmIGRlZi5wbyBhbHJlYWR5IHVwIHRvIGRhdGUKACAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0CgAgIC1hLCAtLWFsaWdubWVudD1OVU1CRVIgICAgICBhbGlnbiBzdHJpbmdzIHRvIE5VTUJFUiBieXRlcyAoZGVmYXVsdDogJWQpCgAgIC1hLCAtLWV4dHJhY3QtYWxsICAgICAgICAgICBleHRyYWN0IGFsbCBzdHJpbmdzCgAgIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgICBwZXJmb3JtIGFsbCB0aGUgY2hlY2tzIGltcGxpZWQgYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWNoZWNrLWZvcm1hdCwgLS1jaGVjay1oZWFkZXIsIC0tY2hlY2stZG9tYWluCgAgIC1jLCAtLWNsZHIgICAgICAgICAgICAgICAgICBwcmludCBwbHVyYWwgcnVsZXMgaW4gdGhlIENMRFIgZm9ybWF0CgAgIC1jVEFHLCAtLWFkZC1jb21tZW50cz1UQUcgICBwbGFjZSBjb21tZW50IGJsb2NrcyBzdGFydGluZyB3aXRoIFRBRyBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVjZWRpbmcga2V5d29yZCBsaW5lcyBpbiBvdXRwdXQgZmlsZQogIC1jLCAtLWFkZC1jb21tZW50cyAgICAgICAgICBwbGFjZSBhbGwgY29tbWVudCBibG9ja3MgcHJlY2VkaW5nIGtleXdvcmQgbGluZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBvdXRwdXQgZmlsZQoAICAtZCBESVJFQ1RPUlkgICAgICAgICAgICAgICAgYmFzZSBkaXJlY3RvcnkgZm9yIGxvY2FsZSBkZXBlbmRlbnQgLmRsbCBmaWxlcwoAICAtZCBESVJFQ1RPUlkgICAgICAgICAgICAgICAgYmFzZSBkaXJlY3Rvcnkgb2YgLm1zZyBtZXNzYWdlIGNhdGFsb2dzCgAgIC1kIERJUkVDVE9SWSAgICAgICAgICAgICAgICBiYXNlIGRpcmVjdG9yeSBvZiAucG8gZmlsZXMKACAgLWQgRElSRUNUT1JZICAgICAgICAgICAgICAgIGJhc2UgZGlyZWN0b3J5IG9mIGNsYXNzZXMgZGlyZWN0b3J5IGhpZXJhcmNoeQoAICAtZCwgLS1kZWZhdWx0LWRvbWFpbj1OQU1FICAgdXNlIE5BTUUucG8gZm9yIG91dHB1dCAoaW5zdGVhZCBvZiBtZXNzYWdlcy5wbykKACAgLWQsIC0tcmVwZWF0ZWQgICAgICAgICAgICAgIHByaW50IG9ubHkgZHVwbGljYXRlcwoAICAtZSwgLS1leHByZXNzaW9uPVNDUklQVCAgICAgYWRkIFNDUklQVCB0byB0aGUgY29tbWFuZHMgdG8gYmUgZXhlY3V0ZWQKACAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgICAgIGRvIG5vdCB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCAoZGVmYXVsdCkKACAgLWYsIC0tZmlsZT1TQ1JJUFRGSUxFICAgICAgIGFkZCB0aGUgY29udGVudHMgb2YgU0NSSVBURklMRSB0byB0aGUgY29tbWFuZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBleGVjdXRlZAoAICAtZiwgLS1maWxlcy1mcm9tPUZJTEUgICAgICAgZ2V0IGxpc3Qgb2YgaW5wdXQgZmlsZXMgZnJvbSBGSUxFCgAgIC1mLCAtLWZxZG4sIC0tbG9uZyAgICAgICAgICBsb25nIGhvc3QgbmFtZSwgaW5jbHVkZXMgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIGFuZCBhbGlhc2VzCgAgIC1mLCAtLXVzZS1mdXp6eSAgICAgICAgICAgICB1c2UgZnV6enkgZW50cmllcyBpbiBvdXRwdXQKACAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0CgAgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICBpbmRlbnRlZCBvdXRwdXQgc3R5bGUKACAgLWksIC0taW5kZW50ICAgICAgICAgICAgICAgIHdyaXRlIGluZGVudGVkIG91dHB1dCBzdHlsZQoAICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAgICAgd3JpdGUgdGhlIC5wbyBmaWxlIHVzaW5nIGluZGVudGVkIHN0eWxlCgAgIC1pLCAtLWlucHV0PUlOUFVURklMRSAgICAgICBpbnB1dCBQTyBmaWxlCgAgIC1pLCAtLWlucHV0PUlOUFVURklMRSAgICAgICBpbnB1dCBQT1QgZmlsZQoAICAtaSwgLS1pcC1hZGRyZXNzICAgICAgICAgICAgYWRkcmVzc2VzIGZvciB0aGUgaG9zdG5hbWUKACAgLWosIC0tamF2YSAgICAgICAgICAgICAgICAgIEphdmEgbW9kZTogZ2VuZXJhdGUgYSBKYXZhIFJlc291cmNlQnVuZGxlIGNsYXNzCgAgIC1qLCAtLWphdmEgICAgICAgICAgICAgICAgICBKYXZhIG1vZGU6IGlucHV0IGlzIGEgSmF2YSBSZXNvdXJjZUJ1bmRsZSBjbGFzcwoAICAtaiwgLS1qb2luLWV4aXN0aW5nICAgICAgICAgam9pbiBtZXNzYWdlcyB3aXRoIGV4aXN0aW5nIGZpbGUKACAgLWtXT1JELCAtLWtleXdvcmQ9V09SRCAgICAgIGxvb2sgZm9yIFdPUkQgYXMgYW4gYWRkaXRpb25hbCBrZXl3b3JkCiAgLWssIC0ta2V5d29yZCAgICAgICAgICAgICAgIGRvIG5vdCB0byB1c2UgZGVmYXVsdCBrZXl3b3JkcwoAICAtbCwgLS1sb2NhbGU9TExfQ0MgICAgICAgICAgc2V0IHRhcmdldCBsb2NhbGUKACAgLWwsIC0tbG9jYWxlPUxPQ0FMRSAgICAgICAgIGxvY2FsZSBuYW1lLCBlaXRoZXIgbGFuZ3VhZ2Ugb3IgbGFuZ3VhZ2VfQ09VTlRSWQoAICAtbSwgLS1tdWx0aS1kb21haW4gICAgICAgICAgYXBwbHkgcmVmLnBvdCB0byBlYWNoIG9mIHRoZSBkb21haW5zIGluIGRlZi5wbwoAICAtbVtTVFJJTkddLCAtLW1zZ3N0ci1wcmVmaXhbPVNUUklOR10gIHVzZSBTVFJJTkcgb3IgIiIgYXMgcHJlZml4IGZvciBtc2dzdHIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMKACAgLW4sIC0tYWRkLWxvY2F0aW9uICAgICAgICAgIGdlbmVyYXRlIOKAmBtbMW0jOiBmaWxlbmFtZTpsaW5lG1swbeKAmSBsaW5lcyAoZGVmYXVsdCkKACAgLW4sIC0tYWRkLWxvY2F0aW9uICAgICAgICAgIHByZXNlcnZlIOKAmBtbMW0jOiBmaWxlbmFtZTpsaW5lG1swbeKAmSBsaW5lcyAoZGVmYXVsdCkKACAgLW4sIC0tcXVpZXQsIC0tc2lsZW50ICAgICAgIHN1cHByZXNzIGF1dG9tYXRpYyBwcmludGluZyBvZiBwYXR0ZXJuIHNwYWNlCgAgIC1vLCAtLW91dHB1dC1maWxlPUZJTEUgICAgICB3cml0ZSBvdXRwdXQgdG8gc3BlY2lmaWVkIFBPIGZpbGUKACAgLW8sIC0tb3V0cHV0LWZpbGU9RklMRSAgICAgIHdyaXRlIG91dHB1dCB0byBzcGVjaWZpZWQgZmlsZQoAICAtbywgLS1vdXRwdXQ9RklMRSAgICAgICAgICAgd3JpdGUgb3V0cHV0IHRvIHNwZWNpZmllZCBmaWxlCgAgIC1wLCAtLW91dHB1dC1kaXI9RElSICAgICAgICBvdXRwdXQgZmlsZXMgd2lsbCBiZSBwbGFjZWQgaW4gZGlyZWN0b3J5IERJUgoAICAtcCwgLS1wcm9wZXJ0aWVzLW91dHB1dCAgICAgd3JpdGUgb3V0IGEgSmF2YSAucHJvcGVydGllcyBmaWxlCgAgIC1xLCAtLXF1aWV0LCAtLXNpbGVudCAgICAgICBzdXBwcmVzcyBwcm9ncmVzcyBpbmRpY2F0b3JzCgAgIC1yLCAtLXJlc291cmNlPVJFU09VUkNFICAgICByZXNvdXJjZSBuYW1lCgAgIC1zLCAtLXNob3J0ICAgICAgICAgICAgICAgICBzaG9ydCBob3N0IG5hbWUKACAgLXMsIC0tc29ydC1vdXRwdXQgICAgICAgICAgIGdlbmVyYXRlIHNvcnRlZCBvdXRwdXQKACAgLXQsIC0tdG8tY29kZT1OQU1FICAgICAgICAgIGVuY29kaW5nIGZvciBvdXRwdXQKACAgLXUsIC0tdW5pcXVlICAgICAgICAgICAgICAgIHByaW50IG9ubHkgdW5pcXVlIG1lc3NhZ2VzLCBkaXNjYXJkIGR1cGxpY2F0ZXMKACAgLXUsIC0tdW5pcXVlICAgICAgICAgICAgICAgIHNob3J0aGFuZCBmb3IgLS1sZXNzLXRoYW49MiwgcmVxdWVzdHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBvbmx5IHVuaXF1ZSBtZXNzYWdlcyBiZSBwcmludGVkCgAgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHkgbGV2ZWwKACAgLXcsIC0td2lkdGg9TlVNQkVSICAgICAgICAgIHNldCBvdXRwdXQgcGFnZSB3aWR0aAoAICAteCwgLS1leGNsdWRlLWZpbGU9RklMRS5w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dWlyZXMgYW4gYXJndW1lbnQKACVzOiBvcHRpb24g4oCYG1sxbS1XICVzG1swbeKAmSBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50CgAlczogb3B0aW9uIOKAmBtbMW0tVyAlcxtbMG3igJkgaXMgYW1iaWd1b3VzCgAlczogb3B0aW9uIOKAmBtbMW0tVyAlcxtbMG3igJkgcmVxdWlyZXMgYW4gYXJndW1lbnQKACVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0g4oCYG1sxbSVjG1swbeKAmQoAJXM6IHVucmVjb2duaXplZCBvcHRpb24g4oCYG1sxbSVjJXMbWzBt4oCZCgAlczogdW5yZWNvZ25pemVkIG9wdGlvbiDigJgbWzFtLS0lcxtbMG3igJkKACVzOiB3YXJuaW5nOiBzb3VyY2UgZmlsZSBjb250YWlucyBmdXp6eSB0cmFuc2xhdGlvbgAlczolZDogSW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UgYXQgZW5kIG9mIGZpbGUuClBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlCgAlczolZDogSW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UgYXQgZW5kIG9mIGZpbGUuClBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlIG9yIHRocm91Z2ggYQpjb21tZW50IGFzIHNwZWNpZmllZCBpbiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcGVwcy9wZXAtMDI2My5odG1sLgoAJXM6JWQ6IEluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlIGF0IGVuZCBvZiBmaWxlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZS4KACVzOiVkOiBJbmNvbXBsZXRlIG11bHRpYnl0ZSBzZXF1ZW5jZSBhdCBlbmQgb2YgbGluZS4KUGxlYXNlIHNwZWNpZnkgdGhlIGNvcnJlY3Qgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUKACVzOiVkOiBJbmNvbXBsZXRlIG11bHRpYnl0ZSBzZXF1ZW5jZSBhdCBlbmQgb2YgbGluZS4KUGxlYXNlIHNwZWNpZnkgdGhlIGNvcnJlY3Qgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUgb3IgdGhyb3VnaCBhCmNvbW1lbnQgYXMgc3BlY2lmaWVkIGluIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9wZXBzL3BlcC0wMjYzLmh0bWwuCgAlczolZDogSW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UgYXQgZW5kIG9mIGxpbmUuClBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlLgoAJXM6JWQ6IEludmFsaWQgbXVsdGlieXRlIHNlcXVlbmNlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZQoAJXM6JWQ6IEludmFsaWQgbXVsdGlieXRlIHNlcXVlbmNlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZSBvciB0aHJvdWdoIGEKY29tbWVudCBhcyBzcGVjaWZpZWQgaW4gaHR0cDovL3d3dy5weXRob24ub3JnL3BlcHMvcGVwLTAyNjMuaHRtbC4KACVzOiVkOiBJbnZhbGlkIG11bHRpYnl0ZSBzZXF1ZW5jZS4KUGxlYXNlIHNwZWNpZnkgdGhlIGNvcnJlY3Qgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUuCgAlczolZDogSW52YWxpZCBtdWx0aWJ5dGUgc2VxdWVuY2UuClBsZWFzZSBzcGVjaWZ5IHRoZSBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZQoAJXM6JWQ6IEludmFsaWQgbXVsdGlieXRlIHNlcXVlbmNlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgc291cmNlIGVuY29kaW5nIHRocm91Z2ggLS1mcm9tLWNvZGUgb3IgdGhyb3VnaCBhIGNvbW1lbnQKYXMgc3BlY2lmaWVkIGluIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9wZXBzL3BlcC0wMjYzLmh0bWwuCgAlczolZDogSW52YWxpZCBtdWx0aWJ5dGUgc2VxdWVuY2UuClBsZWFzZSBzcGVjaWZ5IHRoZSBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZS4KACVzOiVkOiBMb25nIGluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlLgpQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZQoAJXM6JWQ6IExvbmcgaW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UuClBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlIG9yIHRocm91Z2ggYQpjb21tZW50IGFzIHNwZWNpZmllZCBpbiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcGVwcy9wZXAtMDI2My5odG1sLgoAJXM6JWQ6IExvbmcgaW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UuClBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlLgoAJXM6JWQ6IGNhbid0IGZpbmQgc3RyaW5nIHRlcm1pbmF0b3Ig4oCcG1sxbSVzG1swbeKAnSBhbnl3aGVyZSBiZWZvcmUgRU9GACVzOiVkOiBpY29udiBmYWlsdXJlACVzOiVkOiBpbnZhbGlkIGludGVycG9sYXRpb24gKOKAnBtbMW1cTBtbMG3igJ0pIG9mIDhiaXQgY2hhcmFjdGVyIOKAnBtbMW0lYxtbMG3igJ0AJXM6JWQ6IGludmFsaWQgaW50ZXJwb2xhdGlvbiAo4oCcG1sxbVxVG1swbeKAnSkgb2YgOGJpdCBjaGFyYWN0ZXIg4oCcG1sxbSVjG1swbeKAnQAlczolZDogaW52YWxpZCBpbnRlcnBvbGF0aW9uICjigJwbWzFtXGwbWzBt4oCdKSBvZiA4Yml0IGNoYXJhY3RlciDigJwbWzFtJWMbWzBt4oCdACVzOiVkOiBpbnZhbGlkIGludGVycG9sYXRpb24gKOKAnBtbMW1cdRtbMG3igJ0pIG9mIDhiaXQgY2hhcmFjdGVyIOKAnBtbMW0lYxtbMG3igJ0AJXM6JWQ6IGludmFsaWQgc3RyaW5nIGRlZmluaXRpb24AJXM6JWQ6IGludmFsaWQgc3RyaW5nIGV4cHJlc3Npb24AJXM6JWQ6IGludmFsaWQgdmFyaWFibGUgaW50ZXJwb2xhdGlvbiBhdCDigJwbWzFtJWMbWzBt4oCdACVzOiVkOiBtaXNzaW5nIG51bWJlciBhZnRlciAjACVzOiVkOiBtaXNzaW5nIHJpZ2h0IGJyYWNlIG9uIFx4e0hFWE5VTUJFUn0AJXM6JWQ6IHdhcm5pbmc6ICVzIGlzIG5vdCBhbGxvd2VkACVzOiVkOiB3YXJuaW5nOiDigJgbWzFtKRtbMG3igJkgZm91bmQgd2hlcmUg4oCYG1sxbX0bWzBt4oCZIHdhcyBleHBlY3RlZAAlczolZDogd2FybmluZzog4oCYG1sxbX0bWzBt4oCZIGZvdW5kIHdoZXJlIOKAmBtbMW0pG1swbeKAmSB3YXMgZXhwZWN0ZWQAJXM6JWQ6IHdhcm5pbmc6IFJlZ0V4cCBsaXRlcmFsIHRlcm1pbmF0ZWQgdG9vIGVhcmx5ACVzOiVkOiB3YXJuaW5nOiBpbnZhbGlkIFVuaWNvZGUgY2hhcmFjdGVyACVzOiVkOiB3YXJuaW5nOiBsb25lIHN1cnJvZ2F0ZSBVKyUwNFgAJXM6JWQ6IHdhcm5pbmc6IHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFsIHRlcm1pbmF0ZWQgdG9vIGVhcmx5ACVzOiVkOiB3YXJuaW5nOiB1bnRlcm1pbmF0ZWQgWE1MIG1hcmt1cAAlczolZDogd2FybmluZzogdW50ZXJtaW5hdGVkIGNoYXJhY3RlciBjb25zdGFudAAlczolZDogd2FybmluZzogdW50ZXJtaW5hdGVkIHJlZ3VsYXIgZXhwcmVzc2lvbgAlczolZDogd2FybmluZzogdW50ZXJtaW5hdGVkIHN0cmluZwAlczolZDogd2FybmluZzogdW50ZXJtaW5hdGVkIHN0cmluZyBjb25zdGFudAAlczolZDogd2FybmluZzogdW50ZXJtaW5hdGVkIHN0cmluZyBsaXRlcmFsACVzOiVsdTogd2FybmluZzogdGhlIHN5bnRheCAk4oCcG1sxbS4uLhtbMG3igJ0gaXMgZGVwcmVjYXRlZCBkdWUgdG8gc2VjdXJpdHkgcmVhc29uczsgdXNlIGV2YWxfZ2V0dGV4dCBpbnN0ZWFkACVzUmVhZCAlbGQgb2xkICsgJWxkIHJlZmVyZW5jZSwgbWVyZ2VkICVsZCwgZnV6emllZCAlbGQsIG1pc3NpbmcgJWxkLCBvYnNvbGV0ZSAlbGQuCgAnAOKAmBtbMW0lcxtbMG3igJkgZG9lcyBub3QgdXNlICUlQyBidXQg4oCYG1sxbSVzG1swbeKAmSB1c2VzICUlQwDigJgbWzFtJXMbWzBt4oCZIGRvZXMgbm90IHVzZSAlJW0gYnV0IOKAmBtbMW0lcxtbMG3igJkgdXNlcyAlJW0A4oCYG1sxbSVzG1swbeKAmSBmb3JtYXQgc3RyaW5nIHdpdGggdW5uYW1lZCBhcmd1bWVudHMgY2Fubm90IGJlIHByb3Blcmx5IGxvY2FsaXplZDoKVGhlIHRyYW5zbGF0b3IgY2Fubm90IHJlb3JkZXIgdGhlIGFyZ3VtZW50cy4KUGxlYXNlIGNvbnNpZGVyIHVzaW5nIGEgZm9ybWF0IHN0cmluZyB3aXRoIG5hbWVkIGFyZ3VtZW50cywKYW5kIGEgbWFwcGluZyBpbnN0ZWFkIG9mIGEgdHVwbGUgZm9yIHRoZSBhcmd1bWVudHMuCgDigJgbWzFtJXMbWzBt4oCZIGlzIGEgc2ltcGxlIGZvcm1hdCBzdHJpbmcsIGJ1dCDigJgbWzFtJXMbWzBt4oCZIGlzIG5vdDogaXQgY29udGFpbnMgYW4g4oCYG1sxbUwbWzBt4oCZIGZsYWcgb3IgYSBkb3VibGUtZGlnaXQgYXJndW1lbnQgbnVtYmVyAOKAmBtbMW0lcxtbMG3igJkgaXMgbm90IGEgdmFsaWQgJXMgZm9ybWF0IHN0cmluZywgdW5saWtlICclcycuIFJlYXNvbjogJXMA4oCYG1sxbSVzG1swbeKAmSBpcyBub3QgYSB2YWxpZCBlbmNvZGluZyBuYW1lLiAgVXNpbmcgQVNDSUkgYXMgZmFsbGJhY2suCgDigJgbWzFtJXMbWzBt4oCZIGlzIG5vdCBhIHZhbGlkIG5hbWU6ICVjAOKAmBtbMW0lcxtbMG3igJkgaXMgbm90IGEgdmFsaWQgbmFtZTog4oCYG1sxbSVjG1swbeKAmQDigJgbWzFtJXMbWzBt4oCZIHVzZXMgJSVDIGJ1dCDigJgbWzFtJXMbWzBt4oCZIGRvZXNuJ3QA4oCYG1sxbSVzG1swbeKAmSB1c2VzICUlbSBidXQg4oCYG1sxbSVzG1swbeKAmSBkb2Vzbid0AOKAmBtbMW1kb21haW4gJXMbWzBt4oCZIGRpcmVjdGl2ZSBpZ25vcmVkAOKAmBtbMW1tc2dpZBtbMG3igJkgYW5kIOKAmBtbMW1tc2dpZF9wbHVyYWwbWzBt4oCZIGVudHJpZXMgZG8gbm90IGJvdGggYmVnaW4gd2l0aCDigJgbWzFtXG4bWzBt4oCZAOKAmBtbMW1tc2dpZBtbMG3igJkgYW5kIOKAmBtbMW1tc2dpZF9wbHVyYWwbWzBt4oCZIGVudHJpZXMgZG8gbm90IGJvdGggZW5kIHdpdGgg4oCYG1sxbVxuG1swbeKAmQDigJgbWzFtbXNnaWQbWzBt4oCZIGFuZCDigJgbWzFtbXNnc3RyG1swbeKAmSBlbnRyaWVzIGRvIG5vdCBib3RoIGJlZ2luIHdpdGgg4oCYG1sxbVxuG1swbeKAmQDigJgbWzFtbXNnaWQbWzBt4oCZIGFuZCDigJgbWzFtbXNnc3RyG1swbeKAmSBlbnRyaWVzIGRvIG5vdCBib3RoIGVuZCB3aXRoIOKAmBtbMW1cbhtbMG3igJkA4oCYG1sxbW1zZ2lkG1swbeKAmSBhbmQg4oCYG1sxbW1zZ3N0clsldV0bWzBt4oCZIGVudHJpZXMgZG8gbm90IGJvdGggYmVnaW4gd2l0aCDigJgbWzFtXG4bWzBt4oCZAOKAmBtbMW1tc2dpZBtbMG3igJkgYW5kIOKAmBtbMW1tc2dzdHJbJXVdG1swbeKAmSBlbnRyaWVzIGRvIG5vdCBib3RoIGVuZCB3aXRoIOKAmBtbMW1cbhtbMG3igJkALCAlZCBmdXp6eSB0cmFuc2xhdGlvbgAsICVkIGZ1enp5IHRyYW5zbGF0aW9ucwAsICVkIHVudHJhbnNsYXRlZCBtZXNzYWdlACwgJWQgdW50cmFuc2xhdGVkIG1lc3NhZ2VzAC0gQ29udmVydCB0aGUgdHJhbnNsYXRpb24gY2F0YWxvZyB0byAlcyB1c2luZyAnbXNnY29udicsCiAgdGhlbiBhcHBseSAnJXMnLAogIHRoZW4gY29udmVydCBiYWNrIHRvICVzIHVzaW5nICdtc2djb252Jy4KAC0gU2V0IExDX0FMTCB0byBhIGxvY2FsZSB3aXRoIGVuY29kaW5nICVzLAogIGNvbnZlcnQgdGhlIHRyYW5zbGF0aW9uIGNhdGFsb2cgdG8gJXMgdXNpbmcgJ21zZ2NvbnYnLAogIHRoZW4gYXBwbHkgJyVzJywKICB0aGVuIGNvbnZlcnQgYmFjayB0byAlcyB1c2luZyAnbXNnY29udicuCgAtIFNldCBMQ19BTEwgdG8gYSBsb2NhbGUgd2l0aCBlbmNvZGluZyAlcy4KAC0tam9pbi1leGlzdGluZyBjYW5ub3QgYmUgdXNlZCB3aGVuIG91dHB1dCBpcyB3cml0dGVuIHRvIHN0ZG91dAAuLi5idXQgdGhpcyBkZWZpbml0aW9uIGlzIHNpbWlsYXIAPHN0ZGluPgA8dW5uYW1lZD4AQSAtLWZsYWcgYXJndW1lbnQgZG9lc24ndCBoYXZlIHRoZSA8a2V5d29yZD46PGFyZ251bT46W3Bhc3MtXTxmbGFnPiBzeW50YXg6ICVzAEEgc3BlY2lhbCBidWlsdGluIGNvbW1hbmQgY2FsbGVkIOKAmBtbMW0wG1swbeKAmSBvdXRwdXRzIHRoZSB0cmFuc2xhdGlvbiwgZm9sbG93ZWQgYnkgYQpudWxsIGJ5dGUuICBUaGUgb3V0cHV0IG9mIOKAnBtbMW1tc2dleGVjIDAbWzBt4oCdIGlzIHN1aXRhYmxlIGFzIGlucHV0IGZvciDigJwbWzFteGFyZ3MgLTAbWzBt4oCdLgoAQVNDSUkgYnVsbGV0ICgnJWMnKSBpbnN0ZWFkIG9mIFVuaWNvZGUAQVNDSUkgZG91YmxlIHF1b3RlIHVzZWQgaW5zdGVhZCBvZiBVbmljb2RlAEFTQ0lJIGVsbGlwc2lzICgnLi4uJykgaW5zdGVhZCBvZiBVbmljb2RlAEFTQ0lJIHNpbmdsZSBxdW90ZSB1c2VkIGluc3RlYWQgb2YgVW5pY29kZQBBbHRob3VnaCBiZWluZyB1c2VkIGluIGEgZm9ybWF0IHN0cmluZyBwb3NpdGlvbiwgdGhlICVzIGlzIG5vdCBhIHZhbGlkICVzIGZvcm1hdCBzdHJpbmcuIFJlYXNvbjogJXMKAEFsdGhvdWdoIGRlY2xhcmVkIGFzIHN1Y2gsIHRoZSAlcyBpcyBub3QgYSB2YWxpZCAlcyBmb3JtYXQgc3RyaW5nLiBSZWFzb246ICVzCgBBcHBsaWVzIGEgY29tbWFuZCB0byBhbGwgdHJhbnNsYXRpb25zIG9mIGEgdHJhbnNsYXRpb24gY2F0YWxvZy4KVGhlIENPTU1BTkQgY2FuIGJlIGFueSBwcm9ncmFtIHRoYXQgcmVhZHMgYSB0cmFuc2xhdGlvbiBmcm9tIHN0YW5kYXJkCmlucHV0LiAgSXQgaXMgaW52b2tlZCBvbmNlIGZvciBlYWNoIHRyYW5zbGF0aW9uLiAgSXRzIG91dHB1dCBiZWNvbWVzCm1zZ2V4ZWMncyBvdXRwdXQuICBtc2dleGVjJ3MgcmV0dXJuIGNvZGUgaXMgdGhlIG1heGltdW0gcmV0dXJuIGNvZGUKYWNyb3NzIGFsbCBpbnZvY2F0aW9ucy4KAEFwcGxpZXMgYSBmaWx0ZXIgdG8gYWxsIHRyYW5zbGF0aW9ucyBvZiBhIHRyYW5zbGF0aW9uIGNhdGFsb2cuCgBBdHRyaWJ1dGUgbWFuaXB1bGF0aW9uOgoAQnJ1bm8gSGFpYmxlAEJ5IGRlZmF1bHQgdGhlIGlucHV0IGZpbGVzIGFyZSBhc3N1bWVkIHRvIGJlIGluIEFTQ0lJLgoAQnkgZGVmYXVsdCB0aGUgbGFuZ3VhZ2UgaXMgZ3Vlc3NlZCBkZXBlbmRpbmcgb24gdGhlIGlucHV0IGZpbGUgbmFtZSBleHRlbnNpb24uCgBDIyBjb21waWxlciBub3QgZm91bmQsIHRyeSBpbnN0YWxsaW5nIHBuZXQAQyMgdmlydHVhbCBtYWNoaW5lIG5vdCBmb3VuZCwgdHJ5IGluc3RhbGxpbmcgcG5ldABDYW5ub3QgY29udmVydCBmcm9tIOKAnBtbMW0lcxtbMG3igJ0gdG8g4oCcG1sxbSVzG1swbeKAnS4gJXMgcmVsaWVzIG9uIGljb252KCksIGFuZCBpY29udigpIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBjb252ZXJzaW9uLgBDYW5ub3QgY29udmVydCBmcm9tIOKAnBtbMW0lcxtbMG3igJ0gdG8g4oCcG1sxbSVzG1swbeKAnS4gJXMgcmVsaWVzIG9uIGljb252KCkuIFRoaXMgdmVyc2lvbiB3YXMgYnVpbHQgd2l0aG91dCBpY29udigpLgBDYW5ub3Qgb3V0cHV0IG11bHRpcGxlIHRyYW5zbGF0aW9uIGRvbWFpbnMgaW50byBhIHNpbmdsZSBmaWxlIHdpdGggdGhlIHNwZWNpZmllZCBvdXRwdXQgZm9ybWF0LgBDYW5ub3Qgb3V0cHV0IG11bHRpcGxlIHRyYW5zbGF0aW9uIGRvbWFpbnMgaW50byBhIHNpbmdsZSBmaWxlIHdpdGggdGhlIHNwZWNpZmllZCBvdXRwdXQgZm9ybWF0LiBUcnkgdXNpbmcgUE8gZmlsZSBzeW50YXggaW5zdGVhZC4AQ2hhcnNldCDigJwbWzFtJXMbWzBt4oCdIGlzIG5vdCBhIHBvcnRhYmxlIGVuY29kaW5nIG5hbWUuCk1lc3NhZ2UgY29udmVyc2lvbiB0byB1c2VyJ3MgY2hhcnNldCBtaWdodCBub3Qgd29yay4KAENoYXJzZXQg4oCcG1sxbSVzG1swbeKAnSBpcyBub3Qgc3VwcG9ydGVkLiAlcyByZWxpZXMgb24gaWNvbnYoKSwKYW5kIGljb252KCkgZG9lcyBub3Qgc3VwcG9ydCDigJwbWzFtJXMbWzBt4oCdLgoAQ2hhcnNldCDigJwbWzFtJXMbWzBt4oCdIGlzIG5vdCBzdXBwb3J0ZWQuICVzIHJlbGllcyBvbiBpY29udigpLgpUaGlzIHZlcnNpb24gd2FzIGJ1aWx0IHdpdGhvdXQgaWNvbnYoKS4KAENoYXJzZXQgbWlzc2luZyBpbiBoZWFkZXIuCk1lc3NhZ2UgY29udmVyc2lvbiB0byB1c2VyJ3MgY2hhcnNldCB3aWxsIG5vdCB3b3JrLgoAQ2hvaWNlIG9mIGlucHV0IGZpbGUgbGFuZ3VhZ2U6CgBDb21tYW5kIGlucHV0OgoAQ29tcGFyZSB0d28gVW5pZm9ydW0gc3R5bGUgLnBvIGZpbGVzIHRvIGNoZWNrIHRoYXQgYm90aCBjb250YWluIHRoZSBzYW1lCnNldCBvZiBtc2dpZCBzdHJpbmdzLiAgVGhlIGRlZi5wbyBmaWxlIGlzIGFuIGV4aXN0aW5nIFBPIGZpbGUgd2l0aCB0aGUKdHJhbnNsYXRpb25zLiAgVGhlIHJlZi5wb3QgZmlsZSBpcyB0aGUgbGFzdCBjcmVhdGVkIFBPIGZpbGUsIG9yIGEgUE8gVGVtcGxhdGUKZmlsZSAoZ2VuZXJhbGx5IGNyZWF0ZWQgYnkgeGdldHRleHQpLiAgVGhpcyBpcyB1c2VmdWwgZm9yIGNoZWNraW5nIHRoYXQKeW91IGhhdmUgdHJhbnNsYXRlZCBlYWNoIGFuZCBldmVyeSBtZXNzYWdlIGluIHlvdXIgcHJvZ3JhbS4gIFdoZXJlIGFuIGV4YWN0Cm1hdGNoIGNhbm5vdCBiZSBmb3VuZCwgZnV6enkgbWF0Y2hpbmcgaXMgdXNlZCB0byBwcm9kdWNlIGJldHRlciBkaWFnbm9zdGljcy4KAENvbmNhdGVuYXRlcyBhbmQgbWVyZ2VzIHRoZSBzcGVjaWZpZWQgUE8gZmlsZXMuCkZpbmQgbWVzc2FnZXMgd2hpY2ggYXJlIGNvbW1vbiB0byB0d28gb3IgbW9yZSBvZiB0aGUgc3BlY2lmaWVkIFBPIGZpbGVzLgpCeSB1c2luZyB0aGUgLS1tb3JlLXRoYW4gb3B0aW9uLCBncmVhdGVyIGNvbW1vbmFsaXR5IG1heSBiZSByZXF1ZXN0ZWQKYmVmb3JlIG1lc3NhZ2VzIGFyZSBwcmludGVkLiAgQ29udmVyc2VseSwgdGhlIC0tbGVzcy10aGFuIG9wdGlvbiBtYXkgYmUKdXNlZCB0byBzcGVjaWZ5IGxlc3MgY29tbW9uYWxpdHkgYmVmb3JlIG1lc3NhZ2VzIGFyZSBwcmludGVkIChpLmUuCi0tbGVzcy10aGFuPTIgd2lsbCBvbmx5IHByaW50IHRoZSB1bmlxdWUgbWVzc2FnZXMpLiAgVHJhbnNsYXRpb25zLApjb21tZW50cywgZXh0cmFjdGVkIGNvbW1lbnRzLCBhbmQgZmlsZSBwb3NpdGlvbnMgd2lsbCBiZSBjdW11bGF0ZWQsIGV4Y2VwdAp0aGF0IGlmIC0tdXNlLWZpcnN0IGlzIHNwZWNpZmllZCwgdGhleSB3aWxsIGJlIHRha2VuIGZyb20gdGhlIGZpcnN0IFBPIGZpbGUKdG8gZGVmaW5lIHRoZW0uCgBDb250aW51aW5nIGFueXdheSwgZXhwZWN0IHBhcnNlIGVycm9ycy4AQ29udGludWluZyBhbnl3YXkuAENvbnZlcnNpb24gZnJvbSDigJwbWzFtJXMbWzBt4oCdIHRvIOKAnBtbMW0lcxtbMG3igJ0gaW50cm9kdWNlcyBkdXBsaWNhdGVzOiBzb21lIGRpZmZlcmVudCBtc2dpZHMgYmVjb21lIGVxdWFsLgBDb252ZXJzaW9uIG9mIGZpbGUgJXMgZnJvbSAlcyBlbmNvZGluZyB0byAlcyBlbmNvZGluZwpjaGFuZ2VzIHNvbWUgbXNnaWRzIG9yIG1zZ2N0eHRzLgpFaXRoZXIgY2hhbmdlIGFsbCBtc2dpZHMgYW5kIG1zZ2N0eHRzIHRvIGJlIHB1cmUgQVNDSUksIG9yIGVuc3VyZSB0aGV5IGFyZQpVVEYtOCBlbmNvZGVkIGZyb20gdGhlIGJlZ2lubmluZywgaS5lLiBhbHJlYWR5IGluIHlvdXIgc291cmNlIGNvZGUgZmlsZXMuCgBDb252ZXJzaW9uIHRhcmdldDoKAENvbnZlcnQgYmluYXJ5IG1lc3NhZ2UgY2F0YWxvZyB0byBVbmlmb3J1bSBzdHlsZSAucG8gZmlsZS4KAENvbnZlcnRzIGEgdHJhbnNsYXRpb24gY2F0YWxvZyB0byBhIGRpZmZlcmVudCBjaGFyYWN0ZXIgZW5jb2RpbmcuCgBDb3B5cmlnaHQgKEMpICVzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KAENyZWF0ZWQgJXMuCgBDcmVhdGVzIGEgbmV3IFBPIGZpbGUsIGluaXRpYWxpemluZyB0aGUgbWV0YSBpbmZvcm1hdGlvbiB3aXRoIHZhbHVlcyBmcm9tIHRoZQp1c2VyJ3MgZW52aXJvbm1lbnQuCgBDcmVhdGVzIGFuIEVuZ2xpc2ggdHJhbnNsYXRpb24gY2F0YWxvZy4gIFRoZSBpbnB1dCBmaWxlIGlzIHRoZSBsYXN0CmNyZWF0ZWQgRW5nbGlzaCBQTyBmaWxlLCBvciBhIFBPIFRlbXBsYXRlIGZpbGUgKGdlbmVyYWxseSBjcmVhdGVkIGJ5CnhnZXR0ZXh0KS4gIFVudHJhbnNsYXRlZCBlbnRyaWVzIGFyZSBhc3NpZ25lZCBhIHRyYW5zbGF0aW9uIHRoYXQgaXMKaWRlbnRpY2FsIHRvIHRoZSBtc2dpZC4KAERhaWtpIFVlbm8ARGFuaWxvIFNlZ2FuAERlc2t0b3AgRW50cnkgbW9kZSBvcHRpb25zOgoARW1wdHkgbXNnaWQuICBJdCBpcyByZXNlcnZlZCBieSBHTlUgZ2V0dGV4dDoKZ2V0dGV4dCgiIikgcmV0dXJucyB0aGUgaGVhZGVyIGVudHJ5IHdpdGgKbWV0YSBpbmZvcm1hdGlvbiwgbm90IHRoZSBlbXB0eSBzdHJpbmcuCgBFbmdsaXNoIHRyYW5zbGF0aW9ucyBmb3IgJXMgcGFja2FnZQBFeHRyYWN0IG9yIGNvbnZlcnQgVW5pY29kZSBDTERSIHBsdXJhbCBydWxlcy4KCklmIGJvdGggTE9DQUxFIGFuZCBSVUxFUyBhcmUgc3BlY2lmaWVkLCBpdCByZWFkcyBDTERSIHBsdXJhbCBydWxlcyBmb3IKTE9DQUxFIGZyb20gUlVMRVMgYW5kIHByaW50IHRoZW0gaW4gYSBmb3JtIHN1aXRhYmxlIGZvciBnZXR0ZXh0IHVzZS4KSWYgbm8gYXJndW1lbnQgaXMgZ2l2ZW4sIGl0IHJlYWRzIENMRFIgcGx1cmFsIHJ1bGVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LgoARXh0cmFjdCB0cmFuc2xhdGFibGUgc3RyaW5ncyBmcm9tIGdpdmVuIGlucHV0IGZpbGVzLgoARXh0cmFjdHMgYWxsIG1lc3NhZ2VzIG9mIGEgdHJhbnNsYXRpb24gY2F0YWxvZyB0aGF0IG1hdGNoIGEgZ2l2ZW4gcGF0dGVybgpvciBiZWxvbmcgdG8gc29tZSBnaXZlbiBzb3VyY2UgZmlsZXMuCgBGZXRjaGVzIGFuZCBvdXRwdXRzIHRoZSBjb250ZW50cyBvZiBhbiBVUkwuICBJZiB0aGUgVVJMIGNhbm5vdCBiZSBhY2Nlc3NlZCwKdGhlIGxvY2FsbHkgYWNjZXNzaWJsZSBGSUxFIGlzIHVzZWQgaW5zdGVhZC4KAEZpbHRlciBpbnB1dCBhbmQgb3V0cHV0OgoARmlsdGVycyB0aGUgbWVzc2FnZXMgb2YgYSB0cmFuc2xhdGlvbiBjYXRhbG9nIGFjY29yZGluZyB0byB0aGVpciBhdHRyaWJ1dGVzLAphbmQgbWFuaXB1bGF0ZXMgdGhlIGF0dHJpYnV0ZXMuCgBGaW5kIG1lc3NhZ2VzIHdoaWNoIGFyZSBjb21tb24gdG8gdHdvIG9yIG1vcmUgb2YgdGhlIHNwZWNpZmllZCBQTyBmaWxlcy4KQnkgdXNpbmcgdGhlIC0tbW9yZS10aGFuIG9wdGlvbiwgZ3JlYXRlciBjb21tb25hbGl0eSBtYXkgYmUgcmVxdWVzdGVkCmJlZm9yZSBtZXNzYWdlcyBhcmUgcHJpbnRlZC4gIENvbnZlcnNlbHksIHRoZSAtLWxlc3MtdGhhbiBvcHRpb24gbWF5IGJlCnVzZWQgdG8gc3BlY2lmeSBsZXNzIGNvbW1vbmFsaXR5IGJlZm9yZSBtZXNzYWdlcyBhcmUgcHJpbnRlZCAoaS5lLgotLWxlc3MtdGhhbj0yIHdpbGwgb25seSBwcmludCB0aGUgdW5pcXVlIG1lc3NhZ2VzKS4gIFRyYW5zbGF0aW9ucywKY29tbWVudHMgYW5kIGV4dHJhY3RlZCBjb21tZW50cyB3aWxsIGJlIHByZXNlcnZlZCwgYnV0IG9ubHkgZnJvbSB0aGUgZmlyc3QKUE8gZmlsZSB0byBkZWZpbmUgdGhlbS4gIEZpbGUgcG9zaXRpb25zIGZyb20gYWxsIFBPIGZpbGVzIHdpbGwgYmUKY3VtdWxhdGVkLgoARm91bmQg4oCYG1sxbX4lYxtbMG3igJkgd2l0aG91dCBtYXRjaGluZyAnfiVjJy4ARm91bmQgbW9yZSB0aGFuIG9uZSAucG90IGZpbGUuClBsZWFzZSBzcGVjaWZ5IHRoZSBpbnB1dCAucG90IGZpbGUgdGhyb3VnaCB0aGUgLS1pbnB1dCBvcHRpb24uCgBGb3VuZCBubyAucG90IGZpbGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgpQbGVhc2Ugc3BlY2lmeSB0aGUgaW5wdXQgLnBvdCBmaWxlIHRocm91Z2ggdGhlIC0taW5wdXQgb3B0aW9uLgoAR2VuZXJhdGUgYmluYXJ5IG1lc3NhZ2UgY2F0YWxvZyBmcm9tIHRleHR1YWwgdHJhbnNsYXRpb24gZGVzY3JpcHRpb24uCgBJZiBpbnB1dCBmaWxlIGlzIC0sIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuCgBJZiBubyBpbnB1dCBmaWxlIGlzIGdpdmVuIG9yIGlmIGl0IGlzIC0sIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuCgBJZiBubyBpbnB1dCBmaWxlIGlzIGdpdmVuLCB0aGUgY3VycmVudCBkaXJlY3RvcnkgaXMgc2VhcmNoZWQgZm9yIHRoZSBQT1QgZmlsZS4KSWYgaXQgaXMgLSwgc3RhbmRhcmQgaW5wdXQgaXMgcmVhZC4KAElmIG5vIG91dHB1dCBmaWxlIGlzIGdpdmVuLCBpdCBkZXBlbmRzIG9uIHRoZSAtLWxvY2FsZSBvcHRpb24gb3IgdGhlIHVzZXIncwpsb2NhbGUgc2V0dGluZy4gIElmIGl0IGlzIC0sIHRoZSByZXN1bHRzIGFyZSB3cml0dGVuIHRvIHN0YW5kYXJkIG91dHB1dC4KAElmIG91dHB1dCBmaWxlIGlzIC0sIG91dHB1dCBpcyB3cml0dGVuIHRvIHN0YW5kYXJkIG91dHB1dC4KAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCDigJwbWzFtJXMbWzBt4oCdIGlzIG5vdCBmb2xsb3dlZCBieSBhIGNvbW1hLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwg4oCYG1sxbSVjG1swbeKAmSBjYW5ub3Qgc3RhcnQgYSBmaWVsZCBuYW1lLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwg4oCYG1sxbSVjG1swbeKAmSBjYW5ub3Qgc3RhcnQgYSBnZXRhdHRyIGFyZ3VtZW50LgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwg4oCYG1sx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ZGlyZWN0aXZlIG51bWJlciAldSwgdGhlIHByZWNpc2lvbidzIGFyZ3VtZW50IG51bWJlciAwIGlzIG5vdCBhIHBvc2l0aXZlIGludGVnZXIuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0aGUgc2l6ZSBzcGVjaWZpZXIgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGNvbnZlcnNpb24gc3BlY2lmaWVyICclYycuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0aGUgc3Vic3RyaW5nIOKAnBtbMW0lcxtbMG3igJ0gaXMgbm90IGEgdmFsaWQgZGF0ZS90aW1lIHN0eWxlLgBJbiB0aGUgZGlyZWN0aXZlIG51bWJlciAldSwgdGhlIHN1YnN0cmluZyDigJwbWzFtJXMbWzBt4oCdIGlzIG5vdCBhIHZhbGlkIG51bWJlciBzdHlsZS4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRoZSB0b2tlbiBhZnRlciDigJgbWzFtPBtbMG3igJkgaXMgbm90IGZvbGxvd2VkIGJ5ICc+Jy4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRoZSB0b2tlbiBhZnRlciDigJgbWzFtPBtbMG3igJkgaXMgbm90IHRoZSBuYW1lIG9mIGEgZm9ybWF0IHNwZWNpZmllciBtYWNyby4gVGhlIHZhbGlkIG1hY3JvIG5hbWVzIGFyZSBsaXN0ZWQgaW4gSVNPIEMgOTkgc2VjdGlvbiA3LjguMS4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRoZSB3aWR0aCdzIGFyZ3VtZW50IG51bWJlciAwIGlzIG5vdCBhIHBvc2l0aXZlIGludGVnZXIuAEluIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1LCB0aGVyZSBpcyBhbiB1bnRlcm1pbmF0ZWQgZm9ybWF0IGRpcmVjdGl2ZS4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRvbyBtYW55IHBhcmFtZXRlcnMgYXJlIGdpdmVuOyBleHBlY3RlZCBhdCBtb3N0ICV1IHBhcmFtZXRlci4ASW4gdGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUsIHRvbyBtYW55IHBhcmFtZXRlcnMgYXJlIGdpdmVuOyBleHBlY3RlZCBhdCBtb3N0ICV1IHBhcmFtZXRlcnMuAEluZm9ybWF0aXZlIG91dHB1dDoKAElucHV0IGZpbGUgaW50ZXJwcmV0YXRpb246CgBJbnB1dCBmaWxlIGxvY2F0aW9uIGluIEMjIG1vZGU6CgBJbnB1dCBmaWxlIGxvY2F0aW9uIGluIEphdmEgbW9kZToKAElucHV0IGZpbGUgbG9jYXRpb24gaW4gVGNsIG1vZGU6CgBJbnB1dCBmaWxlIGxvY2F0aW9uOgoASW5wdXQgZmlsZSBzeW50YXg6CgBJbnB1dCBmaWxlcyBjb250YWluIG1lc3NhZ2VzIGluIGRpZmZlcmVudCBlbmNvZGluZ3MsICVzIGFuZCAlcyBhbW9uZyBvdGhlcnMuCkNvbnZlcnRpbmcgdGhlIG91dHB1dCB0byBVVEYtOC4KVG8gc2VsZWN0IGEgZGlmZmVyZW50IG91dHB1dCBlbmNvZGluZywgdXNlIHRoZSAtLXRvLWNvZGUgb3B0aW9uLgoASW5wdXQgZmlsZXMgY29udGFpbiBtZXNzYWdlcyBpbiBkaWZmZXJlbnQgZW5jb2RpbmdzLCBVVEYtOCBhbW9uZyBvdGhlcnMuCkNvbnZlcnRpbmcgdGhlIG91dHB1dCB0byBVVEYtOC4KAEluc3RhbGxpbmcgR05VIGxpYmljb252IGFuZCB0aGVuIHJlaW5zdGFsbGluZyBHTlUgZ2V0dGV4dAp3b3VsZCBmaXggdGhpcyBwcm9ibGVtLgoASmF2YSBjb21waWxlciBub3QgZm91bmQsIHRyeSBpbnN0YWxsaW5nIGdjaiBvciBzZXQgJEpBVkFDAEphdmEgdmlydHVhbCBtYWNoaW5lIG5vdCBmb3VuZCwgdHJ5IGluc3RhbGxpbmcgZ2lqIG9yIHNldCAkSkFWQQBMYW5ndWFnZSBzcGVjaWZpYyBvcHRpb25zOgoATG9jYWxlIGNoYXJzZXQg4oCcG1sxbSVzG1swbeKAnSBpcyBkaWZmZXJlbnQgZnJvbQppbnB1dCBmaWxlIGNoYXJzZXQg4oCcG1sxbSVzG1swbeKAnS4KT3V0cHV0IG9mIOKAmBtbMW0lcxtbMG3igJkgbWlnaHQgYmUgaW5jb3JyZWN0LgpQb3NzaWJsZSB3b3JrYXJvdW5kcyBhcmU6CgBMb2NhbGUgY2hhcnNldCDigJwbWzFtJXMbWzBt4oCdIGlzIG5vdCBhIHBvcnRhYmxlIGVuY29kaW5nIG5hbWUuCk91dHB1dCBvZiDigJgbWzFtJXMbWzBt4oCZIG1pZ2h0IGJlIGluY29ycmVjdC4KQSBwb3NzaWJsZSB3b3JrYXJvdW5kIGlzIHRvIHNldCBMQ19BTEw9Qy4KAE1hbmRhdG9yeSBhcmd1bWVudHMgdG8gbG9uZyBvcHRpb25zIGFyZSBtYW5kYXRvcnkgZm9yIHNob3J0IG9wdGlvbnMgdG9vLgoATWFuZGF0b3J5IGFyZ3VtZW50cyB0byBsb25nIG9wdGlvbnMgYXJlIG1hbmRhdG9yeSBmb3Igc2hvcnQgb3B0aW9ucyB0b28uClNpbWlsYXJseSBmb3Igb3B0aW9uYWwgYXJndW1lbnRzLgoATWVyZ2VzIHR3byBVbmlmb3J1bSBzdHlsZSAucG8gZmlsZXMgdG9nZXRoZXIuICBUaGUgZGVmLnBvIGZpbGUgaXMgYW4KZXhpc3RpbmcgUE8gZmlsZSB3aXRoIHRyYW5zbGF0aW9ucyB3aGljaCB3aWxsIGJlIHRha2VuIG92ZXIgdG8gdGhlIG5ld2x5CmNyZWF0ZWQgZmlsZSBhcyBsb25nIGFzIHRoZXkgc3RpbGwgbWF0Y2g7IGNvbW1lbnRzIHdpbGwgYmUgcHJlc2VydmVkLApidXQgZXh0cmFjdGVkIGNvbW1lbnRzIGFuZCBmaWxlIHBvc2l0aW9ucyB3aWxsIGJlIGRpc2NhcmRlZC4gIFRoZSByZWYucG90CmZpbGUgaXMgdGhlIGxhc3QgY3JlYXRlZCBQTyBmaWxlIHdpdGggdXAtdG8tZGF0ZSBzb3VyY2UgcmVmZXJlbmNlcyBidXQKb2xkIHRyYW5zbGF0aW9ucywgb3IgYSBQTyBUZW1wbGF0ZSBmaWxlIChnZW5lcmFsbHkgY3JlYXRlZCBieSB4Z2V0dGV4dCk7CmFueSB0cmFuc2xhdGlvbnMgb3IgY29tbWVudHMgaW4gdGhlIGZpbGUgd2lsbCBiZSBkaXNjYXJkZWQsIGhvd2V2ZXIgZG90CmNvbW1lbnRzIGFuZCBmaWxlIHBvc2l0aW9ucyB3aWxsIGJlIHByZXNlcnZlZC4gIFdoZXJlIGFuIGV4YWN0IG1hdGNoCmNhbm5vdCBiZSBmb3VuZCwgZnV6enkgbWF0Y2hpbmcgaXMgdXNlZCB0byBwcm9kdWNlIGJldHRlciByZXN1bHRzLgoATWVzc2FnZSBzZWxlY3Rpb246CgBNZXNzYWdlIHNlbGVjdGlvbjoKICBbLU4gU09VUkNFRklMRV0uLi4gWy1NIERPTUFJTk5BTUVdLi4uCiAgWy1KIE1TR0NUWFQtUEFUVEVSTl0gWy1LIE1TR0lELVBBVFRFUk5dIFstVCBNU0dTVFItUEFUVEVSTl0KICBbLUMgQ09NTUVOVC1QQVRURVJOXSBbLVggRVhUUkFDVEVELUNPTU1FTlQtUEFUVEVSTl0KQSBtZXNzYWdlIGlzIHNlbGVjdGVkIGlmIGl0IGNvbWVzIGZyb20gb25lIG9mIHRoZSBzcGVjaWZpZWQgc291cmNlIGZpbGVzLApvciBpZiBpdCBjb21lcyBmcm9tIG9uZSBvZiB0aGUgc3BlY2lmaWVkIGRvbWFpbnMsCm9yIGlmIC1KIGlzIGdpdmVuIGFuZCBpdHMgY29udGV4dCAobXNnY3R4dCkgbWF0Y2hlcyBNU0dDVFhULVBBVFRFUk4sCm9yIGlmIC1LIGlzIGdpdmVuIGFuZCBpdHMga2V5IChtc2dpZCBvciBtc2dpZF9wbHVyYWwpIG1hdGNoZXMgTVNHSUQtUEFUVEVSTiwKb3IgaWYgLVQgaXMgZ2l2ZW4gYW5kIGl0cyB0cmFuc2xhdGlvbiAobXNnc3RyKSBtYXRjaGVzIE1TR1NUUi1QQVRURVJOLApvciBpZiAtQyBpcyBnaXZlbiBhbmQgdGhlIHRyYW5zbGF0b3IncyBjb21tZW50IG1hdGNoZXMgQ09NTUVOVC1QQVRURVJOLApvciBpZiAtWCBpcyBnaXZlbiBhbmQgdGhlIGV4dHJhY3RlZCBjb21tZW50IG1hdGNoZXMgRVhUUkFDVEVELUNPTU1FTlQtUEFUVEVSTi4KCldoZW4gbW9yZSB0aGFuIG9uZSBzZWxlY3Rpb24gY3JpdGVyaW9uIGlzIHNwZWNpZmllZCwgdGhlIHNldCBvZiBzZWxlY3RlZAptZXNzYWdlcyBpcyB0aGUgdW5pb24gb2YgdGhlIHNlbGVjdGVkIG1lc3NhZ2VzIG9mIGVhY2ggY3JpdGVyaW9uLgoKTVNHQ1RYVC1QQVRURVJOIG9yIE1TR0lELVBBVFRFUk4gb3IgTVNHU1RSLVBBVFRFUk4gb3IgQ09NTUVOVC1QQVRURVJOIG9yCkVYVFJBQ1RFRC1DT01NRU5ULVBBVFRFUk4gc3ludGF4OgogIFstRSB8IC1GXSBbLWUgUEFUVEVSTiB8IC1mIEZJTEVdLi4uClBBVFRFUk5zIGFyZSBiYXNpYyByZWd1bGFyIGV4cHJlc3Npb25zIGJ5IGRlZmF1bHQsIG9yIGV4dGVuZGVkIHJlZ3VsYXIKZXhwcmVzc2lvbnMgaWYgLUUgaXMgZ2l2ZW4sIG9yIGZpeGVkIHN0cmluZ3MgaWYgLUYgaXMgZ2l2ZW4uCgogIC1OLCAtLWxvY2F0aW9uPVNPVVJDRUZJTEUgICBzZWxlY3QgbWVzc2FnZXMgZXh0cmFjdGVkIGZyb20gU09VUkNFRklMRQogIC1NLCAtLWRvbWFpbj1ET01BSU5OQU1FICAgICBzZWxlY3QgbWVzc2FnZXMgYmVsb25naW5nIHRvIGRvbWFpbiBET01BSU5OQU1FCiAgLUosIC0tbXNnY3R4dCAgICAgICAgICAgICAgIHN0YXJ0IG9mIHBhdHRlcm5zIGZvciB0aGUgbXNnY3R4dAogIC1LLCAtLW1zZ2lkICAgICAgICAgICAgICAgICBzdGFydCBvZiBwYXR0ZXJucyBmb3IgdGhlIG1zZ2lkCiAgLVQsIC0tbXNnc3RyICAgICAgICAgICAgICAgIHN0YXJ0IG9mIHBhdHRlcm5zIGZvciB0aGUgbXNnc3RyCiAgLUMsIC0tY29tbWVudCAgICAgICAgICAgICAgIHN0YXJ0IG9mIHBhdHRlcm5zIGZvciB0aGUgdHJhbnNsYXRvcidzIGNvbW1lbnQKICAtWCwgLS1leHRyYWN0ZWQtY29tbWVudCAgICAgc3RhcnQgb2YgcGF0dGVybnMgZm9yIHRoZSBleHRyYWN0ZWQgY29tbWVudAogIC1FLCAtLWV4dGVuZGVkLXJlZ2V4cCAgICAgICBQQVRURVJOIGlzIGFuIGV4dGVuZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbgogIC1GLCAtLWZpeGVkLXN0cmluZ3MgICAgICAgICBQQVRURVJOIGlzIGEgc2V0IG9mIG5ld2xpbmUtc2VwYXJhdGVkIHN0cmluZ3MKICAtZSwgLS1yZWdleHA9UEFUVEVSTiAgICAgICAgdXNlIFBBVFRFUk4gYXMgYSByZWd1bGFyIGV4cHJlc3Npb24KICAtZiwgLS1maWxlPUZJTEUgICAgICAgICAgICAgb2J0YWluIFBBVFRFUk4gZnJvbSBGSUxFCiAgLWksIC0taWdub3JlLWNhc2UgICAgICAgICAgIGlnbm9yZSBjYXNlIGRpc3RpbmN0aW9ucwogIC12LCAtLWludmVydC1tYXRjaCAgICAgICAgICBvdXRwdXQgb25seSB0aGUgbWVzc2FnZXMgdGhhdCBkbyBub3QgbWF0Y2ggYW55CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbiBjcml0ZXJpb24KAE5vbi1BU0NJSSBjaGFyYWN0ZXIgYXQgJXMlcy4ATm9uLUFTQ0lJIGNvbW1lbnQgYXQgb3IgYmVmb3JlICVzJXMuAE5vbi1BU0NJSSBzdHJpbmcgYXQgJXMlcy4AT3BlcmF0aW9uIG1vZGU6CgBPcGVyYXRpb24gbW9kaWZpZXJzOgoAT3V0cHV0IGRldGFpbHM6CgBPdXRwdXQgZmlsZSAlcyBhbHJlYWR5IGV4aXN0cy4KUGxlYXNlIHNwZWNpZnkgdGhlIGxvY2FsZSB0aHJvdWdoIHRoZSAtLWxvY2FsZSBvcHRpb24gb3IKdGhlIG91dHB1dCAucG8gZmlsZSB0aHJvdWdoIHRoZSAtLW91dHB1dC1maWxlIG9wdGlvbi4KAE91dHB1dCBmaWxlIGxvY2F0aW9uIGluIEMjIG1vZGU6CgBPdXRwdXQgZmlsZSBsb2NhdGlvbiBpbiBKYXZhIG1vZGU6CgBPdXRwdXQgZmlsZSBsb2NhdGlvbiBpbiBUY2wgbW9kZToKAE91dHB1dCBmaWxlIGxvY2F0aW9uIGluIHVwZGF0ZSBtb2RlOgoAT3V0cHV0IGZpbGUgbG9jYXRpb246CgBPdXRwdXQgZm9ybWF0OgoAUGV0ZXIgTWlsbGVyAFBsZWFzZSBzcGVjaWZ5IHRoZSBzb3VyY2UgZW5jb2RpbmcgdGhyb3VnaCAtLWZyb20tY29kZQoAUGxlYXNlIHNwZWNpZnkgdGhlIHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlIG9yIHRocm91Z2ggYSBjb21tZW50CmFzIHNwZWNpZmllZCBpbiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcGVwcy9wZXAtMDI2My5odG1sLgoAUGxlYXNlIHNwZWNpZnkgdGhlIHNvdXJjZSBlbmNvZGluZyB0aHJvdWdoIC0tZnJvbS1jb2RlLgBQcmludCB0aGUgbWFjaGluZSdzIGhvc3RuYW1lLgoAUmVjb2RlIFNlcmJpYW4gdGV4dCBmcm9tIEN5cmlsbGljIHRvIExhdGluIHNjcmlwdC4KAFJlcG9ydCBidWdzIHRvIDxidWctZ251LWdldHRleHRAZ251Lm9yZz4uCgBSZXRyaWV2aW5nICVzLi4uAFRoZSAtbCBhbmQgLWQgb3B0aW9ucyBhcmUgbWFuZGF0b3J5LiAgVGhlIC5kbGwgZmlsZSBpcyBsb2NhdGVkIGluIGEKc3ViZGlyZWN0b3J5IG9mIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IHdob3NlIG5hbWUgZGVwZW5kcyBvbiB0aGUgbG9jYWxlLgoAVGhlIC1sIGFuZCAtZCBvcHRpb25zIGFyZSBtYW5kYXRvcnkuICBUaGUgLmRsbCBmaWxlIGlzIHdyaXR0ZW4gaW4gYQpzdWJkaXJlY3Rvcnkgb2YgdGhlIHNwZWNpZmllZCBkaXJlY3Rvcnkgd2hvc2UgbmFtZSBkZXBlbmRzIG9uIHRoZSBsb2NhbGUuCgBUaGUgLWwgYW5kIC1kIG9wdGlvbnMgYXJlIG1hbmRhdG9yeS4gIFRoZSAubXNnIGZpbGUgaXMgbG9jYXRlZCBpbiB0aGUKc3BlY2lmaWVkIGRpcmVjdG9yeS4KAFRoZSAtbCBhbmQgLWQgb3B0aW9ucyBhcmUgbWFuZGF0b3J5LiAgVGhlIC5tc2cgZmlsZSBpcyB3cml0dGVuIGluIHRoZQpzcGVjaWZpZWQgZGlyZWN0b3J5LgoAVGhlIC1sLCAtbywgYW5kIC0tdGVtcGxhdGUgb3B0aW9ucyBhcmUgbWFuZGF0b3J5LiAgSWYgLUQgaXMgc3BlY2lmaWVkLCBpbnB1dApmaWxlcyBhcmUgcmVhZCBmcm9tIHRoZSBkaXJlY3RvcnkgaW5zdGVhZCBvZiB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4KAFRoZSBGSUxURVIgY2FuIGJlIGFueSBwcm9ncmFtIHRoYXQgcmVhZHMgYSB0cmFuc2xhdGlvbiBmcm9tIHN0YW5kYXJkIGlucHV0CmFuZCB3cml0ZXMgYSBtb2RpZmllZCB0cmFuc2xhdGlvbiB0byBzdGFuZGFyZCBvdXRwdXQuCgBUaGUgYmFja3VwIHN1ZmZpeCBpcyAnficsIHVubGVzcyBzZXQgd2l0aCAtLXN1ZmZpeCBvciB0aGUgU0lNUExFX0JBQ0tVUF9TVUZGSVgKZW52aXJvbm1lbnQgdmFyaWFibGUuCgBUaGUgY2hhcmFjdGVyIHRoYXQgdGVybWluYXRlcyB0aGUgZGlyZWN0aXZlIG51bWJlciAldSBpcyBub3QgYSBkaWdpdCBiZXR3ZWVuIDEgYW5kIDkuAFRoZSBjaGFyYWN0ZXIgdGhhdCB0ZXJtaW5hdGVzIHRoZSBkaXJlY3RpdmUgbnVtYmVyICV1IGlzIG5vdCBhIHZhbGlkIGNvbnZlcnNpb24gc3BlY2lmaWVyLgBUaGUgY2xhc3MgbmFtZSBpcyBkZXRlcm1pbmVkIGJ5IGFwcGVuZGluZyB0aGUgbG9jYWxlIG5hbWUgdG8gdGhlIHJlc291cmNlIG5hbWUsCnNlcGFyYXRlZCB3aXRoIGFuIHVuZGVyc2NvcmUuICBUaGUgLWQgb3B0aW9uIGlzIG1hbmRhdG9yeS4gIFRoZSBjbGFzcyBpcwp3cml0dGVuIHVuZGVyIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LgoAVGhlIGNsYXNzIG5hbWUgaXMgZGV0ZXJtaW5lZCBieSBhcHBlbmRpbmcgdGhlIGxvY2FsZSBuYW1lIHRvIHRoZSByZXNvdXJjZSBuYW1lLApzZXBhcmF0ZWQgd2l0aCBhbiB1bmRlcnNjb3JlLiAgVGhlIGNsYXNzIGlzIGxvY2F0ZWQgdXNpbmcgdGhlIENMQVNTUEFUSC4KAFRoZSBkZWZhdWx0IGVuY29kaW5nIGlzIHRoZSBjdXJyZW50IGxvY2FsZSdzIGVuY29kaW5nLgoAVGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUgZW5kcyB3aXRoIGFuIGludmFsaWQgY2hhcmFjdGVyIOKAmBtbMW0lYxtbMG3igJkgaW5zdGVhZCBvZiAnfScuAFRoZSBkaXJlY3RpdmUgbnVtYmVyICV1IGVuZHMgd2l0aCBhbiBpbnZhbGlkIGNoYXJhY3RlciBpbnN0ZWFkIG9mICd9Jy4AVGhlIGRpcmVjdGl2ZSBudW1iZXIgJXUgc3RhcnRzIHdpdGggfCBidXQgZG9lcyBub3QgZW5kIHdpdGggfC4AVGhlIGVsZW1lbnQgPCVzPiBkb2VzIG5vdCBjb250YWluIGEgPCVzPiBlbGVtZW50AFRoZSBlbGVtZW50IDwlcz4gZG9lcyBub3QgaGF2ZSBhdHRyaWJ1dGUgPCVzPgBUaGUgZm9sbG93aW5nIG1zZ2N0eHQgY29udGFpbnMgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuClRoaXMgd2lsbCBjYXVzZSBwcm9ibGVtcyB0byB0cmFuc2xhdG9ycyB3aG8gdXNlIGEgY2hhcmFjdGVyIGVuY29kaW5nCmRpZmZlcmVudCBmcm9tIHlvdXJzLiBDb25zaWRlciB1c2luZyBhIHB1cmUgQVNDSUkgbXNnY3R4dCBpbnN0ZWFkLgolcwoAVGhlIGZvbGxvd2luZyBtc2dpZCBjb250YWlucyBub24tQVNDSUkgY2hhcmFjdGVycy4KVGhpcyB3aWxsIGNhdXNlIHByb2JsZW1zIHRvIHRyYW5zbGF0b3JzIHdobyB1c2UgYSBjaGFyYWN0ZXIgZW5jb2RpbmcKZGlmZmVyZW50IGZyb20geW91cnMuIENvbnNpZGVyIHVzaW5nIGEgcHVyZSBBU0NJSSBtc2dpZCBpbnN0ZWFkLgolcwoAVGhlIGlucHV0IHRleHQgaXMgcmVhZCBmcm9tIHN0YW5kYXJkIGlucHV0LiAgVGhlIGNvbnZlcnRlZCB0ZXh0IGlzIG91dHB1dCB0bwpzdGFuZGFyZCBvdXRwdXQuCgBUaGUgbmV3IG1lc3NhZ2UgY2F0YWxvZyBzaG91bGQgY29udGFpbiB5b3VyIGVtYWlsIGFkZHJlc3MsIHNvIHRoYXQgdXNlcnMgY2FuCmdpdmUgeW91IGZlZWRiYWNrIGFib3V0IHRoZSB0cmFuc2xhdGlvbnMsIGFuZCBzbyB0aGF0IG1haW50YWluZXJzIGNhbiBjb250YWN0CnlvdSBpbiBjYXNlIG9mIHVuZXhwZWN0ZWQgdGVjaG5pY2FsIHByb2JsZW1zLgoAVGhlIG9wdGlvbiAtLW1zZ2lkLWJ1Z3MtYWRkcmVzcyB3YXMgbm90IHNwZWNpZmllZC4KSWYgeW91IGFyZSB1c2luZyBhIOKAmBtbMW1NYWtldmFycxtbMG3igJkgZmlsZSwgcGxlYXNlIHNwZWNpZnkKdGhlIE1TR0lEX0JVR1NfQUREUkVTUyB2YXJpYWJsZSB0aGVyZTsgb3RoZXJ3aXNlIHBsZWFzZQpzcGVjaWZ5IGFuIC0tbXNnaWQtYnVncy1hZGRyZXNzIGNvbW1hbmQgbGluZSBvcHRpb24uCgBUaGUgcmVzdWx0IGlzIHdyaXR0ZW4gYmFjayB0byBkZWYucG8uCgBUaGUgcmVzdWx0cyBhcmUgd3JpdHRlbiB0byBzdGFuZGFyZCBvdXRwdXQgaWYgbm8gb3V0cHV0IGZpbGUgaXMgc3BlY2lmaWVkCm9yIGlmIGl0IGlzIC0uCgBUaGUgcm9vdCBlbGVtZW50IG11c3QgYmUgPCVzPgBUaGUgc3RyaW5nIGNvbnRhaW5zIGEgbG9uZSDigJgbWzFtfRtbMG3igJkgYWZ0ZXIgZGlyZWN0aXZlIG51bWJlciAldS4AVGhlIHN0cmluZyBlbmRzIGluIHRoZSBtaWRkbGUgb2YgYSBkaXJlY3RpdmUuAFRoZSBzdHJpbmcgZW5kcyBpbiB0aGUgbWlkZGxlIG9mIGEgZGlyZWN0aXZlOiBmb3VuZCDigJgbWzFtextbMG3igJkgd2l0aG91dCBtYXRjaGluZyAnfScuAFRoZSBzdHJpbmcgZW5kcyBpbiB0aGUgbWlkZGxlIG9mIGEgfi8uLi4vIGRpcmVjdGl2ZS4AVGhlIHN0cmluZyByZWZlcnMgdG8gYSBzaGVsbCB2YXJpYWJsZSB3aG9zZSB2YWx1ZSBtYXkgYmUgZGlmZmVyZW50IGluc2lkZSBzaGVsbCBmdW5jdGlvbnMuAFRoZSBzdHJpbmcgcmVmZXJzIHRvIGEgc2hlbGwgdmFyaWFibGUgd2l0aCBhIG5vbi1BU0NJSSBuYW1lLgBUaGUgc3RyaW5nIHJlZmVycyB0byBhIHNoZWxsIHZhcmlhYmxlIHdpdGggYW4gZW1wdHkgbmFtZS4AVGhlIHN0cmluZyByZWZlcnMgdG8gYSBzaGVsbCB2YXJpYWJsZSB3aXRoIGNvbXBsZXggc2hlbGwgYnJhY2Ugc3ludGF4LiBUaGlzIHN5bnRheCBpcyB1bnN1cHBvcnRlZCBoZXJlIGR1ZSB0byBzZWN1cml0eSByZWFzb25zLgBUaGUgc3RyaW5nIHJlZmVycyB0byBhcmd1bWVudCBudW1iZXIgJXUgYnV0IGlnbm9yZXMgYXJndW1lbnQgbnVtYmVyICV1LgBUaGUgc3RyaW5nIHJlZmVycyB0byBhcmd1bWVudCBudW1iZXIgJXUgYnV0IGlnbm9yZXMgdGhlIGFyZ3VtZW50cyAldSBhbmQgJXUuAFRoZSBzdHJpbmcgcmVmZXJzIHRvIGFyZ3VtZW50IG51bWJlciAldSBpbiBpbmNvbXBhdGlibGUgd2F5cy4AVGhlIHN0cmluZyByZWZlcnMgdG8gYXJndW1lbnRzIGJvdGggdGhyb3VnaCBhYnNvbHV0ZSBhcmd1bWVudCBudW1iZXJzIGFuZCB0aHJvdWdoIHVubnVtYmVyZWQgYXJndW1lbnQgc3BlY2lmaWNhdGlvbnMuAFRoZSBzdHJpbmcgcmVmZXJzIHRvIGFyZ3VtZW50cyBib3RoIHRocm91Z2ggYXJndW1lbnQgbmFtZXMgYW5kIHRocm91Z2ggdW5uYW1lZCBhcmd1bWVudCBzcGVjaWZpY2F0aW9ucy4AVGhlIHN0cmluZyByZWZlcnMgdG8gc29tZSBhcmd1bWVudCBpbiBpbmNvbXBhdGlibGUgd2F5cy4AVGhlIHN0cmluZyByZWZlcnMgdG8gdGhlIGFyZ3VtZW50IG5hbWVkIOKAmBtbMW0lcxtbMG3igJkgaW4gaW5jb21wYXRpYmxlIHdheXMuAFRoZSBzdHJpbmcgc3RhcnRzIGluIHRoZSBtaWRkbGUgb2YgYSBkaXJlY3RpdmU6IGZvdW5kIOKAmBtbMW19G1swbeKAmSB3aXRob3V0IG1hdGNoaW5nICd7Jy4AVGhlIHZlcnNpb24gY29udHJvbCBtZXRob2QgbWF5IGJlIHNlbGVjdGVkIHZpYSB0aGUgLS1iYWNrdXAgb3B0aW9uIG9yIHRocm91Z2gKdGhlIFZFUlNJT05fQ09OVFJPTCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gIEhlcmUgYXJlIHRoZSB2YWx1ZXM6CiAgbm9uZSwgb2ZmICAgICAgIG5ldmVyIG1ha2UgYmFja3VwcyAoZXZlbiBpZiAtLWJhY2t1cCBpcyBnaXZlbikKICBudW1iZXJlZCwgdCAgICAgbWFrZSBudW1iZXJlZCBiYWNrdXBzCiAgZXhpc3RpbmcsIG5pbCAgIG51bWJlcmVkIGlmIG51bWJlcmVkIGJhY2t1cHMgZXhpc3QsIHNpbXBsZSBvdGhlcndpc2UKICBzaW1wbGUsIG5ldmVyICAgYWx3YXlzIG1ha2Ugc2ltcGxlIGJhY2t1cHMKAFRyeSDigJgbWzFtJXMgLS1oZWxwG1swbeKAmSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KAFRyeSB1c2luZyB0aGUgZm9sbG93aW5nLCB2YWxpZCBmb3IgJXM6AFVscmljaCBEcmVwcGVyAFVuaWZpZXMgZHVwbGljYXRlIHRyYW5zbGF0aW9ucyBpbiBhIHRyYW5zbGF0aW9uIGNhdGFsb2cuCkZpbmRzIGR1cGxpY2F0ZSB0cmFuc2xhdGlvbnMgb2YgdGhlIHNhbWUgbWVzc2FnZSBJRC4gIFN1Y2ggZHVwbGljYXRlcyBhcmUKaW52YWxpZCBpbnB1dCBmb3Igb3RoZXIgcHJvZ3JhbXMgbGlrZSBtc2dmbXQsIG1zZ21lcmdlIG9yIG1zZ2NhdC4gIEJ5CmRlZmF1bHQsIGR1cGxpY2F0ZXMgYXJlIG1lcmdlZCB0b2dldGhlci4gIFdoZW4gdXNpbmcgdGhlIC0tcmVwZWF0ZWQgb3B0aW9uLApvbmx5IGR1cGxpY2F0ZXMgYXJlIG91dHB1dCwgYW5kIGFsbCBvdGhlciBtZXNzYWdlcyBhcmUgZGlzY2FyZGVkLiAgQ29tbWVudHMKYW5kIGV4dHJhY3RlZCBjb21tZW50cyB3aWxsIGJlIGN1bXVsYXRlZCwgZXhjZXB0IHRoYXQgaWYgLS11c2UtZmlyc3QgaXMKc3BlY2lmaWVkLCB0aGV5IHdpbGwgYmUgdGFrZW4gZnJvbSB0aGUgZmlyc3QgdHJhbnNsYXRpb24uICBGaWxlIHBvc2l0aW9ucwp3aWxsIGJlIGN1bXVsYXRlZC4gIFdoZW4gdXNpbmcgdGhlIC0tdW5pcXVlIG9wdGlvbiwgZHVwbGljYXRlcyBhcmUgZGlzY2FyZGVkLgoAVW5rbm93biBlbmNvZGluZyDigJwbWzFtJXMbWzBt4oCdLiBQcm9jZWVkaW5nIHdpdGggQVNDSUkgaW5zdGVhZC4AVW5rbm93biBzeXN0ZW0gZXJyb3IAVXNhZ2U6ICVzIFtPUFRJT04uLi5dIFtMT0NBTEUgUlVMRVNdLi4uCgBVc2FnZTogJXMgW09QVElPTl0KAFVzYWdlOiAlcyBbT1BUSU9OXSBDT01NQU5EIFtDT01NQU5ELU9QVElPTl0KAFVzYWdlOiAlcyBbT1BUSU9OXSBGSUxURVIgW0ZJTFRFUi1PUFRJT05dCgBVc2FnZTogJXMgW09QVElPTl0gSU5QVVRGSUxFCgBVc2FnZTogJXMgW09QVElPTl0gVVJMIEZJTEUKAFVzYWdlOiAlcyBbT1BUSU9OXSBbRklMRV0uLi4KAFVzYWdlOiAlcyBbT1BUSU9OXSBbSU5QVVRGSUxFXQoAVXNhZ2U6ICVzIFtPUFRJT05dIFtJTlBVVEZJTEVdLi4uCgBVc2FnZTogJXMgW09QVElPTl0gZGVmLnBvIHJlZi5wb3QKAFVzYWdlOiAlcyBbT1BUSU9OXSBmaWxlbmFtZS5wbyAuLi4KAFVzZWZ1bCBGSUxURVItT1BUSU9OcyB3aGVuIHRoZSBGSUxURVIgaXMgJ3NlZCc6CgBWYWxpZCBhcmd1bWVudHMgYXJlOgBXcml0dGVuIGJ5ICVzIGFuZCAlcy4KAFdyaXR0ZW4gYnkgJXMuCgBYTUwgbW9kZSBvcHRpb25zOgoAWW91IGFyZSBpbiBhIGxhbmd1YWdlIGluZGlmZmVyZW50IGVudmlyb25tZW50LiAgUGxlYXNlIHNldAp5b3VyIExBTkcgZW52aXJvbm1lbnQgdmFyaWFibGUsIGFzIGRlc2NyaWJlZCBpbiB0aGUgQUJPVVQtTkxTCmZpbGUuICBUaGlzIGlzIG5lY2Vzc2FyeSBzbyB5b3UgY2FuIHRlc3QgeW91ciB0cmFuc2xhdGlvbnMuCgBfb3Blbl9vc2ZoYW5kbGUgZmFpbGVkAGAAYSBjbG9zZSBlbGVtZW50IG5hbWUAYSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBmb3IgYXJndW1lbnQgJXUgZG9lc24ndCBleGlzdCBpbiDigJgbWzFtJXMbWzBt4oCZAGEgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFyZ3VtZW50ICV1LCBhcyBpbiAnJXMnLCBkb2Vzbid0IGV4aXN0IGluIOKAmBtbMW0lcxtbMG3igJkAYSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBmb3IgYXJndW1lbnQg4oCYG1sxbSVzG1swbeKAmSBkb2Vzbid0IGV4aXN0IGluIOKAmBtbMW0lcxtbMG3igJkAYSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBmb3IgYXJndW1lbnQgJyVzJywgYXMgaW4gJyVzJywgZG9lc24ndCBleGlzdCBpbiDigJgbWzFtJXMbWzBt4oCZAGEgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFyZ3VtZW50IHsldX0gZG9lc24ndCBleGlzdCBpbiDigJgbWzFtJXMbWzBt4oCZAGEgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFyZ3VtZW50IHsldX0sIGFzIGluICclcycsIGRvZXNuJ3QgZXhpc3QgaW4g4oCYG1sxbSVzG1swbeKAmQBhIGZvcm1hdCBzcGVjaWZpY2F0aW9uIGZvciBhcmd1bWVudHMgJXUgYW5kICV1IGRvZXNuJ3QgZXhpc3QgaW4gJyVzJywgb25seSBvbmUgYXJndW1lbnQgbWF5IGJlIGlnbm9yZWQAYWZ0ZXIg4oCYG1sxbTwbWzBt4oCZAGFmdGVyIOKAmBtbMW09G1swbeKAmQBhbWJpZ3VvdXMgYXJndW1lbnQgJXMgZm9yICVzAGFtYmlndW91cyBhcmd1bWVudCBzcGVjaWZpY2F0aW9uIGZvciBrZXl3b3JkIOKAmBtbMW0lLipzG1swbeKAmQBhdCBsZWFzdCBvbmUgc2VkIHNjcmlwdCBtdXN0IGJlIHNwZWNpZmllZABhdCBsZWFzdCB0d28gZmlsZXMgbXVzdCBiZSBzcGVjaWZpZWQAYXQgbW9zdCBvbmUgaW5wdXQgZmlsZSBhbGxvd2VkAGJhY2t1cCB0eXBlAGJ1dCBoZWFkZXIgZW50cnkgbGFja3MgYSDigJwbWzFtbnBsdXJhbHM9SU5URUdFUhtbMG3igJ0gYXR0cmlidXRlAGJ1dCBoZWFkZXIgZW50cnkgbGFja3MgYSDigJwbWzFtcGx1cmFsPUVYUFJFU1NJT04bWzBt4oCdIGF0dHJpYnV0ZQBidXQgc29tZSBtZXNzYWdlcyBoYXZlIG9uZSBwbHVyYWwgZm9ybQBidXQgc29tZSBtZXNzYWdlcyBoYXZlICVsdSBwbHVyYWwgZm9ybXMAYnV0IHNvbWUgbWVzc2FnZXMgaGF2ZSBvbmx5IG9uZSBwbHVyYWwgZm9ybQBidXQgc29tZSBtZXNzYWdlcyBoYXZlIG9ubHkgJWx1IHBsdXJhbCBmb3JtcwBjYW5ub3QgY3JlYXRlIFhQYXRoIGNvbnRleHQAY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNpbmcgdGVtcGxhdGUg4oCcG1sxbSVzG1swbeKAnQBjYW5ub3QgY3JlYXRlIG91dHB1dCBmaWxlIOKAnBtbMW0lcxtbMG3igJ0AY2Fubm90IGNyZWF0ZSBwaXBlAGNhbm5vdCBldmFsdWF0ZSBYUGF0aCBleHByZXNzaW9uOiAlcwBjYW5ub3QgZXZhbHVhdGUgWFBhdGggbG9jYXRpb24gcGF0aDogJXMAY2Fubm90IGV4dHJhY3QgcnVsZXMgZm9yICVzAGNhbm5vdCBmaW5kIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSwgdHJ5IHNldHRpbmcgJFRNUERJUgBjYW5ub3QgbG9jYXRlIElUUyBydWxlcyBmb3IgJXMAY2Fubm90IG9wZW4gYmFja3VwIGZpbGUgJXMgZm9yIHdyaXRpbmcAY2Fubm90IHBhcnNlIENMRFIgcnVsZQBjYW5ub3QgcmVhZCAlczogJXMAY2Fubm90IHJlYWQgWE1MIGZpbGUgJXMAY2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgZGlyZWN0b3J5ICVzAGNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGZpbGUgJXMAY2Fubm90IHJlc3RvcmUgZmQgJWQ6IGR1cDIgZmFpbGVkAGNhbm5vdCBzZXQgdXAgbm9uYmxvY2tpbmcgSS9PIHRvICVzIHN1YnByb2Nlc3MAY29tbXVuaWNhdGlvbiB3aXRoICVzIHN1YnByb2Nlc3MgZmFpbGVkAGNvbXBpbGF0aW9uIG9mIEMjIGNsYXNzIGZhaWxlZABjb21waWxhdGlvbiBvZiBDIyBjbGFzcyBmYWlsZWQsIHBsZWFzZSB0cnkgLS12ZXJib3NlAGNvbXBpbGF0aW9uIG9mIEphdmEgY2xhc3MgZmFpbGVkLCBwbGVhc2UgdHJ5IC0tdmVyYm9zZSBvciBzZXQgJEpBVkFDAGNvbXBpbGF0aW9uIG9mIEphdmEgY2xhc3MgZmFpbGVkLCBwbGVhc2UgdHJ5IHRvIHNldCAkSkFWQUMAY29udGV4dCBtaXNtYXRjaCBiZXR3ZWVuIHNpbmd1bGFyIGFuZCBwbHVyYWwgZm9ybQBjb250ZXh0IHNlcGFyYXRvciA8RU9UPiB3aXRoaW4gc3RyaW5nAGNvdWxkIG5vdCBnZXQgaG9zdCBuYW1lAGNyZWF0aW9uIG9mIHRocmVhZHMgZmFpbGVkAGRvY3VtZW50IGVuZGVkIHVuZXhwZWN0ZWRseTogJXMAZG9jdW1lbnQgbXVzdCBiZWdpbiB3aXRoIGFuIGVsZW1lbnQAZG9tYWluIOKAnBtbMW0lcxtbMG3igJ0gaW4gaW5wdXQgZmlsZSDigJgbWzFtJXMbWzBt4oCZIGRvZXNuJ3QgY29udGFpbiBhIGhlYWRlciBlbnRyeSB3aXRoIGEgY2hhcnNldCBzcGVjaWZpY2F0aW9uAGRvbWFpbiBuYW1lIOKAnBtbMW0lcxtbMG3igJ0gbm90IHN1aXRhYmxlIGFzIGZpbGUgbmFtZQBkb21haW4gbmFtZSDigJwbWzFtJXMbWzBt4oCdIG5vdCBzdWl0YWJsZSBhcyBmaWxlIG5hbWU6IHdpbGwgdXNlIHByZWZpeABkdXBsaWNhdGUgbWVzc2FnZSBkZWZpbml0aW9uAGVsZW1lbnQgaXMgY2xvc2VkAGVsZW1lbnRzIHN0aWxsIG9wZW4AZW1wdHkAZW1wdHkg4oCYG1sxbW1zZ3N0chtbMG3igJkgZW50cnkgaWdub3JlZABlbXB0eSBkb2N1bWVudABlbmQtb2YtZmlsZSB3aXRoaW4gc3RyaW5nAGVuZC1vZi1saW5lIHdpdGhpbiBzdHJpbmcAZXJyb3IgYWZ0ZXIgcmVhZGluZyDigJwbWzFtJXMbWzBt4oCdAGVycm9yIGFmdGVyIHJlYWRpbmcgJXMAZXJyb3IgcmVhZGluZyDigJwbWzFtJXMbWzBt4oCdAGVycm9yIHJlYWRpbmcgJXMAZXJyb3IgcmVhZGluZyBjdXJyZW50IGRpcmVjdG9yeQBlcnJvciB3aGlsZSBjb252ZXJ0aW5nIGZyb20g4oCcG1sxbSVzG1swbeKAnSBlbmNvZGluZyB0byDigJwbWzFtJXMbWzBt4oCdIGVuY29kaW5nAGVycm9yIHdoaWxlIG9wZW5pbmcg4oCcG1sxbSVzG1swbeKAnSBmb3IgcmVhZGluZwBlcnJvciB3aGlsZSBvcGVuaW5nIOKAnBtbMW0lcxtbMG3igJ0gZm9yIHdyaXRpbmcAZXJyb3Igd2hpbGUgb3BlbmluZyAlcyBmb3IgcmVhZGluZwBlcnJvciB3aGlsZSBwYXJzaW5nOiAlcwBlcnJvciB3aGlsZSByZWFkaW5nIOKAnBtbMW0lcxtbMG3igJ0AZXJyb3Igd2hpbGUgd3JpdGluZyDigJwbWzFtJXMbWzBt4oCdIGZpbGUAZXJyb3Igd2hpbGUgd3JpdGluZyB0byAlcyBzdWJwcm9jZXNzAGVycm9yIHdyaXRpbmcgJXMAZXJyb3Igd3JpdGluZyBzdGRvdXQAZXhhY3RseSAyIGlucHV0IGZpbGVzIHJlcXVpcmVkAGV4YWN0bHkgb25lIGlucHV0IGZpbGUgcmVxdWlyZWQAZXhwZWN0ZWQgdHdvIGFyZ3VtZW50cwBleHRyYSBvcGVyYW5kICVzAGZhaWxlZCB0byBjcmVhdGUg4oCcG1sxbSVzG1swbeKAnQBmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSDigJwbWzFtJXMbWzBt4oCdAGZkb3BlbigpIGZhaWxlZABmaWxlIOKAnBtbMW0lcxtbMG3igJ0gY29udGFpbnMgYSBub3QgTlVMIHRlcm1pbmF0ZWQgc3RyaW5nAGZpbGUg4oCcG1sxbSVzG1swbeKAnSBjb250YWlucyBhIG5vdCBOVUwgdGVybWluYXRlZCBzdHJpbmcsIGF0ICVzAGZpbGUg4oCcG1sxbSVzG1swbeKAnSBpcyBub3QgaW4gR05VIC5tbyBmb3JtYXQAZmlsZSDigJwbWzFtJXMbWzBt4oCdIGlzIHRydW5jYXRlZABmaWx0ZXIgb3V0cHV0IGlzIG5vdCB0ZXJtaW5hdGVkIHdpdGggYSBuZXdsaW5lAGZpcnN0IHBsdXJhbCBmb3JtIGhhcyBub256ZXJvIGluZGV4AGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBpbiDigJgbWzFtJXMbWzBt4oCZIGFuZCDigJgbWzFtJXMbWzBt4oCZIGFyZSBub3QgZXF1aXZhbGVudABmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4g4oCYG1sxbSVzG1swbeKAmSBhbmQg4oCYG1sxbSVzG1swbeKAmSBmb3IgYXJndW1lbnQgJXUgYXJlIG5vdCB0aGUgc2FtZQBmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4g4oCYG1sxbSVzG1swbeKAmSBhbmQg4oCYG1sxbSVzG1swbeKAmSBmb3IgYXJndW1lbnQg4oCYG1sxbSVzG1swbeKAmSBhcmUgbm90IHRoZSBzYW1lAGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBpbiDigJgbWzFtJXMbWzBt4oCZIGFuZCDigJgbWzFtJXMbWzBt4oCZIGZvciBhcmd1bWVudCB7JXV9IGFyZSBub3QgdGhlIHNhbWUAZm9ybWF0IHNwZWNpZmljYXRpb25zIGluIOKAmBtbMW0lcxtbMG3igJkgYXJlIG5vdCBhIHN1YnNldCBvZiB0aG9zZSBpbiDigJgbWzFtJXMbWzBt4oCZAGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBpbiDigJgbWzFtJXMbWzBt4oCZIGV4cGVjdCBhIG1hcHBpbmcsIHRob3NlIGluIOKAmBtbMW0lcxtbMG3igJkgZXhwZWN0IGEgdHVwbGUAZm9ybWF0IHNwZWNpZmljYXRpb25zIGluIOKAmBtbMW0lcxtbMG3igJkgZXhwZWN0IGEgdHVwbGUsIHRob3NlIGluIOKAmBtbMW0lcxtbMG3igJkgZXhwZWN0IGEgbWFwcGluZwBmb3VuZCAlZCBmYXRhbCBlcnJvcgBmb3VuZCAlZCBmYXRhbCBlcnJvcnMAZnV6enkg4oCYG1sxbW1zZ3N0chtbMG3igJkgZW50cnkgaWdub3JlZABoZWFkZXIgZmllbGQg4oCYG1sxbSVzG1swbeKAmSBtaXNzaW5nIGluIGhlYWRlcgoAaGVhZGVyIGZpZWxkIOKAmBtbMW0lcxtbMG3igJkgc3RpbGwgaGFzIHRoZSBpbml0aWFsIGRlZmF1bHQgdmFsdWUKAGljb252IGZhaWx1cmUAaW1wb3NzaWJsZSBzZWxlY3Rpb24gY3JpdGVyaWEgc3BlY2lmaWVkICglZCA8IG4gPCAlZCkAaW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UAaW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UgYXQgZW5kIG9mIGZpbGUAaW5jb21wbGV0ZSBtdWx0aWJ5dGUgc2VxdWVuY2UgYXQgZW5kIG9mIGxpbmUAaW5jb25zaXN0ZW50IHVzZSBvZiAjfgBpbnB1dCBmaWxlIOKAmBtbMW0lcxtbMG3igJkgZG9lc24ndCBjb250YWluIGEgaGVhZGVyIGVudHJ5IHdpdGggYSBjaGFyc2V0IHNwZWNpZmljYXRpb24AaW5wdXQgZmlsZSBkb2Vzbid0IGNvbnRhaW4gYSBoZWFkZXIgZW50cnkgd2l0aCBhIGNoYXJzZXQgc3BlY2lmaWNhdGlvbgBpbnB1dCBpcyBub3QgdmFsaWQgaW4g4oCcG1sxbSVzG1swbeKAnSBlbmNvZGluZwBpbnNpZGUgYSBjb21tZW50IG9yIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24AaW5zaWRlIGFuIGF0dHJpYnV0ZSBuYW1lAGluc2lkZSBhbiBhdHRyaWJ1dGUgdmFsdWUAaW5zaWRlIGFuIGVsZW1lbnQgbmFtZQBpbnNpZGUgYW4gb3BlbiB0YWcAaW5zaWRlIHRoZSBjbG9zZSB0YWcAaW50ZXJuYXRpb25hbGl6ZWQgbWVzc2FnZXMgc2hvdWxkIG5vdCBjb250YWluIHRoZSDigJgbWzFtXCVjG1swbeKAmSBlc2NhcGUgc2VxdWVuY2UAaW52YWxpZCBVVEYtOCBzZXF1ZW5jZQBpbnZhbGlkIGFyZ3VtZW50ICVzIGZvciAlcwBpbnZhbGlkIGF0dHJpYnV0ZSB2YWx1ZSDigJwbWzFtJXMbWzBt4oCdIGZvciDigJwbWzFtJXMbWzBt4oCdAGludmFsaWQgY2hhcmFjdGVyIGFmdGVyIOKAmBtbMW0lcxtbMG3igJkAaW52YWxpZCBjaGFyYWN0ZXIgcmVmZXJlbmNlOiAlcwBpbnZhbGlkIGNvbnRyb2wgc2VxdWVuY2UAaW52YWxpZCBlbmRpYW5uZXNzOiAlcwBpbnZhbGlkIGVudGl0eSByZWZlcmVuY2U6ICVzAGludmFsaWQgbXVsdGlieXRlIHNlcXVlbmNlAGludmFsaWQgbm9uLWJsYW5rIGNoYXJhY3RlcgBpbnZhbGlkIG5vbi1ibGFuayBsaW5lAGludmFsaWQgbnBsdXJhbHMgdmFsdWUAaW52YWxpZCBwbHVyYWwgZXhwcmVzc2lvbgBpbnZhbGlkIHNvdXJjZV92ZXJzaW9uIGFyZ3VtZW50IHRvIGNvbXBpbGVfamF2YV9jbGFzcwBpbnZhbGlkIHRhcmdldF92ZXJzaW9uIGFyZ3VtZW50IHRvIGNvbXBpbGVfamF2YV9jbGFzcwBrZXl3b3JkIOKAnBtbMW0lcxtbMG3igJ0gdW5rbm93bgBsYW5ndWFnZSDigJgbWzFtJXMbWzBt4oCZIHVua25vd24AbWVtb3J5IGV4aGF1c3RlZABtZXNzYWdlIGNhdGFsb2cgaGFzIGNvbnRleHQgZGVwZW5kZW50IHRyYW5zbGF0aW9ucwpidXQgdGhlIEMjIC5yZXNvdXJjZXMgZm9ybWF0IGRvZXNuJ3Qgc3VwcG9ydCBjb250ZXh0cwoAbWVzc2FnZSBjYXRhbG9nIGhhcyBjb250ZXh0IGRlcGVuZGVudCB0cmFuc2xhdGlvbnMKYnV0IHRoZSBUY2wgbWVzc2FnZSBjYXRhbG9nIGZvcm1hdCBkb2Vzbid0IHN1cHBvcnQgY29udGV4dHMKAG1lc3NhZ2UgY2F0YWxvZyBoYXMgY29udGV4dCBkZXBlbmRlbnQgdHJhbnNsYXRpb25zLCBidXQgdGhlIG91dHB1dCBmb3JtYXQgZG9lcyBub3Qgc3VwcG9ydCB0aGVtLgBtZXNzYWdlIGNhdGFsb2cgaGFzIG1zZ2N0eHQgc3RyaW5ncyBjb250YWluaW5nIGNoYXJhY3RlcnMgb3V0c2lkZSBJU08tODg1OS0xCmJ1dCB0aGUgUXQgbWVzc2FnZSBjYXRhbG9nIGZvcm1hdCBzdXBwb3J0cyBVbmljb2RlIG9ubHkgaW4gdGhlIHRyYW5zbGF0ZWQKc3RyaW5ncywgbm90IGluIHRoZSBjb250ZXh0IHN0cmluZ3MKAG1lc3NhZ2UgY2F0YWxvZyBoYXMgbXNnaWQgc3RyaW5ncyBjb250YWluaW5nIGNoYXJhY3RlcnMgb3V0c2lkZSBJU08tODg1OS0xCmJ1dCB0aGUgUXQgbWVzc2FnZSBjYXRhbG9nIGZvcm1hdCBzdXBwb3J0cyBVbmljb2RlIG9ubHkgaW4gdGhlIHRyYW5zbGF0ZWQKc3RyaW5ncywgbm90IGluIHRoZSB1bnRyYW5zbGF0ZWQgc3RyaW5ncwoAbWVzc2FnZSBjYXRhbG9nIGhhcyBwbHVyYWwgZm9ybSB0cmFuc2xhdGlvbnMAbWVzc2FnZSBjYXRhbG9nIGhhcyBwbHVyYWwgZm9ybSB0cmFuc2xhdGlvbnMKYnV0IHRoZSBDIyAucmVzb3VyY2VzIGZvcm1hdCBkb2Vzbid0IHN1cHBvcnQgcGx1cmFsIGhhbmRsaW5nCgBtZXNzYWdlIGNhdGFsb2cgaGFzIHBsdXJhbCBmb3JtIHRyYW5zbGF0aW9ucwpidXQgdGhlIFF0IG1lc3NhZ2UgY2F0YWxvZyBmb3JtYXQgZG9lc24ndCBzdXBwb3J0IHBsdXJhbCBoYW5kbGluZwoAbWVzc2FnZSBjYXRhbG9nIGhhcyBwbHVyYWwgZm9ybSB0cmFuc2xhdGlvbnMKYnV0IHRoZSBUY2wgbWVzc2FnZSBjYXRhbG9nIGZvcm1hdCBkb2Vzbid0IHN1cHBvcnQgcGx1cmFsIGhhbmRsaW5nCgBtZXNzYWdlIGNhdGFsb2cgaGFzIHBsdXJhbCBmb3JtIHRyYW5zbGF0aW9ucywgYnV0IGxhY2tzIGEgaGVhZGVyIGVudHJ5IHdpdGgg4oCcG1sxbVBsdXJhbC1Gb3JtczogbnBsdXJhbHM9SU5URUdFUjsgcGx1cmFsPUVYUFJFU1NJT047G1swbeKAnQBtZXNzYWdlIGNhdGFsb2cgaGFzIHBsdXJhbCBmb3JtIHRyYW5zbGF0aW9ucywgYnV0IHRoZSBvdXRwdXQgZm9ybWF0IGRvZXMgbm90IHN1cHBvcnQgdGhlbS4AbWVzc2FnZSBjYXRhbG9nIGhhcyBwbHVyYWwgZm9ybSB0cmFuc2xhdGlvbnMsIGJ1dCB0aGUgb3V0cHV0IGZvcm1hdCBkb2VzIG5vdCBzdXBwb3J0IHRoZW0uIFRyeSBnZW5lcmF0aW5nIGEgSmF2YSBjbGFzcyB1c2luZyDigJwbWzFtbXNnZm10IC0tamF2YRtbMG3igJ0sIGluc3RlYWQgb2YgYSBwcm9wZXJ0aWVzIGZpbGUuAG1pc3Npbmcg4oCYG1sxbSVjG1swbeKAmQBtaXNzaW5nIOKAmBtbMW0lYxtbMG3igJkgb3Ig4oCYG1sxbSVjG1swbeKAmQBtaXNzaW5nIOKAmBtbMW09G1swbeKAmSBhZnRlciDigJwbWzFtJXMbWzBt4oCdAG1pc3Npbmcg4oCYG1sxbT4bWzBt4oCZAG1pc3Npbmcg4oCYG1sxbW1zZ2lkX3BsdXJhbBtbMG3igJkgc2VjdGlvbgBtaXNzaW5nIOKAmBtbMW1tc2dzdHIbWzBt4oCZIHNlY3Rpb24AbWlzc2luZyDigJgbWzFtbXNnc3RyW10bWzBt4oCZIHNlY3Rpb24AbWlzc2luZyBjb21tYW5kIG5hbWUAbWlzc2luZyBmaWx0ZXIgbmFtZQBtc2dzdHIgaGFzIHRvbyBtYW55IGtleWJvYXJkIGFjY2VsZXJhdG9yIG1hcmtzIOKAmBtbMW0lYxtbMG3igJkAbXNnc3RyIGxhY2tzIHRoZSBrZXlib2FyZCBhY2NlbGVyYXRvciBtYXJrIOKAmBtbMW0lYxtbMG3igJkAbm8gZW5kaW5nIOKAmBtbMW07G1swbeKAmQBubyBpbnB1dCBmaWxlIGdpdmVuAG5vIGlucHV0IGZpbGUgc2hvdWxkIGJlIGdpdmVuIGlmICVzIGFuZCAlcyBhcmUgc3BlY2lmaWVkAG5vIGlucHV0IGZpbGVzIGdpdmVuAG5vbi1wZXJtaXR0ZWQgY2hhcmFjdGVyAG5vdCBhIHZhbGlkIEphdmEgY2xhc3MgbmFtZTogJXMAbm90IGEgdmFsaWQgbnVtYmVyIHNwZWNpZmljYXRpb24AbnBsdXJhbHMgPSAlbHUAbnBsdXJhbHMgPSAlbHUgYnV0IHBsdXJhbCBleHByZXNzaW9uIGNhbiBwcm9kdWNlIHZhbHVlcyBhcyBsYXJnZSBhcyAlbHUAbnVtYmVyIG9mIGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBpbiDigJgbWzFtJXMbWzBt4oCZIGFuZCDigJgbWzFtJXMbWzBt4oCZIGRvZXMgbm90IG1hdGNoAG9wdGlvbiDigJgbWzFtJWMbWzBt4oCZIGNhbm5vdCBiZSB1c2VkIGJlZm9yZSDigJgbWzFtShtbMG3igJkgb3Ig4oCYG1sxbUsbWzBt4oCZIG9yIOKAmBtbMW1UG1swbeKAmSBvciDigJgbWzFtQxtbMG3igJkgb3Ig4oCYG1sxbVgbWzBt4oCZIGhhcyBiZWVuIHNwZWNpZmllZABwbHVyYWwgZXhwcmVzc2lvbiBjYW4gcHJvZHVjZSBhcml0aG1ldGljIGV4Y2VwdGlvbnMsIHBvc3NpYmx5IGRpdmlzaW9uIGJ5IHplcm8AcGx1cmFsIGV4cHJlc3Npb24gY2FuIHByb2R1Y2UgZGl2aXNpb24gYnkgemVybwBwbHVyYWwgZXhwcmVzc2lvbiBjYW4gcHJvZHVjZSBpbnRlZ2VyIG92ZXJmbG93AHBsdXJhbCBleHByZXNzaW9uIGNhbiBwcm9kdWNlIG5lZ2F0aXZlIHZhbHVlcwBwbHVyYWwgZm9ybSBoYXMgd3JvbmcgaW5kZXgAcGx1cmFsIGhhbmRsaW5nIGlzIGEgR05VIGdldHRleHQgZXh0ZW5zaW9uAHByZXNlbnQgY2hhcnNldCDigJwbWzFtJXMbWzBt4oCdIGlzIG5vdCBhIHBvcnRhYmxlIGVuY29kaW5nIG5hbWUAcHJlc2VydmluZyBwZXJtaXNzaW9ucyBmb3IgJXMAcmVhZCBmcm9tICVzIHN1YnByb2Nlc3MgZmFpbGVkAHNlbGVjdG9yIGlzIG5vdCBzcGVjaWZpZWQAc2VudGVuY2UgZW5kIHR5cGUg4oCYG1sxbSVzG1swbeKAmSB1bmtub3duAHNldHRpbmcgcGVybWlzc2lvbnMgZm9yICVzAHNwYWNlIGJlZm9yZSBlbGxpcHNpcyBmb3VuZCBpbiB1c2VyIHZpc2libGUgc3RyaW5ncwBzdGFuZGFyZCBpbnB1dABzdGFuZGFyZCBvdXRwdXQAc3ludGF4IGNoZWNrIOKAmBtbMW0lcxtbMG3igJkgdW5rbm93bgB0YXJnZXQgY2hhcnNldCDigJwbWzFtJXMbWzBt4oCdIGlzIG5vdCBhIHBvcnRhYmxlIGVuY29kaW5nIG5hbWUuAHRoZSBhcmd1bWVudCB0byAlcyBzaG91bGQgYmUgYSBzaW5nbGUgcHVuY3R1YXRpb24gY2hhcmFjdGVyAHRoZSByb290IGVsZW1lbnQgaXMgbm90IOKAnBtbMW1sb2NhdGluZ1J1bGVzG1swbeKAnQB0aGUgcm9vdCBlbGVtZW50IGlzIG5vdCDigJwbWzFtcnVsZXMbWzBt4oCdIHVuZGVyIG5hbWVzcGFjZSAlcwB0aGlzIGZpbGUgbWF5IG5vdCBjb250YWluIGRvbWFpbiBkaXJlY3RpdmVzAHRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBmaXJzdCBkZWZpbml0aW9uAHRoaXMgbWVzc2FnZSBpcyB1bnRyYW5zbGF0ZWQAdGhpcyBtZXNzYWdlIGlzIHVzZWQgYnV0IG5vdCBkZWZpbmVkIGluICVzAHRoaXMgbWVzc2FnZSBpcyB1c2VkIGJ1dCBub3QgZGVmaW5lZC4uLgB0aGlzIG1lc3NhZ2UgbmVlZHMgdG8gYmUgcmV2aWV3ZWQgYnkgdGhlIHRyYW5zbGF0b3IAdGhpcyBtZXNzYWdlIHNob3VsZCBkZWZpbmUgcGx1cmFsIGZvcm1zAHRoaXMgbWVzc2FnZSBzaG91bGQgbm90IGRlZmluZSBwbHVyYWwgZm9ybXMAdG9vIG1hbnkgYXJndW1lbnRzAHRvbyBtYW55IGVycm9ycywgYWJvcnRpbmcAdHdvIGRpZmZlcmVudCBjaGFyc2V0cyDigJwbWzFtJXMbWzBt4oCdIGFuZCDigJwbWzFtJXMbWzBt4oCdIGluIGlucHV0IGZpbGUAdW5rbm93bgB1bnRlcm1pbmF0ZWQgZ3JvdXAgbmFtZQB3YXJuaW5nOiAAd2FybmluZzogSVRTIHJ1bGUgZmlsZSDigJgbWzFtJXMbWzBt4oCZIGRvZXMgbm90IGV4aXN0AHdhcm5pbmc6IElUUyBydWxlIGZpbGUg4oCYG1sxbSVzG1swbeKAmSBkb2VzIG5vdCBleGlzdDsgY2hlY2sgeW91ciBnZXR0ZXh0IGluc3RhbGxhdGlvbgB3YXJuaW5nOiBQTyBmaWxlIGhlYWRlciBmdXp6eQoAd2FybmluZzogUE8gZmlsZSBoZWFkZXIgbWlzc2luZyBvciBpbnZhbGlkCgB3YXJuaW5nOiBjaGFyc2V0IGNvbnZlcnNpb24gd2lsbCBub3Qgd29yawoAd2FybmluZzogZmlsZSDigJgbWzFtJXMbWzBt4oCZIGV4dGVuc2lvbiDigJgbWzFtJXMbWzBt4oCZIGlzIHVua25vd247IHdpbGwgdHJ5IEMAd2FybmluZzogaW52YWxpZCBVbmljb2RlIGNoYXJhY3RlcgB3YXJuaW5nOiBpbnZhbGlkIFx1eHh4eCBzeW50YXggZm9yIFVuaWNvZGUgY2hhcmFjdGVyAHdhcm5pbmc6IG1pc3NpbmcgY29udGV4dCBmb3Iga2V5d29yZCDigJgbWzFtJS4qcxtbMG3igJkAd2FybmluZzogbWlzc2luZyBjb250ZXh0IGZvciBwbHVyYWwgYXJndW1lbnQgb2Yga2V5d29yZCDigJgbWzFtJS4qcxtbMG3igJkAd2FybmluZzogb2xkZXIgdmVyc2lvbnMgb2YgbXNnZm10IHdpbGwgZ2l2ZSBhbiBlcnJvciBvbiB0aGlzCgB3YXJuaW5nOiBzeW50YXggZXJyb3IAd2FybmluZzogc3ludGF4IGVycm9yLCBleHBlY3RlZCDigJgbWzFtOxtbMG3igJkgYWZ0ZXIgc3RyaW5nAHdhcm5pbmc6IHN5bnRheCBlcnJvciwgZXhwZWN0ZWQg4oCYG1sxbT0bWzBt4oCZIG9yIOKAmBtbMW07G1swbeKAmSBhZnRlciBzdHJpbmcAd2FybmluZzogdGhpcyBtZXNzYWdlIGlzIG5vdCB1c2VkAHdhcm5pbmc6IHVudGVybWluYXRlZCBrZXkvdmFsdWUgcGFpcgB3YXJuaW5nOiB1bnRlcm1pbmF0ZWQgc3RyaW5nAHdyaXRlIGVycm9yAHdyaXRlIHRvICVzIHN1YnByb2Nlc3MgZmFpbGVkAHdyaXRlIHRvIHN0ZG91dCBmYWlsZWQAeGdldHRleHQgY2Fubm90IHdvcmsgd2l0aG91dCBrZXl3b3JkcyB0byBsb29rIGZvcgA=
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 8
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
acl.mo
8.30 KB
lrw-r--r--
2018-06-19 03:10:14
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
bash.mo
164.91 KB
lrw-r--r--
2016-09-10 16:43:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
elfutils.mo
154.05 KB
lrw-r--r--
2023-11-03 17:23:31
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
flex.mo
20.59 KB
lrw-r--r--
2019-10-12 12:33:17
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
gettext-runtime.mo
9.19 KB
lrw-r--r--
2016-06-11 13:08:06
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
gettext-tools.mo
114.03 KB
lrw-r--r--
2016-06-11 13:08:14
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
gnupg2.mo
216.39 KB
lrw-r--r--
2020-03-20 14:40:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
libidn.mo
8.29 KB
lrw-r--r--
2019-10-13 16:55:34
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).