PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIvPgo8dGl0bGU+QWJvdXQgRWNsaXBzZUxpbmsgMi41PC90aXRsZT4KPC9oZWFkPgo8Ym9keSBsYW5nPSJFTi1VUyI+CjxoMT5FY2xpcHNlTGluayAyLjU8L2gxPgo8aDI+RWNsaXBzZSBLZXBsZXIgc2ltdWx0YW5lb3VzIHJlbGVhc2U8L2gyPgo8cD5UYXJnZXQgRGF0ZSAtIEp1bmUgMjAxMzwvcD4KPGgyPkFib3V0PC9oMj4KPHA+VGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvZWNsaXBzZWxpbmsiPkVjbGlwc2VMaW5rPC9hPiBwcm9qZWN0J3MKICBnb2FsIGlzIHRvIHByb3ZpZGUgYSBjb21wbGV0ZSBwZXJzaXN0ZW5jZSBmcmFtZXdvcmsgdGhhdCBpcyBib3RoIGNvbXByZWhlbnNpdmUKICBhbmQgdW5pdmVyc2FsLiBJdCB3aWxsIHJ1biBpbiBhbnkgSmF2YSBlbnZpcm9ubWVudCBhbmQgcmVhZCBhbmQgd3JpdGUgb2JqZWN0cwogIHRvIHZpcnR1YWxseSBhbnkgdHlwZSBvZiBkYXRhIHNvdXJjZSwgaW5jbHVkaW5nIHJlbGF0aW9uYWwgZGF0YWJhc2VzLCBhbmQgWE1MLgogIEVjbGlwc2VMaW5rIHdpbGwgZm9jdXMgb24gcHJvdmlkaW5nIGxlYWRpbmcgZWRnZSBzdXBwb3J0LCBpbmNsdWRpbmcgYWR2YW5jZWQKICBmZWF0dXJlIGV4dGVuc2lvbnMsIGZvciB0aGUgZG9taW5hbnQgcGVyc2lzdGVuY2Ugc3RhbmRhcmRzIGZvciBlYWNoIHRhcmdldCBkYXRhCiAgc291cmNlOyBKYXZhIFBlcnNpc3RlbmNlIEFQSSAoSlBBKSBmb3IgcmVsYXRpb25hbCBkYXRhYmFzZXMsIEphdmEgQVBJIGZvciBYTUwKICBCaW5kaW5nIChKQVhCKSBmb3IgWE1MLCBTZXJ2aWNlIERhdGEgT2JqZWN0cyAoU0RPKSwgYW5kIERhdGFiYXNlIFdlYiBzZXJ2aWNlcwogIChEQldTKS4gPC9wPgoKPHA+Rm9yIHRpcHMgb24gZ2V0dGluZyBzdGFydGVkIHdpdGggRWNsaXBzZUxpbmssIHBsZWFzZSBzZWUgdGhlIGZvbGxvd2luZyByZXNvdXJjZXM6CjwvcD4KPHVsPgogIDxsaT4gPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9lY2xpcHNlbGluay9yZWxlYXNlcy8yLjUucGhwIj5FY2xpcHNlTGluayAyLjUgUmVsZWFzZSBOb3RlczwvYT48L2xpPgogIDxsaT4gPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9lY2xpcHNlbGluay9kb2N1bWVudGF0aW9uIj5Eb2N1bWVudGF0aW9uPC9hPjwvbGk+CiAgPGxpPiA8YSBocmVmPSJodHRwOi8vd2lraS5lY2xpcHNlLm9yZy9FY2xpcHNlTGluay9FeGFtcGxlcyI+RXhhbXBsZXMgYW5kIEhvdyBUbzwvYT48L2xpPgo8L3VsPgo8aDI+TGljZW5zZSA8L2gyPgo8cD5UaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1ha2VzIGF2YWlsYWJsZSBhbGwgY29udGVudCBpbiB0aGlzIHBsdWctaW4gKCZxdW90O0NvbnRlbnQmcXVvdDspLgogICAgVW5sZXNzIG90aGVyd2lzZSBpbmRpY2F0ZWQgYmVsb3csIHRoZSBDb250ZW50IGlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMKICAgIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wICgmcXVvdDtFUEwmcXVvdDspIGFuZAogICAgRWNsaXBzZSBEaXN0cmlidXRpb24gTGljZW5zZSBWZXJzaW9uIDEuMCAok0VETJQpLiBBIGNvcHkgb2YgdGhlIEVQTCBpcyBhdmFpbGFibGUgYXQKICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIj4gaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWw8L2E+CiAgICBhbmQgYSBjb3B5IG9mIHRoZSBFREwgaXMgYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvb3JnL2RvY3VtZW50cy9lZGwtdjEwLnBocCI+CiAgICBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvZWRsLXYxMC5waHA8L2E+LiAgRm9yIHB1cnBvc2VzIG9mIHRoZSBFUEwsICJQcm9ncmFtIgogICAgd2lsbCBtZWFuIHRoZSBDb250ZW50LjwvcD4KPHA+SWYgeW91IGRpZCBub3QgcmVjZWl2ZSB0aGlzIENvbnRlbnQgZGlyZWN0bHkgZnJvbSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLCB0aGUKICBDb250ZW50IGlzIGJlaW5nIHJlZGlzdHJpYnV0ZWQgYnkgYW5vdGhlciBwYXJ0eSAoJnF1b3Q7UmVkaXN0cmlidXRvciZxdW90OykKICBhbmQgZGlmZmVyZW50IHRlcm1zIGFuZCBjb25kaXRpb25zIG1heSBhcHBseSB0byB5b3VyIHVzZSBvZiBhbnkgb2JqZWN0IGNvZGUKICBpbiB0aGUgQ29udGVudC4gQ2hlY2sgdGhlIFJlZGlzdHJpYnV0b3ImIzgyMTc7cyBsaWNlbnNlIHRoYXQgd2FzIHByb3ZpZGVkIHdpdGgKICB0aGUgQ29udGVudC4gSWYgbm8gc3VjaCBsaWNlbnNlIGV4aXN0cywgY29udGFjdCB0aGUgUmVkaXN0cmlidXRvci4gVW5sZXNzIG90aGVyd2lzZQogIGluZGljYXRlZCBiZWxvdywgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFUEwgYW5kIEVETCBzdGlsbCBhcHBseSB0byBhbnkgc291cmNlCiAgY29kZSBpbiB0aGUgQ29udGVudCBhbmQgc3VjaCBzb3VyY2UgY29kZSBtYXkgYmUgb2J0YWluZWQgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZyI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPgo8aDI+VGhpcmQgUGFydHkgQ29udGVudDwvaDI+CjxwPlRoZSBDb250ZW50IGluY2x1ZGVzIGl0ZW1zIHRoYXQgaGF2ZSBiZWVuIHNvdXJjZWQgZnJvbSB0aGlyZCBwYXJ0aWVzIGFzIHNldAogIG91dCBiZWxvdy4gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSB0aGlzIENvbnRlbnQgZGlyZWN0bHkgZnJvbSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLAogIHRoZSBmb2xsb3dpbmcgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSwgYW5kIHlvdSBzaG91bGQgbG9vawogIHRvIHRoZSBSZWRpc3RyaWJ1dG9yJiM4MjE3O3MgbGljZW5zZSBmb3IgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLjwvcD4KPHVsPgogIDxsaT5Gb3VuZGF0aW9uIERlcGVuZGVuY2llcwogICAgPHVsPgogICAgICA8bGk+PGEgaHJlZj0iI0FTTSI+QVNNPC9hPjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPkVjbGlwc2VMaW5rIEpQQQogICAgPHVsPgogICAgICA8bGk+PGEgaHJlZj0iI0FOVExSIj5BTlRMUjwvYT48L2xpPgogICAgICA8bGk+PGEgaHJlZj0iI0pQQTIxIj5KYXZhIFBlcnNpc3RlbmNlIEFQSSAoSlBBKSAyLjE8L2E+PC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+RWNsaXBzZUxpbmsgTU9YeQogICAgPHVsPgogICAgICA8bGk+PGEgaHJlZj0iI0pBWEIiPkphdmEgQXJjaGl0ZWN0dXJlIGZvciBYTUwgQmluZGluZyAoSkFYQik8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9IiNNQUlMIj5KYXZhIE1haWw8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9IiNBQ1RJVkFUSU9OIj5KYXZhIEFjdGl2YXRpb24gRnJhbWV3b3JrPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjU3RBWCI+U3RyZWFtaW5nIEFQSSBmb3IgWE1MIChTdEFYKTwvYT48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5FY2xpcHNlTGluayBTRE8KICAgIDx1bD4KICAgICAgPGxpPjxhIGhyZWY9IiNTRE8iPlNlcnZpY2UgRGF0YSBPYmplY3RzIChTRE8pPC9hPjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPkVjbGlwc2VMaW5rIERCV1MKICAgIDx1bD4KICAgICAgPGxpPjxhIGhyZWY9IiNTZXJ2bGV0Ij5KYXZhIFNlcnZsZXQgMi40IChvciBoaWdoZXIpPC9hPjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlV0aWxpdGllcwogICAgPHVsPgogICAgICA8bGk+PGEgaHJlZj0iI0pDQSI+SmF2YSBDb25uZWN0b3I8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9IiNYRVJDRVMiPlhlcmNlczwvYT48L2xpPgogICAgICA8bGk+PGEgaHJlZj0iI1dTREw0SiI+V1NETDRKIDEuNi4yIDwvYT48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgo8aHIgLz4KPGgzPjxhIG5hbWU9IkFTTSIgaWQ9IkFTTSI+PC9hPkFTTSB2My4zLjEgPC9oMz4KPGJsb2NrcXVvdGU+CiAgPHA+VGhlIEVjbGlwc2VMaW5rIFByb2plY3QgaW5jbHVkZXMgQVNNIGZvciB0aGUgcHVycG9zZSBvZgogICAgYnl0ZSBjb2RlIHdlYXZpbmcuIFRoZSBBTVMgbGlicmFyeSBpcyByZS1wYWNrYWdlZCB3aXRoaW4gdGhlIHNvdXJjZSBvZiB0aGUKICAgIHByb2plY3QgKG9yZy5wZXJzaXN0ZW5jZS5lY2xpcHNlLmludGVybmFsLmxpYnJhcmllcy5hc20uKikgdG8gYXZvaWQgdmVyc2lvbgogICAgY29sbGlzaW9ucyB3aXRoIG90aGVyIHVzYWdlIG9mIEFTTS4KICA8L3A+CiAgPHA+VGhlIHNvdXJjZSBjb2RlIGlzIGF2YWlsYWJsZSB3aXRoaW4gdGhlIHByb2plY3QncyBzdWJ2ZXJzaW9uIHJlcG9zaXRvcnkuCiAgICBUaGUgYmluYXJpZXMgYXJlIGRpc3RyaWJ1dGVkIHdpdGhpbiB0aGUgZWNsaXBzZWxpbmsuamFyIGFuZCBpbiB0aGUgb3JnLmVjbGlwc2UucGVyc2lzdGVuY2UuYXNtXyouamFyCiAgICBidW5kbGUuIDwvcD4KICA8cD4gPGEgaHJlZj0iaHR0cDovL2FzbS5vYmplY3R3ZWIub3JnL2xpY2Vuc2UuaHRtbCI+aHR0cDovL2FzbS5vYmplY3R3ZWIub3JnL2xpY2Vuc2UuaHRtbDwvYT48L3A+CiAgPHA+Q29weXJpZ2h0IChjKSAyMDAwLTIwMDUgSU5SSUEsIEZyYW5jZSBUZWxlY29tLCBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICA8cD5SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAogICAgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OjwvcD4KICA8b2w+CiAgICA8bGk+IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci48L2xpPgogICAgPGxpPiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCiAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uPC9saT4KICAgIDxsaT4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlcnMgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0CiAgICAgIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi48L2xpPgogIDwvb2w+CiAgPHA+VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAmcXVvdDtBUwogICAgSVMmcXVvdDtBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAogICAgVE8sIFRIRUlNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgogICAgUFVSUE9TRUFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUwogICAgQkVMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SQ09OU0VRVUVOVElBTAogICAgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GU1VCU1RJVFVURSBHT09EUyBPUgogICAgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKICAgIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU5DT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKICAgIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSlBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAgIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRlRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS48L3A+CjwvYmxvY2txdW90ZT4KPGgzPjxhIG5hbWU9IkFOVExSIiBpZD0iQU5UTFIiPjwvYT5BTlRMUiB2My4yPC9oMz4KPGJsb2NrcXVvdGU+CiAgPHA+VGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYW50bHIub3JnLyI+QU5UTFIgbGlicmFyeTwvYT4gKDxhIGhyZWY9Imh0dHA6Ly93d3cuYW50bHIub3JnL2xpY2Vuc2UuaHRtbCI+bGljZW5zZTwvYT4pCiAgICBpcyBpbmNsdWRlZCB3aXRoaW4gRWNsaXBzZUxpbmsgUHJvamVjdCB0byBlbmFibGUgcGFyc2luZyBvZiB0aGUgSmF2YSBQZXJzaXN0ZW5jZQogICAgUXVlcnkgbGFuZ3VhZ2UgKEpQIFFMKS4gVGhlIEFOVExSIGxpYnJhcnkgaXMgcmUtcGFja2FnZWQgd2l0aGluIHRoZSBwcm9qZWN0CiAgICBpbiB0aGUgb3JnLmVjbGlwc2UucGVyc2lzdGVuY2UuaW50ZXJuYWwubGlicmFyaWVzLmFudGxyLiogcGFja2FnZXMuIDwvcD4KICA8cD5UaGUgc291cmNlIGlzIGF2YWlsYWJsZSB3aXRoIHRoZSBwcm9qZWN0J3Mgc3VidmVyc2lvbiByZXBvc2l0b3J5LiBUaGUgYmluYXJpZXMKICAgIGFyZSBkaXN0cmlidXRlZCB3aXRoaW4gdGhlIGVjbGlwc2VsaW5rLmphciBhbmQgaW4gdGhlIG9yZy5lY2xpcHNlLnBlcnNpc3RlbmNlLmFudGxyXzMuMi4wLnYqLmphcgogICAgYnVuZGxlLjwvcD4KPC9ibG9ja3F1b3RlPgo8aDM+PGEgbmFtZT0iSkFYQiIgaWQ9IkpBWEIiPjwvYT5KYXZhIEFyY2hpdGVjdHVyZSBmb3IgWE1MIEJpbmRpbmcgKEpBWEIpIHYyLjI8L2gzPgo8YmxvY2txdW90ZT4KICA8cD5UaGUgPGEgaHJlZj0iaHR0cDovL2pheGIuamF2YS5uZXQiPkpBWEIgbGlicmFyaWVzPC9hPiBkaXN0cmlidXRlZAogICAgdW5kZXIgPGEgaHJlZj0iaHR0cDovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwiPkNEREwgdjEuMDwvYT4KICAgIGFyZSBpbmNsdWRlZCB3aXRoaW4gdGhlIEVjbGlwc2VMaW5rIFByb2plY3QgdG8gZW5hYmxlIHRoZSBNT1h5IGNvbXBvbmVudCdzCiAgICBpbXBsZW1lbnRhdGlvbiBvZiBKQVhCLjwvcD4KICA8cD5KQVhCIExpYnJhcmllczogPC9wPgogIDx1bD4KICAgIDxsaT5qYXZheC54bWwuYmluZF8yLjIuMC52MjAxMTA1MjEwNjQ4LmphciAoamF4Yi1hcGkuamFyKTwvbGk+CiAgICA8bGk+Y29tLnN1bi54bWwuYmluZF8yLjIuMC52MjAxMDA0MTQxOTUwLmphciAoamF4Yi1pbXBsLmphcik8L2xpPgogICAgPGxpPmNvbS5zdW4udG9vbHMueGpjXzIuMi4wLmphciAoamF4Yi54amMuamFyKTwvbGk+CiAgPC91bD4KPC9ibG9ja3F1b3RlPgo8aDM+PGEgbmFtZT0iSlBBMjEiIGlkPSJKUEEyIj48L2E+SmF2YSBQZXJzaXN0ZW5jZSAoSlBBKSAyLjEgIDwvaDM+CjxibG9ja3F1b3RlPgogIDxwPkVjbGlwc2VMaW5rIGlzIHRoZSBKYXZhIFBlcnNpc3RlbmNlIChKUEEpIDIuMSBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24KICAgICg8YSBocmVmPSJodHRwOi8vamNwLm9yZy9lbi9qc3IvZGV0YWlsP2lkPTMzOCI+SlNSIDMzODwvYT4pLiAgVGhlIEpQQSAyLjEKICAgIHNwZWNpZmljYXRpb24gQVBJIGlzIGluY2x1ZGVkIGluIEVjbGlwc2VMaW5rIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCI+RVBMPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9vcmcvZG9jdW1lbnRzL2VkbC12MTAucGhwIj5FREw8L2E+IGxpY2Vuc2VzLjwvcD4KPC9ibG9ja3F1b3RlPgo8aDM+PGEgbmFtZT0iTUFJTCIgaWQ9Ik1BSUwiPjwvYT5KYXZhIE1haWwgdjEuNC4wPC9oMz4KPGJsb2NrcXVvdGU+CiAgPHA+VGhlIEphdmEgTWFpbCBsaWJyYXJ5IChtYWlsLmphcikgY2FuIGJlIGRvd25sb2FkZWQgZnJvbSA8YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2phdmFtYWlsL2phdmFtYWlsLTFfNC5odG1sIj5qYXZhLnN1bi5jb208L2E+CiAgICB1bmRlciA8YSBocmVmPSJodHRwOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+Q0RETAogICAgdjEuMDwvYT4gYW5kIGlzIGluY2x1ZGVkIHdpdGhpbiB0aGUgRWNsaXBzZUxpbmsgUHJvamVjdCBkaXN0cmlidXRpb24KICAgIHRvIHN1cHBvcnQgV2ViIFNlcnZpY2VzIGF0dGFjaG1lbnQgaGFuZGxpbmcgaW4gdGhlIE1PWHkgY29tcG9uZW50LiBJdCBpcyBvbmx5CiAgICByZXF1aXJlZCB3aGVuIHVzaW5nIEphdmEgU0UgNSAoSmF2YSBNYWlsIGlzIGluY2x1ZGVkIGluIEphdmEgU0UgNikuPC9wPgo8L2Jsb2NrcXVvdGU+CjxoMz48YSBuYW1lPSJBQ1RJVkFUSU9OIiBpZD0iQUNUSVZBVElPTiI+PC9hPkphdmEgQWN0aXZhdGlvbiBGcmFtZXdvcmsgdjEuMTwvaDM+CjxibG9ja3F1b3RlPgogIDxwPlRoZSBKYXZhIEFjdGl2YXRpb24gRnJhbWV3b3JrIChhY3RpdmF0aW9uLmphcikgaXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGUgPGEgaHJlZj0iaHR0cDovL2pheGIuamF2YS5uZXQiPkpBWEIKICAgIHYyLjI8L2E+IHVuZGVyIDxhIGhyZWY9Imh0dHA6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3B1YmxpYy9DRERMdjEuMC5odG1sIj5DRERMCiAgICB2MS4wPC9hPiBhbmQgaXMgaW5jbHVkZWQgd2l0aGluIHRoZSBFY2xpcHNlTGluayBQcm9qZWN0IGRpc3RyaWJ1dGlvbiB0byBzdXBwb3J0CiAgICBXZWIgU2VydmljZXMgYXR0YWNobWVudCBoYW5kbGluZyBpbiB0aGUgTU9YeSBjb21wb25lbnQuIEl0IGlzIG9ubHkgcmVxdWlyZWQKICAgIHdoZW4gdXNpbmcgSmF2YSBTRSA1IChUaGUgSmF2YSBBY3RpdmF0aW9uIEZyYW1ld29yayBpcyBpbmNsdWRlZCBpbiBKYXZhIFNFCiAgICA2KS48L3A+CjwvYmxvY2txdW90ZT4KPGgzPjxhIG5hbWU9IlN0QVgiIGlkPSJTdEFYIj48L2E+U3RyZWFtaW5nIEFQSSBmb3IgWE1MIChTdEFYKSB2MS4wLjE8L2gzPgo8YmxvY2txdW90ZT4KICA8cD5UaGUgU3RyZWFtaW5nIEFQSSBmb3IgWE1MIChTdEFYKSBsaWJyYXJ5IChqc3IxNzNfMS4wX2FwaS5qYXIpIGlzIGRpc3RyaWJ1dGVkCiAgICB3aXRoIHRoZSA8YSBocmVmPSJodHRwOi8vamF4Yi5qYXZhLm5ldCI+SkFYQiB2Mi4yPC9hPiB1bmRlcgogICAgPGEgaHJlZj0iaHR0cDovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwiPkNEREwgdjEuMDwvYT4KICAgIGFuZCBpcyBpbmNsdWRlZCB3aXRoaW4gdGhlIEVjbGlwc2VMaW5rIFByb2plY3QgZGlzdHJpYnV0aW9uIGFzIGFuIG9wdGlvbmFsCiAgICBYTUwgcHJvY2Vzc2luZyBhcHByb2FjaCBpbiB0aGUgTU9YeSBjb21wb25lbnQuIDwvcD4KPC9ibG9ja3F1b3RlPgo8aDM+PGEgbmFtZT0iU0RPIiBpZD0iU0RPIj48L2E+U2VydmljZSBEYXRhIE9iamVjdHMgKFNETykgdjIuMS4xPC9oMz4KPGJsb2NrcXVvdGU+CiAgPHA+VGhlIDxhIGhyZWY9Imh0dHA6Ly9qY3Aub3JnL2Fib3V0SmF2YS9jb21tdW5pdHlwcm9jZXNzL3ByL2pzcjIzNS9pbmRleC5odG1sIj5TZXJ2aWNlCiAgICBEYXRhIE9iamVjdHMgKFNETykgQVBJPC9hPiBpcyBkaXN0cmlidXRlZCB1bmRlciBhIDxhIGhyZWY9Imh0dHA6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3B1YmxpYy9DRERMdjEuMC5odG1sIj4gQ0RETHYxLjAgPC9hPiBhbmQgIDxhIGhyZWY9Imh0dHA6Ly9qY3Aub3JnL2Fib3V0SmF2YS9jb21tdW5pdHlwcm9jZXNzL3ByL2pzcjIzNS9pbmRleC5odG1sIj5jdXN0b20KICAgIGxpY2Vuc2U8L2E+LiBJdCBwcm92aWRlcyB0aGUgc3RhbmRhcmQgQVBJIGltcGxlbWVudGVkIGJ5IHRoZSBFY2xpcHNlTGluayBQcm9qZWN0J3MgU0RPIGNvbXBvbmVudC48L3A+CjwvYmxvY2txdW90ZT4KPGgzPjxhIG5hbWU9IkpDQSIgaWQ9IkpDQSI+PC9hPkphdmEgQ29ubmVjdG9yIHYxLjU8L2gzPgo8YmxvY2txdW90ZT4KICA8cD5UaGUgSkNBIDEuNSBBUEkgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgPGEgaHJlZj0iaHR0cDovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwiPgogICAgQ0RETHYxLjAgPC9hPi4gPC9wPgogIDxwPlRoaXMgamFyIGlzIGJlaW5nIHNoaXBwZWQgYW5kIHJlcXVpcmVkIGJ5IHRoZSBXb3JrYmVuY2ggb25seS4gV2hlbiB1c2luZwogICAgRWNsaXBzZUxpbmsgaW4gYSBjb250YWluZXIgd2hlcmUgSkNBIGludGVncmF0aW9uIGlzIHJlcXVpcmVkIHRoYXQgY29udGFpbmVyCiAgICB3aWxsIHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSBBUEkgbGlicmFyaWVzLjwvcD4KPC9ibG9ja3F1b3RlPgo8aDM+PGEgbmFtZT0iWEVSQ0VTIiBpZD0iWEVSQ0VTIj48L2E+WGVyY2VzIHYyLjkuMDwvaDM+CjxibG9ja3F1b3RlPgogIDxwPlhlcmNlcyAyLjkuMCBpcyBhdmFpbGFibGUgZnJvbSA8YSBocmVmPSJodHRwOi8veGVyY2VzLmFwYWNoZS5vcmcveGVyY2VzLWovIj4KICAgIHRoZSBYZXJjZXMgaG9tZSBwYWdlPC9hPi4gSXQgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgPGEgaHJlZj0iaHR0cDovL2FudC5hcGFjaGUub3JnL2xpY2Vuc2UuaHRtbCI+CiAgICBBcGFjaGUgMi4wPC9hPi48L3A+CiAgPHA+VGhpcyBqYXIgaXMgc2hpcHBlZCBmb3IgdGhlIFdvcmtiZW5jaCdzIHVzZSBvbmx5IGluIHRoZSByZWFkaW5nIGFuZCB3cml0aW5nCiAgICBvZiBYTUwgY29uZmlndXJhdGlvbiBmaWxlcy48L3A+CjwvYmxvY2txdW90ZT4KPGgzPjxhIG5hbWU9IlNFUlZMRVQiIGlkPSJTRVJWTEVUIj48L2E+SmF2YSBTZXJ2bGV0IDIuNDwvaDM+CjxibG9ja3F1b3RlPgogIDxwPlRoZSA8YSBocmVmPSJodHRwOi8vamNwLm9yZy9hYm91dEphdmEvY29tbXVuaXR5cHJvY2Vzcy9maW5hbC9qc3IxNTQvaW5kZXguaHRtbCI+SmF2YSBTZXJ2bGV0IDIuNCBzcGVjaWZpY2F0aW9uPC9hPgogIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSAgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wLmh0bWwiPkFwYWNoZSAyLjAgbGljZW5zZTwvYT4uIFRoZSBzb3VyY2UgY29kZSBpcyBwYXJ0IG9mIHRoZSA8YSBocmVmPSJodHRwOi8vc3ZuLmFwYWNoZS5vcmcvcmVwb3MvYXNmL3RvbWNhdC90cnVuay9qYXZhL2phdmF4L3NlcnZsZXQvIj5BcGFjaGUgVG9tY2F0IHByb2plY3Q8L2E+CiAgPHA+VGhpcyBqYXIgaXMgb25seSByZXF1aXJlZCBhdCBkZXNpZ24gdGltZSBmb3IgdGhlIERCV1MgQnVpbGRlciB1dGlsaXR5LjwvcD4KPC9ibG9ja3F1b3RlPgo8aDM+PGEgbmFtZT0iV1NETDRKIiBpZD0iV1NETDRKIj48L2E+V1NETDRqIHYxLjYuMjwvaDM+CjxibG9ja3F1b3RlPgogIDxwPldTREw0SiAxLjYuMiBpcyBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGZyb20gdGhlIDxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvd3NkbDRqIj53c2RsNGoKICAgIHByb2plY3Q8L2E+LiBJdCBkaXN0cmlidXRlZCB1bmRlciA8YSBocmVmPSJodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsMS4wLnBocCI+CiAgICBDUEx2MS4wIDwvYT4uIDwvcD4KICA8cD5UaGlzIGphciBpcyBvbmx5IHJlcXVpcmVkIGF0IGRlc2lnbiB0aW1lIGZvciB0aGUgREJXUyBCdWlsZGVyIHV0aWxpdHkuPC9wPgo8L2Jsb2NrcXVvdGU+CjxwPjwvcD4KPC9ib2R5Pgo8L2h0bWw+Cg==