BAhJIgKMGzxwPlRoZSBBcGFjaGUgV2lja2V0IFBNQyBpcyBwcm91ZCB0byBhbm5vdW5jZSBBcGFjaGUgV2lja2V0IDYuMTUuMCE8L3A+Cgo8cD5UaGlzIHJlbGVhc2UgbWFya3MgdGhlIGZpZnRlZW50aCBtaW5vciByZWxlYXNlIG9mIFdpY2tldCA2LiBTdGFydGluZwp3aXRoIFdpY2tldCA2IHdlIHVzZSBzZW1hbnRpYyB2ZXJzaW9uaW5nIGZvciB0aGUgZnV0dXJlIGRldmVsb3BtZW50IG9mCldpY2tldCwgYW5kIGFzIHN1Y2ggbm8gQVBJIGJyZWFrcyBhcmUgcHJlc2VudCBpbiB0aGlzIHJlbGVhc2UgY29tcGFyZWQKdG8gNi4wLjAuPC9wPgoKPGgzIGlkPSJuZXctYW5kLW5vdGV3b3J0aHkiPk5ldyBhbmQgbm90ZXdvcnRoeTwvaDM+Cgo8cD5UaGlzIHJlbGVhc2UgZml4ZXMgMjUgYnVncyBhbmQgYWRkcyB0aGUgZm9sbG93aW5nIGltcHJvdmVtZW50czo8L3A+Cgo8dWw+CiAgPGxpPlRoZSBzZWNvbmQgbGV2ZWwgcGFnZSBzdG9yZSBoYXMgYmVlbiBkaXNhYmxlZCBieSBkZWZhdWx0IChzZWUgaXNzdWUgPGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9XSUNLRVQtNTU1NCI+V0lDS0VULTU1NTQ8L2E+IGZvciBtb3JlIGRldGFpbHMpLjwvbGk+CiAgPGxpPkNyZWF0ZWQgbmV3IHBsYWNlaG9sZGVyIHRhZyB0byBpbmRpY2F0ZSB3aGVyZSBoZWFkZXIgY29udHJpYnV0aW9ucyBzaG91bGQgYXBwZWFyLiBTZWUgdGhpcyA8YSBocmVmPSJodHRwOi8vd2lja2V0aW5hY3Rpb24uY29tLzIwMTQvMDMvaGVhZGVyLWNvbnRyaWJ1dGlvbnMtcG9zaXRpb25pbmcvIj5ibG9nIHBvc3QgZW50cnk8L2E+IG9yIHBhcmFncmFwaCAxNS44IG9mIHRoZSBvZmZpY2lhbCBndWlkZS48L2xpPgo8L3VsPgoKPHA+VGhpcyByZWxlYXNlIGFsc28gY2VsZWJyYXRlcyB0aGUgMTB0aCBiaXJ0aGRheSBvZiBXaWNrZXQhPC9wPgoKPGgzIGlkPSJ1c2luZy10aGlzLXJlbGVhc2UiPlVzaW5nIHRoaXMgcmVsZWFzZTwvaDM+Cgo8cD5XaXRoIEFwYWNoZSBNYXZlbiB1cGRhdGUgeW91ciBkZXBlbmRlbmN5IHRvIChhbmQgZG9u4oCZdCBmb3JnZXQgdG8KdXBkYXRlIGFueSBvdGhlciBkZXBlbmRlbmNpZXMgb24gV2lja2V0IHByb2plY3RzIHRvIHRoZSBzYW1lIHZlcnNpb24pOjwvcD4KCjxmaWd1cmUgY2xhc3M9ImhpZ2hsaWdodCI+PHByZT48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UteG1sIiBkYXRhLWxhbmc9InhtbCI+PHNwYW4gY2xhc3M9Im50Ij4mbHQ7ZGVwZW5kZW5jeSZndDs8L3NwYW4+CiA8c3BhbiBjbGFzcz0ibnQiPiZsdDtncm91cElkJmd0Ozwvc3Bhbj5vcmcuYXBhY2hlLndpY2tldDxzcGFuIGNsYXNzPSJudCI+Jmx0Oy9ncm91cElkJmd0Ozwvc3Bhbj4KIDxzcGFuIGNsYXNzPSJudCI+Jmx0O2FydGlmYWN0SWQmZ3Q7PC9zcGFuPndpY2tldC1jb3JlPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2FydGlmYWN0SWQmZ3Q7PC9zcGFuPgogPHNwYW4gY2xhc3M9Im50Ij4mbHQ7dmVyc2lvbiZndDs8L3NwYW4+Ni4xNS4wPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L3ZlcnNpb24mZ3Q7PC9zcGFuPgo8c3BhbiBjbGFzcz0ibnQiPiZsdDsvZGVwZW5kZW5jeSZndDs8L3NwYW4+PC9jb2RlPjwvcHJlPjwvZmlndXJlPgoKPHA+T3IgZG93bmxvYWQgYW5kIGJ1aWxkIHRoZSBkaXN0cmlidXRpb24geW91cnNlbGYsIG9yIHVzZSBvdXIKY29udmVuaWVuY2UgYmluYXJ5IHBhY2thZ2U8L3A+Cgo8dWw+CiAgPGxpPlNvdXJjZTogPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2R5bi9jbG9zZXIuY2dpL3dpY2tldC82LjE1LjAiPjYuMTUuMCBzb3VyY2UgZG93bmxvYWQ8L2E+PC9saT4KICA8bGk+QmluYXJ5OiA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvZHluL2Nsb3Nlci5jZ2kvd2lja2V0LzYuMTUuMC9iaW5hcmllcyI+Ni4xNS4wIGJpbmFyeSBkb3dubG9hZDwvYT48L2xpPgo8L3VsPgoKPGgzIGlkPSJ1cGdyYWRpbmctZnJvbS1lYXJsaWVyLXZlcnNpb25zIj5VcGdyYWRpbmcgZnJvbSBlYXJsaWVyIHZlcnNpb25zPC9oMz4KCjxwPklmIHlvdSB1cGdyYWRlIGZyb20gNi55LnogdGhpcyByZWxlYXNlIGlzIGEgZHJvcCBpbiByZXBsYWNlbWVudC4gSWYKeW91IGNvbWUgZnJvbSBhIHZlcnNpb24gcHJpb3IgdG8gNi4wLjAsIHBsZWFzZSByZWFkIG91ciBXaWNrZXQgNgptaWdyYXRpb24gZ3VpZGUgZm91bmQgYXQ8L3A+Cgo8dWw+CiAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vY3dpa2kuYXBhY2hlLm9yZy9jb25mbHVlbmNlL2Rpc3BsYXkvV0lDS0VUL01pZ3JhdGlvbit0bytXaWNrZXQrNi4wIj5NaWdyYXRpb24gdG8gV2lja2V0IDYuMDwvYT48L2xpPgo8L3VsPgoKPHA+SGF2ZSBmdW4hPC9wPgoKPHA+4oCUIFRoZSBXaWNrZXQgdGVhbTwvcD4KCjxoMyBpZD0icmVsZWFzZS1ub3Rlcy0tLXdpY2tldC0tLXZlcnNpb24tNjE1MCI+UmVsZWFzZSBOb3RlcyAtIFdpY2tldCAtIFZlcnNpb24gNi4xNS4wPC9oMz4KCjxoNCBpZD0ic3ViLXRhc2siPlN1Yi10YXNrPC9oND4KPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+KiBbV0lDS0VULTU1MTBdIC0gQXZvaWQgdXNpbmcgalF1ZXJ5LnRleHQoKSB3aGVuIHBvc3NpYmxlLiBJdCBpcyB2ZXJ5IHNsb3cgaW4gSUUKKiBbV0lDS0VULTU1NTRdIC0gRGlzYWJsZSBzZWNvbmQgbGV2ZWwgcGFnZXMgc3RvcmUgYmVjYXVzZSBpdCBpcyBlZmZpY2llbnQgb25seSB3aGVuIG1hbnVhbGx5IGNvbmZpZ3VyZWQKPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJidWciPkJ1ZzwvaDQ+CjxkaXYgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPiogW1dJQ0tFVC01MjQzXSAtIEpTOiBIaWdoIHN0YWNrIHNpemUgaW4gRnVuY3Rpb24gRXhlY3V0b3IgY2F1c2VzICJ0b28gbXVjaCByZWN1cnNpb24iCiogW1dJQ0tFVC01Mjg0XSAtIFRvbyBkZWVwIHJlY3Vyc2lvbiBpbiBBYnN0cmFjdEhpZXJhcmNoeUl0ZXJhdG9yCiogW1dJQ0tFVC01NTA0XSAtIEFqYXhSZXF1ZXN0VGFyZ2V0LmFwcGVuZC9wcmVwZW5kSmF2YVNjcmlwdCBjYW5ub3QgaGFuZGxlIHNjcmlwdHMgd2l0aCBuZXctbGluZXMgYW55bW9yZQoqIFtXSUNLRVQtNTUwNV0gLSBEZWZhdWx0UHJvcGVydHlSZXNvbHZlciBkb2VzIG5vdCByZXNwZWN0IEphdmFCZWFuIGNvbnZlbnRpb25zCiogW1dJQ0tFVC01NTA2XSAtIERlZmF1bHRQcm9wZXJ0eVJlc29sdmVyIHNob3VsZCByZXNvbHZlIHRoZSBQcm9wZXJ0eSBhY2NvcmRpbmcgdG8gdGhlIGdldHRlciBmaXJzdAoqIFtXSUNLRVQtNTUwOV0gLSBXaWNrZXQgZXhhbXBsZXMnIE1haWxUZW1wbGF0ZSBmcm9tIFBhZ2UgaXMgYnJva2VuCiogW1dJQ0tFVC01NTE3XSAtIElFMTEgcmV0dXJucyBmYWxzZSBmb3IgV2lja2V0LkJyb3dzZXIuaXNJRSgpCiogW1dJQ0tFVC01NTE4XSAtIEZvcm1Db21wb25lbnQudXBkYXRlQ29sbGVjdGlvbk1vZGVsICBkb2VzIG5vdCBoYW5kbGUgdW5tb2RpZmlhYmxlTGlzdAoqIFtXSUNLRVQtNTUyMV0gLSBTdGF0ZWxlc3MgZm9ybXMgZG9lcyBub3Qgd29yayB3aGVuIFJlY3JlYXRlTW91bnRlZFBhZ2VzQWZ0ZXJFeHBpcnkgdHVybmVkIG9mZgoqIFtXSUNLRVQtNTUyMl0gLSBGYWlsaW5nIEhUVFBTIHJlZGlyZWN0IHRvIFJlcXVpcmVIdHRwcyBhbm5vdGF0ZWQgcGFnZXMgd2l0aCBPTkVfUEFTU19SRU5ERVIgc3RyYXRlZ3kKKiBbV0lDS0VULTU1MjNdIC0gQWpheCBpbmRpY2F0b3Igbm90IHdvcmtpbmcgd2hlbiBkaXNwbGF5IGlzIHNldCB0byBub25lIGluIGNzcwoqIFtXSUNLRVQtNTUzMl0gLSBOUEUgY2FsbGluZyBQYWNrYWdlUmVzb3VyY2UuZ2V0UmVzb3VyY2VTdHJlYW0oKSBpZiB0aGVyZSBpcyBubyBSZXF1ZXN0Q3ljbGUgZGVmaW5lZAoqIFtXSUNLRVQtNTUzNF0gLSBEYXRhVGFibGUgY29tcG9uZW50IG11c3QgdGhyb3cgYW4gZXhjZXB0aW9uIHdoZW4gYXR0YWNoZWQgdG8gbm9uLSZhbXA7bHQ7dGFibGUmYW1wO2d0OyBlbGVtZW50CiogW1dJQ0tFVC01NTM2XSAtIEVycm9yIG1lc3NhZ2Ugd2l0aG91dCBwYXJtZXRlcnMgZmlsbGVkLgoqIFtXSUNLRVQtNTUzN10gLSBXaWNrZXQuRE9NLnRvZ2dsZUNsYXNzIGlzIGNhbGxlZCB3aXRoIGFkZGl0aW9uYWwgIiMiIGluc2lkZSBBdXRvTGFiZWxSZXNvbHZlcgoqIFtXSUNLRVQtNTU0MV0gLSBOdWxsUG9pbnRlckV4Y2VwdGlvbiBpbiBTdWJzY3JpYmVBbm5vdGF0aW9uRXZlbnRTdWJzY3JpcHRpb25JbnZva2VyIG9uIHJlbW92ZSBvZiBjb21wb25lbnQgZnJvbSBwYWdlCiogW1dJQ0tFVC01NTQ1XSAtIENhbm5vdCB1c2UgcmVkaXJlY3QgaW4gTW9kYWxXaW5kb3cncyBwYWdlI29uSW5pdGlhbGl6ZSgpCiogW1dJQ0tFVC01NTQ2XSAtIEFkZGluZyBiZWhhdmlvciBpbiBjb21wb25lbnQgaW5zdGFudGlhdGlvbiBsaXN0ZW5lciBjYXVzZXMgUGFnZS5vbkluaXRpYWxpemUoKSBiZWluZyBjYWxsZWQgZXZlbiBpZiBjb25zdHJ1Y3RvciB0aHJvd3MgYW4gZXhjZXB0aW9uCiogW1dJQ0tFVC01NTQ3XSAtIEphdmFkb2MgZm9yIFJldXNlSWZNb2RlbHNFcXVhbFN0cmF0ZWd5IHNob3VsZCBtZW50aW9uIHRoYXQgbW9kZWxzIG11c3QgaW1wbGVtZW50IGhhc2hDb2RlKCkgbWV0aG9kCiogW1dJQ0tFVC01NTQ4XSAtIFdlYnNvY2tldCBpbml0aWFsaXphdGlvbiBVUkwgaXMgbm90IHZhbGlkIHdoZW4gZmlsdGVyIGlzIG5vdCBtYXBwZWQgdG8gcm9vdC4KKiBbV0lDS0VULTU1NTVdIC0gQWJzdHJhY3RBdXRvQ29tcGxldGVCZWhhdmlvci5XcmFwcGVkSGVhZGVySXRlbSBzaG91bGQgZGVwZW5kIG9uIHdpY2tldC1hamF4LmpzCiogW1dJQ0tFVC01NTU2XSAtIEVycm9yIGluIHdpY2tldC1hdXRvY29tcGxldGUuanMgYmFkIHJlZmVyZW5jZSBvZiAkCiogW1dJQ0tFVC01NTU3XSAtIERvbid0IGNhY2hlIHRoZSByZXN1bHQgb2YgQXV0aGVudGljYXRlZFdlYkFwcGxpY2F0aW9uI2dldFdlYlNlc3Npb25DbGFzcygpCiogW1dJQ0tFVC01NTU4XSAtIEF1dG9saW5raW5nIGRvZXMgbm90IGFsd2F5cyB3b3JrIGluIGluaGVyaXR0ZWQgbWFya3VwCiogW1dJQ0tFVC01NTYxXSAtIERlcml2ZWQgcGFnZSB3aXRob3V0IG93biBtYXJrdXAgbGVhZHMgdG8gTWFya3VwTm90Rm91bmRFeGNlcHRpb24gd2hlbiBCYXNlUGFnZSBoYXMgJmFtcDtsdDt3aWNrZXQ6aGVhZCZhbXA7Z3Q7IGluIGl0cyBtYXJrdXAKPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJpbXByb3ZlbWVudCI+SW1wcm92ZW1lbnQ8L2g0Pgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT4qIFtXSUNLRVQtNTUwOF0gLSBNZW1vcnkgbW9kZWwgaW1wcm92ZW1lbnRzIGZvciBTZXNzaW9uIGZpZWxkcwoqIFtXSUNLRVQtNTUxMl0gLSBBbGxvdyB1c2luZyBjaGlsZCBzZWxlY3RvciBmb3IgSlMgZXZlbnQgYmluZGluZ3MKKiBbV0lDS0VULTU1MjBdIC0gaW1wcm92ZSByZXVzYWJpbGl0eSBvZiBEYXRhVGFibGUgYW5kIEFic3RyYWN0UGFnZWFibGVWaWV3CiogW1dJQ0tFVC01NTI4XSAtIEFsbG93IG1vZGVscyBvZiBzdWJ0eXBlcyBvZiBTZWxlY3QgdHlwZSBwYXJhbWV0ZXIgaW4gU2VsZWN0T3B0aW9uIGNvbnN0cnVjdG9yCiogW1dJQ0tFVC01NTI5XSAtIEFkZCBXZWJTb2NrZXRCZWhhdmlvci9SZXNvdXJjZSNvblB1c2goKSBjYWxsYmFjayBtZXRob2QKKiBbV0lDS0VULTU1MzFdIC0gQ3JlYXRlIG5ldyBwbGFjZWhvbGRlciB0YWcgdG8gaW5kaWNhdGUgd2hlcmUgaGVhZGVyIGNvbnRyaWJ1dGlvbnMgc2hvdWxkIGFwcGVhcgoqIFtXSUNLRVQtNTUzOF0gLSBXaGVuIHVzaW5nIENvbXBvbmVudC5zZXREZWZhdWx0TW9kZWwsIG9ubHkgZGV0YWNoIHRoZSBwcmV2aW91cyBtb2RlbCBpZiB0aGUgbmV3IG9uZSBpcyBkaWZmZXJlbnQKKiBbV0lDS0VULTU1NDldIC0gY29udGludWVUb09yaWdpbmFsRGVzdGluYXRpb24oKSBmYWlscyBhZnRlciByZWRpcmVjdFRvSW50ZXJjZXB0UGFnZSgpIG9uIEFqYXhSZXF1ZXN0KiBbV0lDS0VULTUyODhdIC0gQWxsb3cgJmFtcDthbXA7bHQ7c2NyaXB0JmFtcDthbXA7Z3Q7LVRhZ3MgYWN0IGFzIFdlYk1hcmtVcENvbnRhaW5lciB0byBhZGQgQ2hpbGQtQ29tcG9uZW50cwo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8aDQgaWQ9Im5ldy1mZWF0dXJlIj5OZXcgRmVhdHVyZTwvaDQ+CjxkaXYgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPiogW1dJQ0tFVC04MzFdIC0gUmV0dXJuIHJlc3BvbnNlIHN0YXR1cyA0MDQgd2hlbiBhIG1hcHBlciBjYW5ub3QgZGVjb2RlIGEgcmVxdWVzdCB1cmwKKiBbV0lDS0VULTI1NDJdIC0gUHJvdmlkZSBhamF4IGJ1dHRvbnMgZm9yIHdpemFyZAo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8aDQgaWQ9InRhc2siPlRhc2s8L2g0Pgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT4qIFtXSUNLRVQtNTUxNF0gLSBVcGRhdGUgV2lja2V0IGZyYWdtZW50IGV4YW1wbGUKPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJ3aXNoIj5XaXNoPC9oND4KPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+KiBbV0lDS0VULTU1MTZdIC0gUmFkaW9DaG9pY2UgLyBhZGQgYSBnZXRBZGRpdGlvbmFsQXR0cmlidXRlcygpIGFsc28gZm9yICZsdDtsYWJlbCZndDstdGFnCiogW1dJQ0tFVC01NTQyXSAtIFJlbW92ZSBmaW5hbCBmcm9tIFRleHRBcmVhLm9uQ29tcG9uZW50VGFnQm9keSgpCjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KBjoGRVQ=