PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgo8aHRtbD4KCjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJNaWNyb3NvZnQgRnJvbnRQYWdlIDMuMCI+Cjx0aXRsZT5JbnRlcm5hdGlvbmFsIENsYXNzZXMgZm9yIFVuaWNvZGUgLSBDb2xsYXRpb248L3RpdGxlPgo8L2hlYWQ+Cgo8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIj4KCjxoMT5JQk0ncyBDbGFzc2VzIGZvciBVbmljb2RlPC9oMT4KCjxoMj5Db2xsYXRpb24gRnJhbWV3b3JrPC9oMj4KCjxocj4KCjxoMz48dT5Db250ZW50czwvdT48L2gzPgoKPHVsIHR5cGU9ImRpc2MiPgogIDxsaT5XaGF0IGlzIGNvbGxhdGlvbj88L2xpPgogIDxsaT5UaGUgcnVsZSBzeW1ib2xzIGFuZCB0aGVpciB1c2FnZTwvbGk+CiAgPGxpPkludGVyZXN0aW5nIEV4YW1wbGVzPC9saT4KICA8bGk+SW1wbGVtZW50YXRpb24gRGV0YWlsczx1bCB0eXBlPSJjaXJjbGUiPgogICAgICA8bGk+QnVpbGRpbmcgdGhlIENvbGxhdGlvbiBUYWJsZTwvbGk+CiAgICAgIDxsaT5JbmNyZW1lbnRhbCBDb21wYXJpc29uIERpYWdyYW08L2xpPgogICAgICA8bGk+R2VuZXJhdGluZyBhIENvbGxhdGlvbiBUYWJsZTwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlEgYW5kIEE8L2xpPgo8L3VsPgoKPGgzPjx1PldoYXQgaXMgY29sbGF0aW9uPzwvdT48L2gzPgoKPHA+Q29sbGF0aW9uIGZyYW1ld29yayBwZXJmb3JtcyBsb2NhbGUtc2Vuc2l0aXZlIHN0cmluZyBjb21wYXJpc29uLiBUaGUgdXNlciBvZiB0aGlzIGNsYXNzCmNhbiB1c2UgdGhpcyBjbGFzcyB0byBidWlsZCBzZWFyY2hpbmcgYW5kIHNvcnRpbmcgcm91dGluZXMgZm9yIG5hdHVyYWwgbGFuZ3VhZ2UgdGV4dCwKYnVpbGQgdGFibGUgb2YgY29udGVudHMgZm9yIGxhcmdlIGRvY3VtZW50YXRpb24gb3IgY3JlYXRlIGVmZmljaWVudCBpbmRleCBsb29rIHVwIGZvcgpkYXRhYmFzZSBlbnRyaWVzLjxicj4KPGJyPgpUaGUgSUNVIENvbGxhdG9yIGNsYXNzZXMgcHJvdmlkZXMgc2VydmljZXMgdG8gYWxsb3c6Cgo8dWwgdHlwZT0iZGlzYyI+CiAgPGxpPlNpbXBsZSwgZGF0YS1kcml2ZW4sIHRhYmxlIGJhc2VkIGNvbGxhdGlvbi48L2xpPgogIDxsaT5FYXNpbHkgY3VzdG9taXpibGUgZm9yIHlvdXIgbmVlZHMuPC9saT4KICA8bGk+TWVyZ2luZyBkaWZmZXJlbnQgcmVzb3VyY2VzIG1hZGUgcG9zc2libGUuPC9saT4KICA8bGk+QmVoaW5kIHRoZSBzY2VuZSB0cmFuc2Zvcm1pbmcgdGhlIEFTQ0lJIGRhdGEgZmlsZSBpbnRvIGEgYmluYXJ5IGZpbGUgZm9yIGVmZmljaWVuY3kuPC9saT4KICA8bGk+T2ZmZXJpbmcgYm90aCBpbmNyZW1lbnRhbCBjb21wYXJpc29uIGZvciBzaW1wbGUgY29tcGFyaXNvbiBhbmQgY29sbGF0aW9uIGtleXMgZm9yIGJhdGNoCiAgICBwcm9jZXNzZXMuPC9saT4KPC91bD4KCjxwPlRoZXJlIGFyZSA0IGNvbXBhcmlzb24gbGV2ZWxzIGluIHRoZSBDb2xsYXRvciBjbGFzc2VzIHRvIGFsbG93IGRpZmZlcmVudCBsZXZlbHMgb2YKZGlmZmVyZW5jZSB0byBiZSBjb25zaWRlcmVkIHNpZ25pZmljYW50OiAKCjx1bCB0eXBlPSJkaXNjIj4KICA8bGk+UHJpbWFyeTogYSBsZXR0ZXIgZGlmZmVyZW5jZS4gRm9yIGV4YW1wbGUsICdhJyBhbmQgJ2InLjwvbGk+CiAgPGxpPlNlY29uZGFyeTogYW4gYWNjZW50IGRpZmZlcmVuY2UuIEZvciBleGFtcGxlLCAn5CcgYW5kICflJy48L2xpPgogIDxsaT5UZXJ0aWFyeTogYSBjYXNlIGRpZmZlcmVuY2UuIEZvciBleGFtcGxlLCAnYScgYW5kICdBJy48L2xpPgogIDxsaT5JZGVudGljYWw6IG5vIGRpZmZlcmVuY2UuIEZvciBleGFtcGxlLCAnYScgYW5kICdhJy48L2xpPgo8L3VsPgoKPGgzPjx1PlRoZSBydWxlIHN5bWJvbHMgYW5kIHRoZWlyIHVzYWdlPC91PjwvaDM+Cgo8cD5BIHN0cmluZyBpcyBkZWNvbXBvc2VkIHRvIGJlIG9uZSBvciBtb3JlIGNvbGxhdGlvbiBlbGVtZW50cyB3aGVuIHVzaW5nIHdpdGggdGhlCmNvbGxhdGlvbiBjbGFzc2VzLiBUaGUgY29sbGF0aW9uIHJ1bGVzIHNwZWNpZnkgdGhlIG9yZGVyIG9mIHRoZXNlIGNvbGxhdGlvbiBlbGVtZW50cy4gVGhlCmNvbGxhdGlvbiB0YWJsZSBpcyBjb21wb3NlZCBvZiBhIGxpc3Qgb2YgY29sbGF0aW9uIHJ1bGVzLCB3aGVyZSBlYWNoIHJ1bGUgaXMgb2YgdGhyZWUKZm9ybXM6Cgo8b2wgdHlwZT0iMSIgc3RhcnQ9IjEiPgogIDxsaT4mbHQ7bW9kaWZpZXImZ3Q7PC9saT4KICA8bGk+Jmx0O3JlbGF0aW9uJmd0OyAmbHQ7dGV4dC1hcmd1bWVudCZndDs8L2xpPgogIDxsaT4mbHQ7cmVzZXQmZ3Q7ICZsdDt0ZXh0LWFyZ3VtZW50MSZndDsgJmx0O3JlbGF0aW9uJmd0OyAmbHQ7dGV4dC1hcmd1bWVudDImZ3Q7PC9saT4KPC9vbD4KCjxoND4mbHQ7bW9kaWZpZXImZ3Q7PC9oND4KCjx1bCB0eXBlPSJkaXNjIj4KICA8bGk+J0AnOiBGcmVuY2ggc2Vjb25kYXJ5LCBhY2NlbnQgd2VpZ2h0cyBzb3J0ZWQgYmFja3dhcmRzLjwvbGk+CjwvdWw+Cgo8aDQ+Jmx0O3RleHQtYXJndW1lbnQmZ3Q7PC9oND4KCjxwPkEgdGV4dC1hcmd1bWVudCBpcyBhbnkgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycywgZXhjbHVkaW5nIHNwZWNpYWwgY2hhcmFjdGVycyAodGhhdCBpcywKY29tbW9uIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBbMDAwOS0wMDBELCAwMDIwXSBhbmQgcnVsZSBzeW50YXggY2hhcmFjdGVycyBbMDAyMS0wMDJGLAowMDNBLTAwNDAsIDAwNUItMDA2MCwgMDA3Qi0wMDdFXSkuIElmIHRob3NlIGNoYXJhY3RlcnMgYXJlIGRlc2lyZWQsIHlvdSBjYW4gcHV0IHRoZW0gaW4Kc2luZ2xlIHF1b3RlcyAoZS5nLiBhbXBlcnNhbmQgPSZndDsgJyZhbXA7JykuIE5vdGUgdGhhdCB1bnF1b3RlZCB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzCmFyZSBpZ25vcmVkOyBlLmcuICZxdW90O2IgYyZxdW90OyBpcyB0cmVhdGVkIGFzICZxdW90O2JjJnF1b3Q7LjwvcD4KCjxoND4mbHQ7cmVsYXRpb24mZ3Q7PC9oND4KCjx1bCB0eXBlPSJkaXNjIj4KICA8bGk+JyZsdDsnIDogR3JlYXRlciwgYXMgYSBsZXR0ZXIgZGlmZmVyZW5jZSAocHJpbWFyeSk8L2xpPgogIDxsaT4nOycgOiBHcmVhdGVyLCBhcyBhbiBhY2NlbnQgZGlmZmVyZW5jZSAoc2Vjb25kYXJ5KTwvbGk+CiAgPGxpPicsJyA6IEdyZWF0ZXIsIGFzIGEgY2FzZSBkaWZmZXJlbmNlICh0ZXJ0aWFyeSk8L2xpPgogIDxsaT4nPScgOiBFcXVhbDwvbGk+CjwvdWw+Cgo8aDQ+Jmx0O3Jlc2V0Jmd0OzwvaDQ+Cgo8dWwgdHlwZT0iZGlzYyI+CiAgPGxpPicmYW1wOyc6IEluZGljYXRlcyB0aGF0IHRleHQtYXJndW1lbnQyIGZvbGxvd3MgdGhlIHBvc2l0aW9uIHRvIHdoZXJlIHRoZSByZXNldAogICAgdGV4dC1hcmd1bWVudDEgd291bGQgYmUgc29ydGVkLjwvbGk+CjwvdWw+Cgo8aDM+PHU+SW50ZXJlc3RpbmcgRXhhbXBsZXM8L3U+PC9oMz4KCjxwPlRoZSBmb2xsb3dpbmcgaXMgYSBsaXN0IG9mIGludGVyZXN0aW5nIGV4YW1wbGVzIG9mIHRoZSBydWxlcyBhbmQgc29tZSBzdHJpbmcgY29tcGFyaXNvbgpyZXN1bHRzIHVzaW5nIHRob3NlIHJ1bGVzLiBUaGUgY29tcGFyaXNvbiByZWxhdGlvbiB3aWxsIGJlIGRlbm90ZWQgYXMgJnF1b3Q7Jmx0OyZxdW90OyBvZgpwcmltYXJ5IGRpZmZlcmVuY2Ugb2YgbGVzcyB0aGFuLCAmcXVvdDsmbHQ7Jmx0OyZxdW90OyBvZiBzZWNvbmRhcnkgZGlmZmVyZW5jZSBvZiBsZXNzCnRoYW4sICZxdW90OyZsdDsmbHQ7Jmx0OyZxdW90OyBvZiB0ZXJpYXRyeSBkaWZmZXJlbmNlIG9mIGxlc3MgdGhhbiBhbmQgJnF1b3Q7PT0mcXVvdDsgb2YKZXF1YWwgdG8gcmVsYXRpb25zaGlwczoKCjx1bCB0eXBlPSJkaXNjIj4KICA8bGk+UnVsZSAmcXVvdDsgYSwgQSAmbHQ7IGIsIEIgJmx0OyBjLCBDICZsdDsgY2gsIGNILCBDaCwgQ0ggJmx0OyBkLCBEICZsdDsgZSwgRSZxdW90OzogdGhpcwogICAgcnVsZSBzaW1wbHkgc2F5cywgc29ydHMgbGV0dGVycyAnYScsICdiJywgJ2MnLCAnZCcgYW5kICdlJyBpbiB0aGF0IG9yZGVyIHdpdGggcHJpbWFyeQogICAgd2VpZ2h0cy4gJ2NoJyBpcyBzb3J0ZWQgYXMgYSBzaWduaWZpY2FudCBsZXR0ZXIgYmV0d2VlbiAnYycgYW5kICdkJyB3aXRoIHByaW1hcnkgd2VpZ2h0cwogICAgYW5kIHVwcGVyIGNhc2VkIGxldHRlcnMgc29ydHMgYWZ0ZXIgbG93ZXIgY2FzZWQgbGV0dGVycyB3aXRoIHRlcnRpYXJ5IHdlaWdodHMuIEZvcgogICAgZXhhbXBsZSwgJnF1b3Q7YWJjJnF1b3Q7ICZsdDsmbHQ7Jmx0OyAmcXVvdDtBQkMmcXVvdDsgYW5kICZxdW90O2FjaGImcXVvdDsgJmx0OwogICAgJnF1b3Q7YWRiJnF1b3Q7LjwvbGk+CiAgPGxpPlJ1bGUgJnF1b3Q7IGEsIEEgJmx0OyBiLCBCICZsdDsgYywgQyAmbHQ7IGQsIEQgJmx0OyBlLCBFICZhbXA7IEFFOyDkICZxdW90OzogdGhpcyB3aWxsCiAgICBzb3J0IGxldHRlcnMgJ2EnLCAnYicsICdjJywgJ2QnIGFuZCAnZScgaW4gdGhhdCBvcmRlciB3aXRoIHByaW1hcnkgd2VpZ2h0cy4gJ+QnIHdpbGwgc29ydAogICAgYXMgd2l0aCBhIHNlY29uZGFyeSBsZXNzIHRoYW4gdG8gdGhlIHNlcXVlbmNlIG9mICdBJyBmb2xsb3dpbmcgJ0UnLiBGb3IgZXhhbXBsZSwKICAgICZxdW90O2FlYiZxdW90OyAmbHQ7Jmx0OyAmcXVvdDvkYiZxdW90OyBhbmQgJnF1b3Q7YWNiJnF1b3Q7ICZsdDsgJnF1b3Q75GImcXVvdDsuPC9saT4KICA8bGk+UnVsZSAmcXVvdDsuLi4uIHEsIFEgJmFtcDsgUXVlc3Rpb24nLSdtYXJrID0gJz8nIC4uLi4mcXVvdDs6IHRoZSBydWxlIHNob3dzIGhvdyB0byBzb3J0CiAgICBzeW1ib2xzIHRvIGJlIGVxdWl2YWxlbnQgdG8gdGhlIGNvcnJzcG9uZGluZyB0ZXh0LiBJbiB0aGlzIGV4YW1wbGUsICZxdW90Oz8mcXVvdDsgPT0KICAgICZxdW90O1F1ZXN0aW9uLW1hcmsmcXVvdDsuIE5vdGUgdGhhdCB0aGUgc3BlY2lhbCBzeW1ib2xzIG5lZWQgdG8gYmUgcXVvdGVkIGluIHRoZSBydWxlLjwvbGk+CiAgPGxpPlJ1bGUgJnF1b3Q7Li4uLiAmYW1wOyBhYSA7IGEtICZhbXA7IGVlIDsgZS0gJmFtcDsgaWkgOyBpLSAmYW1wOyBvbyA7IG8tICZhbXA7IHV1IDsgdS0KICAgIC4uLi4mcXVvdDs6IHRoaXMgcnVsZSBkZW1vbnN0cmF0ZXMgaG93IHRvIHNwZWNpZnkgcHJvbG9uZ2VkIHZvd2VscyBpbiBKYXBhbmVzZS4gSW4gdGhpcwogICAgY2FzZSwgJnF1b3Q7YWEmcXVvdDsgaXMgc29ydGVkIGFzIHdpdGggYSBzZWNvbmRhcnkgbGVzcyB0aGFuIHRvICZxdW90O2EtJnF1b3Q7LiBGb3IKICAgIGV4YW1wbGUsICZxdW90O2JhYWImcXVvdDsgJmx0OyZsdDsgJnF1b3Q7YmEtYiZxdW90Oy48L2xpPgo8L3VsPgoKPGgzPjx1PkltcGxlbWVudGF0aW9uIERldGFpbHM8L3U+PC9oMz4KCjxwPlRocmVlIHBhcnRzIG9mIHRoZSBjb2RlIHdpbGwgYmUgY2FyZWZ1bGx5IGV4YW1pbmVkIGhlcmU6Cgo8dWwgdHlwZT0iZGlzYyI+CiAgPGxpPkJ1aWxkaW5nIHRoZSBjb2xsYXRpb24gcnVsZSB0YWJsZS4gKHNlZSBtZXJnZWNvbC5jcHAsIHB0bmVudHJ5LmNwcCBhbmQgdGJsY29sbC5jcHApPC9saT4KICA8bGk+SW5jcmVtZW50YWwgY29tcGFyaXNvbiBhbGdvcml0aG0gZm9yIHNpbXBsZSBzdHJpbmcgY29tcGFyaXNvbi4KICAgIChSdWxlQmFzZWRDb2xsYXRvci5jb21wYXJlKCkgaW4gdGJsY29sbC5jcHApPC9saT4KICA8bGk+Q29sbGF0aW9uIGtleSBnZW5lcmF0aW9uIGFuZCBpdHMgZm9ybWF0LiAoUnVsZUJhc2VkQ29sbGF0b3IuZ2V0Q29sbGF0aW9uS2V5KCkgaW4KICAgIHRibGNvbGwuY3BwKTwvbGk+CjwvdWw+Cgo8aDM+PHU+QnVpbGRpbmcgdGhlIENvbGxhdGlvbiBUYWJsZTwvdT48L2gzPgoKPHA+VGhlIHByb2Nlc3Mgb2YgYnVpbGRpbmcgYSBjb2xsYXRpb24gdGFibGUgaXMgYXMgZm9sbG93aW5nOgoKPHVsIHR5cGU9ImRpc2MiPgogIDxsaT5QYXJzZSB0aGUgcnVsZSB0ZXh0IGludG8gYSBsaXN0IG9mIHBhdHRlcm4gZW50cmllcy4gRWFjaCBwYXR0ZXJuIGhhcyB0aGUgY29udGVudCBvZgogICAgY3VycmVudCBjb3JlIGNoYXJhY3RlcnMsIGV4dGVuc2lvbiBjaGFyYWN0ZXIgYW5kIHRoZSBzdHJlbmd0aCByZWxhdGlvbi4gKEluIHB0bmVudHJ5LmNwcCk8L2xpPgogIDxsaT5JbnNlcnRzIGVhY2ggZW50cnkgYXQgdGhlIGNvcnJlY3QgcG9zaXRpb24gYmFzZWQgb24gdGhlICZsdDtyZXNldCZndDsgYXJndWVtZW50cy4gKEluCiAgICBtZXJnZWNvbC5jcHApPC9saT4KICA8bGk+QnVpbGQgdGhlIGNvbXBhY3RlZCwgaGlnaGx5IGVmZmljaWVudCBsb29rLXVwIHRhYmxlIGJhc2VkIG9uIHRoZSBsaXN0IG9mIHBhdHRlcm4KICAgIGVudHJpZXMuIChJbiB0Ymxjb2xsLmNwcCk8L2xpPgo8L3VsPgoKPHA+Jm5ic3A7PC9wPgoKPGgzPjx1PkluY3JlbWVudGFsIENvbXBhcmlzb24gRGlhZ3JhbTwvdT48L2gzPgoKPHA+Jm5ic3A7PC9wPgoKPHA+PGltZyBzcmM9ImNvbGxmbG93LmdpZiIgd2lkdGg9IjQ2OCIgaGVpZ2h0PSI4MDAiPjwvcD4KCjxoMz48dT5HZW5lcmF0aW5nIGEgQ29sbGF0aW9uIEtleTwvdT48L2gzPgoKPHA+VGhlIGNvbnRyb2wgZmxvdyBvZiBnZW5lcmF0aW5nIGEgY29sbGF0aW9uIGtleSBpcyBhcyB0aGUgZm9sbG93aW5nOgoKPG9sIHR5cGU9IjEiIHN0YXJ0PSIxIj4KICA8bGk+UmV0cmlldmUgdGhlIG5leHQgY29sbGF0aW9uIGVsZW1lbnQgb2YgdGhlIHNvdXJjZSBzdHJpbmcuIEdvIHRvIHN0ZXAgNSB3aGVuIHJlYWNoZXMgdGhlCiAgICBlbmQgb2Ygc3RyaW5nLjwvbGk+CiAgPGxpPkFwcGVuZCB0aGUgcHJpbWFyeSB3ZWlnaHQgb2YgZWxlbWVudCB0byB0aGUgcHJpbWFyeSB3ZWlnaHQgYnVmZmVyLjwvbGk+CiAgPGxpPkNoZWNrcyBpZiBpdCdzIG5lY2Vzc2FyeSB0byBwcm9jZXNzIHNlY29uZGFyeSB3ZWlnaHRzLiBJZiBzbywgYXBwZW5kIHRoZSBzZWNvbmRhcnkKICAgIHdlaWdodHMgdG8gdGhlIHNlY29uZGFyeSB3ZWlnaHQgYnVmZmVyLiBJZiB0aGUgY29sbGF0b3IgaXMgbWFya2VkIHRvIHByb2Nlc3MgRnJlbmNoCiAgICBzZWNvbmRhcnksIHJldmVyc2UgdGhlIG9yZGVyIG9mIGFsbCB0aGUgc2Vjb25kYXJ5IHdlaWdodHMgYmVmb3JlIGVuY291bnRlcnMgdGhlIG5leHQKICAgIHByaW1hcnkgd2VpZ2h0LjwvbGk+CiAgPGxpPkNoZWNrcyBpZiBpdCdzIG5lY2Vzc2FyeSB0byBwcm9jZXNzIHRlcnRpYXJ5IHdlaWdodHMuIElmIHNvLCBhcHBlbmQgdGhlIHRlcnRpYXJ5IHdlaWdodHMKICAgIHRvIHRoZSB0ZXJ0aWFyeSB3ZWlnaHQgYnVmZmVyLiA8L2xpPgogIDxsaT5Db25jYXRlbmF0ZSB0aGUgcHJpbWFyeSB3ZWlnaHQgYnVmZmVyLCBzZWNvbmRhcnkgd2VpZ2h0IGJ1ZmZlciBhbmQgdGVydGlhcnkgd2VpZ2h0CiAgICBidWZmZXIgYW5kIGFkZCBhIG51bGwgZGVsaW1pdGVyIGFtb25nIHRoZSB3ZWlnaHRzLiBSZXR1cm4gdGhlIGNvbmNhdGVuYXRlZCBidWZmZXIgYXMgdGhlCiAgICBjb2xsYXRpb24ga2V5LjwvbGk+Cjwvb2w+Cgo8aDM+PHU+USAmYW1wOyBBPC91PjwvaDM+Cgo8b2wgdHlwZT0iMSIgc3RhcnQ9IjEiPgogIDxsaT5Ib3cgZG8gSSBjdXN0b21pemUgdGhlIGNvbGxhdGlvbiBzZXF1ZW5jZT88YnI+CiAgICBBOiBVc2luZyB0aGUgUnVsZUJhc2VkQ29sbGF0b3IgY29uc3RydWN0b3IsIHRoZSB1c2VyIG9mIHRoZSBjb2xsYXRpb24gZnJhbWV3b3JrIGNhbiB0aGVuCiAgICBjcmVhdGUgaGlzL2hlciBvd24gQ29sbGF0b3Igd2l0aCBhIGN1c3RvbWl6ZWQgcnVsZS48L2xpPgogIDxsaT5XaWxsIHRoZSBjb2xsYXRpb24gZnJhbXdvcmsgc3VwcG9ydCB0aGUgc3Vycm9nYXRlIGFuZCBwcml2YXRlIHVzZSBjaGFyYWN0ZXJzPzxicj4KICAgIEE6IEl0J3MgcGFydCBvZiBvdXIgZnV0dXJlIHdvcmsgaXRlbXMuJm5ic3A7IEhvd2V2ZXIsIG5vIGZpcm0gc2NoZWR1bGUgaGFzIGJlZW4gc2V0IGZvcgogICAgdGhpcyB5ZXQuPC9saT4KICA8bGk+SG93IGRvZXMgdGhlIEZyZW5jaCBzZWNvbmRhcnkgdHVybi1vbiBhZmZlY3QgdGhlIGdlbmVyYXRpb24gb2YgY29sbGF0aW9uIGtleT88YnI+CiAgICBBOiBJbiBGcmVuY2gsIHRoZSBzZWNvbmRhcnkgZGlmZmVyZW5jZXMgYXJlIHNvcnRlZCBiYWNrd2FyZHMgc28gdGhpcyB3aWxsIGludm9rZSB0aGUKICAgIGNvbGxhdGlvbiBrZXkgdG8gcmV2ZXJzZSB0aGUgc2Vjb25kYXJ5IHdlaWdodHMgaW4gdGhlIGtleXMuPC9saT4KICA8bGk+SXMgdGhlcmUgYW55IHN1cHBvcnQgZm9yIGNvbXBvc2luZyBjaGFyYWN0ZXJzPyBJZiBzbywgaG93IGRvZXMgaXQgd29yaz88YnI+CiAgICBBOiBZZXMsIGl0IGlzIGJhc2VkIG9uIHRoZSBOb3JtYWxpemVyIGludGVyZmFjZS4mbmJzcDsgV2hlbiBhIGV4cGFuZGluZyBjaGFyYWN0ZXIgaXMKICAgIGRldGVjdGVkLCB0aGUgcnVsZSBidWlsZGVyIHdpbGwgY29uc3RydWN0IGNvbGxhdGlvbiBlbnRyaWVzIGZvciB0aGUgcHJlY29tcG9zZWQgdmVyc2lvbgogICAgaW50ZXJuYWxseSB0byBoYW5kbGUgdGhlIGNvbXBvc2VkIGNoYXJhY3RlcnMgY29ycmVjdGx5LjwvbGk+CiAgPGxpPklzIHRoZXJlIGFueSBwbGFuIGZvciBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCwgZm9yIGluc3RhbmNlLCBjb250cmFjdGluZy9leHBhbmRpbmcKICAgIGNoYXJhY3RlciBsb29rdXA/PGJyPgogICAgQTogWWVzLCB0aGUgcGVyZm9ybWFuY2UgZW5oYW5jZW1lbnQgaXMgYW4gb25nb2luZyB3b3JrIGl0ZW0uPC9saT4KPC9vbD4KCjxwPiZuYnNwOzwvcD4KCjxwPjxhIGhyZWY9Ii4uL3JlYWRtZS5odG1sIj5SZWFkTWUgZm9yIDwvYT48YSBocmVmPSIuLi9yZWFkbWUuaHRtbCNBUEkiPklCTSdzCkludGVybmF0aW9uYWwgQ2xhc3NlcyBmb3IgVW5pY29kZTwvYT48L3A+Cgo8aHI+CjwvYm9keT4KPC9odG1sPgo=