QXBhY2hlIEVtcGlyZS1kYgpDb3B5cmlnaHQgMjAwOC0yMDEwIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbgoKVGhlIGlzc3VlcyBhcmUgY2F0ZWdvcml6ZWQgYXMgZm9sbG93czoKW3tDPUNvcmV9fHtTPVN0cnV0cyBFeHRlbnNpb25zfXx7RT1FeGFtcGxlc318e089T3RoZXJ9Ci97Tj1OZXcgRmVhdHVyZX18e0I9QnVnIGZpeH18e0k9SW1wcm92ZW1lbnR9XQoKRm9yIG1vcmUgSW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aWN1bGFyIGlzc3VlIHBsZWFzZSB2aXNpdApodHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL0VNUElSRURCCgotLS0tLS0tLS0tLS0tLQpSZWxlYXNlIDIuMS4wOgotLS0tLS0tLS0tLS0tLQpNYWpvciBuZXcgZmVhdHVyZXM6Ci0gTmV3IGFuZCBpbXByb3ZlZCB1dGlsaXphdGlvbiBvZiBwcmVwYXJlZCBzdGF0ZW1lbnRzIHdoaWNoIGNhbiBiZSBlbmFibGVkIC8gZGlzYWJsZWQgYnkgZGF0YWJhc2UgcHJvcGVydHkuIAotIFVzZSBvZiBTTEY0SiBpbnN0ZWFkIG9mIGxvZzRqIApFTVBJUkVEQi0xMDEtIFtDL0ldOiAgQ3JlYXRlIERETCBTY3JpcHQgb24gTXlTUUwgc2hvdWxkIHN0YXRlIENSRUFURSBEQVRBQkFTRSBJRiBOT1QgRVhJU1RTCkVNUElSRURCLTEwMC0gW0MvSV06ICBTdXBwb3J0IG9mIGxvbmcgaW50ZWdlciBmaWVsZHMgZm9yIEgyLCBEZXJieSBhbmQgTXlTUUwKRU1QSVJFREItOTcgLSBbQy9JXTogIEFkZGVkIHNlcmlhbGl6YXRpb24gdG8gRW1waXJlLURCIG9iamVjdHMKRU1QSVJFREItOTUgLSBbQy9JXTogIENvZGUgb3B0aW1pemF0aW9ucy9jbGVhbnVwIGFuZCBqYXZhZG9jIGltcHJvdmVtZW50cyAgCkVNUElSRURCLTk0IC0gW0MvQl06ICBBZGRlZCBQb3N0Z3JlIGFuZCBEZXJieSBiaWdpbnQgc3VwcG9ydApFTVBJUkVEQi05MyAtIFtDL0JdOiAgREJSb3dTZXQudXBkYXRlUmVjb3JkIGxvZyBvdXRwdXQgZG9lcyBub3QgcmVwb3J0IGNvbHVtbiBuYW1lIHByb3Blcmx5CkVNUElSRURCLTkyIC0gW0MvSV06ICBTd2l0Y2ggdG8gQXBhY2hlIFBhcmVudCBwb20gdmVyc2lvbiA4CkVNUElSRURCLTkxIC0gW0MvSV06ICBJbmNyZWFzZSBhbmQgb3B0aW1pemUgdGhlIHVzZSBvZiBwcmVwYXJlZCBzdGF0ZW1lbnRzCkVNUElSRURCLTgxIC0gW0MvQl06ICBFbmRsZXNzIGxvb3AgaW4gREJTZXFUYWJsZSNnZXROZXh0VmFsdWUoKSBmaXhlZApFTVBJUkVEQi03NyAtIFtDL0ldOiAgUmVtb3ZlZCB0aGUgTG9nNEogY29tcGlsZS10aW1lIGRlcGVuZGVuY3kgYnkgc3dpdGNoaW5nIHRvIHNsZjRqIChzYW1lIGFsc28gRU1QSVJFREItMzgpIApFTVBJUkVEQi0zOCAtIFtDL0ldOiAgU3dpdGNoZWQgZnJvbSBsb2c0aiB0byBzbGY0agoKLS0tLS0tLS0tLS0tLS0KUmVsZWFzZSAyLjAuNzoKLS0tLS0tLS0tLS0tLS0KTWFqb3IgbmV3IGZlYXR1cmVzOgotIFN3aXRjaGVkIHRvIGxhdGVzdCBzdHJ1dHMgdmVyc2lvbiBhbmQgYWRkZWQgcG9ydGVsdCBzdXBwb3J0IHRvIHN0cnV0czIgZXh0ZW50aW9ucwotIFN1cHBvcnQgZm9yIGxpbWl0aW5nIHRoZSBudW1iZXIgb2Ygcm93cyByZXR1cm5lZCBieSBhIHF1ZXJ5LiAgCkVNUElSRURCLTkwIC0gW0MvQl06ICBUaGUgImNyZWF0ZVJlY29yZFByb3BlcnRpZXMiIHN3aXRjaCBpbiB0aGUgY29kZWdlbmVyYXRvcidzIGNvbmZpZ3VyYXRpb24gd29ya3Mgbm90IHByb3Blcmx5LiAgICAgCkVNUElSRURCLTg5IC0gW1MvSV06ICBVcGRhdGUgRW1waXJlLVN0cnV0cy1FeHRlbnRpb25zIHRvIFN0cnV0cyAyLjIuMSBhbmQgcHJvdmlkZSBQb3J0bGV0IFN1cHBvcnQgICAgIApFTVBJUkVEQi04OCAtIFtDL0JdOiAgQ29kZUdlbmVyYXRvciBnZW5lcmF0ZXMgdXBwZXJjYXNlIGZpZWxkbmFtZXMgd2hlcmUgZW1waXJlIGNvZGUgZXhwZWN0cyBsb3dlcmNhc2UgbmFtZXMgICAgIApFTVBJUkVEQi04NyAtIFtDL0ldOiAgVXNlIEVYVFJBQ1QoKSBmdW5jdGlvbiB0byBleHRyYWN0IHRoZSBkYXksIG1vbnRoIG9yIHllYXIgZnJvbSBhIGRhdGUgY29sdW1uIGluIE9yYWNsZSAgCkVNUElSRURCLTg2IC0gW0MvQl06ICBDb3JyZWN0IHNvbWUgdHlwb3MgaW4gdGhlIGphdmFkb2NzICAgICAKRU1QSVJFREItODUgLSBbQy9JXTogIFJlbW92ZSBkZWNsYXJhdGlvbnMgb2YgdW51c2VkIGRlcGVuZGVuY2llcyAoZnJvbSBwb20ueG1sKSAgICAgCkVNUElSRURCLTg0IC0gW0MvQl06ICBUeXBvIGluIHNlY3Rpb24gIkVtcGlyZS1kYiBhbmQgU3RydXRzMiC7IEZvcm1zIGFuZCBjb250cm9scyIgICAgIApFTVBJUkVEQi04MiAtIFtDL0JdOiAgQ2xvbmluZyBkb2VzIG5vdCB3b3JrIGlmIERCVGFibGUncyBjb2x1bW4gKERCQ29sdW1uKSBhcmUgZGVjbGFyZWQgZmluYWwgKGFzIHBlciBzaGlwcGVkIGV4YW1wbGVzKS4gQ2F1c2luZyB0YWJsZSBhbGlhcyBpbiByZXN1bHRpbmcgU1FMIHF1ZXJpZXMgdG8gYmUgd3JvbmcgICAgIApFTVBJUkVEQi02MiAtIFtDL05dOiAgQWxsb3cgdG8gc2V0IGxpbWl0IGZvciBtYXhpbXVtIG51bWJlciBvZiByb3dzIHJldHVybmVkICAgICAKRU1QSVJFREItNjAgLSBbQy9CXTogIENsb25pbmcgb2YgY29sdW1ucyBpcyByZXN0cmljdGVkIHRvIGN1cnJlbnQgY2xhc3MgICAgIAoKLS0tLS0tLS0tLS0tLS0KUmVsZWFzZSAyLjAuNjoKLS0tLS0tLS0tLS0tLS0KTWFqb3IgbmV3IGZlYXR1cmVzOgotIENvZGUtR2VuZXJhdG9yIGFsbG93cyBnZW5lcmF0aW9uIG9mIERhdGEgTW9kZWwgY29kZSBmaWxlcyBmb3IgZXhpc3RpbmcgZGF0YWJhc2VzIAotIE1hdmVuIHBsdWdpbiBmb3IgREItQ29kZS1HZW5lcmF0b3IgIAotIE5ldyBleGFtcGxlIHRvIGRlbW9uc3RyYXRlIGludGVyb3BlcmFiaWxpdHkgYmV0d2VlbiBFbXBpcmUtZGIgYW5kIFNwcmluZyAKLSBQcm92aWRlZCBqYXJzIGFyZSBub3cgT1NHaSBjb21wYXRpYmxlCgpJc3N1ZXMgcmVzb2x2ZWQ6CkVNUElSRURCLTc2IC0gW0MvQl06ICBFcnJvbmVvdXMgdHJhbnNsYXRpb24gb2YgRGF0YVR5cGUuRE9VQkxFIGZvciBwb3N0Z3JlcwpFTVBJUkVEQi03MyAtIFtDL05dOiAgU3ByaW5nIGludGVyb3BlcmFiaWxpdHkgZXhhbXBsZSBwcm92aWRlZCBieSBFaWtlIEtldHRuZXIgICAgIApFTVBJUkVEQi03MiAtIFtDL0ldOiAgQ2hhbmdlIHZhcmlvdXMgcHJpdmF0ZSBtb2RpZmllcnMgdG8gcHJvdGVjdGVkIHRvIGFsbG93IG92ZXJyaWRlcyAgICAgCkVNUElSRURCLTcxIC0gW0MvSV06ICBOZXcgZW51bWVyYXRpb24gRGF0YU1vZGUgZm9yIGNvbHVtbiBjbGFzc2lmaWNhdGlvbiBhcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgcmVxdWlyZWQgZmxhZyAgICAgICAgCkVNUElSRURCLTcwIC0gW0MvQl06ICBDb3JyZWN0ZWQgTXlTUUwgaW5kZW50aWZpZXIgcXVvdGUgICAgIApFTVBJUkVEQi02NyAtIFtDL0ldOiAgQWxsb3cgc2VsZWN0aW9uIG9mIChNeXNxbCkgRGF0YWJhc2UgRW5naW5lICAgICAKRU1QSVJFREItNjQgLSBbQy9OXTogIENvZGVHZW5lcmF0b3IgTWF2ZW4gUGx1Z2luICAgICAKRU1QSVJFREItNjMgLSBbQy9JXTogIFByb3ZpZGUgb3ZlcmxvYWRzIGZvciBEQkRhdGFiYXNlLnF1ZXJ5T2JqZWN0TGlzdCgpIGFuZCBxdWVyeVNpbXBsZUxpc3QoKSB0byBhbGxvdyB1c2luZyBvdGhlciBjb2xsZWN0aW9uIHR5cGVzLiAgICAgCkVNUElSRURCLTU5IC0gW0MvQl06ICBIU1FMIGRvdWJsZSBoYXMgaGFyZC1jb2RlZCBpbGxlZ2FsIHByZWNpc2lvbiAoRkxPQVQoODApKSBmb3IgSFNRTCAxLjggICAgIApFTVBJUkVEQi01NyAtIFtDL0JdOiAgSFNRTERCIGRyaXZlciBmYWlscyB0byByZXRyaWV2ZSBuZXh0IHNlcXVlbmNlIHZhbHVlIGZvciBsb3dlciBjYXNlIHNlcXVlbmNlIG5hbWUgICAgIApFTVBJUkVEQi01NiAtIFtDL0JdOiAgZ2V0VmFsdWUgRnVuY3Rpb24gb24gREJSZWFkZXIgZG9lcyBub3QgZmFpbCBvbiBlcnJvcnMuICAgICAKRU1QSVJFREItNTIgLSBbQy9OXTogIENvZGVHZW5lcmF0b3IgbW9kdWxlIGZvciBnZW5lcmF0aW5nIGRhdGFiYXNlIGRlZmluaXRpb24gY29kZSBmaWxlcyBmcm9tIGV4aXN0aW5nIGRhdGFiYXNlcwpFTVBJUkVEQi0zNSAtIFtDL0ldOiAgTWFrZSBzdXJlIG91ciBqYXJzIGFyZSBPU0dpIGNvbXBhdGlibGUgICAgICAgIAoKLS0tLS0tLS0tLS0tLS0KUmVsZWFzZSAyLjAuNToKLS0tLS0tLS0tLS0tLS0KTWFqb3IgbmV3IGZlYXR1cmVzOgotIE1hdmVuIHByb2plY3QgbWFuYWdlbWVudAotIE5ldyBkYXRhYmFzZSBoYW5kbGVycyBmb3IgQXBhY2hlIERlcmJ5LCBIMiwgUG9zdGdyZVNRTAotIE5ldyBFeGFtcGxlcyBzaG93aW5nIFdlYlNlcnZpY2UgaW50ZWdyYXRpb24gdXNpbmcgQXBhY2hlIENYRgotIEVtcGlyZS1EQiBTdHJ1dHMyLUV4dGVudGlvbnMnIGRlcGVuZGVuY2llcyB1cGRhdGVkIGZyb20gU3RydXRzIDIuMC4xMSB0byBTdHJ1dHMgMi4xLjYgCgpJc3N1ZXMgcmVzb2x2ZWQ6CkVNUElSRURCLTQ5IC0gW0MvQl06IFRoZSBnZW5lcmF0aW9uIG9mIHRhYmxlLCB2aWV3IGFuZCBxdWVyeSBhbGlhc2VzIG5vdyB1c2VzIHRocmVhZC1zYWZlIGNvdW50ZXJzICAKRU1QSVJFREItNDYgLSBbQy9CXTogZGF0ZXRpbWUtcGhyYXNlIGlzc3VlIGluIERCRGF0YWJhc2VEcml2ZXJEZXJieQpFTVBJUkVEQi00NSAtIFtTL0ldOiBVcGRhdGUgc3RydXRzIGV4dGVudGlvbnMgdG8gYWNjb21vZGF0ZSBsYXRlc3Qgc3RydXRzIHJlbGVhc2UgIApFTVBJUkVEQi00NCAtIFtDL0JdOiBlcnJvciB1c2luZyBhcGFjaGUgZGVyYnkgYW5kIENMT0IgZGF0YXR5cGUgIApFTVBJUkVEQi00MiAtIFtDL0ldOiBFeHRlbmQgREJSZWFkZXIgdG8gcHJvdmlkZSBxdWVyeSByZXN1bHRzIGluIGEgaGFzaCBzZXQgIApFTVBJUkVEQi00MSAtIFtDL0ldOiBEZWFsIHdpdGggZGF0YWJhc2VzIGRpZmZlcmVuY2VzIHJlZ2FyZGluZyBTUUwgcmV2ZXJzZSBmdW5jdGlvbgpFTVBJUkVEQi00MCAtIFtDL0JdOiBQb3N0Z3Jlc3FsIGNhc3QgcHJvYmxlbSAKRU1QSVJFREItMzcgLSBbQy9OXTogUG9zdGdyZVNRTCAiQkxPQiIgdHlwZSBub3QgZXhpc3QgYnV0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBhICJieXRlYSIgY29sdW1uIApFTVBJUkVEQi0zNiAtIFtFL05dOiBOZXcgV2ViU2VydmljZXMgaW50ZWdyYXRpb24gZXhhbXBsZSB1c2luZyBBcGFjaGUgQ1hGCkVNUElSRURCLTM0IC0gW0MvSV06IEFkZCBzdXBwb3J0IGZvciBzdG10LmV4ZWN1dGVVcGRhdGUgd2l0aCBTdGF0ZW1lbnQuUkVUVVJOX0dFTkVSQVRFRF9LRVlTIGluc3RlYWQgb2YgZ2V0UG9zdEluc2VydEF1dG9JbmNWYWx1ZSgpIApFTVBJUkVEQi0zMyAtIFtTL0JdOiBCZWFuUmVjb3JkUHJveHkgaXNGaWVsZFJlYWRPbmx5IHdyb25nIGZvciBuZXcgcmVjb3JkcyAKRU1QSVJFREItMzIgLSBbQy9OXTogVW5pdCB0ZXN0cyAKRU1QSVJFREItMzEgLSBbRS9CXTogQWR2YW5jZWQgc2FtcGxlIHRocm93cyBTUUxFeGNlcHRpb24gKHdyb25nIGRiIHVzZXIpIApFTVBJUkVEQi0zMCAtIFtDL05dOiBTdXBwb3J0IGZvciBQb3N0Z2VTUUwgCkVNUElSRURCLTI5IC0gW08vTl06IFN3aXRjaCB0byBNYXZlbiBwcm9qZWN0IG1hbmFnZW1lbnQgCkVNUElSRURCLTI4IC0gW0UvQl06IFNhbXBsZUNvbmZpZyBpbiB0aGUgZGVtbyBhcHBsaWNhdGlvbiBoYXMgaW52YWxpZCB1c2VyIApFTVBJUkVEQi0yNyAtIFtDL0JdOiBIU1FMREIgZHJpdmVyIGRvZXNuJ3Qgc3VwcG9ydCBjb252ZXJzaW9uIG9mIHZhbHVlIHRvIERPVUJMRSAKRU1QSVJFREItMjYgLSBbUy9JXTogRXh0ZW5kIEhUTUxUYWdEaWN0aW9uYXJ5IHRvIGFsbG93IGRlZmF1bHQgY3NzQ2xhc3MgZm9yIGFsbCBpbnB1dCB0eXBlcyAKRU1QSVJFREItMjUgLSBbQy9JXTogSW1wbGVtZW50IGdldEF0dHJpYnV0ZSBhbmQgc2V0QXR0cmlidXRlIG9uIEJlYW5Qcm9wZXJ0eSBjbGFzcyAKRU1QSVJFREItMjQgLSBbUy9JXTogQWxsb3cgdGV4dGFyZWEgdG8gaGFuZGxlIGtleXByZXNzIGFuZCBrZXl1cCBldmVudHMgaW4gb3JkZXIgdG8gY2hlY2sgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGlucHV0IApFTVBJUkVEQi0yMyAtIFtDL0JdOiBNYXhpbXVtIHNpemUgaXMgbm90IHBhc3NlZCB0byBlcnJvciBtZXNzYWdlIGhhbmRsZXIgZm9yIERCRXJyb3JzLkZpZWxkVmFsdWVUb29Mb25nIGluIERCVGFibGVDb2x1bW46OmNoZWNrVmFsdWUgCkVNUElSRURCLTIyIC0gW0MvQl06IGRlbGV0ZVJlZmVyZW5jZVJlY29yZHMoKSBkb2VzIG5vdCBzb3J0IHRoZSBkZXBlbmRpbmcgcmVjb3JkcyBieSBpZCAKRU1QSVJFREItMjEgLSBbUy9JXTogQWxsb3cgZW1wdHkgcmVjb3JkIGl0ZW0gcGFyYW1ldGVyOiBUaGUgZnVuY3Rpb24gZ2V0UmVjb3JkS2V5RnJvbVN0cmluZyBzaG91bGQgcmV0dXJuIG51bGwgaWYgdGhlIGl0ZW0gc3RyaW5nIGNvbnNpc3RzIG9mIHRoZSBuZXcgaXRlbSBmbGFnIG9ubHkuIApFTVBJUkVEQi0yMCAtIFtDL0JdOiBDb252ZXJ0IHRvIGNoYXIgZG9lc24ndCB3b3JrIGZvciBoc3FsZGIgCkVNUElSRURCLTE5IC0gW1MvQl06IFRoZSBmb3JtIHRhZydzICJ0YXJnZXQiIGF0dHJpYnV0ZSBpcyBub3QgcmVuZGVyZWQgaW4gSFRNTCBjb2RlIApFTVBJUkVEQi0xOCAtIFtDL0JdOiBEQlJlY29yZC5zZXRNb2RpZmllZChjb2x1bW4sIGlzTW9kaWZpZWQpIGRvZXNuJ3Qgc2V0IHRoZSByZWNvcmQgc3RhdGUgYmFjayBmcm9tIG1vZGlmaWVkIHRvIHZhbGlkIApFTVBJUkVEQi0xNyAtIFtTL0JdOiBDaGVja2VkIGF0dHJpYnV0ZSBkb2VzIG5vdCB3b3JrIG9uIHJhZGlvIGJ1dHRvbiB0YWcuIApFTVBJUkVEQi0xNiAtIFtTL0ldOiBUYWcgbGlicmFyeSBkZWZpbml0aW9uIGRvZXMgbm90IGFsbG93IGphdmEgZXhwcmVzc2lvbnMgZm9yIHRoZSBjc3NDbGFzcyBhdHRyaWJ1dGUgCkVNUElSRURCLTE1IC0gW0MvQl06IFJlY29yZCBmaWVsZHMgYXJlIG5vdCBjbGVhcmVkIHByb3Blcmx5IGJ5IGNyZWF0ZVJlY29yZC4gCkVNUElSRURCLTE0IC0gW1MvSV06IEFsbG93IGphdmFzY3JpcHQgY29kZSBvbiBhbmNob3JzIAoKLS0tLS0tLS0tLS0tLS0KUmVsZWFzZSAyLjAuNDoKLS0tLS0tLS0tLS0tLS0KRU1QSVJFREItMTMgLSBbUy9JXTogQWRkIGNvbHVtbiBhdHRyaWJ1dGUgdG8gcmFkaW9CdXR0b25UYWcgYW5kIG9uQ2xpY2sgYXR0cmlidXRlIHRvIG1lbnVJdGVtVGFnIApFTVBJUkVEQi0xMiAtIFtTL0ldOiBBbGxvdyByZWxvYWRpbmcgb2YgY3VycmVudCByZWNvcmQgZnJvbSB0aGUgc2Vzc2lvbiAKRU1QSVJFREItMTEgLSBbUy9JXTogV2ViQWN0aW9uLmNsZWFyQWN0aW9uRXJyb3JzIGRvZXMgbm90IHJlbW92ZSBFcnJvciBmcm9tIHRoZSBzZXNzaW9uIApFTVBJUkVEQi0xMCAtIFtTL0ldOiBBbGxvdyBzZXR0aW5nIG9mIHJlY29yZCBwcm9wZXJ0eSBuYW1lIHdpdGggY29udHJvbCB0YWcgCkVNUElSRURCLTA5IC0gW08vSV06IE1vdmUgYnVpbGQueG1sIGZyb20gc3JjIGRpcmVjdG9yeSB0byByb290IGRpcmVjdG9yeS4gQ2hhbmdlIGRpc3RyaWJ1dGlvbiBzY3JpcHRzIHRvIG1lZXQgYXBhY2hlIGluY3ViYXRvciByZXF1aXJlbWVudHMuICAKRU1QSVJFREItMDggLSBbQy9JXTogUmVzdHJpY3QgYWNjZXNzIHRvIERhdGFiYXNlRHJpdmVyIG9iamVjdCBmb3IgYWxsIHN1YmNsYXNzZXMgb2YgREJDb2x1bW5FeHByIHRvIHRoZSBhZGRTUUwgZnVuY3Rpb24uICAKRU1QSVJFREItMDcgLSBbQy9JXTogQWRkIHN1cHBvcnQgZm9yIENBU0UgV0hFTiBleHByZXNzaW9uIHdpdGggbmV3IGNsYXNzIERCQ2FzZUV4cHIuamF2YSAgCkVNUElSRURCLTA2IC0gW0MvSV06IFN1cHBvcnQgZm9yIHF1b3Rpbmcgb2YgdGFibGUsIHZpZXcgYW5kIGNvbHVtbiBuYW1lcyBhZGRlZC4KCi0tLS0tLS0tLS0tLS0tClJlbGVhc2UgMi4wLjM6Ci0tLS0tLS0tLS0tLS0tCkVNUElSRURCLTUgLSBBZGRlZCBtaXNzaW5nIEFTRiBoZWFkZXJzLiBTZWUgSklSQSBmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KRU1QSVJFREItNCAtIEZpeGVkIHNldmVyYWwgREJEYXRhYmFzZURyaXZlckhTcWwgYnVncy4gU2VlIEpJUkEgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCkVNUElSRURCLTMgLSBBZGRlZCAidXNlUXVvdGVzIiBwcm9wZXJ0eSB0byBEQkNvbHVtbi4KUFJFLTExNDogLSBBbGwgcGFja2FnZSBuYW1lcyBjaGFuZ2VkIHRvIG9yZy5hcGFjaGUuZW1waXJlLgoKLS0tLS0tLS0tLS0tLS0KUmVsZWFzZSAyLjAuMjoKLS0tLS0tLS0tLS0tLS0KUFJFLTExMzogLSBORVcgRkVBVFVSRTogY2xhc3MgQmVhblJlY29yZFByb3h5PFQ+IGltcGxlbWVudHMgdGhlIFJlY29yZCBpbnRlcmZhY2Ugb2YgYW55IGdpdmVuIEphdmFCZWFuIG9iamVjdC4JClBSRS0xMTI6IC0gTkVXIEZFQVRVUkU6IGNsYXNzZXMgQmVhbkRvbWFpbiwgQmVhbkNsYXNzIGFuZCBCZWFuUHJvcGVydHkgYWxsb3cgbWV0YWRhdGEgZGVmaXRpb24gZm9yIEphdmFCZWFuIG9iamVjdHMgdXNpbmcgdGhlIENvbHVtbiBpbnRlcmZhY2UuClBSRS0xMTE6IC0gREJEYXRhYmFzZURyaXZlck9yYWNsZTogbmV3IGltcGxlbWVudGF0aW9uIGZvciBjaGVja0RhdGFiYXNlClBSRS0xMTA6IC0gTWV0aG9kIGdldFNvdXJjZUNvbHVtbiBhZGRlZCBmb3IgZGF0YS5Db2x1bW4KUFJFLTEwOTogLSBEQlJlY29yZERhdGE6IFR5cGUgY29udmVyc2lvbiBtb3ZlZCB0byBPYmplY3RVdGlscwpQUkUtMTA4OiAtIE5FVyBGRUFUVVJFOiBjcmVhdGVWaWV3IGltcGxlbWVudGVkIGZvciBhbGwgRGF0YWJhc2UgRHJpdmVycwpQUkUtMTA3OiAtIERCVmlldzogY2FuVXBkYXRlUmVvY3JkcyA9IEZsYWcgZm9yIHVwZGF0ZWFibGUgYW5kIG5vbi11cGRhdGVhYmxlIFZpZXdzOwoKLS0tLS0tLS0tLS0tLS0KUmVsZWFzZSAyLjAuMToKLS0tLS0tLS0tLS0tLS0KUFJFLTEwNjogLSBORVcgRkVBVFVSRTogREJEYXRhYmFzZURyaXZlck15U1FMOglEcml2ZXIgZm9yIE15U1FMIDUgYWRkZWQuClBSRS0xMDU6IC0gTkVXIEZFQVRVUkU6IERCQ29sdW1uRXhwcjogQWRkZWQgU3VwcG9ydCBmb3IgUkVWRVJTRSgpIGFuZCBJTlNUUigpIFNRTCBGdW5jdGlvbnMKUFJFLTEwNDogLSBCVUdGSVg6IERCUmVjb3JkOjpnZXRGaWVsZFZhbHVlKCk6IEZpZWxkIEFjY2VzcyB0byBpbnZhbGlkIERCUmVjb3JkIHJldHVybmVkIEJvb2xlYW4gRkFMU0UgaW5zdGVhZCBvZiBudWxsLgpQUkUtMTAzOiAtIERCRGF0YWJhc2VEcml2ZXI6IEZ1bmN0aW9uIGlzU3VwcG9ydGVkKCkgYW5kIGdldFBvc3RJbnNlcnRBdXRvSW5jVmFsdWUoKSBhZGRlZApQUkUtMTAyOiAtIERCQ29sdW1uRXhwcjogU3Vic3RyaW5nIGZ1bmN0aW9uIG5vdyBleGNlcHRzIGNvbHVtbiBleHByZXNzaW9ucyAKUFJFLTEwMTogLSBEQlNRTFNjcmlwdDogTmV3IGNsYXNzIHRvIHJlcGxhY2UgU3RyaW5nQnVpbGRlciBmb3IgRERMIFNjcmlwdCBnZW5lcmF0aW9uLiBTZWUgYWxzbyBEQkRhdGFiYXNlOjpnZXRDcmVhdGVERExTY3JpcHQoKQo=