PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbAogICAgICAgICAgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KPGhlYWQ+CiAgIDxtZXRhIG5hbWU9IkFVVEhPUiIgY29udGVudD0iYmtvekBnY2MuZ251Lm9yZyAoQmVuamFtaW4gS29zbmlrKSIgLz4KICAgPG1ldGEgbmFtZT0iS0VZV09SRFMiIGNvbnRlbnQ9IkMrKywgbGlic3RkYysrLCBkeW5hbWljLCBzaGFyZWQsIGxpYnJhcnksIEFCSSwgdmVyc2lvbiIgLz4KICAgPG1ldGEgbmFtZT0iREVTQ1JJUFRJT04iIGNvbnRlbnQ9IkMrKyBTdGFuZGFyZCBMaWJyYXJ5IEFCSSIgLz4KICAgPG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJlbWFjcyBhbmQgdGVuIGZpbmdlcnMiIC8+CiAgIDx0aXRsZT5TdGFuZGFyZCBDKysgTGlicmFyeSBBQkk8L3RpdGxlPgo8bGluayByZWw9IlN0eWxlU2hlZXQiIGhyZWY9ImxpYjNzdHlsZXMuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgLz4KPGxpbmsgcmVsPSJTdGFydCIgaHJlZj0iZG9jdW1lbnRhdGlvbi5odG1sIiB0eXBlPSJ0ZXh0L2h0bWwiCiAgdGl0bGU9IkdOVSBDKysgU3RhbmRhcmQgTGlicmFyeSIgLz4KPGxpbmsgcmVsPSJDb3B5cmlnaHQiIGhyZWY9IjE3X2ludHJvL2xpY2Vuc2UuaHRtbCIgdHlwZT0idGV4dC9odG1sIiAvPgo8L2hlYWQ+Cjxib2R5PgoKPGgxIGNsYXNzPSJjZW50ZXJlZCI+PGEgbmFtZT0idG9wIj5DKysgU3RhbmRhcmQgTGlicmFyeSBBQkk8L2E+PC9oMT4KCjxwIGNsYXNzPSJmaW5lcHJpbnQiPjxlbT4KICAgVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgZG9jdW1lbnQgaXMgYWx3YXlzIGF2YWlsYWJsZSBhdAogICA8YSBocmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9saWJzdGRjKysvYWJpLmh0bWwiPgogICBodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9saWJzdGRjKysvYWJpLmh0bWw8L2E+Lgo8L2VtPjwvcD4KCjxwPjxlbT4KICAgVG8gdGhlIDxhIGhyZWY9Imh0dHA6Ly9nY2MuZ251Lm9yZy9saWJzdGRjKysvIj5saWJzdGRjKystdjMgaG9tZXBhZ2U8L2E+Lgo8L2VtPjwvcD4KCjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPGhyIC8+CjxoMyBjbGFzcz0ibGVmdCI+CiAgPGEgbmFtZT0iQ1hYaW50ZXJmYWNlIj5UaGUgQysrIGludGVyZmFjZTwvYT4KPC9oMz4KCjxwPiBDKysgYXBwbGljYXRpb25zIG9mdGVuIGRlcGVuZGVudCBvbiBzcGVjaWZpYyBsYW5ndWFnZSBzdXBwb3J0CnJvdXRpbmVzLCBzYXkgZm9yIHRocm93aW5nIGV4Y2VwdGlvbnMsIG9yIGNhdGNoaW5nIGV4Y2VwdGlvbnMsIGFuZApwZXJoYXBzIGFsc28gZGVwZW5kZW50IG9uIGZlYXR1cmVzIGluIHRoZSBDKysgU3RhbmRhcmQgTGlicmFyeS4KPC9wPgoKPHA+IFRoZSBDKysgU3RhbmRhcmQgTGlicmFyeSBoYXMgbWFueSBpbmNsdWRlIGZpbGVzLCB0eXBlcyBkZWZpbmVkIGluCnRob3NlIGluY2x1ZGUgZmlsZXMsIHNwZWNpZmljIG5hbWVkIGZ1bmN0aW9ucywgYW5kIG90aGVyIGJlaGF2aW9yLiBUaGUKdGV4dCBvZiB0aGVzZSBiZWhhdmlvcnMsIGFzIHdyaXR0ZW4gaW4gc291cmNlIGluY2x1ZGUgZmlsZXMsIGlzIGNhbGxlZAp0aGUgQXBwbGljYXRpb24gUHJvZ3JhbWluZyBJbnRlcmZhY2UsIG9yIEFQSS4KPC9wPgoKPHA+IEZ1cnRoZXJtb3JlLCBDKysgc291cmNlIHRoYXQgaXMgY29tcGlsZWQgaW50byBvYmplY3QgZmlsZXMgaXMKIHRyYW5zZm9ybWVkIGJ5IHRoZSBjb21waWxlcjogaXQgYXJyYW5nZXMgb2JqZWN0cyB3aXRoIHNwZWNpZmljCiBhbGlnbm1lbnQgYW5kIGluIGEgcGFydGljdWxhciBsYXlvdXQsIG1hbmdsaW5nIG5hbWVzIGFjY29yZGluZyB0byBhCiB3ZWxsLWRlZmluZWQgYWxnb3JpdGhtLCBoYXMgc3BlY2lmaWMgYXJyYW5nZW1lbnRzIGZvciB0aGUgc3VwcG9ydCBvZgogdmlydHVhbCBmdW5jdGlvbnMsIGV0Yy4gVGhlc2UgZGV0YWlscyBhcmUgZGVmaW5lZCBhcyB0aGUgY29tcGlsZXIKIEFwcGxpY2F0aW9uIEJpbmFyeSBJbnRlcmZhY2UsIG9yIEFCSS4gVGhlIEdOVSBDKysgY29tcGlsZXIgdXNlcyBhbgogaW5kdXN0cnktc3RhbmRhcmQgQysrIEFCSSBzdGFydGluZyB3aXRoIHZlcnNpb24gMy4gRGV0YWlscyBjYW4gYmUKIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmNvZGVzb3VyY2VyeS5jb20vY3h4LWFiaS9hYmkuaHRtbCI+CiBBQkkgc3BlY2lmaWNhdGlvbjwvYT4uCjwvcD4KCjxwPgogVGhlIEdOVSBDKysgY29tcGlsZXIsIGcrKywgaGFzIGEgY29tcGlsZXIgY29tbWFuZCBsaW5lIG9wdGlvbiB0bwogIHN3aXRjaCBiZXR3ZWVuIHZhcmlvdXMgZGlmZmVyZW50IEMrKyBBQklzLiBUaGlzIGV4cGxpY2l0IHZlcnNpb24KICBzd2l0Y2ggaXMgdGhlIGZsYWcgPGNvZGU+IC1mYWJpLXZlcnNpb248L2NvZGU+LiBJbiBhZGRpdGlvbiwgc29tZQogIGcrKyBjb21tYW5kIGxpbmUgb3B0aW9ucyBtYXkgY2hhbmdlIHRoZSBBQkkgYXMgYSBzaWRlLWVmZmVjdCBvZgogIHVzZS4gU3VjaCBmbGFncyBpbmNsdWRlIDxjb2RlPi1mcGFjay1zdHJ1Y3Q8L2NvZGU+IGFuZAogIDxjb2RlPi1mbm8tZXhjZXB0aW9uczwvY29kZT4sIGJ1dCBpbmNsdWRlIG90aGVyczogc2VlIHRoZSBjb21wbGV0ZQogIGxpc3QgaW4gdGhlIEdDQyBtYW51YWwgdW5kZXIgdGhlIGhlYWRpbmcgPGEKICBocmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9nY2MvQ29kZS1HZW4tT3B0aW9ucy5odG1sI0NvZGUlMjBHZW4lMjBPcHRpb25zIj5PcHRpb25zCiAgZm9yIENvZGUgR2VuZXJhdGlvbiBDb252ZW50aW9uczwvYT4uCjwvcD4KCjxwPiBUaGUgY29uZmlndXJlIG9wdGlvbnMgdXNlZCB3aGVuIGJ1aWxkaW5nIGEgc3BlY2lmaWMgbGlic3RkYysrCnZlcnNpb24gbWF5IGFsc28gaW1wYWN0IHRoZSByZXN1bHRpbmcgbGlicmFyeSBBQkkuIFRoZSBhdmFpbGFibGUKY29uZmlndXJlIG9wdGlvbnMsIGFuZCB0aGVpciBpbXBhY3Qgb24gdGhlIGxpYnJhcnkgQUJJLCBhcmUgZG9jdW1lbnRlZAo8YSBocmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9saWJzdGRjKysvY29uZmlnb3B0cy5odG1sIj4KaGVyZTwvYT4uCjwvcD4KCjxwPiBQdXR0aW5nIGFsbCBvZiB0aGVzZSBpZGVhcyB0b2dldGhlciByZXN1bHRzIGluIHRoZSBDKysgU3RhbmRhcmQKbGlicmFyeSBBQkksIHdoaWNoIGlzIHRoZSBjb21waWxhdGlvbiBvZiBhIGdpdmVuIGxpYnJhcnkgQVBJIGJ5IGEKZ2l2ZW4gY29tcGlsZXIgQUJJLiBJbiBhIG51dHNoZWxsOgo8L3A+Cgo8Y29kZT4gbGlicmFyeSBBUEkgKyBjb21waWxlciBBQkkgPSBsaWJyYXJ5IEFCSTwvY29kZT4KCjxwPgogVGhlIGxpYnJhcnkgQUJJIGlzIG1vc3RseSBvZiBpbnRlcmVzdCBmb3IgZW5kLXVzZXJzIHdobyBoYXZlCiB1bnJlc29sdmVkIHN5bWJvbHMgYW5kIGFyZSBsaW5raW5nIGR5bmFtaWNhbGx5IHRvIHRoZSBDKysgU3RhbmRhcmQKIGxpYnJhcnksIGFuZCB3aG8gdGh1cyBtdXN0IGJlIGNhcmVmdWwgdG8gY29tcGlsZSB0aGVpciBhcHBsaWNhdGlvbgogd2l0aCBhIGNvbXBpbGVyIHRoYXQgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBhdmFpbGFibGUgQysrIFN0YW5kYXJkCiBsaWJyYXJ5IGJpbmFyeS4gSW4gdGhpcyBjYXNlLCBjb21wYXRpYmxlIGlzIGRlZmluZWQgd2l0aCB0aGUgZXF1YXRpb24KIGFib3ZlOiBnaXZlbiBhbiBhcHBsaWNhdGlvbiBjb21waWxlZCB3aXRoIGEgZ2l2ZW4gY29tcGlsZXIgQUJJIGFuZAogbGlicmFyeSBBUEksIGl0IHdpbGwgd29yayBjb3JyZWN0bHkgd2l0aCBhIFN0YW5kYXJkIEMrKyBMaWJyYXJ5CiBjcmVhdGVkIHdpdGggdGhlIHNhbWUgY29uc3RyYWludHMuCjwvcD4KCjxwPgogIFRvIHVzZSBhIHNwZWNpZmljIHZlcnNpb24gb2YgdGhlIEMrKyBBQkksIG9uZSBtdXN0IHVzZSBhCiAgY29ycmVzcG9uZGluZyBHTlUgQysrIHRvb2xjaGFpbiAoSWUsIGcrKyBhbmQgbGlic3RkYysrKSB0aGF0CiAgaW1wbGVtZW50cyB0aGUgQysrIEFCSSBpbiBxdWVzdGlvbi4KPC9wPgoKPGgzIGNsYXNzPSJsZWZ0Ij4KICA8YSBuYW1lPSJBQklfdmVyc2lvbmluZyI+VmVyc2lvbmluZzwvYT4KPC9oMz4KCjxwPiBUaGUgQysrIGludGVyZmFjZSBoYXMgZXZvbHZlZCB0aHJvdWdob3V0IHRoZSBoaXN0b3J5IG9mIHRoZSBHTlUKQysrIHRvb2xjaGFpbi4gV2l0aCBlYWNoIHJlbGVhc2UsIHZhcmlvdXMgZGV0YWlscyBoYXZlIGJlZW4gY2hhbmdlZCBzbwphcyB0byBnaXZlIGRpc3RpbmN0IHZlcnNpb25zIHRvIHRoZSBDKysgaW50ZXJmYWNlLgo8L3A+Cgo8aDUgY2xhc3M9ImxlZnQiPgogIDxhIG5hbWU9ImdvYWxzIj5Hb2FscyBvZiB2ZXJzaW9uaW5nPC9hPgo8L2g1PgoKPHA+RXh0ZW5kaW5nIGV4aXN0aW5nLCBzdGFibGUgQUJJcy4gVmVyc2lvbmluZyBnaXZlcyBzdWJzZXF1ZW50IHN0YWJsZQpyZWxlYXNlcyBzZXJpZXMgbGlicmFyaWVzIHRoZSBhYmlsaXR5IHRvIGFkZCBuZXcgc3ltYm9scyBhbmQgYWRkCmZ1bmN0aW9uYWxpdHksIGFsbCB0aGUgd2hpbGUgcmV0YWluaW5nIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGgKdGhlIHByZXZpb3VzIHJlbGVhc2VzIGluIHRoZSBzZXJpZXMuIE5vdGU6IHRoZSByZXZlcnNlIGlzIG5vdCB0cnVlLiBJdAppcyBub3QgcG9zc2libGUgdG8gdGFrZSBiaW5hcmllcyBsaW5rZWQgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgYQpyZWxlYXNlIHNlcmllcyAoaWYgc3ltYm9scyBoYXZlIGJlZW4gYWRkZWQpIGFuZCBleHBlY3QgdGhlIGluaXRpYWwKcmVsZWFzZSBvZiB0aGUgc2VyaWVzIHRvIHJlbWFpbiBsaW5rIGNvbXBhdGlibGUuCjwvcD4KCjxwPkFsbG93cyBtdWx0aXBsZSwgaW5jb21wYXRpYmxlIEFCSXMgdG8gY29leGlzdCBhdCB0aGUgc2FtZSB0aW1lLgo8L3A+Cgo8cD4KPC9wPgoKPGg1IGNsYXNzPSJsZWZ0Ij4KICA8YSBuYW1lPSJkZXRhaWxzIj4gVmVyc2lvbiBIaXN0b3J5IDwvYT4KPC9oNT4KPHA+CiBIb3cgY2FuIHRoaXMgY29tcGxleGl0eSBiZSBtYW5hZ2VkPyBXaGF0IGRvZXMgQysrIHZlcnNpb25pbmcgbWVhbj8KICBCZWNhdXNlIGxpYnJhcnkgYW5kIGNvbXBpbGVyIGNoYW5nZXMgb2Z0ZW4gbWFrZSBiaW5hcmllcyBjb21waWxlZAogIHdpdGggb25lIHZlcnNpb24gb2YgdGhlIEdOVSB0b29scyBpbmNvbXBhdGlibGUgd2l0aCBiaW5hcmllcwogIGNvbXBpbGVkIHdpdGggb3RoZXIgKGVpdGhlciBuZXdlciBvciBvbGRlcikgdmVyc2lvbnMgb2YgdGhlIHNhbWUgR05VCiAgdG9vbHMsIHNwZWNpZmljIHRlY2huaXF1ZXMgYXJlIHVzZWQgdG8gbWFrZSBtYW5hZ2luZyB0aGlzIGNvbXBsZXhpdHkKICBlYXNpZXIuCjwvcD4KCjxwPgogIFRoZSBmb2xsb3dpbmcgdGVjaG5pcXVlcyBhcmUgdXNlZDoKPC9wPgoKICA8dWw+CgogICAgPGxpPiA8cD5SZWxlYXNlIHZlcnNpb25pbmcgb24gdGhlIGxpYmdjY19zLnNvIGJpbmFyeS4gVGhpcyBpcwppbXBsZW1lbnRlZCB2aWEgZmlsZSBuYW1lcyBhbmQgdGhlIEVMRiBEVF9TT05BTUUgbWVjaGFuaXNtIChhdCBsZWFzdApvbiBFTEYgc3lzdGVtcykuPC9wPgoKICAgIDxwPkl0IGlzIHZlcnNpb25lZCBhcyBmb2xsb3dzOiAKICAgIDwvcD4KICAgIDx1bD4KICAgIDxsaT5nY2MtMy4wLjA6IGxpYmdjY19zLnNvLjE8L2xpPgogICAgPGxpPmdjYy0zLjAuMTogbGliZ2NjX3Muc28uMTwvbGk+CiAgICA8bGk+Z2NjLTMuMC4yOiBsaWJnY2Nfcy5zby4xPC9saT4KICAgIDxsaT5nY2MtMy4wLjM6IGxpYmdjY19zLnNvLjE8L2xpPgogICAgPGxpPmdjYy0zLjAuNDogbGliZ2NjX3Muc28uMTwvbGk+CiAgICA8bGk+Z2NjLTMuMS4wOiBsaWJnY2Nfcy5zby4xPC9saT4KICAgIDxsaT5nY2MtMy4xLjE6IGxpYmdjY19zLnNvLjE8L2xpPgogICAgPGxpPmdjYy0zLjIuMDogbGliZ2NjX3Muc28uMTwvbGk+CiAgICA8bGk+Z2NjLTMuMi4xOiBsaWJnY2Nfcy5zby4xPC9saT4KICAgIDxsaT5nY2MtMy4yLjI6IGxpYmdjY19zLnNvLjE8L2xpPgogICAgPGxpPmdjYy0zLjIuMzogbGliZ2NjX3Muc28uMTwvbGk+CiAgICA8bGk+Z2NjLTMuMy4wOiBsaWJnY2Nfcy5zby4xPC9saT4KICAgIDxsaT5nY2MtMy4zLjE6IGxpYmdjY19zLnNvLjE8L2xpPgogICAgPGxpPmdjYy0zLjMuMjogbGliZ2NjX3Muc28uMTwvbGk+CiAgICA8bGk+Z2NjLTMuMy4zOiBsaWJnY2Nfcy5zby4xPC9saT4KICAgIDxsaT5nY2MtMy40LngsIGdjYy00LjAueCwgZ2NjLTQuMS54OiBvbiBtNjhrLWxpbnV4IGFuZCBocHBhLWxpbnV4CiAgICB0aGlzIGlzIGVpdGhlciBsaWJnY2Nfcy5zby4xICh3aGVuIGNvbmZpZ3VyaW5nCiAgICA8Y29kZT4tLXdpdGgtc2psai1leGNlcHRpb25zPC9jb2RlPikgb3IgbGliZ2NjX3Muc28uMi4gRm9yIGFsbAogICAgb3RoZXJzLCB0aGlzIGlzIGxpYmdjY19zLnNvLjEuICA8L2xpPiA8L3VsPgogICAgPHA+PC9wPgogICAgPC9saT4KCiAgICA8bGk+U3ltYm9sIHZlcnNpb25pbmcgb24gdGhlIGxpYmdjY19zLnNvIGJpbmFyeS4KICAgIDxwPm1hcGZpbGU6IGdjYy9saWJnY2Mtc3RkLnZlcjwvcD4KCiAgICA8cD5JdCBpcyB2ZXJzaW9uZWQgd2l0aCB0aGUgZm9sbG93aW5nIGxhYmVscyBhbmQgdmVyc2lvbgogICBkZWZpbml0aW9ucywgd2hlcmUgdGhlIHZlcnNpb24gZGVmaW5pdGlvbiBpcyB0aGUgbWF4aW11bSBmb3IgYQogICBwYXJ0aWN1bGFyIHJlbGVhc2UuIExhYmVscyBhcmUgY3VtdWxhdGl2ZS4gSWYgYSBwYXJ0aWN1bGFyIHJlbGVhc2UKICAgaXMgbm90IGxpc3RlZCwgaXQgaGFzIHRoZSBzYW1lIHZlcnNpb24gbGFiZWxzIGFzIHRoZSBwcmVjZWVkaW5nCiAgIHJlbGVhc2UuPC9wPgogICAgPHVsPgogICAgPGxpPmdjYy0zLjAuMDogR0NDXzMuMDwvbGk+CiAgICA8bGk+Z2NjLTMuMy4wOiBHQ0NfMy4zPC9saT4KICAgIDxsaT5nY2MtMy4zLjE6IEdDQ18zLjMuMTwvbGk+CiAgICA8bGk+Z2NjLTMuMy4yOiBHQ0NfMy4zLjI8L2xpPgogICAgPGxpPmdjYy0zLjMuNDogR0NDXzMuMy40PC9saT4KICAgIDxsaT5nY2MtMy40LjA6IEdDQ18zLjQ8L2xpPgogICAgPGxpPmdjYy0zLjQuMjogR0NDXzMuNC4yPC9saT4KICAgIDxsaT5nY2MtMy40LjQ6IEdDQ18zLjQuNDwvbGk+CiAgICA8bGk+Z2NjLTQuMC4wOiBHQ0NfNC4wLjA8L2xpPgogICAgPGxpPmdjYy00LjEuMDogR0NDXzQuMS4wPC9saT4KICAgIDwvdWw+CiAgICA8cD48L3A+CiAgICA8L2xpPgoKICAgIDxsaT5SZWxlYXNlIHZlcnNpb25pbmcgb24gdGhlIGxpYnN0ZGMrKy5zbyBiaW5hcnksIGltcGxlbWVudGVkIGluIHRoZSBzYW1lIHdhcyBhcyB0aGUgbGliZ2NjX3Muc28gYmluYXJ5LCBhYm92ZS4KCiAgICA8cD5JdCBpcyB2ZXJzaW9uZWQgYXMgZm9sbG93czoKICAgIDwvcD4KICAgIDx1bD4KICAgIDxsaT5nY2MtMy4wLjA6IGxpYnN0ZGMrKy5zby4zLjAuMDwvbGk+CiAgICA8bGk+Z2NjLTMuMC4xOiBsaWJzdGRjKysuc28uMy4wLjE8L2xpPgogICAgPGxpPmdjYy0zLjAuMjogbGlic3RkYysrLnNvLjMuMC4yPC9saT4KICAgIDxsaT5nY2MtMy4wLjM6IGxpYnN0ZGMrKy5zby4zLjAuMiAoRXJyb3Igc2hvdWxkIGJlIGxpYnN0ZGMrKy5zby4zLjAuMyk8L2xpPgogICAgPGxpPmdjYy0zLjAuNDogbGlic3RkYysrLnNvLjMuMC40PC9saT4KICAgIDxsaT5nY2MtMy4xLjA6IGxpYnN0ZGMrKy5zby40LjAuMDwvbGk+CiAgICA8bGk+Z2NjLTMuMS4xOiBsaWJzdGRjKysuc28uNC4wLjE8L2xpPgogICAgPGxpPmdjYy0zLjIuMDogbGlic3RkYysrLnNvLjUuMC4wPC9saT4KICAgIDxsaT5nY2MtMy4yLjE6IGxpYnN0ZGMrKy5zby41LjAuMTwvbGk+CiAgICA8bGk+Z2NjLTMuMi4yOiBsaWJzdGRjKysuc28uNS4wLjI8L2xpPgogICAgPGxpPmdjYy0zLjIuMzogbGlic3RkYysrLnNvLjUuMC4zIChOb3Qgc3RyaWN0bHkgcmVxdWlyZWQpPC9saT4KICAgIDxsaT5nY2MtMy4zLjA6IGxpYnN0ZGMrKy5zby41LjAuNDwvbGk+CiAgICA8bGk+Z2NjLTMuMy4xOiBsaWJzdGRjKysuc28uNS4wLjU8L2xpPgogICAgPGxpPmdjYy0zLjMuMjogbGlic3RkYysrLnNvLjUuMC41PC9saT4KICAgIDxsaT5nY2MtMy4zLjM6IGxpYnN0ZGMrKy5zby41LjAuNTwvbGk+CiAgICA8bGk+Z2NjLTMuNC4wOiBsaWJzdGRjKysuc28uNi4wLjA8L2xpPgogICAgPGxpPmdjYy0zLjQuMTogbGlic3RkYysrLnNvLjYuMC4xPC9saT4KICAgIDxsaT5nY2MtMy40LjI6IGxpYnN0ZGMrKy5zby42LjAuMjwvbGk+CiAgICA8bGk+Z2NjLTMuNC4zOiBsaWJzdGRjKysuc28uNi4wLjM8L2xpPgogICAgPGxpPmdjYy0zLjQuNDogbGlic3RkYysrLnNvLjYuMC4zPC9saT4KICAgIDxsaT5nY2MtMy40LjU6IGxpYnN0ZGMrKy5zby42LjAuMzwvbGk+CiAgICA8bGk+Z2NjLTMuNC42OiBsaWJzdGRjKysuc28uNi4wLjM8L2xpPgogICAgPGxpPmdjYy00LjAuMDogbGlic3RkYysrLnNvLjYuMC40PC9saT4KICAgIDxsaT5nY2MtNC4wLjE6IGxpYnN0ZGMrKy5zby42LjAuNTwvbGk+CiAgICA8bGk+Z2NjLTQuMC4yOiBsaWJzdGRjKysuc28uNi4wLjY8L2xpPgogICAgPGxpPmdjYy00LjAuMzogbGlic3RkYysrLnNvLjYuMC43PC9saT4KICAgIDxsaT5nY2MtNC4xLjA6IGxpYnN0ZGMrKy5zby42LjAuNzwvbGk+CiAgICA8bGk+Z2NjLTQuMS4xOiBsaWJzdGRjKysuc28uNi4wLjg8L2xpPgogICAgPC91bD4KICAgIDxwPjwvcD4KICAgIDwvbGk+CgogICAgPGxpPlN5bWJvbCB2ZXJzaW9uaW5nIG9uIHRoZSBsaWJzdGRjKysuc28gYmluYXJ5LgoKICAgIDxwPm1hcGZpbGU6IGxpYnN0ZGMrKy12My9jb25maWcvbGlua2VyLW1hcC5nbnU8L3A+CiAgICA8cD5JdCBpcyB2ZXJzaW9uZWQgd2l0aCB0aGUgZm9sbG93aW5nIGxhYmVscyBhbmQgdmVyc2lvbgogICBkZWZpbml0aW9ucywgd2hlcmUgdGhlIHZlcnNpb24gZGVmaW5pdGlvbiBpcyB0aGUgbWF4aW11bSBmb3IgYQogICBwYXJ0aWN1bGFyIHJlbGVhc2UuIE5vdGUsIG9ubHkgc3ltYm9sIHdoaWNoIGFyZSBuZXdseSBpbnRyb2R1Y2VkCiAgIHdpbGwgdXNlIHRoZSBtYXhpbXVtIHZlcnNpb24gZGVmaW5pdGlvbi4gVGh1cywgZm9yIHJlbGVhc2Ugc2VyaWVzCiAgIHdpdGggdGhlIHNhbWUgbGFiZWwsIGJ1dCBpbmNyZW1lbnRlZCB2ZXJzaW9uIGRlZmluaXRpb25zLCB0aGUgbGF0ZXIKICAgcmVsZWFzZSBoYXMgYm90aCB2ZXJzaW9ucy4gKEFuIGV4YW1wbGUgb2YgdGhpcyB3b3VsZCBiZSB0aGUKICAgZ2NjLTMuMi4xIHJlbGVhc2UsIHdoaWNoIGhhcyBHTElCQ1BQXzMuMi4xIGZvciBuZXcgc3ltYm9scyBhbmQKICAgR0xJQkNQUF8zLjIgZm9yIHN5bWJvbHMgdGhhdCB3ZXJlIGludHJvZHVjZWQgaW4gdGhlIGdjYy0zLjIuMAogICByZWxlYXNlLikgSWYgYSBwYXJ0aWN1bGFyIHJlbGVhc2UgaXMgbm90IGxpc3RlZCwgaXQgaGFzIHRoZSBzYW1lCiAgIHZlcnNpb24gbGFiZWxzIGFzIHRoZSBwcmVjZWVkaW5nIHJlbGVhc2UuCiAgIDwvcD4KICAgIDx1bD4KICAgIDxsaT5nY2MtMy4wLjA6IChFcnJvciwgbm90IHZlcnNpb25lZCk8L2xpPgogICAgPGxpPmdjYy0zLjAuMTogKEVycm9yLCBub3QgdmVyc2lvbmVkKTwvbGk+CiAgICA8bGk+Z2NjLTMuMC4yOiAoRXJyb3IsIG5vdCB2ZXJzaW9uZWQpPC9saT4KICAgIDxsaT5nY2MtMy4wLjM6IChFcnJvciwgbm90IHZlcnNpb25lZCk8L2xpPgogICAgPGxpPmdjYy0zLjAuNDogKEVycm9yLCBub3QgdmVyc2lvbmVkKTwvbGk+CiAgICA8bGk+Z2NjLTMuMS4wOiBHTElCQ1BQXzMuMSwgQ1hYQUJJXzE8L2xpPgogICAgPGxpPmdjYy0zLjEuMTogR0xJQkNQUF8zLjEsIENYWEFCSV8xPC9saT4KICAgIDxsaT5nY2MtMy4yLjA6IEdMSUJDUFBfMy4yLCBDWFhBQklfMS4yPC9saT4KICAgIDxsaT5nY2MtMy4yLjE6IEdMSUJDUFBfMy4yLjEsIENYWEFCSV8xLjI8L2xpPgogICAgPGxpPmdjYy0zLjIuMjogR0xJQkNQUF8zLjIuMiwgQ1hYQUJJXzEuMjwvbGk+CiAgICA8bGk+Z2NjLTMuMi4zOiBHTElCQ1BQXzMuMi4yLCBDWFhBQklfMS4yPC9saT4KICAgIDxsaT5nY2MtMy4zLjA6IEdMSUJDUFBfMy4yLjIsIENYWEFCSV8xLjIuMTwvbGk+CiAgICA8bGk+Z2NjLTMuMy4xOiBHTElCQ1BQXzMuMi4zLCBDWFhBQklfMS4yLjE8L2xpPgogICAgPGxpPmdjYy0zLjMuMjogR0xJQkNQUF8zLjIuMywgQ1hYQUJJXzEuMi4xPC9saT4KICAgIDxsaT5nY2MtMy4zLjM6IEdMSUJDUFBfMy4yLjMsIENYWEFCSV8xLjIuMTwvbGk+CiAgICA8bGk+Z2NjLTMuNC4wOiBHTElCQ1hYXzMuNCwgQ1hYQUJJXzEuMzwvbGk+CiAgICA8bGk+Z2NjLTMuNC4xOiBHTElCQ1hYXzMuNC4xLCBDWFhBQklfMS4zPC9saT4KICAgIDxsaT5nY2MtMy40LjI6IEdMSUJDWFhfMy40LjI8L2xpPgogICAgPGxpPmdjYy0zLjQuMzogR0xJQkNYWF8zLjQuMzwvbGk+CiAgICA8bGk+Z2NjLTQuMC4wOiBHTElCQ1hYXzMuNC40LCBDWFhBQklfMS4zLjE8L2xpPgogICAgPGxpPmdjYy00LjAuMTogR0xJQkNYWF8zLjQuNTwvbGk+CiAgICA8bGk+Z2NjLTQuMC4yOiBHTElCQ1hYXzMuNC42PC9saT4KICAgIDxsaT5nY2MtNC4wLjM6IEdMSUJDWFhfMy40Ljc8L2xpPgogICAgPGxpPmdjYy00LjEuMTogR0xJQkNYWF8zLjQuODwvbGk+CiAgICA8L3VsPgogICAgPHA+PC9wPgogICAgPC9saT4KICAKICAgIDxsaT4KICAgIDxwPkluY3JlbWVudGFsIGJ1bXBpbmcgb2YgYSBjb21waWxlciBwcmUtZGVmaW5lZCBtYWNybywKICAgIF9fR1hYX0FCSV9WRVJTSU9OLiBUaGlzIG1hY3JvIGlzIGRlZmluZWQgYXMgdGhlIHZlcnNpb24gb2YgdGhlCiAgICBjb21waWxlciB2MyBBQkksIHdpdGggZysrIDMuMC54IGJlaW5nIHZlcnNpb24gMTAwLiBUaGlzIG1hY3JvIHdpbGwKICAgIGJlIGF1dG9tYXRpY2FsbHkgZGVmaW5lZCB3aGVuZXZlciBnKysgaXMgdXNlZCAodGhlIGN1cmlvdXMgY2FuCiAgICB0ZXN0IHRoaXMgYnkgaW52b2tpbmcgZysrIHdpdGggdGhlICctdicgZmxhZy4pCiAgICA8L3A+CiAgICAKICAgIDxwPgogICAgVGhpcyBtYWNybyB3YXMgZGVmaW5lZCBpbiB0aGUgZmlsZSAibGFuZy1zcGVjcy5oIiBpbiB0aGUgZ2NjL2NwIGRpcmVjdG9yeS4KICAgIExhdGVyIHZlcnNpb25zIGRlZmluZWQgaXQgaW4gImMtY29tbW9uLmMiIGluIHRoZSBnY2MgZGlyZWN0b3J5LCBhbmQgZnJvbQogICAgRysrIDMuNCBpdCBpcyBkZWZpbmVkIGluIGMtY3BwYnVpbHRpbi5jIGFuZCBpdHMgdmFsdWUgZGV0ZXJtaW5lZCBieSB0aGUKICAgICctZmFiaS12ZXJzaW9uJyBjb21tYW5kIGxpbmUgb3B0aW9uLgogICAgPC9wPgoKICAgIDxwPgogICAgSXQgaXMgdmVyc2lvbmVkIGFzIGZvbGxvd3MsIHdoZXJlICduJyBpcyBnaXZlbiBieSAnLWZhYmktdmVyc2lvbj1uJzoKICAgIDwvcD4KICAgIDx1bD4KICAgIDxsaT5nY2MtMy4wLng6IDEwMDwvbGk+CiAgICA8bGk+Z2NjLTMuMS54OiAxMDAgKEVycm9yLCBzaG91bGQgYmUgMTAxKTwvbGk+CiAgICA8bGk+Z2NjLTMuMi54OiAxMDI8L2xpPgogICAgPGxpPmdjYy0zLjMueDogMTAyPC9saT4KICAgIDxsaT5nY2MtMy40LngsIGdjYy00LjAueCwgZ2NjLTQuMS54OiAxMDIgKHdoZW4gbj0xKTwvbGk+CiAgICA8bGk+Z2NjLTMuNC54LCBnY2MtNC4wLngsIGdjYy00LjEueDogMTAwMCArIG4gKHdoZW4gbiZndDsxKTwvbGk+CiAgICA8bGk+Z2NjLTMuNC54LCBnY2MtNC4wLngsIGdjYy00LjEueDogOTk5OTk5ICh3aGVuIG49MCk8L2xpPgogICAgPC91bD4KICAgIDxwPjwvcD4KICAgIDwvbGk+CgogICAgPGxpPgogICAgPHA+Q2hhbmdlcyB0byB0aGUgZGVmYXVsdCBjb21waWxlciBvcHRpb24gZm9yCiAgICA8Y29kZT4tZmFiaS12ZXJzaW9uPC9jb2RlPi4KICAgIDwvcD4KICAgPHA+CiAgICBJdCBpcyB2ZXJzaW9uZWQgYXMgZm9sbG93czoKICAgIDwvcD4KICAgIDx1bD4KICAgIDxsaT5nY2MtMy4wLng6IChFcnJvciwgbm90IHZlcnNpb25lZCkgPC9saT4KICAgIDxsaT5nY2MtMy4xLng6IChFcnJvciwgbm90IHZlcnNpb25lZCkgPC9saT4KICAgIDxsaT5nY2MtMy4yLng6IDxjb2RlPi1mYWJpLXZlcnNpb249MTwvY29kZT48L2xpPgogICAgPGxpPmdjYy0zLjMueDogPGNvZGU+LWZhYmktdmVyc2lvbj0xPC9jb2RlPjwvbGk+CiAgICA8bGk+Z2NjLTMuNC54LCBnY2MtNC4wLngsIGdjYy00LjEueDogPGNvZGU+LWZhYmktdmVyc2lvbj0yPC9jb2RlPjwvbGk+CiAgICA8L3VsPgogICAgPHA+PC9wPgogICAgPC9saT4KCiAgIDxsaT4KICAgIDxwPkluY3JlbWVudGFsIGJ1bXBpbmcgb2YgYSBsaWJyYXJ5IHByZS1kZWZpbmVkIG1hY3JvLiBGb3IgcmVsZWFzZXMKICAgIGJlZm9yZSAzLjQuMCwgdGhlIG1hY3JvIGlzIF9fR0xJQkNQUF9fLiBGb3IgbGF0ZXIgcmVsZWFzZXMsIGl0J3MKICAgIF9fR0xJQkNYWF9fLiAoVGhlIGxpYnN0ZGMrKyBwcm9qZWN0IGdlbmVyb3VzbHkgY2hhbmdlZCBmcm9tIENQUCB0bwogICAgQ1hYIHRocm91Z2hvdXQgaXRzIHNvdXJjZSB0byBhbGxvdyB0aGUgIkMiIHByZS1wcm9jZXNzb3IgdGhlIENQUAogICAgbWFjcm8gbmFtZXNwYWNlLikgVGhlc2UgbWFjcm9zIGFyZSBkZWZpbmVkIGFzIHRoZSBkYXRlIHRoZSBsaWJyYXJ5CiAgICB3YXMgcmVsZWFzZWQsIGluIGNvbXByZXNzZWQgSVNPIGRhdGUgZm9ybWF0LCBhcyBhbiB1bnNpZ25lZCBsb25nLgogICAgPC9wPgoKICAgIDxwPgogICAgVGhpcyBtYWNybyBpcyBkZWZpbmVkIGluIHRoZSBmaWxlICJjKytjb25maWciIGluIHRoZQogICAgImxpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMiIGRpcmVjdG9yeS4gKFVwIHRvIGdjYy00LjEuMCwgaXQgd2FzCiAgICBjaGFuZ2VkIGV2ZXJ5IG5pZ2h0IGJ5IGFuIGF1dG9tYXRlZCBzY3JpcHQuIFNpbmNlIGdjYy00LjEuMCwgaXQgaXMKICAgIHRoZSBzYW1lIHZhbHVlIGFzIGdjYy9EQVRFU1RBTVAuKQogICAgPC9wPgogICAgPHA+CiAgICBJdCBpcyB2ZXJzaW9uZWQgYXMgZm9sbG93czoKICAgIDwvcD4KICAgIDx1bD4KICAgIDxsaT5nY2MtMy4wLjA6IDIwMDEwNjE1PC9saT4KICAgIDxsaT5nY2MtMy4wLjE6IDIwMDEwODE5PC9saT4KICAgIDxsaT5nY2MtMy4wLjI6IDIwMDExMDIzPC9saT4KICAgIDxsaT5nY2MtMy4wLjM6IDIwMDExMjIwPC9saT4KICAgIDxsaT5nY2MtMy4wLjQ6IDIwMDIwMjIwPC9saT4KICAgIDxsaT5nY2MtMy4xLjA6IDIwMDIwNTE0PC9saT4KICAgIDxsaT5nY2MtMy4xLjE6IDIwMDIwNzI1PC9saT4KICAgIDxsaT5nY2MtMy4yLjA6IDIwMDIwODE0PC9saT4KICAgIDxsaT5nY2MtMy4yLjE6IDIwMDIxMTE5PC9saT4KICAgIDxsaT5nY2MtMy4yLjI6IDIwMDMwMjA1PC9saT4KICAgIDxsaT5nY2MtMy4yLjM6IDIwMDMwNDIyPC9saT4KICAgIDxsaT5nY2MtMy4zLjA6IDIwMDMwNTEzPC9saT4KICAgIDxsaT5nY2MtMy4zLjE6IDIwMDMwODA0PC9saT4KICAgIDxsaT5nY2MtMy4zLjI6IDIwMDMxMDE2PC9saT4KICAgIDxsaT5nY2MtMy4zLjM6IDIwMDQwMjE0PC9saT4KICAgIDxsaT5nY2MtMy40LjA6IDIwMDQwNDE5PC9saT4KICAgIDxsaT5nY2MtMy40LjE6IDIwMDQwNzAxPC9saT4KICAgIDxsaT5nY2MtMy40LjI6IDIwMDQwOTA2PC9saT4KICAgIDxsaT5nY2MtMy40LjM6IDIwMDQxMTA1PC9saT4KICAgIDxsaT5nY2MtMy40LjQ6IDIwMDUwNTE5PC9saT4KICAgIDxsaT5nY2MtMy40LjU6IDIwMDUxMjAxPC9saT4KICAgIDxsaT5nY2MtMy40LjY6IDIwMDYwMzA2PC9saT4KICAgIDxsaT5nY2MtNC4wLjA6IDIwMDUwNDIxPC9saT4KICAgIDxsaT5nY2MtNC4wLjE6IDIwMDUwNzA3PC9saT4KICAgIDxsaT5nY2MtNC4wLjI6IDIwMDUwOTIxPC9saT4KICAgIDxsaT5nY2MtNC4wLjM6IDIwMDYwMzA5PC9saT4KICAgIDxsaT5nY2MtNC4xLjA6IDIwMDYwMjI4PC9saT4KICAgIDxsaT5nY2MtNC4xLjE6IDIwMDYwNTI0PC9saT4KICAgIDwvdWw+CiAgICA8cD48L3A+CiAgICA8L2xpPgoKICAgIDxsaT4KICAgIDxwPgogICAgSW5jcmVtZW50YWwgYnVtcGluZyBvZiBhIGxpYnJhcnkgcHJlLWRlZmluZWQgbWFjcm8sCiAgICBfR0xJQkNQUF9WRVJTSU9OLiBUaGlzIG1hY3JvIGlzIGRlZmluZWQgYXMgdGhlIHJlbGVhc2VkIHZlcnNpb24gb2YKICAgIHRoZSBsaWJyYXJ5LCBhcyBhIHN0cmluZyBsaXRlcmFsLiBUaGlzIGlzIG9ubHkgaW1wbGVtZW50ZWQgaW4KICAgIGdjYy0zLjEuMCByZWxlYXNlcyBhbmQgaGlnaGVyLCBhbmQgaXMgZGVwcmVjYXRlZCBpbiAzLjQgKHdoZXJlIGl0CiAgICBpcyBjYWxsZWQgX0dMSUJDWFhfVkVSU0lPTikuCiAgICA8L3A+CgogICAgPHA+CiAgICBUaGlzIG1hY3JvIGlzIGRlZmluZWQgaW4gdGhlIGZpbGUgImMrK2NvbmZpZyIgaW4gdGhlCiAgICAibGlic3RkYysrLXYzL2luY2x1ZGUvYml0cyIgZGlyZWN0b3J5IGFuZCBpcyBnZW5lcmF0ZWQKICAgIGF1dG9tYXRpY2FsbHkgYnkgYXV0b2NvbmYgYXMgcGFydCBvZiB0aGUgY29uZmlndXJlLXRpbWUgZ2VuZXJhdGlvbgogICAgb2YgY29uZmlnLmguCiAgICA8L3A+CgogICAgPHA+CiAgICBJdCBpcyB2ZXJzaW9uZWQgYXMgZm9sbG93czoKICAgIDwvcD4KICAgIDx1bD4KICAgIDxsaT5nY2MtMy4wLjA6ICIzLjAuMCI8L2xpPgogICAgPGxpPmdjYy0zLjAuMTogIjMuMC4wIiAoRXJyb3IsIHNob3VsZCBiZSAiMy4wLjEiKTwvbGk+CiAgICA8bGk+Z2NjLTMuMC4yOiAiMy4wLjAiIChFcnJvciwgc2hvdWxkIGJlICIzLjAuMiIpPC9saT4KICAgIDxsaT5nY2MtMy4wLjM6ICIzLjAuMCIgKEVycm9yLCBzaG91bGQgYmUgIjMuMC4zIik8L2xpPgogICAgPGxpPmdjYy0zLjAuNDogIjMuMC4wIiAoRXJyb3IsIHNob3VsZCBiZSAiMy4wLjQiKTwvbGk+CiAgICA8bGk+Z2NjLTMuMS4wOiAiMy4xLjAiPC9saT4KICAgIDxsaT5nY2MtMy4xLjE6ICIzLjEuMSI8L2xpPgogICAgPGxpPmdjYy0zLjIuMDogIjMuMiI8L2xpPgogICAgPGxpPmdjYy0zLjIuMTogIjMuMi4xIjwvbGk+CiAgICA8bGk+Z2NjLTMuMi4yOiAiMy4yLjIiPC9saT4KICAgIDxsaT5nY2MtMy4yLjM6ICIzLjIuMyI8L2xpPgogICAgPGxpPmdjYy0zLjMuMDogIjMuMyI8L2xpPgogICAgPGxpPmdjYy0zLjMuMTogIjMuMy4xIjwvbGk+CiAgICA8bGk+Z2NjLTMuMy4yOiAiMy4zLjIiPC9saT4KICAgIDxsaT5nY2MtMy4zLjM6ICIzLjMuMyI8L2xpPgogICAgPGxpPmdjYy0zLjQueDogInZlcnNpb24tdW51c2VkIjwvbGk+CiAgICA8bGk+Z2NjLTQuMC54OiAidmVyc2lvbi11bnVzZWQiPC9saT4KICAgIDxsaT5nY2MtNC4xLng6ICJ2ZXJzaW9uLXVudXNlZCI8L2xpPgogICAgPC91bD4KICAgIDxwPjwvcD4KICAgIDwvbGk+CgogICAgPGxpPgogICAgPHA+CiAgICBNYXRjaGluZyBlYWNoIHNwZWNpZmljIEMrKyBjb21waWxlciByZWxlYXNlIHRvIGEgc3BlY2lmaWMgc2V0IG9mCiAgICBDKysgaW5jbHVkZSBmaWxlcy4gVGhpcyBpcyBvbmx5IGltcGxlbWVudGVkIGluIGdjYy0zLjEuMSByZWxlYXNlcwogICAgYW5kIGhpZ2hlci4KICAgIDwvcD4KICAgIDxwPgogICAgQWxsIEMrKyBpbmNsdWRlcyBhcmUgaW5zdGFsbGVkIGluIGluY2x1ZGUvYysrLCB0aGVuIG5lc3QgaW4gYQogICAgZGlyZWN0b3J5IGhpZXJhcmNoeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBDKysgY29tcGlsZXIncyByZWxlYXNlZAogICAgdmVyc2lvbi4gVGhpcyB2ZXJzaW9uIGNvcnJlc3BvbmRzIHRvIHRoZSB2YXJpYWJsZSAiZ2NjX3ZlcnNpb24iIGluCiAgICAibGlic3RkYysrLXYzL2FjaW5jbHVkZS5tNCwiIGFuZCBtb3JlIGRldGFpbHMgY2FuIGJlIGZvdW5kIGluIHRoYXQKICAgIGZpbGUncyBtYWNybyBHTElCQ1hYX0NPTkZJR1VSRSAoR0xJQkNQUF9DT05GSUdVUkUgYmVmb3JlIGdjYy0zLjQuMCkuCiAgICA8L3A+CiAgICA8cD4KICAgIEMrKyBpbmNsdWRlcyBhcmUgdmVyc2lvbmVkIGFzIGZvbGxvd3M6CiAgICA8L3A+CiAgICA8dWw+CiAgICA8bGk+Z2NjLTMuMC4wOiBpbmNsdWRlL2crKy12MzwvbGk+CiAgICA8bGk+Z2NjLTMuMC4xOiBpbmNsdWRlL2crKy12MzwvbGk+CiAgICA8bGk+Z2NjLTMuMC4yOiBpbmNsdWRlL2crKy12MzwvbGk+CiAgICA8bGk+Z2NjLTMuMC4zOiBpbmNsdWRlL2crKy12MzwvbGk+CiAgICA8bGk+Z2NjLTMuMC40OiBpbmNsdWRlL2crKy12MzwvbGk+CiAgICA8bGk+Z2NjLTMuMS4wOiBpbmNsdWRlL2crKy12MzwvbGk+CiAgICA8bGk+Z2NjLTMuMS4xOiBpbmNsdWRlL2MrKy8zLjEuMTwvbGk+CiAgICA8bGk+Z2NjLTMuMi4wOiBpbmNsdWRlL2MrKy8zLjI8L2xpPgogICAgPGxpPmdjYy0zLjIuMTogaW5jbHVkZS9jKysvMy4yLjE8L2xpPgogICAgPGxpPmdjYy0zLjIuMjogaW5jbHVkZS9jKysvMy4yLjI8L2xpPgogICAgPGxpPmdjYy0zLjIuMzogaW5jbHVkZS9jKysvMy4yLjM8L2xpPgogICAgPGxpPmdjYy0zLjMuMDogaW5jbHVkZS9jKysvMy4zPC9saT4KICAgIDxsaT5nY2MtMy4zLjE6IGluY2x1ZGUvYysrLzMuMy4xPC9saT4KICAgIDxsaT5nY2MtMy4zLjI6IGluY2x1ZGUvYysrLzMuMy4yPC9saT4KICAgIDxsaT5nY2MtMy4zLjM6IGluY2x1ZGUvYysrLzMuMy4zPC9saT4KICAgIDxsaT5nY2MtMy40LjA6IGluY2x1ZGUvYysrLzMuNC4wPC9saT4KICAgIDxsaT5nY2MtMy40LjE6IGluY2x1ZGUvYysrLzMuNC4xPC9saT4KICAgIDxsaT5nY2MtMy40LjI6IGluY2x1ZGUvYysrLzMuNC4yPC9saT4KICAgIDxsaT5nY2MtMy40LjM6IGluY2x1ZGUvYysrLzMuNC4zPC9saT4KICAgIDxsaT5nY2MtMy40LjQ6IGluY2x1ZGUvYysrLzMuNC40PC9saT4KICAgIDxsaT5nY2MtMy40LjU6IGluY2x1ZGUvYysrLzMuNC41PC9saT4KICAgIDxsaT5nY2MtMy40LjY6IGluY2x1ZGUvYysrLzMuNC42PC9saT4KICAgIDxsaT5nY2MtNC4wLjA6IGluY2x1ZGUvYysrLzQuMC4wPC9saT4KICAgIDxsaT5nY2MtNC4wLjE6IGluY2x1ZGUvYysrLzQuMC4xPC9saT4KICAgIDxsaT5nY2MtNC4wLjI6IGluY2x1ZGUvYysrLzQuMC4yPC9saT4KICAgIDxsaT5nY2MtNC4wLjM6IGluY2x1ZGUvYysrLzQuMC4zPC9saT4KICAgIDxsaT5nY2MtNC4xLjA6IGluY2x1ZGUvYysrLzQuMS4wPC9saT4KICAgIDxsaT5nY2MtNC4xLjE6IGluY2x1ZGUvYysrLzQuMS4xPC9saT4KICAgIDwvdWw+CiAgICA8cD48L3A+CiAgICA8L2xpPgogIDwvdWw+CjxwPgogIFRha2VuIHRvZ2V0aGVyLCB0aGVzZSB0ZWNobmlxdWVzIGNhbiBhY2N1cmF0ZWx5IHNwZWNpZnkgaW50ZXJmYWNlCiAgYW5kIGltcGxlbWVudGF0aW9uIGNoYW5nZXMgaW4gdGhlIEdOVSBDKysgdG9vbHMgdGhlbXNlbHZlcy4gVXNlZAogIHByb3Blcmx5LCB0aGV5IGFsbG93IGJvdGggdGhlIEdOVSBDKysgdG9vbHMgaW1wbGVtZW50YXRpb24sIGFuZAogIHByb2dyYW1zIHVzaW5nIHRoZW0sIGFuIGV2b2x2aW5nIHlldCBjb250cm9sbGVkIGRldmVsb3BtZW50IHRoYXQKICBtYWludGFpbnMgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KPC9wPgoKCgo8aDUgY2xhc3M9ImxlZnQiPgogIDxhIG5hbWU9InJlcXVpcmVtZW50cyI+IE1pbmltdW0gcmVxdWlyZW1lbnRzIGZvciBhIHZlcnNpb25lZCBBQkkgPC9hPgo8L2g1Pgo8cD4KICBNaW5pbXVtIGVudmlyb25tZW50IHRoYXQgc3VwcG9ydHMgYSB2ZXJzaW9uZWQgQUJJOiBBIHN1cHBvcnRlZAogIGR5bmFtaWMgbGlua2VyLCBhIEdOVSBsaW5rZXIgb2Ygc3VmZmljaWVudCB2aW50YWdlIHRvIHVuZGVyc3RhbmQKICBkZW1hbmdsZWQgQysrIG5hbWUgZ2xvYmJpbmcgKGxkKSwgYSBzaGFyZWQgZXhlY3V0YWJsZSBjb21waWxlZCB3aXRoCiAgZysrLCBhbmQgc2hhcmVkIGxpYnJhcmllcyAobGliZ2NjX3MsIGxpYnN0ZGMrKy12MykgY29tcGlsZWQgYnkgYQogIGNvbXBpbGVyIChnKyspIHdpdGggYSBjb21wYXRpYmxlIEFCSS4gUGhldy4KPC9wPgoKPHA+CiAgT24gdG9wIG9mIGFsbCB0aGF0LCBhbiBhZGRpdGlvbmFsIGNvbnN0cmFpbnQ6IGxpYnN0ZGMrKyBkaWQgbm90CiAgYXR0ZW1wdCB0byB2ZXJzaW9uIHN5bWJvbHMgKG9yIGFnZSBncmFjZWZ1bGx5LCByZWFsbHkpIHVudGlsIHZlcnNpb24KICAzLjEuMC4gCjwvcD4KCjxwPgogIE1vc3QgbW9kZXJuIExpbnV4IGFuZCBCU0QgdmVyc2lvbnMsIHBhcnRpY3VsYXJseSBvbmVzIHVzaW5nCiAgZ2NjLTMuMS54IHRvb2xzIGFuZCBtb3JlIHJlY2VudCB2aW50YWdlcywgd2lsbCBtZWV0IHRoZSByZXF1aXJlbWVudHMgYWJvdmUuCjwvcD4KCgo8aDUgY2xhc3M9ImxlZnQiPgogIDxhIG5hbWU9ImNvbmZpZyI+IFdoYXQgY29uZmlndXJlIG9wdGlvbnMgaW1wYWN0IHN5bWJvbCB2ZXJzaW9uaW5nPyA8L2E+CjwvaDU+CjxwPgogIEl0IHR1cm5zIG91dCB0aGF0IG1vc3Qgb2YgdGhlIGNvbmZpZ3VyZSBvcHRpb25zIHRoYXQgY2hhbmdlIGRlZmF1bHQKICBiZWhhdmlvciB3aWxsIGltcGFjdCB0aGUgbWFuZ2xlZCBuYW1lcyBvZiBleHBvcnRlZCBzeW1ib2xzLCBhbmQgdGh1cwogIGltcGFjdCB2ZXJzaW9uaW5nIGFuZCBjb21wYXRpYmlsaXR5Lgo8L3A+Cgo8cD4KICBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBjb25maWd1cmUgb3B0aW9ucywgaW5jbHVkaW5nIEFCSSBpbXBhY3RzLCBzZWU6CiAgaHR0cDovL2djYy5nbnUub3JnL29ubGluZWRvY3MvbGlic3RkYysrL2NvbmZpZ29wdHMuaHRtbAo8L3A+Cgo8cD4KICBUaGVyZSBpcyBvbmUgZmxhZyB0aGF0IGV4cGxpY2l0bHkgZGVhbHMgd2l0aCBzeW1ib2wgdmVyc2lvbmluZzoKICAtLWVuYWJsZS1zeW12ZXJzLiAKPC9wPgoKPHA+CiAgSW4gcGFydGljdWxhciwgbGlic3RkYysrLXYzL2FjaW5jbHVkZS5tNCBoYXMgYSBtYWNybyBjYWxsZWQKICBHTElCQ1hYX0VOQUJMRV9TWU1WRVJTIHRoYXQgZGVmYXVsdHMgdG8geWVzIChvciB0aGUgYXJndW1lbnQgcGFzc2VkCiAgaW4gdmlhIC0tZW5hYmxlLXN5bXZlcnM9Zm9vKS4gQXQgdGhhdCBwb2ludCwgdGhlIG1hY3JvIGF0dGVtcHRzIHRvCiAgbWFrZSBzdXJlIHRoYXQgYWxsIHRoZSByZXF1aXJlbWVudCBmb3Igc3ltYm9sIHZlcnNpb25pbmcgYXJlIGluCiAgcGxhY2UuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBwbGVhc2UgY29uc3VsdCBhY2luY2x1ZGUubTQuIAo8L3A+CgoKPGg1IGNsYXNzPSJsZWZ0Ij4KICA8YSBuYW1lPSJhY3RpdmUiPiBIb3cgdG8gdGVsbCBpZiBzeW1ib2wgdmVyc2lvbmluZyBpcywgaW5kZWVkLCBhY3RpdmU/IDwvYT4KPC9oNT4KPHA+CiAgV2hlbiB0aGUgR05VIEMrKyBsaWJyYXJ5IGlzIGJlaW5nIGJ1aWx0IHdpdGggc3ltYm9sIHZlcnNpb25pbmcgb24sCiAgeW91IHNob3VsZCBzZWUgdGhlIGZvbGxvd2luZyBhdCBjb25maWd1cmUgdGltZSBmb3IgbGlic3RkYysrLXYzOgo8L3A+CgoKPGNvZGU+ICBjaGVja2luZyB2ZXJzaW9uaW5nIG9uIHNoYXJlZCBsaWJyYXJ5IHN5bWJvbHMuLi4gZ251PC9jb2RlPgoKPHA+CiAgSWYgeW91IGRvbid0IHNlZSB0aGlzIGxpbmUgaW4gdGhlIGNvbmZpZ3VyZSBvdXRwdXQsIG9yIGlmIHRoaXMgbGluZQogIGFwcGVhcnMgYnV0IHRoZSBsYXN0IHdvcmQgaXMgJ25vJywgdGhlbiB5b3UgYXJlIG91dCBvZiBsdWNrLgo8L3A+Cgo8cD4KICBJZiB0aGUgY29tcGlsZXIgaXMgcHJlLWluc3RhbGxlZCwgYSBxdWljayB3YXkgdG8gdGVzdCBpcyB0byBjb21waWxlCiAgdGhlIGZvbGxvd2luZyAob3IgYW55KSBzaW1wbGUgQysrIGZpbGUgYW5kIGxpbmsgaXQgdG8gdGhlIHNoYXJlZAogIGxpYnN0ZGMrKyBsaWJyYXJ5Ogo8L3A+Cgo8cHJlPgojaW5jbHVkZSAmbHQ7aW9zdHJlYW0mZ3Q7CgppbnQgbWFpbigpCnsgc3RkOjpjb3V0ICZsdDsmbHQ7ICJoZWxsbyIgJmx0OyZsdDsgc3RkOjplbmRsOyByZXR1cm4gMDsgfQoKJWcrKyBoZWxsby5jYyAtbyBoZWxsby5vdXQKCiVsZGQgaGVsbG8ub3V0CiAgICAgICAgbGlic3RkYysrLnNvLjUgPSZndDsgL3Vzci9saWIvbGlic3RkYysrLnNvLjUgKDB4MDA3NjQwMDApCiAgICAgICAgbGlibS5zby42ID0mZ3Q7IC9saWIvdGxzL2xpYm0uc28uNiAoMHgwMDRhODAwMCkKICAgICAgICBsaWJnY2Nfcy5zby4xID0mZ3Q7IC9tbnQvaGQvYmxkL2djYy9nY2MvbGliZ2NjX3Muc28uMSAoMHg0MDAxNjAwMCkKICAgICAgICBsaWJjLnNvLjYgPSZndDsgL2xpYi90bHMvbGliYy5zby42ICgweDAwMzZkMDAwKQogICAgICAgIC9saWIvbGQtbGludXguc28uMiA9Jmd0OyAvbGliL2xkLWxpbnV4LnNvLjIgKDB4MDAzNTUwMDApCgolbm0gaGVsbG8ub3V0CjwvcHJlPgoKPHA+CklmIHlvdSBzZWUgc3ltYm9scyBpbiB0aGUgcmVzdWx0aW5nIG91dHB1dCB3aXRoICJHTElCQ1hYXzMiIGFzIHBhcnQKb2YgdGhlIG5hbWUsIHRoZW4gdGhlIGV4ZWN1dGFibGUgaXMgdmVyc2lvbmVkLiBIZXJlJ3MgYW4gZXhhbXBsZToKPC9wPgoKICAgPGNvZGU+ICAgICAgVSBfWk5TdDhpb3NfYmFzZTRJbml0QzFFdkBAR0xJQkNYWF8zLjQgPC9jb2RlPgoKPGgzIGNsYXNzPSJsZWZ0Ij4KICA8YSBuYW1lPSJBQklfYWxsb3dlZCI+TGlicmFyeSBhbGxvd2VkIEFCSSBjaGFuZ2VzPC9hPgo8L2gzPgo8cD4KVGhlIGZvbGxvd2luZyB3aWxsIGNhdXNlIHRoZSBsaWJyYXJ5IG1pbm9yIHZlcnNpb24gbnVtYmVyIHRvCmluY3JlYXNlLCBzYXkgZnJvbSAibGlic3RkYysrLnNvLjMuMC40IiB0byAibGlic3RkYysrLnNvLjMuMC41Ii4KPC9wPgo8dWw+CiA8bGk+YWRkaW5nIGFuIGV4cG9ydGVkIGdsb2JhbCBvciBzdGF0aWMgZGF0YSBtZW1iZXI8L2xpPgogPGxpPmFkZGluZyBhbiBleHBvcnRlZCBmdW5jdGlvbiwgc3RhdGljIG9yIG5vbi12aXJ0dWFsIG1lbWJlciBmdW5jdGlvbjwvbGk+CiA8bGk+YWRkaW5nIGFuIGV4cG9ydGVkIHN5bWJvbCBvciBzeW1ib2xzIGJ5IGFkZGl0aW9uYWwgaW5zdGFudGlhdGlvbnM8L2xpPgo8L3VsPgo8cD4KPC9wPgo8cD4KT3RoZXIgYWxsb3dlZCBjaGFuZ2VzIGFyZSBwb3NzaWJsZS4KPC9wPgoKCjxoMyBjbGFzcz0ibGVmdCI+CiAgPGEgbmFtZT0iQUJJX2Rpc2FsbG93ZWQiPkxpYnJhcnkgZGlzYWxsb3dlZCBBQkkgY2hhbmdlczwvYT4KPC9oMz4KCjxwPgpUaGUgZm9sbG93aW5nIG5vbi1leGhhdXN0aXZlIGxpc3Qgd2lsbCBjYXVzZSB0aGUgbGlicmFyeSBtYWpvciB2ZXJzaW9uCm51bWJlciB0byBpbmNyZWFzZSwgc2F5IGZyb20gImxpYnN0ZGMrKy5zby4zLjAuNCIgdG8KImxpYnN0ZGMrKy5zby40LjAuMCIuCjwvcD4KPHVsPgogPGxpPmNoYW5nZXMgaW4gdGhlIGdjYy9nKysgY29tcGlsZXIgQUJJPC9saT4KPGxpPmNoYW5naW5nIHNpemUgb2YgYW4gZXhwb3J0ZWQgc3ltYm9sPC9saT4KPGxpPmNoYW5naW5nIGFsaWdubWVudCBvZiBhbiBleHBvcnRlZCBzeW1ib2w8L2xpPgo8bGk+Y2hhbmdpbmcgdGhlIGxheW91dCBvZiBhbiBleHBvcnRlZCBzeW1ib2w8L2xpPgo8bGk+Y2hhbmdpbmcgbWFuZ2xpbmcgb24gYW4gZXhwb3J0ZWQgc3ltYm9sPC9saT4KPGxpPmRlbGV0aW5nIGFuIGV4cG9ydGVkIHN5bWJvbDwvbGk+CjxsaT5jaGFuZ2luZyB0aGUgaW5oZXJpdGFuY2UgcHJvcGVydGllcyBvZiBhIHR5cGUgYnkgYWRkaW5nIG9yIHJlbW92aW5nCiAgICBiYXNlIGNsYXNzZXM8L2xpPgo8bGk+CiAgY2hhbmdpbmcgdGhlIHNpemUsIGFsaWdubWVudCwgb3IgbGF5b3V0IG9mIHR5cGVzCiAgc3BlY2lmaWVkIGluIHRoZSBDKysgc3RhbmRhcmQuIFRoZXNlIG1heSBub3QgbmVjZXNzYXJpbHkgYmUKICBpbnN0YW50aWF0ZWQgb3Igb3RoZXJ3aXNlIGV4cG9ydGVkIGluIHRoZSBsaWJyYXJ5IGJpbmFyeSwgYW5kCiAgaW5jbHVkZSBhbGwgdGhlIHJlcXVpcmVkIGxvY2FsZSBmYWNldHMsIGFzIHdlbGwgYXMgdGhpbmdzIGxpa2UKICBzdGQ6OmJhc2ljX3N0cmVhbWJ1ZiwgZXQgYWwuCjwvbGk+Cgo8bGk+IGFkZGluZyBhbiBleHBsaWNpdCBjb3B5IGNvbnN0cnVjdG9yIG9yIGRlc3RydWN0b3IgdG8gYQpjbGFzcyB0aGF0IHdvdWxkIG90aGVyd2lzZSBoYXZlIGltcGxpY2l0IHZlcnNpb25zLiBUaGlzIHdpbGwgY2hhbmdlCnRoZSB3YXkgdGhlIGNvbXBpbGVyIGRlYWxzIHdpdGggdGhpcyBjbGFzcyBpbiBieS12YWx1ZSByZXR1cm4Kc3RhdGVtZW50cyBvciBwYXJhbWV0ZXJzOiBpbnN0ZWFkIG9mIGJlaW5nIHBhc3NpbmcgaW5zdGFuY2VzIG9mIHRoaXMKY2xhc3MgaW4gcmVnaXN0ZXJzLCB0aGUgY29tcGlsZXIgd2lsbCBiZSBmb3JjZWQgdG8gdXNlIG1lbW9yeS4gU2VlIDxhCmhyZWY9Imh0dHA6Ly93d3cuY29kZXNvdXJjZXJ5LmNvbS9jeHgtYWJpL2FiaS5odG1sI2NhbGxzIj4gdGhpcyBwYXJ0PC9hPgogb2YgdGhlIEMrKyBBQkkgZG9jdW1lbnRhdGlvbiBmb3IgZnVydGhlciBkZXRhaWxzLiAKIDwvbGk+Cgo8L3VsPgoKPGgzIGNsYXNzPSJsZWZ0Ij4KICA8YSBuYW1lPSJpbXBsZW1lbnRhdGlvbiI+TGlicmFyeSBpbXBsZW1lbnRhdGlvbiBzdHJhdGVneTwvYT4gPC9oMz4KCjx1bD4KIDxsaT5TZXBhcmF0aW9uIG9mIGludGVyZmFjZSBhbmQgaW1wbGVtZW50YXRpb24KPHA+VGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgdHdvIHRlY2huaXF1ZXMgdGhhdCBzZXBhcmF0ZSB0aGUgQVBJIGZyb20KdGhlIEFCSTogZm9yY2luZyB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byBsaW5rIGFnYWluc3QgYSBsaWJyYXJ5IGJpbmFyeQpmb3IgZGVmaW5pdGlvbnMuCjwvcD4KCiA8ZGw+CiAgPGR0PkluY2x1ZGUgZmlsZXMgaGF2ZSBkZWNsYXJhdGlvbnMsIHNvdXJjZSBmaWxlcyBoYXZlIGRlZmluZXM8L2R0PgoKICAgPGRkPiBGb3Igbm9uLXRlbXBsYXRpemVkIHR5cGVzLCBzdWNoIGFzIG11Y2ggb2YgPGNvZGU+Y2xhc3MKICAgbG9jYWxlPC9jb2RlPiwgdGhlIGFwcHJvcHJpYXRlIHN0YW5kYXJkIEMrKyBpbmNsdWRlLCBzYXkKICAgPGNvZGU+bG9jYWxlPC9jb2RlPiwgY2FuIGNvbnRhaW4gZnVsbCBkZWNsYXJhdGlvbnMsIHdoaWxlIHZhcmlvdXMKICAgc291cmNlIGZpbGVzIChzYXkgPGNvZGU+IGxvY2FsZS5jYywgbG9jYWxlX2luaXQuY2MsCiAgIGxvY2FsZW5hbWUuY2M8L2NvZGU+KSBjb250YWluIGRlZmluaXRpb25zLjwvZGQ+CgogIDxkdD5FeHRlcm4gdGVtcGxhdGUgb24gcmVxdWlyZWQgdHlwZXM8L2R0PgoKICAgPGRkPkZvciBwYXJ0cyBvZiB0aGUgc3RhbmRhcmQgdGhhdCBoYXZlIGFuIGV4cGxpY2l0IGxpc3Qgb2YgcmVxdWlyZWQKICAgaW5zdGFudGlhdGlvbnMsIHRoZSBHTlUgZXh0ZW5zaW9uIHN5bnRheCA8Y29kZT4gZXh0ZXJuIHRlbXBsYXRlCiAgIDwvY29kZT4gY2FuIGJlIHVzZWQgdG8gY29udHJvbCB3aGVyZSB0ZW1wbGF0ZSBkZWZpbml0aW9ucwogICByZXNpZGUuIEJ5IG1hcmtpbmcgcmVxdWlyZWQgaW5zdGFudGlhdGlvbnMgYXMgPGNvZGU+IGV4dGVybgogICB0ZW1wbGF0ZSA8L2NvZGU+IGluIGluY2x1ZGUgZmlsZXMsIGFuZCBwcm92aWRpbmcgZXhwbGljaXQKICAgaW5zdGFudGlhdGlvbnMgaW4gdGhlIGFwcHJvcHJpYXRlIGluc3RhbnRpYXRpb24gZmlsZXMsIG5vbi1pbmxpbmVkCiAgIHRlbXBsYXRlIGZ1bmN0aW9ucyBjYW4gYmUgdmVyc2lvbmVkLiBUaGlzIHRlY2huaXF1ZSBpcyBtb3N0bHkgdXNlZAogICBvbiBwYXJ0cyBvZiB0aGUgc3RhbmRhcmQgdGhhdCByZXF1aXJlIDxjb2RlPiBjaGFyPC9jb2RlPiBhbmQgPGNvZGU+CiAgIHdjaGFyX3Q8L2NvZGU+IGluc3RhbnRpYXRpb25zLCBhbmQgaW5jbHVkZXMgPGNvZGU+CiAgIGJhc2ljX3N0cmluZzwvY29kZT4sIHRoZSBsb2NhbGUgZmFjZXRzLCBhbmQgdGhlIHR5cGVzIGluIDxjb2RlPgogICBpb3N0cmVhbXM8L2NvZGU+LjwvZGQ+CgogPC9kbD4KIDxwPiBJbiBhZGRpdGlvbiwgdGhlc2UgdGVjaG5pcXVlcyBoYXZlIHRoZSBhZGRpdGlvbmFsIGJlbmVmaXQgdGhhdAogdGhleSByZWR1Y2UgYmluYXJ5IHNpemUsIHdoaWNoIGNhbiBpbmNyZWFzZSBydW50aW1lIHBlcmZvcm1hbmNlLgogPC9wPgogPC9saT4KCiA8bGk+TmFtZXNwYWNlcyBsaW5raW5nIHN5bWJvbCBkZWZpbml0aW9ucyB0byBleHBvcnQgbWFwZmlsZXMKCjxwPkFsbCBzeW1ib2xzIGluIHRoZSBzaGFyZWQgbGlicmFyeSBiaW5hcnkgYXJlIHByb2Nlc3NlZCBieSBhIGxpbmtlcgpzY3JpcHQgYXQgYnVpbGQgdGltZSB0aGF0IGVpdGhlciBhbGxvd3Mgb3IgZGlzYWxsb3dzIGV4dGVybmFsCmxpbmthZ2UuIEJlY2F1c2Ugb2YgdGhpcywgc29tZSBzeW1ib2xzLCByZWdhcmRsZXNzIG9mIG5vcm1hbCBDL0MrKwpsaW5rYWdlLCBhcmUgbm90IHZpc2libGUuIFN5bWJvbHMgdGhhdCBhcmUgaW50ZXJuYWwgaGF2ZSBzZXZlcmFsCmFwcGVhbGluZyBjaGFyYWN0ZXJpc3RpY3M6IGJ5IG5vdCBleHBvcnRpbmcgdGhlIHN5bWJvbHMsIHRoZXJlIGFyZSBubwpyZWxvY2F0aW9ucyB3aGVuIHRoZSBzaGFyZWQgbGlicmFyeSBpcyBzdGFydGVkIGFuZCB0aHVzIHRoaXMgbWFrZXMgZm9yCmZhc3RlciBydW50aW1lIGxvYWRpbmcgcGVyZm9ybWFuY2UgYnkgdGhlIHVuZGVybHlpbmcgZHluYW1pYyBsb2FkaW5nCm1lY2hhbmlzbS4gSW4gYWRkaXRpb24sIHRoZXkgaGF2ZSB0aGUgcG9zc2liaWxpdHkgb2YgY2hhbmdpbmcgd2l0aG91dAppbXBhY3RpbmcgQUJJIGNvbXBhdGliaWxpdHkuCjwvcD4KCjxwPlRoZSBmb2xsb3dpbmcgbmFtZXNwYWNlcyBhcmUgdHJhbnNmb3JtZWQgYnkgdGhlIG1hcGZpbGU6PC9wPgoKPGRsPgo8ZHQ+PGNvZGU+bmFtZXNwYWNlIHN0ZDwvY29kZT48L2R0Pgo8ZGQ+IERlZmF1bHRzIHRvIGV4cG9ydGluZyBhbGwgc3ltYm9scyBpbiBsYWJlbAo8Y29kZT5HTElCQ1hYPC9jb2RlPiB0aGF0IGRvIG5vdCBiZWdpbiB3aXRoIGFuIHVuZGVyc2NvcmUsIGllCjxjb2RlPl9fdGVzdF9mdW5jPC9jb2RlPiB3b3VsZCBub3QgYmUgZXhwb3J0ZWQgYnkgZGVmYXVsdC4gU2VsZWN0CmV4Y2VwdGlvbmFsIHN5bWJvbHMgYXJlIGFsbG93ZWQgdG8gYmUgdmlzaWJsZS48L2RkPgoKPGR0Pjxjb2RlPm5hbWVzcGFjZSBfX2dudV9jeHg8L2NvZGU+PC9kdD4KPGRkPiBEZWZhdWx0cyB0byBub3QgZXhwb3J0aW5nIGFueSBzeW1ib2xzIGluIGxhYmVsCjxjb2RlPkdMSUJDWFg8L2NvZGU+LCBzZWxlY3QgaXRlbXMgYXJlIGFsbG93ZWQgdG8gYmUgdmlzaWJsZS48L2RkPgoKPGR0Pjxjb2RlPm5hbWVzcGFjZSBfX2dudV9pbnRlcm5hbDwvY29kZT48L2R0Pgo8ZGQ+IERlZmF1bHRzIHRvIG5vdCBleHBvcnRlZCwgbm8gaXRlbXMgYXJlIGFsbG93ZWQgdG8gYmUgdmlzaWJsZS48L2RkPgoKPGR0Pjxjb2RlPm5hbWVzcGFjZSBfX2N4eGFiaXYxPC9jb2RlPiwgYWxpYXNlZCB0byA8Y29kZT4gbmFtZXNwYWNlIGFiaTwvY29kZT48L2R0Pgo8ZGQ+IERlZmF1bHRzIHRvIG5vdCBleHBvcnRpbmcgYW55IHN5bWJvbHMgaW4gbGFiZWwKPGNvZGU+Q1hYQUJJPC9jb2RlPiwgc2VsZWN0IGl0ZW1zIGFyZSBhbGxvd2VkIHRvIGJlIHZpc2libGUuPC9kZD4KPC9kbD4KPHA+CjwvcD4KPC9saT4KCiA8bGk+RnJlZXppbmcgdGhlIEFQSQogPHA+RGlzYWxsb3dlZCBjaGFuZ2VzLCBhcyBhYm92ZSwgYXJlIG5vdCBtYWRlIG9uIGEgc3RhYmxlIHJlbGVhc2UKYnJhbmNoLiBFbmZvcmNlbWVudCB0ZW5kcyB0byBiZSBsZXNzIHN0cmljdCB3aXRoIEdOVSBleHRlbnNpb25zIHRoYXQKc3RhbmRhcmQgaW5jbHVkZXMuPC9wPgo8L2xpPgo8L3VsPgoKPGgzIGNsYXNzPSJsZWZ0Ij4KICA8YSBuYW1lPSJBQklfdGVzdGluZyI+VGVzdGluZyBBQkkgY2hhbmdlczwvYT4KPC9oMz4KCjxwPgpUZXN0aW5nIGZvciBHTlUgQysrIEFCSSBjaGFuZ2VzIGlzIGNvbXBvc2VkIG9mIHR3byBkaXN0aW5jdCBhcmVhczoKdGVzdGluZyB0aGUgQysrIGNvbXBpbGVyIChnKyspIGZvciBjb21waWxlciBjaGFuZ2VzLCBhbmQgdGVzdGluZyB0aGUKQysrIGxpYnJhcnkgKGxpYnN0ZGMrKykgZm9yIGxpYnJhcnkgY2hhbmdlcy4KPC9wPgoKPHA+ClRlc3RpbmcgdGhlIEMrKyBjb21waWxlciBBQkkgY2FuIGJlIGRvbmUgdmFyaW91cyB3YXlzLgo8L3A+Cgo8cD4KT25lLiAKSW50ZWwgQUJJIGNoZWNrZXIuIE1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIG9idGFpbmVkCjxhIGhyZWY9Imh0dHA6Ly9kZXZlbG9wZXIuaW50ZWwuY29tL3NvZnR3YXJlL3Byb2R1Y3RzL29wZW5zb3VyY2UvIj5oZXJlLjwvYT4KPC9wPgoKPHA+ClR3by4KVGhlIHNlY29uZCBpcyB5ZXQgdW5yZWxlYXNlZCwgYnV0IGhhcyBiZWVuIGFubm91bmNlZCBvbiB0aGUgZ2NjCm1haWxpbmcgbGlzdC4gSXQgaXMgeWV0IHVuc3BlY2lmaWVkIGlmIHRoZXNlIHRvb2xzIHdpbGwgYmUgZnJlZWx5CmF2YWlsYWJsZSwgYW5kIGFibGUgdG8gYmUgaW5jbHVkZWQgaW4gYSBHTlUgcHJvamVjdC4gUGxlYXNlIGNvbnRhY3QKTWFyayBNaXRjaGVsbCAobWFya0Bjb2Rlc291cmNlcnkuY29tKSBmb3IgbW9yZSBkZXRhaWxzLCBhbmQgY3VycmVudApzdGF0dXMuCjwvcD4KCjxwPgpUaHJlZS4KSW52b2x2ZXMgdXNpbmcgdGhlIHZsYWQuY29uc2lzdGVuY3kgdGVzdCBmcmFtZXdvcmsuIFRoaXMgaGFzIGFsc28gYmVlbgpkaXNjdXNzZWQgb24gdGhlIGdjYyBtYWlsaW5nIGxpc3RzLgo8L3A+Cgo8cD4KVGVzdGluZyB0aGUgQysrIGxpYnJhcnkgQUJJIGNhbiBhbHNvIGJlIGRvbmUgdmFyaW91cyB3YXlzLgo8L3A+Cgo8cD4KT25lLiAKKEJyZW5kYW4gS2Vob2UsIEplZmYgTGF3IHN1Z2dlc3Rpb24gdG8gcnVuICdtYWtlIGNoZWNrLWMrKycgdHdvIHdheXMsIApvbmUgd2l0aCBhIG5ldyBjb21waWxlciBhbmQgYW4gb2xkIGxpYnJhcnksIGFuZCB0aGUgb3RoZXIgd2l0aCBhbiBvbGQKY29tcGlsZXIgYW5kIGEgbmV3IGxpYnJhcnksIGFuZCBsb29rIGZvciB0ZXN0c3VpdGUgcmVncmVzc2lvbnMpCjwvcD4KCjxwPgpEZXRhaWxzIG9uIGhvdyB0byBzZXQgdGhpcyBraW5kIG9mIHRlc3QgdXAgY2FuIGJlIGZvdW5kIGhlcmU6Cmh0dHA6Ly9nY2MuZ251Lm9yZy9tbC9nY2MvMjAwMi0wOC9tc2cwMDE0Mi5odG1sCjwvcD4KCjxwPgpUd28uICAKVXNlIHRoZSAnbWFrZSBjaGVjay1hYmknIHJ1bGUgaW4gdGhlIGxpYnN0ZGMrKy12MyBNYWtlZmlsZS4gCjwvcD4KCjxwPgpUaGlzIGlzIGEgcHJvYWN0aXZlIGNoZWNrIHRoZSBsaWJyYXJ5IEFCSS4gQ3VycmVudGx5LCBleHBvcnRlZCBzeW1ib2wKbmFtZXMgdGhhdCBhcmUgZWl0aGVyIHdlYWsgb3IgZGVmaW5lZCBhcmUgY2hlY2tlZCBhZ2FpbnN0IGEgbGFzdCBrbm93bgpnb29kIGJhc2VsaW5lLiBDdXJyZW50bHksIHRoaXMgYmFzZWxpbmUgaXMga2V5ZWQgb2ZmIG9mIDMuNC4wCmJpbmFyaWVzLCBhcyB0aGlzIHdhcyB0aGUgbGFzdCB0aW1lIHRoZSAuc28gbnVtYmVyIHdhcyBpbmNyZW1lbnRlZC4gSW4KYWRkaXRpb24sIGFsbCBleHBvcnRlZCBuYW1lcyBhcmUgZGVtYW5nbGVkLCBhbmQgdGhlIGV4cG9ydGVkIG9iamVjdHMKYXJlIGNoZWNrZWQgdG8gbWFrZSBzdXJlIHRoZXkgYXJlIHRoZSBzYW1lIHNpemUgYXMgdGhlIHNhbWUgb2JqZWN0IGluCnRoZSBiYXNlbGluZS4KCk5vdGljZSB0aGF0IGVhY2ggYmFzZWxpbmUgaXMgcmVsYXRpdmUgdG8gYSA8c3Ryb25nPmRlZmF1bHQ8L3N0cm9uZz4KY29uZmlndXJlZCBsaWJyYXJ5IGFuZCBjb21waWxlcjogaW4gcGFydGljdWxhciwgaWYgb3B0aW9ucyBzdWNoIGFzCi0tZW5hYmxlLWNsb2NhbGUsIG9yIC0td2l0aC1jcHUsIGluIGNhc2Ugb2YgbXVsdGlsaWJzLCBhcmUgdXNlZCBhdApjb25maWd1cmUgdGltZSwgdGhlIGNoZWNrIG1heSBmYWlsLCBlaXRoZXIgYmVjYXVzZSBvZiBzdWJzdGFudGl2ZQpkaWZmZXJlbmNlcyBvciBiZWNhdXNlIG9mIGxpbWl0YXRpb25zIG9mIHRoZSBjdXJyZW50IGNoZWNraW5nCm1hY2hpbmVyeS4KPC9wPgoKPHA+ClRoaXMgZGF0YXNldCBpcyBpbnN1ZmZpY2llbnQsIHlldCBhIHN0YXJ0LiBBbHNvIG5lZWRlZCBpcyBhCmNvbXByZWhlbnNpdmUgY2hlY2sgZm9yIGFsbCB1c2VyLXZpc2libGUgdHlwZXMgcGFydCBvZiB0aGUgc3RhbmRhcmQKbGlicmFyeSBmb3Igc2l6ZW9mKCkgYW5kIGFsaWdub2YoKSBjaGFuZ2VzLiAKPC9wPgoKPHA+ClZlcmlmeWluZyBjb21wYXRpYmxlIGxheW91dHMgb2Ygb2JqZWN0cyBpcyBub3QgZXZlbiBhdHRlbXB0ZWQuICBJdApzaG91bGQgYmUgcG9zc2libGUgdG8gdXNlIHNpemVvZiwgYWxpZ25vZiwgYW5kIG9mZnNldG9mIHRvIGNvbXB1dGUKb2Zmc2V0cyBmb3IgZWFjaCBzdHJ1Y3R1cmUgYW5kIHR5cGUgaW4gdGhlIHN0YW5kYXJkIGxpYnJhcnksIHNhdmluZyB0bwphbm90aGVyIGRhdGFmaWxlLiBUaGVuLCBjb21wdXRlIHRoaXMgaW4gYSBzaW1pbGFyIHdheSBmb3IgbmV3CmJpbmFyaWVzLCBhbmQgbG9vayBmb3IgZGlmZmVyZW5jZXMuCjwvcD4KCjxwPgpBbm90aGVyIGFwcHJvYWNoIG1pZ2h0IGJlIHRvIHVzZSB0aGUgLWZkdW1wLWNsYXNzLWhpZXJhcmNoeSBmbGFnIHRvCmdldCBpbmZvcm1hdGlvbi4gSG93ZXZlciwgY3VycmVudGx5IHRoaXMgYXBwcm9hY2ggZ2l2ZXMgaW5zdWZmaWNpZW50CmRhdGEgZm9yIHVzZSBpbiBsaWJyYXJ5IHRlc3RpbmcsIGFzIGNsYXNzIGRhdGEgbWVtYmVycywgdGhlaXIgb2Zmc2V0cywKYW5kIG90aGVyIGRldGFpbGVkIGRhdGEgaXMgbm90IGRpc3BsYXllZCB3aXRoIHRoaXMgZmxhZy4KKFNlZSBnKysvNzQ3MCBvbiBob3cgdGhpcyB3YXMgdXNlZCB0byBmaW5kIGJ1Z3MuKQo8L3A+Cgo8cD4KUGVyaGFwcyB0aGVyZSBhcmUgb3RoZXIgQysrIEFCSSBjaGVja2Vycy4gSWYgc28sIHBsZWFzZSBub3RpZnkKdXMuIFdlJ2QgbGlrZSB0byBrbm93IGFib3V0IHRoZW0hCjwvcD4KCjxoMyBjbGFzcz0ibGVmdCI+CiAgPGEgbmFtZT0iQUJJX211bHRpX3Rlc3RpbmciPlRlc3RpbmcgTXVsdGktQUJJIGJpbmFyaWVzPC9hPgo8L2gzPgoKPHA+CkEgIkMiIGFwcGxpY2F0aW9uLCBkeW5hbWljYWxseSBsaW5rZWQgdG8gdHdvIHNoYXJlZCBsaWJyYXJpZXMsIGxpYmEsCmxpYmIuIFRoZSBkZXBlbmRlbnQgbGlicmFyeSBsaWJhIGlzIEMrKyBzaGFyZWQgbGlicmFyeSBjb21waWxlZCB3aXRoCmdjYy0zLjMueCwgYW5kIHVzZXMgaW8sIGV4Y2VwdGlvbnMsIGxvY2FsZSwgZXRjLiBUaGUgZGVwZW5kZW50IGxpYnJhcnkKbGliYiBpcyBhIEMrKyBzaGFyZWQgbGlicmFyeSBjb21waWxlZCB3aXRoIGdjYy0zLjQueCwgYW5kIGFsc28gdXNlcyBpbywKZXhjZXB0aW9ucywgbG9jYWxlLCBldGMuCjwvcD4KCjxwPiBBcyBhYm92ZSwgbGlib25lIGlzIGNvbnN0cnVjdGVkIGFzIGZvbGxvd3M6IDwvcD4KPHByZT4KJSRibGQvSC14ODYtZ2NjLTMuNC4wL2Jpbi9nKysgLWZQSUMgLURQSUMgLWMgYS5jYwoKJSRibGQvSC14ODYtZ2NjLTMuNC4wL2Jpbi9nKysgLXNoYXJlZCAtV2wsLXNvbmFtZSAtV2wsbGlib25lLnNvLjEgLVdsLC1PMSAtV2wsLXosZGVmcyBhLm8gLW8gbGlib25lLnNvLjEuMC4wCgolbG4gLXMgbGlib25lLnNvLjEuMC4wIGxpYm9uZS5zbwoKJSRibGQvSC14ODYtZ2NjLTMuNC4wL2Jpbi9nKysgLWMgYS5jYwoKJWFyIGNydSBsaWJvbmUuYSBhLm8gCjwvcHJlPgoKPHA+IEFuZCwgbGlidHdvIGlzIGNvbnN0cnVjdGVkIGFzIGZvbGxvd3M6IDwvcD4KCjxwcmU+CiUkYmxkL0gteDg2LWdjYy0zLjMuMy9iaW4vZysrIC1mUElDIC1EUElDIC1jIGIuY2MKCiUkYmxkL0gteDg2LWdjYy0zLjMuMy9iaW4vZysrIC1zaGFyZWQgLVdsLC1zb25hbWUgLVdsLGxpYnR3by5zby4xIC1XbCwtTzEgLVdsLC16LGRlZnMgYi5vIC1vIGxpYnR3by5zby4xLjAuMAoKJWxuIC1zIGxpYnR3by5zby4xLjAuMCBsaWJ0d28uc28KCiUkYmxkL0gteDg2LWdjYy0zLjMuMy9iaW4vZysrIC1jIGIuY2MKCiVhciBjcnUgbGlidHdvLmEgYi5vIAo8L3ByZT4KCjxwPiAuLi53aXRoIHRoZSByZXN1bHRpbmcgbGlicmFyaWVzIGxvb2tpbmcgbGlrZSA8L3A+CjxwcmU+CiVsZGQgbGlib25lLnNvLjEuMC4wCiAgICAgICAgbGlic3RkYysrLnNvLjYgPSZndDsgL3Vzci9saWIvbGlic3RkYysrLnNvLjYgKDB4NDAwMTYwMDApCiAgICAgICAgbGlibS5zby42ID0mZ3Q7IC9saWIvdGxzL2xpYm0uc28uNiAoMHg0MDBmYTAwMCkKICAgICAgICBsaWJnY2Nfcy5zby4xID0mZ3Q7IC9tbnQvaGQvYmxkL2djYy9nY2MvbGliZ2NjX3Muc28uMSAoMHg0MDExYzAwMCkKICAgICAgICBsaWJjLnNvLjYgPSZndDsgL2xpYi90bHMvbGliYy5zby42ICgweDQwMTI1MDAwKQogICAgICAgIC9saWIvbGQtbGludXguc28uMiA9Jmd0OyAvbGliL2xkLWxpbnV4LnNvLjIgKDB4MDAzNTUwMDApCgolbGRkIGxpYnR3by5zby4xLjAuMAogICAgICAgIGxpYnN0ZGMrKy5zby41ID0mZ3Q7IC91c3IvbGliL2xpYnN0ZGMrKy5zby41ICgweDQwMDI3MDAwKQogICAgICAgIGxpYm0uc28uNiA9Jmd0OyAvbGliL3Rscy9saWJtLnNvLjYgKDB4NDAwZTEwMDApCiAgICAgICAgbGliZ2NjX3Muc28uMSA9Jmd0OyAvbW50L2hkL2JsZC9nY2MvZ2NjL2xpYmdjY19zLnNvLjEgKDB4NDAxMDMwMDApCiAgICAgICAgbGliYy5zby42ID0mZ3Q7IC9saWIvdGxzL2xpYmMuc28uNiAoMHg0MDEwYzAwMCkKICAgICAgICAvbGliL2xkLWxpbnV4LnNvLjIgPSZndDsgL2xpYi9sZC1saW51eC5zby4yICgweDAwMzU1MDAwKQoKPC9wcmU+Cgo8cD4gVGhlbiwgdGhlICJDIiBjb21waWxlciBpcyB1c2VkIHRvIGNvbXBpbGUgYSBzb3VyY2UgZmlsZSB0aGF0IHVzZXMKZnVuY3Rpb25zIGZyb20gZWFjaCBsaWJyYXJ5LjwvcD4KPHByZT4KZ2NjIHRlc3QuYyAtZyAtTzIgLUwuIC1sb25lIC1sdHdvIC91c3IvbGliL2xpYnN0ZGMrKy5zby41IC91c3IvbGliL2xpYnN0ZGMrKy5zby42CjwvcHJlPgoKPHA+CldoaWNoIGdpdmVzIHRoZSBleHBlY3RlZDoKPC9wPgo8cHJlPgolbGRkIGEub3V0CiAgICAgICAgbGlic3RkYysrLnNvLjUgPSZndDsgL3Vzci9saWIvbGlic3RkYysrLnNvLjUgKDB4MDA3NjQwMDApCiAgICAgICAgbGlic3RkYysrLnNvLjYgPSZndDsgL3Vzci9saWIvbGlic3RkYysrLnNvLjYgKDB4NDAwMTUwMDApCiAgICAgICAgbGliYy5zby42ID0mZ3Q7IC9saWIvdGxzL2xpYmMuc28uNiAoMHgwMDM2ZDAwMCkKICAgICAgICBsaWJtLnNvLjYgPSZndDsgL2xpYi90bHMvbGlibS5zby42ICgweDAwNGE4MDAwKQogICAgICAgIGxpYmdjY19zLnNvLjEgPSZndDsgL21udC9oZC9ibGQvZ2NjL2djYy9saWJnY2Nfcy5zby4xICgweDQwMGU1MDAwKQogICAgICAgIC9saWIvbGQtbGludXguc28uMiA9Jmd0OyAvbGliL2xkLWxpbnV4LnNvLjIgKDB4MDAzNTUwMDApCjwvcHJlPgoKPHA+ClRoaXMgcmVzdWx0aW5nIGJpbmFyeSwgd2hlbiBleGVjdXRlZCwgd2lsbCBiZSBhYmxlIHRvIHNhZmVseSB1c2UgY29kZQpmcm9tIGJvdGggbGliYSwgYW5kIHRoZSBkZXBlbmRlbnQgbGlic3RkYysrLnNvLjYsIGFuZCBsaWJiLCB3aXRoIHRoZQpkZXBlbmRlbnQgbGlic3RkYysrLnNvLjUuCjwvcD4KCgo8aDMgY2xhc3M9ImxlZnQiPgogIDxhIG5hbWU9Ik91dHN0YW5kaW5nIElzc3VlcyI+T3V0c3RhbmRpbmcgSXNzdWVzPC9hPgo8L2gzPgoKPHA+IFNvbWUgZmVhdHVyZXMgaW4gdGhlIEMrKyBsYW5ndWFnZSBtYWtlIHZlcnNpb25pbmcgZXNwZWNpYWxseQpkaWZmaWN1bHQuIEluIHBhcnRpY3VsYXIsIGNvbXBpbGVyIGdlbmVyYXRlZCBjb25zdHJ1Y3RzIHN1Y2ggYXMKaW1wbGljaXQgaW5zdGFudGlhdGlvbnMgZm9yIHRlbXBsYXRlcywgdHlwZWluZm8gaW5mb3JtYXRpb24sIGFuZAp2aXJ0dWFsIHRhYmxlcyBhbGwgbWF5IGNhdXNlIEFCSSBsZWFrYWdlIGFjcm9zcyBzaGFyZWQgbGlicmFyeQpib3VuZGFyaWVzLiBCZWNhdXNlIG9mIHRoaXMsIG1peGluZyBDKysgQUJJJ3MgaXMgbm90IHJlY29tbWVuZGVkIGF0CnRoaXMgdGltZS4KPC9wPgoKPHA+Rm9yIG1vcmUgYmFja2dyb3VuZCBvbiB0aGlzIGlzc3VlLCBzZWUgdGhlc2UgYnVnemlsbGEgZW50cmllczo8L3A+Cgo8cD4KPGEgaHJlZj0iaHR0cDovL2djYy5nbnUub3JnL1BSMjQ2NjAiPjI0NjYwOiB2ZXJzaW9uaW5nIHdlYWsgc3ltYm9scyBpbiBsaWJzdGRjKys8L2E+CjwvcD4KCjxwPgo8YSBocmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvUFIxOTY2NCI+MTk2NjQ6IGxpYnN0ZGMrKyBoZWFkZXJzIHNob3VsZCBoYXZlIHBvcC9wdXNoIG9mIHRoZSB2aXNpYmlsaXR5IGFyb3VuZCB0aGUgZGVjbGFyYXRpb25zPC9hPgo8L3A+Cgo8aDMgY2xhc3M9ImxlZnQiPgogIDxhIG5hbWU9InJlZmVyZW5jZXMiPkJpYmxpb2dyYXBoeSAvIEZ1cnRoZXIgUmVhZGluZzwvYT4KPC9oMz4KCjxwPgpBQkljaGVjaywgYSB2YWd1ZSBpZGVhIG9mIGNoZWNraW5nIEFCSSBjb21wYXRpYmlsaXR5CjxiciAvPgo8YSBocmVmPSJodHRwOi8vYWJpY2hlY2suc291cmNlZm9yZ2UubmV0LyI+aHR0cDovL2FiaWNoZWNrLnNvdXJjZWZvcmdlLm5ldC88L2E+CjwvcD4KCjxwPgpDKysgQUJJIHJlZmVyZW5jZQo8YnIgLz4KPGEgaHJlZj0iaHR0cDovL3d3dy5jb2Rlc291cmNlcnkuY29tL2N4eC1hYmkvIj5odHRwOi8vd3d3LmNvZGVzb3VyY2VyeS5jb20vY3h4LWFiaS88L2E+CjwvcD4KCjxwPgpJbnRlbCBBQkkgZG9jdW1lbnRhdGlvbiwgIkludGVsriBDb21waWxlcnMgZm9yIExpbnV4KiAtQ29tcGF0aWJpbGl0eSB3aXRoIHRoZSBHTlUgQ29tcGlsZXJzIgo8YnIgLz4KPGEgaHJlZj0iaHR0cDovL2RldmVsb3Blci5pbnRlbC5jb20vc29mdHdhcmUvcHJvZHVjdHMvY29tcGlsZXJzL3RlY2h0b3BpY3MvTGludXhDb21waWxlcnNDb21wYXRpYmlsaXR5Lmh0bSI+aHR0cDovL2RldmVsb3Blci5pbnRlbC5jb20vc29mdHdhcmUvcHJvZHVjdHMvY29tcGlsZXJzL3RlY2h0b3BpY3MvTGludXhDb21waWxlcnNDb21wYXRpYmlsaXR5Lmh0bTwvYT4KPC9wPgoKPHA+ClN1biBTb2xhcmlzIDIuOSBkb2NzCjxiciAvPgpMaW5rZXIgYW5kIExpYnJhcmllcyBHdWlkZSAoZG9jdW1lbnQgODE2LTEzODYpCjxiciAvPgpDKysgTWlncmF0aW9uIEd1aWRlIChkb2N1bWVudCA4MTYtMjQ1OSkKPGJyIC8+CjxhIGhyZWY9Imh0dHA6Ly9kb2NzLnN1bi5jb20vZGIvcHJvZC9zb2xhcmlzLjkiPmh0dHA6Ly9kb2NzLnN1bi5jb20vZGIvcHJvZC9zb2xhcmlzLjk8L2E+CjxiciAvPgo8YSBocmVmPSJodHRwOi8vZG9jcy5zdW4uY29tLz9wPS9kb2MvODE2LTEzODYmYW1wO2E9bG9hZCI+aHR0cDovL2RvY3Muc3VuLmNvbS8/cD0vZG9jLzgxNi0xMzg2JmFtcDthPWxvYWQ8L2E+CjwvcD4KCjxwPgpVbHJpY2ggRHJlcHBlciwgIkVMRiBTeW1ib2wgVmVyc2lvbmluZyIKPGJyIC8+CjxhIGhyZWY9Imh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS9kcmVwcGVyL3N5bWJvbC12ZXJzaW9uaW5nIj5odHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZHJlcHBlci9zeW1ib2wtdmVyc2lvbmluZzwvYT4KPC9wPgoKPHA+CkMrKyBBQkkgZm9yIHRoZSBBUk0gQXJjaGl0ZWN0dXJlCjxiciAvPgo8YSBocmVmPSJodHRwOi8vd3d3LmFybS5jb20vbWlzY1BERnMvODAzMy5wZGYiPmh0dHA6Ly93d3cuYXJtLmNvbS9taXNjUERGcy84MDMzLnBkZjwvYT4KPC9wPgoKPHA+CkJlbmphbWluIEtvc25paywgSVNPIEMrKyBKMTYvMDYtMDA0Ngo8YnIgLz4KPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuLXN0ZC5vcmcvanRjMS9zYzIyL3dnMjEvZG9jcy9wYXBlcnMvMjAwNi9uMTk3Ni5odG1sIj5EeW5hbWljIFNoYXJlZCBPYmplY3RzOiBTdXJ2ZXkgYW5kIElzc3VlczwvYT4KPC9wPgoKPHA+CkJlbmphbWluIEtvc25paywgSVNPIEMrKyBKMTYvMDYtMDA4Mwo8YnIgLz4KPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuLXN0ZC5vcmcvanRjMS9zYzIyL3dnMjEvZG9jcy9wYXBlcnMvMjAwNi9uMjAxMy5odG1sIj5WZXJzaW9uaW5nIFdpdGggTmFtZXNwYWNlczwvYT4KPC9wPgoKPC9ib2R5Pgo8L2h0bWw+Cgo=