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860BAAQAAAADrgEACQAAAAiuAQAQAAAAEq4BACAAAAAjrgEALAAAAESuAQARAAAAca4BAAoAAACDrgEAAwAAAI6uAQANAAAAkq4BAAoAAACgrgEACAAAAKuuAQAJAAAAtK4BAB4AAAC+rgEAEQAAAN2uAQAOAAAA764BABAAAAD+rgEACAAAAA+vAQAbAAAAGK8BAAsAAAA0rwEAGwAAAECvAQAMAAAAXK8BAAwAAABprwEACQAAAHavAQAKAAAAgK8BADsAAACLrwEABwAAAMevAQALAAAAz68BABMAAADbrwEAFAAAAO+vAQAYAAAABLABABEAAAAdsAEAEQAAAC+wAQAQAAAAQbABABYAAABSsAEAGgAAAGmwAQAKAAAAhLABAAsAAACPsAEABgAAAJuwAQAGAAAAorABAAwAAACpsAEACwAAALawAQALAAAAwrABAAsAAADOsAEADQAAANqwAQAJAAAA6LABAAgAAADysAEACgAAAPuwAQAMAAAABrEBAAoAAAATsQEAEwAAAB6xAQAFAAAAMrEBAAoAAAA4sQEAcwAAAEOxAQANAAAAt7EBABIAAADFsQEAFQAAANixAQAdAAAA7rEBABIAAAAMsgEAEAAAAB+yAQAVAAAAMLIBAAsAAABGsgEACwAAAFKyAQARAAAAXrIBAAQAAABwsgEACgAAAHWyAQAMAAAAgLIBAAwAAACNsgEACgAAAJqyAQALAAAApbIBACUAAACxsgEAPQAAANeyAQAOAAAAFbMBABMAAAAkswEADAAAADizAQAKAAAARbMBAAwAAABQswEACQAAAF2zAQAKAAAAZ7MBAAsAAAByswEACgAAAH6zAQAIAAAAibMBAAEAAACSswEADAAAAJSzAQAFAAAAobMBABIAAACnswEAEQAAALqzAQASAAAAzLMBAAoAAADfswEACgAAAOqzAQADAAAA9bMBAAQAAAD5swEAEQAAAP6zAQAPAAAAELQBABEAAAAgtAEAHgAAADK0AQAGAAAAUbQBAAIAAABYtAEAAgAAAFu0AQAEAAAAXrQBAAEAAAA8AQAAAAAAACMAAADOAQAAuwEAAJEEAABoAAAAAAAAAAAAAACTAAAAOwQAAD4DAABKBAAAAAAAAM8DAAAgAgAAgQQAAAAAAAAmBAAA5gIAAFMDAAALAQAADAIAACwAAAAqAAAA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ACVpIGJ5dGVzIHVuZGVmaW5lZCBkYXRhACVpIGJ5dGVzIHVua25vd24gZGF0YQAlaSBieXRlcyB1bmtub3duIGRhdGE6IAAlaSBieXRlcyB1bnN1cHBvcnRlZCBkYXRhIHR5cGUAJXUgbW0AKEVkaXRvcikAKFBob3RvZ3JhcGhlcikALCAALQAxLyVpADEvMwAxMCBmcmFtZXMvc2VjADEwMAAxNSBmcmFtZXMvc2VjADIgTXBpeGVsIGJhc2ljADIgTXBpeGVsIGZpbmUAMiBNcGl4ZWwgbm9ybWFsADIgc2VjLgAyLzMAMjAgZnJhbWVzL3NlYwAyMDAAMjMwNHgxNzI4IG9yIDI1OTJ4MTk0NAAyNTYweDE5MjAgb3IgMjMwNHgxNzI4ADI4MTZ4MjIxMiBvciAyODE2eDIxMTIAMm5kLWN1cnRhaW4gc3luYyB1c2VkADJ4ADJ4MiBtYXRyaXggKGNsb2Nrd2lzZSkAMzAwOHgyMDA4IG9yIDMwNDB4MjAyNAA0MDAANHgANSBmcmFtZXMvc2VjADUwADgwMAA/AEEgY2hhcmFjdGVyIHN0cmluZyBjb250YWluaW5nIGEgY29tbWVudCBhYm91dCB0aGUgaW1hZ2UsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBjb250YWluaW5nIGtleSB3b3JkcyBkZXNjcmliaW5nIHRoZSBpbWFnZSwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWUgb2YgdGhlIGltYWdlIGNyZWF0b3IsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBnaXZpbmcgdGhlIGltYWdlIHN1YmplY3QsIGVuY29kZWQgaW4gVVRGLTE2TEUuAEEgY2hhcmFjdGVyIHN0cmluZyBnaXZpbmcgdGhlIHRpdGxlIG9mIHRoZSBpbWFnZSwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGdpdmluZyB0aGUgdGl0bGUgb2YgdGhlIGltYWdlLiBJdCBtYXkgYmUgYSBjb21tZW50IHN1Y2ggYXMgIjE5ODggY29tcGFueSBwaWNuaWMiIG9yIHRoZSBsaWtlLiBUd28tYnl0ZXMgY2hhcmFjdGVyIGNvZGVzIGNhbm5vdCBiZSB1c2VkLiBXaGVuIGEgMi1ieXRlcyBjb2RlIGlzIG5lY2Vzc2FyeSwgdGhlIEV4aWYgUHJpdmF0ZSB0YWcgPFVzZXJDb21tZW50PiBpcyB0byBiZSB1c2VkLgBBIGNoYXJhY3RlciBzdHJpbmcgcmVjb3JkaW5nIGRhdGUgYW5kIHRpbWUgaW5mb3JtYXRpb24gcmVsYXRpdmUgdG8gVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkuIFRoZSBmb3JtYXQgaXMgIllZWVk6TU06REQiLiBUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgaXMgMTEgYnl0ZXMgaW5jbHVkaW5nIE5VTEwuAEEgY2hhcmFjdGVyIHN0cmluZyByZWNvcmRpbmcgdGhlIG5hbWUgb2YgdGhlIEdQUyBhcmVhLiBUaGUgZmlyc3QgYnl0ZSBpbmRpY2F0ZXMgdGhlIGNoYXJhY3RlciBjb2RlIHVzZWQsIGFuZCB0aGlzIGlzIGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIHRoZSBHUFMgYXJlYS4gU2luY2UgdGhlIFR5cGUgaXMgbm90IEFTQ0lJLCBOVUxMIHRlcm1pbmF0aW9uIGlzIG5vdCBuZWNlc3NhcnkuAEEgY2hhcmFjdGVyIHN0cmluZyByZWNvcmRpbmcgdGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB1c2VkIGZvciBsb2NhdGlvbiBmaW5kaW5nLiBUaGUgZmlyc3QgYnl0ZSBpbmRpY2F0ZXMgdGhlIGNoYXJhY3RlciBjb2RlIHVzZWQsIGFuZCB0aGlzIGlzIGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIHRoZSBtZXRob2QuIFNpbmNlIHRoZSBUeXBlIGlzIG5vdCBBU0NJSSwgTlVMTCB0ZXJtaW5hdGlvbiBpcyBub3QgbmVjZXNzYXJ5LgBBIGdlbmVyYWwgaW5kaWNhdGlvbiBvZiB0aGUga2luZCBvZiBkYXRhIGNvbnRhaW5lZCBpbiB0aGlzIHN1YmZpbGUuAEEgcG9pbnRlciB0byB0aGUgRXhpZiBJRkQuIEludGVyb3BlcmFiaWxpdHksIEV4aWYgSUZEIGhhcyB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgdGhhdCBvZiB0aGUgSUZEIHNwZWNpZmllZCBpbiBUSUZGLiBvcmRpbmFyaWx5LCBob3dldmVyLCBpdCBkb2VzIG5vdCBjb250YWluIGltYWdlIGRhdGEgYXMgaW4gdGhlIGNhc2Ugb2YgVElGRi4AQSBwb2ludGVyIHRvIHRoZSBHUFMgSW5mbyBJRkQuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IHN0cnVjdHVyZSBvZiB0aGUgR1BTIEluZm8gSUZELCBsaWtlIHRoYXQgb2YgRXhpZiBJRkQsIGhhcyBubyBpbWFnZSBkYXRhLgBBIHRhZyBmb3IgRXhpZiB1c2VycyB0byB3cml0ZSBrZXl3b3JkcyBvciBjb21tZW50cyBvbiB0aGUgaW1hZ2UgYmVzaWRlcyB0aG9zZSBpbiA8SW1hZ2VEZXNjcmlwdGlvbj4sIGFuZCB3aXRob3V0IHRoZSBjaGFyYWN0ZXIgY29kZSBsaW1pdGF0aW9ucyBvZiB0aGUgPEltYWdlRGVzY3JpcHRpb24+IHRhZy4gVGhlIGNoYXJhY3RlciBjb2RlIHVzZWQgaW4gdGhlIDxVc2VyQ29tbWVudD4gdGFnIGlzIGlkZW50aWZpZWQgYmFzZWQgb24gYW4gSUQgY29kZSBpbiBhIGZpeGVkIDgtYnl0ZSBhcmVhIGF0IHRoZSBzdGFydCBvZiB0aGUgdGFnIGRhdGEgYXJlYS4gVGhlIHVudXNlZCBwb3J0aW9uIG9mIHRoZSBhcmVhIGlzIHBhZGRlZCB3aXRoIE5VTEwgKCIwMC5oIikuIElEIGNvZGVzIGFyZSBhc3NpZ25lZCBieSBtZWFucyBvZiByZWdpc3RyYXRpb24uIFRoZSBkZXNpZ25hdGlvbiBtZXRob2QgYW5kIHJlZmVyZW5jZXMgZm9yIGVhY2ggY2hhcmFjdGVyIGNvZGUgYXJlIGRlZmluZWQgaW4gdGhlIHNwZWNpZmljYXRpb24uIFRoZSB2YWx1ZSBvZiBDb3VudE4gaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgOCBieXRlcyBpbiB0aGUgY2hhcmFjdGVyIGNvZGUgYXJlYSBhbmQgdGhlIG51bWJlciBvZiBieXRlcyBpbiB0aGUgdXNlciBjb21tZW50IHBhcnQuIFNpbmNlIHRoZSBUWVBFIGlzIG5vdCBBU0NJSSwgTlVMTCB0ZXJtaW5hdGlvbiBpcyBub3QgbmVjZXNzYXJ5LiBUaGUgSUQgY29kZSBmb3IgdGhlIDxVc2VyQ29tbWVudD4gYXJlYSBtYXkgYmUgYSBEZWZpbmVkIGNvZGUgc3VjaCBhcyBKSVMgb3IgQVNDSUksIG9yIG1heSBiZSBVbmRlZmluZWQuIFRoZSBVbmRlZmluZWQgbmFtZSBpcyBVbmRlZmluZWRUZXh0LCBhbmQgdGhlIElEIGNvZGUgaXMgZmlsbGVkIHdpdGggOCBieXRlcyBvZiBhbGwgIk5VTEwiICgiMDAuSCIpLiBBbiBFeGlmIHJlYWRlciB0aGF0IHJlYWRzIHRoZSA8VXNlckNvbW1lbnQ+IHRhZyBtdXN0IGhhdmUgYSBmdW5jdGlvbiBmb3IgZGV0ZXJtaW5pbmcgdGhlIElEIGNvZGUuIFRoaXMgZnVuY3Rpb24gaXMgbm90IHJlcXVpcmVkIGluIEV4aWYgcmVhZGVycyB0aGF0IGRvIG5vdCB1c2UgdGhlIDxVc2VyQ29tbWVudD4gdGFnLiBXaGVuIGEgPFVzZXJDb21tZW50PiBhcmVhIGlzIHNldCBhc2lkZSwgaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGUgSUQgY29kZSBiZSBBU0NJSSBhbmQgdGhhdCB0aGUgZm9sbG93aW5nIHVzZXIgY29tbWVudCBwYXJ0IGJlIGZpbGxlZCB3aXRoIGJsYW5rIGNoYXJhY3RlcnMgWzIwLkhdLgBBIHRhZyBmb3IgbWFudWZhY3R1cmVycyBvZiBFeGlmIHdyaXRlcnMgdG8gcmVjb3JkIGFueSBkZXNpcmVkIGluZm9ybWF0aW9uLiBUaGUgY29udGVudHMgYXJlIHVwIHRvIHRoZSBtYW51ZmFjdHVyZXIuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lPiB0YWcuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lRGlnaXRpemVkPiB0YWcuAEEgdGFnIHVzZWQgdG8gcmVjb3JkIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGZvciB0aGUgPERhdGVUaW1lT3JpZ2luYWw+IHRhZy4AQSB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgdGhlIGltYWdlLCBkZXNjcmliZWQgaW4gdGFidWxhciBzdHlsZS4gTm9ybWFsbHkgdGhpcyB0YWcgaXMgbm90IG5lY2Vzc2FyeSwgc2luY2UgY29sb3Igc3BhY2UgaXMgc3BlY2lmaWVkIGluIHRoZSBjb2xvciBzcGFjZSBpbmZvcm1hdGlvbiB0YWcgKDxDb2xvclNwYWNlPikuAEEtREVQAEEtVFRMAEFFIEJyYWNrZXQgVmFsdWUAQUUgQnJhY2tldGluZwBBRSBJbmZvAEFFIFNldHRpbmcAQUUgZ29vZABBRSBsb2NrAEFFIGxvY2sgKyBleHBvc3VyZSBjb21wZW5zYXRpb24AQUYgRm9jdXMgUG9zaXRpb24AQUYgUG9pbnQAQUYgUG9pbnQgU2VsZWN0ZWQAQUYgUmVzdWx0AEFGIG5vbiBEIGxlbnMAQUYgcG9zaXRpb246IGJvdHRvbQBBRiBwb3NpdGlvbjogY2VudGVyAEFGIHBvc2l0aW9uOiBmYXIgbGVmdABBRiBwb3NpdGlvbjogZmFyIHJpZ2h0AEFGIHBvc2l0aW9uOiBsZWZ0AEFGIHBvc2l0aW9uOiBsb3dlci1sZWZ0AEFGIHBvc2l0aW9uOiBsb3dlci1yaWdodABBRiBwb3NpdGlvbjogcmlnaHQAQUYgcG9zaXRpb246IHRvcABBRiBwb3NpdGlvbjogdXBwZXItbGVmdABBRiBwb3NpdGlvbjogdXBwZXItcmlnaHQAQUYtQwBBRi1EIEcgVlIgbGVucwBBRi1EIEcgbGVucwBBRi1EIFZSIGxlbnMAQUYtRCBvciBBRi1TIGxlbnMAQUYtUwBBSSBmb2N1cyBBRgBBSSBzZXJ2byBBRgBBU0NJSQBBVkkrVEhNAEFjdGlvbgBBZGFwdGVyAEFkZCwgY29ycmVjdCBhbmQgcmVtb3ZlIGVudHJpZXMgdG8gZ2V0IEVYSUYgZGF0YSB0aGF0IGZvbGxvd3MgdGhlIHNwZWNpZmljYXRpb24uAEFkanVzdCBleHBvc3VyZQBBZG9iZSBSR0IAQWxsAEFsdGl0dWRlAEFsdGl0dWRlIFJlZmVyZW5jZQBBcGVydHVyZQBBcGVydHVyZSBWYWx1ZQBBcGVydHVyZSBwcmlvcml0eQBBcGVydHVyZSBwcmlvcml0eSBBRQBBcXVhcml1bQBBcnRpc3QAQXV0bwBBdXRvICgxMDAtNDAwJSkAQXV0byBBRiBQb2ludABBdXRvIEFGIHBvaW50IHNlbGVjdGlvbgBBdXRvIEJyYWNrZXRpbmcAQXV0byBFeHBvc3VyZSBDaGVjawBBdXRvIEZvY3VzIENoZWNrAEF1dG8gSVNPAEF1dG8gUm90YXRlAEF1dG8gYnJhY2tldABBdXRvIGV4cG9zdXJlAEF1dG8gaGlnaABBdXRvIHdoaXRlIGJhbGFuY2UAQXV0bywgZGlkIG5vdCBmaXJlAEF1dG8sIGRpZCBub3QgZmlyZSwgcmVkLWV5ZSByZWR1Y3Rpb24AQXV0bywgZmlyZWQAQXV0bywgZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uAEF1dG8sIHJlZC1leWUgcmVkdWN0aW9uAEF1dG8tc2VsZWN0ZWQAQXV0b2ZvY3VzIFBvaW50cyBVc2VkAEF1dG9tYXRpYwBBdXR1bW4AQXYtcHJpb3JpdHkAQXZlcmFnZQBBdmcAQgBCYXR0ZXJ5IEluZm8AQmF0dGVyeSBMZXZlbABCZWFjaABCZWFyaW5nIG9mIERlc3RpbmF0aW9uAEJlc3QAQmVzdHNob3QgTW9kZQBCZXR0ZXIAQml0cyBwZXIgU2FtcGxlAEJsYWNrICYgV2hpdGUgTW9kZQBCbGFjayAmIHdoaXRlAEJsYWNrIExldmVsAEJsYWNrIFBvaW50AEJsdWUgQmFsYW5jZQBCbHVyIENoZWNrAEJsdXIgd2FybmluZwBCb3R0b20AQm90dG9tIHRvIHRvcABCb3R0b20tY2VudGVyAEJvdHRvbS1sZWZ0AEJvdHRvbS1yaWdodABCcmFja2V0aW5nAEJyaWdodCsAQnJpZ2h0LQBCcmlnaHRuZXNzAEJyaWdodG5lc3MgVmFsdWUAQnVsYiBEdXJhdGlvbgBCeXRlAEJ5dGUgYXQgcG9zaXRpb24gJWk6IDB4JTAyeABDQ0QgU2NhbiBNb2RlAENDRCBTZW5zaXRpdml0eQBDQ1MgSVNPIFNlbnNpdGl2aXR5AENG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b24gRUYtUyAxNy04NW1tIGY0LTUuNiBJUyBVU00AQ2Fub24gRUYtUyAxOC01NW1tIGYvMy41LTQuNSBVU00AQ2Fub24gRUYtUyAxOC01NW1tIGYvMy41LTUuNgBDYW5vbiBFRi1TMTAtMjJtbSBGMy41LTQuNSBVU00AQ2Fub24gRUYtUzYwbW0gRjIuOCBNYWNybyBVU00AQ2Fub24gTVAtRSA2NW1tIGYvMi44IDEtNXggTWFjcm8gUGhvdG8AQ2Fub24gVFMtRSAyNG1tIGYvMy41TABDYW5vbiBUUy1FIDQ1bW0gZi8yLjgAQ2Fub24gVFMtRSA5MG1tIGYvMi44AENhcHR1cmUgRWRpdG9yIERhdGEAQ2FwdHVyZSBFZGl0b3IgVmVyc2lvbgBDYXB0dXJlIE1vZGUAQ2IAQ2VudGVyAENlbnRlci1yaWdodABDZW50ZXItd2VpZ2h0AENlbnRlci13ZWlnaHRlZCBhdmVyYWdlAENlbnRlcmVkAENlbnRpbWV0ZXIAQ2hyb21hdGljaXR5IFNhdHVyYXRpb24AQ2h1bmt5IGZvcm1hdABDaWVMQUIAQ2xvc2UAQ2xvc2UgdmlldwBDbG91ZHkAQ2xvdWR5IHdlYXRoZXIAQ28tc2l0ZWQAQ29sb3IAQ29sb3IgQWRqdXN0bWVudCBNb2RlAENvbG9yIENvbnRyb2wAQ29sb3IgSW5mb3JtYXRpb24AQ29sb3IgTWF0cml4AENvbG9yIE1hdHJpeCBOdW1iZXIAQ29sb3IgTW9kZQBDb2xvciBNb2RlICg/KQBDb2xvciBTcGFjZQBDb2xvciBUb25lAENvbG9yIGFjY2VudABDb2xvciBzZXF1ZW50aWFsIGFyZWEgc2Vuc29yAENvbG9yIHNlcXVlbnRpYWwgbGluZWFyIHNlbnNvcgBDb2xvciBzd2FwAENvbG9ycwBDb21wYWN0AENvbXBvbmVudHMgQ29uZmlndXJhdGlvbgBDb21wcmVzc2VkIEJpdHMgcGVyIFBpeGVsAENvbXByZXNzaW9uAENvbXByZXNzaW9uIFJhdGlvAENvbnRpbnVvdXMAQ29udGludW91cyBTZXF1ZW5jZSBOdW1iZXIAQ29udGludW91cyBUYWtpbmcAQ29udGludW91cywgaGlnaABDb250aW51b3VzLCBsb3cAQ29udGludW91cywgc3BlZWQgcHJpb3JpdHkAQ29udHJhc3QAQ29udHJhc3QgQ3VydmUAQ29udHJhc3QgU2V0dGluZwBDb250cmFzdCsAQ29udHJhc3QtAENvbnZlcnRlcgBDb29sIHdoaXRlIGZsdW9yZXNjZW50AENvcHlyaWdodABDb3B5cmlnaHQgaW5mb3JtYXRpb24uIEluIHRoaXMgc3RhbmRhcmQgdGhlIHRhZyBpcyB1c2VkIHRvIGluZGljYXRlIGJvdGggdGhlIHBob3RvZ3JhcGhlciBhbmQgZWRpdG9yIGNvcHlyaWdodHMuIEl0IGlzIHRoZSBjb3B5cmlnaHQgbm90aWNlIG9mIHRoZSBwZXJzb24gb3Igb3JnYW5pemF0aW9uIGNsYWltaW5nIHJpZ2h0cyB0byB0aGUgaW1hZ2UuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IGNvcHlyaWdodCBzdGF0ZW1lbnQgaW5jbHVkaW5nIGRhdGUgYW5kIHJpZ2h0cyBzaG91bGQgYmUgd3JpdHRlbiBpbiB0aGlzIGZpZWxkOyBlLmcuLCAiQ29weXJpZ2h0LCBKb2huIFNtaXRoLCAxOXh4LiBBbGwgcmlnaHRzIHJlc2VydmVkLiIuIEluIHRoaXMgc3RhbmRhcmQgdGhlIGZpZWxkIHJlY29yZHMgYm90aCB0aGUgcGhvdG9ncmFwaGVyIGFuZCBlZGl0b3IgY29weXJpZ2h0cywgd2l0aCBlYWNoIHJlY29yZGVkIGluIGEgc2VwYXJhdGUgcGFydCBvZiB0aGUgc3RhdGVtZW50LiBXaGVuIHRoZXJlIGlzIGEgY2xlYXIgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgcGhvdG9ncmFwaGVyIGFuZCBlZGl0b3IgY29weXJpZ2h0cywgdGhlc2UgYXJlIHRvIGJlIHdyaXR0ZW4gaW4gdGhlIG9yZGVyIG9mIHBob3RvZ3JhcGhlciBmb2xsb3dlZCBieSBlZGl0b3IgY29weXJpZ2h0LCBzZXBhcmF0ZWQgYnkgTlVMTCAoaW4gdGhpcyBjYXNlLCBzaW5jZSB0aGUgc3RhdGVtZW50IGFsc28gZW5kcyB3aXRoIGEgTlVMTCwgdGhlcmUgYXJlIHR3byBOVUxMIGNvZGVzKSAoc2VlIGV4YW1wbGUgMSkuIFdoZW4gb25seSB0aGUgcGhvdG9ncmFwaGVyIGlzIGdpdmVuLCBpdCBpcyB0ZXJtaW5hdGVkIGJ5IG9uZSBOVUxMIGNvZGUgKHNlZSBleGFtcGxlIDIpLiBXaGVuIG9ubHkgdGhlIGVkaXRvciBjb3B5cmlnaHQgaXMgZ2l2ZW4sIHRoZSBwaG90b2dyYXBoZXIgY29weXJpZ2h0IHBhcnQgY29uc2lzdHMgb2Ygb25lIHNwYWNlIGZvbGxvd2VkIGJ5IGEgdGVybWluYXRpbmcgTlVMTCBjb2RlLCB0aGVuIHRoZSBlZGl0b3IgY29weXJpZ2h0IGlzIGdpdmVuIChzZWUgZXhhbXBsZSAzKS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBDb3JydXB0IGRhdGEAQ29zaW5hIDEwMG1tIGYvMy41IE1hY3JvIEFGAENyAENyZWF0aXZlAENyZWF0aXZlIHByb2dyYW0gKGJpYXNlZCB0b3dhcmQgZGVwdGggb2YgZmllbGQpAENyZWF0aXZlIHByb2dyYW0gKGJpYXNlZCB0b3dhcmQgZmFzdCBzaHV0dGVyIHNwZWVkKQBDdXN0b20AQ3VzdG9tIDEAQ3VzdG9tIDIAQ3VzdG9tIEZ1bmN0aW9ucwBDdXN0b20gUmVuZGVyZWQAQ3VzdG9tIHByb2Nlc3MARDU1AEQ2NQBENzUARFNDAERhcmsgcGV0AERhdGEgRHVtcABEYXRlAERhdGUgYW5kIFRpbWUARGF0ZSBhbmQgVGltZSAoRGlnaXRpemVkKQBEYXRlIGFuZCBUaW1lIChPcmlnaW5hbCkARGF5IHdoaXRlIGZsdW9yZXNjZW50AERheWxpZ2h0AERheWxpZ2h0IFNhdmluZ3MARGF5bGlnaHQgZmx1b3Jlc2NlbnQARGVidWdnaW5nIGluZm9ybWF0aW9uAERlYnVnZ2luZyBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuAERlZmF1bHQARGVmaW5lZCBieSBBZG9iZSBDb3Jwb3JhdGlvbiB0byBlbmFibGUgVElGRiBUcmVlcyB3aXRoaW4gYSBUSUZGIGZpbGUuAERlZmxhdGUvWklQIGNvbXByZXNzaW9uAERlc3RpbmF0aW9uIENpdHkARGVzdGluYXRpb24gQ2l0eSBDb2RlAERlc3RpbmF0aW9uIERTVABEZXN0aW5hdGlvbiBEYXlsaWdodCBTYXZpbmdzIFRpbWUARGV2ZWxvcG1lbnQgRHluYW1pYyBSYW5nZSBXaWRlIE1vZGUARGV2aWNlIFNldHRpbmcgRGVzY3JpcHRpb24ARGlnaXRhbCBab29tAERpZ2l0YWwgWm9vbSBSYXRpbwBEaWdpdGFsIGZpbHRlcgBEaWdpdGFsIGZpbHRlcj8ARGlnaXRhbCBtYWNybwBEaXJlY3Rpb24gb2YgTW92ZW1lbnQARGlyZWN0bHkgcGhvdG9ncmFwaGVkAERpc3BsYXkgQXBlcnR1cmUARGlzdGFuY2Ugb2YgcGhvdG9ncmFwaGVkIG9iamVjdCBpbiBtaWxsaW1ldGVycy4ARGlzdGFuY2UgdG8gRGVzdGluYXRpb24ARGlzdGFudABEaXN0YW50IHZpZXcARG8gbm90IGNoYW5nZSBtYWtlciBub3RlAERvY3VtZW50IE5hbWUARG91YmxlAERyaXZlIE1vZGUARHluYW1pYyBSYW5nZQBEeW5hbWljIFJhbmdlIFdpZGUgTW9kZQBFLVRUTABFT1MgaGlnaC1lbmQARU9TIG1pZC1yYW5nZQBFWElGIGhlYWRlciBub3QgZm91bmQuAEVYSUYgbWFya2VyIG5vdCBmb3VuZC4ARWFzdCBvciBXZXN0IExvbmdpdHVkZQBFYXN5IFNob290aW5nIE1vZGUARWFzeSBzaG9vdGluZwBFY29ub215AEVuY29kZXMgdGltZSB6b25lIG9mIGNhbWVyYSBjbG9jayByZWxhdGl2ZSB0byBHTVQuAEVuaGFuY2VtZW50AEVwc29uIEltYWdlIEhlaWdodABFcHNvbiBJbWFnZSBXaWR0aABFcHNvbiBTb2Z0d2FyZSBWZXJzaW9uAEV2YWx1YXRpdmUARXhpZiBWZXJzaW9uAEV4aWYgVmVyc2lvbiAlZC4lZABFeHBvc3VyZSBCaWFzAEV4cG9zdXJlIEJyYWNrZXQgVmFsdWUARXhwb3N1cmUgQ29tcGVuc2F0aW9uAEV4cG9zdXJlIEluZGV4AEV4cG9zdXJlIE1vZGUARXhwb3N1cmUgUHJvZ3JhbQBFeHBvc3VyZSBUaW1lAEV4cG9zdXJlIGNvbXBlbnNhdGlvbgBFeHBvc3VyZSB0aW1lLCBnaXZlbiBpbiBzZWNvbmRzIChzZWMpLgBFeHBvc3VyZWRpZmYgPwBFeHRlcm5hbABFeHRlcm5hbCAxAEV4dGVybmFsIDIARXh0ZXJuYWwgMwBFeHRlcm5hbCBGbGFzaCBCb3VuY2UARXh0ZXJuYWwgRmxhc2ggRyBWYWx1ZQBFeHRlcm5hbCBGbGFzaCBNb2RlAEV4dGVybmFsIEZsYXNoIFpvb20ARXh0ZXJuYWwgZmxhc2gARi1CJlcARi1DaHJvbWUARi1OdW1iZXIARi1TdGFuZGFyZABGMC9TdGFuZGFyZABGMS9TdHVkaW8gcG9ydHJhaXQARjFhL1Byb2Zlc3Npb25hbCBwb3J0cmFpdABGMWIvUHJvZmVzc2lvbmFsIHBvcnRyYWl0AEYxYy9Qcm9mZXNzaW9uYWwgcG9ydHJhaXQARjIvRnVqaWNocm9tZQBGMy9TdHVkaW8gcG9ydHJhaXQgRXgARjQvVmVsdmlhAEZOdW1iZXIARlAgc3luYyBlbmFibGVkAEZQIHN5bmMgdXNlZABGYWl0aGZ1bABGYXIgcmFuZ2UARmFzdABGYXN0IHNodXR0ZXIARmlsZSBTb3VyY2UARmlsbABGaWxsIE9yZGVyAEZpbG0gU2ltdWxhdGlvbiBNb2RlAEZpbG0gc2ltdWxhdGlvbiBtb2RlAEZpbmUARmluZSB3ZWF0aGVyAEZpbmUsIEhRAEZpbmUsIFJBVwBGaW5lLCBTSFEARmluZSwgU1EARmluZSwgU1ExAEZpbmUsIFNRMgBGaW5lLCBzdXBlciBoaWdoAEZpbmVQaXggQ29sb3IARmluZXIARmlyZXdvcmtzAEZpcm13YXJlIFZlcnNpb24ARmlzaGV5ZSBvbgBGaXhlZABGaXhlZCBjZW50ZXIARmxhc2gARmxhc2ggQWN0aXZpdHkARmxhc2ggQ2hhcmdlIExldmVsAEZsYXNoIERldGFpbHMARmxhc2ggRGV2aWNlAEZsYXNoIERpc3RhbmNlAEZsYXNoIEVuZXJneQBGbGFzaCBFeHBvc3VyZSBCcmFja2V0IFZhbHVlAEZsYXNoIEV4cG9zdXJlIENvbXAARmxhc2ggRXhwb3N1cmUgQ29tcGVuc2F0aW9uAEZsYXNoIEZpcmluZyBTdHJlbmd0aCBDb21wZW5zYXRpb24ARmxhc2ggR3VpZGUgTnVtYmVyAEZsYXNoIEluZm8ARmxhc2ggTW9kZQBGbGFzaCBTZXR0aW5nAEZsYXNoIFVzZWQARmxhc2ggZGlkIG5vdCBmaXJlAEZsYXNoIGRpZCBub3QgZmlyZSwgYXV0byBtb2RlAEZsYXNoIGRpZCBub3QgZmlyZSwgYXV0byBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlAEZsYXNoIGRpZCBub3QgZmlyZSwgY29tcHVsc29yeSBmbGFzaCBtb2RlAEZsYXNoIGZpcmVkAEZsYXNoIGZpcmVkLCBhdXRvIG1vZGUARmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZQBGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlAEZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZQBGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUARmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUARmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZABGbGFzaCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZABGbGFzaCBpcyBleHRlcm5hbABGbGFzaCBpcyBvbiBjYW1lcmEARmxhc2ggb2ZmAEZsYXNoIG9uAEZsYXNoIHVuaXQgdW5rbm93bgBGbGFzaFBpeCBWZXJzaW9uIDEuMABGbGFzaFBpeCBWZXJzaW9uIDEuMDEARmxpY2tlciBSZWR1Y2UARmxvYXQARmxvd2VyAEZsdW9yZXNjZW5jZQBGbHVvcmVzY2VudABGb2NhbCBMZW5ndGgARm9jYWwgTGVuZ3RoIGluIDM1bW0gRmlsbQBGb2NhbCBQbGFuZSBEaWFnb25hbABGb2NhbCBQbGFuZSBSZXNvbHV0aW9uIFVuaXQARm9jYWwgUGxhbmUgWCBTaXplAEZvY2FsIFBsYW5lIFgtUmVzb2x1dGlvbgBGb2NhbCBQbGFuZSBZIFNpemUARm9jYWwgUGxhbmUgWS1SZXNvbHV0aW9uAEZvY2FsIFR5cGUARm9jYWwgVW5pdHMgcGVyIG1tAEZvY3VzAEZvY3VzIERpc3RhbmNlIExvd2VyAEZvY3VzIERpc3RhbmNlIFVwcGVyAEZvY3VzIE1vZGUARm9jdXMgUG9pbnQARm9jdXMgUG9zaXRpb24ARm9jdXMgUmFuZ2UARm9jdXMgU3RlcCBDb3VudABGb2N1cyBnb29kAEZvY3VzaW5nIE1vZGUARm9saWFnZQBGb2xsb3cgc3BlY2lmaWNhdGlvbgBGb29kAEZvciBlYWNoIHN0cmlwLCB0aGUgYnl0ZSBvZmZzZXQgb2YgdGhhdCBzdHJpcC4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGlzIGJlIHNlbGVjdGVkIHNvIHRoZSBudW1iZXIgb2Ygc3RyaXAgYnl0ZXMgZG9lcyBub3QgZXhjZWVkIDY0IEtieXRlcy4gV2l0aCBKUEVHIGNvbXByZXNzZWQgZGF0YSB0aGlzIGRlc2lnbmF0aW9uIGlzIG5vdCBuZWVkZWQgYW5kIGlzIG9taXR0ZWQuIFNlZSBhbHNvIDxSb3dzUGVyU3RyaXA+IGFuZCA8U3RyaXBCeXRlQ291bnRzPi4ARnJhbWUgTnVtYmVyAEZyYW1lIGNvbXBvc2l0ZQBGdWxsAEZ1bGwgYXV0bwBHAEdQUyBEYXRlAEdQUyBEaWZmZXJlbnRpYWwgQ29ycmVjdGlvbgBHUFMgSW1hZ2UgRGlyZWN0aW9uAEdQUyBJbWFnZSBEaXJlY3Rpb24gUmVmZXJlbmNlAEdQUyBJbmZvIElGRCBQb2ludGVyAEdQUyBNZWFzdXJlbWVudCBNb2RlAEdQUyBSZWNlaXZlciBTdGF0dXMAR1BTIFNhdGVsbGl0ZXMAR1BTIFRhZyBWZXJzaW9uAEdQUyBUaW1lIChBdG9taWMgQ2xvY2spAEdhaW4gQ29udHJvbABHYW1tYQBHZW9kZXRpYyBTdXJ2ZXkgRGF0YSBVc2VkAEdvb2QAR3JheXNjYWxlAEdyZWVuIG1vZGUASGFyZABIYXJkZXN0AEhpZ2gASGlnaCBnYWluIGRvd24ASGlnaCBnYWluIHVwAEhpZ2ggc2F0dXJhdGlvbgBIaWdoZXN0AEhvbWUgRGF5bGlnaHQgU2F2aW5ncyBUaW1lAEhvbWV0b3duIENpdHkASG9tZXRvd24gQ2l0eSBDb2RlAEhvbWV0b3duIERTVABIdWUgQWRqdXN0bWVudABJU08ASVNPIDEwMABJU08gMTYwAElTTyAyMDAASVNPIDMyMABJU08gMzIwMABJU08gNDAwAElTTyA1MABJU08gODAASVNPIE51bWJlcgBJU08gU2VsZWN0aW9uAElTTyBTZXR0aW5nAElTTyBTcGVlZABJU08gU3BlZWQgUmF0aW5ncwBJU08gVmFsdWUASVNPIHN0dWRpbyB0dW5nc3RlbgBJZ25vcmUgdW5rbm93biB0YWdzAElnbm9yZSB1bmtub3duIHRhZ3Mgd2hlbiBsb2FkaW5nIEVYSUYgZGF0YS4ASWxsdXN0cmF0aW9ucwBJbWFnZSBBZGp1c3RtZW50AEltYWdlIEFyZWEgT2Zmc2V0AEltYWdlIEJvdW5kYXJ5AEltYWdlIERhdGEgU2l6ZQBJbWFnZSBEZXNjcmlwdGlvbgBJbWFnZSBMZW5ndGgASW1hZ2UgTnVtYmVyAEltYWdlIFByb2Nlc3NpbmcASW1hZ2UgUmVzb3VyY2VzIEJsb2NrAEltYWdlIFNoYXJwZW5pbmcASW1hZ2UgU2l6ZQBJbWFnZSBTdGFiaWxpemF0aW9uAEltYWdlIFRvbmUASW1hZ2UgVHlwZQBJbWFnZSBVbmlxdWUgSUQASW1hZ2UgV2lkdGgASW5jYW5kZXNjZW5jZQBJbmNhbmRlc2NlbnQASW5jaABJbmRpY2F0ZXMgdGhlIEdQUyBET1AgKGRhdGEgZGVncmVlIG9mIHByZWNpc2lvbikuIEFuIEhET1AgdmFsdWUgaXMgd3JpdHRlbiBkdXJpbmcgdHdvLWRpbWVuc2lvbmFsIG1lYXN1cmVtZW50LCBhbmQgUERPUCBkdXJpbmcgdGhyZWUtZGltZW5zaW9uYWwgbWVhc3VyZW1lbnQuAEluZGljYXRlcyB0aGUgR1BTIG1lYXN1cmVtZW50IG1vZGUuICcyJyBtZWFucyB0d28tZGltZW5zaW9uYWwgbWVhc3VyZW1lbnQgYW5kICczJyBtZWFucyB0aHJlZS1kaW1lbnNpb25hbCBtZWFzdXJlbWVudCBpcyBpbiBwcm9ncmVzcy4ASW5kaWNhdGVzIHRoZSBHUFMgc2F0ZWxsaXRlcyB1c2VkIGZvciBtZWFzdXJlbWVudHMuIFRoaXMgdGFnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJlIHRoZSBudW1iZXIgb2Ygc2F0ZWxsaXRlcywgdGhlaXIgSUQgbnVtYmVyLCBhbmdsZSBvZiBlbGV2YXRpb24sIGF6aW11dGgsIFNOUiBhbmQgb3RoZXIgaW5mb3JtYXRpb24gaW4gQVNDSUkgbm90YXRpb24uIFRoZSBmb3JtYXQgaXMgbm90IHNwZWNpZmllZC4gSWYgdGhlIEdQUyByZWNlaXZlciBpcyBpbmNhcGFibGUgb2YgdGFraW5nIG1lYXN1cmVtZW50cywgdmFsdWUgb2YgdGhlIHRhZyBzaGFsbCBiZSBzZXQgdG8gTlVMTC4ASW5kaWNhdGVzIHRoZSBJU08gU3BlZWQgYW5kIElTTyBMYXRpdHVkZSBvZiB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZSBhcyBzcGVjaWZpZWQgaW4gSVNPIDEyMjMyLgBJbmRpY2F0ZXMgdGhlIE9wdG8tRWxlY3Ryb25pYyBDb252ZXJzaW9uIEZ1bmN0aW9uIChPRUNGKSBzcGVjaWZpZWQgaW4gSVNPIDE0NTI0LiA8T0VDRj4gaXMgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBjYW1lcmEgb3B0aWNhbCBpbnB1dCBhbmQgdGhlIGltYWdlIHZhbHVlcy4ASW5kaWNhdGVzIHRoZSBhbHRpdHVkZSBiYXNlZCBvbiB0aGUgcmVmZXJlbmNlIGluIEdQU0FsdGl0dWRlUmVmLiBBbHRpdHVkZSBpcyBleHByZXNzZWQgYXMgb25lIFJBVElPTkFMIHZhbHVlLiBUaGUgcmVmZXJlbmNlIHVuaXQgaXMgbWV0ZXJzLgBJbmRpY2F0ZXMgdGhlIGFsdGl0dWRlIHVzZWQgYXMgdGhlIHJlZmVyZW5jZSBhbHRpdHVkZS4gSWYgdGhlIHJlZmVyZW5jZSBpcyBzZWEgbGV2ZWwgYW5kIHRoZSBhbHRpdHVkZSBpcyBhYm92ZSBzZWEgbGV2ZWwsIDAgaXMgZ2l2ZW4uIElmIHRoZSBhbHRpdHVkZSBpcyBiZWxvdyBzZWEgbGV2ZWwsIGEgdmFsdWUgb2YgMSBpcyBnaXZlbiBhbmQgdGhlIGFsdGl0dWRlIGlzIGluZGljYXRlZCBhcyBhbiBhYnNvbHV0ZSB2YWx1ZSBpbiB0aGUgR1NQQWx0aXR1ZGUgdGFnLiBUaGUgcmVmZXJlbmNlIHVuaXQgaXMgbWV0ZXJzLiBOb3RlIHRoYXQgdGhpcyB0YWcgaXMgQllURSB0eXBlLCB1bmxpa2Ugb3RoZXIgcmVmZXJlbmNlIHRhZ3MuAEluZGljYXRlcyB0aGUgYmVhcmluZyB0byB0aGUgZGVzdGluYXRpb24gcG9pbnQuIFRoZSByYW5nZSBvZiB2YWx1ZXMgaXMgZnJvbSAwLjAwIHRvIDM1OS45OS4ASW5kaWNhdGVzIHRoZSBjb2xvciBmaWx0ZXIgYXJyYXkgKENGQSkgZ2VvbWV0cmljIHBhdHRlcm4gb2YgdGhlIGltYWdlIHNlbnNvciB3aGVuIGEgb25lLWNoaXAgY29sb3IgYXJlYSBzZW5zb3IgaXMgdXNlZC4gSXQgZG9lcyBub3QgYXBwbHkgdG8gYWxsIHNlbnNpbmcgbWV0aG9kcy4ASW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2YgR1BTIHJlY2VpdmVyIG1vdmVtZW50LiBUaGUgcmFuZ2Ugb2YgdmFsdWVzIGlzIGZyb20gMC4wMCB0byAzNTkuOTkuAEluZGljYXRlcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBpbWFnZSB3aGVuIGl0IHdhcyBjYXB0dXJlZC4gVGhlIHJhbmdlIG9mIHZhbHVlcyBpcyBmcm9tIDAuMDAgdG8gMzU5Ljk5LgBJbmRpY2F0ZXMgdGhlIGRpc3RhbmNlIHRvIHRoZSBkZXN0aW5hdGlvbiBwb2ludC4ASW5kaWNhdGVzIHRoZSBleHBvc3VyZSBpbmRleCBzZWxlY3RlZCBvbiB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZSBhdCB0aGUgdGltZSB0aGUgaW1hZ2UgaXMgY2FwdHVyZWQuAEluZGljYXRlcyB0aGUgZ2VvZGV0aWMgc3VydmV5IGRhdGEgdXNlZCBieSB0aGUgR1BTIHJlY2VpdmVyLiBJZiB0aGUgc3VydmV5IGRhdGEgaXMgcmVzdHJpY3RlZCB0byBKYXBhbiwgdGhlIHZhbHVlIG9mIHRoaXMgdGFnIGlzICdUT0tZTycgb3IgJ1dHUy04NCcuIElmIGEgR1BTIEluZm8gdGFnIGlzIHJlY29yZGVkLCBpdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0aGF0IHRoaXMgdGFnIGJlIHJlY29yZGVkLgBJbmRpY2F0ZXMgdGhlIGlkZW50aWZpY2F0aW9uIG9mIHRoZSBJbnRlcm9wZXJhYmlsaXR5IHJ1bGUuIFVzZSAiUjk4IiBmb3Igc3RhdGluZyBFeGlmUjk4IFJ1bGVzLiBGb3VyIGJ5dGVzIHVzZWQgaW5jbHVkaW5nIHRoZSB0ZXJtaW5hdGlvbiBjb2RlIChOVUxMKS4gc2VlIHRoZSBzZXBhcmF0ZSB2b2x1bWUgb2YgUmVjb21tZW5kZWQgRXhpZiBJbnRlcm9wZXJhYmlsaXR5IFJ1bGVzIChFeGlmUjk4KSBmb3Igb3RoZXIgdGFncyB1c2VkIGZvciBFeGlmUjk4LgBJbmRpY2F0ZXMgdGhlIGltYWdlIHNlbnNvciB0eXBlIG9uIHRoZSBjYW1lcmEgb3IgaW5wdXQgZGV2aWNlLgBJbmRpY2F0ZXMgdGhlIGltYWdlIHNvdXJjZS4gSWYgYSBEU0MgcmVjb3JkZWQgdGhlIGltYWdlLCB0aGUgdGFnIHZhbHVlIG9mIHRoaXMgdGFnIGFsd2F5cyBiZSBzZXQgdG8gMywgaW5kaWNhdGluZyB0aGF0IHRoZSBpbWFnZSB3YXMgcmVjb3JkZWQgb24gYSBEU0MuAEluZGljYXRlcyB0aGUgbGF0aXR1ZGUgb2YgdGhlIGRlc3RpbmF0aW9uIHBvaW50LiBUaGUgbGF0aXR1ZGUgaXMgZXhwcmVzc2VkIGFzIHRocmVlIFJBVElPTkFMIHZhbHVlcyBnaXZpbmcgdGhlIGRlZ3JlZXMsIG1pbnV0ZXMsIGFuZCBzZWNvbmRzLCByZXNwZWN0aXZlbHkuIElmIGxhdGl0dWRlIGlzIGV4cHJlc3NlZCBhcyBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzLCBhIHR5cGljYWwgZm9ybWF0IHdvdWxkIGJlIGRkLzEsbW0vMSxzcy8xLiBXaGVuIGRlZ3JlZXMgYW5kIG1pbnV0ZXMgYXJlIHVzZWQgYW5kLCBmb3IgZXhhbXBsZSwgZnJhY3Rpb25zIG9mIG1pbnV0ZXMgYXJlIGdpdmVuIHVwIHRvIHR3byBkZWNpbWFsIHBsYWNlcywgdGhlIGZvcm1hdCB3b3VsZCBiZSBkZC8xLG1tbW0vMTAwLDAvMS4ASW5kaWNhdGVzIHRoZSBsYXRpdHVkZS4gVGhlIGxhdGl0dWRlIGlzIGV4cHJlc3NlZCBhcyB0aHJlZSBSQVRJT05BTCB2YWx1ZXMgZ2l2aW5nIHRoZSBkZWdyZWVzLCBtaW51dGVzLCBhbmQgc2Vjb25kcywgcmVzcGVjdGl2ZWx5LiBXaGVuIGRlZ3JlZXMsIG1pbnV0ZXMgYW5kIHNlY29uZHMgYXJlIGV4cHJlc3NlZCwgdGhlIGZvcm1hdCBpcyBkZC8xLG1tLzEsc3MvMS4gV2hlbiBkZWdyZWVzIGFuZCBtaW51dGVzIGFyZSB1c2VkIGFuZCwgZm9yIGV4YW1wbGUsIGZyYWN0aW9ucyBvZiBtaW51dGVzIGFyZSBnaXZlbiB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMsIHRoZSBmb3JtYXQgaXMgZGQvMSxtbW1tLzEwMCwwLzEuAEluZGljYXRlcyB0aGUgbG9jYXRpb24gb2YgdGhlIG1haW4gc3ViamVjdCBpbiB0aGUgc2NlbmUuIFRoZSB2YWx1ZSBvZiB0aGlzIHRhZyByZXByZXNlbnRzIHRoZSBwaXhlbCBhdCB0aGUgY2VudGVyIG9mIHRoZSBtYWluIHN1YmplY3QgcmVsYXRpdmUgdG8gdGhlIGxlZnQgZWRnZSwgcHJpb3IgdG8gcm90YXRpb24gcHJvY2Vzc2luZyBhcyBwZXIgdGhlIDxSb3RhdGlvbj4gdGFnLiBUaGUgZmlyc3QgdmFsdWUgaW5kaWNhdGVzIHRoZSBYIGNvbHVtbiBudW1iZXIgYW5kIHRoZSBzZWNvbmQgaW5kaWNhdGVzIHRoZSBZIHJvdyBudW1iZXIuAEluZGljYXRlcyB0aGUgbG9uZ2l0dWRlIG9mIHRoZSBkZXN0aW5hdGlvbiBwb2ludC4gVGhlIGxvbmdpdHVkZSBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgZGVncmVlcywgbWludXRlcywgYW5kIHNlY29uZHMsIHJlc3BlY3RpdmVseS4gSWYgbG9uZ2l0dWRlIGlzIGV4cHJlc3NlZCBhcyBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzLCBhIHR5cGljYWwgZm9ybWF0IHdvdWxkIGJlIGRkZC8xLG1tLzEsc3MvMS4gV2hlbiBkZWdyZWVzIGFuZCBtaW51dGVzIGFyZSB1c2VkIGFuZCwgZm9yIGV4YW1wbGUsIGZyYWN0aW9ucyBvZiBtaW51dGVzIGFyZSBnaXZlbiB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMsIHRoZSBmb3JtYXQgd291bGQgYmUgZGRkLzEsbW1tbS8xMDAsMC8xLgBJbmRpY2F0ZXMgdGhlIGxvbmdpdHVkZS4gVGhlIGxvbmdpdHVkZSBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgZGVncmVlcywgbWludXRlcywgYW5kIHNlY29uZHMsIHJlc3BlY3RpdmVseS4gV2hlbiBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzIGFyZSBleHByZXNzZWQsIHRoZSBmb3JtYXQgaXMgZGRkLzEsbW0vMSxzcy8xLiBXaGVuIGRlZ3JlZXMgYW5kIG1pbnV0ZXMgYXJlIHVzZWQgYW5kLCBmb3IgZXhhbXBsZSwgZnJhY3Rpb25zIG9mIG1pbnV0ZXMgYXJlIGdpdmVuIHVwIHRvIHR3byBkZWNpbWFsIHBsYWNlcywgdGhlIGZvcm1hdCBpcyBkZGQvMSxtbW1tLzEwMCwwLzEuAEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHBpeGVscyBpbiB0aGUgaW1hZ2UgaGVpZ2h0IChWKSBkaXJlY3Rpb24gcGVyIDxGb2NhbFBsYW5lUmVzb2x1dGlvblVuaXQ+IG9uIHRoZSBjYW1lcmEgZm9jYWwgcGxhbmUuAEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHBpeGVscyBpbiB0aGUgaW1hZ2Ugd2lkdGggKFgpIGRpcmVjdGlvbiBwZXIgPEZvY2FsUGxhbmVSZXNvbHV0aW9uVW5pdD4gb24gdGhlIGNhbWVyYSBmb2NhbCBwbGFuZS4ASW5kaWNhdGVzIHRoZSByZWZlcmVuY2UgZm9yIGdpdmluZyB0aGUgZGlyZWN0aW9uIG9mIEdQUyByZWNlaXZlciBtb3ZlbWVudC4gJ1QnIGRlbm90ZXMgdHJ1ZSBkaXJlY3Rpb24gYW5kICdNJyBpcyBtYWduZXRpYyBkaXJlY3Rpb24uAEluZGljYXRlcyB0aGUgcmVmZXJlbmNlIGZvciBnaXZpbmcgdGhlIGRpcmVjdGlvbiBvZiB0aGUgaW1hZ2Ugd2hlbiBpdCBpcyBjYXB0dXJlZC4gJ1QnIGRlbm90ZXMgdHJ1ZSBkaXJlY3Rpb24gYW5kICdNJyBpcyBtYWduZXRpYyBkaXJlY3Rpb24uAEluZGljYXRlcyB0aGUgcmVmZXJlbmNlIHVzZWQgZm9yIGdpdmluZyB0aGUgYmVhcmluZyB0byB0aGUgZGVzdGluYXRpb24gcG9pbnQuICdUJyBkZW5vdGVzIHRydWUgZGlyZWN0aW9uIGFuZCAnTScgaXMgbWFnbmV0aWMgZGlyZWN0aW9uLgBJbmRpY2F0ZXMgdGhlIHNwZWN0cmFsIHNlbnNpdGl2aXR5IG9mIGVhY2ggY2hhbm5lbCBvZiB0aGUgY2FtZXJhIHVzZWQuIFRoZSB0YWcgdmFsdWUgaXMgYW4gQVNDSUkgc3RyaW5nIGNvbXBhdGlibGUgd2l0aCB0aGUgc3RhbmRhcmQgZGV2ZWxvcGVkIGJ5IHRoZSBBU1RNIFRlY2huaWNhbCBDb21taXR0ZWUuAEluZGljYXRlcyB0aGUgc3BlZWQgb2YgR1BTIHJlY2VpdmVyIG1vdmVtZW50LgBJbmRpY2F0ZXMgdGhlIHN0YXR1cyBvZiB0aGUgR1BTIHJlY2VpdmVyIHdoZW4gdGhlIGltYWdlIGlzIHJlY29yZGVkLiAnQScgbWVhbnMgbWVhc3VyZW1lbnQgaXMgaW4gcHJvZ3Jlc3MsIGFuZCAnVicgbWVhbnMgdGhlIG1lYXN1cmVtZW50IGlzIEludGVyb3BlcmFiaWxpdHkuAEluZGljYXRlcyB0aGUgc3Ryb2JlIGVuZXJneSBhdCB0aGUgdGltZSB0aGUgaW1hZ2UgaXMgY2FwdHVyZWQsIGFzIG1lYXN1cmVkIGluIEJlYW0gQ2FuZGxlIFBvd2VyIFNlY29uZHMgKEJDUFMpLgBJbmRpY2F0ZXMgdGhlIHRpbWUgYXMgVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkuIFRpbWVTdGFtcCBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgaG91ciwgbWludXRlLCBhbmQgc2Vjb25kLgBJbmRpY2F0ZXMgdGhlIHR5cGUgb2Ygc2NlbmUuIElmIGEgRFNDIHJlY29yZGVkIHRoZSBpbWFnZSwgdGhpcyB0YWcgdmFsdWUgbXVzdCBhbHdheXMgYmUgc2V0IHRvIDEsIGluZGljYXRpbmcgdGhhdCB0aGUgaW1hZ2Ugd2FzIGRpcmVjdGx5IHBob3RvZ3JhcGhlZC4ASW5kaWNhdGVzIHRoZSB1bml0IGZvciBtZWFzdXJpbmcgPEZvY2FsUGxhbmVYUmVzb2x1dGlvbj4gYW5kIDxGb2NhbFBsYW5lWVJlc29sdXRpb24+LiBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGFzIHRoZSA8UmVzb2x1dGlvblVuaXQ+LgBJbmRpY2F0ZXMgdGhlIHVuaXQgdXNlZCB0byBleHByZXNzIHRoZSBHUFMgcmVjZWl2ZXIgc3BlZWQgb2YgbW92ZW1lbnQuICdLJywgJ00nIGFuZCAnTicgcmVwcmVzZW50IGtpbG9tZXRlcnMgcGVyIGhvdXIsIG1pbGVzIHBlciBob3VyLCBhbmQga25vdHMuAEluZGljYXRlcyB0aGUgdmFsdWUgb2YgY29lZmZpY2llbnQgZ2FtbWEuAEluZGljYXRlcyB0aGUgdmVyc2lvbiBvZiA8R1BTSW5mb0lGRD4uIFRoZSB2ZXJzaW9uIGlzIGdpdmVuIGFzIDIuMC4wLjAuIFRoaXMgdGFnIGlzIG1hbmRhdG9yeSB3aGVuIDxHUFNJbmZvPiB0YWcgaXMgcHJlc2VudC4gKE5vdGU6IFRoZSA8R1BTVmVyc2lvbklEPiB0YWcgaXMgZ2l2ZW4gaW4gYnl0ZXMsIHVubGlrZSB0aGUgPEV4aWZWZXJzaW9uPiB0YWcuIFdoZW4gdGhlIHZlcnNpb24gaXMgMi4wLjAuMCwgdGhlIHRhZyB2YWx1ZSBpcyAwMjAwMDAwMC5IKS4ASW5kaWNhdGVzIHdoZXRoZXIgZGlmZmVyZW50aWFsIGNvcnJlY3Rpb24gaXMgYXBwbGllZCB0byB0aGUgR1BTIHJlY2VpdmVyLgBJbmRpY2F0ZXMgd2hldGhlciBwaXhlbCBjb21wb25lbnRzIGFyZSByZWNvcmRlZCBpbiBhIGNodW5reSBvciBwbGFuYXIgZm9ybWF0LiBJbiBKUEVHIGNvbXByZXNzZWQgZmlsZXMgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuIElmIHRoaXMgZmllbGQgZG9lcyBub3QgZXhpc3QsIHRoZSBUSUZGIGRlZmF1bHQgb2YgMSAoY2h1bmt5KSBpcyBhc3N1bWVkLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbGF0aXR1ZGUgaXMgbm9ydGggb3Igc291dGggbGF0aXR1ZGUuIFRoZSBBU0NJSSB2YWx1ZSAnTicgaW5kaWNhdGVzIG5vcnRoIGxhdGl0dWRlLCBhbmQgJ1MnIGlzIHNvdXRoIGxhdGl0dWRlLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbGF0aXR1ZGUgb2YgdGhlIGRlc3RpbmF0aW9uIHBvaW50IGlzIG5vcnRoIG9yIHNvdXRoIGxhdGl0dWRlLiBUaGUgQVNDSUkgdmFsdWUgJ04nIGluZGljYXRlcyBub3J0aCBsYXRpdHVkZSwgYW5kICdTJyBpcyBzb3V0aCBsYXRpdHVkZS4ASW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxvbmdpdHVkZSBpcyBlYXN0IG9yIHdlc3QgbG9uZ2l0dWRlLiBBU0NJSSAnRScgaW5kaWNhdGVzIGVhc3QgbG9uZ2l0dWRlLCBhbmQgJ1cnIGlzIHdlc3QgbG9uZ2l0dWRlLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbG9uZ2l0dWRlIG9mIHRoZSBkZXN0aW5hdGlvbiBwb2ludCBpcyBlYXN0IG9yIHdlc3QgbG9uZ2l0dWRlLiBBU0NJSSAnRScgaW5kaWNhdGVzIGVhc3QgbG9uZ2l0dWRlLCBhbmQgJ1cnIGlzIHdlc3QgbG9uZ2l0dWRlLgBJbmRvb3IASW5maW5pdGUASW5maW5pdHkASW5maW5pdHkgTGVucyBTdGVwAEluZm8ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBUaGUgY2hhbm5lbHMgb2YgZWFjaCBjb21wb25lbnQgYXJlIGFycmFuZ2VkIGluIG9yZGVyIGZyb20gdGhlIDFzdCBjb21wb25lbnQgdG8gdGhlIDR0aC4gRm9yIHVuY29tcHJlc3NlZCBkYXRhIHRoZSBkYXRhIGFycmFuZ2VtZW50IGlzIGdpdmVuIGluIHRoZSA8UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4gdGFnLiBIb3dldmVyLCBzaW5jZSA8UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4gY2FuIG9ubHkgZXhwcmVzcyB0aGUgb3JkZXIgb2YgWSwgQ2IgYW5kIENyLCB0aGlzIHRhZyBpcyBwcm92aWRlZCBmb3IgY2FzZXMgd2hlbiBjb21wcmVzc2VkIGRhdGEgdXNlcyBjb21wb25lbnRzIG90aGVyIHRoYW4gWSwgQ2IsIGFuZCBDciBhbmQgdG8gZW5hYmxlIHN1cHBvcnQgb2Ygb3RoZXIgc2VxdWVuY2VzLgBJbmZvcm1hdGlvbiBzcGVjaWZpYyB0byBjb21wcmVzc2VkIGRhdGEuIFRoZSBjb21wcmVzc2lvbiBtb2RlIHVzZWQgZm9yIGEgY29tcHJlc3NlZCBpbWFnZSBpcyBpbmRpY2F0ZWQgaW4gdW5pdCBiaXRzIHBlciBwaXhlbC4ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBXaGVuIGEgY29tcHJlc3NlZCBmaWxlIGlzIHJlY29yZGVkLCB0aGUgdmFsaWQgaGVpZ2h0IG9mIHRoZSBtZWFuaW5nZnVsIGltYWdlIG11c3QgYmUgcmVjb3JkZWQgaW4gdGhpcyB0YWcsIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIHBhZGRpbmcgZGF0YSBvciBhIHJlc3RhcnQgbWFya2VyLiBUaGlzIHRhZyBzaG91bGQgbm90IGV4aXN0IGluIGFuIHVuY29tcHJlc3NlZCBmaWxlLiBTaW5jZSBkYXRhIHBhZGRpbmcgaXMgdW5uZWNlc3NhcnkgaW4gdGhlIHZlcnRpY2FsIGRpcmVjdGlvbiwgdGhlIG51bWJlciBvZiBsaW5lcyByZWNvcmRlZCBpbiB0aGlzIHZhbGlkIGltYWdlIGhlaWdodCB0YWcgd2lsbCBpbiBmYWN0IGJlIHRoZSBzYW1lIGFzIHRoYXQgcmVjb3JkZWQgaW4gdGhlIFNPRi4ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBXaGVuIGEgY29tcHJlc3NlZCBmaWxlIGlzIHJlY29yZGVkLCB0aGUgdmFsaWQgd2lkdGggb2YgdGhlIG1lYW5pbmdmdWwgaW1hZ2UgbXVzdCBiZSByZWNvcmRlZCBpbiB0aGlzIHRhZywgd2hldGhlciBvciBub3QgdGhlcmUgaXMgcGFkZGluZyBkYXRhIG9yIGEgcmVzdGFydCBtYXJrZXIuIFRoaXMgdGFnIHNob3VsZCBub3QgZXhpc3QgaW4gYW4gdW5jb21wcmVzc2VkIGZpbGUuAEludGVsAEludGVybGFjZWQASW50ZXJuYWwASW50ZXJuYWwgKyBleHRlcm5hbABJbnRlcm5hbCBGbGFzaCBUYWJsZQBJbnRlcm5hbCBlcnJvciAodW5rbm93biB2YWx1ZSAlaGkpAEludGVybmFsIGVycm9yICh1bmtub3duIHZhbHVlICVpICVpKQBJbnRlcm5hbCBlcnJvciAodW5rbm93biB2YWx1ZSAlaSkASW50ZXJvcGVyYWJpbGl0eSBJRkQgUG9pbnRlcgBJbnRlcm9wZXJhYmlsaXR5IElGRCBpcyBjb21wb3NlZCBvZiB0YWdzIHdoaWNoIHN0b3JlcyB0aGUgaW5mb3JtYXRpb24gdG8gZW5zdXJlIHRoZSBJbnRlcm9wZXJhYmlsaXR5IGFuZCBwb2ludGVkIGJ5IHRoZSBmb2xsb3dpbmcgdGFnIGxvY2F0ZWQgaW4gRXhpZiBJRkQuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IHN0cnVjdHVyZSBvZiBJbnRlcm9wZXJhYmlsaXR5IElGRCBpcyB0aGUgc2FtZSBhcyBUSUZGIGRlZmluZWQgSUZEIHN0cnVjdHVyZSBidXQgZG9lcyBub3QgY29udGFpbiB0aGUgaW1hZ2UgZGF0YSBjaGFyYWN0ZXJpc3RpY2FsbHkgY29tcGFyZWQgd2l0aCBub3JtYWwgVElGRiBJRkQuAEludGVyb3BlcmFiaWxpdHkgSW5kZXgASW50ZXJvcGVyYWJpbGl0eSBWZXJzaW9uAEludmFsaWQgZm9ybWF0ICclcycsIGV4cGVjdGVkICclcycgb3IgJyVzJy4ASW52YWxpZCBmb3JtYXQgJyVzJywgZXhwZWN0ZWQgJyVzJy4ASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpIG9yICVpKS4ASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpKS4ASW52YWxpZCBzaXplIG9mIGVudHJ5ICglaSwgZXhwZWN0ZWQgJWxpIHggJWkpLgBKUEVHAEpQRUcgSW50ZXJjaGFuZ2UgRm9ybWF0AEpQRUcgSW50ZXJjaGFuZ2UgRm9ybWF0IExlbmd0aABKUEVHIGNvbXByZXNzaW9uAEtpZHMgJiBwZXRzAExaVyBjb21wcmVzc2lvbgBMYW1wAExhbmRzY2FwZQBMYW5kc2NhcGUgbW9kZSAoZm9yIGxhbmRzY2FwZSBwaG90b3Mgd2l0aCB0aGUgYmFja2dyb3VuZCBpbiBmb2N1cykATGFyZ2UATGF0aXR1ZGUATGF0aXR1ZGUgb2YgRGVzdGluYXRpb24ATGVmdABMZWZ0IHRvIHJpZ2h0AExlZnQtYm90dG9tAExlZnQtY2VudGVyAExlZnQtcmlnaHQATGVmdC10b3AATGVucwBMZW5zIERpc3RvcnRpb24gUGFyYW1ldGVycwBMZW5zIEYgU3RvcHMATGVucyBJbmZvAExlbnMgVGVtcGVyYXR1cmUATGVucyBUeXBlAExpZ2h0IENvbmRpdGlvbgBMaWdodCBTb3VyY2UATGlnaHQgU291cmNlIFNwZWNpYWwATGlnaHQgVHlwZQBMaWdodCBWYWx1ZSBDZW50ZXIATGlnaHQgVmFsdWUgUGVyaXBoZXJ5AExpZ2h0IHBldABMb25nAExvbmcgRm9jYWwgTGVuZ3RoIG9mIExlbnMATG9uZyBzaHV0dGVyAExvbmdpdHVkZQBMb25naXR1ZGUgb2YgRGVzdGluYXRpb24ATG93AExvdyBnYWluIGRvd24ATG93IGdhaW4gdXAATG93IHNhdHVyYXRpb24ATG93ZXItbGVmdABMb3dlci1yaWdodABMb3dlc3QATS1ERVAATWFjcm8ATWFjcm8gTW9kZQBNYWtlciBOb3RlAE1ha2VyIE5vdGUgVmVyc2lvbgBNYW51YWwATWFudWFsIEFGIHBvaW50IHNlbGVjdGlvbgBNYW51YWwgRmxhc2ggT3V0cHV0AE1hbnVhbCBGb2N1cyBEaXN0YW5jZQBNYW51YWwgZXhwb3N1cmUATWFudWFsIGZvY3VzAE1hbnVhbCB0ZW1wZXJhdHVyZSAoS2VsdmluKQBNYW51YWwgd2hpdGUgYmFsYW5jZQBNYW51YWw6ICVsaUsATWFudWFsOiB1bmtub3duAE1hbnVmYWN0dXJlcgBNYXhpbWFsIEFwZXJ0dXJlAE1heGltdW0gQXBlcnR1cmUgVmFsdWUATWF4aW11bSBBcGVydHVyZSBhdCBNYXhpbXVtIEZvY2FsAE1heGltdW0gQXBlcnR1cmUgYXQgTWluaW11bSBGb2NhbABNYXhpbXVtIEZvY2FsIExlbmd0aABNZWFzdXJlZCBFVgBNZWFzdXJlbWVudCBQcmVjaXNpb24ATWVkaXVtAE1lZGl1bSAxAE1lZGl1bSAyAE1lZGl1bSAzAE1lZGl1bSBoYXJkAE1lZGl1bSBoaWdoAE1lZGl1bSBsb3cATWVkaXVtIHBldABNZWRpdW0gc29mdABNZXRlcmluZyBNb2RlAE1pZC1sZWZ0AE1pZC1yaWdodABNaWRkbGUgcmFuZ2UATWluaW1hbCBBcGVydHVyZQBNaW5pbXVtIEZvY2FsIExlbmd0aABNb2RlbABNb2RlbCBJZGVudGlmaWNhdGlvbgBNb25vY2hyb21lAE1vdG9yb2xhAE1vdmllAE11bHRpIHNwb3QATXVsdGktZXhwb3N1cmUATXVsdGlwbGUATXVzZXVtAE15IGNvbG9yIGRhdGEATXkgY29sb3JzAE4vQQBORCBGaWx0ZXIATlAgJiBmbGFzaABOYW1lIG9mIEdQUyBBcmVhAE5hbWUgb2YgR1BTIFByb2Nlc3NpbmcgTWV0aG9kAE5hdHVyYWwgcGhvdG8ATmF0dXJhbCBza2luIHRvbmUATmVhciBMZW5zIFN0ZXAATmV1dHJhbABOZXcgU3ViZmlsZSBUeXBlAE5pZ2h0AE5pZ2h0IHNjZW5lAE5pZ2h0IHNuYXBzaG90AE5vAE5vIEFFAE5vIGJsdXIATm8gZmlzaGV5ZQBObyBmbGFzaABObyBmbGFzaCBmdW5jdGlvbgBObyBtYW51YWwgZm9jdXMgc2VsZWN0aW9uAE5vaXNlIFJlZHVjdGlvbgBOb25lAE5vbmUgKE1GKQBOb3JtYWwATm9ybWFsIEFFAE5vcm1hbCBmb2N1cwBOb3JtYWwgbW9ubwBOb3JtYWwgcHJvY2VzcwBOb3JtYWwgcHJvZ3JhbQBOb3JtYWwsIEhRAE5vcm1hbCwgUkFXAE5vcm1hbCwgU0hRAE5vcm1hbCwgU1EATm9ybWFsLCBTUTEATm9ybWFsLCBTUTIATm9ybWFsLCBzdGFuZGFyZABOb3JtYWwsIHN1cGVyIGhpZ2gATm9ydGggb3IgU291dGggTGF0aXR1ZGUATm90IGRlZmluZWQATm90IGVub3VnaCBtZW1vcnkATm90IGtub3duAE9iamVjdCBEaXN0YW5jZQBPZmYAT2Zmc2V0IG9mIHRoZSBwcmV2aWV3IGltYWdlIGRpcmVjdG9yeSAoSUZEKSBpbnNpZGUgdGhlIGZpbGUuAE9seW1wdXMgSW1hZ2UgSGVpZ2h0AE9seW1wdXMgSW1hZ2UgV2lkdGgAT24AT24gKFByZXNldCkAT24gKHNob3QgMSkAT24gKHNob3QgMikAT24gKHNob3QgMykAT24sIHJlZC1leWUgcmVkdWN0aW9uAE9uLCBzaG90IG9ubHkAT24sIHNsb3ctc3luYwBPbiwgc2xvdy1zeW5jLCByZWQtZXllIHJlZHVjdGlvbgBPbiwgc29mdABPbiwgdHJhaWxpbmctY3VydGFpbiBzeW5jAE9uLCB3aXJlbGVzcwBPbmUgVG91Y2ggV2hpdGUgQmFsYW5jZQBPbmUtY2hpcCBjb2xvciBhcmVhIHNlbnNvcgBPbmUtc2hvdCBBRgBPbmUtdG91Y2gAT3B0aWNhbCBab29tAE9wdGltaXplIEltYWdlAE9wdG8tRWxlY3Ryb25pYyBDb252ZXJzaW9uIEZ1bmN0aW9uAE9yZGVyIE51bWJlcgBPcmllbnRhdGlvbgBPcmlnaW5hbABPdGhlcgBPdXQgb2YgZm9jdXMAT3ZlciBleHBvc2VkAE93bmVyIE5hbWUAUEMgc2V0IDEAUEMgc2V0IDIAUEMgc2V0IDMAUFJJTlQgSW1hZ2UgTWF0Y2hpbmcAUGFja0JpdHMgY29tcHJlc3Npb24AUGFkZGluZwBQYWxldHRlAFBhbiBmb2N1cwBQYW5vcmFtYQBQYW5vcmFtYSBEaXJlY3Rpb24AUGFub3JhbWEgRnJhbWUAUGFydGlhbABQYXJ0eQBQYXR0ZXJuAFBob3RvIEVmZmVjdABQaG90b21ldHJpYyBJbnRlcnByZXRhdGlvbgBQaWN0dXJlIE1vZGUAUGljdHVyZSBNb2RlICgyKQBQaWN0dXJlIFN0eWxlAFBpeGVsIFggRGltZW5zaW9uAFBpeGVsIFkgRGltZW5zaW9uAFBsYW5hciBDb25maWd1cmF0aW9uAFBsYW5hciBmb3JtYXQAUG9ydHJhaXQAUG9ydHJhaXQgbW9kZSAoZm9yIGNsb3NldXAgcGhvdG9zIHdpdGggdGhlIGJhY2tncm91bmQgb3V0IG9mIGZvY3VzKQBQb3N0Y2FyZABQcmVjYXB0dXJlIEZyYW1lcwBQcmVzZXQAUHJlc3Mgc3RhcnQsIHByZXNzIHN0b3AAUHJldmlldyBJbWFnZSBJRkQAUHJldmlldyBJbWFnZSBWYWxpZABQcmV2aWV3IExlbmd0aABQcmV2aWV3IFNpemUAUHJldmlldyBTdGFydABQcmltYXJ5IENocm9tYXRpY2l0aWVzAFByaW50SU0gU2V0dGluZ3MAUHJvZ3JhbQBQcm9ncmFtIEFFAFByb2dyZXNzaXZlAFF1YWxpdHkAUXVhbGl0eSBMZXZlbABRdWljayBTaG90AFIAUkFXAFJHQgBSYXRpb25hbABSYXcgSW1hZ2UgU2l6ZQBSZWNvcmQgTW9kZQBSZWNvcmQgU2h1dHRlciBSZWxlYXNlAFJlY29yZCB3aGlsZSBkb3duAFJlZCBCYWxhbmNlAFJlZCBDb3JyZWN0aW9uICVmLCBibHVlIENvcnJlY3Rpb24gJWYAUmVkLWV5ZSByZWR1Y3Rpb24AUmVmZXJlbmNlIEJsYWNrL1doaXRlAFJlZmVyZW5jZSBGb3IgTGF0aXR1ZGUgb2YgRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBCZWFyaW5nIG9mIERlc3RpbmF0aW9uAFJlZmVyZW5jZSBmb3IgRGlzdGFuY2UgdG8gRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBMb25naXR1ZGUgb2YgRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBkaXJlY3Rpb24gb2YgbW92ZW1lbnQAUmVsYXRlZCBTb3VuZCBGaWxlAFJlbGF0ZWQgdG8gRXBzb24ncyBQUklOVCBJbWFnZSBNYXRjaGluZyB0ZWNobm9sb2d5AFJlc2F2ZWQAUmVzZXJ2ZWQAUmVzb2x1dGlvbiBVbml0AFJldmVyc2VkIG1vbm8AUmlnaHQAUmlnaHQgdG8gbGVmdABSaWdodC1ib3R0b20AUmlnaHQtdG9wAFJvdGF0ZSAxODAAUm90YXRlIDI3MCBDVwBSb3RhdGUgOTAgQ1cAUm90YXRlZCBieSBzb2Z0d2FyZQBSb3dzIHBlciBTdHJpcABTQnl0ZQBTTG9uZwBTUmF0aW9uYWwAU1Nob3J0AFNYR0EgYmFzaWMAU1hHQSBmaW5lAFNYR0Egbm9ybWFsAFNhbXBsZXMgcGVyIFBpeGVsAFNhdHVyYXRpb24AU2NlbmUgQ2FwdHVyZSBUeXBlAFNjZW5lIERldGVjdABTY2VuZSBTZWxlY3QAU2NlbmUgVHlwZQBTZWEgbGV2ZWwAU2VhIGxldmVsIHJlZmVyZW5jZQBTZWxmIHBvcnRyYWl0AFNlbGYtdGltZXIAU2Vuc2luZyBNZXRob2QAU2Vuc29yIFBpeGVsIFNpemUAU2Vuc29yIFRlbXBlcmF0dXJlAFNlcGlhAFNlcXVlbmNlIE51bWJlcgBTZXF1ZW5jZSBTaG90IEludGVydmFsAFNlcXVlbnRpYWwgU2hvdABTZXJpYWwgTnVtYmVyAFNldCAxAFNldCAyAFNldCAzAFNldHRpbmdzIChGaXJzdCBQYXJ0KQBTZXR0aW5ncyAoU2Vjb25kIFBhcnQpAFNoYWRlAFNoYWtlIFJlZHVjdGlvbiBJbmZvAFNoYXJwbmVzcwBTaGFycG5lc3MgRmFjdG9yAFNoYXJwbmVzcyBGcmVxdWVuY3kAU2hhcnBuZXNzIFNldHRpbmcAU2hvcnQAU2hvcnQgRm9jYWwgTGVuZ3RoIG9mIExlbnMAU2hvdCBJU08AU2h1dHRlcgBTaHV0dGVyIFNwZWVkAFNodXR0ZXIgcHJpb3JpdHkAU2h1dHRlciBwcmlvcml0eSBBRQBTaHV0dGVyIHNwZWVkLiBUaGUgdW5pdCBpcyB0aGUgQVBFWCAoQWRkaXRpdmUgU3lzdGVtIG9mIFBob3RvZ3JhcGhpYyBFeHBvc3VyZSkgc2V0dGluZy4AU2lnbWEgMTAtMjBtbSBGNC01LjYgb3IgMTItMjRtbSBmLzQuNS01LjYgb3IgMTRtbSBmLzIuOABTaWdtYSAxNS0zMG1tIGYvMy41LTQuNSBFWCBERyBBc3BoZXJpY2FsAFNpZ21hIDE3LTM1bW0gZjIuOC00IEVYIEFzcGhlcmljYWwgSFNNAFNpZ21hIDIwbW0gRVggZi8xLjgAU2lnbWEgNTBtbSBmLzIuOCBFWCBvciAyOG1tIGYvMS44AFNpZ21hIFVDIFpvb20gMzUtMTM1bW0gZi80LTUuNgBTaW5nbGUAU2l6ZSBvZiBjb21wcmVzc2VkIGltYWdlIGRhdGEgaW4gYnl0ZXMuAFNpemUgb2YgZGF0YSB0b28gc21hbGwgdG8gYWxsb3cgZm9yIEVYSUYgZGF0YS4AU2xvdyBTaHV0dGVyAFNsb3cgU3luY2hybyBNb2RlAFNsb3cgc2h1dHRlcgBTbG93IHN5bmNocm8AU21hbGwAU21vb3RoAFNub3cAU29mdABTb2Z0ZXN0AFNvZnR3YXJlAFNwYXRpYWwgRnJlcXVlbmN5IFJlc3BvbnNlAFNwZWN0cmFsIFNlbnNpdGl2aXR5AFNwZWVkIFVuaXQAU3BlZWQgb2YgR1BTIFJlY2VpdmVyAFNwZWVkL1NlcXVlbmNlL1Bhbm9yYW1hIERpcmVjdGlvbgBTcGVlZExpZ2h0AFNwb3J0AFNwb3J0cwBTcG90AFNwb3QgZm9jdXMAU3RhbmRhcmQAU3RhbmRhcmQgKDEwMCUpAFN0YW5kYXJkIGxpZ2h0IEEAU3RhbmRhcmQgbGlnaHQgQgBTdGFuZGFyZCBsaWdodCBDAFN0aWxsIGltYWdlAFN0cmlwIEJ5dGUgQ291bnQAU3RyaXAgT2Zmc2V0cwBTdHJvYmUgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAFN0cm9iZSByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkAFN1Yi1zZWNvbmQgVGltZQBTdWItc2Vjb25kIFRpbWUgKERpZ2l0aXplZCkAU3ViLXNlY29uZCBUaW1lIChPcmlnaW5hbCkAU3ViamVjdCBBcmVhAFN1YmplY3QgRGlzdGFuY2UAU3ViamVjdCBEaXN0YW5jZSBSYW5nZQBTdWJqZWN0IExvY2F0aW9uAFN1bm55AFN1bnNldABTdW5zZXQgb3IgY2FuZGxlbGlnaHQAU3VwZXIgZmluZSwgSFEAU3VwZXIgZmluZSwgUkFXAFN1cGVyIGZpbmUsIFNIUQBTdXBlciBmaW5lLCBTUQBTdXBlciBmaW5lLCBTUTEAU3VwZXIgZmluZSwgU1EyAFN1cGVyIGZpbmUsIGhpZ2gAU3VwZXIgZmluZSwgc3VwZXIgaGlnaABTdXBlciBtYWNybwBTdXBlcmZpbmUAU3VyZiAmIHNub3cAU3luY2hybyBzb3VuZCByZWNvcmQAVElGAFRJRitKUEVHAFRJRkYAVElGRi9FUCBTdGFuZGFyZCBJRABUVEwAVFYAVGFnICclcycgaXMgb2YgZm9ybWF0ICclcycgKHdoaWNoIGlzIGFnYWluc3Qgc3BlY2lmaWNhdGlvbikgYnV0IGNhbm5vdCBiZSBjaGFuZ2VkIHRvIGZvcm1hdCAnJXMnLgBUYWcgJyVzJyB3YXMgb2YgZm9ybWF0ICclcycgKHdoaWNoIGlzIGFnYWluc3Qgc3BlY2lmaWNhdGlvbikgYW5kIGhhcyBiZWVuIGNoYW5nZWQgdG8gZm9ybWF0ICclcycuAFRhZyAnVXNlckNvbW1lbnQnIGRpZCBub3Qgc3RhcnQgd2l0aCBhIGZvcm1hdCBpZGVudGlmaWVyLiBUaGlzIGhhcyBiZWVuIGZpeGVkLgBUYWcgJ1VzZXJDb21tZW50JyBoYWQgaW52YWxpZCBmb3JtYXQgJyVzJy4gRm9ybWF0IGhhcyBiZWVuIHNldCB0byAndW5kZWZpbmVkJy4AVGFnICdVc2VyQ29tbWVudCcgaGFzIGJlZW4gZXhwYW5kZWQgdG8gYXQgbGVhc3QgOCBieXRlcyBpbiBvcmRlciB0byBmb2xsb3cgdGhlIHNwZWNpZmljYXRpb24uAFRhZyAnVXNlckNvbW1lbnQnIGlzIG5vdCBlbXB0eSBidXQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhIGZvcm1hdCBpZGVudGlmaWVyLiBUaGlzIGhhcyBiZWVuIGZpeGVkLgBUYW1yb24gQUYgQXNwaGVyaWNhbCAyOC0yMDBtbSBmLzMuOC01LjYAVGFtcm9uIFNQIEFGIDMwMG1tIGYvMi44IExEIElGAFRhcmdldCBBcGVydHVyZQBUYXJnZXQgRXhwb3N1cmUgVGltZQBUZXh0AFRoZSBGIG51bWJlci4AVGhlIEZsYXNoUGl4IGZvcm1hdCB2ZXJzaW9uIHN1cHBvcnRlZCBieSBhIEZQWFIgZmlsZS4AVGhlIGFjdHVhbCBmb2NhbCBsZW5ndGggb2YgdGhlIGxlbnMsIGluIG1tLiBDb252ZXJzaW9uIGlzIG5vdCBtYWRlIHRvIHRoZSBmb2NhbCBsZW5ndGggb2YgYSAzNSBtbSBmaWxtIGNhbWVyYS4AVGhlIGNocm9tYXRpY2l0eSBvZiB0aGUgdGhyZWUgcHJpbWFyeSBjb2xvcnMgb2YgdGhlIGltYWdlLiBOb3JtYWxseSB0aGlzIHRhZyBpcyBub3QgbmVjZXNzYXJ5LCBzaW5jZSBjb2xvciBzcGFjZSBpcyBzcGVjaWZpZWQgaW4gdGhlIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZyAoPENvbG9yU3BhY2U+KS4AVGhlIGNocm9tYXRpY2l0eSBvZiB0aGUgd2hpdGUgcG9pbnQgb2YgdGhlIGltYWdlLiBOb3JtYWxseSB0aGlzIHRhZyBpcyBub3QgbmVjZXNzYXJ5LCBzaW5jZSBjb2xvciBzcGFjZSBpcyBzcGVjaWZpZWQgaW4gdGhlIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZyAoPENvbG9yU3BhY2U+KS4AVGhlIGNsYXNzIG9mIHRoZSBwcm9ncmFtIHVzZWQgYnkgdGhlIGNhbWVyYSB0byBzZXQgZXhwb3N1cmUgd2hlbiB0aGUgcGljdHVyZSBpcyB0YWtlbi4AVGhlIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZyBpcyBhbHdheXMgcmVjb3JkZWQgYXMgdGhlIGNvbG9yIHNwYWNlIHNwZWNpZmllci4gTm9ybWFsbHkgc1JHQiAoPTEpIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBjb2xvciBzcGFjZSBiYXNlZCBvbiB0aGUgUEMgbW9uaXRvciBjb25kaXRpb25zIGFuZCBlbnZpcm9ubWVudC4gSWYgYSBjb2xvciBzcGFjZSBvdGhlciB0aGFuIHNSR0IgaXMgdXNlZCwgVW5jYWxpYnJhdGVkICg9RkZGRi5IKSBpcyBzZXQuIEltYWdlIGRhdGEgcmVjb3JkZWQgYXMgVW5jYWxpYnJhdGVkIGNhbiBiZSB0cmVhdGVkIGFzIHNSR0Igd2hlbiBpdCBpcyBjb252ZXJ0ZWQgdG8gRmxhc2hQaXguAFRoZSBjb21wcmVzc2lvbiBzY2hlbWUgdXNlZCBmb3IgdGhlIGltYWdlIGRhdGEuIFdoZW4gYSBwcmltYXJ5IGltYWdlIGlzIEpQRUcgY29tcHJlc3NlZCwgdGhpcyBkZXNpZ25hdGlvbiBpcyBub3QgbmVjZXNzYXJ5IGFuZCBpcyBvbWl0dGVkLiBXaGVuIHRodW1ibmFpbHMgdXNlIEpQRUcgY29tcHJlc3Npb24sIHRoaXMgdGFnIHZhbHVlIGlzIHNldCB0byA2LgBUaGUgZGF0YSBwcm92aWRlZCBkb2VzIG5vdCBmb2xsb3cgdGhlIHNwZWNpZmljYXRpb24uAFRoZSBkYXRhIHN1cHBsaWVkIGRvZXMgbm90IHNlZW0gdG8gY29udGFpbiBFWElGIGRhdGEuAFRoZSBkYXRlIGFuZCB0aW1lIG9mIGltYWdlIGNyZWF0aW9uLiBJbiB0aGlzIHN0YW5kYXJkIChFWElGLTIuMSkgaXQgaXMgdGhlIGRhdGUgYW5kIHRpbWUgdGhlIGZpbGUgd2FzIGNoYW5nZWQuAFRoZSBkYXRlIGFuZCB0aW1lIHdoZW4gdGhlIGltYWdlIHdhcyBzdG9yZWQgYXMgZGlnaXRhbCBkYXRhLgBUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBvcmlnaW5hbCBpbWFnZSBkYXRhIHdhcyBnZW5lcmF0ZWQuIEZvciBhIGRpZ2l0YWwgc3RpbGwgY2FtZXJhIHRoZSBkYXRlIGFuZCB0aW1lIHRoZSBwaWN0dXJlIHdhcyB0YWtlbiBhcmUgcmVjb3JkZWQuAFRoZSBkaXN0YW5jZSB0byB0aGUgc3ViamVjdCwgZ2l2ZW4gaW4gbWV0ZXJzLgBUaGUgZXhwb3N1cmUgYmlhcy4gVGhlIHVuaXRzIGlzIHRoZSBBUEVYIHZhbHVlLiBPcmRpbmFyaWx5IGl0IGlzIGdpdmVuIGluIHRoZSByYW5nZSBvZiAtOTkuOTkgdG8gOTkuOTkuAFRoZSBmaWxlICclcycgY291bGQgbm90IGJlIG9wZW5lZC4AVGhlIGltYWdlIG9yaWVudGF0aW9uIHZpZXdlZCBpbiB0ZXJtcyBvZiByb3dzIGFuZCBjb2x1bW5zLgBUaGUga2luZCBvZiBsaWdodCBzb3VyY2UuAFRoZSBsZW5zIGFwZXJ0dXJlLiBUaGUgdW5pdCBpcyB0aGUgQVBFWCB2YWx1ZS4AVGhlIG1hbnVmYWN0dXJlciBvZiB0aGUgcmVjb3JkaW5nIGVxdWlwbWVudC4gVGhpcyBpcyB0aGUgbWFudWZhY3R1cmVyIG9mIHRoZSBEU0MsIHNjYW5uZXIsIHZpZGVvIGRpZ2l0aXplciBvciBvdGhlciBlcXVpcG1lbnQgdGhhdCBnZW5lcmF0ZWQgdGhlIGltYWdlLiBXaGVuIHRoZSBmaWVsZCBpcyBsZWZ0IGJsYW5rLCBpdCBpcyB0cmVhdGVkIGFzIHVua25vd24uAFRoZSBtYXRyaXggY29lZmZpY2llbnRzIGZvciB0cmFuc2Zvcm1hdGlvbiBmcm9tIFJHQiB0byBZQ2JDciBpbWFnZSBkYXRhLiBObyBkZWZhdWx0IGlzIGdpdmVuIGluIFRJRkY7IGJ1dCBoZXJlIHRoZSB2YWx1ZSBnaXZlbiBpbiAiQ29sb3IgU3BhY2UgR3VpZGVsaW5lcyIsIGlzIHVzZWQgYXMgdGhlIGRlZmF1bHQuIFRoZSBjb2xvciBzcGFjZSBpcyBkZWNsYXJlZCBpbiBhIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZywgd2l0aCB0aGUgZGVmYXVsdCBiZWluZyB0aGUgdmFsdWUgdGhhdCBnaXZlcyB0aGUgb3B0aW1hbCBpbWFnZSBjaGFyYWN0ZXJpc3RpY3MgSW50ZXJvcGVyYWJpbGl0eSB0aGlzIGNvbmRpdGlvbi4AVGhlIG1ldGVyaW5nIG1vZGUuAFRoZSBtb2RlbCBuYW1lIG9yIG1vZGVsIG51bWJlciBvZiB0aGUgZXF1aXBtZW50LiBUaGlzIGlzIHRoZSBtb2RlbCBuYW1lIG9yIG51bWJlciBvZiB0aGUgRFNDLCBzY2FubmVyLCB2aWRlbyBkaWdpdGl6ZXIgb3Igb3RoZXIgZXF1aXBtZW50IHRoYXQgZ2VuZXJhdGVkIHRoZSBpbWFnZS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBUaGUgbnVtYmVyIG9mIGJpdHMgcGVyIGltYWdlIGNvbXBvbmVudC4gSW4gdGhpcyBzdGFuZGFyZCBlYWNoIGNvbXBvbmVudCBvZiB0aGUgaW1hZ2UgaXMgOCBiaXRzLCBzbyB0aGUgdmFsdWUgZm9yIHRoaXMgdGFnIGlzIDguIFNlZSBhbHNvIDxTYW1wbGVzUGVyUGl4ZWw+LiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIG51bWJlciBvZiBieXRlcyBvZiBKUEVHIGNvbXByZXNzZWQgdGh1bWJuYWlsIGRhdGEuIFRoaXMgaXMgbm90IHVzZWQgZm9yIHByaW1hcnkgaW1hZ2UgSlBFRyBkYXRhLiBKUEVHIHRodW1ibmFpbHMgYXJlIG5vdCBkaXZpZGVkIGJ1dCBhcmUgcmVjb3JkZWQgYXMgYSBjb250aW51b3VzIEpQRUcgYml0c3RyZWFtIGZyb20gU09JIHRvIEVPSS4gQXBwbiBhbmQgQ09NIG1hcmtlcnMgc2hvdWxkIG5vdCBiZSByZWNvcmRlZC4gQ29tcHJlc3NlZCB0aHVtYm5haWxzIG11c3QgYmUgcmVjb3JkZWQgaW4gbm8gbW9yZSB0aGFuIDY0IEtieXRlcywgaW5jbHVkaW5nIGFsbCBvdGhlciBkYXRhIHRvIGJlIHJlY29yZGVkIGluIEFQUDEuAFRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpbWFnZSBkYXRhLCBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIHBpeGVscyBwZXIgcm93LiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIG51bWJlciBvZiBjb21wb25lbnRzIHBlciBwaXhlbC4gU2luY2UgdGhpcyBzdGFuZGFyZCBhcHBsaWVzIHRvIFJHQiBhbmQgWUNiQ3IgaW1hZ2VzLCB0aGUgdmFsdWUgc2V0IGZvciB0aGlzIHRhZyBpcyAzLiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIG51bWJlciBvZiBwaXhlbHMgcGVyIDxSZXNvbHV0aW9uVW5pdD4gaW4gdGhlIDxJbWFnZUxlbmd0aD4gZGlyZWN0aW9uLiBUaGUgc2FtZSB2YWx1ZSBhcyA8WFJlc29sdXRpb24+IGlzIGRlc2lnbmF0ZWQuAFRoZSBudW1iZXIgb2YgcGl4ZWxzIHBlciA8UmVzb2x1dGlvblVuaXQ+IGluIHRoZSA8SW1hZ2VXaWR0aD4gZGlyZWN0aW9uLiBXaGVuIHRoZSBpbWFnZSByZXNvbHV0aW9uIGlzIHVua25vd24sIDcyIFtkcGldIGlzIGRlc2lnbmF0ZWQuAFRoZSBudW1iZXIgb2Ygcm93cyBvZiBpbWFnZSBkYXRhLiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIG51bWJlciBvZiByb3dzIHBlciBzdHJpcC4gVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIGltYWdlIG9mIG9uZSBzdHJpcCB3aGVuIGFuIGltYWdlIGlzIGRpdmlkZWQgaW50byBzdHJpcHMuIFdpdGggSlBFRyBjb21wcmVzc2VkIGRhdGEgdGhpcyBkZXNpZ25hdGlvbiBpcyBub3QgbmVlZGVkIGFuZCBpcyBvbWl0dGVkLiBTZWUgYWxzbyA8U3RyaXBPZmZzZXRzPiBhbmQgPFN0cmlwQnl0ZUNvdW50cz4uAFRoZSBvZmZzZXQgdG8gdGhlIHN0YXJ0IGJ5dGUgKFNPSSkgb2YgSlBFRyBjb21wcmVzc2VkIHRodW1ibmFpbCBkYXRhLiBUaGlzIGlzIG5vdCB1c2VkIGZvciBwcmltYXJ5IGltYWdlIEpQRUcgZGF0YS4AVGhlIHBpeGVsIGNvbXBvc2l0aW9uLiBJbiBKUEVHIGNvbXByZXNzZWQgZGF0YSBhIEpQRUcgbWFya2VyIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGlzIHRhZy4AVGhlIHBvc2l0aW9uIG9mIGNocm9taW5hbmNlIGNvbXBvbmVudHMgaW4gcmVsYXRpb24gdG8gdGhlIGx1bWluYW5jZSBjb21wb25lbnQuIFRoaXMgZmllbGQgaXMgZGVzaWduYXRlZCBvbmx5IGZvciBKUEVHIGNvbXByZXNzZWQgZGF0YSBvciB1bmNvbXByZXNzZWQgWUNiQ3IgZGF0YS4gVGhlIFRJRkYgZGVmYXVsdCBpcyAxIChjZW50ZXJlZCk7IGJ1dCB3aGVuIFk6Q2I6Q3IgPSA0OjI6MiBpdCBpcyByZWNvbW1lbmRlZCBpbiB0aGlzIHN0YW5kYXJkIHRoYXQgMiAoY28tc2l0ZWQpIGJlIHVzZWQgdG8gcmVjb3JkIGRhdGEsIGluIG9yZGVyIHRvIGltcHJvdmUgdGhlIGltYWdlIHF1YWxpdHkgd2hlbiB2aWV3ZWQgb24gVFYgc3lzdGVtcy4gV2hlbiB0aGlzIGZpZWxkIGRvZXMgbm90IGV4aXN0LCB0aGUgcmVhZGVyIHNoYWxsIGFzc3VtZSB0aGUgVElGRiBkZWZhdWx0LiBJbiB0aGUgY2FzZSBvZiBZOkNiOkNyID0gNDoyOjAsIHRoZSBUSUZGIGRlZmF1bHQgKGNlbnRlcmVkKSBpcyByZWNvbW1lbmRlZC4gSWYgdGhlIHJlYWRlciBkb2VzIG5vdCBoYXZlIHRoZSBjYXBhYmlsaXR5IG9mIHN1cHBvcnRpbmcgYm90aCBraW5kcyBvZiA8WUNiQ3JQb3NpdGlvbmluZz4sIGl0IHNoYWxsIGZvbGxvdyB0aGUgVElGRiBkZWZhdWx0IHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIGluIHRoaXMgZmllbGQuIEl0IGlzIHByZWZlcmFibGUgdGhhdCByZWFkZXJzIGJlIGFibGUgdG8gc3VwcG9ydCBib3RoIGNlbnRlcmVkIGFuZCBjby1zaXRlZCBwb3NpdGlvbmluZy4AVGhlIHJlZmVyZW5jZSBibGFjayBwb2ludCB2YWx1ZSBhbmQgcmVmZXJlbmNlIHdoaXRlIHBvaW50IHZhbHVlLiBObyBkZWZhdWx0cyBhcmUgZ2l2ZW4gaW4gVElGRiwgYnV0IHRoZSB2YWx1ZXMgYmVsb3cgYXJlIGdpdmVuIGFzIGRlZmF1bHRzIGhlcmUuIFRoZSBjb2xvciBzcGFjZSBpcyBkZWNsYXJlZCBpbiBhIGNvbG9yIHNwYWNlIGluZm9ybWF0aW9uIHRhZywgd2l0aCB0aGUgZGVmYXVsdCBiZWluZyB0aGUgdmFsdWUgdGhhdCBnaXZlcyB0aGUgb3B0aW1hbCBpbWFnZSBjaGFyYWN0ZXJpc3RpY3MgSW50ZXJvcGVyYWJpbGl0eSB0aGVzZSBjb25kaXRpb25zLgBUaGUgc2FtcGxpbmcgcmF0aW8gb2YgY2hyb21pbmFuY2UgY29tcG9uZW50cyBpbiByZWxhdGlvbiB0byB0aGUgbHVtaW5hbmNlIGNvbXBvbmVudC4gSW4gSlBFRyBjb21wcmVzc2VkIGRhdGEgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuAFRoZSBzbWFsbGVzdCBGIG51bWJlciBvZiB0aGUgbGVucy4gVGhlIHVuaXQgaXMgdGhlIEFQRVggdmFsdWUuIE9yZGluYXJpbHkgaXQgaXMgZ2l2ZW4gaW4gdGhlIHJhbmdlIG9mIDAwLjAwIHRvIDk5Ljk5LCBidXQgaXQgaXMgbm90IGxpbWl0ZWQgdG8gdGhpcyByYW5nZS4AVGhlIHN5c3RlbSBjYW5ub3QgcHJvdmlkZSBlbm91Z2ggbWVtb3J5LgBUaGUgdGFnICclcycgY29udGFpbnMgYW4gaW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpKS4AVGhlIHRhZyAnJXMnIGNvbnRhaW5zIGRhdGEgb2YgYW4gaW52YWxpZCBmb3JtYXQgKCclcycsIGV4cGVjdGVkICclcycpLgBUaGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIGluIGVhY2ggc3RyaXAuIFdpdGggSlBFRyBjb21wcmVzc2VkIGRhdGEgdGhpcyBkZXNpZ25hdGlvbiBpcyBub3QgbmVlZGVkIGFuZCBpcyBvbWl0dGVkLgBUaGUgdW5pdCBmb3IgbWVhc3VyaW5nIDxYUmVzb2x1dGlvbj4gYW5kIDxZUmVzb2x1dGlvbj4uIFRoZSBzYW1lIHVuaXQgaXMgdXNlZCBmb3IgYm90aCA8WFJlc29sdXRpb24+IGFuZCA8WVJlc29sdXRpb24+LiBJZiB0aGUgaW1hZ2UgcmVzb2x1dGlvbiBpcyB1bmtub3duLCAyIChpbmNoZXMpIGlzIGRlc2lnbmF0ZWQuAFRoZSB2YWx1ZSBvZiBicmlnaHRuZXNzLiBUaGUgdW5pdCBpcyB0aGUgQVBFWCB2YWx1ZS4gT3JkaW5hcmlseSBpdCBpcyBnaXZlbiBpbiB0aGUgcmFuZ2Ugb2YgLTk5Ljk5IHRvIDk5Ljk5LgBUaGUgdmVyc2lvbiBvZiB0aGlzIHN0YW5kYXJkIHN1cHBvcnRlZC4gTm9uZXhpc3RlbmNlIG9mIHRoaXMgZmllbGQgaXMgdGFrZW4gdG8gbWVhbiBub25jb25mb3JtYW5jZSB0byB0aGUgc3RhbmRhcmQuAFRoaXMgbnVtYmVyIGlzIHVuaXF1ZSBhbmQgYmFzZWQgb24gdGhlIGRhdGUgb2YgbWFudWZhY3R1cmUuAFRoaXMgdGFnIGluZGljYXRlcyBhbiBpZGVudGlmaWVyIGFzc2lnbmVkIHVuaXF1ZWx5IHRvIGVhY2ggaW1hZ2UuIEl0IGlzIHJlY29yZGVkIGFzIGFuIEFTQ0lJIHN0cmluZyBlcXVpdmFsZW50IHRvIGhleGFkZWNpbWFsIG5vdGF0aW9uIGFuZCAxMjgtYml0IGZpeGVkIGxlbmd0aC4AVGhpcyB0YWcgaW5kaWNhdGVzIGluZm9ybWF0aW9uIG9uIHRoZSBwaWN0dXJlLXRha2luZyBjb25kaXRpb25zIG9mIGEgcGFydGljdWxhciBjYW1lcmEgbW9kZWwuIFRoZSB0YWcgaXMgdXNlZCBvbmx5IHRvIGluZGljYXRlIHRoZSBwaWN0dXJlLXRha2luZyBjb25kaXRpb25zIGluIHRoZSByZWFkZXIuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgZGVncmVlIG9mIG92ZXJhbGwgaW1hZ2UgZ2FpbiBhZGp1c3RtZW50LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpZ2l0YWwgem9vbSByYXRpbyB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4gSWYgdGhlIG51bWVyYXRvciBvZiB0aGUgcmVjb3JkZWQgdmFsdWUgaXMgMCwgdGhpcyBpbmRpY2F0ZXMgdGhhdCBkaWdpdGFsIHpvb20gd2FzIG5vdCB1c2VkLgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpcmVjdGlvbiBvZiBjb250cmFzdCBwcm9jZXNzaW5nIGFwcGxpZWQgYnkgdGhlIGNhbWVyYSB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2Ygc2F0dXJhdGlvbiBwcm9jZXNzaW5nIGFwcGxpZWQgYnkgdGhlIGNhbWVyYSB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2Ygc2hhcnBuZXNzIHByb2Nlc3NpbmcgYXBwbGllZCBieSB0aGUgY2FtZXJhIHdoZW4gdGhlIGltYWdlIHdhcyBzaG90LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpc3RhbmNlIHRvIHRoZSBzdWJqZWN0LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGVxdWl2YWxlbnQgZm9jYWwgbGVuZ3RoIGFzc3VtaW5nIGEgMzVtbSBmaWxtIGNhbWVyYSwgaW4gbW0uIEEgdmFsdWUgb2YgMCBtZWFucyB0aGUgZm9jYWwgbGVuZ3RoIGlzIHVua25vd24uIE5vdGUgdGhhdCB0aGlzIHRhZyBkaWZmZXJzIGZyb20gdGhlIEZvY2FsTGVuZ3RoIHRhZy4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBleHBvc3VyZSBtb2RlIHNldCB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4gSW4gYXV0by1icmFja2V0aW5nIG1vZGUsIHRoZSBjYW1lcmEgc2hvb3RzIGEgc2VyaWVzIG9mIGZyYW1lcyBvZiB0aGUgc2FtZSBzY2VuZSBhdCBkaWZmZXJlbnQgZXhwb3N1cmUgc2V0dGluZ3MuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgbG9jYXRpb24gYW5kIGFyZWEgb2YgdGhlIG1haW4gc3ViamVjdCBpbiB0aGUgb3ZlcmFsbCBzY2VuZS4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSB0eXBlIG9mIHNjZW5lIHRoYXQgd2FzIHNob3QuIEl0IGNhbiBhbHNvIGJlIHVzZWQgdG8gcmVjb3JkIHRoZSBtb2RlIGluIHdoaWNoIHRoZSBpbWFnZSB3YXMgc2hvdC4gTm90ZSB0aGF0IHRoaXMgZGlmZmVycyBmcm9tIHRoZSBzY2VuZSB0eXBlIDxTY2VuZVR5cGU+IHRhZy4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSB1c2Ugb2Ygc3BlY2lhbCBwcm9jZXNzaW5nIG9uIGltYWdlIGRhdGEsIHN1Y2ggYXMgcmVuZGVyaW5nIGdlYXJlZCB0byBvdXRwdXQuIFdoZW4gc3BlY2lhbCBwcm9jZXNzaW5nIGlzIHBlcmZvcm1lZCwgdGhlIHJlYWRlciBpcyBleHBlY3RlZCB0byBkaXNhYmxlIG9yIG1pbmltaXplIGFueSBmdXJ0aGVyIHByb2Nlc3NpbmcuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgd2hpdGUgYmFsYW5jZSBtb2RlIHNldCB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaXMgcmVjb3JkZWQgd2hlbiBhbiBpbWFnZSBpcyB0YWtlbiB1c2luZyBhIHN0cm9iZSBsaWdodCAoZmxhc2gpLgBUaGlzIHRhZyBpcyB1c2VkIHRvIHJlY29yZCB0aGUgbmFtZSBvZiBhbiBhdWRpbyBmaWxlIHJlbGF0ZWQgdG8gdGhlIGltYWdlIGRhdGEuIFRoZSBvbmx5IHJlbGF0aW9uYWwgaW5mb3JtYXRpb24gcmVjb3JkZWQgaGVyZSBpcyB0aGUgRXhpZiBhdWRpbyBmaWxlIG5hbWUgYW5kIGV4dGVuc2lvbiAoYW4gQVNDSUkgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgOCBjaGFyYWN0ZXJzICsgJy4nICsgMyBjaGFyYWN0ZXJzKS4gVGhlIHBhdGggaXMgbm90IHJlY29yZGVkLiBTdGlwdWxhdGlvbnMgb24gYXVkaW8gYW5kIGZpbGUgbmFtaW5nIGNvbnZlbnRpb25zIGFyZSBkZWZpbmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uLiBXaGVuIHVzaW5nIHRoaXMgdGFnLCBhdWRpbyBmaWxlcyBtdXN0IGJlIHJlY29yZGVkIGluIGNvbmZvcm1hbmNlIHRvIHRoZSBFeGlmIGF1ZGlvIGZvcm1hdC4gV3JpdGVycyBhcmUgYWxzbyBhbGxvd2VkIHRvIHN0b3JlIHRoZSBkYXRhIHN1Y2ggYXMgQXVkaW8gd2l0aGluIEFQUDIgYXMgRmxhc2hQaXggZXh0ZW5zaW9uIHN0cmVhbSBkYXRhLiBUaGUgbWFwcGluZyBvZiBFeGlmIGltYWdlIGZpbGVzIGFuZCBhdWRpbyBmaWxlcyBpcyBkb25lIGluIGFueSBvZiB0aHJlZSB3YXlzLCBbMV0sIFsyXSBhbmQgWzNdLiBJZiBtdWx0aXBsZSBmaWxlcyBhcmUgbWFwcGVkIHRvIG9uZSBmaWxlIGFzIGluIFsyXSBvciBbM10sIHRoZSBhYm92ZSBmb3JtYXQgaXMgdXNlZCB0byByZWNvcmQganVzdCBvbmUgYXVkaW8gZmlsZSBuYW1lLiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYXVkaW8gZmlsZXMsIHRoZSBmaXJzdCByZWNvcmRlZCBmaWxlIGlzIGdpdmVuLiBJbiB0aGUgY2FzZSBvZiBbM10sIGZvciBleGFtcGxlLCBmb3IgdGhlIEV4aWYgaW1hZ2UgZmlsZSAiRFNDMDAwMDEuSlBHIiBvbmx5ICAiU05EMDAwMDEuV0FWIiBpcyBnaXZlbiBhcyB0aGUgcmVsYXRlZCBFeGlmIGF1ZGlvIGZpbGUuIFdoZW4gdGhlcmUgYXJlIHRocmVlIEV4aWYgYXVkaW8gZmlsZXMgIlNORDAwMDAxLldBViIsICJTTkQwMDAwMi5XQVYiIGFuZCAiU05EMDAwMDMuV0FWIiwgdGhlIEV4aWYgaW1hZ2UgZmlsZSBuYW1lIGZvciBlYWNoIG9mIHRoZW0sICJEU0MwMDAwMS5KUEciLCBpcyBpbmRpY2F0ZWQuIEJ5IGNvbWJpbmluZyBtdWx0aXBsZSByZWxhdGlvbmFsIGluZm9ybWF0aW9uLCBhIHZhcmlldHkgb2YgcGxheWJhY2sgcG9zc2liaWxpdGllcyBjYW4gYmUgc3VwcG9ydGVkLiBUaGUgbWV0aG9kIG9mIHVzaW5nIHJlbGF0aW9uYWwgaW5mb3JtYXRpb24gaXMgbGVmdCB0byB0aGUgaW1wbGVtZW50YXRpb24gb24gdGhlIHBsYXliYWNrIHNpZGUuIFNpbmNlIHRoaXMgaW5mb3JtYXRpb24gaXMgYW4gQVNDSUkgY2hhcmFjdGVyIHN0cmluZywgaXQgaXMgdGVybWluYXRlZCBieSBOVUxMLiBXaGVuIHRoaXMgdGFnIGlzIHVzZWQgdG8gbWFwIGF1ZGlvIGZpbGVzLCB0aGUgcmVsYXRpb24gb2YgdGhlIGF1ZGlvIGZpbGUgdG8gaW1hZ2UgZGF0YSBtdXN0IGFsc28gYmUgaW5kaWNhdGVkIG9uIHRoZSBhdWRpbyBmaWxlIGVuZC4AVGhpcyB0YWcgcmVjb3JkcyB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZSBzcGF0aWFsIGZyZXF1ZW5jeSB0YWJsZSBhbmQgU0ZSIHZhbHVlcyBpbiB0aGUgZGlyZWN0aW9uIG9mIGltYWdlIHdpZHRoLCBpbWFnZSBoZWlnaHQsIGFuZCBkaWFnb25hbCBkaXJlY3Rpb24sIGFzIHNwZWNpZmllZCBpbiBJU08gMTIyMzMuAFRoaXMgdGFnIHJlY29yZHMgdGhlIG5hbWUgYW5kIHZlcnNpb24gb2YgdGhlIHNvZnR3YXJlIG9yIGZpcm13YXJlIG9mIHRoZSBjYW1lcmEgb3IgaW1hZ2UgaW5wdXQgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGltYWdlLiBUaGUgZGV0YWlsZWQgZm9ybWF0IGlzIG5vdCBzcGVjaWZpZWQsIGJ1dCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZSBleGFtcGxlIHNob3duIGJlbG93IGJlIGZvbGxvd2VkLiBXaGVuIHRoZSBmaWVsZCBpcyBsZWZ0IGJsYW5rLCBpdCBpcyB0cmVhdGVkIGFzIHVua25vd24uAFRoaXMgdGFnIHJlY29yZHMgdGhlIG5hbWUgb2YgdGhlIGNhbWVyYSBvd25lciwgcGhvdG9ncmFwaGVyIG9yIGltYWdlIGNyZWF0b3IuIFRoZSBkZXRhaWxlZCBmb3JtYXQgaXMgbm90IHNwZWNpZmllZCwgYnV0IGl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhlIGluZm9ybWF0aW9uIGJlIHdyaXR0ZW4gYXMgaW4gdGhlIGV4YW1wbGUgYmVsb3cgZm9yIGVhc2Ugb2YgSW50ZXJvcGVyYWJpbGl0eS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBUaGlzIHRhZyByZXNlcnZlcyBzcGFjZSB0aGF0IGNhbiBiZSByZWNsYWltZWQgbGF0ZXIgd2hlbiBhZGRpdGlvbmFsIG1ldGFkYXRhIGFyZSBhZGRlZC4gTmV3IG1ldGFkYXRhIGNhbiBiZSB3cml0dGVuIGluIHBsYWNlIGJ5IHJlcGxhY2luZyB0aGlzIHRhZyB3aXRoIGEgc21hbGxlciBkYXRhIGVsZW1lbnQgYW5kIHVzaW5nIHRoZSByZWNsYWltZWQgc3BhY2UgdG8gc3RvcmUgdGhlIG5ldyBvciBleHBhbmRlZCBtZXRhZGF0YSB0YWdzLgBUaHJlZS1jaGlwIGNvbG9yIGFyZWEgc2Vuc29yAFRodW1ibmFpbCBJbWFnZQBUaW1lAFRpbWUgWm9uZQBUaW1lIFpvbmUgT2Zmc2V0AFRva2luYSBBRjE5My0yIDE5LTM1bW0gZi8zLjUtNC41AFRva2luYSBBVC1YMjgwQUYgUFJPIDI4LTgwbW0gRjIuOCBBc3BoZXJpY2FsAFRvbmUgQ29tcGVuc2F0aW9uAFRvbmUgQ3VydmUAVG9wAFRvcCB0byBib3R0b20AVG9wLWNlbnRlcgBUb3AtbGVmdABUb3AtcmlnaHQAVG90YWwgTnVtYmVyIG9mIFBpY3R1cmVzIFRha2VuAFRyYW5zZmVyIEZ1bmN0aW9uAFRyYW5zZmVyIFJhbmdlAFRyaWxpbmVhciBzZW5zb3IAVHVuZ3N0ZW4AVHVuZ3N0ZW4gaW5jYW5kZXNjZW50IGxpZ2h0AFR2LXByaW9yaXR5AFR3by1jaGlwIGNvbG9yIGFyZWEgc2Vuc29yAFVuY2FsaWJyYXRlZABVbmNvbXByZXNzZWQAVW5kZWZpbmVkAFVuZGVyd2F0ZXIAVW5leHBlY3RlZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWxpLCBleHBlY3RlZCAyLCAzLCBvciA0KS4AVW5rbm93bgBVbmtub3duICVodQBVbmtub3duIEFGIHBvc2l0aW9uAFVua25vd24gRXhpZiBWZXJzaW9uAFVua25vd24gRmxhc2hQaXggVmVyc2lvbgBVbmtub3duIGVuY29kaW5nLgBVbmtub3duIHZhbHVlICVoaQBVbmtub3duIHZhbHVlICVpAFVuc3VwcG9ydGVkIEpJUyBzdHJpbmcAVW5zdXBwb3J0ZWQgVU5JQ09ERSBzdHJpbmcAVXBwZXItbGVmdABVcHBlci1yaWdodABVc2VyIDEAVXNlciAyAFVzZXIgQ29tbWVudABVc2VyIGRlZi4gMQBVc2VyIGRlZi4gMgBVc2VyIGRlZi4gMwBVc2VyIHNlbGVjdGVkAFZHQSBiYXNpYwBWR0EgZmluZQBWR0Egbm9ybWFsAFZhcmkgUHJvZ3JhbQBWZXJ5IGNsb3NlAFZpYnJhdGlvbiByZWR1Y3Rpb24AVml2aWQAVm9pY2UgTWVtbwBXaGVuIGxvYWRpbmcgYW5kIHJlc2F2aW5nIEV4aWYgZGF0YSwgc2F2ZSB0aGUgbWFrZXIgbm90ZSB1bm1vZGlmaWVkLiBCZSBhd2FyZSB0aGF0IHRoZSBtYWtlciBub3RlIGNhbiBnZXQgY29ycnVwdGVkLgBXaGl0ZSBCYWxhbmNlAFdoaXRlIEJhbGFuY2UgQmlhcwBXaGl0ZSBCYWxhbmNlIEJyYWNrZXQAV2hpdGUgQmFsYW5jZSBGaW5lIEFkanVzdG1lbnQAV2hpdGUgQmFsYW5jZSBNb2RlAFdoaXRlIEJhbGFuY2UgUkIAV2hpdGUgQmFsYW5jZSBTZXR0aW5nAFdoaXRlIEJvYXJkAFdoaXRlIFBvaW50AFdoaXRlIGZsdW9yZXNjZW50AFdpZGUAV2lkZSBSYW5nZQBXaWRlMSAoMjMwJSkAV2lkZTIgKDQwMCUpAFdpZGVzY3JlZW4AV2l0aCBzdHJvYmUAV2l0aGluIGRpc3RhbmNlICVpIG9mICh4LHkpID0gKCVpLCVpKQBXaXRoaW4gcmVjdGFuZ2xlICh3aWR0aCAlaSwgaGVpZ2h0ICVpKSBhcm91bmQgKHgseSkgPSAoJWksJWkpAFdpdGhvdXQgc3Ryb2JlAFdvcmxkIFRpbWUgTG9jYXRpb24AWC1SZXNvbHV0aW9uAFhNTCBQYWNrZXQAWE1QIE1ldGFkYXRhAFhQIEF1dGhvcgBYUCBDb21tZW50AFhQIEtleXdvcmRzAFhQIFN1YmplY3QAWFAgVGl0bGUAWQBZLVJlc29sdXRpb24AWUNiQ3IAWUNiQ3IgQ29lZmZpY2llbnRzAFlDYkNyIFBvc2l0aW9uaW5nAFlDYkNyIFN1Yi1TYW1wbGluZwBZQ2JDcjQ6MjowAFlDYkNyNDoyOjIAWWVzAFpvb20AWm9vbSBTb3VyY2UgV2lkdGgAWm9vbSBTdGVwIENvdW50AFpvb20gVGFyZ2V0IFdpZHRoAFtET19OT1RfVFJBTlNMQVRFX1RISVNfTUFSS0VSXQBbTm9uZV0AY20AaW4Ac1JHQgBQcm9qZWN0LUlkLVZlcnNpb246IGxpYmV4aWYKUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGxpYmV4aWYtZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0ClBPVC1DcmVhdGlvbi1EYXRlOiAyMDEyLTA3LTEyIDIwOjQxKzAyMDAKUE8tUmV2aXNpb24tRGF0ZTogMjAxMi0wMS0yMCAyMjozMiswMDAwCkxhc3QtVHJhbnNsYXRvcjogQW50aG9ueSBIYXJyaW5ndG9uIDx1bnRhaW50YWJsZWFuZ2VsQGhvdG1haWwuY28udWs+Ckxhbmd1YWdlLVRlYW06IEVuZ2xpc2ggKFVuaXRlZCBLaW5nZG9tKSA8ZW5fR0JAbGkub3JnPgpMYW5ndWFnZTogCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0ClgtTGF1bmNocGFkLUV4cG9ydC1EYXRlOiAyMDEyLTA2LTI1IDA2OjUzKzAwMDAKWC1HZW5lcmF0b3I6IExhdW5jaHBhZCAoYnVpbGQgMTU0ODIpCgAgKCUuMDJmIGNkL21eMikAICglZCBzZWMuKQAgKDEvJWQgc2VjLikAICgzNSBlcXVpdmFsZW50OiAlZCBtbSkAIChmLyUuMDFmKQAgc2VjLgAlLjAyZiBFVgAlLjJmIEVWACUuMmYgbW0AJTIuMmYgbWV0cmVzACUyLjJmIG1tACVpIChtcykAJWkgYnl0ZXMgdW5kZWZpbmVkIGRhdGEAJWkgYnl0ZXMgdW5rbm93biBkYXRhACVpIGJ5dGVzIHVua25vd24gZGF0YTogACVpIGJ5dGVzIHVuc3VwcG9ydGVkIGRhdGEgdHlwZQAldSBtbQAoRWRpdG9yKQAoUGhvdG9ncmFwaGVyKQAsIAAtADEvJWkAMS8zADEwIGZyYW1lcy9zZWMAMTAwADE1IGZyYW1lcy9zZWMAMk0gcGl4ZWwgYmFzaWMAMk0gcGl4ZWwgZmluZQAyTSBwaXhlbCBub3JtYWwAMiBzZWMuADIvMwAyMCBmcmFtZXMvc2VjADIwMAAyMzA0eDE3Mjggb3IgMjU5MngxOTQ0ADI1NjB4MTkyMCBvciAyMzA0eDE3MjgAMjgxNngyMjEyIG9yIDI4MTZ4MjExMgAybmQtY3VydGFpbiBzeW5jIHVzZWQAMngAMngyIG1hdHJpeCAoY2xvY2t3aXNlKQAzMDA4eDIwMDggb3IgMzA0MHgyMDI0ADQwMAA0eAA1IGZyYW1lcy9zZWMANTAAODAwAD8AQSBjaGFyYWN0ZXIgc3RyaW5nIGNvbnRhaW5pbmcgYSBjb21tZW50IGFib3V0IHRoZSBpbWFnZSwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGNvbnRhaW5pbmcga2V5IHdvcmRzIGRlc2NyaWJpbmcgdGhlIGltYWdlLCBlbmNvZGVkIGluIFVURi0xNkxFLgBBIGNoYXJhY3RlciBzdHJpbmcgY29udGFpbmluZyB0aGUgbmFtZSBvZiB0aGUgaW1hZ2UgY3JlYXRvciwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGdpdmluZyB0aGUgaW1hZ2Ugc3ViamVjdCwgZW5jb2RlZCBpbiBVVEYtMTZMRS4AQSBjaGFyYWN0ZXIgc3RyaW5nIGdpdmluZyB0aGUgdGl0bGUgb2YgdGhlIGltYWdlLCBlbmNvZGVkIGluIFVURi0xNkxFLgBBIGNoYXJhY3RlciBzdHJpbmcgZ2l2aW5nIHRoZSB0aXRsZSBvZiB0aGUgaW1hZ2UuIEl0IG1heSBiZSBhIGNvbW1lbnQgc3VjaCBhcyAiMTk4OCBjb21wYW55IHBpY25pYyIgb3IgdGhlIGxpa2UuIFR3by1ieXRlcyBjaGFyYWN0ZXIgY29kZXMgY2Fubm90IGJlIHVzZWQuIFdoZW4gYSAyLWJ5dGVzIGNvZGUgaXMgbmVjZXNzYXJ5LCB0aGUgRXhpZiBQcml2YXRlIHRhZyA8VXNlckNvbW1lbnQ+IGlzIHRvIGJlIHVzZWQuAEEgY2hhcmFjdGVyIHN0cmluZyByZWNvcmRpbmcgZGF0ZSBhbmQgdGltZSBpbmZvcm1hdGlvbiByZWxhdGl2ZSB0byBVVEMgKENvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lKS4gVGhlIGZvcm1hdCBpcyAiWVlZWTpNTTpERCIuIFRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBpcyAxMSBieXRlcyBpbmNsdWRpbmcgTlVMTC4AQSBjaGFyYWN0ZXIgc3RyaW5nIHJlY29yZGluZyB0aGUgbmFtZSBvZiB0aGUgR1BTIGFyZWEuIFRoZSBmaXJzdCBieXRlIGluZGljYXRlcyB0aGUgY2hhcmFjdGVyIGNvZGUgdXNlZCwgYW5kIHRoaXMgaXMgZm9sbG93ZWQgYnkgdGhlIG5hbWUgb2YgdGhlIEdQUyBhcmVhLiBTaW5jZSB0aGUgVHlwZSBpcyBub3QgQVNDSUksIE5VTEwgdGVybWluYXRpb24gaXMgbm90IG5lY2Vzc2FyeS4AQSBjaGFyYWN0ZXIgc3RyaW5nIHJlY29yZGluZyB0aGUgbmFtZSBvZiB0aGUgbWV0aG9kIHVzZWQgZm9yIGxvY2F0aW9uIGZpbmRpbmcuIFRoZSBmaXJzdCBieXRlIGluZGljYXRlcyB0aGUgY2hhcmFjdGVyIGNvZGUgdXNlZCwgYW5kIHRoaXMgaXMgZm9sbG93ZWQgYnkgdGhlIG5hbWUgb2YgdGhlIG1ldGhvZC4gU2luY2UgdGhlIFR5cGUgaXMgbm90IEFTQ0lJLCBOVUxMIHRlcm1pbmF0aW9uIGlzIG5vdCBuZWNlc3NhcnkuAEEgZ2VuZXJhbCBpbmRpY2F0aW9uIG9mIHRoZSBraW5kIG9mIGRhdGEgY29udGFpbmVkIGluIHRoaXMgc3ViZmlsZS4AQSBwb2ludGVyIHRvIHRoZSBFeGlmIElGRC4gSW50ZXJvcGVyYWJpbGl0eSwgRXhpZiBJRkQgaGFzIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyB0aGF0IG9mIHRoZSBJRkQgc3BlY2lmaWVkIGluIFRJRkYuIG9yZGluYXJpbHksIGhvd2V2ZXIsIGl0IGRvZXMgbm90IGNvbnRhaW4gaW1hZ2UgZGF0YSBhcyBpbiB0aGUgY2FzZSBvZiBUSUZGLgBBIHBvaW50ZXIgdG8gdGhlIEdQUyBJbmZvIElGRC4gVGhlIEludGVyb3BlcmFiaWxpdHkgc3RydWN0dXJlIG9mIHRoZSBHUFMgSW5mbyBJRkQsIGxpa2UgdGhhdCBvZiBFeGlmIElGRCwgaGFzIG5vIGltYWdlIGRhdGEuAEEgdGFnIGZvciBFeGlmIHVzZXJzIHRvIHdyaXRlIGtleXdvcmRzIG9yIGNvbW1lbnRzIG9uIHRoZSBpbWFnZSBiZXNpZGVzIHRob3NlIGluIDxJbWFnZURlc2NyaXB0aW9uPiwgYW5kIHdpdGhvdXQgdGhlIGNoYXJhY3RlciBjb2RlIGxpbWl0YXRpb25zIG9mIHRoZSA8SW1hZ2VEZXNjcmlwdGlvbj4gdGFnLiBUaGUgY2hhcmFjdGVyIGNvZGUgdXNlZCBpbiB0aGUgPFVzZXJDb21tZW50PiB0YWcgaXMgaWRlbnRpZmllZCBiYXNlZCBvbiBhbiBJRCBjb2RlIGluIGEgZml4ZWQgOC1ieXRlIGFyZWEgYXQgdGhlIHN0YXJ0IG9mIHRoZSB0YWcgZGF0YSBhcmVhLiBUaGUgdW51c2VkIHBvcnRpb24gb2YgdGhlIGFyZWEgaXMgcGFkZGVkIHdpdGggTlVMTCAoIjAwLmgiKS4gSUQgY29kZXMgYXJlIGFzc2lnbmVkIGJ5IG1lYW5zIG9mIHJlZ2lzdHJhdGlvbi4gVGhlIGRlc2lnbmF0aW9uIG1ldGhvZCBhbmQgcmVmZXJlbmNlcyBmb3IgZWFjaCBjaGFyYWN0ZXIgY29kZSBhcmUgZGVmaW5lZCBpbiB0aGUgc3BlY2lmaWNhdGlvbi4gVGhlIHZhbHVlIG9mIENvdW50TiBpcyBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSA4IGJ5dGVzIGluIHRoZSBjaGFyYWN0ZXIgY29kZSBhcmVhIGFuZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIGluIHRoZSB1c2VyIGNvbW1lbnQgcGFydC4gU2luY2UgdGhlIFRZUEUgaXMgbm90IEFTQ0lJLCBOVUxMIHRlcm1pbmF0aW9uIGlzIG5vdCBuZWNlc3NhcnkuIFRoZSBJRCBjb2RlIGZvciB0aGUgPFVzZXJDb21tZW50PiBhcmVhIG1heSBiZSBhIERlZmluZWQgY29kZSBzdWNoIGFzIEpJUyBvciBBU0NJSSwgb3IgbWF5IGJlIFVuZGVmaW5lZC4gVGhlIFVuZGVmaW5lZCBuYW1lIGlzIFVuZGVmaW5lZFRleHQsIGFuZCB0aGUgSUQgY29kZSBpcyBmaWxsZWQgd2l0aCA4IGJ5dGVzIG9mIGFsbCAiTlVMTCIgKCIwMC5IIikuIEFuIEV4aWYgcmVhZGVyIHRoYXQgcmVhZHMgdGhlIDxVc2VyQ29tbWVudD4gdGFnIG11c3QgaGF2ZSBhIGZ1bmN0aW9uIGZvciBkZXRlcm1pbmluZyB0aGUgSUQgY29kZS4gVGhpcyBmdW5jdGlvbiBpcyBub3QgcmVxdWlyZWQgaW4gRXhpZiByZWFkZXJzIHRoYXQgZG8gbm90IHVzZSB0aGUgPFVzZXJDb21tZW50PiB0YWcuIFdoZW4gYSA8VXNlckNvbW1lbnQ+IGFyZWEgaXMgc2V0IGFzaWRlLCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZSBJRCBjb2RlIGJlIEFTQ0lJIGFuZCB0aGF0IHRoZSBmb2xsb3dpbmcgdXNlciBjb21tZW50IHBhcnQgYmUgZmlsbGVkIHdpdGggYmxhbmsgY2hhcmFjdGVycyBbMjAuSF0uAEEgdGFnIGZvciBtYW51ZmFjdHVyZXJzIG9mIEV4aWYgd3JpdGVycyB0byByZWNvcmQgYW55IGRlc2lyZWQgaW5mb3JtYXRpb24uIFRoZSBjb250ZW50cyBhcmUgdXAgdG8gdGhlIG1hbnVmYWN0dXJlci4AQSB0YWcgdXNlZCB0byByZWNvcmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgZm9yIHRoZSA8RGF0ZVRpbWU+IHRhZy4AQSB0YWcgdXNlZCB0byByZWNvcmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgZm9yIHRoZSA8RGF0ZVRpbWVEaWdpdGl6ZWQ+IHRhZy4AQSB0YWcgdXNlZCB0byByZWNvcmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgZm9yIHRoZSA8RGF0ZVRpbWVPcmlnaW5hbD4gdGFnLgBBIHRyYW5zZmVyIGZ1bmN0aW9uIGZvciB0aGUgaW1hZ2UsIGRlc2NyaWJlZCBpbiB0YWJ1bGFyIHN0eWxlLiBOb3JtYWxseSB0aGlzIHRhZyBpcyBub3QgbmVjZXNzYXJ5LCBzaW5jZSBjb2xvdXIgc3BhY2UgaXMgc3BlY2lmaWVkIGluIHRoZSBjb2xvdXIgc3BhY2UgaW5mb3JtYXRpb24gdGFnICg8Q29sb3JTcGFjZT4pLgBBLURFUABBLVRUTABBRSBCcmFja2V0IFZhbHVlAEFFIEJyYWNrZXRpbmcAQUUgSW5mbwBBRSBTZXR0aW5nAEFFIGdvb2QAQUUgbG9jawBBRSBsb2NrICsgZXhwb3N1cmUgY29tcGVuc2F0aW9uAEFGIEZvY3VzIFBvc2l0aW9uAEFGIFBvaW50AEFGIFBvaW50IFNlbGVjdGVkAEFGIFJlc3VsdABBRiBub24gRCBsZW5zAEFGIHBvc2l0aW9uOiBib3R0b20AQUYgcG9zaXRpb246IGNlbnRyZQBBRiBwb3NpdGlvbjogZmFyIGxlZnQAQUYgcG9zaXRpb246IGZhciByaWdodABBRiBwb3NpdGlvbjogbGVmdABBRiBwb3NpdGlvbjogbG93ZXItbGVmdABBRiBwb3NpdGlvbjogbG93ZXItcmlnaHQAQUYgcG9zaXRpb246IHJpZ2h0AEFGIHBvc2l0aW9uOiB0b3AAQUYgcG9zaXRpb246IHVwcGVyLWxlZnQAQUYgcG9zaXRpb246IHVwcGVyLXJpZ2h0AEFGLUMAQUYtRCBHIFZSIGxlbnMAQUYtRCBHIGxlbnMAQUYtRCBWUiBsZW5zAEFGLUQgb3IgQUYtUyBsZW5zAEFGLVMAQUkgZm9jdXMgQUYAQUkgc2Vydm8gQUYAQVNDSUkAQVZJK1RITQBBY3Rpb24AQWRhcHRvcgBBZGQsIGNvcnJlY3QgYW5kIHJlbW92ZSBlbnRyaWVzIHRvIGdldCBFWElGIGRhdGEgdGhhdCBmb2xsb3dzIHRoZSBzcGVjaWZpY2F0aW9uLgBBZGp1c3QgZXhwb3N1cmUAQWRvYmUgUkdCAEFsbABBbHRpdHVkZQBBbHRpdHVkZSBSZWZlcmVuY2UAQXBlcnR1cmUAQXBlcnR1cmUgVmFsdWUAQXBlcnR1cmUgcHJpb3JpdHkAQXBlcnR1cmUgcHJpb3JpdHkgQUUAQXF1YXJpdW0AQXJ0aXN0AEF1dG8AQXV0byAoMTAwLTQwMCUpAEF1dG8gQUYgUG9pbnQAQXV0byBBRiBwb2ludCBzZWxlY3Rpb24AQXV0byBCcmFja2V0aW5nAEF1dG8gRXhwb3N1cmUgQ2hlY2sAQXV0byBGb2N1cyBDaGVjawBBdXRvIElTTwBBdXRvIFJvdGF0ZQBBdXRvIGJyYWNrZXQAQXV0byBleHBvc3VyZQBBdXRvIGhpZ2gAQXV0byB3aGl0ZSBiYWxhbmNlAEF1dG8sIGRpZCBub3QgZmlyZQBBdXRvLCBkaWQgbm90IGZpcmUsIHJlZC1leWUgcmVkdWN0aW9uAEF1dG8sIGZpcmVkAEF1dG8sIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbgBBdXRvLCByZWQtZXllIHJlZHVjdGlvbgBBdXRvLXNlbGVjdGVkAEF1dG9mb2N1cyBQb2ludHMgVXNlZABBdXRvbWF0aWMAQXV0dW1uAEF2LXByaW9yaXR5AEF2ZXJhZ2UAQXZnAEIAQmF0dGVyeSBJbmZvAEJhdHRlcnkgTGV2ZWwAQmVhY2gAQmVhcmluZyBvZiBEZXN0aW5hdGlvbgBCZXN0AEJlc3RzaG90IE1vZGUAQmV0dGVyAEJpdHMgcGVyIFNhbXBsZQBCbGFjayAmIFdoaXRlIE1vZGUAQmxhY2sgJiB3aGl0ZQBCbGFjayBMZXZlbABCbGFjayBQb2ludABCbHVlIEJhbGFuY2UAQmx1ciBDaGVjawBCbHVyIHdhcm5pbmcAQm90dG9tAEJvdHRvbSB0byB0b3AAQm90dG9tLWNlbnRyZQBCb3R0b20tbGVmdABCb3R0b20tcmlnaHQAQnJhY2tldGluZwBCcmlnaHQrAEJyaWdodC0AQnJpZ2h0bmVzcwBCcmlnaHRuZXNzIFZhbHVlAEJ1bGIgRHVyYXRpb24AQnl0ZQBCeXRlIGF0IHBvc2l0aW9uICVpOiAweCUwMngAQ0NEIFNjYW4gTW9kZQBDQ0QgU2Vuc2l0aXZpdHkAQ0NTIElTTyBTZW5zaXRpdml0eQBDRkEgUGF0dGVybgBDTVlLAENSMgBDUjIrSlBFRwBDUlcrVEhNAENhbWVyYSBJRABDYW1lcmEgSW5mbwBDYW1lcmEgVGVtcGVyYXR1cmUAQ2FtZXJhIFR5cGUAQ2FuZGxlbGlnaHQAQ2Fub24gRUYgMTAwLTMwMG1tIEY1LjZMAENhbm9uIEVGIDEwMC00MDBtbSBmLzQuNS01LjZMIElTAENhbm9uIEVGIDEwMC00MDBtbSBmLzQuNS01LjZMIElTICsgeDEuNABDYW5vbiBFRiAxMDAtNDAwbW0gZi80LjUtNS42TCBJUyArIHgyAENhbm9uIEVGIDEwMG1tIGYvMgBDYW5vbiBFRiAxMDBtbSBmLzIuOCBNYWNybwBDYW5vbiBFRiAxMzVtbSBmLzJMAENhbm9uIEVGIDE1bW0gZi8yLjgAQ2Fub24gRUYgMTYtMzVtbSBmLzIuOEwAQ2Fub24gRUYgMTctNDBtbSBmLzRMAENhbm9uIEVGIDE4MG1tIE1hY3JvIGYvMy41TCBvciBTaWdtYSAxODBtbSBFWCBIU00gTWFjcm8gZi8zLjUAQ2Fub24gRUYgMjAtMzVtbSBmLzMuNS00LjUgVVNNAENhbm9uIEVGIDIwMG1tIGYvMS44TABDYW5vbiBFRiAyMDBtbSBmLzIuOEwAQ2Fub24gRUYgMjAwbW0gZi8yLjhMIElJAENhbm9uIEVGIDI0LTEwNW1tIGYvNEwgSVMAQ2Fub24gRUYgMjQtNzBtbSBmLzIuOEwAQ2Fub24gRUYgMjQtODVtbSBmLzMuNS00LjUgVVNNAENhbm9uIEVGIDI0bW0gZi8yLjggb3IgU2lnbWEgMTVtbSBmLzIuOCBFWCBGaXNoZXllAENhbm9uIEVGIDI4LTEwNW1tIGYvMy41LTQuNSBVU00AQ2Fub24gRUYgMjgtMTA1bW0gZi80LTUuNgBDYW5vbiBFRiAyOC0xMzVtbSBmLzMuNS01LjYgSVMAQ2Fub24gRUYgMjgtMjAwbW0gZi8zLjUtNS42AENhbm9uIEVGIDI4LTcwbW0gZi8yLjhMIG9yIFNpZ21hIDI0LTcwbW0gRVggZi8yLjgAQ2Fub24gRUYgMjgtODAgZi8zLjUtNS42IFVTTSBJVgBDYW5vbiBFRiAyOC04MG1tIGYvMy41LTUuNgBDYW5vbiBFRiAyOG1tIGYvMS44IFVTTQBDYW5vbiBFRiAyOG1tIGYvMi44AENhbm9uIEVGIDMwMG1tIGYvMi44TABDYW5vbiBFRiAzMDBtbSBmLzIuOEwgSVMAQ2Fub24gRUYgMzAwbW0gZi80TCBJUwBDYW5vbiBFRiAzNS0zNTBtbSBmLzMuNS01LjZMAENhbm9uIEVGIDM1bW0gZi8xLjRMAENhbm9uIEVGIDM1bW0gZi8yAENhbm9uIEVGIDQwMG1tIGYvMi44TABDYW5vbiBFRiA0MDBtbSBmLzIuOEwgKyB4MgBDYW5vbiBFRiA0MDBtbSBmLzQgRE8gSVMAQ2Fub24gRUYgNTAwbW0gZi80LjVMAENhbm9uIEVGIDUwMG1tIGYvNEwgSVMAQ2Fub24gRUYgNTBtbSBGMS4yTCBVU00AQ2Fub24gRUYgNTBtbSBmLzEuMEwAQ2Fub24gRUYgNTBtbSBmLzEuNABDYW5vbiBFRiA1MG1tIGYvMS44AENhbm9uIEVGIDUwbW0gZi8xLjggTWtJSQBDYW5vbiBFRiA2MDBtbSBmLzRMIElTAENhbm9uIEVGIDcwLTIwMG1tIGYvMi44IEwAQ2Fub24gRUYgNzAtMjAwbW0gZi8yLjggTCArIHgxLjQAQ2Fub24gRUYgNzAtMjAwbW0gZi8yLjggTCArIHgyAENhbm9uIEVGIDcwLTIwMG1tIGYvMi44TCBJUyBVU00AQ2Fub24gRUYgNzAtMjAwbW0gZi8yLjhMIElTIFVTTSArIHgxLjQAQ2Fub24gRUYgNzAtMjAwbW0gZi8yLjhMIElTIFVTTSArIHgyAENhbm9uIEVGIDcwLTIwMG1tIGYvNEwAQ2Fub24gRUYgNzAtMjAwbW0gZi80TCBJUyBVU00AQ2Fub24gRUYgNzAtMzAwbW0gRjQtNS42IElTIFVTTQBDYW5vbiBFRiA3MC0zMDBtbSBmLzQuNS01LjYgRE8gSVMgVVNNAENhbm9uIEVGIDc1LTMwMG1tIGYvNC01LjYAQ2Fub24gRUYgNzUtMzAwbW0gZi80LTUuNiBJUwBDYW5vbiBFRiA4MC0yMDBtbSBmLzIuOEwAQ2Fub24gRUYgODVtbSBmLzEuMkwAQ2Fub24gRUYgODVtbSBmLzEuOCBVU00AQ2Fub24gRUYgOTAtMzAwbW0gZi80LjUtNS42AENhbm9uIEVGLVMgMTctODVtbSBmNC01LjYgSVMgVVNNAENhbm9uIEVGLVMgMTgtNTVtbSBmLzMuNS00LjUgVVNNAENhbm9uIEVGLVMgMTgtNTVtbSBmLzMuNS01LjYAQ2Fub24gRUYtUzEwLTIybW0gRjMuNS00LjUgVVNNAENhbm9uIEVGLVM2MG1tIEYyLjggTWFjcm8gVVNNAENhbm9uIE1QLUUgNjVtbSBmLzIuOCAxLTV4IE1hY3JvIFBob3RvAENhbm9uIFRTLUUgMjRtbSBmLzMuNUwAQ2Fub24gVFMtRSA0NW1tIGYvMi44AENhbm9uIFRTLUUgOTBtbSBmLzIuOABDYXB0dXJlIEVkaXRvciBEYXRhAENhcHR1cmUgRWRpdG9yIFZlcnNpb24AQ2FwdHVyZSBNb2RlAENiAENlbnRyZQBDZW50cmUtcmlnaHQAQ2VudHJlLXdlaWdodABDZW50cmUtd2VpZ2h0ZWQgYXZlcmFnZQBDZW50cmVkAENlbnRpbWV0cmUAQ2hyb21hdGljaXR5IFNhdHVyYXRpb24AQ2h1bmt5IGZvcm1hdABDaWVMQUIAQ2xvc2UAQ2xvc2UgdmlldwBDbG91ZHkAQ2xvdWR5IHdlYXRoZXIAQ28tc2l0ZWQAQ29sb3VyAENvbG91ciBBZGp1c3RtZW50IE1vZGUAQ29sb3VyIENvbnRyb2wAQ29sb3VyIEluZm9ybWF0aW9uAENvbG91ciBNYXRyaXgAQ29sb3VyIE1hdHJpeCBOdW1iZXIAQ29sb3VyIE1vZGUAQ29sb3VyIE1vZGUgKD8pAENvbG91ciBTcGFjZQBDb2xvdXIgVG9uZQBDb2xvdXIgYWNjZW50AENvbG91ciBzZXF1ZW50aWFsIGFyZWEgc2Vuc29yAENvbG91ciBzZXF1ZW50aWFsIGxpbmVhciBzZW5zb3IAQ29sb3VyIHN3YXAAQ29sb3VycwBDb21wYWN0AENvbXBvbmVudHMgQ29uZmlndXJhdGlvbgBDb21wcmVzc2VkIEJpdHMgcGVyIFBpeGVsAENvbXByZXNzaW9uAENvbXByZXNzaW9uIFJhdGlvAENvbnRpbnVvdXMAQ29udGludW91cyBTZXF1ZW5jZSBOdW1iZXIAQ29udGludW91cyBUYWtpbmcAQ29udGludW91cywgaGlnaABDb250aW51b3VzLCBsb3cAQ29udGludW91cywgc3BlZWQgcHJpb3JpdHkAQ29udHJhc3QAQ29udHJhc3QgQ3VydmUAQ29udHJhc3QgU2V0dGluZwBDb250cmFzdCsAQ29udHJhc3QtAENvbnZlcnRlcgBDb29sIHdoaXRlIGZsdW9yZXNjZW50AENvcHlyaWdodABDb3B5cmlnaHQgaW5mb3JtYXRpb24uIEluIHRoaXMgc3RhbmRhcmQgdGhlIHRhZyBpcyB1c2VkIHRvIGluZGljYXRlIGJvdGggdGhlIHBob3RvZ3JhcGhlciBhbmQgZWRpdG9yIGNvcHlyaWdodHMuIEl0IGlzIHRoZSBjb3B5cmlnaHQgbm90aWNlIG9mIHRoZSBwZXJzb24gb3Igb3JnYW5pc2F0aW9uIGNsYWltaW5nIHJpZ2h0cyB0byB0aGUgaW1hZ2UuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IGNvcHlyaWdodCBzdGF0ZW1lbnQgaW5jbHVkaW5nIGRhdGUgYW5kIHJpZ2h0cyBzaG91bGQgYmUgd3JpdHRlbiBpbiB0aGlzIGZpZWxkOyBlLmcuLCAiQ29weXJpZ2h0LCBKb2huIFNtaXRoLCAxOXh4LiBBbGwgcmlnaHRzIHJlc2VydmVkLiIuIEluIHRoaXMgc3RhbmRhcmQgdGhlIGZpZWxkIHJlY29yZHMgYm90aCB0aGUgcGhvdG9ncmFwaGVyIGFuZCBlZGl0b3IgY29weXJpZ2h0cywgd2l0aCBlYWNoIHJlY29yZGVkIGluIGEgc2VwYXJhdGUgcGFydCBvZiB0aGUgc3RhdGVtZW50LiBXaGVuIHRoZXJlIGlzIGEgY2xlYXIgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgcGhvdG9ncmFwaGVyIGFuZCBlZGl0b3IgY29weXJpZ2h0cywgdGhlc2UgYXJlIHRvIGJlIHdyaXR0ZW4gaW4gdGhlIG9yZGVyIG9mIHBob3RvZ3JhcGhlciBmb2xsb3dlZCBieSBlZGl0b3IgY29weXJpZ2h0LCBzZXBhcmF0ZWQgYnkgTlVMTCAoaW4gdGhpcyBjYXNlLCBzaW5jZSB0aGUgc3RhdGVtZW50IGFsc28gZW5kcyB3aXRoIGEgTlVMTCwgdGhlcmUgYXJlIHR3byBOVUxMIGNvZGVzKSAoc2VlIGV4YW1wbGUgMSkuIFdoZW4gb25seSB0aGUgcGhvdG9ncmFwaGVyIGlzIGdpdmVuLCBpdCBpcyB0ZXJtaW5hdGVkIGJ5IG9uZSBOVUxMIGNvZGUgKHNlZSBleGFtcGxlIDIpLiBXaGVuIG9ubHkgdGhlIGVkaXRvciBjb3B5cmlnaHQgaXMgZ2l2ZW4sIHRoZSBwaG90b2dyYXBoZXIgY29weXJpZ2h0IHBhcnQgY29uc2lzdHMgb2Ygb25lIHNwYWNlIGZvbGxvd2VkIGJ5IGEgdGVybWluYXRpbmcgTlVMTCBjb2RlLCB0aGVuIHRoZSBlZGl0b3IgY29weXJpZ2h0IGlzIGdpdmVuIChzZWUgZXhhbXBsZSAzKS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBDb3JydXB0IGRhdGEAQ29zaW5hIDEwMG1tIGYvMy41IE1hY3JvIEFGAENyAENyZWF0aXZlAENyZWF0aXZlIHByb2dyYW1tZSAoYmlhc2VkIHRvd2FyZHMgZGVwdGggb2YgZmllbGQpAENyZWF0aXZlIHByb2dyYW1tZSAoYmlhc2VkIHRvd2FyZHMgZmFzdCBzaHV0dGVyIHNwZWVkKQBDdXN0b20AQ3VzdG9tIDEAQ3VzdG9tIDIAQ3VzdG9tIEZ1bmN0aW9ucwBDdXN0b20gUmVuZGVyZWQAQ3VzdG9tIHByb2Nlc3MARDU1AEQ2NQBENzUARFNDAERhcmsgcGV0AERhdGEgRHVtcABEYXRlAERhdGUgYW5kIFRpbWUARGF0ZSBhbmQgVGltZSAoRGlnaXRpc2VkKQBEYXRlIGFuZCBUaW1lIChPcmlnaW5hbCkARGF5IHdoaXRlIGZsdW9yZXNjZW50AERheWxpZ2h0AERheWxpZ2h0IFNhdmluZ3MARGF5bGlnaHQgZmx1b3Jlc2NlbnQARGVidWdnaW5nIGluZm9ybWF0aW9uAERlYnVnZ2luZyBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuAERlZmF1bHQARGVmaW5lZCBieSBBZG9iZSBDb3Jwb3JhdGlvbiB0byBlbmFibGUgVElGRiBUcmVlcyB3aXRoaW4gYSBUSUZGIGZpbGUuAERlZmxhdGUvWklQIGNvbXByZXNzaW9uAERlc3RpbmF0aW9uIENpdHkARGVzdGluYXRpb24gQ2l0eSBDb2RlAERlc3RpbmF0aW9uIERTVABEZXN0aW5hdGlvbiBEYXlsaWdodCBTYXZpbmdzIFRpbWUARGV2ZWxvcG1lbnQgRHluYW1pYyBSYW5nZSBXaWRlIE1vZGUARGV2aWNlIFNldHRpbmcgRGVzY3JpcHRpb24ARGlnaXRhbCBab29tAERpZ2l0YWwgWm9vbSBSYXRpbwBEaWdpdGFsIGZpbHRlcgBEaWdpdGFsIGZpbHRlcj8ARGlnaXRhbCBtYWNybwBEaXJlY3Rpb24gb2YgTW92ZW1lbnQARGlyZWN0bHkgcGhvdG9ncmFwaGVkAERpc3BsYXkgQXBlcnR1cmUARGlzdGFuY2Ugb2YgcGhvdG9ncmFwaGVkIG9iamVjdCBpbiBtaWxsaW1ldGVycy4ARGlzdGFuY2UgdG8gRGVzdGluYXRpb24ARGlzdGFudABEaXN0YW50IHZpZXcARG8gbm90IGNoYW5nZSBtYWtlciBub3RlAERvY3VtZW50IE5hbWUARG91YmxlAERyaXZlIE1vZGUARHluYW1pYyBSYW5nZQBEeW5hbWljIFJhbmdlIFdpZGUgTW9kZQBFLVRUTABFT1MgaGlnaC1lbmQARU9TIG1pZC1yYW5nZQBFWElGIGhlYWRlciBub3QgZm91bmQuAEVYSUYgbWFya2VyIG5vdCBmb3VuZC4ARWFzdCBvciBXZXN0IExvbmdpdHVkZQBFYXN5IFNob290aW5nIE1vZGUARWFzeSBzaG9vdGluZwBFY29ub215AEVuY29kZXMgdGltZSB6b25lIG9mIGNhbWVyYSBjbG9jayByZWxhdGl2ZSB0byBHTVQuAEVuaGFuY2VtZW50AEVwc29uIEltYWdlIEhlaWdodABFcHNvbiBJbWFnZSBXaWR0aABFcHNvbiBTb2Z0d2FyZSBWZXJzaW9uAEV2YWx1YXRpdmUARXhpZiBWZXJzaW9uAEV4aWYgVmVyc2lvbiAlZC4lZABFeHBvc3VyZSBCaWFzAEV4cG9zdXJlIEJyYWNrZXQgVmFsdWUARXhwb3N1cmUgQ29tcGVuc2F0aW9uAEV4cG9zdXJlIEluZGV4AEV4cG9zdXJlIE1vZGUARXhwb3N1cmUgUHJvZ3JhbQBFeHBvc3VyZSBUaW1lAEV4cG9zdXJlIGNvbXBlbnNhdGlvbgBFeHBvc3VyZSB0aW1lLCBnaXZlbiBpbiBzZWNvbmRzIChzZWMpLgBFeHBvc3VyZWRpZmYgPwBFeHRlcm5hbABFeHRlcm5hbCAxAEV4dGVybmFsIDIARXh0ZXJuYWwgMwBFeHRlcm5hbCBGbGFzaCBCb3VuY2UARXh0ZXJuYWwgRmxhc2ggRyBWYWx1ZQBFeHRlcm5hbCBGbGFzaCBNb2RlAEV4dGVybmFsIEZsYXNoIFpvb20ARXh0ZXJuYWwgZmxhc2gARi1CJlcARi1DaHJvbWUARi1OdW1iZXIARi1TdGFuZGFyZABGMC9TdGFuZGFyZABGMS9TdHVkaW8gcG9ydHJhaXQARjFhL1Byb2Zlc3Npb25hbCBwb3J0cmFpdABGMWIvUHJvZmVzc2lvbmFsIHBvcnRyYWl0AEYxYy9Qcm9mZXNzaW9uYWwgcG9ydHJhaXQARjIvRnVqaWNocm9tZQBGMy9TdHVkaW8gcG9ydHJhaXQgRXgARjQvVmVsdmlhAEZOdW1iZXIARlAgc3luYyBlbmFibGVkAEZQIHN5bmMgdXNlZABGYWl0aGZ1bABGYXIgcmFuZ2UARmFzdABGYXN0IHNodXR0ZXIARmlsZSBTb3VyY2UARmlsbABGaWxsIE9yZGVyAEZpbG0gU2ltdWxhdGlvbiBNb2RlAEZpbG0gc2ltdWxhdGlvbiBtb2RlAEZpbmUARmluZSB3ZWF0aGVyAEZpbmUsIEhRAEZpbmUsIFJBVwBGaW5lLCBTSFEARmluZSwgU1EARmluZSwgU1ExAEZpbmUsIFNRMgBGaW5lLCBzdXBlciBoaWdoAEZpbmVQaXggQ29sb3VyAEZpbmVyAEZpcmV3b3JrcwBGaXJtd2FyZSBWZXJzaW9uAEZpc2hleWUgb24ARml4ZWQARml4ZWQgY2VudHJlAEZsYXNoAEZsYXNoIEFjdGl2aXR5AEZsYXNoIENoYXJnZSBMZXZlbABGbGFzaCBEZXRhaWxzAEZsYXNoIERldmljZQBGbGFzaCBEaXN0YW5jZQBGbGFzaCBFbmVyZ3kARmxhc2ggRXhwb3N1cmUgQnJhY2tldCBWYWx1ZQBGbGFzaCBFeHBvc3VyZSBDb21wAEZsYXNoIEV4cG9zdXJlIENvbXBlbnNhdGlvbgBGbGFzaCBGaXJpbmcgU3RyZW5ndGggQ29tcGVuc2F0aW9uAEZsYXNoIEd1aWRlIE51bWJlcgBGbGFzaCBJbmZvAEZsYXNoIE1vZGUARmxhc2ggU2V0dGluZwBGbGFzaCBVc2VkAEZsYXNoIGRpZCBub3QgZmlyZQBGbGFzaCBkaWQgbm90IGZpcmUsIGF1dG8gbW9kZQBGbGFzaCBkaWQgbm90IGZpcmUsIGF1dG8gbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZQBGbGFzaCBkaWQgbm90IGZpcmUsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZQBGbGFzaCBmaXJlZABGbGFzaCBmaXJlZCwgYXV0byBtb2RlAEZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUARmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkAEZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZQBGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkAEZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUARmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZQBGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZABGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkAEZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZABGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkAEZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlAEZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQARmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQARmxhc2ggaXMgZXh0ZXJuYWwARmxhc2ggaXMgb24gY2FtZXJhAEZsYXNoIG9mZgBGbGFzaCBvbgBGbGFzaCB1bml0IHVua25vd24ARmxhc2hQaXggVmVyc2lvbiAxLjAARmxhc2hQaXggVmVyc2lvbiAxLjAxAEZsaWNrZXIgUmVkdWNlAEZsb2F0AEZsb3dlcgBGbHVvcmVzY2VuY2UARmx1b3Jlc2NlbnQARm9jYWwgTGVuZ3RoAEZvY2FsIExlbmd0aCBpbiAzNW1tIEZpbG0ARm9jYWwgUGxhbmUgRGlhZ29uYWwARm9jYWwgUGxhbmUgUmVzb2x1dGlvbiBVbml0AEZvY2FsIFBsYW5lIFggU2l6ZQBGb2NhbCBQbGFuZSBYLVJlc29sdXRpb24ARm9jYWwgUGxhbmUgWSBTaXplAEZvY2FsIFBsYW5lIFktUmVzb2x1dGlvbgBGb2NhbCBUeXBlAEZvY2FsIFVuaXRzIHBlciBtbQBGb2N1cwBGb2N1cyBEaXN0YW5jZSBMb3dlcgBGb2N1cyBEaXN0YW5jZSBVcHBlcgBGb2N1cyBNb2RlAEZvY3VzIFBvaW50AEZvY3VzIFBvc2l0aW9uAEZvY3VzIFJhbmdlAEZvY3VzIFN0ZXAgQ291bnQARm9jdXMgZ29vZABGb2N1c2luZyBNb2RlAEZvbGlhZ2UARm9sbG93IHNwZWNpZmljYXRpb24ARm9vZABGb3IgZWFjaCBzdHJpcCwgdGhlIGJ5dGUgb2Zmc2V0IG9mIHRoYXQgc3RyaXAuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhpcyBiZSBzZWxlY3RlZCBzbyB0aGUgbnVtYmVyIG9mIHN0cmlwIGJ5dGVzIGRvZXMgbm90IGV4Y2VlZCA2NCBLYnl0ZXMuIFdpdGggSlBFRyBjb21wcmVzc2VkIGRhdGEgdGhpcyBkZXNpZ25hdGlvbiBpcyBub3QgbmVlZGVkIGFuZCBpcyBvbWl0dGVkLiBTZWUgYWxzbyA8Um93c1BlclN0cmlwPiBhbmQgPFN0cmlwQnl0ZUNvdW50cz4uAEZyYW1lIE51bWJlcgBGcmFtZSBjb21wb3NpdGUARnVsbABGdWxsIGF1dG8ARwBHUFMgRGF0ZQBHUFMgRGlmZmVyZW50aWFsIENvcnJlY3Rpb24AR1BTIEltYWdlIERpcmVjdGlvbgBHUFMgSW1hZ2UgRGlyZWN0aW9uIFJlZmVyZW5jZQBHUFMgSW5mbyBJRkQgUG9pbnRlcgBHUFMgTWVhc3VyZW1lbnQgTW9kZQBHUFMgUmVjZWl2ZXIgU3RhdHVzAEdQUyBTYXRlbGxpdGVzAEdQUyBUYWcgVmVyc2lvbgBHUFMgVGltZSAoQXRvbWljIENsb2NrKQBHYWluIENvbnRyb2wAR2FtbWEAR2VvZGV0aWMgU3VydmV5IERhdGEgVXNlZABHb29kAEdyZXlzY2FsZQBHcmVlbiBtb2RlAEhhcmQASGFyZGVzdABIaWdoAEhpZ2ggZ2FpbiBkb3duAEhpZ2ggZ2FpbiB1cABIaWdoIHNhdHVyYXRpb24ASGlnaGVzdABIb21lIERheWxpZ2h0IFNhdmluZ3MgVGltZQBIb21ldG93biBDaXR5AEhvbWV0b3duIENpdHkgQ29kZQBIb21ldG93biBEU1QASHVlIEFkanVzdG1lbnQASVNPAElTTyAxMDAASVNPIDE2MABJU08gMjAwAElTTyAzMjAASVNPIDMyMDAASVNPIDQwMABJU08gNTAASVNPIDgwAElTTyBOdW1iZXIASVNPIFNlbGVjdGlvbgBJU08gU2V0dGluZwBJU08gU3BlZWQASVNPIFNwZWVkIFJhdGluZ3MASVNPIFZhbHVlAElTTyBzdHVkaW8gdHVuZ3N0ZW4ASWdub3JlIHVua25vd24gdGFncwBJZ25vcmUgdW5rbm93biB0YWdzIHdoZW4gbG9hZGluZyBFWElGIGRhdGEuAElsbHVzdHJhdGlvbnMASW1hZ2UgQWRqdXN0bWVudABJbWFnZSBBcmVhIE9mZnNldABJbWFnZSBCb3VuZGFyeQBJbWFnZSBEYXRhIFNpemUASW1hZ2UgRGVzY3JpcHRpb24ASW1hZ2UgTGVuZ3RoAEltYWdlIE51bWJlcgBJbWFnZSBQcm9jZXNzaW5nAEltYWdlIFJlc291cmNlcyBCbG9jawBJbWFnZSBTaGFycGVuaW5nAEltYWdlIFNpemUASW1hZ2UgU3RhYmlsaXNhdGlvbgBJbWFnZSBUb25lAEltYWdlIFR5cGUASW1hZ2UgVW5pcXVlIElEAEltYWdlIFdpZHRoAEluY2FuZGVzY2VuY2UASW5jYW5kZXNjZW50AEluY2gASW5kaWNhdGVzIHRoZSBHUFMgRE9QIChkYXRhIGRlZ3JlZSBvZiBwcmVjaXNpb24pLiBBbiBIRE9QIHZhbHVlIGlzIHdyaXR0ZW4gZHVyaW5nIHR3by1kaW1lbnNpb25hbCBtZWFzdXJlbWVudCwgYW5kIFBET1AgZHVyaW5nIHRocmVlLWRpbWVuc2lvbmFsIG1lYXN1cmVtZW50LgBJbmRpY2F0ZXMgdGhlIEdQUyBtZWFzdXJlbWVudCBtb2RlLiAnMicgbWVhbnMgdHdvLWRpbWVuc2lvbmFsIG1lYXN1cmVtZW50IGFuZCAnMycgbWVhbnMgdGhyZWUtZGltZW5zaW9uYWwgbWVhc3VyZW1lbnQgaXMgaW4gcHJvZ3Jlc3MuAEluZGljYXRlcyB0aGUgR1BTIHNhdGVsbGl0ZXMgdXNlZCBmb3IgbWVhc3VyZW1lbnRzLiBUaGlzIHRhZyBjYW4gYmUgdXNlZCB0byBkZXNjcmliZSB0aGUgbnVtYmVyIG9mIHNhdGVsbGl0ZXMsIHRoZWlyIElEIG51bWJlciwgYW5nbGUgb2YgZWxldmF0aW9uLCBhemltdXRoLCBTTlIgYW5kIG90aGVyIGluZm9ybWF0aW9uIGluIEFTQ0lJIG5vdGF0aW9uLiBUaGUgZm9ybWF0IGlzIG5vdCBzcGVjaWZpZWQuIElmIHRoZSBHUFMgcmVjZWl2ZXIgaXMgaW5jYXBhYmxlIG9mIHRha2luZyBtZWFzdXJlbWVudHMsIHZhbHVlIG9mIHRoZSB0YWcgc2hhbGwgYmUgc2V0IHRvIE5VTEwuAEluZGljYXRlcyB0aGUgSVNPIFNwZWVkIGFuZCBJU08gTGF0aXR1ZGUgb2YgdGhlIGNhbWVyYSBvciBpbnB1dCBkZXZpY2UgYXMgc3BlY2lmaWVkIGluIElTTyAxMjIzMi4ASW5kaWNhdGVzIHRoZSBPcHRvLUVsZWN0cm9uaWMgQ29udmVyc2lvbiBGdW5jdGlvbiAoT0VDRikgc3BlY2lmaWVkIGluIElTTyAxNDUyNC4gPE9FQ0Y+IGlzIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgY2FtZXJhIG9wdGljYWwgaW5wdXQgYW5kIHRoZSBpbWFnZSB2YWx1ZXMuAEluZGljYXRlcyB0aGUgYWx0aXR1ZGUgYmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbiBHUFNBbHRpdHVkZVJlZi4gQWx0aXR1ZGUgaXMgZXhwcmVzc2VkIGFzIG9uZSBSQVRJT05BTCB2YWx1ZS4gVGhlIHJlZmVyZW5jZSB1bml0IGlzIG1ldHJlcy4ASW5kaWNhdGVzIHRoZSBhbHRpdHVkZSB1c2VkIGFzIHRoZSByZWZlcmVuY2UgYWx0aXR1ZGUuIElmIHRoZSByZWZlcmVuY2UgaXMgc2VhIGxldmVsIGFuZCB0aGUgYWx0aXR1ZGUgaXMgYWJvdmUgc2VhIGxldmVsLCAwIGlzIGdpdmVuLiBJZiB0aGUgYWx0aXR1ZGUgaXMgYmVsb3cgc2VhIGxldmVsLCBhIHZhbHVlIG9mIDEgaXMgZ2l2ZW4gYW5kIHRoZSBhbHRpdHVkZSBpcyBpbmRpY2F0ZWQgYXMgYW4gYWJzb2x1dGUgdmFsdWUgaW4gdGhlIEdTUEFsdGl0dWRlIHRhZy4gVGhlIHJlZmVyZW5jZSB1bml0IGlzIG1ldHJlcy4gTm90ZSB0aGF0IHRoaXMgdGFnIGlzIEJZVEUgdHlwZSwgdW5saWtlIG90aGVyIHJlZmVyZW5jZSB0YWdzLgBJbmRpY2F0ZXMgdGhlIGJlYXJpbmcgdG8gdGhlIGRlc3RpbmF0aW9uIHBvaW50LiBUaGUgcmFuZ2Ugb2YgdmFsdWVzIGlzIGZyb20gMC4wMCB0byAzNTkuOTkuAEluZGljYXRlcyB0aGUgY29sb3VyIGZpbHRlciBhcnJheSAoQ0ZBKSBnZW9tZXRyaWMgcGF0dGVybiBvZiB0aGUgaW1hZ2Ugc2Vuc29yIHdoZW4gYSBvbmUtY2hpcCBjb2xvdXIgYXJlYSBzZW5zb3IgaXMgdXNlZC4gSXQgZG9lcyBub3QgYXBwbHkgdG8gYWxsIHNlbnNpbmcgbWV0aG9kcy4ASW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2YgR1BTIHJlY2VpdmVyIG1vdmVtZW50LiBUaGUgcmFuZ2Ugb2YgdmFsdWVzIGlzIGZyb20gMC4wMCB0byAzNTkuOTkuAEluZGljYXRlcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBpbWFnZSB3aGVuIGl0IHdhcyBjYXB0dXJlZC4gVGhlIHJhbmdlIG9mIHZhbHVlcyBpcyBmcm9tIDAuMDAgdG8gMzU5Ljk5LgBJbmRpY2F0ZXMgdGhlIGRpc3RhbmNlIHRvIHRoZSBkZXN0aW5hdGlvbiBwb2ludC4ASW5kaWNhdGVzIHRoZSBleHBvc3VyZSBpbmRleCBzZWxlY3RlZCBvbiB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZSBhdCB0aGUgdGltZSB0aGUgaW1hZ2UgaXMgY2FwdHVyZWQuAEluZGljYXRlcyB0aGUgZ2VvZGV0aWMgc3VydmV5IGRhdGEgdXNlZCBieSB0aGUgR1BTIHJlY2VpdmVyLiBJZiB0aGUgc3VydmV5IGRhdGEgaXMgcmVzdHJpY3RlZCB0byBKYXBhbiwgdGhlIHZhbHVlIG9mIHRoaXMgdGFnIGlzICdUT0tZTycgb3IgJ1dHUy04NCcuIElmIGEgR1BTIEluZm8gdGFnIGlzIHJlY29yZGVkLCBpdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0aGF0IHRoaXMgdGFnIGJlIHJlY29yZGVkLgBJbmRpY2F0ZXMgdGhlIGlkZW50aWZpY2F0aW9uIG9mIHRoZSBJbnRlcm9wZXJhYmlsaXR5IHJ1bGUuIFVzZSAiUjk4IiBmb3Igc3RhdGluZyBFeGlmUjk4IFJ1bGVzLiBGb3VyIGJ5dGVzIHVzZWQgaW5jbHVkaW5nIHRoZSB0ZXJtaW5hdGlvbiBjb2RlIChOVUxMKS4gc2VlIHRoZSBzZXBhcmF0ZSB2b2x1bWUgb2YgUmVjb21tZW5kZWQgRXhpZiBJbnRlcm9wZXJhYmlsaXR5IFJ1bGVzIChFeGlmUjk4KSBmb3Igb3RoZXIgdGFncyB1c2VkIGZvciBFeGlmUjk4LgBJbmRpY2F0ZXMgdGhlIGltYWdlIHNlbnNvciB0eXBlIG9uIHRoZSBjYW1lcmEgb3IgaW5wdXQgZGV2aWNlLgBJbmRpY2F0ZXMgdGhlIGltYWdlIHNvdXJjZS4gSWYgYSBEU0MgcmVjb3JkZWQgdGhlIGltYWdlLCB0aGUgdGFnIHZhbHVlIG9mIHRoaXMgdGFnIGFsd2F5cyBiZSBzZXQgdG8gMywgaW5kaWNhdGluZyB0aGF0IHRoZSBpbWFnZSB3YXMgcmVjb3JkZWQgb24gYSBEU0MuAEluZGljYXRlcyB0aGUgbGF0aXR1ZGUgb2YgdGhlIGRlc3RpbmF0aW9uIHBvaW50LiBUaGUgbGF0aXR1ZGUgaXMgZXhwcmVzc2VkIGFzIHRocmVlIFJBVElPTkFMIHZhbHVlcyBnaXZpbmcgdGhlIGRlZ3JlZXMsIG1pbnV0ZXMsIGFuZCBzZWNvbmRzLCByZXNwZWN0aXZlbHkuIElmIGxhdGl0dWRlIGlzIGV4cHJlc3NlZCBhcyBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzLCBhIHR5cGljYWwgZm9ybWF0IHdvdWxkIGJlIGRkLzEsbW0vMSxzcy8xLiBXaGVuIGRlZ3JlZXMgYW5kIG1pbnV0ZXMgYXJlIHVzZWQgYW5kLCBmb3IgZXhhbXBsZSwgZnJhY3Rpb25zIG9mIG1pbnV0ZXMgYXJlIGdpdmVuIHVwIHRvIHR3byBkZWNpbWFsIHBsYWNlcywgdGhlIGZvcm1hdCB3b3VsZCBiZSBkZC8xLG1tbW0vMTAwLDAvMS4ASW5kaWNhdGVzIHRoZSBsYXRpdHVkZS4gVGhlIGxhdGl0dWRlIGlzIGV4cHJlc3NlZCBhcyB0aHJlZSBSQVRJT05BTCB2YWx1ZXMgZ2l2aW5nIHRoZSBkZWdyZWVzLCBtaW51dGVzLCBhbmQgc2Vjb25kcywgcmVzcGVjdGl2ZWx5LiBXaGVuIGRlZ3JlZXMsIG1pbnV0ZXMgYW5kIHNlY29uZHMgYXJlIGV4cHJlc3NlZCwgdGhlIGZvcm1hdCBpcyBkZC8xLG1tLzEsc3MvMS4gV2hlbiBkZWdyZWVzIGFuZCBtaW51dGVzIGFyZSB1c2VkIGFuZCwgZm9yIGV4YW1wbGUsIGZyYWN0aW9ucyBvZiBtaW51dGVzIGFyZSBnaXZlbiB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMsIHRoZSBmb3JtYXQgaXMgZGQvMSxtbW1tLzEwMCwwLzEuAEluZGljYXRlcyB0aGUgbG9jYXRpb24gb2YgdGhlIG1haW4gc3ViamVjdCBpbiB0aGUgc2NlbmUuIFRoZSB2YWx1ZSBvZiB0aGlzIHRhZyByZXByZXNlbnRzIHRoZSBwaXhlbCBhdCB0aGUgY2VudHJlIG9mIHRoZSBtYWluIHN1YmplY3QgcmVsYXRpdmUgdG8gdGhlIGxlZnQgZWRnZSwgcHJpb3IgdG8gcm90YXRpb24gcHJvY2Vzc2luZyBhcyBwZXIgdGhlIDxSb3RhdGlvbj4gdGFnLiBUaGUgZmlyc3QgdmFsdWUgaW5kaWNhdGVzIHRoZSBYIGNvbHVtbiBudW1iZXIgYW5kIHRoZSBzZWNvbmQgaW5kaWNhdGVzIHRoZSBZIHJvdyBudW1iZXIuAEluZGljYXRlcyB0aGUgbG9uZ2l0dWRlIG9mIHRoZSBkZXN0aW5hdGlvbiBwb2ludC4gVGhlIGxvbmdpdHVkZSBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgZGVncmVlcywgbWludXRlcywgYW5kIHNlY29uZHMsIHJlc3BlY3RpdmVseS4gSWYgbG9uZ2l0dWRlIGlzIGV4cHJlc3NlZCBhcyBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzLCBhIHR5cGljYWwgZm9ybWF0IHdvdWxkIGJlIGRkZC8xLG1tLzEsc3MvMS4gV2hlbiBkZWdyZWVzIGFuZCBtaW51dGVzIGFyZSB1c2VkIGFuZCwgZm9yIGV4YW1wbGUsIGZyYWN0aW9ucyBvZiBtaW51dGVzIGFyZSBnaXZlbiB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMsIHRoZSBmb3JtYXQgd291bGQgYmUgZGRkLzEsbW1tbS8xMDAsMC8xLgBJbmRpY2F0ZXMgdGhlIGxvbmdpdHVkZS4gVGhlIGxvbmdpdHVkZSBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgZGVncmVlcywgbWludXRlcywgYW5kIHNlY29uZHMsIHJlc3BlY3RpdmVseS4gV2hlbiBkZWdyZWVzLCBtaW51dGVzIGFuZCBzZWNvbmRzIGFyZSBleHByZXNzZWQsIHRoZSBmb3JtYXQgaXMgZGRkLzEsbW0vMSxzcy8xLiBXaGVuIGRlZ3JlZXMgYW5kIG1pbnV0ZXMgYXJlIHVzZWQgYW5kLCBmb3IgZXhhbXBsZSwgZnJhY3Rpb25zIG9mIG1pbnV0ZXMgYXJlIGdpdmVuIHVwIHRvIHR3byBkZWNpbWFsIHBsYWNlcywgdGhlIGZvcm1hdCBpcyBkZGQvMSxtbW1tLzEwMCwwLzEuAEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHBpeGVscyBpbiB0aGUgaW1hZ2UgaGVpZ2h0IChWKSBkaXJlY3Rpb24gcGVyIDxGb2NhbFBsYW5lUmVzb2x1dGlvblVuaXQ+IG9uIHRoZSBjYW1lcmEgZm9jYWwgcGxhbmUuAEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHBpeGVscyBpbiB0aGUgaW1hZ2Ugd2lkdGggKFgpIGRpcmVjdGlvbiBwZXIgPEZvY2FsUGxhbmVSZXNvbHV0aW9uVW5pdD4gb24gdGhlIGNhbWVyYSBmb2NhbCBwbGFuZS4ASW5kaWNhdGVzIHRoZSByZWZlcmVuY2UgZm9yIGdpdmluZyB0aGUgZGlyZWN0aW9uIG9mIEdQUyByZWNlaXZlciBtb3ZlbWVudC4gJ1QnIGRlbm90ZXMgdHJ1ZSBkaXJlY3Rpb24gYW5kICdNJyBpcyBtYWduZXRpYyBkaXJlY3Rpb24uAEluZGljYXRlcyB0aGUgcmVmZXJlbmNlIGZvciBnaXZpbmcgdGhlIGRpcmVjdGlvbiBvZiB0aGUgaW1hZ2Ugd2hlbiBpdCBpcyBjYXB0dXJlZC4gJ1QnIGRlbm90ZXMgdHJ1ZSBkaXJlY3Rpb24gYW5kICdNJyBpcyBtYWduZXRpYyBkaXJlY3Rpb24uAEluZGljYXRlcyB0aGUgcmVmZXJlbmNlIHVzZWQgZm9yIGdpdmluZyB0aGUgYmVhcmluZyB0byB0aGUgZGVzdGluYXRpb24gcG9pbnQuICdUJyBkZW5vdGVzIHRydWUgZGlyZWN0aW9uIGFuZCAnTScgaXMgbWFnbmV0aWMgZGlyZWN0aW9uLgBJbmRpY2F0ZXMgdGhlIHNwZWN0cmFsIHNlbnNpdGl2aXR5IG9mIGVhY2ggY2hhbm5lbCBvZiB0aGUgY2FtZXJhIHVzZWQuIFRoZSB0YWcgdmFsdWUgaXMgYW4gQVNDSUkgc3RyaW5nIGNvbXBhdGlibGUgd2l0aCB0aGUgc3RhbmRhcmQgZGV2ZWxvcGVkIGJ5IHRoZSBBU1RNIFRlY2huaWNhbCBDb21taXR0ZWUuAEluZGljYXRlcyB0aGUgc3BlZWQgb2YgR1BTIHJlY2VpdmVyIG1vdmVtZW50LgBJbmRpY2F0ZXMgdGhlIHN0YXR1cyBvZiB0aGUgR1BTIHJlY2VpdmVyIHdoZW4gdGhlIGltYWdlIGlzIHJlY29yZGVkLiAnQScgbWVhbnMgbWVhc3VyZW1lbnQgaXMgaW4gcHJvZ3Jlc3MsIGFuZCAnVicgbWVhbnMgdGhlIG1lYXN1cmVtZW50IGlzIEludGVyb3BlcmFiaWxpdHkuAEluZGljYXRlcyB0aGUgc3Ryb2JlIGVuZXJneSBhdCB0aGUgdGltZSB0aGUgaW1hZ2UgaXMgY2FwdHVyZWQsIGFzIG1lYXN1cmVkIGluIEJlYW0gQ2FuZGxlIFBvd2VyIFNlY29uZHMgKEJDUFMpLgBJbmRpY2F0ZXMgdGhlIHRpbWUgYXMgVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkuIFRpbWVTdGFtcCBpcyBleHByZXNzZWQgYXMgdGhyZWUgUkFUSU9OQUwgdmFsdWVzIGdpdmluZyB0aGUgaG91ciwgbWludXRlLCBhbmQgc2Vjb25kLgBJbmRpY2F0ZXMgdGhlIHR5cGUgb2Ygc2NlbmUuIElmIGEgRFNDIHJlY29yZGVkIHRoZSBpbWFnZSwgdGhpcyB0YWcgdmFsdWUgbXVzdCBhbHdheXMgYmUgc2V0IHRvIDEsIGluZGljYXRpbmcgdGhhdCB0aGUgaW1hZ2Ugd2FzIGRpcmVjdGx5IHBob3RvZ3JhcGhlZC4ASW5kaWNhdGVzIHRoZSB1bml0IGZvciBtZWFzdXJpbmcgPEZvY2FsUGxhbmVYUmVzb2x1dGlvbj4gYW5kIDxGb2NhbFBsYW5lWVJlc29sdXRpb24+LiBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGFzIHRoZSA8UmVzb2x1dGlvblVuaXQ+LgBJbmRpY2F0ZXMgdGhlIHVuaXQgdXNlZCB0byBleHByZXNzIHRoZSBHUFMgcmVjZWl2ZXIgc3BlZWQgb2YgbW92ZW1lbnQuICdLJywgJ00nIGFuZCAnTicgcmVwcmVzZW50IGtpbG9tZXRlcnMgcGVyIGhvdXIsIG1pbGVzIHBlciBob3VyLCBhbmQga25vdHMuAEluZGljYXRlcyB0aGUgdmFsdWUgb2YgY29lZmZpY2llbnQgZ2FtbWEuAEluZGljYXRlcyB0aGUgdmVyc2lvbiBvZiA8R1BTSW5mb0lGRD4uIFRoZSB2ZXJzaW9uIGlzIGdpdmVuIGFzIDIuMC4wLjAuIFRoaXMgdGFnIGlzIG1hbmRhdG9yeSB3aGVuIDxHUFNJbmZvPiB0YWcgaXMgcHJlc2VudC4gKE5vdGU6IFRoZSA8R1BTVmVyc2lvbklEPiB0YWcgaXMgZ2l2ZW4gaW4gYnl0ZXMsIHVubGlrZSB0aGUgPEV4aWZWZXJzaW9uPiB0YWcuIFdoZW4gdGhlIHZlcnNpb24gaXMgMi4wLjAuMCwgdGhlIHRhZyB2YWx1ZSBpcyAwMjAwMDAwMC5IKS4ASW5kaWNhdGVzIHdoZXRoZXIgZGlmZmVyZW50aWFsIGNvcnJlY3Rpb24gaXMgYXBwbGllZCB0byB0aGUgR1BTIHJlY2VpdmVyLgBJbmRpY2F0ZXMgd2hldGhlciBwaXhlbCBjb21wb25lbnRzIGFyZSByZWNvcmRlZCBpbiBhIGNodW5reSBvciBwbGFuYXIgZm9ybWF0LiBJbiBKUEVHIGNvbXByZXNzZWQgZmlsZXMgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuIElmIHRoaXMgZmllbGQgZG9lcyBub3QgZXhpc3QsIHRoZSBUSUZGIGRlZmF1bHQgb2YgMSAoY2h1bmt5KSBpcyBhc3N1bWVkLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbGF0aXR1ZGUgaXMgbm9ydGggb3Igc291dGggbGF0aXR1ZGUuIFRoZSBBU0NJSSB2YWx1ZSAnTicgaW5kaWNhdGVzIG5vcnRoIGxhdGl0dWRlLCBhbmQgJ1MnIGlzIHNvdXRoIGxhdGl0dWRlLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbGF0aXR1ZGUgb2YgdGhlIGRlc3RpbmF0aW9uIHBvaW50IGlzIG5vcnRoIG9yIHNvdXRoIGxhdGl0dWRlLiBUaGUgQVNDSUkgdmFsdWUgJ04nIGluZGljYXRlcyBub3J0aCBsYXRpdHVkZSwgYW5kICdTJyBpcyBzb3V0aCBsYXRpdHVkZS4ASW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxvbmdpdHVkZSBpcyBlYXN0IG9yIHdlc3QgbG9uZ2l0dWRlLiBBU0NJSSAnRScgaW5kaWNhdGVzIGVhc3QgbG9uZ2l0dWRlLCBhbmQgJ1cnIGlzIHdlc3QgbG9uZ2l0dWRlLgBJbmRpY2F0ZXMgd2hldGhlciB0aGUgbG9uZ2l0dWRlIG9mIHRoZSBkZXN0aW5hdGlvbiBwb2ludCBpcyBlYXN0IG9yIHdlc3QgbG9uZ2l0dWRlLiBBU0NJSSAnRScgaW5kaWNhdGVzIGVhc3QgbG9uZ2l0dWRlLCBhbmQgJ1cnIGlzIHdlc3QgbG9uZ2l0dWRlLgBJbmRvb3IASW5maW5pdGUASW5maW5pdHkASW5maW5pdHkgTGVucyBTdGVwAEluZm8ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBUaGUgY2hhbm5lbHMgb2YgZWFjaCBjb21wb25lbnQgYXJlIGFycmFuZ2VkIGluIG9yZGVyIGZyb20gdGhlIDFzdCBjb21wb25lbnQgdG8gdGhlIDR0aC4gRm9yIHVuY29tcHJlc3NlZCBkYXRhIHRoZSBkYXRhIGFycmFuZ2VtZW50IGlzIGdpdmVuIGluIHRoZSA8UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4gdGFnLiBIb3dldmVyLCBzaW5jZSA8UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4gY2FuIG9ubHkgZXhwcmVzcyB0aGUgb3JkZXIgb2YgWSwgQ2IgYW5kIENyLCB0aGlzIHRhZyBpcyBwcm92aWRlZCBmb3IgY2FzZXMgd2hlbiBjb21wcmVzc2VkIGRhdGEgdXNlcyBjb21wb25lbnRzIG90aGVyIHRoYW4gWSwgQ2IsIGFuZCBDciBhbmQgdG8gZW5hYmxlIHN1cHBvcnQgb2Ygb3RoZXIgc2VxdWVuY2VzLgBJbmZvcm1hdGlvbiBzcGVjaWZpYyB0byBjb21wcmVzc2VkIGRhdGEuIFRoZSBjb21wcmVzc2lvbiBtb2RlIHVzZWQgZm9yIGEgY29tcHJlc3NlZCBpbWFnZSBpcyBpbmRpY2F0ZWQgaW4gdW5pdCBiaXRzIHBlciBwaXhlbC4ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBXaGVuIGEgY29tcHJlc3NlZCBmaWxlIGlzIHJlY29yZGVkLCB0aGUgdmFsaWQgaGVpZ2h0IG9mIHRoZSBtZWFuaW5nZnVsIGltYWdlIG11c3QgYmUgcmVjb3JkZWQgaW4gdGhpcyB0YWcsIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIHBhZGRpbmcgZGF0YSBvciBhIHJlc3RhcnQgbWFya2VyLiBUaGlzIHRhZyBzaG91bGQgbm90IGV4aXN0IGluIGFuIHVuY29tcHJlc3NlZCBmaWxlLiBTaW5jZSBkYXRhIHBhZGRpbmcgaXMgdW5uZWNlc3NhcnkgaW4gdGhlIHZlcnRpY2FsIGRpcmVjdGlvbiwgdGhlIG51bWJlciBvZiBsaW5lcyByZWNvcmRlZCBpbiB0aGlzIHZhbGlkIGltYWdlIGhlaWdodCB0YWcgd2lsbCBpbiBmYWN0IGJlIHRoZSBzYW1lIGFzIHRoYXQgcmVjb3JkZWQgaW4gdGhlIFNPRi4ASW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gY29tcHJlc3NlZCBkYXRhLiBXaGVuIGEgY29tcHJlc3NlZCBmaWxlIGlzIHJlY29yZGVkLCB0aGUgdmFsaWQgd2lkdGggb2YgdGhlIG1lYW5pbmdmdWwgaW1hZ2UgbXVzdCBiZSByZWNvcmRlZCBpbiB0aGlzIHRhZywgd2hldGhlciBvciBub3QgdGhlcmUgaXMgcGFkZGluZyBkYXRhIG9yIGEgcmVzdGFydCBtYXJrZXIuIFRoaXMgdGFnIHNob3VsZCBub3QgZXhpc3QgaW4gYW4gdW5jb21wcmVzc2VkIGZpbGUuAEludGVsAEludGVybGFjZWQASW50ZXJuYWwASW50ZXJuYWwgKyBleHRlcm5hbABJbnRlcm5hbCBGbGFzaCBUYWJsZQBJbnRlcm5hbCBlcnJvciAodW5rbm93biB2YWx1ZSAlaGkpAEludGVybmFsIGVycm9yICh1bmtub3duIHZhbHVlICVpICVpKQBJbnRlcm5hbCBlcnJvciAodW5rbm93biB2YWx1ZSAlaSkASW50ZXJvcGVyYWJpbGl0eSBJRkQgUG9pbnRlcgBJbnRlcm9wZXJhYmlsaXR5IElGRCBpcyBjb21wb3NlZCBvZiB0YWdzIHdoaWNoIHN0b3JlcyB0aGUgaW5mb3JtYXRpb24gdG8gZW5zdXJlIHRoZSBJbnRlcm9wZXJhYmlsaXR5IGFuZCBwb2ludGVkIGJ5IHRoZSBmb2xsb3dpbmcgdGFnIGxvY2F0ZWQgaW4gRXhpZiBJRkQuIFRoZSBJbnRlcm9wZXJhYmlsaXR5IHN0cnVjdHVyZSBvZiBJbnRlcm9wZXJhYmlsaXR5IElGRCBpcyB0aGUgc2FtZSBhcyBUSUZGIGRlZmluZWQgSUZEIHN0cnVjdHVyZSBidXQgZG9lcyBub3QgY29udGFpbiB0aGUgaW1hZ2UgZGF0YSBjaGFyYWN0ZXJpc3RpY2FsbHkgY29tcGFyZWQgd2l0aCBub3JtYWwgVElGRiBJRkQuAEludGVyb3BlcmFiaWxpdHkgSW5kZXgASW50ZXJvcGVyYWJpbGl0eSBWZXJzaW9uAEludmFsaWQgZm9ybWF0ICclcycsIGV4cGVjdGVkICclcycgb3IgJyVzJy4ASW52YWxpZCBmb3JtYXQgJyVzJywgZXhwZWN0ZWQgJyVzJy4ASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpIG9yICVpKS4ASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpKS4ASW52YWxpZCBzaXplIG9mIGVudHJ5ICglaSwgZXhwZWN0ZWQgJWxpIHggJWkpLgBKUEVHAEpQRUcgSW50ZXJjaGFuZ2UgRm9ybWF0AEpQRUcgSW50ZXJjaGFuZ2UgRm9ybWF0IExlbmd0aABKUEVHIGNvbXByZXNzaW9uAEtpZHMgJiBwZXRzAExaVyBjb21wcmVzc2lvbgBMYW1wAExhbmRzY2FwZQBMYW5kc2NhcGUgbW9kZSAoZm9yIGxhbmRzY2FwZSBwaG90b3Mgd2l0aCB0aGUgYmFja2dyb3VuZCBpbiBmb2N1cykATGFyZ2UATGF0aXR1ZGUATGF0aXR1ZGUgb2YgRGVzdGluYXRpb24ATGVmdABMZWZ0IHRvIHJpZ2h0AExlZnQtYm90dG9tAExlZnQtY2VudHJlAExlZnQtcmlnaHQATGVmdC10b3AATGVucwBMZW5zIERpc3RvcnRpb24gUGFyYW1ldGVycwBMZW5zIEYgU3RvcHMATGVucyBJbmZvAExlbnMgVGVtcGVyYXR1cmUATGVucyBUeXBlAExpZ2h0IENvbmRpdGlvbgBMaWdodCBTb3VyY2UATGlnaHQgU291cmNlIFNwZWNpYWwATGlnaHQgVHlwZQBMaWdodCBWYWx1ZSBDZW50cmUATGlnaHQgVmFsdWUgUGVyaXBoZXJ5AExpZ2h0IHBldABMb25nAExvbmcgRm9jYWwgTGVuZ3RoIG9mIExlbnMATG9uZyBzaHV0dGVyAExvbmdpdHVkZQBMb25naXR1ZGUgb2YgRGVzdGluYXRpb24ATG93AExvdyBnYWluIGRvd24ATG93IGdhaW4gdXAATG93IHNhdHVyYXRpb24ATG93ZXItbGVmdABMb3dlci1yaWdodABMb3dlc3QATS1ERVAATWFjcm8ATWFjcm8gTW9kZQBNYWtlciBOb3RlAE1ha2VyIE5vdGUgVmVyc2lvbgBNYW51YWwATWFudWFsIEFGIHBvaW50IHNlbGVjdGlvbgBNYW51YWwgRmxhc2ggT3V0cHV0AE1hbnVhbCBGb2N1cyBEaXN0YW5jZQBNYW51YWwgZXhwb3N1cmUATWFudWFsIGZvY3VzAE1hbnVhbCB0ZW1wZXJhdHVyZSAoS2VsdmluKQBNYW51YWwgd2hpdGUgYmFsYW5jZQBNYW51YWw6ICVsaUsATWFudWFsOiB1bmtub3duAE1hbnVmYWN0dXJlcgBNYXhpbWFsIEFwZXJ0dXJlAE1heGltdW0gQXBlcnR1cmUgVmFsdWUATWF4aW11bSBBcGVydHVyZSBhdCBNYXhpbXVtIEZvY2FsAE1heGltdW0gQXBlcnR1cmUgYXQgTWluaW11bSBGb2NhbABNYXhpbXVtIEZvY2FsIExlbmd0aABNZWFzdXJlZCBFVgBNZWFzdXJlbWVudCBQcmVjaXNpb24ATWVkaXVtAE1lZGl1bSAxAE1lZGl1bSAyAE1lZGl1bSAzAE1lZGl1bSBoYXJkAE1lZGl1bSBoaWdoAE1lZGl1bSBsb3cATWVkaXVtIHBldABNZWRpdW0gc29mdABNZXRlcmluZyBNb2RlAE1pZC1sZWZ0AE1pZC1yaWdodABNaWRkbGUgcmFuZ2UATWluaW1hbCBBcGVydHVyZQBNaW5pbXVtIEZvY2FsIExlbmd0aABNb2RlbABNb2RlbCBJZGVudGlmaWNhdGlvbgBNb25vY2hyb21lAE1vdG9yb2xhAEZpbG0ATXVsdGkgc3BvdABNdWx0aS1leHBvc3VyZQBNdWx0aXBsZQBNdXNldW0ATXkgY29sb3VyIGRhdGEATXkgY29sb3VycwBOL0EATkQgRmlsdGVyAE5QICYgZmxhc2gATmFtZSBvZiBHUFMgQXJlYQBOYW1lIG9mIEdQUyBQcm9jZXNzaW5nIE1ldGhvZABOYXR1cmFsIHBob3RvAE5hdHVyYWwgc2tpbiB0b25lAE5lYXIgTGVucyBTdGVwAE5ldXRyYWwATmV3IFN1YmZpbGUgVHlwZQBOaWdodABOaWdodCBzY2VuZQBOaWdodCBzbmFwc2hvdABObwBObyBBRQBObyBibHVyAE5vIGZpc2hleWUATm8gZmxhc2gATm8gZmxhc2ggZnVuY3Rpb24ATm8gbWFudWFsIGZvY3VzIHNlbGVjdGlvbgBOb2lzZSBSZWR1Y3Rpb24ATm9uZQBOb25lIChNRikATm9ybWFsAE5vcm1hbCBBRQBOb3JtYWwgZm9jdXMATm9ybWFsIG1vbm8ATm9ybWFsIHByb2Nlc3MATm9ybWFsIHByb2dyYW1tZQBOb3JtYWwsIEhRAE5vcm1hbCwgUkFXAE5vcm1hbCwgU0hRAE5vcm1hbCwgU1EATm9ybWFsLCBTUTEATm9ybWFsLCBTUTIATm9ybWFsLCBzdGFuZGFyZABOb3JtYWwsIHN1cGVyIGhpZ2gATm9ydGggb3IgU291dGggTGF0aXR1ZGUATm90IGRlZmluZWQATm90IGVub3VnaCBtZW1vcnkATm90IGtub3duAE9iamVjdCBEaXN0YW5jZQBPZmYAT2Zmc2V0IG9mIHRoZSBwcmV2aWV3IGltYWdlIGRpcmVjdG9yeSAoSUZEKSBpbnNpZGUgdGhlIGZpbGUuAE9seW1wdXMgSW1hZ2UgSGVpZ2h0AE9seW1wdXMgSW1hZ2UgV2lkdGgAT24AT24gKFByZXNldCkAT24gKHNob3QgMSkAT24gKHNob3QgMikAT24gKHNob3QgMykAT24sIHJlZC1leWUgcmVkdWN0aW9uAE9uLCBzaG90IG9ubHkAT24sIHNsb3ctc3luYwBPbiwgc2xvdy1zeW5jLCByZWQtZXllIHJlZHVjdGlvbgBPbiwgc29mdABPbiwgdHJhaWxpbmctY3VydGFpbiBzeW5jAE9uLCB3aXJlbGVzcwBPbmUgVG91Y2ggV2hpdGUgQmFsYW5jZQBPbmUtY2hpcCBjb2xvdXIgYXJlYSBzZW5zb3IAT25lLXNob3QgQUYAT25lLXRvdWNoAE9wdGljYWwgWm9vbQBPcHRpbWlzZSBJbWFnZQBPcHRvLUVsZWN0cm9uaWMgQ29udmVyc2lvbiBGdW5jdGlvbgBPcmRlciBOdW1iZXIAT3JpZW50YXRpb24AT3JpZ2luYWwAT3RoZXIAT3V0IG9mIGZvY3VzAE92ZXIgZXhwb3NlZABPd25lciBOYW1lAFBDIHNldCAxAFBDIHNldCAyAFBDIHNldCAzAFBSSU5UIEltYWdlIE1hdGNoaW5nAFBhY2tCaXRzIGNvbXByZXNzaW9uAFBhZGRpbmcAUGFsZXR0ZQBQYW4gZm9jdXMAUGFub3JhbWEAUGFub3JhbWEgRGlyZWN0aW9uAFBhbm9yYW1hIEZyYW1lAFBhcnRpYWwAUGFydHkAUGF0dGVybgBQaG90byBFZmZlY3QAUGhvdG9tZXRyaWMgSW50ZXJwcmV0YXRpb24AUGljdHVyZSBNb2RlAFBpY3R1cmUgTW9kZSAoMikAUGljdHVyZSBTdHlsZQBQaXhlbCBYIERpbWVuc2lvbgBQaXhlbCBZIERpbWVuc2lvbgBQbGFuYXIgQ29uZmlndXJhdGlvbgBQbGFuYXIgZm9ybWF0AFBvcnRyYWl0AFBvcnRyYWl0IG1vZGUgKGZvciBjbG9zZXVwIHBob3RvcyB3aXRoIHRoZSBiYWNrZ3JvdW5kIG91dCBvZiBmb2N1cykAUG9zdGNhcmQAUHJlY2FwdHVyZSBGcmFtZXMAUHJlc2V0AFByZXNzIHN0YXJ0LCBwcmVzcyBzdG9wAFByZXZpZXcgSW1hZ2UgSUZEAFByZXZpZXcgSW1hZ2UgVmFsaWQAUHJldmlldyBMZW5ndGgAUHJldmlldyBTaXplAFByZXZpZXcgU3RhcnQAUHJpbWFyeSBDaHJvbWF0aWNpdGllcwBQcmludElNIFNldHRpbmdzAFByb2dyYW1tZQBQcm9ncmFtbWUgQUUAUHJvZ3Jlc3NpdmUAUXVhbGl0eQBRdWFsaXR5IExldmVsAFF1aWNrIFNob3QAUgBSQVcAUkdCAFJhdGlvbmFsAFJhdyBJbWFnZSBTaXplAFJlY29yZCBNb2RlAFJlY29yZCBTaHV0dGVyIFJlbGVhc2UAUmVjb3JkIHdoaWxlIGRvd24AUmVkIEJhbGFuY2UAUmVkIENvcnJlY3Rpb24gJWYsIGJsdWUgQ29ycmVjdGlvbiAlZgBSZWQtZXllIHJlZHVjdGlvbgBSZWZlcmVuY2UgQmxhY2svV2hpdGUAUmVmZXJlbmNlIEZvciBMYXRpdHVkZSBvZiBEZXN0aW5hdGlvbgBSZWZlcmVuY2UgZm9yIEJlYXJpbmcgb2YgRGVzdGluYXRpb24AUmVmZXJlbmNlIGZvciBEaXN0YW5jZSB0byBEZXN0aW5hdGlvbgBSZWZlcmVuY2UgZm9yIExvbmdpdHVkZSBvZiBEZXN0aW5hdGlvbgBSZWZlcmVuY2UgZm9yIGRpcmVjdGlvbiBvZiBtb3ZlbWVudABSZWxhdGVkIFNvdW5kIEZpbGUAUmVsYXRlZCB0byBFcHNvbidzIFBSSU5UIEltYWdlIE1hdGNoaW5nIHRlY2hub2xvZ3kAUmVzYXZlZABSZXNlcnZlZABSZXNvbHV0aW9uIFVuaXQAUmV2ZXJzZWQgbW9ubwBSaWdodABSaWdodCB0byBsZWZ0AFJpZ2h0LWJvdHRvbQBSaWdodC10b3AAUm90YXRlIDE4MABSb3RhdGUgMjcwIENXAFJvdGF0ZSA5MCBDVwBSb3RhdGVkIGJ5IHNvZnR3YXJlAFJvd3MgcGVyIFN0cmlwAFNCeXRlAFNMb25nAFNSYXRpb25hbABTU2hvcnQAU1hHQSBiYXNpYwBTWEdBIGZpbmUAU1hHQSBub3JtYWwAU2FtcGxlcyBwZXIgUGl4ZWwAU2F0dXJhdGlvbgBTY2VuZSBDYXB0dXJlIFR5cGUAU2NlbmUgRGV0ZWN0AFNjZW5lIFNlbGVjdABTY2VuZSBUeXBlAFNlYSBsZXZlbABTZWEgbGV2ZWwgcmVmZXJlbmNlAFNlbGYgcG9ydHJhaXQAU2VsZi10aW1lcgBTZW5zaW5nIE1ldGhvZABTZW5zb3IgUGl4ZWwgU2l6ZQBTZW5zb3IgVGVtcGVyYXR1cmUAU2VwaWEAU2VxdWVuY2UgTnVtYmVyAFNlcXVlbmNlIFNob3QgSW50ZXJ2YWwAU2VxdWVudGlhbCBTaG90AFNlcmlhbCBOdW1iZXIAU2V0IDEAU2V0IDIAU2V0IDMAU2V0dGluZ3MgKEZpcnN0IFBhcnQpAFNldHRpbmdzIChTZWNvbmQgUGFydCkAU2hhZGUAU2hha2UgUmVkdWN0aW9uIEluZm8AU2hhcnBuZXNzAFNoYXJwbmVzcyBGYWN0b3IAU2hhcnBuZXNzIEZyZXF1ZW5jeQBTaGFycG5lc3MgU2V0dGluZwBTaG9ydABTaG9ydCBGb2NhbCBMZW5ndGggb2YgTGVucwBTaG90IElTTwBTaHV0dGVyAFNodXR0ZXIgU3BlZWQAU2h1dHRlciBwcmlvcml0eQBTaHV0dGVyIHByaW9yaXR5IEFFAFNodXR0ZXIgc3BlZWQuIFRoZSB1bml0IGlzIHRoZSBBUEVYIChBZGRpdGl2ZSBTeXN0ZW0gb2YgUGhvdG9ncmFwaGljIEV4cG9zdXJlKSBzZXR0aW5nLgBTaWdtYSAxMC0yMG1tIEY0LTUuNiBvciAxMi0yNG1tIGYvNC41LTUuNiBvciAxNG1tIGYvMi44AFNpZ21hIDE1LTMwbW0gZi8zLjUtNC41IEVYIERHIEFzcGhlcmljYWwAU2lnbWEgMTctMzVtbSBmMi44LTQgRVggQXNwaGVyaWNhbCBIU00AU2lnbWEgMjBtbSBFWCBmLzEuOABTaWdtYSA1MG1tIGYvMi44IEVYIG9yIDI4bW0gZi8xLjgAU2lnbWEgVUMgWm9vbSAzNS0xMzVtbSBmLzQtNS42AFNpbmdsZQBTaXplIG9mIGNvbXByZXNzZWQgaW1hZ2UgZGF0YSBpbiBieXRlcy4AU2l6ZSBvZiBkYXRhIHRvbyBzbWFsbCB0byBhbGxvdyBmb3IgRVhJRiBkYXRhLgBTbG93IFNodXR0ZXIAU2xvdyBTeW5jaHJvIE1vZGUAU2xvdyBzaHV0dGVyAFNsb3cgc3luY2hybwBTbWFsbABTbW9vdGgAU25vdwBTb2Z0AFNvZnRlc3QAU29mdHdhcmUAU3BhdGlhbCBGcmVxdWVuY3kgUmVzcG9uc2UAU3BlY3RyYWwgU2Vuc2l0aXZpdHkAU3BlZWQgVW5pdABTcGVlZCBvZiBHUFMgUmVjZWl2ZXIAU3BlZWQvU2VxdWVuY2UvUGFub3JhbWEgRGlyZWN0aW9uAFNwZWVkTGlnaHQAU3BvcnQAU3BvcnRzAFNwb3QAU3BvdCBmb2N1cwBTdGFuZGFyZABTdGFuZGFyZCAoMTAwJSkAU3RhbmRhcmQgbGlnaHQgQQBTdGFuZGFyZCBsaWdodCBCAFN0YW5kYXJkIGxpZ2h0IEMAU3RpbGwgaW1hZ2UAU3RyaXAgQnl0ZSBDb3VudABTdHJpcCBPZmZzZXRzAFN0cm9iZSByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQAU3Ryb2JlIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQAU3ViLXNlY29uZCBUaW1lAFN1Yi1zZWNvbmQgVGltZSAoRGlnaXRpc2VkKQBTdWItc2Vjb25kIFRpbWUgKE9yaWdpbmFsKQBTdWJqZWN0IEFyZWEAU3ViamVjdCBEaXN0YW5jZQBTdWJqZWN0IERpc3RhbmNlIFJhbmdlAFN1YmplY3QgTG9jYXRpb24AU3VubnkAU3Vuc2V0AFN1bnNldCBvciBjYW5kbGVsaWdodABTdXBlciBmaW5lLCBIUQBTdXBlciBmaW5lLCBSQVcAU3VwZXIgZmluZSwgU0hRAFN1cGVyIGZpbmUsIFNRAFN1cGVyIGZpbmUsIFNRMQBTdXBlciBmaW5lLCBTUTIAU3VwZXIgZmluZSwgaGlnaABTdXBlciBmaW5lLCBzdXBlciBoaWdoAFN1cGVyIG1hY3JvAFN1cGVyZmluZQBTdXJmICYgc25vdwBTeW5jIHNvdW5kIHJlY29yZABUSUYAVElGK0pQRUcAVElGRgBUSUZGL0VQIFN0YW5kYXJkIElEAFRUTABUVgBUYWcgJyVzJyBpcyBvZiBmb3JtYXQgJyVzJyAod2hpY2ggaXMgYWdhaW5zdCBzcGVjaWZpY2F0aW9uKSBidXQgY2Fubm90IGJlIGNoYW5nZWQgdG8gZm9ybWF0ICclcycuAFRhZyAnJXMnIHdhcyBvZiBmb3JtYXQgJyVzJyAod2hpY2ggaXMgYWdhaW5zdCBzcGVjaWZpY2F0aW9uKSBhbmQgaGFzIGJlZW4gY2hhbmdlZCB0byBmb3JtYXQgJyVzJy4AVGFnICdVc2VyQ29tbWVudCcgZGlkIG5vdCBzdGFydCB3aXRoIGEgZm9ybWF0IGlkZW50aWZpZXIuIFRoaXMgaGFzIGJlZW4gZml4ZWQuAFRhZyAnVXNlckNvbW1lbnQnIGhhZCBpbnZhbGlkIGZvcm1hdCAnJXMnLiBGb3JtYXQgaGFzIGJlZW4gc2V0IHRvICd1bmRlZmluZWQnLgBUYWcgJ1VzZXJDb21tZW50JyBoYXMgYmVlbiBleHBhbmRlZCB0byBhdCBsZWFzdCA4IGJ5dGVzIGluIG9yZGVyIHRvIGZvbGxvdyB0aGUgc3BlY2lmaWNhdGlvbi4AVGFnICdVc2VyQ29tbWVudCcgaXMgbm90IGVtcHR5IGJ1dCBkb2VzIG5vdCBzdGFydCB3aXRoIGEgZm9ybWF0IGlkZW50aWZpZXIuIFRoaXMgaGFzIGJlZW4gZml4ZWQuAFRhbXJvbiBBRiBBc3BoZXJpY2FsIDI4LTIwMG1tIGYvMy44LTUuNgBUYW1yb24gU1AgQUYgMzAwbW0gZi8yLjggTEQgSUYAVGFyZ2V0IEFwZXJ0dXJlAFRhcmdldCBFeHBvc3VyZSBUaW1lAFRleHQAVGhlIEYgbnVtYmVyLgBUaGUgRmxhc2hQaXggZm9ybWF0IHZlcnNpb24gc3VwcG9ydGVkIGJ5IGEgRlBYUiBmaWxlLgBUaGUgYWN0dWFsIGZvY2FsIGxlbmd0aCBvZiB0aGUgbGVucywgaW4gbW0uIENvbnZlcnNpb24gaXMgbm90IG1hZGUgdG8gdGhlIGZvY2FsIGxlbmd0aCBvZiBhIDM1IG1tIGZpbG0gY2FtZXJhLgBUaGUgY2hyb21hdGljaXR5IG9mIHRoZSB0aHJlZSBwcmltYXJ5IGNvbG91cnMgb2YgdGhlIGltYWdlLiBOb3JtYWxseSB0aGlzIHRhZyBpcyBub3QgbmVjZXNzYXJ5LCBzaW5jZSBjb2xvdXIgc3BhY2UgaXMgc3BlY2lmaWVkIGluIHRoZSBjb2xvdXIgc3BhY2UgaW5mb3JtYXRpb24gdGFnICg8Q29sb3JTcGFjZT4pLgBUaGUgY2hyb21hdGljaXR5IG9mIHRoZSB3aGl0ZSBwb2ludCBvZiB0aGUgaW1hZ2UuIE5vcm1hbGx5IHRoaXMgdGFnIGlzIG5vdCBuZWNlc3NhcnksIHNpbmNlIGNvbG91ciBzcGFjZSBpcyBzcGVjaWZpZWQgaW4gdGhlIGNvbG91ciBzcGFjZSBpbmZvcm1hdGlvbiB0YWcgKDxDb2xvclNwYWNlPikuAFRoZSBjbGFzcyBvZiB0aGUgcHJvZ3JhbW1lIHVzZWQgYnkgdGhlIGNhbWVyYSB0byBzZXQgZXhwb3N1cmUgd2hlbiB0aGUgcGljdHVyZSBpcyB0YWtlbi4AVGhlIGNvbG91ciBzcGFjZSBpbmZvcm1hdGlvbiB0YWcgaXMgYWx3YXlzIHJlY29yZGVkIGFzIHRoZSBjb2xvdXIgc3BhY2Ugc3BlY2lmaWVyLiBOb3JtYWxseSBzUkdCICg9MSkgaXMgdXNlZCB0byBkZWZpbmUgdGhlIGNvbG91ciBzcGFjZSBiYXNlZCBvbiB0aGUgUEMgbW9uaXRvciBjb25kaXRpb25zIGFuZCBlbnZpcm9ubWVudC4gSWYgYSBjb2xvdXIgc3BhY2Ugb3RoZXIgdGhhbiBzUkdCIGlzIHVzZWQsIFVuY2FsaWJyYXRlZCAoPUZGRkYuSCkgaXMgc2V0LiBJbWFnZSBkYXRhIHJlY29yZGVkIGFzIFVuY2FsaWJyYXRlZCBjYW4gYmUgdHJlYXRlZCBhcyBzUkdCIHdoZW4gaXQgaXMgY29udmVydGVkIHRvIEZsYXNoUGl4LgBUaGUgY29tcHJlc3Npb24gc2NoZW1lIHVzZWQgZm9yIHRoZSBpbWFnZSBkYXRhLiBXaGVuIGEgcHJpbWFyeSBpbWFnZSBpcyBKUEVHIGNvbXByZXNzZWQsIHRoaXMgZGVzaWduYXRpb24gaXMgbm90IG5lY2Vzc2FyeSBhbmQgaXMgb21pdHRlZC4gV2hlbiB0aHVtYm5haWxzIHVzZSBKUEVHIGNvbXByZXNzaW9uLCB0aGlzIHRhZyB2YWx1ZSBpcyBzZXQgdG8gNi4AVGhlIGRhdGEgcHJvdmlkZWQgZG9lcyBub3QgZm9sbG93IHRoZSBzcGVjaWZpY2F0aW9uLgBUaGUgZGF0YSBzdXBwbGllZCBkb2VzIG5vdCBzZWVtIHRvIGNvbnRhaW4gRVhJRiBkYXRhLgBUaGUgZGF0ZSBhbmQgdGltZSBvZiBpbWFnZSBjcmVhdGlvbi4gSW4gdGhpcyBzdGFuZGFyZCAoRVhJRi0yLjEpIGl0IGlzIHRoZSBkYXRlIGFuZCB0aW1lIHRoZSBmaWxlIHdhcyBjaGFuZ2VkLgBUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBpbWFnZSB3YXMgc3RvcmVkIGFzIGRpZ2l0YWwgZGF0YS4AVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgb3JpZ2luYWwgaW1hZ2UgZGF0YSB3YXMgZ2VuZXJhdGVkLiBGb3IgYSBkaWdpdGFsIHN0aWxsIGNhbWVyYSB0aGUgZGF0ZSBhbmQgdGltZSB0aGUgcGljdHVyZSB3YXMgdGFrZW4gYXJlIHJlY29yZGVkLgBUaGUgZGlzdGFuY2UgdG8gdGhlIHN1YmplY3QsIGdpdmVuIGluIG1ldHJlcy4AVGhlIGV4cG9zdXJlIGJpYXMuIFRoZSB1bml0cyBpcyB0aGUgQVBFWCB2YWx1ZS4gT3JkaW5hcmlseSBpdCBpcyBnaXZlbiBpbiB0aGUgcmFuZ2Ugb2YgLTk5Ljk5IHRvIDk5Ljk5LgBUaGUgZmlsZSAnJXMnIGNvdWxkIG5vdCBiZSBvcGVuZWQuAFRoZSBpbWFnZSBvcmllbnRhdGlvbiB2aWV3ZWQgaW4gdGVybXMgb2Ygcm93cyBhbmQgY29sdW1ucy4AVGhlIGtpbmQgb2YgbGlnaHQgc291cmNlLgBUaGUgbGVucyBhcGVydHVyZS4gVGhlIHVuaXQgaXMgdGhlIEFQRVggdmFsdWUuAFRoZSBtYW51ZmFjdHVyZXIgb2YgdGhlIHJlY29yZGluZyBlcXVpcG1lbnQuIFRoaXMgaXMgdGhlIG1hbnVmYWN0dXJlciBvZiB0aGUgRFNDLCBzY2FubmVyLCB2aWRlbyBkaWdpdGlzZXIgb3Igb3RoZXIgZXF1aXBtZW50IHRoYXQgZ2VuZXJhdGVkIHRoZSBpbWFnZS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBUaGUgbWF0cml4IGNvZWZmaWNpZW50cyBmb3IgdHJhbnNmb3JtYXRpb24gZnJvbSBSR0IgdG8gWUNiQ3IgaW1hZ2UgZGF0YS4gTm8gZGVmYXVsdCBpcyBnaXZlbiBpbiBUSUZGOyBidXQgaGVyZSB0aGUgdmFsdWUgZ2l2ZW4gaW4gIkNvbG91ciBTcGFjZSBHdWlkZWxpbmVzIiwgaXMgdXNlZCBhcyB0aGUgZGVmYXVsdC4gVGhlIGNvbG91ciBzcGFjZSBpcyBkZWNsYXJlZCBpbiBhIGNvbG91ciBzcGFjZSBpbmZvcm1hdGlvbiB0YWcsIHdpdGggdGhlIGRlZmF1bHQgYmVpbmcgdGhlIHZhbHVlIHRoYXQgZ2l2ZXMgdGhlIG9wdGltYWwgaW1hZ2UgY2hhcmFjdGVyaXN0aWNzIEludGVyb3BlcmFiaWxpdHkgdGhpcyBjb25kaXRpb24uAFRoZSBtZXRlcmluZyBtb2RlLgBUaGUgbW9kZWwgbmFtZSBvciBtb2RlbCBudW1iZXIgb2YgdGhlIGVxdWlwbWVudC4gVGhpcyBpcyB0aGUgbW9kZWwgbmFtZSBvciBudW1iZXIgb2YgdGhlIERTQywgc2Nhbm5lciwgdmlkZW8gZGlnaXRpc2VyIG9yIG90aGVyIGVxdWlwbWVudCB0aGF0IGdlbmVyYXRlZCB0aGUgaW1hZ2UuIFdoZW4gdGhlIGZpZWxkIGlzIGxlZnQgYmxhbmssIGl0IGlzIHRyZWF0ZWQgYXMgdW5rbm93bi4AVGhlIG51bWJlciBvZiBiaXRzIHBlciBpbWFnZSBjb21wb25lbnQuIEluIHRoaXMgc3RhbmRhcmQgZWFjaCBjb21wb25lbnQgb2YgdGhlIGltYWdlIGlzIDggYml0cywgc28gdGhlIHZhbHVlIGZvciB0aGlzIHRhZyBpcyA4LiBTZWUgYWxzbyA8U2FtcGxlc1BlclBpeGVsPi4gSW4gSlBFRyBjb21wcmVzc2VkIGRhdGEgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuAFRoZSBudW1iZXIgb2YgYnl0ZXMgb2YgSlBFRyBjb21wcmVzc2VkIHRodW1ibmFpbCBkYXRhLiBUaGlzIGlzIG5vdCB1c2VkIGZvciBwcmltYXJ5IGltYWdlIEpQRUcgZGF0YS4gSlBFRyB0aHVtYm5haWxzIGFyZSBub3QgZGl2aWRlZCBidXQgYXJlIHJlY29yZGVkIGFzIGEgY29udGludW91cyBKUEVHIGJpdHN0cmVhbSBmcm9tIFNPSSB0byBFT0kuIEFwcG4gYW5kIENPTSBtYXJrZXJzIHNob3VsZCBub3QgYmUgcmVjb3JkZWQuIENvbXByZXNzZWQgdGh1bWJuYWlscyBtdXN0IGJlIHJlY29yZGVkIGluIG5vIG1vcmUgdGhhbiA2NCBLYnl0ZXMsIGluY2x1ZGluZyBhbGwgb3RoZXIgZGF0YSB0byBiZSByZWNvcmRlZCBpbiBBUFAxLgBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaW1hZ2UgZGF0YSwgZXF1YWwgdG8gdGhlIG51bWJlciBvZiBwaXhlbHMgcGVyIHJvdy4gSW4gSlBFRyBjb21wcmVzc2VkIGRhdGEgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuAFRoZSBudW1iZXIgb2YgY29tcG9uZW50cyBwZXIgcGl4ZWwuIFNpbmNlIHRoaXMgc3RhbmRhcmQgYXBwbGllcyB0byBSR0IgYW5kIFlDYkNyIGltYWdlcywgdGhlIHZhbHVlIHNldCBmb3IgdGhpcyB0YWcgaXMgMy4gSW4gSlBFRyBjb21wcmVzc2VkIGRhdGEgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuAFRoZSBudW1iZXIgb2YgcGl4ZWxzIHBlciA8UmVzb2x1dGlvblVuaXQ+IGluIHRoZSA8SW1hZ2VMZW5ndGg+IGRpcmVjdGlvbi4gVGhlIHNhbWUgdmFsdWUgYXMgPFhSZXNvbHV0aW9uPiBpcyBkZXNpZ25hdGVkLgBUaGUgbnVtYmVyIG9mIHBpeGVscyBwZXIgPFJlc29sdXRpb25Vbml0PiBpbiB0aGUgPEltYWdlV2lkdGg+IGRpcmVjdGlvbi4gV2hlbiB0aGUgaW1hZ2UgcmVzb2x1dGlvbiBpcyB1bmtub3duLCA3MiBbZHBpXSBpcyBkZXNpZ25hdGVkLgBUaGUgbnVtYmVyIG9mIHJvd3Mgb2YgaW1hZ2UgZGF0YS4gSW4gSlBFRyBjb21wcmVzc2VkIGRhdGEgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuAFRoZSBudW1iZXIgb2Ygcm93cyBwZXIgc3RyaXAuIFRoaXMgaXMgdGhlIG51bWJlciBvZiByb3dzIGluIHRoZSBpbWFnZSBvZiBvbmUgc3RyaXAgd2hlbiBhbiBpbWFnZSBpcyBkaXZpZGVkIGludG8gc3RyaXBzLiBXaXRoIEpQRUcgY29tcHJlc3NlZCBkYXRhIHRoaXMgZGVzaWduYXRpb24gaXMgbm90IG5lZWRlZCBhbmQgaXMgb21pdHRlZC4gU2VlIGFsc28gPFN0cmlwT2Zmc2V0cz4gYW5kIDxTdHJpcEJ5dGVDb3VudHM+LgBUaGUgb2Zmc2V0IHRvIHRoZSBzdGFydCBieXRlIChTT0kpIG9mIEpQRUcgY29tcHJlc3NlZCB0aHVtYm5haWwgZGF0YS4gVGhpcyBpcyBub3QgdXNlZCBmb3IgcHJpbWFyeSBpbWFnZSBKUEVHIGRhdGEuAFRoZSBwaXhlbCBjb21wb3NpdGlvbi4gSW4gSlBFRyBjb21wcmVzc2VkIGRhdGEgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuAFRoZSBwb3NpdGlvbiBvZiBjaHJvbWluYW5jZSBjb21wb25lbnRzIGluIHJlbGF0aW9uIHRvIHRoZSBsdW1pbmFuY2UgY29tcG9uZW50LiBUaGlzIGZpZWxkIGlzIGRlc2lnbmF0ZWQgb25seSBmb3IgSlBFRyBjb21wcmVzc2VkIGRhdGEgb3IgdW5jb21wcmVzc2VkIFlDYkNyIGRhdGEuIFRoZSBUSUZGIGRlZmF1bHQgaXMgMSAoY2VudHJlZCk7IGJ1dCB3aGVuIFk6Q2I6Q3IgPSA0OjI6MiBpdCBpcyByZWNvbW1lbmRlZCBpbiB0aGlzIHN0YW5kYXJkIHRoYXQgMiAoY28tc2l0ZWQpIGJlIHVzZWQgdG8gcmVjb3JkIGRhdGEsIGluIG9yZGVyIHRvIGltcHJvdmUgdGhlIGltYWdlIHF1YWxpdHkgd2hlbiB2aWV3ZWQgb24gVFYgc3lzdGVtcy4gV2hlbiB0aGlzIGZpZWxkIGRvZXMgbm90IGV4aXN0LCB0aGUgcmVhZGVyIHNoYWxsIGFzc3VtZSB0aGUgVElGRiBkZWZhdWx0LiBJbiB0aGUgY2FzZSBvZiBZOkNiOkNyID0gNDoyOjAsIHRoZSBUSUZGIGRlZmF1bHQgKGNlbnRyZWQpIGlzIHJlY29tbWVuZGVkLiBJZiB0aGUgcmVhZGVyIGRvZXMgbm90IGhhdmUgdGhlIGNhcGFiaWxpdHkgb2Ygc3VwcG9ydGluZyBib3RoIGtpbmRzIG9mIDxZQ2JDclBvc2l0aW9uaW5nPiwgaXQgc2hhbGwgZm9sbG93IHRoZSBUSUZGIGRlZmF1bHQgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgaW4gdGhpcyBmaWVsZC4gSXQgaXMgcHJlZmVyYWJsZSB0aGF0IHJlYWRlcnMgYmUgYWJsZSB0byBzdXBwb3J0IGJvdGggY2VudHJlZCBhbmQgY28tc2l0ZWQgcG9zaXRpb25pbmcuAFRoZSByZWZlcmVuY2UgYmxhY2sgcG9pbnQgdmFsdWUgYW5kIHJlZmVyZW5jZSB3aGl0ZSBwb2ludCB2YWx1ZS4gTm8gZGVmYXVsdHMgYXJlIGdpdmVuIGluIFRJRkYsIGJ1dCB0aGUgdmFsdWVzIGJlbG93IGFyZSBnaXZlbiBhcyBkZWZhdWx0cyBoZXJlLiBUaGUgY29sb3VyIHNwYWNlIGlzIGRlY2xhcmVkIGluIGEgY29sb3VyIHNwYWNlIGluZm9ybWF0aW9uIHRhZywgd2l0aCB0aGUgZGVmYXVsdCBiZWluZyB0aGUgdmFsdWUgdGhhdCBnaXZlcyB0aGUgb3B0aW1hbCBpbWFnZSBjaGFyYWN0ZXJpc3RpY3MgSW50ZXJvcGVyYWJpbGl0eSB0aGVzZSBjb25kaXRpb25zLgBUaGUgc2FtcGxpbmcgcmF0aW8gb2YgY2hyb21pbmFuY2UgY29tcG9uZW50cyBpbiByZWxhdGlvbiB0byB0aGUgbHVtaW5hbmNlIGNvbXBvbmVudC4gSW4gSlBFRyBjb21wcmVzc2VkIGRhdGEgYSBKUEVHIG1hcmtlciBpcyB1c2VkIGluc3RlYWQgb2YgdGhpcyB0YWcuAFRoZSBzbWFsbGVzdCBGIG51bWJlciBvZiB0aGUgbGVucy4gVGhlIHVuaXQgaXMgdGhlIEFQRVggdmFsdWUuIE9yZGluYXJpbHkgaXQgaXMgZ2l2ZW4gaW4gdGhlIHJhbmdlIG9mIDAwLjAwIHRvIDk5Ljk5LCBidXQgaXQgaXMgbm90IGxpbWl0ZWQgdG8gdGhpcyByYW5nZS4AVGhlIHN5c3RlbSBjYW5ub3QgcHJvdmlkZSBlbm91Z2ggbWVtb3J5LgBUaGUgdGFnICclcycgY29udGFpbnMgYW4gaW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWksIGV4cGVjdGVkICVpKS4AVGhlIHRhZyAnJXMnIGNvbnRhaW5zIGRhdGEgb2YgYW4gaW52YWxpZCBmb3JtYXQgKCclcycsIGV4cGVjdGVkICclcycpLgBUaGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIGluIGVhY2ggc3RyaXAuIFdpdGggSlBFRyBjb21wcmVzc2VkIGRhdGEgdGhpcyBkZXNpZ25hdGlvbiBpcyBub3QgbmVlZGVkIGFuZCBpcyBvbWl0dGVkLgBUaGUgdW5pdCBmb3IgbWVhc3VyaW5nIDxYUmVzb2x1dGlvbj4gYW5kIDxZUmVzb2x1dGlvbj4uIFRoZSBzYW1lIHVuaXQgaXMgdXNlZCBmb3IgYm90aCA8WFJlc29sdXRpb24+IGFuZCA8WVJlc29sdXRpb24+LiBJZiB0aGUgaW1hZ2UgcmVzb2x1dGlvbiBpcyB1bmtub3duLCAyIChpbmNoZXMpIGlzIGRlc2lnbmF0ZWQuAFRoZSB2YWx1ZSBvZiBicmlnaHRuZXNzLiBUaGUgdW5pdCBpcyB0aGUgQVBFWCB2YWx1ZS4gT3JkaW5hcmlseSBpdCBpcyBnaXZlbiBpbiB0aGUgcmFuZ2Ugb2YgLTk5Ljk5IHRvIDk5Ljk5LgBUaGUgdmVyc2lvbiBvZiB0aGlzIHN0YW5kYXJkIHN1cHBvcnRlZC4gTm9uZXhpc3RlbmNlIG9mIHRoaXMgZmllbGQgaXMgdGFrZW4gdG8gbWVhbiBub25jb25mb3JtYW5jZSB0byB0aGUgc3RhbmRhcmQuAFRoaXMgbnVtYmVyIGlzIHVuaXF1ZSBhbmQgYmFzZWQgb24gdGhlIGRhdGUgb2YgbWFudWZhY3R1cmUuAFRoaXMgdGFnIGluZGljYXRlcyBhbiBpZGVudGlmaWVyIGFzc2lnbmVkIHVuaXF1ZWx5IHRvIGVhY2ggaW1hZ2UuIEl0IGlzIHJlY29yZGVkIGFzIGFuIEFTQ0lJIHN0cmluZyBlcXVpdmFsZW50IHRvIGhleGFkZWNpbWFsIG5vdGF0aW9uIGFuZCAxMjgtYml0IGZpeGVkIGxlbmd0aC4AVGhpcyB0YWcgaW5kaWNhdGVzIGluZm9ybWF0aW9uIG9uIHRoZSBwaWN0dXJlLXRha2luZyBjb25kaXRpb25zIG9mIGEgcGFydGljdWxhciBjYW1lcmEgbW9kZWwuIFRoZSB0YWcgaXMgdXNlZCBvbmx5IHRvIGluZGljYXRlIHRoZSBwaWN0dXJlLXRha2luZyBjb25kaXRpb25zIGluIHRoZSByZWFkZXIuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgZGVncmVlIG9mIG92ZXJhbGwgaW1hZ2UgZ2FpbiBhZGp1c3RtZW50LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpZ2l0YWwgem9vbSByYXRpbyB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4gSWYgdGhlIG51bWVyYXRvciBvZiB0aGUgcmVjb3JkZWQgdmFsdWUgaXMgMCwgdGhpcyBpbmRpY2F0ZXMgdGhhdCBkaWdpdGFsIHpvb20gd2FzIG5vdCB1c2VkLgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpcmVjdGlvbiBvZiBjb250cmFzdCBwcm9jZXNzaW5nIGFwcGxpZWQgYnkgdGhlIGNhbWVyYSB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2Ygc2F0dXJhdGlvbiBwcm9jZXNzaW5nIGFwcGxpZWQgYnkgdGhlIGNhbWVyYSB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24gb2Ygc2hhcnBuZXNzIHByb2Nlc3NpbmcgYXBwbGllZCBieSB0aGUgY2FtZXJhIHdoZW4gdGhlIGltYWdlIHdhcyBzaG90LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGRpc3RhbmNlIHRvIHRoZSBzdWJqZWN0LgBUaGlzIHRhZyBpbmRpY2F0ZXMgdGhlIGVxdWl2YWxlbnQgZm9jYWwgbGVuZ3RoIGFzc3VtaW5nIGEgMzVtbSBmaWxtIGNhbWVyYSwgaW4gbW0uIEEgdmFsdWUgb2YgMCBtZWFucyB0aGUgZm9jYWwgbGVuZ3RoIGlzIHVua25vd24uIE5vdGUgdGhhdCB0aGlzIHRhZyBkaWZmZXJzIGZyb20gdGhlIEZvY2FsTGVuZ3RoIHRhZy4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSBleHBvc3VyZSBtb2RlIHNldCB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4gSW4gYXV0by1icmFja2V0aW5nIG1vZGUsIHRoZSBjYW1lcmEgc2hvb3RzIGEgc2VyaWVzIG9mIGZyYW1lcyBvZiB0aGUgc2FtZSBzY2VuZSBhdCBkaWZmZXJlbnQgZXhwb3N1cmUgc2V0dGluZ3MuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgbG9jYXRpb24gYW5kIGFyZWEgb2YgdGhlIG1haW4gc3ViamVjdCBpbiB0aGUgb3ZlcmFsbCBzY2VuZS4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSB0eXBlIG9mIHNjZW5lIHRoYXQgd2FzIHNob3QuIEl0IGNhbiBhbHNvIGJlIHVzZWQgdG8gcmVjb3JkIHRoZSBtb2RlIGluIHdoaWNoIHRoZSBpbWFnZSB3YXMgc2hvdC4gTm90ZSB0aGF0IHRoaXMgZGlmZmVycyBmcm9tIHRoZSBzY2VuZSB0eXBlIDxTY2VuZVR5cGU+IHRhZy4AVGhpcyB0YWcgaW5kaWNhdGVzIHRoZSB1c2Ugb2Ygc3BlY2lhbCBwcm9jZXNzaW5nIG9uIGltYWdlIGRhdGEsIHN1Y2ggYXMgcmVuZGVyaW5nIGdlYXJlZCB0byBvdXRwdXQuIFdoZW4gc3BlY2lhbCBwcm9jZXNzaW5nIGlzIHBlcmZvcm1lZCwgdGhlIHJlYWRlciBpcyBleHBlY3RlZCB0byBkaXNhYmxlIG9yIG1pbmltaXNlIGFueSBmdXJ0aGVyIHByb2Nlc3NpbmcuAFRoaXMgdGFnIGluZGljYXRlcyB0aGUgd2hpdGUgYmFsYW5jZSBtb2RlIHNldCB3aGVuIHRoZSBpbWFnZSB3YXMgc2hvdC4AVGhpcyB0YWcgaXMgcmVjb3JkZWQgd2hlbiBhbiBpbWFnZSBpcyB0YWtlbiB1c2luZyBhIHN0cm9iZSBsaWdodCAoZmxhc2gpLgBUaGlzIHRhZyBpcyB1c2VkIHRvIHJlY29yZCB0aGUgbmFtZSBvZiBhbiBhdWRpbyBmaWxlIHJlbGF0ZWQgdG8gdGhlIGltYWdlIGRhdGEuIFRoZSBvbmx5IHJlbGF0aW9uYWwgaW5mb3JtYXRpb24gcmVjb3JkZWQgaGVyZSBpcyB0aGUgRXhpZiBhdWRpbyBmaWxlIG5hbWUgYW5kIGV4dGVuc2lvbiAoYW4gQVNDSUkgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgOCBjaGFyYWN0ZXJzICsgJy4nICsgMyBjaGFyYWN0ZXJzKS4gVGhlIHBhdGggaXMgbm90IHJlY29yZGVkLiBTdGlwdWxhdGlvbnMgb24gYXVkaW8gYW5kIGZpbGUgbmFtaW5nIGNvbnZlbnRpb25zIGFyZSBkZWZpbmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uLiBXaGVuIHVzaW5nIHRoaXMgdGFnLCBhdWRpbyBmaWxlcyBtdXN0IGJlIHJlY29yZGVkIGluIGNvbmZvcm1hbmNlIHRvIHRoZSBFeGlmIGF1ZGlvIGZvcm1hdC4gV3JpdGVycyBhcmUgYWxzbyBhbGxvd2VkIHRvIHN0b3JlIHRoZSBkYXRhIHN1Y2ggYXMgQXVkaW8gd2l0aGluIEFQUDIgYXMgRmxhc2hQaXggZXh0ZW5zaW9uIHN0cmVhbSBkYXRhLiBUaGUgbWFwcGluZyBvZiBFeGlmIGltYWdlIGZpbGVzIGFuZCBhdWRpbyBmaWxlcyBpcyBkb25lIGluIGFueSBvZiB0aHJlZSB3YXlzLCBbMV0sIFsyXSBhbmQgWzNdLiBJZiBtdWx0aXBsZSBmaWxlcyBhcmUgbWFwcGVkIHRvIG9uZSBmaWxlIGFzIGluIFsyXSBvciBbM10sIHRoZSBhYm92ZSBmb3JtYXQgaXMgdXNlZCB0byByZWNvcmQganVzdCBvbmUgYXVkaW8gZmlsZSBuYW1lLiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYXVkaW8gZmlsZXMsIHRoZSBmaXJzdCByZWNvcmRlZCBmaWxlIGlzIGdpdmVuLiBJbiB0aGUgY2FzZSBvZiBbM10sIGZvciBleGFtcGxlLCBmb3IgdGhlIEV4aWYgaW1hZ2UgZmlsZSAiRFNDMDAwMDEuSlBHIiBvbmx5ICAiU05EMDAwMDEuV0FWIiBpcyBnaXZlbiBhcyB0aGUgcmVsYXRlZCBFeGlmIGF1ZGlvIGZpbGUuIFdoZW4gdGhlcmUgYXJlIHRocmVlIEV4aWYgYXVkaW8gZmlsZXMgIlNORDAwMDAxLldBViIsICJTTkQwMDAwMi5XQVYiIGFuZCAiU05EMDAwMDMuV0FWIiwgdGhlIEV4aWYgaW1hZ2UgZmlsZSBuYW1lIGZvciBlYWNoIG9mIHRoZW0sICJEU0MwMDAwMS5KUEciLCBpcyBpbmRpY2F0ZWQuIEJ5IGNvbWJpbmluZyBtdWx0aXBsZSByZWxhdGlvbmFsIGluZm9ybWF0aW9uLCBhIHZhcmlldHkgb2YgcGxheWJhY2sgcG9zc2liaWxpdGllcyBjYW4gYmUgc3VwcG9ydGVkLiBUaGUgbWV0aG9kIG9mIHVzaW5nIHJlbGF0aW9uYWwgaW5mb3JtYXRpb24gaXMgbGVmdCB0byB0aGUgaW1wbGVtZW50YXRpb24gb24gdGhlIHBsYXliYWNrIHNpZGUuIFNpbmNlIHRoaXMgaW5mb3JtYXRpb24gaXMgYW4gQVNDSUkgY2hhcmFjdGVyIHN0cmluZywgaXQgaXMgdGVybWluYXRlZCBieSBOVUxMLiBXaGVuIHRoaXMgdGFnIGlzIHVzZWQgdG8gbWFwIGF1ZGlvIGZpbGVzLCB0aGUgcmVsYXRpb24gb2YgdGhlIGF1ZGlvIGZpbGUgdG8gaW1hZ2UgZGF0YSBtdXN0IGFsc28gYmUgaW5kaWNhdGVkIG9uIHRoZSBhdWRpbyBmaWxlIGVuZC4AVGhpcyB0YWcgcmVjb3JkcyB0aGUgY2FtZXJhIG9yIGlucHV0IGRldmljZSBzcGF0aWFsIGZyZXF1ZW5jeSB0YWJsZSBhbmQgU0ZSIHZhbHVlcyBpbiB0aGUgZGlyZWN0aW9uIG9mIGltYWdlIHdpZHRoLCBpbWFnZSBoZWlnaHQsIGFuZCBkaWFnb25hbCBkaXJlY3Rpb24sIGFzIHNwZWNpZmllZCBpbiBJU08gMTIyMzMuAFRoaXMgdGFnIHJlY29yZHMgdGhlIG5hbWUgYW5kIHZlcnNpb24gb2YgdGhlIHNvZnR3YXJlIG9yIGZpcm13YXJlIG9mIHRoZSBjYW1lcmEgb3IgaW1hZ2UgaW5wdXQgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGltYWdlLiBUaGUgZGV0YWlsZWQgZm9ybWF0IGlzIG5vdCBzcGVjaWZpZWQsIGJ1dCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZSBleGFtcGxlIHNob3duIGJlbG93IGJlIGZvbGxvd2VkLiBXaGVuIHRoZSBmaWVsZCBpcyBsZWZ0IGJsYW5rLCBpdCBpcyB0cmVhdGVkIGFzIHVua25vd24uAFRoaXMgdGFnIHJlY29yZHMgdGhlIG5hbWUgb2YgdGhlIGNhbWVyYSBvd25lciwgcGhvdG9ncmFwaGVyIG9yIGltYWdlIGNyZWF0b3IuIFRoZSBkZXRhaWxlZCBmb3JtYXQgaXMgbm90IHNwZWNpZmllZCwgYnV0IGl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhlIGluZm9ybWF0aW9uIGJlIHdyaXR0ZW4gYXMgaW4gdGhlIGV4YW1wbGUgYmVsb3cgZm9yIGVhc2Ugb2YgSW50ZXJvcGVyYWJpbGl0eS4gV2hlbiB0aGUgZmllbGQgaXMgbGVmdCBibGFuaywgaXQgaXMgdHJlYXRlZCBhcyB1bmtub3duLgBUaGlzIHRhZyByZXNlcnZlcyBzcGFjZSB0aGF0IGNhbiBiZSByZWNsYWltZWQgbGF0ZXIgd2hlbiBhZGRpdGlvbmFsIG1ldGFkYXRhIGFyZSBhZGRlZC4gTmV3IG1ldGFkYXRhIGNhbiBiZSB3cml0dGVuIGluIHBsYWNlLCBieSByZXBsYWNpbmcgdGhpcyB0YWcgd2l0aCBhIHNtYWxsZXIgZGF0YSBlbGVtZW50IGFuZCB1c2luZyB0aGUgcmVjbGFpbWVkIHNwYWNlIHRvIHN0b3JlIHRoZSBuZXcgb3IgZXhwYW5kZWQgbWV0YWRhdGEgdGFncy4AVGhyZWUtY2hpcCBjb2xvdXIgYXJlYSBzZW5zb3IAVGh1bWJuYWlsIEltYWdlAFRpbWUAVGltZSBab25lAFRpbWUgWm9uZSBPZmZzZXQAVG9raW5hIEFGMTkzLTIgMTktMzVtbSBmLzMuNS00LjUAVG9raW5hIEFULVgyODBBRiBQUk8gMjgtODBtbSBGMi44IEFzcGhlcmljYWwAVG9uZSBDb21wZW5zYXRpb24AVG9uZSBDdXJ2ZQBUb3AAVG9wIHRvIGJvdHRvbQBUb3AtY2VudHJlAFRvcC1sZWZ0AFRvcC1yaWdodABUb3RhbCBOdW1iZXIgb2YgUGljdHVyZXMgVGFrZW4AVHJhbnNmZXIgRnVuY3Rpb24AVHJhbnNmZXIgUmFuZ2UAVHJpbGluZWFyIHNlbnNvcgBUdW5nc3RlbgBUdW5nc3RlbiBpbmNhbmRlc2NlbnQgbGlnaHQAVHYtcHJpb3JpdHkAVHdvLWNoaXAgY29sb3VyIGFyZWEgc2Vuc29yAFVuY2FsaWJyYXRlZABVbmNvbXByZXNzZWQAVW5kZWZpbmVkAFVuZGVyd2F0ZXIAVW5leHBlY3RlZCBudW1iZXIgb2YgY29tcG9uZW50cyAoJWxpLCBleHBlY3RlZCAyLCAzLCBvciA0KS4AVW5rbm93bgBVbmtub3duICVodQBVbmtub3duIEFGIHBvc2l0aW9uAFVua25vd24gRXhpZiBWZXJzaW9uAFVua25vd24gRmxhc2hQaXggVmVyc2lvbgBVbmtub3duIGVuY29kaW5nLgBVbmtub3duIHZhbHVlICVoaQBVbmtub3duIHZhbHVlICVpAFVuc3VwcG9ydGVkIEpJUyBzdHJpbmcAVW5zdXBwb3J0ZWQgVU5JQ09ERSBzdHJpbmcAVXBwZXItbGVmdABVcHBlci1yaWdodABVc2VyIDEAVXNlciAyAFVzZXIgQ29tbWVudABVc2VyIGRlZi4gMQBVc2VyIGRlZi4gMgBVc2VyIGRlZi4gMwBVc2VyIHNlbGVjdGVkAFZHQSBiYXNpYwBWR0EgZmluZQBWR0Egbm9ybWFsAFZhcmkgUHJvZ3JhbQBWZXJ5IGNsb3NlAFZpYnJhdGlvbiByZWR1Y3Rpb24AVml2aWQAVm9pY2UgTWVtbwBXaGVuIGxvYWRpbmcgYW5kIHJlc2F2aW5nIEV4aWYgZGF0YSwgc2F2ZSB0aGUgbWFrZXIgbm90ZSB1bm1vZGlmaWVkLiBCZSBhd2FyZSB0aGF0IHRoZSBtYWtlciBub3RlIGNhbiBiZSBjb3JydXB0ZWQuAFdoaXRlIEJhbGFuY2UAV2hpdGUgQmFsYW5jZSBCaWFzAFdoaXRlIEJhbGFuY2UgQnJhY2tldABXaGl0ZSBCYWxhbmNlIEZpbmUgQWRqdXN0bWVudABXaGl0ZSBCYWxhbmNlIE1vZGUAV2hpdGUgQmFsYW5jZSBSQgBXaGl0ZSBCYWxhbmNlIFNldHRpbmcAV2hpdGUgQm9hcmQAV2hpdGUgUG9pbnQAV2hpdGUgZmx1b3Jlc2NlbnQAV2lkZQBXaWRlIFJhbmdlAFdpZGUxICgyMzAlKQBXaWRlMiAoNDAwJSkAV2lkZXNjcmVlbgBXaXRoIHN0cm9iZQBXaXRoaW4gZGlzdGFuY2UgJWkgb2YgKHgseSkgPSAoJWksJWkpAFdpdGhpbiByZWN0YW5nbGUgKHdpZHRoICVpLCBoZWlnaHQgJWkpIGFyb3VuZCAoeCx5KSA9ICglaSwlaSkAV2l0aG91dCBzdHJvYmUAV29ybGQgVGltZSBMb2NhdGlvbgBYLVJlc29sdXRpb24AWE1MIFBhY2tldABYTVAgTWV0YWRhdGEAWFAgQXV0aG9yAFhQIENvbW1lbnQAWFAgS2V5d29yZHMAWFAgU3ViamVjdABYUCBUaXRsZQBZAFktUmVzb2x1dGlvbgBZQ2JDcgBZQ2JDciBDb2VmZmljaWVudHMAWUNiQ3IgUG9zaXRpb25pbmcAWUNiQ3IgU3ViLVNhbXBsaW5nAFlDYkNyNDoyOjAAWUNiQ3I0OjI6MgBZZXMAWm9vbQBab29tIFNvdXJjZSBXaWR0aABab29tIFN0ZXAgQ291bnQAWm9vbSBUYXJnZXQgV2lkdGgAW0RPX05PVF9UUkFOU0xBVEVfVEhJU19NQVJLRVJdAFtOb25lXQBjbQBpbgBzUkdCAA==