ZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlZGRjZjMuLjAwMDAwMDAKLS0tIGEvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyMjMgKzAsMCBAQAotZGVmYXVsdDogamF2YWRvYyBydW50ZXN0cyBmaW5kYnVncwotCi1oZWxwOgotCUBlY2hvICJVc2FnZTogbWFrZSBbPHRhcmdldD4gLi4uXSIKLQlAZWNobyAiIgotCUBlY2hvICJUYXJnZXRzIGluY2x1ZGU6IgotCUBlY2hvICIgIGhlbHAgICAgICAtIERpc3BsYXlzIHRoaXMgbWVzc2FnZS4iCi0JQGVjaG8gIiAgLS0tLS0tLS0tLS0gUVVJQ0siCi0JQGVjaG8gIiAgY2xlYW4gICAgIC0gRGVsZXRlIGFsbCBidWlsdCBmaWxlcy4iCi0JQGVjaG8gIiAgZGVmYXVsdCAgIC0gQnVpbGQgZG9jdW1lbnRhdGlvbiZjbGFzc2VzLCBhbmQgcnVuIGNoZWNrcy4iCi0JQGVjaG8gIiAgICAgICAgICAgICAgVGhlIG91dHB1dCB3aWxsIGJlIGF2YWlsYWJsZSB1bmRlciBvdXQvLiIKLQlAZWNobyAiICAtLS0tLS0tLS0tLSBESUFHTk9TVElDIgotCUBlY2hvICIgIGNsYXNzZXMgICAtIFB1dCBKYXZhIC5jbGFzcyBmaWxlcyB1bmRlciBvdXQvLiIKLQlAZWNobyAiICB0ZXN0cyAgICAgLSBDb21waWxlIHRlc3RzLiIKLQlAZWNobyAiICBydW50ZXN0cyAgLSBSdW5zIHRlc3RzLiAgU29tZSByZXF1aXJlIGEgbmV0d29yayBjb25uZWN0aW9uLiIKLQlAZWNobyAiICBjb3ZlcmFnZSAgLSBSdW5zIHRlc3RzIGFuZCBnZW5lcmF0ZXMgYSBjb2RlIGNvdmVyYWdlIHJlcG9ydC4iCi0JQGVjaG8gIiAgZmluZGJ1Z3MgIC0gUnVucyBhIGNvZGUgcXVhbGl0eSB0b29sLiAgU2xvdy4iCi0JQGVjaG8gIiAgYmVuY2htYXJrIC0gVGltZXMgdGhlIHNhbml0aXplciBhZ2FpbnN0IGEgdHJlZSBidWlsZGVyLiIKLQlAZWNobyAiICBwcm9maWxlICAgLSBQcm9maWxlcyB0aGUgYmVuY2htYXJrLiIKLQlAZWNobyAiICAtLS0tLS0tLS0tLSBBUlRJRkFDVFMiCi0JQGVjaG8gIiAgZGlzdHJpYiAgIC0gQnVpbGQgZXZlcnl0aGluZyBhbmQgcGFja2FnZSBpdCBpbnRvIEpBUnMuIgotCUBlY2hvICIgICAgICAgICAgICAgIFJlcXVpcmVzIGFuIHN2biBleGVjdXRhYmxlIG9uIFBBVEguIgotCUBlY2hvICIgIHJlbGVhc2UgICAtIEFkZGl0aW9uYWxseSwgY3V0IGEgbmV3IE1hdmVuIHZlcnNpb24uIgotCUBlY2hvICIgICAgICAgICAgICAgIFNob3VsZCBiZSBydW4gZnJvbSBjbGllbnQgdGhhdCBoYXMgc2libGluZyIKLQlAZWNobyAiICAgICAgICAgICAgICBkaXJlY3RvcmllcyBvZiB0cnVuayBjaGVja2VkIG91dC4iCi0JQGVjaG8gIiAgZG93bmxvYWQgIC0gQnVuZGxlIGRvY3MsIGV4dGVybmFsbHkgcmVxdWlyZWQgamFycywgYW5kIgotCUBlY2hvICIgICAgICAgICAgICAgIGxpY2Vuc2UgZmlsZXMgaW50byBhIHppcCBmaWxlIHN1aXRhYmxlIGZvciIKLQlAZWNobyAiICAgICAgICAgICAgICB0aGUgY29kZS5nb29nbGUgc2l0ZSBkb3dubG9hZHMuIgotCUBlY2hvICIiCi0JQGVjaG8gIkZvciBtb3JlIHZlcmJvc2UgdGVzdCBydW5uZXIgb3V0cHV0LCBkbyIKLQlAZWNobyAiICBtYWtlIFZFUkJPU0U9MSBydW50ZXN0cyIKLQlAZWNobyAiIgotCUBlY2hvICJUbyBydW4gdGVzdHMgd2l0aCBhc3NlcnRpb25zIG9uLCBkbyIKLQlAZWNobyAiICBtYWtlIE5PQVNTRVJUUz0xIHJ1bnRlc3RzIgotCi1TSEVMTD0vYmluL2Jhc2gKLUNMQVNTUEFUSD1saWIvZ3VhdmEtbGlicmFyaWVzL2d1YXZhLmphcjpsaWIvanNyMzA1L2pzcjMwNS5qYXIKLVRFU1RfQ0xBU1NQQVRIPSQoQ0xBU1NQQVRIKTpsaWIvaHRtbHBhcnNlci0xLjMvaHRtbHBhcnNlci0xLjMuamFyOmxpYi9qdW5pdC9qdW5pdC5qYXI6bGliL2NvbW1vbnMtY29kZWMtMS40L2NvbW1vbnMtY29kZWMtMS40LmphcjpiZW5jaG1hcmstZGF0YQotSkFWQUNfRkxBR1M9LXNvdXJjZSAxLjUgLXRhcmdldCAxLjUgLVhsaW50IC1lbmNvZGluZyBVVEYtOAotVEVTVF9SVU5ORVI9anVuaXQudGV4dHVpLlRlc3RSdW5uZXIKLUpBU1NFUlRTPS1lYQotIyBSdW4gdGVzdHMgaW4gdGhlIFR1cmtpc2ggbG9jYWxlIHRvIHRyaWdnZXIgYW55IGV4dHJhLWNhc2UtZm9sZGluZy1ydWxlIGJ1Z3MKLSMgaHR0cDovL3d3dy5tb3NlcndhcmUuY29tLzIwMDgvMDIvZG9lcy15b3VyLWNvZGUtcGFzcy10dXJrZXktdGVzdC5odG1sCi1UVVJLRVlURVNUPS1EdXNlci5jb3VudGVyPVRSIC1EdXNlci5sYW5ndWFnZS10cgotCi1pZmRlZiBWRVJCT1NFCi1vdmVycmlkZSBURVNUX1JVTk5FUj1vcmcub3dhc3AuaHRtbC5WZXJib3NlVGVzdFJ1bm5lcgotZW5kaWYKLQotaWZkZWYgTk9BU1NFUlRTCi1vdmVycmlkZSBKQVNTRVJUUz0KLWVuZGlmCi0KLW91dDoKLQlta2RpciAtcCBvdXQKLQotb3V0L2NsYXNzZXM6IG91dAotCW1rZGlyIC1wIG91dC9jbGFzc2VzCi0KLW91dC9nZW5maWxlczogb3V0Ci0JbWtkaXIgLXAgb3V0L2dlbmZpbGVzCi0KLWNsZWFuOgotCXJtIC1yZiBvdXQKLQotY2xhc3Nlczogb3V0L2NsYXNzZXMudHN0YW1wCi1vdXQvY2xhc3Nlcy50c3RhbXA6IG91dC9jbGFzc2VzIHNyYy9tYWluL29yZy9vd2FzcC9odG1sLyouamF2YQotCWphdmFjIC1nICR7SkFWQUNfRkxBR1N9IC1jbGFzc3BhdGggJHtDTEFTU1BBVEh9IC1kIG91dC9jbGFzc2VzIFwKLQkgICQkKGVjaG8gJF4gfCB0ciAnICcgJ1xuJyB8IGVncmVwICdcLmphdmEkJCcpCi0JdG91Y2ggb3V0L2NsYXNzZXMudHN0YW1wCi0KLWV4YW1wbGVzOiBvdXQvZXhhbXBsZXMudHN0YW1wCi1vdXQvZXhhbXBsZXMudHN0YW1wOiBvdXQvY2xhc3Nlcy50c3RhbXAgc3JjL21haW4vb3JnL293YXNwL2h0bWwvZXhhbXBsZXMvKi5qYXZhCi0JamF2YWMgLWcgJHtKQVZBQ19GTEFHU30gLWNsYXNzcGF0aCAke0NMQVNTUEFUSH06b3V0L2NsYXNzZXMgXAotCSAgLWQgb3V0L2NsYXNzZXMgXAotCSAgJCQoZWNobyAkXiB8IHRyICcgJyAnXG4nIHwgZWdyZXAgJ1wuamF2YSQkJykKLQl0b3VjaCBvdXQvZXhhbXBsZXMudHN0YW1wCi0KLSMgRGVwZW5kcyBvbiBhbGwgamF2YSBmaWxlcyB1bmRlciB0ZXN0cy4KLXRlc3RzOiBvdXQvdGVzdHMudHN0YW1wCi1vdXQvdGVzdHMudHN0YW1wOiBvdXQvY2xhc3Nlcy50c3RhbXAgb3V0L2dlbmZpbGVzLnRzdGFtcCBvdXQvZXhhbXBsZXMudHN0YW1wIHNyYy90ZXN0cy9vcmcvb3dhc3AvaHRtbC8qLmphdmEKLQlqYXZhYyAtZyAke0pBVkFDX0ZMQUdTfSBcCi0gICAgICAgICAgLWNsYXNzcGF0aCBvdXQvY2xhc3NlczpvdXQvZ2VuZmlsZXM6JHtURVNUX0NMQVNTUEFUSH0gXAotCSAgLWQgb3V0L2NsYXNzZXMgXAotCSAgJCQoKGVjaG8gJF47IGZpbmQgb3V0L2dlbmZpbGVzIC10eXBlIGYpIHwgdHIgJyAnICdcbicgfCBcCi0JICAgICBlZ3JlcCAnXC5qYXZhJCQnKQotCXRvdWNoIG91dC90ZXN0cy50c3RhbXAKLQotb3V0L2dlbmZpbGVzLnRzdGFtcDogb3V0L2dlbmZpbGVzL29yZy9vd2FzcC9odG1sL0FsbEV4YW1wbGVzLmphdmEgb3V0L2dlbmZpbGVzL29yZy9vd2FzcC9odG1sL0FsbFRlc3RzLmphdmEKLQl0b3VjaCBvdXQvZ2VuZmlsZXMudHN0YW1wCi1vdXQvZ2VuZmlsZXMvb3JnL293YXNwL2h0bWwvQWxsVGVzdHMuamF2YTogc3JjL3Rlc3RzL29yZy9vd2FzcC9odG1sLypUZXN0LmphdmEKLQlta2RpciAtcCAiJCQoZGlybmFtZSAkQCkiCi0JKGVjaG8gJ3BhY2thZ2Ugb3JnLm93YXNwLmh0bWw7JzsgXAotICAgICAgICAgZWNobyAnaW1wb3J0IGp1bml0LmZyYW1ld29yay5UZXN0Oyc7IFwKLSAgICAgICAgIGVjaG8gJ2ltcG9ydCBqdW5pdC5mcmFtZXdvcmsuVGVzdFN1aXRlOyc7IFwKLQkgZWNobyAncHVibGljIGNsYXNzIEFsbFRlc3RzIHsnOyBcCi0JIGVjaG8gJyAgcHVibGljIHN0YXRpYyBUZXN0IHN1aXRlKCkgeyc7IFwKLQkgZWNobyAnICAgIFRlc3RTdWl0ZSBzdWl0ZSA9IG5ldyBUZXN0U3VpdGUoKTsnOyBcCi0JIGVjaG8gJF4gfCB0ciAnICcgJ1xuJyB8IHBlcmwgLXBlIFwKLQkgICAncyNec3JjL3Rlc3RzLyMgICAgICBzdWl0ZS5hZGRUZXN0U3VpdGUoIzsgcyNcLmphdmEkJCMuY2xhc3MpOyNnOyBcCi0JICAgIHMjLyMuI2c7JzsgXAotCSBlY2hvICcgICAgcmV0dXJuIHN1aXRlOyc7IFwKLQkgZWNobyAnICB9JzsgXAotCSBlY2hvICd9JzsgXAotCSkgPiAkQAotCi1vdXQvZ2VuZmlsZXMvb3JnL293YXNwL2h0bWwvQWxsRXhhbXBsZXMuamF2YTogc3JjL21haW4vb3JnL293YXNwL2h0bWwvZXhhbXBsZXMvKi5qYXZhCi0JbWtkaXIgLXAgIiQkKGRpcm5hbWUgJEApIgotCShlY2hvICdwYWNrYWdlIG9yZy5vd2FzcC5odG1sOyc7IFwKLQkgZWNobyAnZmluYWwgY2xhc3MgQWxsRXhhbXBsZXMgeyc7IFwKLQkgZWNobyAnICBzdGF0aWMgZmluYWwgQ2xhc3M8Pz5bXSBDTEFTU0VTID0geyc7IFwKLQkgZWNobyAkXiB8IHRyICcgJyAnXG4nIHwgcGVybCAtcGUgXAotCSAgICdzI15zcmMvbWFpbi8jICAgICAgIzsgcyNcLmphdmEkJCMuY2xhc3MsI2c7IFwKLQkgICAgcyMvIy4jZzsnOyBcCi0JIGVjaG8gJyAgfTsnOyBcCi0JIGVjaG8gJ30nOyBcCi0JKSA+ICRACi0KLXJ1bnRlc3RzOiB0ZXN0cwotCWphdmEgJHtUVVJLRVlURVNUfSAke0pBU1NFUlRTfSBcCi0JICAgIC1jbGFzc3BhdGggb3V0L2NsYXNzZXM6c3JjL3Rlc3RzOiR7VEVTVF9DTEFTU1BBVEh9IFwKLQkgICAgJHtURVNUX1JVTk5FUn0gb3JnLm93YXNwLmh0bWwuQWxsVGVzdHMKLQotY292ZXJhZ2U6IHRlc3RzCi0JamF2YSAke0pBU1NFUlRTfSAtY3AgdG9vbHMvZW1tYS9saWIvZW1tYS5qYXI6bGliL2d1YXZhLWxpYnJhcmllcy9ndWF2YS5qYXI6bGliL2pzcjMwNS9qc3IzMDUuamFyOmxpYi9odG1scGFyc2VyLTEuMy9odG1scGFyc2VyLTEuMy5qYXI6bGliL2NvbW1vbnMtY29kZWMtMS40L2NvbW1vbnMtY29kZWMtMS40LmphcjpiZW5jaG1hcmstZGF0YSBcCi0JICAtRGVtbWEucmVwb3J0Lm91dC5maWxlPW91dC9jb3ZlcmFnZS9pbmRleC5odG1sIFwKLQkgIC1EZW1tYS5yZXBvcnQub3V0LmVuY29kaW5nPVVURi04IFwKLQkgIGVtbWFydW4gXAotCSAgLXIgaHRtbCBcCi0JICAtY3Agb3V0L2NsYXNzZXM6c3JjL3Rlc3RzOmxpYi9qdW5pdC9qdW5pdC5qYXIgXAotCSAgLXNwIHNyYy9tYWluOnNyYy90ZXN0czpvdXQvZ2VuZmlsZXMgXAotCSAgLWYgXAotCSAgLWl4ICctanVuaXQuKicgXAotCSAgLWl4ICctb3JnLmp1bml0LionIFwKLQkgIC1peCAnLW9yZy5oYW1jcmVzdC4qJyBcCi0JICAke1RFU1RfUlVOTkVSfSBcCi0JICBvcmcub3dhc3AuaHRtbC5BbGxUZXN0cwotCi0jIFJ1bnMgZmluZGJ1Z3MgdG8gaWRlbnRpZnkgcHJvYmxlbXMuCi1maW5kYnVnczogb3V0L2ZpbmRidWdzLnR4dAotCWNhdCAkXgotb3V0L2ZpbmRidWdzLnR4dDogb3V0L3Rlc3RzLnRzdGFtcAotCWZpbmQgb3V0L2NsYXNzZXMvb3JnIC10eXBlIGQgfCBcCi0JICB4YXJncyB0b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MgLXRleHR1aSAtZWZmb3J0Om1heCBcCi0JICAtYXV4Y2xhc3NwYXRoICR7VEVTVF9DTEFTU1BBVEh9ID4gJEAKLQotIyBSdW5zIGEgYmVuY2htYXJrIHRoYXQgY29tcGFyZXMgcGVyZm9ybWFuY2UuCi1iZW5jaG1hcms6IG91dC90ZXN0cy50c3RhbXAKLQlqYXZhIC1jcCAke1RFU1RfQ0xBU1NQQVRIfTpvdXQvY2xhc3NlcyBcCi0JICBvcmcub3dhc3AuaHRtbC5CZW5jaG1hcmsgYmVuY2htYXJrLWRhdGEvWWFob29cIS5odG1sCi0KLSMgUHJvZmlsZXMgdGhlIGJlbmNobWFyay4KLXByb2ZpbGU6IG91dC9qYXZhLmhwcm9mLnR4dAotb3V0L2phdmEuaHByb2YudHh0OiBvdXQvdGVzdHMudHN0YW1wCi0JamF2YSAtY3AgJHtURVNUX0NMQVNTUEFUSH06b3V0L2NsYXNzZXMgLWFnZW50bGliOmhwcm9mPWNwdT10aW1lcyxmb3JtYXQ9YSxmaWxlPW91dC9qYXZhLmhwcm9mLnR4dCxsaW5lbm89eSxkb2U9eSBvcmcub3dhc3AuaHRtbC5CZW5jaG1hcmsgYmVuY2htYXJrLWRhdGEvWWFob29cIS5odG1sIHMKLQotIyBCdWlsZHMgdGhlIGRvY3VtZW50YXRpb24uCi1qYXZhZG9jOiBvdXQvamF2YWRvYy50c3RhbXAKLW91dC9qYXZhZG9jLnRzdGFtcDogc3JjL21haW4vb3JnL293YXNwL2h0bWwvKi5qYXZhIHNyYy9tYWluL29yZy9vd2FzcC9odG1sL2V4YW1wbGVzLyouamF2YQotCW1rZGlyIC1wIG91dC9qYXZhZG9jCi0JamF2YWRvYyAtbG9jYWxlIGVuIC1kIG91dC9qYXZhZG9jIFwKLQkgIC1ub3RpbWVzdGFtcCBcCi0JICAtY2hhcnNldCBVVEYtOCBcCi0JICAtY2xhc3NwYXRoICR7Q0xBU1NQQVRIfSBcCi0JICAtdXNlIC1zcGxpdEluZGV4IFwKLQkgIC13aW5kb3d0aXRsZSAnT1dBU1AgSmF2YSBIVE1MIFNhbml0aXplcicgXAotCSAgLWRvY3RpdGxlICdPV0FTUCBKYXZhIEhUTUwgU2FuaXRpemVyJyBcCi0JICAtaGVhZGVyICc8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3Avb3dhc3AtamF2YS1odG1sLXNhbml0aXplciIgdGFyZ2V0PV90b3A+Y29kZS5nb29nbGUuY29tIGhvbWU8L2E+JyBcCi0JICAtSi1YbXgyNTBtIC1ub2hlbHAgLXNvdXJjZXRhYiA4IC1kb2NlbmNvZGluZyBVVEYtOCAtcHJvdGVjdGVkIFwKLQkgIC1lbmNvZGluZyBVVEYtOCAtYXV0aG9yIC12ZXJzaW9uICReIFwKLQkmJiB0b3VjaCBvdXQvamF2YWRvYy50c3RhbXAKLQotIyBQYWNrYWdlcyB0aGUgZG9jdW1lbnRhdGlvbiwgYW5kIGxpYnJhcmllcyBpbiB0aGUgZGlzdHJpYiBkaXJlY3RvcnksCi0jIGFuZCBjcmVhdGVzIGEgc2NyaXB0IGNvbnRhaW5pbmcgc3ZuIGNvbW1hbmRzIHRvIGNvbW1pdCB0aG9zZSBjaGFuZ2VzLgotZGlzdHJpYjogb3V0L3J1bl9tZV9iZWZvcmVfY29tbWl0dGluZ19yZWxlYXNlLnNoCi1vdXQvcnVuX21lX2JlZm9yZV9jb21taXR0aW5nX3JlbGVhc2Uuc2g6IGNsZWFuIG91dC9zdGFnaW5nLnRzdGFtcAotCXRvb2xzL3VwZGF0ZV90cmVlX2luX3N2bi5weSBvdXQvc3RhZ2luZyBkaXN0cmliID4gJEAKLQljaG1vZCAreCAkQAotb3V0L3N0YWdpbmcudHN0YW1wOiBvdXQvamF2YWRvYy50c3RhbXAgb3V0L2NsYXNzZXMudHN0YW1wCi0JbWtkaXIgLXAgb3V0L3N0YWdpbmcKLQllY2hvIENvcHlpbmcgSmF2YWRvYwotCXJtIC1yZiBvdXQvc3RhZ2luZy9qYXZhZG9jCi0JY3AgLXIgb3V0L2phdmFkb2Mgb3V0L3N0YWdpbmcvamF2YWRvYwotCWVjaG8gU3VwcHJlc3Npbmcgc3B1cmlvdXMgSmF2YWRvYyBkaWZmcwotCWZvciBkb2NfaHRtbCBpbiAkJChmaW5kIG91dC9zdGFnaW5nL2phdmFkb2MgLW5hbWUgXCouaHRtbCk7IGRvIFwKLQkgIHBlcmwgLWkgLXBlICdzLzwhLS0gR2VuZXJhdGVkIGJ5IGphdmFkb2MgLis/LS0+Ly87IHMvPE1FVEEgTkFNRT0iZGF0ZSIgQ09OVEVOVD0iW14iXSoiPi8vJyAiJCRkb2NfaHRtbCI7IFwKLQlkb25lCi0JZWNobyBMaW5raW5nIHJlcXVpcmVkIGphcnMKLQlta2RpciAtcCBvdXQvc3RhZ2luZy9saWIKLQlmb3IgamFyIGluICQkKGVjaG8gJHtDTEFTU1BBVEh9IHwgdHIgOiAnICcpOyBkbyBcCi0JICBjcCAiJCRqYXIiIG91dC9zdGFnaW5nL2xpYi87IFwKLQkgIGNwICIkJChkaXJuYW1lICQkamFyKSIvQ09QWUlORyBvdXQvc3RhZ2luZy9saWIvIiQkKGJhc2VuYW1lICQkamFyIC5qYXIpIi1DT1BZSU5HOyBcCi0JZG9uZQotCWVjaG8gQnVuZGxpbmcgY29tcGlsZWQgY2xhc3NlcwotCWphciBjZiBvdXQvc3RhZ2luZy9saWIvb3dhc3AtamF2YS1odG1sLXNhbml0aXplci5qYXIgLUMgb3V0L2NsYXNzZXMgb3JnCi0JZWNobyBCdW5kbGluZyBzb3VyY2VzIGFuZCBkb2NzCi0JZm9yIGYgaW4gJCQoZmluZCBzcmMvbWFpbiAtbmFtZSBcKi5qYXZhKTsgZG8gXAotCSAgbWtkaXIgLXAgb3V0L3N0YWdpbmcvIiQkKGRpcm5hbWUgJCRmKSI7IFwKLQkgIGNwICIkJGYiIG91dC9zdGFnaW5nLyIkJGYiOyBcCi0JZG9uZQotCWphciBjZiBvdXQvc3RhZ2luZy9saWIvb3dhc3AtamF2YS1odG1sLXNhbml0aXplci1zb3VyY2VzLmphciAtQyBvdXQvc3RhZ2luZy9zcmMvbWFpbiBvcmcKLQlqYXIgY2Ygb3V0L3N0YWdpbmcvbGliL293YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXItamF2YWRvYy5qYXIgLUMgb3V0IGphdmFkb2MKLQlybSAtcmYgb3V0L3N0YWdpbmcvc3JjCi0JY3AgQ09QWUlORyBvdXQvc3RhZ2luZy9saWIvb3dhc3AtamF2YS1odG1sLXNhbml0aXplci1DT1BZSU5HCi0JdG91Y2ggJEAKLQotIyBQYWNrYWdlcyB0aGUgZGlzdHJpYiBqYXJzIGludG8gdGhlIG1hdmVuIGRpcmVjdG9yeSB3aGljaCBpcyBhIHNpYmxpbmcgb2YKLSMgdHJ1bmsuCi1yZWxlYXNlOiBvdXQvcnVuX21lX2JlZm9yZV9jb21taXR0aW5nX21hdmVuLnNoCi1vdXQvcnVuX21lX2JlZm9yZV9jb21taXR0aW5nX21hdmVuLnNoOiBkaXN0cmliCi0JdG9vbHMvY3V0X3JlbGVhc2UucHkgPiAkQAotCWNobW9kICt4ICRACi0KLWRvd25sb2FkOiBvdXQvb3dhc3AtamF2YS1odG1sLXNhbml0aXplci56aXAKLW91dC96aXAudHN0YW1wOiBvdXQvc3RhZ2luZy50c3RhbXAKLQlybSAtZiBvdXQvemlwL293YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXIKLQlta2RpciAtcCBvdXQvemlwL293YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXIKLQljcCAtciBvdXQvc3RhZ2luZy9saWIgb3V0L3N0YWdpbmcvamF2YWRvYyBcCi0JICAgIG91dC96aXAvb3dhc3AtamF2YS1odG1sLXNhbml0aXplci8KLQl0b3VjaCAkQAotb3V0L293YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXIuemlwOiBvdXQvemlwLnRzdGFtcAotCWphciBjTWYgb3V0L293YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXIuemlwIFwKLQkgICAgLUMgb3V0L3ppcCBvd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyCmRpZmYgLS1naXQgYS9PV05FUlMgYi9PV05FUlMKaW5kZXggYjJhNzY3Yi4uOWNhYmE5MSAxMDA2NDQKLS0tIGEvT1dORVJTCisrKyBiL09XTkVSUwpAQCAtMSwzICsxLDMgQEAKLSMgRGVmYXVsdCBjb2RlIHJldmlld2VycyBwaWNrZWQgZnJvbSB0b3AgMyBvciBtb3JlIGRldmVsb3BlcnMuCi0jIFBsZWFzZSB1cGRhdGUgdGhpcyBsaXN0IGlmIHlvdSBmaW5kIGJldHRlciBjYW5kaWRhdGVzLgotanBsZW1pZXV4QGdvb2dsZS5jb20KKyMgT3dhc3Agc2FuaXRpemVyIGxpYnJhcnkgdXNlZCBvbmx5IGluIEFPU1AgQ1RTIGVtYWlsIGFjdGl2aXR5CitpbmNsdWRlIHBsYXRmb3JtL3BhY2thZ2VzL2FwcHMvRW1haWw6L09XTkVSUworaW5jbHVkZSBwbGF0Zm9ybS9wYWNrYWdlcy9hcHBzL1VuaWZpZWRFbWFpbDovT1dORVJTCmRpZmYgLS1naXQgYS90b29scy9jdXRfcmVsZWFzZS5weSBiL3Rvb2xzL2N1dF9yZWxlYXNlLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBjMGE2Mzc3Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2N1dF9yZWxlYXNlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTc5ICswLDAgQEAKLSMhL3Vzci9iaW4vcHl0aG9uCi0KLSIiIgotUGFja2FnZXMgYSBuZXcgbWF2ZW4gcmVsZWFzZS4KLSIiIgotCi1pbXBvcnQgb3MKLWltcG9ydCByZQotaW1wb3J0IHNodXRpbAotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCBzeXMKLWltcG9ydCB4bWwuZG9tLm1pbmlkb20KLQotZGVmIG1pbWVfdHlwZV9mcm9tX3BhdGgocGF0aCk6Ci0gIGlmIHBhdGguZW5kc3dpdGgoIi5wb20iKToKLSAgICByZXR1cm4gInRleHQveG1sO2NoYXJzZXQ9VVRGLTgiCi0gIGVsaWYgcGF0aC5lbmRzd2l0aCgiLmphciIpOgotICAgIHJldHVybiAiYXBwbGljYXRpb24vamF2YS1hcmNoaXZlIgotICByZXR1cm4gTm9uZQotCi1pZiAiX19tYWluX18iID09IF9fbmFtZV9fOgotICAjIENvbXB1dGUgZGlyZWN0b3JpZXMgcmVsYXRpdmUgdG8gdG9vbHMuCi0gIHRydW5rX2RpcmVjdG9yeV9wYXRoID0gb3MucGF0aC5yZWFscGF0aChvcy5wYXRoLmpvaW4oCi0gICAgb3MucGF0aC5kaXJuYW1lKHN5cy5hcmd2WzBdKSwKLSAgICAiLi4iKSkKLSAgbWF2ZW5fZGlyZWN0b3J5X3BhdGggPSBvcy5wYXRoLnJlYWxwYXRoKG9zLnBhdGguam9pbigKLSAgICBvcy5wYXRoLmRpcm5hbWUoc3lzLmFyZ3ZbMF0pLAotICAgICIuLiIsCi0gICAgIi4uIiwKLSAgICAibWF2ZW4iLAotICAgICJvd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyIiwKLSAgICAib3dhc3AtamF2YS1odG1sLXNhbml0aXplciIpKQotICBtYXZlbl9tZXRhZGF0YV9wYXRoID0gb3MucGF0aC5qb2luKAotICAgIG1hdmVuX2RpcmVjdG9yeV9wYXRoLAotICAgICJtYXZlbi1tZXRhZGF0YS54bWwiKQotICB2ZXJzaW9uX3RlbXBsYXRlX2RpcmVjdG9yeV9wYXRoID0gb3MucGF0aC5qb2luKAotICAgIG1hdmVuX2RpcmVjdG9yeV9wYXRoLAotICAgICIrKyt2ZXJzaW9uKysrIikKLSAgamFyX3BhdGggPSBvcy5wYXRoLmpvaW4oCi0gICAgdHJ1bmtfZGlyZWN0b3J5X3BhdGgsCi0gICAgImRpc3RyaWIiLAotICAgICJsaWIiLAotICAgICJvd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyLmphciIpCi0gIHNyY19qYXJfcGF0aCA9IG9zLnBhdGguam9pbigKLSAgICB0cnVua19kaXJlY3RvcnlfcGF0aCwKLSAgICAiZGlzdHJpYiIsCi0gICAgImxpYiIsCi0gICAgIm93YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXItc291cmNlcy5qYXIiKQotICBkb2NfamFyX3BhdGggPSBvcy5wYXRoLmpvaW4oCi0gICAgdHJ1bmtfZGlyZWN0b3J5X3BhdGgsCi0gICAgImRpc3RyaWIiLAotICAgICJsaWIiLAotICAgICJvd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyLWphdmFkb2MuamFyIikKLQotICAjIE1ha2Ugc3VyZSB0aGUgZGlyZWN0b3J5X3N0cnVjdHVyZXMgd2UgZXhwZWN0IGV4aXN0LgotICBhc3NlcnQgb3MucGF0aC5pc2RpcihtYXZlbl9kaXJlY3RvcnlfcGF0aCksIG1hdmVuX2RpcmVjdG9yeV9wYXRoCi0gIGFzc2VydCBvcy5wYXRoLmlzZGlyKHRydW5rX2RpcmVjdG9yeV9wYXRoKSwgdHJ1bmtfZGlyZWN0b3J5X3BhdGgKLSAgYXNzZXJ0IG9zLnBhdGguaXNmaWxlKG1hdmVuX21ldGFkYXRhX3BhdGgpLCBtYXZlbl9tZXRhZGF0YV9wYXRoCi0gIGFzc2VydCBvcy5wYXRoLmlzZGlyKHZlcnNpb25fdGVtcGxhdGVfZGlyZWN0b3J5X3BhdGgpLCAoCi0gICAgICAgICB2ZXJzaW9uX3RlbXBsYXRlX2RpcmVjdG9yeV9wYXRoKQotICBhc3NlcnQgb3MucGF0aC5pc2ZpbGUoamFyX3BhdGgpLCBqYXJfcGF0aAotICBhc3NlcnQgb3MucGF0aC5pc2ZpbGUoc3JjX2phcl9wYXRoKSwgc3JjX2phcl9wYXRoCi0gIGFzc2VydCBvcy5wYXRoLmlzZmlsZShkb2NfamFyX3BhdGgpLCBkb2NfamFyX3BhdGgKLQotICAjIEdldCBzdm4gaW5mbyBvZiB0aGUgdHJ1bmsgZGlyZWN0b3J5LgotICBzdm5faW5mb194bWwgPSAoCi0gICAgIHN1YnByb2Nlc3MuUG9wZW4oWyJzdm4iLCAiaW5mbyIsICItLXhtbCIsIHRydW5rX2RpcmVjdG9yeV9wYXRoXSwKLSAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKQotICAgIC5jb21tdW5pY2F0ZSgpWzBdKQotICBzdm5faW5mbyA9IHhtbC5kb20ubWluaWRvbS5wYXJzZVN0cmluZyhzdm5faW5mb194bWwpCi0KLSAgIyBQcm9jZXNzIFNWTiBvdXRwdXQgWE1MIHRvIGZpbmQgZmllbGRzLgotICBkYXRlX2VsZW1lbnQgPSBzdm5faW5mby5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZGF0ZSIpWzBdCi0gIGVudHJ5X2VsZW1lbnQgPSBzdm5faW5mby5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZW50cnkiKVswXQotICBkZWYgaW5uZXJfdGV4dChub2RlKToKLSAgICBpZiBub2RlLm5vZGVUeXBlID09IDM6IHJldHVybiBub2RlLm5vZGVWYWx1ZQotICAgIGlmIG5vZGUubm9kZVR5cGUgPT0gMToKLSAgICAgIHJldHVybiAiIi5qb2luKFtpbm5lcl90ZXh0KGNoaWxkKSBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZE5vZGVzXSkKLSAgICByZXR1cm4gIiIKLQotICAjIENyZWF0ZSBhIGxpc3Qgb2YgZmllbGRzIHRvIHVzZSBpbiBzdWJzdGl0dXRpb24uCi0gIGZpZWxkcyA9IHsKLSAgICAidmVyc2lvbiI6ICJyJXMiICUgZW50cnlfZWxlbWVudC5nZXRBdHRyaWJ1dGUoInJldmlzaW9uIiksCi0gICAgInRpbWVzdGFtcCI6IHJlLnN1YihyIlteLlxkXXxcLlxkKyIsICIiLCBpbm5lcl90ZXh0KGRhdGVfZWxlbWVudCkpCi0gIH0KLQotICBkZWYgcmVwbGFjZV9maWVsZHMocyk6Ci0gICAgcmV0dXJuIHJlLnN1YihyIlwrXCtcKyhcdyspXCtcK1wrIiwgbGFtYmRhIG06IGZpZWxkc1ttLmdyb3VwKDEpXSwgcykKLQotICAjIExpc3Qgb2YgZmlsZXMgdGhhdCBuZWVkIHRvIGhhdmUgIyNEVVBFIyMgYW5kICMjUkVQTEFDRSMjIHNlY3Rpb25zIGV4cGFuZGVkCi0gICMgTk9URSgxMiBGZWJydWFyeSAyMDEzKTogV2Ugbm8gbG9uZ2VyIHJld3JpdGUgbWF2ZW5fbWV0YWRhdGFfcGF0aCBzaW5jZSB0aGlzCi0gICMgcHJvamVjdCBpcyBub3cgaG9zdGVkIGluIE1hdmVuIENlbnRyYWwsIGFuZCBtYXZlbl9tZXRhZGF0YSB1c2VkIGEKLSAgIyBncm91cElkL2FydGlmYWN0SWQgcGFpciB0aGF0IGlzIGluY29tcGF0aWJsZSB3aXRoIHRoZSBjb252ZW50aW9uIHVzZWQgYnkKLSAgIyBNYXZlbiBDZW50cmFsLgotICAjIEFsbCBtYXZlbiB2ZXJzaW9ucyBhZnRlciAxMiBGZWJydWFyeSBhcmUgdW5kaXNjb3ZlcmFibGUgYnkgbG9va2luZyBhdAotICAjIG1hdmVuX21ldGFkYXRhLgotICBmaWxlc190b19yZXdyaXRlID0gW10KLSAgbmV3X2ZpbGVfcGF0aHMgPSBbXQotCi0gIGRlZiBjb3B5X2RpcmVjdG9yeV9zdHJ1Y3R1cmVfdGVtcGxhdGUoc3JjX3BhdGgsIGNvbnRhaW5lcl9wYXRoKToKLSAgICBkZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4oCi0gICAgICBjb250YWluZXJfcGF0aCwKLSAgICAgIHJlcGxhY2VfZmllbGRzKG9zLnBhdGguYmFzZW5hbWUoc3JjX3BhdGgpKSkKLSAgICBpZiBvcy5wYXRoLmlzZGlyKHNyY19wYXRoKToKLSAgICAgIG9zLm1rZGlyKGRlc3RfcGF0aCkKLSAgICAgIGZvciBjaGlsZCBpbiBvcy5saXN0ZGlyKHNyY19wYXRoKToKLSAgICAgICAgIyBTa2lwIC5zdm4gZGlyZWN0b3JpZXMuCi0gICAgICAgIGlmICIuIiA9PSBjaGlsZFswOjFdOiBjb250aW51ZQotICAgICAgICBjb3B5X2RpcmVjdG9yeV9zdHJ1Y3R1cmVfdGVtcGxhdGUoCi0gICAgICAgICAgb3MucGF0aC5qb2luKHNyY19wYXRoLCBjaGlsZCksIGRlc3RfcGF0aCkKLSAgICBlbHNlOgotICAgICAgc2h1dGlsLmNvcHlmaWxlKHNyY19wYXRoLCBkZXN0X3BhdGgpCi0gICAgICBtaW1lX3R5cGUgPSBtaW1lX3R5cGVfZnJvbV9wYXRoKGRlc3RfcGF0aCkKLSAgICAgIGlmIG1pbWVfdHlwZSBpcyBOb25lIG9yIG1pbWVfdHlwZS5zdGFydHN3aXRoKCJ0ZXh0LyIpOgotICAgICAgICBmaWxlc190b19yZXdyaXRlLmFwcGVuZChkZXN0X3BhdGgpCi0gICAgICBuZXdfZmlsZV9wYXRocy5hcHBlbmQoZGVzdF9wYXRoKQotICAgIHJldHVybiBkZXN0X3BhdGgKLQotICBkZWYgcmV3cml0ZV9maWxlKHBhdGgpOgotICAgIGxpbmVzID0gW10KLSAgICBpbl9maWxlID0gb3BlbihwYXRoLCAiciIpCi0gICAgdHJ5OgotICAgICAgZmlsZV9jb250ZW50ID0gaW5fZmlsZS5yZWFkKCkKLSAgICBmaW5hbGx5OgotICAgICAgaW5fZmlsZS5jbG9zZSgpCi0gICAgZm9yIGxpbmUgaW4gZmlsZV9jb250ZW50LnNwbGl0KCJcbiIpOgotICAgICAgaW5kZW50YXRpb24gPSByZS5tYXRjaChyIl5ccyoiLCBsaW5lKS5ncm91cCgpCi0gICAgICBtYXRjaGVzID0gcmUuZmluZGFsbChyIig8IS0tIyNSRVBMQUNFIyMoLiopIyNFTkQjIy0tPikiLCBsaW5lKQotICAgICAgaWYgbGVuKG1hdGNoZXMpID49IDI6IHJhaXNlIEVycm9yKCIlczogJXMiICUgKHBhdGgsIGxpbmUpKQotICAgICAgaWYgbGVuKG1hdGNoZXMpOgotICAgICAgICBtYXRjaCA9IG1hdGNoZXNbMF0KLSAgICAgICAgbGluZSA9ICIlcyVzICVzIiAlIChpbmRlbnRhdGlvbiwgcmVwbGFjZV9maWVsZHMobWF0Y2hbMV0pLCBtYXRjaFswXSkKLSAgICAgIGVsc2U6Ci0gICAgICAgIG1hdGNoZXMgPSByZS5maW5kYWxsKCIjI0RVUEUjIyguKikjI0VORCMjIiwgbGluZSkKLSAgICAgICAgaWYgbGVuKG1hdGNoZXMpID49IDI6IHJhaXNlIEVycm9yKCIlczogJXMiICUgKHBhdGgsIGxpbmUpKQotICAgICAgICBpZiBsZW4obWF0Y2hlcyk6Ci0gICAgICAgICAgbWF0Y2ggPSBtYXRjaGVzWzBdCi0gICAgICAgICAgbGluZXMuYXBwZW5kKCIlcyVzIiAlIChpbmRlbnRhdGlvbiwgcmVwbGFjZV9maWVsZHMobWF0Y2gpKSkKLSAgICAgIGxpbmVzLmFwcGVuZChsaW5lKQotICAgIG91dF9maWxlID0gb3BlbihwYXRoLCAidyIpCi0gICAgdHJ5OgotICAgICAgb3V0X2ZpbGUud3JpdGUoIlxuIi5qb2luKGxpbmVzKSkKLSAgICBmaW5hbGx5OgotICAgICAgb3V0X2ZpbGUuY2xvc2UoKQotCi0gIHZlcnNpb25lZF9qYXJfcGF0aCA9IG9zLnBhdGguam9pbigKLSAgICB2ZXJzaW9uX3RlbXBsYXRlX2RpcmVjdG9yeV9wYXRoLAotICAgICJvd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyLSsrK3ZlcnNpb24rKysuamFyIikKLSAgdmVyc2lvbmVkX3NyY19qYXJfcGF0aCA9IG9zLnBhdGguam9pbigKLSAgICB2ZXJzaW9uX3RlbXBsYXRlX2RpcmVjdG9yeV9wYXRoLAotICAgICJvd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyLSsrK3ZlcnNpb24rKystc291cmNlcy5qYXIiKQotICB2ZXJzaW9uZWRfZG9jX2phcl9wYXRoID0gb3MucGF0aC5qb2luKAotICAgIHZlcnNpb25fdGVtcGxhdGVfZGlyZWN0b3J5X3BhdGgsCi0gICAgIm93YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXItKysrdmVyc2lvbisrKy1qYXZhZG9jLmphciIpCi0KLSAgc2h1dGlsLmNvcHlmaWxlKGphcl9wYXRoLCB2ZXJzaW9uZWRfamFyX3BhdGgpCi0gIHNodXRpbC5jb3B5ZmlsZShzcmNfamFyX3BhdGgsIHZlcnNpb25lZF9zcmNfamFyX3BhdGgpCi0gIHNodXRpbC5jb3B5ZmlsZShkb2NfamFyX3BhdGgsIHZlcnNpb25lZF9kb2NfamFyX3BhdGgpCi0gIG9rID0gRmFsc2UKLSAgdmVyc2lvbl9kaXJlY3RvcnlfcGF0aCA9IE5vbmUKLSAgdHJ5OgotICAgIHZlcnNpb25fZGlyZWN0b3J5X3BhdGggPSBjb3B5X2RpcmVjdG9yeV9zdHJ1Y3R1cmVfdGVtcGxhdGUoCi0gICAgICB2ZXJzaW9uX3RlbXBsYXRlX2RpcmVjdG9yeV9wYXRoLCBtYXZlbl9kaXJlY3RvcnlfcGF0aCkKLSAgICBmb3IgZmlsZV90b19yZXdyaXRlIGluIGZpbGVzX3RvX3Jld3JpdGU6Ci0gICAgICByZXdyaXRlX2ZpbGUoZmlsZV90b19yZXdyaXRlKQotICAgIG9rID0gVHJ1ZQotICBmaW5hbGx5OgotICAgIG9zLnVubGluayh2ZXJzaW9uZWRfamFyX3BhdGgpCi0gICAgb3MudW5saW5rKHZlcnNpb25lZF9zcmNfamFyX3BhdGgpCi0gICAgb3MudW5saW5rKHZlcnNpb25lZF9kb2NfamFyX3BhdGgpCi0gICAgaWYgbm90IG9rIGFuZCB2ZXJzaW9uX2RpcmVjdG9yeV9wYXRoIGlzIG5vdCBOb25lOgotICAgICAgc2h1dGlsLnJtdHJlZSh2ZXJzaW9uX2RpcmVjdG9yeV9wYXRoKQotCi0gIHByaW50ICJzdm4gYWRkICclcyciICUgdmVyc2lvbl9kaXJlY3RvcnlfcGF0aAotCi0gIGZvciBuZXdfZmlsZV9wYXRoIGluIG5ld19maWxlX3BhdGhzOgotICAgIG1pbWVfdHlwZSA9IG1pbWVfdHlwZV9mcm9tX3BhdGgobmV3X2ZpbGVfcGF0aCkKLSAgICBpZiBtaW1lX3R5cGUgaXMgbm90IE5vbmU6Ci0gICAgICBwcmludCAic3ZuIHByb3BzZXQgc3ZuOm1pbWUtdHlwZSAnJXMnICclcyciICUgKG1pbWVfdHlwZSwgbmV3X2ZpbGVfcGF0aCkKZGlmZiAtLWdpdCBhL3Rvb2xzL2VtbWEvUkVBRE1FLnR4dCBiL3Rvb2xzL2VtbWEvUkVBRE1FLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThjNmYzNi4uMDAwMDAwMAotLS0gYS90b29scy9lbW1hL1JFQURNRS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0NCi1FTU1BIGlzIGEgSmF2YSBjb2RlIGNvdmVyYWdlIHRvb2wuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIEVNTUEsIHBsZWFzZQ0KLWxvb2sgYXQgdGhlIEhUTUwgYW5kIFBERiBkb2N1bWVudGF0aW9uIGluY2x1ZGVkIGluIGRvY3MvIGRpcmVjdG9yeS4gTW9yZQ0KLWluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBhdCBFTU1BJ3MgaG9tZSBzaXRlOg0KLQ0KLSAgaHR0cDovL2VtbWEuc291cmNlZm9yZ2UubmV0DQotDQotVGhlIHRvcCBsZXZlbCBkaXJlY3RvcmllcyBpbiB0aGlzIGRpc3RyaWJ1dGlvbiBhcmU6DQotDQotbGliLyAgICAgICAgICBFTU1BIGltcGxlbWVudGF0aW9uIGphcnMNCi1kb2NzLyAgICAgICAgIEVNTUEgdXNlciBndWlkZSBhbmQgcmVmZXJlbmNlIG1hbnVhbA0KLWV4YW1wbGVzLyAgICAgQU5UIGJ1aWxkLnhtbCBleGFtcGxlcyAocmVmZXJlbmNlZCBieSB0aGUgdXNlciBndWlkZSkNCi0NCi0NCi1SRVFVSVJFTUVOVFMNCi1+fn5+fn5+fn5+fn4NCi0NCi1FTU1BIGlzIGEgc2VsZi1jb250YWluZWQgdG9vbGtpdCAod2l0aCBubyBleHRlcm5hbCBsaWJyYXJ5IGRlcGVuZGVuY2llcykNCi1zdXBwb3J0ZWQgb24gYW55IEphdmEgMiBydW50aW1lLg0KLQ0KLQ0KLUVYQU1QTEVTDQotfn5+fn5+fn4NCi0NCi1UbyB0cnkgdGhlIGV4YW1wbGVzIHBsZWFzZSByZWFkIHRoZSB1c2VyIGd1aWRlIG9yIGZvbGxvdyBpbnN0cnVjdGlvbnMgaW4NCi1kb2NzL1JFQURNRS50eHQuDQotDQotDQotQlVJTERJTkcgRU1NQQ0KLX5+fn5+fn5+fn5+fn4NCi0NCi1UbyBsaW1pdCB0aGUgZG93bmxvYWQgc2l6ZSwgdGhpcyBkaXN0cmlidXRpb24gZG9lcyBub3QgaW5jbHVkZSB0aGUgc291cmNlDQotY29kZS4gWW91IGNhbiBvYnRhaW4gaXQgYW5kIHRoZSBidWlsZCBpbnN0cnVjdGlvbnMgYXMNCi1lbW1hLTxidWlsZCBsYWJlbD4tc3JjLnppcCBkb3dubG9hZCBmcm9tIEVNTUEncyBwcm9qZWN0IHN1bW1hcnkgc2l0ZTogDQotDQotICAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9lbW1hDQotDQotIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQotICAgICAgIENvcHlyaWdodCAoQykgMjAwMy0yMDA1IFZsYWRpbWlyIFJvdWJ0c292LiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KLQ0KLSBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlcg0KLSB0aGUgdGVybXMgb2YgdGhlIENvbW1vbiBQdWJsaWMgTGljZW5zZSB2MS4wIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMNCi0gZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sDQpkaWZmIC0tZ2l0IGEvdG9vbHMvZW1tYS9saWIvZW1tYS5qYXIgYi90b29scy9lbW1hL2xpYi9lbW1hLmphcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc2MjlkZS4uMDAwMDAwMAotLS0gYS90b29scy9lbW1hL2xpYi9lbW1hLmphcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL1JFQURNRS50eHQgYi90b29scy9maW5kYnVncy9SRUFETUUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGRiZTczLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL1JFQURNRS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1UbyBnZXQgc3RhcnRlZCwgc2VlIGRvYy9pbmRleC5odG1sIGFuZCBkb2MvbWFudWFsL2luZGV4Lmh0bWwKLQotVGhlIEZpbmRCdWdzIHNvdXJjZSBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIExJQ0VOU0UudHh0Ci0KLUJvdGggdGhlIG5hbWUgRmluZEJ1Z3MgYW5kIHRoZSBGaW5kQnVncyBidWcgbWFyayBhcmUKLXRyYWRlbWFya2VkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mIE1hcnlsYW5kLgotCi1UaGUgQXBhY2hlIEJDRUwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBMSUNFTlNFLWJjZWwudHh0Ci0KLVRoZSBBU00gbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBMSUNFTlNFLUFTTS50eHQKLQotVGhlIGRvbTRqIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgTElDRU5TRS1kb200ai50eHQKLQotVGhlIEFwcGxlSmF2YUV4dGVuc2lvbnMgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBMSUNFTlNFLUFwcGxlSmF2YUV4dGVuc2lvbnMudHh0Ci0KLVRoZSBEb2Nib29rIDQuMiBYTUwgRFREIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgTElDRU5TRS1kb2Nib29rLnR4dAotCi1UaGUgSlNSLTMwNSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gbGljZW5zZSBpcyBpbiBMSUNFTlNFLWpzcjMwNS50eHQKLQotVGhlIEpheGVuIGxpY2Vuc2UgaXMgaW4gTElDRU5TRS1qYXhlbi50eHQKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9hZGRNZXNzYWdlcyBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9hZGRNZXNzYWdlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNWI5ZTViZS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vYWRkTWVzc2FnZXMKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi0jISAvYmluL3NoCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3MuQWRkTWVzc2FnZXMKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2NvbXB1dGVCdWdIaXN0b3J5IGIvdG9vbHMvZmluZGJ1Z3MvYmluL2NvbXB1dGVCdWdIaXN0b3J5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAyNGNlMjZjLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9jb21wdXRlQnVnSGlzdG9yeQorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLSMhIC9iaW4vc2gKLQotIyBNZXJnZSBhIGhpc3RvcmljYWwgYnVnIGNvbGxlY3Rpb24gYW5kIGEgYnVnIGNvbGxlY3Rpb24sIHByb2R1Y2luZyBhbiB1cGRhdGVkCi0jIGhpc3RvcmljYWwgYnVnIGNvbGxlY3Rpb24KLQotcHJvZ3JhbT0iJDAiCi0KLSMgRm9sbG93IHN5bWxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgYWN0dWFsIGZpbGUuCi13aGlsZSBbIC1oICIkcHJvZ3JhbSIgXTsgZG8KLQlsaW5rPWBscyAtbGQgIiRwcm9ncmFtImAKLQlsaW5rPWBleHByICIkbGluayIgOiAnLiotPiBcKC4qXCknYAotCWlmIFsgImBleHByICIkbGluayIgOiAnLy4qJ2AiID0gMCBdOyB0aGVuCi0JCSMgUmVsYXRpdmUKLQkJZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi0JCXByb2dyYW09IiRkaXIvJGxpbmsiCi0JZWxzZQotCQkjIEFic29sdXRlCi0JCXByb2dyYW09IiRsaW5rIgotCWZpCi1kb25lCi0KLSMgQXNzdW1lIGZpbmRidWdzIGhvbWUgZGlyZWN0b3J5IGlzIHRoZSBwYXJlbnQKLSMgb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzY3JpcHQgKHdoaWNoIHNob3VsZAotIyBub3JtYWxseSBiZSAiJGZpbmRidWdzX2hvbWUvYmluIikuCi1kaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLWZpbmRidWdzX2hvbWU9IiRkaXIvLi4iCi0KLSMgSGFuZGxlIEZIUy1jb21wbGlhbnQgaW5zdGFsbGF0aW9ucyAoZS5nLiwgRmluaykKLWlmIFsgLWQgIiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIiBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT0iJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiCi1maQotCi0jIE1ha2UgYWJzb2x1dGUKLWZpbmRidWdzX2hvbWU9YGNkICIkZmluZGJ1Z3NfaG9tZSIgJiYgcHdkYAotCi1mYl9wYXRoc2VwPSc6JwotCi0jIEhhbmRsZSBjeWd3aW4sIGNvdXJ0ZXN5IG9mIFBldGVyIEQuIFN0b3V0Ci1mYl9vc25hbWU9YHVuYW1lYAotaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPWBjeWdwYXRoIC0tbWl4ZWQgIiRmaW5kYnVnc19ob21lImAKLQlmYl9wYXRoc2VwPSc7JwotZmkKLSMgSGFuZGxlIE1LUywgY291cnRlc3kgb2YgS2VsbHkgTydIYWlyCi1pZiBbICIke2ZiX29zbmFtZX0iID0gIldpbmRvd3NfTlQiIF07IHRoZW4KLQlmYl9wYXRoc2VwPSc7JwotZmkKLQotaWYgWyAhIC1kICIkZmluZGJ1Z3NfaG9tZSIgXTsgdGhlbgotCWVjaG8gIlRoZSBwYXRoICRmaW5kYnVnc19ob21lLCIKLQllY2hvICJ3aGljaCBpcyB3aGVyZSBJIHRoaW5rIEZpbmRCdWdzIGlzIGxvY2F0ZWQsIgotCWVjaG8gImRvZXMgbm90IHNlZW0gdG8gYmUgYSBkaXJlY3RvcnkuIgotCWV4aXQgMQotZmkKLQotIyBDaG9vc2UgZGVmYXVsdCBqYXZhIGJpbmFyeQotZmJfamF2YWNtZD1qYXZhCi1pZiBbICEgLXogIiRKQVZBX0hPTUUiIF0gJiYgWyAteCAiJEpBVkFfSE9NRS9iaW4vamF2YSIgXTsgdGhlbgotCWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JCWZiX2phdmFjbWQ9YGN5Z3BhdGggLS1taXhlZCAiJEpBVkFfSE9NRSJgL2Jpbi9qYXZhCi0JZWxzZQotCQlmYl9qYXZhY21kPSIkSkFWQV9IT01FL2Jpbi9qYXZhIgotCWZpCi1maQotCi1mYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5VcGRhdGUKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vY29udmVydFhtbFRvVGV4dCBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9jb252ZXJ0WG1sVG9UZXh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBlODQ5M2Q2Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9jb252ZXJ0WG1sVG9UZXh0CisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLWZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLlByaW50aW5nQnVnUmVwb3J0ZXIKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2NvcHlCdWdneVNvdXJjZSBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9jb3B5QnVnZ3lTb3VyY2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDM1NTgxOWIuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2NvcHlCdWdneVNvdXJjZQorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLSMhIC9iaW4vc2gKLQotcHJvZ3JhbT0iJDAiCi0KLSMgRm9sbG93IHN5bWxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgYWN0dWFsIGZpbGUuCi13aGlsZSBbIC1oICIkcHJvZ3JhbSIgXTsgZG8KLQlsaW5rPWBscyAtbGQgIiRwcm9ncmFtImAKLQlsaW5rPWBleHByICIkbGluayIgOiAnLiotPiBcKC4qXCknYAotCWlmIFsgImBleHByICIkbGluayIgOiAnLy4qJ2AiID0gMCBdOyB0aGVuCi0JCSMgUmVsYXRpdmUKLQkJZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi0JCXByb2dyYW09IiRkaXIvJGxpbmsiCi0JZWxzZQotCQkjIEFic29sdXRlCi0JCXByb2dyYW09IiRsaW5rIgotCWZpCi1kb25lCi0KLSMgQXNzdW1lIGZpbmRidWdzIGhvbWUgZGlyZWN0b3J5IGlzIHRoZSBwYXJlbnQKLSMgb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzY3JpcHQgKHdoaWNoIHNob3VsZAotIyBub3JtYWxseSBiZSAiJGZpbmRidWdzX2hvbWUvYmluIikuCi1kaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLWZpbmRidWdzX2hvbWU9IiRkaXIvLi4iCi0KLSMgSGFuZGxlIEZIUy1jb21wbGlhbnQgaW5zdGFsbGF0aW9ucyAoZS5nLiwgRmluaykKLWlmIFsgLWQgIiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIiBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT0iJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiCi1maQotCi0jIE1ha2UgYWJzb2x1dGUKLWZpbmRidWdzX2hvbWU9YGNkICIkZmluZGJ1Z3NfaG9tZSIgJiYgcHdkYAotCi1mYl9wYXRoc2VwPSc6JwotCi0jIEhhbmRsZSBjeWd3aW4sIGNvdXJ0ZXN5IG9mIFBldGVyIEQuIFN0b3V0Ci1mYl9vc25hbWU9YHVuYW1lYAotaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPWBjeWdwYXRoIC0tbWl4ZWQgIiRmaW5kYnVnc19ob21lImAKLQlmYl9wYXRoc2VwPSc7JwotZmkKLSMgSGFuZGxlIE1LUywgY291cnRlc3kgb2YgS2VsbHkgTydIYWlyCi1pZiBbICIke2ZiX29zbmFtZX0iID0gIldpbmRvd3NfTlQiIF07IHRoZW4KLQlmYl9wYXRoc2VwPSc7JwotZmkKLQotaWYgWyAhIC1kICIkZmluZGJ1Z3NfaG9tZSIgXTsgdGhlbgotCWVjaG8gIlRoZSBwYXRoICRmaW5kYnVnc19ob21lLCIKLQllY2hvICJ3aGljaCBpcyB3aGVyZSBJIHRoaW5rIEZpbmRCdWdzIGlzIGxvY2F0ZWQsIgotCWVjaG8gImRvZXMgbm90IHNlZW0gdG8gYmUgYSBkaXJlY3RvcnkuIgotCWV4aXQgMQotZmkKLQotIyBDaG9vc2UgZGVmYXVsdCBqYXZhIGJpbmFyeQotZmJfamF2YWNtZD1qYXZhCi1pZiBbICEgLXogIiRKQVZBX0hPTUUiIF0gJiYgWyAteCAiJEpBVkFfSE9NRS9iaW4vamF2YSIgXTsgdGhlbgotCWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JCWZiX2phdmFjbWQ9YGN5Z3BhdGggLS1taXhlZCAiJEpBVkFfSE9NRSJgL2Jpbi9qYXZhCi0JZWxzZQotCQlmYl9qYXZhY21kPSIkSkFWQV9IT01FL2Jpbi9qYXZhIgotCWZpCi1maQotCi1mYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5Db3B5QnVnZ3lTb3VyY2UKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vZGVmZWN0RGVuc2l0eSBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9kZWZlY3REZW5zaXR5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBhMjk3YTAzLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9kZWZlY3REZW5zaXR5CisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi0jIEdlbmVyYXRlIGEgZGVmZWN0IGRlbnNpdHkgdGFibGUgZnJvbSBhIGJ1ZyBjb2xsZWN0aW9uCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuRGVmZWN0RGVuc2l0eQotCi1mYl9qYXZhY21kPSR7ZmJfamF2YWNtZDotImphdmEifQotZmJfbWF4aGVhcD0ke2ZiX21heGhlYXA6LSItWG14NzY4bSJ9Ci1mYl9hcHBqYXI9JHtmYl9hcHBqYXI6LSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIn0KLXNldCAtZgotI2VjaG8gY29tbWFuZDogXAotZXhlYyAiJGZiX2phdmFjbWQiIFwKLQktY2xhc3NwYXRoICIkZmJfYXBwamFyJGZiX3BhdGhzZXAkQ0xBU1NQQVRIIiBcCi0JLURmaW5kYnVncy5ob21lPSIkZmluZGJ1Z3NfaG9tZSJcCi0JJGZiX21heGhlYXAgJGZiX2p2bWFyZ3MgJGZiX21haW5jbGFzcyAke0A6KyIkQCJ9ICRmYl9hcHBhcmdzCi0KLSMgdmltOnRzPTMKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9kZXByZWNhdGVkL2J1Z0hpc3RvcnkgYi90b29scy9maW5kYnVncy9iaW4vZGVwcmVjYXRlZC9idWdIaXN0b3J5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA1ZjU1OTliLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9kZXByZWNhdGVkL2J1Z0hpc3RvcnkKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0jISAvYmluL3NoCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuQnVnSGlzdG9yeQotCi1mYl9qYXZhY21kPSR7ZmJfamF2YWNtZDotImphdmEifQotZmJfbWF4aGVhcD0ke2ZiX21heGhlYXA6LSItWG14NzY4bSJ9Ci1mYl9hcHBqYXI9JHtmYl9hcHBqYXI6LSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIn0KLXNldCAtZgotI2VjaG8gY29tbWFuZDogXAotZXhlYyAiJGZiX2phdmFjbWQiIFwKLQktY2xhc3NwYXRoICIkZmJfYXBwamFyJGZiX3BhdGhzZXAkQ0xBU1NQQVRIIiBcCi0JLURmaW5kYnVncy5ob21lPSIkZmluZGJ1Z3NfaG9tZSJcCi0JJGZiX21heGhlYXAgJGZiX2p2bWFyZ3MgJGZiX21haW5jbGFzcyAke0A6KyIkQCJ9ICRmYl9hcHBhcmdzCi0KLSMgdmltOnRzPTMKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9kZXByZWNhdGVkL3VuaW9uQnVncyBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9kZXByZWNhdGVkL3VuaW9uQnVncwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggOWRhMGI4NC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vZGVwcmVjYXRlZC91bmlvbkJ1Z3MKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0jISAvYmluL3NoCi0KLSMgQ3JlYXRlIHRoZSB1bmlvbiBvZiB0d28gcmVzdWx0cyBmaWxlcywgcHJlc2VydmluZwotIyBhbm5vdGF0aW9ucyBpbiBib3RoIGZpbGVzIGluIHRoZSByZXN1bHQuCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3MuVW5pb25SZXN1bHRzCi0KLWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQotIyB2aW06dHM9MwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2RlcHJlY2F0ZWQvdW5pb25SZXN1bHRzIGIvdG9vbHMvZmluZGJ1Z3MvYmluL2RlcHJlY2F0ZWQvdW5pb25SZXN1bHRzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMWQyMTI2Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9kZXByZWNhdGVkL3VuaW9uUmVzdWx0cworKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLSMhIC9iaW4vc2gKLQotIyBEZXByZWNhdGVkCi0KLSMgQ3JlYXRlIHRoZSB1bmlvbiBvZiB0d28gcmVzdWx0cyBmaWxlcywgcHJlc2VydmluZwotIyBhbm5vdGF0aW9ucyBpbiBib3RoIGZpbGVzIGluIHRoZSByZXN1bHQuCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuVW5pb25SZXN1bHRzCi0KLWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQotIyB2aW06dHM9MwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2RlcHJlY2F0ZWQvdXBkYXRlQnVncyBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9kZXByZWNhdGVkL3VwZGF0ZUJ1Z3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDI0Y2UyNmMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2RlcHJlY2F0ZWQvdXBkYXRlQnVncworKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLSMhIC9iaW4vc2gKLQotIyBNZXJnZSBhIGhpc3RvcmljYWwgYnVnIGNvbGxlY3Rpb24gYW5kIGEgYnVnIGNvbGxlY3Rpb24sIHByb2R1Y2luZyBhbiB1cGRhdGVkCi0jIGhpc3RvcmljYWwgYnVnIGNvbGxlY3Rpb24KLQotcHJvZ3JhbT0iJDAiCi0KLSMgRm9sbG93IHN5bWxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgYWN0dWFsIGZpbGUuCi13aGlsZSBbIC1oICIkcHJvZ3JhbSIgXTsgZG8KLQlsaW5rPWBscyAtbGQgIiRwcm9ncmFtImAKLQlsaW5rPWBleHByICIkbGluayIgOiAnLiotPiBcKC4qXCknYAotCWlmIFsgImBleHByICIkbGluayIgOiAnLy4qJ2AiID0gMCBdOyB0aGVuCi0JCSMgUmVsYXRpdmUKLQkJZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi0JCXByb2dyYW09IiRkaXIvJGxpbmsiCi0JZWxzZQotCQkjIEFic29sdXRlCi0JCXByb2dyYW09IiRsaW5rIgotCWZpCi1kb25lCi0KLSMgQXNzdW1lIGZpbmRidWdzIGhvbWUgZGlyZWN0b3J5IGlzIHRoZSBwYXJlbnQKLSMgb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzY3JpcHQgKHdoaWNoIHNob3VsZAotIyBub3JtYWxseSBiZSAiJGZpbmRidWdzX2hvbWUvYmluIikuCi1kaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLWZpbmRidWdzX2hvbWU9IiRkaXIvLi4iCi0KLSMgSGFuZGxlIEZIUy1jb21wbGlhbnQgaW5zdGFsbGF0aW9ucyAoZS5nLiwgRmluaykKLWlmIFsgLWQgIiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIiBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT0iJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiCi1maQotCi0jIE1ha2UgYWJzb2x1dGUKLWZpbmRidWdzX2hvbWU9YGNkICIkZmluZGJ1Z3NfaG9tZSIgJiYgcHdkYAotCi1mYl9wYXRoc2VwPSc6JwotCi0jIEhhbmRsZSBjeWd3aW4sIGNvdXJ0ZXN5IG9mIFBldGVyIEQuIFN0b3V0Ci1mYl9vc25hbWU9YHVuYW1lYAotaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPWBjeWdwYXRoIC0tbWl4ZWQgIiRmaW5kYnVnc19ob21lImAKLQlmYl9wYXRoc2VwPSc7JwotZmkKLSMgSGFuZGxlIE1LUywgY291cnRlc3kgb2YgS2VsbHkgTydIYWlyCi1pZiBbICIke2ZiX29zbmFtZX0iID0gIldpbmRvd3NfTlQiIF07IHRoZW4KLQlmYl9wYXRoc2VwPSc7JwotZmkKLQotaWYgWyAhIC1kICIkZmluZGJ1Z3NfaG9tZSIgXTsgdGhlbgotCWVjaG8gIlRoZSBwYXRoICRmaW5kYnVnc19ob21lLCIKLQllY2hvICJ3aGljaCBpcyB3aGVyZSBJIHRoaW5rIEZpbmRCdWdzIGlzIGxvY2F0ZWQsIgotCWVjaG8gImRvZXMgbm90IHNlZW0gdG8gYmUgYSBkaXJlY3RvcnkuIgotCWV4aXQgMQotZmkKLQotIyBDaG9vc2UgZGVmYXVsdCBqYXZhIGJpbmFyeQotZmJfamF2YWNtZD1qYXZhCi1pZiBbICEgLXogIiRKQVZBX0hPTUUiIF0gJiYgWyAteCAiJEpBVkFfSE9NRS9iaW4vamF2YSIgXTsgdGhlbgotCWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JCWZiX2phdmFjbWQ9YGN5Z3BhdGggLS1taXhlZCAiJEpBVkFfSE9NRSJgL2Jpbi9qYXZhCi0JZWxzZQotCQlmYl9qYXZhY21kPSIkSkFWQV9IT01FL2Jpbi9qYXZhIgotCWZpCi1maQotCi1mYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5VcGRhdGUKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vZXhwZXJpbWVudGFsL2JhY2tkYXRlSGlzdG9yeVVzaW5nU291cmNlIGIvdG9vbHMvZmluZGJ1Z3MvYmluL2V4cGVyaW1lbnRhbC9iYWNrZGF0ZUhpc3RvcnlVc2luZ1NvdXJjZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNTUwMzBmYS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vZXhwZXJpbWVudGFsL2JhY2tkYXRlSGlzdG9yeVVzaW5nU291cmNlCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLWZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLndvcmtmbG93LkJhY2tkYXRlSGlzdG9yeVVzaW5nU291cmNlCi0KLWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQotIyB2aW06dHM9MwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2V4cGVyaW1lbnRhbC9jaHVybiBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9leHBlcmltZW50YWwvY2h1cm4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDk5OGRlNmEuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2V4cGVyaW1lbnRhbC9jaHVybgorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLSMhIC9iaW4vc2gKLQotcHJvZ3JhbT0iJDAiCi0KLSMgRm9sbG93IHN5bWxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgYWN0dWFsIGZpbGUuCi13aGlsZSBbIC1oICIkcHJvZ3JhbSIgXTsgZG8KLQlsaW5rPWBscyAtbGQgIiRwcm9ncmFtImAKLQlsaW5rPWBleHByICIkbGluayIgOiAnLiotPiBcKC4qXCknYAotCWlmIFsgImBleHByICIkbGluayIgOiAnLy4qJ2AiID0gMCBdOyB0aGVuCi0JCSMgUmVsYXRpdmUKLQkJZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi0JCXByb2dyYW09IiRkaXIvJGxpbmsiCi0JZWxzZQotCQkjIEFic29sdXRlCi0JCXByb2dyYW09IiRsaW5rIgotCWZpCi1kb25lCi0KLSMgQXNzdW1lIGZpbmRidWdzIGhvbWUgZGlyZWN0b3J5IGlzIHRoZSBwYXJlbnQKLSMgb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzY3JpcHQgKHdoaWNoIHNob3VsZAotIyBub3JtYWxseSBiZSAiJGZpbmRidWdzX2hvbWUvYmluIikuCi1kaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLWZpbmRidWdzX2hvbWU9IiRkaXIvLi4iCi0KLSMgSGFuZGxlIEZIUy1jb21wbGlhbnQgaW5zdGFsbGF0aW9ucyAoZS5nLiwgRmluaykKLWlmIFsgLWQgIiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIiBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT0iJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiCi1maQotCi0jIE1ha2UgYWJzb2x1dGUKLWZpbmRidWdzX2hvbWU9YGNkICIkZmluZGJ1Z3NfaG9tZSIgJiYgcHdkYAotCi1mYl9wYXRoc2VwPSc6JwotCi0jIEhhbmRsZSBjeWd3aW4sIGNvdXJ0ZXN5IG9mIFBldGVyIEQuIFN0b3V0Ci1mYl9vc25hbWU9YHVuYW1lYAotaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPWBjeWdwYXRoIC0tbWl4ZWQgIiRmaW5kYnVnc19ob21lImAKLQlmYl9wYXRoc2VwPSc7JwotZmkKLSMgSGFuZGxlIE1LUywgY291cnRlc3kgb2YgS2VsbHkgTydIYWlyCi1pZiBbICIke2ZiX29zbmFtZX0iID0gIldpbmRvd3NfTlQiIF07IHRoZW4KLQlmYl9wYXRoc2VwPSc7JwotZmkKLQotaWYgWyAhIC1kICIkZmluZGJ1Z3NfaG9tZSIgXTsgdGhlbgotCWVjaG8gIlRoZSBwYXRoICRmaW5kYnVnc19ob21lLCIKLQllY2hvICJ3aGljaCBpcyB3aGVyZSBJIHRoaW5rIEZpbmRCdWdzIGlzIGxvY2F0ZWQsIgotCWVjaG8gImRvZXMgbm90IHNlZW0gdG8gYmUgYSBkaXJlY3RvcnkuIgotCWV4aXQgMQotZmkKLQotIyBDaG9vc2UgZGVmYXVsdCBqYXZhIGJpbmFyeQotZmJfamF2YWNtZD1qYXZhCi1pZiBbICEgLXogIiRKQVZBX0hPTUUiIF0gJiYgWyAteCAiJEpBVkFfSE9NRS9iaW4vamF2YSIgXTsgdGhlbgotCWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JCWZiX2phdmFjbWQ9YGN5Z3BhdGggLS1taXhlZCAiJEpBVkFfSE9NRSJgL2Jpbi9qYXZhCi0JZWxzZQotCQlmYl9qYXZhY21kPSIkSkFWQV9IT01FL2Jpbi9qYXZhIgotCWZpCi1maQotCi1mYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5DaHVybgotCi1mYl9qYXZhY21kPSR7ZmJfamF2YWNtZDotImphdmEifQotZmJfbWF4aGVhcD0ke2ZiX21heGhlYXA6LSItWG14NzY4bSJ9Ci1mYl9hcHBqYXI9JHtmYl9hcHBqYXI6LSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIn0KLXNldCAtZgotI2VjaG8gY29tbWFuZDogXAotZXhlYyAiJGZiX2phdmFjbWQiIFwKLQktY2xhc3NwYXRoICIkZmJfYXBwamFyJGZiX3BhdGhzZXAkQ0xBU1NQQVRIIiBcCi0JLURmaW5kYnVncy5ob21lPSIkZmluZGJ1Z3NfaG9tZSJcCi0JJGZiX21heGhlYXAgJGZiX2p2bWFyZ3MgJGZiX21haW5jbGFzcyAke0A6KyIkQCJ9ICRmYl9hcHBhcmdzCi0KLSMgdmltOnRzPTMKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9leHBlcmltZW50YWwvb2JmdXNjYXRlIGIvdG9vbHMvZmluZGJ1Z3MvYmluL2V4cGVyaW1lbnRhbC9vYmZ1c2NhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGVhZDU2MTkuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2V4cGVyaW1lbnRhbC9vYmZ1c2NhdGUKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0jISAvYmluL3NoCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuT2JmdXNjYXRlQnVncwotCi1mYl9qYXZhY21kPSR7ZmJfamF2YWNtZDotImphdmEifQotZmJfbWF4aGVhcD0ke2ZiX21heGhlYXA6LSItWG14NzY4bSJ9Ci1mYl9hcHBqYXI9JHtmYl9hcHBqYXI6LSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIn0KLXNldCAtZgotI2VjaG8gY29tbWFuZDogXAotZXhlYyAiJGZiX2phdmFjbWQiIFwKLQktY2xhc3NwYXRoICIkZmJfYXBwamFyJGZiX3BhdGhzZXAkQ0xBU1NQQVRIIiBcCi0JLURmaW5kYnVncy5ob21lPSIkZmluZGJ1Z3NfaG9tZSJcCi0JJGZiX21heGhlYXAgJGZiX2p2bWFyZ3MgJGZiX21haW5jbGFzcyAke0A6KyIkQCJ9ICRmYl9hcHBhcmdzCi0KLSMgdmltOnRzPTMKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9leHBlcmltZW50YWwvdHJlZW1hcFZpc3VhbGl6YXRpb24gYi90b29scy9maW5kYnVncy9iaW4vZXhwZXJpbWVudGFsL3RyZWVtYXBWaXN1YWxpemF0aW9uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA5Nzk1ZmY4Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9leHBlcmltZW50YWwvdHJlZW1hcFZpc3VhbGl6YXRpb24KKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0jISAvYmluL3NoCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuVHJlZW1hcFZpc3VhbGl6YXRpb24KLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vZmIgYi90b29scy9maW5kYnVncy9iaW4vZmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDRiOTY1MDguLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2ZiCisrKyAvZGV2L251bGwKQEAgLTEsMTkyICswLDAgQEAKLSMhIC9iaW4vc2gKLQotIyBMYXVuY2ggRmluZEJ1Z3MgZnJvbSB0aGUgY29tbWFuZCBsaW5lLgotCi1lc2NhcGVfYXJnKCkgewotCWVjaG8gIiQxIiB8IHNlZCAtZSAicyxcXChbXFxcIicgCV1cXCksXFxcXFxcMSxnIgotfQotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLQotZmJfYXBwamFyPSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIgotCi1TaG93SGVscEFuZEV4aXQoKSB7Ci0JZmJfbWFpbmNsYXNzPSJlZHUudW1kLmNzLmZpbmRidWdzLlNob3dIZWxwIgotCWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQlleGl0IDAKLX0KLQotIyBTZXQgZGVmYXVsdHMKLWZiX21haW5jbGFzcz0iZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5GQiIKLXVzZXJfanZtYXJncz0nJwotZWFfYXJnPScnCi1kZWJ1Z19hcmc9JycKLWNvbnNlcnZlc3BhY2VfYXJnPScnCi13b3JraGFyZF9hcmc9JycKLXVzZXJfcHJvcHM9JycKLQotIyBIYW5kbGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4KLXdoaWxlIFsgJCMgLWd0IDAgXTsgZG8KLQljYXNlICQxIGluCi0JLXRleHR1aSkKLQkJZmJfbWFpbmNsYXNzPSJlZHUudW1kLmNzLmZpbmRidWdzLkZpbmRCdWdzMiIKLQkJOzsKLQotCS1qdm1BcmdzKQotCQlzaGlmdAotCQl1c2VyX2p2bWFyZ3M9IiQxIgotCQk7OwotCQkKLQktZWEpCi0JCWVhX2FyZz0nLWVhJwotCQk7OwotCi0JLW1heEhlYXApCi0JCXNoaWZ0Ci0JCWZiX21heGhlYXA9Ii1YbXgkMW0iCi0JCTs7Ci0KLQktamF2YWhvbWUpCi0JCXNoaWZ0Ci0JCWZiX2phdmFjbWQ9IiQxL2Jpbi9qYXZhIgotCQk7OwotCi0JLWRlYnVnKQotCQlkZWJ1Z19hcmc9Ii1EZmluZGJ1Z3MuZGVidWc9dHJ1ZSIKLQkJOzsKLQotCS1jb25zZXJ2ZVNwYWNlKQotCQljb25zZXJ2ZXNwYWNlX2FyZz0iLURmaW5kYnVncy5jb25zZXJ2ZVNwYWNlPXRydWUiCi0JCTs7Ci0KLQktcHJvcGVydHkpCi0JCXNoaWZ0Ci0JCXVzZXJfcHJvcHM9Ii1EJDEgJHVzZXJfcHJvcHMiCi0JCTs7Ci0JCi0JLUQqPSopCi0JCXVzZXJfcHJvcHM9IiQxICR1c2VyX3Byb3BzIgotCQk7OwotCi0JLXZlcnNpb24pCi0JCWZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLlZlcnNpb24KLQkJZmJfYXBwYXJncz0iLXJlbGVhc2UiCi0JCXdoaWxlIFsgJCMgLWd0IDAgXTsgZG8KLQkJCXNoaWZ0Ci0JCWRvbmUKLQkJZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCQlleGl0IDAKLQkJOzsKLQotCS1oZWxwKQotCQlTaG93SGVscEFuZEV4aXQKLQkJOzsKLQotCSMgQWxsIHVucmVjb2duaXplZCBhcmd1bWVudHMgd2lsbCBiZSBhY2N1bXVsYXRlZCBhbmQKLQkjIHBhc3NlZCB0byB0aGUgYXBwbGljYXRpb24uCi0JKikKLQkJZmJfYXBwYXJncz0iJGZiX2FwcGFyZ3MgYGVzY2FwZV9hcmcgIiQxImAiCi0JCTs7Ci0JZXNhYwotCi0Jc2hpZnQKLWRvbmUKLQotZmJfanZtYXJncz0iJHVzZXJfanZtYXJncyAkZGVidWdfYXJnICRjb25zZXJ2ZXNwYWNlX2FyZyAkd29ya2hhcmRfYXJnICR1c2VyX3Byb3BzICRlYV9hcmciCi1pZiBbICRtYXhoZWFwIF07IHRoZW4KLSAgZmJfbWF4aGVhcD0iLVhteCR7bWF4aGVhcH1tIgotZmkKLQotIyBFeHRyYSBKVk0gYXJncyBmb3IgTWFjT1NYLgotaWYgWyAkZmJfb3NuYW1lID0gIkRhcndpbiIgXTsgdGhlbgotCWZiX2p2bWFyZ3M9IiRmYl9qdm1hcmdzIFwKLQkJLVhkb2NrOm5hbWU9RmluZEJ1Z3MgLVhkb2NrOmljb249JHtmaW5kYnVnc19ob21lfS9saWIvYnVnZ3kuaWNucyBcCi0JCS1EYXBwbGUubGFmLnVzZVNjcmVlbk1lbnVCYXI9dHJ1ZSIKLWZpCi0KLWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQotIyB2aW06dHM9MwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2Zid3JhcCBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9mYndyYXAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDg1YWJhOTEuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2Zid3JhcAorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLSMhIC9iaW4vc2gKLQotIyBBIGNvbnZlbmllbnQgd2F5IHRvIGNhbGwgdGhlIG1haW4oKSBtZXRob2Qgb2YgYSBjbGFzcwotIyBpbiBmaW5kYnVncy5qYXIuCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotaWYgWyAkIyAtZXEgMCBdOyB0aGVuCi0JZWNobyAiVXNhZ2U6IGZid3JhcCA8bWFpbiBjbGFzcyBuYW1lPiA8YXJncy4uLj4iCi0JZXhpdCAxCi1maQotCi1mYl9tYWluY2xhc3M9IiQxIgotc2hpZnQKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vZmlsdGVyQnVncyBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9maWx0ZXJCdWdzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA5MTE2MjI5Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9maWx0ZXJCdWdzCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotIyEgL2Jpbi9zaAotCi0jIEdlbmVyYWwgcHVycG9zZSB1dGlsaXR5IGZvciBmaWx0ZXJpbmcvdHJhbnNmb3JtaW5nCi0jIGJ1ZyBjb2xsZWN0aW9uIGFuZC9vciBoaXN0b3JpY2FsIGJ1ZyBjb2xsZWN0aW9ucwotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLWZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLndvcmtmbG93LkZpbHRlcgotCi1mYl9qYXZhY21kPSR7ZmJfamF2YWNtZDotImphdmEifQotZmJfbWF4aGVhcD0ke2ZiX21heGhlYXA6LSItWG14NzY4bSJ9Ci1mYl9hcHBqYXI9JHtmYl9hcHBqYXI6LSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIn0KLXNldCAtZgotI2VjaG8gY29tbWFuZDogXAotZXhlYyAiJGZiX2phdmFjbWQiIFwKLQktY2xhc3NwYXRoICIkZmJfYXBwamFyJGZiX3BhdGhzZXAkQ0xBU1NQQVRIIiBcCi0JLURmaW5kYnVncy5ob21lPSIkZmluZGJ1Z3NfaG9tZSJcCi0JJGZiX21heGhlYXAgJGZiX2p2bWFyZ3MgJGZiX21haW5jbGFzcyAke0A6KyIkQCJ9ICRmYl9hcHBhcmdzCi0KLSMgdmltOnRzPTMKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9maW5kYnVncyBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9maW5kYnVncwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNDcxY2YzMS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MKKysrIC9kZXYvbnVsbApAQCAtMSwxOTkgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi0jIExhdW5jaCBGaW5kQnVncyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuCi0KLWVzY2FwZV9hcmcoKSB7Ci0JZWNobyAiJDEiIHwgc2VkIC1lICJzLFxcKFtcXFwiJyAJXVxcKSxcXFxcXFwxLGciCi19Ci0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfYXBwamFyPSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIgotCi1TaG93SGVscEFuZEV4aXQoKSB7Ci0JZmJfbWFpbmNsYXNzPSJlZHUudW1kLmNzLmZpbmRidWdzLlNob3dIZWxwIgotCWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQlleGl0IDAKLX0KLQotIyBTZXQgZGVmYXVsdHMKLWZiX21haW5jbGFzcz0iZWR1LnVtZC5jcy5maW5kYnVncy5MYXVuY2hBcHByb3ByaWF0ZVVJIgotdXNlcl9qdm1hcmdzPScnCi1lYV9hcmc9JycKLWRlYnVnX2FyZz0nJwotY29uc2VydmVzcGFjZV9hcmc9JycKLXdvcmtoYXJkX2FyZz0nJwotdXNlcl9wcm9wcz0nJwotCi0jIEhhbmRsZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzLgotd2hpbGUgWyAkIyAtZ3QgMCBdOyBkbwotCWNhc2UgJDEgaW4KLQktZ3VpKQotCQkjIHRoaXMgaXMgdGhlIGRlZmF1bHQKLQkJOzsKLQotCS1ndWkxKQotCQl1c2VyX3Byb3BzPSItRGZpbmRidWdzLmxhdW5jaFVJPTEgJHVzZXJfcHJvcHMiCi0JCTs7Ci0KLQktdGV4dHVpKQotCQlmYl9tYWluY2xhc3M9ImVkdS51bWQuY3MuZmluZGJ1Z3MuRmluZEJ1Z3MyIgotCQk7OwotCi0JLWp2bUFyZ3MpCi0JCXNoaWZ0Ci0JCXVzZXJfanZtYXJncz0iJDEiCi0JCTs7Ci0JCQotCS1lYSkKLQkJZWFfYXJnPSctZWEnCi0JCTs7Ci0KLQktbWF4SGVhcCkKLQkJc2hpZnQKLQkJZmJfbWF4aGVhcD0iLVhteCQxbSIKLQkJOzsKLQotCS1qYXZhaG9tZSkKLQkJc2hpZnQKLQkJZmJfamF2YWNtZD0iJDEvYmluL2phdmEiCi0JCTs7Ci0KLQktZGVidWcpCi0JCWRlYnVnX2FyZz0iLURmaW5kYnVncy5kZWJ1Zz10cnVlIgotCQk7OwotCi0JLWNvbnNlcnZlU3BhY2UpCi0JCWNvbnNlcnZlc3BhY2VfYXJnPSItRGZpbmRidWdzLmNvbnNlcnZlU3BhY2U9dHJ1ZSIKLQkJOzsKLQotCS1wcm9wZXJ0eSkKLQkJc2hpZnQKLQkJdXNlcl9wcm9wcz0iLUQkMSAkdXNlcl9wcm9wcyIKLQkJOzsKLQkKLQktRCo9KikKLQkJdXNlcl9wcm9wcz0iJDEgJHVzZXJfcHJvcHMiCi0JCTs7Ci0KLQktdmVyc2lvbikKLQkJZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3MuVmVyc2lvbgotCQlmYl9hcHBhcmdzPSItcmVsZWFzZSIKLQkJd2hpbGUgWyAkIyAtZ3QgMCBdOyBkbwotCQkJc2hpZnQKLQkJZG9uZQotCQlmYl9qYXZhY21kPSR7ZmJfamF2YWNtZDotImphdmEifQotZmJfbWF4aGVhcD0ke2ZiX21heGhlYXA6LSItWG14NzY4bSJ9Ci1mYl9hcHBqYXI9JHtmYl9hcHBqYXI6LSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIn0KLXNldCAtZgotI2VjaG8gY29tbWFuZDogXAotZXhlYyAiJGZiX2phdmFjbWQiIFwKLQktY2xhc3NwYXRoICIkZmJfYXBwamFyJGZiX3BhdGhzZXAkQ0xBU1NQQVRIIiBcCi0JLURmaW5kYnVncy5ob21lPSIkZmluZGJ1Z3NfaG9tZSJcCi0JJGZiX21heGhlYXAgJGZiX2p2bWFyZ3MgJGZiX21haW5jbGFzcyAke0A6KyIkQCJ9ICRmYl9hcHBhcmdzCi0JCWV4aXQgMAotCQk7OwotCi0JLWhlbHApCi0JCVNob3dIZWxwQW5kRXhpdAotCQk7OwotCi0JIyBBbGwgdW5yZWNvZ25pemVkIGFyZ3VtZW50cyB3aWxsIGJlIGFjY3VtdWxhdGVkIGFuZAotCSMgcGFzc2VkIHRvIHRoZSBhcHBsaWNhdGlvbi4KLQkqKQotCQlmYl9hcHBhcmdzPSIkZmJfYXBwYXJncyBgZXNjYXBlX2FyZyAiJDEiYCIKLQkJOzsKLQllc2FjCi0KLQlzaGlmdAotZG9uZQotCi1mYl9qdm1hcmdzPSIkdXNlcl9qdm1hcmdzICRkZWJ1Z19hcmcgJGNvbnNlcnZlc3BhY2VfYXJnICR3b3JraGFyZF9hcmcgJHVzZXJfcHJvcHMgJGVhX2FyZyIKLWlmIFsgJG1heGhlYXAgXTsgdGhlbgotICBmYl9tYXhoZWFwPSItWG14JHttYXhoZWFwfW0iCi1maQotCi0jIEV4dHJhIEpWTSBhcmdzIGZvciBNYWNPU1guCi1pZiBbICRmYl9vc25hbWUgPSAiRGFyd2luIiBdOyB0aGVuCi0JZmJfanZtYXJncz0iJGZiX2p2bWFyZ3MgXAotCQktWGRvY2s6bmFtZT1GaW5kQnVncyAtWGRvY2s6aWNvbj0ke2ZpbmRidWdzX2hvbWV9L2xpYi9idWdneS5pY25zIFwKLQkJLURhcHBsZS5sYWYudXNlU2NyZWVuTWVudUJhcj10cnVlIgotZmkKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MtY3NyIGIvdG9vbHMvZmluZGJ1Z3MvYmluL2ZpbmRidWdzLWNzcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMzc0ZDYwMi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MtY3NyCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuQ2xvdWRTeW5jQW5kUmVwb3J0Ci0KLWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQotIyB2aW06dHM9MwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2ZpbmRidWdzLWRiU3RhdHMgYi90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MtZGJTdGF0cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMWFkYThlZS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MtZGJTdGF0cworKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLSMhIC9iaW4vc2gKLQotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLWZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLmNsb3VkLmRiLkRCU3RhdHMKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MtbXN2IGIvdG9vbHMvZmluZGJ1Z3MvYmluL2ZpbmRidWdzLW1zdgpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYWIwMGRkMi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MtbXN2CisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuTWVyZ2VTdW1tYXJpemVBbmRWaWV3Ci0KLWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQotIyB2aW06dHM9MwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2ZpbmRidWdzLmJhdCBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9maW5kYnVncy5iYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjYzQ2MjEuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2ZpbmRidWdzLmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDI0MCArMCwwIEBACi1AZWNobyBvZmYNCi06OiBMYXVuY2ggRmluZEJ1Z3Mgb24gYSBXaW5kb3dzIHN5c3RlbS4NCi06OiBBZGFwdGVkIGZyb20gc2NyaXB0cyBmb3VuZCBhdCBodHRwOi8vd3d3LmVyaWNwaGVscHMuY29tL2JhdGNoLw0KLTo6IFRoaXMgd2lsbCBvbmx5IHdvcmsgb24gV2luZG93cyBOVCBvciBsYXRlciENCi0NCi06OiBEb24ndCBhZmZlY3QgZW52aXJvbm1lbnQgb3V0c2lkZSBvZiB0aGlzIGludm9jYXRpb24NCi1zZXRsb2NhbA0KLQ0KLTo6IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi06OiBTZXQgdXAgZGVmYXVsdCB2YWx1ZXMNCi06OiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotc2V0IGFwcGphcj1maW5kYnVncy5qYXINCi1zZXQgamF2YWhvbWU9DQotc2V0IGxhdW5jaGVyPWphdmEuZXhlDQotc2V0IHN0YXJ0PXN0YXJ0ICJGaW5kQnVncyINCi1zZXQganZtYXJncz0NCi1zZXQgZGVidWdBcmc9DQotc2V0IGNvbnNlcnZlU3BhY2VBcmc9DQotc2V0IHdvcmtIYXJkQXJnPQ0KLXNldCBhcmdzPQ0KLXNldCBqYXZhUHJvcHM9DQotc2V0IG1heGhlYXA9NzY4DQotDQotUkVNIGRlZmF1bHQgVUkgaXMgZ3VpMg0KLXNldCBsYXVuY2hVST0yDQotDQotOjogVHJ5IGZpbmRpbmcgdGhlIGRlZmF1bHQgRklOREJVR1NfSE9NRSBkaXJlY3RvcnkNCi06OiBmcm9tIHRoZSBkaXJlY3RvcnkgcGF0aCBvZiB0aGlzIHNjcmlwdA0KLXNldCBkZWZhdWx0X2ZpbmRidWdzX2hvbWU9JX5kcDAuLg0KLQ0KLTo6IEhvbm9yIEpBVkFfSE9NRSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpZiBpdCBpcyBzZXQNCi1pZiAiJUpBVkFfSE9NRSUiPT0iIiBnb3RvIG5vamF2YWhvbWUNCi1pZiBub3QgZXhpc3QgIiVKQVZBX0hPTUUlXGJpblxqYXZhdy5leGUiIGdvdG8gbm9qYXZhaG9tZQ0KLXNldCBqYXZhaG9tZT0lSkFWQV9IT01FJVxiaW5cDQotOm5vamF2YWhvbWUNCi0NCi1nb3RvIGxvb3ANCi0NCi06OiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotOjogUHJvY2VzcyBjb21tYW5kLWxpbmUgYXJndW1lbnRzDQotOjogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLTpzaGlmdDINCi1zaGlmdA0KLTpzaGlmdDENCi1zaGlmdA0KLQ0KLTpsb29wDQotDQotOjogUmVtb3ZlIHN1cnJvdW5kaW5nIHF1b3RlcyBmcm9tICUxIGFuZCAlMg0KLXNldCBmaXJzdEFyZz0lfjENCi1zZXQgc2Vjb25kQXJnPSV+Mg0KLQ0KLWlmICIlZmlyc3RBcmclIj09IiIgZ290byBsYXVuY2gNCi0NCi06OiBBZGRNZXNzYWdlcw0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSItYWRkTWVzc2FnZXMiIGdvdG8gbm90QWRkTWVzc2FnZXMNCi1zZXQgZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3MuQWRkTWVzc2FnZXMNCi1nb3RvIHNoaWZ0MQ0KLTpub3RBZGRNZXNzYWdlcw0KLQ0KLTo6IGNvbXB1dGVCdWdIaXN0b3J5DQotaWYgbm90ICIlZmlyc3RBcmclIj09Ii1jb21wdXRlQnVnSGlzdG9yeSIgZ290byBub3RVcGRhdGUNCi1zZXQgZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuVXBkYXRlDQotZ290byBzaGlmdDENCi06bm90VXBkYXRlDQotDQotOjogY29udmVydFhtbFRvVGV4dA0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSIteG1sdG90ZXh0IiBnb3RvIG5vdFhtbFRvVGV4dA0KLXNldCBmYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy5QcmludGluZ0J1Z1JlcG9ydGVyDQotZ290byBzaGlmdDENCi06bm90WG1sVG9UZXh0DQotDQotOjogY29weUJ1Z2d5U291cmNlDQotaWYgbm90ICIlZmlyc3RBcmclIj09Ii1jb3B5QlMiIGdvdG8gbm90Q29weUJTDQotc2V0IGZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLndvcmtmbG93LkNvcHlCdWdneVNvdXJjZQ0KLWdvdG8gc2hpZnQxDQotOm5vdENvcHlCUw0KLQ0KLTo6IGRlZmVjdERlbnNpdHkNCi1pZiBub3QgIiVmaXJzdEFyZyUiPT0iLWRlZmVjdERlbnNpdHkiIGdvdG8gbm90RGVmZWN0RGVuc2l0eQ0KLXNldCBmYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5EZWZlY3REZW5zaXR5DQotZ290byBzaGlmdDENCi06bm90RGVmZWN0RGVuc2l0eQ0KLQ0KLTo6IGZpbHRlckJ1Z3MNCi1pZiBub3QgIiVmaXJzdEFyZyUiPT0iLWZpbHRlckJ1Z3MiIGdvdG8gbm90RmlsdGVyQnVncw0KLXNldCBmYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5GaWx0ZXINCi1nb3RvIHNoaWZ0MQ0KLTpub3RGaWx0ZXJCdWdzDQotDQotOjogbGlzdEJ1Z0RhdGFiYXNlSW5mbw0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSItbGlzdEJ1Z0RhdGFiYXNlSW5mbyIgZ290byBub3RMaXN0QnVnRGF0YWJhc2VJbmZvDQotc2V0IGZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLndvcmtmbG93Lkxpc3RCdWdEYXRhYmFzZUluZm8NCi1nb3RvIHNoaWZ0MQ0KLTpub3RMaXN0QnVnRGF0YWJhc2VJbmZvDQotDQotOjogbWluZUJ1Z0hpc3RvcnkNCi1pZiBub3QgIiVmaXJzdEFyZyUiPT0iLW1pbmVCdWdIaXN0b3J5IiBnb3RvIG5vdE1pbmVCdWdIaXN0b3J5DQotc2V0IGZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLndvcmtmbG93Lk1pbmVCdWdIaXN0b3J5DQotZ290byBzaGlmdDENCi06bm90TWluZUJ1Z0hpc3RvcnkNCi0NCi06OiBwcmludEFwcFZlcnNpb24NCi1pZiBub3QgIiVmaXJzdEFyZyUiPT0iLXByaW50QXBwVmVyc2lvbiIgZ290byBub3RQcmludEFwcFZlcnNpb24NCi1zZXQgZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuUHJpbnRBcHBWZXJzaW9uDQotZ290byBzaGlmdDENCi06bm90UHJpbnRBcHBWZXJzaW9uDQotDQotOjogcHJpbnRDbGFzcw0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSItcHJpbnRDbGFzcyIgZ290byBub3RQcmludENsYXNzDQotc2V0IGZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLndvcmtmbG93LlByaW50Q2xhc3MNCi1nb3RvIHNoaWZ0MQ0KLTpub3RQcmludENsYXNzDQotDQotOjogcmVqYXJGb3JBbmFseXNpcw0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSItcmVqYXIiIGdvdG8gbm90UmVqYXINCi1zZXQgZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuUmVqYXJDbGFzc2VzRm9yQW5hbHlzaXMNCi1nb3RvIHNoaWZ0MQ0KLTpub3RSZWphcg0KLQ0KLTo6IHNldEJ1Z0RhdGFiYXNlSW5mbw0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSItc2V0SW5mbyIgZ290byBub3RTZXRCdWdEYXRhYmFzZUluZm8NCi1zZXQgZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuU2V0QnVnRGF0YWJhc2VJbmZvDQotZ290byBzaGlmdDENCi06bm90U2V0QnVnRGF0YWJhc2VJbmZvDQotDQotOjogdW5pb25CdWdzDQotaWYgbm90ICIlZmlyc3RBcmclIj09Ii11bmlvbkJ1Z3MiIGdvdG8gbm90VW5pb25CdWdzDQotc2V0IGZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLndvcmtmbG93LlVuaW9uUmVzdWx0cw0KLWdvdG8gc2hpZnQxDQotOm5vdFVuaW9uQnVncw0KLQ0KLTo6IHhwYXRoRmluZA0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSIteHBhdGhGaW5kIiBnb3RvIG5vdFhQYXRoRmluZA0KLXNldCBmYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5YUGF0aEZpbmQNCi1nb3RvIHNoaWZ0MQ0KLTpub3RYUGF0aEZpbmQNCi0NCi1pZiBub3QgIiVmaXJzdEFyZyUiPT0iLWd1aSIgZ290byBub3RHdWkNCi1zZXQgbGF1bmNoVUk9Mg0KLXNldCBsYXVuY2hlcj1qYXZhdy5leGUNCi1nb3RvIHNoaWZ0MQ0KLTpub3RHdWkNCi0NCi1pZiBub3QgIiVmaXJzdEFyZyUiPT0iLWd1aTEiIGdvdG8gbm90R3VpMQ0KLXNldCBsYXVuY2hVST0xDQotc2V0IGphdmFQcm9wcz0tRGZpbmRidWdzLmxhdW5jaFVJPTEgJWphdmFQcm9wcyUNCi1zZXQgbGF1bmNoZXI9amF2YXcuZXhlDQotZ290byBzaGlmdDENCi06bm90R3VpMQ0KLQ0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSItdGV4dHVpIiBnb3RvIG5vdFRleHR1aQ0KLXNldCBsYXVuY2hVST0wDQotc2V0IGxhdW5jaGVyPWphdmEuZXhlDQotc2V0IHN0YXJ0PQ0KLWdvdG8gc2hpZnQxDQotOm5vdFRleHR1aQ0KLQ0KLWlmIG5vdCAiJWZpcnN0QXJnJSI9PSItZGVidWciIGdvdG8gbm90RGVidWcNCi1zZXQgbGF1bmNoZXI9amF2YS5leGUNCi1zZXQgc3RhcnQ9DQotc2V0IGRlYnVnQXJnPS1EZmluZGJ1Z3MuZGVidWc9dHJ1ZQ0KLWdvdG8gc2hpZnQxDQotOm5vdERlYnVnDQotDQotaWYgbm90ICIlZmlyc3RBcmclIj09Ii1oZWxwIiBnb3RvIG5vdEhlbHANCi1zZXQgbGF1bmNoVUk9aGVscA0KLXNldCBsYXVuY2hlcj1qYXZhLmV4ZQ0KLXNldCBzdGFydD0NCi1nb3RvIHNoaWZ0MQ0KLTpub3RIZWxwDQotDQotaWYgbm90ICIlZmlyc3RBcmclIj09Ii12ZXJzaW9uIiBnb3RvIG5vdFZlcnNpb24NCi1zZXQgbGF1bmNoVUk9dmVyc2lvbg0KLXNldCBsYXVuY2hlcj1qYXZhLmV4ZQ0KLXNldCBzdGFydD0NCi1nb3RvIHNoaWZ0MQ0KLTpub3RWZXJzaW9uDQotDQotaWYgIiVmaXJzdEFyZyUiPT0iLWhvbWUiIHNldCBGSU5EQlVHU19IT01FPSVzZWNvbmRBcmclDQotaWYgIiVmaXJzdEFyZyUiPT0iLWhvbWUiIGdvdG8gc2hpZnQyDQotDQotaWYgIiVmaXJzdEFyZyUiPT0iLWp2bUFyZ3MiIHNldCBqdm1hcmdzPSVzZWNvbmRBcmclDQotaWYgIiVmaXJzdEFyZyUiPT0iLWp2bUFyZ3MiIGdvdG8gc2hpZnQyDQotDQotaWYgIiVmaXJzdEFyZyUiPT0iLW1heEhlYXAiIHNldCBtYXhoZWFwPSVzZWNvbmRBcmclDQotaWYgIiVmaXJzdEFyZyUiPT0iLW1heEhlYXAiIGdvdG8gc2hpZnQyDQotDQotaWYgIiVmaXJzdEFyZyUiPT0iLWNvbnNlcnZlU3BhY2UiIHNldCBjb25zZXJ2ZVNwYWNlQXJnPS1EZmluZGJ1Z3MuY29uc2VydmVTcGFjZT10cnVlDQotaWYgIiVmaXJzdEFyZyUiPT0iLWNvbnNlcnZlU3BhY2UiIGdvdG8gc2hpZnQxDQotDQotaWYgIiVmaXJzdEFyZyUiPT0iLXdvcmtIYXJkIiBzZXQgd29ya0hhcmRBcmc9LURmaW5kYnVncy53b3JrSGFyZD10cnVlDQotaWYgIiVmaXJzdEFyZyUiPT0iLXdvcmtIYXJkIiBnb3RvIHNoaWZ0MQ0KLQ0KLWlmICIlZmlyc3RBcmclIj09Ii1qYXZhaG9tZSIgc2V0IGphdmFob21lPSVzZWNvbmRBcmclXGJpblwNCi1pZiAiJWZpcnN0QXJnJSI9PSItamF2YWhvbWUiIGdvdG8gc2hpZnQyDQotDQotaWYgIiVmaXJzdEFyZyUiPT0iLXByb3BlcnR5IiBzZXQgamF2YVByb3BzPS1EJXNlY29uZEFyZyUgJWphdmFQcm9wcyUNCi1pZiAiJWZpcnN0QXJnJSI9PSItcHJvcGVydHkiIGdvdG8gc2hpZnQyDQotDQotaWYgIiVmaXJzdEFyZyUiPT0iIiBnb3RvIGxhdW5jaA0KLQ0KLXNldCBhcmdzPSVhcmdzJSAiJWZpcnN0QXJnJSINCi1nb3RvIHNoaWZ0MQ0KLQ0KLTo6IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi06OiBMYXVuY2ggRmluZEJ1Z3MNCi06OiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotOmxhdW5jaA0KLTo6IE1ha2Ugc3VyZSBGSU5EQlVHU19IT01FIGlzIHNldC4NCi06OiBJZiBpdCBpc24ndCwgdHJ5IHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIGJhc2VkIG9uIHRoZQ0KLTo6IGRpcmVjdG9yeSBwYXRoIG9mIHRoZSBpbnZva2VkIHNjcmlwdC4NCi06OiBOb3RlIHRoYXQgdGhpcyB3aWxsIGZhaWwgbWlzZXJhYmx5IGlmIHRoZSB2YWx1ZSBvZiBGSU5EQlVHU19IT01FDQotOjogaGFzIHF1b3RlIGNoYXJhY3RlcnMgaW4gaXQuDQotaWYgbm90ICIlRklOREJVR1NfSE9NRSUiPT0iIiBnb3RvIGNoZWNrSG9tZVZhbGlkDQotc2V0IEZJTkRCVUdTX0hPTUU9JWRlZmF1bHRfZmluZGJ1Z3NfaG9tZSUNCi0NCi06Y2hlY2tIb21lVmFsaWQNCi1pZiBub3QgZXhpc3QgIiVGSU5EQlVHU19IT01FJVxsaWJcJWFwcGphciUiIGdvdG8gaG9tZU5vdFNldA0KLQ0KLTpmb3VuZF9ob21lDQotOjogTGF1bmNoIEZpbmRCdWdzIQ0KLWlmICIlZmJfbWFpbmNsYXNzJSI9PSIiIGdvdG8gcnVuSmFyDQotIiVqYXZhaG9tZSUlbGF1bmNoZXIlIiAlZGVidWdBcmclICVjb25zZXJ2ZVNwYWNlQXJnJSAld29ya0hhcmRBcmclICVqYXZhUHJvcHMlICItRGZpbmRidWdzLmhvbWU9JUZJTkRCVUdTX0hPTUUlIiAtWG14JW1heGhlYXAlbSAlanZtYXJncyUgIi1EZmluZGJ1Z3MubGF1bmNoVUk9JWxhdW5jaFVJJSIgLWNwICIlRklOREJVR1NfSE9NRSVcbGliXCVhcHBqYXIlIiAlZmJfbWFpbmNsYXNzJSAlYXJncyUNCi1nb3RvIGVuZA0KLTpydW5qYXINCi0lc3RhcnQlICIlamF2YWhvbWUlJWxhdW5jaGVyJSIgJWRlYnVnQXJnJSAlY29uc2VydmVTcGFjZUFyZyUgJXdvcmtIYXJkQXJnJSAlamF2YVByb3BzJSAiLURmaW5kYnVncy5ob21lPSVGSU5EQlVHU19IT01FJSIgLVhteCVtYXhoZWFwJW0gJWp2bWFyZ3MlICItRGZpbmRidWdzLmxhdW5jaFVJPSVsYXVuY2hVSSUiIC1qYXIgIiVGSU5EQlVHU19IT01FJVxsaWJcJWFwcGphciUiICVhcmdzJQ0KLWdvdG8gZW5kDQotDQotOjogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLTo6IFJlcG9ydCB0aGF0IEZJTkRCVUdTX0hPTUUgaXMgbm90IHNldCAoYW5kIHdhcyBub3Qgc3BlY2lmaWVkKQ0KLTo6IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi06aG9tZU5vdFNldA0KLWVjaG8gQ291bGQgbm90IGZpbmQgRmluZEJ1Z3MgaG9tZSBkaXJlY3RvcnkuICBUaGVyZSBtYXkgYmUgYSBwcm9ibGVtDQotZWNobyB3aXRoIHRoZSBGaW5kQnVncyBpbnN0YWxsYXRpb24uICBUcnkgc2V0dGluZyBGSU5EQlVHU19IT01FLCBvcg0KLWVjaG8gcmUtaW5zdGFsbGluZy4NCi1nb3RvIGVuZA0KLQ0KLTplbmQNCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MuaWNvIGIvdG9vbHMvZmluZGJ1Z3MvYmluL2ZpbmRidWdzLmljbwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggODM0ZmYzNy4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vZmluZGJ1Z3MuaWNvCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL2ZpbmRidWdzMiBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9maW5kYnVnczIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDEzNjdlM2QuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2ZpbmRidWdzMgorKysgL2Rldi9udWxsCkBAIC0xLDE3NyArMCwwIEBACi0jISAvYmluL3NoCi0KLSMKLSMgU2ltcGxpZmllZCBmaW5kYnVncyBzdGFydHVwIHNjcmlwdC4KLSMgVGhpcyBpcyBhbiBleHBlcmltZW50LgotIwotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLSMgRGVmYXVsdCBVSSBpcyBHVUkyCi1mYl9sYXVuY2h1aT0iMiIKLQotIwotIyBTdHVmZiB3ZSdyZSBnb2luZyB0byBwYXNzIHRvIHRoZSBKVk0gYXMgSlZNIGFyZ3VtZW50cy4KLSMKLWp2bV9kZWJ1Zz0iIgotanZtX21heGhlYXA9Ii1YbXg3NjhtIgotanZtX2VhPSIiCi1qdm1fY29uc2VydmVzcGFjZT0iIgotanZtX3VzZXJfcHJvcHM9IiIKLQotIwotIyBQcm9jZXNzIGNvbW1hbmQgbGluZSBhcmdzIHVudGlsIHdlIGhpdCBvbmUgd2UgZG9uJ3QgcmVjb2duaXplLgotIwotZmluaXNoZWRBcmdzPWZhbHNlCi13aGlsZSBbICQjIC1ndCAwIF0gJiYgWyAiJGZpbmlzaGVkQXJncyIgPSAiZmFsc2UiIF07IGRvCi0KLQlhcmc9JDEKLQotCWNhc2UgJGFyZyBpbgotCQktdGV4dHVpKQotCQkJc2hpZnQKLQkJCWZiX2xhdW5jaHVpPSIwIgotCQkJOzsKLQotCQktZ3VpKQotCQkJc2hpZnQKLQkJCWZiX2xhdW5jaHVpPSIyIgotCQkJOzsKLQotCQktZ3VpMSkKLQkJCXNoaWZ0Ci0JCQlmYl9sYXVuY2h1aT0iMSIKLQkJCTs7Ci0KLQkJLW1heEhlYXApCi0JCQlzaGlmdAotCQkJanZtX21heGhlYXA9Ii1YbXgkMW0iCi0JCQlzaGlmdAotCQkJOzsKLQotCQktZWEpCi0JCQlzaGlmdAotCQkJanZtX2VhPSItZWEiCi0JCQk7OwotCi0JCS1qYXZhaG9tZSkKLQkJCXNoaWZ0Ci0JCQlmYl9qYXZhY21kPSIkMS9iaW4vamF2YSIKLQkJCXNoaWZ0Ci0JCQk7OwotCi0JCS1kZWJ1ZykKLQkJCXNoaWZ0Ci0JCQlqdm1fZGVidWc9Ii1EZmluZGJ1Z3MuZGVidWc9dHJ1ZSIKLQkJCTs7Ci0KLQkJLWNvbnNlcnZlU3BhY2UpCi0JCQlzaGlmdAotCQkJanZtX2NvbnNlcnZlc3BhY2U9Ii1EZmluZGJ1Z3MuY29uc2VydmVTcGFjZT10cnVlIgotCQkJOzsKLQotCQktcHJvcGVydHkpCi0JCQlzaGlmdAotCQkJanZtX3VzZXJfcHJvcHM9Ii1EJDEgJGp2bV91c2VyX3Byb3BzIgotCQkJc2hpZnQKLQkJCTs7Ci0JCi0JCS1EKj0qKQotCQkJanZtX3VzZXJfcHJvcHM9IiQxICR1c2VyX3Byb3BzIgotCQkJc2hpZnQKLQkJCTs7Ci0KLQkJLXZlcnNpb24pCi0JCQlzaGlmdAotCQkJZmJfbGF1bmNodWk9InZlcnNpb24iCi0JCQk7OwotCi0JCS1oZWxwKQotCQkJc2hpZnQKLQkJCWZiX2xhdW5jaHVpPSJoZWxwIgotCQkJOzsKLQotCQkjIEFsbCBhcmd1bWVudHMgc3RhcnRpbmcgZnJvbSB0aGUgZmlyc3QgdW5yZWNvZ25pemVkIGFyZ3VtZW50cwotCQkjIGFyZSBwYXNzZWQgb24gdG8gdGhlIEphdmEgYXBwLgotCQkqKQotCQkJZmluaXNoZWRBcmdzPXRydWUKLQkJCTs7Ci0JZXNhYwotCi1kb25lCi0KLSMgRXh0cmEgSlZNIGFyZ3MgZm9yIE1hY09TWC4KLWlmIFsgJGZiX29zbmFtZSA9ICJEYXJ3aW4iIF07IHRoZW4KLQlmYl9qdm1hcmdzPSIkZmJfanZtYXJncyBcCi0JCS1YZG9jazpuYW1lPUZpbmRCdWdzIC1YZG9jazppY29uPSR7ZmluZGJ1Z3NfaG9tZX0vbGliL2J1Z2d5LmljbnMgXAotCQktRGFwcGxlLmxhZi51c2VTY3JlZW5NZW51QmFyPXRydWUiCi1maQotCi0jCi0jIExhdW5jaCBKVk0KLSMKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiIFwKLQkkanZtX2RlYnVnICRqdm1fbWF4aGVhcCAkanZtX2VhICRqdm1fY29uc2VydmVzcGFjZSAkanZtX3VzZXJfcHJvcHMgXAotCS1EZmluZGJ1Z3MubGF1bmNoVUk9JGZiX2xhdW5jaHVpIFwKLQktamFyICRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIgXAotCSR7QDorIiRAIn0KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9saXN0QnVnRGF0YWJhc2VJbmZvIGIvdG9vbHMvZmluZGJ1Z3MvYmluL2xpc3RCdWdEYXRhYmFzZUluZm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDg5MWY0NTUuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL2xpc3RCdWdEYXRhYmFzZUluZm8KKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0jISAvYmluL3NoCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuTGlzdEJ1Z0RhdGFiYXNlSW5mbwotCi1mYl9qYXZhY21kPSR7ZmJfamF2YWNtZDotImphdmEifQotZmJfbWF4aGVhcD0ke2ZiX21heGhlYXA6LSItWG14NzY4bSJ9Ci1mYl9hcHBqYXI9JHtmYl9hcHBqYXI6LSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIn0KLXNldCAtZgotI2VjaG8gY29tbWFuZDogXAotZXhlYyAiJGZiX2phdmFjbWQiIFwKLQktY2xhc3NwYXRoICIkZmJfYXBwamFyJGZiX3BhdGhzZXAkQ0xBU1NQQVRIIiBcCi0JLURmaW5kYnVncy5ob21lPSIkZmluZGJ1Z3NfaG9tZSJcCi0JJGZiX21heGhlYXAgJGZiX2p2bWFyZ3MgJGZiX21haW5jbGFzcyAke0A6KyIkQCJ9ICRmYl9hcHBhcmdzCi0KLSMgdmltOnRzPTMKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9taW5lQnVnSGlzdG9yeSBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9taW5lQnVnSGlzdG9yeQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNTIwYWE4My4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vbWluZUJ1Z0hpc3RvcnkKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi0jISAvYmluL3NoCi0KLXByb2dyYW09IiQwIgotCi0jIEZvbGxvdyBzeW1saW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIGFjdHVhbCBmaWxlLgotd2hpbGUgWyAtaCAiJHByb2dyYW0iIF07IGRvCi0JbGluaz1gbHMgLWxkICIkcHJvZ3JhbSJgCi0JbGluaz1gZXhwciAiJGxpbmsiIDogJy4qLT4gXCguKlwpJ2AKLQlpZiBbICJgZXhwciAiJGxpbmsiIDogJy8uKidgIiA9IDAgXTsgdGhlbgotCQkjIFJlbGF0aXZlCi0JCWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotCQlwcm9ncmFtPSIkZGlyLyRsaW5rIgotCWVsc2UKLQkJIyBBYnNvbHV0ZQotCQlwcm9ncmFtPSIkbGluayIKLQlmaQotZG9uZQotCi0jIEFzc3VtZSBmaW5kYnVncyBob21lIGRpcmVjdG9yeSBpcyB0aGUgcGFyZW50Ci0jIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc2NyaXB0ICh3aGljaCBzaG91bGQKLSMgbm9ybWFsbHkgYmUgIiRmaW5kYnVnc19ob21lL2JpbiIpLgotZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi1maW5kYnVnc19ob21lPSIkZGlyLy4uIgotCi0jIEhhbmRsZSBGSFMtY29tcGxpYW50IGluc3RhbGxhdGlvbnMgKGUuZy4sIEZpbmspCi1pZiBbIC1kICIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9IiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIgotZmkKLQotIyBNYWtlIGFic29sdXRlCi1maW5kYnVnc19ob21lPWBjZCAiJGZpbmRidWdzX2hvbWUiICYmIHB3ZGAKLQotZmJfcGF0aHNlcD0nOicKLQotIyBIYW5kbGUgY3lnd2luLCBjb3VydGVzeSBvZiBQZXRlciBELiBTdG91dAotZmJfb3NuYW1lPWB1bmFtZWAKLWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT1gY3lncGF0aCAtLW1peGVkICIkZmluZGJ1Z3NfaG9tZSJgCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0jIEhhbmRsZSBNS1MsIGNvdXJ0ZXN5IG9mIEtlbGx5IE8nSGFpcgotaWYgWyAiJHtmYl9vc25hbWV9IiA9ICJXaW5kb3dzX05UIiBdOyB0aGVuCi0JZmJfcGF0aHNlcD0nOycKLWZpCi0KLWlmIFsgISAtZCAiJGZpbmRidWdzX2hvbWUiIF07IHRoZW4KLQllY2hvICJUaGUgcGF0aCAkZmluZGJ1Z3NfaG9tZSwiCi0JZWNobyAid2hpY2ggaXMgd2hlcmUgSSB0aGluayBGaW5kQnVncyBpcyBsb2NhdGVkLCIKLQllY2hvICJkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZGlyZWN0b3J5LiIKLQlleGl0IDEKLWZpCi0KLSMgQ2hvb3NlIGRlZmF1bHQgamF2YSBiaW5hcnkKLWZiX2phdmFjbWQ9amF2YQotaWYgWyAhIC16ICIkSkFWQV9IT01FIiBdICYmIFsgLXggIiRKQVZBX0hPTUUvYmluL2phdmEiIF07IHRoZW4KLQlpZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCQlmYl9qYXZhY21kPWBjeWdwYXRoIC0tbWl4ZWQgIiRKQVZBX0hPTUUiYC9iaW4vamF2YQotCWVsc2UKLQkJZmJfamF2YWNtZD0iJEpBVkFfSE9NRS9iaW4vamF2YSIKLQlmaQotZmkKLQotZmJfbWFpbmNsYXNzPWVkdS51bWQuY3MuZmluZGJ1Z3Mud29ya2Zsb3cuTWluZUJ1Z0hpc3RvcnkKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL3ByaW50QXBwVmVyc2lvbiBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9wcmludEFwcFZlcnNpb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDc5OTRiOGMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL3ByaW50QXBwVmVyc2lvbgorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLSMhIC9iaW4vc2gKLQotcHJvZ3JhbT0iJDAiCi0KLSMgRm9sbG93IHN5bWxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgYWN0dWFsIGZpbGUuCi13aGlsZSBbIC1oICIkcHJvZ3JhbSIgXTsgZG8KLQlsaW5rPWBscyAtbGQgIiRwcm9ncmFtImAKLQlsaW5rPWBleHByICIkbGluayIgOiAnLiotPiBcKC4qXCknYAotCWlmIFsgImBleHByICIkbGluayIgOiAnLy4qJ2AiID0gMCBdOyB0aGVuCi0JCSMgUmVsYXRpdmUKLQkJZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi0JCXByb2dyYW09IiRkaXIvJGxpbmsiCi0JZWxzZQotCQkjIEFic29sdXRlCi0JCXByb2dyYW09IiRsaW5rIgotCWZpCi1kb25lCi0KLSMgQXNzdW1lIGZpbmRidWdzIGhvbWUgZGlyZWN0b3J5IGlzIHRoZSBwYXJlbnQKLSMgb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzY3JpcHQgKHdoaWNoIHNob3VsZAotIyBub3JtYWxseSBiZSAiJGZpbmRidWdzX2hvbWUvYmluIikuCi1kaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLWZpbmRidWdzX2hvbWU9IiRkaXIvLi4iCi0KLSMgSGFuZGxlIEZIUy1jb21wbGlhbnQgaW5zdGFsbGF0aW9ucyAoZS5nLiwgRmluaykKLWlmIFsgLWQgIiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIiBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT0iJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiCi1maQotCi0jIE1ha2UgYWJzb2x1dGUKLWZpbmRidWdzX2hvbWU9YGNkICIkZmluZGJ1Z3NfaG9tZSIgJiYgcHdkYAotCi1mYl9wYXRoc2VwPSc6JwotCi0jIEhhbmRsZSBjeWd3aW4sIGNvdXJ0ZXN5IG9mIFBldGVyIEQuIFN0b3V0Ci1mYl9vc25hbWU9YHVuYW1lYAotaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPWBjeWdwYXRoIC0tbWl4ZWQgIiRmaW5kYnVnc19ob21lImAKLQlmYl9wYXRoc2VwPSc7JwotZmkKLSMgSGFuZGxlIE1LUywgY291cnRlc3kgb2YgS2VsbHkgTydIYWlyCi1pZiBbICIke2ZiX29zbmFtZX0iID0gIldpbmRvd3NfTlQiIF07IHRoZW4KLQlmYl9wYXRoc2VwPSc7JwotZmkKLQotaWYgWyAhIC1kICIkZmluZGJ1Z3NfaG9tZSIgXTsgdGhlbgotCWVjaG8gIlRoZSBwYXRoICRmaW5kYnVnc19ob21lLCIKLQllY2hvICJ3aGljaCBpcyB3aGVyZSBJIHRoaW5rIEZpbmRCdWdzIGlzIGxvY2F0ZWQsIgotCWVjaG8gImRvZXMgbm90IHNlZW0gdG8gYmUgYSBkaXJlY3RvcnkuIgotCWV4aXQgMQotZmkKLQotIyBDaG9vc2UgZGVmYXVsdCBqYXZhIGJpbmFyeQotZmJfamF2YWNtZD1qYXZhCi1pZiBbICEgLXogIiRKQVZBX0hPTUUiIF0gJiYgWyAteCAiJEpBVkFfSE9NRS9iaW4vamF2YSIgXTsgdGhlbgotCWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JCWZiX2phdmFjbWQ9YGN5Z3BhdGggLS1taXhlZCAiJEpBVkFfSE9NRSJgL2Jpbi9qYXZhCi0JZWxzZQotCQlmYl9qYXZhY21kPSIkSkFWQV9IT01FL2Jpbi9qYXZhIgotCWZpCi1maQotCi1mYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5QcmludEFwcFZlcnNpb24KLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vcHJpbnRDbGFzcyBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9wcmludENsYXNzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwYjc2ODUzLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9wcmludENsYXNzCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLWZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLnZpc2l0Y2xhc3MuUHJpbnRDbGFzcwotCi1mYl9qYXZhY21kPSR7ZmJfamF2YWNtZDotImphdmEifQotZmJfbWF4aGVhcD0ke2ZiX21heGhlYXA6LSItWG14NzY4bSJ9Ci1mYl9hcHBqYXI9JHtmYl9hcHBqYXI6LSIkZmluZGJ1Z3NfaG9tZS9saWIvZmluZGJ1Z3MuamFyIn0KLXNldCAtZgotI2VjaG8gY29tbWFuZDogXAotZXhlYyAiJGZiX2phdmFjbWQiIFwKLQktY2xhc3NwYXRoICIkZmJfYXBwamFyJGZiX3BhdGhzZXAkQ0xBU1NQQVRIIiBcCi0JLURmaW5kYnVncy5ob21lPSIkZmluZGJ1Z3NfaG9tZSJcCi0JJGZiX21heGhlYXAgJGZiX2p2bWFyZ3MgJGZiX21haW5jbGFzcyAke0A6KyIkQCJ9ICRmYl9hcHBhcmdzCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vcmVqYXJGb3JBbmFseXNpcyBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9yZWphckZvckFuYWx5c2lzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAyMDg3N2VlLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2Jpbi9yZWphckZvckFuYWx5c2lzCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLWZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLndvcmtmbG93LlJlamFyQ2xhc3Nlc0ZvckFuYWx5c2lzCi0KLWZiX2phdmFjbWQ9JHtmYl9qYXZhY21kOi0iamF2YSJ9Ci1mYl9tYXhoZWFwPSR7ZmJfbWF4aGVhcDotIi1YbXg3NjhtIn0KLWZiX2FwcGphcj0ke2ZiX2FwcGphcjotIiRmaW5kYnVnc19ob21lL2xpYi9maW5kYnVncy5qYXIifQotc2V0IC1mCi0jZWNobyBjb21tYW5kOiBcCi1leGVjICIkZmJfamF2YWNtZCIgXAotCS1jbGFzc3BhdGggIiRmYl9hcHBqYXIkZmJfcGF0aHNlcCRDTEFTU1BBVEgiIFwKLQktRGZpbmRidWdzLmhvbWU9IiRmaW5kYnVnc19ob21lIlwKLQkkZmJfbWF4aGVhcCAkZmJfanZtYXJncyAkZmJfbWFpbmNsYXNzICR7QDorIiRAIn0gJGZiX2FwcGFyZ3MKLQotIyB2aW06dHM9MwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvYmluL3NldEJ1Z0RhdGFiYXNlSW5mbyBiL3Rvb2xzL2ZpbmRidWdzL2Jpbi9zZXRCdWdEYXRhYmFzZUluZm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGIxZThlYzcuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvYmluL3NldEJ1Z0RhdGFiYXNlSW5mbworKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLSMhIC9iaW4vc2gKLQotcHJvZ3JhbT0iJDAiCi0KLSMgRm9sbG93IHN5bWxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgYWN0dWFsIGZpbGUuCi13aGlsZSBbIC1oICIkcHJvZ3JhbSIgXTsgZG8KLQlsaW5rPWBscyAtbGQgIiRwcm9ncmFtImAKLQlsaW5rPWBleHByICIkbGluayIgOiAnLiotPiBcKC4qXCknYAotCWlmIFsgImBleHByICIkbGluayIgOiAnLy4qJ2AiID0gMCBdOyB0aGVuCi0JCSMgUmVsYXRpdmUKLQkJZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi0JCXByb2dyYW09IiRkaXIvJGxpbmsiCi0JZWxzZQotCQkjIEFic29sdXRlCi0JCXByb2dyYW09IiRsaW5rIgotCWZpCi1kb25lCi0KLSMgQXNzdW1lIGZpbmRidWdzIGhvbWUgZGlyZWN0b3J5IGlzIHRoZSBwYXJlbnQKLSMgb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzY3JpcHQgKHdoaWNoIHNob3VsZAotIyBub3JtYWxseSBiZSAiJGZpbmRidWdzX2hvbWUvYmluIikuCi1kaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLWZpbmRidWdzX2hvbWU9IiRkaXIvLi4iCi0KLSMgSGFuZGxlIEZIUy1jb21wbGlhbnQgaW5zdGFsbGF0aW9ucyAoZS5nLiwgRmluaykKLWlmIFsgLWQgIiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIiBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT0iJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiCi1maQotCi0jIE1ha2UgYWJzb2x1dGUKLWZpbmRidWdzX2hvbWU9YGNkICIkZmluZGJ1Z3NfaG9tZSIgJiYgcHdkYAotCi1mYl9wYXRoc2VwPSc6JwotCi0jIEhhbmRsZSBjeWd3aW4sIGNvdXJ0ZXN5IG9mIFBldGVyIEQuIFN0b3V0Ci1mYl9vc25hbWU9YHVuYW1lYAotaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPWBjeWdwYXRoIC0tbWl4ZWQgIiRmaW5kYnVnc19ob21lImAKLQlmYl9wYXRoc2VwPSc7JwotZmkKLSMgSGFuZGxlIE1LUywgY291cnRlc3kgb2YgS2VsbHkgTydIYWlyCi1pZiBbICIke2ZiX29zbmFtZX0iID0gIldpbmRvd3NfTlQiIF07IHRoZW4KLQlmYl9wYXRoc2VwPSc7JwotZmkKLQotaWYgWyAhIC1kICIkZmluZGJ1Z3NfaG9tZSIgXTsgdGhlbgotCWVjaG8gIlRoZSBwYXRoICRmaW5kYnVnc19ob21lLCIKLQllY2hvICJ3aGljaCBpcyB3aGVyZSBJIHRoaW5rIEZpbmRCdWdzIGlzIGxvY2F0ZWQsIgotCWVjaG8gImRvZXMgbm90IHNlZW0gdG8gYmUgYSBkaXJlY3RvcnkuIgotCWV4aXQgMQotZmkKLQotIyBDaG9vc2UgZGVmYXVsdCBqYXZhIGJpbmFyeQotZmJfamF2YWNtZD1qYXZhCi1pZiBbICEgLXogIiRKQVZBX0hPTUUiIF0gJiYgWyAteCAiJEpBVkFfSE9NRS9iaW4vamF2YSIgXTsgdGhlbgotCWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JCWZiX2phdmFjbWQ9YGN5Z3BhdGggLS1taXhlZCAiJEpBVkFfSE9NRSJgL2Jpbi9qYXZhCi0JZWxzZQotCQlmYl9qYXZhY21kPSIkSkFWQV9IT01FL2Jpbi9qYXZhIgotCWZpCi1maQotCi1mYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5TZXRCdWdEYXRhYmFzZUluZm8KLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4vdW5pb25CdWdzIGIvdG9vbHMvZmluZGJ1Z3MvYmluL3VuaW9uQnVncwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDFkMjEyNi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4vdW5pb25CdWdzCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi0jIERlcHJlY2F0ZWQKLQotIyBDcmVhdGUgdGhlIHVuaW9uIG9mIHR3byByZXN1bHRzIGZpbGVzLCBwcmVzZXJ2aW5nCi0jIGFubm90YXRpb25zIGluIGJvdGggZmlsZXMgaW4gdGhlIHJlc3VsdC4KLQotcHJvZ3JhbT0iJDAiCi0KLSMgRm9sbG93IHN5bWxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgYWN0dWFsIGZpbGUuCi13aGlsZSBbIC1oICIkcHJvZ3JhbSIgXTsgZG8KLQlsaW5rPWBscyAtbGQgIiRwcm9ncmFtImAKLQlsaW5rPWBleHByICIkbGluayIgOiAnLiotPiBcKC4qXCknYAotCWlmIFsgImBleHByICIkbGluayIgOiAnLy4qJ2AiID0gMCBdOyB0aGVuCi0JCSMgUmVsYXRpdmUKLQkJZGlyPWBkaXJuYW1lICIkcHJvZ3JhbSJgCi0JCXByb2dyYW09IiRkaXIvJGxpbmsiCi0JZWxzZQotCQkjIEFic29sdXRlCi0JCXByb2dyYW09IiRsaW5rIgotCWZpCi1kb25lCi0KLSMgQXNzdW1lIGZpbmRidWdzIGhvbWUgZGlyZWN0b3J5IGlzIHRoZSBwYXJlbnQKLSMgb2YgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzY3JpcHQgKHdoaWNoIHNob3VsZAotIyBub3JtYWxseSBiZSAiJGZpbmRidWdzX2hvbWUvYmluIikuCi1kaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLWZpbmRidWdzX2hvbWU9IiRkaXIvLi4iCi0KLSMgSGFuZGxlIEZIUy1jb21wbGlhbnQgaW5zdGFsbGF0aW9ucyAoZS5nLiwgRmluaykKLWlmIFsgLWQgIiRmaW5kYnVnc19ob21lL3NoYXJlL2ZpbmRidWdzIiBdOyB0aGVuCi0JZmluZGJ1Z3NfaG9tZT0iJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiCi1maQotCi0jIE1ha2UgYWJzb2x1dGUKLWZpbmRidWdzX2hvbWU9YGNkICIkZmluZGJ1Z3NfaG9tZSIgJiYgcHdkYAotCi1mYl9wYXRoc2VwPSc6JwotCi0jIEhhbmRsZSBjeWd3aW4sIGNvdXJ0ZXN5IG9mIFBldGVyIEQuIFN0b3V0Ci1mYl9vc25hbWU9YHVuYW1lYAotaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPWBjeWdwYXRoIC0tbWl4ZWQgIiRmaW5kYnVnc19ob21lImAKLQlmYl9wYXRoc2VwPSc7JwotZmkKLSMgSGFuZGxlIE1LUywgY291cnRlc3kgb2YgS2VsbHkgTydIYWlyCi1pZiBbICIke2ZiX29zbmFtZX0iID0gIldpbmRvd3NfTlQiIF07IHRoZW4KLQlmYl9wYXRoc2VwPSc7JwotZmkKLQotaWYgWyAhIC1kICIkZmluZGJ1Z3NfaG9tZSIgXTsgdGhlbgotCWVjaG8gIlRoZSBwYXRoICRmaW5kYnVnc19ob21lLCIKLQllY2hvICJ3aGljaCBpcyB3aGVyZSBJIHRoaW5rIEZpbmRCdWdzIGlzIGxvY2F0ZWQsIgotCWVjaG8gImRvZXMgbm90IHNlZW0gdG8gYmUgYSBkaXJlY3RvcnkuIgotCWV4aXQgMQotZmkKLQotIyBDaG9vc2UgZGVmYXVsdCBqYXZhIGJpbmFyeQotZmJfamF2YWNtZD1qYXZhCi1pZiBbICEgLXogIiRKQVZBX0hPTUUiIF0gJiYgWyAteCAiJEpBVkFfSE9NRS9iaW4vamF2YSIgXTsgdGhlbgotCWlmIFsgYGV4cHIgIiRmYl9vc25hbWUiIDogQ1lHV0lOYCAtbmUgMCBdOyB0aGVuCi0JCWZiX2phdmFjbWQ9YGN5Z3BhdGggLS1taXhlZCAiJEpBVkFfSE9NRSJgL2Jpbi9qYXZhCi0JZWxzZQotCQlmYl9qYXZhY21kPSIkSkFWQV9IT01FL2Jpbi9qYXZhIgotCWZpCi1maQotCi1mYl9tYWluY2xhc3M9ZWR1LnVtZC5jcy5maW5kYnVncy53b3JrZmxvdy5VbmlvblJlc3VsdHMKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9iaW4veHBhdGhGaW5kIGIvdG9vbHMvZmluZGJ1Z3MvYmluL3hwYXRoRmluZApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYzBiZDVlOS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9iaW4veHBhdGhGaW5kCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotIyEgL2Jpbi9zaAotCi1wcm9ncmFtPSIkMCIKLQotIyBGb2xsb3cgc3ltbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSBhY3R1YWwgZmlsZS4KLXdoaWxlIFsgLWggIiRwcm9ncmFtIiBdOyBkbwotCWxpbms9YGxzIC1sZCAiJHByb2dyYW0iYAotCWxpbms9YGV4cHIgIiRsaW5rIiA6ICcuKi0+IFwoLipcKSdgCi0JaWYgWyAiYGV4cHIgIiRsaW5rIiA6ICcvLionYCIgPSAwIF07IHRoZW4KLQkJIyBSZWxhdGl2ZQotCQlkaXI9YGRpcm5hbWUgIiRwcm9ncmFtImAKLQkJcHJvZ3JhbT0iJGRpci8kbGluayIKLQllbHNlCi0JCSMgQWJzb2x1dGUKLQkJcHJvZ3JhbT0iJGxpbmsiCi0JZmkKLWRvbmUKLQotIyBBc3N1bWUgZmluZGJ1Z3MgaG9tZSBkaXJlY3RvcnkgaXMgdGhlIHBhcmVudAotIyBvZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNjcmlwdCAod2hpY2ggc2hvdWxkCi0jIG5vcm1hbGx5IGJlICIkZmluZGJ1Z3NfaG9tZS9iaW4iKS4KLWRpcj1gZGlybmFtZSAiJHByb2dyYW0iYAotZmluZGJ1Z3NfaG9tZT0iJGRpci8uLiIKLQotIyBIYW5kbGUgRkhTLWNvbXBsaWFudCBpbnN0YWxsYXRpb25zIChlLmcuLCBGaW5rKQotaWYgWyAtZCAiJGZpbmRidWdzX2hvbWUvc2hhcmUvZmluZGJ1Z3MiIF07IHRoZW4KLQlmaW5kYnVnc19ob21lPSIkZmluZGJ1Z3NfaG9tZS9zaGFyZS9maW5kYnVncyIKLWZpCi0KLSMgTWFrZSBhYnNvbHV0ZQotZmluZGJ1Z3NfaG9tZT1gY2QgIiRmaW5kYnVnc19ob21lIiAmJiBwd2RgCi0KLWZiX3BhdGhzZXA9JzonCi0KLSMgSGFuZGxlIGN5Z3dpbiwgY291cnRlc3kgb2YgUGV0ZXIgRC4gU3RvdXQKLWZiX29zbmFtZT1gdW5hbWVgCi1pZiBbIGBleHByICIkZmJfb3NuYW1lIiA6IENZR1dJTmAgLW5lIDAgXTsgdGhlbgotCWZpbmRidWdzX2hvbWU9YGN5Z3BhdGggLS1taXhlZCAiJGZpbmRidWdzX2hvbWUiYAotCWZiX3BhdGhzZXA9JzsnCi1maQotIyBIYW5kbGUgTUtTLCBjb3VydGVzeSBvZiBLZWxseSBPJ0hhaXIKLWlmIFsgIiR7ZmJfb3NuYW1lfSIgPSAiV2luZG93c19OVCIgXTsgdGhlbgotCWZiX3BhdGhzZXA9JzsnCi1maQotCi1pZiBbICEgLWQgIiRmaW5kYnVnc19ob21lIiBdOyB0aGVuCi0JZWNobyAiVGhlIHBhdGggJGZpbmRidWdzX2hvbWUsIgotCWVjaG8gIndoaWNoIGlzIHdoZXJlIEkgdGhpbmsgRmluZEJ1Z3MgaXMgbG9jYXRlZCwiCi0JZWNobyAiZG9lcyBub3Qgc2VlbSB0byBiZSBhIGRpcmVjdG9yeS4iCi0JZXhpdCAxCi1maQotCi0jIENob29zZSBkZWZhdWx0IGphdmEgYmluYXJ5Ci1mYl9qYXZhY21kPWphdmEKLWlmIFsgISAteiAiJEpBVkFfSE9NRSIgXSAmJiBbIC14ICIkSkFWQV9IT01FL2Jpbi9qYXZhIiBdOyB0aGVuCi0JaWYgWyBgZXhwciAiJGZiX29zbmFtZSIgOiBDWUdXSU5gIC1uZSAwIF07IHRoZW4KLQkJZmJfamF2YWNtZD1gY3lncGF0aCAtLW1peGVkICIkSkFWQV9IT01FImAvYmluL2phdmEKLQllbHNlCi0JCWZiX2phdmFjbWQ9IiRKQVZBX0hPTUUvYmluL2phdmEiCi0JZmkKLWZpCi0KLWZiX21haW5jbGFzcz1lZHUudW1kLmNzLmZpbmRidWdzLnhtbC5YUGF0aEZpbmQKLQotZmJfamF2YWNtZD0ke2ZiX2phdmFjbWQ6LSJqYXZhIn0KLWZiX21heGhlYXA9JHtmYl9tYXhoZWFwOi0iLVhteDc2OG0ifQotZmJfYXBwamFyPSR7ZmJfYXBwamFyOi0iJGZpbmRidWdzX2hvbWUvbGliL2ZpbmRidWdzLmphciJ9Ci1zZXQgLWYKLSNlY2hvIGNvbW1hbmQ6IFwKLWV4ZWMgIiRmYl9qYXZhY21kIiBcCi0JLWNsYXNzcGF0aCAiJGZiX2FwcGphciRmYl9wYXRoc2VwJENMQVNTUEFUSCIgXAotCS1EZmluZGJ1Z3MuaG9tZT0iJGZpbmRidWdzX2hvbWUiXAotCSRmYl9tYXhoZWFwICRmYl9qdm1hcmdzICRmYl9tYWluY2xhc3MgJHtAOisiJEAifSAkZmJfYXBwYXJncwotCi0jIHZpbTp0cz0zCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvQWRkaW5nRGV0ZWN0b3JzLnR4dCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9BZGRpbmdEZXRlY3RvcnMudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzFlNjkwLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9BZGRpbmdEZXRlY3RvcnMudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjM3ICswLDAgQEAKLUFkZGluZyBEZXRlY3RvcnMgdG8gRmluZEJ1Z3MKLU1heSAxMiwgMjAwMwotVXBkYXRlZCBKdW5lIDYsIDIwMDMgKGRldGVjdG9yIG1ldGEtaW5mb3JtYXRpb24sIGNsZWFudXBzKQotCi09PT09PT09PT09PT09PT0KLTEuIEludHJvZHVjdGlvbgotPT09PT09PT09PT09PT09Ci0KLUZpbmRCdWdzIHVzZXMgYSBwbHVnaW4tYmFzZWQgYXBwcm9hY2ggdG8gYWRkaW5nIGRldGVjdG9ycy4KLVRoaXMgbWFrZXMgaXQgZWFzeSBmb3IgdXNlcnMgdG8gYWRkIHRoZWlyIG93biBkZXRlY3RvcnMgYWxvbmdzaWRlCi10aGUgb25lcyB0aGF0IGNvbWUgYnVpbHQgaW4uCi0KLUJhc2ljIGlkZWE6IEZpbmRCdWdzIGhhcyBzb21lIEphciBmaWxlcyBpbiBhICJwbHVnaW5zIiBkaXJlY3RvcnkuCi1BdCBzdGFydHVwLCBlYWNoIG9mIHRob3NlIGphciBmaWxlcyBpcyBjaGVja2VkIGZvciBhICJmaW5kYnVncy54bWwiCi1maWxlLiAgVGhhdCBYTUwgZmlsZSByZWdpc3RlcnMgaW5zdGFuY2VzIG9mIERldGVjdG9ycywgYXMgd2VsbAotYXMgcGFydGljdWxhciAiYnVnIHBhdHRlcm5zIiB0aGF0IHRoZSBkZXRlY3RvciByZXBvcnRzLgotCi1BZGRpdGlvbmFsbHkgdG8gdGhlIGZpbmRidWdzLnhtbCwgYnVncmFuay50eHQgYW5kIG1lc3NhZ2VzLnhtbCBmaWxlcyBhcmUKLXJlcXVpcmVkIGZvciBlYWNoIEZpbmRCdWdzIGRldGVjdG9yIHBsdWdpbi4KLQotQXQgc3RhcnR1cCwgRmluZEJ1Z3MgbG9hZHMgYWxsIHBsdWdpbiBKYXIgZmlsZXMuICBBdCBhbmFseXNpcyB0aW1lLAotYWxsIGRldGVjdG9ycyBuYW1lZCBpbiB0aGUgZmluZGJ1Z3MueG1sIGZpbGVzIGZyb20gdGhvc2UgcGx1Z2lucwotYXJlIGluc3RhbnRpYXRlZCBhbmQgYXBwbGllZCB0byBhbmFseXplZCBjbGFzcyBmaWxlcy4KLQotSW4gb3JkZXIgdG8gZm9ybWF0IHJlcG9ydGVkIEJ1Z0luc3RhbmNlcyBhcyB0ZXh0IGZvciBkaXNwbGF5LAotYSBtZXNzYWdlcyBmaWxlIGlzIGxvYWRlZCBmcm9tIHRoZSBwbHVnaW4uICBJbiBvcmRlciB0byBzdXBwb3J0IG11bHRpcGxlCi1sYW5ndWFnZSB0cmFuc2xhdGlvbnMsIGEgbG9jYWxlIHNlYXJjaCBpcyBwZXJmb3JtZWQgaW4gYSBtYW5uZXIKLXNpbWlsYXIgdG8gdGhlIGhhbmRsaW5nIG9mIHJlc291cmNlIGJ1bmRsZXMuICBGb3IgZXhhbXBsZSwgaWYgdGhlCi1sb2NhbGUgaXMgInB0X0JSIiwgdGhlbiB0aGUgZmlsZXMKLQotICBtZXNzYWdlc19wdF9CUi54bWwKLSAgbWVzc2FnZXNfcHQueG1sCi0gIG1lc3NhZ2VzLnhtbAotCi1hcmUgdHJpZWQsIGluIHRoYXQgb3JkZXIuCi0KLVRoZSAiZmluZGJ1Z3MueG1sIiBhbmQgIm1lc3NhZ2VzLnhtbCIgZmlsZXMgdXNlZCBieSB0aGUgc3RhbmRhcmQgRmluZEJ1Z3MKLWJ1ZyBwYXR0ZXJuIGRldGVjdG9ycyAoY29yZXBsdWdpbi5qYXIpIGNhbiBiZSBmb3VuZCBpbiB0aGUgImV0YyIgZGlyZWN0b3J5Ci1vZiB0aGUgZmluZGJ1Z3Mgc291cmNlIGRpc3RyaWJ1dGlvbi4gQm90aCBmaWxlcyBtdXN0IGJlIFVURi04IGVuY29kZWQuCi0KLQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PQotMi4gRXhhbXBsZSBmaW5kYnVncy54bWwgZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi08RGV0ZWN0b3JQbHVnaW4+Ci0KLSAgPERldGVjdG9yIGNsYXNzPSJvcmcuZm9vYmFyLmZpbmRidWdzLkZpbmRVbnJlbGVhc2VkTG9ja3MiIHNwZWVkPSJzbG93IiAvPgotICA8RGV0ZWN0b3IgY2xhc3M9Im9yZy5mb29iYXIuZmluZGJ1Z3MuRXhwZXJpbWVudGFsRGV0ZWN0b3IiIHNwZWVkPSJmYXN0IiBkaXNhYmxlZD0idHJ1ZSIgLz4KLQotICA8IS0tIE1vcmUgRGV0ZWN0b3IgZWxlbWVudHMgd291bGQgZ28gaGVyZS4uLiAtLT4KLQotICA8QnVnUGF0dGVybiB0eXBlPSJVQkxfVU5SRUxFQVNFRF9MT0NLIiBhYmJyZXY9IlVMIiBjYXRlZ29yeT0iTVRfQ09SUkVDVE5FU1MiIC8+Ci0KLSAgPCEtLSBNb3JlIEJ1Z1BhdHRlcm4gZWxlbWVudHMgd291bGQgZ28gaGVyZS4uLiAtLT4KLQotPC9EZXRlY3RvclBsdWdpbj4KLQotCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotMy4gTWVhbmluZyBvZiBlbGVtZW50cyBpbiBmaW5kYnVncy54bWwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSAgPERldGVjdG9yUGx1Z2luPiBhIGNvbGxlY3Rpb24gb2YgPERldGVjdG9yPiBhbmQgPEJ1Z1BhdHRlcm4+IGVsZW1lbnRzLgotICBFYWNoIHBsdWdpbiBKYXIgZmlsZSBjYW4gKGFuZCB1c3VhbGx5IHdpbGwpIHByb3ZpZGUgbXVsdGlwbGUgZGV0ZWN0b3JzCi0gIGFuZCBkZWZpbmUgbXVsdGlwbGUgYnVnIHBhdHRlcm5zLgotCi0gIDxEZXRlY3Rvcj4gc3BlY2lmaWVzIGEgY2xhc3Mgd2hpY2ggaW1wbGVtZW50cyB0aGUgZWR1LnVtZC5jcy5maW5kYnVncy5EZXRlY3RvcgotICBpbnRlcmZhY2UgYW5kIGhhcyBhIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIHR5cGUKLSAgZWR1LnVtZC5jcy5maW5kYnVncy5CdWdSZXBvcnRlci4gIFRoaXMgZWxlbWVudCBoYXMgdGhyZWUgcG9zc2libGUgYXR0cmlidXRlczoKLQotICAgIDEuIFRoZSByZXF1aXJlZCAiY2xhc3MiIGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIERldGVjdG9yIGNsYXNzLgotCi0gICAgMi4gVGhlIG9wdGlvbmFsICJkaXNhYmxlZCIgYXR0cmlidXRlLCBpZiBzZXQgdG8gInRydWUiLCBtZWFucwotICAgICAgIHRoYXQgYnkgZGVmYXVsdCwgdGhlIGRldGVjdG9yIHdpbGwgYmUgZGlzYWJsZWQgYXQgcnVudGltZS4KLSAgICAgICBUaGlzIGlzIHVzZWZ1bCBmb3IgZGV0ZWN0b3JzIHRoYXQgYXJlbid0IHF1aXRlIHJlYWR5IGZvciBwcmltZSB0aW1lLgotCi0gICAgMy4gVGhlIHJlcXVpcmVkICJzcGVlZCIgYXR0cmlidXRlIHN1cHBsaWVzIGEgdmFsdWUgdG8gYmUgc2hvd24gaW4gdGhlCi0gICAgICAgIlNldHRpbmdzLT5Db25maWd1cmUgRGV0ZWN0b3JzIiBkaWFsb2cuICBJdCBnaXZlcyB0aGUgdXNlciBhbiBpZGVhIG9mCi0gICAgICAgaG93IGV4cGVuc2l2ZSB0aGUgYW5hbHlzaXMgd2lsbCBiZSB0byBwZXJmb3JtLiAgVGhlIHZhbHVlIG9mIHRoaXMKLSAgICAgICBhdHRyaWJ1dGUgc2hvdWxkIGJlIG9uZSBvZiAiZmFzdCIsICJtb2RlcmF0ZSIsIG9yICJzbG93Ii4KLQotICA8QnVnUGF0dGVybj4gc3BlY2lmaWVzIGEga2luZCBvZiBidWcgdGhhdCB3aWxsIGJlIHJlcG9ydGVkLgotICBJdCBoYXMgdGhyZWUgcmVxdWlyZWQgYXR0cmlidXRlczoKLQotICAgIDEuICJ0eXBlIiBpcyBhIHVuaXF1ZSBjb2RlIGlkZW50aWZ5aW5nIHRoZSBidWcuICBPbmx5IG9uZSBCdWdQYXR0ZXJuCi0gICAgICAgY2FuIGhhdmUgYSBhIHBhcnRpY3VsYXIgdHlwZS4KLQotICAgIDIuICJhYmJyZXYiIGlzIGEgc2hvcnQgYWxwaGFudW1lcmljIGNvZGUgZm9yIHRoZSBidWcuCi0gICAgICAgTm90ZSB0aGF0IG11bHRpcGxlIEJ1Z1BhdHRlcm5zIGNhbiB1c2UgdGhlIHNhbWUgYWJicmV2aWF0aW9uCi0gICAgICAgaWYgdGhleSBhcmUgcmVsYXRlZC4gIChTZWUgdGhlIEJ1Z0NvZGUgZWxlbWVudCBpbiBtZXNzYWdlcy54bWwpLgotCi0gICAgMy4gImNhdGVnb3J5IiBjYW4gYmUgb25lIG9mIGNhdGVnb3JpZXMgZGVmaW5lZCBpbiB0aGUgY29yZSBwbHVnaW4ncyBtZXNzYWdlcy54bWw6Ci0KLSAgICAgICBDT1JSRUNUTkVTUyAtIGNvZGUgdGhhdCB3YXMgcHJvYmFibHkgbm90IHdoYXQgdGhlIGRldmVsb3BlciBpbnRlbmRlZAotICAgICAgIEJBRF9QUkFDVElDRSAtIHZpb2xhdGlvbnMgb2YgcmVjb21tZW5kZWQgYW5kIGVzc2VudGlhbCBjb2RpbmcgcHJhY3RpY2UKLSAgICAgICBTVFlMRSAtIGNvZGUgdGhhdCBpcyBjb25mdXNpbmcsIGFub21hbG91cywgb3Igd3JpdHRlbiBpbiBhIHdheSB0aGF0IHRoYXQgbGVhZHMgaXRzZWxmIHRvIGVycm9ycwotICAgICAgIE1UX0NPUlJFQ1RORVNTIC0gbXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzcyBpc3N1ZXMKLSAgICAgICBNQUxJQ0lPVVNfQ09ERSAtIGEgcG90ZW50aWFsIHZ1bG5lcmFiaWxpdHkgaWYgZXhwb3NlZCB0byBtYWxpY2lvdXMgY29kZQotICAgICAgIFBFUkZPUk1BTkNFIC0gYSBwZXJmb3JtYW5jZSBpc3N1ZQotICAgICAgIEkxOE4gLSBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgbG9jYWxlCi0KLSAgICAgICBvciB5b3UgbWF5IGNyZWF0ZSB5b3VyIG93biBjYXRlZ29yeSwgaW4gd2hpY2ggY2FzZSB5b3Ugc2hvdWxkIGRlZmluZQotICAgICAgIGl0IGluIGEgPEJ1Z0NhdGVnb3J5PiBlbGVtZW50IGluIF95b3VyXyBtZXNzYWdlcy54bWwgZmlsZS4KLQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PQotNC4gRXhhbXBsZSBtZXNzYWdlcy54bWwgZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi08TWVzc2FnZUNvbGxlY3Rpb24+Ci0KLSAgPERldGVjdG9yIGNsYXNzPSJvcmcuZm9vYmFyLmZpbmRidWdzLkZpbmRVbnJlbGVhc2VkTG9ja3MiID4KLSAgICA8RGV0YWlscz4KLSAgICAgIDwhW0NEQVRBWwotICAgICAgICA8cD4gVGhpcyBkZXRlY3RvciBsb29rcyBmb3IgSlNSLTE2NiBsb2NrcyB0aGF0IGFyZSBub3QgcmVsZWFzZWQgb24gYWxsIHBhdGhzCi0gICAgICAgIG91dCBvZiBhIG1ldGhvZC4gIEJlY2F1c2UgaXQgcGVyZm9ybXMgZGF0YWZsb3cgYW5hbHlzaXMsIGl0IGlzIGZhaXJseSBzbG93LgotICAgICAgXV0+Ci0gICAgPC9EZXRhaWxzPgotICA8L0RldGVjdG9yPgotCi0gIDwhLS0gTW9yZSBEZXRlY3RvciBub2RlcyB3b3VsZCBnbyBoZXJlLi4uIC0tPgotCi0gIDxCdWdQYXR0ZXJuIHR5cGU9IlVCTF9VTlJFTEVBU0VEX0xPQ0siPgotICAgIDxTaG9ydERlc2NyaXB0aW9uPkxvY2sgbm90IHJlbGVhc2VkIG9uIGFsbCBwYXRocyBvdXQgb2YgbWV0aG9kPC9TaG9ydERlc2NyaXB0aW9uPgotCi0gICAgPExvbmdEZXNjcmlwdGlvbj57MX0gZG9lcyBub3QgcmVsZWFzZSBsb2NrIG9uIGFsbCBwYXRocyBvdXQgb2YgbWV0aG9kPC9Mb25nRGVzY3JpcHRpb24+Ci0KLSAgICA8RGV0YWlscz4KLSAgICAgIDwhW0NEQVRBWwotICAgICAgICA8cD4gQSBKU1ItMTY2IGxvY2sgYWNxdWlyZWQgaW4gdGhpcyBtZXRob2QgaXMgbm90IHJlbGVhc2VkIG9uIGFsbCBwYXRocwotICAgICAgICBvdXQgb2YgdGhlIG1ldGhvZC4gVGhpcyBjb3VsZCByZXN1bHQgaW4gYSBkZWFkbG9jayBpZiBhbm90aGVyIHRocmVhZAotICAgICAgICB0cmllcyB0byBhY3F1aXJlIHRoZSBsb2NrLiAgR2VuZXJhbGx5LCB5b3Ugc2hvdWxkIHVzZSBhIGZpbmFsbHkKLSAgICAgICAgYmxvY2sgdG8gZW5zdXJlIHRoYXQgYWNxdWlyZWQgbG9ja3MgYXJlIGFsd2F5cyByZWxlYXNlZC4KLSAgICAgIF1dPgotICAgIDwvRGV0YWlscz4KLSAgPC9CdWdQYXR0ZXJuPgotCi0gIDwhLS0gTW9yZSBCdWdQYXR0ZXJuIG5vZGVzIHdvdWxkIGdvIGhlcmUuLi4gLS0+Ci0KLSAgPEJ1Z0NvZGUgYWJicmV2PSJVTCI+VW5yZWxlYXNlZCBsb2NrczwvQnVnQ29kZT4KLQotICA8IS0tIE1vcmUgQnVnQ29kZSBub2RlcyB3b3VsZCBnbyBoZXJlLi4uIC0tPgotCi08L01lc3NhZ2VDb2xsZWN0aW9uPgotCi0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci01LiBNZWFuaW5nIG9mIGVsZW1lbnRzIGluIG1lc3NhZ2VzLnhtbAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotICA8TWVzc2FnZUNvbGxlY3Rpb24+IGlzIHRoZSB0b3AgbGV2ZWwgZWxlbWVudAotCi0gIDxCdWdDYXRlZ29yeT4gZWxlbWVudHMgb3B0aW9uYWxseSBkZXNjcmliZSBhbnkgY2F0ZWdvcmllcyB5b3UKLSAgbWF5IGhhdmUgY3JlYXRlZCBmb3IgeW91ciBidWcgcGF0dGVybnMuIFlvdSBjYW4gc2tpcCB0aGVzZSBpZgotICB5b3UgYXJlIHVzaW5nIG9ubHkgdGhlIGNhdGVnb3JpZXMgZGVmaW5lZCBieSB0aGUgY29yZSBwbHVnaW4uCi0KLSAgICBUaGUgPERlc2NyaXB0aW9uPiBjaGlsZCBlbGVtZW50IGhhcyBhIGJyaWVmIChhIHdvcmQgb3IgdGhyZWUpCi0gICAgZGVzY3JpcHRpb24gb2YgdGhlIGNhdGVnb3J5LiBUaGUgPEFiYnJldmlhdGlvbj4gY2hpbGQgZWxlbWVudAotICAgIGlzIHR5cGljYWxseSBhIHNpbmdsZSBjYXBpdGFsIGxhdHRlci4gVGhlIG9wdGlvbmFsIDxEZXRhaWxzPgotICAgIGNoaWxkIGVsZW1lbnQgbWF5IGRlc2NyaWJlIGl0IGluIG1vcmUgZGV0YWlsIChidXQgbm8gbWFya3VwKS4KLQotICA8RGV0ZWN0b3I+IGhvbGRzIG1ldGEtaW5mb3JtYXRpb24gYWJvdXQgYSBEZXRlY3RvciBpbiB0aGUgcGx1Z2luLgotICBUaGUgcmVxdWlyZWQgImNsYXNzIiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBEZXRlY3RvciBjbGFzcy4KLSAgRGV0ZWN0b3IgZWxlbWVudHMgbXVjaCBoYXZlIHRoZSBmb2xsb3dpbmcgY2hpbGQgZWxlbWVudHM6Ci0KLSAgICBUaGUgPERldGFpbHM+IGNoaWxkIGVsZW1lbnQgaGFzIGEgYnJpZWYgSFRNTCBkZXNjcmlwdGlvbiBvZiB0aGUgRGV0ZWN0b3IuCi0gICAgSXQgc2hvdWxkIGhhdmUgSFRNTCBtYXJrdXAgdGhhdCB3b3VsZCBiZSB2YWxpZCBpbiBhIEJPRFkgZWxlbWVudC4KLSAgICBJdCBzaG91bGQgYmUgc3BlY2lmaWVkIGluIGEgQ0RBVEEgc2VjdGlvbiBzbyB0aGF0IHRoZSBIVE1MCi0gICAgdGFncyBhcmUgbm90IG1pc2ludGVycHJldGVkIGFzIFhNTC4KLQotICA8QnVnUGF0dGVybj4gaG9sZHMgYWxsIG9mIHRoZSBodW1hbi1yZWFkYWJsZSBtZXNzYWdlcyBmb3IgdGhlIGJ1ZyBwYXR0ZXJuCi0gIGlkZW50aWZpZWQgYnkgdGhlICJ0eXBlIiBhdHRyaWJ1dGUuICBUaGUgdHlwZSBjb3JyZXNwb25kcyB0byB0aGUKLSAgdHlwZSBhdHRyaWJ1dGUgb2YgdGhlIEJ1Z1BhdHRlcm4gZWxlbWVudHMgZGVzY3JpYmVkIGluIGZpbmRidWdzLnhtbC4KLSAgQnVnUGF0dGVybiBlbGVtZW50cyBtdXN0IGhhdmUgdGhlIGZvbGxvd2luZyBjaGlsZCBlbGVtZW50czoKLQotICAgIDxTaG9ydERlc2NyaXB0aW9uPiB0aGlzIGlzIHVzZWQgZm9yIHdoZW4gIlZpZXctPkZ1bGwgRGVzY3JpcHRpb25zIgotICAgIGlzIHR1cm5lZCBvZmYgaW4gdGhlIEdVSSwgYW5kIGl0J3MgYWxzbyB1c2VkIGFzIHRoZSB0aXRsZSBmb3IKLSAgICBkZXNjcmlwdGlvbnMgaW4gdGhlIERldGFpbHMgd2luZG93LgotCi0gICAgPExvbmdEZXNjcmlwdGlvbj4gdGhpcyBpcyB1c2VkIGZvciB3aGVuICJWaWV3LT5GdWxsIERlc2NyaXB0aW9ucyIKLSAgICBpcyB0dXJuZWQgb24gaW4gdGhlIEdVSSwgYW5kIGZvciBvdXRwdXQgdXNpbmcgdGhlIGNvbW1hbmQgbGluZSBVSS4KLSAgICBUaGUgcGxhY2Vob2xkZXJzIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uICh7MH0sIHsxfSwgZXRjLikKLSAgICByZWZlciB0byBCdWdBbm5vdGF0aW9ucyBhdHRhY2hlZCB0byB0aGUgQnVnSW5zdGFuY2VzIHJlcG9ydGVkIGJ5Ci0gICAgdGhlIGRldGVjdG9yIGZvciB0aGlzIGJ1ZyBwYXR0ZXJuLiBZb3UgbWF5IGFsc28gdXNlIGNvbnN0cnVjdHMKLSAgICBsaWtlIHsxLm5hbWV9IG9yIHsxLnJldHVyblR5cGV9LgotCi0gICAgPERldGFpbHM+IHRoaXMgaXMgdGhlIGRlc2NyaXB0aXZlIHRleHQgdG8gYmUgdXNlZCBpbiB0aGUgRGV0YWlscwotICAgIHdpbmRvdy4gIEl0IGNvbnNpc3RzIG9mIEhUTUwgbWFya3VwIHRvIGFwcGVhciBpbiB0aGUgQk9EWSBlbGVtZW50IG9mIGFuIEhUTUwKLSAgICBkb2N1bWVudC4gIEl0IHNob3VsZCBiZSBzcGVjaWZpZWQgaW4gYSBDREFUQSBzZWN0aW9uIHNvIHRoYXQgdGhlIEhUTUwKLSAgICB0YWdzIGFyZSBub3QgbWlzaW50ZXJwcmV0ZWQgYXMgWE1MLgotCi0gICAgPEJ1Z0NvZGU+IGlzIHRoZSB0ZXh0IHdoaWNoIGRlc2NyaWJlcyB0aGUgY29tbW9uIGNoYXJhY3RlcmlzdGljIG9mIGFsbAotICAgIG9mIHRoZSBCdWdQYXR0ZXJucyB3aGljaCBzaGFyZSBhbiBhYmJyZXZpYXRpb24uICBJbiB0aGUgZXhhbXBsZSBhYm92ZSwKLSAgICB0aGUgYWJicmV2aWF0aW9uICJVTCIgaXMgZm9yIGJ1Z3MgaW4gd2hpY2ggYSBsb2NrIGlzIG5vdCByZWxlYXNlZC4KLSAgICBUaGUgdGV4dCBvZiBhIEJ1Z0NvZGUgZWxlbWVudCBpcyBzaG93biBmb3IgdHJlZSBub2RlcyBpbiB0aGUgR1VJCi0gICAgd2hpY2ggZ3JvdXAgYnVnIGluc3RhbmNlcyBieSAiYnVnIHR5cGUiLgotCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotNi4gTWVhbmluZyBvZiBlbGVtZW50cyBpbiBidWdyYW5rLnR4dAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotRm9yIHRoZSBkZXRhaWxlZCBhbmQgdXAgdG8gZGF0ZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlYWQgdGhlIGphdmFkb2Mgb2YgdGhlCi1lZHUudW1kLmNzLmZpbmRidWdzLkJ1Z1JhbmtlciBjbGFzcy4KLQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLTcuIFVzaW5nIDNyZCBwYXJ0eSBsaWJyYXJpZXMgaW4gdGhlIGRldGVjdG9yCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1GaW5kQnVncyBwbHVnaW5zIG1heSBleHRlbmQgdGhlIGRlZmF1bHQgRmluZEJ1Z3MgY2xhc3NwYXRoIGFuZCB1c2UgY3VzdG9tIDNyZCBwYXJ0eQotbGlicmFyaWVzIGR1cmluZyB0aGUgYW5hbHlzaXMuIFRoaXMgbGlicmFyaWVzIG11c3QgYmUgcGFydCBvZiBzdGFuZGFyZCBqYXIgY2xhc3MgcGF0aAotc3BlY2lmaWVkIHZpYSAiQ2xhc3NQYXRoIiBhdHRyaWJ1dGUgaW4gdGhlIE1FVEEtSU5GL01BTklGRVNULk1GIGZpbGUuCi0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci04LiBBZGRpbmcgZGV0ZWN0b3JzIHRvIEVjbGlwc2UgcGx1Z2luCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1TaW5jZSB2ZXJzaW9uIDIuMC4wIEVjbGlwc2UgcGx1Z2luIGFsbG93cyB0byBjb25maWd1cmUgb3IgY29udHJpYnV0ZSBjdXN0b20gZGV0ZWN0b3JzLgotCi03LjEuIEl0IGlzIHBvc3NpYmxlIHRvIGNvbnRyaWJ1dGUgY3VzdG9tIGRldGVjdG9ycyB2aWEgc3RhbmRhcmQgRWNsaXBzZSBleHRlbnNpb25zIG1lY2hhbmlzbS4KLVBsZWFzZSBjaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgImZpbmRCdWdzRWNsaXBzZVBsdWdpbi9zY2hlbWEvZGV0ZWN0b3JQbHVnaW5zLmV4c2QiCi1leHRlbnNpb24gcG9pbnQgaG93IHRvIHVwZGF0ZSB0aGUgcGx1Z2luLnhtbC4gRXhpc3RpbmcgRmluZEJ1Z3MgZGV0ZWN0b3IgcGx1Z2lucyBjYW4KLWJlIGVhc2lseSAiZXh0ZW5kZWQiIHRvIGJlIGZ1bGwgZmVhdHVyZWQgRmluZEJ1Z3MgJiBFY2xpcHNlIGRldGVjdG9yIHBsdWdpbnMuCi1Vc3VhbGx5IHlvdSBvbmx5IG5lZWQgdG8gYWRkIE1FVEEtSU5GL01BTklGRVNULk1GIGFuZCBwbHVnaW4ueG1sIHRvIHRoZSBqYXIgYW5kCi11cGRhdGUgeW91ciBidWlsZCBzY3JpcHRzIHRvIG5vdCB0byBvdmVycmlkZSB0aGUgTUFOSUZFU1QuTUYgZHVyaW5nIHRoZSBidWlsZC4KLQotNy4yIEl0IGlzIHBvc3NpYmxlIHRvIGNvbmZpZ3VyZSBjdXN0b20gZGV0ZWN0b3JzIHZpYSBFY2xpcHNlIHdvcmtzcGFjZSBwcmVmZXJlbmNlcy4KLUdvIHRvICJXaW5kb3ctPlByZWZlcmVuY2VzLT5KYXZhLT5GaW5kQnVncy0+TWlzYy4gU2V0dGluZ3MtPkN1c3RvbSBEZXRlY3RvcnMiCi1hbmQgc3BlY2lmeSB0aGVyZSBsb2NhdGlvbnMgb2YgYW55IGFkZGl0aW9uYWwgcGx1Z2luIGxpYnJhcmllcy4KLQotNy4zIFBsdWdpbnMgY29udHJpYnV0ZWQgdmlhIHN0YW5kYXJkIEVjbGlwc2UgZXh0ZW5zaW9ucyBtZWNoYW5pc20gKHNlZSA3LjEpCi1tYXkgZXh0ZW5kIHRoZSBkZWZhdWx0IEZpbmRCdWdzIGNsYXNzcGF0aCBhbmQgdXNlIGN1c3RvbSBsaWJyYXJpZXMgZHVyaW5nIHRoZSBhbmFseXNpcy4KLVRoaXMgbGlicmFyaWVzIG11c3QgYmUgcGFydCBvZiBzdGFuZGFyZCBFY2xpcHNlIHBsdWdpbiBkZXBlbmRlbmNpZXMgc3BlY2lmaWVkIHZpYQotZWl0aGVyICJSZXF1aXJlLUJ1bmRsZSIgb3IgIkJ1bmRsZS1DbGFzc1BhdGgiIGF0dHJpYnV0ZXMgaW4gdGhlIE1BTklGRVNULk1GIGZpbGUuCi1JbiBjYXNlIGN1c3RvbSBkZXRlY3RvcnMgbmVlZCBhY2Nlc3MgdG8gdGhpcyBjdXN0b20gbGlicmFyaWVzIGF0IHJ1bnRpbWUsIGFuCi1leHRyYSBsaW5lIG11c3QgYmUgYWRkZWQgdG8gdGhlIE1BTklGRVNULk1GICh3aXRob3V0IHF1b3RhdGlvbiBtYXJrcyk6Ci0iRWNsaXBzZS1SZWdpc3RlckJ1ZGR5OiBlZHUudW1kLmNzLmZpbmRidWdzLnBsdWdpbi5lY2xpcHNlIi4KLQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL0NoYW5nZXMuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9DaGFuZ2VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxYjQ1NTEuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL0NoYW5nZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4MTAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkZpbmRCdWdzIENoYW5nZSBMb2c8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iZmluZGJ1Z3MuY3NzIj4KLQotPC9oZWFkPgotCi08Ym9keT4KLQotCTx0YWJsZSB3aWR0aD0iMTAwJSI+Ci0JCTx0cj4KLQotCQkJCi08dGQgYmdjb2xvcj0iI2I5YjlmZSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiB3aWR0aD0iMjAlIj4gCi08dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiPiAKLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1bWRGaW5kYnVncy5wbmciIGFsdD0iRmluZEJ1Z3MiPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5Eb2NzIGFuZCBJbmZvPC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmluZGJ1Z3MyLmh0bWwiPkZpbmRCdWdzIDIuMDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkZW1vLmh0bWwiPkRlbW8gYW5kIGRhdGE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idXNlcnMuaHRtbCI+VXNlcnMgYW5kIHN1cHBvcnRlcnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmJsb2dzcG90LmNvbS8iPkZpbmRCdWdzIGJsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmFjdFNoZWV0Lmh0bWwiPkZhY3Qgc2hlZXQ8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJqYS9tYW51YWwvaW5kZXguaHRtbCI+TWFudWFsKGphLyYjMjYwODU7JiMyNjQxMjsmIzM1NDg2Oyk8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iRkFRLmh0bWwiPkZBUTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJidWdEZXNjcmlwdGlvbnMuaHRtbCI+QnVnIGRlc2NyaXB0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsaW5nTGlzdHMuaHRtbCI+TWFpbGluZyBsaXN0czwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJwdWJsaWNhdGlvbnMuaHRtbCI+RG9jdW1lbnRzIGFuZCBQdWJsaWNhdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibGlua3MuaHRtbCI+TGlua3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkb3dubG9hZHMuaHRtbCI+PGI+RG93bmxvYWRzPC9iPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3d3dy5jYWZlc2hvcHMuY29tL2ZpbmRidWdzIj48Yj5GaW5kQnVncyBTd2FnPC9iPjwvYT48L3RkPjwvdHI+Ci0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRldmVsb3BtZW50PC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD05NjQwNSI+T3BlbiBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InJlcG9ydGluZ0J1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iY29udHJpYnV0aW5nLmh0bWwiPkNvbnRyaWJ1dGluZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ0ZWFtLmh0bWwiPkRldiB0ZWFtPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9pbmRleC5odG1sIj5BUEk8L2E+IDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvb3ZlcnZpZXctc3VtbWFyeS5odG1sIj5bbm8gZnJhbWVzXTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJDaGFuZ2VzLmh0bWwiPkNoYW5nZSBsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9maW5kYnVncyI+U0YgcHJvamVjdCBwYWdlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlLyI+QnJvd3NlIHNvdXJjZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2xpc3QiPkxhdGVzdCBjb2RlIGNoYW5nZXM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08L3RhYmxlPiAKLTwvdGQ+Ci0KLQkJCTx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgotCi0KLQkJCQk8aDE+RmluZEJ1Z3MgQ2hhbmdlIExvZywgVmVyc2lvbiAyLjAuMzwvaDE+Ci0JCQkJPHVsPgotCQkJCQk8bGk+TmV3IEJ1ZyBwYXR0ZXJuczogPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRE1fQk9YRURfUFJJTUlUSVZFX0ZPUl9QQVJTSU5HIj5ETV9CT1hFRF9QUklNSVRJVkVfRk9SX1BBUlNJTkc8L2E+LAotCQkJCQkJPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjTlBfTUVUSE9EX1JFVFVSTl9SRUxBWElOR19BTk5PVEFUSU9OIj5OUF9NRVRIT0RfUkVUVVJOX1JFTEFYSU5HX0FOTk9UQVRJT048L2E+LAotCQkJCQkJYW5kIAotCQkJCQkJPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjTlBfTUVUSE9EX1BBUkFNRVRFUl9USUdIVEVOU19BTk5PVEFUSU9OIj5OUF9NRVRIT0RfUEFSQU1FVEVSX1RJR0hURU5TX0FOTk9UQVRJT048L2E+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5BZGQgdGhlIGFiaWxpdHkgaW4gdGhlIEdVSSB0byBzYXZlIHRoZSBjdXJyZW50bHkgdmlld2FibGUvZmlsdGVyZWQgYnVncyB0byBIVE1MIG91dHB1dC4KLQkJCQkJPGxpPldoZW4gZGF0YWZsb3cgZG9lcyd0IHRlcm1pbmF0ZSwgbWFrZSBzdXJlIHdlIGNvbnRpbnVlIHdpdGgKLQkJCQkJCWFuYWx5c2lzLgotCQkJCQkKLQkJCQkJPGxpPkZpeCBzb21lIHByb2JsZW1zIHRoYXQgcmVzdWx0aW5nIGluIGRhdGFmbG93IGFuYWx5c2lzIG5vdAotCQkJCQkJdGVybWluYXRpbmcKLQkJCQkJCi0JCQkJCTxsaT5HZXQgcGFyYW1ldGVyIGFubm90YXRpb25zIGZyb20gZGVmYXVsdCBwYXJhbWV0ZXJzCi0JCQkJCQlhbm5vdGF0aW9ucyBhcHBsaWVkIHRvIHRoZSBtZXRob2QuCi0JCQkJCTxsaT5BZGQgc3VidmVyc2lvbiBjaGFuZ2UgbnVtYmVyIHRvIGVjbGlwc2UgcGx1Z2luIHF1YWxpZmllci4KLQkJCQkJCi0JCQkJCTxsaT5EaXNhYmxlZCBkZXRlY3RvciBmb3IgPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjQU1fQ1JFQVRFU19FTVBUWV9KQVJfRklMRV9FTlRSWSI+QU1fQ1JFQVRFU19FTVBUWV9KQVJfRklMRV9FTlRSWTwvYT47Ci0JCQkJCQlpdCBjb21wbGFpbnRzIGluYXBwcm9wcmlhdGVseSBhYm91dCBjb2RlIHRoYXQgY3JlYXRlcyBkaXJlY3RvcnkKLQkJCQkJCWVudHJpZXMuCi0JCQkJCQotCQkJCQk8bGk+QWRkIHdhcm5pbmdzIGFib3V0IGluY29tcGF0aWJsZSB0eXBlcyBwYXNzZWQgdG8KLQkJCQkJCW9yZy50ZXN0bmcuQXNzZXJ0LmFzc2VydEVxdWFsczwvbGk+Ci0JCQkJCTxsaT5BZGQgbG9naWMgdGhhdCB1bmRlcnN0YW5kcyBtb3JlIG9mIHRoZSBHb29nbGUgR3VhdmEgQVBJcy4KLQkJCQkJPGxpPkRpc2FibGUgdHlwZSBxdWFsaWZpZXIgdmFsaWRhdG9yIGV4ZWN1dGlvbiB3aXRoaW4gRWNsaXBzZSBwbHVnaW47IAotCQkJCQkJdG9vIG1hbnkgcHJvYmxlbXMgd2l0aCBjbGFzcyBsb2FkaW5nIGFuZCBzZWN1cml0eSBtYW5hZ2VyIChzZWUgIzExNTQgUmFuZG9tIG9ic2N1cmUgRWNsaXBzZSBmYWlsdXJlcykKLQkJCQkJPGxpPkNvbnNpc3RlbnRseSBjaGVjayBib3RoIGFjY2VzcyBmbGFncyBhbmQgYXR0cmlidXRlcyB0byBzZWUgaWYgc29tZXRoaW5nIGlzIHN5bnRoZXRpYy4gQ29tcGlsZXIgaXMgCi0JCQkJCWluY29uc2lzdGVudCBhYm91dCB3aGVyZSBzeW50aGV0aWMgZWxlbWVudHMgYXJlIG1hcmtlZC4gCi0JCQkJCQotCQkJCTxsaT5GaXhlZCBmYWxzZSBwb3NpdGl2ZXMgZm9yIHRoZSBmb2xsb3dpbmcgYnVnIHBhdHRlcm5zICgxNwotCQkJCQkJb2NjdXJyZW5jZXMgaW4gZmluZGJ1Z3NUZXN0Q2FzZXMpOgotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0JDIj5CQzwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNCQ19JTVBPU1NJQkxFX0lOU1RBTkNFT0YiPkJDX0lNUE9TU0lCTEVfSU5TVEFOQ0VPRjwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNCQ19VTkNPTkZJUk1FRF9DQVNUIj5CQ19VTkNPTkZJUk1FRF9DQVNUPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0VDX1VOUkVMQVRFRF9UWVBFUyI+RUNfVU5SRUxBVEVEX1RZUEVTPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0lOVF9CQURfQ09NUEFSSVNPTl9XSVRIX05PTk5FR0FUSVZFX1ZBTFVFIj5JTlRfQkFEX0NPTVBBUklTT05fV0lUSF9OT05ORUdBVElWRV9WQUxVRTwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNJUzJfSU5DT05TSVNURU5UX1NZTkMiPklTMl9JTkNPTlNJU1RFTlRfU1lOQzwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNOUF9OVUxMX1BBUkFNX0RFUkVGX0FMTF9UQVJHRVRTX0RBTkdFUk9VUyI+TlBfTlVMTF9QQVJBTV9ERVJFRl9BTExfVEFSR0VUU19EQU5HRVJPVVM8L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjT0JMX1VOU0FUSVNGSUVEX09CTElHQVRJT04iPk9CTF9VTlNBVElTRklFRF9PQkxJR0FUSU9OPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1JDTl9SRURVTkRBTlRfTlVMTENIRUNLX09GX05VTExfVkFMVUUiPlJDTl9SRURVTkRBTlRfTlVMTENIRUNLX09GX05VTExfVkFMVUU8L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjU0FfRklFTERfU0VMRl9DT01QQVJJU09OIj5TQV9GSUVMRF9TRUxGX0NPTVBBUklTT048L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjVFFfVU5LTk9XTl9WQUxVRV9VU0VEX1dIRVJFX0FMV0FZU19TVFJJQ1RMWV9SRVFVSVJFRCI+VFFfVU5LTk9XTl9WQUxVRV9VU0VEX1dIRVJFX0FMV0FZU19TVFJJQ1RMWV9SRVFVSVJFRDwvYT4KLQkJCQkJCQk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPGxpPkZpeGVkIGZhbHNlIG5lZ2F0aXZlcyBmb3IgdGhlIGZvbGxvd2luZyBidWcgcGF0dGVybnMgKDQ1Ci0JCQkJCQlvY2N1cnJlbmNlcyBpbiBmaW5kYnVnc1Rlc3RDYXNlcyk6Ci0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjQkNfVU5DT05GSVJNRURfQ0FTVCI+QkNfVU5DT05GSVJNRURfQ0FTVDwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNETV9OVU1CRVJfQ1RPUiI+RE1fTlVNQkVSX0NUT1I8L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRUNfQVJSQVlfQU5EX05PTkFSUkFZIj5FQ19BUlJBWV9BTkRfTk9OQVJSQVk8L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRUNfSU5DT01QQVRJQkxFX0FSUkFZX0NPTVBBUkUiPkVDX0lOQ09NUEFUSUJMRV9BUlJBWV9DT01QQVJFPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0VDX1VOUkVMQVRFRF9UWVBFUyI+RUNfVU5SRUxBVEVEX1RZUEVTPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0dDX1VOUkVMQVRFRF9UWVBFUyI+R0NfVU5SRUxBVEVEX1RZUEVTPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0lTX0ZJRUxEX05PVF9HVUFSREVEIj5JU19GSUVMRF9OT1RfR1VBUkRFRDwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNJVF9OT19TVUNIX0VMRU1FTlQiPklUX05PX1NVQ0hfRUxFTUVOVDwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNKQ0lQX0ZJRUxEX0lTTlRfRklOQUxfSU5fSU1NVVRBQkxFX0NMQVNTIj5KQ0lQX0ZJRUxEX0lTTlRfRklOQUxfSU5fSU1NVVRBQkxFX0NMQVNTPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI05QX05VTExfT05fU09NRV9QQVRIIj5OUF9OVUxMX09OX1NPTUVfUEFUSDwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNOUF9OT05OVUxMX1BBUkFNX1ZJT0xBVElPTiI+TlBfTk9OTlVMTF9QQVJBTV9WSU9MQVRJT048L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjTlBfTlVMTF9PTl9TT01FX1BBVEhfRlJPTV9SRVRVUk5fVkFMVUUiPk5QX05VTExfT05fU09NRV9QQVRIX0ZST01fUkVUVVJOX1ZBTFVFPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI05QX1BBUkFNRVRFUl9NVVNUX0JFX05PTk5VTExfQlVUX01BUktFRF9BU19OVUxMQUJMRSI+TlBfUEFSQU1FVEVSX01VU1RfQkVfTk9OTlVMTF9CVVRfTUFSS0VEX0FTX05VTExBQkxFPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI05QX1NUT1JFX0lOVE9fTk9OTlVMTF9GSUVMRCI+TlBfU1RPUkVfSU5UT19OT05OVUxMX0ZJRUxEPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1JFX1BPU1NJQkxFX1VOSU5URU5ERURfUEFUVEVSTiI+UkVfUE9TU0lCTEVfVU5JTlRFTkRFRF9QQVRURVJOPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1NBX0ZJRUxEX1NFTEZfQ09NUEFSSVNPTiI+U0FfRklFTERfU0VMRl9DT01QQVJJU09OPC9hPgotCQkJCQkJPC91bD4KLQkJCQk8L3VsPgotCQkJCTxoMT5GaW5kQnVncyBDaGFuZ2UgTG9nLCBWZXJzaW9uIDIuMC4yPC9oMT4KLQkJCQkKLQkJCQk8dWw+Ci0JCQkJCTxsaT5GaXggZmFsc2UgcG9zaXRpb25zIGZvciA8YQotCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNOUF9OT05OVUxMX0ZJRUxEX05PVF9JTklUSUFMSVpFRF9JTl9DT05TVFJVQ1RPUiI+TlBfTk9OTlVMTF9GSUVMRF9OT1RfSU5JVElBTElaRURfSU5fQ09OU1RSVUNUT1I8L2E+Ci0JCQkJCQktIGZpeGluZyA8YQotCQkJCQkJaHJlZj0iaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/ZnVuYz1kZXRhaWwmYWlkPTM1NDc1NTkmZ3JvdXBfaWQ9OTY0MDUmYXRpZD02MTQ2OTMiPkJ1ZzM1NDc1NTk8L2E+LAotCQkJCQkJPGEKLQkJCQkJCWhyZWY9Imh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2Z1bmM9ZGV0YWlsJmFpZD0zNTU1NDA4Jmdyb3VwX2lkPTk2NDA1JmF0aWQ9NjE0NjkzIj5CdWczNTU1NDA4PC9hPiwKLQkJCQkJCTxhCi0JCQkJCQlocmVmPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9mdW5jPWRldGFpbCZhaWQ9MzU4MDI2NiZncm91cF9pZD05NjQwNSZhdGlkPTYxNDY5MyI+QnVnMzU4MDI2NjwvYT4KLQkJCQkJCWFuZCA8YQotCQkJCQkJaHJlZj0iaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/ZnVuYz1kZXRhaWwmYWlkPTM1ODcxNjQmZ3JvdXBfaWQ9OTY0MDUmYXRpZD02MTQ2OTMiPkJ1ZzM1ODcxNjQ8L2E+LgotCi0KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkZpeCBmYWxzZSBwb3NpdGl2ZXMgZm9yIDxhCi0JCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1NGX1NXSVRDSF9OT19ERUZBVUxUIj5TRl9TV0lUQ0hfTk9fREVGQVVMVDwvYT4KLQkJCQkJPGxpPklubGluZSBhY2Nlc3MgbWV0aG9kcyBmb3IgcHJpdmF0ZSBmaWVsZHMsCi0gICAgICAgICAgICAgICAgICAgIGZpeGluZyBmYWxzZSBwb3NpdGl2ZSBpbiAgPGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2Z1bmM9ZGV0YWlsJmFpZD0zNDg0NzEzJmdyb3VwX2lkPTk2NDA1JmF0aWQ9NjE0NjkzIj5CdWczNDg0NzEzPC9hPi4KLSAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICA8bGk+VHlwZSBxdWFsaWZpZXIgYW5ub3RhdGlvbnMsIGluY2x1ZGluZyBudWxsbmVzcwotCQkJCQkJYW5ub3RhdGlvbnMsIGFyZSBub3cgaWdub3JlZCBvbiB2YXJhcmcgcGFyYW1ldGVycyAoaW5jbHVkaW5nCi0JCQkJCQlkZWZhdWx0IGFuZCBpbmhlcml0ZWQgYW5ub3RhdGlvbnMpLCBhd2FpdGluZyBKU1IzMDguCi0JCQkJCTxsaT5EZWZpbmVkIG5ldyBidWcgcGF0dGVybiB0byBnaXZlIGJldHRlciBleHBsYW5hdGlvbnMgb2YKLQkJCQkJCWlzc3VlcyBpbnZvbHZpbmcgc3RyaWN0IHR5cGUgcXVhbGlmaWVycyA8YQotCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNUUV9VTktOT1dOX1ZBTFVFX1VTRURfV0hFUkVfQUxXQVlTX1NUUklDVExZX1JFUVVJUkVEIj5UUV9VTktOT1dOX1ZBTFVFX1VTRURfV0hFUkVfQUxXQVlTX1NUUklDVExZX1JFUVVJUkVEPC9hPgotCQkJCQk8bGk+QWRqdXN0ZWQgYW5hbHlzaXMgb2YgdHlwZSBxdWFsaWZpZXJzLCBub3cgZ2l2aW5nIHdhcm5pbmdzCi0JCQkJCQl3aGVyZSBhIGNvbXB1dGVkIHZhbHVlIGlzIHVzZWQgaW4gYSBwbGFjZSB3aGVyZSBhIHZhbHVlIHdpdGggYQotCQkJCQkJc3RyaWN0IHR5cGUgcXVhbGlmaWVyIGlzIHJlcXVpcmVkLgotCQkJCQk8bGk+Q29tcGxhaW4gYWJvdXQgbWlzc2luZyBjbGFzc2VzIG9ubHkgaWYgdGhleSBhcmUKLQkJCQkJCWVuY291bnRlcmVkIHdoaWxlIGFuYWx5emluZyBhcHBsaWNhdGlvbiBjbGFzc2VzOyBpZ25vcmUgbWlzc2luZwotCQkJCQkJY2xhc3NlcyB0aGF0IGFyZSBlbmNvdW50ZWQgd2hpbGUgYW5hbHl6aW5nIGNsYXNzZXMgbG9hZGVkIGZyb20gdGhlCi0JCQkJCQlhdXhjbGFzc3BhdGguIEZpeCBmb3IgPGEKLQkJCQkJCWhyZWY9Imh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2Z1bmM9ZGV0YWlsJmFpZD0zNTg4Mzc5Jmdyb3VwX2lkPTk2NDA1JmF0aWQ9NjE0NjkzIj5CdWczNTg4Mzc5PC9hPgotCQkJCQk8bGk+Rml4ZWQgZmFsc2UgcG9zaXRpdmUgbnVsbCBwb2ludGVyIHdhcm5pbmcgY29taW5nIGZyb20KLQkJCQkJCXN5bnRoZXRpYyBicmlkZ2UgbWV0aG9kcywgZml4aW5nIDxhCi0JCQkJCQlocmVmPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9mdW5jPWRldGFpbCZhaWQ9MzU4OTMyOCZncm91cF9pZD05NjQwNSZhdGlkPTYxNDY5MyI+QnVnMzU4OTMyODwvYT4KLQkJCQkJPGxpPkluIGdlbmVyYWwsIHN1cHByZXNzIHdhcm5pbmdzIGluIHN5bnRoZXRpYyBtZXRob2RzLgotCQkJCQk8bGk+Rml4IHNvbWUgZmFsc2UgcG9zaXRpdmVzIGludm9sdmluZyA8YQotCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNHQ19VTlJFTEFURURfVFlQRVMiPkdDX1VOUkVMQVRFRF9UWVBFUzwvYT4KLQkJCQkJCW9uIGNsYXNzZXMgdGhhdCBleHRlbmQgZ2VuZXJpYyBjb2xsZWN0aW9uIGNsYXNzZXMuCi0gICAgICAgICAgICAgICAgICAgICAgIAotCQkJCQk8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+Q29tYmluZSBtdWx0aXBsZSBpZGVudGljYWwgd2FybmluZ3MgYWJvdXQgCi0gICAgICAgICAgICAgICAgICAgICA8YQotICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNETV9ERUZBVUxUX0VOQ09ESU5HIj5ETV9ERUZBVUxUX0VOQ09ESU5HPC9hPgotICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgb2NjdXIgaW4gdGhlIHNhbWUgbWV0aG9kLAotICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeWluZyBpc3N1ZSB0cmlhZ2UuCi0gICAgICAgICAgICAgICAgICAgIAotCQkJCQk8bGk+Q2hhbmdlcyBieSBBbmRyZXkgTG9za3V0b3YKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+Zml4ZWQgam9iIHNjaGVkdWxpbmcgZXJyb3JzIGluIDMuOC80LjIgRWNsaXBzZSA8YQotCQkJCQkJCQlocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9MzkzNzQ4Ij5idWcKLQkJCQkJCQkJCXJlcG9ydDwvYT4KLQkJCQkJCQk8bGk+bW9yZSByZWFsaXN0aWMgcHJvZ3Jlc3MgYmFyIHVwZGF0ZXMgZm9yIGpvYnMKLQkJCQkJCQk8bGk+YWRkZWQgbnVsbG5lc3MgYW5ub3RhdGlvbnMgZm9yIHNvbWUgY29tbW9uIEVjbGlwc2UgQVBJCi0JCQkJCQkJCW1ldGhvZHMga25vd24gdG8gdXN1YWxseSByZXR1cm4gbnVsbCB2YWx1ZXMKLQkJCQkJCQk8bGk+QWRkZWQgc3VwcG9ydCBmb3Igb3JnLmVjbGlwc2UuamR0LmFubm90YXRpb24uTnVsbGFibGUsCi0JCQkJCQkJCU5vbk51bGwgYW5kIE5vbk51bGxCeURlZmF1bHQgYW5ub3RhdGlvbnMgKGludHJvZHVjZWQgd2l0aAotCQkJCQkJCQlFY2xpcHNlIDMuOC80LjIpPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTxsaT5Eb2N1bWVudGF0aW9uIGltcHJvdmVtZW50cwotCQkJCQk8bGk+PGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9saXN0Ij5sb3RzCi0JCQkJCQkJb2Ygb3RoZXIgc21hbGwgY2hhbmdlczwvYT4KLQkJCQk8L3VsPgotCQkJCTxoMT5GaW5kQnVncyBDaGFuZ2UgTG9nLCBWZXJzaW9uIDIuMC4xPC9oMT4KLQotCQkJCTx1bD4KLQkJCQkJPGxpPk5ldyBidWcgcGF0dGVybnM7IGluIHNvbWUgY2FzZXMsIGJ1Z3MgcHJldmlvdXMgcmVwb3J0ZWQgYXMKLQkJCQkJCW90aGVyIGJ1ZyBwYXR0ZXJucyBhcmUgcmVwb3J0ZWQgYXMgaW5zdGFuY2VzIG9mIHRoZXNlIG5ldyBidWcKLQkJCQkJCXBhdHRlcm5zIGluIG9yZGVyIHRvIG1ha2UgaXQgZWFzaWVyIGZvciBkZXZlbG9wZXJzIHRvIHVuZGVyc3RhbmQKLQkJCQkJCXRoZSBidWcgcmVwb3J0cwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1BUX0FCU09MVVRFX1BBVEhfVFJBVkVSU0FMIj5QVF9BQlNPTFVURV9QQVRIX1RSQVZFUlNBTDwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1BUX1JFTEFUSVZFX1BBVEhfVFJBVkVSU0FMIj5QVF9SRUxBVElWRV9QQVRIX1RSQVZFUlNBTDwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI05QX05PTk5VTExfRklFTERfTk9UX0lOSVRJQUxJWkVEX0lOX0NPTlNUUlVDVE9SIj5OUF9OT05OVUxMX0ZJRUxEX05PVF9JTklUSUFMSVpFRF9JTl9DT05TVFJVQ1RPUjwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI01TX1NIT1VMRF9CRV9SRUZBQ1RPUkVEX1RPX0JFX0ZJTkFMIj5NU19TSE9VTERfQkVfUkVGQUNUT1JFRF9UT19CRV9GSU5BTDwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0JDX1VOQ09ORklSTUVEX0NBU1RfT0ZfUkVUVVJOX1ZBTFVFIj5CQ19VTkNPTkZJUk1FRF9DQVNUX09GX1JFVFVSTl9WQUxVRTwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1BUX0FCU09MVVRFX1BBVEhfVFJBVkVSU0FMIj5QVF9BQlNPTFVURV9QQVRIX1RSQVZFUlNBTDwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1RRX0NPTVBBUklOR19WQUxVRVNfV0lUSF9JTkNPTVBBVElCTEVfVFlQRV9RVUFMSUZJRVJTIj5UUV9DT01QQVJJTkdfVkFMVUVTX1dJVEhfSU5DT01QQVRJQkxFX1RZUEVfUVVBTElGSUVSUzwvYT48L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQotCQkJCQk8bGk+Q2hhbmdlcyB0byBmaXggZmFsc2UgbmVnYXRpdmVzIGZvciB0aGUgZm9sbG93aW5nIGJ1ZwotCQkJCQkJcGF0dGVybnM6IDxhCi0JCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0JDX1VOQ09ORklSTUVEX0NBU1QiPkJDX1VOQ09ORklSTUVEX0NBU1Q8L2E+LAotCQkJCQkJPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRUNfQkFEX0FSUkFZX0NPTVBBUkUiPkVDX0JBRF9BUlJBWV9DT01QQVJFPC9hPiwKLQkJCQkJCTxhCi0JCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0VRX1VOVVNVQUwiPkVRX1VOVVNVQUw8L2E+LAotCQkJCQkJPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjR0NfVU5SRUxBVEVEX1RZUEVTIj5HQ19VTlJFTEFURURfVFlQRVM8L2E+LAotCQkJCQkJYW5kIDxhCi0JCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI05QX1BBUkFNRVRFUl9NVVNUX0JFX05PTk5VTExfQlVUX01BUktFRF9BU19OVUxMQUJMRSI+TlBfUEFSQU1FVEVSX01VU1RfQkVfTk9OTlVMTF9CVVRfTUFSS0VEX0FTX05VTExBQkxFPC9hPi4KLQkJCQkJPC9saT4KLQotCQkJCQk8bGk+Q2hhbmdlcyB0byBmaXggZmFsc2UgcG9zaXRpb25zIGZvciB0aGUgZm9sbG93aW5nIGJ1ZwotCQkJCQkJcGF0dGVybnM6IDxhCi0JCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0RNSV9ET0giPkRNSV9ET0g8L2E+LAotCQkJCQkJPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRUNfVU5SRUxBVEVEX1RZUEVTIj5FQ19VTlJFTEFURURfVFlQRVM8L2E+LAotCQkJCQkJYW5kIDxhCi0JCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1NFX0JBRF9GSUVMRCI+U0VfQkFEX0ZJRUxEPC9hPi4KLQkJCQkJPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPGgxPkZpbmRCdWdzIENoYW5nZSBMb2csIFZlcnNpb24gMi4wLjA8L2gxPgotCi0JCQkJPGgyPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAxLjMuODwvaDI+Ci0JCQkJPHVsPgotCQkJCQk8bGk+TmV3IGJ1ZyBwYXR0ZXJuczsgaW4gc29tZSBjYXNlcywgYnVncyBwcmV2aW91cyByZXBvcnRlZCBhcwotCQkJCQkJb3RoZXIgYnVnIHBhdHRlcm5zIGFyZSByZXBvcnRlZCBhcyBpbnN0YW5jZXMgb2YgdGhlc2UgbmV3IGJ1ZwotCQkJCQkJcGF0dGVybnMgaW4gb3JkZXIgdG8gbWFrZSBpdCBlYXNpZXIgZm9yIGRldmVsb3BlcnMgdG8gdW5kZXJzdGFuZAotCQkJCQkJdGhlIGJ1ZyByZXBvcnRzCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjQkNfSU1QT1NTSUJMRV9ET1dOQ0FTVCAiPkJDX0lNUE9TU0lCTEVfRE9XTkNBU1QKLQkJCQkJCQk8L2E+PC9saT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNCQ19JTVBPU1NJQkxFX0RPV05DQVNUX09GX1RPQVJSQVkgIj5CQ19JTVBPU1NJQkxFX0RPV05DQVNUX09GX1RPQVJSQVkKLQkJCQkJCQk8L2E+PC9saT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNFQ19JTkNPTVBBVElCTEVfQVJSQVlfQ09NUEFSRSAiPkVDX0lOQ09NUEFUSUJMRV9BUlJBWV9DT01QQVJFCi0JCQkJCQkJPC9hPjwvbGk+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjSkxNX0pTUjE2Nl9VVElMQ09OQ1VSUkVOVF9NT05JVE9SRU5URVIgIj5KTE1fSlNSMTY2X1VUSUxDT05DVVJSRU5UX01PTklUT1JFTlRFUgotCQkJCQkJCTwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0xHX0xPU1RfTE9HR0VSX0RVRV9UT19XRUFLX1JFRkVSRU5DRSAiPkxHX0xPU1RfTE9HR0VSX0RVRV9UT19XRUFLX1JFRkVSRU5DRQotCQkJCQkJCTwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI05QX0NMT1NJTkdfTlVMTCAiPk5QX0NMT1NJTkdfTlVMTAotCQkJCQkJCTwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1JDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRSAiPlJDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRQotCQkJCQkJCTwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1JDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRV9CT09MRUFOICI+UkNfUkVGX0NPTVBBUklTT05fQkFEX1BSQUNUSUNFX0JPT0xFQU4KLQkJCQkJCQk8L2E+PC9saT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNSVl9SRVRVUk5fVkFMVUVfT0ZfUFVUSUZBQlNFTlRfSUdOT1JFRCAiPlJWX1JFVFVSTl9WQUxVRV9PRl9QVVRJRkFCU0VOVF9JR05PUkVECi0JCQkJCQkJPC9hPjwvbGk+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjU0lDX1RIUkVBRExPQ0FMX0RFQURMWV9FTUJSQUNFICI+U0lDX1RIUkVBRExPQ0FMX0RFQURMWV9FTUJSQUNFCi0JCQkJCQkJPC9hPjwvbGk+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjVVJfVU5JTklUX1JFQURfQ0FMTEVEX0ZST01fU1VQRVJfQ09OU1RSVUNUT1IgIj5VUl9VTklOSVRfUkVBRF9DQUxMRURfRlJPTV9TVVBFUl9DT05TVFJVQ1RPUgotCQkJCQkJCTwvYT48L2xpPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1ZBX0ZPUk1BVF9TVFJJTkdfRVhQRUNURURfTUVTU0FHRV9GT1JNQVRfU1VQUExJRUQgIj5WQV9GT1JNQVRfU1RSSU5HX0VYUEVDVEVEX01FU1NBR0VfRk9STUFUX1NVUFBMSUVECi0JCQkJCQkJPC9hPjwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+UHJvdmlkaW5nIGEgYnVnIHJhbmsgKDEtMjApLCBhbmQgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIGJ5Ci0JCQkJCQlidWcgcmFuay4gRXZlbnR1YWxseSwgaXQgd2lsbCBiZSBwb3NzaWJsZSB0byBzcGVjaWZ5IHlvdXIgb3duCi0JCQkJCQlydWxlcyBmb3IgcmFua2luZyBidWdzLCBidXQgdGhlIHByb2NlZHVyZSBmb3IgZG9pbmcgc28gaGFzbid0IGJlZW4KLQkJCQkJCXNwZWNpZmllZCB5ZXQuPC9saT4KLQkJCQkJPGxpPkZpeGVkIGFib3V0IDxhCi0JCQkJCQlocmVmPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9zZWFyY2gvaW5kZXgucGhwP2dyb3VwX2lkPTk2NDA1JnNlYXJjaF9zdW1tYXJ5PTEmc2VhcmNoX2RldGFpbHM9MSZ0eXBlX29mX3NlYXJjaD1hcnRpZmFjdCZncm91cF9hcnRpZmFjdF9pZCU1QiU1RD02MTQ2OTMmb3Blbl9kYXRlX3N0YXJ0PTIwMDktMDMtMTYmb3Blbl9kYXRlX2VuZD0yMDA5LTA4LTIwJmZvcm1fc3VibWl0PVNlYXJjaCI+NDUKLQkJCQkJCQlidWdzIGZpbGVkPC9hPiB0aHJvdWdoIFNvdXJjZUZvcmdlCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5WYXJpb3VzIHJlY2xhc3NpZmljYXRpb25zIGFuZCBwcmlvcml0eSB0d2Vha3M8L2xpPgotCQkJCQk8bGk+QWRkZWQgbW9yZSBidWcgYW5ub3RhdGlvbnMgdG8gYSB2YXJpZXR5IG9mIGJ1ZyByZXBvcnRzLgotCQkJCQkJVGhpcyBwcm92aWRlcyBtb3JlIGNvbnRleHQgZm9yIHVuZGVyc3RhbmRpbmcgYnVnIHJlcG9ydHMgKGUuZy4sIGlmCi0JCQkJCQl0aGUgdmFsdWUgaW4gcXVlc3Rpb24gd2FzIGlzIHRoZSByZXR1cm4gdmFsdWUgb2YgYSBtZXRob2QsIHRoZQotCQkJCQkJbWV0aG9kIGlzIGRlc2NyaWJlZCBhcyB0aGUgc291cmNlIG9mIHRoZSB2YWx1ZSBpbiBhIGJ1ZwotCQkJCQkJYW5ub3RhdGlvbikuIFRoaXMgYWxzbyBwcm92aWRlIG1vcmUgYWNjdXJhdGUgdHJhY2tpbmcgb2YgaXNzdWVzCi0JCQkJCQlhY3Jvc3MgdmVyc2lvbnMgb2YgdGhlIGNvZGUgYmVpbmcgYW5hbHl6ZWQsIGJ1dCBoYXMgdGhlIGRvd25zaWRlCi0JCQkJCQl0aGF0IHdoZW4gY29tcGFyaW5nIHJlc3VsdHMgZnJvbSBGaW5kQnVncyAxLjMuOCBhbmQgRmluZEJ1Z3MgMS4zLjkKLQkJCQkJCW9uIHRoZSBzYW1lIHZlcnNpb24gb2YgY29kZSBiZWluZyBhbmFseXplZCwgRmluZEJ1Z3MgbWF5IHRoaW5rCi0JCQkJCQl0aGF0IG1pc3Rha2VubHkgYmVsaWV2ZSB0aGF0IHRoZSBpc3N1ZSByZXBvcnRlZCBieSAxLjMuOCB3YXMgZml4ZWQKLQkJCQkJCWFuZCBhIG5ldyBpc3N1ZSB3YXMgaW50cm9kdWNlZCB0aGF0IHdhcyByZXBvcnRlZCBieSBGaW5kQnVncwotCQkJCQkJMS4zLjkuIFdoaWxlIGFubm95aW5nLCBpdCB3b3VsZCBiZSB1bnVzdWFsIGZvciBtb3JlIHRoYW4gYSBkb3plbgotCQkJCQkJaXNzdWVzIHBlciBtaWxsaW9uIGxpbmVzIG9mIGNvZGVzIHRvIGJlIG1pc3RyYWNrZWQuPC9saT4KLQkJCQkJPGxpPkxvdHMgb2YgaW50ZXJuYWwgY2hhbmdlcyBtb3ZpbmcgdG93YXJkcyBGaW5kQnVncyAyLjAsIGJ1dAotCQkJCQkJdGhlc2UgZmVhdHVyZXMgYXJlIHVuZG9jdW1lbnRlZCwgbm90IHlldCBvZmZpY2lhbGx5IHN1cHBvcnRlZCwgYW5kCi0JCQkJCQlzdWJqZWN0IHRvIHJhZGljYWwgY2hhbmdlcyBiZWZvcmUgRmluZEJ1Z3MgMi4wIGlzIHJlbGVhc2VkLjwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAxLjMuODwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5OZXcgYnVnIHBhdHRlcm5zOyBpbiBzb21lIGNhc2VzLCBidWdzIHByZXZpb3VzIHJlcG9ydGVkIGFzCi0JCQkJCQlvdGhlciBidWcgcGF0dGVybnMgYXJlIHJlcG9ydGVkIGFzIGluc3RhbmNlcyBvZiB0aGVzZSBuZXcgYnVnCi0JCQkJCQlwYXR0ZXJucyBpbiBvcmRlciB0byBtYWtlIGl0IGVhc2llciBmb3IgZGV2ZWxvcGVycyB0byB1bmRlcnN0YW5kCi0JCQkJCQl0aGUgYnVnIHJlcG9ydHMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNCQ19JTVBPU1NJQkxFX0RPV05DQVNUICI+QkNfSU1QT1NTSUJMRV9ET1dOQ0FTVAotCQkJCQkJCTwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNCQ19JTVBPU1NJQkxFX0RPV05DQVNUX09GX1RPQVJSQVkgIj5CQ19JTVBPU1NJQkxFX0RPV05DQVNUX09GX1RPQVJSQVkKLQkJCQkJCQk8L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRUNfSU5DT01QQVRJQkxFX0FSUkFZX0NPTVBBUkUgIj5FQ19JTkNPTVBBVElCTEVfQVJSQVlfQ09NUEFSRQotCQkJCQkJCTwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNKTE1fSlNSMTY2X1VUSUxDT05DVVJSRU5UX01PTklUT1JFTlRFUiAiPkpMTV9KU1IxNjZfVVRJTENPTkNVUlJFTlRfTU9OSVRPUkVOVEVSCi0JCQkJCQkJPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0xHX0xPU1RfTE9HR0VSX0RVRV9UT19XRUFLX1JFRkVSRU5DRSAiPkxHX0xPU1RfTE9HR0VSX0RVRV9UT19XRUFLX1JFRkVSRU5DRQotCQkJCQkJCTwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNOUF9DTE9TSU5HX05VTEwgIj5OUF9DTE9TSU5HX05VTEwKLQkJCQkJCQk8L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjUkNfUkVGX0NPTVBBUklTT05fQkFEX1BSQUNUSUNFICI+UkNfUkVGX0NPTVBBUklTT05fQkFEX1BSQUNUSUNFCi0JCQkJCQkJPC9hPgotCQkJCQkJCTxsaT48YQotCQkJCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1JDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRV9CT09MRUFOICI+UkNfUkVGX0NPTVBBUklTT05fQkFEX1BSQUNUSUNFX0JPT0xFQU4KLQkJCQkJCQk8L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjUlZfUkVUVVJOX1ZBTFVFX09GX1BVVElGQUJTRU5UX0lHTk9SRUQgIj5SVl9SRVRVUk5fVkFMVUVfT0ZfUFVUSUZBQlNFTlRfSUdOT1JFRAotCQkJCQkJCTwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNTSUNfVEhSRUFETE9DQUxfREVBRExZX0VNQlJBQ0UgIj5TSUNfVEhSRUFETE9DQUxfREVBRExZX0VNQlJBQ0UKLQkJCQkJCQk8L2E+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjVVJfVU5JTklUX1JFQURfQ0FMTEVEX0ZST01fU1VQRVJfQ09OU1RSVUNUT1IgIj5VUl9VTklOSVRfUkVBRF9DQUxMRURfRlJPTV9TVVBFUl9DT05TVFJVQ1RPUgotCQkJCQkJCTwvYT4KLQkJCQkJCQk8bGk+PGEKLQkJCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNWQV9GT1JNQVRfU1RSSU5HX0VYUEVDVEVEX01FU1NBR0VfRk9STUFUX1NVUFBMSUVEICI+VkFfRk9STUFUX1NUUklOR19FWFBFQ1RFRF9NRVNTQUdFX0ZPUk1BVF9TVVBQTElFRAotCQkJCQkJCTwvYT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5Qcm92aWRpbmcgYSBidWcgcmFuayAoMS0yMCksIGFuZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkKLQkJCQkJCWJ1ZyByYW5rLiBFdmVudHVhbGx5LCBpdCB3aWxsIGJlIHBvc3NpYmxlIHRvIHNwZWNpZnkgeW91ciBvd24KLQkJCQkJCXJ1bGVzIGZvciByYW5raW5nIGJ1Z3MsIGJ1dCB0aGUgcHJvY2VkdXJlIGZvciBkb2luZyBzbyBoYXNuJ3QgYmVlbgotCQkJCQkJc3BlY2lmaWVkIHlldC48L2xpPgotCQkJCQk8bGk+Rml4ZWQgYWJvdXQgPGEKLQkJCQkJCWhyZWY9Imh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3NlYXJjaC9pbmRleC5waHA/Z3JvdXBfaWQ9OTY0MDUmc2VhcmNoX3N1bW1hcnk9MSZzZWFyY2hfZGV0YWlscz0xJnR5cGVfb2Zfc2VhcmNoPWFydGlmYWN0Jmdyb3VwX2FydGlmYWN0X2lkJTVCJTVEPTYxNDY5MyZvcGVuX2RhdGVfc3RhcnQ9MjAwOS0wMy0xNiZvcGVuX2RhdGVfZW5kPTIwMDktMDgtMjAmZm9ybV9zdWJtaXQ9U2VhcmNoIj40NQotCQkJCQkJCWJ1Z3MgZmlsZWQ8L2E+IHRocm91Z2ggU291cmNlRm9yZ2UKLQkJCQkJPC9saT4KLQkJCQkJPGxpPlZhcmlvdXMgcmVjbGFzc2lmaWNhdGlvbnMgYW5kIHByaW9yaXR5IHR3ZWFrczwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBtb3JlIGJ1ZyBhbm5vdGF0aW9ucyB0byBhIHZhcmlldHkgb2YgYnVnIHJlcG9ydHMuCi0JCQkJCQlUaGlzIHByb3ZpZGVzIG1vcmUgY29udGV4dCBmb3IgdW5kZXJzdGFuZGluZyBidWcgcmVwb3J0cyAoZS5nLiwgaWYKLQkJCQkJCXRoZSB2YWx1ZSBpbiBxdWVzdGlvbiB3YXMgaXMgdGhlIHJldHVybiB2YWx1ZSBvZiBhIG1ldGhvZCwgdGhlCi0JCQkJCQltZXRob2QgaXMgZGVzY3JpYmVkIGFzIHRoZSBzb3VyY2Ugb2YgdGhlIHZhbHVlIGluIGEgYnVnCi0JCQkJCQlhbm5vdGF0aW9uKS4gVGhpcyBhbHNvIHByb3ZpZGUgbW9yZSBhY2N1cmF0ZSB0cmFja2luZyBvZiBpc3N1ZXMKLQkJCQkJCWFjcm9zcyB2ZXJzaW9ucyBvZiB0aGUgY29kZSBiZWluZyBhbmFseXplZCwgYnV0IGhhcyB0aGUgZG93bnNpZGUKLQkJCQkJCXRoYXQgd2hlbiBjb21wYXJpbmcgcmVzdWx0cyBmcm9tIEZpbmRCdWdzIDEuMy44IGFuZCBGaW5kQnVncyAxLjMuOQotCQkJCQkJb24gdGhlIHNhbWUgdmVyc2lvbiBvZiBjb2RlIGJlaW5nIGFuYWx5emVkLCBGaW5kQnVncyBtYXkgdGhpbmsKLQkJCQkJCXRoYXQgbWlzdGFrZW5seSBiZWxpZXZlIHRoYXQgdGhlIGlzc3VlIHJlcG9ydGVkIGJ5IDEuMy44IHdhcyBmaXhlZAotCQkJCQkJYW5kIGEgbmV3IGlzc3VlIHdhcyBpbnRyb2R1Y2VkIHRoYXQgd2FzIHJlcG9ydGVkIGJ5IEZpbmRCdWdzCi0JCQkJCQkxLjMuOS4gV2hpbGUgYW5ub3lpbmcsIGl0IHdvdWxkIGJlIHVudXN1YWwgZm9yIG1vcmUgdGhhbiBhIGRvemVuCi0JCQkJCQlpc3N1ZXMgcGVyIG1pbGxpb24gbGluZXMgb2YgY29kZXMgdG8gYmUgbWlzdHJhY2tlZC48L2xpPgotCQkJCQk8bGk+TG90cyBvZiBpbnRlcm5hbCBjaGFuZ2VzIG1vdmluZyB0b3dhcmRzIEZpbmRCdWdzIDIuMCwgYnV0Ci0JCQkJCQl0aGVzZSBmZWF0dXJlcyBhcmUgdW5kb2N1bWVudGVkLCBub3QgeWV0IG9mZmljaWFsbHkgc3VwcG9ydGVkLCBhbmQKLQkJCQkJCXN1YmplY3QgdG8gcmFkaWNhbCBjaGFuZ2VzIGJlZm9yZSBGaW5kQnVncyAyLjAgaXMgcmVsZWFzZWQuPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDEuMy43PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPlByaW1hcmlseSBhbm90aGVyIHNtYWxsIGJ1Z2ZpeCByZWxlYXNlLjwvbGk+Ci0JCQkJCTxsaT5GaW5kQnVncyBiYXNlOgotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5OZXcgUmVwb3J0czoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPlNGX1NXSVRDSF9OT19ERUZBVUxUOiBtaXNzaW5nIGRlZmF1bHQgY2FzZSBpbiBzd2l0Y2gKLQkJCQkJCQkJCQlzdGF0ZW1lbnQuPC9saT4KLQkJCQkJCQkJCTxsaT5TRl9ERUFEX1NUT1JFX0RVRV9UT19TV0lUQ0hfRkFMTFRIUk9VR0hfVE9fVEhST1c6Ci0JCQkJCQkJCQkJdmFsdWUgaWdub3JlZCB3aGVuIHN3aXRjaCBmYWxsdGhyb3VnaCBsZWFkcyB0byB0aHJvd24KLQkJCQkJCQkJCQlleGNlcHRpb24uPC9saT4KLQkJCQkJCQkJCTxsaT5JTlRfVkFDVU9VU19CSVRfT1BFUkFUSU9OOiBiaXQgb3BlcmF0aW9ucyB0aGF0IGRvbid0Ci0JCQkJCQkJCQkJZG8gYW55IG1lYW5pbmdmdWwgd29yay48L2xpPgotCQkJCQkJCQkJPGxpPkZCX1VORVhQRUNURURfV0FSTklORzogd2FybmluZyBnZW5lcmF0ZWQgdGhhdAotCQkJCQkJCQkJCWNvbmZsaWN0cyB3aXRoIEBOb1dhcm5pbmcgRmluZEJ1Z3MgYW5ub3RhdGlvbi48L2xpPgotCQkJCQkJCQkJPGxpPkZCX01JU1NJTkdfRVhQRUNURURfV0FSTklORzogd2FybmluZyBub3QgZ2VuZXJhdGVkCi0JCQkJCQkJCQkJZGVzcGl0ZSBwcmVzZW5jZSBvZiBARXhwZWN0ZWRXYXJuaW5nIEZpbmRCdWdzIGFubm90YXRpb24uPC9saT4KLQkJCQkJCQkJCTxsaT5OT0lTRSBjYXRlZ29yeTogaW50ZW5kZWQgZm9yIHVzZSBpbiBkYXRhIG1pbmluZwotCQkJCQkJCQkJCWV4cGVyaW1lbnRzLgotCQkJCQkJCQkJCTx1bD4KLQkJCQkJCQkJCQkJPGxpPk5PSVNFX05VTExfREVSRUZFUkVOQ0U6IGZha2UgbnVsbCBwb2ludCBkZXJlZmVyZW5jZQotCQkJCQkJCQkJCQkJd2FybmluZy48L2xpPgotCQkJCQkJCQkJCQk8bGk+Tk9JU0VfTUVUSE9EX0NBTEw6IGZha2UgbWV0aG9kIGNhbGwgd2FybmluZy48L2xpPgotCQkJCQkJCQkJCQk8bGk+Tk9JU0VfRklFTERfUkVGRVJFTkNFOiBmYWtlIGZpZWxkIGRlcmVmZXJlbmNlCi0JCQkJCQkJCQkJCQl3YXJuaW5nLjwvbGk+Ci0JCQkJCQkJCQkJCTxsaT5OT0lTRV9PUEVSQVRJT046IGZha2Ugb3BlcmF0aW9uIHdhcm5pbmcuPC9saT4KLQkJCQkJCQkJCQk8L3VsPgotCQkJCQkJCQkJPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5PdGhlcjoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPkdhcnZpbiBMZWNsYWlyZSBoYXMgY3JlYXRlZCBhIG5ldyBBcGFjaGUgTWF2ZW4KLQkJCQkJCQkJCQlyZXBvc2l0b3J5IGZvciBGaW5kQnVncyBhdCA8YQotCQkJCQkJCQkJCWhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy8iPnRoZSBHb29nbGUgQ29kZQotCQkJCQkJCQkJCQlGaW5kQnVncyBTVk4gcmVwb3NpdG9yeTwvYT4uIChUaGFua3MgR2FydmluISkKLQkJCQkJCQkJCTwvbGk+Ci0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+Rml4ZXM6Ci0JCQkJCQkJCTx1bD4KLQkJCQkJCQkJCTxsaT5bIDIzMTc4NDIgXSBIaWdobGlnaHRpbmcgYnJva2VuIGluIFdpbmRvd3M8L2xpPgotCQkJCQkJCQkJPGxpPlsgMjUxNTkwOCBdIGNoZWNrIGZvciBvZGRuZXNzIHNob3VsZCB0cmFjayBzaWduIG9mCi0JCQkJCQkJCQkJYXJndW1lbnQ8L2xpPgotCQkJCQkJCQkJPGxpPlsgMjQ4NzkzNiBdICZxdW90O0wgQiBHQyZxdW90OyBmYWxzZSBwb3MgY2FzdCBmcm9tCi0JCQkJCQkJCQkJTWFwLkVudHJ5LmdldEtleSgpIHRvIE1hcC5nZXQoKTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAyNTI4MjY0IF0gQW50IHRhc2tzIG5vdCBjb21wYXRpYmxlIHdpdGggQW50IDEuNy4xPC9saT4KLQkJCQkJCQkJCTxsaT5bIDI1Mzk1OTAgXSBTRl9TV0lUQ0hfRkFMTFRIUk9VR0ggd3JvbmcgbWVzc2FnZQotCQkJCQkJCQkJCXJlcG9ydGVkPC9saT4KLQkJCQkJCQkJCTxsaT5bIDIwMjAwNjYgXSBCdWcgaGlzdG9yeSBkaXNwbGF5ZWQgaW4gZmFuY3ktaGlzdC54c2wgaXMKLQkJCQkJCQkJCQlpbmNvcnJlY3Q8L2xpPgotCQkJCQkJCQkJPGxpPlsgMjU0NTA5OCBdIEludmFsaWQgY2hhcmFjdGVyIGluIGFuYWx5c2lzIHJlc3VsdHMgZmlsZTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAyNDkyNjczIF0gUGx1Z2luIHNpdGVzIHNob3VsZCBzcGVjaWZ5ICZxdW90O3JlcXVpcmVzCi0JCQkJCQkJCQkJRWNsaXBzZSAzLjMgb3IgbmV3ZXImcXVvdDs8L2xpPgotCQkJCQkJCQkJPGxpPlsgMjU4ODA0NCBdIGEgdGlueSB0eXBpbmcgZXJyb3I8L2xpPgotCQkJCQkJCQkJPGxpPlsgMjU4OTA0OCBdIERvY3VtZW50YXRpb24gZm9yIGNvbnZlcnRYbWxUb1RleHQKLQkJCQkJCQkJCQlpbnN1ZmZpY2llbnQ8L2xpPgotCQkJCQkJCQkJPGxpPlsgMjYzODczOSBdIE51bGxQb2ludGVyRXhjZXB0aW9uIHdoZW4gYnVpbGRpbmc8L2xpPgotCQkJCQkJCQk8L3VsPgotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPlBhdGNoZXM6Ci0JCQkJCQkJCTx1bD4KLQkJCQkJCQkJCTxsaT5bIDI1MzgxODQgXSBNYWtlIEJ1Z0NvbGxlY3Rpb24gaW1wbGVtZW50Ci0JCQkJCQkJCQkJSXRlcmFibGUmbHQ7QnVnSW5zdGFuY2UmZ3Q7ICh0aGFua3MgdG8gVG9tYXMgUG9sbGFrKTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAyMjQ5NzcxIF0gQWRkIE1hdmVuMiBGaW5kYnVncyBwbHVnaW4gbGluayB0byB0aGUKLQkJCQkJCQkJCQlMaW5rcyBwYWdlICh0aGFua3MgdG8gR2FydmluIExlY2xhaXJlKTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAyNjA5NTI2IF0gSmFwYW5lc2UgbWFudWFsIHVwZGF0ZSAodGhhbmtzIHRvIEsuCi0JCQkJCQkJCQkJSGFzaGltb3RvKTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAyMTE5NDgyIF0gQ2hlY2tCY2VsIGNoZWNrcyBmb3Igbm9uZXhpc3RlbnQgY2xhc3NlcwotCQkJCQkJCQkJCSh0aGFua3MgdG8gSmVycnkgSmFtZXMpPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkZpbmRCdWdzIEVjbGlwc2UgcGx1Z2luOgotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5NYWpvciBmZWF0dXJlIGVuaGFuY2VtZW50cyAodGhhbmtzIHRvIEFuZHJleSBMb3NrdXRvdikuCi0JCQkJCQkJCVNlZSA8YSBocmVmPSJodHRwOi8vYW5kcmVpLmdteGhvbWUuZGUvZmluZGJ1Z3MvaW5kZXguaHRtbCI+dGhpcwotCQkJCQkJCQkJb3ZlcnZpZXc8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLgotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPk1ham9yIHRlc3QgaW1wcm92ZW1lbnRzICh0aGFua3MgdG8gVG9tYXMgUG9sbGFrKS48L2xpPgotCQkJCQkJCTxsaT5GaXhlczoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPlsgMjUzMjM2NSBdIENvbXBpbGVyIHdhcm5pbmc8L2xpPgotCQkJCQkJCQkJPGxpPlsgMjUyMjk4OSBdIEZpeCBmaWx0ZXIgZmlsZXMgc2VsZWN0aW9uPC9saT4KLQkJCQkJCQkJCTxsaT5bIDI1MDQwNjggXSBOdWxsUG9pbnRlckV4Y2VwdGlvbjwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAyNjQwODQ5IF0gTlBFIGluIEVjbGlwc2UgcGx1Z2luIDEuMy43IGFuZCBFY2xpcHNlCi0JCQkJCQkJCQkJMy41IE01PC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5QYXRjaGVzOgotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+WyAyMTQzMTQwIF0gVW5jaGVja2VkIGNvbnZlcnNpb24gZml4ZXMgZm9yIEVjbGlwc2UKLQkJCQkJCQkJCQlwbHVnaW4gKHRoYW5rcyB0byBKZXJyeSBKYW1lcykKLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDEuMy42PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPk92ZXJhbGwsIGEgc21hbGwgYnVnZml4IHJlbGVhc2UuCi0JCQkJCTxsaT5OZXcgZGV0ZWN0aW9uIG9mIGFjY2lkZW50YWwgdmFjdW91cy91c2VsZXNzIGNhbGxzIHRvCi0JCQkJCQlFYXN5TW9jayBtZXRob2RzLCBhbmQgb2YgZ2VuZXJpYyBzaWduYXR1cmVzIHRoYXQgcHJvY2xhaW0gdGhlIHVzZQotCQkJCQkJb2YgdW5oYXNoYWJsZSBjbGFzc2VzIGluIHdheXMgdGhhdCByZXF1aXJlIHRoYXQgdGhleSBiZSBoYXNoZWQuCi0JCQkJCTxsaT5FbGltaW5hdGUgc29tZSBmYWxzZSBwb3NpdGl2ZXMgd2hlcmUgd2Ugd2VyZSB3YXJuaW5nIGFib3V0Ci0JCQkJCQlhIHVzZWxlc3MgY2FsbCAoZS5nLiwgY29tcGFyaW5nIHR3byBpbmNvbXBhdGlibGUgdHlwZXMgZm9yCi0JCQkJCQllcXVhbGl0eSksIGJ1dCB0aGUgb25seSB0aGluZyB0aGUgY29kZSB3YXMgZG9pbmcgd2l0aCB0aGUgcmVzdWx0Ci0JCQkJCQl3YXMgcGFzc2luZyBpdCB0byBhc3NlcnRGYWxzZS4KLQkJCQkJPGxpPkphcGFuZXNlIGxvY2FsaXphdGlvbiBhbmQgbWFudWFsIGJ5IEsuSGFzaGltb3RvLiAoVGhhbmtzISkKLQkJCQkJCi0JCQkJCTxsaT5BZGRlZCAtZXhjbHVkZSBhbmQgLW91dHB1dERpciBjb21tYW5kIGxpbmUgb3B0aW9ucyB0bwotCQkJCQkJcmVqYXJGb3JBbmFseXNpcwotCQkJCQk8bGk+RXh0ZW5kZWQgLWFkanVzdFByaW9yaXRpZXMgb3B0aW9uIHRvIEZpbmRCdWdzIGFuYWx5c2lzCi0JCQkJCQl0ZXh0dWkgc28gdGhhdCB5b3UgY2FuIG1vZGlmeSB0aGUgcHJpb3JpdGllcyBvZiBpbmRpdmlkdWFsIGJ1ZwotCQkJCQkJcGF0dGVybnMgYXMgd2VsbCBhcyB2aXNpdG9ycywgYW5kIGFsc28gY29tcGxldGVseSBzdXBwcmVzcwotCQkJCQkJaW5kaXZpZHVhbCBidWcgcGF0dGVybnMgb3IgdmlzaXRvcnMuCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPmUuZy4sIC1hZGp1c3RQcmlvcml0eQotCQkJCQkJCQlNU19TSE9VTERfQkVfRklOQUw9c3VwcHJlc3MsTVNfUEtHUFJPVEVDVD1zdXBwcmVzcyxFSV9FWFBPU0VfUkVQPXN1cHByZXNzLEVJX0VYUE9TRV9SRVAyPXN1cHByZXNzLFBaTEFfUFJFRkVSX1pFUk9fTEVOR1RIX0FSUkFZUz1yYWlzZQotCQkJCQkJCQotCQkJCQkJPC91bD4KLQkJCQk8L3VsPgotCi0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMS4zLjU8L3A+Ci0JCQkJPHVsPgotCQkJCQk8bGk+QWRkZWQgZmFpcmx5IGV4aGF1c3RpdmUgc3RhdGljIGFuYWx5c2lzIG9mIHVzZXMgb2YgZm9ybWF0Ci0JCQkJCQlzdHJpbmdzLCBjaGVja2luZyBmb3IgbWlzc2luZyBvciBleHRyYSBhcmd1ZW1lbnRzLCBpbnZhbGlkIGZvcm1hdAotCQkJCQkJc3BlY2lmaWVycywgb3IgbWlzbWF0Y2hlZCBmb3JtYXQgc3BlY2lmaWVycyBhbmQgYXJndW1lbnRzIChlLmcsCi0JCQkJCQlwYXNzaW5nIGEgU3RyaW5nIHZhbHVlIGZvciBhICVkIGZvcm1hdCBzcGVjaWZpZXIpLiBUaGUgbG9naWMgZm9yCi0JCQkJCQlkb2luZyBzbyBpcyBkZXJpdmVkIGZyb20gU3VuJ3MgamF2YS51dGlsLkZvcm1hdHRlciBjbGFzcywgYW5kCi0JCQkJCQlhdmFpbGFibGUgc2VwYXJhdGVseSBmcm9tIEZpbmRCdWdzIGFzIHBhcnQgb2YgdGhlIDxhCi0JCQkJCQlocmVmPSJodHRwczovL2pmb3JtYXRzdHJpbmcuZGV2LmphdmEubmV0LyI+akZvcm1hdFN0cmluZzwvYT4KLQkJCQkJCXByb2plY3QuCi0JCQkJCTxsaT5Nb3JlIHR1bmluZyBvZiB0aGUgdW5zYXRpc2ZpZWQgb2JsaWdhdGlvbiBkZXRlY3Rvci4gU2luY2UKLQkJCQkJCXRoaXMgZGV0ZWN0b3IgaXMgc3RpbGwgcmF0aGVyIG5vaXN5IGFuZCBhbiB1bmZpbmlzaGVkIHJlc2VhcmNoCi0JCQkJCQlwcm9qZWN0LCBJJ3ZlIG1vdmVkIHRoZSBnZW5lcmF0ZWQgaXNzdWVzIHRvIGEgbmV3IGNhdGVnb3J5OgotCQkJCQkJRVhQRVJJTUVOVEFMLgotCQkJCQk8bGk+QWRkZWQgY2hlY2sgZm9yIDxhCi0JCQkJCQlocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0JJVF9BRERfT0ZfU0lHTkVEX0JZVEUiPkJJVF9BRERfT0ZfU0lHTkVEX0JZVEU8L2E+OwotCQkJCQkJc2ltaWxhciB0byA8YQotCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNCSVRfSU9SX09GX1NJR05FRF9CWVRFIj5CSVRfSU9SX09GX1NJR05FRF9CWVRFPC9hPiwKLQkJCQkJCWV4Y2VwdCB0aGF0IGFkZGl0aW9uIGlzIGJlaW5nIHVzZWQgdG8gY29tYmluZSBzaGlmdGVkIHNpZ25lZAotCQkJCQkJYnl0ZXMuCi0JCQkJCTxsaT5DaGFuZ2VkIGRldGVjdGlvbiBvZiBFSV9FWFBPU0VfUkVQMiwgc28gd2Ugb25seSByZXBvcnQgaXQKLQkJCQkJCWlmIHRoZSB2YWx1ZSBzdG9yZWQgaXMgZ3VhcmFudGVlZCB0byBiZSB0aGUgc2FtZSB2YWx1ZSB0aGF0IHdhcwotCQkJCQkJcGFzc2VkIGluIGFzIGEgcGFyYW1ldGVyLgotCQkJCQk8bGk+QWRkZWQgPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRVFfQ0hFQ0tfRk9SX09QRVJBTkRfTk9UX0NPTVBBVElCTEVfV0lUSF9USElTIj5FUV9DSEVDS19GT1JfT1BFUkFORF9OT1RfQ09NUEFUSUJMRV9XSVRIX1RISVM8L2E+LAotCQkJCQkJYSB3YXJuaW5nIHdoZW4gYW4gZXF1YWxzIG1ldGhvZCBjaGVja3MgdG8gc2VlIGlmIGFuIG9wZXJhbmQgaXMgYW4KLQkJCQkJCWluc3RhbmNlIG9mIGEgY2xhc3Mgbm90IGNvbXBhdGlibGUgd2l0aCBpdHNlbGYuIEZvciBleGFtcGxlLCBpZgotCQkJCQkJdGhlIEZvbyBjbGFzcyBjaGVja3MgdG8gc2VlIGlmIHRoZSBhcmd1bWVudCBpcyBhbiBpbnN0YW5jZSBvZgotCQkJCQkJU3RyaW5nLiBUaGlzIGlzIGVpdGhlciBhIHF1ZXN0aW9uYWJsZSBkZXNpZ24gZGVjaXNpb24gb3IgYSBjb2RpbmcKLQkJCQkJCW1pc3Rha2UuCi0JCQkJCTxsaT5BZGRlZCA8YQotCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNETUlfSU5WT0tJTkdfSEFTSENPREVfT05fQVJSQVkiPkRNSV9JTlZPS0lOR19IQVNIQ09ERV9PTl9BUlJBWTwvYT4sCi0JCQkJCQl3aGljaCBjaGVja3MgZm9yIGludm9raW5nIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+IG9uIGFuIGFycmF5LAotCQkJCQkJd2hpY2ggcmV0dXJucyBhIGhhc2ggY29kZSB0aGF0IGlnbm9yZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBhcnJheS4KLQkJCQkJCi0JCQkJCTxsaT5BZGRlZCBjaGVja3MgZm9yIHVzaW5nIDxjb2RlPngucmVtb3ZlQWxsKHgpPC9jb2RlPiB0bwotCQkJCQkJcmF0aGVyIHRoYW4gPGNvZGU+eC5jbGVhcigpPC9jb2RlPiB0byBjbGVhciBhbiBhcnJheS4KLQkJCQkJPGxpPkFkZCBjaGVja3MgZm9yIGNhbGxzIHN1Y2ggYXMgPGNvZGU+eC5jb250YWlucyh4KTwvY29kZT4sIDxjb2RlPngucmVtb3ZlKHgpPC9jb2RlPgotCQkJCQkJYW5kIDxjb2RlPnguY29udGFpbnNBbGwoeCk8L2NvZGU+LgotCQkJCQk8bGk+SW1wcm92ZW1lbnRzIHRvIEVjbGlwc2UgcGx1Z2luICh0aGFua3MgdG8gQW5kcmV5Ci0JCQkJCQlMb3NrdXRvdik6Ci0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPlJlcG9ydCBzZXBhcmF0ZSBtYXJrZXJzIGZvciBlYWNoIG9jY3VycmVuY2Ugb2YgYW4gaXNzdWUKLQkJCQkJCQkJdGhhdCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIGluIGEgbWV0aG9kCi0JCQkJCQkJPGxpPmZpbmUgdHVuaW5nIGZvciByZXBvcnRlZCBtYXJrZXJzOiBhZGQgb25seSBvbmUgbWFya2VyCi0JCQkJCQkJCWZvciBmaWVsZHMsIGFkZCBtYXJrZXIgb24gcmlnaHQgcG9zaXRpb24KLQkJCQkJCQk8bGk+bGluayBidWdzIHNlbGVjdGVkIGluIGJ1ZyBleHBsb3JlciB2aWV3IHRvIHRoZSBvcGVuZWQKLQkJCQkJCQkJZWRpdG9yIGFuZCB2aWNlIHZlcnNhCi0JCQkJCQkJPGxpPnNlbGVjdCBidWdzIHNlbGVjdGVkIGluIGVkaXRvciBydWxlciBpbiB0aGUgb3BlbmVkIGJ1ZwotCQkJCQkJCQlleHBsb3JlciB2aWV3Ci0JCQkJCQkJPGxpPmNvbnNpc3RlbnQgYWJicmV2aWF0aW9ucyB1c2VkIGluIGJvdGggYnVnIGV4cGxvcmVyIGFuZAotCQkJCQkJCQlidWcgZGV0YWlscyB2aWV3Ci0JCQkJCQkJPGxpPmFkZGVkICJFeHBhbmQgQWxsIiBidXR0b24gdG8gdGhlIGJ1ZyBleHBsb3JlciB2aWV3Ci0JCQkJCQkJPGxpPmFkZGVkICJHbyBJbnRvL0dvIFVwIiBidXR0b25zIHRvIHRoZSBidWcgZXhwbG9yZXIgdmlldwotCQkJCQkJCTxsaT5hZGRlZCAiQ29weSB0byBjbGlwYm9hcmQiIG1lbnUvZnVuY3Rpb25hbGl0eSB0byB0aGUKLQkJCQkJCQkJZGV0YWlscyB2aWV3IGxpc3Qgd2lkZ2V0Ci0JCQkJCQkJPGxpPmZpeCBmb3IgQ05GIGV4Y2VwdGlvbiBpZiBsb2FkaW5nIHRoZSBiYWNrdXAgc29sdXRpb24gZm9yCi0JCQkJCQkJCWJyb2tlbiBicm93c2VyIHdpZGdldAotCQkJCQkJPC91bD4KLQkJCQk8L3VsPgotCi0KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAxLjMuNDwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5BbmFseXNpcyBhYm91dCAxNSUgZmFzdGVyCi0JCQkJCTxsaT48YQotCQkJCQkJaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9hdGlkPTYxNDY5MyZncm91cF9pZD05NjQwNSZmdW5jPWJyb3dzZSZzdGF0dXM9Y2xvc2VkIj4zOAotCQkJCQkJCWJ1Z3MgY2xvc2VkPC9hPjwvbGk+Ci0JCQkJCTxsaT5OZXcgZGVmZWN0IHdhcm5pbmdzOgotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5jYWxscyB0byBtZXRob2RzIHRoYXQgYWx3YXlzIHRocm93Ci0JCQkJCQkJCVVuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uIChETUlfVU5TVVBQT1JURURfTUVUSE9EKQotCQkJCQkJCTxsaT5yZXBlYXRlZCBjb25kaXRpb25hbCB0ZXN0cyAoZS5nLiwgPGNvZGU+aWYgKHgKLQkJCQkJCQkJCSZsdDsgMCB8fCB4ICZsdDsgMCkgLi4uPC9jb2RlPikgKFJwQ19SRVBFQVRFRF9DT05ESVRJT05BTF9URVNUKQotCQkJCQkJCTxsaT5Db21wbGV0ZSByZXdyaXRlIG9mIGRldGVjdG9yIGZvciBmb3JtYXQgc3RyaW5nIHByb2JsZW1zLgotCQkJCQkJCQlNb3JlIGFjY3VyYXRlLCBmaW5kcyBtb3JlIHByb2JsZW1zLCBnZW5lcmF0ZXMgbW9yZSBkZXNjcmlwdGl2ZQotCQkJCQkJCQlyZXBvcnRzLCBzZXZlcmFsIGRpZmZlcmVudCBidWcgcGF0dGVybgotCQkJCQkJCQkoVkFfRk9STUFUX1NUUklOR19FWFRSQV9BUkdVTUVOVFNfUEFTU0VELAotCQkJCQkJCQlWQV9GT1JNQVRfU1RSSU5HX0lMTEVHQUwsIFZBX0ZPUk1BVF9TVFJJTkdfTUlTU0lOR19BUkdVTUVOVCwKLQkJCQkJCQkJVkFfRk9STUFUX1NUUklOR19CQURfQVJHVU1FTlQsCi0JCQkJCQkJCVZBX0ZPUk1BVF9TVFJJTkdfTk9fUFJFVklPVVNfQVJHVU1FTlQpCi0JCQkJCQkJPGxpPkZhaXJseSBjb21wbGV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBKU1ItMzA1IGN1c3RvbSB0eXBlCi0JCQkJCQkJCXF1YWxpZmllciBhbmFseXNpcyAobm8gc3VwcG9ydCBmb3IgY3VzdG9tIHZhbGlkYXRvcnMgeWV0KS4KLQkJCQkJCQkJKFRRX01BWUJFX1NPVVJDRV9WQUxVRV9SRUFDSEVTX05FVkVSX1NJTksKLQkJCQkJCQkJVFFfRVhQTElDSVRfVU5LTk9XTl9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19BTFdBWVNfU0lOSwotCQkJCQkJCQlUUV9FWFBMSUNJVF9VTktOT1dOX1NPVVJDRV9WQUxVRV9SRUFDSEVTX05FVkVSX1NJTkspCi0JCQkJCQkJPGxpPk5ldyBkZXRlY3RvciBmb3IgdW5zYXRpc2ZpZWQgb2JsaWdhdGlvbnMgc3VjaCBmb3JnZXR0aW5nCi0JCQkJCQkJCXRvIGNsb3NlIGEgZmlsZSAoT0JMX1VOU0FUSVNGSUVEX09CTElHQVRJT04pLgotCQkJCQkJCTxsaT5XYXJuaW5nIHdoZW4gYSBwYXJhbWV0ZXIgaXMgbWFya2VkIGFzIG51bGxhYmxlLCBidXQgaXMKLQkJCQkJCQkJYWx3YXlzIGRlcmVmZXJlbmNlZC4KLQkJCQkJCQkJKE5QX1BBUkFNRVRFUl9NVVNUX0JFX05PTk5VTExfQlVUX01BUktFRF9BU19OVUxMQUJMRSkKLQkJCQkJCQk8bEk+U2VwYXJhdGUgd2FybmluZyBmb3IgZGVyZWZlcmVuY2UgdGhlIHJlc3VsdCBvZiByZWFkTGluZQotCQkJCQkJCQkoTlBfREVSRUZFUkVOQ0VfT0ZfUkVBRExJTkVfVkFMVUUpCi0JCQkJCQk8L3VsPgotCQkJCQk8bGk+V2hlbiBYTUwgaXMgZ2VuZXJhdGVkIHdpdGggbWVzc2FnZXMsIHRoZSBwcm9qZWN0IHN0YXRzIG5vdwotCQkJCQkJaW5jbHVkZSAmbHQ7RmlsZVN0YXQmZ3Q7IGVsZW1lbnRzLiBGb3IgZWFjaCBzb3VyY2UgZmlsZSwgdGhpcwotCQkJCQkJZ2l2ZXMgdGhlIHBhdGggZm9yIHRoZSBmaWxlLCB0aGUgdG90YWwgbnVtYmVyIG9mIHdhcm5pbmdzIGZvciB0aGF0Ci0JCQkJCQlmaWxlLCBhbmQgYSBidWdIYXNoIGZvciB0aGUgZmlsZS4gV2hpbGUgdGhlIGluc3RhbmNlSGFzaCBmb3IgYSBidWcKLQkJCQkJCWlzIGludGVuZGVkIHRvIGJlIHZlcnNpb24gaW52YXJpYW50IChpZ25vcmluZyBsaW5lIG51bWJlcnMsIGV0YyksCi0JCQkJCQl0aGUgYnVnSGFzaCBmb3IgYSBmaWxlIGlzIGludGVuZGVkIHRvIHJlZmxlY3QgYWxsIHRoZSBpbmZvcm1hdGlvbgotCQkJCQkJYWJvdXQgdGhlIHdhcm5pbmdzIGluIHRoYXQgZmlsZS4gVGhlIGludGVuZGVkIHVzZSBjYXNlIGlzIHRoYXQgaWYKLQkJCQkJCXRoZSBidWdIYXNoIGZvciBhIGZpbGUgaXMgdGhlIHNhbWUgaW4gdHdvIGFuYWx5c2lzIHJ1bnMsIHRoZW4gPGVtPm5vdGhpbmc8L2VtPgotCQkJCQkJaGFzIGNoYW5nZWQgYWJvdXQgYW55IG9mIHRoZSB3YXJuaW5ncyByZXBvcnRlZCBmb3IgdGhhdCBmaWxlCi0JCQkJCQliZXR3ZWVuIHRoZSB0d28gYW5hbHlzaXMgcnVucy4KLQkJCQkJPGxpPk1vcmUgbWVyZ2luZyBvZiBzaW1pbGFyIGlzc3VlcyB3aXRoaW4gYSBtZXRob2QuIEZvcgotCQkJCQkJZXhhbXBsZSwgaWYgdGhlIHJlc3VsdCBvZiByZWFkTGluZSgpIGlzIGRlcmVmZXJlbmNlcyBtdWx0aXBsZQotCQkJCQkJdGltZXMgd2l0aGluIGEgbWV0aG9kLCBpdCB3aWxsIGJlIHJlcG9ydGVkIGFzIGEgc2luZ2xlIHdhcm5pbmcKLQkJCQkJCXdpdGggb2NjdXJyZW5jZXMgYXQgbXVsdGlwbGUgc291cmNlIGxpbmVzLgotCQkJCTwvdWw+Ci0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDEuMy4zPC9wPgotCi0JCQkJPHVsPgotCQkJCQk8bGk+RmluZEJ1Z3MgYmFzZQotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5OZXcgUmVwb3J0czoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPkVRX09WRVJSSURJTkdfRVFVQUxTX05PVF9TWU1NRVRSSUM6IGVxdWFscyBtZXRob2QKLQkJCQkJCQkJCQlvdmVycmlkZXMgZXF1YWxzIGluIHN1cGVyY2xhc3MgYW5kIG1heSBub3QgYmUgc3ltbWV0cmljPC9saT4KLQkJCQkJCQkJCTxsaT5FUV9BTFdBWVNfVFJVRTogZXF1YWxzIG1ldGhvZCBhbHdheXMgcmV0dXJucyB0cnVlPC9saT4KLQkJCQkJCQkJCTxsaT5FUV9BTFdBWVNfRkFMU0U6IGVxdWFscyBtZXRob2QgYWx3YXlzIHJldHVybnMgZmFsc2U8L2xpPgotCQkJCQkJCQkJPGxpPkVRX0NPTVBBUklOR19DTEFTU19OQU1FUzogZXF1YWxzIG1ldGhvZCBjb21wYXJlcyBjbGFzcwotCQkJCQkJCQkJCW5hbWVzIHJhdGhlciB0aGFuIGNsYXNzIG9iamVjdHM8L2xpPgotCQkJCQkJCQkJPGxpPkVRX1VOVVNVQUw6IFVudXN1YWwgZXF1YWxzIG1ldGhvZDwvbGk+Ci0JCQkJCQkJCQk8bGk+RVFfR0VUQ0xBU1NfQU5EX0NMQVNTX0NPTlNUQU5UOiBlcXVhbHMgbWV0aG9kIGZhaWxzCi0JCQkJCQkJCQkJZm9yIHN1YnR5cGVzPC9saT4KLQkJCQkJCQkJCTxsaT5TRV9SRUFEX1JFU09MVkVfSVNfU1RBVElDOiBUaGUgcmVhZFJlc29sdmUgbWV0aG9kIG11c3QKLQkJCQkJCQkJCQlub3QgYmUgZGVjbGFyZWQgYXMgYSBzdGF0aWMgbWV0aG9kLjwvbGk+Ci0JCQkJCQkJCQk8bGk+U0VfUFJJVkFURV9SRUFEX1JFU09MVkVfTk9UX0lOSEVSSVRFRDogcHJpdmF0ZQotCQkJCQkJCQkJCXJlYWRSZXNvbHZlIG1ldGhvZCBub3QgaW5oZXJpdGVkIGJ5IHN1YmNsYXNzZXM8L2xpPgotCQkJCQkJCQkJPGxpPk1TRl9NVVRBQkxFX1NFUlZMRVRfRklFTEQ6IE11dGFibGUgc2VydmxldCBmaWVsZDwvbGk+Ci0JCQkJCQkJCQk8bGk+WFNTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX1NFTkRfRVJST1I6IFNlcnZsZXQgcmVmbGVjdGVkCi0JCQkJCQkJCQkJY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcgdnVsbmVyYWJpbGl0eTwvbGk+Ci0JCQkJCQkJCQk8bGk+U0tJUFBFRF9DTEFTU19UT09fQklHOiBDbGFzcyB0b28gYmlnIGZvciBhbmFseXNpczwvbGk+Ci0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+T3RoZXI6Ci0JCQkJCQkJCTx1bD4KLQkJCQkJCQkJCTxsaT5WYWx1ZS1udW1iZXIgYW5hbHlzaXMgbm93IG1vcmUgc3BhY2UtZWZmaWNpZW50PC9saT4KLQkJCQkJCQkJCTxsaT5FbmhhbmNlbWVudHMgdG8gcmVkdWNlIG1lbW9yeSBvdmVyaGVhZCB3aGVuIGFuYWx5emluZwotCQkJCQkJCQkJCXZlcnkgbGFyZ2UgY2xhc3NlczwvbGk+Ci0JCQkJCQkJCQk8bGk+Tm93IHNraXBzIHZlcnkgbGFyZ2UgY2xhc3NlcyB0aGF0IHdvdWxkIG90aGVyd2lzZSB0YWtlCi0JCQkJCQkJCQkJdG9vIG11Y2ggdGltZSBhbmQgbWVtb3J5IHRvIGFuYWx5emU8L2xpPgotCQkJCQkJCQkJPGxpPkluZnJhc3RydWN0dXJlIGZvciB0cmFja2luZyBlZmZlY3RpdmVseS1jb25zdGFudC8KLQkJCQkJCQkJCQllZmZlY3RpdmVseS1maW5hbCBmaWVsZHM8L2xpPgotCQkJCQkJCQkJPGxpPkFkZGVkIG1vcmUgY3dlaWRzPC9saT4KLQkJCQkJCQkJCTxsaT5FbmhhbmNlZCB0YWludCB0cmFja2luZyBmb3IgdGFpbnQtYmFzZWQgZGV0ZWN0b3JzPC9saT4KLQkJCQkJCQkJCTxsaT5JZ25vcmUgZG9vbWVkIGNhbGxzIHRvIGVxdWFscyBpZiByZXN1bHQgaXMgdXNlZCBhcyBhbgotCQkJCQkJCQkJCWFyZ3VtZW50IHRvIGFzc2VydEZhbHNlPC9saT4KLQkJCQkJCQkJCTxsaT5FUV9PVkVSUklESU5HX0VRVUFMU19OT1RfU1lNTUVUUklDIGhhbmRsZXMgY29tcGFyZVRvPC9saT4KLQkJCQkJCQkJCTxsaT5Qcmlvcml0eSB0d2VhayBmb3IgSUNBU1RfSU5URUdFUl9NVUxUSVBMWV9DQVNUX1RPX0xPTkcKLQkJCQkJCQkJCQkob25seSBsb3cgcHJpb3JpdHkgaWYgbXVsdGlwbHlpbmcgYnkgMTAwMCk8L2xpPgotCQkJCQkJCQkJPGxpPkltcHJvdmVkIHRyYWNraW5nIG9mIGZpZWxkcyBhY3Jvc3MgbWV0aG9kIGNhbGxzPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5GaXhlczoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPlsgMTk0MTQ1MCBdIERMU19ERUFEX0xPQ0FMX1NUT1JFIG5vdCByZXBvcnRlZDwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTUzMzIzIF0gT21pdHRlZCBicmVhayBzdGF0ZW1lbnQgaW4KLQkJCQkJCQkJCQlTeW5jaHJvbml6ZUFuZE51bGxDaGVja0ZpZWxkPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5NDI2MjAgXSBTb3VyY2UgRGlyZWN0b3JpZXMgc2VsZWN0aW9uIGRpYWxvZwotCQkJCQkJCQkJCWludGVyZmFjZSBjb25mdXNpb24gKHBhcnRpYWwpPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5NDgyNzUgXSBVbmhlbHBmdWwgIkxvYWQgb2Yga25vd24gbnVsbCI8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTkzMzkyMiBdIE1XTSBlcnJvciBpbiBmaW5kYnVnczwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTM0NzcyIF0gMS4zLjMgYXBwZWFycyB0byByZWx5IG9uIEpESyAxLjYsIEpOTFAKLQkJCQkJCQkJCQlzdGlsbCBzcGVjaWZpZXMgMS41PC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MzM5NDUgXSAtbG9hZGJ1Z3MgZG9lc24ndCB3b3JrPC9saT4KLQkJCQkJCQkJCTxsaT5GaXhlZCBwcm9ibGVtcyBmb3IgY2xhc3MgbmFtZXMgc3RhcnRpbmcgd2l0aCAnJCc8L2xpPgotCQkJCQkJCQkJPGxpPkZpeGVkIGJ1Z3MgYW5kIGluY29tcGxldGUgaGFuZGxpbmcgb2YgYW5ub3RhdGlvbnMgaW4KLQkJCQkJCQkJCQlWZXJzaW9uSW5zZW5zaXRpdmVCdWdDb21wYXJhdG9yPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5QYXRjaGVzOgotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+WyAxOTU1MTA2IF0gSmF2YWRvYyBmaXhlczwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTUxOTMwIF0gU3VwZXJmbHVvdXMgaW1wb3J0IHN0YXRlbWVudHMgKHRoYW5rcyB0bwotCQkJCQkJCQkJCUplcnJ5IEphbWVzKTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTUxOTA3IF0gTWlzc2luZyBARGVwcmVjYXRlZCBhbm5vdGF0aW9ucyAodGhhbmtzIHRvCi0JCQkJCQkJCQkJSmVycnkgSmFtZXMpPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5NTE4NzYgXSBJbmZvbm9kZSBEb2NraW5nIFdpbmRvd3MgY29tcGlsZSBmaXgKLQkJCQkJCQkJCQkodGhhbmtzIHRvIEplcnJ5IEphbWVzKTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTM2MDU1IF0gYnVnZml4IGZvciBmaW5kYnVncy5kZS5jb21tZW50IG5vdCB3b3JraW5nCi0JCQkJCQkJCQkJKHRoYW5rcyB0byBQZXRlciBGb2traW5nYSkKLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPGxpPkZpbmRCdWdzIEJsdWVKIHBsdWdpbgotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5VcGRhdGVkIHRvIHVzZSBGaW5kQnVncyAxLjMuNCAoZmlyc3QgbmV3IHJlbGVhc2Ugc2luY2UKLQkJCQkJCQkJMS4xLjMpPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAxLjMuMjwvcD4KLQotCQkJCTx1bD4KLQkJCQkJPGxpPkZpbmRCdWdzIGJhc2UKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+TmV3IERldGVjdG9yczoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPkZpZWxkSXRlbVN1bW1hcnk6IFByb2R1Y2VzIHN1bW1hcnkgaW5mb3JtYXRpb24gZm9yCi0JCQkJCQkJCQkJd2hhdCBpcyBzdG9yZWQgaW50byBmaWVsZHM8L2xpPgotCQkJCQkJCQkJPGxpPlN5bmNocm9uaXplT25DbGFzc0xpdGVyYWxOb3RHZXRDbGFzczogTG9vayBmb3IgY29kZQotCQkJCQkJCQkJCXRoYXQgc3luY2hyb25pemVzIG9uIHRoZSByZXN1bHRzIG9mIGdldENsYXNzIHJhdGhlciB0aGFuIG9uCi0JCQkJCQkJCQkJY2xhc3MgbGl0ZXJhbHM8L2xpPgotCQkJCQkJCQkJPGxpPlN5bmNocm9uaXppbmdPbkNvbnRlbnRzT2ZGaWVsZFRvUHJvdGVjdEZpZWxkOiBUaGlzCi0JCQkJCQkJCQkJZGV0ZWN0b3IgbG9va3MgZm9yIGNvZGUgdGhhdCBzZWVtcyB0byBiZSBzeW5jaHJvbml6aW5nIG9uIGEKLQkJCQkJCQkJCQlmaWVsZCBpbiBvcmRlciB0byBndWFyZCB1cGRhdGVzIG9mIHRoYXQgZmllbGQ8L2xpPgotCQkJCQkJCQk8L3VsPgotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPk5ldyBCdWdDb2RlOgotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+SFJTOiBIVFRQIFJlc3BvbnNlIHNwbGl0dGluZyB2dWxuZXJhYmlsaXR5PC9saT4KLQkJCQkJCQkJCTxsaT5XTDogUG9zc2libGUgbG9ja2luZyBvbiB3cm9uZyBvYmplY3Q8L2xpPgotCQkJCQkJCQk8L3VsPgotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPk5ldyBSZXBvcnRzOgotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+RE1JX0NPTlNUQU5UX0RCX1BBU1NXT1JEOiBUaGlzIGNvZGUgY3JlYXRlcyBhIGRhdGFiYXNlCi0JCQkJCQkJCQkJY29ubmVjdCB1c2luZyBhIGhhcmQgY29kZWQsIGNvbnN0YW50IHBhc3N3b3JkPC9saT4KLQkJCQkJCQkJCTxsaT5IUlNfUkVRVUVTVF9QQVJBTUVURVJfVE9fQ09PS0lFOiBIVFRQIGNvb2tpZSBmb3JtZWQKLQkJCQkJCQkJCQlmcm9tIHVudHJ1c3RlZCBpbnB1dDwvbGk+Ci0JCQkJCQkJCQk8bGk+SFJTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX0hUVFBfSEVBREVSOiBIVFRQIHBhcmFtZXRlcgotCQkJCQkJCQkJCWRpcmVjdGx5IHdyaXR0ZW4gdG8gSFRUUCBoZWFkZXIgb3V0cHV0PC9saT4KLQkJCQkJCQkJCTxsaT5DTl9JTVBMRU1FTlRTX0NMT05FX0JVVF9OT1RfQ0xPTkVBQkxFOiBDbGFzcyBkZWZpbmVzCi0JCQkJCQkJCQkJY2xvbmUoKSBidXQgZG9lc24ndCBpbXBsZW1lbnQgQ2xvbmVhYmxlPC9saT4KLQkJCQkJCQkJCTxsaT5ETF9TWU5DSFJPTklaQVRJT05fT05fQk9YRURfUFJJTUlUSVZFOiBTeW5jaHJvbml6YXRpb24KLQkJCQkJCQkJCQlvbiBib3hlZCBwcmltaXRpdmUgY291bGQgbGVhZCB0byBkZWFkbG9jazwvbGk+Ci0JCQkJCQkJCQk8bGk+RExfU1lOQ0hST05JWkFUSU9OX09OX0JPT0xFQU46IFN5bmNocm9uaXphdGlvbiBvbgotCQkJCQkJCQkJCUJvb2xlYW4gY291bGQgbGVhZCB0byBkZWFkbG9jazwvbGk+Ci0JCQkJCQkJCQk8bGk+TUxfU1lOQ19PTl9GSUVMRF9UT19HVUFSRF9DSEFOR0lOR19USEFUX0ZJRUxEOgotCQkJCQkJCQkJCVN5bmNocm9uaXphdGlvbiBvbiBmaWVsZCBpbiBmdXRpbGUgYXR0ZW1wdCB0byBndWFyZCB0aGF0IGZpZWxkCi0JCQkJCQkJCQk8L2xpPgotCQkJCQkJCQkJPGxpPkRMU19ERUFEX0xPQ0FMX1NUT1JFX0lOX1JFVFVSTjogVXNlbGVzcyBhc3NpZ25tZW50IGluCi0JCQkJCQkJCQkJcmV0dXJuIHN0YXRlbWVudDwvbGk+Ci0JCQkJCQkJCQk8bGk+V0xfVVNJTkdfR0VUQ0xBU1NfUkFUSEVSX1RIQU5fQ0xBU1NfTElURVJBTDoKLQkJCQkJCQkJCQlTeW5jaHJvbml6YXRpb24gb24gZ2V0Q2xhc3MgcmF0aGVyIHRoYW4gY2xhc3MgbGl0ZXJhbDwvbGk+Ci0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+T3RoZXI6Ci0JCQkJCQkJCTx1bD4KLQkJCQkJCQkJCTxsaT5NYW55IGVuaGFuY2VtZW50cyB0byBjcm9zcy1zaXRlIHNjcmlwdGluZyBkZXRlY3RvciBhbmQKLQkJCQkJCQkJCQlpdHMgZG9jdW1lbnRhdGlvbjwvbGk+Ci0JCQkJCQkJCQk8bGk+RW5oYW5jZWQgc3dpdGNoIGZhbGwgdGhyb3VnaCBoYW5kbGluZzwvbGk+Ci0JCQkJCQkJCQk8bGk+RW5oYW5jZWQgdW5yZWFkIGZpZWxkIGhhbmRsaW5nIChsb29rIGZvciBJRl9BQ01QRVEgYW5kCi0JCQkJCQkJCQkJSUZfQUNNUE5FKTwvbGk+Ci0JCQkJCQkJCQk8bGk+Q2xhcmlmaWVkIGRvY3VtZW50YXRpb24gZm9yIEBOdWxsYWJsZSBpbiBtYW51YWw8L2xpPgotCQkJCQkJCQkJPGxpPkZld2VyIERlYWRMb2NhbFN0b3JlIGZhbHNlIHBvc2l0aXZlczwvbGk+Ci0JCQkJCQkJCQk8bGk+RmV3ZXIgVW5yZWFkRmllbGQgZmFsc2UgcG9zaXRpdmVzPC9saT4KLQkJCQkJCQkJCTxsaT5GZXdlciBTdGF0aWNDYWxlbmRhckRldGVjdG9yIGZhbHNlIHBvc2l0aXZlczwvbGk+Ci0JCQkJCQkJCQk8bGk+UGVyZm9ybWFuY2UgZml4IGZvciBzbG93IGZpbGUgc3lzdGVtIElPIGUuZy4gQ2xlYXJjYXNlCi0JCQkJCQkJCQkJcmVwb3NpdG9yaWVzICh0aGFua3MsIEFuZHJlaSEpPC9saT4KLQkJCQkJCQkJCTxsaT5PdGhlciwgZ2VuZXJhbCBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudHMgKHRoYW5rcywKLQkJCQkJCQkJCQlBbmRyZWkhKTwvbGk+Ci0JCQkJCQkJCQk8bGk+RW5oYW5jZW1lbnRzIGZvciB1c2luZyBGaW5kQnVncyBzY3JpcHRzIHdpdGggTUtTIG9uCi0JCQkJCQkJCQkJV2luZG93cyAodGhhbmtzLCBLZWxseSBPJ0hhaXIhKTwvbGk+Ci0JCQkJCQkJCQk8bGk+Tm90ZWQgaW4gdGhlIG1hbnVhbCB0aGF0IGpzcjMwNS5qYXIgbXVzdCBiZSBwcmVzZW50Ci0JCQkJCQkJCQkJZm9yIGFubm90YXRpb25zIHRvIGNvbXBpbGU8L2xpPgotCQkJCQkJCQkJPGxpPkFkZGVkIGFuZCBmaW5lLXR1bmVkIGRlZmF1bHQtbnVsbG5lc3MgYW5ub3RhdGlvbnM8L2xpPgotCQkJCQkJCQkJPGxpPk1vcmUgQ1dFIElEcyBhZGRlZDwvbGk+Ci0JCQkJCQkJCQk8bGk+Q2hlY2sgYW5kIHdhcm5pbmcgZm9yIHVuZXhwZWN0ZWQgQkNFTCB2ZXJzaW9uIGluCi0JCQkJCQkJCQkJY2xhc3NwYXRoPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5GaXhlczoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPkJ1ZyBmaXggdG8gaGFuZGxpbmcgb2YgbG9jYWwgdmFyaWFibGUgdGFibGVzIGluIEJDRUw8L2xpPgotCQkJCQkJCQkJPGxpPlJlZmluZWQgZG9jdW1lbnRhdGlvbiBmb3IKLQkJCQkJCQkJCQlNVElBX1NVU1BFQ1RfU1RSVVRTX0lOU1RBTkNFX0ZJRUxEPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MjcyOTUgXSBOUEUgd2hlbiBjYWxsZWQgb24gcHJvamVjdCByb290PC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MjY0MDUgXSBJbmNvcnJlY3QgZGVhZCBzdG9yZSB3YXJuaW5nPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MjY0MDkgXSBJbmNvcnJlY3QgcmVkdW5kYW50IG51bGxjaGVjayB3YXJuaW5nPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MjYzODkgXSBXcm9uZyBsaW5lIG51bWJlciBwcmludGVkL2hpZ2hsaWdodGVkIGluCi0JCQkJCQkJCQkJYnVnPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MjcwNDAgXSB0eXBvIGluIGJ1ZyBkZXNjcmlwdGlvbjwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTI2MjYzIF0gTWlub3IgZ2xpdGNoIGluIEhUTUwgb3V0cHV0PC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MjYyNDAgXSBNaW5vciBlcnJvciBpbiBzdGFuZGFyZCBvcHRpb25zIGluIG1hbnVhbDwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTI2MjM2IF0gTWlub3IgYnVnIGluIGluc3RhbGxhdGlvbiBzZWN0aW9uIG9mCi0JCQkJCQkJCQkJbWFudWFsPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MjU1MzkgXSBaSVAgaXMgZGVmYXVsdCBmaWxlIHN5c3RlbSBjb2RlIGJhc2U8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTg5NDcwMSBdIExpdmVsb2NrIC8gbWVtb3J5IGxlYWsgaW4KLQkJCQkJCQkJCQlPYmplY3RUeXBlRmFjdG9yeSAodGhhbmtzLCBBbmRyZWkhKTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxODY3NDkxIF0gRG9lc24ndCByZWxvYWQgYW5ub3RhdGlvbnMgYWZ0ZXIgY29kZQotCQkJCQkJCQkJCWNoYW5nZXMgaW4gSURFICh0aGFua3MsIEFuZHJlaSEpPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE5MjEzOTkgXSAtcHJvamVjdCBvcHRpb24gbm90IHN1cHBvcnRlZDwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTEzODM0IF0gIkRlYWQiIHN0b3JlIHRvIHZhcmlhYmxlIHdpdGggbWV0aG9kIGNhbGw8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTkxNzM1MiBdIEggQiBzZTouLi5maWVsZCBpbiBzZXJpYWxpemFibGUgY2xhc3M8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTkxMTYxNyBdIENsb25lSWRpb20gcmVsaWVzIG9uCi0JCQkJCQkJCQkJZ2V0TmFtZUNvbnN0YW50T3BlcmFuZCBmb3IgSU5TVEFOQ0VPRjwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTExNjIwIF0gRmFsc2UgKzogRExTIHByZWRlY3JlbWVudCBiZWZvcmUgcmV0dXJuPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE4NzEzNzYgXSBGYWxzZSBuZWdhdGl2ZTogbm9uLXNlcmlhbGl6YWJsZSBNYXAgZmllbGQ8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTg3MTA1MSBdIG5vbiBzdGFuZGFyZCBjbG9uZSgpIG1ldGhvZDwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTA4ODU0IF0gRXJyb3IgaW4gVGVzdEFTTTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxOTA3NTM5IF0gMjIgbWlub3IgZXJyb3JzIGluIGJ1ZyBjaGVja2VyCi0JCQkJCQkJCQkJZG9jdW1lbnRhdGlvbjwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxODk3MzIzIF0gRUpCIGltcGxlbWVudGF0aW9uIGNsYXNzIGZhbHNlIHBvc2l0aXZlczwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxODk5NjQ4IF0gQ3Jhc2ggb24gc3RhcnR1cCBvbiBWaXN0YSB3aXRoIEphdmEKLQkJCQkJCQkJCQkxLjYuMF8wNDwvbGk+Ci0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5GaW5kQnVncyBFY2xpcHNlIHBsdWdpbiAoY2hhbmdlIGxvZyBieSBBbmRyZXkgTG9za3V0b3YpCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPm5ldyBmZWF0dXJlOiBleHBvcnQgYmFzaWMgRmluZEJ1Z3MgbnVtYmVycyBmb3IgcHJvamVjdHMKLQkJCQkJCQkJdmlhIEZpbGUtJmd0O0V4cG9ydC0mZ3Q7SmF2YS0mZ3Q7QnVnQ291bnRzIChBbmRyZXkgTG9za3V0b3YpPC9saT4KLQkJCQkJCQk8bGk+bmV3IGZlYXR1cmU6IGpvYnMgZm9yIGRpZmZlcmVudCBwcm9qZWN0cyB3aWxsIGJlIHJ1biBpbgotCQkJCQkJCQlwYXJhbGxlbCBwZXIgZGVmYXVsdCBpZiBydW5uaW5nIG9uIGEgbXVsdGktY29yZSBQQwotCQkJCQkJCQkoImZiLmFsbG93UGFyYWxsZWxCdWlsZCIgc3lzdGVtIHByb3BlcnR5IG5vdCB1c2VkIGFueW1vcmUpCi0JCQkJCQkJCShBbmRyZXkgTG9za3V0b3YpPC9saT4KLQkJCQkJCQk8bGk+Zml4ZWQgcGVyZm9ybWFuY2Ugc2xvd2Rvd24gaW4gdGhlIG11bHRpLXRocmVhZGVkIGJ1aWxkLAotCQkJCQkJCQljYXVzZWQgYnkgd29ya3NwYWNlIG9wZXJhdGlvbiBsb2NrcyBkdXJpbmcgYXNzaWduaW5nIG1hcmtlcgotCQkJCQkJCQlhdHRyaWJ1dGVzIChBbmRyZXkgTG9za3V0b3YpPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAxLjMuMTwvcD4KLQotCQkJCTx1bD4KLQkJCQkJPGxpPkZpbmRCdWdzIGJhc2UKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+TmV3IEJ1ZyBDYXRlZ29yeToKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPlNFQ1VSSVRZIChBYmJyZXY6IFMpLCBBIHVzZSBvZiB1bnRydXN0ZWQgaW5wdXQgaW4gYQotCQkJCQkJCQkJCXdheSB0aGF0IGNvdWxkIGNyZWF0ZSBhIHJlbW90ZWx5IGV4cGxvaXRhYmxlIHNlY3VyaXR5Ci0JCQkJCQkJCQkJdnVsbmVyYWJpbGl0eTwvbGk+Ci0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+TmV3IERldGVjdG9yczoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPkNyb3NzU2l0ZVNjcmlwdGluZzogVGhpcyBkZXRlY3RvciBsb29rcyBmb3IKLQkJCQkJCQkJCQlvYnZpb3VzL2JsYXRhbnQgY2FzZXMgb2YgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcgdnVsbmVyYWJpbGl0aWVzPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5OZXcgQnVnQ29kZToKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPlhTUzogQ3Jvc3Mgc2l0ZSBzY3JpcHRpbmc8L2xpPgotCQkJCQkJCQk8L3VsPgotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPk5ldyBSZXBvcnRzOgotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+WFNTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX1NFUlZMRVRfV1JJVEVSOiBIVFRQCi0JCQkJCQkJCQkJcGFyYW1ldGVyIGRpcmVjdGx5IHdyaXR0ZW4gdG8gU2VydmxldCBvdXRwdXQsIGdpdmluZyBYU1MKLQkJCQkJCQkJCQl2dWxuZXJhYmlsaXR5PC9saT4KLQkJCQkJCQkJCTxsaT5YU1NfUkVRVUVTVF9QQVJBTUVURVJfVE9fSlNQX1dSSVRFUjogSFRUUCBwYXJhbWV0ZXIKLQkJCQkJCQkJCQlkaXJlY3RseSB3cml0dGVuIHRvIEpTUCBvdXRwdXQsIGdpdmluZyBYU1MgdnVsbmVyYWJpbGl0eTwvbGk+Ci0JCQkJCQkJCQk8bGk+RVFfT1RIRVJfVVNFX09CSkVDVDogZXF1YWxzKCkgbWV0aG9kIGRlZmluZWQgdGhhdAotCQkJCQkJCQkJCWRvZXNuJ3Qgb3ZlcnJpZGUgT2JqZWN0LmVxdWFscyhPYmplY3QpPC9saT4KLQkJCQkJCQkJCTxsaT5FUV9PVEhFUl9OT19PQkpFQ1Q6IGVxdWFscygpIG1ldGhvZCBpbmhlcml0cyByYXRoZXIKLQkJCQkJCQkJCQl0aGFuIG92ZXJyaWRlcyBlcXVhbHMoT2JqZWN0KTwvbGk+Ci0JCQkJCQkJCQk8bGk+TlBfTlVMTF9PTl9TT01FX1BBVEhfTUlHSFRfQkVfSU5GRUFTSUJMRTogUG9zc2libGUKLQkJCQkJCQkJCQludWxsIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb24gcGF0aCB0aGF0IG1pZ2h0IGJlIGluZmVhc2libGU8L2xpPgotCQkJCQkJCQk8L3VsPgotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPk90aGVyOgotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+QWRkZWQgLW5vQ2xhc3NPayBjb21tYW5kLWxpbmUgcGFyYW1ldGVyIHRvCi0JCQkJCQkJCQkJY29tbWFuZC1saW5lIGFuZCBhbnQgaW50ZXJmYWNlczsgd2hlbiAtbm9DbGFzc09rIGlzIHNwZWNpZmllZAotCQkJCQkJCQkJCWFuZCBubyBjbGFzc2ZpbGVzIGFyZSBnaXZlbiwgRmluZEJ1Z3Mgd2lsbCBwcmludCBhIHdhcm5pbmcKLQkJCQkJCQkJCQltZXNzYWdlIGFuZCBvdXRwdXQgYSB3ZWxsLSBmb3JtZWQgZmlsZSB3aXRoIG5vIHdhcm5pbmdzPC9saT4KLQkJCQkJCQkJCTxsaT5GZXdlciBmYWxzZSBwb3NpdGl2ZXMgZm9yIG51bGwgcG9pbnRlciBidWdzPC9saT4KLQkJCQkJCQkJCTxsaT5TdXBwcmVzcyBkZWFkLWxvY2FsLXN0b3JlIGZhbHNlIHBvc2l0aXZlcyBpbiAuanNwIGNvZGU8L2xpPgotCQkJCQkJCQkJPGxpPlR5cGUgZml4ZXMgaW4gd2FybmluZyBtZXNzYWdlczwvbGk+Ci0JCQkJCQkJCQk8bGk+QmV0dGVyIHdhcm5pbmcgbWVzc2FnZSBmb3IgTlBfTlVMTF9PTl9TT01FX1BBVEg8L2xpPgotCQkJCQkJCQkJPGxpPiJXTUkiIGJ1ZyBjb2RlIGRlc2NyaXB0aW9uIHJlbmFtZWQgZnJvbSAiV3JvbmcgTWFwCi0JCQkJCQkJCQkJSXRlcmF0b3IiIHRvICJJbmVmZmljaWVudCBNYXAgSXRlcmF0b3IiPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5GaXhlczoKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPlsgMTg5MzA0OCBdIEZpbmRCdWdzIGNvbmZ1c2VkIGJ5IGEgZmluZGJ1Z3MueG1sIGZpbGU8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTg3ODUyOCBdIFhTTCB4Zm9ybXMgZG9uJ3Qgc3VwcG9ydCBoaXN0b3J5IGZlYXR1cmVzPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE4NzY1ODQgXSB0d28gZGVmYXVsdC54c2wgZmxhd3M8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTg3NDg1NiBdIEZvcm1hdCBzdHJpbmcgYnVnIGRldGVjdG9yIGRvZXNuJ3QgaGFuZGxlCi0JCQkJCQkJCQkJc3BlY2lhbCBvcGVyYXRvcnM8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTg3MjY0NSBdIGNvbXB1dGVCdWdIaXN0b3J5IC0KLQkJCQkJCQkJCQlqYXZhLmxhbmcuSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE4NzIyMzcgXSBBbnQgdGFzayBmYWlscyB3aGVuIG5vIC5jbGFzcyBmaWxlczwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxODY4NjcwIF0gRmlsdGVyczogaW5jbHVkZSBBTkQgZXhjbHVkZSBkb24ndCBhbGxvd2VkPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE4Njg2NjYgXSBjaGVjay1mb3Itb2RkbmVzcyByZXBvcnRlZCwgYnV0IGFycmF5Ci0JCQkJCQkJCQkJbGVuZ3RoIGNhbiBuZXZlciBiZSBuZWdhdGl2ZTwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxODY2MTA4IF0gU2V0QnVnRGF0YWJhc2VJbmZvVGFzayBzdHJpcHMgZGlyIGZyb20KLQkJCQkJCQkJCQlvdXRwdXQgZmlsZW5hbWU8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTg2NjAyMSBdIE1pbmVCdWdIaXN0b3J5VGFzayBzdHJpcHMgZGlyIG9mIG91dHB1dAotCQkJCQkJCQkJCWZpbGVuYW1lPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE4NjUyNjUgXSBjb2RlIGRvZXNuJ3QgaGFuZGxlCi0JCQkJCQkJCQkJU3RyaW5nQnVmZmVyLmFwcGVuZChbQ0lJKSByaWdodDwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxODY0NzkzIF0gV2FybmluZyB3aGVuIGNhc3RpbmcgYSBudWxsIHJlZmVyZW5jZQotCQkJCQkJCQkJCWNvbXBhcmVkIHRvIGEgU3RyaW5nPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE4NjMzNzYgXSBUeXBvIGluIG1hbnVhbCBjaGFwIDg6IEZpbHRlciBGaWxlczwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxODYyNzA1IF0gVHJhbnNpZW50IGZpZWxkcyB0aGF0IGRlZmF1bHQgdG8gbnVsbDwvbGk+Ci0JCQkJCQkJCQk8bGk+WyAxODQyNTQ1IF0gRExTIG9uIGNhdGNoIHZhcmlhYmxlICh3aXRoIHByaW9yaXR5Ci0JCQkJCQkJCQkJdHdlYWtpbmcpPC9saT4KLQkJCQkJCQkJCTxsaT5bIDE4MTYyNTggXSBmYWxzZSBwb3NpdGl2ZSBCQ19JTVBPU1NJQkxFX0NBU1Q8L2xpPgotCQkJCQkJCQkJPGxpPlsgMTU1MTczMiBdIEdldCBlcnJvbmVvdXMgRExTIHdpdGggd2hpbGUgbG9vcDwvbGk+Ci0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5GaW5kQnVncyBFY2xpcHNlIHBsdWdpbiAoY2hhbmdlIGxvZyBieSBBbmRyZXkgTG9za3V0b3YpCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPm5ldyBmZWF0dXJlOiBhZGRlZCBCdWcgZXhwbG9yZXIgdmlldyAocmVwbGFjaW5nIEJ1ZyB0cmVlCi0JCQkJCQkJCXZpZXcpLCBiYXNlZCBvbiBDb21tb24gTmF2aWdhdG9yIGZyYW1ld29yayAoQW5kcmV5IExvc2t1dG92KTwvbGk+Ci0JCQkJCQkJPGxpPmJ1ZyAxODczODYwIGZpeGVkOiBlbXB0eSBwcm9qZWN0cyBhcmUgbm8gbG9uZ2VyIHNob3duIGluCi0JCQkJCQkJCUJ1ZyB0cmVlIHZpZXcgKEFuZHJleSBMb3NrdXRvdik8L2xpPgotCQkJCQkJCTxsaT5uZXcgZmVhdHVyZTogYnVnIGNvdW50cyBkZWNvcmF0b3JzIGZvciBwcm9qZWN0cywgZm9sZGVycwotCQkJCQkJCQlhbmQgZmlsZXMgKGhhcyB0byBiZSBhY3RpdmF0ZWQgdmlhIFByZWZlcmVuY2VzIC0mZ3Q7IGdlbmVyYWwKLQkJCQkJCQkJLSZndDsgYXBwZWFyYW5jZSAtJmd0OyBsYWJlbCBkZWNvcmF0aW9ucykoQW5kcmV5IExvc2t1dG92KTwvbGk+Ci0JCQkJCQkJPGxpPnBhdGNoIDE3NDY0OTk6IGJldHRlciBpY29ucyAoQWxlc3NhbmRybyBOaXN0aWNvKTwvbGk+Ci0JCQkJCQkJPGxpPnBhdGNoIDE4OTM2ODU6IEZpbmQgYnVnIGFjdGlvbnMgb24gY2hhbmdlIHNldHMgYnVnCi0JCQkJCQkJCShBbGVzc2FuZHJvIE5pc3RpY28pPC9saT4KLQkJCQkJCQk8bGk+Zml4ZWQgYnVnIDE4NTUzODQ6IEJ1ZyBjb25maWd1cmF0aW9uIGlzIGJyb2tlbiBpbgotCQkJCQkJCQlFY2xpcHNlIChBbmRyZXkgTG9za3V0b3YpPC9saT4KLQkJCQkJCQk8bGk+cmVmYWN0b3JlZCBGaW5kQnVncyBwcm9wZXJ0aWVzIHBhZ2UgKEFuZHJleSBMb3NrdXRvdik8L2xpPgotCQkJCQkJCTxsaT5yZWZhY3RvcmVkIEZpbmRCdWdzIHdvcmtlci9idWlsZGVyL3J1biBhY3Rpb24gKEFuZHJleQotCQkJCQkJCQlMb3NrdXRvdik8L2xpPgotCQkJCQkJCTxsaT5GQiBkZXRlY3RzIG5vdyBvbmx5IGJ1Z3MgZnJvbSBjbGFzc2VzIG9uIHByb2plY3QncwotCQkJCQkJCQljbGFzc3BhdGggKG5vIGRvdWJsZSB3b3JrIG9uIGR1cGxpY2F0ZWQgY2xhc3MgZmlsZXMpIChBbmRyZXkKLQkJCQkJCQkJTG9za3V0b3YpPC9saT4KLQkJCQkJCQk8bGk+Zml4ZWQgYnVnIGludHJvZHVjZWQgYnkgdGhlIGJhZCBwYXRjaCBmb3IgMTg2Nzk1MTogRkIKLQkJCQkJCQkJY2Fubm90IGJlIGV4ZWN1dGVkIGluY3JlbWVudGFsbHkgb24gYSBmb2xkZXIgb2YgZmlsZSAoQW5kcmV5Ci0JCQkJCQkJCUxvc2t1dG92KTwvbGk+Ci0JCQkJCQkJPGxpPmZpeGVkIGpvYiBydWxlOiBub3cgam9icyBmb3IgZGlmZmVyZW50IHByb2plY3RzIG1heSBydW4KLQkJCQkJCQkJaW4gcGFyYWxsZWwgaWYgcnVubmluZyBvbiBhIG11bHRpLWNvcmUgUEMgYW5kCi0JCQkJCQkJCSJmYi5hbGxvd1BhcmFsbGVsQnVpbGQiIHN5c3RlbSBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSAoQW5kcmV5Ci0JCQkJCQkJCUxvc2t1dG92KTwvbGk+Ci0JCQkJCQkJPGxpPmZpeGVkIEZCIGF1dG8tYnVpbGQgbm90IHN0YXJ0ZWQgaWYgLmZicHJlZnMgb3IKLQkJCQkJCQkJLmNsYXNzcGF0aCB3YXMgY2hhbmdlZCAoQW5kcmV5IExvc2t1dG92KTwvbGk+Ci0JCQkJCQkJPGxpPmZpeGVkIG5vdCByZXBvcnRpbmcgYnVncyBvbiBzZWNvbmRhcnkgdHlwZXMgKGNsYXNzZXMKLQkJCQkJCQkJZGVmaW5lZCBpbiBqYXZhIGZpbGVzIHdpdGggZGlmZmVyZW50IG5hbWUpIChBbmRyZXkgTG9za3V0b3YpPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAxLjMuMDwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5OZXcgUmVwb3J0cwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5WQV9GT1JNQVRfU1RSSU5HX0FSR19NSVNNQVRDSDogQSBmb3JtYXQtc3RyaW5nIG1ldGhvZAotCQkJCQkJCQl3aXRoIGEgdmFyaWFibGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBjYWxsZWQsIGJ1dCB0aGUgbnVtYmVyIG9mCi0JCQkJCQkJCWFyZ3VtZW50cyBwYXNzZWQgZG9lcyBub3QgbWF0Y2ggd2l0aCB0aGUgbnVtYmVyIG9mICUKLQkJCQkJCQkJcGxhY2Vob2xkZXJzIGluIHRoZSBmb3JtYXQgc3RyaW5nLiBUaGlzIGlzIHByb2JhYmx5IG5vdCB3aGF0IHRoZQotCQkJCQkJCQlhdXRob3IgaW50ZW5kZWQuCi0JCQkJCQkJPGxpPklPX0FQUEVORElOR19UT19PQkpFQ1RfT1VUUFVUX1NUUkVBTTogVGhpcyBjb2RlIG9wZW5zIGEKLQkJCQkJCQkJZmlsZSBpbiBhcHBlbmQgbW9kZSBhbmQgdGhhdCB3cmFwcyB0aGUgcmVzdWx0IGluIGFuIG9iamVjdAotCQkJCQkJCQlvdXRwdXQgc3RyZWFtLiBUaGlzIHdvbid0IGFsbG93IHlvdSB0byBhcHBlbmQgdG8gYW4gZXhpc3RpbmcKLQkJCQkJCQkJb2JqZWN0IG91dHB1dCBzdHJlYW0gc3RvcmVkIGluIGEgZmlsZS4gSWYgeW91IHdhbnQgdG8gYmUgYWJsZSB0bwotCQkJCQkJCQlhcHBlbmQgdG8gYW4gb2JqZWN0IG91dHB1dCBzdHJlYW0sIHlvdSBuZWVkIHRvIGtlZXAgdGhlIG9iamVjdAotCQkJCQkJCQlvdXRwdXQgc3RyZWFtIG9wZW4uIFRoZSBvbmx5IHNpdHVhdGlvbiBpbiB3aGljaCBvcGVuaW5nIGEgZmlsZQotCQkJCQkJCQlpbiBhcHBlbmQgbW9kZSBhbmQgdGhlIHdyaXRpbmcgYW4gb2JqZWN0IG91dHB1dCBzdHJlYW0gY291bGQKLQkJCQkJCQkJd29yayBpcyBpZiBvbiByZWFkaW5nIHRoZSBmaWxlIHlvdSBwbGFuIHRvIG9wZW4gaXQgaW4gcmFuZG9tCi0JCQkJCQkJCWFjY2VzcyBtb2RlIGFuZCBzZWVrIHRvIHRoZSBieXRlIG9mZnNldCB3aGVyZSB0aGUgYXBwZW5kCi0JCQkJCQkJCXN0YXJ0ZWQuCi0JCQkJCQkJPGxpPk5QX0JPT0xFQU5fUkVUVVJOX05VTEw6IEEgbWV0aG9kIHRoYXQgcmV0dXJucyBlaXRoZXIKLQkJCQkJCQkJQm9vbGVhbi5UUlVFLCBCb29sZWFuLkZBTFNFIG9yIG51bGwgaXMgYW4gYWNjaWRlbnQgd2FpdGluZyB0bwotCQkJCQkJCQloYXBwZW4uIFRoaXMgbWV0aG9kIGNhbiBiZSBpbnZva2VkIGFzIHRob3VnaCBpdCByZXR1cm5lZCBhIHZhbHVlCi0JCQkJCQkJCW9mIHR5cGUgYm9vbGVhbiwgYW5kIHRoZSBjb21waWxlciB3aWxsIGluc2VydCBhdXRvbWF0aWMgdW5ib3hpbmcKLQkJCQkJCQkJb2YgdGhlIEJvb2xlYW4gdmFsdWUuIElmIGEgbnVsbCB2YWx1ZSBpcyByZXR1cm5lZCwgdGhpcyB3aWxsCi0JCQkJCQkJCXJlc3VsdCBpbiBhIE51bGxQb2ludGVyRXhjZXB0aW9uLgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkNoYW5nZXMgdG8gRXhpc3RpbmcgUmVwb3J0cwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5SVl9ET05UX0pVU1RfTlVMTF9DSEVDS19SRUFETElORTogQ09SUkVDVE5FU1MgLSZndDsKLQkJCQkJCQkJU1RZTEU8L2xpPgotCQkJCQkJCTxsaT5ETUlfSU5WT0tJTkdfVE9TVFJJTkdfT05fQVJSQVk6IExvbmcgZGVzY3JpcHRpb24KLQkJCQkJCQkJbWVudGlvbnMgYXJyYXkgbmFtZSB3aGVuZXZlciBwb3NzaWJsZTwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+Rml4ZXM6Ci0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPlVwZGF0ZWQgbWFudWFsIHRvIG1lbnRpb24gdGhhdCBKYXZhIDEuNSBpcyBub3cgYQotCQkJCQkJCQlyZXF1aXJlbWVudCBmb3IgcnVubmluZyBGaW5kQnVncwotCQkJCQkJCTxsaT5BcHBsaWVkIHBhdGNoIDE4NDAyMDYgZml4aW5nIGlzc3VlICJBbnQgdGFzayBkb2VzIG5vdAotCQkJCQkJCQl3b3JrIHdoZW4gcHJlc2V0ZGVmIGlzIHVzZWQiIC0gdGhhbmtzIHRvIHBoZWpsCi0JCQkJCQkJPGxpPkFwcGxpZWQgcGF0Y2ggMTc3ODY5MCBmaXhpbmcgaXNzdWUgIkFudCB0YXNrOiB0b2xlcmF0ZQotCQkJCQkJCQlidXQgY29tcGxhaW4gYWJvdXQgaW52YWxpZCBhdXhDbGFzc3BhdGgiIC0gdGhhbmtzIHRvIERhdmlkCi0JCQkJCQkJCVNjaG1pZHQKLQkJCQkJCQk8bGk+QXBwbGllZCBwYXRjaCAxODUyMTI1IGFkZGluZyBhIENoaW5lc2UtbGFuZ3VhZ2UgR1VJCi0JCQkJCQkJCWJ1bmRsZSBwcm9wcyBmaWxlIC0gdGhhbmtzIHRvIGZpZmkKLQkJCQkJCQk8bGk+QXBwbGllZCBwYXRjaCAxODQ1OTAzIGFkZGluZyBhYmlsaXR5IHRvIGxvYWQgWE1MIHJlc3VsdHMKLQkJCQkJCQkJd2l0aCB0aGUgRWNsaXBzZSBwbHVnaW4gLSB0aGFua3MgdG8gQWxleCBNb250Ci0JCQkJCQkJPGxpPkZpeGVkIGlzc3VlIDE4NDQ2NzEgLSAiRlAgZm9yICJyZXZlcnNlZCIgbnVsbCBjaGVjayBpbgotCQkJCQkJCQljYXRjaCBmb3Igc3RyZWFtIGNsb3NlIgotCQkJCQkJCTxsaT5GaXhlZCBpc3N1ZSAxODM2MDUwIC0gIi1vbmx5QW5hbHl6ZSBicm9rZW4iCi0JCQkJCQkJPGxpPkZpeGVkIGlzc3VlIDE4NTMwMTEgLSAiVHlwbzogRmllbGQgbmFtZXMgc2hvdWxkIHN0YXJ0Ci0JCQkJCQkJCXdpdGggYU4gbG93ZXIgY2FzZSBsZXR0ZXIiCi0JCQkJCQkJPGxpPkZpeGVkIGlzc3VlIDE4NDQxODEgLSAiSk5MUCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYWxsCi0JCQkJCQkJCW5lY2Vzc2FyeSBKQVJzIgotCQkJCQkJCTxsaT5GaXhlZCBpc3N1ZSAxODQwMjQ1IC0gInh4eEV4Y2VwdGlvbiBjbGFzcyBkb2VzIG5vdAotCQkJCQkJCQlkZXJpdmUgZnJvbSBFeGNlcHRpb24iCi0JCQkJCQkJPGxpPkZpeGVkIGlzc3VlIDE4NDAyNzcgLSAiW00gRCBFQ10gVHlwbyBpbiBidWcKLQkJCQkJCQkJZG9jdW1lbnRhdGlvbiIKLQkJCQkJCQk8bGk+Rml4ZWQgaXNzdWUgMTc4MjQ0NyAtICJPdXRPZk1lbW9yeUVycm9yIGlmIGkgYWN0aXZhdGUKLQkJCQkJCQkJRmluZGJ1Z3Mgb24gbXkgcHJvamVjdCIKLQkJCQkJCQk8bGk+Rml4ZWQgaXNzdWUgMTgzMDU3NiAtICJbcmVncmVzc2lvbl0ga2V5U2V0L2VudHJ5U2V0Ci0JCQkJCQkJCWZhbHNlIHBvc2l0aXZlIgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPk90aGVyOgotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5OZXcgYnVnIGNvZGU6ICJJTyIgKGZvcgotCQkJCQkJCQlJT19BUFBFTkRJTkdfVE9fT0JKRUNUX09VVFBVVF9TVFJFQU0pPC9saT4KLQkJCQkJCQk8bGk+QWRkZWQgIi1vbmx5TW9zdFJlY2VudCIgb3B0aW9uIGZvciBjb21wdXRlQnVnSGlzdG9yeQotCQkJCQkJCQlzY3JpcHQvYW50IHRhc2sKLQkJCQkJCQk8bGk+TW9yZSBleHBsaWNpdCBsYW5ndWFnZSBpbgotCQkJCQkJCQlSVl9SRVRVUk5fVkFMVUVfSUdOT1JFRF9CQURfUFJBQ1RJQ0UgbWVzc2FnZXMKLQkJCQkJCQk8bGk+TW9kaWZpZWQgUmVzb3VyY2VWYWx1ZUFuYWx5c2lzIHRvIGNvcnJlY3RseSBpZGVudGlmeQotCQkJCQkJCQludWxsID09IFggb3IgbnVsbCAhPSBYIGFzIGEgbnVsbCBjaGVjayAoZm9yIGlzc3VlIDE4NDQ2NzEpCi0JCQkJCQkJPGxpPk1vZGlmaWVkIERNSV9IQVJEQ09ERURfQUJTT0xVVEVfRklMRU5BTUUgbG9naWMgaW4KLQkJCQkJCQkJRHVtYk1ldGhvZEludm9jYXRpb25zIHRvIGlnbm9yZSBmaWxlcyBmcm9tIC9ldGMgb3IgL2RldiBhbmQKLQkJCQkJCQkJaW5jcmVhc2UgcHJpb3JpdHkgb2YgZmlsZXMgZnJvbSAvaG9tZQotCQkJCQkJCTxsaT5CZXR0ZXIgYnVnIGRldGFpbHMgZm9yIGluZmluaXRlIGxvb3Agd2FybmluZ3MKLQkJCQkJCQk8bGk+TW9kaWZpZWQgdW5yZWFkLWZpZWxkcyBkZXRlY3RvciB0byByZWR1Y2UgZmFsc2UKLQkJCQkJCQkJcG9zaXRpdmVzIGZyb20gcmVmbGVjdGl2ZSBmaWVsZHMKLQkJCQkJCQk8bGk+YnVpbGQueG1sICJjbGFzc2VzIiB0YXJnZXQgbm93IGJ1aWxkcyBhbGwgc291cmNlcyBpbiBvbmUKLQkJCQkJCQkJc3RlcAotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDEuMi4xPC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPk5ldyBEZXRlY3RvcnMgYW5kIFJlcG9ydHMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+U3luY2hyb25pemF0aW9uT25TaGFyZWRCdWlsdGluQ29uc3RhbnQKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPkRMX1NZTkNIUk9OSVpBVElPTl9PTl9TSEFSRURfQ09OU1RBTlQ6IFRoZSBjb2RlCi0JCQkJCQkJCQkJc3luY2hyb25pemVzIG9uIGEgc2hhcmVkIHByaW1pdGl2ZSBjb25zdGFudCwgc3VjaCBhcyBhbgotCQkJCQkJCQkJCWludGVybmVkIFN0cmluZy4gU3VjaCBjb25zdGFudHMgYXJlIGludGVybmVkIGFuZCBzaGFyZWQgYWNyb3NzCi0JCQkJCQkJCQkJYWxsIG90aGVyIGNsYXNzZXMgbG9hZGVkIGJ5IHRoZSBKVk0uIFRodXMsIHRoaXMgY291bGQgYmUKLQkJCQkJCQkJCQlsb2NraW5nIG9uIHNvbWV0aGluZyB0aGF0IG90aGVyIGNvZGUgbWlnaHQgYWxzbyBiZSBsb2NraW5nLgotCQkJCQkJCQkJCVRoaXMgY291bGQgcmVzdWx0IGluIHZlcnkgc3RyYW5nZSBhbmQgaGFyZCB0byBkaWFnbm9zZQotCQkJCQkJCQkJCWJsb2NraW5nIGFuZCBkZWFkbG9jayBiZWhhdmlvci4gU2VlIDxhCi0JCQkJCQkJCQkJaHJlZj0iaHR0cDovL3d3dy5qYXZhbG9iYnkub3JnL2phdmEvZm9ydW1zL3Q5NjM1Mi5odG1sIj5odHRwOi8vd3d3LmphdmFsb2JieS5vcmcvamF2YS9mb3J1bXMvdDk2MzUyLmh0bWw8L2E+Ci0JCQkJCQkJCQkJYW5kIDxhIGhyZWY9Imh0dHA6Ly9qaXJhLmNvZGVoYXVzLm9yZy9icm93c2UvSkVUVFktMzUyIj5odHRwOi8vamlyYS5jb2RlaGF1cy5vcmcvYnJvd3NlL0pFVFRZLTM1MjwvYT4uCi0JCQkJCQkJCQkKLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5PdmVycmlkaW5nRXF1YWxzTm90U3ltbWV0cmljYWwKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPkVRX09WRVJSSURJTkdfRVFVQUxTX05PVF9TWU1NRVRSSUM6IExvb2tzIGZvciBlcXVhbHMKLQkJCQkJCQkJCQltZXRob2RzIHRoYXQgb3ZlcnJpZGUgZXF1YWxzIG1ldGhvZHMgaW4gYSBzdXBlcmNsYXNzIHdoZXJlIHRoZQotCQkJCQkJCQkJCWVxdWl2YWxlbmNlIHJlbGF0aW9uc2hpcCBtaWdodCBub3QgYmUgc3ltbWV0cmljYWwuCi0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+Q2hlY2tUeXBlUXVhbGlmaWVycwotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+VFFfQUxXQVlTX1ZBTFVFX1VTRURfV0hFUkVfTkVWRVJfUkVRVUlSRUQ6IEEgdmFsdWUKLQkJCQkJCQkJCQlzcGVjaWZpZWQgYXMgY2FycnlpbmcgYSB0eXBlIHF1YWxpZmllciBhbm5vdGF0aW9uIGlzIGNvbnN1bWVkCi0JCQkJCQkJCQkJaW4gYSBsb2NhdGlvbiBvciBsb2NhdGlvbnMgcmVxdWlyaW5nIHRoYXQgdGhlIHZhbHVlIG5vdCBjYXJyeQotCQkJCQkJCQkJCXRoYXQgYW5ub3RhdGlvbi4gTW9yZSBwcmVjaXNlbHksIGEgdmFsdWUgYW5ub3RhdGVkIHdpdGggYSB0eXBlCi0JCQkJCQkJCQkJcXVhbGlmaWVyIHNwZWNpZnlpbmcgd2hlbj1BTFdBWVMgaXMgZ3VhcmFudGVlZCB0byByZWFjaCBhIHVzZQotCQkJCQkJCQkJCW9yIHVzZXMgd2hlcmUgdGhlIHNhbWUgdHlwZSBxdWFsaWZpZXIgc3BlY2lmaWVzIHdoZW49TkVWRVIuPC9saT4KLQkJCQkJCQkJCTxsaT5UUV9ORVZFUl9WQUxVRV9VU0VEX1dIRVJFX0FMV0FZU19SRVFVSVJFRDogQSB2YWx1ZQotCQkJCQkJCQkJCXNwZWNpZmllZCBhcyBub3QgY2FycnlpbmcgYSB0eXBlIHF1YWxpZmllciBhbm5vdGF0aW9uIGlzCi0JCQkJCQkJCQkJZ3VhcmFudGVlZCB0byBiZSBjb25zdW1lZCBpbiBhIGxvY2F0aW9uIG9yIGxvY2F0aW9ucyByZXF1aXJpbmcKLQkJCQkJCQkJCQl0aGF0IHRoZSB2YWx1ZSBkb2VzIGNhcnJ5IHRoYXQgYW5ub3RhdGlvbi4gTW9yZSBwcmVjaXNlbHksIGEKLQkJCQkJCQkJCQl2YWx1ZSBhbm5vdGF0ZWQgd2l0aCBhIHR5cGUgcXVhbGlmaWVyIHNwZWNpZnlpbmcgd2hlbj1ORVZFUiBpcwotCQkJCQkJCQkJCWd1YXJhbnRlZWQgdG8gcmVhY2ggYSB1c2Ugb3IgdXNlcyB3aGVyZSB0aGUgc2FtZSB0eXBlCi0JCQkJCQkJCQkJcXVhbGlmaWVyIHNwZWNpZmllcyB3aGVuPUFMV0FZUy48L2xpPgotCQkJCQkJCQkJPGxpPlRRX01BWUJFX1NPVVJDRV9WQUxVRV9SRUFDSEVTX0FMV0FZU19TSU5LOiBBIHZhbHVlCi0JCQkJCQkJCQkJdGhhdCBtaWdodCBub3QgY2FycnkgYSB0eXBlIHF1YWxpZmllciBhbm5vdGF0aW9uIHJlYWNoZXMgYSB1c2UKLQkJCQkJCQkJCQl3aGljaCByZXF1aXJlcyB0aGF0IGFubm90YXRpb24uPC9saT4KLQkJCQkJCQkJCTxsaT5UUV9NQVlCRV9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19ORVZFUl9TSU5LOiBBIHZhbHVlCi0JCQkJCQkJCQkJd2hpY2ggbWlnaHQgY2FycnkgYSB0eXBlIHF1YWxpZmllciBhbm5vdGF0aW9uIHJlYWNoZXMgYSB1c2UKLQkJCQkJCQkJCQl3aGljaCBmb3JiaWRzIHZhbHVlcyBjYXJyeWluZyB0aGF0IGFubm90YXRpb24uPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPk5ldyBSZXBvcnRzIChleGlzdGluZyBkZXRlY3RvcnMpCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPkZpbmRIRW1pc21hdGNoCi0JCQkJCQkJCTx1bD4KLQkJCQkJCQkJCTxsaT5FUV9ET0VTTlRfT1ZFUlJJREVfRVFVQUxTOiBUaGlzIGNsYXNzIGV4dGVuZHMgYSBjbGFzcwotCQkJCQkJCQkJCXRoYXQgZGVmaW5lcyBhbiBlcXVhbHMgbWV0aG9kIGFuZCBhZGRzIGZpZWxkcywgYnV0IGRvZXNuJ3QKLQkJCQkJCQkJCQlkZWZpbmUgYW4gZXF1YWxzIG1ldGhvZCBpdHNlbGYuIFRodXMsIGVxdWFsaXR5IG9uIGluc3RhbmNlcyBvZgotCQkJCQkJCQkJCXRoaXMgY2xhc3Mgd2lsbCBpZ25vcmUgdGhlIGlkZW50aXR5IG9mIHRoZSBzdWJjbGFzcyBhbmQgdGhlCi0JCQkJCQkJCQkJYWRkZWQgZmllbGRzLiBCZSBzdXJlIHRoaXMgaXMgd2hhdCBpcyBpbnRlbmRlZCwgYW5kIHRoYXQgeW91Ci0JCQkJCQkJCQkJZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aGUgZXF1YWxzIG1ldGhvZC4gRXZlbiBpZiB5b3UgZG9uJ3QKLQkJCQkJCQkJCQluZWVkIHRvIG92ZXJyaWRlIHRoZSBlcXVhbHMgbWV0aG9kLCBjb25zaWRlciBvdmVycmlkaW5nIGl0Ci0JCQkJCQkJCQkJYW55d2F5IHRvIGRvY3VtZW50IHRoZSBmYWN0IHRoYXQgdGhlIGVxdWFscyBtZXRob2QgZm9yIHRoZQotCQkJCQkJCQkJCXN1YmNsYXNzIGp1c3QgcmV0dXJuIHRoZSByZXN1bHQgb2YgaW52b2tpbmcgc3VwZXIuZXF1YWxzKG8pLjwvbGk+Ci0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+TmFtaW5nCi0JCQkJCQkJCTx1bD4KLQkJCQkJCQkJCTxsaT5OTV9XUk9OR19QQUNLQUdFLCBOTV9XUk9OR19QQUNLQUdFX0lOVEVOVElPTkFMOiBUaGUKLQkJCQkJCQkJCQltZXRob2QgaW4gdGhlIHN1YmNsYXNzIGRvZXNuJ3Qgb3ZlcnJpZGUgYSBzaW1pbGFyIG1ldGhvZCBpbiBhCi0JCQkJCQkJCQkJc3VwZXJjbGFzcyBiZWNhdXNlIHRoZSB0eXBlIG9mIGEgcGFyYW1ldGVyIGRvZXNuJ3QgZXhhY3RseQotCQkJCQkJCQkJCW1hdGNoIHRoZSB0eXBlIG9mIHRoZSBjb3JyZXNwb25kaW5nIHBhcmFtZXRlciBpbiB0aGUKLQkJCQkJCQkJCQlzdXBlcmNsYXNzLjwvbGk+Ci0JCQkJCQkJCQk8bGk+Tk1fU0FNRV9TSU1QTEVfTkFNRV9BU19TVVBFUkNMQVNTOiBUaGlzIGNsYXNzIGhhcyBhCi0JCQkJCQkJCQkJc2ltcGxlIG5hbWUgdGhhdCBpcyBpZGVudGljYWwgdG8gdGhhdCBvZiBpdHMgc3VwZXJjbGFzcywKLQkJCQkJCQkJCQlleGNlcHQgdGhhdCBpdHMgc3VwZXJjbGFzcyBpcyBpbiBhIGRpZmZlcmVudCBwYWNrYWdlIChlLmcuLCA8Y29kZT5hbHBoYS5Gb288L2NvZGU+Ci0JCQkJCQkJCQkJZXh0ZW5kcyA8Y29kZT5iZXRhLkZvbzwvY29kZT4pLiBUaGlzIGNhbiBiZSBleGNlcHRpb25hbGx5Ci0JCQkJCQkJCQkJY29uZnVzaW5nLCBjcmVhdGUgbG90cyBvZiBzaXR1YXRpb25zIGluIHdoaWNoIHlvdSBoYXZlIHRvIGxvb2sKLQkJCQkJCQkJCQlhdCBpbXBvcnQgc3RhdGVtZW50cyB0byByZXNvbHZlIHJlZmVyZW5jZXMgYW5kIGNyZWF0ZXMgbWFueQotCQkJCQkJCQkJCW9wcG9ydHVuaXRpZXMgdG8gYWNjaWRlbnRseSBkZWZpbmUgbWV0aG9kcyB0aGF0IGRvIG5vdAotCQkJCQkJCQkJCW92ZXJyaWRlIG1ldGhvZHMgaW4gdGhlaXIgc3VwZXJjbGFzc2VzLgotCQkJCQkJCQkJPC9saT4KLQkJCQkJCQkJCTxsaT5OTV9TQU1FX1NJTVBMRV9OQU1FX0FTX0lOVEVSRkFDRTogVGhpcyBjbGFzcy9pbnRlcmZhY2UKLQkJCQkJCQkJCQloYXMgYSBzaW1wbGUgbmFtZSB0aGF0IGlzIGlkZW50aWNhbCB0byB0aGF0IG9mIGFuCi0JCQkJCQkJCQkJaW1wbGVtZW50ZWQvZXh0ZW5kZWQgaW50ZXJmYWNlLCBleGNlcHQgdGhhdCB0aGUgaW50ZXJmYWNlIGlzCi0JCQkJCQkJCQkJaW4gYSBkaWZmZXJlbnQgcGFja2FnZSAoZS5nLiwgPGNvZGU+YWxwaGEuRm9vPC9jb2RlPiBleHRlbmRzIDxjb2RlPmJldGEuRm9vPC9jb2RlPikuCi0JCQkJCQkJCQkJVGhpcyBjYW4gYmUgZXhjZXB0aW9uYWxseSBjb25mdXNpbmcsIGNyZWF0ZSBsb3RzIG9mIHNpdHVhdGlvbnMKLQkJCQkJCQkJCQlpbiB3aGljaCB5b3UgaGF2ZSB0byBsb29rIGF0IGltcG9ydCBzdGF0ZW1lbnRzIHRvIHJlc29sdmUKLQkJCQkJCQkJCQlyZWZlcmVuY2VzIGFuZCBjcmVhdGVzIG1hbnkgb3Bwb3J0dW5pdGllcyB0byBhY2NpZGVudGx5IGRlZmluZQotCQkJCQkJCQkJCW1ldGhvZHMgdGhhdCBkbyBub3Qgb3ZlcnJpZGUgbWV0aG9kcyBpbiB0aGVpciBzdXBlcmNsYXNzZXMuCi0JCQkJCQkJCQk8L2xpPgotCQkJCQkJCQk8L3VsPgotCQkJCQkJCTxsaT5GaW5kUmVmQ29tcGFyaXNvbgotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+RUNfVU5SRUxBVEVEX1RZUEVTX1VTSU5HX1BPSU5URVJfRVFVQUxJVFk6IFRoaXMgbWV0aG9kCi0JCQkJCQkJCQkJdXNlcyB1c2luZyBwb2ludGVyIGVxdWFsaXR5IHRvIGNvbXBhcmUgdHdvIHJlZmVyZW5jZXMgdGhhdAotCQkJCQkJCQkJCXNlZW0gdG8gYmUgb2YgZGlmZmVyZW50IHR5cGVzLiBUaGUgcmVzdWx0IG9mIHRoaXMgY29tcGFyaXNvbgotCQkJCQkJCQkJCXdpbGwgYWx3YXlzIGJlIGZhbHNlIGF0IHJ1bnRpbWUuPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5JbmNvbXBhdE1hc2sKLQkJCQkJCQkJPHVsPgotCQkJCQkJCQkJPGxpPkJJVF9TSUdORURfQ0hFQ0ssIEJJVF9TSUdORURfQ0hFQ0tfSElHSF9CSVQ6IFRoaXMKLQkJCQkJCQkJCQltZXRob2QgY29tcGFyZXMgYW4gZXhwcmVzc2lvbiBzdWNoIGFzIDx0dD4oKGV2ZW50LmRldGFpbAotCQkJCQkJCQkJCQkmYW1wOyBTV1QuU0VMRUNURUQpICZndDsgMCk8L3R0Pi4gVXNpbmcgYml0IGFyaXRobWV0aWMgYW5kIHRoZW4KLQkJCQkJCQkJCQljb21wYXJpbmcgd2l0aCB0aGUgZ3JlYXRlciB0aGFuIG9wZXJhdG9yIGNhbiBsZWFkIHRvCi0JCQkJCQkJCQkJdW5leHBlY3RlZCByZXN1bHRzIChvZiBjb3Vyc2UgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZgotCQkJCQkJCQkJCVNXVC5TRUxFQ1RFRCkuIElmIFNXVC5TRUxFQ1RFRCBpcyBhIG5lZ2F0aXZlIG51bWJlciwgdGhpcyBpcyBhCi0JCQkJCQkJCQkJY2FuZGlkYXRlIGZvciBhIGJ1Zy4gRXZlbiB3aGVuIFNXVC5TRUxFQ1RFRCBpcyBub3QgbmVnYXRpdmUsCi0JCQkJCQkJCQkJaXQgc2VlbXMgZ29vZCBwcmFjdGljZSB0byB1c2UgJyE9IDAnIGluc3RlYWQgb2YgJyZndDsgMCcuCi0JCQkJCQkJCQk8L2xpPgotCQkJCQkJCQk8L3VsPgotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPkxhenlJbml0Ci0JCQkJCQkJCTx1bD4KLQkJCQkJCQkJCTxsaT5MSV9MQVpZX0lOSVRfVVBEQVRFX1NUQVRJQzogVGhpcyBtZXRob2QgY29udGFpbnMgYW4KLQkJCQkJCQkJCQl1bnN5bmNocm9uaXplZCBsYXp5IGluaXRpYWxpemF0aW9uIG9mIGEgc3RhdGljIGZpZWxkLiBBZnRlcgotCQkJCQkJCQkJCXRoZSBmaWVsZCBpcyBzZXQsIHRoZSBvYmplY3Qgc3RvcmVkIGludG8gdGhhdCBsb2NhdGlvbiBpcwotCQkJCQkJCQkJCWZ1cnRoZXIgYWNjZXNzZWQuIFRoZSBzZXR0aW5nIG9mIHRoZSBmaWVsZCBpcyB2aXNpYmxlIHRvIG90aGVyCi0JCQkJCQkJCQkJdGhyZWFkcyBhcyBzb29uIGFzIGl0IGlzIHNldC4gSWYgdGhlIGZ1cnRoZXIgYWNjZXNzZXMgaW4gdGhlCi0JCQkJCQkJCQkJbWV0aG9kIHRoYXQgc2V0IHRoZSBmaWVsZCBzZXJ2ZSB0byBpbml0aWFsaXplIHRoZSBvYmplY3QsIHRoZW4KLQkJCQkJCQkJCQl5b3UgaGF2ZSBhIDxlbT52ZXJ5IHNlcmlvdXM8L2VtPiBtdWx0aXRocmVhZGluZyBidWcsIHVubGVzcwotCQkJCQkJCQkJCXNvbWV0aGluZyBlbHNlIHByZXZlbnRzIGFueSBvdGhlciB0aHJlYWQgZnJvbSBhY2Nlc3NpbmcgdGhlCi0JCQkJCQkJCQkJc3RvcmVkIG9iamVjdCB1bnRpbCBpdCBpcyBmdWxseSBpbml0aWFsaXplZC4KLQkJCQkJCQkJCTwvbGk+Ci0JCQkJCQkJCTwvdWw+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+RmluZERlYWRMb2NhbFN0b3JlcwotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+RExTX0RFQURfU1RPUkVfT0ZfQ0xBU1NfTElURVJBTDogVGhpcyBpbnN0cnVjdGlvbgotCQkJCQkJCQkJCWFzc2lnbnMgYSBjbGFzcyBsaXRlcmFsIHRvIGEgdmFyaWFibGUgYW5kIHRoZW4gbmV2ZXIgdXNlcyBpdC4KLQkJCQkJCQkJCQk8YSBocmVmPSIvL2phdmEuc3VuLmNvbS9qMnNlLzEuNS4wL2NvbXBhdGliaWxpdHkuaHRtbCNsaXRlcmFsIj5UaGUKLQkJCQkJCQkJCQkJYmVoYXZpb3Igb2YgdGhpcyBkaWZmZXJzIGluIEphdmEgMS40IGFuZCBpbiBKYXZhIDUuPC9hPiBJbiBKYXZhCi0JCQkJCQkJCQkJMS40IGFuZCBlYXJsaWVyLCBhIHJlZmVyZW5jZSB0byA8Y29kZT5Gb28uY2xhc3M8L2NvZGU+IHdvdWxkCi0JCQkJCQkJCQkJZm9yY2UgdGhlIHN0YXRpYyBpbml0aWFsaXplciBmb3IgPGNvZGU+Rm9vPC9jb2RlPiB0byBiZQotCQkJCQkJCQkJCWV4ZWN1dGVkLCBpZiBpdCBoYXMgbm90IGJlZW4gZXhlY3V0ZWQgYWxyZWFkeS4gSW4gSmF2YSA1IGFuZAotCQkJCQkJCQkJCWxhdGVyLCBpdCBkb2VzIG5vdC4gU2VlIFN1bidzIDxhCi0JCQkJCQkJCQkJaHJlZj0iLy9qYXZhLnN1bi5jb20vajJzZS8xLjUuMC9jb21wYXRpYmlsaXR5Lmh0bWwjbGl0ZXJhbCI+YXJ0aWNsZQotCQkJCQkJCQkJCQlvbiBKYXZhIFNFIGNvbXBhdGliaWxpdHk8L2E+IGZvciBtb3JlIGRldGFpbHMgYW5kIGV4YW1wbGVzLCBhbmQKLQkJCQkJCQkJCQlzdWdnZXN0aW9ucyBvbiBob3cgdG8gZm9yY2UgY2xhc3MgaW5pdGlhbGl6YXRpb24gaW4gSmF2YSA1LgotCQkJCQkJCQkJPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5NZXRob2RSZXR1cm5DaGVjawotCQkJCQkJCQk8dWw+Ci0JCQkJCQkJCQk8bGk+UlZfUkVUVVJOX1ZBTFVFX0lHTk9SRURfQkFEX1BSQUNUSUNFOiBUaGlzIG1ldGhvZAotCQkJCQkJCQkJCXJldHVybnMgYSB2YWx1ZSB0aGF0IGlzIG5vdCBjaGVja2VkLiBUaGUgcmV0dXJuIHZhbHVlIHNob3VsZAotCQkJCQkJCQkJCWJlIGNoZWNrZWQgc2luY2UgaXQgY2FuIGluZGljYXRpb24gYW4gdW51c3VhbCBvciB1bmV4cGVjdGVkCi0JCQkJCQkJCQkJZnVuY3Rpb24gZXhlY3V0aW9uLiBGb3IgZXhhbXBsZSwgdGhlIDxjb2RlPkZpbGUuZGVsZXRlKCk8L2NvZGU+Ci0JCQkJCQkJCQkJbWV0aG9kIHJldHVybnMgZmFsc2UgaWYgdGhlIGZpbGUgY291bGQgbm90IGJlIHN1Y2Nlc3NmdWxseQotCQkJCQkJCQkJCWRlbGV0ZWQgKHJhdGhlciB0aGFuIHRocm93aW5nIGFuIEV4Y2VwdGlvbikuIElmIHlvdSBkb24ndAotCQkJCQkJCQkJCWNoZWNrIHRoZSByZXN1bHQsIHlvdSB3b24ndCBub3RpY2UgaWYgdGhlIG1ldGhvZCBpbnZvY2F0aW9uCi0JCQkJCQkJCQkJc2lnbmFscyB1bmV4cGVjdGVkIGJlaGF2aW9yIGJ5IHJldHVybmluZyBhbiBhdHlwaWNhbCByZXR1cm4KLQkJCQkJCQkJCQl2YWx1ZS4KLQkJCQkJCQkJCTwvbGk+Ci0JCQkJCQkJCQk8bGk+UlZfRVhDRVBUSU9OX05PVF9USFJPV046IFRoaXMgY29kZSBjcmVhdGVzIGFuCi0JCQkJCQkJCQkJZXhjZXB0aW9uIChvciBlcnJvcikgb2JqZWN0LCBidXQgZG9lc24ndCBkbyBhbnl0aGluZyB3aXRoIGl0LgotCQkJCQkJCQkJPC9saT4KLQkJCQkJCQkJPC91bD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkNoYW5nZXMgdG8gRXhpc3RpbmcgUmVwb3J0cwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5OU19OT05fU0hPUlRfQ0lSQ1VJVDogQkFEX1BSQUNUSUNFIC0mZ3Q7IFNUWUxFPC9saT4KLQkJCQkJCQk8bGk+TlNfREFOR0VST1VTX05PTl9TSE9SVF9DSVJDVUlUOiBDT1JSRUNUTkVTUyAtJmd0OyBTVFlMRTwvbGk+Ci0JCQkJCQkJPGxpPlJDX1JFRl9DT01QQVJJU09OOiBDT1JSRUNUTkVTUyAtJmd0OyBCQURfUFJBQ1RJQ0U8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkdVSSBDaGFuZ2VzCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPkFkZGVkIGltcG9ydGluZyBhbmQgZXhwb3J0aW5nIG9mIGJ1ZyBmaWx0ZXJzPC9saT4KLQkJCQkJCQk8bGk+QmV0dGVyIGhhbmRsaW5nIG9mIGZhaWxlZCBhbmFseXNpcyBydW5zPC9saT4KLQkJCQkJCQk8bGk+QWRkZWQgIi1sb29rIiBwYXJhbWV0ZXIgZm9yIHNlbGVjdGluZyBsb29rLWFuZC1mZWVsPC9saT4KLQkJCQkJCQk8bGk+Rml4ZWQgaW5jb3JyZWN0IHBhY2thZ2UgZmlsdGVyaW5nPC9saT4KLQkJCQkJCQk8bGk+Rml4ZWQgaXNzdWUgd2hlcmUgInN5bmNocm9uaXplZCIgd2FzIG5vdAotCQkJCQkJCQlzeW50YXgtaGlnaGxpZ2h0ZWQ8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkFudC10YXNrIENoYW5nZXMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+UmVmYWN0b3JlZCBjb21tb24gYW50LXRhc2sgY29kZSB0byBBYnN0cmFjdEZpbmRCdWdzVGFzazwvbGk+Ci0JCQkJCQkJPGxpPkFkZGVkIHRhc2tzIGZvciBjb21wdXRlQnVnSGlzdG9yeSwgY29udmVydFhtbFRvVGV4dCwKLQkJCQkJCQkJZmlsdGVyQnVncywgbWluZUJ1Z0hpc3RvcnksIHNldEJ1Z0RhdGFiYXNlSW5mbzwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+TWFudWFsCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPlVwZGF0ZXMgdG8gR1VJIHNlY3Rpb24sIGluY2x1ZGluZyBuZXcgc2NyZWVuc2hvdHM8L2xpPgotCQkJCQkJCTxsaT5BZGRlZCBkZXNjcmlwdGlvbiBvZiByZWphckZvckFuYWx5c2lzPC9saT4KLQkJCQkJCQk8bGk+UmV2YW1wIG9mIGRhdGEtbWluaW5nIHNlY3Rpb248L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPk90aGVyIE1ham9yCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPkludGVybmFsIHJlc3RydWN0dXJpbmcgZm9yIGxvd2VyIG1lbW9yeSBvdmVyaGVhZDwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+T3RoZXIgTWlub3IKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+Rml4ZWQgdHlwbzogd2FzIFNUQ0FMX1NUQVRJQ19TSU1QTEVfREFUQV9GT1JNQVRfSU5TVEFOQ0UKLQkJCQkJCQkJbm93IFNUQ0FMX1NUQVRJQ19TSU1QTEVfREFURV9GT1JNQVRfSU5TVEFOQ0U8L2xpPgotCQkJCQkJCTxsaT4tb3V0cHV0RmlsZSBwYXJhbWV0ZXIgYmVjYW1lIC1vdXRwdXQ8L2xpPgotCQkJCQkJCTxsaT5Nb3JlIHNlbnNpdGl2aXR5IGFuZCBzcGVjaWZpY2l0eSBpbkxhenlJbml0IGRldGVjdG9yPC9saT4KLQkJCQkJCQk8bGk+TW9yZSBzZW5zaXRpdml0eSBhbmQgc3BlY2lmaWNpdHkgaW4gTmFtaW5nIGRldGVjdG9yPC9saT4KLQkJCQkJCQk8bGk+TW9yZSBzZW5zaXRpdml0eSBhbmQgc3BlY2lmaWNpdHkgaW4gVW5yZWFkRmllbGRzCi0JCQkJCQkJCWRldGVjdG9yPC9saT4KLQkJCQkJCQk8bGk+TW9yZSBzZW5zaXRpdml0eSBpbiBGaW5kTnVsbERlcmVmIGRldGVjdG9yPC9saT4KLQkJCQkJCQk8bGk+TW9yZSBzZW5zaXRpdml0eSBpbiBGaW5kQmFkQ2FzdDIgZGV0ZWN0b3I8L2xpPgotCQkJCQkJCTxsaT5Nb3JlIHNwZWNpZmljaXR5IGluIEZpbmRSZXR1cm5SZWYgZGV0ZWN0b3I8L2xpPgotCQkJCQkJCTxsaT5NYW55IG90aGVyIHR3ZWFrcyBhbmQgYnVnIGZpeGVzPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAxLjIuMDwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5CdWcgZml4ZXM6Ci0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPjxhCi0JCQkJCQkJCWhyZWY9Imh0dHA6Ly9maXNoZXllMi5jZW5xdWEuY29tL2NoYW5nZWxvZy9maW5kYnVncy8/Y3M9ODIxOSI+Rml4PC9hPgotCQkJCQkJCQk8YQotCQkJCQkJCQlocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvaW5kZXgucGhwP2Z1bmM9ZGV0YWlsJmFpZD0xNzI2OTQ2Jmdyb3VwX2lkPTk2NDA1JmF0aWQ9NjE0NjkzIj5idWc8L2E+Ci0JCQkJCQkJCXdpdGggZGV0ZWN0b3JzIHRoYXQgd2VyZSByZXF1ZXN0ZWQgdG8gYmUgZGlzYWJsZWQgYnV0IHdlcmUKLQkJCQkJCQkJZW5hYmxlZCBkdWUgdG8gcmVxdWlyZW1lbnRzIG9mIG90aGVyIGRldGVjdG9ycy48L2xpPgotCQkJCQkJCTxsaT5GaXggYnVncyBpbiBpbmNyZW1lbnRhbCBhbmFseXNpcyB3aXRoaW4gRWNsaXBzZSBwbHVnaW48L2xpPgotCQkJCQkJCTxsaT5GaXggc29tZSBhbmFseXNpcyBlcnJvcnM8L2xpPgotCQkJCQkJCTxsaT5GaXggc29tZSB0aHJlYWRpbmcgYnVncyBpbiBHVUkyPC9saT4KLQkJCQkJCQk8bGk+UmVwb3J0IHZlcnNpb24gYXMgdmVyc2lvbiB3aGVuIGl0IHdhcyBjb21waWxlZCwgbm90IHdoZW4KLQkJCQkJCQkJaXQgd2FzIHJ1bjwvbGk+Ci0JCQkJCQkJPGxpPkNvcHkgYW5hbHlzaXMgdGltZSBzdGFtcCB3aGVuIGZpbHRlcmluZyBvciB0cmFuc2Zvcm1pbmcKLQkJCQkJCQkJYW5hbHlzaXMgZmlsZXMuPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTxsaT5FbmFibGVkIFN0YXRpY0NhbGVuZGFyRGV0ZWN0b3I8L2xpPgotCQkJCQk8bGk+UmV3b3JrZWQgR1VJMiB0byB1c2Ugc3RhbmRhcmQgRmluZEJ1Z3MgZmlsdGVycwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5BbGxvdyBhIHN1cHByZXNzaW9uIGZpbHRlciB0byBiZSBzdG9yZWQgaW4gYSBwcm9qZWN0IGFuZAotCQkJCQkJCQlwZXJzaXN0ZWQgdG8gdGhlIFhNTCByZXByZXNlbnRhdGlvbiBvZiBhIHByb2plY3QuPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0KLQkJCQkJPGxpPk1vdmUgYXdheSBmcm9tIG9sZCBHVUkyIHNhdmUgZm9ybWF0IChhIGRpcmVjdG9yeQotCQkJCQkJY29udGFpbmluZyBhbiB4bWwgZmlsZSBhbmQgYW5vdGhlciBmaWxlIGNvbnRhaW5pbmcgc2VyaWFsaXplZAotCQkJCQkJZmlsdGVycykuPC9saT4KLQkJCQkJPGxpPlN1cHBvcnQvcmVjb21tZW5kIHVzZSBvZiB0d28gbmV3IGZpbGUgZXh0ZW5zaW9ucy9mb3JtYXRzOgotCQkJCQkJPGRsPgotCQkJCQkJCTxkdD4uZmJhIC0gRmluZEJ1Z3MgQW5hbHlzaXMgRmlsZTwvZHQ+Ci0JCQkJCQkJPGRkPkV4YWN0bHkgdGhlIHNhbWUgYXMgYW4gZXhpc3RpbmcgYnVnIGNvbGxlY3Rpb24gZmlsZQotCQkJCQkJCQlzdG9yZWQgaW4gWE1MIGZvcm1hdCwgYnV0IHVzaW5nIGEgZGlzdGluY3QgZmlsZSBleHRlbnNpb24gdG8KLQkJCQkJCQkJbWFrZSBpdCBlYXNpZXIgdG8gZmlndXJlIG91dCB3aGljaCB4bWwgZmlsZXMgY29udGFpbiBGaW5kQnVncwotCQkJCQkJCQlyZXN1bHRzLjwvZGQ+Ci0JCQkJCQkJPGR0Pi5mYnAgLSBGaW5kQnVncyBQcm9qZWN0IEZpbGU8L2R0PgotCQkJCQkJCTxkZD5Db250YWlucyBqdXN0IHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gcnVuIEZpbmRCdWdzIGFuZAotCQkJCQkJCQlkaXNwbGF5IHRoZSByZXN1bHRzIChlLmcuLCB0aGUgZmlsZXMgdG8gYmUgYW5hbHl6ZWQsIHRoZQotCQkJCQkJCQlhdXhpbGlhcnkgY2xhc3MgcGF0aCBhbmQgdGhlIGxvY2F0aW9uIG9mIHNvdXJjZSBmaWxlcykKLQkJCQkJCTwvZGw+Ci0JCQkJCTwvbGk+Ci0JCQkJPC91bD4KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMS4xLjM8L3A+Ci0JCQkJPHVsPgotCQkJCQk8bGk+QWRkZWQgLXhtbDp3aXRoQWJyaWRnZWRNZXNzYWdlcyBvcHRpb24gdG8gZ2VuZXJhdGUgeG1sCi0JCQkJCQljb250YWluaW5nIHNob3J0ZXIgbWVzc2FnZXMuIFRoZSBtZXNzYWdlcyB3aWxsIGJlIHNob3J0ZWQgYnkgZG9pbmcKLQkJCQkJCXRoaW5ncyBsaWtlIGVsaWRpbmcgcGFja2FnZSBuYW1lcywgYW5kIGxlYXZpbmcgb2ZmIHRoZSBzb3VyY2UgbGluZQotCQkJCQkJZnJvbSB0aGUgTG9uZ01lc3NhZ2UuIFRoZXNlIG1lc3NhZ2VzIGFyZSBhcHByb3ByaWF0ZSBpZiBiZWluZyB1c2VkCi0JCQkJCQlpbiBhIGNvbnRleHQgd2hlcmUgdGhlIG5vbi1tZXNzYWdlIGNvbXBvbmVudHMgb2YgdGhlIGJ1ZwotCQkJCQkJYW5ub3RhdGlvbnMgd2lsbCBiZSB1c2VkIHRvIHByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiAoZS5nLiwKLQkJCQkJCWNsaWNraW5nIG9uIHRoZSBtZXNzYWdlIGZvciBhIE1ldGhvZEFubm90YXRpb24gd2lsbCBkaXNwbGF5IHRoZQotCQkJCQkJc291cmNlIGZvciB0aGUgbWV0aG9kKS4KLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+RmluZEJ1Z3NEaXNwbGF5RmVhdHVyZXMuc2V0QWJyaWRnZWRNZXNzYWdlcyh0cnVlKSBjYW4gYmUKLQkJCQkJCQkJdXNlZCB0byBnZW5lcmF0ZSBhYnJpZGdlZCBtZXNzYWdlcyB3aGVuIEZpbmRCdWdzIGlzIGJlaW5nCi0JCQkJCQkJCWFjY2Vzc2VkIGRpcmVjdGx5IChub3QgdmlhIGdlbmVyYXRlZCBYTUwpIGZyb20gYSBHVUkgb3IgSURFLjwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8bGk+SW4gbnVsbCBwb2ludGVyIGFuYWx5c2lzLCB0cnkgdG8gYmUgYmV0dGVyIGFib3V0IGFsd2F5cwotCQkJCQkJc2hvd2luZyB0d28gbG9jYXRpb25zOiB3aGVyZSBpdCBpcyBrbm93biBudWxsIGFuZCB3aGVyZSBpdCBpcwotCQkJCQkJZGVyZWZlcmVuY2VkLgotCQkJCQk8bGk+SW50ZXJwcm9jZWR1cmFsIGFuYWx5c2lzIG9mIHdoaWNoIG1ldGhvZHMgcmV0dXJuIG5vbm51bGwKLQkJCQkJCXZhbHVlcwotCQkJCQk8bGk+VXNlIG1ldGhvZCBjYWxscyB0byBzZWxlY3Qgb3JkZXIgaW4gd2hpY2ggY2xhc3NlcyBhcmUKLQkJCQkJCWFuYWx5emVkLCBhbmQgb3JkZXIgaW4gd2hpY2ggbWV0aG9kcyBhcmUgYW5hbHl6ZWQsIHRvIGltcHJvdmUKLQkJCQkJCWludGVycHJvY2VkdXJhbCBhbmFseXNpcyByZXN1bHRzLgotCQkJCQk8bGk+U2lnbmlmaWNhbnQgaW1wcm92ZW1lbnRzIGluIG1lbW9yeSBmb290cHJpbnQsIG1lbW9yeQotCQkJCQkJYWxsb2NhdGlvbiBhbmQgQ1BVIHV0aWxpemF0aW9uICgyMC0zMCUgcmVkdWN0aW9uIGluIGFsbCB0aHJlZSkKLQkJCQkJPGxpPkFkZGVkIGEgcHJvamVjdCBuYW1lLCB0byBwcm92aWRlIGJldHRlciBkZXNjcmlwdGlvbnMgaW4KLQkJCQkJCXRoZSBIVE1MIG91dHB1dC4KLQkJCQkJPGxpPkFkZGVkIG5ldyBidWcgcGF0dGVybjogQ2FzdGluZyB0byBjaGFyLCBvciBiaXQgbWFza2luZwotCQkJCQkJd2l0aCBub25uZWdhdGl2ZSB2YWx1ZSwgYW5kIHRoZW4gY2hlY2tpbmcgdG8gc2VlIGlmIHRoZSByZXN1bHQgaXMKLQkJCQkJCW5lZ2F0aXZlLgotCQkJCQk8bGk+U3RvcHBlZCByZXBvcnRpbmcgdHJhbnNpZW50IGZpZWxkcyBvZiBjbGFzc2VzIG5vdCBtYXJrZWQKLQkJCQkJCWFzIHNlcmlhbGl6YWJsZS4gVHJhbnNpZW50IGlzIHVzZWQgYnkgb3RoZXIgcGVyc2lzdGVuY2UKLQkJCQkJCWZyYW1ld29ya3MuCi0JCQkJCTxsaT5JbXByb3ZlbWVudHMgdG8gZGV0ZWN0b3IgZm9yIFNRTCBpbmplY3Rpb24gKFRoYW5rcyB0byA8YQotCQkJCQkJaHJlZj0iaHR0cDovL3d3dy5jbG9jay5vcmcvfm1hdHQiPk1hdHQgSGFyZ2V0dDwvYT4gZm9yIGhpcwotCQkJCQkJY29udHJpYnV0aW9ucwotCQkJCQk8bGk+Q2hhbmdlZCBvcGVuL3NhdmUgb3B0aW9ucyBpbiBHVUkyIHRvIG5vdCBkaXN0aW5ndWlzaAotCQkJCQkJYmV0d2VlbiBGaW5kQnVncyBwcm9qZWN0cyBhbmQgc2F2ZWQgRmluZEJ1Z3MgYW5hbHlzaXMgcmVzdWx0cy4KLQkJCQkJPGxpPkltcHJvdmVtZW50cyB0byBkZXRlY3Rpb24gb2Ygc2VyaW91cyBub24tc2hvcnQtY2lyY3VpdAotCQkJCQkJZXZhbHVhdGlvbi4KLQkJCQkJPGxpPlVwZGF0ZWQgSmFwYW5lc2UgbG9jYWxpemF0aW9uICh0aGFua3MgdG8gUnVpbW8gVW5vKQotCQkJCQk8bGk+RWNsaXBzZSBwbHVnaW4gY2hhbmdlczoKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+Q3JlYXRlZCBCdWcgVXNlciBBbm5vdGF0aW9ucyBhbmQgQnVnIFRyZWUgVmlld3MKLQkJCQkJCQk8bGk+VXNlIGRpZmZlcmVudCBpY29ucyBmb3IgZGlmZmVyZW50IGJ1ZyBwcmlvcml0aWVzCi0JCQkJCQkJPGxpPlByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiBpbiBCdWcgRGV0YWlscyB2aWV3Ci0JCQkJCQk8L3VsPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMS4xLjI6PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPkZpeGVkIGJyb2tlbiBBbnQgdGFzawotCQkJCQk8bGk+QWRkZWQgcnVubmluZyBhbnQgdGFzayB0byBzbW9rZSB0ZXN0Ci0JCQkJCTxsaT5BZGRlZCB2YWxpZGF0aW5nIHhtbCBhbmQgaHRtbCBvdXRwdXQgdG8gc21va2UgdGVzdAotCQkJCQk8bGk+Rml4ZWQgc29tZSAoYnV0IG5vdCBhbGwpIGlzc3VlcyB3aXRoIGh0bWwgb3V0cHV0Ci0JCQkJCQl2YWxpZGF0aW9uCi0JCQkJCTxsaT5BZGRlZCBjaGVjayBmb3IgeC5lcXVhbHMoeCkgYW5kIHguY29tcGFyZVRvKHgpCi0JCQkJCTxsaT5WYXJpb3VzIGJ1ZyBmaXhlcwotCQkJCTwvdWw+Ci0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDEuMS4xOjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5BZGRlZCBjaGVjayBmb3IgaW5maW5pdGUgaXRlcmF0aXZlIGxvb3BzPC9saT4KLQkJCQkJPGxpPkFkZGVkIGNoZWNrIGZvciB1c2Ugb2YgaW5jb21wYXRpYmxlIHR5cGVzIGluIGEgY29sbGVjdGlvbgotCQkJCQkJKGUuZy4sIGNoZWNraW5nIHRvIHNlZSBpZiBhIFNldCZsdDtTdHJpbmcmZ3Q7IGNvbnRhaW5zIGEKLQkJCQkJCVN0cmluZ0J1ZmZlcikuPC9saT4KLQkJCQkJPGxpPkFkZGVkIGNoZWNrIGZvciBpbnZvY2F0aW9ucyBvZiBlcXVhbHMgb3IgaGFzaENvZGUgb24gYQotCQkJCQkJVVJMLCB3aGljaCwgPGEKLQkJCQkJCWhyZWY9Imh0dHA6Ly9taWNoYWVsc2NoYXJmLmJsb2dzcG90LmNvbS8yMDA2LzExL2phdmFuZXR1cmxlcXVhbHMtYW5kLWhhc2hjb2RlLW1ha2UuaHRtbCI+c3VycHJpc2luZwotCQkJCQkJCW1hbnkgcGVvcGxlPC9hPiwgcmVxdWlyZXMgRE5TIHJlc29sdXRpb24uCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBjaGVjayBmb3IgY2xhc3NlcyB0aGF0IGRlZmluZSBjb21wYXJlVG8gYnV0IG5vdAotCQkJCQkJZXF1YWxzOyBzdWNoIGNsYXNzZXMgY2FuIGV4aGliaXQgc29tZSBhbm9tYWxvdXMgYmVoYXZpb3IgKGUuZy4sCi0JCQkJCQl0aGV5IGFyZSB0cmVhdGVkIGRpZmZlcmVudGx5IGJ5IFByaW9yaXR5UXVldWVzIGluIEphdmEgNSBhbmQgSmF2YQotCQkJCQkJNikuPC9saT4KLQkJCQkJPGxpPkFkZGVkIGEgY2hlY2sgZm9yIHVzZWxlc3Mgc2VsZiBvcGVyYXRpb25zIChlLmcuLCB4ICZsdDsgeAotCQkJCQkJb3IgeCBeIHgpLjwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBhIGRhdGEgcmFjZSB0aGF0IGNvdWxkIGNhdXNlIHRoZSBHVUkgdG8gZmFpbCBvbgotCQkJCQkJc3RhcnR1cDwvbGk+Ci0JCQkJCTxsaT5QYXJ0aWFsIGludGVybmF0aW9uYWxpemF0aW9uIG9mIHRoZSBuZXcgR1VJPC9saT4KLQkJCQkJPGxpPkZpeCBidWcgaW4gIlJlZG8gYW5hbHlzaXMiIG9wdGlvbiBvZiBuZXcgR1VJPC9saT4KLQkJCQkJPGxpPlR1bmluZyB0byByZWR1Y2UgZmFsc2UgcG9zaXRpdmVzPC9saT4KLQkJCQkJPGxpPkZpeGVkIGEgYnVnIGluIG51bGwgcG9pbnRlciBhbmFseXNpcyB0aGF0IHdhcyBnZW5lcmF0aW5nCi0JCQkJCQlmYWxzZSBwb3NpdGl2ZSBudWxsIHBvaW50ZXIgd2FybmluZ3Mgb24gZXhjZXB0aW9uIHBhdGhzLiBGaXhpbmcKLQkJCQkJCXRoaXMgYnVnIGVsaW1pbmF0ZXMgYWJvdXQgMS80IG9mIHRoZSB3YXJuaW5ncyBvbiBudWxsIHBvaW50ZXIKLQkJCQkJCWV4Y2VwdGlvbnMgb24gZXhjZXB0aW9uIHBhdGhzLjwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBhIGJ1ZyBpbiB0aGUgcHJvY2Vzc2luZyBvZiBwaGkgbm9kZXMgZm9yIGZpZWxkcyBpbgotCQkJCQkJdGhlIG51bGwgcG9pbnRlciBhbmFseXNpczwvbGk+Ci0JCQkJCTxsaT5BcHBsaWVkIGNvbnRyaWJ1dGVkIHBhdGNoIHRoYXQgcHJvdmlkZXMgbW9yZSBxdWljayBmaXhlcwotCQkJCQkJaW4gRWNsaXBzZSBwbHVnaW4uPC9saT4KLQkJCQkJPGxpPkZpeGVkIGEgbnVtYmVyIG9mIGJ1Z3MgaW4gdGhlIEVjbGlwc2UgYXV0byB1cGRhdGUgc2l0ZXMsCi0JCQkJCQlhbmQgaW4gdGhlIHdheSBkYXRlIHF1YWxpZmllcnMgd2VyZSBiZWluZyB1c2VkIGluIHRoZSBFY2xpcHNlCi0JCQkJCQlwbHVnaW4uIFlvdSBtYXkgbmVlZCB0byBtYW51YWxseSBkaXNhYmxlIHlvdXIgZXhpc3RpbmcgdmVyc2lvbiBvZgotCQkJCQkJdGhlIHBsdWdpbiBhbmQgZG93bmxvYWQgdGhlIDEuMS4yIGZyb20gdGhlIHVwZGF0ZSBzaXRlIHRvIGdldCB0aGUKLQkJCQkJCWF1dG9tYXRpYyB1cGRhdGUgZnVuY3Rpb24gd29ya2luZyBjb3JyZWN0bHkuIFRoZSBFY2xpcHNlIHVwZGF0ZQotCQkJCQkJc2l0ZXMgYXJlIGRlc2NyaWJlZCBhdCA8YQotCQkJCQkJaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZWNsaXBzZS8iPmh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UvPC9hPi4KLQotCQkJCQk8L2xpPgotCQkJCQk8bGk+Rml4ZWQgcHJvZ3Jlc3MgYmFyIGluIEVjbGlwc2UgcGx1Z2luPC9saT4KLQkJCQkJPGxpPkEgbnVtYmVyIG9mIG90aGVyIGJ1ZyBmaXhlcy48L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMS4xLjA6PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPmxlc3Mgc2Nhbm5pbmcgb2YgY2xhc3NlcyBub3Qgb24gdGhlIGFuYWx5c2lzIHBhdGggKFRoaXMKLQkJCQkJCXdhcyBjYXVzaW5nIHNvbWUgcGVyZm9ybWFuY2UgcHJvYmxlbXMuKTwvbGk+Ci0JCQkJCTxsaT5ubyB1bnJlYWQgZmllbGQgd2FybmluZ3MgZm9yIGZpZWxkcyBhbm5vdGF0ZWQgd2l0aAotCQkJCQkJamF2YXgucGVyc2lzdGVudCBvciBqYXZheC5lamIzPC9saT4KLQkJCQkJPGxpPkVjbGlwc2UgcGx1Z2luCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPmJ1ZyBhbm5vdGF0aW9uIGluZm8gZGlzcGxheWVkIGluIEJ1ZyBEZXRhaWxzIHRhYjwvbGk+Ci0JCQkJCQkJPGxpPi5mYndhcm5pbmdzIGRhdGEgZmlsZSBub3cgc3RvcmVkIGluIC5tZXRhZGF0YSAobm90IGluCi0JCQkJCQkJCXRoZSBwcm9qZWN0IGl0c2VsZik8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPm5ldyBTRV9CQURfRklFTERfSU5ORVJfQ0xBU1MgcGF0dGVybjwvbGk+Ci0JCQkJCTxsaT51cGRhdGVzIHRvIEphcGFuZXNlIHRyYW5zbGF0aW9uIChydWltbyk8L2xpPgotCQkJCQk8bGk+Zml4IHNvbWUgaW50ZXJuYWwgc2xhc2hlZC9kb3R0ZWQgcGF0aCBjb25mdXNpb248L2xpPgotCQkJCQk8bGk+b3RoZXIgbWlub3IgaW1wcm92ZW1lbnRzPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDEuMC4wOjwvcD4KLQotCQkJCTx1bD4KLQkJCQkJPGxpPk92ZXJhbGwsIHRoZSBjaGFuZ2UgZnJvbSBGaW5kQnVncyAxLjAuMCB0byBGaW5kQnVncyAxLjEuMAotCQkJCQkJaGFzIGJlZW4gYSBiaWcgY2hhbmdlLiBXZSd2ZSBkb25lIGEgbG90IG9mIHdvcmsgaW4gYSBsb3Qgb2YgYXJlYXMsCi0JCQkJCQlhbmQgYXJlbid0IGV2ZW4gZ29pbmcgdG8gdHJ5IHRvIGVudW1lcmF0ZSBhbGwgdGhlIGNoYW5nZXMuPC9saT4KLQkJCQkJPGxpPldlIHNwZW50IGEgbG90IG9mIHRpbWUgcmV2aWV3aW5nIHRoZSByZXN1bHRzIGdlbmVyYXRlZCBieQotCQkJCQkJRmluZEJ1Z3MgZm9yIG9wZW4gc291cmNlIGFuZCBjb21tZXJjaWFsIGNvZGUgYmFzZXMsIGFuZCBtYWRlIGEKLQkJCQkJCW51bWJlciBvZiBjaGFuZ2VzLCBzbWFsbCBhbmQgbGFyZ2UsIHRvIG1pbmltaXplIHRoZSBudW1iZXIgb2YKLQkJCQkJCWZhbHNlIHBvc2l0aXZlcy4gT3VyIHByaW1hcnkgZm9jdXMgZm9yIHRoaXMgd2FzIHdhcm5pbmdzIHJlcG9ydGVkCi0JCQkJCQlhcyBoaWdoIGFuZCBtZWRpdW0gcHJpb3JpdHkgY29ycmVjdG5lc3Mgd2FybmluZ3MuIE91ciBpbnRlcm5hbAotCQkJCQkJZXZhbHVhdGlvbiBpcyB0aGF0IHdlIHByb2R1Y2UgdmVyeSBmZXcgaGlnaC9tZWRpdW0gcHJpb3JpdHkKLQkJCQkJCWNvcnJlY3RuZXNzIHdhcm5pbmdzIHdoZXJlIHRoZSBhbmFseXNpcyBpcyBhY3R1YWxseSB3cm9uZywgYW5kCi0JCQkJCQl0aGF0IG1vcmUgdGhhbiA3NSUgb2YgdGhlIGhpZ2gvbWVkaXVtIHByaW9yaXR5IGNvcnJlY3RuZXNzCi0JCQkJCQl3YXJuaW5ncyBjb3JyZXNwb25kIHRvIHJlYWwgY29kaW5nIGRlZmVjdHMgdGhhdCBuZWVkIGFkZHJlc3NpbmcgaW4KLQkJCQkJCXRoZSBzb3VyY2UgY29kZS4gVGhlIHJlbWFpbmluZyAyNSUgYXJlIGxhcmdlbHkgY2FzZXMgc3VjaCBhcyBhCi0JCQkJCQlicmFuY2ggb3Igc3RhdGVtZW50IHRoYXQgaWYgdGFrZW4gd291bGQgbGVhZCB0byBhbiBlcnJvciwgYnV0IGluCi0JCQkJCQlmYWN0IGlzIGEgZGVhZCBicmFuY2ggb3Igc3RhdGVtZW50IHRoYXQgY2FuIG5ldmVyIGJlIHRha2VuLiBTdWNoCi0JCQkJCQljb2RpbmcgaXMgY29uZnVzaW5nIGFuZCBoYXJkIHRvIG1haW50YWluLCBzbyBpdCBzaG91bGQgYXJndWFibHkgYmUKLQkJCQkJCWZpeGVkLCBidXQgaXQgaXMgdW5saWtlbHkgdG8gYWN0dWFsbHkgcmVzdWx0IGluIGFuIGVycm9yIGR1cmluZwotCQkJCQkJZXhlY3V0aW9uLiBUaHVzLCBzb21lIG1pZ2h0IGNsYXNzaWZ5IHRob3NlIHdhcm5pbmdzIGFzIGZhbHNlCi0JCQkJCQlwb3NpdGl2ZXMuPC9saT4KLQkJCQkJPGxpPldlJ3ZlIHN1YnN0YW50aWFsbHkgaW1wcm92ZWQgdGhlIGFuYWx5c2lzIGZvciBlcnJvcnMgdGhhdAotCQkJCQkJY291bGQgcmVzdWx0IGluIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZXMuIE92ZXJhbGwsIG91ciBleHBlcmllbmNlCi0JCQkJCQloYXMgYmVlbiB0aGF0IHRoZXNlIGNoYW5nZXMgaGF2ZSByb3VnaGx5IGRvdWJsZWQgdGhlIG51bWJlciBvZgotCQkJCQkJbnVsbCBwb2ludGVyIGVycm9ycyB3ZSBkZXRlY3QsIHdpdGhvdXQgaW5jcmVhc2luZyB0aGUgbnVtYmVyIG9mCi0JCQkJCQlmYWxzZSBwb3NpdGl2ZXMgKGluIGZhY3QsIG91ciBmYWxzZSBwb3NpdGl2ZSByYXRlIGhhcyBnb25lIGRvd24pLgotCQkJCQkJVGhlIGltcHJvdmVtZW50cyBhcmUgZHVlIHRvIGZvdXIgZmFjdG9yczoKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+QnkgZGVmYXVsdCwgd2Ugbm93IGRvIHNvbWUgaW50ZXJwcm9jZWR1cmFsIGFuYWx5c2lzIHRvCi0JCQkJCQkJCWRldGVybWluZSBtZXRob2RzIHRoYXQgdW5jb25kaXRpb25hbGx5IGRlcmVmZXJlbmNlIHRoZWlyCi0JCQkJCQkJCXBhcmFtZXRlcnMuPC9saT4KLQkJCQkJCQk8bGk+RmluZEJ1Z3MgYWxzbyBjb21lcyB3aXRoIGEgbW9kZWwgb2Ygd2hpY2ggSkRLIG1ldGhvZHMKLQkJCQkJCQkJdW5jb25kaXRpb25hbGx5IGRlcmVmZXJlbmNlIHRoZWlyIHBhcmFtZXRlcnMuPC9saT4KLQkJCQkJCQk8bGk+V2UgZG8gbGltaXRlZCB0cmFja2luZyBvZiBmaWVsZHMsIHNvIHRoYXQgd2UgY2FuIGRldGVjdAotCQkJCQkJCQludWxsIHZhbHVlcyBzdG9yZWQgaW4gZmllbGRzIHRoYXQgbGVhZCB0byBleGNlcHRpb25zLjwvbGk+Ci0JCQkJCQkJPGxpPldlIGltcGxlbWVudGVkIGEgbmV3IGFuYWx5c2lzIHRlY2huaXF1ZSB0byBmaW5kCi0JCQkJCQkJCWd1YXJhbnRlZWQgZGVyZWZlcmVuY2VzLiBDb25zaWRlciB0aGUgZm9sbG93aW5nIGV4YW1wbGU6IDxwcmU+cHVibGljIGludCBmKE9iamVjdCB4LCBib29sZWFuIGIpIHsKLSAgaW50IHJlc3VsdCA9IDA7Ci0gIGlmICh4ID09IG51bGwpIHJlc3VsdCsrOwotICBlbHNlIHJlc3VsdC0tOwotICAvLyBhdCB0aGlzIHBvaW50LCB3ZSBrbm93IHggaXMgbnVsbCBvbiBhIHNpbXBsZSBwYXRoCi0gIGlmIChiKSB7Ci0gICAgLy8gYXQgdGhpcyBwb2ludCwgeCBpcyBvbmx5IG51bGwgb24gYSBjb21wbGV4IHBhdGgKLSAgICAvLyB3ZSBkb24ndCBrbm93IGlmIHRoZSBwYXRoIGluIHdoaWNoIHggaXMgbnVsbCBhbmQgYiBpcyB0cnVlIGlzIGZlYXNpYmxlCi0gICAgcmV0dXJuIHJlc3VsdCArIHguaGFzaENvZGUoKTsKLSAgICB9Ci0gIGVsc2UgewotICAgIC8vIGF0IHRoaXMgcG9pbnQsIHggaXMgb25seSBudWxsIG9uIGEgY29tcGxleCBwYXRoCi0gICAgLy8gd2UgZG9uJ3Qga25vdyBpZiB0aGUgcGF0aCBpbiB3aGljaCB4IGlzIG51bGwgYW5kIGIgaXMgZmFsc2UgaXMgZmVhc2libGUKLSAgICByZXR1cm4gcmVzdWx0IC0geC5oYXNoQ29kZSgpOwotICAgIH0KLTwvcHJlPgotCi0JCQkJCQkJCTxwPgotCQkJCQkJCQkJRmluZEJ1Z3MgMS4wIHVzZWQgZm9yd2FyZCBkYXRhZmxvdyBhbmFseXNpcyB0byBkZXRlcm1pbmUKLQkJCQkJCQkJCXdoZXRoZXIgZWFjaCB2YWx1ZSBpcyBkZWZpbml0ZWx5IG51bGwsIG51bGwgb24gYSBzaW1wbGUgcGF0aCwKLQkJCQkJCQkJCXBvc3NpYmxlIG51bGwgb24gYSBjb21wbGV4IHBhdGgsIG9yIGRlZmluaXRlbHkgbm9ubnVsbC4gVGh1cywKLQkJCQkJCQkJCWF0IHRoZSBzdGF0ZW1lbnQgd2hlcmUKLQkJCQkJCQkJCTxjb2RlPiByZXN1bHQgPC9jb2RlPgotCQkJCQkJCQkJaXMgZGVjcmVtZW50ZWQsIHdlIGtub3cgdGhhdAotCQkJCQkJCQkJPGNvZGU+IHggPC9jb2RlPgotCQkJCQkJCQkJaXMgZGVmaW5pdGVseSBudWxsLCBhbmQgYXQgdGhlIHBvaW50IGJlZm9yZQotCQkJCQkJCQkJPGNvZGU+IGlmIChiKSA8L2NvZGU+Ci0JCQkJCQkJCQksIHdlIGtub3cgdGhhdAotCQkJCQkJCQkJPGNvZGU+IHggPC9jb2RlPgotCQkJCQkJCQkJaXMgbnVsbCBvbiBhIHNpbXBsZSBwYXRoLiBJZgotCQkJCQkJCQkJPGNvZGU+IHggPC9jb2RlPgotCQkJCQkJCQkJd2VyZSB0byBiZSBkZXJlZmVyZW5jZWQgaGVyZSwgd2Ugd291bGQgZ2VuZXJhdGUgYSB3YXJuaW5nLAotCQkJCQkJCQkJYmVjYXVzZSBpZiB0aGUgZWxzZSBicmFuY2ggb2YgdGhlCi0JCQkJCQkJCQk8Y29kZT4gaWYgKHggPT0gbnVsbCkgPC9jb2RlPgotCQkJCQkJCQkJd2VyZSBldmVyIHRha2VuLCBhIG51bGwgcG9pbnRlciBleGNlcHRpb24gd291bGQgcmVzdWx0LgotCQkJCQkJCQk8L3A+Ci0KLQkJCQkJCQkJPHA+Ci0JCQkJCQkJCQlIb3dldmVyLCBpbiBib3RoIHRoZSB0aGVuIGFuZCBlbHNlIGJyYW5jaGVzIG9mIHRoZQotCQkJCQkJCQkJPGNvZGU+IGlmIChiKSA8L2NvZGU+Ci0JCQkJCQkJCQlzdGF0ZW1lbnQsCi0JCQkJCQkJCQk8Y29kZT4geCA8L2NvZGU+Ci0JCQkJCQkJCQlpcyBvbmx5IG51bGwgb24gYSBjb21wbGV4IHBhdGggdGhhdCBtYXkgYmUgaW5mZWFzaWJsZS4gSXQgbWlnaHQKLQkJCQkJCQkJCWJlIHRoYXQgdGhlIHByb2dyYW0gbG9naWMgaXMgc3VjaCB0aGF0IGlmCi0JCQkJCQkJCQk8Y29kZT4geCA8L2NvZGU+Ci0JCQkJCQkJCQlpcyBudWxsLCB0aGVuCi0JCQkJCQkJCQk8Y29kZT4gYiA8L2NvZGU+Ci0JCQkJCQkJCQlpcyBuZXZlciB0cnVlLCBzbyBnZW5lcmF0aW5nIGEgd2FybmluZyBhYm91dCB0aGUgZGVyZWZlcmVuY2UgaW4KLQkJCQkJCQkJCXRoZSB0aGVuIGNsYXVzZSBtaWdodCBiZSBhIGZhbHNlIHBvc2l0aXZlLiBXZSBjb3VsZCB0cnkgdG8KLQkJCQkJCQkJCWFuYWx5emUgdGhlIHByb2dyYW0gdG8gZGV0ZXJtaW5lIHdoZXRoZXIgaXQgaXMgcG9zc2libGUgZm9yCi0JCQkJCQkJCQk8Y29kZT4geCA8L2NvZGU+Ci0JCQkJCQkJCQl0byBiZSBudWxsIGFuZAotCQkJCQkJCQkJPGNvZGU+IGIgPC9jb2RlPgotCQkJCQkJCQkJdG8gYmUgdHJ1ZSwgYnV0IHRoYXQgY2FuIGJlIGEgaGFyZCBhbmFseXNpcyBwcm9ibGVtLgotCQkJCQkJCQk8L3A+Ci0KLQkJCQkJCQkJPHA+Ci0JCQkJCQkJCQlIb3dldmVyLAotCQkJCQkJCQkJPGNvZGU+IHggPC9jb2RlPgotCQkJCQkJCQkJaXMgZGVyZWZlcmVuY2VkIGluIGJvdGggdGhlIHRoZW4gPGVtPmFuZDwvZW0+IGVsc2UgYnJhbmNoZXMgb2YKLQkJCQkJCQkJCXRoZQotCQkJCQkJCQkJPGNvZGU+IGlmIChiKSA8L2NvZGU+Ci0JCQkJCQkJCQlzdGF0ZW1lbnQuIFNvIGF0IHRoZSBwb2ludCBpbW1lZGlhdGVseSBiZWZvcmUKLQkJCQkJCQkJCTxjb2RlPiBpZiAoYikgPC9jb2RlPgotCQkJCQkJCQkJLCB3ZSBrbm93IHRoYXQKLQkJCQkJCQkJCTxjb2RlPiB4IDwvY29kZT4KLQkJCQkJCQkJCWlzIG51bGwgb24gYSBzaW1wbGUgcGF0aCA8ZW0+YW5kPC9lbT4gdGhhdAotCQkJCQkJCQkJPGNvZGU+IHggPC9jb2RlPgotCQkJCQkJCQkJaXMgZ3VhcmFudGVlZCB0byBiZSBkZXJlZmVyZW5jZWQgb24gYWxsIHBhdGhzIGZyb20gdGhpcyBwb2ludAotCQkJCQkJCQkJZm9yd2FyZC4gRmluZEJ1Z3MgMS4xIHBlcmZvcm1zIGEgYmFja3dhcmRzIGRhdGEgZmxvdyBhbmFseXNpcwotCQkJCQkJCQkJdG8gZGV0ZXJtaW5lIHRoZSB2YWx1ZXMgdGhhdCBhcmUgZ3VhcmFudGVlZCB0byBiZSBkZXJlZmVyZW5jZWQsCi0JCQkJCQkJCQlhbmQgd2lsbCBnZW5lcmF0ZSBhIHdhcm5pbmcgaW4gdGhpcyBjYXNlLgotCQkJCQkJCQk8L3A+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCQk8cD4KLQkJCQkJCQlUaGUgZm9sbG93aW5nIHNjcmVlbiBzaG90IG9mIG91ciBuZXcgR1VJIHNob3dzIGFuIGV4YW1wbGUgb2YgdGhpcwotCQkJCQkJCWFuYWx5c2lzLCBhcyB3ZWxsIGFzIHNob3dpbmcgb2ZmIG91ciBuZXcgR1VJIGFuZCBwb2ludHMgb3V0IGEKLQkJCQkJCQlsaW1pdGF0aW9uIG9mIG91ciBjdXJyZW50IHBsdWdpbnMgZm9yIEVjbGlwc2UgYW5kIE5ldEJlYW5zLiBUaGUKLQkJCQkJCQlzY3JlZW4gc2hvdCBzaG93cyBhIG51bGwgcG9pbnRlciBidWcgaW4gSGVscERpc3BsYXkuamF2YS4gVGhlCi0JCQkJCQkJdGVzdCBmb3IKLQkJCQkJCQk8Y29kZT4gaHJlZiE9bnVsbCA8L2NvZGU+Ci0JCQkJCQkJb24gbGluZSA3OCBzdWdnZXN0cyB0aGF0Ci0JCQkJCQkJPGNvZGU+IGhyZWYgPC9jb2RlPgotCQkJCQkJCWNvdWxkIGJlIG51bGwuIElmIGl0IGlzLCB0aGVuCi0JCQkJCQkJPGNvZGU+IGhyZWYgPC9jb2RlPgotCQkJCQkJCXdpbGwgYmUgZGVyZWZlcmVuY2VkIG9uIGVpdGhlciBsaW5lIDg3IG9yIG9uIGxpbmUgOTAsIGdlbmVyYXRpbmcKLQkJCQkJCQlhIE5QRS4gTm90ZSB0aGF0IG91ciBhbmFseXNpcyBoZXJlIGFsc28gdW5kZXJzdGFuZHMgdGhhdCBwYXNzaW5nCi0JCQkJCQkJPGNvZGU+IGhyZWYgPC9jb2RlPgotCQkJCQkJCXRvCi0JCQkJCQkJPGNvZGU+IFVSTEVuY29kZXIuZW5jb2RlIDwvY29kZT4KLQkJCQkJCQl3aWxsIGRlZmVyZW5jZSBpdCwgYW5kIHRodXMgdHJlYXRzIGxpbmUgODcgYXMgYSBkZXJlZmVyZW5jZSwgZXZlbgotCQkJCQkJCXRob3VnaAotCQkJCQkJCTxjb2RlPiBocmVmIDwvY29kZT4KLQkJCQkJCQlpcyBub3QgYWN0dWFsbHkgZGVyZWZlcmVuY2VkIGF0IHRoYXQgbGluZS4gV2l0aGluIG91ciBuZXcgR1VJLAotCQkJCQkJCWFsbCBvZiB0aGVzZSBsb2NhdGlvbnMgYXJlIGhpZ2hsaWdodGVkIGFuZCBsaXN0ZWQgaW4gdGhlIHN1bW1hcnkKLQkJCQkJCQlwYW5lbC4gSW4gdGhlIG9yaWdpbmFsIEdVSSAoYW5kIGluIEhUTUwgb3V0cHV0KSB3ZSBsaXN0IGFsbCBvZgotCQkJCQkJCXRoZSBsb2NhdGlvbnMsIGJ1dCBvbmx5IHRoZSBwcmltYXJ5IGxvY2F0aW9uIGlzIGhpZ2hsaWdodGVkIGJ5Ci0JCQkJCQkJdGhlIG9yaWdpbmFsIEdVSS4gSW4gdGhlIEVjbGlwc2UgYW5kIE5ldEJlYW5zIHBsdWdpbnMsIG9ubHkgdGhlCi0JCQkJCQkJcHJpbWFyeSBsb2NhdGlvbiBpcyBkaXNwbGF5ZWQ7IGZpeGluZyB0aGlzIGlzIG9uIG91ciB0b2RvIGxpc3QKLQkJCQkJCQkoY29udHJpYnV0aW9ucyB3ZWxjb21lKS4KLQkJCQkJCTwvcD4KLQkJCQkJCTxwPgotCQkJCQkJCTxpbWcgc3JjPSJndWFyYW50ZWVkRGVyZWZlcmVuY2UucG5nIiBhbHQ9IiI+Ci0KLQotCQkJCQkJPC9wPgotCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5QcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBkZXRlY3RvcnMgdXNpbmcgdGhlIGZyYW1ld29ya3MKLQkJCQkJCW90aGVyIHRoYW4gQkNFTCwgc3VjaCBhcyB0aGUgPGEgaHJlZj0iaHR0cDovL2FzbS5vYmplY3R3ZWIub3JnLyI+QVNNPC9hPgotCQkJCQkJYnl0ZWNvZGUgZnJhbWV3b3JrLiBZb3UgbWF5IGV4cGVyaW1lbnQgd2l0aCB3cml0aW5nIEFTTS1iYXNlZAotCQkJCQkJZGV0ZWN0b3JzLCBidXQgYmV3YXJlIHRoZSBBUEkgbWF5IHN0aWxsIGNoYW5nZSAod2hpY2ggY291bGQKLQkJCQkJCXBvc3NpYmx5IGFsc28gYWZmZWN0IEJDRUwtYmFzZWQgZGV0ZWN0b3JzKS4gSW4gZ2VuZXJhbCwgd2UndmUKLQkJCQkJCXN0YXJ0ZWQgdHJ5aW5nIHRvIG1vdmUgYXdheSBmcm9tIGEgZGVlcCBkZXBlbmRlbmNlIG9uIEJDRUwsIGJ1dAotCQkJCQkJdGhhdCBjaGFuZ2UgaXMgb25seSBwYXJ0aWFsbHkgY29tcGxldGUuIFByb2JhYmx5IGJlc3QgdG8ganVzdAotCQkJCQkJYXZvaWQgdGhpcyB1bnRpbCB3ZSBjb21wbGV0ZSBtb3JlIHdvcmsgb24gdGhpcy4gVGhpcyBjaGFuZ2UgaXMKLQkJCQkJCW9ubHkgdmlzaWJsZSB0byBGaW5kQnVncyBwbHVnaW4gZGV2ZWxvcGVycywgYW5kIHNob3VsZG4ndCBiZQotCQkJCQkJdmlzaWJsZSB0byBGaW5kQnVncyB1c2Vycy4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPgotCQkJCQkJPHA+QnVnIGNhdGVnb3JpZXMgKENPUlJFQ1RORVNTLCBNVF9DT1JSRUNUTkVTUywgZXRjLikgYXJlIG5vCi0JCQkJCQkJbG9uZ2VyIGhhcmQtY29kZWQsIGJ1dCByYXRoZXIgZGVmaW5lZCBpbiB4bWwgZmlsZXMgYXNzb2NpYXRlZAotCQkJCQkJCXdpdGggcGx1Z2lucywgaW5jbHVkaW5nIHRoZSBjb3JlIHBsdWdpbiB3aGljaCBkZWZpbmVzIHRoZQotCQkJCQkJCXN0YW5kYXJkIGNhdGVnb3JpZXMuIFRoaXJkLXBhcnR5IHBsdWdpbnMgY2FuIGRlZmluZSB0aGVpciBvd24KLQkJCQkJCQljYXRlZ29yaWVzLjwvcD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPgotCQkJCQkJPHA+U2V2ZXJhbCBidWcgcGF0dGVybnMgaGF2ZSBiZWVuIG1vdmVkIGZyb20gQ09SUkVDVE5FU1MgYW5kCi0JCQkJCQkJU1RZTEUgaW50byBhIG5ldyBjYXRlZ29yeSwgQkFEX1BSQUNUSUNFLiBUaGUgRW5nbGlzaCBsb2NhbGl6YXRpb24KLQkJCQkJCQlvZiBTVFlMRSBoYXMgY2hhbmdlZCBmcm9tICJTdHlsZSIgdG8gIkRvZGd5LiI8L3A+Ci0JCQkJCQk8cD5JbiBnZW5lcmFsLCB3ZSd2ZSB3b3JrZWQgdmVyeSBoYXJkIHRvIGxpbWl0IENPUlJFQ1RORVNTCi0JCQkJCQkJYnVncyB0byBiZSByZWFsIHByb2dyYW1taW5nIGVycm9ycyBhbmQgc2lucyBvZiBjb21taXNzaW9uLiBXZQotCQkJCQkJCWhhdmUgcmVjbGFzc2lmaWVkIGFzIEJBRF9QUkFDVElDRSBhIG51bWJlciBvZiBiYWQgZGVzaWduCi0JCQkJCQkJcHJhY3RpY2VzIHRoYXQgcmVzdWx0IGluIG92ZXJseSBmcmFnaWxlIGNvZGUsIHN1Y2ggYXMgZGVmaW5pbmcgYW4KLQkJCQkJCQllcXVhbHMgbWV0aG9kIHRoYXQgZG9lc24ndCBhY2NlcHQgbnVsbCBvciBkZWZpbmluZyBjbGFzcyB3aXRoIGEKLQkJCQkJCQllcXVhbHMgbWV0aG9kIHRoYXQgaW5oZXJpdHMgaGFzaENvZGUgZnJvbSBjbGFzcyBPYmplY3QuPC9wPgotCQkJCQkJPHA+SW4gZ2VuZXJhbCwgb3VyIGd1aWRlbGluZXMgZm9yIGRlY2lkaW5nIHdoZXRoZXIgYSBidWcKLQkJCQkJCQlzaG91bGQgYmUgY2xhc3NpZmllZCBhcyBDT1JSRUNUTkVTUywgQkFEX1BSQUNUSUNFIG9yIFNUWUxFIGFyZTo8L3A+Ci0JCQkJCQk8ZGw+Ci0JCQkJCQkJPGR0PkNPUlJFQ1RORVNTPC9kdD4KLQkJCQkJCQk8ZGQ+QSBwcm9ibGVtIHRoYXQgd2UgY2FuIHJlY29nbml6ZSB3aXRoIGhpZ2ggY29uZmlkZW5jZSBhbmQKLQkJCQkJCQkJaXMgYW4gaXNzdWUgdGhhdCB3ZSBiZWxpZXZlIGFsbW9zdCBhbGwgZGV2ZWxvcGVycyB3b3VsZCB3YW50IHRvCi0JCQkJCQkJCWV4YW1pbmUgYW5kIGFkZHJlc3MuIFdlIHJlY29tbWVuZCB0aGF0IHNvZnR3YXJlIHRlYW1zIHJldmlldyBhbGwKLQkJCQkJCQkJaGlnaCBhbmQgbWVkaXVtIHByaW9yaXR5IHdhcm5pbmdzIGluIHRoZWlyIGVudGlyZSBjb2RlIGJhc2UuPC9kZD4KLQkJCQkJCQk8ZHQ+QkFEX1BSQUNUSUNFPC9kdD4KLQkJCQkJCQk8ZGQ+QSBwcm9ibGVtIHRoYXQgd2UgY2FuIHJlY29nbml6ZSB3aXRoIGhpZ2ggY29uZmlkZW5jZSBhbmQKLQkJCQkJCQkJcmVwcmVzZW50cyBhIGNsZWFyIHZpb2xhdGlvbiBvZiByZWNvbW1lbmRlZCBhbmQgc3RhbmRhcmQgY29kaW5nCi0JCQkJCQkJCXByYWN0aWNlLiBXZSBiZWxpZXZlIGVhY2ggc29mdHdhcmUgdGVhbSBzaG91bGQgZGVjaWRlIHdoaWNoIGJhZAotCQkJCQkJCQlwcmFjdGljZXMgaWRlbnRpZmllZCBieSBGaW5kQnVncyBpdCB3YW50cyB0byBwcm9oaWJpdCBpbiB0aGUKLQkJCQkJCQkJdGVhbSdzIGNvZGluZyBzdGFuZGFyZCwgYW5kIHRha2UgYWN0aW9uIHRvIHJlbWVkeSB2aW9sYXRpb25zIG9mCi0JCQkJCQkJCXRob3NlIGNvZGluZyBzdGFuZGFyZHMuPC9kZD4KLQkJCQkJCQk8ZHQ+U1RZTEU8L2R0PgotCQkJCQkJCTxkZD5UaGVzZSBhcmUgcGxhY2VzIHdoZXJlIHNvbWV0aGluZyBzdHJhbmdlIG9yIGRvZGd5IGlzCi0JCQkJCQkJCWdvaW5nIG9uLCBzdWNoIGFzIGEgZGVhZCBzdG9yZSB0byBhIGxvY2FsIHZhcmlhYmxlLiBUeXBpY2FsbHksCi0JCQkJCQkJCWxlc3MgdGhhbiBoYWxmIG9mIHRoZXNlIHJlcHJlc2VudCBhY3Rpb25hYmxlIHByb2dyYW1taW5nCi0JCQkJCQkJCWRlZmVjdHMuIFJldmlld2luZyB0aGVzZSB3YXJuaW5ncyBpbiBhbnkgY29kZSB1bmRlciBhY3RpdmUKLQkJCQkJCQkJZGV2ZWxvcG1lbnQgaXMgcHJvYmFibHkgYSBnb29kIGlkZWEsIGJ1dCByZXZpZXdpbmcgYWxsIHN1Y2gKLQkJCQkJCQkJd2FybmluZ3MgaW4geW91ciBlbnRpcmUgY29kZSBiYXNlIG1pZ2h0IGJlIGFwcHJvcHJpYXRlIG9ubHkgaW4KLQkJCQkJCQkJc29tZSBzaXR1YXRpb25zLiBJbmRpdmlkdWFsIG9yIHRlYW0gcHJvZ3JhbW1pbmcgc3R5bGVzIGNhbgotCQkJCQkJCQlzdWJzdGFudGlhbGx5IGluZmx1ZW5jZSB0aGUgZWZmZWN0aXZlbmVzcyBvZiBlYWNoIG9mIHRoZXNlCi0JCQkJCQkJCXdhcm5pbmdzIChlLmcuLCB5b3UgbWlnaHQgaGF2ZSBhIGNvZGluZyBwcmFjdGljZSBvciBzdHlsZSBpbgotCQkJCQkJCQl5b3VyIGdyb3VwIHRoYXQgY29uZnVzZXMgb25lIG9mIHRoZSBkZXRlY3RvcnMgaW50byBnZW5lcmF0aW5nIGEKLQkJCQkJCQkJbG90IG9mIFNUWUxFIHdhcm5pbmdzKTsgeW91IHdpbGwgbGlrZWx5IHdhbnQgdG8gc2VsZWN0aXZlbHkKLQkJCQkJCQkJc3VwcHJlc3Mgb3IgcmVwb3J0IHRoZSBTVFlMRSB3YXJuaW5ncyB0aGF0IGFyZSBlZmZlY3RpdmUgZm9yCi0JCQkJCQkJCXlvdXIgZ3JvdXAuPC9kZD4KLQkJCQkJCTwvZGw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5SZWxlYXNlZCBhIHByZWxpbWluYXJ5IHZlcnNpb24gb2YgYSBuZXcgR1VJIChrbm93bgotCQkJCQkJaW50ZXJuYWxseSBhcyBHVUkyIC0tIG5vdCB2ZXJ5IGNyZWF0aXZlLCBodWg/KTwvbGk+Ci0JCQkJCTxsaT5Qcm92aWRlZCBzdGFuZGFyZCB3YXlzIHRvIG1hcmsgdXNlciBkZXNpZ25hdGlvbnMgb2YgYnVnCi0JCQkJCQl3YXJuaW5ncyAoZS5nLiwgYXMgTk9UX0FfQlVHIG9yIFNIT1VMRF9GSVgpLiBUaGUgaW50ZXJuYWwgbG9naWMKLQkJCQkJCW5vdyByZWNvcmRzIHRoaXMsIGl0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBYTUwgZmlsZSwgYW5kIEdVSTIKLQkJCQkJCWFsbG93cyB0aGUgZGVzaWduYXRpb25zIHRvIGJlIGFwcGxpZWQgKGFsb25nIHdpdGggZnJlZS1mb3JtIHVzZXIKLQkJCQkJCWFubm90YXRpb25zIGFib3V0IGVhY2ggd2FybmluZykuIFRoZSB1c2VyIGRlc2lnbmF0aW9ucyBhbmQKLQkJCQkJCWFubm90YXRpb25zIGFyZSBub3QgeWV0IHN1cHBvcnRlZCBieSB0aGUgRWNsaXBzZSBwbHVnaW4sIGJ1dCB3ZQotCQkJCQkJY2xlYXJseSB3YW50IHRvIHN1cHBvcnQgaXQgaW4gRWNsaXBzZSBzaG9ydGx5LjwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBhIGNoZWNrIGZvciBhIGJhZCBjb21wYXJpc29uIHdpdGggYSBzaWduZWQgYnl0ZSB3aXRoCi0JCQkJCQlhIHZhbHVlIG5vdCBpbiB0aGUgcmFuZ2UgLTEyOC4uMTI3LiBGb3IgZXhhbXBsZTogPHByZT5ib29sZWFuIGZpbmQyMDAoYnl0ZSBiW10pIHsKLSAgZm9yKGludCBpID0gMDsgaSAmbHQ7IGIubGVuZ3RoOyBpKyspIGlmIChiW2ldID09IDIwMCkgcmV0dXJuIGk7Ci0gIHJldHVybiAtMTsKLX0KLTwvcHJlPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+QWRkZWQgYSBjaGVja2luZyBmb3IgdGVzdGluZyBpZiBhIHZhbHVlIGlzIGVxdWFsIHRvCi0JCQkJCQlEb3VibGUuTmFOIChubyB2YWx1ZSBpcyBlcXVhbCB0byBOYU4sIG5vdCBldmVuIE5hTikuPC9saT4KLQkJCQkJPGxpPkFkZGVkIGEgY2hlY2sgZm9yIHVzaW5nIGEgY2xhc3Mgd2l0aCBhbiBlcXVhbHMgbWV0aG9kIGJ1dAotCQkJCQkJbm8gaGFzaENvZGUgbWV0aG9kIGluIGEgaGFzaGVkIGRhdGEgc3RydWN0dXJlLjwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBjaGVjayBmb3IgdW5jYWxsYWJsZSBtZXRob2Qgb2YgYW4gYW5vbnltb3VzIGlubmVyCi0JCQkJCQljbGFzcy4gRm9yIGV4YW1wbGUsIGluIHRoZSBmb2xsb3dpbmcgY29kZSwgaXQgaXMgaW1wb3NzaWJsZSB0bwotCQkJCQkJaW52b2tlIHRoZSBpbml0YWxWYWx1ZSBtZXRob2QgKGJlY2F1c2UgdGhlIG5hbWUgaXMgbWlzc3BlbGxlZCBhbmQKLQkJCQkJCWFzIGEgcmVzdWx0IGlzIGRvZXNuJ3Qgb3ZlcnJpZGUgYSBtZXRob2QgaW4gVGhyZWFkTG9jYWwpLiA8cHJlPnByaXZhdGUgc3RhdGljIFRocmVhZExvY2FsIHNlcmlhbE51bSA9IG5ldyBUaHJlYWRMb2NhbCgpIHsKLSAgICAgICAgIHByb3RlY3RlZCBzeW5jaHJvbml6ZWQgT2JqZWN0IGluaXRhbFZhbHVlKCkgewotICAgICAgICAgICAgIHJldHVybiBuZXcgSW50ZWdlcihuZXh0U2VyaWFsTnVtKyspOwotICAgICAgICAgfQotICAgICB9OwotPC9wcmU+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBjaGVjayBmb3IgYSBkZWFkIGxvY2FsIHN0b3JlIGNhdXNlZCBieSBhIHN3aXRjaAotCQkJCQkJc3RhdGVtZW50IGZhbGwgdGhyb3VnaDwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBjaGVjayBmb3IgY29tcHV0aW5nIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiBhIHJhbmRvbQotCQkJCQkJMzIgYml0IGludGVnZXIgb3Igb2YgYSBoYXNoY29kZS4gVGhpcyBpcyBicm9rZW4gYmVjYXVzZSA8Y29kZT4KLQkJCQkJCQlNYXRoLmFicyhJbnRlZ2VyLk1JTl9WQUxVRSkgPT0gSW50ZWdlci5NSU5fVkFMVUUgPC9jb2RlPiAsIGFuZCB0aHVzCi0JCQkJCQlyZXN1bHQgb2YgY2FsbGluZyBNYXRoLmFicywgd2hpY2ggaXMgZXhwZWN0ZWQgdG8gYmUgbm9ubmVnYXRpdmUsCi0JCQkJCQl3aWxsIGluIGZhY3QgYmUgbmVnYXRpdmUgb25lIHRpbWUgb3V0IG9mIDIgPHN1cD4gMzIgPC9zdXA+ICwgd2hpY2gKLQkJCQkJCXdpbGwgaW52YXJpYWJseSBiZSB0aGUgdGltZSB5b3VyIGJvc3MgaXMgZGVtb2luZyB0aGUgc29mdHdhcmUgdG8KLQkJCQkJCXlvdXIgY3VzdG9tZXJzLgotCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5Nb3JlIGNhcmVmdWwgcmVzb2x1dGlvbiBvZiBpbmhlcml0ZWQgbWV0aG9kcyBhbmQgZmllbGRzLgotCQkJCQkJU29tZSBvZiB0aGUgc2hvcnRjdXRzIHdlIHdlcmUgdGFraW5nIGluIEZpbmRCdWdzIDEuMC4wIHdlcmUKLQkJCQkJCWxlYWRpbmcgdG8gaW5hY2N1cmF0ZSByZXN1bHRzLCBhbmQgaXQgd2FzIGZhaXJseSBlYXN5IHRvIGFkZHJlc3MKLQkJCQkJCXRoaXMgYnkgbWFraW5nIHRoZSBhbmFseXNpcyBtb3JlIGFjY3VyYXRlLjwvbGk+Ci0JCQkJCTxsaT5PdmVyYWxsLCBhbmFseXNpcyB0aW1lcyBhcmUgYWJvdXQgMS42IHRpbWVzIGxvbmdlciBpbgotCQkJCQkJRmluZEJ1Z3MgMS4xLjAgdGhhbiBpbiBGaW5kQnVncyAxLjAuMC4gVGhpcyBpcyBiZWNhdXNlIHdlIGhhdmUKLQkJCQkJCWVuYWJsZWQgc3Vic3RhbnRpYWwgYWRkaXRpb25hbCBhbmFseXNpcyBhdCB0aGUgZGVmYXVsdCBlZmZvcnQKLQkJCQkJCWxldmVsICh0aGUgYWN0dWFsIGFuYWx5c2lzIGVuZ2luZSBpcyBzaWduaWZpY2FudGx5IGZhc3RlciB0aGFuIGluCi0JCQkJCQlGaW5kQnVncyAxLjApLiBPbiBhIHJlY2VudCBBTUQgQXRobG9uIHByb2Nlc3NvciwgYW5hbHl6aW5nCi0JCQkJCQlKREsxLjYuMCAoYWJvdXQgMSBtaWxsaW9uIGxpbmVzIG9mIGNvZGUpIHJlcXVpcmVzIGFib3V0IDE1IG1pbnV0ZXMKLQkJCQkJCW9mIHdhbGwgY2xvY2sgdGltZS48L2xpPgotCQkJCQk8bGk+UHJvdmlkZWQgY2xhc3MgYW5kIHNjcmlwdCAocHJpbnRDbGFzcykgdG8gcHJpbnQgY2xhc3NmaWxlCi0JCQkJCQlpbiB0aGUgaHVtYW4gcmVhZGFibGUgZm9ybWF0IHByb2R1Y2VkIGJ5IEJDRUw8L2xpPgotCQkJCQk8bGk+UHJvdmlkZWQgLWZpbmRTb3VyY2Ugb3B0aW9uIHRvIHNldEJ1Z0RhdGFiYXNlSW5mbzwvbGk+Ci0JCQkJPC91bD4KLQotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuOS43OjwvcD4KLQotCQkJCTx1bD4KLQkJCQkJPGxpPmZpeCBPYmplY3RUeXBlRmFjdG9yeSBidWcgdGhhdCB3YXMgc3VwcHJlc3Npbmcgc29tZSBidWdzPC9saT4KLQkJCQkJPGxpPm9wY29kZSBzdGFjayBtYXkgZGV0ZXJtaW5lIGRlZmluaXRlIHplcm9zIG9uIHNvbWUgcGF0aHM8L2xpPgotCQkJCQk8bGk+b3Bjb2RlIHN0YWNrIGNhbiB0cmFjayBzb21lIGNvbnN0YW50IHN0cmluZyBjb25jYXRlbmF0aW9ucwotCQkJCQkJKGRicm9zaXVzKTwvbGk+Ci0JCQkJCTxsaT5kZWZhdWx0IGVmZm9ydCBwZXJmb3JtcyBpdGVyYXRpdmUgb3Bjb2RlIGFuYWx5c2lzIChidXQgbWluCi0JCQkJCQllZmZvcnQgZG9lcyBub3QpPC9saT4KLQkJCQkJPGxpPmRlZmF1bHQgaGVhcCBzaXplIHVwcGVkIHRvIDM4NG08L2xpPgotCQkJCQk8bGk+c2NoZW1hIGZvciBYTUwgb3V0cHV0IGF2YWlsYWJsZTogYnVnY29sbGVjdGlvbi54c2Q8L2xpPgotCQkJCQk8bGk+Zml4ZWQgc29tZSBpbnRlcm5hbCBjb25mdXNpb24gYmV0d2VlbiBkb3R0ZWQgYW5kIHNsYXNoZWQKLQkJCQkJCWNsYXNzIG5hbWVzPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvcnMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+Q2hlY2tJbW11dGFibGVBbm5vdGF0aW9uLmphdmE6IGNoZWNrcyBKQ0lQIGFubm90YXRpb25zPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5VcGRhdGVkIGRldGVjdG9ycwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5CYWRSZWdFeC5qYXZhOiB1bmRlcnN0YW5kcyBQYXR0ZXJuLkxJVEVSQUwsIHdhcm5zIGFib3V0Ci0JCQkJCQkJCSIuIjwvbGk+Ci0JCQkJCQkJPGxpPkZpbmRVbnJlbGVhc2VkTG9jay5qYXZhOiBmZXdlciBmYWxzZSBwb3NpdGl2ZXM8L2xpPgotCQkJCQkJCTxsaT5EdW1iTWV0aG9kcy5qYXZhOiBjaGVjayBmb3IgdmFjdW91cyBjb21wYXJpc29ucyB0bwotCQkJCQkJCQlNQVhfSU5URUdFUiBvciBNSU5fSU5URUdFUiwgZml4IGJ1Z3MgZGV0ZWN0aW5nCi0JCQkJCQkJCURNX05FWFRJTlRfVklBX05FWFRET1VCTEU8L2xpPgotCQkJCQkJCTxsaT5GaW5kUHV6emxlcnMuamF2YTogZGV0ZWN0IDx0dD5uJTI9PTE8L3R0PiwgZGV0ZWN0Ci0JCQkJCQkJCXRvU3RyaW5nKCkgb24gYXJyYXkgdHlwZXMKLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5GaW5kSW5jb25zaXN0ZW50U3luYzIuamF2YTogZGV0ZWN0cyBJU19GSUVMRF9OT1RfR1VBUkRFRAotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPk1ldGhvZFJldHVybkNoZWNrLmphdmE6IGFkZCBjaGVjayBmb3IgZGlzY2FyZGVkIG5ld2x5Ci0JCQkJCQkJCWNvbnN0cnVjdGVkIHZhbHVlcywgaW5jcmVhc2UgcHJpb3JpdHkgb2Ygc29tZSBpZ25vcmVkCi0JCQkJCQkJCWNvbnN0cnVjdGVkIGV4Y2VwdGlvbnMsIGJldHRlciBoYW5kbGluZyBvZiBieXRlY29kZSBjb21waWxlZCBieQotCQkJCQkJCQlFY2xpcHNlPC9saT4KLQkJCQkJCQk8bGk+RmluZEVtcHR5U3luY2hyb25pemVkQmxvY2suamF2YTogYmV0dGVyIGhhbmRsaW5nIG9mCi0JCQkJCQkJCWJ5dGVjb2RlIGNvbXBpbGVkIGJ5IEVjbGlwc2U8L2xpPgotCQkJCQkJCTxsaT5Eb0luc2lkZURvUHJpdmlsZWdlZC5qYXZhOiB3YXJuIGlmIGNhbGwgdG8gc2V0QWNjZXNzaWJsZQotCQkJCQkJCQlpc24ndCBpbiBkb1ByaXZpbGVkZ2VkLCBkb24ndCByZXBvcnQgcHJpdmF0ZSBtZXRob2RzPC9saT4KLQkJCQkJCQk8bGk+TG9hZE9mS25vd25OdWxsVmFsdWUuamF2YTogZml4IGJ1ZyB0aGF0IHdhcyByZXBvcnRpbmcKLQkJCQkJCQkJZmFsc2UgcG9zaXRpdmVzIG9uIDxjb2RlPiBmaW5hbGx5IDwvY29kZT4gYmxvY2tzCi0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+Q2hlY2tSZXR1cm5Bbm5vdGF0aW9uRGF0YWJhc2UuamF2YTogYmV0dGVyIGNoZWNrcyBmb3IKLQkJCQkJCQkJdW5zdGFydGVkIHRocmVhZHM8L2xpPgotCQkJCQkJCTxsaT5Db25mdXNpb25CZXR3ZWVuSW5oZXJpdGVkQW5kT3V0ZXJNZXRob2QuamF2YTogZmV3ZXIKLQkJCQkJCQkJZmFsc2UgcG9zaXRpdmVzLCBmaXhlZCBhIHBhY2thZ2UtaGFuZGxpbmcgYnVnPC9saT4KLQkJCQkJCQk8bGk+QmFkUmVzdWx0U2V0QWNjZXNzLmphdmE6IHNlcGFyYXRlIGJ1ZyBwYXR0ZXJuIGZvcgotCQkJCQkJCQlQcmVwYXJlZFN0YXRlbWVudHMsIDxjb2RlPiBCUlpBIDwvY29kZT4gY2F0ZWdvcnkgZm9sZGVkIGludG8gPGNvZGU+Ci0JCQkJCQkJCQlTUUwgPC9jb2RlPiBjYXRlZ29yeQotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPkZpbmREZWFkTG9jYWxTdG9yZXMuamF2YSwgRmluZEJhZENhc3QyLmphdmEsCi0JCQkJCQkJCUR1bWJNZXRob2RzLmphdmEsIFJ1bnRpbWVFeGNlcHRpb25DYXB0dXJlLmphdmE6IGNvYWxlc2NlIHNpbWlsYXIKLQkJCQkJCQkJYnVncyB3aXRoaW4gYSBtZXRob2QgaW50byBhIHNpbmdsZSBidWcgaW5zdGFuY2Ugd2l0aCBtdWx0aXBsZQotCQkJCQkJCQlzb3VyY2UgbGluZXM8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkVjbGlwc2UgcGx1Z2luCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPnBsdWdpbiBJRCBjaGFuZ2VkIGZyb20gPHR0PmRlLnRvYmplY3QuZmluZGJ1Z3M8L3R0PiB0byA8dHQ+ZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW4uZWNsaXBzZTwvdHQ+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+c3VwcG9ydCBmb3IgZmluZGJ1Z3MgZWNsaXBzZSBhdXRvLXVwZGF0ZSBzaXRlPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5VcGRhdGVkIHRlc3QgY2FzZSBmaWxlcwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5CYWRSZWdFeC5qYXZhPC9saT4KLQkJCQkJCQk8bGk+SlNSMTY2LmphdmE8L2xpPgotCQkJCQkJCTxsaT5Db25jdXJyZW50TW9kaWZpY2F0aW9uQnVnLmphdmE8L2xpPgotCQkJCQkJCTxsaT5EZWFkU3RvcmUuamF2YTwvbGk+Ci0JCQkJCQkJPGxpPkluc3RhbmNlT2YuamF2YTwvbGk+Ci0JCQkJCQkJPGxpPkxvYWRLbm93bk51bGwuamF2YTwvbGk+Ci0JCQkJCQkJPGxpPk5lZWRzVG9DaGVja1JldHVyblZhbHVlLmphdmE8L2xpPgotCQkJCQkJCTxsaT5CYWRSZXN1bHRTZXRBY2Nlc3NUZXN0LmphdmE8L2xpPgotCQkJCQkJCTxsaT5EZWFkU3RvcmUuamF2YTwvbGk+Ci0JCQkJCQkJPGxpPlRlc3ROb25OdWxsMi5qYXZhPC9saT4KLQkJCQkJCQk8bGk+VGVzdEltbXV0YWJsZS5qYXZhPC9saT4KLQkJCQkJCQk8bGk+VGVzdEd1YXJkZWRCeS5qYXZhPC9saT4KLQkJCQkJCQk8bGk+QmFkUmFuZG9tSW50LmphdmE8L2xpPgotCQkJCQkJCTxsaT5zaXggdGVzdCBjYXNlcyBhZGRlZCB0byBuZXcgPGNvZGU+IFRpZ2VyVHJhcHMgPC9jb2RlPgotCQkJCQkJCQlkaXJlY3RvcnkKLQkJCQkJCQk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPmZpeCBidWcgdGhhdCB3YXMgZ2VuZXJhdGluZyBkdXBsaWNhdGUgdWlkczwvbGk+Ci0JCQkJCTxsaT5maXggYnVnIHdpdGggPGNvZGU+IC1vbmx5QW5hbHl6ZSBzb21lLnBhY2thZ2UuKiA8L2NvZGU+IG9uCi0JCQkJCQlqZGsxLjQKLQkJCQkJPC9saT4KLQkJCQkJPGxpPmZpeCByZWdyZXNzaW9uIGJ1ZyBpbgotCQkJCQkJRGlzbWFudGxlQnl0ZUNvZGUuZ2V0UmVmQ29uc3RhbnRPcGVyYW5kKCk8L2xpPgotCQkJCQk8bGk+Zml4IHNvbWUgbWlub3IgYnVncyB3aXRoIHRoZSBTd2luZyBHVUk8L2xpPgotCQkJCQk8bGk+cmVvcmRlcmVkIHNvbWUgYnVnSW5zdGFuY2VzIHNvIHRoYXQgc291cmNlIGxpbmUKLQkJCQkJCWFubm90YXRpb25zIGNvbWUgbGFzdDwvbGk+Ci0JCQkJCTxsaT5yZW1vdmVkIHJlZmVyZW5jZXMgdG8gdW51c2VkIGphdmEgc3lzdGVtIHByb3BlcnRpZXM8L2xpPgotCQkJCQk8bGk+RnJlbmNoIHRyYW5zbGF0aW9uIHVwZGF0ZXMgKERhdmlkIENvdHRvbik8L2xpPgotCQkJCQk8bGk+SmFwYW5lc2UgdHJhbnNsYXRpb24gdXBkYXRlcyAoSGFuYWkgU2hpc2VpKTwvbGk+Ci0JCQkJCTxsaT5jb250ZW50IGNsZWFudXAgZm9yIGZpbmRidWdzLnhtbCBhbmQgbWVzc2FnZXMueG1sPC9saT4KLQkJCQkJPGxpPnJlZmVyZW5jZXMgdG8gY3ZzIGhvc3RuYW1lIHVwZGF0ZWQgdG8KLQkJCQkJCWZpbmRidWdzLmN2cy5zb3VyY2Vmb3JnZS5uZXQ8L2xpPgotCQkJCQk8bGk+ZG9jdW1lbnRlZCB4ZG9jIG91dHB1dCBvcHRpb25zLCBuZXcKLQkJCQkJCW1pbmVCdWdIaXN0b3J5L2NvbXB1dGVCdWdIaXN0b3J5IG9wdGlvbnM8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC45LjY6PC9wPgotCi0JCQkJPHVsPgotCQkJCQk8bGk+cGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzPC9saT4KLQkJCQkJPGxpPk9iamVjdFR5cGUgaW5zdGFuY2VzIGFyZSBjYWNoZWQgdG8gcmVkdWNlIG1lbW9yeSBmb290cHJpbnQKLQkJCQkJPC9saT4KLQkJCQkJPGxpPmZvciBwZXJmb3JtYW5jZSBhbmQgbWVtb3J5IHJlYXNvbnMgc3RhdGVsZXNzIGRldGVjdG9ycyBhcmUKLQkJCQkJCW5vIGxvbmdlciBjbG9uZWQsIG11c3QgY2xlYXIgdGhlaXIgb3duIHN0YXRlIGJldHdlZW4gLmNsYXNzIGZpbGVzCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5maXhlZCBidWcgaW4gYnl0ZWNvZGUtc2V0IGxvb2t1cCBmb3IgbWV0aG9kcyAod2FzIGNhdXNpbmcKLQkJCQkJCWJhZCByZXN1bHRzIGZvciBJUzIsIHBlcmhhcHMgb3RoZXJzKTwvbGk+Ci0JCQkJCTxsaT5maXggc29tZSBPcGNvZGVTdGFjayBidWdzIHdpdGggaW50ZWdlciBhbmQgbG9uZwotCQkJCQkJb3BlcmF0aW9ucywgcGVyZm9ybSBpdGVyYXRpdmUgYW5hbHlzaXMgd2hlbiBlZmZvcnQgaXMgPHR0Pm1heDwvdHQ+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5IVE1MIG91dHB1dCBpbmNsdWRlcyBMb25nTWVzc2FnZSB0ZXh0IGFnYWluIChyZWdyZXNzaW9uIGluCi0JCQkJCQkwLjk1IC0gMC45Nik8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9ycwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5DYWxsZWRNZXRob2RzLmphdmE6IGJ1aWxkcyBhIGxpc3Qgb2YgaW52b2tlZCBtZXRob2RzIGZvcgotCQkJCQkJCQlvdGhlciBkZXRlY3RvcnMgdG8gY29uc3VsdCAobm9uLXJlcG9ydGluZyk8L2xpPgotCQkJCQkJCTxsaT5VbmNhbGxhYmxlTWV0aG9kT2ZBbm9ueW1vdXNDbGFzcy5qYXZhOiBkZXRlY3QgYW5vbnltb3VzCi0JCQkJCQkJCWlubmVyIGNsYXNzZXMgdGhhdCBkZWZpbmUgbWV0aG9kcyB0aGF0IGFyZSBwcm9iYWJseSBpbnRlbmRlZCB0bwotCQkJCQkJCQlidXQgZG8gbm90IG92ZXJyaWRlIG1ldGhvZHMgaW4gYSBzdXBlcmNsYXNzLjwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+VXBkYXRlZCBkZXRlY3RvcnMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+RmluZEZpZWxkU2VsZkFzc2lnbm1lbnQuamF2YTogcmVjb2duaXplIHNlcGFyYXRlIGZpZWxkcwotCQkJCQkJCQl3aXRoIHRoZSBzYW1lIG5hbWUgKG9uZSBmcm9tIHN1cGVyY2xhc3MpPC9saT4KLQkJCQkJCQk8bGk+RmluZExvY2FsU2VsZkFzc2lnbm1lbnQyLmphdmE6IGhhbmRsZXMgYmFja3dhcmQgYnJhbmNoZXMKLQkJCQkJCQkJYmV0dGVyIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJCQk8bGk+RmluZEJhZENhc3QyLmphdmE6IEJDX05VTExfSU5TVEFOQ0VPRiBjaGFuZ2VkIHRvCi0JCQkJCQkJCU5QX05VTExfSU5TVEFOQ0VPRjwvbGk+Ci0JCQkJCQkJPGxpPkZpbmRQdXp6bGVycy5qYXZhOiBlbGltaW5hdGUgZmFsc2UgcG9zaXRpdmUgb24gc2V0RGF0ZSgpCi0JCQkJCQkJCShEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5FY2xpcHNlIHBsdWdpbgotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5maXggc2VyaW91cyB0aHJlYWRpbmcgYnVnPC9saT4KLQkJCQkJCQk8bGk+cHJlZmVyZW5jZXMgZm9yIEZpbHRlcnMgYW5kIGVmZm9ydCAoUGV0ZXIgSGVuZHJpa3MpPC9saT4KLQkJCQkJCQk8bGk+RnJlbmNoIGxvY2FsaXphdGlvbiAoRGF2aWQgQ290dG9uKTwvbGk+Ci0JCQkJCQkJPGxpPmZpeCBidWcgd2hlbiByZXBvcnRpbmcgaW5uZXIgY2xhc3NlcyAoUGV0ZXIgRnJpZXNlKTwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+VXBkYXRlZCB0ZXN0IGNhc2UgZmlsZXMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+TXduLmphdmEgKENhcmwgQnVya2UvRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCQkJPGxpPkR1bWJNZXRob2RJbnZvY2F0aW9ucy5qYXZhIChBbnRvIHBhdWwvRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCQkJPCEtLXNpYy0tPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPlhNTCBvdXRwdXQgaW5jbHVkZXMgZ2FyYmFnZSBjb2xsZWN0aW9uIGR1cmF0aW9uPC9saT4KLQkJCQkJPGxpPkZyZW5jaCBtZXNzYWdlcyB1cGRhdGVkIChEYXZpZCBDb3R0b24pPC9saT4KLQkJCQkJPGxpPlN3aW5nIEdVSSBzaG93cyBmaWxlIG5hbWUgYWZ0ZXIgTG9hZCBCdWdzIGNvbW1hbmQ8L2xpPgotCQkJCQk8bGk+QW50IHRhc2sgdG8gbGF1bmNoIHRoZSBmaW5kYnVncyBmcmFtZSAoTWFyayBNY0theSk8L2xpPgotCQkJCQk8bGk+bWlzY2VsbGFuZW91cyBjb2RlIGNsZWFudXA8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC45LjU6PC9wPgotCi0JCQkJPHVsPgotCQkJCQk8bGk+VXBkYXRlZCBkZXRlY3RvcnMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+RmluZE51bGxEZXJlZi5qYXZhOiByZXNwZWN0IE5vbk51bGwgYW5kIENoZWNrRm9yTnVsbAotCQkJCQkJCQlmaWVsZCBhbm5vdGF0aW9uczwvbGk+Ci0JCQkJCQkJPGxpPlNlcmlhbGl6YWJsZUlkaW9tLmphdmE6IGRldGVjdCBub24tcHJpdmF0ZSByZWFkT2JqZWN0Ci0JCQkJCQkJCWFuZCB3cml0ZU9iamVjdCBtZXRob2RzPC9saT4KLQkJCQkJCQk8bGk+RmluZFJlZkNvbXBhcmlzb24uamF2YTogc21hcnRlciBhcnJheSBjb21wYXJpc29uCi0JCQkJCQkJCWRldGVjdGlvbjwvbGk+Ci0JCQkJCQkJPGxpPklzTnVsbFZhbHVlQW5hbHlzaXMuamF2YTogZGV0ZWN0IDx0dD5udWxsCi0JCQkJCQkJCQlpbnN0YW5jZW9mPC90dD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5GaW5kTG9jYWxTZWxmQXNzaWdubWVudDIuamF2YTogc3VwcHJlc3Mgc29tZSBmYWxzZQotCQkJCQkJCQlwb3NpdGl2ZXMgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQkJCTxsaT5GaW5kVW5yZWxlYXNlZExvY2suamF2YTogZG9uJ3Qgd2FzdGUgdGltZSBwcm9jZXNzaW5nCi0JCQkJCQkJCWNsYXNzZXMgdGhhdCBkb24ndCByZWZlciB0byBqYXZhLnV0aWwuY29uY3VycmVudC5sb2NrczwvbGk+Ci0JCQkJCQkJPGxpPk11dGFibGVTdGF0aWNGaWVsZHMuamF2YTogcmVwb3J0IHRoZSBzb3VyY2UgbGluZSAoRGF2ZQotCQkJCQkJCQlCcm9zaXVzKTwvbGk+Ci0JCQkJCQkJPGxpPlN3aXRjaEZhbGx0aHJvdWdoLmphdmE6IGJldHRlciBoYW5kbGluZyBvZiBTeXN0ZW0uZXhpdCgpCi0JCQkJCQkJCShEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJCQk8bGk+TXVsdGl0aHJlYWRlZEluc3RhbmNlQWNjZXNzLmphdmE6IGJldHRlciBoYW5kbGluZyBvZgotCQkJCQkJCQlTZXJ2bGV0LmluaXQoKSAoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCQkJPGxpPkNvbmZ1c2lvbkJldHdlZW5Jbmhlcml0ZWRBbmRPdXRlck1ldGhvZC5qYXZhOiBub3cKLQkJCQkJCQkJZW5hYmxlZDwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+RWNsaXBzZSBwbHVnaW4KLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+YmFja2dyb3VuZCBwcm9jZXNzaW5nIChQZXRlciBGcmllc2UpPC9saT4KLQkJCQkJCQk8bGk+aW50ZXJuYXRpb25hbGl6YXRpb24sIEphcGFuZXNlIGxvY2FsaXphdGlvbiAoVGFrYXNoaQotCQkJCQkJCQlPa2Ftb3RvKTwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+ZmluZGJ1Z3MgPHR0Pi1vbmx5QW5hbHl6ZTwvdHQ+IG9wdGlvbiBub3cgd29ya3Mgb24gd2luZG93cwotCQkJCQkJcGxhdGZvcm1zCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5taW5lQnVnSGlzdG9yeSA8dHQ+LW5vVGFiczwvdHQ+IG9wdGlvbiBmb3IgYmV0dGVyCi0JCQkJCQlhbGlnbm1lbnQgb2Ygb3V0cHV0IGNvbHVtbnMKLQkJCQkJPC9saT4KLQkJCQkJPGxpPmZpbHRlckJ1Z3MgPHR0Pi1maXhlZDwvdHQ+IG9wdGlvbiAoYWxzbzogd2lsbCBub3cKLQkJCQkJCXJlY29nbml6ZSB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbiBzdHJpbmcpCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5YTUwgb3V0cHV0IGluY2x1ZGVzIHJ1bm5pbmcgdGltZSBhbmQgbWVtb3J5IHVzYWdlIGRhdGE8L2xpPgotCQkJCQk8bGk+bWlzY2VsbGFuZW91cyBtaW5vciBjb3JyZWN0aW9ucyB0byB0aGUgbWFudWFsPC9saT4KLQkJCQkJPGxpPmJldHRlciBieXRlY29kZSBhbmFseXNpcyBvZiB0aGUgPHR0PmlpbmM8L3R0PiBpbnN0cnVjdGlvbgotCQkJCQk8L2xpPgotCQkJCQk8bGk+Zml4IGJ1ZyBpbiBudWxsIHBvaW50ZXIgYW5hbHlzaXM8L2xpPgotCQkJCQk8bGk+aW1wcm92ZWQgY2F0Y2ggYmxvY2sgaGV1cmlzdGljczwvbGk+Ci0JCQkJCTxsaT5zb21lIHR5cGUgYW5hbHlzaXMgdHdlYWtzPC9saT4KLQkJCQkJPGxpPkJ1ZyBwcmlvcml0eSBjaGFuZ2VzCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPkR1bWJNZXRob2RJbnZvY2F0aW9ucy5qYXZhOiBkZWNyZWFzZSBwcmlvcml0eSBvZgotCQkJCQkJCQloYXJkLWNvZGVkIDx0dD4vdG1wPC90dD4gZmlsZW5hbWVzCi0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+Q29tcGFyYXRvcklkaW9tLmphdmE6IGRlY3JlYXNlIHByaW9yaXR5IG9mCi0JCQkJCQkJCW5vbi1zZXJpYWxpemFibGUgYW5vbnltb3VzIGNvbXBhcmF0b3JzPC9saT4KLQkJCQkJCQk8bGk+RmluZFNxbEluamVjdGlvbi5qYXZhOiBkZWNyZWFzZSBwcmlvcml0eSBvZiBhcHBlbmRpbmcgYQotCQkJCQkJCQljb25zdGFudCBvciBhIHN0YXRpYzwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+VXBkYXRlZCBidWcgZXhwbGFuYXRpb25zCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPk5NX1ZFUllfQ09ORlVTSU5HIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5VcGRhdGVkIHRlc3QgY2FzZSBmaWxlcwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5CYWRTdG9yZU9mTm9uU2VyaWFsaXphYmxlT2JqZWN0LmphdmE8L2xpPgotCQkJCQkJCTxsaT5CYWRSYW5kb21JbnQuamF2YTwvbGk+Ci0JCQkJCQkJPGxpPlRlc3RGaWVsZEFubm90YXRpb25zLmphdmE8L2xpPgotCQkJCQkJCTxsaT5Vc2VJbml0Q2F1c2UuamF2YTwvbGk+Ci0JCQkJCQkJPGxpPlNxbEluamVjdGlvbi5qYXZhPC9saT4KLQkJCQkJCQk8bGk+QXJyYXlFcXVhbGl0eS5qYXZhPC9saT4KLQkJCQkJCQk8bGk+QmFkSW50ZWdlck9wZXJhdGlvbnMuamF2YTwvbGk+Ci0JCQkJCQkJPGxpPlBpbGh1aG4uamF2YTwvbGk+Ci0JCQkJCQkJPGxpPkluc3RhbmNlT2YuamF2YTwvbGk+Ci0JCQkJCQkJPGxpPlN3aXRjaEZhbGx0aHJvdWdoLmphdmEgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPmZpeCBVUkwgZGVjb2RpbmcgYnVnIHdoZW4gcnVubmluZyB1bmRlciBKYXZhIFdlYiBTdGFydAotCQkJCQkJKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+ZGlzdHJpYnV0aW9uIGluY2x1ZGVzIDx0dD5wcm9qZWN0LnhtbDwvdHQ+IGZpbGUgZm9yCi0JCQkJCQlOZXRCZWFucwotCQkJCQk8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC45LjQ6PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvcnMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+VmFyQXJnc1Byb2JsZW1zLmphdmE8L2xpPgotCQkJCQkJCTxsaT5GaW5kU3FsSW5qZWN0aW9uLmphdmE6IG5vdyBlbmFibGVkPC9saT4KLQkJCQkJCQk8bGk+Q29tcGFyYXRvcklkaW9tLmphdmE6IGNvbXBhcmF0b3JzIHVzdWFsbHkgaW1wbGVtZW50Ci0JCQkJCQkJCXNlcmlhbGl6YWJsZTwvbGk+Ci0JCQkJCQkJPGxpPk5hbWluZy5qYXZhOiBkZXRlY3QgbWV0aG9kcyBub3Qgb3ZlcnJpZGRlbiBkdWUgdG8KLQkJCQkJCQkJZXBvbnltb3VzbHkgdHlwZWQgYXJncyBmcm9tIGRpZmZlcmVudCBwYWNrYWdlczwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+VXBkYXRlZCBkZXRlY3RvcnMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+U3dpdGNoRmFsbHRocm91Z2guamF2YTogc3VycHJlc3Mgc29tZSBmYWxzZSBwb3NpdGl2ZXM8L2xpPgotCQkJCQkJCTxsaT5EdXBsaWNhdGVCcmFuY2hlcy5qYXZhOiBzdXJwcmVzcyBzb21lIGZhbHNlIHBvc2l0aXZlczwvbGk+Ci0JCQkJCQkJPGxpPkl0ZXJhdG9ySWRpb21zLmphdmE6IHN1cnByZXNzIHNvbWUgZmFsc2UgcG9zaXRpdmVzPC9saT4KLQkJCQkJCQk8bGk+RmluZEhFbWlzbWF0Y2guamF2YTogc3VycHJlc3Mgc29tZSBmYWxzZSBwb3NpdGl2ZXM8L2xpPgotCQkJCQkJCTxsaT5RdWVzdGlvbmFibGVCb29sZWFuQXNzaWdubWVudC5qYXZhOiBmaW5kcyBtb3JlIGNhc2VzIG9mCi0JCQkJCQkJCTx0dD5pZiAoYj10cnVlKTwvdHQ+IGlsawotCQkJCQkJCTwvbGk+Ci0JCQkJCQkJPGxpPkR1bWJNZXRob2RzLmphdmE6IGRldGVjdCBpbnQgcmVtYWluZGVyIGJ5IDEsIGRlbGF5ZWQgZ2MKLQkJCQkJCQkJZXJyb3JzPC9saT4KLQkJCQkJCQk8bGk+U2VyaWFsaXphYmxlSWRpb20uamF2YTogZGV0ZWN0IHN0b3JlIG9mIG5vbnNlcmlhbGl6YWJsZQotCQkJCQkJCQlvYmplY3QgaW50byBmaWVsZCBvZiBzZXJpYWxpemFibGUgY2xhc3M8L2xpPgotCQkJCQkJCTxsaT5GaW5kTnVsbERlcmVmLmphdmE6IGZpeCBwb3RlbnRpYWwgZXhjZXB0aW9uPC9saT4KLQkJCQkJCQk8bGk+SXNOdWxsVmFsdWUuamF2YTogZml4IHBvdGVudGlhbCBleGNlcHRpb248L2xpPgotCQkJCQkJCTxsaT5NdWx0aXRocmVhZGVkSW5zdGFuY2VBY2Nlc3MuamF2YTogZml4IHBvdGVudGlhbAotCQkJCQkJCQlleGNlcHRpb248L2xpPgotCQkJCQkJCTxsaT5QcmVmZXJaZXJvTGVuZ3RoQXJyYXlzLmphdmE6IGZsYWcgdGhlIG1ldGhvZCwgbm90IHRoZQotCQkJCQkJCQlsaW5lPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5SZW1vdmUgc29tZSBpbmFkdmVydGVudCBkZXBlbmRlbmNpZXMgb24gSkRLIDEuNTwvbGk+Ci0JCQkJCTxsaT5Tb3J0IG9yZGVyIHNob3VsZCBiZSBtb3JlIGNvbnNpc3RlbnQ8L2xpPgotCQkJCQk8bGk+WE1MIG91dHB1dCBjaGFuZ2VzCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPk9wdGlvbiB0byBzb3J0IFhNTCBidWcgb3V0cHV0PC9saT4KLQkJCQkJCQk8bGk+Tm93IGNvbnRhaW5zIGluc3RhbmNlIElEczwvbGk+Ci0JCQkJCQkJPGxpPnVpZCBubyBsb25nZXIgbWlzc2luZyAod2FzIGNhdXNpbmcgcHJvYmxlbXMgd2l0aCBmYW5jeQotCQkJCQkJCQlIVE1MIG91dHB1dCk8L2xpPgotCQkJCQkJCTxsaT5UeXBvIGZpeGVkPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5JbnRlcm5hbCBjaGFuZ2VzIHRvIHRyYWNrIHNvdXJjZSBmaWxlcywgPHR0Pi1zb3VyY2VJbmZvPC90dD4KLQkJCQkJCW9wdGlvbgotCQkJCQk8L2xpPgotCQkJCQk8bGk+QnVnIG1hdGNoaW5nOiBmaXJzdCB0cnkgZXhhY3QgYnVnIHBhdHRlcm4gbWF0Y2hpbmcsIG9wdGlvbgotCQkJCQkJdG8gY29tcGFyZSBwcmlvcml0aWVzLCBvcHRpb24gdG8gZGlzYWJsZSBwYWNrYWdlIG1vdmVzPC9saT4KLQkJCQkJPGxpPkFyY2hpdGVjdHVyZSBkb2N1bWVudGF0aW9uIGluIDx0dD5kZXNpZ24vYXJjaGl0ZWN0dXJlPC90dD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPlRlc3QgY2FzZXMgbW92ZSBpbnRvIHRoZWlyIG93biBDVlMgcHJvamVjdDwvbGk+Ci0JCQkJCTxsaT5Eb24ndCByZXBvcnQgd2FybmluZ3MgdGhhdCBvY2N1ciBvdXRzaWRlIHRoZSBhbmFseXplZAotCQkJCQkJY2xhc3NlczwvbGk+Ci0JCQkJCTxsaT5GaXhlcyB0byB0aGUgYnVpbGQueG1sIGZpbGVzPC9saT4KLQkJCQkJPGxpPkJldHRlciBoYW5kbGluZyBvZiBAQ2hlY2tSZXR1cm5WYWx1ZSBhbmQgQENoZWNrRm9yTnVsbAotCQkJCQkJYW5ub3RhdGlvbnMgKGFsc28sIHNvbWUgYWRkaXRpb25hbCBtZXRob2RzIHNlYXJjaGVkIGZvciBjaGVjawotCQkJCQkJcmV0dXJuIHZhbHVlIGFuZCBjaGVjayBmb3IgbnVsbCk8L2xpPgotCQkJCQk8bGk+Rml4ZWQgc29tZSBzdHJlYW0tY2xvc2luZyBidWdzIChvbmUgYnkgPHR0PnotZmItdXNlcjwvdHQ+L0RhdmUKLQkJCQkJCUJyb3NpdXMpCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5CdWcgcHJpb3JpdHkgY2hhbmdlcwotCQkJCQkJPHVsPgotCQkJCQkJCTxsaT5pbmNyZWFzZSBwcmlvcml0eSBvZiBpZ25vcmluZyByZXR1cm4gdmFsdWUgb2YKLQkJCQkJCQkJamF2YS5zcWwuQ29ubmVjdGlvbiBtZXRob2RzPC9saT4KLQkJCQkJCQk8bGk+aW5jcmVhc2UgcHJpb3JpdHkgb2YgY29tcGFyaW5nIGNsYXNzZXMgbGlrZSBJbnRlZ2VyCi0JCQkJCQkJCXVzaW5nIDx0dD49PTwvdHQ+Ci0JCQkJCQkJPC9saT4KLQkJCQkJCQk8bGk+ZGVjcmVhc2UgcHJpb3JpdHkgb2YgSVRfTk9fU1VDSF9FTEVNRU5UIGlmIHdlIHNlZSBhbnkKLQkJCQkJCQkJY2FsbCB0byA8dHQ+bmV4dCgpPC90dD4KLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT50d2VhayBwcmlvcml0eSBvZiBOTV9NRVRIT0RfQ09OU1RSVUNUT1JfQ09ORlVTSU9OPC9saT4KLQkJCQkJCQk8bGk+ZGVjcmVhc2UgcHJpb3JpdHkgb2YgUlZfUkVUVVJOX1ZBTFVFX0lHTk9SRUQgZm9yIGFuCi0JCQkJCQkJCWluaGVyaXRlZCBhbm5vdGF0aW9uIHRoYXQgZG9lc24ndCByZXR1cm4gc2FtZSB0eXBlIGFzIGNsYXNzPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5VcGRhdGVkIGJ1ZyBleHBsYW5hdGlvbnMKLQkJCQkJCTx1bD4KLQkJCQkJCQk8bGk+UkNOX1JFRFVOREFOVF9OVUxMQ0hFQ0tfV09VTERfSEFWRV9CRUVOX0FfTlBFPC9saT4KLQkJCQkJCQk8bGk+RFBfQ1JFQVRFX0NMQVNTTE9BREVSX0lOU0lERV9ET19QUklWSUxFR0VEPC9saT4KLQkJCQkJCQk8bGk+SU1BX0lORUZGSUNJRU5UX01FTUJFUl9BQ0NFU1MgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQkJCTxsaT5zb21lIEphcGFuZXNlIGltcHJvdmVtZW50cyB0byBtZXNzYWdlc19qYS54bWwgKCA8dHQ+cnVpbW88L3R0PikKLQkJCQkJCQk8L2xpPgotCQkJCQkJCTxsaT5zb21lIEdlcm1hbiBpbXByb3ZlbWVudHMgdG8gZmluZGJ1Z3NfZGUucHJvcGVydGllcyAoRGF2ZQotCQkJCQkJCQlCcm9zaXVzLCA8dHQ+ZHZob2x0ZW48L3R0PikKLQkJCQkJCQk8L2xpPgotCQkJCQkJPC91bD4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPlVwZGF0ZWQgdGVzdCBjYXNlIGZpbGVzCi0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPkJhZEludGVnZXJPcGVyYXRpb25zLmphdmE8L2xpPgotCQkJCQkJCTxsaT5TZWNvbmRLYWJvb20uamF2YTwvbGk+Ci0JCQkJCQkJPGxpPk9wZW5EYXRhYmFzZS5qYXZhIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJCQk8bGk+RmluZE9wZW5TdHJlYW0uamF2YSAoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCQkJPGxpPkJhZFJhbmRvbUludC5qYXZhPC9saT4KLQkJCQkJCTwvdWw+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5Tb3VyY2UtbGluZXMgaW5mbyBtYWludGFpbmVkIGZvciBtZXRob2RzIChoYW5keSBmb3IKLQkJCQkJCWFic3RyYWN0IGFuZCBuYXRpdmUgbWV0aG9kcyk8L2xpPgotCQkJCQk8bGk+UmVtb3ZlIHN1cnJvdW5kaW5nIG9wY29kZXMgZnJvbSBzb3VyY2UgbGluZSBhbm5vdGF0aW9uczwvbGk+Ci0JCQkJCTxsaT5CZXR0ZXIgZXJyb3Igd2hlbiBjYW4ndCByZWFkIGZpbGU8L2xpPgotCQkJCQk8bGk+U3dpbmcgR1VJOiByZW1vdmVkIGNvbnNvbGUgcGFuZSBmcm9tIEZpbmRCdWdzRnJhbWUsIGZpeAotCQkJCQkJbWlzc2luZyBjbGFzc2VzIGJ1ZzwvbGk+Ci0JCQkJCTxsaT5GaXhlcyB0byBPcGNvZGVTdGFjay5qYXZhPC9saT4KLQkJCQkJPGxpPkRldGVjdG9ycyBtYXkgYXR0YWNoIGEgY3VzdG9tIHZhbHVlIHRvIGFuIE9wY29kZVN0YWNrLkl0ZW0KLQkJCQkJCShEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkZpbHRlci5qYXZhOiBhYmlsaXR5IHRvIGFkZCB0ZXh0IG1lc3NhZ2VzIHRvIFhNTCBvdXRwdXQsCi0JCQkJCQlmaXggYnVnIHdpdGggPHR0Pi13aXRoTWVzc2FnZXM8L3R0PgotCQkJCQk8L2xpPgotCQkJCQk8bGk+U291cmNlSW5mb01hcCBzdXBwb3J0cyByYW5nZXMgb2Ygc291cmNlIGxpbmVzPC9saT4KLQkJCQkJPGxpPkFudCB0YXNrIHN1cHBvcnRzIHRoZSA8dHQ+dGltZXN0YW1wTm93PC90dD4gYXR0cmlidXRlCi0JCQkJCTwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAwLjkuMzo8L3A+Ci0JCQkJPHVsPgotCQkJCQk8bGk+U3Vic3RhbnRpYWwgcmV3b3JrIG9mIGRhdGFtaW5pbmcgY29kZTwvbGk+Ci0JCQkJCTxsaT5SZW1vdmVkIGJvZ3VzIHdhcm5pbmdzIGFib3V0IGF3YWl0IG9uIHRoaW5ncyBvdGhlciB0aGFuCi0JCQkJCQlDb25kaXRpb24gbm90IGJlaW5nIGluIGEgbG9vcDwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBidWcgaW4gT3Bjb2RlU3RhY2sgaGFuZGxpbmcgb2YgZHVwMiBvZiBsb25nL2RvdWJsZQotCQkJCQkJdmFsdWVzPC9saT4KLQkJCQkJPGxpPkRvbid0IHJlcG9ydCBhcnJheSB0eXBlcyBhcyBtaXNzaW5nIGNsYXNzZXM8L2xpPgotCQkJCQk8bGk+QWRqdXN0bWVudCBvZiBzb21lIHdhcm5pbmdzIG9uIGlnbm9yZWQgcmV0dXJuIHZhbHVlczwvbGk+Ci0JCQkJCTxsaT5BZGRlZCB0aHJlYWQgc2FmZXR5IGFubm90YXRpb25zIGZyb20gSmF2YSBDb25jdXJyZW5jeSBpbgotCQkJCQkJUHJhY3RpY2UgKG5vIGRldGVjdG9ycyB3cml0dGVuIGZvciB0aGVzZSB5ZXQpPC9saT4KLQkJCQkJPGxpPkFkZGVkIGFubm90YXRpb24gZm9yIG1ldGhvZHMgdGhhdCwgaWYgb3ZlcnJpZGRlbiwgc2hvdWxkCi0JCQkJCQliZSBpbnZva2VkIGJ5IG92ZXJyaWRpbmcgbWV0aG9kcyB2aWEgYSBjYWxsIHRvIHN1cGVyPC9saT4KLQkJCQkJPGxpPlVwZGF0ZWQgLWh0bWw6ZmFuY3kueHNsIChFdGllbm5lIEdpcmF1ZHkpPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Tm90ZTogdGhlcmUgd2FzIG5vIHZlcnNpb24gMC45LjI8L3A+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC45LjE6PC9wPgotCQkJCTx1bD4KLQkJCQkJPCEtLSBOZXcgZGV0ZWN0b3JzIC0tPgotCQkJCQk8bGk+RW1iZWxsaXNoIFVTTSB0byBmaW5kIGFic3RyYWN0IG1ldGhvZHMgdGhhdCBpbXBsZW1lbnQgYW4KLQkJCQkJCWludGVyZmFjZSBtZXRob2QgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgc3RvcmVzIG9mIGxpdGVyYWwgYm9vbGVhbnMgaW5zaWRlIGlmCi0JCQkJCQlvciB3aGlsZSBleHByZXNzaW9ucyAoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCTxsaT5OZXcgc3R5bGUgZGV0ZWN0b3IgdG8gZmluZCBmaW5hbCBjbGFzc2VzIHRoYXQgZGVjbGFyZQotCQkJCQkJcHJvdGVjdGVkIGZpZWxkcyAoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBzdWJjbGFzcyBtZXRob2RzIHRoYXQgc2ltcGx5IGZvcndhcmQsCi0JCQkJCQl2ZXJiYXRpbSwgdG8gdGhlIHN1cGVyIGNsYXNzIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkRldGVjdG9yIHRvIGZpbmQgaW5zdGFuY2VzIHdoZXJlIGNvZGUgaXMgYXR0ZW1wdGluZyB0bwotCQkJCQkJd3JpdGUgYW4gb2JqZWN0IG91dCB2aWEgYW4gaW1wbGVtZW50YXRpb24gb2YgRGF0YU91dHB1dCwgYnV0IHRoZQotCQkJCQkJb2JqZWN0IGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIFNlcmlhbGl6YWJsZSAoSm9uIENocmlzdGlhbnNlbiwKLQkJCQkJCUJpbGwgUHVnaCk8L2xpPgotCi0JCQkJCTwhLS0gRmVhdHVyZSBlbmhhbmNlbWVudHMgLS0+Ci0JCQkJCTxsaT5MYXJnZSAoMzUlKSBhbmFseXNpcyBzcGVlZHVwIChCaWxsIFB1Z2gpPC9saT4KLQkJCQkJPGxpPkFkZCBsaW5lIG51bWJlcnMgdG8gU3dpbmcgR1VJIGNvZGUgcGFuZWwgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+QWRkZWQgZWZmb3J0IG9wdGlvbnMgdG8gU3dpbmcgR1VJIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkFkZCBhYmlsaXR5IHRvIHNwZWNpZnkgYnVncyBmaWxlIHRvIG9wZW4gZnJvbSBjb21tYW5kIGxpbmUKLQkJCQkJCWZvciBHVUkgdmVyc2lvbiwgdGhyb3VnaCAtbG9hZGJ1Z3MgKFBoaWxsaXAgTWFydGluKTwvbGk+Ci0JCQkJCTxsaT5OZXcgc3R5bGVzaGVldCBmb3IgZ2VuZXJhdGluZyBIVE1MOiB1c2Ugb3B0aW9uIDx0dD4taHRtbDpwbGFpbi54c2w8L3R0PgotCQkJCQkJKENocmlzIE5hcHBpbikKLQkJCQkJPC9saT4KLQkJCQkJPGxpPk5ldyBzdHlsZXNoZWV0IGZvciBnZW5lcmF0aW5nIEhUTUw6IHVzZSBvcHRpb24gPHR0Pi1odG1sOmZhbmN5LnhzbDwvdHQ+Ci0JCQkJCQkoRXRpZW5uZSBHaXJhdWR5KQotCQkJCQk8L2xpPgotCQkJCQk8bGk+VXBkYXRlZCBKYXBhbmVzZSBidWcgbWVzc2FnZSB0cmFuc2xhdGlvbnMgKFNoaXNlaSBIYW5haSk8L2xpPgotCi0JCQkJCTwhLS0gQnVnIGZpeGVzIC0tPgotCQkJCQk8bGk+WEhUTUwgY29tcGxpYW5jZSBmaXhlcyBmb3IgYnVnIGRldGFpbHMgKEV0aWVubmUgR2lyYXVkeSk8L2xpPgotCQkJCQk8bGk+VmFyaW91cyBkZXRlY3RvciBmaXhlcyAoU2hpc2VpIEhhbmFpKTwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBidWdzIGluIHRoZSBwcm9qZWN0IHByZWZlcmVuY2VzIGRpYWxvZyBpbnQgdGhlCi0JCQkJCQlFY2xpcHNlIHBsdWdpbiAoVGFrYXNoaSBPa2Ftb3RvLCBUaG9tYXMgRWlud2FsbGVyKTwvbGk+Ci0JCQkJCTxsaT5Mb3dlcmVkIHByaW9yaXR5IG9mIGFuYWx5c2lzIHRocmVhZCBpbiBTd2luZyBHVUkgKERhdmlkCi0JCQkJCQlIb3ZlbWV5ZXIsIHN1Z2dlc3RlZCBieSBTaGlzZWkgSGFuYWkgYW5kIEplZmZyZXkgVy4gQmFkb3Jlayk8L2xpPgotCQkJCQk8bGk+Rml4ZWQgRWNsaXBzZVBsdWdpbiB0byBjb3JyZWN0bHkgcGljayB1cCBhdXhjbGFzc3BhdGgKLQkJCQkJCWVudHJpZXMgKEpvbiBDaHJpc3RpYW5zZW4pPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuOS4wOjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5GaXhlZCBkZXBlbmRlbmNlIG9uIEpSRSAxLjU6IGFsbCBmZWF0dXJlcyBzaG91bGQgd29yayBvbgotCQkJCQkJSlJFIDEuNCBhZ2FpbjwvbGk+Ci0JCQkJCTxsaT5GaXhlZCAtZWZmb3J0IGNvbW1hbmQgbGluZSBvcHRpb24gaGFuZGxpbmcgZm9yIFN3aW5nIEdVSTwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBjb25zZXJ2ZVNwYWNlIGFuZCB3b3JrSGFyZCBhdHRyaWJ1dGVzIGludCBBbnQgdGFzazwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBzdXBwb3J0IGZvciBlZmZvcnQgYXR0cmlidXRlIGluIEFudCB0YXNrPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuOC44OjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTwhLS0gTmV3IGRldGVjdG9ycyBhbmQgYnVnIHBhdHRlcm5zIC0tPgotCQkJCQk8bGk+WE1MRmFjdG9yeUJ5cGFzcyBkZXRlY3RvciB0byBmaW5kIGRpcmVjdCBhbGxvY2F0aW9uIG9mIHhtbAotCQkJCQkJY2xhc3MgaW1wbGVtZW50YXRpb25zIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkluZWZmaWNpZW50TWVtYmVyQWNjZXNzIGRldGVjdG9yIHRvIGZpbmQgYWNjZXNzZXMgdG8KLQkJCQkJCW93bmluZyBjbGFzcyBwcml2YXRlIG1lbWJlcnMgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+RHVwbGljYXRlQnJhbmNoZXMgZGV0ZWN0b3IgY2hlY2tzIHN3aXRjaCBzdGF0ZW1lbnRzIHRvbwotCQkJCQkJKERhdmUgQnJvc2l1cyk8L2xpPgotCi0JCQkJCTwhLS0gRmVhdHVyZSBlbmhhbmNlbWVudHMgLS0+Ci0JCQkJCTxsaT5GaW5kQnVncyBhdmFpbGFibGUgZnJvbSBmaW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQgYXMgSmF2YQotCQkJCQkJV2ViIFN0YXJ0IGFwcGxpY2F0aW9uIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPlVwZGF0ZWQgSmFwYW5lc2UgYnVnIG1lc3NhZ2UgdHJhbnNsYXRpb25zIChTaGlzZWkgSGFuYWkpPC9saT4KLQkJCQkJPGxpPkltcHJvdmVkIGJ1ZyBkZXRhaWwgbWVzc2FnZSBmb3IgY292YXJpYW50IGVxdWFscygpIChTaGlzZWkKLQkJCQkJCUhhbmFpKTwvbGk+Ci0JCQkJCTxsaT5Nb2RlbGluZyBvZiBpbnN0YW5jZW9mIGNoZWNrcyBpcyBub3cgZW5hYmxlZCBieSBkZWZhdWx0LAotCQkJCQkJbWFraW5nIHRoZSBiYWQgY2FzdCBkZXRlY3RvciBtdWNoIG1vcmUgdXNlZnVsIChCaWxsIFB1Z2gsIERhdmlkCi0JCQkJCQlIb3ZlbWV5ZXIpPC9saT4KLQkJCQkJPGxpPlN1cHBvcnQgZm9yIGRldGVjdG9yIG9yZGVyaW5nIGNvbnN0cmFpbnRzIGluIHBsdWdpbgotCQkJCQkJZGVzY3JpcHRvciAoRGF2aWQgSG92ZW1leWVyKTwvbGk+Ci0JCQkJCTxsaT5TaW1wbGVyIG9wdGlvbiB0byBjb250cm9sIGFuYWx5c2lzIGVmZm9ydDogLWVmZm9ydDogPGk+dmFsdWU8L2k+LAotCQkJCQkJd2hlcmUgPGk+dmFsdWU8L2k+IGlzIG9uZSBvZiA8Y29kZT4gbWluIDwvY29kZT4gLCA8Y29kZT4KLQkJCQkJCQlkZWZhdWx0IDwvY29kZT4gLCBvciA8Y29kZT4gbWF4IDwvY29kZT4gKERhdmlkIEhvdmVtZXllcikKLQkJCQkJPC9saT4KLQkJCQkJPGxpPlVzaW5nIC1lZmZvcnQ6bWF4LCBGaW5kTnVsbERlcmVmIGNoZWNrcyBmb3IgbnVsbCBhcmd1bWVudHMKLQkJCQkJCXBhc3NlZCB0byBtZXRob2RzIHdoaWNoIGRlcmVmZXJlbmNlIHRoZW0gdW5jb25kaXRpb25hbGx5IChEYXZpZAotCQkJCQkJSG92ZW1leWVyKTwvbGk+Ci0JCQkJCTxsaT5GaW5kTnVsbERlcmVmIGNoZWNrcyBATnVsbCBhbmQgQE5vbk51bGwgYW5ub3RhdGlvbnMgZm9yCi0JCQkJCQlwYXJhbWV0ZXJzIGFuZCByZXR1cm4gdmFsdWVzIChEYXZpZCBIb3ZlbWV5ZXIpPC9saT4KLQotCQkJCQk8IS0tIEJ1ZyBmaXhlcyAtLT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuOC43OjwvcD4KLQotCQkJCTx1bD4KLQkJCQkJPCEtLSBOZXcgZGV0ZWN0b3JzIGFuZCBidWcgcGF0dGVybnMgLS0+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBkdXBsaWNhdGUgY29kZSBpbiBpZi9lbHNlIHN0YXRlbWVudHMKLQkJCQkJCShEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkxvb2sgZm9yIGNhbGxzIHRvIHdhaXQoKSBvbiBDb25kaXRpb24gb2JqZWN0cyAoRGF2aWQKLQkJCQkJCUhvdmVtZXllcik8L2xpPgotCQkJCQk8bGk+TG9vayBmb3IgamF2YS51dGlsLmNvbmN1cnJlbnQuTG9jayBvYmplY3RzIG5vdCByZWxlYXNlZCBvbgotCQkJCQkJZXZlcnkgcGF0aCBvdXQgb2YgbWV0aG9kIChEYXZpZCBIb3ZlbWV5ZXIpPC9saT4KLQkJCQkJPGxpPkxvb2sgZm9yIGNhbGxzIHRvIFRocmVhZC5zbGVlcCgpIHdpdGggYSBsb2NrIGhlbGQgKERhdmlkCi0JCQkJCQlIb3ZlbWV5ZXIpPC9saT4KLQkJCQkJPGxpPk1vcmUgYWNjdXJhdGUgZGV0ZWN0aW9uIG9mIGltcG9zc2libGUgY2FzdHMgKEJpbGwgUHVnaCwKLQkJCQkJCURhdmlkIEhvdmVtZXllcik8L2xpPgotCi0JCQkJCTwhLS0gRmVhdHVyZSBlbmhhbmNlbWVudHMgLS0+Ci0JCQkJCTxsaT5TYXZlZCBYTUwgbm93IGNvbnRhaW5zIHByb2plY3Qgc3RhdGlzdGljcyAoSmF5IER1bm5pbmcpPC9saT4KLQkJCQkJPGxpPkZpbHRlciBmaWxlcyBjYW4gc2VsZWN0IGJ5IGJ1ZyBwYXR0ZXJuIHR5cGUgYW5kIHdhcm5pbmcKLQkJCQkJCXByaW9yaXR5IChEYXZpZCBIb3ZlbWV5ZXIpPC9saT4KLQotCQkJCQk8IS0tIEJ1ZyBmaXhlcyAtLT4KLQkJCQkJPGxpPlJlc3RvcmVkIHNvbWUgZmlsZXMgaW5hZHZlcnRlbnRseSBvbWl0dGVkIGZyb20gcHJldmlvdXMKLQkJCQkJCXJlbGVhc2UgKFJvaGFuIExsb3lkLCBEYXZpZCBIb3ZlbWV5ZXIpPC9saT4KLQkJCQkJPGxpPk1ha2Ugc3VyZSBkZXRlY3RvcnMgcmVxdWlyaW5nIEpESyAxLjUgcnVudGltZSBjbGFzc2VzIGFyZQotCQkJCQkJb25seSBleGVjdXRlZCBpZiB0aG9zZSBjbGFzc2VzIGFyZSBhdmFpbGFibGUgKERhdmlkIEhvdmVtZXllcik8L2xpPgotCQkJCQk8bGk+RG9uJ3QgZGlzcGxheSBhbmFseXNpcyBlcnJvciBkaWFsb2cgdW5sZXNzIHRoZXJlIGlzIHJlYWxseQotCQkJCQkJYW4gZXJyb3IgKERhdmlkIEhvdmVtZXllcik8L2xpPgotCQkJCQk8bGk+VXBkYXRlZCBhbmQgZXhwYW5kZWQgRnJlbmNoIHRyYW5zbGF0aW9ucyBvZiBidWcgcGF0dGVybnMKLQkJCQkJCWFuZCBTd2luZyBHVUkgKE9saXZpZXIgUGFyZW50KTwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBpbnZhbGlkIGNoYXJhY3RlciBlbmNvZGluZyBpbiBHZXJtYW4gU3dpbmcgR1VJCi0JCQkJCQl0cmFuc2xhdGlvbiAoT2xpdmllciBQYXJlbnQpPC9saT4KLQkJCQkJPGxpPkZpeCBsb2NhbGUgdXNlZCBmb3IgZGF0ZSBmb3JtYXQgaW4gcHJvamVjdCBzdGF0cyAoSy4KLQkJCQkJCUhhc2hpbW90byk8L2xpPgotCQkJCQk8bGk+Rml4ZWQgTG9uZ0Rlc2NyaXB0aW9uIGVsZW1lbnRzIGluIHhtbDp3aXRoTWVzc2FnZXMgb3V0cHV0Ci0JCQkJCQlmb3JtYXQgKEsuIEhhc2hpbW90byk8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC44LjY6PC9wPgotCi0JCQkJPHVsPgotCQkJCQk8IS0tIG5ldyBkZXRlY3RvcnMgLS0+Ci0JCQkJCTxsaT5FeHRlbmQgTmFtaW5nIGRldGVjdG9yIHRvIGxvb2sgZm9yIGNsYXNzZXMgdGhhdCBhcmUgbmFtZWQKLQkJCQkJCVhYWEV4Y2VwdGlvbiBidXQgdGhhdCBhcmUgbm90IEV4Y2VwdGlvbnMgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgY2xhc3NlcyB0aGF0IGV4cG9zZSBzZW1hcGhvcmVzIGluIHRoZQotCQkJCQkJcHVibGljIGltcGxlbWVudGF0aW9uIHRocm91Z2ggdGhlICd0aGlzJyByZWZlcmVuY2UuIChEYXZlIEJyb3NpdXMpCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5OZXcgU3R5bGUgZGV0ZWN0b3IgdG8gZmluZCBTdHJ1dHMgQWN0aW9uL1NlcnZsZXQgZGVyaXZlZAotCQkJCQkJY2xhc3NlcyB0aGF0IHJlZmVyZW5jZSBpbnN0YW5jZSBtZW1iZXIgdmFyaWFibGUgbm90IGluCi0JCQkJCQlzeW5jaHJvbml6ZWQgYmxvY2tzLiAoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCTxsaT5OZXcgU3R5bGUgZGV0ZWN0b3IgdG8gZmluZCBjbGFzc2VzIHRoYXQgZGVjbGFyZQotCQkJCQkJaW1wbGVtZW50YXRpb24gb2YgaW50ZXJmYWNlcyB0aGF0IGFyZSBhbHJlYWR5IGltcGxlbWVudGVkIGJ5IHN1cGVyCi0JCQkJCQljbGFzc2VzIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPk5ldyBTdHlsZSBkZXRlY3RvciB0byBmaW5kIGNpcmN1bGFyIGRlcGVuZGVuY2llcyBiZXR3ZWVuCi0JCQkJCQljbGFzc2VzIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPk5ldyBTdHlsZSBkZXRlY3RvciB0byBmaW5kIHVubmVjZXNzYXJ5IG1hdGggb24gY29uc3RhbnRzCi0JCQkJCQkoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBlcXVhbGl0eSBjb21wYXJpc29ucyB1c2luZyBmbG9hdGluZwotCQkJCQkJcG9pbnQgbWF0aCAoSmF5IER1bm5pbmcpPC9saT4KLQkJCQkJPGxpPk5ldyBmYXN0ZXIgZGV0ZWN0b3IgdG8gZmluZCBsb2NhbCBzZWxmIGFzc2lnbm1lbnRzIChCaWxsCi0JCQkJCQlQdWdoKTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBpbmZpbml0ZSByZWN1cnNpdmUgbG9vcHMgKEJpbGwgUHVnaCkKLQkJCQkJPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIGZvciBsb29wcyB3aXRoIGFuIGluY29ycmVjdCBpbmNyZW1lbnQKLQkJCQkJCShCaWxsIFB1Z2gpPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIHN1c3BpY2lvdXMgdXNlcyBvZgotCQkJCQkJQnVmZmVyZWRSZWFkZXIucmVhZExpbmUoKSBhbmQgU3RyaW5nLmluZGV4T2YoKSAoQmlsbCBQdWdoKTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBzdXNwaWNpb3VzIGludGVnZXIgdG8gZG91YmxlIGNhc3RzCi0JCQkJCQkoRGF2aWQgSG92ZW1leWVyLCBCaWxsIFB1Z2gpPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIGludmFsaWQgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5zCi0JCQkJCQkoQmlsbCBQdWdoKTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBCbG9jaC9HYWZ0ZXIgSmF2YSBwdXp6bGVycyAoQmlsbAotCQkJCQkJUHVnaCk8L2xpPgotCi0JCQkJCTwhLS0gZmVhdHVyZSBlbmhhbmNlbWVudHMgLS0+Ci0JCQkJCTxsaT5OZXcgc3lzdGVtIHByb3BlcnR5IHRvIHN1cHByZXNzIHJlcG9ydGluZyBvZiBETFMgYmFzZWQgb24KLQkJCQkJCWxvY2FsIHZhcmlhYmxlIG5hbWUgKEdsZW5uIEJveXNrbyk8L2xpPgotCQkJCQk8bGk+RW5oYW5jZW1lbnRzIHRvIGNvbmZpZ3VyYXRpb24gZGlhbG9nIGluIEVjbGlwc2UgcGx1Z2luLAotCQkJCQkJYWxsb3cgZm9yIHNhdmluZyBlbmFibGVkIGRldGVjdG9ycyBpbiBFY2xpcHNlIHByb2plY3RzIChQaGlsCi0JCQkJCQlDcm9zYnkpPC9saT4KLQkJCQkJPGxpPlNvcnRhYmxlIGNvbHVtbnMgaW4gZGV0ZWN0b3IgZGlhbG9nIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPk5ldyB0YWIgaW4gZ3VpIGZvciBzaG93aW5nIGJ1Z3MgZ3JvdXBlZCBieSBjYXRlZ29yeSAoRGF2ZQotCQkJCQkJQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+SW1wcm92ZWQgR2VybWFuIHRyYW5zbGF0aW9uIG9mIFN3aW5nIEdVSSAoVGhvbWFzIEt1ZWhuZSk8L2xpPgotCQkJCQk8bGk+SW1wcm92ZWQgc291cmNlIGZpbGUgcmVwb3J0aW5nIGluIEVtYWNzIG91dHB1dCBmb3JtYXQgKExlbgotCQkJCQkJVHJpZ2cpPC9saT4KLQkJCQkJPGxpPkltcHJvdmVtZW50cyB0byByZWR1bmRhbnQgbnVsbCBjb21wYXJpc29uIGRldGVjdG9yIChCaWxsCi0JCQkJCQlQdWdoKTwvbGk+Ci0JCQkJCTxsaT5Mb2NhbGl6YXRpb24gb2YgcnVuIGFuYWx5c2lzIGFuZCBhbmFseXNpcyBlcnJvciBkaWFsb2dzIGluCi0JCQkJCQlTd2luZyBHVUkgKEsuIEhhc2hpbW90byk8L2xpPgotCi0JCQkJCTwhLS0gQnVnIGZpeGVzIC0tPgotCQkJCQk8bGk+RG9uJ3Qgc2NhbiBlcXVhbHMgbWV0aG9kcyBpbiBGaW5kSEVNaXNtYXRjaCBpZiBjb2RlIGlzCi0JCQkJCQluYXRpdmUgKEdyZWcgQmVudHopPC9saT4KLQkJCQkJPGxpPkZyZW5jaCB0cmFuc2xhdGlvbiBmaXhlcyAoRGF2aWQgQ290dG9uKTwvbGk+Ci0JCQkJCTxsaT5JbnRlcm5hdGlvbmFsaXphdGlvbiByZXBvcnQgZml4ZXMgKEsuIEhhc2hpbW90byk8L2xpPgotCQkJCQk8bGk+SmFwYW5lc2UgdHJhbnNsYXRpb25zIHVwZGF0ZXMgKFNISVNFSSBIYW5haSk8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC44LjU6PC9wPgotCQkJCTx1bD4KLQkJCQkJPCEtLSBuZXcgZGV0ZWN0b3JzIC0tPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgY2F0Y2ggYmxvY2tzIHRoYXQgbWF5IGluYWR2ZXJ0ZW50bHkKLQkJCQkJCWNhdGNoIHJ1bnRpbWUgZXhjZXB0aW9ucyAoQnJpYW4gR29ldHopPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIG9iamVjdHMgdGhhdCBhcmUgaW5zdGFudGlhdGVkIGJhc2VkCi0JCQkJCQlvbiBjbGFzc2VzIHRoYXQgb25seSBoYXZlIHN0YXRpYyBtZXRob2RzIGFuZCBmaWVsZHMsIHVzaW5nIHRoZQotCQkJCQkJc3ludGhlc2l6ZWQgY29uc3RydWN0b3IgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgY2FsbHMgdG8gVGhyZWFkLmludGVycnVwdGVkKCkgaW4gYQotCQkJCQkJbm9uIHN0YXRpYyBjb250ZXh0LCBhbmQgZXNwZWNpYWxseSB3aXRoIG5vbiBjdXJyZW50VGhyZWFkKCkKLQkJCQkJCXRocmVhZHMgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgY2FsbHMgdG8gZXF1YWxzKCkgbWV0aG9kcyB0aGF0IHVzZQotCQkJCQkJT2JqZWN0J3MgdmVyc2lvbi4gKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgQXBwbGV0cyB0aGF0IGNhbGwgbWV0aG9kcyBpbiB0aGUKLQkJCQkJCWNvbnN0cnVjdG9yIHJlZmVyaW5nIHRvIHRoZSBBcHBsZXRTdHViIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIHNvbWUgY2FzZXMgb2YgaW5maW5pdGUgcmVjdXJzaW9uCi0JCQkJCQkoQmlsbCBQdWdoKTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBkZWFkIHN0b3JlcyB0byBsb2NhbCB2YXJpYWJsZXMgKERhdmlkCi0JCQkJCQlIb3ZlbWV5ZXIsIEJpbGwgUHVnaCk8L2xpPgotCQkJCQk8bGk+RXh0ZW5kIER1bWIgTWV0aG9kIGRldGVjdG9yIGZvciB0b1VwcGVyQ2FzZSgpLAotCQkJCQkJdG9Mb3dlckNhc2UoKSB3aXRob3V0IGEgbG9jYWxlLCBuZXcgSW50ZWdlcigxKS50b1N0cmluZygpLCBuZXcKLQkJCQkJCVhYWCgpLmdldENsYXNzKCksIGFuZCBuZXcgVGhyZWFkKCkgd2l0aG91dCBhIHJ1biBpbXBsZW1lbnRhdGlvbgotCQkJCQkJKERhdmUgQnJvc2l1cykgPCEtLSBmZWF0dXJlIGVuaGFuY2VtZW50cyAtLT4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkFudCB0YXNrIHN1cHBvcnRzICJlcnJvclByb3BlcnR5IiBhdHRyaWJ1dGUsIHdoaWNoIHNldHMgYW4KLQkJCQkJCUFudCBwcm9wZXJ0eSB0byAidHJ1ZSIgaWYgYW4gZXJyb3Igb2NjdXJzIHJ1bm5pbmcgRmluZEJ1Z3MKLQkJCQkJCShNaWNoYWVsIFRhbW0pPC9saT4KLQkJCQkJPGxpPkVjbGlwc2UgcGx1Z2luIGFsbG93cyBmaWx0ZXJpbmcgb2Ygd2FybmluZ3MgYnkgYnVnCi0JCQkJCQljYXRlZ29yeSwgcHJpb3JpdHkgKERhdmlkIEhvdmVtZXllcik8L2xpPgotCQkJCQk8bGk+U3dpbmcgR1VJIGFsbG93cyBmaWx0ZXJpbmcgb2Ygd2FybmluZ3MgYnkgYnVnIGNhdGVnb3J5Ci0JCQkJCQkoRGF2aWQgSG92ZW1leWVyKTwvbGk+Ci0JCQkJCTxsaT5BYmlsaXR5IHRvIGFubm90YXRlIG1ldGhvZHMgdXNpbmcgSmF2YSAxLjUgYW5ub3RhdGlvbnMKLQkJCQkJCXRoYXQgc3VwcHJlc3MgRmluZEJ1Z3Mgd2FybmluZ3MgKEJpbGwgUHVnaCk8L2xpPgotCQkJCQk8bGk+TmV3IC1hZGp1c3RFeHBlcmltZW50YWwgZm9yIGxvd2VyaW5nIHByaW9yaXR5IG9mCi0JCQkJCQlCdWdQYXR0ZXJucyB0aGF0IGFyZSBleHBlcmltZW50YWwgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+QWxsb3cgZm9yIGNvbW1hbmQgbGluZSBvcHRpb25zICdmaWxlcycgdXNpbmcgdGhlIEAgc3ltYm9sCi0JCQkJCQkoRGF2aWQgSG92ZW1leWVyKTwvbGk+Ci0JCQkJCTxsaT5OZXcgLWFkanVzdFByaW9yaXR5IGNvbW1hbmQgbGluZSBvcHRpb24gdG8gZm9yIGFkanVzdGluZwotCQkJCQkJYnVnIHByaW9yaXRlcyAoRGF2aWQgSG92ZW1leWVyKTwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBhbiBFZGl0IG1lbnUgKGN1dC9jb3B5L3Bhc3RlKSB0byBTd2luZyBHVUkgKERhdmUKLQkJCQkJCUJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkZyZW5jaCB0cmFuc2xhdGlvbiBzdXBwbGllZCAoRGF2aWQgQ290dG9uKSA8IS0tIEJ1ZyBmaXhlcyAtLT4KLQkJCQkJPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuOC40OjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTwhLS0gbmV3IGRldGVjdG9ycyAtLT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciBmb3Igdm9sYXRpbGUgcmVmZXJlbmNlcyB0byBhcnJheXMgKEJpbGwgUHVnaCkKLQkJCQkJPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIGluc3RhbmNlb2YgdXNhZ2Ugd2hlcmUgaW5oZXJpdGFuY2UKLQkJCQkJCWNhbiBiZSBkZXRlcm1pbmVkIHN0YXRpY2FsbHkgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgUmVzdWx0U2V0LmdldFhYWCB1cGRhdGVYWFggY2FsbHMKLQkJCQkJCXVzaW5nIGluZGV4IDAgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgZW1wdHkgemlwIG9yIGphciBlbnRyaWVzIChCaWxsIFB1Z2gpCi0KLQkJCQkJCTwhLS0gZmVhdHVyZSBlbmhhbmNlbWVudHMgLS0+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5IVE1MIG91dHB1dCBnZW5lcmF0aW9uIHVzaW5nIGJ1aWx0LWluIFhTTFQgc3R5bGVzaGVldCBvcgotCQkJCQkJdXNlci1kZWZpbmVkIHN0eWxlc2hlZXQgKERhdmlkIEhvdmVtZXllcik8L2xpPgotCQkJCQk8bGk+QWxsb3cgVVJMcyB0byBiZSBzcGVjaWZpZWQgdG8gYW5hbHl6ZSB6aXAvamFyIGZpbGVzLCBsb2NhbAotCQkJCQkJZGlyZWN0b3JpZXMsIGFuZCBzaW5nbGUgY2xhc3NmaWxlcyAoRGF2aWQgSG92ZW1leWVyKTwvbGk+Ci0JCQkJCTxsaT5OZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtb25seUFuYWx5emUgcmVzdHJpY3RzIGFuYWx5c2lzIHRvCi0JCQkJCQlzZWxlY3RlZCBjbGFzc2VzIGFuZCBwYWNrYWdlcyB3aXRob3V0IHJlZHVjaW5nIGFjY3VyYWN5IChEYXZpZAotCQkJCQkJSG92ZW1leWVyKTwvbGk+Ci0JCQkJCTxsaT5BbGxvdyBTd2luZyBHVUkgdG8gc2hvdyBzb3VyY2UgY29kZSBpbiBqYXIgZmlsZXMgb24KLQkJCQkJCVdpbmRvd3Mgc3lzdGVtcyAoRGF2ZSBCcm9zaXVzKSA8IS0tIEJ1ZyBmaXhlcyAtLT4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkZpeCB0aGUgU3dpdGNoIEZhbGwgVGhydSBkZXRlY3RvciAoRGF2ZSBCcm9zaXVzLCBEYXZpZAotCQkJCQkJSG92ZW1leWVyLCBCaWxsIFB1Z2gpPC9saT4KLQkJCQkJPGxpPk1hY09TIEdVSSBmaXhlcyAoUm9oYW4gTGxveWQpPC9saT4KLQkJCQkJPGxpPkZpeCBmYWxzZSBwb3NpdGl2ZSBpbiBCT0EgaW4gY2FzZSB3aGVyZSBtZXRob2QgaXMKLQkJCQkJCWNvcnJlY3RseSBhbmQgJ2luY29ycmVjdGx5JyBvdmVycmlkZGVuIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkZpeGVkIG1lbW9yeSBibG93dXAgd2hlbiBhbmFseXppbmcgbWV0aG9kcyB3aGljaCBhY2Nlc3MgYQotCQkJCQkJbGFyZ2UgbnVtYmVyIG9mIGZpZWxkcyAoRGF2aWQgSG92ZW1leWVyKTwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAwLjguMzo8L3A+Ci0JCQkJPHVsPgotCQkJCQk8bGk+SW5pdGlhbCBhbmQgcHJlbGltaW5hcnkgbG9jYWxpemF0aW9uIG9mIHRoZSBTd2luZwotCQkJCQkJR1VJLiZuYnNwOyBUcmFuc2xhdGlvbnMgYnk6Ci0JCQkJCQk8dWw+Ci0JCQkJCQkJPGxpPkdlcm1hbiAtIFBldGVyIEQuIFN0b3V0LCBIb2xnZXIgU3Rlbnpob3JuPC9saT4KLQkJCQkJCQk8bGk+RmlubmlzaCAtIEp1aGEgS251dXRpbGE8L2xpPgotCQkJCQkJCTxsaT5Fc3RvbmlhbiAtIFRhbmVsIExlYmVkZXY8L2xpPgotCQkJCQkJCTxsaT5KYXBhbmVzZSAtIEhhbmFpIFNoaXNlaTwvbGk+Ci0JCQkJCQk8L3VsPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+RWxpbWluYXRlZCBkZWJ1ZyBwcmludCBzdGF0ZW1lbnRzIGluYWR2ZXJ0ZW50bHkgbGVmdAotCQkJCQkJZW5hYmxlZDwvbGk+Ci0JCQkJCTxsaT5SZXZlcnRlZCBzb21lIGNoYW5nZXMgaW4gdGhlIG9wZW4gc3RyZWFtIGRldGVjdG9yOiB0aGlzCi0JCQkJCQlzaG91bGQgZml4IHNvbWUgZmFsc2UgcG9zaXRpdmVzIHRoYXQgd2VyZSBpbnRyb2R1Y2VkIGluIHRoZQotCQkJCQkJcHJldmlvdXMgcmVsZWFzZTwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBhIGNvdXBsZSBtaXNzaW5nIGNsYXNzIHJlcG9ydHM8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC44LjI6PC9wPgotCQkJCTx1bD4KLQotCQkJCQk8IS0tIE5ldyBkZXRlY3RvcnMgLS0+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBpbXByb3Blcmx5IG92ZXJyaWRkZW4gR1VJIEFkYXB0ZXIKLQkJCQkJCWNsYXNzZXMgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgaW1wcm9wZXJseSBzZXR1cCBKVW5pdCBUZXN0Q2FzZXMKLQkJCQkJCShEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIHZhcmlhYmxlcyB0aGF0IG1hc2sgY2xhc3MgbGV2ZWwKLQkJCQkJCWZpZWxkcyAoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBjb21wYXJpc29ucyBvZiB2YWx1ZXMgY29tcHV0ZWQgd2l0aAotCQkJCQkJYml0d2lzZSBvcGVyYXRvcnMgdGhhdCBhbHdheXMgeWllbGQgdGhlIHNhbWUgcmVzdWx0IChUb20gVHJ1c2NvdHQpCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCB1bnNhZmUgZ2V0Q2xhc3MoKS5nZXRSZXNvdXJjZSgpIGNhbGxzCi0JCQkJCQkoQmlsbCBQdWdoKTwvbGk+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gZmluZCBHVUkgY2hhbmdlcyBub3QgaW4gR1VJIHRocmVhZCBidXQgaW4KLQkJCQkJCXN0YXRpYyBtYWluIChCaWxsIFB1Z2gpPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIGNhbGxzIHRvIENvbGxlY3Rpb24udG9BcnJheSgpIHdpdGgKLQkJCQkJCXplcm8tbGVuZ3RoIGFycmF5IGFyZ3VtZW50OyBpdCBpcyBtb3JlIGVmZmljaWVudCB0byBwYXNzIGFuIGFycmF5Ci0JCQkJCQl0aGUgc2l6ZSBvZiB0aGUgY29sbGVjdGlvbiwgd2hpY2ggY2FuIGJlIHBvcHVsYXRlZCBhbmQgcmV0dXJuZWQgYXMKLQkJCQkJCXRoZSByZXN1bHQgKERhdmUgQnJvc2l1cykgPCEtLSBBbmFseXNpcyBpbXByb3ZlbWVudHMgLS0+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5CZXR0ZXIgc3VwcHJlc3Npb24gb2YgZmFsc2Ugd2FybmluZ3MgaW4gdmFyaW91cyBkZXRlY3RvcnMKLQkJCQkJCShCaWxsIFB1Z2gsIERhdmlkIEhvdmVtZXllcik8L2xpPgotCQkJCQk8bGk+RW5oYW5jZW1lbnQgdG8gUmVhZFJldHVyblNob3VsZEJlQ2hlY2tlZCBkZXRlY3RvciBmb3IKLQkJCQkJCXNraXAoKSAoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCTxsaT5FbmhhbmNlbWVudCB0byBEdW1iTWV0aG9kcyBkZXRlY3RvciAoRGF2ZSBCcm9zaXVzKTwvbGk+Ci0JCQkJCTxsaT5PcGVuIHN0cmVhbSBkZXRlY3RvciBkb2VzIG5vdCByZXBvcnQgd3JhcHBlcnMgb2Ygc3RyZWFtcwotCQkJCQkJcGFzc2VkIGFzIG1ldGhvZCBwYXJhbWV0ZXJzIChEYXZpZCBIb3ZlbWV5ZXIpIDwhLS0gRmVhdHVyZSBlbmhhbmNlbWVudHMgLS0+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5DYW5jZWwgY29uZmlybWF0aW9uIGRpYWxvZyBpbiBTd2luZyBHVUkgKFBldGUgQW5nc3RhZHQpPC9saT4KLQkJCQkJPGxpPkJldHRlciByZWxhdGl2ZSBwYXRoIHNhdmluZyBpbiBQcm9qZWN0IGZpbGUgKERhdmUgQnJvc2l1cykKLQkJCQkJPC9saT4KLQkJCQkJPGxpPkRldGVjdG9yIFByaW9yaXR5IGluIEdVSSBpcyBub3cgc2F2ZWQgaW4gcHJlZnMgZmlsZSAoRGF2ZQotCQkJCQkJQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+Q29udHJvbHMgaW4gR1VJIHRvIHJlb3JkZXIgc291cmNlIGFuZCBjbGFzc3BhdGggZW50cmllcywKLQkJCQkJCWFuZCBhYmlsaXR5IHRvIGZsaXAgYmV0d2VlbiBQcm9qZWN0IGRldGFpbHMgYW5kIGJ1Z3MgcGFnZXMgKERhdmUKLQkJCQkJCUJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkluIFN3aW5nIEdVSSwgYW5hbHlzaXMgZXJyb3IgZGlhbG9nIHN1cHBvcnRzICJTZWxlY3QgQWxsIgotCQkJCQkJYW5kICJDb3B5IiBvcGVyYXRpb25zIGZvciBlYXN5IGdlbmVyYXRpb24gb2YgZXJyb3IgcmVwb3J0cyAoRGF2ZQotCQkJCQkJQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+Q29tcGxldGUgdHJhbnNsYXRpb24gb2YgYnVnIGRlc2NyaXB0aW9ucyBhbmQgbWVzc2FnZXMgaW50bwotCQkJCQkJSmFwYW5lc2UgKEhhbmFpIFNoaXNlaSkgPCEtLSBCdWcgZml4ZXMgLS0+Ci0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBidWcgaW4gRHJvcHBlZEV4Y2VwdGlvbiBkZXRlY3RvciAoRGF2ZSBCcm9zaXVzKSA8IS0tIERldmVsb3BtZW50IHN0dWZmIC0tPgotCQkJCQk8L2xpPgotCQkJCQk8bGk+VGhlIHNvdXJjZSBkaXN0cmlidXRpb24gZGVmYXVsdHMgdG8gdXNpbmcgSkRLIDEuNSBqYXZhYyB0bwotCQkJCQkJY29tcGlsZSwgYnV0IHN1cHBvcnQgZm9yIGNvbXBpbGluZyB3aXRoIEpTUi0xNCBwcm90b3R5cGUgaXMgc3RpbGwKLQkJCQkJCXN1cHBvcnRlZDwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAwLjguMTo8L3A+Ci0JCQkJPHVsPgotCQkJCQk8bGk+Rml4ZWQgYSBjcml0aWNhbCBDbGFzc0Nhc3RFeGNlcHRpb24gYnVnICh0cmlnZ2VyZWQgaWYgdGhlCi0JCQkJCQktd29ya0hhcmQgb3B0aW9uIHdhcyB1c2VkLCBhbmQgYW4gZXhjZXB0aW9uIHR5cGUgd2FzIG1lcmdlZCB3aXRoCi0JCQkJCQlhbiBhcnJheSB0eXBlIGR1cmluZyB0eXBlIGluZmVyZW5jZSk8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC44LjA6PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPkRpc2FibGVkIFN3aXRjaEZhbGx0aHJvdWdoIGRldGVjdG9yIHRvIHdvcmsgYXJvdW5kCi0JCQkJCQlOdWxsUG9pbnRlckV4Y2VwdGlvbnM8L2xpPgotCQkJCQk8bGk+QWRkZWQgc29tZSBhZGRpdGlvbmFsIGZhbHNlIHBvc2l0aXZlIHN1cHByZXNzaW9uCi0JCQkJCQloZXVyaXN0aWNzPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+QWxzbywgdHdvIGNvbnRyaWJ1dG9ycyB0byB0aGUgMC44LjAgcmVsZWFzZSB3ZXJlCi0JCQkJCWluYWR2ZXJ0ZW50bHkgbGVmdCBvdXQgb2YgdGhlIGNyZWRpdHM6PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPlBldGUgQW5nc3RhZHQgZml4ZWQgc2V2ZXJhbCBwcm9ibGVtcyBpbiB0aGUgU3dpbmcgR1VJPC9saT4KLQkJCQkJPGxpPkZyYW5jaXMgTGFsb25kZSBwcm92aWRlZCBhIHRhc2sgcmVzb3VyY2UgZmlsZSBmb3IgdGhlCi0JCQkJCQlGaW5kQnVncyBBbnQgdGFzazwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAwLjcuNDo8L3A+Ci0JCQkJPHVsPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGxvb2sgZm9yIHVzZXMgb2YgIisiIG9wZXJhdG9yIHRvCi0JCQkJCQljb25jYXRlbmF0ZSBTdHJpbmcgb2JqZWN0cyBpbiBhIGxvb3AgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+UmVmZXJlbmNlIGNvbXBhcmlzb24gZGV0ZWN0b3IgbG9va3MgZm9yIHBsYWNlcyB3aGVyZSB0aGUKLQkJCQkJCWFyZ3VtZW50IHBhc3NlZCB0byB0aGUgZXF1YWxzKE9iamVjdCkgbWV0aG9kIGlzbid0IHRoZSBzYW1lIHR5cGUKLQkJCQkJCWFzIHRoZSByZWNlaXZlciBvYmplY3Q8L2xpPgotCQkJCQk8bGk+QmV0dGVyIHN1cHByZXNzaW9uIG9mIGZhbHNlIHdhcm5pbmdzIGluIG1hbnkgZGV0ZWN0b3JzPC9saT4KLQkJCQkJPGxpPk1hbnkgaW1wcm92ZW1lbnRzIHRvIEVjbGlwc2UgcGx1Z2luIChBbmRyZXkgTG9za3V0b3YsCi0JCQkJCQlQZXRlciBGcmllc2UpPC9saT4KLQkJCQkJPGxpPkZpeGVkIHByb2JsZW0gd2l0aCBidWlsZGluZyBFY2xpcHNlIHBsdWdpbiBvbiBXaW5kb3dzCi0JCQkJCQkoVGhvbWFzIEtsYWVnZXIpPC9saT4KLQkJCQkJPGxpPk9wZW4gc3RyZWFtIGRldGVjdG9yIGxvb2tzIGZvciB1bmNsb3NlZCBQcmVwYXJlZFN0YXRlbWVudAotCQkJCQkJb2JqZWN0cyAoVGhvbWFzIEtsYWVnZXIsIFJvaGFuIExsb3lkKTwvbGk+Ci0JCQkJCTxsaT5GaXggZm9yIG9wZW4gc3RyZWFtIGRldGVjdG9yOiBpdCB3YXNuJ3QgZGV0ZWN0aW5nIGNsb3NlKCkKLQkJCQkJCW1ldGhvZHMgY2FsbGVkIHRocm91Z2ggYW4gaW52b2tlaW50ZXJmYWNlIGluc3RydWN0aW9uIChUaG9tYXMKLQkJCQkJCUtsYWVnZXIpPC9saT4KLQkJCQkJPGxpPlJlZmFjdG9yaW5nIG9mIHZpc2l0b3IgY2xhc3NlcyB0byBlbmZvcmNlIHVzZSBvZiBhY2Nlc3NvcnMKLQkJCQkJCWZvciB2aXNpdGVkIGNsYXNzIGZlYXR1cmVzIChCcmlhbiBHb2V0eik8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC43LjM6PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPkV4cGVyaW1lbnRhbCBtb2RpZmljYXRpb24gb2Ygb3BlbiBzdHJlYW0gZGV0ZWN0b3IgdG8gbG9vawotCQkJCQkJZm9yIG5vbi1lc2NhcGluZyBKREJDIHJlc291cmNlcyAoY29ubmVjdGlvbnMgYW5kIHN0YXRlbWVudHMpIHRoYXQKLQkJCQkJCWFyZW4ndCBjbG9zZWQgb24gYWxsIHBhdGhzIG91dCBvZiBtZXRob2Q8L2xpPgotCQkJCQk8bGk+RWNsaXBzZSBwbHVnaW4gZml4ZWQgc28gaXQgY29tcGlsZXMgYW5kIHJ1bnMgb24gRWNsaXBzZQotCQkJCQkJMi4xLnggKFBldGVyIEZyaWVzZSk8L2xpPgotCQkJCQk8bGk+T3B0aW9uIHRvIFN3aW5nIEdVSSBhbmQgY29tbWFuZCBsaW5lIHRvIGdlbmVyYXRlIHByb2plY3QKLQkJCQkJCWZpbGUgdXNpbmcgcmVsYXRpdmUgcGF0aHMgZm9yIGFyY2hpdmVzLCBzb3VyY2UgZGlyZWN0b3JpZXMsIGFuZAotCQkJCQkJYXV4IGNsYXNzcGF0aCBlbnRyaWVzIChEYXZlIEJyb3NpdXMpPC9saT4KLQkJCQkJPGxpPkltcHJvdmVtZW50cyB0byBmaW5kYnVncy5iYXQgc2NyaXB0IGZvciBsYXVuY2hpbmcgRmluZEJ1Z3MKLQkJCQkJCW9uIFdpbmRvd3MgKERhdmUgQnJvc2l1cyk8L2xpPgotCQkJCQk8bGk+VXBkYXRlZCBKYXBhbmVzZSBtZXNzYWdlIHRyYW5zbGF0aW9ucyAoSGlyb3NoaSBPa3VnYXdhKTwvbGk+Ci0JCQkJCTxsaT5VbmNhbGxlZCBwcml2YXRlIG1ldGhvZHMgYXJlIG5vdyByZXBvcnRlZCBhcyBsb3cgcHJpb3JpdHksCi0JCQkJCQl1bmxlc3MgdGhleSBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgYW5vdGhlciBtZXRob2QgaW4gdGhlIGNsYXNzCi0JCQkJCQkod2hpY2ggaXMgbW9yZSBsaWtlbHkgdG8gaW5kaWNhdGUgYW4gYWN0dWFsIGJ1Zyk8L2xpPgotCQkJCQk8bGk+QWRkZWQgc29tZSBtaXNzaW5nIGRhdGEgaW4gdGhlIGJ1ZyBtZXNzYWdlcyBYTUwgZmlsZXM8L2xpPgotCQkJCQk8bGk+Rml4ZWQgc29tZSBwcm9ibGVtcyBidWlsZGluZyBmcm9tIHNvdXJjZSBvbiBXaW5kb3dzCi0JCQkJCQlzeXN0ZW1zPC9saT4KLQkJCQkJPGxpPlZhcmlvdXMgbWlub3IgYnVnIGZpeGVzPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNy4yOjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5FbmhhbmNlZCBFY2xpcHNlIHBsdWdpbiwgd2hpY2ggZGlzcGxheXMgdGhlIGRldGFpbGVkIGJ1ZwotCQkJCQkJZGVzY3JpcHRpb24gaW4gYSB2aWV3IChQaGlsIENyb3NieSk8L2xpPgotCQkJCQk8bGk+VmFyaW91cyB0d2Vha3MgdG8gZXhpc3RpbmcgZGV0ZWN0b3JzIHRvIHJlZHVjZSBmYWxzZQotCQkJCQkJd2FybmluZ3M8L2xpPgotCQkJCQk8bGk+TmV3IGNvbW1hbmQgbGluZSBvcHRpb24gPGNvZGU+IC13b3JrSGFyZCA8L2NvZGU+IGVuYWJsZXMKLQkJCQkJCXBydW5pbmcgb2YgaW5mZWFzaWJsZSBvciB1bmxpa2VseSBleGNlcHRpb24gZWRnZXMsIHdoaWNoIHJlc3VsdHMKLQkJCQkJCWluIGJldHRlciBhY2N1cmFjeSBpbiB0aGUgb3BlbiBzdHJlYW0gZGV0ZWN0b3IsIGF0IHRoZSBleHBlbnNlIG9mCi0JCQkJCQlhIDMwJS0xMDAlIHNsb3dkb3duCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5OZXcgd2Vic2l0ZSBhbmQgSFRNTCBkb2N1bWVudGF0aW9uIGRlc2lnbjwvbGk+Ci0JCQkJCTxsaT5Eb2N1bWVudGF0aW9uIGluY2x1ZGVzIGFuIEhUTUwgZG9jdW1lbnQgd2l0aCBkZXNjcmlwdGlvbnMKLQkJCQkJCW9mIGFsbCBidWcgcGF0dGVybnMgcmVwb3J0ZWQgYnkgRmluZEJ1Z3M8L2xpPgotCQkJCQk8bGk+V2ViIHBhZ2UgaGFzIGEgbGluayB0byBhIDxhCi0JCQkJCQlocmVmPSJodHRwOi8vd3d3LnNpbWVqaS5jb20vZmluZGJ1Z3MvZG9jL21hbnVhbF9qYS9pbmRleC5odG1sIj5KYXBhbmVzZQotCQkJCQkJCXRyYW5zbGF0aW9uPC9hPiBvZiB0aGUgRmluZEJ1Z3MgbWFudWFsLCBjb250cmlidXRlZCBieSBIaXJvc2hpCi0JCQkJCQlPa3VnYXdhCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5DaGFuZ2VkIHRoZSBJbmNvbnNpc3RlbnQgU3luY2hyb25pemF0aW9uIGRldGVjdG9yIHNvIHRoYXQKLQkJCQkJCWZpZWxkcyBzeW5jaHJvbml6ZWQgNTAlIG9mIHRoZSB0aW1lIChvciBtb3JlKSBhcmUgcmVwb3J0ZWQgYXMKLQkJCQkJCW1lZGl1bSBwcmlvcml0eSBidWdzIChwcmV2aW91c2x5IHRoZXkgd2VyZSByZXBvcnRlZCBhcyBsb3cpPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIGNvZGUgdGhhdCBjYXRjaGVzCi0JCQkJCQlJbGxlZ2FsTW9uaXRvclN0YXRlRXhjZXB0aW9uPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIHByaXZhdGUgbWV0aG9kcyB0aGF0IGFyZSBuZXZlciBjYWxsZWQKLQkJCQkJPC9saT4KLQkJCQkJPGxpPk5ldyBkZXRlY3RvciB0byBmaW5kIHN1c3BpY2lvdXMgdXNlcyBvZgotCQkJCQkJbm9uLXNob3J0LWNpcmN1aXRpbmcgYm9vbGVhbiBvcGVyYXRvcnMgKCA8Y29kZT4gJmFtcDsgPC9jb2RlPiBhbmQKLQkJCQkJCTxjb2RlPiB8IDwvY29kZT4gLCByYXRoZXIgdGhhbiA8Y29kZT4gJmFtcDsmYW1wOyA8L2NvZGU+IGFuZCA8Y29kZT4KLQkJCQkJCQl8fCA8L2NvZGU+ICkKLQkJCQkJPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNy4xOjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5JbmNvcnBvcmF0ZWQgcGF0Y2hlZCB2ZXJzaW9uIG9mIEJDRUwsIHdoaWNoIGFsbG93cyBjbGFzc2VzCi0JCQkJCQljb21waWxlZCB3aXRoIEpESyAxLjUuMCBiZXRhIHRvIGJlIGFuYWx5emVkPC9saT4KLQkJCQkJPGxpPkZpeGVkIHNvbWUgYnVncyByZWxhdGVkIHRvIGxvb2t1cHMgb2YgYXJyYXkgY2xhc3NlczwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBidWcgdGhhdCBwcmV2ZW50ZWQgR1VJIGZyb20gbG9hZGluZyBYTUwgcmVzdWx0IGZpbGVzCi0JCQkJCQl3aGVuIHJ1bm5pbmcgdW5kZXIgSkRLIDEuNS4wIGJldGE8L2xpPgotCQkJCQk8bGk+QWRkZWQgbmV3IGV4cGVyaW1lbnRhbCBidWcgZGV0ZWN0b3IsIExhenlJbml0LCB3aGljaCBsb29rcwotCQkJCQkJZm9yIHBvdGVudGlhbGx5IGJ1Z2d5IGxhenkgaW5pdGlhbGl6YXRpb25zIG9mIHN0YXRpYyBmaWVsZHM8L2xpPgotCQkJCQk8bGk+QmVjYXVzZSBvZiBsb25nIGZpbGVuYW1lcywgc3dpdGNoZWQgdG8gZGlzdHJpYnV0aW5nIHRoZQotCQkJCQkJc291cmNlIGFyY2hpdmUgYXMgYSB6aXAgZmlsZSByYXRoZXIgdGhhbiBhIHRhciBmaWxlPC9saT4KLQkJCQkJPGxpPlRoZSAwLjcuMSBzb3VyY2UgdGFyZmlsZSB3YXMgYm90Y2hlZCAtIDAuNy4yIGhhcyBhIHZhbGlkCi0JCQkJCQlzb3VyY2UgYXJjaGl2ZTwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBzb21lIHByb2JsZW1zIGluIHRoZSBBbnQgYnVpbGQgc2NyaXB0PC9saT4KLQkJCQkJPGxpPkZpeGVkIE51bGxQb2ludGVyRXhjZXB0aW9uIHdoZW4gY2hlY2tpbmcgQ2xhc3MtUGF0aAotCQkJCQkJYXR0cmlidXRlIGZvciBKYXIgZmlsZXMgd2l0aG91dCBtYW5pZmVzdHM8L2xpPgotCQkJCQk8bGk+R2VuZXJhdGUgdmVyc2lvbiBudW1iZXJzIGZvciB0aGUgY29yZSBhbmQgVUkgRWNsaXBzZQotCQkJCQkJcGx1Z2lucyB1c2luZyB0aGUgVmVyc2lvbiBjbGFzczsgYWxsIHZlcnNpb24gbnVtYmVycyBhcmUgbm93IGluIGEKLQkJCQkJCWNvbW1vbiBsb2NhdGlvbjwvbGk+Ci0JCQkJPC91bD4KLQotCQkJCTxwPkNoYW5nZXMgc2luY2UgdmVyc2lvbiAwLjcuMDo8L3A+Ci0JCQkJPHVsPgotCQkJCQk8bGk+RWNsaXBzZSBwbHVnaW4gKGNvbnRyaWJ1dGVkIGJ5IFBldGVyIEZyaWVzZSk8L2xpPgotCQkJCQk8bGk+U291cmNlIHBhY2thZ2Ugc3RydWN0dXJlIHJlYXJyYW5nZWQ6IGFsbCBzb3VyY2UgKG90aGVyCi0JCQkJCQl0aGFuIEVjbGlwc2UgcGx1Z2luIFVJKSBpcyBpbiB0aGUgZWR1LnVtZC5jcy5maW5kYnVncyBwYWNrYWdlLCBvcgotCQkJCQkJYSBzdWJwYWNrYWdlPC9saT4KLQkJCQkJPGxpPkNsYXNzLVBhdGggYXR0cmlidXRlcyBvZiBtYW5pZmVzdHMgb2YgYW5hbHl6ZWQgamFyIGZpbGVzCi0JCQkJCQlhcmUgdXNlZCB0byBzZXQgdGhlIGF1eCBjbGFzc3BhdGggYXV0b21hdGljYWxseSAoUGV0ZXIgRC4gU3RvdXQpPC9saT4KLQkJCQkJPGxpPkdVSSBzdGFydHMgaW4gZGlyZWN0b3J5IHNwZWNpZmllZCBieSB1c2VyLmhvbWUgcHJvcGVydHkKLQkJCQkJCShQZXRlciBELiBTdG91dCk8L2xpPgotCQkJCQk8bGk+QWRkZWQgLXByb2plY3Qgb3B0aW9uIHRvIEdVSSAoTWlra28gVC4pPC9saT4KLQkJCQkJPGxpPkFkZGVkIC1sb29rOntwbGFzdGljLGd0ayxuYXRpdmV9IG9wdGlvbiB0byBHVUksIGZvcgotCQkJCQkJc2V0dGluZyBsb29rIGFuZCBmZWVsIChNaWtrbyBULik8L2xpPgotCQkJCQk8bGk+Rml4ZWQgRGF0YWZsb3dBbmFseXNpc0V4Y2VwdGlvbiBpbiBpbmNvbnNpc3RlbnQKLQkJCQkJCXN5bmNocm9uaXphdGlvbiBkZXRlY3RvcjwvbGk+Ci0JCQkJCTxsaT5BbnQgdGFzayBzdXBwb3J0cyBmYWlsT25FcnJvciBwYXJhbWV0ZXIgKFJvaGFuIExsb3lkKTwvbGk+Ci0JCQkJCTxsaT5TZXJpYWxpemFibGUgY2xhc3Mgd2FybmluZ3MgYXJlIGRvd25ncmFkZWQgdG8gbG93IHByaW9yaXR5Ci0JCQkJCQlmb3IgR1VJIGNsYXNzZXM8L2xpPgotCQkJCQk8bGk+TVdOIGRldGVjdG9yIHdpbGwgb25seSByZXBvcnQgY2FsbHMgdG8gd2FpdCgpLCBub3RpZnkoKSwKLQkJCQkJCWFuZCBub3RpZnlBbGwoKSBtZXRob2RzIHRoYXQgaGF2ZSB0aGUgY29ycmVjdCBzaWduYXR1cmU8L2xpPgotCQkJCQk8bGk+RmluZEJ1Z3Mgd29ya3Mgd2l0aCBsYXRlc3QgQ1ZTIHZlcnNpb24gb2YgQkNFTDwvbGk+Ci0JCQkJCTxsaT5aaXAgYW5kIEphciBmaWxlcyBtYXkgYmUgYWRkZWQgdG8gdGhlIHNvdXJjZSBwYXRoPC9saT4KLQkJCQkJPGxpPlRoZSBHVUkgd2lsbCBhdXRvbWF0aWNhbGx5IGZpbmQgc291cmNlIGZpbGVzIHJlc2lkaW5nIGluCi0JCQkJCQlhbmFseXplZCBaaXAgb3IgSmFyIGZpbGVzPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Tm90ZSB0aGF0IHRoZSB2ZXJzaW9uIG51bWJlciBqdW1wZWQgZnJvbSAwLjYuNiB0byAwLjYuOTsKLQkJCQkJdGhlcmUgd2VyZSBubyAwLjYuNyBvciAwLjYuOCByZWxlYXNlcy48L3A+Ci0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNi45OjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5BZGRlZCAtY29uc2VydmVTcGFjZSBvcHRpb24gdG8gcmVkdWNlIG1lbW9yeSB1c2UgYXQgdGhlCi0JCQkJCQlleHBlbnNlIG9mIGFuYWx5c2lzIHByZWNpc2lvbjwvbGk+Ci0JCQkJCTxsaT5CdWcgZml4ZXMgaW4gZmluZGJ1Z3MuYmF0IHNjcmlwdDogSkFWQV9IT01FIGhhbmRsaW5nLAotCQkJCQkJYXV0b2RldGVjdGlvbiBvZiBGSU5EQlVHU19IT01FLCBtaXNzaW5nIG91dHB1dCB3aXRoIC10ZXh0dWk8L2xpPgotCQkJCQk8bGk+Rml4ZWQgTnVsbFBvaW50ZXJFeGNlcHRpb24gd2hlbiBhIG1pc3NpbmcgY2xhc3MgaXMKLQkJCQkJCWVuY291bnRlcmVkPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNi42OjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5UaGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGRldGVjdG9yIGlzIG1vcmUgcG93ZXJmdWw8L2xpPgotCQkJCQk8bGk+U2lnbmlmaWNhbnRseSBpbXByb3ZlZCBoZXVyaXN0aWNzIGFuZCBidWcgZml4ZXMgaW4KLQkJCQkJCWluY29uc2lzdGVudCBzeW5jaHJvbml6YXRpb24gZGV0ZWN0b3I8L2xpPgotCQkJCQk8bGk+SW1wcm92ZWQgaGV1cmlzdGljcyBpbiBvcGVuIHN0cmVhbSBhbmQgZHJvcHBlZCBleGNlcHRpb24KLQkJCQkJCWRldGVjdG9yczsgZmV3ZXIgZmFsc2UgcG9zaXRpdmVzIHNob3VsZCBiZSByZXBvcnRlZDwvbGk+Ci0JCQkJCTxsaT5TYXZlIEhUTUwgc3VtbWFyeSBpbiBYTUwgcmVzdWx0cyBmaWxlcywgcmF0aGVyIHRoYW4KLQkJCQkJCXJlY29tcHV0aW5nOyB0aGlzIG1ha2VzIGxvYWRpbmcgcmVzdWx0cyBpbiBHVUkgbXVjaCBmYXN0ZXI8L2xpPgotCQkJCQk8bGk+UmVwb3J0IGF0IG1vc3Qgb25lIFN0cmluZyBjb21wYXJpc29uIHVzaW5nID09IG9yICE9IHBlcgotCQkJCQkJbWV0aG9kPC9saT4KLQkJCQkJPGxpPlRoZSBmaW5kYnVncy5iYXQgc2NyaXB0IG9uIFdpbmRvd3MgYXV0b2RldGVjdHMKLQkJCQkJCUZJTkRCVUdTX0hPTUUsIGFuZCBkb2Vzbid0IG9wZW4gYSBET1Mgd2luZG93IHdoZW4gbGF1bmNoaW5nIHRoZQotCQkJCQkJR1VJIChjb250cmlidXRlZCBieSBUSlNCKTwvbGk+Ci0JCQkJCTxsaT5FbWFjcyByZXBvcnRpbmcgZm9ybWF0IChjb250cmlidXRlZCBieSBEYXZpZCBMaSk8L2xpPgotCQkJCQk8bGk+VmFyaW91cyBidWcgZml4ZXM8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIDAuNi41OjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5SZXdyaXR0ZW4gaW5jb25zaXN0ZW50IHN5bmNocm9uaXphdGlvbiBkZXRlY3RvcjsgYWNjdXJhY3kKLQkJCQkJCWlzIHNpZ25pZmljYW50bHkgaW1wcm92ZWQsIGFuZCBidWcgcmVwb3J0cyBhcmUgcHJpb3JpdGl6ZWQ8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgc2VsZiBhc3NpZ25tZW50ICh4PXgpIG9mIGxvY2FsCi0JCQkJCQl2YXJpYWJsZXMgKHN1Z2dlc3RlZCBieSBKZWZmIE1hcnRpbik8L2xpPgotCQkJCQk8bGk+TmV3IGRldGVjdG9yIHRvIGZpbmQgY2FsbHMgdG8gd2FpdCgpLCBub3RpZnkoKSwgYW5kCi0JCQkJCQlub3RpZnlBbGwoKSBvbiBhbiBvYmplY3Qgd2hpY2ggaXMgbm90IG9idmlvdXNseSBsb2NrZWQ8L2xpPgotCQkJCQk8bGk+T3BlbiBzdHJlYW0gZGV0ZWN0b3Igbm93IHJlcG9ydHMgUmVhZGVycyBhbmQgV3JpdGVyczwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBidWcgaW4gZmluYWxpemVyIGlkaW9tcyBkZXRlY3RvciB3aGljaCBjYXVzZWQKLQkJCQkJCXNwdXJpb3VzIHdhcm5pbmdzIGFib3V0IGZhaWx1cmUgdG8gY2FsbCBzdXBlci5maW5hbGl6ZSgpIChyZXBvcnRlZAotCQkJCQkJYnkgSmltIE1lbmFyZCk8L2xpPgotCQkJCQk8bGk+Rml4ZWQgYnVnIHdoZXJlIG91dHB1dCBzdHJlYW0gd2FzIG5vdCBjbG9zZWQgdXNpbmcgbm9uLVhNTAotCQkJCQkJb3V0cHV0IChyZXBvcnRlZCBieSBTaWdpc3dhbGQgTWFkb3UpPC9saT4KLQkJCQkJPGxpPkZpeGVkIGNvcnJ1cHRlZCBIVE1MIGJ1ZyBkZXRhaWwgbWVzc2FnZSAocmVwb3J0ZWQgYnkKLQkJCQkJCVRyZXZvciBIYXJtb24pPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNi40OjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5Gb3IgcmVkdW5kYW50IGNvbXBhcmlzb24gb2YgcmVmZXJlbmNlIHZhbHVlcywgZml4ZWQgZmFsc2UKLQkJCQkJCXBvc2l0aXZlcyByZXN1bHRpbmcgZnJvbSBkdXBsaWNhdGlvbiBvZiBjb2RlIGluIGZpbmFsbHkgYmxvY2tzPC9saT4KLQkJCQkJPGxpPkZpeGVkIGZhbHNlIHBvc2l0aXZlcyByZXN1bHRpbmcgZnJvbSB3cmFwcGVkIGJ5dGUgYXJyYXkKLQkJCQkJCXN0cmVhbXMgbGVmdCBvcGVuPC9saT4KLQkJCQkJPGxpPkZpeGVkIGJ1ZyBpbiBBbnQgdGFzayBwcmV2ZW50aW5nIG91dHB1dCBmaWxlIGZyb20gd29ya2luZwotCQkJCQkJcHJvcGVybHkgaWYgYSByZWxhdGl2ZSBwYXRoIHdhcyB1c2VkPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNi4zOjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5GaXhlZCBidWcgaW4gQW50IHRhc2sgd2hlcmUgb3V0cHV0IHdvdWxkIGJlIGNvcnJ1cHRlZCwgYW5kCi0JCQkJCQlhZGRlZCBhIDxjb2RlPiB0aW1lb3V0IDwvY29kZT4gYXR0cmlidXRlCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5BZGRlZCAtb3V0cHV0RmlsZSBvcHRpb24gdG8gdGV4dCBVSSwgZm9yIGV4cGxpY2l0bHkKLQkJCQkJCXNwZWNpZnlpbmcgYW4gb3V0cHV0IGZpbGU8L2xpPgotCQkJCQk8bGk+R1VJIGhhcyBhIHN1bW1hcnkgd2luZG93LCBmb3Igc3RhdGlzdGljcyBhYm91dCBvdmVyYWxsIGJ1ZwotCQkJCQkJZGVuc2l0aWVzIChjb250cmlidXRlZCBieSBNaWtlIEZhZ2FuKTwvbGk+Ci0JCQkJCTxsaT5GaW5kIHJlZHVuZGFudCBjb21wYXJpc29ucyBvZiByZWZlcmVuY2UgdmFsdWVzPC9saT4KLQkJCQkJPGxpPk1vcmUgYWNjdXJhdGUgZGV0ZWN0aW9uIG9mIFN0cmluZ3MgY29tcGFyZWQgd2l0aCA9PSBhbmQgIT0KLQkJCQkJCW9wZXJhdG9yczwvbGk+Ci0JCQkJCTxsaT5EZXRlY3Rpb24gb2Ygb3RoZXIgcmVmZXJlbmNlIHR5cGVzIHdoaWNoIHNob3VsZCBnZW5lcmFsbHkKLQkJCQkJCW5vdCBiZSBjb21wYXJlZCB3aXRoID09IGFuZCAhPSBvcGVyYXRvcnM7IEJvb2xlYW4sIEludGVnZXIsIGV0Yy48L2xpPgotCQkJCQk8bGk+RmluZCBub24tdHJhbnNpZW50IG5vbi1zZXJpYWxpemFibGUgaW5zdGFuY2UgZmllbGRzIGluCi0JCQkJCQlTZXJpYWxpemFibGUgY2xhc3NlczwvbGk+Ci0JCQkJCTxsaT5Tb3VyY2UgY29kZSBtYXkgYmUgY29tcGlsZWQgd2l0aCBsYXRlc3QgZWFybHkgYWNjZXNzCi0JCQkJCQlnZW5lcmljcy1lbmFibGVkIGphdmFjICh2ZXJzaW9uIDIuMik8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC42LjI6PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPkdVSSBzdXBwb3J0cyBmaWx0ZXJpbmcgYnVncyBieSBwcmlvcml0eTwvbGk+Ci0JCQkJCTxsaT5BbnQgdGFzayByZXdyaXR0ZW47IHN1cHBvcnRzIGFsbCBmdW5jdGlvbmFsaXR5IG9mZmVyZWQgYnkKLQkJCQkJCVRleHQgVUkgKGNvbnRyaWJ1dGVkIGJ5IE1pa2UgRmFnYW4pPC9saT4KLQkJCQkJPGxpPkFudCB0YXNrIGlzIGZ1bGx5IGRvY3VtZW50ZWQgaW4gdGhlIG1hbnVhbDwvbGk+Ci0JCQkJCTxsaT5DbGFzc2VzIGluIG5lc3RlZCBhcmNoaXZlcyBhcmUgYW5hbHl6ZWQ7IHRoaXMgYWxsb3dzIGZ1bGwKLQkJCQkJCXN1cHBvcnQgZm9yIGFuYWx5emluZyAuZWFyIGFuZCAud2FyIGZpbGVzIChjb250cmlidXRlZCBieSBNaWtlCi0JCQkJCQlGYWdhbik8L2xpPgotCQkJCQk8bGk+RGVwdGhGaXJzdFNlYXJjaCBjaGFuZ2VkIHRvIHVzZSBub24tcmVjdXJzaXZlCi0JCQkJCQlpbXBsZW1lbnRhdGlvbjsgdGhpcyBzaG91bGQgZml4IHRoZSBTdGFja092ZXJmbG93RXJyb3JzIHRoYXQKLQkJCQkJCXNldmVyYWwgdXNlcnMgcmVwb3J0ZWQ8L2xpPgotCQkJCQk8bGk+VmFyaW91cyBtaW5vciBidWdmaXhlcyBhbmQgaW1wcm92ZW1lbnRzPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNi4xOjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5OZXcgZGV0ZWN0b3IgdG8gbG9vayBmb3IgdXNlbGVzcyBjb250cm9sIGZsb3cgKHN1Z2dlc3RlZAotCQkJCQkJYnkgUmljaGFyZCBQLiBLaW5nIGFuZCBNaWtlIEZhZ2FuKTwvbGk+Ci0JCQkJCTxsaT5Mb29rIGZvciBwbGFjZXMgd2hlcmUgcmV0dXJuIHZhbHVlIG9mCi0JCQkJCQlqYXZhLmlvLkZpbGUuY3JlYXRlTmV3RmlsZSgpIGlzIGlnbm9yZWQgKHN1Z2dlc3RlZCBieSBSaWNoYXJkIFAuCi0JCQkJCQlLaW5nKTwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBidWcgaW4gcmVzb2x1dGlvbiBvZiBzb3VyY2UgZmlsZXMgKG9ubHkgdGhlIGZpcnN0Ci0JCQkJCQlzb3VyY2UgZGlyZWN0b3J5IHdhcyBzZWFyY2hlZCk8L2xpPgotCQkJCQk8bGk+Rml4ZWQgYSBOdWxsUG9pbnRlckV4Y2VwdGlvbiBpbiB0aGUgYnl0ZWNvZGUgcGF0dGVybgotCQkJCQkJbWF0Y2hpbmcgY29kZTwvbGk+Ci0JCQkJCTxsaT5BbnQgdGFzayBzdXBwb3J0cyBwcm9qZWN0IGZpbGVzIChjb250cmlidXRlZCBieSBNaWtlCi0JCQkJCQlGYWdhbik8L2xpPgotCQkJCQk8bGk+VW5peCBmaW5kYnVncyBzY3JpcHQgaG9ub3JzIHRoZSA8Y29kZT4gSkFWQV9IT01FIDwvY29kZT4KLQkJCQkJCWVudmlyb25tZW50IHZhcmlhYmxlIChjb250cmlidXRlZCBieSBQZWRybyBNb3JhaXMpCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5BbGxvdyAud2FyIGFuZCAuZWFyIGZpbGVzIHRvIGJlIGFuYWx5emVkPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNi4wOjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5OZXcgYnVnIHBhdHRlcm4gZGV0ZWN0b3Igd2hpY2ggbG9va3MgZm9yIHBsYWNlcyB3aGVyZSBhCi0JCQkJCQludWxsIHBvaW50ZXIgbWlnaHQgYmUgZGVyZWZlcmVuY2VkPC9saT4KLQkJCQkJPGxpPk5ldyBidWcgcGF0dGVybiBkZXRlY3RvciB3aGljaCBsb29rcyBmb3IgSU8gc3RyZWFtcyB0aGF0Ci0JCQkJCQlhcmUgb3BlbmVkLCBkbyBub3QgZXNjYXBlIHRoZSBtZXRob2QsIGFuZCBhcmUgbm90IGNsb3NlZCBvbiBhbGwKLQkJCQkJCXBhdGhzIG91dCBvZiB0aGUgbWV0aG9kPC9saT4KLQkJCQkJPGxpPk5ldyBidWcgcGF0dGVybiBkZXRlY3RvciB0byBmaW5kIG1ldGhvZHMgdGhhdCBjYW4gcmV0dXJuCi0JCQkJCQludWxsIGluc3RlYWQgb2YgYSB6ZXJvLWxlbmd0aCBhcnJheTwvbGk+Ci0JCQkJCTxsaT5OZXcgYnVnIHBhdHRlcm4gZGV0ZWN0b3IgdG8gZmluZCBwbGFjZXMgd2hlcmUgdGhlID09IG9yICE9Ci0JCQkJCQlvcGVyYXRvcnMgYXJlIHVzZWQgdG8gY29tcGFyZSBTdHJpbmcgb2JqZWN0czwvbGk+Ci0JCQkJCTxsaT5Db21tYW5kIGxpbmUgaW50ZXJmYWNlIGNhbiBzYXZlIGJ1Z3MgYXMgWE1MPC9saT4KLQkJCQkJPGxpPkdVSSBjYW4gc2F2ZSBidWdzIHRvIGFuZCBsb2FkIGJ1Z3MgZnJvbSBYTUw8L2xpPgotCQkJCQk8bGk+QW4gIkFubm90YXRpb25zIiB3aW5kb3cgaW4gdGhlIEdVSSBhbGxvd3MgdGhlIHVzZXIgdG8gYWRkCi0JCQkJCQl0ZXh0dWFsIGFubm90YXRpb25zIHRvIGJ1ZyByZXBvcnRzOyB0aGVzZSBhbm5vdGF0aW9ucyBhcmUKLQkJCQkJCXByZXNlcnZlZCB3aGVuIGJ1Z3MgYXJlIHNhdmVkIGFzIFhNTDwvbGk+Ci0JCQkJCTxsaT5JbiB0aGlzIHJlbGVhc2UsIHRoZSBKYXBhbmVzZSBidWcgc3VtbWFyeSB0cmFuc2xhdGlvbnMgYnkKLQkJCQkJCUdlcm1hbm8gTGVpY2hzZW5yaW5nIGFyZSByZWFsbHkgaW5jbHVkZWQgKHRoZXkgd2VyZSBpbmFkdmVydGVudGx5Ci0JCQkJCQlvbWl0dGVkIGluIHRoZSBwcmV2aW91cyByZWxlYXNlKTwvbGk+Ci0JCQkJCTxsaT5Db21wbGV0ZWx5IHJld3JvdGUgdGhlIGNvbnRyb2wgZmxvdyBncmFwaCBidWlsZGVyLAotCQkJCQkJaG9wZWZ1bGx5IGZvciB0aGUgbGFzdCB0aW1lPC9saT4KLQkJCQkJPGxpPlNpbXBsaWZpZWQgaW1wbGVtZW50YXRpb24gb2YgY29udHJvbCBmbG93IGdyYXBocywgd2hpY2gKLQkJCQkJCXNob3VsZCByZWR1Y2UgbWVtb3J5IHVzZSBhbmQgcG9zc2libHkgaW1wcm92ZSBwZXJmb3JtYW5jZTwvbGk+Ci0JCQkJCTxsaT5JbXByb3ZlbWVudHMgdG8gY29tbWFuZCBsaW5lIGludGVyZmFjZSAobGlzdCBidWcKLQkJCQkJCXByaW9yaXRpZXMsIGZpbHRlciBieSBwcmlvcml0eSwgc3BlY2lmeSBhdXggY2xhc3NwYXRoLCBzcGVjaWZ5Ci0JCQkJCQlwcm9qZWN0IHRvIGFuYWx5emUpPC9saT4KLQkJCQkJPGxpPlZhcmlvdXMgYnVnIGZpeGVzIGFuZCBlbmhhbmNlbWVudHM8L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC41LjQ8L3A+Ci0JCQkJPHVsPgotCQkJCQk8bGk+QWRkZWQgYW4gPGEgaHJlZj0iaHR0cDovL2FudC5hcGFjaGUub3JnLyI+QW50PC9hPiB0YXNrIGZvcgotCQkJCQkJRmluZEJ1Z3MsIGNvbnRyaWJ1dGVkIGJ5IE1pa2UgRmFnYW4uCi0JCQkJCTwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBhIEdVSSBkaWFsb2cgd2hpY2ggYWxsb3dzIGluZGl2aWR1YWwgYnVnIHBhdHRlcm4KLQkJCQkJCWRldGVjdG9ycyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLiZuYnNwOyBEaXNhYmxpbmcgY2VydGFpbiBzbG93Ci0JCQkJCQlkZXRlY3RvcnMgY2FuIGdyZWF0bHkgc3BlZWQgdXAgYW5hbHlzaXMgb2YgbGFyZ2UgcHJvZ3JhbXMsIGF0IHRoZQotCQkJCQkJZXhwZW5zZSBvZiByZWR1Y2luZyB0aGUgbnVtYmVyIG9mIHBvdGVudGlhbCBidWdzIGZvdW5kLjwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBhIG5ldyBkZXRlY3RvciBmb3IgZmluZGluZyBpbXByb3Blcmx5IGlnbm9yZWQgcmV0dXJuCi0JCQkJCQl2YWx1ZXMgZm9yIG1ldGhvZHMgc3VjaCBhcyA8Y29kZT4gU3RyaW5nLnRyaW0oKSA8L2NvZGU+IC4mbmJzcDsKLQkJCQkJCVN1Z2dlc3RlZCBieSBBbmRyZWFzIE1hbmRlbC4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkphcGFuZXNlIHRyYW5zbGF0aW9ucyBvZiB0aGUgYnVnIHN1bW1hcmllcywgY29udHJpYnV0ZWQgYnkKLQkJCQkJCUdlcm1hbm8gTGVpY2hzZW5yaW5nLjwvbGk+Ci0JCQkJCTxsaT5GaWx0ZXJpbmcgb2YgcmVzdWx0cyBpcyBzdXBwb3J0ZWQgaW4gY29tbWFuZCBsaW5lCi0JCQkJCQlpbnRlcmZhY2UuIFNlZSB0aGUgPGEgaHJlZj0ibWFudWFsL2luZGV4Lmh0bWwiPkZpbmRCdWdzIG1hbnVhbDwvYT4KLQkJCQkJCWZvciBkZXRhaWxzLgotCQkJCQk8L2xpPgotCQkJCQk8bGk+QWRkZWQgImJ5dGUgY29kZSBwYXR0ZXJucyIsIGEgZ2VuZXJhbCBwYXR0ZXJuIG1hdGNoaW5nCi0JCQkJCQlpbmZyYXN0cnVjdHVyZSBmb3IgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb25zLiZuYnNwOyBUaGlzIGZlYXR1cmUKLQkJCQkJCXNpZ25pZmljYW50bHkgcmVkdWNlcyB0aGUgY29tcGxleGl0eSBvZiBpbXBsZW1lbnRpbmcgbmV3IGJ1ZwotCQkJCQkJcGF0dGVybiBkZXRlY3RvcnMuPC9saT4KLQkJCQkJPGxpPkVuYWJsZWQgYSBuZXcgZ2VuZXJhbCBkYXRhZmxvdyBhbmFseXNpcyB0byB0cmFjayB2YWx1ZXMgaW4KLQkJCQkJCW1ldGhvZHMuPC9saT4KLQkJCQkJPGxpPlN3aXRjaGVkIHRvIG5ldyBjb250cm9sLWZsb3cgZ3JhcGggYnVpbGRlciBpbXBsZW1lbnRhdGlvbi4KLQkJCQkJPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNS4zPC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPkZpeGVkIGEgYnVnIGluIHRoZSBzY3JpcHQgdXNlZCB0byBsYXVuY2ggRmluZEJ1Z3Mgb24KLQkJCQkJCVdpbmRvd3MgcGxhdGZvcm1zLjwvbGk+Ci0JCQkJCTxsaT5GaXhlZCBjcmFzaGVzIHdoZW4gYW5hbHl6aW5nIGNsYXNzIGZpbGVzIHdpdGhvdXQgc291cmNlCi0JCQkJCQlsaW5lIGluZm9ybWF0aW9uLjwvbGk+Ci0JCQkJCTxsaT5BbGwgbWFqb3IgZXJyb3JzIGFyZSByZXBvcnRlZCB1c2luZyBhbiBlcnJvciBkaWFsb2c7IGZpbGUKLQkJCQkJCW5vdCBmb3VuZCBlcnJvcnMgYXJlIG1vcmUgaW5mb3JtYXRpdmUuPC9saT4KLQkJCQkJPGxpPk1pbm9yIEdVSSBpbXByb3ZlbWVudHMuPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNS4yPC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPkFsbCBvZiB0aGUgc291cmNlIGNvZGUgYW5kIHJlbGF0ZWQgZmlsZXMgYXJlIGluIGEgc2luZ2xlCi0JCQkJCQlkaXJlY3RvcnkgdHJlZS48L2xpPgotCQkJCQk8bGk+VXBkYXRlZCBzb21lIG9mIHRoZSBkZXRlY3RvcnMgdG8gcHJvZHVjZSBzb3VyY2UgbGluZQotCQkJCQkJaW5mb3JtYXRpb24uPC9saT4KLQkJCQkJPGxpPjxhIGhyZWY9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy8iPkFudDwvYT4gYnVpbGQgc2NyaXB0IGFuZAotCQkJCQkJc2V2ZXJhbCBHVUkgZW5oYW5jZW1lbnRzIGFuZCBmaXhlcyBjb250cmlidXRlZCBieSBNaWtlIEZhZ2FuLjwvbGk+Ci0JCQkJCTxsaT5Db252ZXJ0ZWQgdG8gdXNlIGEgPGEgaHJlZj0iQWRkaW5nRGV0ZWN0b3JzLnR4dCI+cGx1Z2luCi0JCQkJCQkJYXJjaGl0ZWN0dXJlPC9hPiBmb3IgbG9hZGluZyBidWcgZGV0ZWN0b3JzLgotCQkJCQk8L2xpPgotCQkJCQk8bGk+RWxpbWluYXRlZCBnZW5lcmljcy1yZWxhdGVkIGNvbXBpbGVyIHdhcm5pbmdzLjwvbGk+Ci0JCQkJCTxsaT5Nb3JlIGNvbXBsZXRlIGRvY3VtZW50YXRpb24gaGFzIGJlZW4gYWRkZWQuPC9saT4KLQkJCQk8L3VsPgotCi0JCQkJPHA+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuNS4xOjwvcD4KLQkJCQk8dWw+Ci0JCQkJCTxsaT5GaXhlZCBhIGxhcmdlIG51bWJlciBvZiBidWdzIGluIHRoZSBCQ0VMIFJlcG9zaXRvcnkgYW5kCi0JCQkJCQlGaW5kQnVncydzIHVzZSBvZiB0aGUgUmVwb3NpdG9yeS4mbmJzcDsgV2l0aCB0aGVzZSBjaGFuZ2VzLAotCQkJCQkJRmluZEJ1Z3Mgc2hvdWxkIDxlbT5uZXZlcjwvZW0+IGNyYXNoIG9yIG90aGVyd2lzZSBtaXNiZWhhdmUKLQkJCQkJCWJlY2F1c2Ugb2YgUmVwb3NpdG9yeSBsb29rdXAgZmFpbHVyZXMuJm5ic3A7IEJlY2F1c2Ugb2YgdGhlc2UKLQkJCQkJCWNoYW5nZXMsIHlvdSBtdXN0IHVzZSBhIG1vZGlmaWVkIHZlcnNpb24gb2YgPGNvZGU+IGJjZWwuamFyCi0JCQkJCQk8L2NvZGU+IHdpdGggRmluZEJ1Z3MuJm5ic3A7IFRoaXMgamFyIGZpbGUgaXMgaW5jbHVkZWQgaW4gdGhlIEZpbmRCdWdzCi0JCQkJCQkwLjUuMiBiaW5hcnkgcmVsZWFzZS4mbmJzcDsgQSBjb21wbGV0ZSBwYXRjaCBjb250YWluaW5nIHRoZSA8YQotCQkJCQkJaHJlZj0iaHR0cDovL2ZhY3VsdHkueWNwLmVkdS9+ZGhvdmVtZXkvYmNlbC0zMC1BcHJpbC0yMDAzLnBhdGNoIj5tb2RpZmljYXRpb25zCi0JCQkJCQkJYWdhaW5zdCB0aGUgQkNFTCBDVlMgbWFpbiBicmFuY2ggYXMgb2YgQXByaWwgMzAsIDIwMDM8L2E+IGlzIGFsc28KLQkJCQkJCWF2YWlsYWJsZS4KLQkJCQkJPC9saT4KLQkJCQkJPGxpPkltcGxlbWVudGVkIHRoZSAiYXV4aWxpYXJ5IGNsYXNzcGF0aCBlbnRyeSBsaXN0Ii4mbmJzcDsKLQkJCQkJCUF1eCBjbGFzc3BhdGggZW50cmllcyBjYW4gYmUgYWRkZWQgdG8gYSBwcm9qZWN0IHRvIHByb3ZpZGUgY2xhc3NlcwotCQkJCQkJdGhhdCBhcmUgcmVmZXJlbmNlZCBieSB0aGUgYW5hbHl6ZWQgYXBwbGljYXRpb24sIGJ1dCBzaG91bGQgbm90Ci0JCQkJCQl0aGVtc2VsdmVzIGJlIGFuYWx5emVkLiZuYnNwOyBIYXZpbmcgYWxsIHJlZmVyZW5jZWQgY2xhc3NlcwotCQkJCQkJYXZhaWxhYmxlIGFsbG93cyBGaW5kQnVncyB0byBwcm9kdWNlIG1vcmUgYWNjdXJhdGUgcmVzdWx0cy48L2xpPgotCQkJCTwvdWw+Ci0KLQkJCQk8cD5DaGFuZ2VzIHNpbmNlIHZlcnNpb24gMC41LjA6PC9wPgotCQkJCTx1bD4KLQkJCQkJPGxpPk1hbnkgdXNlciBpbnRlcmZhY2UgYnVncyBoYXZlIGJlZW4gZml4ZWQuPC9saT4KLQkJCQkJPGxpPlVwZ3JhZGVkIHRvIGEgcmVjZW50IENWUyB2ZXJzaW9uIG9mIEJDRUwsIHdpdGggc29tZSBidWcKLQkJCQkJCWZpeGVzLiZuYnNwOyBUaGlzIHNob3VsZCBwcmV2ZW50IEZpbmRCdWdzIGZyb20gY3Jhc2hpbmcgd2hlbiB0aGVyZQotCQkJCQkJaXMgYSBmYWlsdXJlIHRvIGZpbmQgYSBjbGFzcyBvbiB0aGUgY2xhc3NwYXRoLjwvbGk+Ci0JCQkJCTxsaT5BZGRlZCBzdXBwb3J0IGZvciBQbGFzdGljIGxvb2sgYW5kIGZlZWwgZnJvbSA8YQotCQkJCQkJaHJlZj0iaHR0cDovL3d3dy5qZ29vZGllcy5jb20vIj5qZ29vZGllcy5jb208L2E+LgotCQkJCQk8L2xpPgotCQkJCQk8bGk+TWFqb3Igb3ZlcmhhdWwgb2YgaW5mcmFzdHJ1Y3R1cmUgZm9yIGRvaW5nIGRhdGFmbG93Ci0JCQkJCQlhbmFseXNpcy48L2xpPgotCQkJCTwvdWw+IAotPGhyPiA8cD4gCi08c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiAKLTwhLS0tLy9oaWRlIHNjcmlwdCBmcm9tIG9sZCBicm93c2VycyAKLWRvY3VtZW50LndyaXRlKCAiTGFzdCB1cGRhdGVkICIrIGRvY3VtZW50Lmxhc3RNb2RpZmllZCArICIuIiApOyAKLS8vZW5kIGhpZGluZyBjb250ZW50cyAtLS0+IAotPC9zY3JpcHQ+IAotPHA+IFNlbmQgY29tbWVudHMgdG8gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWx0bzpmaW5kYnVnc0Bjcy51bWQuZWR1Ij5maW5kYnVnc0Bjcy51bWQuZWR1PC9hPiAKLTxwPiAKLTxBIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQiPjxJTUcgc3JjPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3NmbG9nby5waHA/Z3JvdXBfaWQ9OTY0MDUmYW1wO3R5cGU9NSIgd2lkdGg9IjIxMCIgaGVpZ2h0PSI2MiIgYm9yZGVyPSIwIiBhbHQ9IlNvdXJjZUZvcmdlLm5ldCBMb2dvIiAvPjwvQT4KLQotCQkJPC90ZD4KLQotCQk8L3RyPgotCTwvdGFibGU+Ci0KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL0ZBUS5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL0ZBUS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODNiN2VlLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9GQVEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI2MSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkZpbmRCdWdzIEZBUTwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJmaW5kYnVncy5jc3MiPgotCi08L2hlYWQ+Ci0KLTxib2R5PgotCi08dGFibGUgd2lkdGg9IjEwMCUiPjx0cj4KLQotCi08dGQgYmdjb2xvcj0iI2I5YjlmZSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiB3aWR0aD0iMjAlIj4gCi08dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiPiAKLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1bWRGaW5kYnVncy5wbmciIGFsdD0iRmluZEJ1Z3MiPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5Eb2NzIGFuZCBJbmZvPC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmluZGJ1Z3MyLmh0bWwiPkZpbmRCdWdzIDIuMDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkZW1vLmh0bWwiPkRlbW8gYW5kIGRhdGE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idXNlcnMuaHRtbCI+VXNlcnMgYW5kIHN1cHBvcnRlcnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmJsb2dzcG90LmNvbS8iPkZpbmRCdWdzIGJsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmFjdFNoZWV0Lmh0bWwiPkZhY3Qgc2hlZXQ8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJqYS9tYW51YWwvaW5kZXguaHRtbCI+TWFudWFsKGphLyYjMjYwODU7JiMyNjQxMjsmIzM1NDg2Oyk8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iRkFRLmh0bWwiPkZBUTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJidWdEZXNjcmlwdGlvbnMuaHRtbCI+QnVnIGRlc2NyaXB0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsaW5nTGlzdHMuaHRtbCI+TWFpbGluZyBsaXN0czwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJwdWJsaWNhdGlvbnMuaHRtbCI+RG9jdW1lbnRzIGFuZCBQdWJsaWNhdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibGlua3MuaHRtbCI+TGlua3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkb3dubG9hZHMuaHRtbCI+PGI+RG93bmxvYWRzPC9iPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3d3dy5jYWZlc2hvcHMuY29tL2ZpbmRidWdzIj48Yj5GaW5kQnVncyBTd2FnPC9iPjwvYT48L3RkPjwvdHI+Ci0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRldmVsb3BtZW50PC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD05NjQwNSI+T3BlbiBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InJlcG9ydGluZ0J1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iY29udHJpYnV0aW5nLmh0bWwiPkNvbnRyaWJ1dGluZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ0ZWFtLmh0bWwiPkRldiB0ZWFtPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9pbmRleC5odG1sIj5BUEk8L2E+IDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvb3ZlcnZpZXctc3VtbWFyeS5odG1sIj5bbm8gZnJhbWVzXTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJDaGFuZ2VzLmh0bWwiPkNoYW5nZSBsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9maW5kYnVncyI+U0YgcHJvamVjdCBwYWdlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlLyI+QnJvd3NlIHNvdXJjZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2xpc3QiPkxhdGVzdCBjb2RlIGNoYW5nZXM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08L3RhYmxlPiAKLTwvdGQ+Ci0KLTx0ZD4KLTxoMT5GaW5kQnVncyBGQVE8L2gxPgotCi08cD4gVGhpcyBkb2N1bWVudCBjb250YWlucyBhbnN3ZXJzIHRvIGZyZXF1ZW50bHkgYXNrZWQgcXVlc3Rpb25zIGFib3V0Ci08YSBocmVmPSJpbmRleC5odG1sIj5GaW5kQnVnczwvYT4uJm5ic3A7IElmIHlvdSBqdXN0IHdhbnQgZ2VuZXJhbAotaW5mb3JtYXRpb24gYWJvdXQgRmluZEJ1Z3MsIGhhdmUgYSBsb29rIGF0IHRoZQotPGEgaHJlZj0iZmFjdFNoZWV0Lmh0bWwiPmZhY3Qgc2hlZXQ8L2E+IGFuZCB0aGUKLTxhIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5tYW51YWw8L2E+LgotCi08aDI+Q29udGVudHM8L2gyPgotPG9sPgotPGxpPiA8YSBocmVmPSIjcTEiPkknbSBnZXR0aW5nIGphdmEubGFuZy5VbnN1cHBvcnRlZENsYXNzVmVyc2lvbkVycm9yIHdoZW4gSSB0cnkgdG8gcnVuIEZpbmRCdWdzPC9hPgotPGxpPiA8YSBocmVmPSIjcTIiPldoZW4gSSBjbGljayB0aGUgIkZpbmQgQnVncyEiIGJ1dHRvbiwgSSBnZXQgYSBOb1N1Y2hNZXRob2RFcnJvciBvciBWZXJpZnlFcnJvcjwvYT4KLTxsaT4gPGEgaHJlZj0iI3EzIj5GaW5kQnVncyBpcyBydW5uaW5nIG91dCBvZiBtZW1vcnksIG9yIGlzIHRha2luZyBhIGxvbmcgdGltZSB0byBmaW5pc2g8L2E+Ci08bGk+IDxhIGhyZWY9IiNxNCI+V2hhdCBpcyB0aGUgImF1eGlsaWFyeSBjbGFzc3BhdGgiPyAgV2h5IHNob3VsZCBJIHNwZWNpZnkgaXQ/PC9hPgotPGxpPiA8YSBocmVmPSIjcTUiPlRoZSBFY2xpcHNlIHBsdWdpbiBkb2Vzbid0IGxvYWQ8L2E+Ci08bGk+IDxhIGhyZWY9IiNxNiI+SSdtIGdldHRpbmcgYSBsb3Qgb2YgZmFsc2UgIk9TIiBhbmQgIk9EUiIgd2FybmluZ3M8L2E+Ci08bGk+IDxhIGhyZWY9IiNxNyI+VGhlIEVjbGlwc2UgcGx1Z2luIGxvYWRzLCBidXQgZG9lc24ndCB3b3JrIGNvcnJlY3RseTwvYT4KLTxsaT4gPGEgaHJlZj0iI3E4Ij5XaGVyZSBpcyB0aGUgTWF2ZW4gcGx1Z2luIGZvciBGaW5kQnVncz88L2E+Ci08bGk+IDxhIGhyZWY9IiNxOSI+V2hlcmUgaXMgdGhlIE5ldEJlYW5zIHBsdWdpbiBmb3IgRmluZEJ1Z3M/PC9hPgotPC9vbD4KLQotPGgyPjxhIG5hbWU9InExIj5RMTogSSdtIGdldHRpbmcgamF2YS5sYW5nLlVuc3VwcG9ydGVkQ2xhc3NWZXJzaW9uRXJyb3Igd2hlbiBJIHRyeSB0byBydW4gRmluZEJ1Z3M8L2E+PC9oMj4KLQotPHA+IEZpbmRCdWdzIHJlcXVpcmVzIEpSRSAxLjUuMCBvciBsYXRlciB0byBydW4uJm5ic3A7IElmIHlvdSB1c2UgYW4gZWFybGllciB2ZXJzaW9uLAoteW91IHdpbGwgc2VlIGFuIGV4Y2VwdGlvbiBlcnJvciBtZXNzYWdlIHNpbWlsYXIgdG8gdGhlIGZvbGxvd2luZzoKLTxwcmU+Ci1FeGNlcHRpb24gaW4gdGhyZWFkICJtYWluIiBqYXZhLmxhbmcuVW5zdXBwb3J0ZWRDbGFzc1ZlcnNpb25FcnJvcjoKLWVkdS91bWQvY3MvZmluZGJ1Z3MvZ3VpL0ZpbmRCdWdzRnJhbWUgKFVuc3VwcG9ydGVkIG1ham9yLm1pbm9yIHZlcnNpb24gNDguMCkKLTwvcHJlPgotVGhlIHNvbHV0aW9uIGlzIHRvIHVwZ3JhZGUgdG8gSlJFIDEuNS4wIG9yIGxhdGVyLgotCi08aDI+PGEgbmFtZT0icTIiPlEyOiBXaGVuIEkgY2xpY2sgdGhlICJGaW5kIEJ1Z3MhIiBidXR0b24sIEkgZ2V0IGEgTm9TdWNoTWV0aG9kRXJyb3Igb3IgVmVyaWZ5RXJyb3I8L2E+PC9oMj4KLQotPHA+IFRoZSBzeW1wdG9tIG9mIHRoaXMgYnVnIGlzIHRoYXQgd2hlbiB5b3Ugc3RhcnQgdGhlIEZpbmRCdWdzIGFuYWx5c2lzLAoteW91IHNlZSBhbiBleGNlcHRpb24gc2ltaWxhciB0byB0aGUgZm9sbG93aW5nOgotPHByZT4KLWphdmEubGFuZy5Ob1N1Y2hNZXRob2RFcnJvcjogb3JnLmFwYWNoZS5iY2VsLlJlcG9zaXRvcnkuc2V0UmVwb3NpdG9yeShMb3JnL2FwYWNoZS9iY2VsL3V0aWwvUmVwb3NpdG9yeTspVgotICAgICAgICBhdCBlZHUudW1kLmNzLmZpbmRidWdzLkZpbmRCdWdzLmNsZWFyUmVwb3NpdG9yeShGaW5kQnVncy5qYXZhOjQ4MykKLSAgICAgICAgLi4uCi08L3ByZT4KLQotb3IKLQotPHByZT4KLWphdmEubGFuZy5WZXJpZnlFcnJvcjogQ2Fubm90IGluaGVyaXQgZnJvbSBmaW5hbCBjbGFzcwotICAgIGF0IGphdmEubGFuZy5DbGFzc0xvYWRlci5kZWZpbmVDbGFzczAoTmF0aXZlIE1ldGhvZCkKLSAgICBhdCBqYXZhLmxhbmcuQ2xhc3NMb2FkZXIuZGVmaW5lQ2xhc3MoQ2xhc3NMb2FkZXIuamF2YTo1MzcpCi0gICAgLi4uCi08L3ByZT4KLQotPHA+IFRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB0aGUgd3JvbmcgdmVyc2lvbiBvZiB0aGUKLTxhIGhyZWY9Imh0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcvYmNlbC8iPkFwYWNoZSBCQ0VMPC9hPgotbGlicmFyeSBpcyBiZWluZyBmb3VuZC4mbmJzcDsgRmluZEJ1Z3MgcmVxdWlyZXMgaXRzIG93bgotdmVyc2lvbiBvZiBCQ0VMLCB3aGljaCBub3JtYWxseSB3aWxsIGJlIHVzZWQgYXV0b21hdGljYWxseQotd2hlbiB5b3UgaW52b2tlIHRoZSA8Y29kZT5maW5kYnVnczwvY29kZT4gb3IgPGNvZGU+ZmluZGJ1Z3MuYmF0PC9jb2RlPgotc2NyaXB0cyB1c2VkIHRvIGxhdW5jaCBGaW5kQnVncy4mbmJzcDsgSWYgYW4gb2xkIHZlcnNpb24gb2YgQkNFTCBpcyBpbnN0YWxsZWQKLWluIGEgbG9jYXRpb24sIHN1Y2ggYXMgImxpYi9lbmRvcnNlZCIgaW4gdGhlIEpSRSBpbnN0YWxsYXRpb24sCi13aGVyZSBpdCBvdmVycmlkZXMgY2xhc3NlcyBvbiB0aGUgYXBwbGljYXRpb24gY2xhc3NwYXRoLAotRmluZEJ1Z3Mgd2lsbCBub3QgZXhlY3V0ZSBwcm9wZXJseS4mbmJzcDsKLVdlIGtub3cgb2Ygc2V2ZXJhbCByZWFzb25zIHRoaXMgY291bGQgaGFwcGVuCi0KLTx1bD4KLTxsaT4gSWYgeW91IGluc3RhbGwgdGhlCi08YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3dlYnNlcnZpY2VzL2Rvd25sb2Fkcy93ZWJzZXJ2aWNlc3BhY2suaHRtbCI+SmF2YShUTSkgV2ViIFNlcnZpY2VzCi1EZXZlbG9wZXIgUGFjayAxLjI8L2E+Ci1pbiB0aGUgPGNvZGU+bGliL2VuZG9yc2VkPC9jb2RlPiBkaXJlY3Rvcnkgb2YgeW91ciBKYXZhIFJ1bnRpbWUgRW52aXJvbm1lbnQgKEpSRSkuJm5ic3A7Ci1UaGUgZmlsZSA8Y29kZT54c2x0Yy5qYXI8L2NvZGU+IGNvbnRhaW5zIGFuIG9sZCB2ZXJzaW9uIG9mIEJDRUwgdGhhdCBpcyBpbmNvbXBhdGlibGUgd2l0aAotRmluZEJ1Z3MuJm5ic3A7Ci0KLTxsaT4gQW5vdGhlciBwb3NzaWJpbGl0eSBpcyB0aGF0IHlvdSBhcmUgdXNpbmcgdGhlIElCTSBKREsuJm5ic3A7Ci1Tb21lIHZlcnNpb25zIGluY2x1ZGUgYSB2ZXJzaW9uIG9mIEJDRUwgd2hpY2ggY29uZmxpY3RzIHdpdGggdGhlCi1vbmUgcmVxdWlyZWQgYnkgRmluZEJ1Z3MuJm5ic3A7IFRoaXMgcHJvYmxlbSBpcyBmaXhlZCBpbiB2ZXJzaW9uIDEuNC4xIFNQMSwKLXNvIHVwZ3JhZGluZyB5b3VyIEpESyBzaG91bGQgYWxsb3cgRmluZEJ1Z3MgdG8gcnVuIGNvcnJlY3RseS4KLQotPGxpPiBTb21lIHZlcnNpb25zIG9mIHRoZSBBcGFjaGUgWGFsYW4gWFNMVCBwcm9jZXNzb3IgaW5jbHVkZQotYW4gb2xkIHZlcnNpb24gb2YgQkNFTCBpbiA8Y29kZT54YWxhbi5qYXI8L2NvZGU+LgotCi08L3VsPgotCi08cD4gSW4gYWxsIG9mIHRoZXNlIGNhc2VzLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gcnVuIEZpbmRCdWdzCi1ieSBlaXRoZXIgcmVtb3ZpbmcgdGhlIG9mZmVuZGluZyB2ZXJzaW9uIG9mIEJDRUwgZnJvbSB5b3VyIEpSRSwKLW9yIGluc3RhbGxpbmcgYSBjbGVhbiBKUkUgb3IgSkRLIGFuZCB1c2luZyB0aGF0IHRvIHJ1biBGaW5kQnVncy4KLQotPHA+IE1hbnkgdGhhbmtzIHRvIFBldGVyIE1ldWxtZWVzdGVyLCBNaWNoYWVsIExldmksIGFuZCBUaG9tYXMgS2xhZWdlcgotZm9yIHByb3ZpZGluZyBpbmZvcm1hdGlvbiBvbiB0aGlzIHByb2JsZW0uCi0KLTxoMj48YSBuYW1lPSJxMyI+UTM6IEZpbmRCdWdzIGlzIHJ1bm5pbmcgb3V0IG9mIG1lbW9yeSwgb3IgaXMgdGFraW5nIGEgbG9uZyB0aW1lIHRvIGZpbmlzaDwvYT48L2gyPgotCi08cD4gSW4gZ2VuZXJhbCwgRmluZEJ1Z3MgcmVxdWlyZXMgbG90cyBvZiBtZW1vcnkgYW5kIGEgcmVsYXRpdmVseQotZmFzdCBDUFUuICBGb3IgbGFyZ2UgYXBwbGljYXRpb25zLCA1MTJNIG9yIG1vcmUgb2YgaGVhcCBzcGFjZSBtYXkgYmUKLXJlcXVpcmVkLiAgQnkgZGVmYXVsdCwgRmluZEJ1Z3MgYWxsb2NhdGVzIDI1Nk0gb2YgaGVhcCBzcGFjZS4KLVlvdSBjYW4gaW5jcmVhc2UgdGhpcyB1c2luZyB0aGUgPGNvZGU+LW1heEhlYXAgPGk+bjwvaT48L2NvZGU+IG9wdGlvbiwKLXdoZXJlIDxpPm48L2k+IGlzIHRoZSBudW1iZXIgb2YgbWVnYWJ5dGVzIG9mIGhlYXAgc3BhY2UgdG8gYWxsb2NhdGUuCi0KLQotPGgyPjxhIG5hbWU9InE0Ij5RNDogV2hhdCBpcyB0aGUgImF1eGlsaWFyeSBjbGFzc3BhdGgiPyAgV2h5IHNob3VsZCBJIHNwZWNpZnkgaXQ/PC9hPjwvaDI+Ci0KLTxwPiBNYW55IGltcG9ydGFudCBmYWN0cyBhYm91dCBhIEphdmEgY2xhc3MgcmVxdWlyZSBpbmZvcm1hdGlvbiBhYm91dAotdGhlIGNsYXNzZXMgdGhhdCBpdCByZWZlcmVuY2VzLiZuYnNwOyBGb3IgZXhhbXBsZToKLTx1bD4KLTxsaT4gV2hhdCBvdGhlciBjbGFzc2VzIGFuZCBpbnRlcmZhY2VzIHRoZSBjbGFzcyBpbmhlcml0cyBmcm9tCi08bGk+IFdoYXQgZXhjZXB0aW9ucyBjYW4gYmUgdGhyb3duIGJ5IG1ldGhvZHMgaW4gZXh0ZXJuYWwgY2xhc3NlcwotYW5kIGludGVyZmFjZXMKLTwvdWw+Ci0KLTxwPiBUaGUgImF1eGlsaWFyeSBjbGFzc3BhdGgiIGlzIGEgbGlzdCBvZiBKYXIgZmlsZXMsIGRpcmVjdG9yaWVzLCBhbmQKLWNsYXNzIGZpbGVzIGNvbnRhaW5pbmcgY2xhc3NlcyB0aGF0IGFyZSA8ZW0+dXNlZDwvZW0+IGJ5IHRoZSBjb2RlIHlvdQotd2FudCBGaW5kQnVncyB0byBhbmFseXplLCBidXQgc2hvdWxkIG5vdCB0aGVtc2VsdmVzIGJlIGFuYWx5emVkCi1ieSBGaW5kQnVncy4KLQotPHA+IElmIEZpbmRCdWdzIGRvZXNuJ3QgaGF2ZSBjb21wbGV0ZSBpbmZvcm1hdGlvbiBhYm91dCByZWZlcmVuY2VkIGNsYXNzZXMsCi1pdCB3aWxsIG5vdCBiZSBhYmxlIHRvIHByb2R1Y2UgcmVzdWx0cyB0aGF0IGFyZSBhcyBhY2N1cmF0ZSBhcyBwb3NzaWJsZS4mbmJzcDsKLUZvciBleGFtcGxlLCBoYXZpbmcgYSBjb21wbGV0ZSByZXBvc2l0b3J5IG9mIHJlZmVyZW5jZWQgY2xhc3NlcyBhbGxvd3MKLUZpbmRCdWdzIHRvIHBydW5lIGNvbnRyb2wgZmxvdyBpbmZvcm1hdGlvbiBzbyBpdCBjYW4gY29uY2VudHJhdGUgb24KLXBhdGhzIHRocm91Z2ggbWV0aG9kcyB0aGF0IGFyZSBtb3N0IGxpa2VseSB0byBiZSBmZWFzaWJsZSBhdCBydW50aW1lLiZuYnNwOwotQWxzbywgc29tZSBidWcgZGV0ZWN0b3JzIChzdWNoIGFzIHRoZSBzdXNwaWNpb3VzIHJlZmVyZW5jZSBjb21wYXJpc29uIGRldGVjdG9yKQotcmVseSBvbiBiZWluZyBhYmxlIHRvIHBlcmZvcm0gdHlwZSBpbmZlcmVuY2UsIHdoaWNoIHJlcXVpcmVzIGNvbXBsZXRlCi10eXBlIGhpZXJhcmNoeSBpbmZvcm1hdGlvbi4KLQotPHA+IEZvciB0aGVzZSByZWFzb25zLCB3ZSBzdHJvbmdseSByZWNvbW1lbmQgdGhhdCB5b3UgY29tcGxldGVseSBzcGVjaWZ5Ci10aGUgYXV4aWxpYXJ5IGNsYXNzcGF0aCB3aGVuIHlvdSBydW4gRmluZEJ1Z3MuJm5ic3A7IFlvdSBjYW4gZG8gdGhpcwotYnkgdXNpbmcgdGhlIDxjb2RlPi1hdXhjbGFzc3BhdGg8L2NvZGU+IGNvbW1hbmQgbGluZSBvcHRpb24sIG9yIHRoZQotIkNsYXNzcGF0aCBlbnRyaWVzIiBsaXN0IGluIHRoZSBHVUkgcHJvamVjdCBlZGl0b3IgZGlhbG9nLgotCi08cD4gSWYgRmluZEJ1Z3MgY2Fubm90IGZpbmQgYSBjbGFzcyByZWZlcmVuY2VkIGJ5IHlvdXIgYXBwbGljYXRpb24sIGl0Ci13aWxsIHByaW50IG91dCBhIG1lc3NhZ2Ugd2hlbiB0aGUgYW5hbHlzaXMgY29tcGxldGVzLCBzcGVjaWZ5aW5nIHRoZQotY2xhc3NlcyB0aGF0IHdlcmUgbWlzc2luZy4mbmJzcDsgWW91IHNob3VsZCBtb2RpZnkgdGhlIGF1eGlsaWFyeSBjbGFzc3BhdGgKLXRvIHNwZWNpZnkgaG93IHRvIGZpbmQgdGhlIG1pc3NpbmcgY2xhc3NlcywgYW5kIHRoZW4gcnVuIEZpbmRCdWdzIGFnYWluLgotCi08aDI+PGEgbmFtZT0icTUiPlE1OiBUaGUgRWNsaXBzZSBwbHVnaW4gZG9lc24ndCBsb2FkPC9hPjwvaDI+Ci0KLTxwPiBUaGUgc3ltcHRvbSBvZiB0aGlzIHByb2JsZW0gaXMgdGhhdCBFY2xpcHNlIGZhaWxzIHRvIGxvYWQKLXRoZSBGaW5kQnVncyBVSSBwbHVnaW4gd2l0aCB0aGUgbWVzc2FnZToKLTxibG9ja3F1b3RlPgotUGx1Zy1pbiAiZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW4uZWNsaXBzZSIgd2FzIGRpc2FibGVkIGR1ZSB0byBtaXNzaW5nIG9yIGRpc2FibGVkCi1wcmVyZXF1aXNpdGUgcGx1Zy1pbiAib3JnLmVjbGlwc2UudWkuaWRlIgotPC9ibG9ja3F1b3RlPgotCi08cD4gVGhlIHJlYXNvbiBmb3IgdGhpcyBwcm9ibGVtIGlzIHRoYXQgdGhlIEVjbGlwc2UKLXBsdWdpbiBkaXN0cmlidXRlZCB3aXRoIEZpbmRCdWdzCi1kb2VzIG5vdCB3b3JrIHdpdGggb2xkZXIgMy54IHZlcnNpb25zIG9mIEVjbGlwc2UuCi1QbGVhc2UgdXNlIEVjbGlwc2UgdmVyc2lvbiAzLjYgKEp1bmUgMjAxMCkgb3IgbmV3ZXIuCi0KLTxoMj48YSBuYW1lPSJxNiI+UTY6IEknbSBnZXR0aW5nIGEgbG90IG9mIGZhbHNlICJPUyIgYW5kICJPRFIiIHdhcm5pbmdzPC9hPjwvaDI+Ci0KLTxwPiBCeSBkZWZhdWx0LCBGaW5kQnVncyBhc3N1bWVzIHRoYXQgYW55IG1ldGhvZCBpbnZvY2F0aW9uIGNhbgotdGhyb3cgYW4gdW5jaGVja2VkIHJ1bnRpbWUgZXhjZXB0aW9uLiZuYnNwOyBBcyBhIHJlc3VsdCwKLWl0IG1heSBhc3N1bWUgdGhhdCBhbiB1bmNoZWNrZWQgZXhjZXB0aW9uIHRocm93biBvdXQgb2YgdGhlCi1tZXRob2QgY291bGQgYnlwYXNzIGEgY2FsbCB0byBhIDxjb2RlPmNsb3NlKCk8L2NvZGU+IG1ldGhvZAotZm9yIGEgc3RyZWFtIG9yIGRhdGFiYXNlIHJlc291cmNlLgotCi08cD4gWW91IGNhbiB1c2UgdGhlIDxjb2RlPi13b3JrSGFyZDwvY29kZT4gY29tbWFuZCBsaW5lIGFyZ3VtZW50Ci1vciB0aGUgPGNvZGU+ZmluZGJ1Z3Mud29ya0hhcmQ8L2NvZGU+IGJvb2xlYW4gYW5hbHlzaXMgcHJvcGVydHkKLXRvIG1ha2UgRmluZEJ1Z3Mgd29yayBoYXJkZXIgdG8gcHJ1bmUgdW5saWtlbHkgZXhjZXB0aW9uCi1lZGdlcy4mbmJzcDsgVGhpcyBnZW5lcmFsbHkgcmVkdWNlcyB0aGUgbnVtYmVyIG9mCi1mYWxzZSB3YXJuaW5ncywgYXQgdGhlIGV4cGVuc2Ugb2Ygc2xvd2luZyBkb3duIHRoZQotYW5hbHlzaXMuCi0KLTxoMj48YSBuYW1lPSJxNyI+UTc6IFRoZSBFY2xpcHNlIHBsdWdpbiBsb2FkcywgYnV0IGRvZXNuJ3Qgd29yayBjb3JyZWN0bHk8L2E+PC9oMj4KLQotPHA+IE1ha2Ugc3VyZSB0aGUgSmF2YSBjb2RlIHlvdSB0cnlpbmcgdG8gYW5hbHl6ZSBpcyBidWlsdCBwcm9wZXJseSBhbmQgaGFzIG5vCi1jbGFzc3BhdGggb3IgY29tcGlsZSBlcnJvcnMuCi0KLTxwPiBNYWtlIHN1cmUgdGhlIHByb2plY3QgYW5kIHdvcmtzcGFjZSBGaW5kQnVncyBzZXR0aW5ncyBhcmUgdmFsaWQgLSBpbiBkb3VidCwgcmV2ZXJ0IHRoZW0gdG8gZGVmYXVsdHMuCi0KLTxwPiBNYWtlIHN1cmUgdGhlIEVycm9yIGxvZyB2aWV3IGRvZXMgbm90IHNob3cgZXJyb3JzLgotCi08aDI+PGEgbmFtZT0icTgiPlE4OiBXaGVyZSBpcyB0aGUgTWF2ZW4gcGx1Z2luIGZvciBGaW5kQnVncz88L2E+PC9oMj4KLQotPHA+Ci1UaGUgPGEgaHJlZj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvIj5NYXZlbjwvYT4gUGx1Z2luIGZvciBGaW5kQnVncwotbWF5IGJlIGZvdW5kIDxhIGhyZWY9Imh0dHA6Ly9tb2pvLmNvZGVoYXVzLm9yZy9maW5kYnVncy1tYXZlbi1wbHVnaW4vIj5oZXJlPC9hPi4mbmJzcDsKLVBsZWFzZSBub3RlIHRoYXQgdGhlIE1hdmVuIHBsdWdpbiBpcyBub3QgbWFpbnRhaW5lZCBieSB0aGUgRmluZEJ1Z3MgZGV2ZWxvcGVycywKLXNvIHdlIGNhbid0IGFuc3dlciBxdWVzdGlvbnMgYWJvdXQgaXQuCi08L3A+Ci0KLTxoMj48YSBuYW1lPSJxOSI+UTk6IFdoZXJlIGlzIHRoZSBOZXRCZWFucyBwbHVnaW4gZm9yIEZpbmRCdWdzPzwvYT48L2gyPgotCi08cD5XZSByZWNvbW1lbmQgPGEgaHJlZj0iaHR0cDovL2tlbmFpLmNvbS9wcm9qZWN0cy9zcWUvcGFnZXMvSG9tZSI+U1FFOiBTb2Z0d2FyZSBRdWFsaXR5IEVudmlyb25tZW50PC9hPgotd2hpY2ggYnVuZGxlcyBGaW5kQnVncywgUE1EIGFuZCBDaGVja1N0eWxlLiBVc2UgdGhlIGZvbGxvd2luZwotdXBkYXRlIHNpdGU6Ci08YSBocmVmPSJodHRwOi8vZGVhZGxvY2submV0YmVhbnMub3JnL2h1ZHNvbi9qb2Ivc3FlL2xhc3RTdGFibGVCdWlsZC9hcnRpZmFjdC9idWlsZC9mdWxsLXNxZS11cGRhdGVjZW50ZXIvdXBkYXRlcy54bWwKLSI+aHR0cDovL2RlYWRsb2NrLm5ldGJlYW5zLm9yZy9odWRzb24vam9iL3NxZS9sYXN0U3RhYmxlQnVpbGQvYXJ0aWZhY3QvYnVpbGQvZnVsbC1zcWUtdXBkYXRlY2VudGVyL3VwZGF0ZXMueG1sPC9hPgotPHA+UGVhc2Ugbm90ZSB0aGF0IHRoZSBTUUUgcGx1Z2luIGlzIG5vdCBtYWludGFpbmVkIGJ5IHRoZSBGaW5kQnVncyBkZXZlbG9wZXJzLAotc28gd2UgY2FuJ3QgYW5zd2VyIHF1ZXN0aW9ucyBhYm91dCBpdC4KLTwvcD4KLQotCi08aHI+IDxwPiAKLTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+IAotPCEtLS0vL2hpZGUgc2NyaXB0IGZyb20gb2xkIGJyb3dzZXJzIAotZG9jdW1lbnQud3JpdGUoICJMYXN0IHVwZGF0ZWQgIisgZG9jdW1lbnQubGFzdE1vZGlmaWVkICsgIi4iICk7IAotLy9lbmQgaGlkaW5nIGNvbnRlbnRzIC0tLT4gCi08L3NjcmlwdD4gCi08cD4gU2VuZCBjb21tZW50cyB0byA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+IAotPHA+IAotPEEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldCI+PElNRyBzcmM9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvc2Zsb2dvLnBocD9ncm91cF9pZD05NjQwNSZhbXA7dHlwZT01IiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjYyIiBib3JkZXI9IjAiIGFsdD0iU291cmNlRm9yZ2UubmV0IExvZ28iIC8+PC9BPgotCi08L3RkPgotCi08L3RhYmxlPgotCi08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9GaWx0ZXJGaWxlLnR4dCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9GaWx0ZXJGaWxlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZlZDAzMi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvRmlsdGVyRmlsZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotPT09PT09PT09PT09PQotSG93IGl0IHdvcmtzOgotPT09PT09PT09PT09PQotCi1BIGZpbHRlciBmaWxlIGlzIGFuIFhNTCBmaWxlIHdpdGggYSB0b3AtbGV2ZWwgIkZpbmRCdWdzRmlsdGVyIiBlbGVtZW50Ci13aGljaCBoYXMgc29tZSBudW1iZXIgb2YgIk1hdGNoIiBlbGVtZW50cyBhcyBjaGlsZHJlbi4gIEVhY2ggTWF0Y2gKLWVsZW1lbnQgcmVwcmVzZW50cyBhIHByZWRpY2F0ZSB3aGljaCBpcyBhcHBsaWVkIHRvIGdlbmVyYXRlZCBidWcgaW5zdGFuY2VzLgotVXN1YWxseSwgYSBmaWx0ZXIgd2lsbCBiZSB1c2VkIHRvIGV4Y2x1ZGUgYnVnIGluc3RhbmNlcy4gIEZvciBleGFtcGxlOgotCi0gIGZpbmRidWdzIC10ZXh0dWkgLWV4Y2x1ZGUgbXlFeGNsdWRlRmlsdGVyLnhtbCBteUFwcC5qYXIKLQotSG93ZXZlciwgYSBmaWx0ZXIgY291bGQgYWxzbyBiZSB1c2VkIHRvIHNlbGVjdCBidWcgaW5zdGFuY2VzIHRvIHNwZWNpZmljYWxseQotcmVwb3J0OgotCi0gIGZpbmRidWdzIC10ZXh0dWkgLWluY2x1ZGUgbXlJbmNsdWRlRmlsdGVyLnhtbCBteUFwcC5qYXIKLQotTWF0Y2ggaGFzICJjbGFzcyIgYW5kICJjbGFzc3JlZ2V4IiBhdHRyaWJ1dGVzIHNwZWNpZnlpbmcgd2hhdCBjbGFzcyBvciBjbGFzc2VzCi10aGUgcHJlZGljYXRlIGFwcGxpZXMgdG8uCi0KLU1hdGNoIGNvbnRhaW5zIGNoaWxkcmVuLCB3aGljaCBhcmUgY29uanVuY3RzIG9mIHRoZSBwcmVkaWNhdGUuCi0oSS5lLiwgZWFjaCBvZiB0aGUgY2hpbGRyZW4gbXVzdCBiZSB0cnVlIGZvciB0aGUgcHJlZGljYXRlIHRvIGJlIHRydWUuKQotCi09PT09PT09PT09PT09PT09PT09PT09PQotVHlwZXMgb2YgTWF0Y2ggY2xhdXNlczoKLT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSAgIDxCdWdDb2RlPiBzcGVjaWZpZXMgYWJicmV2aWF0aW9ucyBvZiBidWdzLgotICAgVGhlICJuYW1lIiBhdHRyaWJ1dGUgaXMgYSBjb21tYS1zZXBlcmF0ZWQgbGlzdCBvZiBhYmJyZXZpYXRpb25zLgotCi0gICA8TWV0aG9kPiBzcGVjaWZpZXMgYSBtZXRob2QuICBUaGUgIm5hbWUiIGF0dHJpYnV0ZSBpcyB0aGUgbmFtZQotICAgb2YgdGhlIG1ldGhvZC4gIFRoZSAicGFyYW1zIiBhdHRyaWJ1dGUgaXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdAotICAgb2YgdGhlIHR5cGVzIG9mIHRoZSBtZXRob2QncyBwYXJhbWV0ZXJzLiAgVGhlICJyZXR1cm5zIiBhdHRyaWJ1dGUgaXMKLSAgIHRoZSBtZXRob2QncyByZXR1cm4gdHlwZS4gIEluICJwYXJhbXMiIGFuZCAicmV0dXJucyIsIGNsYXNzIG5hbWVzCi0gICBtdXN0IGJlIGZ1bGx5IHF1YWxpZmllZC4gIChFLmcuLCAiamF2YS5sYW5nLlN0cmluZyIgaW5zdGVhZCBvZiBqdXN0Ci0gICAiU3RyaW5nIi4pICBOb3RlIHRoYXQgInBhcmFtcyIgYW5kICJyZXR1cm5zIiBhcmUgb3B0aW9uYWw7IHlvdSBjYW4KLSAgIGp1c3Qgc3BlY2lmeSAibmFtZSIsIGFuZCB0aGUgY2xhdXNlIHdpbGwgbWF0Y2ggYWxsIG1ldGhvZHMgd2l0aAotICAgdGhhdCBuYW1lLiAgSG93ZXZlciwgaWYgeW91IHNwZWNpZnkgZWl0aGVyICJwYXJhbXMiIG9yICJyZXR1cm5zIiwKLSAgIHlvdSBtdXN0IHNwZWNpZnkgYm90aCBvZiB0aGVtLgotCi0gICA8T3I+IGNvbWJpbmVzIE1hdGNoIGNsYXVzZXMgYXMgZGlzanVuY3RzLiAgSS5lLiwgeW91IGNhbiBwdXQgdHdvCi0gICAiTWV0aG9kIiBlbGVtZW50cyBpbiBhbiBPciBjbGF1c2UgaW4gb3JkZXIgbWF0Y2ggZWl0aGVyIG1ldGhvZC4KLQotPT09PT09PT0KLUNhdmVhdHM6Ci09PT09PT09PQotCi1NYXRjaCBjbGF1c2VzIGNhbiBvbmx5IG1hdGNoIGluZm9ybWF0aW9uIHRoYXQgaXMgYWN0dWFsbHkgY29udGFpbmVkIGluIHRoZQotYnVnIGluc3RhbmNlcy4gIEV2ZXJ5IGJ1ZyBpbnN0YW5jZSBoYXMgYSBjbGFzcywgc28gaW4gZ2VuZXJhbCwgZXhjbHVkaW5nCi1idWdzIGJ5IGNsYXNzIHdpbGwgd29yay4KLQotU29tZSBidWcgaW5zdGFuY2VzIGhhdmUgdHdvIGNsYXNzZXMuICBGb3IgZXhhbXBsZSwgdGhlIERFIChkcm9wcGVkIGV4Y2VwdGlvbikKLWJ1Z3MgcmVwb3J0IGJvdGggdGhlIGNsYXNzIGNvbnRhaW5pbmcgdGhlIG1ldGhvZCB3aGVyZSB0aGUgZHJvcHBlZCBleGNlcHRpb24KLWhhcHBlbnMsIGFuZCB0aGUgY2xhc3Mgd2hpY2ggcmVwcmVzZW50cyB0aGUgdHlwZSBvZiB0aGUgZHJvcHBlZCBleGNlcHRpb24uCi1Pbmx5IHRoZSBGSVJTVCAocHJpbWFyeSkgY2xhc3MgaXMgbWF0Y2hlZCBhZ2FpbnN0IE1hdGNoIGNsYXVzZXMuCi1TbywgZm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHRvIHN1cHByZXNzIElDIChpbml0aWFsaXphdGlvbiBjaXJjdWxhcml0eSkKLXJlcG9ydHMgZm9yIGNsYXNzZXMgImNvbS5mb29iYXIuQSIgYW5kICJjb20uZm9vYmFyLkIiLCB5b3Ugd291bGQgdXNlCi10d28gTWF0Y2ggY2xhdXNlczoKLQotICAgPE1hdGNoIGNsYXNzPSJjb20uZm9vYmFyLkEiPgotICAgICAgPEJ1Z0NvZGUgbmFtZT0iSUMiIC8+Ci0gICA8L01hdGNoPgotCi0gICA8TWF0Y2ggY2xhc3M9ImNvbS5mb29iYXIuQiI+Ci0gICAgICA8QnVnQ29kZSBuYW1lPSJJQyIgLz4KLSAgIDwvTWF0Y2g+Ci0KLU1hbnkga2luZHMgb2YgYnVncyByZXBvcnQgd2hhdCBtZXRob2QgdGhleSBvY2N1ciBpbi4gIEZvciB0aG9zZSBidWcgaW5zdGFuY2VzLAoteW91IGNhbiBwdXQgTWV0aG9kIGNsYXVzZXMgaW4gdGhlIE1hdGNoIGVsZW1lbnQgYW5kIHRoZXkgc2hvdWxkIHdvcmsKLWFzIGV4cGVjdGVkLgotCi09PT09PT09PT0KLUV4YW1wbGVzOgotPT09PT09PT09Ci0KLSAgMS4gTWF0Y2ggYWxsIGJ1ZyByZXBvcnRzIGZvciBhIGNsYXNzLgotCi0gICAgIDxNYXRjaCBjbGFzcz0iY29tLmZvb2Jhci5NeUNsYXNzIiAvPgotCi0gIDIuIE1hdGNoIGNlcnRhaW4gdGVzdHMgZnJvbSBhIGNsYXNzLgotICAgICA8TWF0Y2ggY2xhc3M9ImNvbS5mb29iYXIuTXlDbGFzcyI+Ci0gICAgICAgPEJ1Z0NvZGUgbmFtZT0iREUsVXJGLFNJQyIgLz4KLSAgICAgPC9NYXRjaD4KLQotICAzLiBNYXRjaCBjZXJ0YWluIHRlc3RzIGZyb20gYWxsIGNsYXNzZXMuCi0KLSAgICAgPE1hdGNoIGNsYXNzcmVnZXg9Ii4qIiA+Ci0gICAgICAgPEJ1Z0NvZGUgbmFtZT0iREUsVXJGLFNJQyIgLz4KLSAgICAgPC9NYXRjaD4KLQotICA0LiBNYXRjaCBidWcgdHlwZXMgZnJvbSBzcGVjaWZpZWQgbWV0aG9kcyBvZiBhIGNsYXNzLgotCi0gICAgIDxNYXRjaCBjbGFzcz0iY29tLmZvb2Jhci5NeUNsYXNzIj4KLSAgICAgICA8T3I+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9ImZyb2IiIHBhcmFtcz0iaW50LGphdmEubGFuZy5TdHJpbmciIHJldHVybnM9InZvaWQiIC8+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9ImJsYXQiIHBhcmFtcz0iIiByZXR1cm5zPSJib29sZWFuIiAvPgotICAgICAgIDwvT3I+Ci0gICAgICAgPEJ1Z0NvZGUgbmFtZT0iREMiIC8+Ci0gICAgIDwvTWF0Y2g+Ci0KLT09PT09PT09PT09PT09PT09Ci1Db21wbGV0ZSBFeGFtcGxlOgotPT09PT09PT09PT09PT09PT0KLQotPEZpbmRCdWdzRmlsdGVyPgotICAgICA8TWF0Y2ggY2xhc3M9ImNvbS5mb29iYXIuQ2xhc3NOb3RUb0JlQW5hbHl6ZWQiIC8+Ci0KLSAgICAgPE1hdGNoIGNsYXNzPSJjb20uZm9vYmFyLkNsYXNzV2l0aFNvbWVCdWdzTWF0Y2hlZCI+Ci0gICAgICAgPEJ1Z0NvZGUgbmFtZT0iREUsVXJGLFNJQyIgLz4KLSAgICAgPC9NYXRjaD4KLQotICAgICA8IS0tIE1hdGNoIGFsbCBYWVogdmlvbGF0aW9ucy4gLS0+Ci0gICAgIDxNYXRjaCBjbGFzc3JlZ2V4PSIuKiIgPgotICAgICAgIDxCdWdDb2RlIG5hbWU9IlhZWiIgLz4KLSAgICAgPC9NYXRjaD4KLQotICAgICA8IS0tIE1hdGNoIGFsbCBkb3VibGVjaGVjayB2aW9sYXRpb25zIGluIHRoZXNlIG1ldGhvZHMgb2YgIkFub3RoZXJDbGFzcyIuIC0tPgotICAgICA8TWF0Y2ggY2xhc3M9ImNvbS5mb29iYXIuQW5vdGhlckNsYXNzIj4KLSAgICAgICA8T3I+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9Im5vbk92ZXJsb2FkZWRNZXRob2QiIC8+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9ImZyb2IiIHBhcmFtcz0iaW50LGphdmEubGFuZy5TdHJpbmciIHJldHVybnM9InZvaWQiIC8+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9ImJsYXQiIHBhcmFtcz0iIiByZXR1cm5zPSJib29sZWFuIiAvPgotICAgICAgIDwvT3I+Ci0gICAgICAgPEJ1Z0NvZGUgbmFtZT0iREMiIC8+Ci0gICAgIDwvTWF0Y2g+Ci08L0ZpbmRCdWdzRmlsdGVyPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2FsbEJ1Z0Rlc2NyaXB0aW9ucy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2FsbEJ1Z0Rlc2NyaXB0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOWU5NGUwLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9hbGxCdWdEZXNjcmlwdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1MDAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Ci08aHRtbD48aGVhZD48dGl0bGU+RmluZEJ1Z3MgQnVnIERlc2NyaXB0aW9ucyAoVW5hYnJpZGdlZCk8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iZmluZGJ1Z3MuY3NzIi8+Ci08bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImZhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iLz4KLTwvaGVhZD48Ym9keT4KLQotPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Ci0KLTx0ZCBiZ2NvbG9yPSIjYjliOWZlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIHdpZHRoPSIyMCUiPiAKLTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+IAotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVtZEZpbmRidWdzLnBuZyIgYWx0PSJGaW5kQnVncyI+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRvY3MgYW5kIEluZm88L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmaW5kYnVnczIuaHRtbCI+RmluZEJ1Z3MgMi4wPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRlbW8uaHRtbCI+RGVtbyBhbmQgZGF0YTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ1c2Vycy5odG1sIj5Vc2VycyBhbmQgc3VwcG9ydGVyczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuYmxvZ3Nwb3QuY29tLyI+RmluZEJ1Z3MgYmxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmYWN0U2hlZXQuaHRtbCI+RmFjdCBzaGVldDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYW51YWwvaW5kZXguaHRtbCI+TWFudWFsPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImphL21hbnVhbC9pbmRleC5odG1sIj5NYW51YWwoamEvJiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7KTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5CdWcgZGVzY3JpcHRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWxpbmdMaXN0cy5odG1sIj5NYWlsaW5nIGxpc3RzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InB1YmxpY2F0aW9ucy5odG1sIj5Eb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJsaW5rcy5odG1sIj5MaW5rczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRvd25sb2Fkcy5odG1sIj48Yj5Eb3dubG9hZHM8L2I+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vd3d3LmNhZmVzaG9wcy5jb20vZmluZGJ1Z3MiPjxiPkZpbmRCdWdzIFN3YWc8L2I+PC9hPjwvdGQ+PC90cj4KLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RGV2ZWxvcG1lbnQ8L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTk2NDA1Ij5PcGVuIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5SZXBvcnRpbmcgYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJjb250cmlidXRpbmcuaHRtbCI+Q29udHJpYnV0aW5nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InRlYW0uaHRtbCI+RGV2IHRlYW08L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiPkFQSTwvYT4gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPltubyBmcmFtZXNdPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzIj5TRiBwcm9qZWN0IHBhZ2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvIj5Ccm93c2Ugc291cmNlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvbGlzdCI+TGF0ZXN0IGNvZGUgY2hhbmdlczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTwvdGFibGU+IAotPC90ZD4KLTx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgotPGgxPkZpbmRCdWdzIEJ1ZyBEZXNjcmlwdGlvbnMgKFVuYWJyaWRnZWQpPC9oMT4KLTxwPlRoaXMgZG9jdW1lbnQgbGlzdHMgYWxsIG9mIHRoZSBidWcgcGF0dGVybnMgcmVwb3J0ZWQgYnkgdGhlCi1sYXRlc3QgZGV2ZWxvcG1lbnQgdmVyc2lvbiBvZiAKLTxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQiPkZpbmRCdWdzPC9hPi4mbmJzcDsgTm90ZSB0aGF0IHRoaXMgbWF5IGluY2x1ZGUKLWJ1ZyBwYXR0ZXJucyBub3QgYXZhaWxhYmxlIGluIGFueSByZWxlYXNlZCB2ZXJzaW9uIG9mIEZpbmRCdWdzLAotYXMgd2VsbCBhcyBidWcgcGF0dGVybnMgdGhhdCBhcmUgbm90IGVuYWJsZWQgYnkgZGVmYXVsdC4KLTxoMj5TdW1tYXJ5PC9oMj4KLTx0YWJsZSB3aWR0aD0iMTAwJSI+Ci08dHIgYmdjb2xvcj0iI2I5YjlmZSI+PHRoPkRlc2NyaXB0aW9uPC90aD48dGg+Q2F0ZWdvcnk8L3RoPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNBTV9DUkVBVEVTX0VNUFRZX0pBUl9GSUxFX0VOVFJZIj5BTTogQ3JlYXRlcyBhbiBlbXB0eSBqYXIgZmlsZSBlbnRyeTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNBTV9DUkVBVEVTX0VNUFRZX1pJUF9GSUxFX0VOVFJZIj5BTTogQ3JlYXRlcyBhbiBlbXB0eSB6aXAgZmlsZSBlbnRyeTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNCQ19FUVVBTFNfTUVUSE9EX1NIT1VMRF9XT1JLX0ZPUl9BTExfT0JKRUNUUyI+QkM6IEVxdWFscyBtZXRob2Qgc2hvdWxkIG5vdCBhc3N1bWUgYW55dGhpbmcgYWJvdXQgdGhlIHR5cGUgb2YgaXRzIGFyZ3VtZW50PC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0JJVF9TSUdORURfQ0hFQ0siPkJJVDogQ2hlY2sgZm9yIHNpZ24gb2YgYml0d2lzZSBvcGVyYXRpb248L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQ05fSURJT00iPkNOOiBDbGFzcyBpbXBsZW1lbnRzIENsb25lYWJsZSBidXQgZG9lcyBub3QgZGVmaW5lIG9yIHVzZSBjbG9uZSBtZXRob2Q8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQ05fSURJT01fTk9fU1VQRVJfQ0FMTCI+Q046IGNsb25lIG1ldGhvZCBkb2VzIG5vdCBjYWxsIHN1cGVyLmNsb25lKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQ05fSU1QTEVNRU5UU19DTE9ORV9CVVRfTk9UX0NMT05FQUJMRSI+Q046IENsYXNzIGRlZmluZXMgY2xvbmUoKSBidXQgZG9lc24ndCBpbXBsZW1lbnQgQ2xvbmVhYmxlPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0NPX0FCU1RSQUNUX1NFTEYiPkNvOiBBYnN0cmFjdCBjbGFzcyBkZWZpbmVzIGNvdmFyaWFudCBjb21wYXJlVG8oKSBtZXRob2Q8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQ09fU0VMRl9OT19PQkpFQ1QiPkNvOiBDb3ZhcmlhbnQgY29tcGFyZVRvKCkgbWV0aG9kIGRlZmluZWQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjREVfTUlHSFRfRFJPUCI+REU6IE1ldGhvZCBtaWdodCBkcm9wIGV4Y2VwdGlvbjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNERV9NSUdIVF9JR05PUkUiPkRFOiBNZXRob2QgbWlnaHQgaWdub3JlIGV4Y2VwdGlvbjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETUlfRU5UUllfU0VUU19NQVlfUkVVU0VfRU5UUllfT0JKRUNUUyI+RE1JOiBBZGRpbmcgZWxlbWVudHMgb2YgYW4gZW50cnkgc2V0IG1heSBmYWlsIGR1ZSB0byByZXVzZSBvZiBFbnRyeSBvYmplY3RzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9SQU5ET01fVVNFRF9PTkxZX09OQ0UiPkRNSTogUmFuZG9tIG9iamVjdCBjcmVhdGVkIGFuZCB1c2VkIG9ubHkgb25jZTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETUlfVVNJTkdfUkVNT1ZFQUxMX1RPX0NMRUFSX0NPTExFQ1RJT04iPkRNSTogRG9uJ3QgdXNlIHJlbW92ZUFsbCB0byBjbGVhciBhIGNvbGxlY3Rpb248L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1fRVhJVCI+RG06IE1ldGhvZCBpbnZva2VzIFN5c3RlbS5leGl0KC4uLik8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1fUlVOX0ZJTkFMSVpFUlNfT05fRVhJVCI+RG06IE1ldGhvZCBpbnZva2VzIGRhbmdlcm91cyBtZXRob2QgcnVuRmluYWxpemVyc09uRXhpdDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFU19DT01QQVJJTkdfUEFSQU1FVEVSX1NUUklOR19XSVRIX0VRIj5FUzogQ29tcGFyaXNvbiBvZiBTdHJpbmcgcGFyYW1ldGVyIHVzaW5nID09IG9yICE9PC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VTX0NPTVBBUklOR19TVFJJTkdTX1dJVEhfRVEiPkVTOiBDb21wYXJpc29uIG9mIFN0cmluZyBvYmplY3RzIHVzaW5nID09IG9yICE9PC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VRX0FCU1RSQUNUX1NFTEYiPkVxOiBBYnN0cmFjdCBjbGFzcyBkZWZpbmVzIGNvdmFyaWFudCBlcXVhbHMoKSBtZXRob2Q8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRVFfQ0hFQ0tfRk9SX09QRVJBTkRfTk9UX0NPTVBBVElCTEVfV0lUSF9USElTIj5FcTogRXF1YWxzIGNoZWNrcyBmb3IgaW5jb21wYXRpYmxlIG9wZXJhbmQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRVFfQ09NUEFSRVRPX1VTRV9PQkpFQ1RfRVFVQUxTIj5FcTogQ2xhc3MgZGVmaW5lcyBjb21wYXJlVG8oLi4uKSBhbmQgdXNlcyBPYmplY3QuZXF1YWxzKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRVFfR0VUQ0xBU1NfQU5EX0NMQVNTX0NPTlNUQU5UIj5FcTogZXF1YWxzIG1ldGhvZCBmYWlscyBmb3Igc3VidHlwZXM8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRVFfU0VMRl9OT19PQkpFQ1QiPkVxOiBDb3ZhcmlhbnQgZXF1YWxzKCkgbWV0aG9kIGRlZmluZWQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRklfRU1QVFkiPkZJOiBFbXB0eSBmaW5hbGl6ZXIgc2hvdWxkIGJlIGRlbGV0ZWQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRklfRVhQTElDSVRfSU5WT0NBVElPTiI+Rkk6IEV4cGxpY2l0IGludm9jYXRpb24gb2YgZmluYWxpemVyPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0ZJX0ZJTkFMSVpFUl9OVUxMU19GSUVMRFMiPkZJOiBGaW5hbGl6ZXIgbnVsbHMgZmllbGRzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0ZJX0ZJTkFMSVpFUl9PTkxZX05VTExTX0ZJRUxEUyI+Rkk6IEZpbmFsaXplciBvbmx5IG51bGxzIGZpZWxkczwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNGSV9NSVNTSU5HX1NVUEVSX0NBTEwiPkZJOiBGaW5hbGl6ZXIgZG9lcyBub3QgY2FsbCBzdXBlcmNsYXNzIGZpbmFsaXplcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNGSV9OVUxMSUZZX1NVUEVSIj5GSTogRmluYWxpemVyIG51bGxpZmllcyBzdXBlcmNsYXNzIGZpbmFsaXplcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNGSV9VU0VMRVNTIj5GSTogRmluYWxpemVyIGRvZXMgbm90aGluZyBidXQgY2FsbCBzdXBlcmNsYXNzIGZpbmFsaXplcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX1VTRVNfTkVXTElORSI+RlM6IEZvcm1hdCBzdHJpbmcgc2hvdWxkIHVzZSAlbiByYXRoZXIgdGhhbiBcbjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNHQ19VTkNIRUNLRURfVFlQRV9JTl9HRU5FUklDX0NBTEwiPkdDOiBVbmNoZWNrZWQgdHlwZSBpbiBnZW5lcmljIGNhbGw8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSEVfRVFVQUxTX05PX0hBU0hDT0RFIj5IRTogQ2xhc3MgZGVmaW5lcyBlcXVhbHMoKSBidXQgbm90IGhhc2hDb2RlKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSEVfRVFVQUxTX1VTRV9IQVNIQ09ERSI+SEU6IENsYXNzIGRlZmluZXMgZXF1YWxzKCkgYW5kIHVzZXMgT2JqZWN0Lmhhc2hDb2RlKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSEVfSEFTSENPREVfTk9fRVFVQUxTIj5IRTogQ2xhc3MgZGVmaW5lcyBoYXNoQ29kZSgpIGJ1dCBub3QgZXF1YWxzKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSEVfSEFTSENPREVfVVNFX09CSkVDVF9FUVVBTFMiPkhFOiBDbGFzcyBkZWZpbmVzIGhhc2hDb2RlKCkgYW5kIHVzZXMgT2JqZWN0LmVxdWFscygpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0hFX0lOSEVSSVRTX0VRVUFMU19VU0VfSEFTSENPREUiPkhFOiBDbGFzcyBpbmhlcml0cyBlcXVhbHMoKSBhbmQgdXNlcyBPYmplY3QuaGFzaENvZGUoKTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJQ19TVVBFUkNMQVNTX1VTRVNfU1VCQ0xBU1NfRFVSSU5HX0lOSVRJQUxJWkFUSU9OIj5JQzogU3VwZXJjbGFzcyB1c2VzIHN1YmNsYXNzIGR1cmluZyBpbml0aWFsaXphdGlvbjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNJTVNFX0RPTlRfQ0FUQ0hfSU1TRSI+SU1TRTogRHViaW91cyBjYXRjaGluZyBvZiBJbGxlZ2FsTW9uaXRvclN0YXRlRXhjZXB0aW9uPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lTQ19JTlNUQU5USUFURV9TVEFUSUNfQ0xBU1MiPklTQzogTmVlZGxlc3MgaW5zdGFudGlhdGlvbiBvZiBjbGFzcyB0aGF0IG9ubHkgc3VwcGxpZXMgc3RhdGljIG1ldGhvZHM8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSVRfTk9fU1VDSF9FTEVNRU5UIj5JdDogSXRlcmF0b3IgbmV4dCgpIG1ldGhvZCBjYW4ndCB0aHJvdyBOb1N1Y2hFbGVtZW50RXhjZXB0aW9uPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0oyRUVfU1RPUkVfT0ZfTk9OX1NFUklBTElaQUJMRV9PQkpFQ1RfSU5UT19TRVNTSU9OIj5KMkVFOiBTdG9yZSBvZiBub24gc2VyaWFsaXphYmxlIG9iamVjdCBpbnRvIEh0dHBTZXNzaW9uPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0pDSVBfRklFTERfSVNOVF9GSU5BTF9JTl9JTU1VVEFCTEVfQ0xBU1MiPkpDSVA6IEZpZWxkcyBvZiBpbW11dGFibGUgY2xhc3NlcyBzaG91bGQgYmUgZmluYWw8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfQk9PTEVBTl9SRVRVUk5fTlVMTCI+TlA6IE1ldGhvZCB3aXRoIEJvb2xlYW4gcmV0dXJuIHR5cGUgcmV0dXJucyBleHBsaWNpdCBudWxsPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX0NMT05FX0NPVUxEX1JFVFVSTl9OVUxMIj5OUDogQ2xvbmUgbWV0aG9kIG1heSByZXR1cm4gbnVsbDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9FUVVBTFNfU0hPVUxEX0hBTkRMRV9OVUxMX0FSR1VNRU5UIj5OUDogZXF1YWxzKCkgbWV0aG9kIGRvZXMgbm90IGNoZWNrIGZvciBudWxsIGFyZ3VtZW50PC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX1RPU1RSSU5HX0NPVUxEX1JFVFVSTl9OVUxMIj5OUDogdG9TdHJpbmcgbWV0aG9kIG1heSByZXR1cm4gbnVsbDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOTV9DTEFTU19OQU1JTkdfQ09OVkVOVElPTiI+Tm06IENsYXNzIG5hbWVzIHNob3VsZCBzdGFydCB3aXRoIGFuIHVwcGVyIGNhc2UgbGV0dGVyPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05NX0NMQVNTX05PVF9FWENFUFRJT04iPk5tOiBDbGFzcyBpcyBub3QgZGVyaXZlZCBmcm9tIGFuIEV4Y2VwdGlvbiwgZXZlbiB0aG91Z2ggaXQgaXMgbmFtZWQgYXMgc3VjaDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOTV9DT05GVVNJTkciPk5tOiBDb25mdXNpbmcgbWV0aG9kIG5hbWVzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05NX0ZJRUxEX05BTUlOR19DT05WRU5USU9OIj5ObTogRmllbGQgbmFtZXMgc2hvdWxkIHN0YXJ0IHdpdGggYSBsb3dlciBjYXNlIGxldHRlcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOTV9GVVRVUkVfS0VZV09SRF9VU0VEX0FTX0lERU5USUZJRVIiPk5tOiBVc2Ugb2YgaWRlbnRpZmllciB0aGF0IGlzIGEga2V5d29yZCBpbiBsYXRlciB2ZXJzaW9ucyBvZiBKYXZhPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05NX0ZVVFVSRV9LRVlXT1JEX1VTRURfQVNfTUVNQkVSX0lERU5USUZJRVIiPk5tOiBVc2Ugb2YgaWRlbnRpZmllciB0aGF0IGlzIGEga2V5d29yZCBpbiBsYXRlciB2ZXJzaW9ucyBvZiBKYXZhPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05NX01FVEhPRF9OQU1JTkdfQ09OVkVOVElPTiI+Tm06IE1ldGhvZCBuYW1lcyBzaG91bGQgc3RhcnQgd2l0aCBhIGxvd2VyIGNhc2UgbGV0dGVyPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05NX1NBTUVfU0lNUExFX05BTUVfQVNfSU5URVJGQUNFIj5ObTogQ2xhc3MgbmFtZXMgc2hvdWxkbid0IHNoYWRvdyBzaW1wbGUgbmFtZSBvZiBpbXBsZW1lbnRlZCBpbnRlcmZhY2U8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTk1fU0FNRV9TSU1QTEVfTkFNRV9BU19TVVBFUkNMQVNTIj5ObTogQ2xhc3MgbmFtZXMgc2hvdWxkbid0IHNoYWRvdyBzaW1wbGUgbmFtZSBvZiBzdXBlcmNsYXNzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05NX1ZFUllfQ09ORlVTSU5HX0lOVEVOVElPTkFMIj5ObTogVmVyeSBjb25mdXNpbmcgbWV0aG9kIG5hbWVzIChidXQgcGVyaGFwcyBpbnRlbnRpb25hbCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTk1fV1JPTkdfUEFDS0FHRV9JTlRFTlRJT05BTCI+Tm06IE1ldGhvZCBkb2Vzbid0IG92ZXJyaWRlIG1ldGhvZCBpbiBzdXBlcmNsYXNzIGR1ZSB0byB3cm9uZyBwYWNrYWdlIGZvciBwYXJhbWV0ZXI8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjT0RSX09QRU5fREFUQUJBU0VfUkVTT1VSQ0UiPk9EUjogTWV0aG9kIG1heSBmYWlsIHRvIGNsb3NlIGRhdGFiYXNlIHJlc291cmNlPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI09EUl9PUEVOX0RBVEFCQVNFX1JFU09VUkNFX0VYQ0VQVElPTl9QQVRIIj5PRFI6IE1ldGhvZCBtYXkgZmFpbCB0byBjbG9zZSBkYXRhYmFzZSByZXNvdXJjZSBvbiBleGNlcHRpb248L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjT1NfT1BFTl9TVFJFQU0iPk9TOiBNZXRob2QgbWF5IGZhaWwgdG8gY2xvc2Ugc3RyZWFtPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI09TX09QRU5fU1RSRUFNX0VYQ0VQVElPTl9QQVRIIj5PUzogTWV0aG9kIG1heSBmYWlsIHRvIGNsb3NlIHN0cmVhbSBvbiBleGNlcHRpb248L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUFpfRE9OVF9SRVVTRV9FTlRSWV9PQkpFQ1RTX0lOX0lURVJBVE9SUyI+UFo6IERvbid0IHJldXNlIGVudHJ5IG9iamVjdHMgaW4gaXRlcmF0b3JzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRSI+UkM6IFN1c3BpY2lvdXMgcmVmZXJlbmNlIGNvbXBhcmlzb24gdG8gY29uc3RhbnQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUkNfUkVGX0NPTVBBUklTT05fQkFEX1BSQUNUSUNFX0JPT0xFQU4iPlJDOiBTdXNwaWNpb3VzIHJlZmVyZW5jZSBjb21wYXJpc29uIG9mIEJvb2xlYW4gdmFsdWVzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JSX05PVF9DSEVDS0VEIj5SUjogTWV0aG9kIGlnbm9yZXMgcmVzdWx0cyBvZiBJbnB1dFN0cmVhbS5yZWFkKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU1JfTk9UX0NIRUNLRUQiPlJSOiBNZXRob2QgaWdub3JlcyByZXN1bHRzIG9mIElucHV0U3RyZWFtLnNraXAoKTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSVl9ORUdBVElOR19SRVNVTFRfT0ZfQ09NUEFSRVRPIj5SVjogTmVnYXRpbmcgdGhlIHJlc3VsdCBvZiBjb21wYXJlVG8oKS9jb21wYXJlKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUlZfUkVUVVJOX1ZBTFVFX0lHTk9SRURfQkFEX1BSQUNUSUNFIj5SVjogTWV0aG9kIGlnbm9yZXMgZXhjZXB0aW9uYWwgcmV0dXJuIHZhbHVlPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NJX0lOU1RBTkNFX0JFRk9SRV9GSU5BTFNfQVNTSUdORUQiPlNJOiBTdGF0aWMgaW5pdGlhbGl6ZXIgY3JlYXRlcyBpbnN0YW5jZSBiZWZvcmUgYWxsIHN0YXRpYyBmaW5hbCBmaWVsZHMgYXNzaWduZWQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU1dfU1dJTkdfTUVUSE9EU19JTlZPS0VEX0lOX1NXSU5HX1RIUkVBRCI+U1c6IENlcnRhaW4gc3dpbmcgbWV0aG9kcyBuZWVkcyB0byBiZSBpbnZva2VkIGluIFN3aW5nIHRocmVhZDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTRV9CQURfRklFTEQiPlNlOiBOb24tdHJhbnNpZW50IG5vbi1zZXJpYWxpemFibGUgaW5zdGFuY2UgZmllbGQgaW4gc2VyaWFsaXphYmxlIGNsYXNzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NFX0JBRF9GSUVMRF9JTk5FUl9DTEFTUyI+U2U6IE5vbi1zZXJpYWxpemFibGUgY2xhc3MgaGFzIGEgc2VyaWFsaXphYmxlIGlubmVyIGNsYXNzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NFX0JBRF9GSUVMRF9TVE9SRSI+U2U6IE5vbi1zZXJpYWxpemFibGUgdmFsdWUgc3RvcmVkIGludG8gaW5zdGFuY2UgZmllbGQgb2YgYSBzZXJpYWxpemFibGUgY2xhc3M8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0VfQ09NUEFSQVRPUl9TSE9VTERfQkVfU0VSSUFMSVpBQkxFIj5TZTogQ29tcGFyYXRvciBkb2Vzbid0IGltcGxlbWVudCBTZXJpYWxpemFibGU8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0VfSU5ORVJfQ0xBU1MiPlNlOiBTZXJpYWxpemFibGUgaW5uZXIgY2xhc3M8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0VfTk9ORklOQUxfU0VSSUFMVkVSU0lPTklEIj5TZTogc2VyaWFsVmVyc2lvblVJRCBpc24ndCBmaW5hbDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTRV9OT05MT05HX1NFUklBTFZFUlNJT05JRCI+U2U6IHNlcmlhbFZlcnNpb25VSUQgaXNuJ3QgbG9uZzwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTRV9OT05TVEFUSUNfU0VSSUFMVkVSU0lPTklEIj5TZTogc2VyaWFsVmVyc2lvblVJRCBpc24ndCBzdGF0aWM8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0VfTk9fU1VJVEFCTEVfQ09OU1RSVUNUT1IiPlNlOiBDbGFzcyBpcyBTZXJpYWxpemFibGUgYnV0IGl0cyBzdXBlcmNsYXNzIGRvZXNuJ3QgZGVmaW5lIGEgdm9pZCBjb25zdHJ1Y3RvcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTRV9OT19TVUlUQUJMRV9DT05TVFJVQ1RPUl9GT1JfRVhURVJOQUxJWkFUSU9OIj5TZTogQ2xhc3MgaXMgRXh0ZXJuYWxpemFibGUgYnV0IGRvZXNuJ3QgZGVmaW5lIGEgdm9pZCBjb25zdHJ1Y3RvcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTRV9SRUFEX1JFU09MVkVfTVVTVF9SRVRVUk5fT0JKRUNUIj5TZTogVGhlIHJlYWRSZXNvbHZlIG1ldGhvZCBtdXN0IGJlIGRlY2xhcmVkIHdpdGggYSByZXR1cm4gdHlwZSBvZiBPYmplY3QuIDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTRV9UUkFOU0lFTlRfRklFTERfTk9UX1JFU1RPUkVEIj5TZTogVHJhbnNpZW50IGZpZWxkIHRoYXQgaXNuJ3Qgc2V0IGJ5IGRlc2VyaWFsaXphdGlvbi4gPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NFX05PX1NFUklBTFZFUlNJT05JRCI+U25WSTogQ2xhc3MgaXMgU2VyaWFsaXphYmxlLCBidXQgZG9lc24ndCBkZWZpbmUgc2VyaWFsVmVyc2lvblVJRDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNVSV9JTkhFUklUQU5DRV9VTlNBRkVfR0VUUkVTT1VSQ0UiPlVJOiBVc2FnZSBvZiBHZXRSZXNvdXJjZSBtYXkgYmUgdW5zYWZlIGlmIGNsYXNzIGlzIGV4dGVuZGVkPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0JBQ19CQURfQVBQTEVUX0NPTlNUUlVDVE9SIj5CQUM6IEJhZCBBcHBsZXQgQ29uc3RydWN0b3IgcmVsaWVzIG9uIHVuaW5pdGlhbGl6ZWQgQXBwbGV0U3R1YjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0JDX0lNUE9TU0lCTEVfQ0FTVCI+QkM6IEltcG9zc2libGUgY2FzdDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0JDX0lNUE9TU0lCTEVfRE9XTkNBU1QiPkJDOiBJbXBvc3NpYmxlIGRvd25jYXN0PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQkNfSU1QT1NTSUJMRV9ET1dOQ0FTVF9PRl9UT0FSUkFZIj5CQzogSW1wb3NzaWJsZSBkb3duY2FzdCBvZiB0b0FycmF5KCkgcmVzdWx0PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQkNfSU1QT1NTSUJMRV9JTlNUQU5DRU9GIj5CQzogaW5zdGFuY2VvZiB3aWxsIGFsd2F5cyByZXR1cm4gZmFsc2U8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNCSVRfQUREX09GX1NJR05FRF9CWVRFIj5CSVQ6IEJpdHdpc2UgYWRkIG9mIHNpZ25lZCBieXRlIHZhbHVlPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQklUX0FORCI+QklUOiBJbmNvbXBhdGlibGUgYml0IG1hc2tzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQklUX0FORF9aWiI+QklUOiBDaGVjayB0byBzZWUgaWYgKCguLi4pICYgMCkgPT0gMDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0JJVF9JT1IiPkJJVDogSW5jb21wYXRpYmxlIGJpdCBtYXNrczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0JJVF9JT1JfT0ZfU0lHTkVEX0JZVEUiPkJJVDogQml0d2lzZSBPUiBvZiBzaWduZWQgYnl0ZSB2YWx1ZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0JJVF9TSUdORURfQ0hFQ0tfSElHSF9CSVQiPkJJVDogQ2hlY2sgZm9yIHNpZ24gb2YgYml0d2lzZSBvcGVyYXRpb248L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNCT0FfQkFETFlfT1ZFUlJJRERFTl9BREFQVEVSIj5CT0E6IENsYXNzIG92ZXJyaWRlcyBhIG1ldGhvZCBpbXBsZW1lbnRlZCBpbiBzdXBlciBjbGFzcyBBZGFwdGVyIHdyb25nbHk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJQ0FTVF9CQURfU0hJRlRfQU1PVU5UIj5CU0hJRlQ6IDMyIGJpdCBpbnQgc2hpZnRlZCBieSBhbiBhbW91bnQgbm90IGluIHRoZSByYW5nZSAtMzEuLjMxPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQlhfVU5CT1hFRF9BTkRfQ09FUkNFRF9GT1JfVEVSTkFSWV9PUEVSQVRPUiI+Qng6IFByaW1pdGl2ZSB2YWx1ZSBpcyB1bmJveGVkIGFuZCBjb2VyY2VkIGZvciB0ZXJuYXJ5IG9wZXJhdG9yPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQ09fQ09NUEFSRVRPX1JFU1VMVFNfTUlOX1ZBTFVFIj5DbzogY29tcGFyZVRvKCkvY29tcGFyZSgpIHJldHVybnMgSW50ZWdlci5NSU5fVkFMVUU8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETFNfREVBRF9MT0NBTF9JTkNSRU1FTlRfSU5fUkVUVVJOIj5ETFM6IFVzZWxlc3MgaW5jcmVtZW50IGluIHJldHVybiBzdGF0ZW1lbnQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETFNfREVBRF9TVE9SRV9PRl9DTEFTU19MSVRFUkFMIj5ETFM6IERlYWQgc3RvcmUgb2YgY2xhc3MgbGl0ZXJhbDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RMU19PVkVSV1JJVFRFTl9JTkNSRU1FTlQiPkRMUzogT3ZlcndyaXR0ZW4gaW5jcmVtZW50PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX0FSR1VNRU5UU19XUk9OR19PUkRFUiI+RE1JOiBSZXZlcnNlZCBtZXRob2QgYXJndW1lbnRzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1JX0JBRF9NT05USCI+RE1JOiBCYWQgY29uc3RhbnQgdmFsdWUgZm9yIG1vbnRoPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX0JJR0RFQ0lNQUxfQ09OU1RSVUNURURfRlJPTV9ET1VCTEUiPkRNSTogQmlnRGVjaW1hbCBjb25zdHJ1Y3RlZCBmcm9tIGRvdWJsZSB0aGF0IGlzbid0IHJlcHJlc2VudGVkIHByZWNpc2VseTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9DQUxMSU5HX05FWFRfRlJPTV9IQVNORVhUIj5ETUk6IGhhc05leHQgbWV0aG9kIGludm9rZXMgbmV4dDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9DT0xMRUNUSU9OU19TSE9VTERfTk9UX0NPTlRBSU5fVEhFTVNFTFZFUyI+RE1JOiBDb2xsZWN0aW9ucyBzaG91bGQgbm90IGNvbnRhaW4gdGhlbXNlbHZlczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9ET0giPkRNSTogRCdvaCEgQSBub25zZW5zaWNhbCBtZXRob2QgaW52b2NhdGlvbjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9JTlZPS0lOR19IQVNIQ09ERV9PTl9BUlJBWSI+RE1JOiBJbnZvY2F0aW9uIG9mIGhhc2hDb2RlIG9uIGFuIGFycmF5PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1JX0xPTkdfQklUU19UT19ET1VCTEVfSU5WT0tFRF9PTl9JTlQiPkRNSTogRG91YmxlLmxvbmdCaXRzVG9Eb3VibGUgaW52b2tlZCBvbiBhbiBpbnQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETUlfVkFDVU9VU19TRUxGX0NPTExFQ1RJT05fQ0FMTCI+RE1JOiBWYWN1b3VzIGNhbGwgdG8gY29sbGVjdGlvbnM8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETUlfQU5OT1RBVElPTl9JU19OT1RfVklTSUJMRV9UT19SRUZMRUNUSU9OIj5EbTogQ2FuJ3QgdXNlIHJlZmxlY3Rpb24gdG8gY2hlY2sgZm9yIHByZXNlbmNlIG9mIGFubm90YXRpb24gd2l0aG91dCBydW50aW1lIHJldGVudGlvbjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9GVVRJTEVfQVRURU1QVF9UT19DSEFOR0VfTUFYUE9PTF9TSVpFX09GX1NDSEVEVUxFRF9USFJFQURfUE9PTF9FWEVDVVRPUiI+RG06IEZ1dGlsZSBhdHRlbXB0IHRvIGNoYW5nZSBtYXggcG9vbCBzaXplIG9mIFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9TQ0hFRFVMRURfVEhSRUFEX1BPT0xfRVhFQ1VUT1JfV0lUSF9aRVJPX0NPUkVfVEhSRUFEUyI+RG06IENyZWF0aW9uIG9mIFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciB3aXRoIHplcm8gY29yZSB0aHJlYWRzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX1ZBQ1VPVVNfQ0FMTF9UT19FQVNZTU9DS19NRVRIT0QiPkRtOiBVc2VsZXNzL3ZhY3VvdXMgY2FsbCB0byBFYXN5TW9jayBtZXRob2Q8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFQ19BUlJBWV9BTkRfTk9OQVJSQVkiPkVDOiBlcXVhbHMoKSB1c2VkIHRvIGNvbXBhcmUgYXJyYXkgYW5kIG5vbmFycmF5PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRUNfQkFEX0FSUkFZX0NPTVBBUkUiPkVDOiBJbnZvY2F0aW9uIG9mIGVxdWFscygpIG9uIGFuIGFycmF5LCB3aGljaCBpcyBlcXVpdmFsZW50IHRvID09PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRUNfSU5DT01QQVRJQkxFX0FSUkFZX0NPTVBBUkUiPkVDOiBlcXVhbHMoLi4uKSB1c2VkIHRvIGNvbXBhcmUgaW5jb21wYXRpYmxlIGFycmF5czwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VDX05VTExfQVJHIj5FQzogQ2FsbCB0byBlcXVhbHMobnVsbCk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFQ19VTlJFTEFURURfQ0xBU1NfQU5EX0lOVEVSRkFDRSI+RUM6IENhbGwgdG8gZXF1YWxzKCkgY29tcGFyaW5nIHVucmVsYXRlZCBjbGFzcyBhbmQgaW50ZXJmYWNlPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRUNfVU5SRUxBVEVEX0lOVEVSRkFDRVMiPkVDOiBDYWxsIHRvIGVxdWFscygpIGNvbXBhcmluZyBkaWZmZXJlbnQgaW50ZXJmYWNlIHR5cGVzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRUNfVU5SRUxBVEVEX1RZUEVTIj5FQzogQ2FsbCB0byBlcXVhbHMoKSBjb21wYXJpbmcgZGlmZmVyZW50IHR5cGVzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRUNfVU5SRUxBVEVEX1RZUEVTX1VTSU5HX1BPSU5URVJfRVFVQUxJVFkiPkVDOiBVc2luZyBwb2ludGVyIGVxdWFsaXR5IHRvIGNvbXBhcmUgZGlmZmVyZW50IHR5cGVzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRVFfQUxXQVlTX0ZBTFNFIj5FcTogZXF1YWxzIG1ldGhvZCBhbHdheXMgcmV0dXJucyBmYWxzZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VRX0FMV0FZU19UUlVFIj5FcTogZXF1YWxzIG1ldGhvZCBhbHdheXMgcmV0dXJucyB0cnVlPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRVFfQ09NUEFSSU5HX0NMQVNTX05BTUVTIj5FcTogZXF1YWxzIG1ldGhvZCBjb21wYXJlcyBjbGFzcyBuYW1lcyByYXRoZXIgdGhhbiBjbGFzcyBvYmplY3RzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRVFfRE9OVF9ERUZJTkVfRVFVQUxTX0ZPUl9FTlVNIj5FcTogQ292YXJpYW50IGVxdWFscygpIG1ldGhvZCBkZWZpbmVkIGZvciBlbnVtPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRVFfT1RIRVJfTk9fT0JKRUNUIj5FcTogZXF1YWxzKCkgbWV0aG9kIGRlZmluZWQgdGhhdCBkb2Vzbid0IG92ZXJyaWRlIGVxdWFscyhPYmplY3QpPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRVFfT1RIRVJfVVNFX09CSkVDVCI+RXE6IGVxdWFscygpIG1ldGhvZCBkZWZpbmVkIHRoYXQgZG9lc24ndCBvdmVycmlkZSBPYmplY3QuZXF1YWxzKE9iamVjdCk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFUV9PVkVSUklESU5HX0VRVUFMU19OT1RfU1lNTUVUUklDIj5FcTogZXF1YWxzIG1ldGhvZCBvdmVycmlkZXMgZXF1YWxzIGluIHN1cGVyY2xhc3MgYW5kIG1heSBub3QgYmUgc3ltbWV0cmljPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRVFfU0VMRl9VU0VfT0JKRUNUIj5FcTogQ292YXJpYW50IGVxdWFscygpIG1ldGhvZCBkZWZpbmVkLCBPYmplY3QuZXF1YWxzKE9iamVjdCkgaW5oZXJpdGVkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRkJfTUlTU0lOR19FWFBFQ1RFRF9XQVJOSU5HIj5GQjogTWlzc2luZyBleHBlY3RlZCBvciBkZXNpcmVkIHdhcm5pbmcgZnJvbSBGaW5kQnVnczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0ZCX1VORVhQRUNURURfV0FSTklORyI+RkI6IFVuZXhwZWN0ZWQvdW5kZXNpcmVkIHdhcm5pbmcgZnJvbSBGaW5kQnVnczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0ZFX1RFU1RfSUZfRVFVQUxfVE9fTk9UX0FfTlVNQkVSIj5GRTogRG9vbWVkIHRlc3QgZm9yIGVxdWFsaXR5IHRvIE5hTjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0ZMX01BVEhfVVNJTkdfRkxPQVRfUFJFQ0lTSU9OIj5GTDogTWV0aG9kIHBlcmZvcm1zIG1hdGggdXNpbmcgZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVkFfRk9STUFUX1NUUklOR19CQURfQVJHVU1FTlQiPkZTOiBGb3JtYXQgc3RyaW5nIHBsYWNlaG9sZGVyIGluY29tcGF0aWJsZSB3aXRoIHBhc3NlZCBhcmd1bWVudDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1ZBX0ZPUk1BVF9TVFJJTkdfQkFEX0NPTlZFUlNJT04iPkZTOiBUaGUgdHlwZSBvZiBhIHN1cHBsaWVkIGFyZ3VtZW50IGRvZXNuJ3QgbWF0Y2ggZm9ybWF0IHNwZWNpZmllcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1ZBX0ZPUk1BVF9TVFJJTkdfRVhQRUNURURfTUVTU0FHRV9GT1JNQVRfU1VQUExJRUQiPkZTOiBNZXNzYWdlRm9ybWF0IHN1cHBsaWVkIHdoZXJlIHByaW50ZiBzdHlsZSBmb3JtYXQgZXhwZWN0ZWQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX0VYVFJBX0FSR1VNRU5UU19QQVNTRUQiPkZTOiBNb3JlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRoYW4gYXJlIGFjdHVhbGx5IHVzZWQgaW4gdGhlIGZvcm1hdCBzdHJpbmc8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX0lMTEVHQUwiPkZTOiBJbGxlZ2FsIGZvcm1hdCBzdHJpbmc8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX01JU1NJTkdfQVJHVU1FTlQiPkZTOiBGb3JtYXQgc3RyaW5nIHJlZmVyZW5jZXMgbWlzc2luZyBhcmd1bWVudDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1ZBX0ZPUk1BVF9TVFJJTkdfTk9fUFJFVklPVVNfQVJHVU1FTlQiPkZTOiBObyBwcmV2aW91cyBhcmd1bWVudCBmb3IgZm9ybWF0IHN0cmluZzwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0dDX1VOUkVMQVRFRF9UWVBFUyI+R0M6IE5vIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGdlbmVyaWMgcGFyYW1ldGVyIGFuZCBtZXRob2QgYXJndW1lbnQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNIRV9TSUdOQVRVUkVfREVDTEFSRVNfSEFTSElOR19PRl9VTkhBU0hBQkxFX0NMQVNTIj5IRTogU2lnbmF0dXJlIGRlY2xhcmVzIHVzZSBvZiB1bmhhc2hhYmxlIGNsYXNzIGluIGhhc2hlZCBjb25zdHJ1Y3Q8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNIRV9VU0VfT0ZfVU5IQVNIQUJMRV9DTEFTUyI+SEU6IFVzZSBvZiBjbGFzcyB3aXRob3V0IGEgaGFzaENvZGUoKSBtZXRob2QgaW4gYSBoYXNoZWQgZGF0YSBzdHJ1Y3R1cmU8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNJQ0FTVF9JTlRfMl9MT05HX0FTX0lOU1RBTlQiPklDQVNUOiBpbnQgdmFsdWUgY29udmVydGVkIHRvIGxvbmcgYW5kIHVzZWQgYXMgYWJzb2x1dGUgdGltZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lDQVNUX0lOVF9DQVNUX1RPX0RPVUJMRV9QQVNTRURfVE9fQ0VJTCI+SUNBU1Q6IEludGVncmFsIHZhbHVlIGNhc3QgdG8gZG91YmxlIGFuZCB0aGVuIHBhc3NlZCB0byBNYXRoLmNlaWw8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNJQ0FTVF9JTlRfQ0FTVF9UT19GTE9BVF9QQVNTRURfVE9fUk9VTkQiPklDQVNUOiBpbnQgdmFsdWUgY2FzdCB0byBmbG9hdCBhbmQgdGhlbiBwYXNzZWQgdG8gTWF0aC5yb3VuZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lKVV9BU1NFUlRfTUVUSE9EX0lOVk9LRURfRlJPTV9SVU5fTUVUSE9EIj5JSlU6IEpVbml0IGFzc2VydGlvbiBpbiBydW4gbWV0aG9kIHdpbGwgbm90IGJlIG5vdGljZWQgYnkgSlVuaXQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNJSlVfQkFEX1NVSVRFX01FVEhPRCI+SUpVOiBUZXN0Q2FzZSBkZWNsYXJlcyBhIGJhZCBzdWl0ZSBtZXRob2QgPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSUpVX05PX1RFU1RTIj5JSlU6IFRlc3RDYXNlIGhhcyBubyB0ZXN0czwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lKVV9TRVRVUF9OT19TVVBFUiI+SUpVOiBUZXN0Q2FzZSBkZWZpbmVzIHNldFVwIHRoYXQgZG9lc24ndCBjYWxsIHN1cGVyLnNldFVwKCk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJSlVfU1VJVEVfTk9UX1NUQVRJQyI+SUpVOiBUZXN0Q2FzZSBpbXBsZW1lbnRzIGEgbm9uLXN0YXRpYyBzdWl0ZSBtZXRob2QgPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUpVX1RFQVJET1dOX05PX1NVUEVSIj5JSlU6IFRlc3RDYXNlIGRlZmluZXMgdGVhckRvd24gdGhhdCBkb2Vzbid0IGNhbGwgc3VwZXIudGVhckRvd24oKTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lMX0NPTlRBSU5FUl9BRERFRF9UT19JVFNFTEYiPklMOiBBIGNvbGxlY3Rpb24gaXMgYWRkZWQgdG8gaXRzZWxmPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUxfSU5GSU5JVEVfTE9PUCI+SUw6IEFuIGFwcGFyZW50IGluZmluaXRlIGxvb3A8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJTF9JTkZJTklURV9SRUNVUlNJVkVfTE9PUCI+SUw6IEFuIGFwcGFyZW50IGluZmluaXRlIHJlY3Vyc2l2ZSBsb29wPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSU1fTVVMVElQTFlJTkdfUkVTVUxUX09GX0lSRU0iPklNOiBJbnRlZ2VyIG11bHRpcGx5IG9mIHJlc3VsdCBvZiBpbnRlZ2VyIHJlbWFpbmRlcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lOVF9CQURfQ09NUEFSSVNPTl9XSVRIX0lOVF9WQUxVRSI+SU5UOiBCYWQgY29tcGFyaXNvbiBvZiBpbnQgdmFsdWUgd2l0aCBsb25nIGNvbnN0YW50PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSU5UX0JBRF9DT01QQVJJU09OX1dJVEhfTk9OTkVHQVRJVkVfVkFMVUUiPklOVDogQmFkIGNvbXBhcmlzb24gb2Ygbm9ubmVnYXRpdmUgdmFsdWUgd2l0aCBuZWdhdGl2ZSBjb25zdGFudDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lOVF9CQURfQ09NUEFSSVNPTl9XSVRIX1NJR05FRF9CWVRFIj5JTlQ6IEJhZCBjb21wYXJpc29uIG9mIHNpZ25lZCBieXRlPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSU9fQVBQRU5ESU5HX1RPX09CSkVDVF9PVVRQVVRfU1RSRUFNIj5JTzogRG9vbWVkIGF0dGVtcHQgdG8gYXBwZW5kIHRvIGFuIG9iamVjdCBvdXRwdXQgc3RyZWFtPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSVBfUEFSQU1FVEVSX0lTX0RFQURfQlVUX09WRVJXUklUVEVOIj5JUDogQSBwYXJhbWV0ZXIgaXMgZGVhZCB1cG9uIGVudHJ5IHRvIGEgbWV0aG9kIGJ1dCBvdmVyd3JpdHRlbjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI01GX0NMQVNTX01BU0tTX0ZJRUxEIj5NRjogQ2xhc3MgZGVmaW5lcyBmaWVsZCB0aGF0IG1hc2tzIGEgc3VwZXJjbGFzcyBmaWVsZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI01GX01FVEhPRF9NQVNLU19GSUVMRCI+TUY6IE1ldGhvZCBkZWZpbmVzIGEgdmFyaWFibGUgdGhhdCBvYnNjdXJlcyBhIGZpZWxkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTlBfQUxXQVlTX05VTEwiPk5QOiBOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2U8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9BTFdBWVNfTlVMTF9FWENFUFRJT04iPk5QOiBOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gbWV0aG9kIG9uIGV4Y2VwdGlvbiBwYXRoPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTlBfQVJHVU1FTlRfTUlHSFRfQkVfTlVMTCI+TlA6IE1ldGhvZCBkb2VzIG5vdCBjaGVjayBmb3IgbnVsbCBhcmd1bWVudDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX0NMT1NJTkdfTlVMTCI+TlA6IGNsb3NlKCkgaW52b2tlZCBvbiBhIHZhbHVlIHRoYXQgaXMgYWx3YXlzIG51bGw8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9HVUFSQU5URUVEX0RFUkVGIj5OUDogTnVsbCB2YWx1ZSBpcyBndWFyYW50ZWVkIHRvIGJlIGRlcmVmZXJlbmNlZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX0dVQVJBTlRFRURfREVSRUZfT05fRVhDRVBUSU9OX1BBVEgiPk5QOiBWYWx1ZSBpcyBudWxsIGFuZCBndWFyYW50ZWVkIHRvIGJlIGRlcmVmZXJlbmNlZCBvbiBleGNlcHRpb24gcGF0aDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX05PTk5VTExfRklFTERfTk9UX0lOSVRJQUxJWkVEX0lOX0NPTlNUUlVDVE9SIj5OUDogTm9ubnVsbCBmaWVsZCBpcyBub3QgaW5pdGlhbGl6ZWQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9OT05OVUxMX1BBUkFNX1ZJT0xBVElPTiI+TlA6IE1ldGhvZCBjYWxsIHBhc3NlcyBudWxsIHRvIGEgbm9ubnVsbCBwYXJhbWV0ZXIgPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTlBfTk9OTlVMTF9SRVRVUk5fVklPTEFUSU9OIj5OUDogTWV0aG9kIG1heSByZXR1cm4gbnVsbCwgYnV0IGlzIGRlY2xhcmVkIEBOb25OdWxsPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfTlVMTF9JTlNUQU5DRU9GIj5OUDogQSBrbm93biBudWxsIHZhbHVlIGlzIGNoZWNrZWQgdG8gc2VlIGlmIGl0IGlzIGFuIGluc3RhbmNlIG9mIGEgdHlwZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX05VTExfT05fU09NRV9QQVRIIj5OUDogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfTlVMTF9PTl9TT01FX1BBVEhfRVhDRVBUSU9OIj5OUDogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIG1ldGhvZCBvbiBleGNlcHRpb24gcGF0aDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX05VTExfUEFSQU1fREVSRUYiPk5QOiBNZXRob2QgY2FsbCBwYXNzZXMgbnVsbCBmb3Igbm9ubnVsbCBwYXJhbWV0ZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9OVUxMX1BBUkFNX0RFUkVGX0FMTF9UQVJHRVRTX0RBTkdFUk9VUyI+TlA6IE1ldGhvZCBjYWxsIHBhc3NlcyBudWxsIGZvciBub25udWxsIHBhcmFtZXRlcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX05VTExfUEFSQU1fREVSRUZfTk9OVklSVFVBTCI+TlA6IE5vbi12aXJ0dWFsIG1ldGhvZCBjYWxsIHBhc3NlcyBudWxsIGZvciBub25udWxsIHBhcmFtZXRlcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX1NUT1JFX0lOVE9fTk9OTlVMTF9GSUVMRCI+TlA6IFN0b3JlIG9mIG51bGwgdmFsdWUgaW50byBmaWVsZCBhbm5vdGF0ZWQgTm9uTnVsbDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX1VOV1JJVFRFTl9GSUVMRCI+TlA6IFJlYWQgb2YgdW53cml0dGVuIGZpZWxkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTk1fQkFEX0VRVUFMIj5ObTogQ2xhc3MgZGVmaW5lcyBlcXVhbChPYmplY3QpOyBzaG91bGQgaXQgYmUgZXF1YWxzKE9iamVjdCk/PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTk1fTENBU0VfSEFTSENPREUiPk5tOiBDbGFzcyBkZWZpbmVzIGhhc2hjb2RlKCk7IHNob3VsZCBpdCBiZSBoYXNoQ29kZSgpPzwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05NX0xDQVNFX1RPU1RSSU5HIj5ObTogQ2xhc3MgZGVmaW5lcyB0b3N0cmluZygpOyBzaG91bGQgaXQgYmUgdG9TdHJpbmcoKT88L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOTV9NRVRIT0RfQ09OU1RSVUNUT1JfQ09ORlVTSU9OIj5ObTogQXBwYXJlbnQgbWV0aG9kL2NvbnN0cnVjdG9yIGNvbmZ1c2lvbjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05NX1ZFUllfQ09ORlVTSU5HIj5ObTogVmVyeSBjb25mdXNpbmcgbWV0aG9kIG5hbWVzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTk1fV1JPTkdfUEFDS0FHRSI+Tm06IE1ldGhvZCBkb2Vzbid0IG92ZXJyaWRlIG1ldGhvZCBpbiBzdXBlcmNsYXNzIGR1ZSB0byB3cm9uZyBwYWNrYWdlIGZvciBwYXJhbWV0ZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNRQkFfUVVFU1RJT05BQkxFX0JPT0xFQU5fQVNTSUdOTUVOVCI+UUJBOiBNZXRob2QgYXNzaWducyBib29sZWFuIGxpdGVyYWwgaW4gYm9vbGVhbiBleHByZXNzaW9uPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUkNfUkVGX0NPTVBBUklTT04iPlJDOiBTdXNwaWNpb3VzIHJlZmVyZW5jZSBjb21wYXJpc29uPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUkNOX1JFRFVOREFOVF9OVUxMQ0hFQ0tfV09VTERfSEFWRV9CRUVOX0FfTlBFIj5SQ046IE51bGxjaGVjayBvZiB2YWx1ZSBwcmV2aW91c2x5IGRlcmVmZXJlbmNlZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1JFX0JBRF9TWU5UQVhfRk9SX1JFR1VMQVJfRVhQUkVTU0lPTiI+UkU6IEludmFsaWQgc3ludGF4IGZvciByZWd1bGFyIGV4cHJlc3Npb248L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSRV9DQU5UX1VTRV9GSUxFX1NFUEFSQVRPUl9BU19SRUdVTEFSX0VYUFJFU1NJT04iPlJFOiBGaWxlLnNlcGFyYXRvciB1c2VkIGZvciByZWd1bGFyIGV4cHJlc3Npb248L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSRV9QT1NTSUJMRV9VTklOVEVOREVEX1BBVFRFUk4iPlJFOiAiLiIgb3IgInwiIHVzZWQgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JWXzAxX1RPX0lOVCI+UlY6IFJhbmRvbSB2YWx1ZSBmcm9tIDAgdG8gMSBpcyBjb2VyY2VkIHRvIHRoZSBpbnRlZ2VyIDA8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSVl9BQlNPTFVURV9WQUxVRV9PRl9IQVNIQ09ERSI+UlY6IEJhZCBhdHRlbXB0IHRvIGNvbXB1dGUgYWJzb2x1dGUgdmFsdWUgb2Ygc2lnbmVkIDMyLWJpdCBoYXNoY29kZSA8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSVl9BQlNPTFVURV9WQUxVRV9PRl9SQU5ET01fSU5UIj5SVjogQmFkIGF0dGVtcHQgdG8gY29tcHV0ZSBhYnNvbHV0ZSB2YWx1ZSBvZiBzaWduZWQgcmFuZG9tIGludGVnZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSVl9DSEVDS19DT01QQVJFVE9fRk9SX1NQRUNJRklDX1JFVFVSTl9WQUxVRSI+UlY6IENvZGUgY2hlY2tzIGZvciBzcGVjaWZpYyB2YWx1ZXMgcmV0dXJuZWQgYnkgY29tcGFyZVRvPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUlZfRVhDRVBUSU9OX05PVF9USFJPV04iPlJWOiBFeGNlcHRpb24gY3JlYXRlZCBhbmQgZHJvcHBlZCByYXRoZXIgdGhhbiB0aHJvd248L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSVl9SRVRVUk5fVkFMVUVfSUdOT1JFRCI+UlY6IE1ldGhvZCBpZ25vcmVzIHJldHVybiB2YWx1ZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JwQ19SRVBFQVRFRF9DT05ESVRJT05BTF9URVNUIj5ScEM6IFJlcGVhdGVkIGNvbmRpdGlvbmFsIHRlc3RzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0FfRklFTERfU0VMRl9BU1NJR05NRU5UIj5TQTogU2VsZiBhc3NpZ25tZW50IG9mIGZpZWxkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0FfRklFTERfU0VMRl9DT01QQVJJU09OIj5TQTogU2VsZiBjb21wYXJpc29uIG9mIGZpZWxkIHdpdGggaXRzZWxmPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0FfRklFTERfU0VMRl9DT01QVVRBVElPTiI+U0E6IE5vbnNlbnNpY2FsIHNlbGYgY29tcHV0YXRpb24gaW52b2x2aW5nIGEgZmllbGQgKGUuZy4sIHggJiB4KTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NBX0xPQ0FMX1NFTEZfQVNTSUdOTUVOVF9JTlNURUFEX09GX0ZJRUxEIj5TQTogU2VsZiBhc3NpZ25tZW50IG9mIGxvY2FsIHJhdGhlciB0aGFuIGFzc2lnbm1lbnQgdG8gZmllbGQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTQV9MT0NBTF9TRUxGX0NPTVBBUklTT04iPlNBOiBTZWxmIGNvbXBhcmlzb24gb2YgdmFsdWUgd2l0aCBpdHNlbGY8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTQV9MT0NBTF9TRUxGX0NPTVBVVEFUSU9OIj5TQTogTm9uc2Vuc2ljYWwgc2VsZiBjb21wdXRhdGlvbiBpbnZvbHZpbmcgYSB2YXJpYWJsZSAoZS5nLiwgeCAmIHgpPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0ZfREVBRF9TVE9SRV9EVUVfVE9fU1dJVENIX0ZBTExUSFJPVUdIIj5TRjogRGVhZCBzdG9yZSBkdWUgdG8gc3dpdGNoIHN0YXRlbWVudCBmYWxsIHRocm91Z2g8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTRl9ERUFEX1NUT1JFX0RVRV9UT19TV0lUQ0hfRkFMTFRIUk9VR0hfVE9fVEhST1ciPlNGOiBEZWFkIHN0b3JlIGR1ZSB0byBzd2l0Y2ggc3RhdGVtZW50IGZhbGwgdGhyb3VnaCB0byB0aHJvdzwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NJQ19USFJFQURMT0NBTF9ERUFETFlfRU1CUkFDRSI+U0lDOiBEZWFkbHkgZW1icmFjZSBvZiBub24tc3RhdGljIGlubmVyIGNsYXNzIGFuZCB0aHJlYWQgbG9jYWw8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTSU9fU1VQRVJGTFVPVVNfSU5TVEFOQ0VPRiI+U0lPOiBVbm5lY2Vzc2FyeSB0eXBlIGNoZWNrIGRvbmUgdXNpbmcgaW5zdGFuY2VvZiBvcGVyYXRvcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NRTF9CQURfUFJFUEFSRURfU1RBVEVNRU5UX0FDQ0VTUyI+U1FMOiBNZXRob2QgYXR0ZW1wdHMgdG8gYWNjZXNzIGEgcHJlcGFyZWQgc3RhdGVtZW50IHBhcmFtZXRlciB3aXRoIGluZGV4IDA8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTUUxfQkFEX1JFU1VMVFNFVF9BQ0NFU1MiPlNRTDogTWV0aG9kIGF0dGVtcHRzIHRvIGFjY2VzcyBhIHJlc3VsdCBzZXQgZmllbGQgd2l0aCBpbmRleCAwPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU1RJX0lOVEVSUlVQVEVEX09OX0NVUlJFTlRUSFJFQUQiPlNUSTogVW5uZWVkZWQgdXNlIG9mIGN1cnJlbnRUaHJlYWQoKSBjYWxsLCB0byBjYWxsIGludGVycnVwdGVkKCkgPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU1RJX0lOVEVSUlVQVEVEX09OX1VOS05PV05USFJFQUQiPlNUSTogU3RhdGljIFRocmVhZC5pbnRlcnJ1cHRlZCgpIG1ldGhvZCBpbnZva2VkIG9uIHRocmVhZCBpbnN0YW5jZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NFX01FVEhPRF9NVVNUX0JFX1BSSVZBVEUiPlNlOiBNZXRob2QgbXVzdCBiZSBwcml2YXRlIGluIG9yZGVyIGZvciBzZXJpYWxpemF0aW9uIHRvIHdvcms8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTRV9SRUFEX1JFU09MVkVfSVNfU1RBVElDIj5TZTogVGhlIHJlYWRSZXNvbHZlIG1ldGhvZCBtdXN0IG5vdCBiZSBkZWNsYXJlZCBhcyBhIHN0YXRpYyBtZXRob2QuICA8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNUUV9BTFdBWVNfVkFMVUVfVVNFRF9XSEVSRV9ORVZFUl9SRVFVSVJFRCI+VFE6IFZhbHVlIGFubm90YXRlZCBhcyBjYXJyeWluZyBhIHR5cGUgcXVhbGlmaWVyIHVzZWQgd2hlcmUgYSB2YWx1ZSB0aGF0IG11c3Qgbm90IGNhcnJ5IHRoYXQgcXVhbGlmaWVyIGlzIHJlcXVpcmVkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVFFfQ09NUEFSSU5HX1ZBTFVFU19XSVRIX0lOQ09NUEFUSUJMRV9UWVBFX1FVQUxJRklFUlMiPlRROiBDb21wYXJpbmcgdmFsdWVzIHdpdGggaW5jb21wYXRpYmxlIHR5cGUgcXVhbGlmaWVyczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1RRX01BWUJFX1NPVVJDRV9WQUxVRV9SRUFDSEVTX0FMV0FZU19TSU5LIj5UUTogVmFsdWUgdGhhdCBtaWdodCBub3QgY2FycnkgYSB0eXBlIHF1YWxpZmllciBpcyBhbHdheXMgdXNlZCBpbiBhIHdheSByZXF1aXJlcyB0aGF0IHR5cGUgcXVhbGlmaWVyPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVFFfTUFZQkVfU09VUkNFX1ZBTFVFX1JFQUNIRVNfTkVWRVJfU0lOSyI+VFE6IFZhbHVlIHRoYXQgbWlnaHQgY2FycnkgYSB0eXBlIHF1YWxpZmllciBpcyBhbHdheXMgdXNlZCBpbiBhIHdheSBwcm9oaWJpdHMgaXQgZnJvbSBoYXZpbmcgdGhhdCB0eXBlIHF1YWxpZmllcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1RRX05FVkVSX1ZBTFVFX1VTRURfV0hFUkVfQUxXQVlTX1JFUVVJUkVEIj5UUTogVmFsdWUgYW5ub3RhdGVkIGFzIG5ldmVyIGNhcnJ5aW5nIGEgdHlwZSBxdWFsaWZpZXIgdXNlZCB3aGVyZSB2YWx1ZSBjYXJyeWluZyB0aGF0IHF1YWxpZmllciBpcyByZXF1aXJlZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1RRX1VOS05PV05fVkFMVUVfVVNFRF9XSEVSRV9BTFdBWVNfU1RSSUNUTFlfUkVRVUlSRUQiPlRROiBWYWx1ZSB3aXRob3V0IGEgdHlwZSBxdWFsaWZpZXIgdXNlZCB3aGVyZSBhIHZhbHVlIGlzIHJlcXVpcmVkIHRvIGhhdmUgdGhhdCBxdWFsaWZpZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNVTUFDX1VOQ0FMTEFCTEVfTUVUSE9EX09GX0FOT05ZTU9VU19DTEFTUyI+VU1BQzogVW5jYWxsYWJsZSBtZXRob2QgZGVmaW5lZCBpbiBhbm9ueW1vdXMgY2xhc3M8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVUl9VTklOSVRfUkVBRCI+VVI6IFVuaW5pdGlhbGl6ZWQgcmVhZCBvZiBmaWVsZCBpbiBjb25zdHJ1Y3RvcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1VSX1VOSU5JVF9SRUFEX0NBTExFRF9GUk9NX1NVUEVSX0NPTlNUUlVDVE9SIj5VUjogVW5pbml0aWFsaXplZCByZWFkIG9mIGZpZWxkIG1ldGhvZCBjYWxsZWQgZnJvbSBjb25zdHJ1Y3RvciBvZiBzdXBlcmNsYXNzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX0lOVk9LSU5HX1RPU1RSSU5HX09OX0FOT05ZTU9VU19BUlJBWSI+VVNFTEVTU19TVFJJTkc6IEludm9jYXRpb24gb2YgdG9TdHJpbmcgb24gYW4gdW5uYW1lZCBhcnJheTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9JTlZPS0lOR19UT1NUUklOR19PTl9BUlJBWSI+VVNFTEVTU19TVFJJTkc6IEludm9jYXRpb24gb2YgdG9TdHJpbmcgb24gYW4gYXJyYXk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX0JBRF9DT05WRVJTSU9OX0ZST01fQVJSQVkiPlVTRUxFU1NfU1RSSU5HOiBBcnJheSBmb3JtYXR0ZWQgaW4gdXNlbGVzcyB3YXkgdXNpbmcgZm9ybWF0IHN0cmluZzwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1VXRl9OVUxMX0ZJRUxEIj5Vd0Y6IEZpZWxkIG9ubHkgZXZlciBzZXQgdG8gbnVsbDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1VXRl9VTldSSVRURU5fRklFTEQiPlV3RjogVW53cml0dGVuIGZpZWxkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVkFfUFJJTUlUSVZFX0FSUkFZX1BBU1NFRF9UT19PQkpFQ1RfVkFSQVJHIj5WQTogUHJpbWl0aXZlIGFycmF5IHBhc3NlZCB0byBmdW5jdGlvbiBleHBlY3RpbmcgYSB2YXJpYWJsZSBudW1iZXIgb2Ygb2JqZWN0IGFyZ3VtZW50czwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1ZSX1VOUkVTT0xWQUJMRV9SRUZFUkVOQ0UiPlZSOiBDbGFzcyBtYWtlcyByZWZlcmVuY2UgdG8gdW5yZXNvbHZhYmxlIGNsYXNzIG9yIG1ldGhvZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0xHX0xPU1RfTE9HR0VSX0RVRV9UT19XRUFLX1JFRkVSRU5DRSI+TEc6IFBvdGVudGlhbCBsb3N0IGxvZ2dlciBjaGFuZ2VzIGR1ZSB0byB3ZWFrIHJlZmVyZW5jZSBpbiBPcGVuSkRLPC9hPjwvdGQ+PHRkPkV4cGVyaW1lbnRhbDwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI09CTF9VTlNBVElTRklFRF9PQkxJR0FUSU9OIj5PQkw6IE1ldGhvZCBtYXkgZmFpbCB0byBjbGVhbiB1cCBzdHJlYW0gb3IgcmVzb3VyY2U8L2E+PC90ZD48dGQ+RXhwZXJpbWVudGFsPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjT0JMX1VOU0FUSVNGSUVEX09CTElHQVRJT05fRVhDRVBUSU9OX0VER0UiPk9CTDogTWV0aG9kIG1heSBmYWlsIHRvIGNsZWFuIHVwIHN0cmVhbSBvciByZXNvdXJjZSBvbiBjaGVja2VkIGV4Y2VwdGlvbjwvYT48L3RkPjx0ZD5FeHBlcmltZW50YWw8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNURVNUSU5HIj5URVNUOiBUZXN0aW5nPC9hPjwvdGQ+PHRkPkV4cGVyaW1lbnRhbDwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNX0NPTlZFUlRfQ0FTRSI+RG06IENvbnNpZGVyIHVzaW5nIExvY2FsZSBwYXJhbWV0ZXJpemVkIHZlcnNpb24gb2YgaW52b2tlZCBtZXRob2Q8L2E+PC90ZD48dGQ+SW50ZXJuYXRpb25hbGl6YXRpb248L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETV9ERUZBVUxUX0VOQ09ESU5HIj5EbTogUmVsaWFuY2Ugb24gZGVmYXVsdCBlbmNvZGluZzwvYT48L3RkPjx0ZD5JbnRlcm5hdGlvbmFsaXphdGlvbjwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RQX0NSRUFURV9DTEFTU0xPQURFUl9JTlNJREVfRE9fUFJJVklMRUdFRCI+RFA6IENsYXNzbG9hZGVycyBzaG91bGQgb25seSBiZSBjcmVhdGVkIGluc2lkZSBkb1ByaXZpbGVnZWQgYmxvY2s8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RQX0RPX0lOU0lERV9ET19QUklWSUxFR0VEIj5EUDogTWV0aG9kIGludm9rZWQgdGhhdCBzaG91bGQgYmUgb25seSBiZSBpbnZva2VkIGluc2lkZSBhIGRvUHJpdmlsZWdlZCBibG9jazwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRUlfRVhQT1NFX1JFUCI+RUk6IE1heSBleHBvc2UgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gYnkgcmV0dXJuaW5nIHJlZmVyZW5jZSB0byBtdXRhYmxlIG9iamVjdDwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRUlfRVhQT1NFX1JFUDIiPkVJMjogTWF5IGV4cG9zZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBieSBpbmNvcnBvcmF0aW5nIHJlZmVyZW5jZSB0byBtdXRhYmxlIG9iamVjdDwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRklfUFVCTElDX1NIT1VMRF9CRV9QUk9URUNURUQiPkZJOiBGaW5hbGl6ZXIgc2hvdWxkIGJlIHByb3RlY3RlZCwgbm90IHB1YmxpYzwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRUlfRVhQT1NFX1NUQVRJQ19SRVAyIj5NUzogTWF5IGV4cG9zZSBpbnRlcm5hbCBzdGF0aWMgc3RhdGUgYnkgc3RvcmluZyBhIG11dGFibGUgb2JqZWN0IGludG8gYSBzdGF0aWMgZmllbGQ8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI01TX0NBTk5PVF9CRV9GSU5BTCI+TVM6IEZpZWxkIGlzbid0IGZpbmFsIGFuZCBjYW4ndCBiZSBwcm90ZWN0ZWQgZnJvbSBtYWxpY2lvdXMgY29kZTwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTVNfRVhQT1NFX1JFUCI+TVM6IFB1YmxpYyBzdGF0aWMgbWV0aG9kIG1heSBleHBvc2UgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gYnkgcmV0dXJuaW5nIGFycmF5PC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNNU19GSU5BTF9QS0dQUk9URUNUIj5NUzogRmllbGQgc2hvdWxkIGJlIGJvdGggZmluYWwgYW5kIHBhY2thZ2UgcHJvdGVjdGVkPC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNNU19NVVRBQkxFX0FSUkFZIj5NUzogRmllbGQgaXMgYSBtdXRhYmxlIGFycmF5PC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNNU19NVVRBQkxFX0hBU0hUQUJMRSI+TVM6IEZpZWxkIGlzIGEgbXV0YWJsZSBIYXNodGFibGU8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI01TX09PSV9QS0dQUk9URUNUIj5NUzogRmllbGQgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiBhbiBpbnRlcmZhY2UgYW5kIG1hZGUgcGFja2FnZSBwcm90ZWN0ZWQ8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI01TX1BLR1BST1RFQ1QiPk1TOiBGaWVsZCBzaG91bGQgYmUgcGFja2FnZSBwcm90ZWN0ZWQ8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI01TX1NIT1VMRF9CRV9GSU5BTCI+TVM6IEZpZWxkIGlzbid0IGZpbmFsIGJ1dCBzaG91bGQgYmU8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI01TX1NIT1VMRF9CRV9SRUZBQ1RPUkVEX1RPX0JFX0ZJTkFMIj5NUzogRmllbGQgaXNuJ3QgZmluYWwgYnV0IHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIGJlIHNvPC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNBVF9PUEVSQVRJT05fU0VRVUVOQ0VfT05fQ09OQ1VSUkVOVF9BQlNUUkFDVElPTiI+QVQ6IFNlcXVlbmNlIG9mIGNhbGxzIHRvIGNvbmN1cnJlbnQgYWJzdHJhY3Rpb24gbWF5IG5vdCBiZSBhdG9taWM8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RDX0RPVUJMRUNIRUNLIj5EQzogUG9zc2libGUgZG91YmxlIGNoZWNrIG9mIGZpZWxkPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETF9TWU5DSFJPTklaQVRJT05fT05fQk9PTEVBTiI+REw6IFN5bmNocm9uaXphdGlvbiBvbiBCb29sZWFuPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETF9TWU5DSFJPTklaQVRJT05fT05fQk9YRURfUFJJTUlUSVZFIj5ETDogU3luY2hyb25pemF0aW9uIG9uIGJveGVkIHByaW1pdGl2ZTwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRExfU1lOQ0hST05JWkFUSU9OX09OX1NIQVJFRF9DT05TVEFOVCI+REw6IFN5bmNocm9uaXphdGlvbiBvbiBpbnRlcm5lZCBTdHJpbmcgPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETF9TWU5DSFJPTklaQVRJT05fT05fVU5TSEFSRURfQk9YRURfUFJJTUlUSVZFIj5ETDogU3luY2hyb25pemF0aW9uIG9uIGJveGVkIHByaW1pdGl2ZSB2YWx1ZXM8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNX01PTklUT1JfV0FJVF9PTl9DT05ESVRJT04iPkRtOiBNb25pdG9yIHdhaXQoKSBjYWxsZWQgb24gQ29uZGl0aW9uPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETV9VU0VMRVNTX1RIUkVBRCI+RG06IEEgdGhyZWFkIHdhcyBjcmVhdGVkIHVzaW5nIHRoZSBkZWZhdWx0IGVtcHR5IHJ1biBtZXRob2Q8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VTeW5jX0VNUFRZX1NZTkMiPkVTeW5jOiBFbXB0eSBzeW5jaHJvbml6ZWQgYmxvY2s8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lTMl9JTkNPTlNJU1RFTlRfU1lOQyI+SVM6IEluY29uc2lzdGVudCBzeW5jaHJvbml6YXRpb248L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lTX0ZJRUxEX05PVF9HVUFSREVEIj5JUzogRmllbGQgbm90IGd1YXJkZWQgYWdhaW5zdCBjb25jdXJyZW50IGFjY2VzczwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSkxNX0pTUjE2Nl9MT0NLX01PTklUT1JFTlRFUiI+SkxNOiBTeW5jaHJvbml6YXRpb24gcGVyZm9ybWVkIG9uIExvY2s8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0pMTV9KU1IxNjZfVVRJTENPTkNVUlJFTlRfTU9OSVRPUkVOVEVSIj5KTE06IFN5bmNocm9uaXphdGlvbiBwZXJmb3JtZWQgb24gdXRpbC5jb25jdXJyZW50IGluc3RhbmNlPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNKTUxfSlNSMTY2X0NBTExJTkdfV0FJVF9SQVRIRVJfVEhBTl9BV0FJVCI+SkxNOiBVc2luZyBtb25pdG9yIHN0eWxlIHdhaXQgbWV0aG9kcyBvbiB1dGlsLmNvbmN1cnJlbnQgYWJzdHJhY3Rpb248L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0xJX0xBWllfSU5JVF9TVEFUSUMiPkxJOiBJbmNvcnJlY3QgbGF6eSBpbml0aWFsaXphdGlvbiBvZiBzdGF0aWMgZmllbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0xJX0xBWllfSU5JVF9VUERBVEVfU1RBVElDIj5MSTogSW5jb3JyZWN0IGxhenkgaW5pdGlhbGl6YXRpb24gYW5kIHVwZGF0ZSBvZiBzdGF0aWMgZmllbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI01MX1NZTkNfT05fRklFTERfVE9fR1VBUkRfQ0hBTkdJTkdfVEhBVF9GSUVMRCI+TUw6IFN5bmNocm9uaXphdGlvbiBvbiBmaWVsZCBpbiBmdXRpbGUgYXR0ZW1wdCB0byBndWFyZCB0aGF0IGZpZWxkPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNNTF9TWU5DX09OX1VQREFURURfRklFTEQiPk1MOiBNZXRob2Qgc3luY2hyb25pemVzIG9uIGFuIHVwZGF0ZWQgZmllbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI01TRl9NVVRBQkxFX1NFUlZMRVRfRklFTEQiPk1TRjogTXV0YWJsZSBzZXJ2bGV0IGZpZWxkPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNNV05fTUlTTUFUQ0hFRF9OT1RJRlkiPk1XTjogTWlzbWF0Y2hlZCBub3RpZnkoKTwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTVdOX01JU01BVENIRURfV0FJVCI+TVdOOiBNaXNtYXRjaGVkIHdhaXQoKTwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTk5fTkFLRURfTk9USUZZIj5OTjogTmFrZWQgbm90aWZ5PC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9TWU5DX0FORF9OVUxMX0NIRUNLX0ZJRUxEIj5OUDogU3luY2hyb25pemUgYW5kIG51bGwgY2hlY2sgb24gdGhlIHNhbWUgZmllbGQuPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOT19OT1RJRllfTk9UX05PVElGWUFMTCI+Tm86IFVzaW5nIG5vdGlmeSgpIHJhdGhlciB0aGFuIG5vdGlmeUFsbCgpPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSU19SRUFET0JKRUNUX1NZTkMiPlJTOiBDbGFzcydzIHJlYWRPYmplY3QoKSBtZXRob2QgaXMgc3luY2hyb25pemVkPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSVl9SRVRVUk5fVkFMVUVfT0ZfUFVUSUZBQlNFTlRfSUdOT1JFRCI+UlY6IFJldHVybiB2YWx1ZSBvZiBwdXRJZkFic2VudCBpZ25vcmVkLCB2YWx1ZSBwYXNzZWQgdG8gcHV0SWZBYnNlbnQgcmV1c2VkPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSVV9JTlZPS0VfUlVOIj5SdTogSW52b2tlcyBydW4gb24gYSB0aHJlYWQgKGRpZCB5b3UgbWVhbiB0byBzdGFydCBpdCBpbnN0ZWFkPyk8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NDX1NUQVJUX0lOX0NUT1IiPlNDOiBDb25zdHJ1Y3RvciBpbnZva2VzIFRocmVhZC5zdGFydCgpPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTUF9TUElOX09OX0ZJRUxEIj5TUDogTWV0aG9kIHNwaW5zIG9uIGZpZWxkPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTVENBTF9JTlZPS0VfT05fU1RBVElDX0NBTEVOREFSX0lOU1RBTkNFIj5TVENBTDogQ2FsbCB0byBzdGF0aWMgQ2FsZW5kYXI8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NUQ0FMX0lOVk9LRV9PTl9TVEFUSUNfREFURV9GT1JNQVRfSU5TVEFOQ0UiPlNUQ0FMOiBDYWxsIHRvIHN0YXRpYyBEYXRlRm9ybWF0PC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTVENBTF9TVEFUSUNfQ0FMRU5EQVJfSU5TVEFOQ0UiPlNUQ0FMOiBTdGF0aWMgQ2FsZW5kYXIgZmllbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NUQ0FMX1NUQVRJQ19TSU1QTEVfREFURV9GT1JNQVRfSU5TVEFOQ0UiPlNUQ0FMOiBTdGF0aWMgRGF0ZUZvcm1hdDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU1dMX1NMRUVQX1dJVEhfTE9DS19IRUxEIj5TV0w6IE1ldGhvZCBjYWxscyBUaHJlYWQuc2xlZXAoKSB3aXRoIGEgbG9jayBoZWxkPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNUTFdfVFdPX0xPQ0tfV0FJVCI+VExXOiBXYWl0IHdpdGggdHdvIGxvY2tzIGhlbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1VHX1NZTkNfU0VUX1VOU1lOQ19HRVQiPlVHOiBVbnN5bmNocm9uaXplZCBnZXQgbWV0aG9kLCBzeW5jaHJvbml6ZWQgc2V0IG1ldGhvZDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVUxfVU5SRUxFQVNFRF9MT0NLIj5VTDogTWV0aG9kIGRvZXMgbm90IHJlbGVhc2UgbG9jayBvbiBhbGwgcGF0aHM8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1VMX1VOUkVMRUFTRURfTE9DS19FWENFUFRJT05fUEFUSCI+VUw6IE1ldGhvZCBkb2VzIG5vdCByZWxlYXNlIGxvY2sgb24gYWxsIGV4Y2VwdGlvbiBwYXRoczwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVVdfVU5DT05EX1dBSVQiPlVXOiBVbmNvbmRpdGlvbmFsIHdhaXQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1ZPX1ZPTEFUSUxFX0lOQ1JFTUVOVCI+Vk86IEFuIGluY3JlbWVudCB0byBhIHZvbGF0aWxlIGZpZWxkIGlzbid0IGF0b21pYzwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVk9fVk9MQVRJTEVfUkVGRVJFTkNFX1RPX0FSUkFZIj5WTzogQSB2b2xhdGlsZSByZWZlcmVuY2UgdG8gYW4gYXJyYXkgZG9lc24ndCB0cmVhdCB0aGUgYXJyYXkgZWxlbWVudHMgYXMgdm9sYXRpbGU8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1dMX1VTSU5HX0dFVENMQVNTX1JBVEhFUl9USEFOX0NMQVNTX0xJVEVSQUwiPldMOiBTeW5jaHJvbml6YXRpb24gb24gZ2V0Q2xhc3MgcmF0aGVyIHRoYW4gY2xhc3MgbGl0ZXJhbDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjV1NfV1JJVEVPQkpFQ1RfU1lOQyI+V1M6IENsYXNzJ3Mgd3JpdGVPYmplY3QoKSBtZXRob2QgaXMgc3luY2hyb25pemVkIGJ1dCBub3RoaW5nIGVsc2UgaXM8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1dBX0FXQUlUX05PVF9JTl9MT09QIj5XYTogQ29uZGl0aW9uLmF3YWl0KCkgbm90IGluIGxvb3AgPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNXQV9OT1RfSU5fTE9PUCI+V2E6IFdhaXQgbm90IGluIGxvb3AgPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOT0lTRV9GSUVMRF9SRUZFUkVOQ0UiPk5PSVNFOiBCb2d1cyB3YXJuaW5nIGFib3V0IGEgZmllbGQgcmVmZXJlbmNlPC9hPjwvdGQ+PHRkPkJvZ3VzIHJhbmRvbSBub2lzZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05PSVNFX01FVEhPRF9DQUxMIj5OT0lTRTogQm9ndXMgd2FybmluZyBhYm91dCBhIG1ldGhvZCBjYWxsPC9hPjwvdGQ+PHRkPkJvZ3VzIHJhbmRvbSBub2lzZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05PSVNFX05VTExfREVSRUZFUkVOQ0UiPk5PSVNFOiBCb2d1cyB3YXJuaW5nIGFib3V0IGEgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlPC9hPjwvdGQ+PHRkPkJvZ3VzIHJhbmRvbSBub2lzZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05PSVNFX09QRVJBVElPTiI+Tk9JU0U6IEJvZ3VzIHdhcm5pbmcgYWJvdXQgYW4gb3BlcmF0aW9uPC9hPjwvdGQ+PHRkPkJvZ3VzIHJhbmRvbSBub2lzZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0JYX0JPWElOR19JTU1FRElBVEVMWV9VTkJPWEVEIj5CeDogUHJpbWl0aXZlIHZhbHVlIGlzIGJveGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHVuYm94ZWQ8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNCWF9CT1hJTkdfSU1NRURJQVRFTFlfVU5CT1hFRF9UT19QRVJGT1JNX0NPRVJDSU9OIj5CeDogUHJpbWl0aXZlIHZhbHVlIGlzIGJveGVkIHRoZW4gdW5ib3hlZCB0byBwZXJmb3JtIHByaW1pdGl2ZSBjb2VyY2lvbjwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0JYX1VOQk9YSU5HX0lNTUVESUFURUxZX1JFQk9YRUQiPkJ4OiBCb3hlZCB2YWx1ZSBpcyB1bmJveGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlYm94ZWQ8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETV9CT1hFRF9QUklNSVRJVkVfRk9SX1BBUlNJTkciPkJ4OiBCb3hpbmcvdW5ib3hpbmcgdG8gcGFyc2UgYSBwcmltaXRpdmU8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETV9CT1hFRF9QUklNSVRJVkVfVE9TVFJJTkciPkJ4OiBNZXRob2QgYWxsb2NhdGVzIGEgYm94ZWQgcHJpbWl0aXZlIGp1c3QgdG8gY2FsbCB0b1N0cmluZzwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNX0ZQX05VTUJFUl9DVE9SIj5CeDogTWV0aG9kIGludm9rZXMgaW5lZmZpY2llbnQgZmxvYXRpbmctcG9pbnQgTnVtYmVyIGNvbnN0cnVjdG9yOyB1c2Ugc3RhdGljIHZhbHVlT2YgaW5zdGVhZDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNX05VTUJFUl9DVE9SIj5CeDogTWV0aG9kIGludm9rZXMgaW5lZmZpY2llbnQgTnVtYmVyIGNvbnN0cnVjdG9yOyB1c2Ugc3RhdGljIHZhbHVlT2YgaW5zdGVhZDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9CTE9DS0lOR19NRVRIT0RTX09OX1VSTCI+RG06IFRoZSBlcXVhbHMgYW5kIGhhc2hDb2RlIG1ldGhvZHMgb2YgVVJMIGFyZSBibG9ja2luZzwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9DT0xMRUNUSU9OX09GX1VSTFMiPkRtOiBNYXBzIGFuZCBzZXRzIG9mIFVSTHMgY2FuIGJlIHBlcmZvcm1hbmNlIGhvZ3M8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETV9CT09MRUFOX0NUT1IiPkRtOiBNZXRob2QgaW52b2tlcyBpbmVmZmljaWVudCBCb29sZWFuIGNvbnN0cnVjdG9yOyB1c2UgQm9vbGVhbi52YWx1ZU9mKC4uLikgaW5zdGVhZDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNX0dDIj5EbTogRXhwbGljaXQgZ2FyYmFnZSBjb2xsZWN0aW9uOyBleHRyZW1lbHkgZHViaW91cyBleGNlcHQgaW4gYmVuY2htYXJraW5nIGNvZGU8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETV9ORVdfRk9SX0dFVENMQVNTIj5EbTogTWV0aG9kIGFsbG9jYXRlcyBhbiBvYmplY3QsIG9ubHkgdG8gZ2V0IHRoZSBjbGFzcyBvYmplY3Q8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETV9ORVhUSU5UX1ZJQV9ORVhURE9VQkxFIj5EbTogVXNlIHRoZSBuZXh0SW50IG1ldGhvZCBvZiBSYW5kb20gcmF0aGVyIHRoYW4gbmV4dERvdWJsZSB0byBnZW5lcmF0ZSBhIHJhbmRvbSBpbnRlZ2VyPC9hPjwvdGQ+PHRkPlBlcmZvcm1hbmNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1fU1RSSU5HX0NUT1IiPkRtOiBNZXRob2QgaW52b2tlcyBpbmVmZmljaWVudCBuZXcgU3RyaW5nKFN0cmluZykgY29uc3RydWN0b3I8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETV9TVFJJTkdfVE9TVFJJTkciPkRtOiBNZXRob2QgaW52b2tlcyB0b1N0cmluZygpIG1ldGhvZCBvbiBhIFN0cmluZzwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNX1NUUklOR19WT0lEX0NUT1IiPkRtOiBNZXRob2QgaW52b2tlcyBpbmVmZmljaWVudCBuZXcgU3RyaW5nKCkgY29uc3RydWN0b3I8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNIU0NfSFVHRV9TSEFSRURfU1RSSU5HX0NPTlNUQU5UIj5IU0M6IEh1Z2Ugc3RyaW5nIGNvbnN0YW50cyBpcyBkdXBsaWNhdGVkIGFjcm9zcyBtdWx0aXBsZSBjbGFzcyBmaWxlczwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lNQV9JTkVGRklDSUVOVF9NRU1CRVJfQUNDRVNTIj5JTUE6IE1ldGhvZCBhY2Nlc3NlcyBhIHByaXZhdGUgbWVtYmVyIHZhcmlhYmxlIG9mIG93bmluZyBjbGFzczwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lUQV9JTkVGRklDSUVOVF9UT19BUlJBWSI+SVRBOiBNZXRob2QgdXNlcyB0b0FycmF5KCkgd2l0aCB6ZXJvLWxlbmd0aCBhcnJheSBhcmd1bWVudDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NCU0NfVVNFX1NUUklOR0JVRkZFUl9DT05DQVRFTkFUSU9OIj5TQlNDOiBNZXRob2QgY29uY2F0ZW5hdGVzIHN0cmluZ3MgdXNpbmcgKyBpbiBhIGxvb3A8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTSUNfSU5ORVJfU0hPVUxEX0JFX1NUQVRJQyI+U0lDOiBTaG91bGQgYmUgYSBzdGF0aWMgaW5uZXIgY2xhc3M8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTSUNfSU5ORVJfU0hPVUxEX0JFX1NUQVRJQ19BTk9OIj5TSUM6IENvdWxkIGJlIHJlZmFjdG9yZWQgaW50byBhIG5hbWVkIHN0YXRpYyBpbm5lciBjbGFzczwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NJQ19JTk5FUl9TSE9VTERfQkVfU1RBVElDX05FRURTX1RISVMiPlNJQzogQ291bGQgYmUgcmVmYWN0b3JlZCBpbnRvIGEgc3RhdGljIGlubmVyIGNsYXNzPC9hPjwvdGQ+PHRkPlBlcmZvcm1hbmNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU1NfU0hPVUxEX0JFX1NUQVRJQyI+U1M6IFVucmVhZCBmaWVsZDogc2hvdWxkIHRoaXMgZmllbGQgYmUgc3RhdGljPzwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1VNX1VOTkVDRVNTQVJZX01BVEgiPlVNOiBNZXRob2QgY2FsbHMgc3RhdGljIE1hdGggY2xhc3MgbWV0aG9kIG9uIGEgY29uc3RhbnQgdmFsdWU8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVUE1fVU5DQUxMRURfUFJJVkFURV9NRVRIT0QiPlVQTTogUHJpdmF0ZSBtZXRob2QgaXMgbmV2ZXIgY2FsbGVkPC9hPjwvdGQ+PHRkPlBlcmZvcm1hbmNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVVJGX1VOUkVBRF9GSUVMRCI+VXJGOiBVbnJlYWQgZmllbGQ8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVVUZfVU5VU0VEX0ZJRUxEIj5VdUY6IFVudXNlZCBmaWVsZDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1dNSV9XUk9OR19NQVBfSVRFUkFUT1IiPldNSTogSW5lZmZpY2llbnQgdXNlIG9mIGtleVNldCBpdGVyYXRvciBpbnN0ZWFkIG9mIGVudHJ5U2V0IGl0ZXJhdG9yPC9hPjwvdGQ+PHRkPlBlcmZvcm1hbmNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX0NPTlNUQU5UX0RCX1BBU1NXT1JEIj5EbTogSGFyZGNvZGVkIGNvbnN0YW50IGRhdGFiYXNlIHBhc3N3b3JkPC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1JX0VNUFRZX0RCX1BBU1NXT1JEIj5EbTogRW1wdHkgZGF0YWJhc2UgcGFzc3dvcmQ8L2E+PC90ZD48dGQ+U2VjdXJpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNIUlNfUkVRVUVTVF9QQVJBTUVURVJfVE9fQ09PS0lFIj5IUlM6IEhUVFAgY29va2llIGZvcm1lZCBmcm9tIHVudHJ1c3RlZCBpbnB1dDwvYT48L3RkPjx0ZD5TZWN1cml0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0hSU19SRVFVRVNUX1BBUkFNRVRFUl9UT19IVFRQX0hFQURFUiI+SFJTOiBIVFRQIFJlc3BvbnNlIHNwbGl0dGluZyB2dWxuZXJhYmlsaXR5PC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUFRfQUJTT0xVVEVfUEFUSF9UUkFWRVJTQUwiPlBUOiBBYnNvbHV0ZSBwYXRoIHRyYXZlcnNhbCBpbiBzZXJ2bGV0PC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUFRfUkVMQVRJVkVfUEFUSF9UUkFWRVJTQUwiPlBUOiBSZWxhdGl2ZSBwYXRoIHRyYXZlcnNhbCBpbiBzZXJ2bGV0PC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU1FMX05PTkNPTlNUQU5UX1NUUklOR19QQVNTRURfVE9fRVhFQ1VURSI+U1FMOiBOb25jb25zdGFudCBzdHJpbmcgcGFzc2VkIHRvIGV4ZWN1dGUgbWV0aG9kIG9uIGFuIFNRTCBzdGF0ZW1lbnQ8L2E+PC90ZD48dGQ+U2VjdXJpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTUUxfUFJFUEFSRURfU1RBVEVNRU5UX0dFTkVSQVRFRF9GUk9NX05PTkNPTlNUQU5UX1NUUklORyI+U1FMOiBBIHByZXBhcmVkIHN0YXRlbWVudCBpcyBnZW5lcmF0ZWQgZnJvbSBhIG5vbmNvbnN0YW50IFN0cmluZzwvYT48L3RkPjx0ZD5TZWN1cml0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1hTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19KU1BfV1JJVEVSIj5YU1M6IEpTUCByZWZsZWN0ZWQgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcgdnVsbmVyYWJpbGl0eTwvYT48L3RkPjx0ZD5TZWN1cml0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1hTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19TRU5EX0VSUk9SIj5YU1M6IFNlcnZsZXQgcmVmbGVjdGVkIGNyb3NzIHNpdGUgc2NyaXB0aW5nIHZ1bG5lcmFiaWxpdHkgaW4gZXJyb3IgcGFnZTwvYT48L3RkPjx0ZD5TZWN1cml0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1hTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19TRVJWTEVUX1dSSVRFUiI+WFNTOiBTZXJ2bGV0IHJlZmxlY3RlZCBjcm9zcyBzaXRlIHNjcmlwdGluZyB2dWxuZXJhYmlsaXR5PC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQkNfQkFEX0NBU1RfVE9fQUJTVFJBQ1RfQ09MTEVDVElPTiI+QkM6IFF1ZXN0aW9uYWJsZSBjYXN0IHRvIGFic3RyYWN0IGNvbGxlY3Rpb24gPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNCQ19CQURfQ0FTVF9UT19DT05DUkVURV9DT0xMRUNUSU9OIj5CQzogUXVlc3Rpb25hYmxlIGNhc3QgdG8gY29uY3JldGUgY29sbGVjdGlvbjwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQkNfVU5DT05GSVJNRURfQ0FTVCI+QkM6IFVuY2hlY2tlZC91bmNvbmZpcm1lZCBjYXN0PC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNCQ19VTkNPTkZJUk1FRF9DQVNUX09GX1JFVFVSTl9WQUxVRSI+QkM6IFVuY2hlY2tlZC91bmNvbmZpcm1lZCBjYXN0IG9mIHJldHVybiB2YWx1ZSBmcm9tIG1ldGhvZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQkNfVkFDVU9VU19JTlNUQU5DRU9GIj5CQzogaW5zdGFuY2VvZiB3aWxsIGFsd2F5cyByZXR1cm4gdHJ1ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSUNBU1RfUVVFU1RJT05BQkxFX1VOU0lHTkVEX1JJR0hUX1NISUZUIj5CU0hJRlQ6IFVuc2lnbmVkIHJpZ2h0IHNoaWZ0IGNhc3QgdG8gc2hvcnQvYnl0ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQ0RfQ0lSQ1VMQVJfREVQRU5ERU5DWSI+Q0Q6IFRlc3QgZm9yIGNpcmN1bGFyIGRlcGVuZGVuY2llcyBhbW9uZyBjbGFzc2VzPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNDSV9DT05GVVNFRF9JTkhFUklUQU5DRSI+Q0k6IENsYXNzIGlzIGZpbmFsIGJ1dCBkZWNsYXJlcyBwcm90ZWN0ZWQgZmllbGQ8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RCX0RVUExJQ0FURV9CUkFOQ0hFUyI+REI6IE1ldGhvZCB1c2VzIHRoZSBzYW1lIGNvZGUgZm9yIHR3byBicmFuY2hlczwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjREJfRFVQTElDQVRFX1NXSVRDSF9DTEFVU0VTIj5EQjogTWV0aG9kIHVzZXMgdGhlIHNhbWUgY29kZSBmb3IgdHdvIHN3aXRjaCBjbGF1c2VzPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETFNfREVBRF9MT0NBTF9TVE9SRSI+RExTOiBEZWFkIHN0b3JlIHRvIGxvY2FsIHZhcmlhYmxlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETFNfREVBRF9MT0NBTF9TVE9SRV9JTl9SRVRVUk4iPkRMUzogVXNlbGVzcyBhc3NpZ25tZW50IGluIHJldHVybiBzdGF0ZW1lbnQ8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RMU19ERUFEX0xPQ0FMX1NUT1JFX09GX05VTEwiPkRMUzogRGVhZCBzdG9yZSBvZiBudWxsIHRvIGxvY2FsIHZhcmlhYmxlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETFNfREVBRF9MT0NBTF9TVE9SRV9TSEFET1dTX0ZJRUxEIj5ETFM6IERlYWQgc3RvcmUgdG8gbG9jYWwgdmFyaWFibGUgdGhhdCBzaGFkb3dzIGZpZWxkPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETUlfSEFSRENPREVEX0FCU09MVVRFX0ZJTEVOQU1FIj5ETUk6IENvZGUgY29udGFpbnMgYSBoYXJkIGNvZGVkIHJlZmVyZW5jZSB0byBhbiBhYnNvbHV0ZSBwYXRobmFtZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX05PTlNFUklBTElaQUJMRV9PQkpFQ1RfV1JJVFRFTiI+RE1JOiBOb24gc2VyaWFsaXphYmxlIG9iamVjdCB3cml0dGVuIHRvIE9iamVjdE91dHB1dDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1JX1VTRUxFU1NfU1VCU1RSSU5HIj5ETUk6IEludm9jYXRpb24gb2Ygc3Vic3RyaW5nKDApLCB3aGljaCByZXR1cm5zIHRoZSBvcmlnaW5hbCB2YWx1ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX1RIUkVBRF9QQVNTRURfV0hFUkVfUlVOTkFCTEVfRVhQRUNURUQiPkRtOiBUaHJlYWQgcGFzc2VkIHdoZXJlIFJ1bm5hYmxlIGV4cGVjdGVkPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETUlfVU5TVVBQT1JURURfTUVUSE9EIj5EbTogQ2FsbCB0byB1bnN1cHBvcnRlZCBtZXRob2Q8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VRX0RPRVNOVF9PVkVSUklERV9FUVVBTFMiPkVxOiBDbGFzcyBkb2Vzbid0IG92ZXJyaWRlIGVxdWFscyBpbiBzdXBlcmNsYXNzPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFUV9VTlVTVUFMIj5FcTogVW51c3VhbCBlcXVhbHMgbWV0aG9kIDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRkVfRkxPQVRJTkdfUE9JTlRfRVFVQUxJVFkiPkZFOiBUZXN0IGZvciBmbG9hdGluZyBwb2ludCBlcXVhbGl0eTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVkFfRk9STUFUX1NUUklOR19CQURfQ09OVkVSU0lPTl9UT19CT09MRUFOIj5GUzogTm9uLUJvb2xlYW4gYXJndW1lbnQgZm9ybWF0dGVkIHVzaW5nICViIGZvcm1hdCBzcGVjaWZpZXI8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lBX0FNQklHVU9VU19JTlZPQ0FUSU9OX09GX0lOSEVSSVRFRF9PUl9PVVRFUl9NRVRIT0QiPklBOiBQb3RlbnRpYWxseSBhbWJpZ3VvdXMgaW52b2NhdGlvbiBvZiBlaXRoZXIgYW4gaW5oZXJpdGVkIG9yIG91dGVyIG1ldGhvZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUNfSU5JVF9DSVJDVUxBUklUWSI+SUM6IEluaXRpYWxpemF0aW9uIGNpcmN1bGFyaXR5PC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJQ0FTVF9JRElWX0NBU1RfVE9fRE9VQkxFIj5JQ0FTVDogSW50ZWdyYWwgZGl2aXNpb24gcmVzdWx0IGNhc3QgdG8gZG91YmxlIG9yIGZsb2F0PC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNJQ0FTVF9JTlRFR0VSX01VTFRJUExZX0NBU1RfVE9fTE9ORyI+SUNBU1Q6IFJlc3VsdCBvZiBpbnRlZ2VyIG11bHRpcGxpY2F0aW9uIGNhc3QgdG8gbG9uZzwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSU1fQVZFUkFHRV9DT01QVVRBVElPTl9DT1VMRF9PVkVSRkxPVyI+SU06IENvbXB1dGF0aW9uIG9mIGF2ZXJhZ2UgY291bGQgb3ZlcmZsb3c8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lNX0JBRF9DSEVDS19GT1JfT0REIj5JTTogQ2hlY2sgZm9yIG9kZG5lc3MgdGhhdCB3b24ndCB3b3JrIGZvciBuZWdhdGl2ZSBudW1iZXJzIDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSU5UX0JBRF9SRU1fQllfMSI+SU5UOiBJbnRlZ2VyIHJlbWFpbmRlciBtb2R1bG8gMTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSU5UX1ZBQ1VPVVNfQklUX09QRVJBVElPTiI+SU5UOiBWYWN1b3VzIGJpdCBtYXNrIG9wZXJhdGlvbiBvbiBpbnRlZ2VyIHZhbHVlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJTlRfVkFDVU9VU19DT01QQVJJU09OIj5JTlQ6IFZhY3VvdXMgY29tcGFyaXNvbiBvZiBpbnRlZ2VyIHZhbHVlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNNVElBX1NVU1BFQ1RfU0VSVkxFVF9JTlNUQU5DRV9GSUVMRCI+TVRJQTogQ2xhc3MgZXh0ZW5kcyBTZXJ2bGV0IGNsYXNzIGFuZCB1c2VzIGluc3RhbmNlIHZhcmlhYmxlczwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTVRJQV9TVVNQRUNUX1NUUlVUU19JTlNUQU5DRV9GSUVMRCI+TVRJQTogQ2xhc3MgZXh0ZW5kcyBTdHJ1dHMgQWN0aW9uIGNsYXNzIGFuZCB1c2VzIGluc3RhbmNlIHZhcmlhYmxlczwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTlBfREVSRUZFUkVOQ0VfT0ZfUkVBRExJTkVfVkFMVUUiPk5QOiBEZXJlZmVyZW5jZSBvZiB0aGUgcmVzdWx0IG9mIHJlYWRMaW5lKCkgd2l0aG91dCBudWxsY2hlY2s8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX0lNTUVESUFURV9ERVJFRkVSRU5DRV9PRl9SRUFETElORSI+TlA6IEltbWVkaWF0ZSBkZXJlZmVyZW5jZSBvZiB0aGUgcmVzdWx0IG9mIHJlYWRMaW5lKCk8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX0xPQURfT0ZfS05PV05fTlVMTF9WQUxVRSI+TlA6IExvYWQgb2Yga25vd24gbnVsbCB2YWx1ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfTUVUSE9EX1BBUkFNRVRFUl9USUdIVEVOU19BTk5PVEFUSU9OIj5OUDogTWV0aG9kIHRpZ2h0ZW5zIG51bGxuZXNzIGFubm90YXRpb24gb24gcGFyYW1ldGVyPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9NRVRIT0RfUkVUVVJOX1JFTEFYSU5HX0FOTk9UQVRJT04iPk5QOiBNZXRob2QgcmVsYXhlcyBudWxsbmVzcyBhbm5vdGF0aW9uIG9uIHJldHVybiB2YWx1ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfTlVMTF9PTl9TT01FX1BBVEhfRlJPTV9SRVRVUk5fVkFMVUUiPk5QOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgZHVlIHRvIHJldHVybiB2YWx1ZSBvZiBjYWxsZWQgbWV0aG9kPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9OVUxMX09OX1NPTUVfUEFUSF9NSUdIVF9CRV9JTkZFQVNJQkxFIj5OUDogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIG9uIGJyYW5jaCB0aGF0IG1pZ2h0IGJlIGluZmVhc2libGU8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX1BBUkFNRVRFUl9NVVNUX0JFX05PTk5VTExfQlVUX01BUktFRF9BU19OVUxMQUJMRSI+TlA6IFBhcmFtZXRlciBtdXN0IGJlIG5vbm51bGwgYnV0IGlzIG1hcmtlZCBhcyBudWxsYWJsZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTlBfVU5XUklUVEVOX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQiPk5QOiBSZWFkIG9mIHVud3JpdHRlbiBwdWJsaWMgb3IgcHJvdGVjdGVkIGZpZWxkPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOU19EQU5HRVJPVVNfTk9OX1NIT1JUX0NJUkNVSVQiPk5TOiBQb3RlbnRpYWxseSBkYW5nZXJvdXMgdXNlIG9mIG5vbi1zaG9ydC1jaXJjdWl0IGxvZ2ljPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOU19OT05fU0hPUlRfQ0lSQ1VJVCI+TlM6IFF1ZXN0aW9uYWJsZSB1c2Ugb2Ygbm9uLXNob3J0LWNpcmN1aXQgbG9naWM8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1BTX1BVQkxJQ19TRU1BUEhPUkVTIj5QUzogQ2xhc3MgZXhwb3NlcyBzeW5jaHJvbml6YXRpb24gYW5kIHNlbWFwaG9yZXMgaW4gaXRzIHB1YmxpYyBpbnRlcmZhY2U8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1BaTEFfUFJFRkVSX1pFUk9fTEVOR1RIX0FSUkFZUyI+UFpMQTogQ29uc2lkZXIgcmV0dXJuaW5nIGEgemVybyBsZW5ndGggYXJyYXkgcmF0aGVyIHRoYW4gbnVsbDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUUZfUVVFU1RJT05BQkxFX0ZPUl9MT09QIj5RRjogQ29tcGxpY2F0ZWQsIHN1YnRsZSBvciB3cm9uZyBpbmNyZW1lbnQgaW4gZm9yLWxvb3AgPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSQ05fUkVEVU5EQU5UX0NPTVBBUklTT05fT0ZfTlVMTF9BTkRfTk9OTlVMTF9WQUxVRSI+UkNOOiBSZWR1bmRhbnQgY29tcGFyaXNvbiBvZiBub24tbnVsbCB2YWx1ZSB0byBudWxsPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSQ05fUkVEVU5EQU5UX0NPTVBBUklTT05fVFdPX05VTExfVkFMVUVTIj5SQ046IFJlZHVuZGFudCBjb21wYXJpc29uIG9mIHR3byBudWxsIHZhbHVlczwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUkNOX1JFRFVOREFOVF9OVUxMQ0hFQ0tfT0ZfTk9OTlVMTF9WQUxVRSI+UkNOOiBSZWR1bmRhbnQgbnVsbGNoZWNrIG9mIHZhbHVlIGtub3duIHRvIGJlIG5vbi1udWxsPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSQ05fUkVEVU5EQU5UX05VTExDSEVDS19PRl9OVUxMX1ZBTFVFIj5SQ046IFJlZHVuZGFudCBudWxsY2hlY2sgb2YgdmFsdWUga25vd24gdG8gYmUgbnVsbDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUkVDX0NBVENIX0VYQ0VQVElPTiI+UkVDOiBFeGNlcHRpb24gaXMgY2F1Z2h0IHdoZW4gRXhjZXB0aW9uIGlzIG5vdCB0aHJvd248L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JJX1JFRFVOREFOVF9JTlRFUkZBQ0VTIj5SSTogQ2xhc3MgaW1wbGVtZW50cyBzYW1lIGludGVyZmFjZSBhcyBzdXBlcmNsYXNzPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSVl9DSEVDS19GT1JfUE9TSVRJVkVfSU5ERVhPRiI+UlY6IE1ldGhvZCBjaGVja3MgdG8gc2VlIGlmIHJlc3VsdCBvZiBTdHJpbmcuaW5kZXhPZiBpcyBwb3NpdGl2ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUlZfRE9OVF9KVVNUX05VTExfQ0hFQ0tfUkVBRExJTkUiPlJWOiBNZXRob2QgZGlzY2FyZHMgcmVzdWx0IG9mIHJlYWRMaW5lIGFmdGVyIGNoZWNraW5nIGlmIGl0IGlzIG5vbm51bGw8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1JWX1JFTV9PRl9IQVNIQ09ERSI+UlY6IFJlbWFpbmRlciBvZiBoYXNoQ29kZSBjb3VsZCBiZSBuZWdhdGl2ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUlZfUkVNX09GX1JBTkRPTV9JTlQiPlJWOiBSZW1haW5kZXIgb2YgMzItYml0IHNpZ25lZCByYW5kb20gaW50ZWdlcjwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUlZfUkVUVVJOX1ZBTFVFX0lHTk9SRURfSU5GRVJSRUQiPlJWOiBNZXRob2QgaWdub3JlcyByZXR1cm4gdmFsdWUsIGlzIHRoaXMgT0s/PC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTQV9GSUVMRF9ET1VCTEVfQVNTSUdOTUVOVCI+U0E6IERvdWJsZSBhc3NpZ25tZW50IG9mIGZpZWxkPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTQV9MT0NBTF9ET1VCTEVfQVNTSUdOTUVOVCI+U0E6IERvdWJsZSBhc3NpZ25tZW50IG9mIGxvY2FsIHZhcmlhYmxlIDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0FfTE9DQUxfU0VMRl9BU1NJR05NRU5UIj5TQTogU2VsZiBhc3NpZ25tZW50IG9mIGxvY2FsIHZhcmlhYmxlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTRl9TV0lUQ0hfRkFMTFRIUk9VR0giPlNGOiBTd2l0Y2ggc3RhdGVtZW50IGZvdW5kIHdoZXJlIG9uZSBjYXNlIGZhbGxzIHRocm91Z2ggdG8gdGhlIG5leHQgY2FzZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0ZfU1dJVENIX05PX0RFRkFVTFQiPlNGOiBTd2l0Y2ggc3RhdGVtZW50IGZvdW5kIHdoZXJlIGRlZmF1bHQgY2FzZSBpcyBtaXNzaW5nPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTVF9XUklURV9UT19TVEFUSUNfRlJPTV9JTlNUQU5DRV9NRVRIT0QiPlNUOiBXcml0ZSB0byBzdGF0aWMgZmllbGQgZnJvbSBpbnN0YW5jZSBtZXRob2Q8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NFX1BSSVZBVEVfUkVBRF9SRVNPTFZFX05PVF9JTkhFUklURUQiPlNlOiBQcml2YXRlIHJlYWRSZXNvbHZlIG1ldGhvZCBub3QgaW5oZXJpdGVkIGJ5IHN1YmNsYXNzZXM8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NFX1RSQU5TSUVOVF9GSUVMRF9PRl9OT05TRVJJQUxJWkFCTEVfQ0xBU1MiPlNlOiBUcmFuc2llbnQgZmllbGQgb2YgY2xhc3MgdGhhdCBpc24ndCBTZXJpYWxpemFibGUuIDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVFFfRVhQTElDSVRfVU5LTk9XTl9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19BTFdBWVNfU0lOSyI+VFE6IFZhbHVlIHJlcXVpcmVkIHRvIGhhdmUgdHlwZSBxdWFsaWZpZXIsIGJ1dCBtYXJrZWQgYXMgdW5rbm93bjwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVFFfRVhQTElDSVRfVU5LTk9XTl9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19ORVZFUl9TSU5LIj5UUTogVmFsdWUgcmVxdWlyZWQgdG8gbm90IGhhdmUgdHlwZSBxdWFsaWZpZXIsIGJ1dCBtYXJrZWQgYXMgdW5rbm93bjwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVUNGX1VTRUxFU1NfQ09OVFJPTF9GTE9XIj5VQ0Y6IFVzZWxlc3MgY29udHJvbCBmbG93PC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNVQ0ZfVVNFTEVTU19DT05UUk9MX0ZMT1dfTkVYVF9MSU5FIj5VQ0Y6IFVzZWxlc3MgY29udHJvbCBmbG93IHRvIG5leHQgbGluZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVVNNX1VTRUxFU1NfQUJTVFJBQ1RfTUVUSE9EIj5VU006IEFic3RyYWN0IE1ldGhvZCBpcyBhbHJlYWR5IGRlZmluZWQgaW4gaW1wbGVtZW50ZWQgaW50ZXJmYWNlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNVU01fVVNFTEVTU19TVUJDTEFTU19NRVRIT0QiPlVTTTogTWV0aG9kIHN1cGVyZmx1b3VzbHkgZGVsZWdhdGVzIHRvIHBhcmVudCBjbGFzcyBtZXRob2Q8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1VSRl9VTlJFQURfUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCI+VXJGOiBVbnJlYWQgcHVibGljL3Byb3RlY3RlZCBmaWVsZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVVVGX1VOVVNFRF9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEIj5VdUY6IFVudXNlZCBwdWJsaWMgb3IgcHJvdGVjdGVkIGZpZWxkPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVV0ZfRklFTERfTk9UX0lOSVRJQUxJWkVEX0lOX0NPTlNUUlVDVE9SIj5Vd0Y6IEZpZWxkIG5vdCBpbml0aWFsaXplZCBpbiBjb25zdHJ1Y3RvciBidXQgZGVyZWZlcmVuY2VkIHdpdGhvdXQgbnVsbCBjaGVjazwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVVdGX1VOV1JJVFRFTl9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEIj5Vd0Y6IFVud3JpdHRlbiBwdWJsaWMgb3IgcHJvdGVjdGVkIGZpZWxkPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNYRkJfWE1MX0ZBQ1RPUllfQllQQVNTIj5YRkI6IE1ldGhvZCBkaXJlY3RseSBhbGxvY2F0ZXMgYSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB4bWwgaW50ZXJmYWNlczwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPC90YWJsZT4KLTxoMj5EZXNjcmlwdGlvbnM8L2gyPgotPGgzPjxhIG5hbWU9IkFNX0NSRUFURVNfRU1QVFlfSkFSX0ZJTEVfRU5UUlkiPkFNOiBDcmVhdGVzIGFuIGVtcHR5IGphciBmaWxlIGVudHJ5IChBTV9DUkVBVEVTX0VNUFRZX0pBUl9GSUxFX0VOVFJZKTwvYT48L2gzPgotCi0KLTxwPlRoZSBjb2RlIGNhbGxzIDxjb2RlPnB1dE5leHRFbnRyeSgpPC9jb2RlPiwgaW1tZWRpYXRlbHkKLWZvbGxvd2VkIGJ5IGEgY2FsbCB0byA8Y29kZT5jbG9zZUVudHJ5KCk8L2NvZGU+LiBUaGlzIHJlc3VsdHMKLWluIGFuIGVtcHR5IEphckZpbGUgZW50cnkuIFRoZSBjb250ZW50cyBvZiB0aGUgZW50cnkKLXNob3VsZCBiZSB3cml0dGVuIHRvIHRoZSBKYXJGaWxlIGJldHdlZW4gdGhlIGNhbGxzIHRvCi08Y29kZT5wdXROZXh0RW50cnkoKTwvY29kZT4gYW5kCi08Y29kZT5jbG9zZUVudHJ5KCk8L2NvZGU+LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkFNX0NSRUFURVNfRU1QVFlfWklQX0ZJTEVfRU5UUlkiPkFNOiBDcmVhdGVzIGFuIGVtcHR5IHppcCBmaWxlIGVudHJ5IChBTV9DUkVBVEVTX0VNUFRZX1pJUF9GSUxFX0VOVFJZKTwvYT48L2gzPgotCi0KLTxwPlRoZSBjb2RlIGNhbGxzIDxjb2RlPnB1dE5leHRFbnRyeSgpPC9jb2RlPiwgaW1tZWRpYXRlbHkKLWZvbGxvd2VkIGJ5IGEgY2FsbCB0byA8Y29kZT5jbG9zZUVudHJ5KCk8L2NvZGU+LiBUaGlzIHJlc3VsdHMKLWluIGFuIGVtcHR5IFppcEZpbGUgZW50cnkuIFRoZSBjb250ZW50cyBvZiB0aGUgZW50cnkKLXNob3VsZCBiZSB3cml0dGVuIHRvIHRoZSBaaXBGaWxlIGJldHdlZW4gdGhlIGNhbGxzIHRvCi08Y29kZT5wdXROZXh0RW50cnkoKTwvY29kZT4gYW5kCi08Y29kZT5jbG9zZUVudHJ5KCk8L2NvZGU+LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJDX0VRVUFMU19NRVRIT0RfU0hPVUxEX1dPUktfRk9SX0FMTF9PQkpFQ1RTIj5CQzogRXF1YWxzIG1ldGhvZCBzaG91bGQgbm90IGFzc3VtZSBhbnl0aGluZyBhYm91dCB0aGUgdHlwZSBvZiBpdHMgYXJndW1lbnQgKEJDX0VRVUFMU19NRVRIT0RfU0hPVUxEX1dPUktfRk9SX0FMTF9PQkpFQ1RTKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIDxjb2RlPmVxdWFscyhPYmplY3Qgbyk8L2NvZGU+IG1ldGhvZCBzaG91bGRuJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMKLWFib3V0IHRoZSB0eXBlIG9mIDxjb2RlPm88L2NvZGU+LiBJdCBzaG91bGQgc2ltcGx5IHJldHVybgotZmFsc2UgaWYgPGNvZGU+bzwvY29kZT4gaXMgbm90IHRoZSBzYW1lIHR5cGUgYXMgPGNvZGU+dGhpczwvY29kZT4uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCSVRfU0lHTkVEX0NIRUNLIj5CSVQ6IENoZWNrIGZvciBzaWduIG9mIGJpdHdpc2Ugb3BlcmF0aW9uIChCSVRfU0lHTkVEX0NIRUNLKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb21wYXJlcyBhbiBleHByZXNzaW9uIHN1Y2ggYXM8L3A+Ci08cHJlPigoZXZlbnQuZGV0YWlsICZhbXA7IFNXVC5TRUxFQ1RFRCkgJmd0OyAwKTwvcHJlPi4KLTxwPlVzaW5nIGJpdCBhcml0aG1ldGljIGFuZCB0aGVuIGNvbXBhcmluZyB3aXRoIHRoZSBncmVhdGVyIHRoYW4gb3BlcmF0b3IgY2FuCi1sZWFkIHRvIHVuZXhwZWN0ZWQgcmVzdWx0cyAob2YgY291cnNlIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YKLVNXVC5TRUxFQ1RFRCkuIElmIFNXVC5TRUxFQ1RFRCBpcyBhIG5lZ2F0aXZlIG51bWJlciwgdGhpcyBpcyBhIGNhbmRpZGF0ZQotZm9yIGEgYnVnLiBFdmVuIHdoZW4gU1dULlNFTEVDVEVEIGlzIG5vdCBuZWdhdGl2ZSwgaXQgc2VlbXMgZ29vZCBwcmFjdGljZQotdG8gdXNlICchPSAwJyBpbnN0ZWFkIG9mICcmZ3Q7IDAnLgotPC9wPgotPHA+Ci08ZW0+Qm9yaXMgQm9rb3dza2k8L2VtPgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQ05fSURJT00iPkNOOiBDbGFzcyBpbXBsZW1lbnRzIENsb25lYWJsZSBidXQgZG9lcyBub3QgZGVmaW5lIG9yIHVzZSBjbG9uZSBtZXRob2QgKENOX0lESU9NKTwvYT48L2gzPgotCi0KLTxwPgotICAgQ2xhc3MgaW1wbGVtZW50cyBDbG9uZWFibGUgYnV0IGRvZXMgbm90IGRlZmluZSBvcgotICAgdXNlIHRoZSBjbG9uZSBtZXRob2QuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQ05fSURJT01fTk9fU1VQRVJfQ0FMTCI+Q046IGNsb25lIG1ldGhvZCBkb2VzIG5vdCBjYWxsIHN1cGVyLmNsb25lKCkgKENOX0lESU9NX05PX1NVUEVSX0NBTEwpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbm9uLWZpbmFsIGNsYXNzIGRlZmluZXMgYSBjbG9uZSgpIG1ldGhvZCB0aGF0IGRvZXMgbm90IGNhbGwgc3VwZXIuY2xvbmUoKS4KLUlmIHRoaXMgY2xhc3MgKCI8aT5BPC9pPiIpIGlzIGV4dGVuZGVkIGJ5IGEgc3ViY2xhc3MgKCI8aT5CPC9pPiIpLAotYW5kIHRoZSBzdWJjbGFzcyA8aT5CPC9pPiBjYWxscyBzdXBlci5jbG9uZSgpLCB0aGVuIGl0IGlzIGxpa2VseSB0aGF0Ci08aT5CPC9pPidzIGNsb25lKCkgbWV0aG9kIHdpbGwgcmV0dXJuIGFuIG9iamVjdCBvZiB0eXBlIDxpPkE8L2k+LAotd2hpY2ggdmlvbGF0ZXMgdGhlIHN0YW5kYXJkIGNvbnRyYWN0IGZvciBjbG9uZSgpLjwvcD4KLQotPHA+IElmIGFsbCBjbG9uZSgpIG1ldGhvZHMgY2FsbCBzdXBlci5jbG9uZSgpLCB0aGVuIHRoZXkgYXJlIGd1YXJhbnRlZWQKLXRvIHVzZSBPYmplY3QuY2xvbmUoKSwgd2hpY2ggYWx3YXlzIHJldHVybnMgYW4gb2JqZWN0IG9mIHRoZSBjb3JyZWN0IHR5cGUuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQ05fSU1QTEVNRU5UU19DTE9ORV9CVVRfTk9UX0NMT05FQUJMRSI+Q046IENsYXNzIGRlZmluZXMgY2xvbmUoKSBidXQgZG9lc24ndCBpbXBsZW1lbnQgQ2xvbmVhYmxlIChDTl9JTVBMRU1FTlRTX0NMT05FX0JVVF9OT1RfQ0xPTkVBQkxFKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBjbG9uZSgpIG1ldGhvZCBidXQgdGhlIGNsYXNzIGRvZXNuJ3QgaW1wbGVtZW50IENsb25lYWJsZS4KLVRoZXJlIGFyZSBzb21lIHNpdHVhdGlvbnMgaW4gd2hpY2ggdGhpcyBpcyBPSyAoZS5nLiwgeW91IHdhbnQgdG8gY29udHJvbCBob3cgc3ViY2xhc3NlcwotY2FuIGNsb25lIHRoZW1zZWx2ZXMpLCBidXQganVzdCBtYWtlIHN1cmUgdGhhdCB0aGlzIGlzIHdoYXQgeW91IGludGVuZGVkLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQ09fQUJTVFJBQ1RfU0VMRiI+Q286IEFic3RyYWN0IGNsYXNzIGRlZmluZXMgY292YXJpYW50IGNvbXBhcmVUbygpIG1ldGhvZCAoQ09fQUJTVFJBQ1RfU0VMRik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBjb3ZhcmlhbnQgdmVyc2lvbiBvZiA8Y29kZT5jb21wYXJlVG8oKTwvY29kZT4uJm5ic3A7Ci0gIFRvIGNvcnJlY3RseSBvdmVycmlkZSB0aGUgPGNvZGU+Y29tcGFyZVRvKCk8L2NvZGU+IG1ldGhvZCBpbiB0aGUKLSAgPGNvZGU+Q29tcGFyYWJsZTwvY29kZT4gaW50ZXJmYWNlLCB0aGUgcGFyYW1ldGVyIG9mIDxjb2RlPmNvbXBhcmVUbygpPC9jb2RlPgotICBtdXN0IGhhdmUgdHlwZSA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPi48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJDT19TRUxGX05PX09CSkVDVCI+Q286IENvdmFyaWFudCBjb21wYXJlVG8oKSBtZXRob2QgZGVmaW5lZCAoQ09fU0VMRl9OT19PQkpFQ1QpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgY292YXJpYW50IHZlcnNpb24gb2YgPGNvZGU+Y29tcGFyZVRvKCk8L2NvZGU+LiZuYnNwOwotICBUbyBjb3JyZWN0bHkgb3ZlcnJpZGUgdGhlIDxjb2RlPmNvbXBhcmVUbygpPC9jb2RlPiBtZXRob2QgaW4gdGhlCi0gIDxjb2RlPkNvbXBhcmFibGU8L2NvZGU+IGludGVyZmFjZSwgdGhlIHBhcmFtZXRlciBvZiA8Y29kZT5jb21wYXJlVG8oKTwvY29kZT4KLSAgbXVzdCBoYXZlIHR5cGUgPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iREVfTUlHSFRfRFJPUCI+REU6IE1ldGhvZCBtaWdodCBkcm9wIGV4Y2VwdGlvbiAoREVfTUlHSFRfRFJPUCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBtaWdodCBkcm9wIGFuIGV4Y2VwdGlvbi4mbmJzcDsgSW4gZ2VuZXJhbCwgZXhjZXB0aW9ucwotICBzaG91bGQgYmUgaGFuZGxlZCBvciByZXBvcnRlZCBpbiBzb21lIHdheSwgb3IgdGhleSBzaG91bGQgYmUgdGhyb3duCi0gIG91dCBvZiB0aGUgbWV0aG9kLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRFX01JR0hUX0lHTk9SRSI+REU6IE1ldGhvZCBtaWdodCBpZ25vcmUgZXhjZXB0aW9uIChERV9NSUdIVF9JR05PUkUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2QgbWlnaHQgaWdub3JlIGFuIGV4Y2VwdGlvbi4mbmJzcDsgSW4gZ2VuZXJhbCwgZXhjZXB0aW9ucwotICBzaG91bGQgYmUgaGFuZGxlZCBvciByZXBvcnRlZCBpbiBzb21lIHdheSwgb3IgdGhleSBzaG91bGQgYmUgdGhyb3duCi0gIG91dCBvZiB0aGUgbWV0aG9kLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9FTlRSWV9TRVRTX01BWV9SRVVTRV9FTlRSWV9PQkpFQ1RTIj5ETUk6IEFkZGluZyBlbGVtZW50cyBvZiBhbiBlbnRyeSBzZXQgbWF5IGZhaWwgZHVlIHRvIHJldXNlIG9mIEVudHJ5IG9iamVjdHMgKERNSV9FTlRSWV9TRVRTX01BWV9SRVVTRV9FTlRSWV9PQkpFQ1RTKTwvYT48L2gzPgotCi0gICAgIAotICAgICA8cD4gVGhlIGVudHJ5U2V0KCkgbWV0aG9kIGlzIGFsbG93ZWQgdG8gcmV0dXJuIGEgdmlldyBvZiB0aGUKLSAgICAgdW5kZXJseWluZyBNYXAgaW4gd2hpY2ggYSBzaW5nbGUgRW50cnkgb2JqZWN0IGlzIHJldXNlZCBhbmQgcmV0dXJuZWQKLSAgICAgZHVyaW5nIHRoZSBpdGVyYXRpb24uICBBcyBvZiBKYXZhIDEuNiwgYm90aCBJZGVudGl0eUhhc2hNYXAKLSAgICAgYW5kIEVudW1NYXAgZGlkIHNvLiBXaGVuIGl0ZXJhdGluZyB0aHJvdWdoIHN1Y2ggYSBNYXAsCi0gICAgIHRoZSBFbnRyeSB2YWx1ZSBpcyBvbmx5IHZhbGlkIHVudGlsIHlvdSBhZHZhbmNlIHRvIHRoZSBuZXh0IGl0ZXJhdGlvbi4KLSAgICAgSWYsIGZvciBleGFtcGxlLCB5b3UgdHJ5IHRvIHBhc3Mgc3VjaCBhbiBlbnRyeVNldCB0byBhbiBhZGRBbGwgbWV0aG9kLAotICAgICB0aGluZ3Mgd2lsbCBnbyBiYWRseSB3cm9uZy4KLSAgICA8L3A+Ci0gICAgIAotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9SQU5ET01fVVNFRF9PTkxZX09OQ0UiPkRNSTogUmFuZG9tIG9iamVjdCBjcmVhdGVkIGFuZCB1c2VkIG9ubHkgb25jZSAoRE1JX1JBTkRPTV9VU0VEX09OTFlfT05DRSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjb2RlIGNyZWF0ZXMgYSBqYXZhLnV0aWwuUmFuZG9tIG9iamVjdCwgdXNlcyBpdCB0byBnZW5lcmF0ZSBvbmUgcmFuZG9tIG51bWJlciwgYW5kIHRoZW4gZGlzY2FyZHMKLXRoZSBSYW5kb20gb2JqZWN0LiBUaGlzIHByb2R1Y2VzIG1lZGlvY3JlIHF1YWxpdHkgcmFuZG9tIG51bWJlcnMgYW5kIGlzIGluZWZmaWNpZW50LgotSWYgcG9zc2libGUsIHJld3JpdGUgdGhlIGNvZGUgc28gdGhhdCB0aGUgUmFuZG9tIG9iamVjdCBpcyBjcmVhdGVkIG9uY2UgYW5kIHNhdmVkLCBhbmQgZWFjaCB0aW1lIGEgbmV3IHJhbmRvbSBudW1iZXIKLWlzIHJlcXVpcmVkIGludm9rZSBhIG1ldGhvZCBvbiB0aGUgZXhpc3RpbmcgUmFuZG9tIG9iamVjdCB0byBvYnRhaW4gaXQuCi08L3A+Ci0KLTxwPklmIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBnZW5lcmF0ZWQgUmFuZG9tIG51bWJlcnMgbm90IGJlIGd1ZXNzYWJsZSwgeW91IDxlbT5tdXN0PC9lbT4gbm90IGNyZWF0ZSBhIG5ldyBSYW5kb20gZm9yIGVhY2ggcmFuZG9tCi1udW1iZXI7IHRoZSB2YWx1ZXMgYXJlIHRvbyBlYXNpbHkgZ3Vlc3NhYmxlLiBZb3Ugc2hvdWxkIHN0cm9uZ2x5IGNvbnNpZGVyIHVzaW5nIGEgamF2YS5zZWN1cml0eS5TZWN1cmVSYW5kb20gaW5zdGVhZAotKGFuZCBhdm9pZCBhbGxvY2F0aW5nIGEgbmV3IFNlY3VyZVJhbmRvbSBmb3IgZWFjaCByYW5kb20gbnVtYmVyIG5lZWRlZCkuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfVVNJTkdfUkVNT1ZFQUxMX1RPX0NMRUFSX0NPTExFQ1RJT04iPkRNSTogRG9uJ3QgdXNlIHJlbW92ZUFsbCB0byBjbGVhciBhIGNvbGxlY3Rpb24gKERNSV9VU0lOR19SRU1PVkVBTExfVE9fQ0xFQVJfQ09MTEVDVElPTik8L2E+PC9oMz4KLQotICAgICAKLSAgICAgPHA+IElmIHlvdSB3YW50IHRvIHJlbW92ZSBhbGwgZWxlbWVudHMgZnJvbSBhIGNvbGxlY3Rpb24gPGNvZGU+YzwvY29kZT4sIHVzZSA8Y29kZT5jLmNsZWFyPC9jb2RlPiwKLW5vdCA8Y29kZT5jLnJlbW92ZUFsbChjKTwvY29kZT4uIENhbGxpbmcgIDxjb2RlPmMucmVtb3ZlQWxsKGMpPC9jb2RlPiB0byBjbGVhciBhIGNvbGxlY3Rpb24KLWlzIGxlc3MgY2xlYXIsIHN1c2NlcHRpYmxlIHRvIGVycm9ycyBmcm9tIHR5cG9zLCBsZXNzIGVmZmljaWVudCBhbmQKLWZvciBzb21lIGNvbGxlY3Rpb25zLCBtaWdodCB0aHJvdyBhIDxjb2RlPkNvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb248L2NvZGU+LgotICAgIDwvcD4KLSAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fRVhJVCI+RG06IE1ldGhvZCBpbnZva2VzIFN5c3RlbS5leGl0KC4uLikgKERNX0VYSVQpPC9hPjwvaDM+Ci0KLQotICA8cD4gSW52b2tpbmcgU3lzdGVtLmV4aXQgc2h1dHMgZG93biB0aGUgZW50aXJlIEphdmEgdmlydHVhbCBtYWNoaW5lLiBUaGlzCi0gICBzaG91bGQgb25seSBiZWVuIGRvbmUgd2hlbiBpdCBpcyBhcHByb3ByaWF0ZS4gU3VjaCBjYWxscyBtYWtlIGl0Ci0gICBoYXJkIG9yIGltcG9zc2libGUgZm9yIHlvdXIgY29kZSB0byBiZSBpbnZva2VkIGJ5IG90aGVyIGNvZGUuCi0gICBDb25zaWRlciB0aHJvd2luZyBhIFJ1bnRpbWVFeGNlcHRpb24gaW5zdGVhZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETV9SVU5fRklOQUxJWkVSU19PTl9FWElUIj5EbTogTWV0aG9kIGludm9rZXMgZGFuZ2Vyb3VzIG1ldGhvZCBydW5GaW5hbGl6ZXJzT25FeGl0IChETV9SVU5fRklOQUxJWkVSU19PTl9FWElUKTwvYT48L2gzPgotCi0KLSAgPHA+IDxlbT5OZXZlciBjYWxsIFN5c3RlbS5ydW5GaW5hbGl6ZXJzT25FeGl0Ci1vciBSdW50aW1lLnJ1bkZpbmFsaXplcnNPbkV4aXQgZm9yIGFueSByZWFzb246IHRoZXkgYXJlIGFtb25nIHRoZSBtb3N0Ci1kYW5nZXJvdXMgbWV0aG9kcyBpbiB0aGUgSmF2YSBsaWJyYXJpZXMuPC9lbT4gLS0gSm9zaHVhIEJsb2NoPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRVNfQ09NUEFSSU5HX1BBUkFNRVRFUl9TVFJJTkdfV0lUSF9FUSI+RVM6IENvbXBhcmlzb24gb2YgU3RyaW5nIHBhcmFtZXRlciB1c2luZyA9PSBvciAhPSAoRVNfQ09NUEFSSU5HX1BBUkFNRVRFUl9TVFJJTkdfV0lUSF9FUSk8L2E+PC9oMz4KLQotCi0gIDxwPlRoaXMgY29kZSBjb21wYXJlcyBhIDxjb2RlPmphdmEubGFuZy5TdHJpbmc8L2NvZGU+IHBhcmFtZXRlciBmb3IgcmVmZXJlbmNlCi1lcXVhbGl0eSB1c2luZyB0aGUgPT0gb3IgIT0gb3BlcmF0b3JzLiBSZXF1aXJpbmcgY2FsbGVycyB0bwotcGFzcyBvbmx5IFN0cmluZyBjb25zdGFudHMgb3IgaW50ZXJuZWQgc3RyaW5ncyB0byBhIG1ldGhvZCBpcyB1bm5lY2Vzc2FyaWx5Ci1mcmFnaWxlLCBhbmQgcmFyZWx5IGxlYWRzIHRvIG1lYXN1cmFibGUgcGVyZm9ybWFuY2UgZ2FpbnMuIENvbnNpZGVyCi11c2luZyB0aGUgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZCBpbnN0ZWFkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVTX0NPTVBBUklOR19TVFJJTkdTX1dJVEhfRVEiPkVTOiBDb21wYXJpc29uIG9mIFN0cmluZyBvYmplY3RzIHVzaW5nID09IG9yICE9IChFU19DT01QQVJJTkdfU1RSSU5HU19XSVRIX0VRKTwvYT48L2gzPgotCi0KLSAgPHA+VGhpcyBjb2RlIGNvbXBhcmVzIDxjb2RlPmphdmEubGFuZy5TdHJpbmc8L2NvZGU+IG9iamVjdHMgZm9yIHJlZmVyZW5jZQotZXF1YWxpdHkgdXNpbmcgdGhlID09IG9yICE9IG9wZXJhdG9ycy4KLVVubGVzcyBib3RoIHN0cmluZ3MgYXJlIGVpdGhlciBjb25zdGFudHMgaW4gYSBzb3VyY2UgZmlsZSwgb3IgaGF2ZSBiZWVuCi1pbnRlcm5lZCB1c2luZyB0aGUgPGNvZGU+U3RyaW5nLmludGVybigpPC9jb2RlPiBtZXRob2QsIHRoZSBzYW1lIHN0cmluZwotdmFsdWUgbWF5IGJlIHJlcHJlc2VudGVkIGJ5IHR3byBkaWZmZXJlbnQgU3RyaW5nIG9iamVjdHMuIENvbnNpZGVyCi11c2luZyB0aGUgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZCBpbnN0ZWFkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX0FCU1RSQUNUX1NFTEYiPkVxOiBBYnN0cmFjdCBjbGFzcyBkZWZpbmVzIGNvdmFyaWFudCBlcXVhbHMoKSBtZXRob2QgKEVRX0FCU1RSQUNUX1NFTEYpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgY292YXJpYW50IHZlcnNpb24gb2YgPGNvZGU+ZXF1YWxzKCk8L2NvZGU+LiZuYnNwOwotICBUbyBjb3JyZWN0bHkgb3ZlcnJpZGUgdGhlIDxjb2RlPmVxdWFscygpPC9jb2RlPiBtZXRob2QgaW4KLSAgPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4sIHRoZSBwYXJhbWV0ZXIgb2YgPGNvZGU+ZXF1YWxzKCk8L2NvZGU+Ci0gIG11c3QgaGF2ZSB0eXBlIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX0NIRUNLX0ZPUl9PUEVSQU5EX05PVF9DT01QQVRJQkxFX1dJVEhfVEhJUyI+RXE6IEVxdWFscyBjaGVja3MgZm9yIGluY29tcGF0aWJsZSBvcGVyYW5kIChFUV9DSEVDS19GT1JfT1BFUkFORF9OT1RfQ09NUEFUSUJMRV9XSVRIX1RISVMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBlcXVhbHMgbWV0aG9kIGlzIGNoZWNraW5nIHRvIHNlZSBpZiB0aGUgYXJndW1lbnQgaXMgc29tZSBpbmNvbXBhdGlibGUgdHlwZQotKGkuZS4sIGEgY2xhc3MgdGhhdCBpcyBuZWl0aGVyIGEgc3VwZXJ0eXBlIG5vciBzdWJ0eXBlIG9mIHRoZSBjbGFzcyB0aGF0IGRlZmluZXMKLXRoZSBlcXVhbHMgbWV0aG9kKS4gRm9yIGV4YW1wbGUsIHRoZSBGb28gY2xhc3MgbWlnaHQgaGF2ZSBhbiBlcXVhbHMgbWV0aG9kCi10aGF0IGxvb2tzIGxpa2U6Ci08L3A+Ci08cHJlPgotcHVibGljIGJvb2xlYW4gZXF1YWxzKE9iamVjdCBvKSB7Ci0gIGlmIChvIGluc3RhbmNlb2YgRm9vKQotICAgIHJldHVybiBuYW1lLmVxdWFscygoKEZvbylvKS5uYW1lKTsKLSAgZWxzZSBpZiAobyBpbnN0YW5jZW9mIFN0cmluZykKLSAgICByZXR1cm4gbmFtZS5lcXVhbHMobyk7Ci0gIGVsc2UgcmV0dXJuIGZhbHNlOwotPC9wcmU+Ci0KLTxwPlRoaXMgaXMgY29uc2lkZXJlZCBiYWQgcHJhY3RpY2UsIGFzIGl0IG1ha2VzIGl0IHZlcnkgaGFyZCB0byBpbXBsZW1lbnQgYW4gZXF1YWxzIG1ldGhvZCB0aGF0Ci1pcyBzeW1tZXRyaWMgYW5kIHRyYW5zaXRpdmUuIFdpdGhvdXQgdGhvc2UgcHJvcGVydGllcywgdmVyeSB1bmV4cGVjdGVkIGJlaGF2b2lycyBhcmUgcG9zc2libGUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9DT01QQVJFVE9fVVNFX09CSkVDVF9FUVVBTFMiPkVxOiBDbGFzcyBkZWZpbmVzIGNvbXBhcmVUbyguLi4pIGFuZCB1c2VzIE9iamVjdC5lcXVhbHMoKSAoRVFfQ09NUEFSRVRPX1VTRV9PQkpFQ1RfRVFVQUxTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIDxjb2RlPmNvbXBhcmVUbyguLi4pPC9jb2RlPiBtZXRob2QgYnV0IGluaGVyaXRzIGl0cwotICA8Y29kZT5lcXVhbHMoKTwvY29kZT4gbWV0aG9kIGZyb20gPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4uCi0gICAgR2VuZXJhbGx5LCB0aGUgdmFsdWUgb2YgY29tcGFyZVRvIHNob3VsZCByZXR1cm4gemVybyBpZiBhbmQgb25seSBpZgotICAgIGVxdWFscyByZXR1cm5zIHRydWUuIElmIHRoaXMgaXMgdmlvbGF0ZWQsIHdlaXJkIGFuZCB1bnByZWRpY3RhYmxlCi0gICAgZmFpbHVyZXMgd2lsbCBvY2N1ciBpbiBjbGFzc2VzIHN1Y2ggYXMgUHJpb3JpdHlRdWV1ZS4KLSAgICBJbiBKYXZhIDUgdGhlIFByaW9yaXR5UXVldWUucmVtb3ZlIG1ldGhvZCB1c2VzIHRoZSBjb21wYXJlVG8gbWV0aG9kLAotICAgIHdoaWxlIGluIEphdmEgNiBpdCB1c2VzIHRoZSBlcXVhbHMgbWV0aG9kLgotCi08cD5Gcm9tIHRoZSBKYXZhRG9jIGZvciB0aGUgY29tcGFyZVRvIG1ldGhvZCBpbiB0aGUgQ29tcGFyYWJsZSBpbnRlcmZhY2U6Ci08YmxvY2txdW90ZT4KLUl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkLCBidXQgbm90IHN0cmljdGx5IHJlcXVpcmVkIHRoYXQgPGNvZGU+KHguY29tcGFyZVRvKHkpPT0wKSA9PSAoeC5lcXVhbHMoeSkpPC9jb2RlPi4KLUdlbmVyYWxseSBzcGVha2luZywgYW55IGNsYXNzIHRoYXQgaW1wbGVtZW50cyB0aGUgQ29tcGFyYWJsZSBpbnRlcmZhY2UgYW5kIHZpb2xhdGVzIHRoaXMgY29uZGl0aW9uCi1zaG91bGQgY2xlYXJseSBpbmRpY2F0ZSB0aGlzIGZhY3QuIFRoZSByZWNvbW1lbmRlZCBsYW5ndWFnZQotaXMgIk5vdGU6IHRoaXMgY2xhc3MgaGFzIGEgbmF0dXJhbCBvcmRlcmluZyB0aGF0IGlzIGluY29uc2lzdGVudCB3aXRoIGVxdWFscy4iCi08L2Jsb2NrcXVvdGU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9HRVRDTEFTU19BTkRfQ0xBU1NfQ09OU1RBTlQiPkVxOiBlcXVhbHMgbWV0aG9kIGZhaWxzIGZvciBzdWJ0eXBlcyAoRVFfR0VUQ0xBU1NfQU5EX0NMQVNTX0NPTlNUQU5UKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaGFzIGFuIGVxdWFscyBtZXRob2QgdGhhdCB3aWxsIGJlIGJyb2tlbiBpZiBpdCBpcyBpbmhlcml0ZWQgYnkgc3ViY2xhc3Nlcy4KLUl0IGNvbXBhcmVzIGEgY2xhc3MgbGl0ZXJhbCB3aXRoIHRoZSBjbGFzcyBvZiB0aGUgYXJndW1lbnQgKGUuZy4sIGluIGNsYXNzIDxjb2RlPkZvbzwvY29kZT4KLWl0IG1pZ2h0IGNoZWNrIGlmIDxjb2RlPkZvby5jbGFzcyA9PSBvLmdldENsYXNzKCk8L2NvZGU+KS4KLUl0IGlzIGJldHRlciB0byBjaGVjayBpZiA8Y29kZT50aGlzLmdldENsYXNzKCkgPT0gby5nZXRDbGFzcygpPC9jb2RlPi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX1NFTEZfTk9fT0JKRUNUIj5FcTogQ292YXJpYW50IGVxdWFscygpIG1ldGhvZCBkZWZpbmVkIChFUV9TRUxGX05PX09CSkVDVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBjb3ZhcmlhbnQgdmVyc2lvbiBvZiA8Y29kZT5lcXVhbHMoKTwvY29kZT4uJm5ic3A7Ci0gIFRvIGNvcnJlY3RseSBvdmVycmlkZSB0aGUgPGNvZGU+ZXF1YWxzKCk8L2NvZGU+IG1ldGhvZCBpbgotICA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPiwgdGhlIHBhcmFtZXRlciBvZiA8Y29kZT5lcXVhbHMoKTwvY29kZT4KLSAgbXVzdCBoYXZlIHR5cGUgPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRklfRU1QVFkiPkZJOiBFbXB0eSBmaW5hbGl6ZXIgc2hvdWxkIGJlIGRlbGV0ZWQgKEZJX0VNUFRZKTwvYT48L2gzPgotCi0KLSAgPHA+IEVtcHR5IDxjb2RlPmZpbmFsaXplKCk8L2NvZGU+IG1ldGhvZHMgYXJlIHVzZWxlc3MsIHNvIHRoZXkgc2hvdWxkCi0gIGJlIGRlbGV0ZWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRklfRVhQTElDSVRfSU5WT0NBVElPTiI+Rkk6IEV4cGxpY2l0IGludm9jYXRpb24gb2YgZmluYWxpemVyIChGSV9FWFBMSUNJVF9JTlZPQ0FUSU9OKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGFuIGV4cGxpY2l0IGludm9jYXRpb24gb2YgdGhlIDxjb2RlPmZpbmFsaXplKCk8L2NvZGU+Ci0gIG1ldGhvZCBvbiBhbiBvYmplY3QuJm5ic3A7IEJlY2F1c2UgZmluYWxpemVyIG1ldGhvZHMgYXJlIHN1cHBvc2VkIHRvIGJlCi0gIGV4ZWN1dGVkIG9uY2UsIGFuZCBvbmx5IGJ5IHRoZSBWTSwgdGhpcyBpcyBhIGJhZCBpZGVhLjwvcD4KLTxwPklmIGEgY29ubmVjdGVkIHNldCBvZiBvYmplY3RzIGJlaW5ncyBmaW5hbGl6YWJsZSwgdGhlbiB0aGUgVk0gd2lsbCBpbnZva2UgdGhlCi1maW5hbGl6ZSBtZXRob2Qgb24gYWxsIHRoZSBmaW5hbGl6YWJsZSBvYmplY3QsIHBvc3NpYmx5IGF0IHRoZSBzYW1lIHRpbWUgaW4gZGlmZmVyZW50IHRocmVhZHMuCi1UaHVzLCBpdCBpcyBhIHBhcnRpY3VsYXJseSBiYWQgaWRlYSwgaW4gdGhlIGZpbmFsaXplIG1ldGhvZCBmb3IgYSBjbGFzcyBYLCBpbnZva2UgZmluYWxpemUKLW9uIG9iamVjdHMgcmVmZXJlbmNlZCBieSBYLCBiZWNhdXNlIHRoZXkgbWF5IGFscmVhZHkgYmUgZ2V0dGluZyBmaW5hbGl6ZWQgaW4gYSBzZXBhcmF0ZSB0aHJlYWQuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJGSV9GSU5BTElaRVJfTlVMTFNfRklFTERTIj5GSTogRmluYWxpemVyIG51bGxzIGZpZWxkcyAoRklfRklOQUxJWkVSX05VTExTX0ZJRUxEUyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGZpbmFsaXplciBudWxscyBvdXQgZmllbGRzLiAgVGhpcyBpcyB1c3VhbGx5IGFuIGVycm9yLCBhcyBpdCBkb2VzIG5vdCBhaWQgZ2FyYmFnZSBjb2xsZWN0aW9uLAotICBhbmQgdGhlIG9iamVjdCBpcyBnb2luZyB0byBiZSBnYXJiYWdlIGNvbGxlY3RlZCBhbnl3YXkuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJGSV9GSU5BTElaRVJfT05MWV9OVUxMU19GSUVMRFMiPkZJOiBGaW5hbGl6ZXIgb25seSBudWxscyBmaWVsZHMgKEZJX0ZJTkFMSVpFUl9PTkxZX05VTExTX0ZJRUxEUyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGZpbmFsaXplciBkb2VzIG5vdGhpbmcgZXhjZXB0IG51bGwgb3V0IGZpZWxkcy4gVGhpcyBpcyBjb21wbGV0ZWx5IHBvaW50bGVzcywgYW5kIHJlcXVpcmVzIHRoYXQKLXRoZSBvYmplY3QgYmUgZ2FyYmFnZSBjb2xsZWN0ZWQsIGZpbmFsaXplZCwgYW5kIHRoZW4gZ2FyYmFnZSBjb2xsZWN0ZWQgYWdhaW4uIFlvdSBzaG91bGQganVzdCByZW1vdmUgdGhlIGZpbmFsaXplCi1tZXRob2QuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJGSV9NSVNTSU5HX1NVUEVSX0NBTEwiPkZJOiBGaW5hbGl6ZXIgZG9lcyBub3QgY2FsbCBzdXBlcmNsYXNzIGZpbmFsaXplciAoRklfTUlTU0lOR19TVVBFUl9DQUxMKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgPGNvZGU+ZmluYWxpemUoKTwvY29kZT4gbWV0aG9kIGRvZXMgbm90IG1ha2UgYSBjYWxsIHRvIGl0cwotICBzdXBlcmNsYXNzJ3MgPGNvZGU+ZmluYWxpemUoKTwvY29kZT4gbWV0aG9kLiZuYnNwOyBTbywgYW55IGZpbmFsaXplcgotICBhY3Rpb25zIGRlZmluZWQgZm9yIHRoZSBzdXBlcmNsYXNzIHdpbGwgbm90IGJlIHBlcmZvcm1lZC4mbmJzcDsKLSAgQWRkIGEgY2FsbCB0byA8Y29kZT5zdXBlci5maW5hbGl6ZSgpPC9jb2RlPi48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJGSV9OVUxMSUZZX1NVUEVSIj5GSTogRmluYWxpemVyIG51bGxpZmllcyBzdXBlcmNsYXNzIGZpbmFsaXplciAoRklfTlVMTElGWV9TVVBFUik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGVtcHR5IDxjb2RlPmZpbmFsaXplKCk8L2NvZGU+IG1ldGhvZCBleHBsaWNpdGx5IG5lZ2F0ZXMgdGhlCi0gIGVmZmVjdCBvZiBhbnkgZmluYWxpemVyIGRlZmluZWQgYnkgaXRzIHN1cGVyY2xhc3MuJm5ic3A7IEFueSBmaW5hbGl6ZXIKLSAgYWN0aW9ucyBkZWZpbmVkIGZvciB0aGUgc3VwZXJjbGFzcyB3aWxsIG5vdCBiZSBwZXJmb3JtZWQuJm5ic3A7Ci0gIFVubGVzcyB0aGlzIGlzIGludGVuZGVkLCBkZWxldGUgdGhpcyBtZXRob2QuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRklfVVNFTEVTUyI+Rkk6IEZpbmFsaXplciBkb2VzIG5vdGhpbmcgYnV0IGNhbGwgc3VwZXJjbGFzcyBmaW5hbGl6ZXIgKEZJX1VTRUxFU1MpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIG9ubHkgdGhpbmcgdGhpcyA8Y29kZT5maW5hbGl6ZSgpPC9jb2RlPiBtZXRob2QgZG9lcyBpcyBjYWxsCi0gIHRoZSBzdXBlcmNsYXNzJ3MgPGNvZGU+ZmluYWxpemUoKTwvY29kZT4gbWV0aG9kLCBtYWtpbmcgaXQKLSAgcmVkdW5kYW50LiZuYnNwOyBEZWxldGUgaXQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVkFfRk9STUFUX1NUUklOR19VU0VTX05FV0xJTkUiPkZTOiBGb3JtYXQgc3RyaW5nIHNob3VsZCB1c2UgJW4gcmF0aGVyIHRoYW4gXG4gKFZBX0ZPUk1BVF9TVFJJTkdfVVNFU19ORVdMSU5FKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBmb3JtYXQgc3RyaW5nIGluY2x1ZGUgYSBuZXdsaW5lIGNoYXJhY3RlciAoXG4pLiBJbiBmb3JtYXQgc3RyaW5ncywgaXQgaXMgZ2VuZXJhbGx5Ci0gcHJlZmVyYWJsZSBiZXR0ZXIgdG8gdXNlICVuLCB3aGljaCB3aWxsIHByb2R1Y2UgdGhlIHBsYXRmb3JtLXNwZWNpZmljIGxpbmUgc2VwYXJhdG9yLgotPC9wPgotCi0gICAgIAotPGgzPjxhIG5hbWU9IkdDX1VOQ0hFQ0tFRF9UWVBFX0lOX0dFTkVSSUNfQ0FMTCI+R0M6IFVuY2hlY2tlZCB0eXBlIGluIGdlbmVyaWMgY2FsbCAoR0NfVU5DSEVDS0VEX1RZUEVfSU5fR0VORVJJQ19DQUxMKTwvYT48L2gzPgotCi0gICAgIAotICAgICA8cD4gVGhpcyBjYWxsIHRvIGEgZ2VuZXJpYyBjb2xsZWN0aW9uIG1ldGhvZCBwYXNzZXMgYW4gYXJndW1lbnQKLSAgICB3aGlsZSBjb21waWxlIHR5cGUgT2JqZWN0IHdoZXJlIGEgc3BlY2lmaWMgdHlwZSBmcm9tCi0gICAgdGhlIGdlbmVyaWMgdHlwZSBwYXJhbWV0ZXJzIGlzIGV4cGVjdGVkLgotICAgIFRodXMsIG5laXRoZXIgdGhlIHN0YW5kYXJkIEphdmEgdHlwZSBzeXN0ZW0gbm9yIHN0YXRpYyBhbmFseXNpcwotICAgIGNhbiBwcm92aWRlIHVzZWZ1bCBpbmZvcm1hdGlvbiBvbiB3aGV0aGVyIHRoZQotICAgIG9iamVjdCBiZWluZyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIgaXMgb2YgYW4gYXBwcm9wcmlhdGUgdHlwZS4KLSAgICA8L3A+Ci0gICAgIAotICAgIAotPGgzPjxhIG5hbWU9IkhFX0VRVUFMU19OT19IQVNIQ09ERSI+SEU6IENsYXNzIGRlZmluZXMgZXF1YWxzKCkgYnV0IG5vdCBoYXNoQ29kZSgpIChIRV9FUVVBTFNfTk9fSEFTSENPREUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBvdmVycmlkZXMgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+LCBidXQgZG9lcyBub3QKLSAgb3ZlcnJpZGUgPGNvZGU+aGFzaENvZGUoKTwvY29kZT4uJm5ic3A7IFRoZXJlZm9yZSwgdGhlIGNsYXNzIG1heSB2aW9sYXRlIHRoZQotICBpbnZhcmlhbnQgdGhhdCBlcXVhbCBvYmplY3RzIG11c3QgaGF2ZSBlcXVhbCBoYXNoY29kZXMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSEVfRVFVQUxTX1VTRV9IQVNIQ09ERSI+SEU6IENsYXNzIGRlZmluZXMgZXF1YWxzKCkgYW5kIHVzZXMgT2JqZWN0Lmhhc2hDb2RlKCkgKEhFX0VRVUFMU19VU0VfSEFTSENPREUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBvdmVycmlkZXMgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+LCBidXQgZG9lcyBub3QKLSAgb3ZlcnJpZGUgPGNvZGU+aGFzaENvZGUoKTwvY29kZT4sIGFuZCBpbmhlcml0cyB0aGUgaW1wbGVtZW50YXRpb24gb2YKLSAgPGNvZGU+aGFzaENvZGUoKTwvY29kZT4gZnJvbSA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPiAod2hpY2ggcmV0dXJucwotICB0aGUgaWRlbnRpdHkgaGFzaCBjb2RlLCBhbiBhcmJpdHJhcnkgdmFsdWUgYXNzaWduZWQgdG8gdGhlIG9iamVjdAotICBieSB0aGUgVk0pLiZuYnNwOyBUaGVyZWZvcmUsIHRoZSBjbGFzcyBpcyB2ZXJ5IGxpa2VseSB0byB2aW9sYXRlIHRoZQotICBpbnZhcmlhbnQgdGhhdCBlcXVhbCBvYmplY3RzIG11c3QgaGF2ZSBlcXVhbCBoYXNoY29kZXMuPC9wPgotCi08cD5JZiB5b3UgZG9uJ3QgdGhpbmsgaW5zdGFuY2VzIG9mIHRoaXMgY2xhc3Mgd2lsbCBldmVyIGJlIGluc2VydGVkIGludG8gYSBIYXNoTWFwL0hhc2hUYWJsZSwKLXRoZSByZWNvbW1lbmRlZCA8Y29kZT5oYXNoQ29kZTwvY29kZT4gaW1wbGVtZW50YXRpb24gdG8gdXNlIGlzOjwvcD4KLTxwcmU+cHVibGljIGludCBoYXNoQ29kZSgpIHsKLSAgYXNzZXJ0IGZhbHNlIDogImhhc2hDb2RlIG5vdCBkZXNpZ25lZCI7Ci0gIHJldHVybiA0MjsgLy8gYW55IGFyYml0cmFyeSBjb25zdGFudCB3aWxsIGRvCi0gIH08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IkhFX0hBU0hDT0RFX05PX0VRVUFMUyI+SEU6IENsYXNzIGRlZmluZXMgaGFzaENvZGUoKSBidXQgbm90IGVxdWFscygpIChIRV9IQVNIQ09ERV9OT19FUVVBTFMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgPGNvZGU+aGFzaENvZGUoKTwvY29kZT4gbWV0aG9kIGJ1dCBub3QgYW4KLSAgPGNvZGU+ZXF1YWxzKCk8L2NvZGU+IG1ldGhvZC4mbmJzcDsgVGhlcmVmb3JlLCB0aGUgY2xhc3MgbWF5Ci0gIHZpb2xhdGUgdGhlIGludmFyaWFudCB0aGF0IGVxdWFsIG9iamVjdHMgbXVzdCBoYXZlIGVxdWFsIGhhc2hjb2Rlcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJIRV9IQVNIQ09ERV9VU0VfT0JKRUNUX0VRVUFMUyI+SEU6IENsYXNzIGRlZmluZXMgaGFzaENvZGUoKSBhbmQgdXNlcyBPYmplY3QuZXF1YWxzKCkgKEhFX0hBU0hDT0RFX1VTRV9PQkpFQ1RfRVFVQUxTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+IG1ldGhvZCBidXQgaW5oZXJpdHMgaXRzCi0gIDxjb2RlPmVxdWFscygpPC9jb2RlPiBtZXRob2QgZnJvbSA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPgotICAod2hpY2ggZGVmaW5lcyBlcXVhbGl0eSBieSBjb21wYXJpbmcgb2JqZWN0IHJlZmVyZW5jZXMpLiZuYnNwOyBBbHRob3VnaAotICB0aGlzIHdpbGwgcHJvYmFibHkgc2F0aXNmeSB0aGUgY29udHJhY3QgdGhhdCBlcXVhbCBvYmplY3RzIG11c3QgaGF2ZQotICBlcXVhbCBoYXNoY29kZXMsIGl0IGlzIHByb2JhYmx5IG5vdCB3aGF0IHdhcyBpbnRlbmRlZCBieSBvdmVycmlkaW5nCi0gIHRoZSA8Y29kZT5oYXNoQ29kZSgpPC9jb2RlPiBtZXRob2QuJm5ic3A7IChPdmVycmlkaW5nIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+Ci0gIGltcGxpZXMgdGhhdCB0aGUgb2JqZWN0J3MgaWRlbnRpdHkgaXMgYmFzZWQgb24gY3JpdGVyaWEgbW9yZSBjb21wbGljYXRlZAotICB0aGFuIHNpbXBsZSByZWZlcmVuY2UgZXF1YWxpdHkuKTwvcD4KLTxwPklmIHlvdSBkb24ndCB0aGluayBpbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyB3aWxsIGV2ZXIgYmUgaW5zZXJ0ZWQgaW50byBhIEhhc2hNYXAvSGFzaFRhYmxlLAotdGhlIHJlY29tbWVuZGVkIDxjb2RlPmhhc2hDb2RlPC9jb2RlPiBpbXBsZW1lbnRhdGlvbiB0byB1c2UgaXM6PC9wPgotPHByZT5wdWJsaWMgaW50IGhhc2hDb2RlKCkgewotICBhc3NlcnQgZmFsc2UgOiAiaGFzaENvZGUgbm90IGRlc2lnbmVkIjsKLSAgcmV0dXJuIDQyOyAvLyBhbnkgYXJiaXRyYXJ5IGNvbnN0YW50IHdpbGwgZG8KLSAgfTwvcHJlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSEVfSU5IRVJJVFNfRVFVQUxTX1VTRV9IQVNIQ09ERSI+SEU6IENsYXNzIGluaGVyaXRzIGVxdWFscygpIGFuZCB1c2VzIE9iamVjdC5oYXNoQ29kZSgpIChIRV9JTkhFUklUU19FUVVBTFNfVVNFX0hBU0hDT0RFKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaW5oZXJpdHMgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+IGZyb20gYW4gYWJzdHJhY3QKLSAgc3VwZXJjbGFzcywgYW5kIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+IGZyb20KLTxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+ICh3aGljaCByZXR1cm5zCi0gIHRoZSBpZGVudGl0eSBoYXNoIGNvZGUsIGFuIGFyYml0cmFyeSB2YWx1ZSBhc3NpZ25lZCB0byB0aGUgb2JqZWN0Ci0gIGJ5IHRoZSBWTSkuJm5ic3A7IFRoZXJlZm9yZSwgdGhlIGNsYXNzIGlzIHZlcnkgbGlrZWx5IHRvIHZpb2xhdGUgdGhlCi0gIGludmFyaWFudCB0aGF0IGVxdWFsIG9iamVjdHMgbXVzdCBoYXZlIGVxdWFsIGhhc2hjb2Rlcy48L3A+Ci0KLSAgPHA+SWYgeW91IGRvbid0IHdhbnQgdG8gZGVmaW5lIGEgaGFzaENvZGUgbWV0aG9kLCBhbmQvb3IgZG9uJ3QKLSAgIGJlbGlldmUgdGhlIG9iamVjdCB3aWxsIGV2ZXIgYmUgcHV0IGludG8gYSBIYXNoTWFwL0hhc2h0YWJsZSwKLSAgIGRlZmluZSB0aGUgPGNvZGU+aGFzaENvZGUoKTwvY29kZT4gbWV0aG9kCi0gICB0byB0aHJvdyA8Y29kZT5VbnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbjwvY29kZT4uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUNfU1VQRVJDTEFTU19VU0VTX1NVQkNMQVNTX0RVUklOR19JTklUSUFMSVpBVElPTiI+SUM6IFN1cGVyY2xhc3MgdXNlcyBzdWJjbGFzcyBkdXJpbmcgaW5pdGlhbGl6YXRpb24gKElDX1NVUEVSQ0xBU1NfVVNFU19TVUJDTEFTU19EVVJJTkdfSU5JVElBTElaQVRJT04pPC9hPjwvaDM+Ci0KLQotICA8cD4gRHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbiBvZiBhIGNsYXNzLCB0aGUgY2xhc3MgbWFrZXMgYW4gYWN0aXZlIHVzZSBvZiBhIHN1YmNsYXNzLgotVGhhdCBzdWJjbGFzcyB3aWxsIG5vdCB5ZXQgYmUgaW5pdGlhbGl6ZWQgYXQgdGhlIHRpbWUgb2YgdGhpcyB1c2UuCi1Gb3IgZXhhbXBsZSwgaW4gdGhlIGZvbGxvd2luZyBjb2RlLCA8Y29kZT5mb288L2NvZGU+IHdpbGwgYmUgbnVsbC48L3A+Ci0KLTxwcmU+Ci1wdWJsaWMgY2xhc3MgQ2lyY3VsYXJDbGFzc0luaXRpYWxpemF0aW9uIHsKLSAgICBzdGF0aWMgY2xhc3MgSW5uZXJDbGFzc1NpbmdsZXRvbiBleHRlbmRzIENpcmN1bGFyQ2xhc3NJbml0aWFsaXphdGlvbiB7Ci0gICAgICAgIHN0YXRpYyBJbm5lckNsYXNzU2luZ2xldG9uIHNpbmdsZXRvbiA9IG5ldyBJbm5lckNsYXNzU2luZ2xldG9uKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIENpcmN1bGFyQ2xhc3NJbml0aWFsaXphdGlvbiBmb28gPSBJbm5lckNsYXNzU2luZ2xldG9uLnNpbmdsZXRvbjsKLX0KLTwvcHJlPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJJTVNFX0RPTlRfQ0FUQ0hfSU1TRSI+SU1TRTogRHViaW91cyBjYXRjaGluZyBvZiBJbGxlZ2FsTW9uaXRvclN0YXRlRXhjZXB0aW9uIChJTVNFX0RPTlRfQ0FUQ0hfSU1TRSk8L2E+PC9oMz4KLQotCi08cD5JbGxlZ2FsTW9uaXRvclN0YXRlRXhjZXB0aW9uIGlzIGdlbmVyYWxseSBvbmx5Ci0gICB0aHJvd24gaW4gY2FzZSBvZiBhIGRlc2lnbiBmbGF3IGluIHlvdXIgY29kZSAoY2FsbGluZyB3YWl0IG9yCi0gICBub3RpZnkgb24gYW4gb2JqZWN0IHlvdSBkbyBub3QgaG9sZCBhIGxvY2sgb24pLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklTQ19JTlNUQU5USUFURV9TVEFUSUNfQ0xBU1MiPklTQzogTmVlZGxlc3MgaW5zdGFudGlhdGlvbiBvZiBjbGFzcyB0aGF0IG9ubHkgc3VwcGxpZXMgc3RhdGljIG1ldGhvZHMgKElTQ19JTlNUQU5USUFURV9TVEFUSUNfQ0xBU1MpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgY2xhc3MgYWxsb2NhdGVzIGFuIG9iamVjdCB0aGF0IGlzIGJhc2VkIG9uIGEgY2xhc3MgdGhhdCBvbmx5IHN1cHBsaWVzIHN0YXRpYyBtZXRob2RzLiBUaGlzIG9iamVjdAotZG9lcyBub3QgbmVlZCB0byBiZSBjcmVhdGVkLCBqdXN0IGFjY2VzcyB0aGUgc3RhdGljIG1ldGhvZHMgZGlyZWN0bHkgdXNpbmcgdGhlIGNsYXNzIG5hbWUgYXMgYSBxdWFsaWZpZXIuPC9wPgotCi0gICAgICAgIAotPGgzPjxhIG5hbWU9IklUX05PX1NVQ0hfRUxFTUVOVCI+SXQ6IEl0ZXJhdG9yIG5leHQoKSBtZXRob2QgY2FuJ3QgdGhyb3cgTm9TdWNoRWxlbWVudEV4Y2VwdGlvbiAoSVRfTk9fU1VDSF9FTEVNRU5UKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgPGNvZGU+amF2YS51dGlsLkl0ZXJhdG9yPC9jb2RlPiBpbnRlcmZhY2UuJm5ic3A7Ci0gIEhvd2V2ZXIsIGl0cyA8Y29kZT5uZXh0KCk8L2NvZGU+IG1ldGhvZCBpcyBub3QgY2FwYWJsZSBvZiB0aHJvd2luZwotICA8Y29kZT5qYXZhLnV0aWwuTm9TdWNoRWxlbWVudEV4Y2VwdGlvbjwvY29kZT4uJm5ic3A7IFRoZSA8Y29kZT5uZXh0KCk8L2NvZGU+Ci0gIG1ldGhvZCBzaG91bGQgYmUgY2hhbmdlZCBzbyBpdCB0aHJvd3MgPGNvZGU+Tm9TdWNoRWxlbWVudEV4Y2VwdGlvbjwvY29kZT4KLSAgaWYgaXMgY2FsbGVkIHdoZW4gdGhlcmUgYXJlIG5vIG1vcmUgZWxlbWVudHMgdG8gcmV0dXJuLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkoyRUVfU1RPUkVfT0ZfTk9OX1NFUklBTElaQUJMRV9PQkpFQ1RfSU5UT19TRVNTSU9OIj5KMkVFOiBTdG9yZSBvZiBub24gc2VyaWFsaXphYmxlIG9iamVjdCBpbnRvIEh0dHBTZXNzaW9uIChKMkVFX1NUT1JFX09GX05PTl9TRVJJQUxJWkFCTEVfT0JKRUNUX0lOVE9fU0VTU0lPTik8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBzZWVtcyB0byBiZSBzdG9yaW5nIGEgbm9uLXNlcmlhbGl6YWJsZSBvYmplY3QgaW50byBhbiBIdHRwU2Vzc2lvbi4KLUlmIHRoaXMgc2Vzc2lvbiBpcyBwYXNzaXZhdGVkIG9yIG1pZ3JhdGVkLCBhbiBlcnJvciB3aWxsIHJlc3VsdC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkpDSVBfRklFTERfSVNOVF9GSU5BTF9JTl9JTU1VVEFCTEVfQ0xBU1MiPkpDSVA6IEZpZWxkcyBvZiBpbW11dGFibGUgY2xhc3NlcyBzaG91bGQgYmUgZmluYWwgKEpDSVBfRklFTERfSVNOVF9GSU5BTF9JTl9JTU1VVEFCTEVfQ0xBU1MpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIGNsYXNzIGlzIGFubm90YXRlZCB3aXRoIG5ldC5qY2lwLmFubm90YXRpb25zLkltbXV0YWJsZSBvciBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuSW1tdXRhYmxlLAotICBhbmQgdGhlIHJ1bGVzIGZvciB0aG9zZSBhbm5vdGF0aW9ucyByZXF1aXJlIHRoYXQgYWxsIGZpZWxkcyBhcmUgZmluYWwuCi0gICAuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfQk9PTEVBTl9SRVRVUk5fTlVMTCI+TlA6IE1ldGhvZCB3aXRoIEJvb2xlYW4gcmV0dXJuIHR5cGUgcmV0dXJucyBleHBsaWNpdCBudWxsIChOUF9CT09MRUFOX1JFVFVSTl9OVUxMKTwvYT48L2gzPgotCi0gICAgICAgCi0gICAgICAgPHA+Ci0gICAgQSBtZXRob2QgdGhhdCByZXR1cm5zIGVpdGhlciBCb29sZWFuLlRSVUUsIEJvb2xlYW4uRkFMU0Ugb3IgbnVsbCBpcyBhbiBhY2NpZGVudCB3YWl0aW5nIHRvIGhhcHBlbi4KLSAgICBUaGlzIG1ldGhvZCBjYW4gYmUgaW52b2tlZCBhcyB0aG91Z2ggaXQgcmV0dXJuZWQgYSB2YWx1ZSBvZiB0eXBlIGJvb2xlYW4sIGFuZAotICAgIHRoZSBjb21waWxlciB3aWxsIGluc2VydCBhdXRvbWF0aWMgdW5ib3hpbmcgb2YgdGhlIEJvb2xlYW4gdmFsdWUuIElmIGEgbnVsbCB2YWx1ZSBpcyByZXR1cm5lZCwKLSAgICB0aGlzIHdpbGwgcmVzdWx0IGluIGEgTnVsbFBvaW50ZXJFeGNlcHRpb24uCi0gICAgICAgPC9wPgotICAgICAgIAotICAgICAgIAotPGgzPjxhIG5hbWU9Ik5QX0NMT05FX0NPVUxEX1JFVFVSTl9OVUxMIj5OUDogQ2xvbmUgbWV0aG9kIG1heSByZXR1cm4gbnVsbCAoTlBfQ0xPTkVfQ09VTERfUkVUVVJOX05VTEwpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgVGhpcyBjbG9uZSBtZXRob2Qgc2VlbXMgdG8gcmV0dXJuIG51bGwgaW4gc29tZSBjaXJjdW1zdGFuY2VzLCBidXQgY2xvbmUgaXMgbmV2ZXIKLSAgICBhbGxvd2VkIHRvIHJldHVybiBhIG51bGwgdmFsdWUuICBJZiB5b3UgYXJlIGNvbnZpbmNlZCB0aGlzIHBhdGggaXMgdW5yZWFjaGFibGUsIHRocm93IGFuIEFzc2VydGlvbkVycm9yCi0gICAgaW5zdGVhZC4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iTlBfRVFVQUxTX1NIT1VMRF9IQU5ETEVfTlVMTF9BUkdVTUVOVCI+TlA6IGVxdWFscygpIG1ldGhvZCBkb2VzIG5vdCBjaGVjayBmb3IgbnVsbCBhcmd1bWVudCAoTlBfRVFVQUxTX1NIT1VMRF9IQU5ETEVfTlVMTF9BUkdVTUVOVCk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFRoaXMgaW1wbGVtZW50YXRpb24gb2YgZXF1YWxzKE9iamVjdCkgdmlvbGF0ZXMgdGhlIGNvbnRyYWN0IGRlZmluZWQKLSAgICAgIGJ5IGphdmEubGFuZy5PYmplY3QuZXF1YWxzKCkgYmVjYXVzZSBpdCBkb2VzIG5vdCBjaGVjayBmb3IgbnVsbAotICAgICAgYmVpbmcgcGFzc2VkIGFzIHRoZSBhcmd1bWVudC4gIEFsbCBlcXVhbHMoKSBtZXRob2RzIHNob3VsZCByZXR1cm4KLSAgICAgIGZhbHNlIGlmIHBhc3NlZCBhIG51bGwgdmFsdWUuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9Ik5QX1RPU1RSSU5HX0NPVUxEX1JFVFVSTl9OVUxMIj5OUDogdG9TdHJpbmcgbWV0aG9kIG1heSByZXR1cm4gbnVsbCAoTlBfVE9TVFJJTkdfQ09VTERfUkVUVVJOX05VTEwpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgVGhpcyB0b1N0cmluZyBtZXRob2Qgc2VlbXMgdG8gcmV0dXJuIG51bGwgaW4gc29tZSBjaXJjdW1zdGFuY2VzLiBBIGxpYmVyYWwgcmVhZGluZyBvZiB0aGUKLSAgICBzcGVjIGNvdWxkIGJlIGludGVycHJldGVkIGFzIGFsbG93aW5nIHRoaXMsIGJ1dCBpdCBpcyBwcm9iYWJseSBhIGJhZCBpZGVhIGFuZCBjb3VsZCBjYXVzZQotICAgIG90aGVyIGNvZGUgdG8gYnJlYWsuIFJldHVybiB0aGUgZW1wdHkgc3RyaW5nIG9yIHNvbWUgb3RoZXIgYXBwcm9wcmlhdGUgc3RyaW5nIHJhdGhlciB0aGFuIG51bGwuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9Ik5NX0NMQVNTX05BTUlOR19DT05WRU5USU9OIj5ObTogQ2xhc3MgbmFtZXMgc2hvdWxkIHN0YXJ0IHdpdGggYW4gdXBwZXIgY2FzZSBsZXR0ZXIgKE5NX0NMQVNTX05BTUlOR19DT05WRU5USU9OKTwvYT48L2gzPgotCi0KLSAgPHA+IENsYXNzIG5hbWVzIHNob3VsZCBiZSBub3VucywgaW4gbWl4ZWQgY2FzZSB3aXRoIHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCBpbnRlcm5hbCB3b3JkIGNhcGl0YWxpemVkLiBUcnkgdG8ga2VlcCB5b3VyIGNsYXNzIG5hbWVzIHNpbXBsZSBhbmQgZGVzY3JpcHRpdmUuIFVzZSB3aG9sZSB3b3Jkcy1hdm9pZCBhY3JvbnltcyBhbmQgYWJicmV2aWF0aW9ucyAodW5sZXNzIHRoZSBhYmJyZXZpYXRpb24gaXMgbXVjaCBtb3JlIHdpZGVseSB1c2VkIHRoYW4gdGhlIGxvbmcgZm9ybSwgc3VjaCBhcyBVUkwgb3IgSFRNTCkuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9DTEFTU19OT1RfRVhDRVBUSU9OIj5ObTogQ2xhc3MgaXMgbm90IGRlcml2ZWQgZnJvbSBhbiBFeGNlcHRpb24sIGV2ZW4gdGhvdWdoIGl0IGlzIG5hbWVkIGFzIHN1Y2ggKE5NX0NMQVNTX05PVF9FWENFUFRJT04pPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgY2xhc3MgaXMgbm90IGRlcml2ZWQgZnJvbSBhbm90aGVyIGV4Y2VwdGlvbiwgYnV0IGVuZHMgd2l0aCAnRXhjZXB0aW9uJy4gVGhpcyB3aWxsCi1iZSBjb25mdXNpbmcgdG8gdXNlcnMgb2YgdGhpcyBjbGFzcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9DT05GVVNJTkciPk5tOiBDb25mdXNpbmcgbWV0aG9kIG5hbWVzIChOTV9DT05GVVNJTkcpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIHJlZmVyZW5jZWQgbWV0aG9kcyBoYXZlIG5hbWVzIHRoYXQgZGlmZmVyIG9ubHkgYnkgY2FwaXRhbGl6YXRpb24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTk1fRklFTERfTkFNSU5HX0NPTlZFTlRJT04iPk5tOiBGaWVsZCBuYW1lcyBzaG91bGQgc3RhcnQgd2l0aCBhIGxvd2VyIGNhc2UgbGV0dGVyIChOTV9GSUVMRF9OQU1JTkdfQ09OVkVOVElPTik8L2E+PC9oMz4KLQotCi0gIDxwPgotTmFtZXMgb2YgZmllbGRzIHRoYXQgYXJlIG5vdCBmaW5hbCBzaG91bGQgYmUgaW4gbWl4ZWQgY2FzZSB3aXRoIGEgbG93ZXJjYXNlIGZpcnN0IGxldHRlciBhbmQgdGhlIGZpcnN0IGxldHRlcnMgb2Ygc3Vic2VxdWVudCB3b3JkcyBjYXBpdGFsaXplZC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX0ZVVFVSRV9LRVlXT1JEX1VTRURfQVNfSURFTlRJRklFUiI+Tm06IFVzZSBvZiBpZGVudGlmaWVyIHRoYXQgaXMgYSBrZXl3b3JkIGluIGxhdGVyIHZlcnNpb25zIG9mIEphdmEgKE5NX0ZVVFVSRV9LRVlXT1JEX1VTRURfQVNfSURFTlRJRklFUik8L2E+PC9oMz4KLQotCi08cD5UaGUgaWRlbnRpZmllciBpcyBhIHdvcmQgdGhhdCBpcyByZXNlcnZlZCBhcyBhIGtleXdvcmQgaW4gbGF0ZXIgdmVyc2lvbnMgb2YgSmF2YSwgYW5kIHlvdXIgY29kZSB3aWxsIG5lZWQgdG8gYmUgY2hhbmdlZAotaW4gb3JkZXIgdG8gY29tcGlsZSBpdCBpbiBsYXRlciB2ZXJzaW9ucyBvZiBKYXZhLjwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iTk1fRlVUVVJFX0tFWVdPUkRfVVNFRF9BU19NRU1CRVJfSURFTlRJRklFUiI+Tm06IFVzZSBvZiBpZGVudGlmaWVyIHRoYXQgaXMgYSBrZXl3b3JkIGluIGxhdGVyIHZlcnNpb25zIG9mIEphdmEgKE5NX0ZVVFVSRV9LRVlXT1JEX1VTRURfQVNfTUVNQkVSX0lERU5USUZJRVIpPC9hPjwvaDM+Ci0KLQotPHA+VGhpcyBpZGVudGlmaWVyIGlzIHVzZWQgYXMgYSBrZXl3b3JkIGluIGxhdGVyIHZlcnNpb25zIG9mIEphdmEuIFRoaXMgY29kZSwgYW5kCi1hbnkgY29kZSB0aGF0IHJlZmVyZW5jZXMgdGhpcyBBUEksCi13aWxsIG5lZWQgdG8gYmUgY2hhbmdlZCBpbiBvcmRlciB0byBjb21waWxlIGl0IGluIGxhdGVyIHZlcnNpb25zIG9mIEphdmEuPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9NRVRIT0RfTkFNSU5HX0NPTlZFTlRJT04iPk5tOiBNZXRob2QgbmFtZXMgc2hvdWxkIHN0YXJ0IHdpdGggYSBsb3dlciBjYXNlIGxldHRlciAoTk1fTUVUSE9EX05BTUlOR19DT05WRU5USU9OKTwvYT48L2gzPgotCi0KLSAgPHA+Ci1NZXRob2RzIHNob3VsZCBiZSB2ZXJicywgaW4gbWl4ZWQgY2FzZSB3aXRoIHRoZSBmaXJzdCBsZXR0ZXIgbG93ZXJjYXNlLCB3aXRoIHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCBpbnRlcm5hbCB3b3JkIGNhcGl0YWxpemVkLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTk1fU0FNRV9TSU1QTEVfTkFNRV9BU19JTlRFUkZBQ0UiPk5tOiBDbGFzcyBuYW1lcyBzaG91bGRuJ3Qgc2hhZG93IHNpbXBsZSBuYW1lIG9mIGltcGxlbWVudGVkIGludGVyZmFjZSAoTk1fU0FNRV9TSU1QTEVfTkFNRV9BU19JTlRFUkZBQ0UpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcy9pbnRlcmZhY2UgaGFzIGEgc2ltcGxlIG5hbWUgdGhhdCBpcyBpZGVudGljYWwgdG8gdGhhdCBvZiBhbiBpbXBsZW1lbnRlZC9leHRlbmRlZCBpbnRlcmZhY2UsIGV4Y2VwdAotdGhhdCB0aGUgaW50ZXJmYWNlIGlzIGluIGEgZGlmZmVyZW50IHBhY2thZ2UgKGUuZy4sIDxjb2RlPmFscGhhLkZvbzwvY29kZT4gZXh0ZW5kcyA8Y29kZT5iZXRhLkZvbzwvY29kZT4pLgotVGhpcyBjYW4gYmUgZXhjZXB0aW9uYWxseSBjb25mdXNpbmcsIGNyZWF0ZSBsb3RzIG9mIHNpdHVhdGlvbnMgaW4gd2hpY2ggeW91IGhhdmUgdG8gbG9vayBhdCBpbXBvcnQgc3RhdGVtZW50cwotdG8gcmVzb2x2ZSByZWZlcmVuY2VzIGFuZCBjcmVhdGVzIG1hbnkKLW9wcG9ydHVuaXRpZXMgdG8gYWNjaWRlbnRseSBkZWZpbmUgbWV0aG9kcyB0aGF0IGRvIG5vdCBvdmVycmlkZSBtZXRob2RzIGluIHRoZWlyIHN1cGVyY2xhc3Nlcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX1NBTUVfU0lNUExFX05BTUVfQVNfU1VQRVJDTEFTUyI+Tm06IENsYXNzIG5hbWVzIHNob3VsZG4ndCBzaGFkb3cgc2ltcGxlIG5hbWUgb2Ygc3VwZXJjbGFzcyAoTk1fU0FNRV9TSU1QTEVfTkFNRV9BU19TVVBFUkNMQVNTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaGFzIGEgc2ltcGxlIG5hbWUgdGhhdCBpcyBpZGVudGljYWwgdG8gdGhhdCBvZiBpdHMgc3VwZXJjbGFzcywgZXhjZXB0Ci10aGF0IGl0cyBzdXBlcmNsYXNzIGlzIGluIGEgZGlmZmVyZW50IHBhY2thZ2UgKGUuZy4sIDxjb2RlPmFscGhhLkZvbzwvY29kZT4gZXh0ZW5kcyA8Y29kZT5iZXRhLkZvbzwvY29kZT4pLgotVGhpcyBjYW4gYmUgZXhjZXB0aW9uYWxseSBjb25mdXNpbmcsIGNyZWF0ZSBsb3RzIG9mIHNpdHVhdGlvbnMgaW4gd2hpY2ggeW91IGhhdmUgdG8gbG9vayBhdCBpbXBvcnQgc3RhdGVtZW50cwotdG8gcmVzb2x2ZSByZWZlcmVuY2VzIGFuZCBjcmVhdGVzIG1hbnkKLW9wcG9ydHVuaXRpZXMgdG8gYWNjaWRlbnRseSBkZWZpbmUgbWV0aG9kcyB0aGF0IGRvIG5vdCBvdmVycmlkZSBtZXRob2RzIGluIHRoZWlyIHN1cGVyY2xhc3Nlcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX1ZFUllfQ09ORlVTSU5HX0lOVEVOVElPTkFMIj5ObTogVmVyeSBjb25mdXNpbmcgbWV0aG9kIG5hbWVzIChidXQgcGVyaGFwcyBpbnRlbnRpb25hbCkgKE5NX1ZFUllfQ09ORlVTSU5HX0lOVEVOVElPTkFMKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSByZWZlcmVuY2VkIG1ldGhvZHMgaGF2ZSBuYW1lcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGNhcGl0YWxpemF0aW9uLgotVGhpcyBpcyB2ZXJ5IGNvbmZ1c2luZyBiZWNhdXNlIGlmIHRoZSBjYXBpdGFsaXphdGlvbiB3ZXJlCi1pZGVudGljYWwgdGhlbiBvbmUgb2YgdGhlIG1ldGhvZHMgd291bGQgb3ZlcnJpZGUgdGhlIG90aGVyLiBGcm9tIHRoZSBleGlzdGVuY2Ugb2Ygb3RoZXIgbWV0aG9kcywgaXQKLXNlZW1zIHRoYXQgdGhlIGV4aXN0ZW5jZSBvZiBib3RoIG9mIHRoZXNlIG1ldGhvZHMgaXMgaW50ZW50aW9uYWwsIGJ1dCBpcyBzdXJlIGlzIGNvbmZ1c2luZy4KLVlvdSBzaG91bGQgdHJ5IGhhcmQgdG8gZWxpbWluYXRlIG9uZSBvZiB0aGVtLCB1bmxlc3MgeW91IGFyZSBmb3JjZWQgdG8gaGF2ZSBib3RoIGR1ZSB0byBmcm96ZW4gQVBJcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX1dST05HX1BBQ0tBR0VfSU5URU5USU9OQUwiPk5tOiBNZXRob2QgZG9lc24ndCBvdmVycmlkZSBtZXRob2QgaW4gc3VwZXJjbGFzcyBkdWUgdG8gd3JvbmcgcGFja2FnZSBmb3IgcGFyYW1ldGVyIChOTV9XUk9OR19QQUNLQUdFX0lOVEVOVElPTkFMKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBtZXRob2QgaW4gdGhlIHN1YmNsYXNzIGRvZXNuJ3Qgb3ZlcnJpZGUgYSBzaW1pbGFyIG1ldGhvZCBpbiBhIHN1cGVyY2xhc3MgYmVjYXVzZSB0aGUgdHlwZSBvZiBhIHBhcmFtZXRlciBkb2Vzbid0IGV4YWN0bHkgbWF0Y2gKLXRoZSB0eXBlIG9mIHRoZSBjb3JyZXNwb25kaW5nIHBhcmFtZXRlciBpbiB0aGUgc3VwZXJjbGFzcy4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlOjwvcD4KLQotPGJsb2NrcXVvdGU+Ci08cHJlPgotaW1wb3J0IGFscGhhLkZvbzsKLXB1YmxpYyBjbGFzcyBBIHsKLSAgcHVibGljIGludCBmKEZvbyB4KSB7IHJldHVybiAxNzsgfQotfQotLS0tLQotaW1wb3J0IGJldGEuRm9vOwotcHVibGljIGNsYXNzIEIgZXh0ZW5kcyBBIHsKLSAgcHVibGljIGludCBmKEZvbyB4KSB7IHJldHVybiA0MjsgfQotICBwdWJsaWMgaW50IGYoYWxwaGEuRm9vIHgpIHsgcmV0dXJuIDI3OyB9Ci19Ci08L3ByZT4KLTwvYmxvY2txdW90ZT4KLQotPHA+VGhlIDxjb2RlPmYoRm9vKTwvY29kZT4gbWV0aG9kIGRlZmluZWQgaW4gY2xhc3MgPGNvZGU+QjwvY29kZT4gZG9lc24ndAotb3ZlcnJpZGUgdGhlCi08Y29kZT5mKEZvbyk8L2NvZGU+IG1ldGhvZCBkZWZpbmVkIGluIGNsYXNzIDxjb2RlPkE8L2NvZGU+LCBiZWNhdXNlIHRoZSBhcmd1bWVudAotdHlwZXMgYXJlIDxjb2RlPkZvbzwvY29kZT4ncyBmcm9tIGRpZmZlcmVudCBwYWNrYWdlcy4KLTwvcD4KLQotPHA+SW4gdGhpcyBjYXNlLCB0aGUgc3ViY2xhc3MgZG9lcyBkZWZpbmUgYSBtZXRob2Qgd2l0aCBhIHNpZ25hdHVyZSBpZGVudGljYWwgdG8gdGhlIG1ldGhvZCBpbiB0aGUgc3VwZXJjbGFzcywKLXNvIHRoaXMgaXMgcHJlc3VtYWJseSB1bmRlcnN0b29kLiBIb3dldmVyLCBzdWNoIG1ldGhvZHMgYXJlIGV4Y2VwdGlvbmFsbHkgY29uZnVzaW5nLiBZb3Ugc2hvdWxkIHN0cm9uZ2x5IGNvbnNpZGVyCi1yZW1vdmluZyBvciBkZXByZWNhdGluZyB0aGUgbWV0aG9kIHdpdGggdGhlIHNpbWlsYXIgYnV0IG5vdCBpZGVudGljYWwgc2lnbmF0dXJlLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iT0RSX09QRU5fREFUQUJBU0VfUkVTT1VSQ0UiPk9EUjogTWV0aG9kIG1heSBmYWlsIHRvIGNsb3NlIGRhdGFiYXNlIHJlc291cmNlIChPRFJfT1BFTl9EQVRBQkFTRV9SRVNPVVJDRSk8L2E+PC9oMz4KLQotCi08cD4gVGhlIG1ldGhvZCBjcmVhdGVzIGEgZGF0YWJhc2UgcmVzb3VyY2UgKHN1Y2ggYXMgYSBkYXRhYmFzZSBjb25uZWN0aW9uCi1vciByb3cgc2V0KSwgZG9lcyBub3QgYXNzaWduIGl0IHRvIGFueQotZmllbGRzLCBwYXNzIGl0IHRvIG90aGVyIG1ldGhvZHMsIG9yIHJldHVybiBpdCwgYW5kIGRvZXMgbm90IGFwcGVhciB0byBjbG9zZQotdGhlIG9iamVjdCBvbiBhbGwgcGF0aHMgb3V0IG9mIHRoZSBtZXRob2QuJm5ic3A7IEZhaWx1cmUgdG8KLWNsb3NlIGRhdGFiYXNlIHJlc291cmNlcyBvbiBhbGwgcGF0aHMgb3V0IG9mIGEgbWV0aG9kIG1heQotcmVzdWx0IGluIHBvb3IgcGVyZm9ybWFuY2UsIGFuZCBjb3VsZCBjYXVzZSB0aGUgYXBwbGljYXRpb24gdG8KLWhhdmUgcHJvYmxlbXMgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBkYXRhYmFzZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik9EUl9PUEVOX0RBVEFCQVNFX1JFU09VUkNFX0VYQ0VQVElPTl9QQVRIIj5PRFI6IE1ldGhvZCBtYXkgZmFpbCB0byBjbG9zZSBkYXRhYmFzZSByZXNvdXJjZSBvbiBleGNlcHRpb24gKE9EUl9PUEVOX0RBVEFCQVNFX1JFU09VUkNFX0VYQ0VQVElPTl9QQVRIKTwvYT48L2gzPgotCi0KLTxwPiBUaGUgbWV0aG9kIGNyZWF0ZXMgYSBkYXRhYmFzZSByZXNvdXJjZSAoc3VjaCBhcyBhIGRhdGFiYXNlIGNvbm5lY3Rpb24KLW9yIHJvdyBzZXQpLCBkb2VzIG5vdCBhc3NpZ24gaXQgdG8gYW55Ci1maWVsZHMsIHBhc3MgaXQgdG8gb3RoZXIgbWV0aG9kcywgb3IgcmV0dXJuIGl0LCBhbmQgZG9lcyBub3QgYXBwZWFyIHRvIGNsb3NlCi10aGUgb2JqZWN0IG9uIGFsbCBleGNlcHRpb24gcGF0aHMgb3V0IG9mIHRoZSBtZXRob2QuJm5ic3A7IEZhaWx1cmUgdG8KLWNsb3NlIGRhdGFiYXNlIHJlc291cmNlcyBvbiBhbGwgcGF0aHMgb3V0IG9mIGEgbWV0aG9kIG1heQotcmVzdWx0IGluIHBvb3IgcGVyZm9ybWFuY2UsIGFuZCBjb3VsZCBjYXVzZSB0aGUgYXBwbGljYXRpb24gdG8KLWhhdmUgcHJvYmxlbXMgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBkYXRhYmFzZS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJPU19PUEVOX1NUUkVBTSI+T1M6IE1ldGhvZCBtYXkgZmFpbCB0byBjbG9zZSBzdHJlYW0gKE9TX09QRU5fU1RSRUFNKTwvYT48L2gzPgotCi0KLTxwPiBUaGUgbWV0aG9kIGNyZWF0ZXMgYW4gSU8gc3RyZWFtIG9iamVjdCwgZG9lcyBub3QgYXNzaWduIGl0IHRvIGFueQotZmllbGRzLCBwYXNzIGl0IHRvIG90aGVyIG1ldGhvZHMgdGhhdCBtaWdodCBjbG9zZSBpdCwKLW9yIHJldHVybiBpdCwgYW5kIGRvZXMgbm90IGFwcGVhciB0byBjbG9zZQotdGhlIHN0cmVhbSBvbiBhbGwgcGF0aHMgb3V0IG9mIHRoZSBtZXRob2QuJm5ic3A7IFRoaXMgbWF5IHJlc3VsdCBpbgotYSBmaWxlIGRlc2NyaXB0b3IgbGVhay4mbmJzcDsgSXQgaXMgZ2VuZXJhbGx5IGEgZ29vZAotaWRlYSB0byB1c2UgYSA8Y29kZT5maW5hbGx5PC9jb2RlPiBibG9jayB0byBlbnN1cmUgdGhhdCBzdHJlYW1zIGFyZQotY2xvc2VkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik9TX09QRU5fU1RSRUFNX0VYQ0VQVElPTl9QQVRIIj5PUzogTWV0aG9kIG1heSBmYWlsIHRvIGNsb3NlIHN0cmVhbSBvbiBleGNlcHRpb24gKE9TX09QRU5fU1RSRUFNX0VYQ0VQVElPTl9QQVRIKTwvYT48L2gzPgotCi0KLTxwPiBUaGUgbWV0aG9kIGNyZWF0ZXMgYW4gSU8gc3RyZWFtIG9iamVjdCwgZG9lcyBub3QgYXNzaWduIGl0IHRvIGFueQotZmllbGRzLCBwYXNzIGl0IHRvIG90aGVyIG1ldGhvZHMsIG9yIHJldHVybiBpdCwgYW5kIGRvZXMgbm90IGFwcGVhciB0byBjbG9zZQotaXQgb24gYWxsIHBvc3NpYmxlIGV4Y2VwdGlvbiBwYXRocyBvdXQgb2YgdGhlIG1ldGhvZC4mbmJzcDsKLVRoaXMgbWF5IHJlc3VsdCBpbiBhIGZpbGUgZGVzY3JpcHRvciBsZWFrLiZuYnNwOyBJdCBpcyBnZW5lcmFsbHkgYSBnb29kCi1pZGVhIHRvIHVzZSBhIDxjb2RlPmZpbmFsbHk8L2NvZGU+IGJsb2NrIHRvIGVuc3VyZSB0aGF0IHN0cmVhbXMgYXJlCi1jbG9zZWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUFpfRE9OVF9SRVVTRV9FTlRSWV9PQkpFQ1RTX0lOX0lURVJBVE9SUyI+UFo6IERvbid0IHJldXNlIGVudHJ5IG9iamVjdHMgaW4gaXRlcmF0b3JzIChQWl9ET05UX1JFVVNFX0VOVFJZX09CSkVDVFNfSU5fSVRFUkFUT1JTKTwvYT48L2gzPgotCi0gICAgIAotICAgICA8cD4gVGhlIGVudHJ5U2V0KCkgbWV0aG9kIGlzIGFsbG93ZWQgdG8gcmV0dXJuIGEgdmlldyBvZiB0aGUKLSAgICAgdW5kZXJseWluZyBNYXAgaW4gd2hpY2ggYW4gSXRlcmF0b3IgYW5kIE1hcC5FbnRyeS4gVGhpcyBjbGV2ZXIKLSAgICAgaWRlYSB3YXMgdXNlZCBpbiBzZXZlcmFsIE1hcCBpbXBsZW1lbnRhdGlvbnMsIGJ1dCBpbnRyb2R1Y2VzIHRoZSBwb3NzaWJpbGl0eQotICAgICBvZiBuYXN0eSBjb2RpbmcgbWlzdGFrZXMuIElmIGEgbWFwIDxjb2RlPm08L2NvZGU+IHJldHVybnMKLSAgICAgc3VjaCBhbiBpdGVyYXRvciBmb3IgYW4gZW50cnlTZXQsIHRoZW4KLSAgICAgPGNvZGU+Yy5hZGRBbGwobS5lbnRyeVNldCgpKTwvY29kZT4gd2lsbCBnbyBiYWRseSB3cm9uZy4gQWxsIG9mCi0gICAgIHRoZSBNYXAgaW1wbGVtZW50YXRpb25zIGluIE9wZW5KREsgMS43IGhhdmUgYmVlbiByZXdyaXR0ZW4gdG8gYXZvaWQgdGhpcywKLSAgICAgeW91IHNob3VsZCB0by4KLSAgICA8L3A+Ci0gICAgIAotICAgIAotPGgzPjxhIG5hbWU9IlJDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRSI+UkM6IFN1c3BpY2lvdXMgcmVmZXJlbmNlIGNvbXBhcmlzb24gdG8gY29uc3RhbnQgKFJDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29tcGFyZXMgYSByZWZlcmVuY2UgdmFsdWUgdG8gYSBjb25zdGFudCB1c2luZyB0aGUgPT0gb3IgIT0gb3BlcmF0b3IsCi13aGVyZSB0aGUgY29ycmVjdCB3YXkgdG8gY29tcGFyZSBpbnN0YW5jZXMgb2YgdGhpcyB0eXBlIGlzIGdlbmVyYWxseQotd2l0aCB0aGUgZXF1YWxzKCkgbWV0aG9kLgotSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpc3RpbmN0IGluc3RhbmNlcyB0aGF0IGFyZSBlcXVhbCBidXQgZG8gbm90IGNvbXBhcmUgYXMgPT0gc2luY2UKLXRoZXkgYXJlIGRpZmZlcmVudCBvYmplY3RzLgotRXhhbXBsZXMgb2YgY2xhc3NlcyB3aGljaCBzaG91bGQgZ2VuZXJhbGx5Ci1ub3QgYmUgY29tcGFyZWQgYnkgcmVmZXJlbmNlIGFyZSBqYXZhLmxhbmcuSW50ZWdlciwgamF2YS5sYW5nLkZsb2F0LCBldGMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkNfUkVGX0NPTVBBUklTT05fQkFEX1BSQUNUSUNFX0JPT0xFQU4iPlJDOiBTdXNwaWNpb3VzIHJlZmVyZW5jZSBjb21wYXJpc29uIG9mIEJvb2xlYW4gdmFsdWVzIChSQ19SRUZfQ09NUEFSSVNPTl9CQURfUFJBQ1RJQ0VfQk9PTEVBTik8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29tcGFyZXMgdHdvIEJvb2xlYW4gdmFsdWVzIHVzaW5nIHRoZSA9PSBvciAhPSBvcGVyYXRvci4KLU5vcm1hbGx5LCB0aGVyZSBhcmUgb25seSB0d28gQm9vbGVhbiB2YWx1ZXMgKEJvb2xlYW4uVFJVRSBhbmQgQm9vbGVhbi5GQUxTRSksCi1idXQgaXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIG90aGVyIEJvb2xlYW4gb2JqZWN0cyB1c2luZyB0aGUgPGNvZGU+bmV3IEJvb2xlYW4oYik8L2NvZGU+Ci1jb25zdHJ1Y3Rvci4gSXQgaXMgYmVzdCB0byBhdm9pZCBzdWNoIG9iamVjdHMsIGJ1dCBpZiB0aGV5IGRvIGV4aXN0LAotdGhlbiBjaGVja2luZyBCb29sZWFuIG9iamVjdHMgZm9yIGVxdWFsaXR5IHVzaW5nID09IG9yICE9IHdpbGwgZ2l2ZSByZXN1bHRzCi10aGFuIGFyZSBkaWZmZXJlbnQgdGhhbiB5b3Ugd291bGQgZ2V0IHVzaW5nIDxjb2RlPi5lcXVhbHMoLi4uKTwvY29kZT4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJSX05PVF9DSEVDS0VEIj5SUjogTWV0aG9kIGlnbm9yZXMgcmVzdWx0cyBvZiBJbnB1dFN0cmVhbS5yZWFkKCkgKFJSX05PVF9DSEVDS0VEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIGlnbm9yZXMgdGhlIHJldHVybiB2YWx1ZSBvZiBvbmUgb2YgdGhlIHZhcmlhbnRzIG9mCi0gIDxjb2RlPmphdmEuaW8uSW5wdXRTdHJlYW0ucmVhZCgpPC9jb2RlPiB3aGljaCBjYW4gcmV0dXJuIG11bHRpcGxlIGJ5dGVzLiZuYnNwOwotICBJZiB0aGUgcmV0dXJuIHZhbHVlIGlzIG5vdCBjaGVja2VkLCB0aGUgY2FsbGVyIHdpbGwgbm90IGJlIGFibGUgdG8gY29ycmVjdGx5Ci0gIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBmZXdlciBieXRlcyB3ZXJlIHJlYWQgdGhhbiB0aGUgY2FsbGVyIHJlcXVlc3RlZC4mbmJzcDsKLSAgVGhpcyBpcyBhIHBhcnRpY3VsYXJseSBpbnNpZGlvdXMga2luZCBvZiBidWcsIGJlY2F1c2UgaW4gbWFueSBwcm9ncmFtcywKLSAgcmVhZHMgZnJvbSBpbnB1dCBzdHJlYW1zIHVzdWFsbHkgZG8gcmVhZCB0aGUgZnVsbCBhbW91bnQgb2YgZGF0YSByZXF1ZXN0ZWQsCi0gIGNhdXNpbmcgdGhlIHByb2dyYW0gdG8gZmFpbCBvbmx5IHNwb3JhZGljYWxseS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTUl9OT1RfQ0hFQ0tFRCI+UlI6IE1ldGhvZCBpZ25vcmVzIHJlc3VsdHMgb2YgSW5wdXRTdHJlYW0uc2tpcCgpIChTUl9OT1RfQ0hFQ0tFRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBpZ25vcmVzIHRoZSByZXR1cm4gdmFsdWUgb2YKLSAgPGNvZGU+amF2YS5pby5JbnB1dFN0cmVhbS5za2lwKCk8L2NvZGU+IHdoaWNoIGNhbiBza2lwIG11bHRpcGxlIGJ5dGVzLiZuYnNwOwotICBJZiB0aGUgcmV0dXJuIHZhbHVlIGlzIG5vdCBjaGVja2VkLCB0aGUgY2FsbGVyIHdpbGwgbm90IGJlIGFibGUgdG8gY29ycmVjdGx5Ci0gIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBmZXdlciBieXRlcyB3ZXJlIHNraXBwZWQgdGhhbiB0aGUgY2FsbGVyIHJlcXVlc3RlZC4mbmJzcDsKLSAgVGhpcyBpcyBhIHBhcnRpY3VsYXJseSBpbnNpZGlvdXMga2luZCBvZiBidWcsIGJlY2F1c2UgaW4gbWFueSBwcm9ncmFtcywKLSAgc2tpcHMgZnJvbSBpbnB1dCBzdHJlYW1zIHVzdWFsbHkgZG8gc2tpcCB0aGUgZnVsbCBhbW91bnQgb2YgZGF0YSByZXF1ZXN0ZWQsCi0gIGNhdXNpbmcgdGhlIHByb2dyYW0gdG8gZmFpbCBvbmx5IHNwb3JhZGljYWxseS4gV2l0aCBCdWZmZXJlZCBzdHJlYW1zLCBob3dldmVyLAotICBza2lwKCkgd2lsbCBvbmx5IHNraXAgZGF0YSBpbiB0aGUgYnVmZmVyLCBhbmQgd2lsbCByb3V0aW5lbHkgZmFpbCB0byBza2lwIHRoZQotICByZXF1ZXN0ZWQgbnVtYmVyIG9mIGJ5dGVzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJWX05FR0FUSU5HX1JFU1VMVF9PRl9DT01QQVJFVE8iPlJWOiBOZWdhdGluZyB0aGUgcmVzdWx0IG9mIGNvbXBhcmVUbygpL2NvbXBhcmUoKSAoUlZfTkVHQVRJTkdfUkVTVUxUX09GX0NPTVBBUkVUTyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNvZGUgbmVnYXRpdmVzIHRoZSByZXR1cm4gdmFsdWUgb2YgYSBjb21wYXJlVG8gb3IgY29tcGFyZSBtZXRob2QuCi1UaGlzIGlzIGEgcXVlc3Rpb25hYmxlIG9yIGJhZCBwcm9ncmFtbWluZyBwcmFjdGljZSwgc2luY2UgaWYgdGhlIHJldHVybgotdmFsdWUgaXMgSW50ZWdlci5NSU5fVkFMVUUsIG5lZ2F0aW5nIHRoZSByZXR1cm4gdmFsdWUgd29uJ3QKLW5lZ2F0ZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0LiBZb3UgY2FuIGFjaGlldmUgdGhlIHNhbWUgaW50ZW5kZWQgcmVzdWx0Ci1ieSByZXZlcnNpbmcgdGhlIG9yZGVyIG9mIHRoZSBvcGVyYW5kcyByYXRoZXIgdGhhbiBieSBuZWdhdGluZyB0aGUgcmVzdWx0cy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJWX1JFVFVSTl9WQUxVRV9JR05PUkVEX0JBRF9QUkFDVElDRSI+UlY6IE1ldGhvZCBpZ25vcmVzIGV4Y2VwdGlvbmFsIHJldHVybiB2YWx1ZSAoUlZfUkVUVVJOX1ZBTFVFX0lHTk9SRURfQkFEX1BSQUNUSUNFKTwvYT48L2gzPgotCi0KLSAgIDxwPiBUaGlzIG1ldGhvZCByZXR1cm5zIGEgdmFsdWUgdGhhdCBpcyBub3QgY2hlY2tlZC4gVGhlIHJldHVybiB2YWx1ZSBzaG91bGQgYmUgY2hlY2tlZAotc2luY2UgaXQgY2FuIGluZGljYXRlIGFuIHVudXN1YWwgb3IgdW5leHBlY3RlZCBmdW5jdGlvbiBleGVjdXRpb24uIEZvcgotZXhhbXBsZSwgdGhlIDxjb2RlPkZpbGUuZGVsZXRlKCk8L2NvZGU+IG1ldGhvZCByZXR1cm5zIGZhbHNlCi1pZiB0aGUgZmlsZSBjb3VsZCBub3QgYmUgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgKHJhdGhlciB0aGFuCi10aHJvd2luZyBhbiBFeGNlcHRpb24pLgotSWYgeW91IGRvbid0IGNoZWNrIHRoZSByZXN1bHQsIHlvdSB3b24ndCBub3RpY2UgaWYgdGhlIG1ldGhvZCBpbnZvY2F0aW9uCi1zaWduYWxzIHVuZXhwZWN0ZWQgYmVoYXZpb3IgYnkgcmV0dXJuaW5nIGFuIGF0eXBpY2FsIHJldHVybiB2YWx1ZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNJX0lOU1RBTkNFX0JFRk9SRV9GSU5BTFNfQVNTSUdORUQiPlNJOiBTdGF0aWMgaW5pdGlhbGl6ZXIgY3JlYXRlcyBpbnN0YW5jZSBiZWZvcmUgYWxsIHN0YXRpYyBmaW5hbCBmaWVsZHMgYXNzaWduZWQgKFNJX0lOU1RBTkNFX0JFRk9SRV9GSU5BTFNfQVNTSUdORUQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoZSBjbGFzcydzIHN0YXRpYyBpbml0aWFsaXplciBjcmVhdGVzIGFuIGluc3RhbmNlIG9mIHRoZSBjbGFzcwotYmVmb3JlIGFsbCBvZiB0aGUgc3RhdGljIGZpbmFsIGZpZWxkcyBhcmUgYXNzaWduZWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU1dfU1dJTkdfTUVUSE9EU19JTlZPS0VEX0lOX1NXSU5HX1RIUkVBRCI+U1c6IENlcnRhaW4gc3dpbmcgbWV0aG9kcyBuZWVkcyB0byBiZSBpbnZva2VkIGluIFN3aW5nIHRocmVhZCAoU1dfU1dJTkdfTUVUSE9EU19JTlZPS0VEX0lOX1NXSU5HX1RIUkVBRCk8L2E+PC9oMz4KLQotCi08cD4oPGEgaHJlZj0iaHR0cDovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAwOTA1MjYxNzA0MjYvaHR0cDovL2phdmEuc3VuLmNvbS9kZXZlbG9wZXIvSkRDVGVjaFRpcHMvMjAwMy90dDEyMDguaHRtbCI+RnJvbSBKREMgVGVjaCBUaXA8L2E+KTogVGhlIFN3aW5nIG1ldGhvZHMKLXNob3coKSwgc2V0VmlzaWJsZSgpLCBhbmQgcGFjaygpIHdpbGwgY3JlYXRlIHRoZSBhc3NvY2lhdGVkIHBlZXIgZm9yIHRoZSBmcmFtZS4KLVdpdGggdGhlIGNyZWF0aW9uIG9mIHRoZSBwZWVyLCB0aGUgc3lzdGVtIGNyZWF0ZXMgdGhlIGV2ZW50IGRpc3BhdGNoIHRocmVhZC4KLVRoaXMgbWFrZXMgdGhpbmdzIHByb2JsZW1hdGljIGJlY2F1c2UgdGhlIGV2ZW50IGRpc3BhdGNoIHRocmVhZCBjb3VsZCBiZSBub3RpZnlpbmcKLWxpc3RlbmVycyB3aGlsZSBwYWNrIGFuZCB2YWxpZGF0ZSBhcmUgc3RpbGwgcHJvY2Vzc2luZy4gVGhpcyBzaXR1YXRpb24gY291bGQgcmVzdWx0IGluCi10d28gdGhyZWFkcyBnb2luZyB0aHJvdWdoIHRoZSBTd2luZyBjb21wb25lbnQtYmFzZWQgR1VJIC0tIGl0J3MgYSBzZXJpb3VzIGZsYXcgdGhhdAotY291bGQgcmVzdWx0IGluIGRlYWRsb2NrcyBvciBvdGhlciByZWxhdGVkIHRocmVhZGluZyBpc3N1ZXMuIEEgcGFjayBjYWxsIGNhdXNlcwotY29tcG9uZW50cyB0byBiZSByZWFsaXplZC4gQXMgdGhleSBhcmUgYmVpbmcgcmVhbGl6ZWQgKHRoYXQgaXMsIG5vdCBuZWNlc3NhcmlseQotdmlzaWJsZSksIHRoZXkgY291bGQgdHJpZ2dlciBsaXN0ZW5lciBub3RpZmljYXRpb24gb24gdGhlIGV2ZW50IGRpc3BhdGNoIHRocmVhZC48L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX0JBRF9GSUVMRCI+U2U6IE5vbi10cmFuc2llbnQgbm9uLXNlcmlhbGl6YWJsZSBpbnN0YW5jZSBmaWVsZCBpbiBzZXJpYWxpemFibGUgY2xhc3MgKFNFX0JBRF9GSUVMRCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBTZXJpYWxpemFibGUgY2xhc3MgZGVmaW5lcyBhIG5vbi1wcmltaXRpdmUgaW5zdGFuY2UgZmllbGQgd2hpY2ggaXMgbmVpdGhlciB0cmFuc2llbnQsCi1TZXJpYWxpemFibGUsIG9yIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+LCBhbmQgZG9lcyBub3QgYXBwZWFyIHRvIGltcGxlbWVudAotdGhlIDxjb2RlPkV4dGVybmFsaXphYmxlPC9jb2RlPiBpbnRlcmZhY2Ugb3IgdGhlCi08Y29kZT5yZWFkT2JqZWN0KCk8L2NvZGU+IGFuZCA8Y29kZT53cml0ZU9iamVjdCgpPC9jb2RlPiBtZXRob2RzLiZuYnNwOwotT2JqZWN0cyBvZiB0aGlzIGNsYXNzIHdpbGwgbm90IGJlIGRlc2VyaWFsaXplZCBjb3JyZWN0bHkgaWYgYSBub24tU2VyaWFsaXphYmxlCi1vYmplY3QgaXMgc3RvcmVkIGluIHRoaXMgZmllbGQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfQkFEX0ZJRUxEX0lOTkVSX0NMQVNTIj5TZTogTm9uLXNlcmlhbGl6YWJsZSBjbGFzcyBoYXMgYSBzZXJpYWxpemFibGUgaW5uZXIgY2xhc3MgKFNFX0JBRF9GSUVMRF9JTk5FUl9DTEFTUyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBTZXJpYWxpemFibGUgY2xhc3MgaXMgYW4gaW5uZXIgY2xhc3Mgb2YgYSBub24tc2VyaWFsaXphYmxlIGNsYXNzLgotVGh1cywgYXR0ZW1wdHMgdG8gc2VyaWFsaXplIGl0IHdpbGwgYWxzbyBhdHRlbXB0IHRvIGFzc29jaWF0ZSBpbnN0YW5jZSBvZiB0aGUgb3V0ZXIKLWNsYXNzIHdpdGggd2hpY2ggaXQgaXMgYXNzb2NpYXRlZCwgbGVhZGluZyB0byBhIHJ1bnRpbWUgZXJyb3IuCi08L3A+Ci08cD5JZiBwb3NzaWJsZSwgbWFraW5nIHRoZSBpbm5lciBjbGFzcyBhIHN0YXRpYyBpbm5lciBjbGFzcyBzaG91bGQgc29sdmUgdGhlCi1wcm9ibGVtLiBNYWtpbmcgdGhlIG91dGVyIGNsYXNzIHNlcmlhbGl6YWJsZSBtaWdodCBhbHNvIHdvcmssIGJ1dCB0aGF0IHdvdWxkCi1tZWFuIHNlcmlhbGl6aW5nIGFuIGluc3RhbmNlIG9mIHRoZSBpbm5lciBjbGFzcyB3b3VsZCBhbHdheXMgYWxzbyBzZXJpYWxpemUgdGhlIGluc3RhbmNlCi1vZiB0aGUgb3V0ZXIgY2xhc3MsIHdoaWNoIGl0IG9mdGVuIG5vdCB3aGF0IHlvdSByZWFsbHkgd2FudC4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX0JBRF9GSUVMRF9TVE9SRSI+U2U6IE5vbi1zZXJpYWxpemFibGUgdmFsdWUgc3RvcmVkIGludG8gaW5zdGFuY2UgZmllbGQgb2YgYSBzZXJpYWxpemFibGUgY2xhc3MgKFNFX0JBRF9GSUVMRF9TVE9SRSk8L2E+PC9oMz4KLQotCi08cD4gQSBub24tc2VyaWFsaXphYmxlIHZhbHVlIGlzIHN0b3JlZCBpbnRvIGEgbm9uLXRyYW5zaWVudCBmaWVsZAotb2YgYSBzZXJpYWxpemFibGUgY2xhc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfQ09NUEFSQVRPUl9TSE9VTERfQkVfU0VSSUFMSVpBQkxFIj5TZTogQ29tcGFyYXRvciBkb2Vzbid0IGltcGxlbWVudCBTZXJpYWxpemFibGUgKFNFX0NPTVBBUkFUT1JfU0hPVUxEX0JFX1NFUklBTElaQUJMRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGltcGxlbWVudHMgdGhlIDxjb2RlPkNvbXBhcmF0b3I8L2NvZGU+IGludGVyZmFjZS4gWW91Ci1zaG91bGQgY29uc2lkZXIgd2hldGhlciBvciBub3QgaXQgc2hvdWxkIGFsc28gaW1wbGVtZW50IHRoZSA8Y29kZT5TZXJpYWxpemFibGU8L2NvZGU+Ci1pbnRlcmZhY2UuIElmIGEgY29tcGFyYXRvciBpcyB1c2VkIHRvIGNvbnN0cnVjdCBhbiBvcmRlcmVkIGNvbGxlY3Rpb24KLXN1Y2ggYXMgYSA8Y29kZT5UcmVlTWFwPC9jb2RlPiwgdGhlbiB0aGUgPGNvZGU+VHJlZU1hcDwvY29kZT4KLXdpbGwgYmUgc2VyaWFsaXphYmxlIG9ubHkgaWYgdGhlIGNvbXBhcmF0b3IgaXMgYWxzbyBzZXJpYWxpemFibGUuCi1BcyBtb3N0IGNvbXBhcmF0b3JzIGhhdmUgbGl0dGxlIG9yIG5vIHN0YXRlLCBtYWtpbmcgdGhlbSBzZXJpYWxpemFibGUKLWlzIGdlbmVyYWxseSBlYXN5IGFuZCBnb29kIGRlZmVuc2l2ZSBwcm9ncmFtbWluZy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX0lOTkVSX0NMQVNTIj5TZTogU2VyaWFsaXphYmxlIGlubmVyIGNsYXNzIChTRV9JTk5FUl9DTEFTUyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBTZXJpYWxpemFibGUgY2xhc3MgaXMgYW4gaW5uZXIgY2xhc3MuICBBbnkgYXR0ZW1wdCB0byBzZXJpYWxpemUKLWl0IHdpbGwgYWxzbyBzZXJpYWxpemUgdGhlIGFzc29jaWF0ZWQgb3V0ZXIgaW5zdGFuY2UuIFRoZSBvdXRlciBpbnN0YW5jZSBpcyBzZXJpYWxpemFibGUsCi1zbyB0aGlzIHdvbid0IGZhaWwsIGJ1dCBpdCBtaWdodCBzZXJpYWxpemUgYSBsb3QgbW9yZSBkYXRhIHRoYW4gaW50ZW5kZWQuCi1JZiBwb3NzaWJsZSwgbWFraW5nIHRoZSBpbm5lciBjbGFzcyBhIHN0YXRpYyBpbm5lciBjbGFzcyAoYWxzbyBrbm93biBhcyBhIG5lc3RlZCBjbGFzcykgc2hvdWxkIHNvbHZlIHRoZQotcHJvYmxlbS4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX05PTkZJTkFMX1NFUklBTFZFUlNJT05JRCI+U2U6IHNlcmlhbFZlcnNpb25VSUQgaXNuJ3QgZmluYWwgKFNFX05PTkZJTkFMX1NFUklBTFZFUlNJT05JRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSA8Y29kZT5zZXJpYWxWZXJzaW9uVUlEPC9jb2RlPiBmaWVsZCB0aGF0IGlzIG5vdCBmaW5hbC4mbmJzcDsKLSAgVGhlIGZpZWxkIHNob3VsZCBiZSBtYWRlIGZpbmFsCi0gICBpZiBpdCBpcyBpbnRlbmRlZCB0byBzcGVjaWZ5Ci0gICB0aGUgdmVyc2lvbiBVSUQgZm9yIHB1cnBvc2VzIG9mIHNlcmlhbGl6YXRpb24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfTk9OTE9OR19TRVJJQUxWRVJTSU9OSUQiPlNlOiBzZXJpYWxWZXJzaW9uVUlEIGlzbid0IGxvbmcgKFNFX05PTkxPTkdfU0VSSUFMVkVSU0lPTklEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIDxjb2RlPnNlcmlhbFZlcnNpb25VSUQ8L2NvZGU+IGZpZWxkIHRoYXQgaXMgbm90IGxvbmcuJm5ic3A7Ci0gIFRoZSBmaWVsZCBzaG91bGQgYmUgbWFkZSBsb25nCi0gICBpZiBpdCBpcyBpbnRlbmRlZCB0byBzcGVjaWZ5Ci0gICB0aGUgdmVyc2lvbiBVSUQgZm9yIHB1cnBvc2VzIG9mIHNlcmlhbGl6YXRpb24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfTk9OU1RBVElDX1NFUklBTFZFUlNJT05JRCI+U2U6IHNlcmlhbFZlcnNpb25VSUQgaXNuJ3Qgc3RhdGljIChTRV9OT05TVEFUSUNfU0VSSUFMVkVSU0lPTklEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIDxjb2RlPnNlcmlhbFZlcnNpb25VSUQ8L2NvZGU+IGZpZWxkIHRoYXQgaXMgbm90IHN0YXRpYy4mbmJzcDsKLSAgVGhlIGZpZWxkIHNob3VsZCBiZSBtYWRlIHN0YXRpYwotICAgaWYgaXQgaXMgaW50ZW5kZWQgdG8gc3BlY2lmeQotICAgdGhlIHZlcnNpb24gVUlEIGZvciBwdXJwb3NlcyBvZiBzZXJpYWxpemF0aW9uLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX05PX1NVSVRBQkxFX0NPTlNUUlVDVE9SIj5TZTogQ2xhc3MgaXMgU2VyaWFsaXphYmxlIGJ1dCBpdHMgc3VwZXJjbGFzcyBkb2Vzbid0IGRlZmluZSBhIHZvaWQgY29uc3RydWN0b3IgKFNFX05PX1NVSVRBQkxFX0NPTlNUUlVDVE9SKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgPGNvZGU+U2VyaWFsaXphYmxlPC9jb2RlPiBpbnRlcmZhY2UKLSAgIGFuZCBpdHMgc3VwZXJjbGFzcyBkb2VzIG5vdC4gV2hlbiBzdWNoIGFuIG9iamVjdCBpcyBkZXNlcmlhbGl6ZWQsCi0gICB0aGUgZmllbGRzIG9mIHRoZSBzdXBlcmNsYXNzIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQgYnkKLSAgIGludm9raW5nIHRoZSB2b2lkIGNvbnN0cnVjdG9yIG9mIHRoZSBzdXBlcmNsYXNzLgotICAgU2luY2UgdGhlIHN1cGVyY2xhc3MgZG9lcyBub3QgaGF2ZSBvbmUsCi0gICBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gd2lsbCBmYWlsIGF0IHJ1bnRpbWUuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfTk9fU1VJVEFCTEVfQ09OU1RSVUNUT1JfRk9SX0VYVEVSTkFMSVpBVElPTiI+U2U6IENsYXNzIGlzIEV4dGVybmFsaXphYmxlIGJ1dCBkb2Vzbid0IGRlZmluZSBhIHZvaWQgY29uc3RydWN0b3IgKFNFX05PX1NVSVRBQkxFX0NPTlNUUlVDVE9SX0ZPUl9FWFRFUk5BTElaQVRJT04pPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHRoZSA8Y29kZT5FeHRlcm5hbGl6YWJsZTwvY29kZT4gaW50ZXJmYWNlLCBidXQgZG9lcwotICBub3QgZGVmaW5lIGEgdm9pZCBjb25zdHJ1Y3Rvci4gV2hlbiBFeHRlcm5hbGl6YWJsZSBvYmplY3RzIGFyZSBkZXNlcmlhbGl6ZWQsCi0gICB0aGV5IGZpcnN0IG5lZWQgdG8gYmUgY29uc3RydWN0ZWQgYnkgaW52b2tpbmcgdGhlIHZvaWQKLSAgIGNvbnN0cnVjdG9yLiBTaW5jZSB0aGlzIGNsYXNzIGRvZXMgbm90IGhhdmUgb25lLAotICAgc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxpemF0aW9uIHdpbGwgZmFpbCBhdCBydW50aW1lLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX1JFQURfUkVTT0xWRV9NVVNUX1JFVFVSTl9PQkpFQ1QiPlNlOiBUaGUgcmVhZFJlc29sdmUgbWV0aG9kIG11c3QgYmUgZGVjbGFyZWQgd2l0aCBhIHJldHVybiB0eXBlIG9mIE9iamVjdC4gIChTRV9SRUFEX1JFU09MVkVfTVVTVF9SRVRVUk5fT0JKRUNUKTwvYT48L2gzPgotCi0KLSAgPHA+IEluIG9yZGVyIGZvciB0aGUgcmVhZFJlc29sdmUgbWV0aG9kIHRvIGJlIHJlY29nbml6ZWQgYnkgdGhlIHNlcmlhbGl6YXRpb24KLW1lY2hhbmlzbSwgaXQgbXVzdCBiZSBkZWNsYXJlZCB0byBoYXZlIGEgcmV0dXJuIHR5cGUgb2YgT2JqZWN0LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfVFJBTlNJRU5UX0ZJRUxEX05PVF9SRVNUT1JFRCI+U2U6IFRyYW5zaWVudCBmaWVsZCB0aGF0IGlzbid0IHNldCBieSBkZXNlcmlhbGl6YXRpb24uICAoU0VfVFJBTlNJRU5UX0ZJRUxEX05PVF9SRVNUT1JFRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGNvbnRhaW5zIGEgZmllbGQgdGhhdCBpcyB1cGRhdGVkIGF0IG11bHRpcGxlIHBsYWNlcyBpbiB0aGUgY2xhc3MsIHRodXMgaXQgc2VlbXMgdG8gYmUgcGFydCBvZiB0aGUgc3RhdGUgb2YgdGhlIGNsYXNzLiBIb3dldmVyLCBzaW5jZSB0aGUgZmllbGQgaXMgbWFya2VkIGFzIHRyYW5zaWVudCBhbmQgbm90IHNldCBpbiByZWFkT2JqZWN0IG9yIHJlYWRSZXNvbHZlLCBpdCB3aWxsIGNvbnRhaW4gdGhlIGRlZmF1bHQgdmFsdWUgaW4gYW55Ci1kZXNlcmlhbGl6ZWQgaW5zdGFuY2Ugb2YgdGhlIGNsYXNzLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfTk9fU0VSSUFMVkVSU0lPTklEIj5TblZJOiBDbGFzcyBpcyBTZXJpYWxpemFibGUsIGJ1dCBkb2Vzbid0IGRlZmluZSBzZXJpYWxWZXJzaW9uVUlEIChTRV9OT19TRVJJQUxWRVJTSU9OSUQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHRoZSA8Y29kZT5TZXJpYWxpemFibGU8L2NvZGU+IGludGVyZmFjZSwgYnV0IGRvZXMKLSAgbm90IGRlZmluZSBhIDxjb2RlPnNlcmlhbFZlcnNpb25VSUQ8L2NvZGU+IGZpZWxkLiZuYnNwOwotICBBIGNoYW5nZSBhcyBzaW1wbGUgYXMgYWRkaW5nIGEgcmVmZXJlbmNlIHRvIGEgLmNsYXNzIG9iamVjdAotICAgIHdpbGwgYWRkIHN5bnRoZXRpYyBmaWVsZHMgdG8gdGhlIGNsYXNzLAotICAgd2hpY2ggd2lsbCB1bmZvcnR1bmF0ZWx5IGNoYW5nZSB0aGUgaW1wbGljaXQKLSAgIHNlcmlhbFZlcnNpb25VSUQgKGUuZy4sIGFkZGluZyBhIHJlZmVyZW5jZSB0byA8Y29kZT5TdHJpbmcuY2xhc3M8L2NvZGU+Ci0gICB3aWxsIGdlbmVyYXRlIGEgc3RhdGljIGZpZWxkIDxjb2RlPmNsYXNzJGphdmEkbGFuZyRTdHJpbmc8L2NvZGU+KS4KLSAgIEFsc28sIGRpZmZlcmVudCBzb3VyY2UgY29kZSB0byBieXRlY29kZSBjb21waWxlcnMgbWF5IHVzZSBkaWZmZXJlbnQKLSAgIG5hbWluZyBjb252ZW50aW9ucyBmb3Igc3ludGhldGljIHZhcmlhYmxlcyBnZW5lcmF0ZWQgZm9yCi0gICByZWZlcmVuY2VzIHRvIGNsYXNzIG9iamVjdHMgb3IgaW5uZXIgY2xhc3Nlcy4KLSAgIFRvIGVuc3VyZSBpbnRlcm9wZXJhYmlsaXR5IG9mIFNlcmlhbGl6YWJsZSBhY3Jvc3MgdmVyc2lvbnMsCi0gICBjb25zaWRlciBhZGRpbmcgYW4gZXhwbGljaXQgc2VyaWFsVmVyc2lvblVJRC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVSV9JTkhFUklUQU5DRV9VTlNBRkVfR0VUUkVTT1VSQ0UiPlVJOiBVc2FnZSBvZiBHZXRSZXNvdXJjZSBtYXkgYmUgdW5zYWZlIGlmIGNsYXNzIGlzIGV4dGVuZGVkIChVSV9JTkhFUklUQU5DRV9VTlNBRkVfR0VUUkVTT1VSQ0UpPC9hPjwvaDM+Ci0KLQotPHA+Q2FsbGluZyA8Y29kZT50aGlzLmdldENsYXNzKCkuZ2V0UmVzb3VyY2UoLi4uKTwvY29kZT4gY291bGQgZ2l2ZQotcmVzdWx0cyBvdGhlciB0aGFuIGV4cGVjdGVkIGlmIHRoaXMgY2xhc3MgaXMgZXh0ZW5kZWQgYnkgYSBjbGFzcyBpbgotYW5vdGhlciBwYWNrYWdlLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJBQ19CQURfQVBQTEVUX0NPTlNUUlVDVE9SIj5CQUM6IEJhZCBBcHBsZXQgQ29uc3RydWN0b3IgcmVsaWVzIG9uIHVuaW5pdGlhbGl6ZWQgQXBwbGV0U3R1YiAoQkFDX0JBRF9BUFBMRVRfQ09OU1RSVUNUT1IpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvbnN0cnVjdG9yIGNhbGxzIG1ldGhvZHMgaW4gdGhlIHBhcmVudCBBcHBsZXQgdGhhdCByZWx5IG9uIHRoZSBBcHBsZXRTdHViLiBTaW5jZSB0aGUgQXBwbGV0U3R1YgotaXNuJ3QgaW5pdGlhbGl6ZWQgdW50aWwgdGhlIGluaXQoKSBtZXRob2Qgb2YgdGhpcyBhcHBsZXQgaXMgY2FsbGVkLCB0aGVzZSBtZXRob2RzIHdpbGwgbm90IHBlcmZvcm0KLWNvcnJlY3RseS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJDX0lNUE9TU0lCTEVfQ0FTVCI+QkM6IEltcG9zc2libGUgY2FzdCAoQkNfSU1QT1NTSUJMRV9DQVNUKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjYXN0IHdpbGwgYWx3YXlzIHRocm93IGEgQ2xhc3NDYXN0RXhjZXB0aW9uLgotRmluZEJ1Z3MgdHJhY2tzIHR5cGUgaW5mb3JtYXRpb24gZnJvbSBpbnN0YW5jZW9mIGNoZWNrcywKLWFuZCBhbHNvIHVzZXMgbW9yZSBwcmVjaXNlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0eXBlcwotb2YgdmFsdWVzIHJldHVybmVkIGZyb20gbWV0aG9kcyBhbmQgbG9hZGVkIGZyb20gZmllbGRzLgotVGh1cywgaXQgbWF5IGhhdmUgbW9yZSBwcmVjaXNlIGluZm9ybWF0aW9uIHRoYXQganVzdAotdGhlIGRlY2xhcmVkIHR5cGUgb2YgYSB2YXJpYWJsZSwgYW5kIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUKLXRoYXQgYSBjYXN0IHdpbGwgYWx3YXlzIHRocm93IGFuIGV4Y2VwdGlvbiBhdCBydW50aW1lLgotCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCQ19JTVBPU1NJQkxFX0RPV05DQVNUIj5CQzogSW1wb3NzaWJsZSBkb3duY2FzdCAoQkNfSU1QT1NTSUJMRV9ET1dOQ0FTVCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY2FzdCB3aWxsIGFsd2F5cyB0aHJvdyBhIENsYXNzQ2FzdEV4Y2VwdGlvbi4KLVRoZSBhbmFseXNpcyBiZWxpZXZlcyBpdCBrbm93cwotdGhlIHByZWNpc2UgdHlwZSBvZiB0aGUgdmFsdWUgYmVpbmcgY2FzdCwgYW5kIHRoZSBhdHRlbXB0IHRvCi1kb3duY2FzdCBpdCB0byBhIHN1YnR5cGUgd2lsbCBhbHdheXMgZmFpbCBieSB0aHJvd2luZyBhIENsYXNzQ2FzdEV4Y2VwdGlvbi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJDX0lNUE9TU0lCTEVfRE9XTkNBU1RfT0ZfVE9BUlJBWSI+QkM6IEltcG9zc2libGUgZG93bmNhc3Qgb2YgdG9BcnJheSgpIHJlc3VsdCAoQkNfSU1QT1NTSUJMRV9ET1dOQ0FTVF9PRl9UT0FSUkFZKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjb2RlIGlzIGNhc3RpbmcgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIDxjb2RlPnRvQXJyYXkoKTwvY29kZT4gb24gYSBjb2xsZWN0aW9uCi10byBhIHR5cGUgbW9yZSBzcGVjaWZpYyB0aGFuIDxjb2RlPk9iamVjdFtdPC9jb2RlPiwgYXMgaW46PC9wPgotPHByZT4KLVN0cmluZ1tdIGdldEFzQXJyYXkoQ29sbGVjdGlvbiZsdDtTdHJpbmcmZ3Q7IGMpIHsKLSAgcmV0dXJuIChTdHJpbmdbXSkgYy50b0FycmF5KCk7Ci0gIH0KLTwvcHJlPgotPHA+VGhpcyB3aWxsIHVzdWFsbHkgZmFpbCBieSB0aHJvd2luZyBhIENsYXNzQ2FzdEV4Y2VwdGlvbi4gVGhlIDxjb2RlPnRvQXJyYXkoKTwvY29kZT4KLW9mIGFsbW9zdCBhbGwgY29sbGVjdGlvbnMgcmV0dXJuIGFuIDxjb2RlPk9iamVjdFtdPC9jb2RlPi4gVGhleSBjYW4ndCByZWFsbHkgZG8gYW55dGhpbmcgZWxzZSwKLXNpbmNlIHRoZSBDb2xsZWN0aW9uIG9iamVjdCBoYXMgbm8gcmVmZXJlbmNlIHRvIHRoZSBkZWNsYXJlZCBnZW5lcmljIHR5cGUgb2YgdGhlIGNvbGxlY3Rpb24uCi08cD5UaGUgY29ycmVjdCB3YXkgdG8gZG8gZ2V0IGFuIGFycmF5IG9mIGEgc3BlY2lmaWMgdHlwZSBmcm9tIGEgY29sbGVjdGlvbiBpcyB0byB1c2UKLSAgPGNvZGU+Yy50b0FycmF5KG5ldyBTdHJpbmdbXSk7PC9jb2RlPgotICBvciA8Y29kZT5jLnRvQXJyYXkobmV3IFN0cmluZ1tjLnNpemUoKV0pOzwvY29kZT4gKHRoZSBsYXR0ZXIgaXMgc2xpZ2h0bHkgbW9yZSBlZmZpY2llbnQpLgotPHA+VGhlcmUgaXMgb25lIGNvbW1vbi9rbm93biBleGNlcHRpb24gZXhjZXB0aW9uIHRvIHRoaXMuIFRoZSA8Y29kZT50b0FycmF5KCk8L2NvZGU+Ci1tZXRob2Qgb2YgbGlzdHMgcmV0dXJuZWQgYnkgPGNvZGU+QXJyYXlzLmFzTGlzdCguLi4pPC9jb2RlPiB3aWxsIHJldHVybiBhIGNvdmFyaWFudGx5Ci10eXBlZCBhcnJheS4gRm9yIGV4YW1wbGUsIDxjb2RlPkFycmF5cy5hc0FycmF5KG5ldyBTdHJpbmdbXSB7ICJhIiB9KS50b0FycmF5KCk8L2NvZGU+Ci13aWxsIHJldHVybiBhIDxjb2RlPlN0cmluZyBbXTwvY29kZT4uIEZpbmRCdWdzIGF0dGVtcHRzIHRvIGRldGVjdCBhbmQgc3VwcHJlc3MKLXN1Y2ggY2FzZXMsIGJ1dCBtYXkgbWlzcyBzb21lLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQkNfSU1QT1NTSUJMRV9JTlNUQU5DRU9GIj5CQzogaW5zdGFuY2VvZiB3aWxsIGFsd2F5cyByZXR1cm4gZmFsc2UgKEJDX0lNUE9TU0lCTEVfSU5TVEFOQ0VPRik8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgaW5zdGFuY2VvZiB0ZXN0IHdpbGwgYWx3YXlzIHJldHVybiBmYWxzZS4gQWx0aG91Z2ggdGhpcyBpcyBzYWZlLCBtYWtlIHN1cmUgaXQgaXNuJ3QKLWFuIGluZGljYXRpb24gb2Ygc29tZSBtaXN1bmRlcnN0YW5kaW5nIG9yIHNvbWUgb3RoZXIgbG9naWMgZXJyb3IuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCSVRfQUREX09GX1NJR05FRF9CWVRFIj5CSVQ6IEJpdHdpc2UgYWRkIG9mIHNpZ25lZCBieXRlIHZhbHVlIChCSVRfQUREX09GX1NJR05FRF9CWVRFKTwvYT48L2gzPgotCi0KLTxwPiBBZGRzIGEgYnl0ZSB2YWx1ZSBhbmQgYSB2YWx1ZSB3aGljaCBpcyBrbm93biB0byBoYXZlIHRoZSA4IGxvd2VyIGJpdHMgY2xlYXIuCi1WYWx1ZXMgbG9hZGVkIGZyb20gYSBieXRlIGFycmF5IGFyZSBzaWduIGV4dGVuZGVkIHRvIDMyIGJpdHMKLWJlZm9yZSBhbnkgYW55IGJpdHdpc2Ugb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkIG9uIHRoZSB2YWx1ZS4KLVRodXMsIGlmIDxjb2RlPmJbMF08L2NvZGU+IGNvbnRhaW5zIHRoZSB2YWx1ZSA8Y29kZT4weGZmPC9jb2RlPiwgYW5kCi08Y29kZT54PC9jb2RlPiBpcyBpbml0aWFsbHkgMCwgdGhlbiB0aGUgY29kZQotPGNvZGU+KCh4ICZsdDsmbHQ7IDgpICsgYlswXSk8L2NvZGU+ICB3aWxsIHNpZ24gZXh0ZW5kIDxjb2RlPjB4ZmY8L2NvZGU+Ci10byBnZXQgPGNvZGU+MHhmZmZmZmZmZjwvY29kZT4sIGFuZCB0aHVzIGdpdmUgdGhlIHZhbHVlCi08Y29kZT4weGZmZmZmZmZmPC9jb2RlPiBhcyB0aGUgcmVzdWx0LgotPC9wPgotCi08cD5JbiBwYXJ0aWN1bGFyLCB0aGUgZm9sbG93aW5nIGNvZGUgZm9yIHBhY2tpbmcgYSBieXRlIGFycmF5IGludG8gYW4gaW50IGlzIGJhZGx5IHdyb25nOiA8L3A+Ci08cHJlPgotaW50IHJlc3VsdCA9IDA7Ci1mb3IoaW50IGkgPSAwOyBpICZsdDsgNDsgaSsrKQotICByZXN1bHQgPSAoKHJlc3VsdCAmbHQ7Jmx0OyA4KSArIGJbaV0pOwotPC9wcmU+Ci0KLTxwPlRoZSBmb2xsb3dpbmcgaWRpb20gd2lsbCB3b3JrIGluc3RlYWQ6IDwvcD4KLTxwcmU+Ci1pbnQgcmVzdWx0ID0gMDsKLWZvcihpbnQgaSA9IDA7IGkgJmx0OyA0OyBpKyspCi0gIHJlc3VsdCA9ICgocmVzdWx0ICZsdDsmbHQ7IDgpICsgKGJbaV0gJmFtcDsgMHhmZikpOwotPC9wcmU+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkJJVF9BTkQiPkJJVDogSW5jb21wYXRpYmxlIGJpdCBtYXNrcyAoQklUX0FORCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29tcGFyZXMgYW4gZXhwcmVzc2lvbiBvZiB0aGUgZm9ybSAoZSAmYW1wOyBDKSB0byBELAotd2hpY2ggd2lsbCBhbHdheXMgY29tcGFyZSB1bmVxdWFsCi1kdWUgdG8gdGhlIHNwZWNpZmljIHZhbHVlcyBvZiBjb25zdGFudHMgQyBhbmQgRC4KLVRoaXMgbWF5IGluZGljYXRlIGEgbG9naWMgZXJyb3Igb3IgdHlwby48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCSVRfQU5EX1paIj5CSVQ6IENoZWNrIHRvIHNlZSBpZiAoKC4uLikgJiAwKSA9PSAwIChCSVRfQU5EX1paKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb21wYXJlcyBhbiBleHByZXNzaW9uIG9mIHRoZSBmb3JtIChlICZhbXA7IDApIHRvIDAsCi13aGljaCB3aWxsIGFsd2F5cyBjb21wYXJlIGVxdWFsLgotVGhpcyBtYXkgaW5kaWNhdGUgYSBsb2dpYyBlcnJvciBvciB0eXBvLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJJVF9JT1IiPkJJVDogSW5jb21wYXRpYmxlIGJpdCBtYXNrcyAoQklUX0lPUik8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29tcGFyZXMgYW4gZXhwcmVzc2lvbiBvZiB0aGUgZm9ybSAoZSB8IEMpIHRvIEQuCi13aGljaCB3aWxsIGFsd2F5cyBjb21wYXJlIHVuZXF1YWwKLWR1ZSB0byB0aGUgc3BlY2lmaWMgdmFsdWVzIG9mIGNvbnN0YW50cyBDIGFuZCBELgotVGhpcyBtYXkgaW5kaWNhdGUgYSBsb2dpYyBlcnJvciBvciB0eXBvLjwvcD4KLQotPHA+IFR5cGljYWxseSwgdGhpcyBidWcgb2NjdXJzIGJlY2F1c2UgdGhlIGNvZGUgd2FudHMgdG8gcGVyZm9ybQotYSBtZW1iZXJzaGlwIHRlc3QgaW4gYSBiaXQgc2V0LCBidXQgdXNlcyB0aGUgYml0d2lzZSBPUgotb3BlcmF0b3IgKCJ8IikgaW5zdGVhZCBvZiBiaXR3aXNlIEFORCAoIiZhbXA7IikuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQklUX0lPUl9PRl9TSUdORURfQllURSI+QklUOiBCaXR3aXNlIE9SIG9mIHNpZ25lZCBieXRlIHZhbHVlIChCSVRfSU9SX09GX1NJR05FRF9CWVRFKTwvYT48L2gzPgotCi0KLTxwPiBMb2FkcyBhIGJ5dGUgdmFsdWUgKGUuZy4sIGEgdmFsdWUgbG9hZGVkIGZyb20gYSBieXRlIGFycmF5IG9yIHJldHVybmVkIGJ5IGEgbWV0aG9kCi13aXRoIHJldHVybiB0eXBlIGJ5dGUpICBhbmQgcGVyZm9ybXMgYSBiaXR3aXNlIE9SIHdpdGgKLXRoYXQgdmFsdWUuIEJ5dGUgdmFsdWVzIGFyZSBzaWduIGV4dGVuZGVkIHRvIDMyIGJpdHMKLWJlZm9yZSBhbnkgYW55IGJpdHdpc2Ugb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkIG9uIHRoZSB2YWx1ZS4KLVRodXMsIGlmIDxjb2RlPmJbMF08L2NvZGU+IGNvbnRhaW5zIHRoZSB2YWx1ZSA8Y29kZT4weGZmPC9jb2RlPiwgYW5kCi08Y29kZT54PC9jb2RlPiBpcyBpbml0aWFsbHkgMCwgdGhlbiB0aGUgY29kZQotPGNvZGU+KCh4ICZsdDsmbHQ7IDgpIHwgYlswXSk8L2NvZGU+ICB3aWxsIHNpZ24gZXh0ZW5kIDxjb2RlPjB4ZmY8L2NvZGU+Ci10byBnZXQgPGNvZGU+MHhmZmZmZmZmZjwvY29kZT4sIGFuZCB0aHVzIGdpdmUgdGhlIHZhbHVlCi08Y29kZT4weGZmZmZmZmZmPC9jb2RlPiBhcyB0aGUgcmVzdWx0LgotPC9wPgotCi08cD5JbiBwYXJ0aWN1bGFyLCB0aGUgZm9sbG93aW5nIGNvZGUgZm9yIHBhY2tpbmcgYSBieXRlIGFycmF5IGludG8gYW4gaW50IGlzIGJhZGx5IHdyb25nOiA8L3A+Ci08cHJlPgotaW50IHJlc3VsdCA9IDA7Ci1mb3IoaW50IGkgPSAwOyBpICZsdDsgNDsgaSsrKQotICByZXN1bHQgPSAoKHJlc3VsdCAmbHQ7Jmx0OyA4KSB8IGJbaV0pOwotPC9wcmU+Ci0KLTxwPlRoZSBmb2xsb3dpbmcgaWRpb20gd2lsbCB3b3JrIGluc3RlYWQ6IDwvcD4KLTxwcmU+Ci1pbnQgcmVzdWx0ID0gMDsKLWZvcihpbnQgaSA9IDA7IGkgJmx0OyA0OyBpKyspCi0gIHJlc3VsdCA9ICgocmVzdWx0ICZsdDsmbHQ7IDgpIHwgKGJbaV0gJmFtcDsgMHhmZikpOwotPC9wcmU+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkJJVF9TSUdORURfQ0hFQ0tfSElHSF9CSVQiPkJJVDogQ2hlY2sgZm9yIHNpZ24gb2YgYml0d2lzZSBvcGVyYXRpb24gKEJJVF9TSUdORURfQ0hFQ0tfSElHSF9CSVQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbXBhcmVzIGFuIGV4cHJlc3Npb24gc3VjaCBhczwvcD4KLTxwcmU+KChldmVudC5kZXRhaWwgJmFtcDsgU1dULlNFTEVDVEVEKSAmZ3Q7IDApPC9wcmU+LgotPHA+VXNpbmcgYml0IGFyaXRobWV0aWMgYW5kIHRoZW4gY29tcGFyaW5nIHdpdGggdGhlIGdyZWF0ZXIgdGhhbiBvcGVyYXRvciBjYW4KLWxlYWQgdG8gdW5leHBlY3RlZCByZXN1bHRzIChvZiBjb3Vyc2UgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZgotU1dULlNFTEVDVEVEKS4gSWYgU1dULlNFTEVDVEVEIGlzIGEgbmVnYXRpdmUgbnVtYmVyLCB0aGlzIGlzIGEgY2FuZGlkYXRlCi1mb3IgYSBidWcuIEV2ZW4gd2hlbiBTV1QuU0VMRUNURUQgaXMgbm90IG5lZ2F0aXZlLCBpdCBzZWVtcyBnb29kIHByYWN0aWNlCi10byB1c2UgJyE9IDAnIGluc3RlYWQgb2YgJyZndDsgMCcuCi08L3A+Ci08cD4KLTxlbT5Cb3JpcyBCb2tvd3NraTwvZW0+Ci08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCT0FfQkFETFlfT1ZFUlJJRERFTl9BREFQVEVSIj5CT0E6IENsYXNzIG92ZXJyaWRlcyBhIG1ldGhvZCBpbXBsZW1lbnRlZCBpbiBzdXBlciBjbGFzcyBBZGFwdGVyIHdyb25nbHkgKEJPQV9CQURMWV9PVkVSUklEREVOX0FEQVBURVIpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIG92ZXJyaWRlcyBhIG1ldGhvZCBmb3VuZCBpbiBhIHBhcmVudCBjbGFzcywgd2hlcmUgdGhhdCBjbGFzcyBpcyBhbiBBZGFwdGVyIHRoYXQgaW1wbGVtZW50cwotYSBsaXN0ZW5lciBkZWZpbmVkIGluIHRoZSBqYXZhLmF3dC5ldmVudCBvciBqYXZheC5zd2luZy5ldmVudCBwYWNrYWdlLiBBcyBhIHJlc3VsdCwgdGhpcyBtZXRob2Qgd2lsbCBub3QKLWdldCBjYWxsZWQgd2hlbiB0aGUgZXZlbnQgb2NjdXJzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklDQVNUX0JBRF9TSElGVF9BTU9VTlQiPkJTSElGVDogMzIgYml0IGludCBzaGlmdGVkIGJ5IGFuIGFtb3VudCBub3QgaW4gdGhlIHJhbmdlIC0zMS4uMzEgKElDQVNUX0JBRF9TSElGVF9BTU9VTlQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgY29kZSBwZXJmb3JtcyBzaGlmdCBvZiBhIDMyIGJpdCBpbnQgYnkgYSBjb25zdGFudCBhbW91bnQgb3V0c2lkZQotdGhlIHJhbmdlIC0zMS4uMzEuCi1UaGUgZWZmZWN0IG9mIHRoaXMgaXMgdG8gdXNlIHRoZSBsb3dlciA1IGJpdHMgb2YgdGhlIGludGVnZXIKLXZhbHVlIHRvIGRlY2lkZSBob3cgbXVjaCB0byBzaGlmdCBieSAoZS5nLiwgc2hpZnRpbmcgYnkgNDAgYml0cyBpcyB0aGUgc2FtZSBhcyBzaGlmdGluZyBieSA4IGJpdHMsCi1hbmQgc2hpZnRpbmcgYnkgMzIgYml0cyBpcyB0aGUgc2FtZSBhcyBzaGlmdGluZyBieSB6ZXJvIGJpdHMpLiBUaGlzIHByb2JhYmx5IGlzbid0IHdoYXQgd2FzIGV4cGVjdGVkLAotYW5kIGl0IGlzIGF0IGxlYXN0IGNvbmZ1c2luZy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJYX1VOQk9YRURfQU5EX0NPRVJDRURfRk9SX1RFUk5BUllfT1BFUkFUT1IiPkJ4OiBQcmltaXRpdmUgdmFsdWUgaXMgdW5ib3hlZCBhbmQgY29lcmNlZCBmb3IgdGVybmFyeSBvcGVyYXRvciAoQlhfVU5CT1hFRF9BTkRfQ09FUkNFRF9GT1JfVEVSTkFSWV9PUEVSQVRPUik8L2E+PC9oMz4KLQotCi0gIDxwPkEgd3JhcHBlZCBwcmltaXRpdmUgdmFsdWUgaXMgdW5ib3hlZCBhbmQgY29udmVydGVkIHRvIGFub3RoZXIgcHJpbWl0aXZlIHR5cGUgYXMgcGFydCBvZiB0aGUKLWV2YWx1YXRpb24gb2YgYSBjb25kaXRpb25hbCB0ZXJuYXJ5IG9wZXJhdG9yICh0aGUgPGNvZGU+IGIgPyBlMSA6IGUyPC9jb2RlPiBvcGVyYXRvcikuIFRoZQotc2VtYW50aWNzIG9mIEphdmEgbWFuZGF0ZSB0aGF0IGlmIDxjb2RlPmUxPC9jb2RlPiBhbmQgPGNvZGU+ZTI8L2NvZGU+IGFyZSB3cmFwcGVkCi1udW1lcmljIHZhbHVlcywgdGhlIHZhbHVlcyBhcmUgdW5ib3hlZCBhbmQgY29udmVydGVkL2NvZXJjZWQgdG8gdGhlaXIgY29tbW9uIHR5cGUgKGUuZywKLWlmIDxjb2RlPmUxPC9jb2RlPiBpcyBvZiB0eXBlIDxjb2RlPkludGVnZXI8L2NvZGU+Ci1hbmQgPGNvZGU+ZTI8L2NvZGU+IGlzIG9mIHR5cGUgPGNvZGU+RmxvYXQ8L2NvZGU+LCB0aGVuIDxjb2RlPmUxPC9jb2RlPiBpcyB1bmJveGVkLAotY29udmVydGVkIHRvIGEgZmxvYXRpbmcgcG9pbnQgdmFsdWUsIGFuZCBib3hlZC4gU2VlIEpMUyBTZWN0aW9uIDE1LjI1LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQ09fQ09NUEFSRVRPX1JFU1VMVFNfTUlOX1ZBTFVFIj5DbzogY29tcGFyZVRvKCkvY29tcGFyZSgpIHJldHVybnMgSW50ZWdlci5NSU5fVkFMVUUgKENPX0NPTVBBUkVUT19SRVNVTFRTX01JTl9WQUxVRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBJbiBzb21lIHNpdHVhdGlvbiwgdGhpcyBjb21wYXJlVG8gb3IgY29tcGFyZSBtZXRob2QgcmV0dXJucwotdGhlICBjb25zdGFudCBJbnRlZ2VyLk1JTl9WQUxVRSwgd2hpY2ggaXMgYW4gZXhjZXB0aW9uYWxseSBiYWQgcHJhY3RpY2UuCi0gIFRoZSBvbmx5IHRoaW5nIHRoYXQgbWF0dGVycyBhYm91dCB0aGUgcmV0dXJuIHZhbHVlIG9mIGNvbXBhcmVUbyBpcyB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0LgotICAgIEJ1dCBwZW9wbGUgd2lsbCBzb21ldGltZXMgbmVnYXRlIHRoZSByZXR1cm4gdmFsdWUgb2YgY29tcGFyZVRvLCBleHBlY3RpbmcgdGhhdCB0aGlzIHdpbGwgbmVnYXRlCi0gICAgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdC4gQW5kIGl0IHdpbGwsIGV4Y2VwdCBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgdmFsdWUgcmV0dXJuZWQgaXMgSW50ZWdlci5NSU5fVkFMVUUuCi0gICAgU28ganVzdCByZXR1cm4gLTEgcmF0aGVyIHRoYW4gSW50ZWdlci5NSU5fVkFMVUUuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJETFNfREVBRF9MT0NBTF9JTkNSRU1FTlRfSU5fUkVUVVJOIj5ETFM6IFVzZWxlc3MgaW5jcmVtZW50IGluIHJldHVybiBzdGF0ZW1lbnQgKERMU19ERUFEX0xPQ0FMX0lOQ1JFTUVOVF9JTl9SRVRVUk4pPC9hPjwvaDM+Ci0KLSAgICAgIAotPHA+VGhpcyBzdGF0ZW1lbnQgaGFzIGEgcmV0dXJuIHN1Y2ggYXMgPGNvZGU+cmV0dXJuIHgrKzs8L2NvZGU+LiAKLUEgcG9zdGZpeCBpbmNyZW1lbnQvZGVjcmVtZW50IGRvZXMgbm90IGltcGFjdCB0aGUgdmFsdWUgb2YgdGhlIGV4cHJlc3Npb24sCi1zbyB0aGlzIGluY3JlbWVudC9kZWNyZW1lbnQgaGFzIG5vIGVmZmVjdC4gCi1QbGVhc2UgdmVyaWZ5IHRoYXQgdGhpcyBzdGF0ZW1lbnQgZG9lcyB0aGUgcmlnaHQgdGhpbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETFNfREVBRF9TVE9SRV9PRl9DTEFTU19MSVRFUkFMIj5ETFM6IERlYWQgc3RvcmUgb2YgY2xhc3MgbGl0ZXJhbCAoRExTX0RFQURfU1RPUkVfT0ZfQ0xBU1NfTElURVJBTCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgaW5zdHJ1Y3Rpb24gYXNzaWducyBhIGNsYXNzIGxpdGVyYWwgdG8gYSB2YXJpYWJsZSBhbmQgdGhlbiBuZXZlciB1c2VzIGl0LgotPGEgaHJlZj0iLy9qYXZhLnN1bi5jb20vajJzZS8xLjUuMC9jb21wYXRpYmlsaXR5Lmh0bWwjbGl0ZXJhbCI+VGhlIGJlaGF2aW9yIG9mIHRoaXMgZGlmZmVycyBpbiBKYXZhIDEuNCBhbmQgaW4gSmF2YSA1LjwvYT4KLUluIEphdmEgMS40IGFuZCBlYXJsaWVyLCBhIHJlZmVyZW5jZSB0byA8Y29kZT5Gb28uY2xhc3M8L2NvZGU+IHdvdWxkIGZvcmNlIHRoZSBzdGF0aWMgaW5pdGlhbGl6ZXIKLWZvciA8Y29kZT5Gb288L2NvZGU+IHRvIGJlIGV4ZWN1dGVkLCBpZiBpdCBoYXMgbm90IGJlZW4gZXhlY3V0ZWQgYWxyZWFkeS4KLUluIEphdmEgNSBhbmQgbGF0ZXIsIGl0IGRvZXMgbm90LgotPC9wPgotPHA+U2VlIFN1bidzIDxhIGhyZWY9Ii8vamF2YS5zdW4uY29tL2oyc2UvMS41LjAvY29tcGF0aWJpbGl0eS5odG1sI2xpdGVyYWwiPmFydGljbGUgb24gSmF2YSBTRSBjb21wYXRpYmlsaXR5PC9hPgotZm9yIG1vcmUgZGV0YWlscyBhbmQgZXhhbXBsZXMsIGFuZCBzdWdnZXN0aW9ucyBvbiBob3cgdG8gZm9yY2UgY2xhc3MgaW5pdGlhbGl6YXRpb24gaW4gSmF2YSA1LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExTX09WRVJXUklUVEVOX0lOQ1JFTUVOVCI+RExTOiBPdmVyd3JpdHRlbiBpbmNyZW1lbnQgKERMU19PVkVSV1JJVFRFTl9JTkNSRU1FTlQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgY29kZSBwZXJmb3JtcyBhbiBpbmNyZW1lbnQgb3BlcmF0aW9uIChlLmcuLCA8Y29kZT5pKys8L2NvZGU+KSBhbmQgdGhlbgotaW1tZWRpYXRlbHkgb3ZlcndyaXRlcyBpdC4gRm9yIGV4YW1wbGUsIDxjb2RlPmkgPSBpKys8L2NvZGU+IGltbWVkaWF0ZWx5Ci1vdmVyd3JpdGVzIHRoZSBpbmNyZW1lbnRlZCB2YWx1ZSB3aXRoIHRoZSBvcmlnaW5hbCB2YWx1ZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9BUkdVTUVOVFNfV1JPTkdfT1JERVIiPkRNSTogUmV2ZXJzZWQgbWV0aG9kIGFyZ3VtZW50cyAoRE1JX0FSR1VNRU5UU19XUk9OR19PUkRFUik8L2E+PC9oMz4KLQotCi08cD4gVGhlIGFyZ3VtZW50cyB0byB0aGlzIG1ldGhvZCBjYWxsIHNlZW0gdG8gYmUgaW4gdGhlIHdyb25nIG9yZGVyLgotRm9yIGV4YW1wbGUsIGEgY2FsbCA8Y29kZT5QcmVjb25kaXRpb25zLmNoZWNrTm90TnVsbCgibWVzc2FnZSIsIG1lc3NhZ2UpPC9jb2RlPgotaGFzIHJlc2VydmVkIGFyZ3VtZW50czogdGhlIHZhbHVlIHRvIGJlIGNoZWNrZWQgaXMgdGhlIGZpcnN0IGFyZ3VtZW50LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0JBRF9NT05USCI+RE1JOiBCYWQgY29uc3RhbnQgdmFsdWUgZm9yIG1vbnRoIChETUlfQkFEX01PTlRIKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjb2RlIHBhc3NlcyBhIGNvbnN0YW50IG1vbnRoCi12YWx1ZSBvdXRzaWRlIHRoZSBleHBlY3RlZCByYW5nZSBvZiAwLi4xMSB0byBhIG1ldGhvZC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9CSUdERUNJTUFMX0NPTlNUUlVDVEVEX0ZST01fRE9VQkxFIj5ETUk6IEJpZ0RlY2ltYWwgY29uc3RydWN0ZWQgZnJvbSBkb3VibGUgdGhhdCBpc24ndCByZXByZXNlbnRlZCBwcmVjaXNlbHkgKERNSV9CSUdERUNJTUFMX0NPTlNUUlVDVEVEX0ZST01fRE9VQkxFKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD4KLVRoaXMgY29kZSBjcmVhdGVzIGEgQmlnRGVjaW1hbCBmcm9tIGEgZG91YmxlIHZhbHVlIHRoYXQgZG9lc24ndCB0cmFuc2xhdGUgd2VsbCB0byBhCi1kZWNpbWFsIG51bWJlci4KLUZvciBleGFtcGxlLCBvbmUgbWlnaHQgYXNzdW1lIHRoYXQgd3JpdGluZyBuZXcgQmlnRGVjaW1hbCgwLjEpIGluIEphdmEgY3JlYXRlcyBhIEJpZ0RlY2ltYWwgd2hpY2ggaXMgZXhhY3RseSBlcXVhbCB0byAwLjEgKGFuIHVuc2NhbGVkIHZhbHVlIG9mIDEsIHdpdGggYSBzY2FsZSBvZiAxKSwgYnV0IGl0IGlzIGFjdHVhbGx5IGVxdWFsIHRvIDAuMTAwMDAwMDAwMDAwMDAwMDA1NTUxMTE1MTIzMTI1NzgyNzAyMTE4MTU4MzQwNDU0MTAxNTYyNS4KLVlvdSBwcm9iYWJseSB3YW50IHRvIHVzZSB0aGUgQmlnRGVjaW1hbC52YWx1ZU9mKGRvdWJsZSBkKSBtZXRob2QsIHdoaWNoIHVzZXMgdGhlIFN0cmluZyByZXByZXNlbnRhdGlvbgotb2YgdGhlIGRvdWJsZSB0byBjcmVhdGUgdGhlIEJpZ0RlY2ltYWwgKGUuZy4sIEJpZ0RlY2ltYWwudmFsdWVPZigwLjEpIGdpdmVzIDAuMSkuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9DQUxMSU5HX05FWFRfRlJPTV9IQVNORVhUIj5ETUk6IGhhc05leHQgbWV0aG9kIGludm9rZXMgbmV4dCAoRE1JX0NBTExJTkdfTkVYVF9GUk9NX0hBU05FWFQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgaGFzTmV4dCgpIG1ldGhvZCBpbnZva2VzIHRoZSBuZXh0KCkgbWV0aG9kLiBUaGlzIGlzIGFsbW9zdCBjZXJ0YWlubHkgd3JvbmcsCi1zaW5jZSB0aGUgaGFzTmV4dCgpIG1ldGhvZCBpcyBub3Qgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgaXRlcmF0b3IsCi1hbmQgdGhlIG5leHQgbWV0aG9kIGlzIHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIGl0ZXJhdG9yLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0NPTExFQ1RJT05TX1NIT1VMRF9OT1RfQ09OVEFJTl9USEVNU0VMVkVTIj5ETUk6IENvbGxlY3Rpb25zIHNob3VsZCBub3QgY29udGFpbiB0aGVtc2VsdmVzIChETUlfQ09MTEVDVElPTlNfU0hPVUxEX05PVF9DT05UQUlOX1RIRU1TRUxWRVMpPC9hPjwvaDM+Ci0KLSAgICAgCi0gICAgIDxwPiBUaGlzIGNhbGwgdG8gYSBnZW5lcmljIGNvbGxlY3Rpb24ncyBtZXRob2Qgd291bGQgb25seSBtYWtlIHNlbnNlIGlmIGEgY29sbGVjdGlvbiBjb250YWluZWQKLWl0c2VsZiAoZS5nLiwgaWYgPGNvZGU+cy5jb250YWlucyhzKTwvY29kZT4gd2VyZSB0cnVlKS4gVGhpcyBpcyB1bmxpa2VseSB0byBiZSB0cnVlIGFuZCB3b3VsZCBjYXVzZQotcHJvYmxlbXMgaWYgaXQgd2VyZSB0cnVlIChzdWNoIGFzIHRoZSBjb21wdXRhdGlvbiBvZiB0aGUgaGFzaCBjb2RlIHJlc3VsdGluZyBpbiBpbmZpbml0ZSByZWN1cnNpb24pLgotSXQgaXMgbGlrZWx5IHRoYXQgdGhlIHdyb25nIHZhbHVlIGlzIGJlaW5nIHBhc3NlZCBhcyBhIHBhcmFtZXRlci4KLSAgICA8L3A+Ci0gICAgIAotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9ET0giPkRNSTogRCdvaCEgQSBub25zZW5zaWNhbCBtZXRob2QgaW52b2NhdGlvbiAoRE1JX0RPSCk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgPHA+Ci1UaGlzIHBhcnRpY2FsIG1ldGhvZCBpbnZvY2F0aW9uIGRvZXNuJ3QgbWFrZSBzZW5zZSwgZm9yIHJlYXNvbnMgdGhhdCBzaG91bGQgYmUgYXBwYXJlbnQgZnJvbSBpbnNwZWN0aW9uLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfSU5WT0tJTkdfSEFTSENPREVfT05fQVJSQVkiPkRNSTogSW52b2NhdGlvbiBvZiBoYXNoQ29kZSBvbiBhbiBhcnJheSAoRE1JX0lOVk9LSU5HX0hBU0hDT0RFX09OX0FSUkFZKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGNvZGUgaW52b2tlcyBoYXNoQ29kZSBvbiBhbiBhcnJheS4gQ2FsbGluZyBoYXNoQ29kZSBvbgotYW4gYXJyYXkgcmV0dXJucyB0aGUgc2FtZSB2YWx1ZSBhcyBTeXN0ZW0uaWRlbnRpdHlIYXNoQ29kZSwgYW5kIGluZ29yZXMKLXRoZSBjb250ZW50cyBhbmQgbGVuZ3RoIG9mIHRoZSBhcnJheS4gSWYgeW91IG5lZWQgYSBoYXNoQ29kZSB0aGF0Ci1kZXBlbmRzIG9uIHRoZSBjb250ZW50cyBvZiBhbiBhcnJheSA8Y29kZT5hPC9jb2RlPiwKLXVzZSA8Y29kZT5qYXZhLnV0aWwuQXJyYXlzLmhhc2hDb2RlKGEpPC9jb2RlPi4KLQotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0xPTkdfQklUU19UT19ET1VCTEVfSU5WT0tFRF9PTl9JTlQiPkRNSTogRG91YmxlLmxvbmdCaXRzVG9Eb3VibGUgaW52b2tlZCBvbiBhbiBpbnQgKERNSV9MT05HX0JJVFNfVE9fRE9VQkxFX0lOVk9LRURfT05fSU5UKTwvYT48L2gzPgotCi0KLTxwPiBUaGUgRG91YmxlLmxvbmdCaXRzVG9Eb3VibGUgbWV0aG9kIGlzIGludm9rZWQsIGJ1dCBhIDMyIGJpdCBpbnQgdmFsdWUgaXMgcGFzc2VkCi0gICAgYXMgYW4gYXJndW1lbnQuIFRoaXMgYWxtb3N0bHkgY2VydGFpbmx5IGlzIG5vdCBpbnRlbmRlZCBhbmQgaXMgdW5saWtlbHkKLSAgICB0byBnaXZlIHRoZSBpbnRlbmRlZCByZXN1bHQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfVkFDVU9VU19TRUxGX0NPTExFQ1RJT05fQ0FMTCI+RE1JOiBWYWN1b3VzIGNhbGwgdG8gY29sbGVjdGlvbnMgKERNSV9WQUNVT1VTX1NFTEZfQ09MTEVDVElPTl9DQUxMKTwvYT48L2gzPgotCi0gICAgIAotICAgICA8cD4gVGhpcyBjYWxsIGRvZXNuJ3QgbWFrZSBzZW5zZS4gRm9yIGFueSBjb2xsZWN0aW9uIDxjb2RlPmM8L2NvZGU+LCBjYWxsaW5nIDxjb2RlPmMuY29udGFpbnNBbGwoYyk8L2NvZGU+IHNob3VsZAotYWx3YXlzIGJlIHRydWUsIGFuZCA8Y29kZT5jLnJldGFpbkFsbChjKTwvY29kZT4gc2hvdWxkIGhhdmUgbm8gZWZmZWN0LgotICAgIDwvcD4KLSAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0FOTk9UQVRJT05fSVNfTk9UX1ZJU0lCTEVfVE9fUkVGTEVDVElPTiI+RG06IENhbid0IHVzZSByZWZsZWN0aW9uIHRvIGNoZWNrIGZvciBwcmVzZW5jZSBvZiBhbm5vdGF0aW9uIHdpdGhvdXQgcnVudGltZSByZXRlbnRpb24gKERNSV9BTk5PVEFUSU9OX0lTX05PVF9WSVNJQkxFX1RPX1JFRkxFQ1RJT04pPC9hPjwvaDM+Ci0KLQotICA8cD4gVW5sZXNzIGFuIGFubm90YXRpb24gaGFzIGl0c2VsZiBiZWVuIGFubm90YXRlZCB3aXRoICBAUmV0ZW50aW9uKFJldGVudGlvblBvbGljeS5SVU5USU1FKSwgdGhlIGFubm90YXRpb24gY2FuJ3QgYmUgb2JzZXJ2ZWQgdXNpbmcgcmVmbGVjdGlvbgotKGUuZy4sIGJ5IHVzaW5nIHRoZSBpc0Fubm90YXRpb25QcmVzZW50IG1ldGhvZCkuCi0gICAuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0ZVVElMRV9BVFRFTVBUX1RPX0NIQU5HRV9NQVhQT09MX1NJWkVfT0ZfU0NIRURVTEVEX1RIUkVBRF9QT09MX0VYRUNVVE9SIj5EbTogRnV0aWxlIGF0dGVtcHQgdG8gY2hhbmdlIG1heCBwb29sIHNpemUgb2YgU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yIChETUlfRlVUSUxFX0FUVEVNUFRfVE9fQ0hBTkdFX01BWFBPT0xfU0laRV9PRl9TQ0hFRFVMRURfVEhSRUFEX1BPT0xfRVhFQ1VUT1IpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPig8YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL2phdmFzZS82L2RvY3MvYXBpL2phdmEvdXRpbC9jb25jdXJyZW50L1NjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5odG1sIj5KYXZhZG9jPC9hPikKLVdoaWxlIFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciBpbmhlcml0cyBmcm9tIFRocmVhZFBvb2xFeGVjdXRvciwgYSBmZXcgb2YgdGhlIGluaGVyaXRlZCB0dW5pbmcgbWV0aG9kcyBhcmUgbm90IHVzZWZ1bCBmb3IgaXQuIEluIHBhcnRpY3VsYXIsIGJlY2F1c2UgaXQgYWN0cyBhcyBhIGZpeGVkLXNpemVkIHBvb2wgdXNpbmcgY29yZVBvb2xTaXplIHRocmVhZHMgYW5kIGFuIHVuYm91bmRlZCBxdWV1ZSwgYWRqdXN0bWVudHMgdG8gbWF4aW11bVBvb2xTaXplIGhhdmUgbm8gdXNlZnVsIGVmZmVjdC4KLSAgICA8L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9TQ0hFRFVMRURfVEhSRUFEX1BPT0xfRVhFQ1VUT1JfV0lUSF9aRVJPX0NPUkVfVEhSRUFEUyI+RG06IENyZWF0aW9uIG9mIFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciB3aXRoIHplcm8gY29yZSB0aHJlYWRzIChETUlfU0NIRURVTEVEX1RIUkVBRF9QT09MX0VYRUNVVE9SX1dJVEhfWkVST19DT1JFX1RIUkVBRFMpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPig8YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL2phdmFzZS82L2RvY3MvYXBpL2phdmEvdXRpbC9jb25jdXJyZW50L1NjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5odG1sI1NjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvcihpbnQpIj5KYXZhZG9jPC9hPikKLUEgU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yIHdpdGggemVybyBjb3JlIHRocmVhZHMgd2lsbCBuZXZlciBleGVjdXRlIGFueXRoaW5nOyBjaGFuZ2VzIHRvIHRoZSBtYXggcG9vbCBzaXplIGFyZSBpZ25vcmVkLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfVkFDVU9VU19DQUxMX1RPX0VBU1lNT0NLX01FVEhPRCI+RG06IFVzZWxlc3MvdmFjdW91cyBjYWxsIHRvIEVhc3lNb2NrIG1ldGhvZCAoRE1JX1ZBQ1VPVVNfQ0FMTF9UT19FQVNZTU9DS19NRVRIT0QpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPlRoaXMgY2FsbCBkb2Vzbid0IHBhc3MgYW55IG9iamVjdHMgdG8gdGhlIEVhc3lNb2NrIG1ldGhvZCwgc28gdGhlIGNhbGwgZG9lc24ndCBkbyBhbnl0aGluZy4KLTwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iRUNfQVJSQVlfQU5EX05PTkFSUkFZIj5FQzogZXF1YWxzKCkgdXNlZCB0byBjb21wYXJlIGFycmF5IGFuZCBub25hcnJheSAoRUNfQVJSQVlfQU5EX05PTkFSUkFZKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBtZXRob2QgaW52b2tlcyB0aGUgLmVxdWFscyhPYmplY3QgbykgdG8gY29tcGFyZSBhbiBhcnJheSBhbmQgYSByZWZlcmVuY2UgdGhhdCBkb2Vzbid0IHNlZW0KLXRvIGJlIGFuIGFycmF5LiBJZiB0aGluZ3MgYmVpbmcgY29tcGFyZWQgYXJlIG9mIGRpZmZlcmVudCB0eXBlcywgdGhleSBhcmUgZ3VhcmFudGVlZCB0byBiZSB1bmVxdWFsCi1hbmQgdGhlIGNvbXBhcmlzb24gaXMgYWxtb3N0IGNlcnRhaW5seSBhbiBlcnJvci4gRXZlbiBpZiB0aGV5IGFyZSBib3RoIGFycmF5cywgdGhlIGVxdWFscyBtZXRob2QKLW9uIGFycmF5cyBvbmx5IGRldGVybWluZXMgb2YgdGhlIHR3byBhcnJheXMgYXJlIHRoZSBzYW1lIG9iamVjdC4KLVRvIGNvbXBhcmUgdGhlCi1jb250ZW50cyBvZiB0aGUgYXJyYXlzLCB1c2UgamF2YS51dGlsLkFycmF5cy5lcXVhbHMoT2JqZWN0W10sIE9iamVjdFtdKS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVDX0JBRF9BUlJBWV9DT01QQVJFIj5FQzogSW52b2NhdGlvbiBvZiBlcXVhbHMoKSBvbiBhbiBhcnJheSwgd2hpY2ggaXMgZXF1aXZhbGVudCB0byA9PSAoRUNfQkFEX0FSUkFZX0NPTVBBUkUpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIG1ldGhvZCBpbnZva2VzIHRoZSAuZXF1YWxzKE9iamVjdCBvKSBtZXRob2Qgb24gYW4gYXJyYXkuIFNpbmNlIGFycmF5cyBkbyBub3Qgb3ZlcnJpZGUgdGhlIGVxdWFscwotbWV0aG9kIG9mIE9iamVjdCwgY2FsbGluZyBlcXVhbHMgb24gYW4gYXJyYXkgaXMgdGhlIHNhbWUgYXMgY29tcGFyaW5nIHRoZWlyIGFkZHJlc3Nlcy4gVG8gY29tcGFyZSB0aGUKLWNvbnRlbnRzIG9mIHRoZSBhcnJheXMsIHVzZSA8Y29kZT5qYXZhLnV0aWwuQXJyYXlzLmVxdWFscyhPYmplY3RbXSwgT2JqZWN0W10pPC9jb2RlPi4KLVRvIGNvbXBhcmUgdGhlIGFkZHJlc3NlcyBvZiB0aGUgYXJyYXlzLCBpdCB3b3VsZCBiZQotbGVzcyBjb25mdXNpbmcgdG8gZXhwbGljaXRseSBjaGVjayBwb2ludGVyIGVxdWFsaXR5IHVzaW5nIDxjb2RlPj09PC9jb2RlPi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVDX0lOQ09NUEFUSUJMRV9BUlJBWV9DT01QQVJFIj5FQzogZXF1YWxzKC4uLikgdXNlZCB0byBjb21wYXJlIGluY29tcGF0aWJsZSBhcnJheXMgKEVDX0lOQ09NUEFUSUJMRV9BUlJBWV9DT01QQVJFKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBtZXRob2QgaW52b2tlcyB0aGUgLmVxdWFscyhPYmplY3QgbykgdG8gY29tcGFyZSB0d28gYXJyYXlzLCBidXQgdGhlIGFycmF5cyBvZgotb2YgaW5jb21wYXRpYmxlIHR5cGVzIChlLmcuLCBTdHJpbmdbXSBhbmQgU3RyaW5nQnVmZmVyW10sIG9yIFN0cmluZ1tdIGFuZCBpbnRbXSkuCi1UaGV5IHdpbGwgbmV2ZXIgYmUgZXF1YWwuIEluIGFkZGl0aW9uLCB3aGVuIGVxdWFscyguLi4pIGlzIHVzZWQgdG8gY29tcGFyZSBhcnJheXMgaXQKLW9ubHkgY2hlY2tzIHRvIHNlZSBpZiB0aGV5IGFyZSB0aGUgc2FtZSBhcnJheSwgYW5kIGlnbm9yZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBhcnJheXMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFQ19OVUxMX0FSRyI+RUM6IENhbGwgdG8gZXF1YWxzKG51bGwpIChFQ19OVUxMX0FSRyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY2FsbHMgZXF1YWxzKE9iamVjdCksIHBhc3NpbmcgYSBudWxsIHZhbHVlIGFzCi10aGUgYXJndW1lbnQuIEFjY29yZGluZyB0byB0aGUgY29udHJhY3Qgb2YgdGhlIGVxdWFscygpIG1ldGhvZCwKLXRoaXMgY2FsbCBzaG91bGQgYWx3YXlzIHJldHVybiA8Y29kZT5mYWxzZTwvY29kZT4uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRUNfVU5SRUxBVEVEX0NMQVNTX0FORF9JTlRFUkZBQ0UiPkVDOiBDYWxsIHRvIGVxdWFscygpIGNvbXBhcmluZyB1bnJlbGF0ZWQgY2xhc3MgYW5kIGludGVyZmFjZSAoRUNfVU5SRUxBVEVEX0NMQVNTX0FORF9JTlRFUkZBQ0UpPC9hPjwvaDM+Ci0KLSAgICAgIAotPHA+Ci1UaGlzIG1ldGhvZCBjYWxscyBlcXVhbHMoT2JqZWN0KSBvbiB0d28gcmVmZXJlbmNlcywgIG9uZSBvZiB3aGljaCBpcyBhIGNsYXNzCi1hbmQgdGhlIG90aGVyIGFuIGludGVyZmFjZSwgd2hlcmUgbmVpdGhlciB0aGUgY2xhc3Mgbm9yIGFueSBvZiBpdHMKLW5vbi1hYnN0cmFjdCBzdWJjbGFzc2VzIGltcGxlbWVudCB0aGUgaW50ZXJmYWNlLgotVGhlcmVmb3JlLCB0aGUgb2JqZWN0cyBiZWluZyBjb21wYXJlZAotYXJlIHVubGlrZWx5IHRvIGJlIG1lbWJlcnMgb2YgdGhlIHNhbWUgY2xhc3MgYXQgcnVudGltZQotKHVubGVzcyBzb21lIGFwcGxpY2F0aW9uIGNsYXNzZXMgd2VyZSBub3QgYW5hbHl6ZWQsIG9yIGR5bmFtaWMgY2xhc3MKLWxvYWRpbmcgY2FuIG9jY3VyIGF0IHJ1bnRpbWUpLgotQWNjb3JkaW5nIHRvIHRoZSBjb250cmFjdCBvZiBlcXVhbHMoKSwKLW9iamVjdHMgb2YgZGlmZmVyZW50Ci1jbGFzc2VzIHNob3VsZCBhbHdheXMgY29tcGFyZSBhcyB1bmVxdWFsOyB0aGVyZWZvcmUsIGFjY29yZGluZyB0byB0aGUKLWNvbnRyYWN0IGRlZmluZWQgYnkgamF2YS5sYW5nLk9iamVjdC5lcXVhbHMoT2JqZWN0KSwKLXRoZSByZXN1bHQgb2YgdGhpcyBjb21wYXJpc29uIHdpbGwgYWx3YXlzIGJlIGZhbHNlIGF0IHJ1bnRpbWUuCi08L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9IkVDX1VOUkVMQVRFRF9JTlRFUkZBQ0VTIj5FQzogQ2FsbCB0byBlcXVhbHMoKSBjb21wYXJpbmcgZGlmZmVyZW50IGludGVyZmFjZSB0eXBlcyAoRUNfVU5SRUxBVEVEX0lOVEVSRkFDRVMpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNhbGxzIGVxdWFscyhPYmplY3QpIG9uIHR3byByZWZlcmVuY2VzIG9mIHVucmVsYXRlZAotaW50ZXJmYWNlIHR5cGVzLCB3aGVyZSBuZWl0aGVyIGlzIGEgc3VidHlwZSBvZiB0aGUgb3RoZXIsCi1hbmQgdGhlcmUgYXJlIG5vIGtub3duIG5vbi1hYnN0cmFjdCBjbGFzc2VzIHdoaWNoIGltcGxlbWVudCBib3RoIGludGVyZmFjZXMuCi1UaGVyZWZvcmUsIHRoZSBvYmplY3RzIGJlaW5nIGNvbXBhcmVkCi1hcmUgdW5saWtlbHkgdG8gYmUgbWVtYmVycyBvZiB0aGUgc2FtZSBjbGFzcyBhdCBydW50aW1lCi0odW5sZXNzIHNvbWUgYXBwbGljYXRpb24gY2xhc3NlcyB3ZXJlIG5vdCBhbmFseXplZCwgb3IgZHluYW1pYyBjbGFzcwotbG9hZGluZyBjYW4gb2NjdXIgYXQgcnVudGltZSkuCi1BY2NvcmRpbmcgdG8gdGhlIGNvbnRyYWN0IG9mIGVxdWFscygpLAotb2JqZWN0cyBvZiBkaWZmZXJlbnQKLWNsYXNzZXMgc2hvdWxkIGFsd2F5cyBjb21wYXJlIGFzIHVuZXF1YWw7IHRoZXJlZm9yZSwgYWNjb3JkaW5nIHRvIHRoZQotY29udHJhY3QgZGVmaW5lZCBieSBqYXZhLmxhbmcuT2JqZWN0LmVxdWFscyhPYmplY3QpLAotdGhlIHJlc3VsdCBvZiB0aGlzIGNvbXBhcmlzb24gd2lsbCBhbHdheXMgYmUgZmFsc2UgYXQgcnVudGltZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVDX1VOUkVMQVRFRF9UWVBFUyI+RUM6IENhbGwgdG8gZXF1YWxzKCkgY29tcGFyaW5nIGRpZmZlcmVudCB0eXBlcyAoRUNfVU5SRUxBVEVEX1RZUEVTKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjYWxscyBlcXVhbHMoT2JqZWN0KSBvbiB0d28gcmVmZXJlbmNlcyBvZiBkaWZmZXJlbnQKLWNsYXNzIHR5cGVzIHdpdGggbm8gY29tbW9uIHN1YmNsYXNzZXMuCi1UaGVyZWZvcmUsIHRoZSBvYmplY3RzIGJlaW5nIGNvbXBhcmVkCi1hcmUgdW5saWtlbHkgdG8gYmUgbWVtYmVycyBvZiB0aGUgc2FtZSBjbGFzcyBhdCBydW50aW1lCi0odW5sZXNzIHNvbWUgYXBwbGljYXRpb24gY2xhc3NlcyB3ZXJlIG5vdCBhbmFseXplZCwgb3IgZHluYW1pYyBjbGFzcwotbG9hZGluZyBjYW4gb2NjdXIgYXQgcnVudGltZSkuCi1BY2NvcmRpbmcgdG8gdGhlIGNvbnRyYWN0IG9mIGVxdWFscygpLAotb2JqZWN0cyBvZiBkaWZmZXJlbnQKLWNsYXNzZXMgc2hvdWxkIGFsd2F5cyBjb21wYXJlIGFzIHVuZXF1YWw7IHRoZXJlZm9yZSwgYWNjb3JkaW5nIHRvIHRoZQotY29udHJhY3QgZGVmaW5lZCBieSBqYXZhLmxhbmcuT2JqZWN0LmVxdWFscyhPYmplY3QpLAotdGhlIHJlc3VsdCBvZiB0aGlzIGNvbXBhcmlzb24gd2lsbCBhbHdheXMgYmUgZmFsc2UgYXQgcnVudGltZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVDX1VOUkVMQVRFRF9UWVBFU19VU0lOR19QT0lOVEVSX0VRVUFMSVRZIj5FQzogVXNpbmcgcG9pbnRlciBlcXVhbGl0eSB0byBjb21wYXJlIGRpZmZlcmVudCB0eXBlcyAoRUNfVU5SRUxBVEVEX1RZUEVTX1VTSU5HX1BPSU5URVJfRVFVQUxJVFkpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIHVzZXMgdXNpbmcgcG9pbnRlciBlcXVhbGl0eSB0byBjb21wYXJlIHR3byByZWZlcmVuY2VzIHRoYXQgc2VlbSB0byBiZSBvZgotZGlmZmVyZW50IHR5cGVzLiAgVGhlIHJlc3VsdCBvZiB0aGlzIGNvbXBhcmlzb24gd2lsbCBhbHdheXMgYmUgZmFsc2UgYXQgcnVudGltZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX0FMV0FZU19GQUxTRSI+RXE6IGVxdWFscyBtZXRob2QgYWx3YXlzIHJldHVybnMgZmFsc2UgKEVRX0FMV0FZU19GQUxTRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYW4gZXF1YWxzIG1ldGhvZCB0aGF0IGFsd2F5cyByZXR1cm5zIGZhbHNlLiBUaGlzIG1lYW5zIHRoYXQgYW4gb2JqZWN0IGlzIG5vdCBlcXVhbCB0byBpdHNlbGYsIGFuZCBpdCBpcyBpbXBvc3NpYmxlIHRvIGNyZWF0ZSB1c2VmdWwgTWFwcyBvciBTZXRzIG9mIHRoaXMgY2xhc3MuIE1vcmUgZnVuZGFtZW50YWxseSwgaXQgbWVhbnMKLXRoYXQgZXF1YWxzIGlzIG5vdCByZWZsZXhpdmUsIG9uZSBvZiB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBlcXVhbHMgbWV0aG9kLjwvcD4KLTxwPlRoZSBsaWtlbHkgaW50ZW5kZWQgc2VtYW50aWNzIGFyZSBvYmplY3QgaWRlbnRpdHk6IHRoYXQgYW4gb2JqZWN0IGlzIGVxdWFsIHRvIGl0c2VsZi4gVGhpcyBpcyB0aGUgYmVoYXZpb3IgaW5oZXJpdGVkIGZyb20gY2xhc3MgPGNvZGU+T2JqZWN0PC9jb2RlPi4gSWYgeW91IG5lZWQgdG8gb3ZlcnJpZGUgYW4gZXF1YWxzIGluaGVyaXRlZCBmcm9tIGEgZGlmZmVyZW50Ci1zdXBlcmNsYXNzLCB5b3UgY2FuIHVzZSB1c2U6PC9wPgotPHByZT4KLXB1YmxpYyBib29sZWFuIGVxdWFscyhPYmplY3QgbykgeyByZXR1cm4gdGhpcyA9PSBvOyB9Ci08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX0FMV0FZU19UUlVFIj5FcTogZXF1YWxzIG1ldGhvZCBhbHdheXMgcmV0dXJucyB0cnVlIChFUV9BTFdBWVNfVFJVRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYW4gZXF1YWxzIG1ldGhvZCB0aGF0IGFsd2F5cyByZXR1cm5zIHRydWUuIFRoaXMgaXMgaW1hZ2luYXRpdmUsIGJ1dCBub3QgdmVyeSBzbWFydC4KLVBsdXMsIGl0IG1lYW5zIHRoYXQgdGhlIGVxdWFscyBtZXRob2QgaXMgbm90IHN5bW1ldHJpYy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX0NPTVBBUklOR19DTEFTU19OQU1FUyI+RXE6IGVxdWFscyBtZXRob2QgY29tcGFyZXMgY2xhc3MgbmFtZXMgcmF0aGVyIHRoYW4gY2xhc3Mgb2JqZWN0cyAoRVFfQ09NUEFSSU5HX0NMQVNTX05BTUVTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIGNoZWNrcyB0byBzZWUgaWYgdHdvIG9iamVjdHMgYXJlIHRoZSBzYW1lIGNsYXNzIGJ5IGNoZWNraW5nIHRvIHNlZSBpZiB0aGUgbmFtZXMKLW9mIHRoZWlyIGNsYXNzZXMgYXJlIGVxdWFsLiBZb3UgY2FuIGhhdmUgZGlmZmVyZW50IGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGlmIHRoZXkgYXJlIGxvYWRlZCBieQotZGlmZmVyZW50IGNsYXNzIGxvYWRlcnMuIEp1c3QgY2hlY2sgdG8gc2VlIGlmIHRoZSBjbGFzcyBvYmplY3RzIGFyZSB0aGUgc2FtZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX0RPTlRfREVGSU5FX0VRVUFMU19GT1JfRU5VTSI+RXE6IENvdmFyaWFudCBlcXVhbHMoKSBtZXRob2QgZGVmaW5lZCBmb3IgZW51bSAoRVFfRE9OVF9ERUZJTkVfRVFVQUxTX0ZPUl9FTlVNKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhbiBlbnVtZXJhdGlvbiwgYW5kIGVxdWFsaXR5IG9uIGVudW1lcmF0aW9ucyBhcmUgZGVmaW5lZAotdXNpbmcgb2JqZWN0IGlkZW50aXR5LiBEZWZpbmluZyBhIGNvdmFyaWFudCBlcXVhbHMgbWV0aG9kIGZvciBhbiBlbnVtZXJhdGlvbgotdmFsdWUgaXMgZXhjZXB0aW9uYWxseSBiYWQgcHJhY3RpY2UsIHNpbmNlIGl0IHdvdWxkIGxpa2VseSByZXN1bHQKLWluIGhhdmluZyB0d28gZGlmZmVyZW50IGVudW1lcmF0aW9uIHZhbHVlcyB0aGF0IGNvbXBhcmUgYXMgZXF1YWxzIHVzaW5nCi10aGUgY292YXJpYW50IGVudW0gbWV0aG9kLCBhbmQgYXMgbm90IGVxdWFsIHdoZW4gY29tcGFyZWQgbm9ybWFsbHkuCi1Eb24ndCBkbyBpdC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX09USEVSX05PX09CSkVDVCI+RXE6IGVxdWFscygpIG1ldGhvZCBkZWZpbmVkIHRoYXQgZG9lc24ndCBvdmVycmlkZSBlcXVhbHMoT2JqZWN0KSAoRVFfT1RIRVJfTk9fT0JKRUNUKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhbiA8Y29kZT5lcXVhbHMoKTwvY29kZT4KLSAgbWV0aG9kLCB0aGF0IGRvZXNuJ3Qgb3ZlcnJpZGUgdGhlIG5vcm1hbCA8Y29kZT5lcXVhbHMoT2JqZWN0KTwvY29kZT4gbWV0aG9kCi0gIGRlZmluZWQgaW4gdGhlIGJhc2UgPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4gY2xhc3MuJm5ic3A7IEluc3RlYWQsIGl0Ci0gIGluaGVyaXRzIGFuIDxjb2RlPmVxdWFscyhPYmplY3QpPC9jb2RlPiBtZXRob2QgZnJvbSBhIHN1cGVyY2xhc3MuCi0gIFRoZSBjbGFzcyBzaG91bGQgcHJvYmFibHkgZGVmaW5lIGEgPGNvZGU+Ym9vbGVhbiBlcXVhbHMoT2JqZWN0KTwvY29kZT4gbWV0aG9kLgotICA8L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9PVEhFUl9VU0VfT0JKRUNUIj5FcTogZXF1YWxzKCkgbWV0aG9kIGRlZmluZWQgdGhhdCBkb2Vzbid0IG92ZXJyaWRlIE9iamVjdC5lcXVhbHMoT2JqZWN0KSAoRVFfT1RIRVJfVVNFX09CSkVDVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYW4gPGNvZGU+ZXF1YWxzKCk8L2NvZGU+Ci0gIG1ldGhvZCwgdGhhdCBkb2Vzbid0IG92ZXJyaWRlIHRoZSBub3JtYWwgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZAotICBkZWZpbmVkIGluIHRoZSBiYXNlIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+IGNsYXNzLiZuYnNwOwotICBUaGUgY2xhc3Mgc2hvdWxkIHByb2JhYmx5IGRlZmluZSBhIDxjb2RlPmJvb2xlYW4gZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZC4KLSAgPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRVFfT1ZFUlJJRElOR19FUVVBTFNfTk9UX1NZTU1FVFJJQyI+RXE6IGVxdWFscyBtZXRob2Qgb3ZlcnJpZGVzIGVxdWFscyBpbiBzdXBlcmNsYXNzIGFuZCBtYXkgbm90IGJlIHN5bW1ldHJpYyAoRVFfT1ZFUlJJRElOR19FUVVBTFNfTk9UX1NZTU1FVFJJQyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYW4gZXF1YWxzIG1ldGhvZCB0aGF0IG92ZXJyaWRlcyBhbiBlcXVhbHMgbWV0aG9kIGluIGEgc3VwZXJjbGFzcy4gQm90aCBlcXVhbHMgbWV0aG9kcwotbWV0aG9kcyB1c2UgPGNvZGU+aW5zdGFuY2VvZjwvY29kZT4gaW4gdGhlIGRldGVybWluYXRpb24gb2Ygd2hldGhlciB0d28gb2JqZWN0cyBhcmUgZXF1YWwuIFRoaXMgaXMgZnJhdWdodCB3aXRoIHBlcmlsLAotc2luY2UgaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhlIGVxdWFscyBtZXRob2QgaXMgc3ltbWV0cmljYWwgKGluIG90aGVyIHdvcmRzLCA8Y29kZT5hLmVxdWFscyhiKSA9PSBiLmVxdWFscyhhKTwvY29kZT4pLgotSWYgQiBpcyBhIHN1YnR5cGUgb2YgQSwgYW5kIEEncyBlcXVhbHMgbWV0aG9kIGNoZWNrcyB0aGF0IHRoZSBhcmd1bWVudCBpcyBhbiBpbnN0YW5jZW9mIEEsIGFuZCBCJ3MgZXF1YWxzIG1ldGhvZAotY2hlY2tzIHRoYXQgdGhlIGFyZ3VtZW50IGlzIGFuIGluc3RhbmNlb2YgQiwgaXQgaXMgcXVpdGUgbGlrZWx5IHRoYXQgdGhlIGVxdWl2YWxlbmNlIHJlbGF0aW9uIGRlZmluZWQgYnkgdGhlc2UKLW1ldGhvZHMgaXMgbm90IHN5bW1ldHJpYy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX1NFTEZfVVNFX09CSkVDVCI+RXE6IENvdmFyaWFudCBlcXVhbHMoKSBtZXRob2QgZGVmaW5lZCwgT2JqZWN0LmVxdWFscyhPYmplY3QpIGluaGVyaXRlZCAoRVFfU0VMRl9VU0VfT0JKRUNUKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIGNvdmFyaWFudCB2ZXJzaW9uIG9mIHRoZSA8Y29kZT5lcXVhbHMoKTwvY29kZT4KLSAgbWV0aG9kLCBidXQgaW5oZXJpdHMgdGhlIG5vcm1hbCA8Y29kZT5lcXVhbHMoT2JqZWN0KTwvY29kZT4gbWV0aG9kCi0gIGRlZmluZWQgaW4gdGhlIGJhc2UgPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4gY2xhc3MuJm5ic3A7Ci0gIFRoZSBjbGFzcyBzaG91bGQgcHJvYmFibHkgZGVmaW5lIGEgPGNvZGU+Ym9vbGVhbiBlcXVhbHMoT2JqZWN0KTwvY29kZT4gbWV0aG9kLgotICA8L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJGQl9NSVNTSU5HX0VYUEVDVEVEX1dBUk5JTkciPkZCOiBNaXNzaW5nIGV4cGVjdGVkIG9yIGRlc2lyZWQgd2FybmluZyBmcm9tIEZpbmRCdWdzIChGQl9NSVNTSU5HX0VYUEVDVEVEX1dBUk5JTkcpPC9hPjwvaDM+Ci0KLSAgICAgICAgICAKLSAgICAgICAgICA8cD5GaW5kQnVncyBkaWRuJ3QgZ2VuZXJhdGUgZ2VuZXJhdGVkIGEgd2FybmluZyB0aGF0LCBhY2NvcmRpbmcgdG8gYSBARXhwZWN0ZWRXYXJuaW5nIGFubm90YXRlZCwKLSAgICAgICAgICAgIGlzIGV4cGVjdGVkIG9yIGRlc2lyZWQ8L3A+Ci0gICAgICAgICAgCi0gICAgICAKLTxoMz48YSBuYW1lPSJGQl9VTkVYUEVDVEVEX1dBUk5JTkciPkZCOiBVbmV4cGVjdGVkL3VuZGVzaXJlZCB3YXJuaW5nIGZyb20gRmluZEJ1Z3MgKEZCX1VORVhQRUNURURfV0FSTklORyk8L2E+PC9oMz4KLQotICAgICAgICAgIAotICAgICAgICAgIDxwPkZpbmRCdWdzIGdlbmVyYXRlZCBhIHdhcm5pbmcgdGhhdCwgYWNjb3JkaW5nIHRvIGEgQE5vV2FybmluZyBhbm5vdGF0ZWQsCi0gICAgICAgICAgICBpcyB1bmV4cGVjdGVkIG9yIHVuZGVzaXJlZDwvcD4KLSAgICAgICAgICAKLSAgICAgIAotPGgzPjxhIG5hbWU9IkZFX1RFU1RfSUZfRVFVQUxfVE9fTk9UX0FfTlVNQkVSIj5GRTogRG9vbWVkIHRlc3QgZm9yIGVxdWFsaXR5IHRvIE5hTiAoRkVfVEVTVF9JRl9FUVVBTF9UT19OT1RfQV9OVU1CRVIpPC9hPjwvaDM+Ci0KLSAgIAotICAgIDxwPgotICAgIFRoaXMgY29kZSBjaGVja3MgdG8gc2VlIGlmIGEgZmxvYXRpbmcgcG9pbnQgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIHNwZWNpYWwKLSAgICBOb3QgQSBOdW1iZXIgdmFsdWUgKGUuZy4sIDxjb2RlPmlmICh4ID09IERvdWJsZS5OYU4pPC9jb2RlPikuIEhvd2V2ZXIsCi0gICAgYmVjYXVzZSBvZiB0aGUgc3BlY2lhbCBzZW1hbnRpY3Mgb2YgPGNvZGU+TmFOPC9jb2RlPiwgbm8gdmFsdWUKLSAgICBpcyBlcXVhbCB0byA8Y29kZT5OYW48L2NvZGU+LCBpbmNsdWRpbmcgPGNvZGU+TmFOPC9jb2RlPi4gVGh1cywKLSAgICA8Y29kZT54ID09IERvdWJsZS5OYU48L2NvZGU+IGFsd2F5cyBldmFsdWF0ZXMgdG8gZmFsc2UuCi0KLSAgICBUbyBjaGVjayB0byBzZWUgaWYgYSB2YWx1ZSBjb250YWluZWQgaW4gPGNvZGU+eDwvY29kZT4KLSAgICBpcyB0aGUgc3BlY2lhbCBOb3QgQSBOdW1iZXIgdmFsdWUsIHVzZQotICAgIDxjb2RlPkRvdWJsZS5pc05hTih4KTwvY29kZT4gKG9yIDxjb2RlPkZsb2F0LmlzTmFOKHgpPC9jb2RlPiBpZgotICAgIDxjb2RlPng8L2NvZGU+IGlzIGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbikuCi0gICAgPC9wPgotICAgIAotICAgICAKLTxoMz48YSBuYW1lPSJGTF9NQVRIX1VTSU5HX0ZMT0FUX1BSRUNJU0lPTiI+Rkw6IE1ldGhvZCBwZXJmb3JtcyBtYXRoIHVzaW5nIGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbiAoRkxfTUFUSF9VU0lOR19GTE9BVF9QUkVDSVNJT04pPC9hPjwvaDM+Ci0KLQotPHA+Ci0gICBUaGUgbWV0aG9kIHBlcmZvcm1zIG1hdGggb3BlcmF0aW9ucyB1c2luZyBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24uCi0gICBGbG9hdGluZyBwb2ludCBwcmVjaXNpb24gaXMgdmVyeSBpbXByZWNpc2UuIEZvciBleGFtcGxlLAotICAgMTY3NzcyMTYuMGYgKyAxLjBmID0gMTY3NzcyMTYuMGYuIENvbnNpZGVyIHVzaW5nIGRvdWJsZSBtYXRoIGluc3RlYWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVkFfRk9STUFUX1NUUklOR19CQURfQVJHVU1FTlQiPkZTOiBGb3JtYXQgc3RyaW5nIHBsYWNlaG9sZGVyIGluY29tcGF0aWJsZSB3aXRoIHBhc3NlZCBhcmd1bWVudCAoVkFfRk9STUFUX1NUUklOR19CQURfQVJHVU1FTlQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgZm9ybWF0IHN0cmluZyBwbGFjZWhvbGRlciBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgY29ycmVzcG9uZGluZwotYXJndW1lbnQuIEZvciBleGFtcGxlLAotPGNvZGU+Ci0gIFN5c3RlbS5vdXQucHJpbnRsbigiJWRcbiIsICJoZWxsbyIpOwotPC9jb2RlPgotPHA+VGhlICVkIHBsYWNlaG9sZGVyIHJlcXVpcmVzIGEgbnVtZXJpYyBhcmd1bWVudCwgYnV0IGEgc3RyaW5nIHZhbHVlIGlzCi1wYXNzZWQgaW5zdGVhZC4KLUEgcnVudGltZSBleGNlcHRpb24gd2lsbCBvY2N1ciB3aGVuCi10aGlzIHN0YXRlbWVudCBpcyBleGVjdXRlZC4KLTwvcD4KLQotICAgICAKLTxoMz48YSBuYW1lPSJWQV9GT1JNQVRfU1RSSU5HX0JBRF9DT05WRVJTSU9OIj5GUzogVGhlIHR5cGUgb2YgYSBzdXBwbGllZCBhcmd1bWVudCBkb2Vzbid0IG1hdGNoIGZvcm1hdCBzcGVjaWZpZXIgKFZBX0ZPUk1BVF9TVFJJTkdfQkFEX0NPTlZFUlNJT04pPC9hPjwvaDM+Ci0KLQotPHA+Ci1PbmUgb2YgdGhlIGFyZ3VtZW50cyBpcyB1bmNvbXBhdGlibGUgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBmb3JtYXQgc3RyaW5nIHNwZWNpZmllci4KLUFzIGEgcmVzdWx0LCB0aGlzIHdpbGwgZ2VuZXJhdGUgYSBydW50aW1lIGV4Y2VwdGlvbiB3aGVuIGV4ZWN1dGVkLgotRm9yIGV4YW1wbGUsIDxjb2RlPlN0cmluZy5mb3JtYXQoIiVkIiwgIjEiKTwvY29kZT4gd2lsbCBnZW5lcmF0ZSBhbiBleGNlcHRpb24sIHNpbmNlCi10aGUgU3RyaW5nICIxIiBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZm9ybWF0IHNwZWNpZmllciAlZC4KLTwvcD4KLQotICAgICAKLTxoMz48YSBuYW1lPSJWQV9GT1JNQVRfU1RSSU5HX0VYUEVDVEVEX01FU1NBR0VfRk9STUFUX1NVUFBMSUVEIj5GUzogTWVzc2FnZUZvcm1hdCBzdXBwbGllZCB3aGVyZSBwcmludGYgc3R5bGUgZm9ybWF0IGV4cGVjdGVkIChWQV9GT1JNQVRfU1RSSU5HX0VYUEVDVEVEX01FU1NBR0VfRk9STUFUX1NVUFBMSUVEKTwvYT48L2gzPgotCi0KLTxwPgotQSBtZXRob2QgaXMgY2FsbGVkIHRoYXQgZXhwZWN0cyBhIEphdmEgcHJpbnRmIGZvcm1hdCBzdHJpbmcgYW5kIGEgbGlzdCBvZiBhcmd1bWVudHMuCi1Ib3dldmVyLCB0aGUgZm9ybWF0IHN0cmluZyBkb2Vzbid0IGNvbnRhaW4gYW55IGZvcm1hdCBzcGVjaWZpZXJzIChlLmcuLCAlcykgYnV0Ci1kb2VzIGNvbnRhaW4gbWVzc2FnZSBmb3JtYXQgZWxlbWVudHMgKGUuZy4sIHswfSkuICBJdCBpcyBsaWtlbHkKLXRoYXQgdGhlIGNvZGUgaXMgc3VwcGx5aW5nIGEgTWVzc2FnZUZvcm1hdCBzdHJpbmcgd2hlbiBhIHByaW50Zi1zdHlsZSBmb3JtYXQgc3RyaW5nCi1pcyByZXF1aXJlZC4gQXQgcnVudGltZSwgYWxsIG9mIHRoZSBhcmd1bWVudHMgd2lsbCBiZSBpZ25vcmVkCi1hbmQgdGhlIGZvcm1hdCBzdHJpbmcgd2lsbCBiZSByZXR1cm5lZCBleGFjdGx5IGFzIHByb3ZpZGVkIHdpdGhvdXQgYW55IGZvcm1hdHRpbmcuCi08L3A+Ci0KLSAgICAgCi08aDM+PGEgbmFtZT0iVkFfRk9STUFUX1NUUklOR19FWFRSQV9BUkdVTUVOVFNfUEFTU0VEIj5GUzogTW9yZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0aGFuIGFyZSBhY3R1YWxseSB1c2VkIGluIHRoZSBmb3JtYXQgc3RyaW5nIChWQV9GT1JNQVRfU1RSSU5HX0VYVFJBX0FSR1VNRU5UU19QQVNTRUQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1BIGZvcm1hdC1zdHJpbmcgbWV0aG9kIHdpdGggYSB2YXJpYWJsZSBudW1iZXIgb2YgYXJndW1lbnRzIGlzIGNhbGxlZCwKLWJ1dCBtb3JlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRoYW4gYXJlIGFjdHVhbGx5IHVzZWQgYnkgdGhlIGZvcm1hdCBzdHJpbmcuCi1UaGlzIHdvbid0IGNhdXNlIGEgcnVudGltZSBleGNlcHRpb24sIGJ1dCB0aGUgY29kZSBtYXkgYmUgc2lsZW50bHkgb21pdHRpbmcKLWluZm9ybWF0aW9uIHRoYXQgd2FzIGludGVuZGVkIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBmb3JtYXR0ZWQgc3RyaW5nLgotPC9wPgotCi0gICAgIAotPGgzPjxhIG5hbWU9IlZBX0ZPUk1BVF9TVFJJTkdfSUxMRUdBTCI+RlM6IElsbGVnYWwgZm9ybWF0IHN0cmluZyAoVkFfRk9STUFUX1NUUklOR19JTExFR0FMKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGZvcm1hdCBzdHJpbmcgaXMgc3ludGFjdGljYWxseSBpbnZhbGlkLAotYW5kIGEgcnVudGltZSBleGNlcHRpb24gd2lsbCBvY2N1ciB3aGVuCi10aGlzIHN0YXRlbWVudCBpcyBleGVjdXRlZC4KLTwvcD4KLQotICAgICAKLTxoMz48YSBuYW1lPSJWQV9GT1JNQVRfU1RSSU5HX01JU1NJTkdfQVJHVU1FTlQiPkZTOiBGb3JtYXQgc3RyaW5nIHJlZmVyZW5jZXMgbWlzc2luZyBhcmd1bWVudCAoVkFfRk9STUFUX1NUUklOR19NSVNTSU5HX0FSR1VNRU5UKTwvYT48L2gzPgotCi0KLTxwPgotTm90IGVub3VnaCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byBzYXRpc2Z5IGEgcGxhY2Vob2xkZXIgaW4gdGhlIGZvcm1hdCBzdHJpbmcuCi1BIHJ1bnRpbWUgZXhjZXB0aW9uIHdpbGwgb2NjdXIgd2hlbgotdGhpcyBzdGF0ZW1lbnQgaXMgZXhlY3V0ZWQuCi08L3A+Ci0KLSAgICAgCi08aDM+PGEgbmFtZT0iVkFfRk9STUFUX1NUUklOR19OT19QUkVWSU9VU19BUkdVTUVOVCI+RlM6IE5vIHByZXZpb3VzIGFyZ3VtZW50IGZvciBmb3JtYXQgc3RyaW5nIChWQV9GT1JNQVRfU1RSSU5HX05PX1BSRVZJT1VTX0FSR1VNRU5UKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGZvcm1hdCBzdHJpbmcgc3BlY2lmaWVzIGEgcmVsYXRpdmUgaW5kZXggdG8gcmVxdWVzdCB0aGF0IHRoZSBhcmd1bWVudCBmb3IgdGhlIHByZXZpb3VzIGZvcm1hdCBzcGVjaWZpZXIKLWJlIHJldXNlZC4gSG93ZXZlciwgdGhlcmUgaXMgbm8gcHJldmlvdXMgYXJndW1lbnQuCi1Gb3IgZXhhbXBsZSwKLTwvcD4KLTxwPjxjb2RlPmZvcm1hdHRlci5mb3JtYXQoIiUmbHQ7cyAlcyIsICJhIiwgImIiKTwvY29kZT4KLTwvcD4KLTxwPndvdWxkIHRocm93IGEgTWlzc2luZ0Zvcm1hdEFyZ3VtZW50RXhjZXB0aW9uIHdoZW4gZXhlY3V0ZWQuCi08L3A+Ci0KLSAgICAgCi08aDM+PGEgbmFtZT0iR0NfVU5SRUxBVEVEX1RZUEVTIj5HQzogTm8gcmVsYXRpb25zaGlwIGJldHdlZW4gZ2VuZXJpYyBwYXJhbWV0ZXIgYW5kIG1ldGhvZCBhcmd1bWVudCAoR0NfVU5SRUxBVEVEX1RZUEVTKTwvYT48L2gzPgotCi0gICAgIAotICAgICA8cD4gVGhpcyBjYWxsIHRvIGEgZ2VuZXJpYyBjb2xsZWN0aW9uIG1ldGhvZCBjb250YWlucyBhbiBhcmd1bWVudAotICAgICB3aXRoIGFuIGluY29tcGF0aWJsZSBjbGFzcyBmcm9tIHRoYXQgb2YgdGhlIGNvbGxlY3Rpb24ncyBwYXJhbWV0ZXIKLSAgICAoaS5lLiwgdGhlIHR5cGUgb2YgdGhlIGFyZ3VtZW50IGlzIG5laXRoZXIgYSBzdXBlcnR5cGUgbm9yIGEgc3VidHlwZQotICAgICAgICBvZiB0aGUgY29ycmVzcG9uZGluZyBnZW5lcmljIHR5cGUgYXJndW1lbnQpLgotICAgICBUaGVyZWZvcmUsIGl0IGlzIHVubGlrZWx5IHRoYXQgdGhlIGNvbGxlY3Rpb24gY29udGFpbnMgYW55IG9iamVjdHMKLSAgICB0aGF0IGFyZSBlcXVhbCB0byB0aGUgbWV0aG9kIGFyZ3VtZW50IHVzZWQgaGVyZS4KLSAgICBNb3N0IGxpa2VseSwgdGhlIHdyb25nIHZhbHVlIGlzIGJlaW5nIHBhc3NlZCB0byB0aGUgbWV0aG9kLjwvcD4KLSAgICA8cD5JbiBnZW5lcmFsLCBpbnN0YW5jZXMgb2YgdHdvIHVucmVsYXRlZCBjbGFzc2VzIGFyZSBub3QgZXF1YWwuCi0gICAgRm9yIGV4YW1wbGUsIGlmIHRoZSA8Y29kZT5Gb288L2NvZGU+IGFuZCA8Y29kZT5CYXI8L2NvZGU+IGNsYXNzZXMKLSAgICBhcmUgbm90IHJlbGF0ZWQgYnkgc3VidHlwaW5nLCB0aGVuIGFuIGluc3RhbmNlIG9mIDxjb2RlPkZvbzwvY29kZT4KLSAgICAgICAgc2hvdWxkIG5vdCBiZSBlcXVhbCB0byBhbiBpbnN0YW5jZSBvZiA8Y29kZT5CYXI8L2NvZGU+LgotICAgIEFtb25nIG90aGVyIGlzc3VlcywgZG9pbmcgc28gd2lsbCBsaWtlbHkgcmVzdWx0IGluIGFuIGVxdWFscyBtZXRob2QKLSAgICB0aGF0IGlzIG5vdCBzeW1tZXRyaWNhbC4gRm9yIGV4YW1wbGUsIGlmIHlvdSBkZWZpbmUgdGhlIDxjb2RlPkZvbzwvY29kZT4gY2xhc3MKLSAgICBzbyB0aGF0IGEgPGNvZGU+Rm9vPC9jb2RlPiBjYW4gYmUgZXF1YWwgdG8gYSA8Y29kZT5TdHJpbmc8L2NvZGU+LAotICAgIHlvdXIgZXF1YWxzIG1ldGhvZCBpc24ndCBzeW1tZXRyaWNhbCBzaW5jZSBhIDxjb2RlPlN0cmluZzwvY29kZT4gY2FuIG9ubHkgYmUgZXF1YWwKLSAgICB0byBhIDxjb2RlPlN0cmluZzwvY29kZT4uCi0gICAgPC9wPgotICAgIDxwPkluIHJhcmUgY2FzZXMsIHBlb3BsZSBkbyBkZWZpbmUgbm9uc3ltbWV0cmljYWwgZXF1YWxzIG1ldGhvZHMgYW5kIHN0aWxsIG1hbmFnZSB0byBtYWtlCi0gICAgdGhlaXIgY29kZSB3b3JrLiBBbHRob3VnaCBub25lIG9mIHRoZSBBUElzIGRvY3VtZW50IG9yIGd1YXJhbnRlZSBpdCwgaXQgaXMgdHlwaWNhbGx5Ci0gICAgdGhlIGNhc2UgdGhhdCBpZiB5b3UgY2hlY2sgaWYgYSA8Y29kZT5Db2xsZWN0aW9uJmx0O1N0cmluZyZndDs8L2NvZGU+IGNvbnRhaW5zCi0gICAgYSA8Y29kZT5Gb288L2NvZGU+LCB0aGUgZXF1YWxzIG1ldGhvZCBvZiBhcmd1bWVudCAoZS5nLiwgdGhlIGVxdWFscyBtZXRob2Qgb2YgdGhlCi0gICAgPGNvZGU+Rm9vPC9jb2RlPiBjbGFzcykgdXNlZCB0byBwZXJmb3JtIHRoZSBlcXVhbGl0eSBjaGVja3MuCi0gICAgPC9wPgotICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJIRV9TSUdOQVRVUkVfREVDTEFSRVNfSEFTSElOR19PRl9VTkhBU0hBQkxFX0NMQVNTIj5IRTogU2lnbmF0dXJlIGRlY2xhcmVzIHVzZSBvZiB1bmhhc2hhYmxlIGNsYXNzIGluIGhhc2hlZCBjb25zdHJ1Y3QgKEhFX1NJR05BVFVSRV9ERUNMQVJFU19IQVNISU5HX09GX1VOSEFTSEFCTEVfQ0xBU1MpPC9hPjwvaDM+Ci0KLQotICA8cD4gQSBtZXRob2QsIGZpZWxkIG9yIGNsYXNzIGRlY2xhcmVzIGEgZ2VuZXJpYyBzaWduYXR1cmUgd2hlcmUgYSBub24taGFzaGFibGUgY2xhc3MKLWlzIHVzZWQgaW4gY29udGV4dCB3aGVyZSBhIGhhc2hhYmxlIGNsYXNzIGlzIHJlcXVpcmVkLgotQSBjbGFzcyB0aGF0IGRlY2xhcmVzIGFuIGVxdWFscyBtZXRob2QgYnV0IGluaGVyaXRzIGEgaGFzaENvZGUoKSBtZXRob2QKLWZyb20gT2JqZWN0IGlzIHVuaGFzaGFibGUsIHNpbmNlIGl0IGRvZXNuJ3QgZnVsZmlsbCB0aGUgcmVxdWlyZW1lbnQgdGhhdAotZXF1YWwgb2JqZWN0cyBoYXZlIGVxdWFsIGhhc2hDb2Rlcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkhFX1VTRV9PRl9VTkhBU0hBQkxFX0NMQVNTIj5IRTogVXNlIG9mIGNsYXNzIHdpdGhvdXQgYSBoYXNoQ29kZSgpIG1ldGhvZCBpbiBhIGhhc2hlZCBkYXRhIHN0cnVjdHVyZSAoSEVfVVNFX09GX1VOSEFTSEFCTEVfQ0xBU1MpPC9hPjwvaDM+Ci0KLQotICA8cD4gQSBjbGFzcyBkZWZpbmVzIGFuIGVxdWFscyhPYmplY3QpICBtZXRob2QgYnV0IG5vdCBhIGhhc2hDb2RlKCkgbWV0aG9kLAotYW5kIHRodXMgZG9lc24ndCBmdWxmaWxsIHRoZSByZXF1aXJlbWVudCB0aGF0IGVxdWFsIG9iamVjdHMgaGF2ZSBlcXVhbCBoYXNoQ29kZXMuCi1BbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzIGlzIHVzZWQgaW4gYSBoYXNoIGRhdGEgc3RydWN0dXJlLCBtYWtpbmcgdGhlIG5lZWQgdG8KLWZpeCB0aGlzIHByb2JsZW0gb2YgaGlnaGVzdCBpbXBvcnRhbmNlLgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUNBU1RfSU5UXzJfTE9OR19BU19JTlNUQU5UIj5JQ0FTVDogaW50IHZhbHVlIGNvbnZlcnRlZCB0byBsb25nIGFuZCB1c2VkIGFzIGFic29sdXRlIHRpbWUgKElDQVNUX0lOVF8yX0xPTkdfQVNfSU5TVEFOVCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBjb252ZXJ0cyBhIDMyLWJpdCBpbnQgdmFsdWUgdG8gYSA2NC1iaXQgbG9uZyB2YWx1ZSwgYW5kIHRoZW4KLXBhc3NlcyB0aGF0IHZhbHVlIGZvciBhIG1ldGhvZCBwYXJhbWV0ZXIgdGhhdCByZXF1aXJlcyBhbiBhYnNvbHV0ZSB0aW1lIHZhbHVlLgotQW4gYWJzb2x1dGUgdGltZSB2YWx1ZSBpcyB0aGUgbnVtYmVyCi1vZiBtaWxsaXNlY29uZHMgc2luY2UgdGhlIHN0YW5kYXJkIGJhc2UgdGltZSBrbm93biBhcyAidGhlIGVwb2NoIiwgbmFtZWx5IEphbnVhcnkgMSwgMTk3MCwgMDA6MDA6MDAgR01ULgotRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgbWV0aG9kLCBpbnRlbmRlZCB0byBjb252ZXJ0IHNlY29uZHMgc2luY2UgdGhlIGVwb2MgaW50byBhIERhdGUsIGlzIGJhZGx5Ci1icm9rZW46PC9wPgotPHByZT4KLURhdGUgZ2V0RGF0ZShpbnQgc2Vjb25kcykgeyByZXR1cm4gbmV3IERhdGUoc2Vjb25kcyAqIDEwMDApOyB9Ci08L3ByZT4KLTxwPlRoZSBtdWx0aXBsaWNhdGlvbiBpcyBkb25lIHVzaW5nIDMyLWJpdCBhcml0aG1ldGljLCBhbmQgdGhlbiBjb252ZXJ0ZWQgdG8gYSA2NC1iaXQgdmFsdWUuCi1XaGVuIGEgMzItYml0IHZhbHVlIGlzIGNvbnZlcnRlZCB0byA2NC1iaXRzIGFuZCB1c2VkIHRvIGV4cHJlc3MgYW4gYWJzb2x1dGUgdGltZQotdmFsdWUsIG9ubHkgZGF0ZXMgaW4gRGVjZW1iZXIgMTk2OSBhbmQgSmFudWFyeSAxOTcwIGNhbiBiZSByZXByZXNlbnRlZC48L3A+Ci0KLTxwPkNvcnJlY3QgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgYWJvdmUgbWV0aG9kIGFyZTo8L3A+Ci0KLTxwcmU+Ci0vLyBGYWlscyBmb3IgZGF0ZXMgYWZ0ZXIgMjAzNwotRGF0ZSBnZXREYXRlKGludCBzZWNvbmRzKSB7IHJldHVybiBuZXcgRGF0ZShzZWNvbmRzICogMTAwMEwpOyB9Ci0KLS8vIGJldHRlciwgd29ya3MgZm9yIGFsbCBkYXRlcwotRGF0ZSBnZXREYXRlKGxvbmcgc2Vjb25kcykgeyByZXR1cm4gbmV3IERhdGUoc2Vjb25kcyAqIDEwMDApOyB9Ci08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IklDQVNUX0lOVF9DQVNUX1RPX0RPVUJMRV9QQVNTRURfVE9fQ0VJTCI+SUNBU1Q6IEludGVncmFsIHZhbHVlIGNhc3QgdG8gZG91YmxlIGFuZCB0aGVuIHBhc3NlZCB0byBNYXRoLmNlaWwgKElDQVNUX0lOVF9DQVNUX1RPX0RPVUJMRV9QQVNTRURfVE9fQ0VJTCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBjb252ZXJ0cyBhbiBpbnRlZ3JhbCB2YWx1ZSAoZS5nLiwgaW50IG9yIGxvbmcpCi10byBhIGRvdWJsZSBwcmVjaXNpb24KLWZsb2F0aW5nIHBvaW50IG51bWJlciBhbmQgdGhlbgotcGFzc2luZyB0aGUgcmVzdWx0IHRvIHRoZSBNYXRoLmNlaWwoKSBmdW5jdGlvbiwgd2hpY2ggcm91bmRzIGEgZG91YmxlIHRvCi10aGUgbmV4dCBoaWdoZXIgaW50ZWdlciB2YWx1ZS4gVGhpcyBvcGVyYXRpb24gc2hvdWxkIGFsd2F5cyBiZSBhIG5vLW9wLAotc2luY2UgdGhlIGNvbnZlcnRpbmcgYW4gaW50ZWdlciB0byBhIGRvdWJsZSBzaG91bGQgZ2l2ZSBhIG51bWJlciB3aXRoIG5vIGZyYWN0aW9uYWwgcGFydC4KLUl0IGlzIGxpa2VseSB0aGF0IHRoZSBvcGVyYXRpb24gdGhhdCBnZW5lcmF0ZWQgdGhlIHZhbHVlIHRvIGJlIHBhc3NlZAotdG8gTWF0aC5jZWlsIHdhcyBpbnRlbmRlZCB0byBiZSBwZXJmb3JtZWQgdXNpbmcgZG91YmxlIHByZWNpc2lvbgotZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYy4KLTwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iSUNBU1RfSU5UX0NBU1RfVE9fRkxPQVRfUEFTU0VEX1RPX1JPVU5EIj5JQ0FTVDogaW50IHZhbHVlIGNhc3QgdG8gZmxvYXQgYW5kIHRoZW4gcGFzc2VkIHRvIE1hdGgucm91bmQgKElDQVNUX0lOVF9DQVNUX1RPX0ZMT0FUX1BBU1NFRF9UT19ST1VORCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBjb252ZXJ0cyBhbiBpbnQgdmFsdWUgdG8gYSBmbG9hdCBwcmVjaXNpb24KLWZsb2F0aW5nIHBvaW50IG51bWJlciBhbmQgdGhlbgotcGFzc2luZyB0aGUgcmVzdWx0IHRvIHRoZSBNYXRoLnJvdW5kKCkgZnVuY3Rpb24sIHdoaWNoIHJldHVybnMgdGhlIGludC9sb25nIGNsb3Nlc3QKLXRvIHRoZSBhcmd1bWVudC4gVGhpcyBvcGVyYXRpb24gc2hvdWxkIGFsd2F5cyBiZSBhIG5vLW9wLAotc2luY2UgdGhlIGNvbnZlcnRpbmcgYW4gaW50ZWdlciB0byBhIGZsb2F0IHNob3VsZCBnaXZlIGEgbnVtYmVyIHdpdGggbm8gZnJhY3Rpb25hbCBwYXJ0LgotSXQgaXMgbGlrZWx5IHRoYXQgdGhlIG9wZXJhdGlvbiB0aGF0IGdlbmVyYXRlZCB0aGUgdmFsdWUgdG8gYmUgcGFzc2VkCi10byBNYXRoLnJvdW5kIHdhcyBpbnRlbmRlZCB0byBiZSBwZXJmb3JtZWQgdXNpbmcKLWZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IklKVV9BU1NFUlRfTUVUSE9EX0lOVk9LRURfRlJPTV9SVU5fTUVUSE9EIj5JSlU6IEpVbml0IGFzc2VydGlvbiBpbiBydW4gbWV0aG9kIHdpbGwgbm90IGJlIG5vdGljZWQgYnkgSlVuaXQgKElKVV9BU1NFUlRfTUVUSE9EX0lOVk9LRURfRlJPTV9SVU5fTUVUSE9EKTwvYT48L2gzPgotCi0KLTxwPiBBIEpVbml0IGFzc2VydGlvbiBpcyBwZXJmb3JtZWQgaW4gYSBydW4gbWV0aG9kLiBGYWlsZWQgSlVuaXQgYXNzZXJ0aW9ucwotanVzdCByZXN1bHQgaW4gZXhjZXB0aW9ucyBiZWluZyB0aHJvd24uCi1UaHVzLCBpZiB0aGlzIGV4Y2VwdGlvbiBvY2N1cnMgaW4gYSB0aHJlYWQgb3RoZXIgdGhhbiB0aGUgdGhyZWFkIHRoYXQgaW52b2tlcwotdGhlIHRlc3QgbWV0aG9kLCB0aGUgZXhjZXB0aW9uIHdpbGwgdGVybWluYXRlIHRoZSB0aHJlYWQgYnV0IG5vdCByZXN1bHQKLWluIHRoZSB0ZXN0IGZhaWxpbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJSlVfQkFEX1NVSVRFX01FVEhPRCI+SUpVOiBUZXN0Q2FzZSBkZWNsYXJlcyBhIGJhZCBzdWl0ZSBtZXRob2QgIChJSlVfQkFEX1NVSVRFX01FVEhPRCk8L2E+PC9oMz4KLQotCi08cD4gQ2xhc3MgaXMgYSBKVW5pdCBUZXN0Q2FzZSBhbmQgZGVmaW5lcyBhIHN1aXRlKCkgbWV0aG9kLgotSG93ZXZlciwgdGhlIHN1aXRlIG1ldGhvZCBuZWVkcyB0byBiZSBkZWNsYXJlZCBhcyBlaXRoZXI8L3A+Ci08cHJlPnB1YmxpYyBzdGF0aWMganVuaXQuZnJhbWV3b3JrLlRlc3Qgc3VpdGUoKTwvcHJlPgotb3IKLTxwcmU+cHVibGljIHN0YXRpYyBqdW5pdC5mcmFtZXdvcmsuVGVzdFN1aXRlIHN1aXRlKCk8L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IklKVV9OT19URVNUUyI+SUpVOiBUZXN0Q2FzZSBoYXMgbm8gdGVzdHMgKElKVV9OT19URVNUUyk8L2E+PC9oMz4KLQotCi08cD4gQ2xhc3MgaXMgYSBKVW5pdCBUZXN0Q2FzZSBidXQgaGFzIG5vdCBpbXBsZW1lbnRlZCBhbnkgdGVzdCBtZXRob2RzPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUpVX1NFVFVQX05PX1NVUEVSIj5JSlU6IFRlc3RDYXNlIGRlZmluZXMgc2V0VXAgdGhhdCBkb2Vzbid0IGNhbGwgc3VwZXIuc2V0VXAoKSAoSUpVX1NFVFVQX05PX1NVUEVSKTwvYT48L2gzPgotCi0KLTxwPiBDbGFzcyBpcyBhIEpVbml0IFRlc3RDYXNlIGFuZCBpbXBsZW1lbnRzIHRoZSBzZXRVcCBtZXRob2QuIFRoZSBzZXRVcCBtZXRob2Qgc2hvdWxkIGNhbGwKLXN1cGVyLnNldFVwKCksIGJ1dCBkb2Vzbid0LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklKVV9TVUlURV9OT1RfU1RBVElDIj5JSlU6IFRlc3RDYXNlIGltcGxlbWVudHMgYSBub24tc3RhdGljIHN1aXRlIG1ldGhvZCAgKElKVV9TVUlURV9OT1RfU1RBVElDKTwvYT48L2gzPgotCi0KLTxwPiBDbGFzcyBpcyBhIEpVbml0IFRlc3RDYXNlIGFuZCBpbXBsZW1lbnRzIHRoZSBzdWl0ZSgpIG1ldGhvZC4KLSBUaGUgc3VpdGUgbWV0aG9kIHNob3VsZCBiZSBkZWNsYXJlZCBhcyBiZWluZyBzdGF0aWMsIGJ1dCBpc24ndC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJSlVfVEVBUkRPV05fTk9fU1VQRVIiPklKVTogVGVzdENhc2UgZGVmaW5lcyB0ZWFyRG93biB0aGF0IGRvZXNuJ3QgY2FsbCBzdXBlci50ZWFyRG93bigpIChJSlVfVEVBUkRPV05fTk9fU1VQRVIpPC9hPjwvaDM+Ci0KLQotPHA+IENsYXNzIGlzIGEgSlVuaXQgVGVzdENhc2UgYW5kIGltcGxlbWVudHMgdGhlIHRlYXJEb3duIG1ldGhvZC4gVGhlIHRlYXJEb3duIG1ldGhvZCBzaG91bGQgY2FsbAotc3VwZXIudGVhckRvd24oKSwgYnV0IGRvZXNuJ3QuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUxfQ09OVEFJTkVSX0FEREVEX1RPX0lUU0VMRiI+SUw6IEEgY29sbGVjdGlvbiBpcyBhZGRlZCB0byBpdHNlbGYgKElMX0NPTlRBSU5FUl9BRERFRF9UT19JVFNFTEYpPC9hPjwvaDM+Ci0KLQotPHA+QSBjb2xsZWN0aW9uIGlzIGFkZGVkIHRvIGl0c2VsZi4gQXMgYSByZXN1bHQsIGNvbXB1dGluZyB0aGUgaGFzaENvZGUgb2YgdGhpcwotc2V0IHdpbGwgdGhyb3cgYSBTdGFja092ZXJmbG93RXhjZXB0aW9uLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUxfSU5GSU5JVEVfTE9PUCI+SUw6IEFuIGFwcGFyZW50IGluZmluaXRlIGxvb3AgKElMX0lORklOSVRFX0xPT1ApPC9hPjwvaDM+Ci0KLQotPHA+VGhpcyBsb29wIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGEgd2F5IHRvIHRlcm1pbmF0ZSAob3RoZXIgdGhhbiBieSBwZXJoYXBzCi10aHJvd2luZyBhbiBleGNlcHRpb24pLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklMX0lORklOSVRFX1JFQ1VSU0lWRV9MT09QIj5JTDogQW4gYXBwYXJlbnQgaW5maW5pdGUgcmVjdXJzaXZlIGxvb3AgKElMX0lORklOSVRFX1JFQ1VSU0lWRV9MT09QKTwvYT48L2gzPgotCi0KLTxwPlRoaXMgbWV0aG9kIHVuY29uZGl0aW9uYWxseSBpbnZva2VzIGl0c2VsZi4gVGhpcyB3b3VsZCBzZWVtIHRvIGluZGljYXRlCi1hbiBpbmZpbml0ZSByZWN1cnNpdmUgbG9vcCB0aGF0IHdpbGwgcmVzdWx0IGluIGEgc3RhY2sgb3ZlcmZsb3cuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSU1fTVVMVElQTFlJTkdfUkVTVUxUX09GX0lSRU0iPklNOiBJbnRlZ2VyIG11bHRpcGx5IG9mIHJlc3VsdCBvZiBpbnRlZ2VyIHJlbWFpbmRlciAoSU1fTVVMVElQTFlJTkdfUkVTVUxUX09GX0lSRU0pPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgY29kZSBtdWx0aXBsaWVzIHRoZSByZXN1bHQgb2YgYW4gaW50ZWdlciByZW1haW5pbmcgYnkgYW4gaW50ZWdlciBjb25zdGFudC4KLUJlIHN1cmUgeW91IGRvbid0IGhhdmUgeW91ciBvcGVyYXRvciBwcmVjZWRlbmNlIGNvbmZ1c2VkLiBGb3IgZXhhbXBsZQotaSAlIDYwICogMTAwMCBpcyAoaSAlIDYwKSAqIDEwMDAsIG5vdCBpICUgKDYwICogMTAwMCkuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJTlRfQkFEX0NPTVBBUklTT05fV0lUSF9JTlRfVkFMVUUiPklOVDogQmFkIGNvbXBhcmlzb24gb2YgaW50IHZhbHVlIHdpdGggbG9uZyBjb25zdGFudCAoSU5UX0JBRF9DT01QQVJJU09OX1dJVEhfSU5UX1ZBTFVFKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNvZGUgY29tcGFyZXMgYW4gaW50IHZhbHVlIHdpdGggYSBsb25nIGNvbnN0YW50IHRoYXQgaXMgb3V0c2lkZQotdGhlIHJhbmdlIG9mIHZhbHVlcyB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBhcyBhbiBpbnQgdmFsdWUuCi1UaGlzIGNvbXBhcmlzb24gaXMgdmFjdW91cyBhbmQgcG9zc2liaWx5IHRvIGJlIGluY29ycmVjdC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklOVF9CQURfQ09NUEFSSVNPTl9XSVRIX05PTk5FR0FUSVZFX1ZBTFVFIj5JTlQ6IEJhZCBjb21wYXJpc29uIG9mIG5vbm5lZ2F0aXZlIHZhbHVlIHdpdGggbmVnYXRpdmUgY29uc3RhbnQgKElOVF9CQURfQ09NUEFSSVNPTl9XSVRIX05PTk5FR0FUSVZFX1ZBTFVFKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNvZGUgY29tcGFyZXMgYSB2YWx1ZSB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYmUgbm9uLW5lZ2F0aXZlIHdpdGggYSBuZWdhdGl2ZSBjb25zdGFudC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklOVF9CQURfQ09NUEFSSVNPTl9XSVRIX1NJR05FRF9CWVRFIj5JTlQ6IEJhZCBjb21wYXJpc29uIG9mIHNpZ25lZCBieXRlIChJTlRfQkFEX0NPTVBBUklTT05fV0lUSF9TSUdORURfQllURSk8L2E+PC9oMz4KLQotCi08cD4gU2lnbmVkIGJ5dGVzIGNhbiBvbmx5IGhhdmUgYSB2YWx1ZSBpbiB0aGUgcmFuZ2UgLTEyOCB0byAxMjcuIENvbXBhcmluZwotYSBzaWduZWQgYnl0ZSB3aXRoIGEgdmFsdWUgb3V0c2lkZSB0aGF0IHJhbmdlIGlzIHZhY3VvdXMgYW5kIGxpa2VseSB0byBiZSBpbmNvcnJlY3QuCi1UbyBjb252ZXJ0IGEgc2lnbmVkIGJ5dGUgPGNvZGU+YjwvY29kZT4gdG8gYW4gdW5zaWduZWQgdmFsdWUgaW4gdGhlIHJhbmdlIDAuLjI1NSwKLXVzZSA8Y29kZT4weGZmICZhbXA7IGI8L2NvZGU+Ci08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJT19BUFBFTkRJTkdfVE9fT0JKRUNUX09VVFBVVF9TVFJFQU0iPklPOiBEb29tZWQgYXR0ZW1wdCB0byBhcHBlbmQgdG8gYW4gb2JqZWN0IG91dHB1dCBzdHJlYW0gKElPX0FQUEVORElOR19UT19PQkpFQ1RfT1VUUFVUX1NUUkVBTSk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgVGhpcyBjb2RlIG9wZW5zIGEgZmlsZSBpbiBhcHBlbmQgbW9kZSBhbmQgdGhlbiB3cmFwcyB0aGUgcmVzdWx0IGluIGFuIG9iamVjdCBvdXRwdXQgc3RyZWFtLgotICAgICBUaGlzIHdvbid0IGFsbG93IHlvdSB0byBhcHBlbmQgdG8gYW4gZXhpc3Rpbmcgb2JqZWN0IG91dHB1dCBzdHJlYW0gc3RvcmVkIGluIGEgZmlsZS4gSWYgeW91IHdhbnQgdG8gYmUKLSAgICAgYWJsZSB0byBhcHBlbmQgdG8gYW4gb2JqZWN0IG91dHB1dCBzdHJlYW0sIHlvdSBuZWVkIHRvIGtlZXAgdGhlIG9iamVjdCBvdXRwdXQgc3RyZWFtIG9wZW4uCi0gICAgICA8L3A+Ci0gICAgICA8cD5UaGUgb25seSBzaXR1YXRpb24gaW4gd2hpY2ggb3BlbmluZyBhIGZpbGUgaW4gYXBwZW5kIG1vZGUgYW5kIHRoZSB3cml0aW5nIGFuIG9iamVjdCBvdXRwdXQgc3RyZWFtCi0gICAgICBjb3VsZCB3b3JrIGlzIGlmIG9uIHJlYWRpbmcgdGhlIGZpbGUgeW91IHBsYW4gdG8gb3BlbiBpdCBpbiByYW5kb20gYWNjZXNzIG1vZGUgYW5kIHNlZWsgdG8gdGhlIGJ5dGUgb2Zmc2V0Ci0gICAgICB3aGVyZSB0aGUgYXBwZW5kIHN0YXJ0ZWQuCi0gICAgICA8L3A+Ci0KLSAgICAgIDxwPgotICAgICAgVE9ETzogZXhhbXBsZS4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgIAotPGgzPjxhIG5hbWU9IklQX1BBUkFNRVRFUl9JU19ERUFEX0JVVF9PVkVSV1JJVFRFTiI+SVA6IEEgcGFyYW1ldGVyIGlzIGRlYWQgdXBvbiBlbnRyeSB0byBhIG1ldGhvZCBidXQgb3ZlcndyaXR0ZW4gKElQX1BBUkFNRVRFUl9JU19ERUFEX0JVVF9PVkVSV1JJVFRFTik8L2E+PC9oMz4KLQotCi08cD4KLVRoZSBpbml0aWFsIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGlnbm9yZWQsIGFuZCB0aGUgcGFyYW1ldGVyCi1pcyBvdmVyd3JpdHRlbiBoZXJlLiBUaGlzIG9mdGVuIGluZGljYXRlcyBhIG1pc3Rha2VuIGJlbGllZiB0aGF0Ci10aGUgd3JpdGUgdG8gdGhlIHBhcmFtZXRlciB3aWxsIGJlIGNvbnZleWVkIGJhY2sgdG8KLXRoZSBjYWxsZXIuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJNRl9DTEFTU19NQVNLU19GSUVMRCI+TUY6IENsYXNzIGRlZmluZXMgZmllbGQgdGhhdCBtYXNrcyBhIHN1cGVyY2xhc3MgZmllbGQgKE1GX0NMQVNTX01BU0tTX0ZJRUxEKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBmaWVsZCB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgYSB2aXNpYmxlCi1pbnN0YW5jZSBmaWVsZCBpbiBhIHN1cGVyY2xhc3MuICBUaGlzIGlzIGNvbmZ1c2luZywgYW5kCi1tYXkgaW5kaWNhdGUgYW4gZXJyb3IgaWYgbWV0aG9kcyB1cGRhdGUgb3IgYWNjZXNzIG9uZSBvZgotdGhlIGZpZWxkcyB3aGVuIHRoZXkgd2FudGVkIHRoZSBvdGhlci48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJNRl9NRVRIT0RfTUFTS1NfRklFTEQiPk1GOiBNZXRob2QgZGVmaW5lcyBhIHZhcmlhYmxlIHRoYXQgb2JzY3VyZXMgYSBmaWVsZCAoTUZfTUVUSE9EX01BU0tTX0ZJRUxEKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBkZWZpbmVzIGEgbG9jYWwgdmFyaWFibGUgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGEgZmllbGQKLWluIHRoaXMgY2xhc3Mgb3IgYSBzdXBlcmNsYXNzLiAgVGhpcyBtYXkgY2F1c2UgdGhlIG1ldGhvZCB0bwotcmVhZCBhbiB1bmluaXRpYWxpemVkIHZhbHVlIGZyb20gdGhlIGZpZWxkLCBsZWF2ZSB0aGUgZmllbGQgdW5pbml0aWFsaXplZCwKLW9yIGJvdGguPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfQUxXQVlTX05VTEwiPk5QOiBOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgKE5QX0FMV0FZU19OVUxMKTwvYT48L2gzPgotCi0KLTxwPiBBIG51bGwgcG9pbnRlciBpcyBkZXJlZmVyZW5jZWQgaGVyZS4mbmJzcDsgVGhpcyB3aWxsIGxlYWQgdG8gYQotPGNvZGU+TnVsbFBvaW50ZXJFeGNlcHRpb248L2NvZGU+IHdoZW4gdGhlIGNvZGUgaXMgZXhlY3V0ZWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfQUxXQVlTX05VTExfRVhDRVBUSU9OIj5OUDogTnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIG1ldGhvZCBvbiBleGNlcHRpb24gcGF0aCAoTlBfQUxXQVlTX05VTExfRVhDRVBUSU9OKTwvYT48L2gzPgotCi0KLTxwPiBBIHBvaW50ZXIgd2hpY2ggaXMgbnVsbCBvbiBhbiBleGNlcHRpb24gcGF0aCBpcyBkZXJlZmVyZW5jZWQgaGVyZS4mbmJzcDsKLVRoaXMgd2lsbCBsZWFkIHRvIGEgPGNvZGU+TnVsbFBvaW50ZXJFeGNlcHRpb248L2NvZGU+IHdoZW4gdGhlIGNvZGUgaXMgZXhlY3V0ZWQuJm5ic3A7Ci1Ob3RlIHRoYXQgYmVjYXVzZSBGaW5kQnVncyBjdXJyZW50bHkgZG9lcyBub3QgcHJ1bmUgaW5mZWFzaWJsZSBleGNlcHRpb24gcGF0aHMsCi10aGlzIG1heSBiZSBhIGZhbHNlIHdhcm5pbmcuPC9wPgotCi08cD4gQWxzbyBub3RlIHRoYXQgRmluZEJ1Z3MgY29uc2lkZXJzIHRoZSBkZWZhdWx0IGNhc2Ugb2YgYSBzd2l0Y2ggc3RhdGVtZW50IHRvCi1iZSBhbiBleGNlcHRpb24gcGF0aCwgc2luY2UgdGhlIGRlZmF1bHQgY2FzZSBpcyBvZnRlbiBpbmZlYXNpYmxlLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX0FSR1VNRU5UX01JR0hUX0JFX05VTEwiPk5QOiBNZXRob2QgZG9lcyBub3QgY2hlY2sgZm9yIG51bGwgYXJndW1lbnQgKE5QX0FSR1VNRU5UX01JR0hUX0JFX05VTEwpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgQSBwYXJhbWV0ZXIgdG8gdGhpcyBtZXRob2QgaGFzIGJlZW4gaWRlbnRpZmllZCBhcyBhIHZhbHVlIHRoYXQgc2hvdWxkCi0gICAgYWx3YXlzIGJlIGNoZWNrZWQgdG8gc2VlIHdoZXRoZXIgb3Igbm90IGl0IGlzIG51bGwsIGJ1dCBpdCBpcyBiZWluZyBkZXJlZmVyZW5jZWQKLSAgICB3aXRob3V0IGEgcHJlY2VkaW5nIG51bGwgY2hlY2suCi0gICAgICA8L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9Ik5QX0NMT1NJTkdfTlVMTCI+TlA6IGNsb3NlKCkgaW52b2tlZCBvbiBhIHZhbHVlIHRoYXQgaXMgYWx3YXlzIG51bGwgKE5QX0NMT1NJTkdfTlVMTCk8L2E+PC9oMz4KLQotCi08cD4gY2xvc2UoKSBpcyBiZWluZyBpbnZva2VkIG9uIGEgdmFsdWUgdGhhdCBpcyBhbHdheXMgbnVsbC4gSWYgdGhpcyBzdGF0ZW1lbnQgaXMgZXhlY3V0ZWQsCi1hIG51bGwgcG9pbnRlciBleGNlcHRpb24gd2lsbCBvY2N1ci4gQnV0IHRoZSBiaWcgcmlzayBoZXJlIHlvdSBuZXZlciBjbG9zZQotc29tZXRoaW5nIHRoYXQgc2hvdWxkIGJlIGNsb3NlZC4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX0dVQVJBTlRFRURfREVSRUYiPk5QOiBOdWxsIHZhbHVlIGlzIGd1YXJhbnRlZWQgdG8gYmUgZGVyZWZlcmVuY2VkIChOUF9HVUFSQU5URUVEX0RFUkVGKTwvYT48L2gzPgotCi0gICAgICAgICAgCi0gICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICBUaGVyZSBpcyBhIHN0YXRlbWVudCBvciBicmFuY2ggdGhhdCBpZiBleGVjdXRlZCBndWFyYW50ZWVzIHRoYXQKLSAgICAgICAgICAgICAgYSB2YWx1ZSBpcyBudWxsIGF0IHRoaXMgcG9pbnQsIGFuZCB0aGF0Ci0gICAgICAgICAgICAgIHZhbHVlIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBiZSBkZXJlZmVyZW5jZWQKLSAgICAgICAgICAgICAgKGV4Y2VwdCBvbiBmb3J3YXJkIHBhdGhzIGludm9sdmluZyBydW50aW1lIGV4Y2VwdGlvbnMpLgotICAgICAgICAgICAgICA8L3A+Ci0gICAgICAgIDxwPk5vdGUgdGhhdCBhIGNoZWNrIHN1Y2ggYXMKLSAgICAgICAgICAgIDxjb2RlPmlmICh4ID09IG51bGwpIHRocm93IG5ldyBOdWxsUG9pbnRlckV4Y2VwdGlvbigpOzwvY29kZT4KLSAgICAgICAgICAgIGlzIHRyZWF0ZWQgYXMgYSBkZXJlZmVyZW5jZSBvZiA8Y29kZT54PC9jb2RlPi4KLSAgICAgICAgICAKLSAgICAgIAotPGgzPjxhIG5hbWU9Ik5QX0dVQVJBTlRFRURfREVSRUZfT05fRVhDRVBUSU9OX1BBVEgiPk5QOiBWYWx1ZSBpcyBudWxsIGFuZCBndWFyYW50ZWVkIHRvIGJlIGRlcmVmZXJlbmNlZCBvbiBleGNlcHRpb24gcGF0aCAoTlBfR1VBUkFOVEVFRF9ERVJFRl9PTl9FWENFUFRJT05fUEFUSCk8L2E+PC9oMz4KLQotICAgICAgICAgIAotICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAgVGhlcmUgaXMgYSBzdGF0ZW1lbnQgb3IgYnJhbmNoIG9uIGFuIGV4Y2VwdGlvbiBwYXRoCi0gICAgICAgICAgICAgICAgdGhhdCBpZiBleGVjdXRlZCBndWFyYW50ZWVzIHRoYXQKLSAgICAgICAgICAgICAgYSB2YWx1ZSBpcyBudWxsIGF0IHRoaXMgcG9pbnQsIGFuZCB0aGF0Ci0gICAgICAgICAgICAgIHZhbHVlIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBiZSBkZXJlZmVyZW5jZWQKLSAgICAgICAgICAgICAgKGV4Y2VwdCBvbiBmb3J3YXJkIHBhdGhzIGludm9sdmluZyBydW50aW1lIGV4Y2VwdGlvbnMpLgotICAgICAgICAgICAgICA8L3A+Ci0gICAgICAgICAgCi0gICAgICAKLTxoMz48YSBuYW1lPSJOUF9OT05OVUxMX0ZJRUxEX05PVF9JTklUSUFMSVpFRF9JTl9DT05TVFJVQ1RPUiI+TlA6IE5vbm51bGwgZmllbGQgaXMgbm90IGluaXRpYWxpemVkIChOUF9OT05OVUxMX0ZJRUxEX05PVF9JTklUSUFMSVpFRF9JTl9DT05TVFJVQ1RPUik8L2E+PC9oMz4KLQotICAgICAgIAotICAgICAgIDxwPiBUaGUgZmllbGQgaXMgbWFya2VkIGFzIG5vbm51bGwsIGJ1dCBpc24ndCB3cml0dGVuIHRvIGJ5IHRoZSBjb25zdHJ1Y3Rvci4KLSAgICBUaGUgZmllbGQgbWlnaHQgYmUgaW5pdGlhbGl6ZWQgZWxzZXdoZXJlIGR1cmluZyBjb25zdHJ1Y3Rvciwgb3IgbWlnaHQgYWx3YXlzCi0gICAgYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIHVzZS4KLSAgICAgICA8L3A+Ci0gICAgICAgCi0gICAgICAgCi08aDM+PGEgbmFtZT0iTlBfTk9OTlVMTF9QQVJBTV9WSU9MQVRJT04iPk5QOiBNZXRob2QgY2FsbCBwYXNzZXMgbnVsbCB0byBhIG5vbm51bGwgcGFyYW1ldGVyICAoTlBfTk9OTlVMTF9QQVJBTV9WSU9MQVRJT04pPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIG1ldGhvZCBwYXNzZXMgYSBudWxsIHZhbHVlIGFzIHRoZSBwYXJhbWV0ZXIgb2YgYSBtZXRob2Qgd2hpY2gKLSAgICBtdXN0IGJlIG5vbm51bGwuIEVpdGhlciB0aGlzIHBhcmFtZXRlciBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZAotICAgIGFzIEBOb25udWxsLCBvciBhbmFseXNpcyBoYXMgZGV0ZXJtaW5lZCB0aGF0IHRoaXMgcGFyYW1ldGVyIGlzCi0gICAgYWx3YXlzIGRlcmVmZXJlbmNlZC4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iTlBfTk9OTlVMTF9SRVRVUk5fVklPTEFUSU9OIj5OUDogTWV0aG9kIG1heSByZXR1cm4gbnVsbCwgYnV0IGlzIGRlY2xhcmVkIEBOb25OdWxsIChOUF9OT05OVUxMX1JFVFVSTl9WSU9MQVRJT04pPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIG1ldGhvZCBtYXkgcmV0dXJuIGEgbnVsbCB2YWx1ZSwgYnV0IHRoZSBtZXRob2QgKG9yIGEgc3VwZXJjbGFzcyBtZXRob2QKLSAgICAgIHdoaWNoIGl0IG92ZXJyaWRlcykgaXMgZGVjbGFyZWQgdG8gcmV0dXJuIEBOb25OdWxsLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJOUF9OVUxMX0lOU1RBTkNFT0YiPk5QOiBBIGtub3duIG51bGwgdmFsdWUgaXMgY2hlY2tlZCB0byBzZWUgaWYgaXQgaXMgYW4gaW5zdGFuY2Ugb2YgYSB0eXBlIChOUF9OVUxMX0lOU1RBTkNFT0YpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGluc3RhbmNlb2YgdGVzdCB3aWxsIGFsd2F5cyByZXR1cm4gZmFsc2UsIHNpbmNlIHRoZSB2YWx1ZSBiZWluZyBjaGVja2VkIGlzIGd1YXJhbnRlZWQgdG8gYmUgbnVsbC4KLUFsdGhvdWdoIHRoaXMgaXMgc2FmZSwgbWFrZSBzdXJlIGl0IGlzbid0Ci1hbiBpbmRpY2F0aW9uIG9mIHNvbWUgbWlzdW5kZXJzdGFuZGluZyBvciBzb21lIG90aGVyIGxvZ2ljIGVycm9yLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfTlVMTF9PTl9TT01FX1BBVEgiPk5QOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgKE5QX05VTExfT05fU09NRV9QQVRIKTwvYT48L2gzPgotCi0KLTxwPiBUaGVyZSBpcyBhIGJyYW5jaCBvZiBzdGF0ZW1lbnQgdGhhdCwgPGVtPmlmIGV4ZWN1dGVkLDwvZW0+ICBndWFyYW50ZWVzIHRoYXQKLWEgbnVsbCB2YWx1ZSB3aWxsIGJlIGRlcmVmZXJlbmNlZCwgd2hpY2gKLXdvdWxkIGdlbmVyYXRlIGEgPGNvZGU+TnVsbFBvaW50ZXJFeGNlcHRpb248L2NvZGU+IHdoZW4gdGhlIGNvZGUgaXMgZXhlY3V0ZWQuCi1PZiBjb3Vyc2UsIHRoZSBwcm9ibGVtIG1pZ2h0IGJlIHRoYXQgdGhlIGJyYW5jaCBvciBzdGF0ZW1lbnQgaXMgaW5mZWFzaWJsZSBhbmQgdGhhdAotdGhlIG51bGwgcG9pbnRlciBleGNlcHRpb24gY2FuJ3QgZXZlciBiZSBleGVjdXRlZDsgZGVjaWRpbmcgdGhhdCBpcyBiZXlvbmQgdGhlIGFiaWxpdHkgb2YgRmluZEJ1Z3MuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOUF9OVUxMX09OX1NPTUVfUEFUSF9FWENFUFRJT04iPk5QOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gbWV0aG9kIG9uIGV4Y2VwdGlvbiBwYXRoIChOUF9OVUxMX09OX1NPTUVfUEFUSF9FWENFUFRJT04pPC9hPjwvaDM+Ci0KLQotPHA+IEEgcmVmZXJlbmNlIHZhbHVlIHdoaWNoIGlzIG51bGwgb24gc29tZSBleGNlcHRpb24gY29udHJvbCBwYXRoIGlzCi1kZXJlZmVyZW5jZWQgaGVyZS4mbmJzcDsgVGhpcyBtYXkgbGVhZCB0byBhIDxjb2RlPk51bGxQb2ludGVyRXhjZXB0aW9uPC9jb2RlPgotd2hlbiB0aGUgY29kZSBpcyBleGVjdXRlZC4mbmJzcDsKLU5vdGUgdGhhdCBiZWNhdXNlIEZpbmRCdWdzIGN1cnJlbnRseSBkb2VzIG5vdCBwcnVuZSBpbmZlYXNpYmxlIGV4Y2VwdGlvbiBwYXRocywKLXRoaXMgbWF5IGJlIGEgZmFsc2Ugd2FybmluZy48L3A+Ci0KLTxwPiBBbHNvIG5vdGUgdGhhdCBGaW5kQnVncyBjb25zaWRlcnMgdGhlIGRlZmF1bHQgY2FzZSBvZiBhIHN3aXRjaCBzdGF0ZW1lbnQgdG8KLWJlIGFuIGV4Y2VwdGlvbiBwYXRoLCBzaW5jZSB0aGUgZGVmYXVsdCBjYXNlIGlzIG9mdGVuIGluZmVhc2libGUuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfTlVMTF9QQVJBTV9ERVJFRiI+TlA6IE1ldGhvZCBjYWxsIHBhc3NlcyBudWxsIGZvciBub25udWxsIHBhcmFtZXRlciAoTlBfTlVMTF9QQVJBTV9ERVJFRik8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFRoaXMgbWV0aG9kIGNhbGwgcGFzc2VzIGEgbnVsbCB2YWx1ZSBmb3IgYSBub25udWxsIG1ldGhvZCBwYXJhbWV0ZXIuCi0gICAgRWl0aGVyIHRoZSBwYXJhbWV0ZXIgaXMgYW5ub3RhdGVkIGFzIGEgcGFyYW1ldGVyIHRoYXQgc2hvdWxkCi0gICAgYWx3YXlzIGJlIG5vbm51bGwsIG9yIGFuYWx5c2lzIGhhcyBzaG93biB0aGF0IGl0IHdpbGwgYWx3YXlzIGJlCi0gICAgZGVyZWZlcmVuY2VkLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJOUF9OVUxMX1BBUkFNX0RFUkVGX0FMTF9UQVJHRVRTX0RBTkdFUk9VUyI+TlA6IE1ldGhvZCBjYWxsIHBhc3NlcyBudWxsIGZvciBub25udWxsIHBhcmFtZXRlciAoTlBfTlVMTF9QQVJBTV9ERVJFRl9BTExfVEFSR0VUU19EQU5HRVJPVVMpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBBIHBvc3NpYmx5LW51bGwgdmFsdWUgaXMgcGFzc2VkIGF0IGEgY2FsbCBzaXRlIHdoZXJlIGFsbCBrbm93bgotICAgICAgdGFyZ2V0IG1ldGhvZHMgcmVxdWlyZSB0aGUgcGFyYW1ldGVyIHRvIGJlIG5vbm51bGwuCi0gICAgRWl0aGVyIHRoZSBwYXJhbWV0ZXIgaXMgYW5ub3RhdGVkIGFzIGEgcGFyYW1ldGVyIHRoYXQgc2hvdWxkCi0gICAgYWx3YXlzIGJlIG5vbm51bGwsIG9yIGFuYWx5c2lzIGhhcyBzaG93biB0aGF0IGl0IHdpbGwgYWx3YXlzIGJlCi0gICAgZGVyZWZlcmVuY2VkLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJOUF9OVUxMX1BBUkFNX0RFUkVGX05PTlZJUlRVQUwiPk5QOiBOb24tdmlydHVhbCBtZXRob2QgY2FsbCBwYXNzZXMgbnVsbCBmb3Igbm9ubnVsbCBwYXJhbWV0ZXIgKE5QX05VTExfUEFSQU1fREVSRUZfTk9OVklSVFVBTCk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIEEgcG9zc2libHktbnVsbCB2YWx1ZSBpcyBwYXNzZWQgdG8gYSBub25udWxsIG1ldGhvZCBwYXJhbWV0ZXIuCi0gICAgRWl0aGVyIHRoZSBwYXJhbWV0ZXIgaXMgYW5ub3RhdGVkIGFzIGEgcGFyYW1ldGVyIHRoYXQgc2hvdWxkCi0gICAgYWx3YXlzIGJlIG5vbm51bGwsIG9yIGFuYWx5c2lzIGhhcyBzaG93biB0aGF0IGl0IHdpbGwgYWx3YXlzIGJlCi0gICAgZGVyZWZlcmVuY2VkLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJOUF9TVE9SRV9JTlRPX05PTk5VTExfRklFTEQiPk5QOiBTdG9yZSBvZiBudWxsIHZhbHVlIGludG8gZmllbGQgYW5ub3RhdGVkIE5vbk51bGwgKE5QX1NUT1JFX0lOVE9fTk9OTlVMTF9GSUVMRCk8L2E+PC9oMz4KLQotICAgICAgCi08cD4gQSB2YWx1ZSB0aGF0IGNvdWxkIGJlIG51bGwgaXMgc3RvcmVkIGludG8gYSBmaWVsZCB0aGF0IGhhcyBiZWVuIGFubm90YXRlZCBhcyBOb25OdWxsLiA8L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOUF9VTldSSVRURU5fRklFTEQiPk5QOiBSZWFkIG9mIHVud3JpdHRlbiBmaWVsZCAoTlBfVU5XUklUVEVOX0ZJRUxEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBwcm9ncmFtIGlzIGRlcmVmZXJlbmNpbmcgYSBmaWVsZCB0aGF0IGRvZXMgbm90IHNlZW0gdG8gZXZlciBoYXZlIGEgbm9uLW51bGwgdmFsdWUgd3JpdHRlbiB0byBpdC4KLVVubGVzcyB0aGUgZmllbGQgaXMgaW5pdGlhbGl6ZWQgdmlhIHNvbWUgbWVjaGFuaXNtIG5vdCBzZWVuIGJ5IHRoZSBhbmFseXNpcywKLWRlcmVmZXJlbmNpbmcgdGhpcyB2YWx1ZSB3aWxsIGdlbmVyYXRlIGEgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX0JBRF9FUVVBTCI+Tm06IENsYXNzIGRlZmluZXMgZXF1YWwoT2JqZWN0KTsgc2hvdWxkIGl0IGJlIGVxdWFscyhPYmplY3QpPyAoTk1fQkFEX0VRVUFMKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBtZXRob2QgPGNvZGU+ZXF1YWwoT2JqZWN0KTwvY29kZT4uJm5ic3A7IFRoaXMgbWV0aG9kIGRvZXMKLW5vdCBvdmVycmlkZSB0aGUgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZCBpbiA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPiwKLXdoaWNoIGlzIHByb2JhYmx5IHdoYXQgd2FzIGludGVuZGVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX0xDQVNFX0hBU0hDT0RFIj5ObTogQ2xhc3MgZGVmaW5lcyBoYXNoY29kZSgpOyBzaG91bGQgaXQgYmUgaGFzaENvZGUoKT8gKE5NX0xDQVNFX0hBU0hDT0RFKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIG1ldGhvZCBjYWxsZWQgPGNvZGU+aGFzaGNvZGUoKTwvY29kZT4uJm5ic3A7IFRoaXMgbWV0aG9kCi0gIGRvZXMgbm90IG92ZXJyaWRlIHRoZSA8Y29kZT5oYXNoQ29kZSgpPC9jb2RlPiBtZXRob2QgaW4gPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4sCi0gIHdoaWNoIGlzIHByb2JhYmx5IHdoYXQgd2FzIGludGVuZGVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX0xDQVNFX1RPU1RSSU5HIj5ObTogQ2xhc3MgZGVmaW5lcyB0b3N0cmluZygpOyBzaG91bGQgaXQgYmUgdG9TdHJpbmcoKT8gKE5NX0xDQVNFX1RPU1RSSU5HKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIG1ldGhvZCBjYWxsZWQgPGNvZGU+dG9zdHJpbmcoKTwvY29kZT4uJm5ic3A7IFRoaXMgbWV0aG9kCi0gIGRvZXMgbm90IG92ZXJyaWRlIHRoZSA8Y29kZT50b1N0cmluZygpPC9jb2RlPiBtZXRob2QgaW4gPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4sCi0gIHdoaWNoIGlzIHByb2JhYmx5IHdoYXQgd2FzIGludGVuZGVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX01FVEhPRF9DT05TVFJVQ1RPUl9DT05GVVNJT04iPk5tOiBBcHBhcmVudCBtZXRob2QvY29uc3RydWN0b3IgY29uZnVzaW9uIChOTV9NRVRIT0RfQ09OU1RSVUNUT1JfQ09ORlVTSU9OKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgcmVndWxhciBtZXRob2QgaGFzIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGNsYXNzIGl0IGlzIGRlZmluZWQgaW4uIEl0IGlzIGxpa2VseSB0aGF0IHRoaXMgd2FzIGludGVuZGVkIHRvIGJlIGEgY29uc3RydWN0b3IuCi0gICAgICBJZiBpdCB3YXMgaW50ZW5kZWQgdG8gYmUgYSBjb25zdHJ1Y3RvciwgcmVtb3ZlIHRoZSBkZWNsYXJhdGlvbiBvZiBhIHZvaWQgcmV0dXJuIHZhbHVlLgotICAgIElmIHlvdSBoYWQgYWNjaWRlbnRseSBkZWZpbmVkIHRoaXMgbWV0aG9kLCByZWFsaXplZCB0aGUgbWlzdGFrZSwgZGVmaW5lZCBhIHByb3BlciBjb25zdHJ1Y3RvcgotICAgIGJ1dCBjYW4ndCBnZXQgcmlkIG9mIHRoaXMgbWV0aG9kIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgZGVwcmVjYXRlIHRoZSBtZXRob2QuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9WRVJZX0NPTkZVU0lORyI+Tm06IFZlcnkgY29uZnVzaW5nIG1ldGhvZCBuYW1lcyAoTk1fVkVSWV9DT05GVVNJTkcpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIHJlZmVyZW5jZWQgbWV0aG9kcyBoYXZlIG5hbWVzIHRoYXQgZGlmZmVyIG9ubHkgYnkgY2FwaXRhbGl6YXRpb24uCi1UaGlzIGlzIHZlcnkgY29uZnVzaW5nIGJlY2F1c2UgaWYgdGhlIGNhcGl0YWxpemF0aW9uIHdlcmUKLWlkZW50aWNhbCB0aGVuIG9uZSBvZiB0aGUgbWV0aG9kcyB3b3VsZCBvdmVycmlkZSB0aGUgb3RoZXIuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9XUk9OR19QQUNLQUdFIj5ObTogTWV0aG9kIGRvZXNuJ3Qgb3ZlcnJpZGUgbWV0aG9kIGluIHN1cGVyY2xhc3MgZHVlIHRvIHdyb25nIHBhY2thZ2UgZm9yIHBhcmFtZXRlciAoTk1fV1JPTkdfUEFDS0FHRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgbWV0aG9kIGluIHRoZSBzdWJjbGFzcyBkb2Vzbid0IG92ZXJyaWRlIGEgc2ltaWxhciBtZXRob2QgaW4gYSBzdXBlcmNsYXNzIGJlY2F1c2UgdGhlIHR5cGUgb2YgYSBwYXJhbWV0ZXIgZG9lc24ndCBleGFjdGx5IG1hdGNoCi10aGUgdHlwZSBvZiB0aGUgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXIgaW4gdGhlIHN1cGVyY2xhc3MuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZTo8L3A+Ci0KLTxibG9ja3F1b3RlPgotPHByZT4KLWltcG9ydCBhbHBoYS5Gb287Ci1wdWJsaWMgY2xhc3MgQSB7Ci0gIHB1YmxpYyBpbnQgZihGb28geCkgeyByZXR1cm4gMTc7IH0KLX0KLS0tLS0KLWltcG9ydCBiZXRhLkZvbzsKLXB1YmxpYyBjbGFzcyBCIGV4dGVuZHMgQSB7Ci0gIHB1YmxpYyBpbnQgZihGb28geCkgeyByZXR1cm4gNDI7IH0KLX0KLTwvcHJlPgotPC9ibG9ja3F1b3RlPgotCi08cD5UaGUgPGNvZGU+ZihGb28pPC9jb2RlPiBtZXRob2QgZGVmaW5lZCBpbiBjbGFzcyA8Y29kZT5CPC9jb2RlPiBkb2Vzbid0Ci1vdmVycmlkZSB0aGUKLTxjb2RlPmYoRm9vKTwvY29kZT4gbWV0aG9kIGRlZmluZWQgaW4gY2xhc3MgPGNvZGU+QTwvY29kZT4sIGJlY2F1c2UgdGhlIGFyZ3VtZW50Ci10eXBlcyBhcmUgPGNvZGU+Rm9vPC9jb2RlPidzIGZyb20gZGlmZmVyZW50IHBhY2thZ2VzLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUUJBX1FVRVNUSU9OQUJMRV9CT09MRUFOX0FTU0lHTk1FTlQiPlFCQTogTWV0aG9kIGFzc2lnbnMgYm9vbGVhbiBsaXRlcmFsIGluIGJvb2xlYW4gZXhwcmVzc2lvbiAoUUJBX1FVRVNUSU9OQUJMRV9CT09MRUFOX0FTU0lHTk1FTlQpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIG1ldGhvZCBhc3NpZ25zIGEgbGl0ZXJhbCBib29sZWFuIHZhbHVlICh0cnVlIG9yIGZhbHNlKSB0byBhIGJvb2xlYW4gdmFyaWFibGUgaW5zaWRlCi0gICAgICBhbiBpZiBvciB3aGlsZSBleHByZXNzaW9uLiBNb3N0IHByb2JhYmx5IHRoaXMgd2FzIHN1cHBvc2VkIHRvIGJlIGEgYm9vbGVhbiBjb21wYXJpc29uIHVzaW5nCi0gICAgICA9PSwgbm90IGFuIGFzc2lnbm1lbnQgdXNpbmcgPS4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgIAotPGgzPjxhIG5hbWU9IlJDX1JFRl9DT01QQVJJU09OIj5SQzogU3VzcGljaW91cyByZWZlcmVuY2UgY29tcGFyaXNvbiAoUkNfUkVGX0NPTVBBUklTT04pPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbXBhcmVzIHR3byByZWZlcmVuY2UgdmFsdWVzIHVzaW5nIHRoZSA9PSBvciAhPSBvcGVyYXRvciwKLXdoZXJlIHRoZSBjb3JyZWN0IHdheSB0byBjb21wYXJlIGluc3RhbmNlcyBvZiB0aGlzIHR5cGUgaXMgZ2VuZXJhbGx5Ci13aXRoIHRoZSBlcXVhbHMoKSBtZXRob2QuCi1JdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgZGlzdGluY3QgaW5zdGFuY2VzIHRoYXQgYXJlIGVxdWFsIGJ1dCBkbyBub3QgY29tcGFyZSBhcyA9PSBzaW5jZQotdGhleSBhcmUgZGlmZmVyZW50IG9iamVjdHMuCi1FeGFtcGxlcyBvZiBjbGFzc2VzIHdoaWNoIHNob3VsZCBnZW5lcmFsbHkKLW5vdCBiZSBjb21wYXJlZCBieSByZWZlcmVuY2UgYXJlIGphdmEubGFuZy5JbnRlZ2VyLCBqYXZhLmxhbmcuRmxvYXQsIGV0Yy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSQ05fUkVEVU5EQU5UX05VTExDSEVDS19XT1VMRF9IQVZFX0JFRU5fQV9OUEUiPlJDTjogTnVsbGNoZWNrIG9mIHZhbHVlIHByZXZpb3VzbHkgZGVyZWZlcmVuY2VkIChSQ05fUkVEVU5EQU5UX05VTExDSEVDS19XT1VMRF9IQVZFX0JFRU5fQV9OUEUpPC9hPjwvaDM+Ci0KLQotPHA+IEEgdmFsdWUgaXMgY2hlY2tlZCBoZXJlIHRvIHNlZSB3aGV0aGVyIGl0IGlzIG51bGwsIGJ1dCB0aGlzIHZhbHVlIGNhbid0Ci1iZSBudWxsIGJlY2F1c2UgaXQgd2FzIHByZXZpb3VzbHkgZGVyZWZlcmVuY2VkIGFuZCBpZiBpdCB3ZXJlIG51bGwgYSBudWxsIHBvaW50ZXIKLWV4Y2VwdGlvbiB3b3VsZCBoYXZlIG9jY3VycmVkIGF0IHRoZSBlYXJsaWVyIGRlcmVmZXJlbmNlLgotRXNzZW50aWFsbHksIHRoaXMgY29kZSBhbmQgdGhlIHByZXZpb3VzIGRlcmVmZXJlbmNlCi1kaXNhZ3JlZSBhcyB0byB3aGV0aGVyIHRoaXMgdmFsdWUgaXMgYWxsb3dlZCB0byBiZSBudWxsLiBFaXRoZXIgdGhlIGNoZWNrIGlzIHJlZHVuZGFudAotb3IgdGhlIHByZXZpb3VzIGRlcmVmZXJlbmNlIGlzIGVycm9uZW91cy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSRV9CQURfU1lOVEFYX0ZPUl9SRUdVTEFSX0VYUFJFU1NJT04iPlJFOiBJbnZhbGlkIHN5bnRheCBmb3IgcmVndWxhciBleHByZXNzaW9uIChSRV9CQURfU1lOVEFYX0ZPUl9SRUdVTEFSX0VYUFJFU1NJT04pPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgY29kZSBoZXJlIHVzZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBpcyBpbnZhbGlkIGFjY29yZGluZyB0byB0aGUgc3ludGF4Ci1mb3IgcmVndWxhciBleHByZXNzaW9ucy4gVGhpcyBzdGF0ZW1lbnQgd2lsbCB0aHJvdyBhIFBhdHRlcm5TeW50YXhFeGNlcHRpb24gd2hlbgotZXhlY3V0ZWQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSRV9DQU5UX1VTRV9GSUxFX1NFUEFSQVRPUl9BU19SRUdVTEFSX0VYUFJFU1NJT04iPlJFOiBGaWxlLnNlcGFyYXRvciB1c2VkIGZvciByZWd1bGFyIGV4cHJlc3Npb24gKFJFX0NBTlRfVVNFX0ZJTEVfU0VQQVJBVE9SX0FTX1JFR1VMQVJfRVhQUkVTU0lPTik8L2E+PC9oMz4KLQotCi08cD4KLVRoZSBjb2RlIGhlcmUgdXNlcyA8Y29kZT5GaWxlLnNlcGFyYXRvcjwvY29kZT4KLXdoZXJlIGEgcmVndWxhciBleHByZXNzaW9uIGlzIHJlcXVpcmVkLiBUaGlzIHdpbGwgZmFpbCBvbiBXaW5kb3dzCi1wbGF0Zm9ybXMsIHdoZXJlIHRoZSA8Y29kZT5GaWxlLnNlcGFyYXRvcjwvY29kZT4gaXMgYSBiYWNrc2xhc2gsIHdoaWNoIGlzIGludGVycHJldGVkIGluIGEKLXJlZ3VsYXIgZXhwcmVzc2lvbiBhcyBhbiBlc2NhcGUgY2hhcmFjdGVyLiBBbW91bmcgb3RoZXIgb3B0aW9ucywgeW91IGNhbiBqdXN0IHVzZQotPGNvZGU+RmlsZS5zZXBhcmF0b3JDaGFyPT0nXFwnID8gIlxcXFwiIDogRmlsZS5zZXBhcmF0b3I8L2NvZGU+IGluc3RlYWQgb2YKLTxjb2RlPkZpbGUuc2VwYXJhdG9yPC9jb2RlPgotCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSRV9QT1NTSUJMRV9VTklOVEVOREVEX1BBVFRFUk4iPlJFOiAiLiIgb3IgInwiIHVzZWQgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiAoUkVfUE9TU0lCTEVfVU5JTlRFTkRFRF9QQVRURVJOKTwvYT48L2gzPgotCi0KLTxwPgotQSBTdHJpbmcgZnVuY3Rpb24gaXMgYmVpbmcgaW52b2tlZCBhbmQgIi4iIG9yICJ8IiBpcyBiZWluZyBwYXNzZWQKLXRvIGEgcGFyYW1ldGVyIHRoYXQgdGFrZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gYXMgYW4gYXJndW1lbnQuIElzIHRoaXMgd2hhdCB5b3UgaW50ZW5kZWQ/Ci1Gb3IgZXhhbXBsZQotPGxpPnMucmVwbGFjZUFsbCgiLiIsICIvIikgd2lsbCByZXR1cm4gYSBTdHJpbmcgaW4gd2hpY2ggPGVtPmV2ZXJ5PC9lbT4gY2hhcmFjdGVyIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IGEgJy8nIGNoYXJhY3RlcgotPGxpPnMuc3BsaXQoIi4iKSA8ZW0+YWx3YXlzPC9lbT4gcmV0dXJucyBhIHplcm8gbGVuZ3RoIGFycmF5IG9mIFN0cmluZwotPGxpPiJhYnxjZCIucmVwbGFjZUFsbCgifCIsICIvIikgd2lsbCByZXR1cm4gIi9hL2IvfC9jL2QvIgotPGxpPiJhYnxjZCIuc3BsaXQoInwiKSB3aWxsIHJldHVybiBhcnJheSB3aXRoIHNpeCAoISkgZWxlbWVudHM6IFssIGEsIGIsIHwsIGMsIGRdCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl8wMV9UT19JTlQiPlJWOiBSYW5kb20gdmFsdWUgZnJvbSAwIHRvIDEgaXMgY29lcmNlZCB0byB0aGUgaW50ZWdlciAwIChSVl8wMV9UT19JTlQpPC9hPjwvaDM+Ci0KLQotICA8cD5BIHJhbmRvbSB2YWx1ZSBmcm9tIDAgdG8gMSBpcyBiZWluZyBjb2VyY2VkIHRvIHRoZSBpbnRlZ2VyIHZhbHVlIDAuIFlvdSBwcm9iYWJseQotd2FudCB0byBtdWx0aXBsZSB0aGUgcmFuZG9tIHZhbHVlIGJ5IHNvbWV0aGluZyBlbHNlIGJlZm9yZSBjb2VyY2luZyBpdCB0byBhbiBpbnRlZ2VyLCBvciB1c2UgdGhlIDxjb2RlPlJhbmRvbS5uZXh0SW50KG4pPC9jb2RlPiBtZXRob2QuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9BQlNPTFVURV9WQUxVRV9PRl9IQVNIQ09ERSI+UlY6IEJhZCBhdHRlbXB0IHRvIGNvbXB1dGUgYWJzb2x1dGUgdmFsdWUgb2Ygc2lnbmVkIDMyLWJpdCBoYXNoY29kZSAgKFJWX0FCU09MVVRFX1ZBTFVFX09GX0hBU0hDT0RFKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNvZGUgZ2VuZXJhdGVzIGEgaGFzaGNvZGUgYW5kIHRoZW4gY29tcHV0ZXMKLXRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGF0IGhhc2hjb2RlLiAgSWYgdGhlIGhhc2hjb2RlCi1pcyA8Y29kZT5JbnRlZ2VyLk1JTl9WQUxVRTwvY29kZT4sIHRoZW4gdGhlIHJlc3VsdCB3aWxsIGJlIG5lZ2F0aXZlIGFzIHdlbGwgKHNpbmNlCi08Y29kZT5NYXRoLmFicyhJbnRlZ2VyLk1JTl9WQUxVRSkgPT0gSW50ZWdlci5NSU5fVkFMVUU8L2NvZGU+KS4KLTwvcD4KLTxwPk9uZSBvdXQgb2YgMl4zMiBzdHJpbmdzIGhhdmUgYSBoYXNoQ29kZSBvZiBJbnRlZ2VyLk1JTl9WQUxVRSwKLWluY2x1ZGluZyAicG9seWdlbmVsdWJyaWNhbnRzIiAiR3lkWkdfIiBhbmQgIiJERVNJR05JTkcgV09SS0hPVVNFUyIuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9BQlNPTFVURV9WQUxVRV9PRl9SQU5ET01fSU5UIj5SVjogQmFkIGF0dGVtcHQgdG8gY29tcHV0ZSBhYnNvbHV0ZSB2YWx1ZSBvZiBzaWduZWQgcmFuZG9tIGludGVnZXIgKFJWX0FCU09MVVRFX1ZBTFVFX09GX1JBTkRPTV9JTlQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgY29kZSBnZW5lcmF0ZXMgYSByYW5kb20gc2lnbmVkIGludGVnZXIgYW5kIHRoZW4gY29tcHV0ZXMKLXRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGF0IHJhbmRvbSBpbnRlZ2VyLiAgSWYgdGhlIG51bWJlciByZXR1cm5lZCBieSB0aGUgcmFuZG9tIG51bWJlcgotZ2VuZXJhdG9yIGlzIDxjb2RlPkludGVnZXIuTUlOX1ZBTFVFPC9jb2RlPiwgdGhlbiB0aGUgcmVzdWx0IHdpbGwgYmUgbmVnYXRpdmUgYXMgd2VsbCAoc2luY2UKLTxjb2RlPk1hdGguYWJzKEludGVnZXIuTUlOX1ZBTFVFKSA9PSBJbnRlZ2VyLk1JTl9WQUxVRTwvY29kZT4pLiAoU2FtZSBwcm9ibGVtIGFyaXNlZCBmb3IgbG9uZyB2YWx1ZXMgYXMgd2VsbCkuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9DSEVDS19DT01QQVJFVE9fRk9SX1NQRUNJRklDX1JFVFVSTl9WQUxVRSI+UlY6IENvZGUgY2hlY2tzIGZvciBzcGVjaWZpYyB2YWx1ZXMgcmV0dXJuZWQgYnkgY29tcGFyZVRvIChSVl9DSEVDS19DT01QQVJFVE9fRk9SX1NQRUNJRklDX1JFVFVSTl9WQUxVRSk8L2E+PC9oMz4KLQotCi0gICA8cD4gVGhpcyBjb2RlIGludm9rZWQgYSBjb21wYXJlVG8gb3IgY29tcGFyZSBtZXRob2QsIGFuZCBjaGVja3MgdG8gc2VlIGlmIHRoZSByZXR1cm4gdmFsdWUgaXMgYSBzcGVjaWZpYyB2YWx1ZSwKLXN1Y2ggYXMgMSBvciAtMS4gV2hlbiBpbnZva2luZyB0aGVzZSBtZXRob2RzLCB5b3Ugc2hvdWxkIG9ubHkgY2hlY2sgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCwgbm90IGZvciBhbnkgc3BlY2lmaWMKLW5vbi16ZXJvIHZhbHVlLiBXaGlsZSBtYW55IG9yIG1vc3QgY29tcGFyZVRvIGFuZCBjb21wYXJlIG1ldGhvZHMgb25seSByZXR1cm4gLTEsIDAgb3IgMSwgc29tZSBvZiB0aGVtCi13aWxsIHJldHVybiBvdGhlciB2YWx1ZXMuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9FWENFUFRJT05fTk9UX1RIUk9XTiI+UlY6IEV4Y2VwdGlvbiBjcmVhdGVkIGFuZCBkcm9wcGVkIHJhdGhlciB0aGFuIHRocm93biAoUlZfRVhDRVBUSU9OX05PVF9USFJPV04pPC9hPjwvaDM+Ci0KLQotICAgPHA+IFRoaXMgY29kZSBjcmVhdGVzIGFuIGV4Y2VwdGlvbiAob3IgZXJyb3IpIG9iamVjdCwgYnV0IGRvZXNuJ3QgZG8gYW55dGhpbmcgd2l0aCBpdC4gRm9yIGV4YW1wbGUsCi1zb21ldGhpbmcgbGlrZSA8L3A+Ci08YmxvY2txdW90ZT4KLTxwcmU+Ci1pZiAoeCAmbHQ7IDApCi0gIG5ldyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24oInggbXVzdCBiZSBub25uZWdhdGl2ZSIpOwotPC9wcmU+Ci08L2Jsb2NrcXVvdGU+Ci08cD5JdCB3YXMgcHJvYmFibHkgdGhlIGludGVudCBvZiB0aGUgcHJvZ3JhbW1lciB0byB0aHJvdyB0aGUgY3JlYXRlZCBleGNlcHRpb246PC9wPgotPGJsb2NrcXVvdGU+Ci08cHJlPgotaWYgKHggJmx0OyAwKQotICB0aHJvdyBuZXcgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uKCJ4IG11c3QgYmUgbm9ubmVnYXRpdmUiKTsKLTwvcHJlPgotPC9ibG9ja3F1b3RlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlZfUkVUVVJOX1ZBTFVFX0lHTk9SRUQiPlJWOiBNZXRob2QgaWdub3JlcyByZXR1cm4gdmFsdWUgKFJWX1JFVFVSTl9WQUxVRV9JR05PUkVEKTwvYT48L2gzPgotCi0KLSAgIDxwPiBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoaXMgbWV0aG9kIHNob3VsZCBiZSBjaGVja2VkLiBPbmUgY29tbW9uCi1jYXVzZSBvZiB0aGlzIHdhcm5pbmcgaXMgdG8gaW52b2tlIGEgbWV0aG9kIG9uIGFuIGltbXV0YWJsZSBvYmplY3QsCi10aGlua2luZyB0aGF0IGl0IHVwZGF0ZXMgdGhlIG9iamVjdC4gRm9yIGV4YW1wbGUsIGluIHRoZSBmb2xsb3dpbmcgY29kZQotZnJhZ21lbnQsPC9wPgotPGJsb2NrcXVvdGU+Ci08cHJlPgotU3RyaW5nIGRhdGVTdHJpbmcgPSBnZXRIZWFkZXJGaWVsZChuYW1lKTsKLWRhdGVTdHJpbmcudHJpbSgpOwotPC9wcmU+Ci08L2Jsb2NrcXVvdGU+Ci08cD50aGUgcHJvZ3JhbW1lciBzZWVtcyB0byBiZSB0aGlua2luZyB0aGF0IHRoZSB0cmltKCkgbWV0aG9kIHdpbGwgdXBkYXRlCi10aGUgU3RyaW5nIHJlZmVyZW5jZWQgYnkgZGF0ZVN0cmluZy4gQnV0IHNpbmNlIFN0cmluZ3MgYXJlIGltbXV0YWJsZSwgdGhlIHRyaW0oKQotZnVuY3Rpb24gcmV0dXJucyBhIG5ldyBTdHJpbmcgdmFsdWUsIHdoaWNoIGlzIGJlaW5nIGlnbm9yZWQgaGVyZS4gVGhlIGNvZGUKLXNob3VsZCBiZSBjb3JyZWN0ZWQgdG86IDwvcD4KLTxibG9ja3F1b3RlPgotPHByZT4KLVN0cmluZyBkYXRlU3RyaW5nID0gZ2V0SGVhZGVyRmllbGQobmFtZSk7Ci1kYXRlU3RyaW5nID0gZGF0ZVN0cmluZy50cmltKCk7Ci08L3ByZT4KLTwvYmxvY2txdW90ZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJwQ19SRVBFQVRFRF9DT05ESVRJT05BTF9URVNUIj5ScEM6IFJlcGVhdGVkIGNvbmRpdGlvbmFsIHRlc3RzIChScENfUkVQRUFURURfQ09ORElUSU9OQUxfVEVTVCk8L2E+PC9oMz4KLQotCi08cD5UaGUgY29kZSBjb250YWlucyBhIGNvbmRpdGlvbmFsIHRlc3QgaXMgcGVyZm9ybWVkIHR3aWNlLCBvbmUgcmlnaHQgYWZ0ZXIgdGhlIG90aGVyCi0oZS5nLiwgPGNvZGU+eCA9PSAwIHx8IHggPT0gMDwvY29kZT4pLiBQZXJoYXBzIHRoZSBzZWNvbmQgb2NjdXJyZW5jZSBpcyBpbnRlbmRlZCB0byBiZSBzb21ldGhpbmcgZWxzZQotKGUuZy4sIDxjb2RlPnggPT0gMCB8fCB5ID09IDA8L2NvZGU+KS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNBX0ZJRUxEX1NFTEZfQVNTSUdOTUVOVCI+U0E6IFNlbGYgYXNzaWdubWVudCBvZiBmaWVsZCAoU0FfRklFTERfU0VMRl9BU1NJR05NRU5UKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIHNlbGYgYXNzaWdubWVudCBvZiBhIGZpZWxkOyBlLmcuCi08L3A+Ci08cHJlPgotICBpbnQgeDsKLSAgcHVibGljIHZvaWQgZm9vKCkgewotICAgIHggPSB4OwotICB9Ci08L3ByZT4KLTxwPlN1Y2ggYXNzaWdubWVudHMgYXJlIHVzZWxlc3MsIGFuZCBtYXkgaW5kaWNhdGUgYSBsb2dpYyBlcnJvciBvciB0eXBvLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNBX0ZJRUxEX1NFTEZfQ09NUEFSSVNPTiI+U0E6IFNlbGYgY29tcGFyaXNvbiBvZiBmaWVsZCB3aXRoIGl0c2VsZiAoU0FfRklFTERfU0VMRl9DT01QQVJJU09OKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb21wYXJlcyBhIGZpZWxkIHdpdGggaXRzZWxmLCBhbmQgbWF5IGluZGljYXRlIGEgdHlwbyBvcgotYSBsb2dpYyBlcnJvci4gIE1ha2Ugc3VyZSB0aGF0IHlvdSBhcmUgY29tcGFyaW5nIHRoZSByaWdodCB0aGluZ3MuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTQV9GSUVMRF9TRUxGX0NPTVBVVEFUSU9OIj5TQTogTm9uc2Vuc2ljYWwgc2VsZiBjb21wdXRhdGlvbiBpbnZvbHZpbmcgYSBmaWVsZCAoZS5nLiwgeCAmIHgpIChTQV9GSUVMRF9TRUxGX0NPTVBVVEFUSU9OKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBwZXJmb3JtcyBhIG5vbnNlbnNpY2FsIGNvbXB1dGF0aW9uIG9mIGEgZmllbGQgd2l0aCBhbm90aGVyCi1yZWZlcmVuY2UgdG8gdGhlIHNhbWUgZmllbGQgKGUuZy4sIHgmeCBvciB4LXgpLiBCZWNhdXNlIG9mIHRoZSBuYXR1cmUKLW9mIHRoZSBjb21wdXRhdGlvbiwgdGhpcyBvcGVyYXRpb24gZG9lc24ndCBzZWVtIHRvIG1ha2Ugc2Vuc2UsCi1hbmQgbWF5IGluZGljYXRlIGEgdHlwbyBvcgotYSBsb2dpYyBlcnJvci4gIERvdWJsZSBjaGVjayB0aGUgY29tcHV0YXRpb24uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTQV9MT0NBTF9TRUxGX0FTU0lHTk1FTlRfSU5TVEVBRF9PRl9GSUVMRCI+U0E6IFNlbGYgYXNzaWdubWVudCBvZiBsb2NhbCByYXRoZXIgdGhhbiBhc3NpZ25tZW50IHRvIGZpZWxkIChTQV9MT0NBTF9TRUxGX0FTU0lHTk1FTlRfSU5TVEVBRF9PRl9GSUVMRCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSBzZWxmIGFzc2lnbm1lbnQgb2YgYSBsb2NhbCB2YXJpYWJsZSwgYW5kIHRoZXJlCi1pcyBhIGZpZWxkIHdpdGggYW4gaWRlbnRpY2FsIG5hbWUuCi1hc3NpZ25tZW50IGFwcGVhcnMgdG8gaGF2ZSBiZWVuIDsgZS5nLjwvcD4KLTxwcmU+Ci0gIGludCBmb287Ci0gIHB1YmxpYyB2b2lkIHNldEZvbyhpbnQgZm9vKSB7Ci0gICAgZm9vID0gZm9vOwotICB9Ci08L3ByZT4KLTxwPlRoZSBhc3NpZ25tZW50IGlzIHVzZWxlc3MuIERpZCB5b3UgbWVhbiB0byBhc3NpZ24gdG8gdGhlIGZpZWxkIGluc3RlYWQ/PC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0FfTE9DQUxfU0VMRl9DT01QQVJJU09OIj5TQTogU2VsZiBjb21wYXJpc29uIG9mIHZhbHVlIHdpdGggaXRzZWxmIChTQV9MT0NBTF9TRUxGX0NPTVBBUklTT04pPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbXBhcmVzIGEgbG9jYWwgdmFyaWFibGUgd2l0aCBpdHNlbGYsIGFuZCBtYXkgaW5kaWNhdGUgYSB0eXBvIG9yCi1hIGxvZ2ljIGVycm9yLiAgTWFrZSBzdXJlIHRoYXQgeW91IGFyZSBjb21wYXJpbmcgdGhlIHJpZ2h0IHRoaW5ncy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNBX0xPQ0FMX1NFTEZfQ09NUFVUQVRJT04iPlNBOiBOb25zZW5zaWNhbCBzZWxmIGNvbXB1dGF0aW9uIGludm9sdmluZyBhIHZhcmlhYmxlIChlLmcuLCB4ICYgeCkgKFNBX0xPQ0FMX1NFTEZfQ09NUFVUQVRJT04pPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIHBlcmZvcm1zIGEgbm9uc2Vuc2ljYWwgY29tcHV0YXRpb24gb2YgYSBsb2NhbCB2YXJpYWJsZSB3aXRoIGFub3RoZXIKLXJlZmVyZW5jZSB0byB0aGUgc2FtZSB2YXJpYWJsZSAoZS5nLiwgeCZ4IG9yIHgteCkuIEJlY2F1c2Ugb2YgdGhlIG5hdHVyZQotb2YgdGhlIGNvbXB1dGF0aW9uLCB0aGlzIG9wZXJhdGlvbiBkb2Vzbid0IHNlZW0gdG8gbWFrZSBzZW5zZSwKLWFuZCBtYXkgaW5kaWNhdGUgYSB0eXBvIG9yCi1hIGxvZ2ljIGVycm9yLiAgRG91YmxlIGNoZWNrIHRoZSBjb21wdXRhdGlvbi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNGX0RFQURfU1RPUkVfRFVFX1RPX1NXSVRDSF9GQUxMVEhST1VHSCI+U0Y6IERlYWQgc3RvcmUgZHVlIHRvIHN3aXRjaCBzdGF0ZW1lbnQgZmFsbCB0aHJvdWdoIChTRl9ERUFEX1NUT1JFX0RVRV9UT19TV0lUQ0hfRkFMTFRIUk9VR0gpPC9hPjwvaDM+Ci0KLQotICA8cD4gQSB2YWx1ZSBzdG9yZWQgaW4gdGhlIHByZXZpb3VzIHN3aXRjaCBjYXNlIGlzIG92ZXJ3cml0dGVuIGhlcmUgZHVlIHRvIGEgc3dpdGNoIGZhbGwgdGhyb3VnaC4gSXQgaXMgbGlrZWx5IHRoYXQKLSAgICB5b3UgZm9yZ290IHRvIHB1dCBhIGJyZWFrIG9yIHJldHVybiBhdCB0aGUgZW5kIG9mIHRoZSBwcmV2aW91cyBjYXNlLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0ZfREVBRF9TVE9SRV9EVUVfVE9fU1dJVENIX0ZBTExUSFJPVUdIX1RPX1RIUk9XIj5TRjogRGVhZCBzdG9yZSBkdWUgdG8gc3dpdGNoIHN0YXRlbWVudCBmYWxsIHRocm91Z2ggdG8gdGhyb3cgKFNGX0RFQURfU1RPUkVfRFVFX1RPX1NXSVRDSF9GQUxMVEhST1VHSF9UT19USFJPVyk8L2E+PC9oMz4KLQotCi0gIDxwPiBBIHZhbHVlIHN0b3JlZCBpbiB0aGUgcHJldmlvdXMgc3dpdGNoIGNhc2UgaXMgaWdub3JlZCBoZXJlIGR1ZSB0byBhIHN3aXRjaCBmYWxsIHRocm91Z2ggdG8gYSBwbGFjZSB3aGVyZQotICAgIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uIEl0IGlzIGxpa2VseSB0aGF0Ci0gICAgeW91IGZvcmdvdCB0byBwdXQgYSBicmVhayBvciByZXR1cm4gYXQgdGhlIGVuZCBvZiB0aGUgcHJldmlvdXMgY2FzZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNJQ19USFJFQURMT0NBTF9ERUFETFlfRU1CUkFDRSI+U0lDOiBEZWFkbHkgZW1icmFjZSBvZiBub24tc3RhdGljIGlubmVyIGNsYXNzIGFuZCB0aHJlYWQgbG9jYWwgKFNJQ19USFJFQURMT0NBTF9ERUFETFlfRU1CUkFDRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGlzIGFuIGlubmVyIGNsYXNzLCBidXQgc2hvdWxkIHByb2JhYmx5IGJlIGEgc3RhdGljIGlubmVyIGNsYXNzLgotICBBcyBpdCBpcywgdGhlcmUgaXMgYSBzZXJpb3VzIGRhbmdlciBvZiBhIGRlYWRseSBlbWJyYWNlIGJldHdlZW4gdGhlIGlubmVyIGNsYXNzCi0gIGFuZCB0aGUgdGhyZWFkIGxvY2FsIGluIHRoZSBvdXRlciBjbGFzcy4gQmVjYXVzZSB0aGUgaW5uZXIgY2xhc3MgaXNuJ3Qgc3RhdGljLAotICBpdCByZXRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSBvdXRlciBjbGFzcy4KLSAgSWYgdGhlIHRocmVhZCBsb2NhbCBjb250YWlucyBhIHJlZmVyZW5jZSB0byBhbiBpbnN0YW5jZSBvZiB0aGUgaW5uZXIKLSAgY2xhc3MsIHRoZSBpbm5lciBhbmQgb3V0ZXIgaW5zdGFuY2Ugd2lsbCBib3RoIGJlIHJlYWNoYWJsZQotICBhbmQgbm90IGVsaWdpYmxlIGZvciBnYXJiYWdlIGNvbGxlY3Rpb24uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTSU9fU1VQRVJGTFVPVVNfSU5TVEFOQ0VPRiI+U0lPOiBVbm5lY2Vzc2FyeSB0eXBlIGNoZWNrIGRvbmUgdXNpbmcgaW5zdGFuY2VvZiBvcGVyYXRvciAoU0lPX1NVUEVSRkxVT1VTX0lOU1RBTkNFT0YpPC9hPjwvaDM+Ci0KLQotPHA+IFR5cGUgY2hlY2sgcGVyZm9ybWVkIHVzaW5nIHRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yIHdoZXJlIGl0IGNhbiBiZSBzdGF0aWNhbGx5IGRldGVybWluZWQgd2hldGhlciB0aGUgb2JqZWN0Ci1pcyBvZiB0aGUgdHlwZSByZXF1ZXN0ZWQuIDwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNRTF9CQURfUFJFUEFSRURfU1RBVEVNRU5UX0FDQ0VTUyI+U1FMOiBNZXRob2QgYXR0ZW1wdHMgdG8gYWNjZXNzIGEgcHJlcGFyZWQgc3RhdGVtZW50IHBhcmFtZXRlciB3aXRoIGluZGV4IDAgKFNRTF9CQURfUFJFUEFSRURfU1RBVEVNRU5UX0FDQ0VTUyk8L2E+PC9oMz4KLQotCi08cD4gQSBjYWxsIHRvIGEgc2V0WFhYIG1ldGhvZCBvZiBhIHByZXBhcmVkIHN0YXRlbWVudCB3YXMgbWFkZSB3aGVyZSB0aGUKLXBhcmFtZXRlciBpbmRleCBpcyAwLiBBcyBwYXJhbWV0ZXIgaW5kZXhlcyBzdGFydCBhdCBpbmRleCAxLCB0aGlzIGlzIGFsd2F5cyBhIG1pc3Rha2UuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU1FMX0JBRF9SRVNVTFRTRVRfQUNDRVNTIj5TUUw6IE1ldGhvZCBhdHRlbXB0cyB0byBhY2Nlc3MgYSByZXN1bHQgc2V0IGZpZWxkIHdpdGggaW5kZXggMCAoU1FMX0JBRF9SRVNVTFRTRVRfQUNDRVNTKTwvYT48L2gzPgotCi0KLTxwPiBBIGNhbGwgdG8gZ2V0WFhYIG9yIHVwZGF0ZVhYWCBtZXRob2RzIG9mIGEgcmVzdWx0IHNldCB3YXMgbWFkZSB3aGVyZSB0aGUKLWZpZWxkIGluZGV4IGlzIDAuIEFzIFJlc3VsdFNldCBmaWVsZHMgc3RhcnQgYXQgaW5kZXggMSwgdGhpcyBpcyBhbHdheXMgYSBtaXN0YWtlLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNUSV9JTlRFUlJVUFRFRF9PTl9DVVJSRU5UVEhSRUFEIj5TVEk6IFVubmVlZGVkIHVzZSBvZiBjdXJyZW50VGhyZWFkKCkgY2FsbCwgdG8gY2FsbCBpbnRlcnJ1cHRlZCgpICAoU1RJX0lOVEVSUlVQVEVEX09OX0NVUlJFTlRUSFJFQUQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIG1ldGhvZCBpbnZva2VzIHRoZSBUaHJlYWQuY3VycmVudFRocmVhZCgpIGNhbGwsIGp1c3QgdG8gY2FsbCB0aGUgaW50ZXJydXB0ZWQoKSBtZXRob2QuIEFzIGludGVycnVwdGVkKCkgaXMgYQotc3RhdGljIG1ldGhvZCwgaXMgbW9yZSBzaW1wbGUgYW5kIGNsZWFyIHRvIHVzZSBUaHJlYWQuaW50ZXJydXB0ZWQoKS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNUSV9JTlRFUlJVUFRFRF9PTl9VTktOT1dOVEhSRUFEIj5TVEk6IFN0YXRpYyBUaHJlYWQuaW50ZXJydXB0ZWQoKSBtZXRob2QgaW52b2tlZCBvbiB0aHJlYWQgaW5zdGFuY2UgKFNUSV9JTlRFUlJVUFRFRF9PTl9VTktOT1dOVEhSRUFEKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBtZXRob2QgaW52b2tlcyB0aGUgVGhyZWFkLmludGVycnVwdGVkKCkgbWV0aG9kIG9uIGEgVGhyZWFkIG9iamVjdCB0aGF0IGFwcGVhcnMgdG8gYmUgYSBUaHJlYWQgb2JqZWN0IHRoYXQgaXMKLW5vdCB0aGUgY3VycmVudCB0aHJlYWQuIEFzIHRoZSBpbnRlcnJ1cHRlZCgpIG1ldGhvZCBpcyBzdGF0aWMsIHRoZSBpbnRlcnJ1cHRlZCBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgb24gYSBkaWZmZXJlbnQKLW9iamVjdCB0aGFuIHRoZSBvbmUgdGhlIGF1dGhvciBpbnRlbmRlZC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX01FVEhPRF9NVVNUX0JFX1BSSVZBVEUiPlNlOiBNZXRob2QgbXVzdCBiZSBwcml2YXRlIGluIG9yZGVyIGZvciBzZXJpYWxpemF0aW9uIHRvIHdvcmsgKFNFX01FVEhPRF9NVVNUX0JFX1BSSVZBVEUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHRoZSA8Y29kZT5TZXJpYWxpemFibGU8L2NvZGU+IGludGVyZmFjZSwgYW5kIGRlZmluZXMgYSBtZXRob2QKLSAgZm9yIGN1c3RvbSBzZXJpYWxpemF0aW9uL2Rlc2VyaWFsaXphdGlvbi4gQnV0IHNpbmNlIHRoYXQgbWV0aG9kIGlzbid0IGRlY2xhcmVkIHByaXZhdGUsCi0gIGl0IHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBieSB0aGUgc2VyaWFsaXphdGlvbi9kZXNlcmlhbGl6YXRpb24gQVBJLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX1JFQURfUkVTT0xWRV9JU19TVEFUSUMiPlNlOiBUaGUgcmVhZFJlc29sdmUgbWV0aG9kIG11c3Qgbm90IGJlIGRlY2xhcmVkIGFzIGEgc3RhdGljIG1ldGhvZC4gICAoU0VfUkVBRF9SRVNPTFZFX0lTX1NUQVRJQyk8L2E+PC9oMz4KLQotCi0gIDxwPiBJbiBvcmRlciBmb3IgdGhlIHJlYWRSZXNvbHZlIG1ldGhvZCB0byBiZSByZWNvZ25pemVkIGJ5IHRoZSBzZXJpYWxpemF0aW9uCi1tZWNoYW5pc20sIGl0IG11c3Qgbm90IGJlIGRlY2xhcmVkIGFzIGEgc3RhdGljIG1ldGhvZC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlRRX0FMV0FZU19WQUxVRV9VU0VEX1dIRVJFX05FVkVSX1JFUVVJUkVEIj5UUTogVmFsdWUgYW5ub3RhdGVkIGFzIGNhcnJ5aW5nIGEgdHlwZSBxdWFsaWZpZXIgdXNlZCB3aGVyZSBhIHZhbHVlIHRoYXQgbXVzdCBub3QgY2FycnkgdGhhdCBxdWFsaWZpZXIgaXMgcmVxdWlyZWQgKFRRX0FMV0FZU19WQUxVRV9VU0VEX1dIRVJFX05FVkVSX1JFUVVJUkVEKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgICAgPHA+Ci0gICAgICAgIEEgdmFsdWUgc3BlY2lmaWVkIGFzIGNhcnJ5aW5nIGEgdHlwZSBxdWFsaWZpZXIgYW5ub3RhdGlvbiBpcwotICAgICAgICBjb25zdW1lZCBpbiBhIGxvY2F0aW9uIG9yIGxvY2F0aW9ucyByZXF1aXJpbmcgdGhhdCB0aGUgdmFsdWUgbm90Ci0gICAgICAgIGNhcnJ5IHRoYXQgYW5ub3RhdGlvbi4KLSAgICAgICAgPC9wPgotCi0gICAgICAgIDxwPgotICAgICAgICBNb3JlIHByZWNpc2VseSwgYSB2YWx1ZSBhbm5vdGF0ZWQgd2l0aCBhIHR5cGUgcXVhbGlmaWVyIHNwZWNpZnlpbmcgd2hlbj1BTFdBWVMKLSAgICAgICAgaXMgZ3VhcmFudGVlZCB0byByZWFjaCBhIHVzZSBvciB1c2VzIHdoZXJlIHRoZSBzYW1lIHR5cGUgcXVhbGlmaWVyIHNwZWNpZmllcyB3aGVuPU5FVkVSLgotICAgICAgICA8L3A+Ci0KLSAgICAgICAgPHA+Ci0gICAgICAgIEZvciBleGFtcGxlLCBzYXkgdGhhdCBATm9uTmVnYXRpdmUgaXMgYSBuaWNrbmFtZSBmb3IKLSAgICAgICAgdGhlIHR5cGUgcXVhbGlmaWVyIGFubm90YXRpb24gQE5lZ2F0aXZlKHdoZW49V2hlbi5ORVZFUikuCi0gICAgICAgIFRoZSBmb2xsb3dpbmcgY29kZSB3aWxsIGdlbmVyYXRlIHRoaXMgd2FybmluZyBiZWNhdXNlCi0gICAgICAgIHRoZSByZXR1cm4gc3RhdGVtZW50IHJlcXVpcmVzIGEgQE5vbk5lZ2F0aXZlIHZhbHVlLAotICAgICAgICBidXQgcmVjZWl2ZXMgb25lIHRoYXQgaXMgbWFya2VkIGFzIEBOZWdhdGl2ZS4KLSAgICAgICAgPC9wPgotICAgICAgICA8YmxvY2txdW90ZT4KLTxwcmU+Ci1wdWJsaWMgQE5vbk5lZ2F0aXZlIEludGVnZXIgZXhhbXBsZShATmVnYXRpdmUgSW50ZWdlciB2YWx1ZSkgewotICAgIHJldHVybiB2YWx1ZTsKLX0KLTwvcHJlPgotICAgICAgICA8L2Jsb2NrcXVvdGU+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJUUV9DT01QQVJJTkdfVkFMVUVTX1dJVEhfSU5DT01QQVRJQkxFX1RZUEVfUVVBTElGSUVSUyI+VFE6IENvbXBhcmluZyB2YWx1ZXMgd2l0aCBpbmNvbXBhdGlibGUgdHlwZSBxdWFsaWZpZXJzIChUUV9DT01QQVJJTkdfVkFMVUVTX1dJVEhfSU5DT01QQVRJQkxFX1RZUEVfUVVBTElGSUVSUyk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICAgIDxwPgotICAgICAgICBBIHZhbHVlIHNwZWNpZmllZCBhcyBjYXJyeWluZyBhIHR5cGUgcXVhbGlmaWVyIGFubm90YXRpb24gaXMKLSAgICAgICAgY29tcGFyZWQgd2l0aCBhIHZhbHVlIHRoYXQgZG9lc24ndCBldmVyIGNhcnJ5IHRoYXQgcXVhbGlmaWVyLgotICAgICAgICA8L3A+Ci0KLSAgICAgICAgPHA+Ci0gICAgICAgIE1vcmUgcHJlY2lzZWx5LCBhIHZhbHVlIGFubm90YXRlZCB3aXRoIGEgdHlwZSBxdWFsaWZpZXIgc3BlY2lmeWluZyB3aGVuPUFMV0FZUwotICAgICAgICBpcyBjb21wYXJlZCB3aXRoIGEgdmFsdWUgdGhhdCB3aGVyZSB0aGUgc2FtZSB0eXBlIHF1YWxpZmllciBzcGVjaWZpZXMgd2hlbj1ORVZFUi4KLSAgICAgICAgPC9wPgotCi0gICAgICAgIDxwPgotICAgICAgICBGb3IgZXhhbXBsZSwgc2F5IHRoYXQgQE5vbk5lZ2F0aXZlIGlzIGEgbmlja25hbWUgZm9yCi0gICAgICAgIHRoZSB0eXBlIHF1YWxpZmllciBhbm5vdGF0aW9uIEBOZWdhdGl2ZSh3aGVuPVdoZW4uTkVWRVIpLgotICAgICAgICBUaGUgZm9sbG93aW5nIGNvZGUgd2lsbCBnZW5lcmF0ZSB0aGlzIHdhcm5pbmcgYmVjYXVzZQotICAgICAgICB0aGUgcmV0dXJuIHN0YXRlbWVudCByZXF1aXJlcyBhIEBOb25OZWdhdGl2ZSB2YWx1ZSwKLSAgICAgICAgYnV0IHJlY2VpdmVzIG9uZSB0aGF0IGlzIG1hcmtlZCBhcyBATmVnYXRpdmUuCi0gICAgICAgIDwvcD4KLSAgICAgICAgPGJsb2NrcXVvdGU+Ci08cHJlPgotcHVibGljIGJvb2xlYW4gZXhhbXBsZShATmVnYXRpdmUgSW50ZWdlciB2YWx1ZTEsIEBOb25OZWdhdGl2ZSBJbnRlZ2VyIHZhbHVlMikgewotICAgIHJldHVybiB2YWx1ZTEuZXF1YWxzKHZhbHVlMik7Ci19Ci08L3ByZT4KLSAgICAgICAgPC9ibG9ja3F1b3RlPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iVFFfTUFZQkVfU09VUkNFX1ZBTFVFX1JFQUNIRVNfQUxXQVlTX1NJTksiPlRROiBWYWx1ZSB0aGF0IG1pZ2h0IG5vdCBjYXJyeSBhIHR5cGUgcXVhbGlmaWVyIGlzIGFsd2F5cyB1c2VkIGluIGEgd2F5IHJlcXVpcmVzIHRoYXQgdHlwZSBxdWFsaWZpZXIgKFRRX01BWUJFX1NPVVJDRV9WQUxVRV9SRUFDSEVTX0FMV0FZU19TSU5LKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgQSB2YWx1ZSB0aGF0IGlzIGFubm90YXRlZCBhcyBwb3NzaWJpbGl0eSBub3QgYmVpbmcgYW4gaW5zdGFuY2Ugb2YKLSAgICB0aGUgdmFsdWVzIGRlbm90ZWQgYnkgdGhlIHR5cGUgcXVhbGlmaWVyLCBhbmQgdGhlIHZhbHVlIGlzIGd1YXJhbnRlZWQgdG8gYmUgdXNlZAotICAgIGluIGEgd2F5IHRoYXQgcmVxdWlyZXMgdmFsdWVzIGRlbm90ZWQgYnkgdGhhdCB0eXBlIHF1YWxpZmllci4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgIAotPGgzPjxhIG5hbWU9IlRRX01BWUJFX1NPVVJDRV9WQUxVRV9SRUFDSEVTX05FVkVSX1NJTksiPlRROiBWYWx1ZSB0aGF0IG1pZ2h0IGNhcnJ5IGEgdHlwZSBxdWFsaWZpZXIgaXMgYWx3YXlzIHVzZWQgaW4gYSB3YXkgcHJvaGliaXRzIGl0IGZyb20gaGF2aW5nIHRoYXQgdHlwZSBxdWFsaWZpZXIgKFRRX01BWUJFX1NPVVJDRV9WQUxVRV9SRUFDSEVTX05FVkVSX1NJTkspPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBBIHZhbHVlIHRoYXQgaXMgYW5ub3RhdGVkIGFzIHBvc3NpYmlsaXR5IGJlaW5nIGFuIGluc3RhbmNlIG9mCi0gICAgdGhlIHZhbHVlcyBkZW5vdGVkIGJ5IHRoZSB0eXBlIHF1YWxpZmllciwgYW5kIHRoZSB2YWx1ZSBpcyBndWFyYW50ZWVkIHRvIGJlIHVzZWQKLSAgICBpbiBhIHdheSB0aGF0IHByb2hpYml0cyB2YWx1ZXMgZGVub3RlZCBieSB0aGF0IHR5cGUgcXVhbGlmaWVyLgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iVFFfTkVWRVJfVkFMVUVfVVNFRF9XSEVSRV9BTFdBWVNfUkVRVUlSRUQiPlRROiBWYWx1ZSBhbm5vdGF0ZWQgYXMgbmV2ZXIgY2FycnlpbmcgYSB0eXBlIHF1YWxpZmllciB1c2VkIHdoZXJlIHZhbHVlIGNhcnJ5aW5nIHRoYXQgcXVhbGlmaWVyIGlzIHJlcXVpcmVkIChUUV9ORVZFUl9WQUxVRV9VU0VEX1dIRVJFX0FMV0FZU19SRVFVSVJFRCk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICAgIDxwPgotICAgICAgICBBIHZhbHVlIHNwZWNpZmllZCBhcyBub3QgY2FycnlpbmcgYSB0eXBlIHF1YWxpZmllciBhbm5vdGF0aW9uIGlzIGd1YXJhbnRlZWQKLSAgICAgICAgdG8gYmUgY29uc3VtZWQgaW4gYSBsb2NhdGlvbiBvciBsb2NhdGlvbnMgcmVxdWlyaW5nIHRoYXQgdGhlIHZhbHVlIGRvZXMKLSAgICAgICAgY2FycnkgdGhhdCBhbm5vdGF0aW9uLgotICAgICAgICA8L3A+Ci0KLSAgICAgICAgPHA+Ci0gICAgICAgIE1vcmUgcHJlY2lzZWx5LCBhIHZhbHVlIGFubm90YXRlZCB3aXRoIGEgdHlwZSBxdWFsaWZpZXIgc3BlY2lmeWluZyB3aGVuPU5FVkVSCi0gICAgICAgIGlzIGd1YXJhbnRlZWQgdG8gcmVhY2ggYSB1c2Ugb3IgdXNlcyB3aGVyZSB0aGUgc2FtZSB0eXBlIHF1YWxpZmllciBzcGVjaWZpZXMgd2hlbj1BTFdBWVMuCi0gICAgICAgIDwvcD4KLQotICAgICAgICA8cD4KLSAgICAgICAgVE9ETzogZXhhbXBsZQotICAgICAgICA8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJUUV9VTktOT1dOX1ZBTFVFX1VTRURfV0hFUkVfQUxXQVlTX1NUUklDVExZX1JFUVVJUkVEIj5UUTogVmFsdWUgd2l0aG91dCBhIHR5cGUgcXVhbGlmaWVyIHVzZWQgd2hlcmUgYSB2YWx1ZSBpcyByZXF1aXJlZCB0byBoYXZlIHRoYXQgcXVhbGlmaWVyIChUUV9VTktOT1dOX1ZBTFVFX1VTRURfV0hFUkVfQUxXQVlTX1NUUklDVExZX1JFUVVJUkVEKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgICAgPHA+Ci0gICAgICAgIEEgdmFsdWUgaXMgYmVpbmcgdXNlZCBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIHRoZSB2YWx1ZSBiZSBhbm5vdGF0aW9uIHdpdGggYSB0eXBlIHF1YWxpZmllci4KLSAgICBUaGUgdHlwZSBxdWFsaWZpZXIgaXMgc3RyaWN0LCBzbyB0aGUgdG9vbCByZWplY3RzIGFueSB2YWx1ZXMgdGhhdCBkbyBub3QgaGF2ZQotICAgIHRoZSBhcHByb3ByaWF0ZSBhbm5vdGF0aW9uLgotICAgICAgICA8L3A+Ci0KLSAgICAgICAgPHA+Ci0gICAgICAgIFRvIGNvZXJjZSBhIHZhbHVlIHRvIGhhdmUgYSBzdHJpY3QgYW5ub3RhdGlvbiwgZGVmaW5lIGFuIGlkZW50aXR5IGZ1bmN0aW9uIHdoZXJlIHRoZSByZXR1cm4gdmFsdWUgaXMgYW5ub3RhdGVkCi0gICAgd2l0aCB0aGUgc3RyaWN0IGFubm90YXRpb24uCi0gICAgVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gdHVybiBhIG5vbi1hbm5vdGF0ZWQgdmFsdWUgaW50byBhIHZhbHVlIHdpdGggYSBzdHJpY3QgdHlwZSBxdWFsaWZpZXIgYW5ub3RhdGlvbi4KLSAgICAgICAgPC9wPgotCi0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJVTUFDX1VOQ0FMTEFCTEVfTUVUSE9EX09GX0FOT05ZTU9VU19DTEFTUyI+VU1BQzogVW5jYWxsYWJsZSBtZXRob2QgZGVmaW5lZCBpbiBhbm9ueW1vdXMgY2xhc3MgKFVNQUNfVU5DQUxMQUJMRV9NRVRIT0RfT0ZfQU5PTllNT1VTX0NMQVNTKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGFub255bW91cyBjbGFzcyBkZWZpbmVkIGEgbWV0aG9kIHRoYXQgaXMgbm90IGRpcmVjdGx5IGludm9rZWQgYW5kIGRvZXMgbm90IG92ZXJyaWRlCi1hIG1ldGhvZCBpbiBhIHN1cGVyY2xhc3MuIFNpbmNlIG1ldGhvZHMgaW4gb3RoZXIgY2xhc3NlcyBjYW5ub3QgZGlyZWN0bHkgaW52b2tlIG1ldGhvZHMKLWRlY2xhcmVkIGluIGFuIGFub255bW91cyBjbGFzcywgaXQgc2VlbXMgdGhhdCB0aGlzIG1ldGhvZCBpcyB1bmNhbGxhYmxlLiBUaGUgbWV0aG9kCi1taWdodCBzaW1wbHkgYmUgZGVhZCBjb2RlLCBidXQgaXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0IHRoZSBtZXRob2QgaXMgaW50ZW5kZWQgdG8KLW92ZXJyaWRlIGEgbWV0aG9kIGRlY2xhcmVkIGluIGEgc3VwZXJjbGFzcywgYW5kIGR1ZSB0byBhbiB0eXBvIG9yIG90aGVyIGVycm9yIHRoZSBtZXRob2QgZG9lcyBub3QsCi1pbiBmYWN0LCBvdmVycmlkZSB0aGUgbWV0aG9kIGl0IGlzIGludGVuZGVkIHRvLgotPC9wPgotCi0KLTxoMz48YSBuYW1lPSJVUl9VTklOSVRfUkVBRCI+VVI6IFVuaW5pdGlhbGl6ZWQgcmVhZCBvZiBmaWVsZCBpbiBjb25zdHJ1Y3RvciAoVVJfVU5JTklUX1JFQUQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjb25zdHJ1Y3RvciByZWFkcyBhIGZpZWxkIHdoaWNoIGhhcyBub3QgeWV0IGJlZW4gYXNzaWduZWQgYSB2YWx1ZS4mbmJzcDsKLSAgVGhpcyBpcyBvZnRlbiBjYXVzZWQgd2hlbiB0aGUgcHJvZ3JhbW1lciBtaXN0YWtlbmx5IHVzZXMgdGhlIGZpZWxkIGluc3RlYWQKLSAgb2Ygb25lIG9mIHRoZSBjb25zdHJ1Y3RvcidzIHBhcmFtZXRlcnMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVVJfVU5JTklUX1JFQURfQ0FMTEVEX0ZST01fU1VQRVJfQ09OU1RSVUNUT1IiPlVSOiBVbmluaXRpYWxpemVkIHJlYWQgb2YgZmllbGQgbWV0aG9kIGNhbGxlZCBmcm9tIGNvbnN0cnVjdG9yIG9mIHN1cGVyY2xhc3MgKFVSX1VOSU5JVF9SRUFEX0NBTExFRF9GUk9NX1NVUEVSX0NPTlNUUlVDVE9SKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIGlzIGludm9rZWQgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIG9mIHRoZSBzdXBlcmNsYXNzLiBBdCB0aGlzIHBvaW50LAotICAgIHRoZSBmaWVsZHMgb2YgdGhlIGNsYXNzIGhhdmUgbm90IHlldCBpbml0aWFsaXplZC48L3A+Ci08cD5UbyBtYWtlIHRoaXMgbW9yZSBjb25jcmV0ZSwgY29uc2lkZXIgdGhlIGZvbGxvd2luZyBjbGFzc2VzOjwvcD4KLTxwcmU+YWJzdHJhY3QgY2xhc3MgQSB7Ci0gIGludCBoYXNoQ29kZTsKLSAgYWJzdHJhY3QgT2JqZWN0IGdldFZhbHVlKCk7Ci0gIEEoKSB7Ci0gICAgaGFzaENvZGUgPSBnZXRWYWx1ZSgpLmhhc2hDb2RlKCk7Ci0gICAgfQotICB9Ci1jbGFzcyBCIGV4dGVuZHMgQSB7Ci0gIE9iamVjdCB2YWx1ZTsKLSAgQihPYmplY3QgdikgewotICAgIHRoaXMudmFsdWUgPSB2OwotICAgIH0KLSAgT2JqZWN0IGdldFZhbHVlKCkgewotICAgIHJldHVybiB2YWx1ZTsKLSAgfQotICB9PC9wcmU+Ci08cD5XaGVuIGEgPGNvZGU+QjwvY29kZT4gaXMgY29uc3RydWN0ZWQsCi10aGUgY29uc3RydWN0b3IgZm9yIHRoZSA8Y29kZT5BPC9jb2RlPiBjbGFzcyBpcyBpbnZva2VkCi08ZW0+YmVmb3JlPC9lbT4gdGhlIGNvbnN0cnVjdG9yIGZvciA8Y29kZT5CPC9jb2RlPiBzZXRzIDxjb2RlPnZhbHVlPC9jb2RlPi4KLVRodXMsIHdoZW4gdGhlIGNvbnN0cnVjdG9yIGZvciA8Y29kZT5BPC9jb2RlPiBpbnZva2VzIDxjb2RlPmdldFZhbHVlPC9jb2RlPiwKLWFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUgaXMgcmVhZCBmb3IgPGNvZGU+dmFsdWU8L2NvZGU+Ci08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfSU5WT0tJTkdfVE9TVFJJTkdfT05fQU5PTllNT1VTX0FSUkFZIj5VU0VMRVNTX1NUUklORzogSW52b2NhdGlvbiBvZiB0b1N0cmluZyBvbiBhbiB1bm5hbWVkIGFycmF5IChETUlfSU5WT0tJTkdfVE9TVFJJTkdfT05fQU5PTllNT1VTX0FSUkFZKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGNvZGUgaW52b2tlcyB0b1N0cmluZyBvbiBhbiAoYW5vbnltb3VzKSBhcnJheS4gIENhbGxpbmcgdG9TdHJpbmcgb24gYW4gYXJyYXkgZ2VuZXJhdGVzIGEgZmFpcmx5IHVzZWxlc3MgcmVzdWx0Ci1zdWNoIGFzIFtDQDE2ZjA0NzIuIENvbnNpZGVyIHVzaW5nIEFycmF5cy50b1N0cmluZyB0byBjb252ZXJ0IHRoZSBhcnJheSBpbnRvIGEgcmVhZGFibGUKLVN0cmluZyB0aGF0IGdpdmVzIHRoZSBjb250ZW50cyBvZiB0aGUgYXJyYXkuIFNlZSBQcm9ncmFtbWluZyBQdXp6bGVycywgY2hhcHRlciAzLCBwdXp6bGUgMTIuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfSU5WT0tJTkdfVE9TVFJJTkdfT05fQVJSQVkiPlVTRUxFU1NfU1RSSU5HOiBJbnZvY2F0aW9uIG9mIHRvU3RyaW5nIG9uIGFuIGFycmF5IChETUlfSU5WT0tJTkdfVE9TVFJJTkdfT05fQVJSQVkpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgY29kZSBpbnZva2VzIHRvU3RyaW5nIG9uIGFuIGFycmF5LCB3aGljaCB3aWxsIGdlbmVyYXRlIGEgZmFpcmx5IHVzZWxlc3MgcmVzdWx0Ci1zdWNoIGFzIFtDQDE2ZjA0NzIuIENvbnNpZGVyIHVzaW5nIEFycmF5cy50b1N0cmluZyB0byBjb252ZXJ0IHRoZSBhcnJheSBpbnRvIGEgcmVhZGFibGUKLVN0cmluZyB0aGF0IGdpdmVzIHRoZSBjb250ZW50cyBvZiB0aGUgYXJyYXkuIFNlZSBQcm9ncmFtbWluZyBQdXp6bGVycywgY2hhcHRlciAzLCBwdXp6bGUgMTIuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJWQV9GT1JNQVRfU1RSSU5HX0JBRF9DT05WRVJTSU9OX0ZST01fQVJSQVkiPlVTRUxFU1NfU1RSSU5HOiBBcnJheSBmb3JtYXR0ZWQgaW4gdXNlbGVzcyB3YXkgdXNpbmcgZm9ybWF0IHN0cmluZyAoVkFfRk9STUFUX1NUUklOR19CQURfQ09OVkVSU0lPTl9GUk9NX0FSUkFZKTwvYT48L2gzPgotCi0KLTxwPgotT25lIG9mIHRoZSBhcmd1bWVudHMgYmVpbmcgZm9ybWF0dGVkIHdpdGggYSBmb3JtYXQgc3RyaW5nIGlzIGFuIGFycmF5LiBUaGlzIHdpbGwgYmUgZm9ybWF0dGVkCi11c2luZyBhIGZhaXJseSB1c2VsZXNzIGZvcm1hdCwgc3VjaCBhcyBbSUAzMDQyODIsIHdoaWNoIGRvZXNuJ3QgYWN0dWFsbHkgc2hvdyB0aGUgY29udGVudHMKLW9mIHRoZSBhcnJheS4KLUNvbnNpZGVyIHdyYXBwaW5nIHRoZSBhcnJheSB1c2luZyA8Y29kZT5BcnJheXMuYXNMaXN0KC4uLik8L2NvZGU+IGJlZm9yZSBoYW5kbGluZyBpdCBvZmYgdG8gYSBmb3JtYXR0ZWQuCi08L3A+Ci0KLSAgICAgCi08aDM+PGEgbmFtZT0iVVdGX05VTExfRklFTEQiPlV3RjogRmllbGQgb25seSBldmVyIHNldCB0byBudWxsIChVV0ZfTlVMTF9GSUVMRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBBbGwgd3JpdGVzIHRvIHRoaXMgZmllbGQgYXJlIG9mIHRoZSBjb25zdGFudCB2YWx1ZSBudWxsLCBhbmQgdGh1cwotYWxsIHJlYWRzIG9mIHRoZSBmaWVsZCB3aWxsIHJldHVybiBudWxsLgotQ2hlY2sgZm9yIGVycm9ycywgb3IgcmVtb3ZlIGl0IGlmIGl0IGlzIHVzZWxlc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVVdGX1VOV1JJVFRFTl9GSUVMRCI+VXdGOiBVbndyaXR0ZW4gZmllbGQgKFVXRl9VTldSSVRURU5fRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBmaWVsZCBpcyBuZXZlciB3cml0dGVuLiZuYnNwOyBBbGwgcmVhZHMgb2YgaXQgd2lsbCByZXR1cm4gdGhlIGRlZmF1bHQKLXZhbHVlLiBDaGVjayBmb3IgZXJyb3JzIChzaG91bGQgaXQgaGF2ZSBiZWVuIGluaXRpYWxpemVkPyksIG9yIHJlbW92ZSBpdCBpZiBpdCBpcyB1c2VsZXNzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlZBX1BSSU1JVElWRV9BUlJBWV9QQVNTRURfVE9fT0JKRUNUX1ZBUkFSRyI+VkE6IFByaW1pdGl2ZSBhcnJheSBwYXNzZWQgdG8gZnVuY3Rpb24gZXhwZWN0aW5nIGEgdmFyaWFibGUgbnVtYmVyIG9mIG9iamVjdCBhcmd1bWVudHMgKFZBX1BSSU1JVElWRV9BUlJBWV9QQVNTRURfVE9fT0JKRUNUX1ZBUkFSRyk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBwYXNzZXMgYSBwcmltaXRpdmUgYXJyYXkgdG8gYSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgdmFyaWFibGUgbnVtYmVyIG9mIG9iamVjdCBhcmd1bWVudHMuCi1UaGlzIGNyZWF0ZXMgYW4gYXJyYXkgb2YgbGVuZ3RoIG9uZSB0byBob2xkIHRoZSBwcmltaXRpdmUgYXJyYXkgYW5kIHBhc3NlcyBpdCB0byB0aGUgZnVuY3Rpb24uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJWUl9VTlJFU09MVkFCTEVfUkVGRVJFTkNFIj5WUjogQ2xhc3MgbWFrZXMgcmVmZXJlbmNlIHRvIHVucmVzb2x2YWJsZSBjbGFzcyBvciBtZXRob2QgKFZSX1VOUkVTT0xWQUJMRV9SRUZFUkVOQ0UpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIGNsYXNzIG1ha2VzIGEgcmVmZXJlbmNlIHRvIGEgY2xhc3Mgb3IgbWV0aG9kIHRoYXQgY2FuIG5vdCBiZQotICAgIHJlc29sdmVkIHVzaW5nIGFnYWluc3QgdGhlIGxpYnJhcmllcyBpdCBpcyBiZWluZyBhbmFseXplZCB3aXRoLgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iTEdfTE9TVF9MT0dHRVJfRFVFX1RPX1dFQUtfUkVGRVJFTkNFIj5MRzogUG90ZW50aWFsIGxvc3QgbG9nZ2VyIGNoYW5nZXMgZHVlIHRvIHdlYWsgcmVmZXJlbmNlIGluIE9wZW5KREsgKExHX0xPU1RfTE9HR0VSX0RVRV9UT19XRUFLX1JFRkVSRU5DRSk8L2E+PC9oMz4KLQotICAgICAgICAgIAotPHA+T3BlbkpESyBpbnRyb2R1Y2VzIGEgcG90ZW50aWFsIGluY29tcGF0aWJpbGl0eS4KLSBJbiBwYXJ0aWN1bGFyLCB0aGUgamF2YS51dGlsLmxvZ2dpbmcuTG9nZ2VyIGJlaGF2aW9yIGhhcwotICBjaGFuZ2VkLiBJbnN0ZWFkIG9mIHVzaW5nIHN0cm9uZyByZWZlcmVuY2VzLCBpdCBub3cgdXNlcyB3ZWFrIHJlZmVyZW5jZXMKLSAgaW50ZXJuYWxseS4gVGhhdCdzIGEgcmVhc29uYWJsZSBjaGFuZ2UsIGJ1dCB1bmZvcnR1bmF0ZWx5IHNvbWUgY29kZSByZWxpZXMgb24KLSAgdGhlIG9sZCBiZWhhdmlvciAtIHdoZW4gY2hhbmdpbmcgbG9nZ2VyIGNvbmZpZ3VyYXRpb24sIGl0IHNpbXBseSBkcm9wcyB0aGUKLSAgbG9nZ2VyIHJlZmVyZW5jZS4gVGhhdCBtZWFucyB0aGF0IHRoZSBnYXJiYWdlIGNvbGxlY3RvciBpcyBmcmVlIHRvIHJlY2xhaW0KLSAgdGhhdCBtZW1vcnksIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGxvZ2dlciBjb25maWd1cmF0aW9uIGlzIGxvc3QuIEZvciBleGFtcGxlLAotY29uc2lkZXI6Ci08L3A+Ci0KLTxwcmU+cHVibGljIHN0YXRpYyB2b2lkIGluaXRMb2dnaW5nKCkgdGhyb3dzIEV4Y2VwdGlvbiB7Ci0gTG9nZ2VyIGxvZ2dlciA9IExvZ2dlci5nZXRMb2dnZXIoImVkdS51bWQuY3MiKTsKLSBsb2dnZXIuYWRkSGFuZGxlcihuZXcgRmlsZUhhbmRsZXIoKSk7IC8vIGNhbGwgdG8gY2hhbmdlIGxvZ2dlciBjb25maWd1cmF0aW9uCi0gbG9nZ2VyLnNldFVzZVBhcmVudEhhbmRsZXJzKGZhbHNlKTsgLy8gYW5vdGhlciBjYWxsIHRvIGNoYW5nZSBsb2dnZXIgY29uZmlndXJhdGlvbgotfTwvcHJlPgotCi08cD5UaGUgbG9nZ2VyIHJlZmVyZW5jZSBpcyBsb3N0IGF0IHRoZSBlbmQgb2YgdGhlIG1ldGhvZCAoaXQgZG9lc24ndAotZXNjYXBlIHRoZSBtZXRob2QpLCBzbyBpZiB5b3UgaGF2ZSBhIGdhcmJhZ2UgY29sbGVjdGlvbiBjeWNsZSBqdXN0Ci1hZnRlciB0aGUgY2FsbCB0byBpbml0TG9nZ2luZywgdGhlIGxvZ2dlciBjb25maWd1cmF0aW9uIGlzIGxvc3QKLShiZWNhdXNlIExvZ2dlciBvbmx5IGtlZXBzIHdlYWsgcmVmZXJlbmNlcykuPC9wPgotCi08cHJlPnB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24gewotIGluaXRMb2dnaW5nKCk7IC8vIGFkZHMgYSBmaWxlIGhhbmRsZXIgdG8gdGhlIGxvZ2dlcgotIFN5c3RlbS5nYygpOyAvLyBsb2dnZXIgY29uZmlndXJhdGlvbiBsb3N0Ci0gTG9nZ2VyLmdldExvZ2dlcigiZWR1LnVtZC5jcyIpLmluZm8oIlNvbWUgbWVzc2FnZSIpOyAvLyB0aGlzIGlzbid0IGxvZ2dlZCB0byB0aGUgZmlsZSBhcyBleHBlY3RlZAotfTwvcHJlPgotPHA+PGVtPlVsZiBPY2hzZW5mYWhydCBhbmQgRXJpYyBGZWxsaGVpbWVyPC9lbT48L3A+Ci0gICAgICAgICAgCi0gICAgICAKLTxoMz48YSBuYW1lPSJPQkxfVU5TQVRJU0ZJRURfT0JMSUdBVElPTiI+T0JMOiBNZXRob2QgbWF5IGZhaWwgdG8gY2xlYW4gdXAgc3RyZWFtIG9yIHJlc291cmNlIChPQkxfVU5TQVRJU0ZJRURfT0JMSUdBVElPTik8L2E+PC9oMz4KLQotICAgICAgICAgIAotICAgICAgICAgIDxwPgotICAgICAgICAgIFRoaXMgbWV0aG9kIG1heSBmYWlsIHRvIGNsZWFuIHVwIChjbG9zZSwgZGlzcG9zZSBvZikgYSBzdHJlYW0sCi0gICAgICAgICAgZGF0YWJhc2Ugb2JqZWN0LCBvciBvdGhlcgotICAgICAgICAgIHJlc291cmNlIHJlcXVpcmluZyBhbiBleHBsaWNpdCBjbGVhbnVwIG9wZXJhdGlvbi4KLSAgICAgICAgICA8L3A+Ci0KLSAgICAgICAgICA8cD4KLSAgICAgICAgICBJbiBnZW5lcmFsLCBpZiBhIG1ldGhvZCBvcGVucyBhIHN0cmVhbSBvciBvdGhlciByZXNvdXJjZSwKLSAgICAgICAgICB0aGUgbWV0aG9kIHNob3VsZCB1c2UgYSB0cnkvZmluYWxseSBibG9jayB0byBlbnN1cmUgdGhhdAotICAgICAgICAgIHRoZSBzdHJlYW0gb3IgcmVzb3VyY2UgaXMgY2xlYW5lZCB1cCBiZWZvcmUgdGhlIG1ldGhvZAotICAgICAgICAgIHJldHVybnMuCi0gICAgICAgICAgPC9wPgotCi0gICAgICAgICAgPHA+Ci0gICAgICAgICAgVGhpcyBidWcgcGF0dGVybiBpcyBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyB0aGUKLSAgICAgICAgICBPU19PUEVOX1NUUkVBTSBhbmQgT0RSX09QRU5fREFUQUJBU0VfUkVTT1VSQ0UKLSAgICAgICAgICBidWcgcGF0dGVybnMsIGJ1dCBpcyBiYXNlZCBvbiBhIGRpZmZlcmVudAotICAgICAgICAgIChhbmQgaG9wZWZ1bGx5IGJldHRlcikgc3RhdGljIGFuYWx5c2lzIHRlY2huaXF1ZS4KLSAgICAgICAgICBXZSBhcmUgaW50ZXJlc3RlZCBpcyBnZXR0aW5nIGZlZWRiYWNrIGFib3V0IHRoZQotICAgICAgICAgIHVzZWZ1bG5lc3Mgb2YgdGhpcyBidWcgcGF0dGVybi4KLSAgICAgICAgICBUbyBzZW5kIGZlZWRiYWNrLCBlaXRoZXI6Ci0gICAgICAgICAgPC9wPgotICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgIDxsaT5zZW5kIGVtYWlsIHRvIGZpbmRidWdzQGNzLnVtZC5lZHU8L2xpPgotICAgICAgICAgICAgPGxpPmZpbGUgYSBidWcgcmVwb3J0OiA8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L3JlcG9ydGluZ0J1Z3MuaHRtbCI+aHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9yZXBvcnRpbmdCdWdzLmh0bWw8L2E+PC9saT4KLSAgICAgICAgICA8L3VsPgotCi0gICAgICAgICAgPHA+Ci0gICAgICAgICAgSW4gcGFydGljdWxhciwKLSAgICAgICAgICB0aGUgZmFsc2UtcG9zaXRpdmUgc3VwcHJlc3Npb24gaGV1cmlzdGljcyBmb3IgdGhpcwotICAgICAgICAgIGJ1ZyBwYXR0ZXJuIGhhdmUgbm90IGJlZW4gZXh0ZW5zaXZlbHkgdHVuZWQsIHNvCi0gICAgICAgICAgcmVwb3J0cyBhYm91dCBmYWxzZSBwb3NpdGl2ZXMgYXJlIGhlbHBmdWwgdG8gdXMuCi0gICAgICAgICAgPC9wPgotCi0gICAgICAgICAgPHA+Ci0gICAgICAgICAgU2VlIFdlaW1lciBhbmQgTmVjdWxhLCA8aT5GaW5kaW5nIGFuZCBQcmV2ZW50aW5nIFJ1bi1UaW1lIEVycm9yIEhhbmRsaW5nIE1pc3Rha2VzPC9pPiwgZm9yCi0gICAgICAgICAgYSBkZXNjcmlwdGlvbiBvZiB0aGUgYW5hbHlzaXMgdGVjaG5pcXVlLgotICAgICAgICAgIDwvcD4KLSAgICAgICAgICAKLSAgICAgIAotPGgzPjxhIG5hbWU9Ik9CTF9VTlNBVElTRklFRF9PQkxJR0FUSU9OX0VYQ0VQVElPTl9FREdFIj5PQkw6IE1ldGhvZCBtYXkgZmFpbCB0byBjbGVhbiB1cCBzdHJlYW0gb3IgcmVzb3VyY2Ugb24gY2hlY2tlZCBleGNlcHRpb24gKE9CTF9VTlNBVElTRklFRF9PQkxJR0FUSU9OX0VYQ0VQVElPTl9FREdFKTwvYT48L2gzPgotCi0gICAgICAgICAgCi0gICAgICAgICAgPHA+Ci0gICAgICAgICAgVGhpcyBtZXRob2QgbWF5IGZhaWwgdG8gY2xlYW4gdXAgKGNsb3NlLCBkaXNwb3NlIG9mKSBhIHN0cmVhbSwKLSAgICAgICAgICBkYXRhYmFzZSBvYmplY3QsIG9yIG90aGVyCi0gICAgICAgICAgcmVzb3VyY2UgcmVxdWlyaW5nIGFuIGV4cGxpY2l0IGNsZWFudXAgb3BlcmF0aW9uLgotICAgICAgICAgIDwvcD4KLQotICAgICAgICAgIDxwPgotICAgICAgICAgIEluIGdlbmVyYWwsIGlmIGEgbWV0aG9kIG9wZW5zIGEgc3RyZWFtIG9yIG90aGVyIHJlc291cmNlLAotICAgICAgICAgIHRoZSBtZXRob2Qgc2hvdWxkIHVzZSBhIHRyeS9maW5hbGx5IGJsb2NrIHRvIGVuc3VyZSB0aGF0Ci0gICAgICAgICAgdGhlIHN0cmVhbSBvciByZXNvdXJjZSBpcyBjbGVhbmVkIHVwIGJlZm9yZSB0aGUgbWV0aG9kCi0gICAgICAgICAgcmV0dXJucy4KLSAgICAgICAgICA8L3A+Ci0KLSAgICAgICAgICA8cD4KLSAgICAgICAgICBUaGlzIGJ1ZyBwYXR0ZXJuIGlzIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZQotICAgICAgICAgIE9TX09QRU5fU1RSRUFNIGFuZCBPRFJfT1BFTl9EQVRBQkFTRV9SRVNPVVJDRQotICAgICAgICAgIGJ1ZyBwYXR0ZXJucywgYnV0IGlzIGJhc2VkIG9uIGEgZGlmZmVyZW50Ci0gICAgICAgICAgKGFuZCBob3BlZnVsbHkgYmV0dGVyKSBzdGF0aWMgYW5hbHlzaXMgdGVjaG5pcXVlLgotICAgICAgICAgIFdlIGFyZSBpbnRlcmVzdGVkIGlzIGdldHRpbmcgZmVlZGJhY2sgYWJvdXQgdGhlCi0gICAgICAgICAgdXNlZnVsbmVzcyBvZiB0aGlzIGJ1ZyBwYXR0ZXJuLgotICAgICAgICAgIFRvIHNlbmQgZmVlZGJhY2ssIGVpdGhlcjoKLSAgICAgICAgICA8L3A+Ci0gICAgICAgICAgPHVsPgotICAgICAgICAgICAgPGxpPnNlbmQgZW1haWwgdG8gZmluZGJ1Z3NAY3MudW1kLmVkdTwvbGk+Ci0gICAgICAgICAgICA8bGk+ZmlsZSBhIGJ1ZyByZXBvcnQ6IDxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvcmVwb3J0aW5nQnVncy5odG1sIj5odHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L3JlcG9ydGluZ0J1Z3MuaHRtbDwvYT48L2xpPgotICAgICAgICAgIDwvdWw+Ci0KLSAgICAgICAgICA8cD4KLSAgICAgICAgICBJbiBwYXJ0aWN1bGFyLAotICAgICAgICAgIHRoZSBmYWxzZS1wb3NpdGl2ZSBzdXBwcmVzc2lvbiBoZXVyaXN0aWNzIGZvciB0aGlzCi0gICAgICAgICAgYnVnIHBhdHRlcm4gaGF2ZSBub3QgYmVlbiBleHRlbnNpdmVseSB0dW5lZCwgc28KLSAgICAgICAgICByZXBvcnRzIGFib3V0IGZhbHNlIHBvc2l0aXZlcyBhcmUgaGVscGZ1bCB0byB1cy4KLSAgICAgICAgICA8L3A+Ci0KLSAgICAgICAgICA8cD4KLSAgICAgICAgICBTZWUgV2VpbWVyIGFuZCBOZWN1bGEsIDxpPkZpbmRpbmcgYW5kIFByZXZlbnRpbmcgUnVuLVRpbWUgRXJyb3IgSGFuZGxpbmcgTWlzdGFrZXM8L2k+LCBmb3IKLSAgICAgICAgICBhIGRlc2NyaXB0aW9uIG9mIHRoZSBhbmFseXNpcyB0ZWNobmlxdWUuCi0gICAgICAgICAgPC9wPgotICAgICAgICAgIAotICAgICAgCi08aDM+PGEgbmFtZT0iVEVTVElORyI+VEVTVDogVGVzdGluZyAoVEVTVElORyk8L2E+PC9oMz4KLQotCi08cD5UaGlzIGJ1ZyBwYXR0ZXJuIGlzIG9ubHkgZ2VuZXJhdGVkIGJ5IG5ldywgaW5jb21wbGV0ZWx5IGltcGxlbWVudGVkCi1idWcgZGV0ZWN0b3JzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX0NPTlZFUlRfQ0FTRSI+RG06IENvbnNpZGVyIHVzaW5nIExvY2FsZSBwYXJhbWV0ZXJpemVkIHZlcnNpb24gb2YgaW52b2tlZCBtZXRob2QgKERNX0NPTlZFUlRfQ0FTRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBBIFN0cmluZyBpcyBiZWluZyBjb252ZXJ0ZWQgdG8gdXBwZXIgb3IgbG93ZXJjYXNlLCB1c2luZyB0aGUgcGxhdGZvcm0ncyBkZWZhdWx0IGVuY29kaW5nLiBUaGlzIG1heQotICAgICAgcmVzdWx0IGluIGltcHJvcGVyIGNvbnZlcnNpb25zIHdoZW4gdXNlZCB3aXRoIGludGVybmF0aW9uYWwgY2hhcmFjdGVycy4gVXNlIHRoZSA8L3A+Ci0gICAgICA8dWw+Ci0gICAgPGxpPlN0cmluZy50b1VwcGVyQ2FzZSggTG9jYWxlIGwgKTwvbGk+Ci0gICAgPGxpPlN0cmluZy50b0xvd2VyQ2FzZSggTG9jYWxlIGwgKTwvbGk+Ci0gICAgPC91bD4KLSAgICAgIDxwPnZlcnNpb25zIGluc3RlYWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fREVGQVVMVF9FTkNPRElORyI+RG06IFJlbGlhbmNlIG9uIGRlZmF1bHQgZW5jb2RpbmcgKERNX0RFRkFVTFRfRU5DT0RJTkcpPC9hPjwvaDM+Ci0KLQotPHA+IEZvdW5kIGEgY2FsbCB0byBhIG1ldGhvZCB3aGljaCB3aWxsIHBlcmZvcm0gYSBieXRlIHRvIFN0cmluZyAob3IgU3RyaW5nIHRvIGJ5dGUpIGNvbnZlcnNpb24sIGFuZCB3aWxsIGFzc3VtZSB0aGF0IHRoZSBkZWZhdWx0IHBsYXRmb3JtIGVuY29kaW5nIGlzIHN1aXRhYmxlLiBUaGlzIHdpbGwgY2F1c2UgdGhlIGFwcGxpY2F0aW9uIGJlaGF2aW91ciB0byB2YXJ5IGJldHdlZW4gcGxhdGZvcm1zLiBVc2UgYW4gYWx0ZXJuYXRpdmUgQVBJIGFuZCBzcGVjaWZ5IGEgY2hhcnNldCBuYW1lIG9yIENoYXJzZXQgb2JqZWN0IGV4cGxpY2l0bHkuICA8L3A+Ci0KLSAgICAgIAotPGgzPjxhIG5hbWU9IkRQX0NSRUFURV9DTEFTU0xPQURFUl9JTlNJREVfRE9fUFJJVklMRUdFRCI+RFA6IENsYXNzbG9hZGVycyBzaG91bGQgb25seSBiZSBjcmVhdGVkIGluc2lkZSBkb1ByaXZpbGVnZWQgYmxvY2sgKERQX0NSRUFURV9DTEFTU0xPQURFUl9JTlNJREVfRE9fUFJJVklMRUdFRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNvZGUgY3JlYXRlcyBhIGNsYXNzbG9hZGVyLCAgd2hpY2ggbmVlZHMgcGVybWlzc2lvbiBpZiBhIHNlY3VyaXR5IG1hbmFnZSBpcyBpbnN0YWxsZWQuCi0gIElmIHRoaXMgY29kZSBtaWdodCBiZSBpbnZva2VkIGJ5IGNvZGUgdGhhdCBkb2VzIG5vdAotICBoYXZlIHNlY3VyaXR5IHBlcm1pc3Npb25zLCB0aGVuIHRoZSBjbGFzc2xvYWRlciBjcmVhdGlvbiBuZWVkcyB0byBvY2N1ciBpbnNpZGUgYSBkb1ByaXZpbGVnZWQgYmxvY2suPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRFBfRE9fSU5TSURFX0RPX1BSSVZJTEVHRUQiPkRQOiBNZXRob2QgaW52b2tlZCB0aGF0IHNob3VsZCBiZSBvbmx5IGJlIGludm9rZWQgaW5zaWRlIGEgZG9Qcml2aWxlZ2VkIGJsb2NrIChEUF9ET19JTlNJREVfRE9fUFJJVklMRUdFRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNvZGUgaW52b2tlcyBhIG1ldGhvZCB0aGF0IHJlcXVpcmVzIGEgc2VjdXJpdHkgcGVybWlzc2lvbiBjaGVjay4KLSAgSWYgdGhpcyBjb2RlIHdpbGwgYmUgZ3JhbnRlZCBzZWN1cml0eSBwZXJtaXNzaW9ucywgYnV0IG1pZ2h0IGJlIGludm9rZWQgYnkgY29kZSB0aGF0IGRvZXMgbm90Ci0gIGhhdmUgc2VjdXJpdHkgcGVybWlzc2lvbnMsIHRoZW4gdGhlIGludm9jYXRpb24gbmVlZHMgdG8gb2NjdXIgaW5zaWRlIGEgZG9Qcml2aWxlZ2VkIGJsb2NrLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVJX0VYUE9TRV9SRVAiPkVJOiBNYXkgZXhwb3NlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGJ5IHJldHVybmluZyByZWZlcmVuY2UgdG8gbXV0YWJsZSBvYmplY3QgKEVJX0VYUE9TRV9SRVApPC9hPjwvaDM+Ci0KLQotICA8cD4gUmV0dXJuaW5nIGEgcmVmZXJlbmNlIHRvIGEgbXV0YWJsZSBvYmplY3QgdmFsdWUgc3RvcmVkIGluIG9uZSBvZiB0aGUgb2JqZWN0J3MgZmllbGRzCi0gIGV4cG9zZXMgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuJm5ic3A7Ci0gICBJZiBpbnN0YW5jZXMKLSAgIGFyZSBhY2Nlc3NlZCBieSB1bnRydXN0ZWQgY29kZSwgYW5kIHVuY2hlY2tlZCBjaGFuZ2VzIHRvCi0gICB0aGUgbXV0YWJsZSBvYmplY3Qgd291bGQgY29tcHJvbWlzZSBzZWN1cml0eSBvciBvdGhlcgotICAgaW1wb3J0YW50IHByb3BlcnRpZXMsIHlvdSB3aWxsIG5lZWQgdG8gZG8gc29tZXRoaW5nIGRpZmZlcmVudC4KLSAgUmV0dXJuaW5nIGEgbmV3IGNvcHkgb2YgdGhlIG9iamVjdCBpcyBiZXR0ZXIgYXBwcm9hY2ggaW4gbWFueSBzaXR1YXRpb25zLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVJX0VYUE9TRV9SRVAyIj5FSTI6IE1heSBleHBvc2UgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gYnkgaW5jb3Jwb3JhdGluZyByZWZlcmVuY2UgdG8gbXV0YWJsZSBvYmplY3QgKEVJX0VYUE9TRV9SRVAyKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY29kZSBzdG9yZXMgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWxseSBtdXRhYmxlIG9iamVjdCBpbnRvIHRoZQotICBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgb2JqZWN0LiZuYnNwOwotICAgSWYgaW5zdGFuY2VzCi0gICBhcmUgYWNjZXNzZWQgYnkgdW50cnVzdGVkIGNvZGUsIGFuZCB1bmNoZWNrZWQgY2hhbmdlcyB0bwotICAgdGhlIG11dGFibGUgb2JqZWN0IHdvdWxkIGNvbXByb21pc2Ugc2VjdXJpdHkgb3Igb3RoZXIKLSAgIGltcG9ydGFudCBwcm9wZXJ0aWVzLCB5b3Ugd2lsbCBuZWVkIHRvIGRvIHNvbWV0aGluZyBkaWZmZXJlbnQuCi0gIFN0b3JpbmcgYSBjb3B5IG9mIHRoZSBvYmplY3QgaXMgYmV0dGVyIGFwcHJvYWNoIGluIG1hbnkgc2l0dWF0aW9ucy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJGSV9QVUJMSUNfU0hPVUxEX0JFX1BST1RFQ1RFRCI+Rkk6IEZpbmFsaXplciBzaG91bGQgYmUgcHJvdGVjdGVkLCBub3QgcHVibGljIChGSV9QVUJMSUNfU0hPVUxEX0JFX1BST1RFQ1RFRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBBIGNsYXNzJ3MgPGNvZGU+ZmluYWxpemUoKTwvY29kZT4gbWV0aG9kIHNob3VsZCBoYXZlIHByb3RlY3RlZCBhY2Nlc3MsCi0gICBub3QgcHVibGljLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVJX0VYUE9TRV9TVEFUSUNfUkVQMiI+TVM6IE1heSBleHBvc2UgaW50ZXJuYWwgc3RhdGljIHN0YXRlIGJ5IHN0b3JpbmcgYSBtdXRhYmxlIG9iamVjdCBpbnRvIGEgc3RhdGljIGZpZWxkIChFSV9FWFBPU0VfU1RBVElDX1JFUDIpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjb2RlIHN0b3JlcyBhIHJlZmVyZW5jZSB0byBhbiBleHRlcm5hbGx5IG11dGFibGUgb2JqZWN0IGludG8gYSBzdGF0aWMKLSAgIGZpZWxkLgotICAgSWYgdW5jaGVja2VkIGNoYW5nZXMgdG8KLSAgIHRoZSBtdXRhYmxlIG9iamVjdCB3b3VsZCBjb21wcm9taXNlIHNlY3VyaXR5IG9yIG90aGVyCi0gICBpbXBvcnRhbnQgcHJvcGVydGllcywgeW91IHdpbGwgbmVlZCB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50LgotICBTdG9yaW5nIGEgY29weSBvZiB0aGUgb2JqZWN0IGlzIGJldHRlciBhcHByb2FjaCBpbiBtYW55IHNpdHVhdGlvbnMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVNfQ0FOTk9UX0JFX0ZJTkFMIj5NUzogRmllbGQgaXNuJ3QgZmluYWwgYW5kIGNhbid0IGJlIHByb3RlY3RlZCBmcm9tIG1hbGljaW91cyBjb2RlIChNU19DQU5OT1RfQkVfRklOQUwpPC9hPjwvaDM+Ci0KLQotICA8cD4KLSBBIG11dGFibGUgc3RhdGljIGZpZWxkIGNvdWxkIGJlIGNoYW5nZWQgYnkgbWFsaWNpb3VzIGNvZGUgb3IKLSAgICAgICAgYnkgYWNjaWRlbnQgZnJvbSBhbm90aGVyIHBhY2thZ2UuCi0gICBVbmZvcnR1bmF0ZWx5LCB0aGUgd2F5IHRoZSBmaWVsZCBpcyB1c2VkIGRvZXNuJ3QgYWxsb3cKLSAgIGFueSBlYXN5IGZpeCB0byB0aGlzIHByb2JsZW0uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVNfRVhQT1NFX1JFUCI+TVM6IFB1YmxpYyBzdGF0aWMgbWV0aG9kIG1heSBleHBvc2UgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gYnkgcmV0dXJuaW5nIGFycmF5IChNU19FWFBPU0VfUkVQKTwvYT48L2gzPgotCi0KLSAgPHA+IEEgcHVibGljIHN0YXRpYyBtZXRob2QgcmV0dXJucyBhIHJlZmVyZW5jZSB0bwotICAgYW4gYXJyYXkgdGhhdCBpcyBwYXJ0IG9mIHRoZSBzdGF0aWMgc3RhdGUgb2YgdGhlIGNsYXNzLgotICAgQW55IGNvZGUgdGhhdCBjYWxscyB0aGlzIG1ldGhvZCBjYW4gZnJlZWx5IG1vZGlmeQotICAgdGhlIHVuZGVybHlpbmcgYXJyYXkuCi0gICBPbmUgZml4IGlzIHRvIHJldHVybiBhIGNvcHkgb2YgdGhlIGFycmF5LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1TX0ZJTkFMX1BLR1BST1RFQ1QiPk1TOiBGaWVsZCBzaG91bGQgYmUgYm90aCBmaW5hbCBhbmQgcGFja2FnZSBwcm90ZWN0ZWQgKE1TX0ZJTkFMX1BLR1BST1RFQ1QpPC9hPjwvaDM+Ci0KLQotIDxwPgotICAgQSBtdXRhYmxlIHN0YXRpYyBmaWVsZCBjb3VsZCBiZSBjaGFuZ2VkIGJ5IG1hbGljaW91cyBjb2RlIG9yCi0gICAgICAgIGJ5IGFjY2lkZW50IGZyb20gYW5vdGhlciBwYWNrYWdlLgotICAgICAgICBUaGUgZmllbGQgY291bGQgYmUgbWFkZSBwYWNrYWdlIHByb3RlY3RlZCBhbmQvb3IgbWFkZSBmaW5hbAotICAgdG8gYXZvaWQKLSAgICAgICAgdGhpcyB2dWxuZXJhYmlsaXR5LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1TX01VVEFCTEVfQVJSQVkiPk1TOiBGaWVsZCBpcyBhIG11dGFibGUgYXJyYXkgKE1TX01VVEFCTEVfQVJSQVkpPC9hPjwvaDM+Ci0KLQotPHA+IEEgZmluYWwgc3RhdGljIGZpZWxkIHJlZmVyZW5jZXMgYW4gYXJyYXkKLSAgIGFuZCBjYW4gYmUgYWNjZXNzZWQgYnkgbWFsaWNpb3VzIGNvZGUgb3IKLSAgICAgICAgYnkgYWNjaWRlbnQgZnJvbSBhbm90aGVyIHBhY2thZ2UuCi0gICBUaGlzIGNvZGUgY2FuIGZyZWVseSBtb2RpZnkgdGhlIGNvbnRlbnRzIG9mIHRoZSBhcnJheS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJNU19NVVRBQkxFX0hBU0hUQUJMRSI+TVM6IEZpZWxkIGlzIGEgbXV0YWJsZSBIYXNodGFibGUgKE1TX01VVEFCTEVfSEFTSFRBQkxFKTwvYT48L2gzPgotCi0KLSA8cD5BIGZpbmFsIHN0YXRpYyBmaWVsZCByZWZlcmVuY2VzIGEgSGFzaHRhYmxlCi0gICBhbmQgY2FuIGJlIGFjY2Vzc2VkIGJ5IG1hbGljaW91cyBjb2RlIG9yCi0gICAgICAgIGJ5IGFjY2lkZW50IGZyb20gYW5vdGhlciBwYWNrYWdlLgotICAgVGhpcyBjb2RlIGNhbiBmcmVlbHkgbW9kaWZ5IHRoZSBjb250ZW50cyBvZiB0aGUgSGFzaHRhYmxlLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1TX09PSV9QS0dQUk9URUNUIj5NUzogRmllbGQgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiBhbiBpbnRlcmZhY2UgYW5kIG1hZGUgcGFja2FnZSBwcm90ZWN0ZWQgKE1TX09PSV9QS0dQUk9URUNUKTwvYT48L2gzPgotCi0KLTxwPgotIEEgZmluYWwgc3RhdGljIGZpZWxkIHRoYXQgaXMKLWRlZmluZWQgaW4gYW4gaW50ZXJmYWNlIHJlZmVyZW5jZXMgYSBtdXRhYmxlCi0gICBvYmplY3Qgc3VjaCBhcyBhbiBhcnJheSBvciBoYXNodGFibGUuCi0gICBUaGlzIG11dGFibGUgb2JqZWN0IGNvdWxkCi0gICBiZSBjaGFuZ2VkIGJ5IG1hbGljaW91cyBjb2RlIG9yCi0gICAgICAgIGJ5IGFjY2lkZW50IGZyb20gYW5vdGhlciBwYWNrYWdlLgotICAgVG8gc29sdmUgdGhpcywgdGhlIGZpZWxkIG5lZWRzIHRvIGJlIG1vdmVkIHRvIGEgY2xhc3MKLSAgIGFuZCBtYWRlIHBhY2thZ2UgcHJvdGVjdGVkCi0gICB0byBhdm9pZAotICAgICAgICB0aGlzIHZ1bG5lcmFiaWxpdHkuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVNfUEtHUFJPVEVDVCI+TVM6IEZpZWxkIHNob3VsZCBiZSBwYWNrYWdlIHByb3RlY3RlZCAoTVNfUEtHUFJPVEVDVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBBIG11dGFibGUgc3RhdGljIGZpZWxkIGNvdWxkIGJlIGNoYW5nZWQgYnkgbWFsaWNpb3VzIGNvZGUgb3IKLSAgIGJ5IGFjY2lkZW50LgotICAgVGhlIGZpZWxkIGNvdWxkIGJlIG1hZGUgcGFja2FnZSBwcm90ZWN0ZWQgdG8gYXZvaWQKLSAgIHRoaXMgdnVsbmVyYWJpbGl0eS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJNU19TSE9VTERfQkVfRklOQUwiPk1TOiBGaWVsZCBpc24ndCBmaW5hbCBidXQgc2hvdWxkIGJlIChNU19TSE9VTERfQkVfRklOQUwpPC9hPjwvaDM+Ci0KLQotICAgPHA+Ci1UaGlzIHN0YXRpYyBmaWVsZCBwdWJsaWMgYnV0IG5vdCBmaW5hbCwgYW5kCi1jb3VsZCBiZSBjaGFuZ2VkIGJ5IG1hbGljaW91cyBjb2RlIG9yCi0gICAgICAgIGJ5IGFjY2lkZW50IGZyb20gYW5vdGhlciBwYWNrYWdlLgotICAgICAgICBUaGUgZmllbGQgY291bGQgYmUgbWFkZSBmaW5hbCB0byBhdm9pZAotICAgICAgICB0aGlzIHZ1bG5lcmFiaWxpdHkuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVNfU0hPVUxEX0JFX1JFRkFDVE9SRURfVE9fQkVfRklOQUwiPk1TOiBGaWVsZCBpc24ndCBmaW5hbCBidXQgc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gYmUgc28gKE1TX1NIT1VMRF9CRV9SRUZBQ1RPUkVEX1RPX0JFX0ZJTkFMKTwvYT48L2gzPgotCi0KLSAgIDxwPgotVGhpcyBzdGF0aWMgZmllbGQgcHVibGljIGJ1dCBub3QgZmluYWwsIGFuZAotY291bGQgYmUgY2hhbmdlZCBieSBtYWxpY2lvdXMgY29kZSBvcgotYnkgYWNjaWRlbnQgZnJvbSBhbm90aGVyIHBhY2thZ2UuCi1UaGUgZmllbGQgY291bGQgYmUgbWFkZSBmaW5hbCB0byBhdm9pZAotdGhpcyB2dWxuZXJhYmlsaXR5LiBIb3dldmVyLCB0aGUgc3RhdGljIGluaXRpYWxpemVyIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgd3JpdGUKLXRvIHRoZSBmaWVsZCwgc28gZG9pbmcgc28gd2lsbCByZXF1aXJlIHNvbWUgcmVmYWN0b3JpbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJBVF9PUEVSQVRJT05fU0VRVUVOQ0VfT05fQ09OQ1VSUkVOVF9BQlNUUkFDVElPTiI+QVQ6IFNlcXVlbmNlIG9mIGNhbGxzIHRvIGNvbmN1cnJlbnQgYWJzdHJhY3Rpb24gbWF5IG5vdCBiZSBhdG9taWMgKEFUX09QRVJBVElPTl9TRVFVRU5DRV9PTl9DT05DVVJSRU5UX0FCU1RSQUNUSU9OKTwvYT48L2gzPgotCi0gICAgICAgICAgCi0gICAgICAgIDxwPlRoaXMgY29kZSBjb250YWlucyBhIHNlcXVlbmNlIG9mIGNhbGxzIHRvIGEgY29uY3VycmVudCAgYWJzdHJhY3Rpb24KLSAgICAgICAgICAgIChzdWNoIGFzIGEgY29uY3VycmVudCBoYXNoIG1hcCkuCi0gICAgICAgICAgICBUaGVzZSBjYWxscyB3aWxsIG5vdCBiZSBleGVjdXRlZCBhdG9taWNhbGx5LgotICAgICAgICAgIAotICAgICAgCi08aDM+PGEgbmFtZT0iRENfRE9VQkxFQ0hFQ0siPkRDOiBQb3NzaWJsZSBkb3VibGUgY2hlY2sgb2YgZmllbGQgKERDX0RPVUJMRUNIRUNLKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIG1heSBjb250YWluIGFuIGluc3RhbmNlIG9mIGRvdWJsZS1jaGVja2VkIGxvY2tpbmcuJm5ic3A7Ci0gIFRoaXMgaWRpb20gaXMgbm90IGNvcnJlY3QgYWNjb3JkaW5nIHRvIHRoZSBzZW1hbnRpY3Mgb2YgdGhlIEphdmEgbWVtb3J5Ci0gIG1vZGVsLiZuYnNwOyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB3ZWIgcGFnZQotICA8YSBocmVmPSJodHRwOi8vd3d3LmNzLnVtZC5lZHUvfnB1Z2gvamF2YS9tZW1vcnlNb2RlbC9Eb3VibGVDaGVja2VkTG9ja2luZy5odG1sIgotICA+aHR0cDovL3d3dy5jcy51bWQuZWR1L35wdWdoL2phdmEvbWVtb3J5TW9kZWwvRG91YmxlQ2hlY2tlZExvY2tpbmcuaHRtbDwvYT4uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExfU1lOQ0hST05JWkFUSU9OX09OX0JPT0xFQU4iPkRMOiBTeW5jaHJvbml6YXRpb24gb24gQm9vbGVhbiAoRExfU1lOQ0hST05JWkFUSU9OX09OX0JPT0xFQU4pPC9hPjwvaDM+Ci0KLSAgICAgIAotICA8cD4gVGhlIGNvZGUgc3luY2hyb25pemVzIG9uIGEgYm94ZWQgcHJpbWl0aXZlIGNvbnN0YW50LCBzdWNoIGFzIGFuIEJvb2xlYW4uPC9wPgotPHByZT4KLXByaXZhdGUgc3RhdGljIEJvb2xlYW4gaW5pdGVkID0gQm9vbGVhbi5GQUxTRTsKLS4uLgotICBzeW5jaHJvbml6ZWQoaW5pdGVkKSB7Ci0gICAgaWYgKCFpbml0ZWQpIHsKLSAgICAgICBpbml0KCk7Ci0gICAgICAgaW5pdGVkID0gQm9vbGVhbi5UUlVFOwotICAgICAgIH0KLSAgICAgfQotLi4uCi08L3ByZT4KLTxwPlNpbmNlIHRoZXJlIG5vcm1hbGx5IGV4aXN0IG9ubHkgdHdvIEJvb2xlYW4gb2JqZWN0cywgdGhpcyBjb2RlIGNvdWxkIGJlIHN5bmNocm9uaXppbmcgb24gdGhlIHNhbWUgb2JqZWN0IGFzIG90aGVyLCB1bnJlbGF0ZWQgY29kZSwgbGVhZGluZyB0byB1bnJlc3BvbnNpdmVuZXNzCi1hbmQgcG9zc2libGUgZGVhZGxvY2s8L3A+Ci08cD5TZWUgQ0VSVCA8YSBocmVmPSJodHRwczovL3d3dy5zZWN1cmVjb2RpbmcuY2VydC5vcmcvY29uZmx1ZW5jZS9kaXNwbGF5L2phdmEvQ09OMDgtSi4rRG8rbm90K3N5bmNocm9uaXplK29uK29iamVjdHMrdGhhdCttYXkrYmUrcmV1c2VkIj5DT04wOC1KLiBEbyBub3Qgc3luY2hyb25pemUgb24gb2JqZWN0cyB0aGF0IG1heSBiZSByZXVzZWQ8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRMX1NZTkNIUk9OSVpBVElPTl9PTl9CT1hFRF9QUklNSVRJVkUiPkRMOiBTeW5jaHJvbml6YXRpb24gb24gYm94ZWQgcHJpbWl0aXZlIChETF9TWU5DSFJPTklaQVRJT05fT05fQk9YRURfUFJJTUlUSVZFKTwvYT48L2gzPgotCi0gICAgICAKLSAgPHA+IFRoZSBjb2RlIHN5bmNocm9uaXplcyBvbiBhIGJveGVkIHByaW1pdGl2ZSBjb25zdGFudCwgc3VjaCBhcyBhbiBJbnRlZ2VyLjwvcD4KLTxwcmU+Ci1wcml2YXRlIHN0YXRpYyBJbnRlZ2VyIGNvdW50ID0gMDsKLS4uLgotICBzeW5jaHJvbml6ZWQoY291bnQpIHsKLSAgICAgY291bnQrKzsKLSAgICAgfQotLi4uCi08L3ByZT4KLTxwPlNpbmNlIEludGVnZXIgb2JqZWN0cyBjYW4gYmUgY2FjaGVkIGFuZCBzaGFyZWQsCi10aGlzIGNvZGUgY291bGQgYmUgc3luY2hyb25pemluZyBvbiB0aGUgc2FtZSBvYmplY3QgYXMgb3RoZXIsIHVucmVsYXRlZCBjb2RlLCBsZWFkaW5nIHRvIHVucmVzcG9uc2l2ZW5lc3MKLWFuZCBwb3NzaWJsZSBkZWFkbG9jazwvcD4KLTxwPlNlZSBDRVJUIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNlY3VyZWNvZGluZy5jZXJ0Lm9yZy9jb25mbHVlbmNlL2Rpc3BsYXkvamF2YS9DT04wOC1KLitEbytub3Qrc3luY2hyb25pemUrb24rb2JqZWN0cyt0aGF0K21heStiZStyZXVzZWQiPkNPTjA4LUouIERvIG5vdCBzeW5jaHJvbml6ZSBvbiBvYmplY3RzIHRoYXQgbWF5IGJlIHJldXNlZDwvYT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExfU1lOQ0hST05JWkFUSU9OX09OX1NIQVJFRF9DT05TVEFOVCI+REw6IFN5bmNocm9uaXphdGlvbiBvbiBpbnRlcm5lZCBTdHJpbmcgIChETF9TWU5DSFJPTklaQVRJT05fT05fU0hBUkVEX0NPTlNUQU5UKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBjb2RlIHN5bmNocm9uaXplcyBvbiBpbnRlcm5lZCBTdHJpbmcuPC9wPgotPHByZT4KLXByaXZhdGUgc3RhdGljIFN0cmluZyBMT0NLID0gIkxPQ0siOwotLi4uCi0gIHN5bmNocm9uaXplZChMT0NLKSB7IC4uLn0KLS4uLgotPC9wcmU+Ci08cD5Db25zdGFudCBTdHJpbmdzIGFyZSBpbnRlcm5lZCBhbmQgc2hhcmVkIGFjcm9zcyBhbGwgb3RoZXIgY2xhc3NlcyBsb2FkZWQgYnkgdGhlIEpWTS4gVGh1cywgdGhpcyBjb3VsZAotaXMgbG9ja2luZyBvbiBzb21ldGhpbmcgdGhhdCBvdGhlciBjb2RlIG1pZ2h0IGFsc28gYmUgbG9ja2luZy4gVGhpcyBjb3VsZCByZXN1bHQgaW4gdmVyeSBzdHJhbmdlIGFuZCBoYXJkIHRvIGRpYWdub3NlCi1ibG9ja2luZyBhbmQgZGVhZGxvY2sgYmVoYXZpb3IuIFNlZSA8YSBocmVmPSJodHRwOi8vd3d3LmphdmFsb2JieS5vcmcvamF2YS9mb3J1bXMvdDk2MzUyLmh0bWwiPmh0dHA6Ly93d3cuamF2YWxvYmJ5Lm9yZy9qYXZhL2ZvcnVtcy90OTYzNTIuaHRtbDwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly9qaXJhLmNvZGVoYXVzLm9yZy9icm93c2UvSkVUVFktMzUyIj5odHRwOi8vamlyYS5jb2RlaGF1cy5vcmcvYnJvd3NlL0pFVFRZLTM1MjwvYT4uCi08L3A+Ci08cD5TZWUgQ0VSVCA8YSBocmVmPSJodHRwczovL3d3dy5zZWN1cmVjb2RpbmcuY2VydC5vcmcvY29uZmx1ZW5jZS9kaXNwbGF5L2phdmEvQ09OMDgtSi4rRG8rbm90K3N5bmNocm9uaXplK29uK29iamVjdHMrdGhhdCttYXkrYmUrcmV1c2VkIj5DT04wOC1KLiBEbyBub3Qgc3luY2hyb25pemUgb24gb2JqZWN0cyB0aGF0IG1heSBiZSByZXVzZWQ8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRMX1NZTkNIUk9OSVpBVElPTl9PTl9VTlNIQVJFRF9CT1hFRF9QUklNSVRJVkUiPkRMOiBTeW5jaHJvbml6YXRpb24gb24gYm94ZWQgcHJpbWl0aXZlIHZhbHVlcyAoRExfU1lOQ0hST05JWkFUSU9OX09OX1VOU0hBUkVEX0JPWEVEX1BSSU1JVElWRSk8L2E+PC9oMz4KLQotICAgICAgCi0gIDxwPiBUaGUgY29kZSBzeW5jaHJvbml6ZXMgb24gYW4gYXBwYXJlbnRseSB1bnNoYXJlZCBib3hlZCBwcmltaXRpdmUsCi1zdWNoIGFzIGFuIEludGVnZXIuPC9wPgotPHByZT4KLXByaXZhdGUgc3RhdGljIGZpbmFsIEludGVnZXIgZmlsZUxvY2sgPSBuZXcgSW50ZWdlcigxKTsKLS4uLgotICBzeW5jaHJvbml6ZWQoZmlsZUxvY2spIHsKLSAgICAgLi4gZG8gc29tZXRoaW5nIC4uCi0gICAgIH0KLS4uLgotPC9wcmU+Ci08cD5JdCB3b3VsZCBiZSBtdWNoIGJldHRlciwgaW4gdGhpcyBjb2RlLCB0byByZWRlY2xhcmUgZmlsZUxvY2sgYXM8L3A+Ci08cHJlPgotcHJpdmF0ZSBzdGF0aWMgZmluYWwgT2JqZWN0IGZpbGVMb2NrID0gbmV3IE9iamVjdCgpOwotPC9wcmU+Ci08cD4KLVRoZSBleGlzdGluZyBjb2RlIG1pZ2h0IGJlIE9LLCBidXQgaXQgaXMgY29uZnVzaW5nIGFuZCBhCi1mdXR1cmUgcmVmYWN0b3JpbmcsIHN1Y2ggYXMgdGhlICJSZW1vdmUgQm94aW5nIiByZWZhY3RvcmluZyBpbiBJbnRlbGxpSiwKLW1pZ2h0IHJlcGxhY2UgdGhpcyB3aXRoIHRoZSB1c2Ugb2YgYW4gaW50ZXJuZWQgSW50ZWdlciBvYmplY3Qgc2hhcmVkCi10aHJvdWdob3V0IHRoZSBKVk0sIGxlYWRpbmcgdG8gdmVyeSBjb25mdXNpbmcgYmVoYXZpb3IgYW5kIHBvdGVudGlhbCBkZWFkbG9jay4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX01PTklUT1JfV0FJVF9PTl9DT05ESVRJT04iPkRtOiBNb25pdG9yIHdhaXQoKSBjYWxsZWQgb24gQ29uZGl0aW9uIChETV9NT05JVE9SX1dBSVRfT05fQ09ORElUSU9OKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBtZXRob2QgY2FsbHMgPGNvZGU+d2FpdCgpPC9jb2RlPiBvbiBhCi0gICAgICA8Y29kZT5qYXZhLnV0aWwuY29uY3VycmVudC5sb2Nrcy5Db25kaXRpb248L2NvZGU+IG9iamVjdC4mbmJzcDsKLSAgICAgIFdhaXRpbmcgZm9yIGEgPGNvZGU+Q29uZGl0aW9uPC9jb2RlPiBzaG91bGQgYmUgZG9uZSB1c2luZyBvbmUgb2YgdGhlIDxjb2RlPmF3YWl0KCk8L2NvZGU+Ci0gICAgICBtZXRob2RzIGRlZmluZWQgYnkgdGhlIDxjb2RlPkNvbmRpdGlvbjwvY29kZT4gaW50ZXJmYWNlLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJETV9VU0VMRVNTX1RIUkVBRCI+RG06IEEgdGhyZWFkIHdhcyBjcmVhdGVkIHVzaW5nIHRoZSBkZWZhdWx0IGVtcHR5IHJ1biBtZXRob2QgKERNX1VTRUxFU1NfVEhSRUFEKTwvYT48L2gzPgotCi0KLSAgPHA+VGhpcyBtZXRob2QgY3JlYXRlcyBhIHRocmVhZCB3aXRob3V0IHNwZWNpZnlpbmcgYSBydW4gbWV0aG9kIGVpdGhlciBieSBkZXJpdmluZyBmcm9tIHRoZSBUaHJlYWQgY2xhc3MsIG9yCi0gIGJ5IHBhc3NpbmcgYSBSdW5uYWJsZSBvYmplY3QuIFRoaXMgdGhyZWFkLCB0aGVuLCBkb2VzIG5vdGhpbmcgYnV0IHdhc3RlIHRpbWUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFU3luY19FTVBUWV9TWU5DIj5FU3luYzogRW1wdHkgc3luY2hyb25pemVkIGJsb2NrIChFU3luY19FTVBUWV9TWU5DKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBjb2RlIGNvbnRhaW5zIGFuIGVtcHR5IHN5bmNocm9uaXplZCBibG9jazo8L3A+Ci08cHJlPgotc3luY2hyb25pemVkKCkge30KLTwvcHJlPgotPHA+RW1wdHkgc3luY2hyb25pemVkIGJsb2NrcyBhcmUgZmFyIG1vcmUgc3VidGxlIGFuZCBoYXJkIHRvIHVzZSBjb3JyZWN0bHkKLXRoYW4gbW9zdCBwZW9wbGUgcmVjb2duaXplLCBhbmQgZW1wdHkgc3luY2hyb25pemVkIGJsb2NrcwotYXJlIGFsbW9zdCBuZXZlciBhIGJldHRlciBzb2x1dGlvbgotdGhhbiBsZXNzIGNvbnRyaXZlZCBzb2x1dGlvbnMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJUzJfSU5DT05TSVNURU5UX1NZTkMiPklTOiBJbmNvbnNpc3RlbnQgc3luY2hyb25pemF0aW9uIChJUzJfSU5DT05TSVNURU5UX1NZTkMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIGZpZWxkcyBvZiB0aGlzIGNsYXNzIGFwcGVhciB0byBiZSBhY2Nlc3NlZCBpbmNvbnNpc3RlbnRseSB3aXRoIHJlc3BlY3QKLSAgdG8gc3luY2hyb25pemF0aW9uLiZuYnNwOyBUaGlzIGJ1ZyByZXBvcnQgaW5kaWNhdGVzIHRoYXQgdGhlIGJ1ZyBwYXR0ZXJuIGRldGVjdG9yCi0gIGp1ZGdlZCB0aGF0Ci0gIDwvcD4KLSAgPHVsPgotICA8bGk+IFRoZSBjbGFzcyBjb250YWlucyBhIG1peCBvZiBsb2NrZWQgYW5kIHVubG9ja2VkIGFjY2Vzc2VzLDwvbGk+Ci0gIDxsaT4gVGhlIGNsYXNzIGlzIDxiPm5vdDwvYj4gYW5ub3RhdGVkIGFzIGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5Ob3RUaHJlYWRTYWZlLDwvbGk+Ci0gIDxsaT4gQXQgbGVhc3Qgb25lIGxvY2tlZCBhY2Nlc3Mgd2FzIHBlcmZvcm1lZCBieSBvbmUgb2YgdGhlIGNsYXNzJ3Mgb3duIG1ldGhvZHMsIGFuZDwvbGk+Ci0gIDxsaT4gVGhlIG51bWJlciBvZiB1bnN5bmNocm9uaXplZCBmaWVsZCBhY2Nlc3NlcyAocmVhZHMgYW5kIHdyaXRlcykgd2FzIG5vIG1vcmUgdGhhbgotICAgICAgIG9uZSB0aGlyZCBvZiBhbGwgYWNjZXNzZXMsIHdpdGggd3JpdGVzIGJlaW5nIHdlaWdoZWQgdHdpY2UgYXMgaGlnaCBhcyByZWFkczwvbGk+Ci0gIDwvdWw+Ci0KLSAgPHA+IEEgdHlwaWNhbCBidWcgbWF0Y2hpbmcgdGhpcyBidWcgcGF0dGVybiBpcyBmb3JnZXR0aW5nIHRvIHN5bmNocm9uaXplCi0gIG9uZSBvZiB0aGUgbWV0aG9kcyBpbiBhIGNsYXNzIHRoYXQgaXMgaW50ZW5kZWQgdG8gYmUgdGhyZWFkLXNhZmUuPC9wPgotCi0gIDxwPiBZb3UgY2FuIHNlbGVjdCB0aGUgbm9kZXMgbGFiZWxlZCAiVW5zeW5jaHJvbml6ZWQgYWNjZXNzIiB0byBzaG93IHRoZQotICBjb2RlIGxvY2F0aW9ucyB3aGVyZSB0aGUgZGV0ZWN0b3IgYmVsaWV2ZWQgdGhhdCBhIGZpZWxkIHdhcyBhY2Nlc3NlZAotICB3aXRob3V0IHN5bmNocm9uaXphdGlvbi48L3A+Ci0KLSAgPHA+IE5vdGUgdGhhdCB0aGVyZSBhcmUgdmFyaW91cyBzb3VyY2VzIG9mIGluYWNjdXJhY3kgaW4gdGhpcyBkZXRlY3RvcjsKLSAgZm9yIGV4YW1wbGUsIHRoZSBkZXRlY3RvciBjYW5ub3Qgc3RhdGljYWxseSBkZXRlY3QgYWxsIHNpdHVhdGlvbnMgaW4gd2hpY2gKLSAgYSBsb2NrIGlzIGhlbGQuJm5ic3A7IEFsc28sIGV2ZW4gd2hlbiB0aGUgZGV0ZWN0b3IgaXMgYWNjdXJhdGUgaW4KLSAgZGlzdGluZ3Vpc2hpbmcgbG9ja2VkIHZzLiB1bmxvY2tlZCBhY2Nlc3NlcywgdGhlIGNvZGUgaW4gcXVlc3Rpb24gbWF5IHN0aWxsCi0gIGJlIGNvcnJlY3QuPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJJU19GSUVMRF9OT1RfR1VBUkRFRCI+SVM6IEZpZWxkIG5vdCBndWFyZGVkIGFnYWluc3QgY29uY3VycmVudCBhY2Nlc3MgKElTX0ZJRUxEX05PVF9HVUFSREVEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgZmllbGQgaXMgYW5ub3RhdGVkIHdpdGggbmV0LmpjaXAuYW5ub3RhdGlvbnMuR3VhcmRlZEJ5IG9yIGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnksCi1idXQgY2FuIGJlIGFjY2Vzc2VkIGluIGEgd2F5IHRoYXQgc2VlbXMgdG8gdmlvbGF0ZSB0aG9zZSBhbm5vdGF0aW9ucy48L3A+Ci0KLQotPGgzPjxhIG5hbWU9IkpMTV9KU1IxNjZfTE9DS19NT05JVE9SRU5URVIiPkpMTTogU3luY2hyb25pemF0aW9uIHBlcmZvcm1lZCBvbiBMb2NrIChKTE1fSlNSMTY2X0xPQ0tfTU9OSVRPUkVOVEVSKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBwZXJmb3JtcyBzeW5jaHJvbml6YXRpb24gYW4gb2JqZWN0IHRoYXQgaW1wbGVtZW50cwotamF2YS51dGlsLmNvbmN1cnJlbnQubG9ja3MuTG9jay4gU3VjaCBhbiBvYmplY3QgaXMgbG9ja2VkL3VubG9ja2VkCi11c2luZwotPGNvZGU+YWNxdWlyZSgpPC9jb2RlPi88Y29kZT5yZWxlYXNlKCk8L2NvZGU+IHJhdGhlcgotdGhhbiB1c2luZyB0aGUgPGNvZGU+c3luY2hyb25pemVkICguLi4pPC9jb2RlPiBjb25zdHJ1Y3QuCi08L3A+Ci0KLQotPGgzPjxhIG5hbWU9IkpMTV9KU1IxNjZfVVRJTENPTkNVUlJFTlRfTU9OSVRPUkVOVEVSIj5KTE06IFN5bmNocm9uaXphdGlvbiBwZXJmb3JtZWQgb24gdXRpbC5jb25jdXJyZW50IGluc3RhbmNlIChKTE1fSlNSMTY2X1VUSUxDT05DVVJSRU5UX01PTklUT1JFTlRFUik8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgcGVyZm9ybXMgc3luY2hyb25pemF0aW9uIGFuIG9iamVjdCB0aGF0IGlzIGFuIGluc3RhbmNlIG9mCi1hIGNsYXNzIGZyb20gdGhlIGphdmEudXRpbC5jb25jdXJyZW50IHBhY2thZ2UgKG9yIGl0cyBzdWJjbGFzc2VzKS4gSW5zdGFuY2VzCi1vZiB0aGVzZSBjbGFzc2VzIGhhdmUgdGhlaXIgb3duIGNvbmN1cnJlbmN5IGNvbnRyb2wgbWVjaGFuaXNtcyB0aGF0IGFyZSBvcnRob2dvbmFsIHRvCi10aGUgc3luY2hyb25pemF0aW9uIHByb3ZpZGVkIGJ5IHRoZSBKYXZhIGtleXdvcmQgPGNvZGU+c3luY2hyb25pemVkPC9jb2RlPi4gRm9yIGV4YW1wbGUsCi1zeW5jaHJvbml6aW5nIG9uIGFuIDxjb2RlPkF0b21pY0Jvb2xlYW48L2NvZGU+IHdpbGwgbm90IHByZXZlbnQgb3RoZXIgdGhyZWFkcwotZnJvbSBtb2RpZnlpbmcgdGhlICA8Y29kZT5BdG9taWNCb29sZWFuPC9jb2RlPi48L3A+Ci08cD5TdWNoIGNvZGUgbWF5IGJlIGNvcnJlY3QsIGJ1dCBzaG91bGQgYmUgY2FyZWZ1bGx5IHJldmlld2VkIGFuZCBkb2N1bWVudGVkLAotYW5kIG1heSBjb25mdXNlIHBlb3BsZSB3aG8gaGF2ZSB0byBtYWludGFpbiB0aGUgY29kZSBhdCBhIGxhdGVyIGRhdGUuCi08L3A+Ci0KLQotPGgzPjxhIG5hbWU9IkpNTF9KU1IxNjZfQ0FMTElOR19XQUlUX1JBVEhFUl9USEFOX0FXQUlUIj5KTE06IFVzaW5nIG1vbml0b3Igc3R5bGUgd2FpdCBtZXRob2RzIG9uIHV0aWwuY29uY3VycmVudCBhYnN0cmFjdGlvbiAoSk1MX0pTUjE2Nl9DQUxMSU5HX1dBSVRfUkFUSEVSX1RIQU5fQVdBSVQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNhbGxzCi08Y29kZT53YWl0KCk8L2NvZGU+LAotPGNvZGU+bm90aWZ5KCk8L2NvZGU+IG9yCi08Y29kZT5ub3RpZnlBbGwoKSgpPC9jb2RlPgotb24gYW4gb2JqZWN0IHRoYXQgYWxzbyBwcm92aWRlcyBhbgotPGNvZGU+YXdhaXQoKTwvY29kZT4sCi08Y29kZT5zaWduYWwoKTwvY29kZT4sCi08Y29kZT5zaWduYWxBbGwoKTwvY29kZT4gbWV0aG9kIChzdWNoIGFzIHV0aWwuY29uY3VycmVudCBDb25kaXRpb24gb2JqZWN0cykuCi1UaGlzIHByb2JhYmx5IGlzbid0IHdoYXQgeW91IHdhbnQsIGFuZCBldmVuIGlmIHlvdSBkbyB3YW50IGl0LCB5b3Ugc2hvdWxkIGNvbnNpZGVyIGNoYW5naW5nCi15b3VyIGRlc2lnbiwgYXMgb3RoZXIgZGV2ZWxvcGVycyB3aWxsIGZpbmQgaXQgZXhjZXB0aW9uYWxseSBjb25mdXNpbmcuCi08L3A+Ci0KLQotPGgzPjxhIG5hbWU9IkxJX0xBWllfSU5JVF9TVEFUSUMiPkxJOiBJbmNvcnJlY3QgbGF6eSBpbml0aWFsaXphdGlvbiBvZiBzdGF0aWMgZmllbGQgKExJX0xBWllfSU5JVF9TVEFUSUMpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGFuIHVuc3luY2hyb25pemVkIGxhenkgaW5pdGlhbGl6YXRpb24gb2YgYSBub24tdm9sYXRpbGUgc3RhdGljIGZpZWxkLgotQmVjYXVzZSB0aGUgY29tcGlsZXIgb3IgcHJvY2Vzc29yIG1heSByZW9yZGVyIGluc3RydWN0aW9ucywKLXRocmVhZHMgYXJlIG5vdCBndWFyYW50ZWVkIHRvIHNlZSBhIGNvbXBsZXRlbHkgaW5pdGlhbGl6ZWQgb2JqZWN0LAotPGVtPmlmIHRoZSBtZXRob2QgY2FuIGJlIGNhbGxlZCBieSBtdWx0aXBsZSB0aHJlYWRzPC9lbT4uCi1Zb3UgY2FuIG1ha2UgdGhlIGZpZWxkIHZvbGF0aWxlIHRvIGNvcnJlY3QgdGhlIHByb2JsZW0uCi1Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZQotPGEgaHJlZj0iaHR0cDovL3d3dy5jcy51bWQuZWR1L35wdWdoL2phdmEvbWVtb3J5TW9kZWwvIj5KYXZhIE1lbW9yeSBNb2RlbCB3ZWIgc2l0ZTwvYT4uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJMSV9MQVpZX0lOSVRfVVBEQVRFX1NUQVRJQyI+TEk6IEluY29ycmVjdCBsYXp5IGluaXRpYWxpemF0aW9uIGFuZCB1cGRhdGUgb2Ygc3RhdGljIGZpZWxkIChMSV9MQVpZX0lOSVRfVVBEQVRFX1NUQVRJQyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYW4gdW5zeW5jaHJvbml6ZWQgbGF6eSBpbml0aWFsaXphdGlvbiBvZiBhIHN0YXRpYyBmaWVsZC4KLUFmdGVyIHRoZSBmaWVsZCBpcyBzZXQsIHRoZSBvYmplY3Qgc3RvcmVkIGludG8gdGhhdCBsb2NhdGlvbiBpcyBmdXJ0aGVyIHVwZGF0ZWQgb3IgYWNjZXNzZWQuCi1UaGUgc2V0dGluZyBvZiB0aGUgZmllbGQgaXMgdmlzaWJsZSB0byBvdGhlciB0aHJlYWRzIGFzIHNvb24gYXMgaXQgaXMgc2V0LiBJZiB0aGUKLWZ1dGhlciBhY2Nlc3NlcyBpbiB0aGUgbWV0aG9kIHRoYXQgc2V0IHRoZSBmaWVsZCBzZXJ2ZSB0byBpbml0aWFsaXplIHRoZSBvYmplY3QsIHRoZW4KLXlvdSBoYXZlIGEgPGVtPnZlcnkgc2VyaW91czwvZW0+IG11bHRpdGhyZWFkaW5nIGJ1ZywgdW5sZXNzIHNvbWV0aGluZyBlbHNlIHByZXZlbnRzCi1hbnkgb3RoZXIgdGhyZWFkIGZyb20gYWNjZXNzaW5nIHRoZSBzdG9yZWQgb2JqZWN0IHVudGlsIGl0IGlzIGZ1bGx5IGluaXRpYWxpemVkLgotPC9wPgotPHA+RXZlbiBpZiB5b3UgZmVlbCBjb25maWRlbnQgdGhhdCB0aGUgbWV0aG9kIGlzIG5ldmVyIGNhbGxlZCBieSBtdWx0aXBsZQotdGhyZWFkcywgaXQgbWlnaHQgYmUgYmV0dGVyIHRvIG5vdCBzZXQgdGhlIHN0YXRpYyBmaWVsZCB1bnRpbCB0aGUgdmFsdWUKLXlvdSBhcmUgc2V0dGluZyBpdCB0byBpcyBmdWxseSBwb3B1bGF0ZWQvaW5pdGlhbGl6ZWQuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJNTF9TWU5DX09OX0ZJRUxEX1RPX0dVQVJEX0NIQU5HSU5HX1RIQVRfRklFTEQiPk1MOiBTeW5jaHJvbml6YXRpb24gb24gZmllbGQgaW4gZnV0aWxlIGF0dGVtcHQgdG8gZ3VhcmQgdGhhdCBmaWVsZCAoTUxfU1lOQ19PTl9GSUVMRF9UT19HVUFSRF9DSEFOR0lOR19USEFUX0ZJRUxEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIHN5bmNocm9uaXplcyBvbiBhIGZpZWxkIGluIHdoYXQgYXBwZWFycyB0byBiZSBhbiBhdHRlbXB0Ci10byBndWFyZCBhZ2FpbnN0IHNpbXVsdGFuZW91cyB1cGRhdGVzIHRvIHRoYXQgZmllbGQuIEJ1dCBndWFyZGluZyBhIGZpZWxkCi1nZXRzIGEgbG9jayBvbiB0aGUgcmVmZXJlbmNlZCBvYmplY3QsIG5vdCBvbiB0aGUgZmllbGQuIFRoaXMgbWF5IG5vdAotcHJvdmlkZSB0aGUgbXV0dWFsIGV4Y2x1c2lvbiB5b3UgbmVlZCwgYW5kIG90aGVyIHRocmVhZHMgbWlnaHQKLWJlIG9idGFpbmluZyBsb2NrcyBvbiB0aGUgcmVmZXJlbmNlZCBvYmplY3RzIChmb3Igb3RoZXIgcHVycG9zZXMpLiBBbiBleGFtcGxlCi1vZiB0aGlzIHBhdHRlcm4gd291bGQgYmU6PC9wPgotPHByZT4KLXByaXZhdGUgTG9uZyBteU50ZlNlcU5ickNvdW50ZXIgPSBuZXcgTG9uZygwKTsKLXByaXZhdGUgTG9uZyBnZXROb3RpZmljYXRpb25TZXF1ZW5jZU51bWJlcigpIHsKLSAgICAgTG9uZyByZXN1bHQgPSBudWxsOwotICAgICBzeW5jaHJvbml6ZWQobXlOdGZTZXFOYnJDb3VudGVyKSB7Ci0gICAgICAgICByZXN1bHQgPSBuZXcgTG9uZyhteU50ZlNlcU5ickNvdW50ZXIubG9uZ1ZhbHVlKCkgKyAxKTsKLSAgICAgICAgIG15TnRmU2VxTmJyQ291bnRlciA9IG5ldyBMb25nKHJlc3VsdC5sb25nVmFsdWUoKSk7Ci0gICAgIH0KLSAgICAgcmV0dXJuIHJlc3VsdDsKLSB9Ci08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1MX1NZTkNfT05fVVBEQVRFRF9GSUVMRCI+TUw6IE1ldGhvZCBzeW5jaHJvbml6ZXMgb24gYW4gdXBkYXRlZCBmaWVsZCAoTUxfU1lOQ19PTl9VUERBVEVEX0ZJRUxEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIHN5bmNocm9uaXplcyBvbiBhbiBvYmplY3QKLSAgIHJlZmVyZW5jZWQgZnJvbSBhIG11dGFibGUgZmllbGQuCi0gICBUaGlzIGlzIHVubGlrZWx5IHRvIGhhdmUgdXNlZnVsIHNlbWFudGljcywgc2luY2UgZGlmZmVyZW50Ci10aHJlYWRzIG1heSBiZSBzeW5jaHJvbml6aW5nIG9uIGRpZmZlcmVudCBvYmplY3RzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1TRl9NVVRBQkxFX1NFUlZMRVRfRklFTEQiPk1TRjogTXV0YWJsZSBzZXJ2bGV0IGZpZWxkIChNU0ZfTVVUQUJMRV9TRVJWTEVUX0ZJRUxEKTwvYT48L2gzPgotCi0KLTxwPkEgd2ViIHNlcnZlciBnZW5lcmFsbHkgb25seSBjcmVhdGVzIG9uZSBpbnN0YW5jZSBvZiBzZXJ2bGV0IG9yIGpzcCBjbGFzcyAoaS5lLiwgdHJlYXRzCi10aGUgY2xhc3MgYXMgYSBTaW5nbGV0b24pLAotYW5kIHdpbGwKLWhhdmUgbXVsdGlwbGUgdGhyZWFkcyBpbnZva2UgbWV0aG9kcyBvbiB0aGF0IGluc3RhbmNlIHRvIHNlcnZpY2UgbXVsdGlwbGUKLXNpbXVsdGFuZW91cyByZXF1ZXN0cy4KLVRodXMsIGhhdmluZyBhIG11dGFibGUgaW5zdGFuY2UgZmllbGQgZ2VuZXJhbGx5IGNyZWF0ZXMgcmFjZSBjb25kaXRpb25zLgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVdOX01JU01BVENIRURfTk9USUZZIj5NV046IE1pc21hdGNoZWQgbm90aWZ5KCkgKE1XTl9NSVNNQVRDSEVEX05PVElGWSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY2FsbHMgT2JqZWN0Lm5vdGlmeSgpIG9yIE9iamVjdC5ub3RpZnlBbGwoKSB3aXRob3V0IG9idmlvdXNseSBob2xkaW5nIGEgbG9jawotb24gdGhlIG9iamVjdC4mbmJzcDsgIENhbGxpbmcgbm90aWZ5KCkgb3Igbm90aWZ5QWxsKCkgd2l0aG91dCBhIGxvY2sgaGVsZCB3aWxsIHJlc3VsdCBpbgotYW4gPGNvZGU+SWxsZWdhbE1vbml0b3JTdGF0ZUV4Y2VwdGlvbjwvY29kZT4gYmVpbmcgdGhyb3duLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1XTl9NSVNNQVRDSEVEX1dBSVQiPk1XTjogTWlzbWF0Y2hlZCB3YWl0KCkgKE1XTl9NSVNNQVRDSEVEX1dBSVQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNhbGxzIE9iamVjdC53YWl0KCkgd2l0aG91dCBvYnZpb3VzbHkgaG9sZGluZyBhIGxvY2sKLW9uIHRoZSBvYmplY3QuJm5ic3A7ICBDYWxsaW5nIHdhaXQoKSB3aXRob3V0IGEgbG9jayBoZWxkIHdpbGwgcmVzdWx0IGluCi1hbiA8Y29kZT5JbGxlZ2FsTW9uaXRvclN0YXRlRXhjZXB0aW9uPC9jb2RlPiBiZWluZyB0aHJvd24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTk5fTkFLRURfTk9USUZZIj5OTjogTmFrZWQgbm90aWZ5IChOTl9OQUtFRF9OT1RJRlkpPC9hPjwvaDM+Ci0KLQotICA8cD4gQSBjYWxsIHRvIDxjb2RlPm5vdGlmeSgpPC9jb2RlPiBvciA8Y29kZT5ub3RpZnlBbGwoKTwvY29kZT4KLSAgd2FzIG1hZGUgd2l0aG91dCBhbnkgKGFwcGFyZW50KSBhY2NvbXBhbnlpbmcKLSAgbW9kaWZpY2F0aW9uIHRvIG11dGFibGUgb2JqZWN0IHN0YXRlLiZuYnNwOyBJbiBnZW5lcmFsLCBjYWxsaW5nIGEgbm90aWZ5Ci0gIG1ldGhvZCBvbiBhIG1vbml0b3IgaXMgZG9uZSBiZWNhdXNlIHNvbWUgY29uZGl0aW9uIGFub3RoZXIgdGhyZWFkIGlzCi0gIHdhaXRpbmcgZm9yIGhhcyBiZWNvbWUgdHJ1ZS4mbmJzcDsgSG93ZXZlciwgZm9yIHRoZSBjb25kaXRpb24gdG8gYmUgbWVhbmluZ2Z1bCwKLSAgaXQgbXVzdCBpbnZvbHZlIGEgaGVhcCBvYmplY3QgdGhhdCBpcyB2aXNpYmxlIHRvIGJvdGggdGhyZWFkcy48L3A+Ci0KLSAgPHA+IFRoaXMgYnVnIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGluZGljYXRlIGFuIGVycm9yLCBzaW5jZSB0aGUgY2hhbmdlIHRvCi0gIG11dGFibGUgb2JqZWN0IHN0YXRlIG1heSBoYXZlIHRha2VuIHBsYWNlIGluIGEgbWV0aG9kIHdoaWNoIHRoZW4gY2FsbGVkCi0gIHRoZSBtZXRob2QgY29udGFpbmluZyB0aGUgbm90aWZpY2F0aW9uLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX1NZTkNfQU5EX05VTExfQ0hFQ0tfRklFTEQiPk5QOiBTeW5jaHJvbml6ZSBhbmQgbnVsbCBjaGVjayBvbiB0aGUgc2FtZSBmaWVsZC4gKE5QX1NZTkNfQU5EX05VTExfQ0hFQ0tfRklFTEQpPC9hPjwvaDM+Ci0KLQotPHA+U2luY2UgdGhlIGZpZWxkIGlzIHN5bmNocm9uaXplZCBvbiwgaXQgc2VlbXMgbm90IGxpa2VseSB0byBiZSBudWxsLgotSWYgaXQgaXMgbnVsbCBhbmQgdGhlbiBzeW5jaHJvbml6ZWQgb24gYSBOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aWxsIGJlCi10aHJvd24gYW5kIHRoZSBjaGVjayB3b3VsZCBiZSBwb2ludGxlc3MuIEJldHRlciB0byBzeW5jaHJvbml6ZSBvbgotYW5vdGhlciBmaWVsZC48L3A+Ci0KLQotICAgICAKLTxoMz48YSBuYW1lPSJOT19OT1RJRllfTk9UX05PVElGWUFMTCI+Tm86IFVzaW5nIG5vdGlmeSgpIHJhdGhlciB0aGFuIG5vdGlmeUFsbCgpIChOT19OT1RJRllfTk9UX05PVElGWUFMTCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBjYWxscyA8Y29kZT5ub3RpZnkoKTwvY29kZT4gcmF0aGVyIHRoYW4gPGNvZGU+bm90aWZ5QWxsKCk8L2NvZGU+LiZuYnNwOwotICBKYXZhIG1vbml0b3JzIGFyZSBvZnRlbiB1c2VkIGZvciBtdWx0aXBsZSBjb25kaXRpb25zLiZuYnNwOyBDYWxsaW5nIDxjb2RlPm5vdGlmeSgpPC9jb2RlPgotICBvbmx5IHdha2VzIHVwIG9uZSB0aHJlYWQsIG1lYW5pbmcgdGhhdCB0aGUgdGhyZWFkIHdva2VuIHVwIG1pZ2h0IG5vdCBiZSB0aGUKLSAgb25lIHdhaXRpbmcgZm9yIHRoZSBjb25kaXRpb24gdGhhdCB0aGUgY2FsbGVyIGp1c3Qgc2F0aXNmaWVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJTX1JFQURPQkpFQ1RfU1lOQyI+UlM6IENsYXNzJ3MgcmVhZE9iamVjdCgpIG1ldGhvZCBpcyBzeW5jaHJvbml6ZWQgKFJTX1JFQURPQkpFQ1RfU1lOQyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIHNlcmlhbGl6YWJsZSBjbGFzcyBkZWZpbmVzIGEgPGNvZGU+cmVhZE9iamVjdCgpPC9jb2RlPiB3aGljaCBpcwotICBzeW5jaHJvbml6ZWQuJm5ic3A7IEJ5IGRlZmluaXRpb24sIGFuIG9iamVjdCBjcmVhdGVkIGJ5IGRlc2VyaWFsaXphdGlvbgotICBpcyBvbmx5IHJlYWNoYWJsZSBieSBvbmUgdGhyZWFkLCBhbmQgdGh1cyB0aGVyZSBpcyBubyBuZWVkIGZvcgotICA8Y29kZT5yZWFkT2JqZWN0KCk8L2NvZGU+IHRvIGJlIHN5bmNocm9uaXplZC4mbmJzcDsgSWYgdGhlIDxjb2RlPnJlYWRPYmplY3QoKTwvY29kZT4KLSAgbWV0aG9kIGl0c2VsZiBpcyBjYXVzaW5nIHRoZSBvYmplY3QgdG8gYmVjb21lIHZpc2libGUgdG8gYW5vdGhlciB0aHJlYWQsCi0gIHRoYXQgaXMgYW4gZXhhbXBsZSBvZiB2ZXJ5IGR1YmlvdXMgY29kaW5nIHN0eWxlLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJWX1JFVFVSTl9WQUxVRV9PRl9QVVRJRkFCU0VOVF9JR05PUkVEIj5SVjogUmV0dXJuIHZhbHVlIG9mIHB1dElmQWJzZW50IGlnbm9yZWQsIHZhbHVlIHBhc3NlZCB0byBwdXRJZkFic2VudCByZXVzZWQgKFJWX1JFVFVSTl9WQUxVRV9PRl9QVVRJRkFCU0VOVF9JR05PUkVEKTwvYT48L2gzPgotCi0gICAgICAgICAgCi0gICAgICAgIFRoZSA8Y29kZT5wdXRJZkFic2VudDwvY29kZT4gbWV0aG9kIGlzIHR5cGljYWxseSB1c2VkIHRvIGVuc3VyZSB0aGF0IGEKLSAgICAgICAgc2luZ2xlIHZhbHVlIGlzIGFzc29jaWF0ZWQgd2l0aCBhIGdpdmVuIGtleSAodGhlIGZpcnN0IHZhbHVlIGZvciB3aGljaCBwdXQKLSAgICAgICAgaWYgYWJzZW50IHN1Y2NlZWRzKS4KLSAgICAgICAgSWYgeW91IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIGFuZCByZXRhaW4gYSByZWZlcmVuY2UgdG8gdGhlIHZhbHVlIHBhc3NlZCBpbiwKLSAgICAgICAgeW91IHJ1biB0aGUgcmlzayBvZiByZXRhaW5pbmcgYSB2YWx1ZSB0aGF0IGlzIG5vdCB0aGUgb25lIHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBrZXkgaW4gdGhlIG1hcC4KLSAgICAgICAgSWYgaXQgbWF0dGVycyB3aGljaCBvbmUgeW91IHVzZSBhbmQgeW91IHVzZSB0aGUgb25lIHRoYXQgaXNuJ3Qgc3RvcmVkIGluIHRoZSBtYXAsCi0gICAgICAgIHlvdXIgcHJvZ3JhbSB3aWxsIGJlaGF2ZSBpbmNvcnJlY3RseS4KLSAgICAgICAgICAKLSAgICAgIAotPGgzPjxhIG5hbWU9IlJVX0lOVk9LRV9SVU4iPlJ1OiBJbnZva2VzIHJ1biBvbiBhIHRocmVhZCAoZGlkIHlvdSBtZWFuIHRvIHN0YXJ0IGl0IGluc3RlYWQ/KSAoUlVfSU5WT0tFX1JVTik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBleHBsaWNpdGx5IGludm9rZXMgPGNvZGU+cnVuKCk8L2NvZGU+IG9uIGFuIG9iamVjdC4mbmJzcDsKLSAgSW4gZ2VuZXJhbCwgY2xhc3NlcyBpbXBsZW1lbnQgdGhlIDxjb2RlPlJ1bm5hYmxlPC9jb2RlPiBpbnRlcmZhY2UgYmVjYXVzZQotICB0aGV5IGFyZSBnb2luZyB0byBoYXZlIHRoZWlyIDxjb2RlPnJ1bigpPC9jb2RlPiBtZXRob2QgaW52b2tlZCBpbiBhIG5ldyB0aHJlYWQsCi0gIGluIHdoaWNoIGNhc2UgPGNvZGU+VGhyZWFkLnN0YXJ0KCk8L2NvZGU+IGlzIHRoZSByaWdodCBtZXRob2QgdG8gY2FsbC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTQ19TVEFSVF9JTl9DVE9SIj5TQzogQ29uc3RydWN0b3IgaW52b2tlcyBUaHJlYWQuc3RhcnQoKSAoU0NfU1RBUlRfSU5fQ1RPUik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgY29uc3RydWN0b3Igc3RhcnRzIGEgdGhyZWFkLiBUaGlzIGlzIGxpa2VseSB0byBiZSB3cm9uZyBpZgotICAgdGhlIGNsYXNzIGlzIGV2ZXIgZXh0ZW5kZWQvc3ViY2xhc3NlZCwgc2luY2UgdGhlIHRocmVhZCB3aWxsIGJlIHN0YXJ0ZWQKLSAgIGJlZm9yZSB0aGUgc3ViY2xhc3MgY29uc3RydWN0b3IgaXMgc3RhcnRlZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTUF9TUElOX09OX0ZJRUxEIj5TUDogTWV0aG9kIHNwaW5zIG9uIGZpZWxkIChTUF9TUElOX09OX0ZJRUxEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIHNwaW5zIGluIGEgbG9vcCB3aGljaCByZWFkcyBhIGZpZWxkLiZuYnNwOyBUaGUgY29tcGlsZXIKLSAgbWF5IGxlZ2FsbHkgaG9pc3QgdGhlIHJlYWQgb3V0IG9mIHRoZSBsb29wLCB0dXJuaW5nIHRoZSBjb2RlIGludG8gYW4KLSAgaW5maW5pdGUgbG9vcC4mbmJzcDsgVGhlIGNsYXNzIHNob3VsZCBiZSBjaGFuZ2VkIHNvIGl0IHVzZXMgcHJvcGVyCi0gIHN5bmNocm9uaXphdGlvbiAoaW5jbHVkaW5nIHdhaXQgYW5kIG5vdGlmeSBjYWxscykuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU1RDQUxfSU5WT0tFX09OX1NUQVRJQ19DQUxFTkRBUl9JTlNUQU5DRSI+U1RDQUw6IENhbGwgdG8gc3RhdGljIENhbGVuZGFyIChTVENBTF9JTlZPS0VfT05fU1RBVElDX0NBTEVOREFSX0lOU1RBTkNFKTwvYT48L2gzPgotCi0KLTxwPkV2ZW4gdGhvdWdoIHRoZSBKYXZhRG9jIGRvZXMgbm90IGNvbnRhaW4gYSBoaW50IGFib3V0IGl0LCBDYWxlbmRhcnMgYXJlIGluaGVyZW50bHkgdW5zYWZlIGZvciBtdWx0aWh0cmVhZGVkIHVzZS4KLVRoZSBkZXRlY3RvciBoYXMgZm91bmQgYSBjYWxsIHRvIGFuIGluc3RhbmNlIG9mIENhbGVuZGFyIHRoYXQgaGFzIGJlZW4gb2J0YWluZWQgdmlhIGEgc3RhdGljCi1maWVsZC4gVGhpcyBsb29rcyBzdXNwaWNvdXMuPC9wPgotPHA+Rm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBzZWUgPGEgaHJlZj0iaHR0cDovL2J1Z3Muc3VuLmNvbS9idWdkYXRhYmFzZS92aWV3X2J1Zy5kbz9idWdfaWQ9NjIzMTU3OSI+U3VuIEJ1ZyAjNjIzMTU3OTwvYT4KLWFuZCA8YSBocmVmPSJodHRwOi8vYnVncy5zdW4uY29tL2J1Z2RhdGFiYXNlL3ZpZXdfYnVnLmRvP2J1Z19pZD02MTc4OTk3Ij5TdW4gQnVnICM2MTc4OTk3PC9hPi48L3A+Ci0KLQotPGgzPjxhIG5hbWU9IlNUQ0FMX0lOVk9LRV9PTl9TVEFUSUNfREFURV9GT1JNQVRfSU5TVEFOQ0UiPlNUQ0FMOiBDYWxsIHRvIHN0YXRpYyBEYXRlRm9ybWF0IChTVENBTF9JTlZPS0VfT05fU1RBVElDX0RBVEVfRk9STUFUX0lOU1RBTkNFKTwvYT48L2gzPgotCi0KLTxwPkFzIHRoZSBKYXZhRG9jIHN0YXRlcywgRGF0ZUZvcm1hdHMgYXJlIGluaGVyZW50bHkgdW5zYWZlIGZvciBtdWx0aXRocmVhZGVkIHVzZS4KLVRoZSBkZXRlY3RvciBoYXMgZm91bmQgYSBjYWxsIHRvIGFuIGluc3RhbmNlIG9mIERhdGVGb3JtYXQgdGhhdCBoYXMgYmVlbiBvYnRhaW5lZCB2aWEgYSBzdGF0aWMKLWZpZWxkLiBUaGlzIGxvb2tzIHN1c3BpY291cy48L3A+Ci08cD5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIHNlZSA8YSBocmVmPSJodHRwOi8vYnVncy5zdW4uY29tL2J1Z2RhdGFiYXNlL3ZpZXdfYnVnLmRvP2J1Z19pZD02MjMxNTc5Ij5TdW4gQnVnICM2MjMxNTc5PC9hPgotYW5kIDxhIGhyZWY9Imh0dHA6Ly9idWdzLnN1bi5jb20vYnVnZGF0YWJhc2Uvdmlld19idWcuZG8/YnVnX2lkPTYxNzg5OTciPlN1biBCdWcgIzYxNzg5OTc8L2E+LjwvcD4KLQotCi08aDM+PGEgbmFtZT0iU1RDQUxfU1RBVElDX0NBTEVOREFSX0lOU1RBTkNFIj5TVENBTDogU3RhdGljIENhbGVuZGFyIGZpZWxkIChTVENBTF9TVEFUSUNfQ0FMRU5EQVJfSU5TVEFOQ0UpPC9hPjwvaDM+Ci0KLQotPHA+RXZlbiB0aG91Z2ggdGhlIEphdmFEb2MgZG9lcyBub3QgY29udGFpbiBhIGhpbnQgYWJvdXQgaXQsIENhbGVuZGFycyBhcmUgaW5oZXJlbnRseSB1bnNhZmUgZm9yIG11bHRpaHRyZWFkZWQgdXNlLgotU2hhcmluZyBhIHNpbmdsZSBpbnN0YW5jZSBhY3Jvc3MgdGhyZWFkIGJvdW5kYXJpZXMgd2l0aG91dCBwcm9wZXIgc3luY2hyb25pemF0aW9uIHdpbGwgcmVzdWx0IGluIGVycmF0aWMgYmVoYXZpb3Igb2YgdGhlCi1hcHBsaWNhdGlvbi4gVW5kZXIgMS40IHByb2JsZW1zIHNlZW0gdG8gc3VyZmFjZSBsZXNzIG9mdGVuIHRoYW4gdW5kZXIgSmF2YSA1IHdoZXJlIHlvdSB3aWxsIHByb2JhYmx5IHNlZQotcmFuZG9tIEFycmF5SW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbnMgb3IgSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbnMgaW4gc3VuLnV0aWwuY2FsZW5kYXIuQmFzZUNhbGVuZGFyLmdldENhbGVuZGFyRGF0ZUZyb21GaXhlZERhdGUoKS48L3A+Ci08cD5Zb3UgbWF5IGFsc28gZXhwZXJpZW5jZSBzZXJpYWxpemF0aW9uIHByb2JsZW1zLjwvcD4KLTxwPlVzaW5nIGFuIGluc3RhbmNlIGZpZWxkIGlzIHJlY29tbWVuZGVkLjwvcD4KLTxwPkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgc2VlIDxhIGhyZWY9Imh0dHA6Ly9idWdzLnN1bi5jb20vYnVnZGF0YWJhc2Uvdmlld19idWcuZG8/YnVnX2lkPTYyMzE1NzkiPlN1biBCdWcgIzYyMzE1Nzk8L2E+Ci1hbmQgPGEgaHJlZj0iaHR0cDovL2J1Z3Muc3VuLmNvbS9idWdkYXRhYmFzZS92aWV3X2J1Zy5kbz9idWdfaWQ9NjE3ODk5NyI+U3VuIEJ1ZyAjNjE3ODk5NzwvYT4uPC9wPgotCi0KLTxoMz48YSBuYW1lPSJTVENBTF9TVEFUSUNfU0lNUExFX0RBVEVfRk9STUFUX0lOU1RBTkNFIj5TVENBTDogU3RhdGljIERhdGVGb3JtYXQgKFNUQ0FMX1NUQVRJQ19TSU1QTEVfREFURV9GT1JNQVRfSU5TVEFOQ0UpPC9hPjwvaDM+Ci0KLQotPHA+QXMgdGhlIEphdmFEb2Mgc3RhdGVzLCBEYXRlRm9ybWF0cyBhcmUgaW5oZXJlbnRseSB1bnNhZmUgZm9yIG11bHRpdGhyZWFkZWQgdXNlLgotU2hhcmluZyBhIHNpbmdsZSBpbnN0YW5jZSBhY3Jvc3MgdGhyZWFkIGJvdW5kYXJpZXMgd2l0aG91dCBwcm9wZXIgc3luY2hyb25pemF0aW9uIHdpbGwgcmVzdWx0IGluIGVycmF0aWMgYmVoYXZpb3Igb2YgdGhlCi1hcHBsaWNhdGlvbi48L3A+Ci08cD5Zb3UgbWF5IGFsc28gZXhwZXJpZW5jZSBzZXJpYWxpemF0aW9uIHByb2JsZW1zLjwvcD4KLTxwPlVzaW5nIGFuIGluc3RhbmNlIGZpZWxkIGlzIHJlY29tbWVuZGVkLjwvcD4KLTxwPkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgc2VlIDxhIGhyZWY9Imh0dHA6Ly9idWdzLnN1bi5jb20vYnVnZGF0YWJhc2Uvdmlld19idWcuZG8/YnVnX2lkPTYyMzE1NzkiPlN1biBCdWcgIzYyMzE1Nzk8L2E+Ci1hbmQgPGEgaHJlZj0iaHR0cDovL2J1Z3Muc3VuLmNvbS9idWdkYXRhYmFzZS92aWV3X2J1Zy5kbz9idWdfaWQ9NjE3ODk5NyI+U3VuIEJ1ZyAjNjE3ODk5NzwvYT4uPC9wPgotCi0KLTxoMz48YSBuYW1lPSJTV0xfU0xFRVBfV0lUSF9MT0NLX0hFTEQiPlNXTDogTWV0aG9kIGNhbGxzIFRocmVhZC5zbGVlcCgpIHdpdGggYSBsb2NrIGhlbGQgKFNXTF9TTEVFUF9XSVRIX0xPQ0tfSEVMRCk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFRoaXMgbWV0aG9kIGNhbGxzIFRocmVhZC5zbGVlcCgpIHdpdGggYSBsb2NrIGhlbGQuICBUaGlzIG1heSByZXN1bHQKLSAgICAgIGluIHZlcnkgcG9vciBwZXJmb3JtYW5jZSBhbmQgc2NhbGFiaWxpdHksIG9yIGEgZGVhZGxvY2ssIHNpbmNlIG90aGVyIHRocmVhZHMgbWF5Ci0gICAgICBiZSB3YWl0aW5nIHRvIGFjcXVpcmUgdGhlIGxvY2suICBJdCBpcyBhIG11Y2ggYmV0dGVyIGlkZWEgdG8gY2FsbAotICAgICAgd2FpdCgpIG9uIHRoZSBsb2NrLCB3aGljaCByZWxlYXNlcyB0aGUgbG9jayBhbmQgYWxsb3dzIG90aGVyIHRocmVhZHMKLSAgICAgIHRvIHJ1bi4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iVExXX1RXT19MT0NLX1dBSVQiPlRMVzogV2FpdCB3aXRoIHR3byBsb2NrcyBoZWxkIChUTFdfVFdPX0xPQ0tfV0FJVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBXYWl0aW5nIG9uIGEgbW9uaXRvciB3aGlsZSB0d28gbG9ja3MgYXJlIGhlbGQgbWF5IGNhdXNlCi0gIGRlYWRsb2NrLgotICAgJm5ic3A7Ci0gICBQZXJmb3JtaW5nIGEgd2FpdCBvbmx5IHJlbGVhc2VzIHRoZSBsb2NrIG9uIHRoZSBvYmplY3QKLSAgIGJlaW5nIHdhaXRlZCBvbiwgbm90IGFueSBvdGhlciBsb2Nrcy4KLSAgICZuYnNwOwotVGhpcyBub3QgbmVjZXNzYXJpbHkgYSBidWcsIGJ1dCBpcyB3b3J0aCBleGFtaW5pbmcKLSAgY2xvc2VseS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVR19TWU5DX1NFVF9VTlNZTkNfR0VUIj5VRzogVW5zeW5jaHJvbml6ZWQgZ2V0IG1ldGhvZCwgc3luY2hyb25pemVkIHNldCBtZXRob2QgKFVHX1NZTkNfU0VUX1VOU1lOQ19HRVQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBjb250YWlucyBzaW1pbGFybHktbmFtZWQgZ2V0IGFuZCBzZXQKLSAgbWV0aG9kcyB3aGVyZSB0aGUgc2V0IG1ldGhvZCBpcyBzeW5jaHJvbml6ZWQgYW5kIHRoZSBnZXQgbWV0aG9kIGlzIG5vdC4mbmJzcDsKLSAgVGhpcyBtYXkgcmVzdWx0IGluIGluY29ycmVjdCBiZWhhdmlvciBhdCBydW50aW1lLCBhcyBjYWxsZXJzIG9mIHRoZSBnZXQKLSAgbWV0aG9kIHdpbGwgbm90IG5lY2Vzc2FyaWx5IHNlZSBhIGNvbnNpc3RlbnQgc3RhdGUgZm9yIHRoZSBvYmplY3QuJm5ic3A7Ci0gIFRoZSBnZXQgbWV0aG9kIHNob3VsZCBiZSBtYWRlIHN5bmNocm9uaXplZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVTF9VTlJFTEVBU0VEX0xPQ0siPlVMOiBNZXRob2QgZG9lcyBub3QgcmVsZWFzZSBsb2NrIG9uIGFsbCBwYXRocyAoVUxfVU5SRUxFQVNFRF9MT0NLKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBhY3F1aXJlcyBhIEpTUi0xNjYgKDxjb2RlPmphdmEudXRpbC5jb25jdXJyZW50PC9jb2RlPikgbG9jaywKLWJ1dCBkb2VzIG5vdCByZWxlYXNlIGl0IG9uIGFsbCBwYXRocyBvdXQgb2YgdGhlIG1ldGhvZC4gIEluIGdlbmVyYWwsIHRoZSBjb3JyZWN0IGlkaW9tCi1mb3IgdXNpbmcgYSBKU1ItMTY2IGxvY2sgaXM6Ci08L3A+Ci08cHJlPgotICAgIExvY2sgbCA9IC4uLjsKLSAgICBsLmxvY2soKTsKLSAgICB0cnkgewotICAgICAgICAvLyBkbyBzb21ldGhpbmcKLSAgICB9IGZpbmFsbHkgewotICAgICAgICBsLnVubG9jaygpOwotICAgIH0KLTwvcHJlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVUxfVU5SRUxFQVNFRF9MT0NLX0VYQ0VQVElPTl9QQVRIIj5VTDogTWV0aG9kIGRvZXMgbm90IHJlbGVhc2UgbG9jayBvbiBhbGwgZXhjZXB0aW9uIHBhdGhzIChVTF9VTlJFTEVBU0VEX0xPQ0tfRVhDRVBUSU9OX1BBVEgpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGFjcXVpcmVzIGEgSlNSLTE2NiAoPGNvZGU+amF2YS51dGlsLmNvbmN1cnJlbnQ8L2NvZGU+KSBsb2NrLAotYnV0IGRvZXMgbm90IHJlbGVhc2UgaXQgb24gYWxsIGV4Y2VwdGlvbiBwYXRocyBvdXQgb2YgdGhlIG1ldGhvZC4gIEluIGdlbmVyYWwsIHRoZSBjb3JyZWN0IGlkaW9tCi1mb3IgdXNpbmcgYSBKU1ItMTY2IGxvY2sgaXM6Ci08L3A+Ci08cHJlPgotICAgIExvY2sgbCA9IC4uLjsKLSAgICBsLmxvY2soKTsKLSAgICB0cnkgewotICAgICAgICAvLyBkbyBzb21ldGhpbmcKLSAgICB9IGZpbmFsbHkgewotICAgICAgICBsLnVubG9jaygpOwotICAgIH0KLTwvcHJlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVVdfVU5DT05EX1dBSVQiPlVXOiBVbmNvbmRpdGlvbmFsIHdhaXQgKFVXX1VOQ09ORF9XQUlUKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgY2FsbCB0byA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0LndhaXQoKTwvY29kZT4gd2hpY2gKLSAgaXMgbm90IGd1YXJkZWQgYnkgY29uZGl0aW9uYWwgY29udHJvbCBmbG93LiZuYnNwOyBUaGUgY29kZSBzaG91bGQKLSAgICB2ZXJpZnkgdGhhdCBjb25kaXRpb24gaXQgaW50ZW5kcyB0byB3YWl0IGZvciBpcyBub3QgYWxyZWFkeSBzYXRpc2ZpZWQKLSAgICBiZWZvcmUgY2FsbGluZyB3YWl0OyBhbnkgcHJldmlvdXMgbm90aWZpY2F0aW9ucyB3aWxsIGJlIGlnbm9yZWQuCi0gIDwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlZPX1ZPTEFUSUxFX0lOQ1JFTUVOVCI+Vk86IEFuIGluY3JlbWVudCB0byBhIHZvbGF0aWxlIGZpZWxkIGlzbid0IGF0b21pYyAoVk9fVk9MQVRJTEVfSU5DUkVNRU5UKTwvYT48L2gzPgotCi0KLTxwPlRoaXMgY29kZSBpbmNyZW1lbnRzIGEgdm9sYXRpbGUgZmllbGQuIEluY3JlbWVudHMgb2Ygdm9sYXRpbGUgZmllbGRzIGFyZW4ndAotYXRvbWljLiBJZiBtb3JlIHRoYW4gb25lIHRocmVhZCBpcyBpbmNyZW1lbnRpbmcgdGhlIGZpZWxkIGF0IHRoZSBzYW1lIHRpbWUsCi1pbmNyZW1lbnRzIGNvdWxkIGJlIGxvc3QuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJWT19WT0xBVElMRV9SRUZFUkVOQ0VfVE9fQVJSQVkiPlZPOiBBIHZvbGF0aWxlIHJlZmVyZW5jZSB0byBhbiBhcnJheSBkb2Vzbid0IHRyZWF0IHRoZSBhcnJheSBlbGVtZW50cyBhcyB2b2xhdGlsZSAoVk9fVk9MQVRJTEVfUkVGRVJFTkNFX1RPX0FSUkFZKTwvYT48L2gzPgotCi0KLTxwPlRoaXMgZGVjbGFyZXMgYSB2b2xhdGlsZSByZWZlcmVuY2UgdG8gYW4gYXJyYXksIHdoaWNoIG1pZ2h0IG5vdCBiZSB3aGF0Ci15b3Ugd2FudC4gV2l0aCBhIHZvbGF0aWxlIHJlZmVyZW5jZSB0byBhbiBhcnJheSwgcmVhZHMgYW5kIHdyaXRlcyBvZgotdGhlIHJlZmVyZW5jZSB0byB0aGUgYXJyYXkgYXJlIHRyZWF0ZWQgYXMgdm9sYXRpbGUsIGJ1dCB0aGUgYXJyYXkgZWxlbWVudHMKLWFyZSBub24tdm9sYXRpbGUuIFRvIGdldCB2b2xhdGlsZSBhcnJheSBlbGVtZW50cywgeW91IHdpbGwgbmVlZCB0byB1c2UKLW9uZSBvZiB0aGUgYXRvbWljIGFycmF5IGNsYXNzZXMgaW4gamF2YS51dGlsLmNvbmN1cnJlbnQgKHByb3ZpZGVkCi1pbiBKYXZhIDUuMCkuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iV0xfVVNJTkdfR0VUQ0xBU1NfUkFUSEVSX1RIQU5fQ0xBU1NfTElURVJBTCI+V0w6IFN5bmNocm9uaXphdGlvbiBvbiBnZXRDbGFzcyByYXRoZXIgdGhhbiBjbGFzcyBsaXRlcmFsIChXTF9VU0lOR19HRVRDTEFTU19SQVRIRVJfVEhBTl9DTEFTU19MSVRFUkFMKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICBUaGlzIGluc3RhbmNlIG1ldGhvZCBzeW5jaHJvbml6ZXMgb24gPGNvZGU+dGhpcy5nZXRDbGFzcygpPC9jb2RlPi4gSWYgdGhpcyBjbGFzcyBpcyBzdWJjbGFzc2VkLAotICAgICBzdWJjbGFzc2VzIHdpbGwgc3luY2hyb25pemUgb24gdGhlIGNsYXNzIG9iamVjdCBmb3IgdGhlIHN1YmNsYXNzLCB3aGljaCBpc24ndCBsaWtlbHkgd2hhdCB3YXMgaW50ZW5kZWQuCi0gICAgIEZvciBleGFtcGxlLCBjb25zaWRlciB0aGlzIGNvZGUgZnJvbSBqYXZhLmF3dC5MYWJlbDo8L3A+Ci0gICAgIDxwcmU+Ci0gICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBiYXNlID0gImxhYmVsIjsKLSAgICAgcHJpdmF0ZSBzdGF0aWMgaW50IG5hbWVDb3VudGVyID0gMDsKLSAgICAgU3RyaW5nIGNvbnN0cnVjdENvbXBvbmVudE5hbWUoKSB7Ci0gICAgICAgIHN5bmNocm9uaXplZCAoZ2V0Q2xhc3MoKSkgewotICAgICAgICAgICAgcmV0dXJuIGJhc2UgKyBuYW1lQ291bnRlcisrOwotICAgICAgICB9Ci0gICAgIH0KLSAgICAgPC9wcmU+Ci0gICAgIDxwPlN1YmNsYXNzZXMgb2YgPGNvZGU+TGFiZWw8L2NvZGU+IHdvbid0IHN5bmNocm9uaXplIG9uIHRoZSBzYW1lIHN1YmNsYXNzLCBnaXZpbmcgcmlzZSB0byBhIGRhdGFyYWNlLgotICAgICBJbnN0ZWFkLCB0aGlzIGNvZGUgc2hvdWxkIGJlIHN5bmNocm9uaXppbmcgb24gPGNvZGU+TGFiZWwuY2xhc3M8L2NvZGU+PC9wPgotICAgICAgPHByZT4KLSAgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIGJhc2UgPSAibGFiZWwiOwotICAgICBwcml2YXRlIHN0YXRpYyBpbnQgbmFtZUNvdW50ZXIgPSAwOwotICAgICBTdHJpbmcgY29uc3RydWN0Q29tcG9uZW50TmFtZSgpIHsKLSAgICAgICAgc3luY2hyb25pemVkIChMYWJlbC5jbGFzcykgewotICAgICAgICAgICAgcmV0dXJuIGJhc2UgKyBuYW1lQ291bnRlcisrOwotICAgICAgICB9Ci0gICAgIH0KLSAgICAgPC9wcmU+Ci0gICAgICA8cD5CdWcgcGF0dGVybiBjb250cmlidXRlZCBieSBKYXNvbiBNZWhyZW5zPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iV1NfV1JJVEVPQkpFQ1RfU1lOQyI+V1M6IENsYXNzJ3Mgd3JpdGVPYmplY3QoKSBtZXRob2QgaXMgc3luY2hyb25pemVkIGJ1dCBub3RoaW5nIGVsc2UgaXMgKFdTX1dSSVRFT0JKRUNUX1NZTkMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBoYXMgYSA8Y29kZT53cml0ZU9iamVjdCgpPC9jb2RlPiBtZXRob2Qgd2hpY2ggaXMgc3luY2hyb25pemVkOwotICBob3dldmVyLCBubyBvdGhlciBtZXRob2Qgb2YgdGhlIGNsYXNzIGlzIHN5bmNocm9uaXplZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJXQV9BV0FJVF9OT1RfSU5fTE9PUCI+V2E6IENvbmRpdGlvbi5hd2FpdCgpIG5vdCBpbiBsb29wICAoV0FfQVdBSVRfTk9UX0lOX0xPT1ApPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSBjYWxsIHRvIDxjb2RlPmphdmEudXRpbC5jb25jdXJyZW50LmF3YWl0KCk8L2NvZGU+Ci0gICAob3IgdmFyaWFudHMpCi0gIHdoaWNoIGlzIG5vdCBpbiBhIGxvb3AuJm5ic3A7IElmIHRoZSBvYmplY3QgaXMgdXNlZCBmb3IgbXVsdGlwbGUgY29uZGl0aW9ucywKLSAgdGhlIGNvbmRpdGlvbiB0aGUgY2FsbGVyIGludGVuZGVkIHRvIHdhaXQgZm9yIG1pZ2h0IG5vdCBiZSB0aGUgb25lCi0gIHRoYXQgYWN0dWFsbHkgb2NjdXJyZWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iV0FfTk9UX0lOX0xPT1AiPldhOiBXYWl0IG5vdCBpbiBsb29wICAoV0FfTk9UX0lOX0xPT1ApPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSBjYWxsIHRvIDxjb2RlPmphdmEubGFuZy5PYmplY3Qud2FpdCgpPC9jb2RlPgotICB3aGljaCBpcyBub3QgaW4gYSBsb29wLiZuYnNwOyBJZiB0aGUgbW9uaXRvciBpcyB1c2VkIGZvciBtdWx0aXBsZSBjb25kaXRpb25zLAotICB0aGUgY29uZGl0aW9uIHRoZSBjYWxsZXIgaW50ZW5kZWQgdG8gd2FpdCBmb3IgbWlnaHQgbm90IGJlIHRoZSBvbmUKLSAgdGhhdCBhY3R1YWxseSBvY2N1cnJlZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOT0lTRV9GSUVMRF9SRUZFUkVOQ0UiPk5PSVNFOiBCb2d1cyB3YXJuaW5nIGFib3V0IGEgZmllbGQgcmVmZXJlbmNlIChOT0lTRV9GSUVMRF9SRUZFUkVOQ0UpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPkJvZ3VzIHdhcm5pbmcuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTk9JU0VfTUVUSE9EX0NBTEwiPk5PSVNFOiBCb2d1cyB3YXJuaW5nIGFib3V0IGEgbWV0aG9kIGNhbGwgKE5PSVNFX01FVEhPRF9DQUxMKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD5Cb2d1cyB3YXJuaW5nLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5PSVNFX05VTExfREVSRUZFUkVOQ0UiPk5PSVNFOiBCb2d1cyB3YXJuaW5nIGFib3V0IGEgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIChOT0lTRV9OVUxMX0RFUkVGRVJFTkNFKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD5Cb2d1cyB3YXJuaW5nLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5PSVNFX09QRVJBVElPTiI+Tk9JU0U6IEJvZ3VzIHdhcm5pbmcgYWJvdXQgYW4gb3BlcmF0aW9uIChOT0lTRV9PUEVSQVRJT04pPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPkJvZ3VzIHdhcm5pbmcuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQlhfQk9YSU5HX0lNTUVESUFURUxZX1VOQk9YRUQiPkJ4OiBQcmltaXRpdmUgdmFsdWUgaXMgYm94ZWQgYW5kIHRoZW4gaW1tZWRpYXRlbHkgdW5ib3hlZCAoQlhfQk9YSU5HX0lNTUVESUFURUxZX1VOQk9YRUQpPC9hPjwvaDM+Ci0KLQotICA8cD5BIHByaW1pdGl2ZSBpcyBib3hlZCwgYW5kIHRoZW4gaW1tZWRpYXRlbHkgdW5ib3hlZC4gVGhpcyBwcm9iYWJseSBpcyBkdWUgdG8gYSBtYW51YWwKLSAgICBib3hpbmcgaW4gYSBwbGFjZSB3aGVyZSBhbiB1bmJveGVkIHZhbHVlIGlzIHJlcXVpcmVkLCB0aHVzIGZvcmNpbmcgdGhlIGNvbXBpbGVyCi10byBpbW1lZGlhdGVseSB1bmRvIHRoZSB3b3JrIG9mIHRoZSBib3hpbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCWF9CT1hJTkdfSU1NRURJQVRFTFlfVU5CT1hFRF9UT19QRVJGT1JNX0NPRVJDSU9OIj5CeDogUHJpbWl0aXZlIHZhbHVlIGlzIGJveGVkIHRoZW4gdW5ib3hlZCB0byBwZXJmb3JtIHByaW1pdGl2ZSBjb2VyY2lvbiAoQlhfQk9YSU5HX0lNTUVESUFURUxZX1VOQk9YRURfVE9fUEVSRk9STV9DT0VSQ0lPTik8L2E+PC9oMz4KLQotCi0gIDxwPkEgcHJpbWl0aXZlIGJveGVkIHZhbHVlIGNvbnN0cnVjdGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGNvbnZlcnRlZCBpbnRvIGEgZGlmZmVyZW50IHByaW1pdGl2ZSB0eXBlCi0oZS5nLiwgPGNvZGU+bmV3IERvdWJsZShkKS5pbnRWYWx1ZSgpPC9jb2RlPikuIEp1c3QgcGVyZm9ybSBkaXJlY3QgcHJpbWl0aXZlIGNvZXJjaW9uIChlLmcuLCA8Y29kZT4oaW50KSBkPC9jb2RlPikuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQlhfVU5CT1hJTkdfSU1NRURJQVRFTFlfUkVCT1hFRCI+Qng6IEJveGVkIHZhbHVlIGlzIHVuYm94ZWQgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVib3hlZCAoQlhfVU5CT1hJTkdfSU1NRURJQVRFTFlfUkVCT1hFRCk8L2E+PC9oMz4KLQotCi0gIDxwPkEgYm94ZWQgdmFsdWUgaXMgdW5ib3hlZCBhbmQgdGhlbiBpbW1lZGlhdGVseSByZWJveGVkLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fQk9YRURfUFJJTUlUSVZFX0ZPUl9QQVJTSU5HIj5CeDogQm94aW5nL3VuYm94aW5nIHRvIHBhcnNlIGEgcHJpbWl0aXZlIChETV9CT1hFRF9QUklNSVRJVkVfRk9SX1BBUlNJTkcpPC9hPjwvaDM+Ci0KLQotICA8cD5BIGJveGVkIHByaW1pdGl2ZSBpcyBjcmVhdGVkIGZyb20gYSBTdHJpbmcsIGp1c3QgdG8gZXh0cmFjdCB0aGUgdW5ib3hlZCBwcmltaXRpdmUgdmFsdWUuCi0gIEl0IGlzIG1vcmUgZWZmaWNpZW50IHRvIGp1c3QgY2FsbCB0aGUgc3RhdGljIHBhcnNlWFhYIG1ldGhvZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETV9CT1hFRF9QUklNSVRJVkVfVE9TVFJJTkciPkJ4OiBNZXRob2QgYWxsb2NhdGVzIGEgYm94ZWQgcHJpbWl0aXZlIGp1c3QgdG8gY2FsbCB0b1N0cmluZyAoRE1fQk9YRURfUFJJTUlUSVZFX1RPU1RSSU5HKTwvYT48L2gzPgotCi0KLSAgPHA+QSBib3hlZCBwcmltaXRpdmUgaXMgYWxsb2NhdGVkIGp1c3QgdG8gY2FsbCB0b1N0cmluZygpLiBJdCBpcyBtb3JlIGVmZmVjdGl2ZSB0byBqdXN0IHVzZSB0aGUgc3RhdGljCi0gIGZvcm0gb2YgdG9TdHJpbmcgd2hpY2ggdGFrZXMgdGhlIHByaW1pdGl2ZSB2YWx1ZS4gU28sPC9wPgotICA8dGFibGU+Ci0gICAgIDx0cj48dGg+UmVwbGFjZS4uLjwvdGg+PHRoPldpdGggdGhpcy4uLjwvdGg+PC90cj4KLSAgICAgPHRyPjx0ZD5uZXcgSW50ZWdlcigxKS50b1N0cmluZygpPC90ZD48dGQ+SW50ZWdlci50b1N0cmluZygxKTwvdGQ+PC90cj4KLSAgICAgPHRyPjx0ZD5uZXcgTG9uZygxKS50b1N0cmluZygpPC90ZD48dGQ+TG9uZy50b1N0cmluZygxKTwvdGQ+PC90cj4KLSAgICAgPHRyPjx0ZD5uZXcgRmxvYXQoMS4wKS50b1N0cmluZygpPC90ZD48dGQ+RmxvYXQudG9TdHJpbmcoMS4wKTwvdGQ+PC90cj4KLSAgICAgPHRyPjx0ZD5uZXcgRG91YmxlKDEuMCkudG9TdHJpbmcoKTwvdGQ+PHRkPkRvdWJsZS50b1N0cmluZygxLjApPC90ZD48L3RyPgotICAgICA8dHI+PHRkPm5ldyBCeXRlKDEpLnRvU3RyaW5nKCk8L3RkPjx0ZD5CeXRlLnRvU3RyaW5nKDEpPC90ZD48L3RyPgotICAgICA8dHI+PHRkPm5ldyBTaG9ydCgxKS50b1N0cmluZygpPC90ZD48dGQ+U2hvcnQudG9TdHJpbmcoMSk8L3RkPjwvdHI+Ci0gICAgIDx0cj48dGQ+bmV3IEJvb2xlYW4odHJ1ZSkudG9TdHJpbmcoKTwvdGQ+PHRkPkJvb2xlYW4udG9TdHJpbmcodHJ1ZSk8L3RkPjwvdHI+Ci0gIDwvdGFibGU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETV9GUF9OVU1CRVJfQ1RPUiI+Qng6IE1ldGhvZCBpbnZva2VzIGluZWZmaWNpZW50IGZsb2F0aW5nLXBvaW50IE51bWJlciBjb25zdHJ1Y3RvcjsgdXNlIHN0YXRpYyB2YWx1ZU9mIGluc3RlYWQgKERNX0ZQX05VTUJFUl9DVE9SKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVXNpbmcgPGNvZGU+bmV3IERvdWJsZShkb3VibGUpPC9jb2RlPiBpcyBndWFyYW50ZWVkIHRvIGFsd2F5cyByZXN1bHQgaW4gYSBuZXcgb2JqZWN0IHdoZXJlYXMKLSAgICAgIDxjb2RlPkRvdWJsZS52YWx1ZU9mKGRvdWJsZSk8L2NvZGU+IGFsbG93cyBjYWNoaW5nIG9mIHZhbHVlcyB0byBiZSBkb25lIGJ5IHRoZSBjb21waWxlciwgY2xhc3MgbGlicmFyeSwgb3IgSlZNLgotICAgICAgVXNpbmcgb2YgY2FjaGVkIHZhbHVlcyBhdm9pZHMgb2JqZWN0IGFsbG9jYXRpb24gYW5kIHRoZSBjb2RlIHdpbGwgYmUgZmFzdGVyLgotICAgICAgPC9wPgotICAgICAgPHA+Ci0gICAgICBVbmxlc3MgdGhlIGNsYXNzIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIEpWTXMgcHJlZGF0aW5nIEphdmEgMS41LAotICAgICAgdXNlIGVpdGhlciBhdXRvYm94aW5nIG9yIHRoZSA8Y29kZT52YWx1ZU9mKCk8L2NvZGU+IG1ldGhvZCB3aGVuIGNyZWF0aW5nIGluc3RhbmNlcyBvZiA8Y29kZT5Eb3VibGU8L2NvZGU+IGFuZCA8Y29kZT5GbG9hdDwvY29kZT4uCi0gICAgICA8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJETV9OVU1CRVJfQ1RPUiI+Qng6IE1ldGhvZCBpbnZva2VzIGluZWZmaWNpZW50IE51bWJlciBjb25zdHJ1Y3RvcjsgdXNlIHN0YXRpYyB2YWx1ZU9mIGluc3RlYWQgKERNX05VTUJFUl9DVE9SKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVXNpbmcgPGNvZGU+bmV3IEludGVnZXIoaW50KTwvY29kZT4gaXMgZ3VhcmFudGVlZCB0byBhbHdheXMgcmVzdWx0IGluIGEgbmV3IG9iamVjdCB3aGVyZWFzCi0gICAgICA8Y29kZT5JbnRlZ2VyLnZhbHVlT2YoaW50KTwvY29kZT4gYWxsb3dzIGNhY2hpbmcgb2YgdmFsdWVzIHRvIGJlIGRvbmUgYnkgdGhlIGNvbXBpbGVyLCBjbGFzcyBsaWJyYXJ5LCBvciBKVk0uCi0gICAgICBVc2luZyBvZiBjYWNoZWQgdmFsdWVzIGF2b2lkcyBvYmplY3QgYWxsb2NhdGlvbiBhbmQgdGhlIGNvZGUgd2lsbCBiZSBmYXN0ZXIuCi0gICAgICA8L3A+Ci0gICAgICA8cD4KLSAgICAgIFZhbHVlcyBiZXR3ZWVuIC0xMjggYW5kIDEyNyBhcmUgZ3VhcmFudGVlZCB0byBoYXZlIGNvcnJlc3BvbmRpbmcgY2FjaGVkIGluc3RhbmNlcwotICAgICAgYW5kIHVzaW5nIDxjb2RlPnZhbHVlT2Y8L2NvZGU+IGlzIGFwcHJveGltYXRlbHkgMy41IHRpbWVzIGZhc3RlciB0aGFuIHVzaW5nIGNvbnN0cnVjdG9yLgotICAgICAgRm9yIHZhbHVlcyBvdXRzaWRlIHRoZSBjb25zdGFudCByYW5nZSB0aGUgcGVyZm9ybWFuY2Ugb2YgYm90aCBzdHlsZXMgaXMgdGhlIHNhbWUuCi0gICAgICA8L3A+Ci0gICAgICA8cD4KLSAgICAgIFVubGVzcyB0aGUgY2xhc3MgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggSlZNcyBwcmVkYXRpbmcgSmF2YSAxLjUsCi0gICAgICB1c2UgZWl0aGVyIGF1dG9ib3hpbmcgb3IgdGhlIDxjb2RlPnZhbHVlT2YoKTwvY29kZT4gbWV0aG9kIHdoZW4gY3JlYXRpbmcgaW5zdGFuY2VzIG9mCi0gICAgICA8Y29kZT5Mb25nPC9jb2RlPiwgPGNvZGU+SW50ZWdlcjwvY29kZT4sIDxjb2RlPlNob3J0PC9jb2RlPiwgPGNvZGU+Q2hhcmFjdGVyPC9jb2RlPiwgYW5kIDxjb2RlPkJ5dGU8L2NvZGU+LgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0JMT0NLSU5HX01FVEhPRFNfT05fVVJMIj5EbTogVGhlIGVxdWFscyBhbmQgaGFzaENvZGUgbWV0aG9kcyBvZiBVUkwgYXJlIGJsb2NraW5nIChETUlfQkxPQ0tJTkdfTUVUSE9EU19PTl9VUkwpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIGVxdWFscyBhbmQgaGFzaENvZGUKLW1ldGhvZCBvZiBVUkwgcGVyZm9ybSBkb21haW4gbmFtZSByZXNvbHV0aW9uLCB0aGlzIGNhbiByZXN1bHQgaW4gYSBiaWcgcGVyZm9ybWFuY2UgaGl0LgotU2VlIDxhIGhyZWY9Imh0dHA6Ly9taWNoYWVsc2NoYXJmLmJsb2dzcG90LmNvbS8yMDA2LzExL2phdmFuZXR1cmxlcXVhbHMtYW5kLWhhc2hjb2RlLW1ha2UuaHRtbCI+aHR0cDovL21pY2hhZWxzY2hhcmYuYmxvZ3Nwb3QuY29tLzIwMDYvMTEvamF2YW5ldHVybGVxdWFscy1hbmQtaGFzaGNvZGUtbWFrZS5odG1sPC9hPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLUNvbnNpZGVyIHVzaW5nIDxjb2RlPmphdmEubmV0LlVSSTwvY29kZT4gaW5zdGVhZC4KLSAgIDwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9DT0xMRUNUSU9OX09GX1VSTFMiPkRtOiBNYXBzIGFuZCBzZXRzIG9mIFVSTHMgY2FuIGJlIHBlcmZvcm1hbmNlIGhvZ3MgKERNSV9DT0xMRUNUSU9OX09GX1VSTFMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2Qgb3IgZmllbGQgaXMgb3IgdXNlcyBhIE1hcCBvciBTZXQgb2YgVVJMcy4gU2luY2UgYm90aCB0aGUgZXF1YWxzIGFuZCBoYXNoQ29kZQotbWV0aG9kIG9mIFVSTCBwZXJmb3JtIGRvbWFpbiBuYW1lIHJlc29sdXRpb24sIHRoaXMgY2FuIHJlc3VsdCBpbiBhIGJpZyBwZXJmb3JtYW5jZSBoaXQuCi1TZWUgPGEgaHJlZj0iaHR0cDovL21pY2hhZWxzY2hhcmYuYmxvZ3Nwb3QuY29tLzIwMDYvMTEvamF2YW5ldHVybGVxdWFscy1hbmQtaGFzaGNvZGUtbWFrZS5odG1sIj5odHRwOi8vbWljaGFlbHNjaGFyZi5ibG9nc3BvdC5jb20vMjAwNi8xMS9qYXZhbmV0dXJsZXF1YWxzLWFuZC1oYXNoY29kZS1tYWtlLmh0bWw8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLgotQ29uc2lkZXIgdXNpbmcgPGNvZGU+amF2YS5uZXQuVVJJPC9jb2RlPiBpbnN0ZWFkLgotICAgPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fQk9PTEVBTl9DVE9SIj5EbTogTWV0aG9kIGludm9rZXMgaW5lZmZpY2llbnQgQm9vbGVhbiBjb25zdHJ1Y3RvcjsgdXNlIEJvb2xlYW4udmFsdWVPZiguLi4pIGluc3RlYWQgKERNX0JPT0xFQU5fQ1RPUik8L2E+PC9oMz4KLQotCi0gIDxwPiBDcmVhdGluZyBuZXcgaW5zdGFuY2VzIG9mIDxjb2RlPmphdmEubGFuZy5Cb29sZWFuPC9jb2RlPiB3YXN0ZXMKLSAgbWVtb3J5LCBzaW5jZSA8Y29kZT5Cb29sZWFuPC9jb2RlPiBvYmplY3RzIGFyZSBpbW11dGFibGUgYW5kIHRoZXJlIGFyZQotICBvbmx5IHR3byB1c2VmdWwgdmFsdWVzIG9mIHRoaXMgdHlwZS4mbmJzcDsgVXNlIHRoZSA8Y29kZT5Cb29sZWFuLnZhbHVlT2YoKTwvY29kZT4KLSAgbWV0aG9kIChvciBKYXZhIDEuNSBhdXRvYm94aW5nKSB0byBjcmVhdGUgPGNvZGU+Qm9vbGVhbjwvY29kZT4gb2JqZWN0cyBpbnN0ZWFkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX0dDIj5EbTogRXhwbGljaXQgZ2FyYmFnZSBjb2xsZWN0aW9uOyBleHRyZW1lbHkgZHViaW91cyBleGNlcHQgaW4gYmVuY2htYXJraW5nIGNvZGUgKERNX0dDKTwvYT48L2gzPgotCi0KLSAgPHA+IENvZGUgZXhwbGljaXRseSBpbnZva2VzIGdhcmJhZ2UgY29sbGVjdGlvbi4KLSAgRXhjZXB0IGZvciBzcGVjaWZpYyB1c2UgaW4gYmVuY2htYXJraW5nLCB0aGlzIGlzIHZlcnkgZHViaW91cy48L3A+Ci0gIDxwPkluIHRoZSBwYXN0LCBzaXR1YXRpb25zIHdoZXJlIHBlb3BsZSBoYXZlIGV4cGxpY2l0bHkgaW52b2tlZAotICB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IgaW4gcm91dGluZXMgc3VjaCBhcyBjbG9zZSBvciBmaW5hbGl6ZSBtZXRob2RzCi0gIGhhcyBsZWQgdG8gaHVnZSBwZXJmb3JtYW5jZSBibGFjayBob2xlcy4gR2FyYmFnZSBjb2xsZWN0aW9uCi0gICBjYW4gYmUgZXhwZW5zaXZlLiBBbnkgc2l0dWF0aW9uIHRoYXQgZm9yY2VzIGh1bmRyZWRzIG9yIHRob3VzYW5kcwotICAgb2YgZ2FyYmFnZSBjb2xsZWN0aW9ucyB3aWxsIGJyaW5nIHRoZSBtYWNoaW5lIHRvIGEgY3Jhd2wuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fTkVXX0ZPUl9HRVRDTEFTUyI+RG06IE1ldGhvZCBhbGxvY2F0ZXMgYW4gb2JqZWN0LCBvbmx5IHRvIGdldCB0aGUgY2xhc3Mgb2JqZWN0IChETV9ORVdfRk9SX0dFVENMQVNTKTwvYT48L2gzPgotCi0KLSAgPHA+VGhpcyBtZXRob2QgYWxsb2NhdGVzIGFuIG9iamVjdCBqdXN0IHRvIGNhbGwgZ2V0Q2xhc3MoKSBvbiBpdCwgaW4gb3JkZXIgdG8KLSAgcmV0cmlldmUgdGhlIENsYXNzIG9iamVjdCBmb3IgaXQuIEl0IGlzIHNpbXBsZXIgdG8ganVzdCBhY2Nlc3MgdGhlIC5jbGFzcyBwcm9wZXJ0eSBvZiB0aGUgY2xhc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fTkVYVElOVF9WSUFfTkVYVERPVUJMRSI+RG06IFVzZSB0aGUgbmV4dEludCBtZXRob2Qgb2YgUmFuZG9tIHJhdGhlciB0aGFuIG5leHREb3VibGUgdG8gZ2VuZXJhdGUgYSByYW5kb20gaW50ZWdlciAoRE1fTkVYVElOVF9WSUFfTkVYVERPVUJMRSk8L2E+PC9oMz4KLQotCi0gIDxwPklmIDxjb2RlPnI8L2NvZGU+IGlzIGEgPGNvZGU+amF2YS51dGlsLlJhbmRvbTwvY29kZT4sIHlvdSBjYW4gZ2VuZXJhdGUgYSByYW5kb20gbnVtYmVyIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+bi0xPC9jb2RlPgotdXNpbmcgPGNvZGU+ci5uZXh0SW50KG4pPC9jb2RlPiwgcmF0aGVyIHRoYW4gdXNpbmcgPGNvZGU+KGludCkoci5uZXh0RG91YmxlKCkgKiBuKTwvY29kZT4uCi08L3A+Ci08cD5UaGUgYXJndW1lbnQgdG8gbmV4dEludCBtdXN0IGJlIHBvc2l0aXZlLiBJZiwgZm9yIGV4YW1wbGUsIHlvdSB3YW50IHRvIGdlbmVyYXRlIGEgcmFuZG9tCi12YWx1ZSBmcm9tIC05OSB0byAwLCB1c2UgPGNvZGU+LXIubmV4dEludCgxMDApPC9jb2RlPi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX1NUUklOR19DVE9SIj5EbTogTWV0aG9kIGludm9rZXMgaW5lZmZpY2llbnQgbmV3IFN0cmluZyhTdHJpbmcpIGNvbnN0cnVjdG9yIChETV9TVFJJTkdfQ1RPUik8L2E+PC9oMz4KLQotCi0gIDxwPiBVc2luZyB0aGUgPGNvZGU+amF2YS5sYW5nLlN0cmluZyhTdHJpbmcpPC9jb2RlPiBjb25zdHJ1Y3RvciB3YXN0ZXMgbWVtb3J5Ci0gIGJlY2F1c2UgdGhlIG9iamVjdCBzbyBjb25zdHJ1Y3RlZCB3aWxsIGJlIGZ1bmN0aW9uYWxseSBpbmRpc3Rpbmd1aXNoYWJsZQotICBmcm9tIHRoZSA8Y29kZT5TdHJpbmc8L2NvZGU+IHBhc3NlZCBhcyBhIHBhcmFtZXRlci4mbmJzcDsgSnVzdCB1c2UgdGhlCi0gIGFyZ3VtZW50IDxjb2RlPlN0cmluZzwvY29kZT4gZGlyZWN0bHkuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fU1RSSU5HX1RPU1RSSU5HIj5EbTogTWV0aG9kIGludm9rZXMgdG9TdHJpbmcoKSBtZXRob2Qgb24gYSBTdHJpbmcgKERNX1NUUklOR19UT1NUUklORyk8L2E+PC9oMz4KLQotCi0gIDxwPiBDYWxsaW5nIDxjb2RlPlN0cmluZy50b1N0cmluZygpPC9jb2RlPiBpcyBqdXN0IGEgcmVkdW5kYW50IG9wZXJhdGlvbi4KLSAgSnVzdCB1c2UgdGhlIFN0cmluZy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETV9TVFJJTkdfVk9JRF9DVE9SIj5EbTogTWV0aG9kIGludm9rZXMgaW5lZmZpY2llbnQgbmV3IFN0cmluZygpIGNvbnN0cnVjdG9yIChETV9TVFJJTkdfVk9JRF9DVE9SKTwvYT48L2gzPgotCi0KLSAgPHA+IENyZWF0aW5nIGEgbmV3IDxjb2RlPmphdmEubGFuZy5TdHJpbmc8L2NvZGU+IG9iamVjdCB1c2luZyB0aGUKLSAgbm8tYXJndW1lbnQgY29uc3RydWN0b3Igd2FzdGVzIG1lbW9yeSBiZWNhdXNlIHRoZSBvYmplY3Qgc28gY3JlYXRlZCB3aWxsCi0gIGJlIGZ1bmN0aW9uYWxseSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIHRoZSBlbXB0eSBzdHJpbmcgY29uc3RhbnQKLSAgPGNvZGU+IiI8L2NvZGU+LiZuYnNwOyBKYXZhIGd1YXJhbnRlZXMgdGhhdCBpZGVudGljYWwgc3RyaW5nIGNvbnN0YW50cwotICB3aWxsIGJlIHJlcHJlc2VudGVkIGJ5IHRoZSBzYW1lIDxjb2RlPlN0cmluZzwvY29kZT4gb2JqZWN0LiZuYnNwOyBUaGVyZWZvcmUsCi0gIHlvdSBzaG91bGQganVzdCB1c2UgdGhlIGVtcHR5IHN0cmluZyBjb25zdGFudCBkaXJlY3RseS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJIU0NfSFVHRV9TSEFSRURfU1RSSU5HX0NPTlNUQU5UIj5IU0M6IEh1Z2Ugc3RyaW5nIGNvbnN0YW50cyBpcyBkdXBsaWNhdGVkIGFjcm9zcyBtdWx0aXBsZSBjbGFzcyBmaWxlcyAoSFNDX0hVR0VfU0hBUkVEX1NUUklOR19DT05TVEFOVCk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICBBIGxhcmdlIFN0cmluZyBjb25zdGFudCBpcyBkdXBsaWNhdGVkIGFjcm9zcyBtdWx0aXBsZSBjbGFzcyBmaWxlcy4KLSAgICBUaGlzIGlzIGxpa2VseSBiZWNhdXNlIGEgZmluYWwgZmllbGQgaXMgaW5pdGlhbGl6ZWQgdG8gYSBTdHJpbmcgY29uc3RhbnQsIGFuZCB0aGUgSmF2YSBsYW5ndWFnZQotICAgIG1hbmRhdGVzIHRoYXQgYWxsIHJlZmVyZW5jZXMgdG8gYSBmaW5hbCBmaWVsZCBmcm9tIG90aGVyIGNsYXNzZXMgYmUgaW5saW5lZCBpbnRvCi10aGF0IGNsYXNzZmlsZS4gU2VlIDxhIGhyZWY9Imh0dHA6Ly9idWdzLnN1bi5jb20vYnVnZGF0YWJhc2Uvdmlld19idWcuZG8/YnVnX2lkPTY0NDc0NzUiPkpESyBidWcgNjQ0NzQ3NTwvYT4KLSAgICBmb3IgYSBkZXNjcmlwdGlvbiBvZiBhbiBvY2N1cnJlbmNlIG9mIHRoaXMgYnVnIGluIHRoZSBKREsgYW5kIGhvdyByZXNvbHZpbmcgaXQgcmVkdWNlZAotICAgIHRoZSBzaXplIG9mIHRoZSBKREsgYnkgMSBtZWdhYnl0ZS4KLTwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iSU1BX0lORUZGSUNJRU5UX01FTUJFUl9BQ0NFU1MiPklNQTogTWV0aG9kIGFjY2Vzc2VzIGEgcHJpdmF0ZSBtZW1iZXIgdmFyaWFibGUgb2Ygb3duaW5nIGNsYXNzIChJTUFfSU5FRkZJQ0lFTlRfTUVNQkVSX0FDQ0VTUyk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFRoaXMgbWV0aG9kIG9mIGFuIGlubmVyIGNsYXNzIHJlYWRzIGZyb20gb3Igd3JpdGVzIHRvIGEgcHJpdmF0ZSBtZW1iZXIgdmFyaWFibGUgb2YgdGhlIG93bmluZyBjbGFzcywKLSAgICAgIG9yIGNhbGxzIGEgcHJpdmF0ZSBtZXRob2Qgb2YgdGhlIG93bmluZyBjbGFzcy4gVGhlIGNvbXBpbGVyIG11c3QgZ2VuZXJhdGUgYSBzcGVjaWFsIG1ldGhvZCB0byBhY2Nlc3MgdGhpcwotICAgICAgcHJpdmF0ZSBtZW1iZXIsIGNhdXNpbmcgdGhpcyB0byBiZSBsZXNzIGVmZmljaWVudC4gUmVsYXhpbmcgdGhlIHByb3RlY3Rpb24gb2YgdGhlIG1lbWJlciB2YXJpYWJsZSBvciBtZXRob2QKLSAgICAgIHdpbGwgYWxsb3cgdGhlIGNvbXBpbGVyIHRvIHRyZWF0IHRoaXMgYXMgYSBub3JtYWwgYWNjZXNzLgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iSVRBX0lORUZGSUNJRU5UX1RPX0FSUkFZIj5JVEE6IE1ldGhvZCB1c2VzIHRvQXJyYXkoKSB3aXRoIHplcm8tbGVuZ3RoIGFycmF5IGFyZ3VtZW50IChJVEFfSU5FRkZJQ0lFTlRfVE9fQVJSQVkpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIHVzZXMgdGhlIHRvQXJyYXkoKSBtZXRob2Qgb2YgYSBjb2xsZWN0aW9uIGRlcml2ZWQgY2xhc3MsIGFuZCBwYXNzZXMKLWluIGEgemVyby1sZW5ndGggcHJvdG90eXBlIGFycmF5IGFyZ3VtZW50LiAgSXQgaXMgbW9yZSBlZmZpY2llbnQgdG8gdXNlCi08Y29kZT5teUNvbGxlY3Rpb24udG9BcnJheShuZXcgRm9vW215Q29sbGVjdGlvbi5zaXplKCldKTwvY29kZT4KLUlmIHRoZSBhcnJheSBwYXNzZWQgaW4gaXMgYmlnIGVub3VnaCB0byBzdG9yZSBhbGwgb2YgdGhlCi1lbGVtZW50cyBvZiB0aGUgY29sbGVjdGlvbiwgdGhlbiBpdCBpcyBwb3B1bGF0ZWQgYW5kIHJldHVybmVkCi1kaXJlY3RseS4gVGhpcyBhdm9pZHMgdGhlIG5lZWQgdG8gY3JlYXRlIGEgc2Vjb25kIGFycmF5Ci0oYnkgcmVmbGVjdGlvbikgdG8gcmV0dXJuIGFzIHRoZSByZXN1bHQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0JTQ19VU0VfU1RSSU5HQlVGRkVSX0NPTkNBVEVOQVRJT04iPlNCU0M6IE1ldGhvZCBjb25jYXRlbmF0ZXMgc3RyaW5ncyB1c2luZyArIGluIGEgbG9vcCAoU0JTQ19VU0VfU1RSSU5HQlVGRkVSX0NPTkNBVEVOQVRJT04pPC9hPjwvaDM+Ci0KLQotPHA+IFRoZSBtZXRob2Qgc2VlbXMgdG8gYmUgYnVpbGRpbmcgYSBTdHJpbmcgdXNpbmcgY29uY2F0ZW5hdGlvbiBpbiBhIGxvb3AuCi1JbiBlYWNoIGl0ZXJhdGlvbiwgdGhlIFN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gYSBTdHJpbmdCdWZmZXIvU3RyaW5nQnVpbGRlciwKLSAgIGFwcGVuZGVkIHRvLCBhbmQgY29udmVydGVkIGJhY2sgdG8gYSBTdHJpbmcuCi0gICBUaGlzIGNhbiBsZWFkIHRvIGEgY29zdCBxdWFkcmF0aWMgaW4gdGhlIG51bWJlciBvZiBpdGVyYXRpb25zLAotICAgYXMgdGhlIGdyb3dpbmcgc3RyaW5nIGlzIHJlY29waWVkIGluIGVhY2ggaXRlcmF0aW9uLiA8L3A+Ci0KLTxwPkJldHRlciBwZXJmb3JtYW5jZSBjYW4gYmUgb2J0YWluZWQgYnkgdXNpbmcKLWEgU3RyaW5nQnVmZmVyIChvciBTdHJpbmdCdWlsZGVyIGluIEphdmEgMS41KSBleHBsaWNpdGx5LjwvcD4KLQotPHA+IEZvciBleGFtcGxlOjwvcD4KLTxwcmU+Ci0gIC8vIFRoaXMgaXMgYmFkCi0gIFN0cmluZyBzID0gIiI7Ci0gIGZvciAoaW50IGkgPSAwOyBpICZsdDsgZmllbGQubGVuZ3RoOyArK2kpIHsKLSAgICBzID0gcyArIGZpZWxkW2ldOwotICB9Ci0KLSAgLy8gVGhpcyBpcyBiZXR0ZXIKLSAgU3RyaW5nQnVmZmVyIGJ1ZiA9IG5ldyBTdHJpbmdCdWZmZXIoKTsKLSAgZm9yIChpbnQgaSA9IDA7IGkgJmx0OyBmaWVsZC5sZW5ndGg7ICsraSkgewotICAgIGJ1Zi5hcHBlbmQoZmllbGRbaV0pOwotICB9Ci0gIFN0cmluZyBzID0gYnVmLnRvU3RyaW5nKCk7Ci08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNJQ19JTk5FUl9TSE9VTERfQkVfU1RBVElDIj5TSUM6IFNob3VsZCBiZSBhIHN0YXRpYyBpbm5lciBjbGFzcyAoU0lDX0lOTkVSX1NIT1VMRF9CRV9TVEFUSUMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBpcyBhbiBpbm5lciBjbGFzcywgYnV0IGRvZXMgbm90IHVzZSBpdHMgZW1iZWRkZWQgcmVmZXJlbmNlCi0gIHRvIHRoZSBvYmplY3Qgd2hpY2ggY3JlYXRlZCBpdC4mbmJzcDsgVGhpcyByZWZlcmVuY2UgbWFrZXMgdGhlIGluc3RhbmNlcwotICBvZiB0aGUgY2xhc3MgbGFyZ2VyLCBhbmQgbWF5IGtlZXAgdGhlIHJlZmVyZW5jZSB0byB0aGUgY3JlYXRvciBvYmplY3QKLSAgYWxpdmUgbG9uZ2VyIHRoYW4gbmVjZXNzYXJ5LiZuYnNwOyBJZiBwb3NzaWJsZSwgdGhlIGNsYXNzIHNob3VsZCBiZQotICAgbWFkZSBzdGF0aWMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTSUNfSU5ORVJfU0hPVUxEX0JFX1NUQVRJQ19BTk9OIj5TSUM6IENvdWxkIGJlIHJlZmFjdG9yZWQgaW50byBhIG5hbWVkIHN0YXRpYyBpbm5lciBjbGFzcyAoU0lDX0lOTkVSX1NIT1VMRF9CRV9TVEFUSUNfQU5PTik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGlzIGFuIGlubmVyIGNsYXNzLCBidXQgZG9lcyBub3QgdXNlIGl0cyBlbWJlZGRlZCByZWZlcmVuY2UKLSAgdG8gdGhlIG9iamVjdCB3aGljaCBjcmVhdGVkIGl0LiZuYnNwOyBUaGlzIHJlZmVyZW5jZSBtYWtlcyB0aGUgaW5zdGFuY2VzCi0gIG9mIHRoZSBjbGFzcyBsYXJnZXIsIGFuZCBtYXkga2VlcCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBjcmVhdG9yIG9iamVjdAotICBhbGl2ZSBsb25nZXIgdGhhbiBuZWNlc3NhcnkuJm5ic3A7IElmIHBvc3NpYmxlLCB0aGUgY2xhc3Mgc2hvdWxkIGJlCi0gIG1hZGUgaW50byBhIDxlbT5zdGF0aWM8L2VtPiBpbm5lciBjbGFzcy4gU2luY2UgYW5vbnltb3VzIGlubmVyCi1jbGFzc2VzIGNhbm5vdCBiZSBtYXJrZWQgYXMgc3RhdGljLCBkb2luZyB0aGlzIHdpbGwgcmVxdWlyZSByZWZhY3RvcmluZwotdGhlIGlubmVyIGNsYXNzIHNvIHRoYXQgaXQgaXMgYSBuYW1lZCBpbm5lciBjbGFzcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTSUNfSU5ORVJfU0hPVUxEX0JFX1NUQVRJQ19ORUVEU19USElTIj5TSUM6IENvdWxkIGJlIHJlZmFjdG9yZWQgaW50byBhIHN0YXRpYyBpbm5lciBjbGFzcyAoU0lDX0lOTkVSX1NIT1VMRF9CRV9TVEFUSUNfTkVFRFNfVEhJUyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGlzIGFuIGlubmVyIGNsYXNzLCBidXQgZG9lcyBub3QgdXNlIGl0cyBlbWJlZGRlZCByZWZlcmVuY2UKLSAgdG8gdGhlIG9iamVjdCB3aGljaCBjcmVhdGVkIGl0IGV4Y2VwdCBkdXJpbmcgY29uc3RydWN0aW9uIG9mIHRoZQotaW5uZXIgb2JqZWN0LiZuYnNwOyBUaGlzIHJlZmVyZW5jZSBtYWtlcyB0aGUgaW5zdGFuY2VzCi0gIG9mIHRoZSBjbGFzcyBsYXJnZXIsIGFuZCBtYXkga2VlcCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBjcmVhdG9yIG9iamVjdAotICBhbGl2ZSBsb25nZXIgdGhhbiBuZWNlc3NhcnkuJm5ic3A7IElmIHBvc3NpYmxlLCB0aGUgY2xhc3Mgc2hvdWxkIGJlCi0gIG1hZGUgaW50byBhIDxlbT5zdGF0aWM8L2VtPiBpbm5lciBjbGFzcy4gU2luY2UgdGhlIHJlZmVyZW5jZSB0byB0aGUKLSAgIG91dGVyIG9iamVjdCBpcyByZXF1aXJlZCBkdXJpbmcgY29uc3RydWN0aW9uIG9mIHRoZSBpbm5lciBpbnN0YW5jZSwKLSAgIHRoZSBpbm5lciBjbGFzcyB3aWxsIG5lZWQgdG8gYmUgcmVmYWN0b3JlZCBzbyBhcyB0bwotICAgcGFzcyBhIHJlZmVyZW5jZSB0byB0aGUgb3V0ZXIgaW5zdGFuY2UgdG8gdGhlIGNvbnN0cnVjdG9yCi0gICBmb3IgdGhlIGlubmVyIGNsYXNzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNTX1NIT1VMRF9CRV9TVEFUSUMiPlNTOiBVbnJlYWQgZmllbGQ6IHNob3VsZCB0aGlzIGZpZWxkIGJlIHN0YXRpYz8gKFNTX1NIT1VMRF9CRV9TVEFUSUMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBjb250YWlucyBhbiBpbnN0YW5jZSBmaW5hbCBmaWVsZCB0aGF0Ci0gICBpcyBpbml0aWFsaXplZCB0byBhIGNvbXBpbGUtdGltZSBzdGF0aWMgdmFsdWUuCi0gICBDb25zaWRlciBtYWtpbmcgdGhlIGZpZWxkIHN0YXRpYy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVTV9VTk5FQ0VTU0FSWV9NQVRIIj5VTTogTWV0aG9kIGNhbGxzIHN0YXRpYyBNYXRoIGNsYXNzIG1ldGhvZCBvbiBhIGNvbnN0YW50IHZhbHVlIChVTV9VTk5FQ0VTU0FSWV9NQVRIKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCB1c2VzIGEgc3RhdGljIG1ldGhvZCBmcm9tIGphdmEubGFuZy5NYXRoIG9uIGEgY29uc3RhbnQgdmFsdWUuIFRoaXMgbWV0aG9kJ3MKLXJlc3VsdCBpbiB0aGlzIGNhc2UsIGNhbiBiZSBkZXRlcm1pbmVkIHN0YXRpY2FsbHksIGFuZCBpcyBmYXN0ZXIgYW5kIHNvbWV0aW1lcyBtb3JlIGFjY3VyYXRlIHRvCi1qdXN0IHVzZSB0aGUgY29uc3RhbnQuIE1ldGhvZHMgZGV0ZWN0ZWQgYXJlOgotPC9wPgotPHRhYmxlPgotPHRyPgotICAgPHRoPk1ldGhvZDwvdGg+IDx0aD5QYXJhbWV0ZXI8L3RoPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5hYnM8L3RkPiA8dGQ+LWFueS08L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5hY29zPC90ZD4gPHRkPjAuMCBvciAxLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5hc2luPC90ZD4gPHRkPjAuMCBvciAxLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5hdGFuPC90ZD4gPHRkPjAuMCBvciAxLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5hdGFuMjwvdGQ+IDx0ZD4wLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5jYnJ0PC90ZD4gPHRkPjAuMCBvciAxLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5jZWlsPC90ZD4gPHRkPi1hbnktPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+Y29zPC90ZD4gPHRkPjAuMDwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPmNvc2g8L3RkPiA8dGQ+MC4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+ZXhwPC90ZD4gPHRkPjAuMCBvciAxLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5leHBtMTwvdGQ+IDx0ZD4wLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5mbG9vcjwvdGQ+IDx0ZD4tYW55LTwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPmxvZzwvdGQ+IDx0ZD4wLjAgb3IgMS4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+bG9nMTA8L3RkPiA8dGQ+MC4wIG9yIDEuMDwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPnJpbnQ8L3RkPiA8dGQ+LWFueS08L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5yb3VuZDwvdGQ+IDx0ZD4tYW55LTwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPnNpbjwvdGQ+IDx0ZD4wLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5zaW5oPC90ZD4gPHRkPjAuMDwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPnNxcnQ8L3RkPiA8dGQ+MC4wIG9yIDEuMDwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPnRhbjwvdGQ+IDx0ZD4wLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD50YW5oPC90ZD4gPHRkPjAuMDwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPnRvRGVncmVlczwvdGQ+IDx0ZD4wLjAgb3IgMS4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+dG9SYWRpYW5zPC90ZD4gPHRkPjAuMDwvdGQ+Ci08L3RyPgotPC90YWJsZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IlVQTV9VTkNBTExFRF9QUklWQVRFX01FVEhPRCI+VVBNOiBQcml2YXRlIG1ldGhvZCBpcyBuZXZlciBjYWxsZWQgKFVQTV9VTkNBTExFRF9QUklWQVRFX01FVEhPRCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBwcml2YXRlIG1ldGhvZCBpcyBuZXZlciBjYWxsZWQuIEFsdGhvdWdoIGl0IGlzCi1wb3NzaWJsZSB0aGF0IHRoZSBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIHRocm91Z2ggcmVmbGVjdGlvbiwKLWl0IGlzIG1vcmUgbGlrZWx5IHRoYXQgdGhlIG1ldGhvZCBpcyBuZXZlciB1c2VkLCBhbmQgc2hvdWxkIGJlCi1yZW1vdmVkLgotPC9wPgotCi0KLTxoMz48YSBuYW1lPSJVUkZfVU5SRUFEX0ZJRUxEIj5VckY6IFVucmVhZCBmaWVsZCAoVVJGX1VOUkVBRF9GSUVMRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGZpZWxkIGlzIG5ldmVyIHJlYWQuJm5ic3A7IENvbnNpZGVyIHJlbW92aW5nIGl0IGZyb20gdGhlIGNsYXNzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlVVRl9VTlVTRURfRklFTEQiPlV1RjogVW51c2VkIGZpZWxkIChVVUZfVU5VU0VEX0ZJRUxEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgZmllbGQgaXMgbmV2ZXIgdXNlZC4mbmJzcDsgQ29uc2lkZXIgcmVtb3ZpbmcgaXQgZnJvbSB0aGUgY2xhc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iV01JX1dST05HX01BUF9JVEVSQVRPUiI+V01JOiBJbmVmZmljaWVudCB1c2Ugb2Yga2V5U2V0IGl0ZXJhdG9yIGluc3RlYWQgb2YgZW50cnlTZXQgaXRlcmF0b3IgKFdNSV9XUk9OR19NQVBfSVRFUkFUT1IpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGFjY2Vzc2VzIHRoZSB2YWx1ZSBvZiBhIE1hcCBlbnRyeSwgdXNpbmcgYSBrZXkgdGhhdCB3YXMgcmV0cmlldmVkIGZyb20KLWEga2V5U2V0IGl0ZXJhdG9yLiBJdCBpcyBtb3JlIGVmZmljaWVudCB0byB1c2UgYW4gaXRlcmF0b3Igb24gdGhlIGVudHJ5U2V0IG9mIHRoZSBtYXAsIHRvIGF2b2lkIHRoZQotTWFwLmdldChrZXkpIGxvb2t1cC48L3A+Ci0KLSAgICAgICAgCi08aDM+PGEgbmFtZT0iRE1JX0NPTlNUQU5UX0RCX1BBU1NXT1JEIj5EbTogSGFyZGNvZGVkIGNvbnN0YW50IGRhdGFiYXNlIHBhc3N3b3JkIChETUlfQ09OU1RBTlRfREJfUEFTU1dPUkQpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPlRoaXMgY29kZSBjcmVhdGVzIGEgZGF0YWJhc2UgY29ubmVjdCB1c2luZyBhIGhhcmRjb2RlZCwgY29uc3RhbnQgcGFzc3dvcmQuIEFueW9uZSB3aXRoIGFjY2VzcyB0byBlaXRoZXIgdGhlIHNvdXJjZSBjb2RlIG9yIHRoZSBjb21waWxlZCBjb2RlIGNhbgotICAgIGVhc2lseSBsZWFybiB0aGUgcGFzc3dvcmQuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9FTVBUWV9EQl9QQVNTV09SRCI+RG06IEVtcHR5IGRhdGFiYXNlIHBhc3N3b3JkIChETUlfRU1QVFlfREJfUEFTU1dPUkQpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPlRoaXMgY29kZSBjcmVhdGVzIGEgZGF0YWJhc2UgY29ubmVjdCB1c2luZyBhIGJsYW5rIG9yIGVtcHR5IHBhc3N3b3JkLiBUaGlzIGluZGljYXRlcyB0aGF0IHRoZSBkYXRhYmFzZSBpcyBub3QgcHJvdGVjdGVkIGJ5IGEgcGFzc3dvcmQuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkhSU19SRVFVRVNUX1BBUkFNRVRFUl9UT19DT09LSUUiPkhSUzogSFRUUCBjb29raWUgZm9ybWVkIGZyb20gdW50cnVzdGVkIGlucHV0IChIUlNfUkVRVUVTVF9QQVJBTUVURVJfVE9fQ09PS0lFKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD5UaGlzIGNvZGUgY29uc3RydWN0cyBhbiBIVFRQIENvb2tpZSB1c2luZyBhbiB1bnRydXN0ZWQgSFRUUCBwYXJhbWV0ZXIuIElmIHRoaXMgY29va2llIGlzIGFkZGVkIHRvIGFuIEhUVFAgcmVzcG9uc2UsIGl0IHdpbGwgYWxsb3cgYSBIVFRQIHJlc3BvbnNlIHNwbGl0dGluZwotdnVsbmVyYWJpbGl0eS4gU2VlIDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSFRUUF9yZXNwb25zZV9zcGxpdHRpbmciPmh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSFRUUF9yZXNwb25zZV9zcGxpdHRpbmc8L2E+Ci1mb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+Ci08cD5GaW5kQnVncyBsb29rcyBvbmx5IGZvciB0aGUgbW9zdCBibGF0YW50LCBvYnZpb3VzIGNhc2VzIG9mIEhUVFAgcmVzcG9uc2Ugc3BsaXR0aW5nLgotSWYgRmluZEJ1Z3MgZm91bmQgPGVtPmFueTwvZW0+LCB5b3UgPGVtPmFsbW9zdCBjZXJ0YWlubHk8L2VtPiBoYXZlIG1vcmUKLXZ1bG5lcmFiaWxpdGllcyB0aGF0IEZpbmRCdWdzIGRvZXNuJ3QgcmVwb3J0LiBJZiB5b3UgYXJlIGNvbmNlcm5lZCBhYm91dCBIVFRQIHJlc3BvbnNlIHNwbGl0dGluZywgeW91IHNob3VsZCBzZXJpb3VzbHkKLWNvbnNpZGVyIHVzaW5nIGEgY29tbWVyY2lhbCBzdGF0aWMgYW5hbHlzaXMgb3IgcGVuLXRlc3RpbmcgdG9vbC4KLTwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iSFJTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX0hUVFBfSEVBREVSIj5IUlM6IEhUVFAgUmVzcG9uc2Ugc3BsaXR0aW5nIHZ1bG5lcmFiaWxpdHkgKEhSU19SRVFVRVNUX1BBUkFNRVRFUl9UT19IVFRQX0hFQURFUik8L2E+PC9oMz4KLQotICAgICAgICAgICAgCi0gICAgPHA+VGhpcyBjb2RlIGRpcmVjdGx5IHdyaXRlcyBhbiBIVFRQIHBhcmFtZXRlciB0byBhbiBIVFRQIGhlYWRlciwgd2hpY2ggYWxsb3dzIGZvciBhIEhUVFAgcmVzcG9uc2Ugc3BsaXR0aW5nCi12dWxuZXJhYmlsaXR5LiBTZWUgPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IVFRQX3Jlc3BvbnNlX3NwbGl0dGluZyI+aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IVFRQX3Jlc3BvbnNlX3NwbGl0dGluZzwvYT4KLWZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KLTxwPkZpbmRCdWdzIGxvb2tzIG9ubHkgZm9yIHRoZSBtb3N0IGJsYXRhbnQsIG9idmlvdXMgY2FzZXMgb2YgSFRUUCByZXNwb25zZSBzcGxpdHRpbmcuCi1JZiBGaW5kQnVncyBmb3VuZCA8ZW0+YW55PC9lbT4sIHlvdSA8ZW0+YWxtb3N0IGNlcnRhaW5seTwvZW0+IGhhdmUgbW9yZQotdnVsbmVyYWJpbGl0aWVzIHRoYXQgRmluZEJ1Z3MgZG9lc24ndCByZXBvcnQuIElmIHlvdSBhcmUgY29uY2VybmVkIGFib3V0IEhUVFAgcmVzcG9uc2Ugc3BsaXR0aW5nLCB5b3Ugc2hvdWxkIHNlcmlvdXNseQotY29uc2lkZXIgdXNpbmcgYSBjb21tZXJjaWFsIHN0YXRpYyBhbmFseXNpcyBvciBwZW4tdGVzdGluZyB0b29sLgotPC9wPgotCi0KLSAgICAgICAgCi08aDM+PGEgbmFtZT0iUFRfQUJTT0xVVEVfUEFUSF9UUkFWRVJTQUwiPlBUOiBBYnNvbHV0ZSBwYXRoIHRyYXZlcnNhbCBpbiBzZXJ2bGV0IChQVF9BQlNPTFVURV9QQVRIX1RSQVZFUlNBTCk8L2E+PC9oMz4KLQotCi0gICAgPHA+VGhlIHNvZnR3YXJlIHVzZXMgYW4gSFRUUCByZXF1ZXN0IHBhcmFtZXRlciB0byBjb25zdHJ1Y3QgYSBwYXRobmFtZSB0aGF0IHNob3VsZCBiZSB3aXRoaW4gYSByZXN0cmljdGVkIGRpcmVjdG9yeSwKLWJ1dCBpdCBkb2VzIG5vdCBwcm9wZXJseSBuZXV0cmFsaXplIGFic29sdXRlIHBhdGggc2VxdWVuY2VzIHN1Y2ggYXMgIi9hYnMvcGF0aCIgdGhhdCBjYW4gcmVzb2x2ZSB0byBhIGxvY2F0aW9uIHRoYXQgaXMgb3V0c2lkZSBvZiB0aGF0IGRpcmVjdG9yeS4KLQotU2VlIDxhIGhyZWY9Imh0dHA6Ly9jd2UubWl0cmUub3JnL2RhdGEvZGVmaW5pdGlvbnMvMzYuaHRtbCI+aHR0cDovL2N3ZS5taXRyZS5vcmcvZGF0YS9kZWZpbml0aW9ucy8zNi5odG1sPC9hPgotZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgotPHA+RmluZEJ1Z3MgbG9va3Mgb25seSBmb3IgdGhlIG1vc3QgYmxhdGFudCwgb2J2aW91cyBjYXNlcyBvZiBhYnNvbHV0ZSBwYXRoIHRyYXZlcnNhbC4KLUlmIEZpbmRCdWdzIGZvdW5kIDxlbT5hbnk8L2VtPiwgeW91IDxlbT5hbG1vc3QgY2VydGFpbmx5PC9lbT4gaGF2ZSBtb3JlCi12dWxuZXJhYmlsaXRpZXMgdGhhdCBGaW5kQnVncyBkb2Vzbid0IHJlcG9ydC4gSWYgeW91IGFyZSBjb25jZXJuZWQgYWJvdXQgYWJzb2x1dGUgcGF0aCB0cmF2ZXJzYWwsIHlvdSBzaG91bGQgc2VyaW91c2x5Ci1jb25zaWRlciB1c2luZyBhIGNvbW1lcmNpYWwgc3RhdGljIGFuYWx5c2lzIG9yIHBlbi10ZXN0aW5nIHRvb2wuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IlBUX1JFTEFUSVZFX1BBVEhfVFJBVkVSU0FMIj5QVDogUmVsYXRpdmUgcGF0aCB0cmF2ZXJzYWwgaW4gc2VydmxldCAoUFRfUkVMQVRJVkVfUEFUSF9UUkFWRVJTQUwpPC9hPjwvaDM+Ci0KLQotICAgIDxwPlRoZSBzb2Z0d2FyZSB1c2VzIGFuIEhUVFAgcmVxdWVzdCBwYXJhbWV0ZXIgdG8gY29uc3RydWN0IGEgcGF0aG5hbWUgdGhhdCBzaG91bGQgYmUgd2l0aGluIGEgcmVzdHJpY3RlZCBkaXJlY3RvcnksIGJ1dCBpdCBkb2VzIG5vdCBwcm9wZXJseSBuZXV0cmFsaXplIHNlcXVlbmNlcyBzdWNoIGFzICIuLiIgdGhhdCBjYW4gcmVzb2x2ZSB0byBhIGxvY2F0aW9uIHRoYXQgaXMgb3V0c2lkZSBvZiB0aGF0IGRpcmVjdG9yeS4KLQotU2VlIDxhIGhyZWY9Imh0dHA6Ly9jd2UubWl0cmUub3JnL2RhdGEvZGVmaW5pdGlvbnMvMjMuaHRtbCI+aHR0cDovL2N3ZS5taXRyZS5vcmcvZGF0YS9kZWZpbml0aW9ucy8yMy5odG1sPC9hPgotZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgotPHA+RmluZEJ1Z3MgbG9va3Mgb25seSBmb3IgdGhlIG1vc3QgYmxhdGFudCwgb2J2aW91cyBjYXNlcyBvZiByZWxhdGl2ZSBwYXRoIHRyYXZlcnNhbC4KLUlmIEZpbmRCdWdzIGZvdW5kIDxlbT5hbnk8L2VtPiwgeW91IDxlbT5hbG1vc3QgY2VydGFpbmx5PC9lbT4gaGF2ZSBtb3JlCi12dWxuZXJhYmlsaXRpZXMgdGhhdCBGaW5kQnVncyBkb2Vzbid0IHJlcG9ydC4gSWYgeW91IGFyZSBjb25jZXJuZWQgYWJvdXQgcmVsYXRpdmUgcGF0aCB0cmF2ZXJzYWwsIHlvdSBzaG91bGQgc2VyaW91c2x5Ci1jb25zaWRlciB1c2luZyBhIGNvbW1lcmNpYWwgc3RhdGljIGFuYWx5c2lzIG9yIHBlbi10ZXN0aW5nIHRvb2wuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IlNRTF9OT05DT05TVEFOVF9TVFJJTkdfUEFTU0VEX1RPX0VYRUNVVEUiPlNRTDogTm9uY29uc3RhbnQgc3RyaW5nIHBhc3NlZCB0byBleGVjdXRlIG1ldGhvZCBvbiBhbiBTUUwgc3RhdGVtZW50IChTUUxfTk9OQ09OU1RBTlRfU1RSSU5HX1BBU1NFRF9UT19FWEVDVVRFKTwvYT48L2gzPgotCi0KLSAgPHA+VGhlIG1ldGhvZCBpbnZva2VzIHRoZSBleGVjdXRlIG1ldGhvZCBvbiBhbiBTUUwgc3RhdGVtZW50IHdpdGggYSBTdHJpbmcgdGhhdCBzZWVtcwotdG8gYmUgZHluYW1pY2FsbHkgZ2VuZXJhdGVkLiBDb25zaWRlciB1c2luZwotYSBwcmVwYXJlZCBzdGF0ZW1lbnQgaW5zdGVhZC4gSXQgaXMgbW9yZSBlZmZpY2llbnQgYW5kIGxlc3MgdnVsbmVyYWJsZSB0bwotU1FMIGluamVjdGlvbiBhdHRhY2tzLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU1FMX1BSRVBBUkVEX1NUQVRFTUVOVF9HRU5FUkFURURfRlJPTV9OT05DT05TVEFOVF9TVFJJTkciPlNRTDogQSBwcmVwYXJlZCBzdGF0ZW1lbnQgaXMgZ2VuZXJhdGVkIGZyb20gYSBub25jb25zdGFudCBTdHJpbmcgKFNRTF9QUkVQQVJFRF9TVEFURU1FTlRfR0VORVJBVEVEX0ZST01fTk9OQ09OU1RBTlRfU1RSSU5HKTwvYT48L2gzPgotCi0KLSAgPHA+VGhlIGNvZGUgY3JlYXRlcyBhbiBTUUwgcHJlcGFyZWQgc3RhdGVtZW50IGZyb20gYSBub25jb25zdGFudCBTdHJpbmcuCi1JZiB1bmNoZWNrZWQsIHRhaW50ZWQgZGF0YSBmcm9tIGEgdXNlciBpcyB1c2VkIGluIGJ1aWxkaW5nIHRoaXMgU3RyaW5nLCBTUUwgaW5qZWN0aW9uIGNvdWxkCi1iZSB1c2VkIHRvIG1ha2UgdGhlIHByZXBhcmVkIHN0YXRlbWVudCBkbyBzb21ldGhpbmcgdW5leHBlY3RlZCBhbmQgdW5kZXNpcmFibGUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJYU1NfUkVRVUVTVF9QQVJBTUVURVJfVE9fSlNQX1dSSVRFUiI+WFNTOiBKU1AgcmVmbGVjdGVkIGNyb3NzIHNpdGUgc2NyaXB0aW5nIHZ1bG5lcmFiaWxpdHkgKFhTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19KU1BfV1JJVEVSKTwvYT48L2gzPgotCi0KLSAgICA8cD5UaGlzIGNvZGUgZGlyZWN0bHkgd3JpdGVzIGFuIEhUVFAgcGFyYW1ldGVyIHRvIEpTUCBvdXRwdXQsIHdoaWNoIGFsbG93cyBmb3IgYSBjcm9zcyBzaXRlIHNjcmlwdGluZwotdnVsbmVyYWJpbGl0eS4gU2VlIDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3Jvc3Mtc2l0ZV9zY3JpcHRpbmciPmh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3Jvc3Mtc2l0ZV9zY3JpcHRpbmc8L2E+Ci1mb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+Ci08cD5GaW5kQnVncyBsb29rcyBvbmx5IGZvciB0aGUgbW9zdCBibGF0YW50LCBvYnZpb3VzIGNhc2VzIG9mIGNyb3NzIHNpdGUgc2NyaXB0aW5nLgotSWYgRmluZEJ1Z3MgZm91bmQgPGVtPmFueTwvZW0+LCB5b3UgPGVtPmFsbW9zdCBjZXJ0YWlubHk8L2VtPiBoYXZlIG1vcmUgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcKLXZ1bG5lcmFiaWxpdGllcyB0aGF0IEZpbmRCdWdzIGRvZXNuJ3QgcmVwb3J0LiBJZiB5b3UgYXJlIGNvbmNlcm5lZCBhYm91dCBjcm9zcyBzaXRlIHNjcmlwdGluZywgeW91IHNob3VsZCBzZXJpb3VzbHkKLWNvbnNpZGVyIHVzaW5nIGEgY29tbWVyY2lhbCBzdGF0aWMgYW5hbHlzaXMgb3IgcGVuLXRlc3RpbmcgdG9vbC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlhTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19TRU5EX0VSUk9SIj5YU1M6IFNlcnZsZXQgcmVmbGVjdGVkIGNyb3NzIHNpdGUgc2NyaXB0aW5nIHZ1bG5lcmFiaWxpdHkgaW4gZXJyb3IgcGFnZSAoWFNTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX1NFTkRfRVJST1IpPC9hPjwvaDM+Ci0KLQotICAgIDxwPlRoaXMgY29kZSBkaXJlY3RseSB3cml0ZXMgYW4gSFRUUCBwYXJhbWV0ZXIgdG8gYSBTZXJ2ZXIgZXJyb3IgcGFnZSAodXNpbmcgSHR0cFNlcnZsZXRSZXNwb25zZS5zZW5kRXJyb3IpLiBFY2hvaW5nIHRoaXMgdW50cnVzdGVkIGlucHV0IGFsbG93cwotZm9yIGEgcmVmbGVjdGVkIGNyb3NzIHNpdGUgc2NyaXB0aW5nCi12dWxuZXJhYmlsaXR5LiBTZWUgPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Dcm9zcy1zaXRlX3NjcmlwdGluZyI+aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Dcm9zcy1zaXRlX3NjcmlwdGluZzwvYT4KLWZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KLTxwPkZpbmRCdWdzIGxvb2tzIG9ubHkgZm9yIHRoZSBtb3N0IGJsYXRhbnQsIG9idmlvdXMgY2FzZXMgb2YgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcuCi1JZiBGaW5kQnVncyBmb3VuZCA8ZW0+YW55PC9lbT4sIHlvdSA8ZW0+YWxtb3N0IGNlcnRhaW5seTwvZW0+IGhhdmUgbW9yZSBjcm9zcyBzaXRlIHNjcmlwdGluZwotdnVsbmVyYWJpbGl0aWVzIHRoYXQgRmluZEJ1Z3MgZG9lc24ndCByZXBvcnQuIElmIHlvdSBhcmUgY29uY2VybmVkIGFib3V0IGNyb3NzIHNpdGUgc2NyaXB0aW5nLCB5b3Ugc2hvdWxkIHNlcmlvdXNseQotY29uc2lkZXIgdXNpbmcgYSBjb21tZXJjaWFsIHN0YXRpYyBhbmFseXNpcyBvciBwZW4tdGVzdGluZyB0b29sLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJYU1NfUkVRVUVTVF9QQVJBTUVURVJfVE9fU0VSVkxFVF9XUklURVIiPlhTUzogU2VydmxldCByZWZsZWN0ZWQgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcgdnVsbmVyYWJpbGl0eSAoWFNTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX1NFUlZMRVRfV1JJVEVSKTwvYT48L2gzPgotCi0KLSAgICA8cD5UaGlzIGNvZGUgZGlyZWN0bHkgd3JpdGVzIGFuIEhUVFAgcGFyYW1ldGVyIHRvIFNlcnZsZXQgb3V0cHV0LCB3aGljaCBhbGxvd3MgZm9yIGEgcmVmbGVjdGVkIGNyb3NzIHNpdGUgc2NyaXB0aW5nCi12dWxuZXJhYmlsaXR5LiBTZWUgPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Dcm9zcy1zaXRlX3NjcmlwdGluZyI+aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Dcm9zcy1zaXRlX3NjcmlwdGluZzwvYT4KLWZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KLTxwPkZpbmRCdWdzIGxvb2tzIG9ubHkgZm9yIHRoZSBtb3N0IGJsYXRhbnQsIG9idmlvdXMgY2FzZXMgb2YgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcuCi1JZiBGaW5kQnVncyBmb3VuZCA8ZW0+YW55PC9lbT4sIHlvdSA8ZW0+YWxtb3N0IGNlcnRhaW5seTwvZW0+IGhhdmUgbW9yZSBjcm9zcyBzaXRlIHNjcmlwdGluZwotdnVsbmVyYWJpbGl0aWVzIHRoYXQgRmluZEJ1Z3MgZG9lc24ndCByZXBvcnQuIElmIHlvdSBhcmUgY29uY2VybmVkIGFib3V0IGNyb3NzIHNpdGUgc2NyaXB0aW5nLCB5b3Ugc2hvdWxkIHNlcmlvdXNseQotY29uc2lkZXIgdXNpbmcgYSBjb21tZXJjaWFsIHN0YXRpYyBhbmFseXNpcyBvciBwZW4tdGVzdGluZyB0b29sLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJCQ19CQURfQ0FTVF9UT19BQlNUUkFDVF9DT0xMRUNUSU9OIj5CQzogUXVlc3Rpb25hYmxlIGNhc3QgdG8gYWJzdHJhY3QgY29sbGVjdGlvbiAgKEJDX0JBRF9DQVNUX1RPX0FCU1RSQUNUX0NPTExFQ1RJT04pPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgY2FzdHMgYSBDb2xsZWN0aW9uIHRvIGFuIGFic3RyYWN0IGNvbGxlY3Rpb24KLShzdWNoIGFzIDxjb2RlPkxpc3Q8L2NvZGU+LCA8Y29kZT5TZXQ8L2NvZGU+LCBvciA8Y29kZT5NYXA8L2NvZGU+KS4KLUVuc3VyZSB0aGF0IHlvdSBhcmUgZ3VhcmFudGVlZCB0aGF0IHRoZSBvYmplY3QgaXMgb2YgdGhlIHR5cGUKLXlvdSBhcmUgY2FzdGluZyB0by4gSWYgYWxsIHlvdSBuZWVkIGlzIHRvIGJlIGFibGUKLXRvIGl0ZXJhdGUgdGhyb3VnaCBhIGNvbGxlY3Rpb24sIHlvdSBkb24ndCBuZWVkIHRvIGNhc3QgaXQgdG8gYSBTZXQgb3IgTGlzdC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJDX0JBRF9DQVNUX1RPX0NPTkNSRVRFX0NPTExFQ1RJT04iPkJDOiBRdWVzdGlvbmFibGUgY2FzdCB0byBjb25jcmV0ZSBjb2xsZWN0aW9uIChCQ19CQURfQ0FTVF9UT19DT05DUkVURV9DT0xMRUNUSU9OKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjb2RlIGNhc3RzIGFuIGFic3RyYWN0IGNvbGxlY3Rpb24gKHN1Y2ggYXMgYSBDb2xsZWN0aW9uLCBMaXN0LCBvciBTZXQpCi10byBhIHNwZWNpZmljIGNvbmNyZXRlIGltcGxlbWVudGF0aW9uIChzdWNoIGFzIGFuIEFycmF5TGlzdCBvciBIYXNoU2V0KS4KLVRoaXMgbWlnaHQgbm90IGJlIGNvcnJlY3QsIGFuZCBpdCBtYXkgbWFrZSB5b3VyIGNvZGUgZnJhZ2lsZSwgc2luY2UKLWl0IG1ha2VzIGl0IGhhcmRlciB0byBzd2l0Y2ggdG8gb3RoZXIgY29uY3JldGUgaW1wbGVtZW50YXRpb25zIGF0IGEgZnV0dXJlCi1wb2ludC4gVW5sZXNzIHlvdSBoYXZlIGEgcGFydGljdWxhciByZWFzb24gdG8gZG8gc28sIGp1c3QgdXNlIHRoZSBhYnN0cmFjdAotY29sbGVjdGlvbiBjbGFzcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJDX1VOQ09ORklSTUVEX0NBU1QiPkJDOiBVbmNoZWNrZWQvdW5jb25maXJtZWQgY2FzdCAoQkNfVU5DT05GSVJNRURfQ0FTVCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY2FzdCBpcyB1bmNoZWNrZWQsIGFuZCBub3QgYWxsIGluc3RhbmNlcyBvZiB0aGUgdHlwZSBjYXN0ZWQgZnJvbSBjYW4gYmUgY2FzdCB0bwotdGhlIHR5cGUgaXQgaXMgYmVpbmcgY2FzdCB0by4gQ2hlY2sgdGhhdCB5b3VyIHByb2dyYW0gbG9naWMgZW5zdXJlcyB0aGF0IHRoaXMKLWNhc3Qgd2lsbCBub3QgZmFpbC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJDX1VOQ09ORklSTUVEX0NBU1RfT0ZfUkVUVVJOX1ZBTFVFIj5CQzogVW5jaGVja2VkL3VuY29uZmlybWVkIGNhc3Qgb2YgcmV0dXJuIHZhbHVlIGZyb20gbWV0aG9kIChCQ19VTkNPTkZJUk1FRF9DQVNUX09GX1JFVFVSTl9WQUxVRSk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBwZXJmb3JtcyBhbiB1bmNoZWNrZWQgY2FzdCBvZiB0aGUgcmV0dXJuIHZhbHVlIG9mIGEgbWV0aG9kLgotVGhlIGNvZGUgbWlnaHQgYmUgY2FsbGluZyB0aGUgbWV0aG9kIGluIHN1Y2ggYSB3YXkgdGhhdCB0aGUgY2FzdCBpcyBndWFyYW50ZWVkIHRvIGJlCi1zYWZlLCBidXQgRmluZEJ1Z3MgaXMgdW5hYmxlIHRvIHZlcmlmeSB0aGF0IHRoZSBjYXN0IGlzIHNhZmUuICBDaGVjayB0aGF0IHlvdXIgcHJvZ3JhbSBsb2dpYyBlbnN1cmVzIHRoYXQgdGhpcwotY2FzdCB3aWxsIG5vdCBmYWlsLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQkNfVkFDVU9VU19JTlNUQU5DRU9GIj5CQzogaW5zdGFuY2VvZiB3aWxsIGFsd2F5cyByZXR1cm4gdHJ1ZSAoQkNfVkFDVU9VU19JTlNUQU5DRU9GKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBpbnN0YW5jZW9mIHRlc3Qgd2lsbCBhbHdheXMgcmV0dXJuIHRydWUgKHVubGVzcyB0aGUgdmFsdWUgYmVpbmcgdGVzdGVkIGlzIG51bGwpLgotQWx0aG91Z2ggdGhpcyBpcyBzYWZlLCBtYWtlIHN1cmUgaXQgaXNuJ3QKLWFuIGluZGljYXRpb24gb2Ygc29tZSBtaXN1bmRlcnN0YW5kaW5nIG9yIHNvbWUgb3RoZXIgbG9naWMgZXJyb3IuCi1JZiB5b3UgcmVhbGx5IHdhbnQgdG8gdGVzdCB0aGUgdmFsdWUgZm9yIGJlaW5nIG51bGwsIHBlcmhhcHMgaXQgd291bGQgYmUgY2xlYXJlciB0byBkbwotYmV0dGVyIHRvIGRvIGEgbnVsbCB0ZXN0IHJhdGhlciB0aGFuIGFuIGluc3RhbmNlb2YgdGVzdC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklDQVNUX1FVRVNUSU9OQUJMRV9VTlNJR05FRF9SSUdIVF9TSElGVCI+QlNISUZUOiBVbnNpZ25lZCByaWdodCBzaGlmdCBjYXN0IHRvIHNob3J0L2J5dGUgKElDQVNUX1FVRVNUSU9OQUJMRV9VTlNJR05FRF9SSUdIVF9TSElGVCk8L2E+PC9oMz4KLQotCi08cD4KLVRoZSBjb2RlIHBlcmZvcm1zIGFuIHVuc2lnbmVkIHJpZ2h0IHNoaWZ0LCB3aG9zZSByZXN1bHQgaXMgdGhlbgotY2FzdCB0byBhIHNob3J0IG9yIGJ5dGUsIHdoaWNoIGRpc2NhcmRzIHRoZSB1cHBlciBiaXRzIG9mIHRoZSByZXN1bHQuCi1TaW5jZSB0aGUgdXBwZXIgYml0cyBhcmUgZGlzY2FyZGVkLCB0aGVyZSBtYXkgYmUgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuCi1hIHNpZ25lZCBhbmQgdW5zaWduZWQgcmlnaHQgc2hpZnQgKGRlcGVuZGluZyB1cG9uIHRoZSBzaXplIG9mIHRoZSBzaGlmdCkuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJDRF9DSVJDVUxBUl9ERVBFTkRFTkNZIj5DRDogVGVzdCBmb3IgY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFtb25nIGNsYXNzZXMgKENEX0NJUkNVTEFSX0RFUEVOREVOQ1kpPC9hPjwvaDM+Ci0KLSAgIAotICAgIDxwPgotICAgIFRoaXMgY2xhc3MgaGFzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSB3aXRoIG90aGVyIGNsYXNzZXMuIFRoaXMgbWFrZXMgYnVpbGRpbmcgdGhlc2UgY2xhc3NlcwotICAgIGRpZmZpY3VsdCwgYXMgZWFjaCBpcyBkZXBlbmRlbnQgb24gdGhlIG90aGVyIHRvIGJ1aWxkIGNvcnJlY3RseS4gQ29uc2lkZXIgdXNpbmcgaW50ZXJmYWNlcwotICAgIHRvIGJyZWFrIHRoZSBoYXJkIGRlcGVuZGVuY3kuCi0gICAgPC9wPgotICAgIAotICAgICAKLTxoMz48YSBuYW1lPSJDSV9DT05GVVNFRF9JTkhFUklUQU5DRSI+Q0k6IENsYXNzIGlzIGZpbmFsIGJ1dCBkZWNsYXJlcyBwcm90ZWN0ZWQgZmllbGQgKENJX0NPTkZVU0VEX0lOSEVSSVRBTkNFKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBjbGFzcyBpcyBkZWNsYXJlZCB0byBiZSBmaW5hbCwgYnV0IGRlY2xhcmVzIGZpZWxkcyB0byBiZSBwcm90ZWN0ZWQuIFNpbmNlIHRoZSBjbGFzcwotICAgICAgaXMgZmluYWwsIGl0IGNhbiBub3QgYmUgZGVyaXZlZCBmcm9tLCBhbmQgdGhlIHVzZSBvZiBwcm90ZWN0ZWQgaXMgY29uZnVzaW5nLiBUaGUgYWNjZXNzCi0gICAgICBtb2RpZmllciBmb3IgdGhlIGZpZWxkIHNob3VsZCBiZSBjaGFuZ2VkIHRvIHByaXZhdGUgb3IgcHVibGljIHRvIHJlcHJlc2VudCB0aGUgdHJ1ZQotICAgICAgdXNlIGZvciB0aGUgZmllbGQuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJEQl9EVVBMSUNBVEVfQlJBTkNIRVMiPkRCOiBNZXRob2QgdXNlcyB0aGUgc2FtZSBjb2RlIGZvciB0d28gYnJhbmNoZXMgKERCX0RVUExJQ0FURV9CUkFOQ0hFUyk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFRoaXMgbWV0aG9kIHVzZXMgdGhlIHNhbWUgY29kZSB0byBpbXBsZW1lbnQgdHdvIGJyYW5jaGVzIG9mIGEgY29uZGl0aW9uYWwgYnJhbmNoLgotICAgIENoZWNrIHRvIGVuc3VyZSB0aGF0IHRoaXMgaXNuJ3QgYSBjb2RpbmcgbWlzdGFrZS4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iREJfRFVQTElDQVRFX1NXSVRDSF9DTEFVU0VTIj5EQjogTWV0aG9kIHVzZXMgdGhlIHNhbWUgY29kZSBmb3IgdHdvIHN3aXRjaCBjbGF1c2VzIChEQl9EVVBMSUNBVEVfU1dJVENIX0NMQVVTRVMpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIG1ldGhvZCB1c2VzIHRoZSBzYW1lIGNvZGUgdG8gaW1wbGVtZW50IHR3byBjbGF1c2VzIG9mIGEgc3dpdGNoIHN0YXRlbWVudC4KLSAgICBUaGlzIGNvdWxkIGJlIGEgY2FzZSBvZiBkdXBsaWNhdGUgY29kZSwgYnV0IGl0IG1pZ2h0IGFsc28gaW5kaWNhdGUKLSAgICBhIGNvZGluZyBtaXN0YWtlLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJETFNfREVBRF9MT0NBTF9TVE9SRSI+RExTOiBEZWFkIHN0b3JlIHRvIGxvY2FsIHZhcmlhYmxlIChETFNfREVBRF9MT0NBTF9TVE9SRSk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgaW5zdHJ1Y3Rpb24gYXNzaWducyBhIHZhbHVlIHRvIGEgbG9jYWwgdmFyaWFibGUsCi1idXQgdGhlIHZhbHVlIGlzIG5vdCByZWFkIG9yIHVzZWQgaW4gYW55IHN1YnNlcXVlbnQgaW5zdHJ1Y3Rpb24uCi1PZnRlbiwgdGhpcyBpbmRpY2F0ZXMgYW4gZXJyb3IsIGJlY2F1c2UgdGhlIHZhbHVlIGNvbXB1dGVkIGlzIG5ldmVyCi11c2VkLgotPC9wPgotPHA+Ci1Ob3RlIHRoYXQgU3VuJ3MgamF2YWMgY29tcGlsZXIgb2Z0ZW4gZ2VuZXJhdGVzIGRlYWQgc3RvcmVzIGZvcgotZmluYWwgbG9jYWwgdmFyaWFibGVzLiAgQmVjYXVzZSBGaW5kQnVncyBpcyBhIGJ5dGVjb2RlLWJhc2VkIHRvb2wsCi10aGVyZSBpcyBubyBlYXN5IHdheSB0byBlbGltaW5hdGUgdGhlc2UgZmFsc2UgcG9zaXRpdmVzLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExTX0RFQURfTE9DQUxfU1RPUkVfSU5fUkVUVVJOIj5ETFM6IFVzZWxlc3MgYXNzaWdubWVudCBpbiByZXR1cm4gc3RhdGVtZW50IChETFNfREVBRF9MT0NBTF9TVE9SRV9JTl9SRVRVUk4pPC9hPjwvaDM+Ci0KLSAgICAgIAotPHA+Ci1UaGlzIHN0YXRlbWVudCBhc3NpZ25zIHRvIGEgbG9jYWwgdmFyaWFibGUgaW4gYSByZXR1cm4gc3RhdGVtZW50LiBUaGlzIGFzc2lnbm1lbnQKLWhhcyBlZmZlY3QuIFBsZWFzZSB2ZXJpZnkgdGhhdCB0aGlzIHN0YXRlbWVudCBkb2VzIHRoZSByaWdodCB0aGluZy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRMU19ERUFEX0xPQ0FMX1NUT1JFX09GX05VTEwiPkRMUzogRGVhZCBzdG9yZSBvZiBudWxsIHRvIGxvY2FsIHZhcmlhYmxlIChETFNfREVBRF9MT0NBTF9TVE9SRV9PRl9OVUxMKTwvYT48L2gzPgotCi0KLTxwPlRoZSBjb2RlIHN0b3JlcyBudWxsIGludG8gYSBsb2NhbCB2YXJpYWJsZSwgYW5kIHRoZSBzdG9yZWQgdmFsdWUgaXMgbm90Ci1yZWFkLiBUaGlzIHN0b3JlIG1heSBoYXZlIGJlZW4gaW50cm9kdWNlZCB0byBhc3Npc3QgdGhlIGdhcmJhZ2UgY29sbGVjdG9yLCBidXQKLWFzIG9mIEphdmEgU0UgNi4wLCB0aGlzIGlzIG5vIGxvbmdlciBuZWVkZWQgb3IgdXNlZnVsLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExTX0RFQURfTE9DQUxfU1RPUkVfU0hBRE9XU19GSUVMRCI+RExTOiBEZWFkIHN0b3JlIHRvIGxvY2FsIHZhcmlhYmxlIHRoYXQgc2hhZG93cyBmaWVsZCAoRExTX0RFQURfTE9DQUxfU1RPUkVfU0hBRE9XU19GSUVMRCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgaW5zdHJ1Y3Rpb24gYXNzaWducyBhIHZhbHVlIHRvIGEgbG9jYWwgdmFyaWFibGUsCi1idXQgdGhlIHZhbHVlIGlzIG5vdCByZWFkIG9yIHVzZWQgaW4gYW55IHN1YnNlcXVlbnQgaW5zdHJ1Y3Rpb24uCi1PZnRlbiwgdGhpcyBpbmRpY2F0ZXMgYW4gZXJyb3IsIGJlY2F1c2UgdGhlIHZhbHVlIGNvbXB1dGVkIGlzIG5ldmVyCi11c2VkLiBUaGVyZSBpcyBhIGZpZWxkIHdpdGggdGhlIHNhbWUgbmFtZSBhcyB0aGUgbG9jYWwgdmFyaWFibGUuIERpZCB5b3UKLW1lYW4gdG8gYXNzaWduIHRvIHRoYXQgdmFyaWFibGUgaW5zdGVhZD8KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9IQVJEQ09ERURfQUJTT0xVVEVfRklMRU5BTUUiPkRNSTogQ29kZSBjb250YWlucyBhIGhhcmQgY29kZWQgcmVmZXJlbmNlIHRvIGFuIGFic29sdXRlIHBhdGhuYW1lIChETUlfSEFSRENPREVEX0FCU09MVVRFX0ZJTEVOQU1FKTwvYT48L2gzPgotCi0KLTxwPlRoaXMgY29kZSBjb25zdHJ1Y3RzIGEgRmlsZSBvYmplY3QgdXNpbmcgYSBoYXJkIGNvZGVkIHRvIGFuIGFic29sdXRlIHBhdGhuYW1lCi0oZS5nLiwgPGNvZGU+bmV3IEZpbGUoIi9ob21lL2Rhbm55Yy93b3Jrc3BhY2UvajJlZS9zcmMvc2hhcmUvY29tL3N1bi9lbnRlcnByaXNlL2RlcGxveW1lbnQiKTs8L2NvZGU+Ci08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfTk9OU0VSSUFMSVpBQkxFX09CSkVDVF9XUklUVEVOIj5ETUk6IE5vbiBzZXJpYWxpemFibGUgb2JqZWN0IHdyaXR0ZW4gdG8gT2JqZWN0T3V0cHV0IChETUlfTk9OU0VSSUFMSVpBQkxFX09CSkVDVF9XUklUVEVOKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjb2RlIHNlZW1zIHRvIGJlIHBhc3NpbmcgYSBub24tc2VyaWFsaXphYmxlIG9iamVjdCB0byB0aGUgT2JqZWN0T3V0cHV0LndyaXRlT2JqZWN0IG1ldGhvZC4KLUlmIHRoZSBvYmplY3QgaXMsIGluZGVlZCwgbm9uLXNlcmlhbGl6YWJsZSwgYW4gZXJyb3Igd2lsbCByZXN1bHQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfVVNFTEVTU19TVUJTVFJJTkciPkRNSTogSW52b2NhdGlvbiBvZiBzdWJzdHJpbmcoMCksIHdoaWNoIHJldHVybnMgdGhlIG9yaWdpbmFsIHZhbHVlIChETUlfVVNFTEVTU19TVUJTVFJJTkcpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgaW52b2tlcyBzdWJzdHJpbmcoMCkgb24gYSBTdHJpbmcsIHdoaWNoIHJldHVybnMgdGhlIG9yaWdpbmFsIHZhbHVlLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX1RIUkVBRF9QQVNTRURfV0hFUkVfUlVOTkFCTEVfRVhQRUNURUQiPkRtOiBUaHJlYWQgcGFzc2VkIHdoZXJlIFJ1bm5hYmxlIGV4cGVjdGVkIChETUlfVEhSRUFEX1BBU1NFRF9XSEVSRV9SVU5OQUJMRV9FWFBFQ1RFRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBBIFRocmVhZCBvYmplY3QgaXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIHRvIGEgbWV0aG9kIHdoZXJlCi1hIFJ1bm5hYmxlIGlzIGV4cGVjdGVkLiBUaGlzIGlzIHJhdGhlciB1bnVzdWFsLCBhbmQgbWF5IGluZGljYXRlIGEgbG9naWMgZXJyb3IKLW9yIGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuCi0gICA8L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfVU5TVVBQT1JURURfTUVUSE9EIj5EbTogQ2FsbCB0byB1bnN1cHBvcnRlZCBtZXRob2QgKERNSV9VTlNVUFBPUlRFRF9NRVRIT0QpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPkFsbCB0YXJnZXRzIG9mIHRoaXMgbWV0aG9kIGludm9jYXRpb24gdGhyb3cgYW4gVW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb24uCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX0RPRVNOVF9PVkVSUklERV9FUVVBTFMiPkVxOiBDbGFzcyBkb2Vzbid0IG92ZXJyaWRlIGVxdWFscyBpbiBzdXBlcmNsYXNzIChFUV9ET0VTTlRfT1ZFUlJJREVfRVFVQUxTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZXh0ZW5kcyBhIGNsYXNzIHRoYXQgZGVmaW5lcyBhbiBlcXVhbHMgbWV0aG9kIGFuZCBhZGRzIGZpZWxkcywgYnV0IGRvZXNuJ3QKLWRlZmluZSBhbiBlcXVhbHMgbWV0aG9kIGl0c2VsZi4gVGh1cywgZXF1YWxpdHkgb24gaW5zdGFuY2VzIG9mIHRoaXMgY2xhc3Mgd2lsbAotaWdub3JlIHRoZSBpZGVudGl0eSBvZiB0aGUgc3ViY2xhc3MgYW5kIHRoZSBhZGRlZCBmaWVsZHMuIEJlIHN1cmUgdGhpcyBpcyB3aGF0IGlzIGludGVuZGVkLAotYW5kIHRoYXQgeW91IGRvbid0IG5lZWQgdG8gb3ZlcnJpZGUgdGhlIGVxdWFscyBtZXRob2QuIEV2ZW4gaWYgeW91IGRvbid0IG5lZWQgdG8gb3ZlcnJpZGUKLXRoZSBlcXVhbHMgbWV0aG9kLCBjb25zaWRlciBvdmVycmlkaW5nIGl0IGFueXdheSB0byBkb2N1bWVudCB0aGUgZmFjdAotdGhhdCB0aGUgZXF1YWxzIG1ldGhvZCBmb3IgdGhlIHN1YmNsYXNzIGp1c3QgcmV0dXJuIHRoZSByZXN1bHQgb2YKLWludm9raW5nIHN1cGVyLmVxdWFscyhvKS4KLSAgPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRVFfVU5VU1VBTCI+RXE6IFVudXN1YWwgZXF1YWxzIG1ldGhvZCAgKEVRX1VOVVNVQUwpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkb2Vzbid0IGRvIGFueSBvZiB0aGUgcGF0dGVybnMgd2UgcmVjb2duaXplIGZvciBjaGVja2luZyB0aGF0IHRoZSB0eXBlIG9mIHRoZSBhcmd1bWVudAotaXMgY29tcGF0aWJsZSB3aXRoIHRoZSB0eXBlIG9mIHRoZSA8Y29kZT50aGlzPC9jb2RlPiBvYmplY3QuIFRoZXJlIG1pZ2h0IG5vdCBiZSBhbnl0aGluZyB3cm9uZyB3aXRoCi10aGlzIGNvZGUsIGJ1dCBpdCBpcyB3b3J0aCByZXZpZXdpbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJGRV9GTE9BVElOR19QT0lOVF9FUVVBTElUWSI+RkU6IFRlc3QgZm9yIGZsb2F0aW5nIHBvaW50IGVxdWFsaXR5IChGRV9GTE9BVElOR19QT0lOVF9FUVVBTElUWSk8L2E+PC9oMz4KLQotICAgCi0gICAgPHA+Ci0gICAgVGhpcyBvcGVyYXRpb24gY29tcGFyZXMgdHdvIGZsb2F0aW5nIHBvaW50IHZhbHVlcyBmb3IgZXF1YWxpdHkuCi0gICAgQmVjYXVzZSBmbG9hdGluZyBwb2ludCBjYWxjdWxhdGlvbnMgbWF5IGludm9sdmUgcm91bmRpbmcsCi0gICBjYWxjdWxhdGVkIGZsb2F0IGFuZCBkb3VibGUgdmFsdWVzIG1heSBub3QgYmUgYWNjdXJhdGUuCi0gICAgRm9yIHZhbHVlcyB0aGF0IG11c3QgYmUgcHJlY2lzZSwgc3VjaCBhcyBtb25ldGFyeSB2YWx1ZXMsCi0gICBjb25zaWRlciB1c2luZyBhIGZpeGVkLXByZWNpc2lvbiB0eXBlIHN1Y2ggYXMgQmlnRGVjaW1hbC4KLSAgICBGb3IgdmFsdWVzIHRoYXQgbmVlZCBub3QgYmUgcHJlY2lzZSwgY29uc2lkZXIgY29tcGFyaW5nIGZvciBlcXVhbGl0eQotICAgIHdpdGhpbiBzb21lIHJhbmdlLCBmb3IgZXhhbXBsZToKLSAgICA8Y29kZT5pZiAoIE1hdGguYWJzKHggLSB5KSAmbHQ7IC4wMDAwMDAxICk8L2NvZGU+LgotICAgU2VlIHRoZSBKYXZhIExhbmd1YWdlIFNwZWNpZmljYXRpb24sIHNlY3Rpb24gNC4yLjQuCi0gICAgPC9wPgotICAgIAotICAgICAKLTxoMz48YSBuYW1lPSJWQV9GT1JNQVRfU1RSSU5HX0JBRF9DT05WRVJTSU9OX1RPX0JPT0xFQU4iPkZTOiBOb24tQm9vbGVhbiBhcmd1bWVudCBmb3JtYXR0ZWQgdXNpbmcgJWIgZm9ybWF0IHNwZWNpZmllciAoVkFfRk9STUFUX1NUUklOR19CQURfQ09OVkVSU0lPTl9UT19CT09MRUFOKTwvYT48L2gzPgotCi0KLTxwPgotQW4gYXJndW1lbnQgbm90IG9mIHR5cGUgQm9vbGVhbiBpcyBiZWluZyBmb3JtYXR0ZWQgd2l0aCBhICViIGZvcm1hdCBzcGVjaWZpZXIuIFRoaXMgd29uJ3QgdGhyb3cgYW4KLWV4Y2VwdGlvbjsgaW5zdGVhZCwgaXQgd2lsbCBwcmludCB0cnVlIGZvciBhbnkgbm9ubnVsbCB2YWx1ZSwgYW5kIGZhbHNlIGZvciBudWxsLgotVGhpcyBmZWF0dXJlIG9mIGZvcm1hdCBzdHJpbmdzIGlzIHN0cmFuZ2UsIGFuZCBtYXkgbm90IGJlIHdoYXQgeW91IGludGVuZGVkLgotPC9wPgotCi0gICAgIAotPGgzPjxhIG5hbWU9IklBX0FNQklHVU9VU19JTlZPQ0FUSU9OX09GX0lOSEVSSVRFRF9PUl9PVVRFUl9NRVRIT0QiPklBOiBQb3RlbnRpYWxseSBhbWJpZ3VvdXMgaW52b2NhdGlvbiBvZiBlaXRoZXIgYW4gaW5oZXJpdGVkIG9yIG91dGVyIG1ldGhvZCAoSUFfQU1CSUdVT1VTX0lOVk9DQVRJT05fT0ZfSU5IRVJJVEVEX09SX09VVEVSX01FVEhPRCk8L2E+PC9oMz4KLQotCi0gIDxwPiAKLUFuIGlubmVyIGNsYXNzIGlzIGludm9raW5nIGEgbWV0aG9kIHRoYXQgY291bGQgYmUgcmVzb2x2ZWQgdG8gZWl0aGVyIGEgaW5oZXJpdGVkIG1ldGhvZCBvciBhIG1ldGhvZCBkZWZpbmVkIGluIGFuIG91dGVyIGNsYXNzLiAKLUZvciBleGFtcGxlLCB5b3UgaW52b2tlIDxjb2RlPmZvbygxNyk8L2NvZGU+LCB3aGljaCBpcyBkZWZpbmVkIGluIGJvdGggYSBzdXBlcmNsYXNzIGFuZCBpbiBhbiBvdXRlciBtZXRob2QuCi1CeSB0aGUgSmF2YSBzZW1hbnRpY3MsCi1pdCB3aWxsIGJlIHJlc29sdmVkIHRvIGludm9rZSB0aGUgaW5oZXJpdGVkIG1ldGhvZCwgYnV0IHRoaXMgbWF5IG5vdCBiZSB3YW50Ci15b3UgaW50ZW5kLiAKLTwvcD4KLTxwPklmIHlvdSByZWFsbHkgaW50ZW5kIHRvIGludm9rZSB0aGUgaW5oZXJpdGVkIG1ldGhvZCwKLWludm9rZSBpdCBieSBpbnZva2luZyB0aGUgbWV0aG9kIG9uIHN1cGVyIChlLmcuLCBpbnZva2Ugc3VwZXIuZm9vKDE3KSksIGFuZAotdGh1cyBpdCB3aWxsIGJlIGNsZWFyIHRvIG90aGVyIHJlYWRlcnMgb2YgeW91ciBjb2RlIGFuZCB0byBGaW5kQnVncwotdGhhdCB5b3Ugd2FudCB0byBpbnZva2UgdGhlIGluaGVyaXRlZCBtZXRob2QsIG5vdCB0aGUgbWV0aG9kIGluIHRoZSBvdXRlciBjbGFzcy4KLTwvcD4KLTxwPklmIHlvdSBjYWxsIDxjb2RlPnRoaXMuZm9vKDE3KTwvY29kZT4sIHRoZW4gdGhlIGluaGVyaXRlZCBtZXRob2Qgd2lsbCBiZSBpbnZva2VkLiBIb3dldmVyLCBzaW5jZSBGaW5kQnVncyBvbmx5IGxvb2tzIGF0Ci1jbGFzc2ZpbGVzLCBpdCAKLWNhbid0IHRlbGwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhbiBpbnZvY2F0aW9uIG9mIDxjb2RlPnRoaXMuZm9vKDE3KTwvY29kZT4gYW5kIDxjb2RlPmZvbygxNyk8L2NvZGU+LCBpdCB3aWxsIHN0aWxsCi1jb21wbGFpbiBhYm91dCBhIHBvdGVudGlhbCBhbWJpZ3VvdXMgaW52b2NhdGlvbi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklDX0lOSVRfQ0lSQ1VMQVJJVFkiPklDOiBJbml0aWFsaXphdGlvbiBjaXJjdWxhcml0eSAoSUNfSU5JVF9DSVJDVUxBUklUWSk8L2E+PC9oMz4KLQotCi0gIDxwPiBBIGNpcmN1bGFyaXR5IHdhcyBkZXRlY3RlZCBpbiB0aGUgc3RhdGljIGluaXRpYWxpemVycyBvZiB0aGUgdHdvCi0gIGNsYXNzZXMgcmVmZXJlbmNlZCBieSB0aGUgYnVnIGluc3RhbmNlLiZuYnNwOyBNYW55IGtpbmRzIG9mIHVuZXhwZWN0ZWQKLSAgYmVoYXZpb3IgbWF5IGFyaXNlIGZyb20gc3VjaCBjaXJjdWxhcml0eS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJQ0FTVF9JRElWX0NBU1RfVE9fRE9VQkxFIj5JQ0FTVDogSW50ZWdyYWwgZGl2aXNpb24gcmVzdWx0IGNhc3QgdG8gZG91YmxlIG9yIGZsb2F0IChJQ0FTVF9JRElWX0NBU1RfVE9fRE9VQkxFKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjb2RlIGNhc3RzIHRoZSByZXN1bHQgb2YgYW4gaW50ZWdyYWwgZGl2aXNpb24gKGUuZy4sIGludCBvciBsb25nIGRpdmlzaW9uKQotb3BlcmF0aW9uIHRvIGRvdWJsZSBvcgotZmxvYXQuCi1Eb2luZyBkaXZpc2lvbiBvbiBpbnRlZ2VycyB0cnVuY2F0ZXMgdGhlIHJlc3VsdAotdG8gdGhlIGludGVnZXIgdmFsdWUgY2xvc2VzdCB0byB6ZXJvLiAgVGhlIGZhY3QgdGhhdCB0aGUgcmVzdWx0Ci13YXMgY2FzdCB0byBkb3VibGUgc3VnZ2VzdHMgdGhhdCB0aGlzIHByZWNpc2lvbiBzaG91bGQgaGF2ZSBiZWVuIHJldGFpbmVkLgotV2hhdCB3YXMgcHJvYmFibHkgbWVhbnQgd2FzIHRvIGNhc3Qgb25lIG9yIGJvdGggb2YgdGhlIG9wZXJhbmRzIHRvCi1kb3VibGUgPGVtPmJlZm9yZTwvZW0+IHBlcmZvcm1pbmcgdGhlIGRpdmlzaW9uLiAgSGVyZSBpcyBhbiBleGFtcGxlOgotPC9wPgotPGJsb2NrcXVvdGU+Ci08cHJlPgotaW50IHggPSAyOwotaW50IHkgPSA1OwotLy8gV3Jvbmc6IHlpZWxkcyByZXN1bHQgMC4wCi1kb3VibGUgdmFsdWUxID0gIHggLyB5OwotCi0vLyBSaWdodDogeWllbGRzIHJlc3VsdCAwLjQKLWRvdWJsZSB2YWx1ZTIgPSAgeCAvIChkb3VibGUpIHk7Ci08L3ByZT4KLTwvYmxvY2txdW90ZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IklDQVNUX0lOVEVHRVJfTVVMVElQTFlfQ0FTVF9UT19MT05HIj5JQ0FTVDogUmVzdWx0IG9mIGludGVnZXIgbXVsdGlwbGljYXRpb24gY2FzdCB0byBsb25nIChJQ0FTVF9JTlRFR0VSX01VTFRJUExZX0NBU1RfVE9fTE9ORyk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBwZXJmb3JtcyBpbnRlZ2VyIG11bHRpcGx5IGFuZCB0aGVuIGNvbnZlcnRzIHRoZSByZXN1bHQgdG8gYSBsb25nLAotYXMgaW46PC9wPgotPHByZT4KLSAgICBsb25nIGNvbnZlcnREYXlzVG9NaWxsaXNlY29uZHMoaW50IGRheXMpIHsgcmV0dXJuIDEwMDAqMzYwMCoyNCpkYXlzOyB9Ci08L3ByZT4KLTxwPgotSWYgdGhlIG11bHRpcGxpY2F0aW9uIGlzIGRvbmUgdXNpbmcgbG9uZyBhcml0aG1ldGljLCB5b3UgY2FuIGF2b2lkCi10aGUgcG9zc2liaWxpdHkgdGhhdCB0aGUgcmVzdWx0IHdpbGwgb3ZlcmZsb3cuIEZvciBleGFtcGxlLCB5b3UKLWNvdWxkIGZpeCB0aGUgYWJvdmUgY29kZSB0bzo8L3A+Ci08cHJlPgotICAgIGxvbmcgY29udmVydERheXNUb01pbGxpc2Vjb25kcyhpbnQgZGF5cykgeyByZXR1cm4gMTAwMEwqMzYwMCoyNCpkYXlzOyB9Ci08L3ByZT4KLW9yCi08cHJlPgotICAgIHN0YXRpYyBmaW5hbCBsb25nIE1JTExJU0VDT05EU19QRVJfREFZID0gMjRMKjM2MDAqMTAwMDsKLSAgICBsb25nIGNvbnZlcnREYXlzVG9NaWxsaXNlY29uZHMoaW50IGRheXMpIHsgcmV0dXJuIGRheXMgKiBNSUxMSVNFQ09ORFNfUEVSX0RBWTsgfQotPC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJTV9BVkVSQUdFX0NPTVBVVEFUSU9OX0NPVUxEX09WRVJGTE9XIj5JTTogQ29tcHV0YXRpb24gb2YgYXZlcmFnZSBjb3VsZCBvdmVyZmxvdyAoSU1fQVZFUkFHRV9DT01QVVRBVElPTl9DT1VMRF9PVkVSRkxPVyk8L2E+PC9oMz4KLQotCi08cD5UaGUgY29kZSBjb21wdXRlcyB0aGUgYXZlcmFnZSBvZiB0d28gaW50ZWdlcnMgdXNpbmcgZWl0aGVyIGRpdmlzaW9uIG9yIHNpZ25lZCByaWdodCBzaGlmdCwKLWFuZCB0aGVuIHVzZXMgdGhlIHJlc3VsdCBhcyB0aGUgaW5kZXggb2YgYW4gYXJyYXkuCi1JZiB0aGUgdmFsdWVzIGJlaW5nIGF2ZXJhZ2VkIGFyZSB2ZXJ5IGxhcmdlLCB0aGlzIGNhbiBvdmVyZmxvdyAocmVzdWx0aW5nIGluIHRoZSBjb21wdXRhdGlvbgotb2YgYSBuZWdhdGl2ZSBhdmVyYWdlKS4gIEFzc3VtaW5nIHRoYXQgdGhlIHJlc3VsdCBpcyBpbnRlbmRlZCB0byBiZSBub25uZWdhdGl2ZSwgeW91Ci1jYW4gdXNlIGFuIHVuc2lnbmVkIHJpZ2h0IHNoaWZ0IGluc3RlYWQuIEluIG90aGVyIHdvcmRzLCByYXRoZXIgdGhhdCB1c2luZyA8Y29kZT4obG93K2hpZ2gpLzI8L2NvZGU+LAotdXNlIDxjb2RlPihsb3craGlnaCkgJmd0OyZndDsmZ3Q7IDE8L2NvZGU+Ci08L3A+Ci08cD5UaGlzIGJ1ZyBleGlzdHMgaW4gbWFueSBlYXJsaWVyIGltcGxlbWVudGF0aW9ucyBvZiBiaW5hcnkgc2VhcmNoIGFuZCBtZXJnZSBzb3J0LgotTWFydGluIEJ1Y2hob2x6IDxhIGhyZWY9Imh0dHA6Ly9idWdzLnN1bi5jb20vYnVnZGF0YWJhc2Uvdmlld19idWcuZG8/YnVnX2lkPTY0MTI1NDEiPmZvdW5kIGFuZCBmaXhlZCBpdDwvYT4KLWluIHRoZSBKREsgbGlicmFyaWVzLCBhbmQgSm9zaHVhIEJsb2NoCi08YSBocmVmPSJodHRwOi8vZ29vZ2xlcmVzZWFyY2guYmxvZ3Nwb3QuY29tLzIwMDYvMDYvZXh0cmEtZXh0cmEtcmVhZC1hbGwtYWJvdXQtaXQtbmVhcmx5Lmh0bWwiPndpZGVseQotcHVibGljaXplZCB0aGUgYnVnIHBhdHRlcm48L2E+LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSU1fQkFEX0NIRUNLX0ZPUl9PREQiPklNOiBDaGVjayBmb3Igb2RkbmVzcyB0aGF0IHdvbid0IHdvcmsgZm9yIG5lZ2F0aXZlIG51bWJlcnMgIChJTV9CQURfQ0hFQ0tfRk9SX09ERCk8L2E+PC9oMz4KLQotCi08cD4KLVRoZSBjb2RlIHVzZXMgeCAlIDIgPT0gMSB0byBjaGVjayB0byBzZWUgaWYgYSB2YWx1ZSBpcyBvZGQsIGJ1dCB0aGlzIHdvbid0IHdvcmsKLWZvciBuZWdhdGl2ZSBudW1iZXJzIChlLmcuLCAoLTUpICUgMiA9PSAtMSkuIElmIHRoaXMgY29kZSBpcyBpbnRlbmRpbmcgdG8gY2hlY2sKLWZvciBvZGRuZXNzLCBjb25zaWRlciB1c2luZyB4ICZhbXA7IDEgPT0gMSwgb3IgeCAlIDIgIT0gMC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklOVF9CQURfUkVNX0JZXzEiPklOVDogSW50ZWdlciByZW1haW5kZXIgbW9kdWxvIDEgKElOVF9CQURfUkVNX0JZXzEpPC9hPjwvaDM+Ci0KLQotPHA+IEFueSBleHByZXNzaW9uIChleHAgJSAxKSBpcyBndWFyYW50ZWVkIHRvIGFsd2F5cyByZXR1cm4gemVyby4KLURpZCB5b3UgbWVhbiAoZXhwICZhbXA7IDEpIG9yIChleHAgJSAyKSBpbnN0ZWFkPwotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSU5UX1ZBQ1VPVVNfQklUX09QRVJBVElPTiI+SU5UOiBWYWN1b3VzIGJpdCBtYXNrIG9wZXJhdGlvbiBvbiBpbnRlZ2VyIHZhbHVlIChJTlRfVkFDVU9VU19CSVRfT1BFUkFUSU9OKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGlzIGFuIGludGVnZXIgYml0IG9wZXJhdGlvbiAoYW5kLCBvciwgb3IgZXhjbHVzaXZlIG9yKSB0aGF0IGRvZXNuJ3QgZG8gYW55IHVzZWZ1bCB3b3JrCi0oZS5nLiwgPGNvZGU+diAmIDB4ZmZmZmZmZmY8L2NvZGU+KS4KLQotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSU5UX1ZBQ1VPVVNfQ09NUEFSSVNPTiI+SU5UOiBWYWN1b3VzIGNvbXBhcmlzb24gb2YgaW50ZWdlciB2YWx1ZSAoSU5UX1ZBQ1VPVVNfQ09NUEFSSVNPTik8L2E+PC9oMz4KLQotCi08cD4gVGhlcmUgaXMgYW4gaW50ZWdlciBjb21wYXJpc29uIHRoYXQgYWx3YXlzIHJldHVybnMKLXRoZSBzYW1lIHZhbHVlIChlLmcuLCB4ICZsdDs9IEludGVnZXIuTUFYX1ZBTFVFKS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1USUFfU1VTUEVDVF9TRVJWTEVUX0lOU1RBTkNFX0ZJRUxEIj5NVElBOiBDbGFzcyBleHRlbmRzIFNlcnZsZXQgY2xhc3MgYW5kIHVzZXMgaW5zdGFuY2UgdmFyaWFibGVzIChNVElBX1NVU1BFQ1RfU0VSVkxFVF9JTlNUQU5DRV9GSUVMRCk8L2E+PC9oMz4KLQotICAgCi0gICAgPHA+Ci0gICAgVGhpcyBjbGFzcyBleHRlbmRzIGZyb20gYSBTZXJ2bGV0IGNsYXNzLCBhbmQgdXNlcyBhbiBpbnN0YW5jZSBtZW1iZXIgdmFyaWFibGUuIFNpbmNlIG9ubHkKLSAgICBvbmUgaW5zdGFuY2Ugb2YgYSBTZXJ2bGV0IGNsYXNzIGlzIGNyZWF0ZWQgYnkgdGhlIEoyRUUgZnJhbWV3b3JrLCBhbmQgdXNlZCBpbiBhCi0gICAgbXVsdGl0aHJlYWRlZCB3YXksIHRoaXMgcGFyYWRpZ20gaXMgaGlnaGx5IGRpc2NvdXJhZ2VkIGFuZCBtb3N0IGxpa2VseSBwcm9ibGVtYXRpYy4gQ29uc2lkZXIKLSAgICBvbmx5IHVzaW5nIG1ldGhvZCBsb2NhbCB2YXJpYWJsZXMuCi0gICAgPC9wPgotICAgIAotICAgICAgCi08aDM+PGEgbmFtZT0iTVRJQV9TVVNQRUNUX1NUUlVUU19JTlNUQU5DRV9GSUVMRCI+TVRJQTogQ2xhc3MgZXh0ZW5kcyBTdHJ1dHMgQWN0aW9uIGNsYXNzIGFuZCB1c2VzIGluc3RhbmNlIHZhcmlhYmxlcyAoTVRJQV9TVVNQRUNUX1NUUlVUU19JTlNUQU5DRV9GSUVMRCk8L2E+PC9oMz4KLQotICAgCi0gICAgPHA+Ci0gICAgVGhpcyBjbGFzcyBleHRlbmRzIGZyb20gYSBTdHJ1dHMgQWN0aW9uIGNsYXNzLCBhbmQgdXNlcyBhbiBpbnN0YW5jZSBtZW1iZXIgdmFyaWFibGUuIFNpbmNlIG9ubHkKLSAgICBvbmUgaW5zdGFuY2Ugb2YgYSBzdHJ1dHMgQWN0aW9uIGNsYXNzIGlzIGNyZWF0ZWQgYnkgdGhlIFN0cnV0cyBmcmFtZXdvcmssIGFuZCB1c2VkIGluIGEKLSAgICBtdWx0aXRocmVhZGVkIHdheSwgdGhpcyBwYXJhZGlnbSBpcyBoaWdobHkgZGlzY291cmFnZWQgYW5kIG1vc3QgbGlrZWx5IHByb2JsZW1hdGljLiBDb25zaWRlcgotICAgIG9ubHkgdXNpbmcgbWV0aG9kIGxvY2FsIHZhcmlhYmxlcy4gT25seSBpbnN0YW5jZSBmaWVsZHMgdGhhdCBhcmUgd3JpdHRlbiBvdXRzaWRlIG9mIGEgbW9uaXRvcgotICAgIGFyZSByZXBvcnRlZC4KLSAgICA8L3A+Ci0gICAgCi0gICAgICAKLTxoMz48YSBuYW1lPSJOUF9ERVJFRkVSRU5DRV9PRl9SRUFETElORV9WQUxVRSI+TlA6IERlcmVmZXJlbmNlIG9mIHRoZSByZXN1bHQgb2YgcmVhZExpbmUoKSB3aXRob3V0IG51bGxjaGVjayAoTlBfREVSRUZFUkVOQ0VfT0ZfUkVBRExJTkVfVkFMVUUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIHJlc3VsdCBvZiBpbnZva2luZyByZWFkTGluZSgpIGlzIGRlcmVmZXJlbmNlZCB3aXRob3V0IGNoZWNraW5nIHRvIHNlZSBpZiB0aGUgcmVzdWx0IGlzIG51bGwuIElmIHRoZXJlIGFyZSBubyBtb3JlIGxpbmVzIG9mIHRleHQKLXRvIHJlYWQsIHJlYWRMaW5lKCkgd2lsbCByZXR1cm4gbnVsbCBhbmQgZGVyZWZlcmVuY2luZyB0aGF0IHdpbGwgZ2VuZXJhdGUgYSBudWxsIHBvaW50ZXIgZXhjZXB0aW9uLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfSU1NRURJQVRFX0RFUkVGRVJFTkNFX09GX1JFQURMSU5FIj5OUDogSW1tZWRpYXRlIGRlcmVmZXJlbmNlIG9mIHRoZSByZXN1bHQgb2YgcmVhZExpbmUoKSAoTlBfSU1NRURJQVRFX0RFUkVGRVJFTkNFX09GX1JFQURMSU5FKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSByZXN1bHQgb2YgaW52b2tpbmcgcmVhZExpbmUoKSBpcyBpbW1lZGlhdGVseSBkZXJlZmVyZW5jZWQuIElmIHRoZXJlIGFyZSBubyBtb3JlIGxpbmVzIG9mIHRleHQKLXRvIHJlYWQsIHJlYWRMaW5lKCkgd2lsbCByZXR1cm4gbnVsbCBhbmQgZGVyZWZlcmVuY2luZyB0aGF0IHdpbGwgZ2VuZXJhdGUgYSBudWxsIHBvaW50ZXIgZXhjZXB0aW9uLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfTE9BRF9PRl9LTk9XTl9OVUxMX1ZBTFVFIj5OUDogTG9hZCBvZiBrbm93biBudWxsIHZhbHVlIChOUF9MT0FEX09GX0tOT1dOX05VTExfVkFMVUUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIHZhcmlhYmxlIHJlZmVyZW5jZWQgYXQgdGhpcyBwb2ludCBpcyBrbm93biB0byBiZSBudWxsIGR1ZSB0byBhbiBlYXJsaWVyCi0gICBjaGVjayBhZ2FpbnN0IG51bGwuIEFsdGhvdWdoIHRoaXMgaXMgdmFsaWQsIGl0IG1pZ2h0IGJlIGEgbWlzdGFrZSAocGVyaGFwcyB5b3UKLWludGVuZGVkIHRvIHJlZmVyIHRvIGEgZGlmZmVyZW50IHZhcmlhYmxlLCBvciBwZXJoYXBzIHRoZSBlYXJsaWVyIGNoZWNrIHRvIHNlZSBpZiB0aGUKLXZhcmlhYmxlIGlzIG51bGwgc2hvdWxkIGhhdmUgYmVlbiBhIGNoZWNrIHRvIHNlZSBpZiBpdCB3YXMgbm9ubnVsbCkuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOUF9NRVRIT0RfUEFSQU1FVEVSX1RJR0hURU5TX0FOTk9UQVRJT04iPk5QOiBNZXRob2QgdGlnaHRlbnMgbnVsbG5lc3MgYW5ub3RhdGlvbiBvbiBwYXJhbWV0ZXIgKE5QX01FVEhPRF9QQVJBTUVURVJfVElHSFRFTlNfQU5OT1RBVElPTik8L2E+PC9oMz4KLQotICAgICAgICA8cD4KLSAgICAgICAgQSBtZXRob2Qgc2hvdWxkIGFsd2F5cyBpbXBsZW1lbnQgdGhlIGNvbnRyYWN0IG9mIGEgbWV0aG9kIGl0IG92ZXJyaWRlcy4gVGh1cywgaWYgYSBtZXRob2QgdGFrZXMgYSBwYXJhbWV0ZXIKLQl0aGF0IGlzIG1hcmtlZCBhcyBATnVsbGFibGUsIHlvdSBzaG91bGRuJ3Qgb3ZlcnJpZGUgdGhhdCBtZXRob2QgaW4gYSBzdWJjbGFzcyB3aXRoIGEgbWV0aG9kIHdoZXJlIHRoYXQgcGFyYW1ldGVyIGlzIEBOb25udWxsLgotCURvaW5nIHNvIHZpb2xhdGVzIHRoZSBjb250cmFjdCB0aGF0IHRoZSBtZXRob2Qgc2hvdWxkIGhhbmRsZSBhIG51bGwgcGFyYW1ldGVyLgotICAgICAgICA8L3A+Ci0gICAgICAKLTxoMz48YSBuYW1lPSJOUF9NRVRIT0RfUkVUVVJOX1JFTEFYSU5HX0FOTk9UQVRJT04iPk5QOiBNZXRob2QgcmVsYXhlcyBudWxsbmVzcyBhbm5vdGF0aW9uIG9uIHJldHVybiB2YWx1ZSAoTlBfTUVUSE9EX1JFVFVSTl9SRUxBWElOR19BTk5PVEFUSU9OKTwvYT48L2gzPgotCi0gICAgICAgIDxwPgotICAgICAgICBBIG1ldGhvZCBzaG91bGQgYWx3YXlzIGltcGxlbWVudCB0aGUgY29udHJhY3Qgb2YgYSBtZXRob2QgaXQgb3ZlcnJpZGVzLiBUaHVzLCBpZiBhIG1ldGhvZCB0YWtlcyBpcyBhbm5vdGF0ZWQKLQlhcyByZXR1cm5pbmcgYSBATm9ubnVsbCB2YWx1ZSwgCi0JeW91IHNob3VsZG4ndCBvdmVycmlkZSB0aGF0IG1ldGhvZCBpbiBhIHN1YmNsYXNzIHdpdGggYSBtZXRob2QgYW5ub3RhdGVkIGFzIHJldHVybmluZyBhIEBOdWxsYWJsZSBvciBAQ2hlY2tGb3JOdWxsIHZhbHVlLgotCURvaW5nIHNvIHZpb2xhdGVzIHRoZSBjb250cmFjdCB0aGF0IHRoZSBtZXRob2Qgc2hvdWxkbid0IHJldHVybiBudWxsLgotICAgICAgICA8L3A+Ci0gICAgICAKLTxoMz48YSBuYW1lPSJOUF9OVUxMX09OX1NPTUVfUEFUSF9GUk9NX1JFVFVSTl9WQUxVRSI+TlA6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBkdWUgdG8gcmV0dXJuIHZhbHVlIG9mIGNhbGxlZCBtZXRob2QgKE5QX05VTExfT05fU09NRV9QQVRIX0ZST01fUkVUVVJOX1ZBTFVFKTwvYT48L2gzPgotCi0gICAgICAKLTxwPiBUaGUgcmV0dXJuIHZhbHVlIGZyb20gYSBtZXRob2QgaXMgZGVyZWZlcmVuY2VkIHdpdGhvdXQgYSBudWxsIGNoZWNrLAotYW5kIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhhdCBtZXRob2QgaXMgb25lIHRoYXQgc2hvdWxkIGdlbmVyYWxseSBiZSBjaGVja2VkCi1mb3IgbnVsbC4gIFRoaXMgbWF5IGxlYWQgdG8gYSA8Y29kZT5OdWxsUG9pbnRlckV4Y2VwdGlvbjwvY29kZT4gd2hlbiB0aGUgY29kZSBpcyBleGVjdXRlZC4KLTwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iTlBfTlVMTF9PTl9TT01FX1BBVEhfTUlHSFRfQkVfSU5GRUFTSUJMRSI+TlA6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBvbiBicmFuY2ggdGhhdCBtaWdodCBiZSBpbmZlYXNpYmxlIChOUF9OVUxMX09OX1NPTUVfUEFUSF9NSUdIVF9CRV9JTkZFQVNJQkxFKTwvYT48L2gzPgotCi0KLTxwPiBUaGVyZSBpcyBhIGJyYW5jaCBvZiBzdGF0ZW1lbnQgdGhhdCwgPGVtPmlmIGV4ZWN1dGVkLDwvZW0+ICBndWFyYW50ZWVzIHRoYXQKLWEgbnVsbCB2YWx1ZSB3aWxsIGJlIGRlcmVmZXJlbmNlZCwgd2hpY2gKLXdvdWxkIGdlbmVyYXRlIGEgPGNvZGU+TnVsbFBvaW50ZXJFeGNlcHRpb248L2NvZGU+IHdoZW4gdGhlIGNvZGUgaXMgZXhlY3V0ZWQuCi1PZiBjb3Vyc2UsIHRoZSBwcm9ibGVtIG1pZ2h0IGJlIHRoYXQgdGhlIGJyYW5jaCBvciBzdGF0ZW1lbnQgaXMgaW5mZWFzaWJsZSBhbmQgdGhhdAotdGhlIG51bGwgcG9pbnRlciBleGNlcHRpb24gY2FuJ3QgZXZlciBiZSBleGVjdXRlZDsgZGVjaWRpbmcgdGhhdCBpcyBiZXlvbmQgdGhlIGFiaWxpdHkgb2YgRmluZEJ1Z3MuCi1EdWUgdG8gdGhlIGZhY3QgdGhhdCB0aGlzIHZhbHVlIGhhZCBiZWVuIHByZXZpb3VzbHkgdGVzdGVkIGZvciBudWxsbmVzcywKLXRoaXMgaXMgYSBkZWZpbml0ZSBwb3NzaWJpbGl0eS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX1BBUkFNRVRFUl9NVVNUX0JFX05PTk5VTExfQlVUX01BUktFRF9BU19OVUxMQUJMRSI+TlA6IFBhcmFtZXRlciBtdXN0IGJlIG5vbm51bGwgYnV0IGlzIG1hcmtlZCBhcyBudWxsYWJsZSAoTlBfUEFSQU1FVEVSX01VU1RfQkVfTk9OTlVMTF9CVVRfTUFSS0VEX0FTX05VTExBQkxFKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIHBhcmFtZXRlciBpcyBhbHdheXMgdXNlZCBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGl0IHRvIGJlIG5vbm51bGwsCi1idXQgdGhlIHBhcmFtZXRlciBpcyBleHBsaWNpdGx5IGFubm90YXRlZCBhcyBiZWluZyBOdWxsYWJsZS4gRWl0aGVyIHRoZSB1c2UKLW9mIHRoZSBwYXJhbWV0ZXIgb3IgdGhlIGFubm90YXRpb24gaXMgd3JvbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOUF9VTldSSVRURU5fUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCI+TlA6IFJlYWQgb2YgdW53cml0dGVuIHB1YmxpYyBvciBwcm90ZWN0ZWQgZmllbGQgKE5QX1VOV1JJVFRFTl9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBwcm9ncmFtIGlzIGRlcmVmZXJlbmNpbmcgYSBwdWJsaWMgb3IgcHJvdGVjdGVkCi1maWVsZCB0aGF0IGRvZXMgbm90IHNlZW0gdG8gZXZlciBoYXZlIGEgbm9uLW51bGwgdmFsdWUgd3JpdHRlbiB0byBpdC4KLVVubGVzcyB0aGUgZmllbGQgaXMgaW5pdGlhbGl6ZWQgdmlhIHNvbWUgbWVjaGFuaXNtIG5vdCBzZWVuIGJ5IHRoZSBhbmFseXNpcywKLWRlcmVmZXJlbmNpbmcgdGhpcyB2YWx1ZSB3aWxsIGdlbmVyYXRlIGEgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5TX0RBTkdFUk9VU19OT05fU0hPUlRfQ0lSQ1VJVCI+TlM6IFBvdGVudGlhbGx5IGRhbmdlcm91cyB1c2Ugb2Ygbm9uLXNob3J0LWNpcmN1aXQgbG9naWMgKE5TX0RBTkdFUk9VU19OT05fU0hPUlRfQ0lSQ1VJVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNvZGUgc2VlbXMgdG8gYmUgdXNpbmcgbm9uLXNob3J0LWNpcmN1aXQgbG9naWMgKGUuZy4sICZhbXA7Ci1vciB8KQotcmF0aGVyIHRoYW4gc2hvcnQtY2lyY3VpdCBsb2dpYyAoJmFtcDsmYW1wOyBvciB8fCkuIEluIGFkZGl0aW9uLAotaXQgc2VlbSBwb3NzaWJsZSB0aGF0LCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZSBsZWZ0IGhhbmQgc2lkZSwgeW91IG1pZ2h0IG5vdAotd2FudCB0byBldmFsdWF0ZSB0aGUgcmlnaHQgaGFuZCBzaWRlIChiZWNhdXNlIGl0IHdvdWxkIGhhdmUgc2lkZSBlZmZlY3RzLCBjb3VsZCBjYXVzZSBhbiBleGNlcHRpb24KLW9yIGNvdWxkIGJlIGV4cGVuc2l2ZS48L3A+Ci08cD4KLU5vbi1zaG9ydC1jaXJjdWl0IGxvZ2ljIGNhdXNlcyBib3RoIHNpZGVzIG9mIHRoZSBleHByZXNzaW9uCi10byBiZSBldmFsdWF0ZWQgZXZlbiB3aGVuIHRoZSByZXN1bHQgY2FuIGJlIGluZmVycmVkIGZyb20KLWtub3dpbmcgdGhlIGxlZnQtaGFuZCBzaWRlLiBUaGlzIGNhbiBiZSBsZXNzIGVmZmljaWVudCBhbmQKLWNhbiByZXN1bHQgaW4gZXJyb3JzIGlmIHRoZSBsZWZ0LWhhbmQgc2lkZSBndWFyZHMgY2FzZXMKLXdoZW4gZXZhbHVhdGluZyB0aGUgcmlnaHQtaGFuZCBzaWRlIGNhbiBnZW5lcmF0ZSBhbiBlcnJvci4KLTwvcD4KLQotPHA+U2VlIDxhIGhyZWY9Imh0dHA6Ly9qYXZhLnN1bi5jb20vZG9jcy9ib29rcy9qbHMvdGhpcmRfZWRpdGlvbi9odG1sL2V4cHJlc3Npb25zLmh0bWwjMTUuMjIuMiI+dGhlIEphdmEKLUxhbmd1YWdlIFNwZWNpZmljYXRpb248L2E+IGZvciBkZXRhaWxzCi0KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5TX05PTl9TSE9SVF9DSVJDVUlUIj5OUzogUXVlc3Rpb25hYmxlIHVzZSBvZiBub24tc2hvcnQtY2lyY3VpdCBsb2dpYyAoTlNfTk9OX1NIT1JUX0NJUkNVSVQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjb2RlIHNlZW1zIHRvIGJlIHVzaW5nIG5vbi1zaG9ydC1jaXJjdWl0IGxvZ2ljIChlLmcuLCAmYW1wOwotb3IgfCkKLXJhdGhlciB0aGFuIHNob3J0LWNpcmN1aXQgbG9naWMgKCZhbXA7JmFtcDsgb3IgfHwpLgotTm9uLXNob3J0LWNpcmN1aXQgbG9naWMgY2F1c2VzIGJvdGggc2lkZXMgb2YgdGhlIGV4cHJlc3Npb24KLXRvIGJlIGV2YWx1YXRlZCBldmVuIHdoZW4gdGhlIHJlc3VsdCBjYW4gYmUgaW5mZXJyZWQgZnJvbQota25vd2luZyB0aGUgbGVmdC1oYW5kIHNpZGUuIFRoaXMgY2FuIGJlIGxlc3MgZWZmaWNpZW50IGFuZAotY2FuIHJlc3VsdCBpbiBlcnJvcnMgaWYgdGhlIGxlZnQtaGFuZCBzaWRlIGd1YXJkcyBjYXNlcwotd2hlbiBldmFsdWF0aW5nIHRoZSByaWdodC1oYW5kIHNpZGUgY2FuIGdlbmVyYXRlIGFuIGVycm9yLgotCi08cD5TZWUgPGEgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9kb2NzL2Jvb2tzL2pscy90aGlyZF9lZGl0aW9uL2h0bWwvZXhwcmVzc2lvbnMuaHRtbCMxNS4yMi4yIj50aGUgSmF2YQotTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbjwvYT4gZm9yIGRldGFpbHMKLQotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUFNfUFVCTElDX1NFTUFQSE9SRVMiPlBTOiBDbGFzcyBleHBvc2VzIHN5bmNocm9uaXphdGlvbiBhbmQgc2VtYXBob3JlcyBpbiBpdHMgcHVibGljIGludGVyZmFjZSAoUFNfUFVCTElDX1NFTUFQSE9SRVMpPC9hPjwvaDM+Ci0KLSAgIAotICAgIDxwPgotICAgIFRoaXMgY2xhc3MgdXNlcyBzeW5jaHJvbml6YXRpb24gYWxvbmcgd2l0aCB3YWl0KCksIG5vdGlmeSgpIG9yIG5vdGlmeUFsbCgpIG9uIGl0c2VsZiAodGhlIHRoaXMKLSAgICByZWZlcmVuY2UpLiBDbGllbnQgY2xhc3NlcyB0aGF0IHVzZSB0aGlzIGNsYXNzLCBtYXksIGluIGFkZGl0aW9uLCB1c2UgYW4gaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcwotICAgIGFzIGEgc3luY2hyb25pemluZyBvYmplY3QuIEJlY2F1c2UgdHdvIGNsYXNzZXMgYXJlIHVzaW5nIHRoZSBzYW1lIG9iamVjdCBmb3Igc3luY2hyb25pemF0aW9uLAotICAgIE11bHRpdGhyZWFkIGNvcnJlY3RuZXNzIGlzIHN1c3BlY3QuIFlvdSBzaG91bGQgbm90IHN5bmNocm9uaXplIG5vciBjYWxsIHNlbWFwaG9yZSBtZXRob2RzIG9uCi0gICAgYSBwdWJsaWMgcmVmZXJlbmNlLiBDb25zaWRlciB1c2luZyBhIGludGVybmFsIHByaXZhdGUgbWVtYmVyIHZhcmlhYmxlIHRvIGNvbnRyb2wgc3luY2hyb25pemF0aW9uLgotICAgIDwvcD4KLSAgICAKLSAgICAgIAotPGgzPjxhIG5hbWU9IlBaTEFfUFJFRkVSX1pFUk9fTEVOR1RIX0FSUkFZUyI+UFpMQTogQ29uc2lkZXIgcmV0dXJuaW5nIGEgemVybyBsZW5ndGggYXJyYXkgcmF0aGVyIHRoYW4gbnVsbCAoUFpMQV9QUkVGRVJfWkVST19MRU5HVEhfQVJSQVlTKTwvYT48L2gzPgotCi0KLTxwPiBJdCBpcyBvZnRlbiBhIGJldHRlciBkZXNpZ24gdG8KLXJldHVybiBhIGxlbmd0aCB6ZXJvIGFycmF5IHJhdGhlciB0aGFuIGEgbnVsbCByZWZlcmVuY2UgdG8gaW5kaWNhdGUgdGhhdCB0aGVyZQotYXJlIG5vIHJlc3VsdHMgKGkuZS4sIGFuIGVtcHR5IGxpc3Qgb2YgcmVzdWx0cykuCi1UaGlzIHdheSwgbm8gZXhwbGljaXQgY2hlY2sgZm9yIG51bGwgaXMgbmVlZGVkIGJ5IGNsaWVudHMgb2YgdGhlIG1ldGhvZC48L3A+Ci0KLTxwPk9uIHRoZSBvdGhlciBoYW5kLCB1c2luZyBudWxsIHRvIGluZGljYXRlCi0idGhlcmUgaXMgbm8gYW5zd2VyIHRvIHRoaXMgcXVlc3Rpb24iIGlzIHByb2JhYmx5IGFwcHJvcHJpYXRlLgotRm9yIGV4YW1wbGUsIDxjb2RlPkZpbGUubGlzdEZpbGVzKCk8L2NvZGU+IHJldHVybnMgYW4gZW1wdHkgbGlzdAotaWYgZ2l2ZW4gYSBkaXJlY3RvcnkgY29udGFpbmluZyBubyBmaWxlcywgYW5kIHJldHVybnMgbnVsbCBpZiB0aGUgZmlsZQotaXMgbm90IGEgZGlyZWN0b3J5LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlFGX1FVRVNUSU9OQUJMRV9GT1JfTE9PUCI+UUY6IENvbXBsaWNhdGVkLCBzdWJ0bGUgb3Igd3JvbmcgaW5jcmVtZW50IGluIGZvci1sb29wICAoUUZfUVVFU1RJT05BQkxFX0ZPUl9MT09QKTwvYT48L2gzPgotCi0KLSAgIDxwPkFyZSB5b3Ugc3VyZSB0aGlzIGZvciBsb29wIGlzIGluY3JlbWVudGluZyB0aGUgY29ycmVjdCB2YXJpYWJsZT8KLSAgIEl0IGFwcGVhcnMgdGhhdCBhbm90aGVyIHZhcmlhYmxlIGlzIGJlaW5nIGluaXRpYWxpemVkIGFuZCBjaGVja2VkCi0gICBieSB0aGUgZm9yIGxvb3AuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSQ05fUkVEVU5EQU5UX0NPTVBBUklTT05fT0ZfTlVMTF9BTkRfTk9OTlVMTF9WQUxVRSI+UkNOOiBSZWR1bmRhbnQgY29tcGFyaXNvbiBvZiBub24tbnVsbCB2YWx1ZSB0byBudWxsIChSQ05fUkVEVU5EQU5UX0NPTVBBUklTT05fT0ZfTlVMTF9BTkRfTk9OTlVMTF9WQUxVRSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSByZWZlcmVuY2Uga25vd24gdG8gYmUgbm9uLW51bGwgd2l0aCBhbm90aGVyIHJlZmVyZW5jZQota25vd24gdG8gYmUgbnVsbC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSQ05fUkVEVU5EQU5UX0NPTVBBUklTT05fVFdPX05VTExfVkFMVUVTIj5SQ046IFJlZHVuZGFudCBjb21wYXJpc29uIG9mIHR3byBudWxsIHZhbHVlcyAoUkNOX1JFRFVOREFOVF9DT01QQVJJU09OX1RXT19OVUxMX1ZBTFVFUyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSByZWR1bmRhbnQgY29tcGFyaXNvbiBvZiB0d28gcmVmZXJlbmNlcyBrbm93biB0bwotYm90aCBiZSBkZWZpbml0ZWx5IG51bGwuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkNOX1JFRFVOREFOVF9OVUxMQ0hFQ0tfT0ZfTk9OTlVMTF9WQUxVRSI+UkNOOiBSZWR1bmRhbnQgbnVsbGNoZWNrIG9mIHZhbHVlIGtub3duIHRvIGJlIG5vbi1udWxsIChSQ05fUkVEVU5EQU5UX05VTExDSEVDS19PRl9OT05OVUxMX1ZBTFVFKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIHJlZHVuZGFudCBjaGVjayBvZiBhIGtub3duIG5vbi1udWxsIHZhbHVlIGFnYWluc3QKLXRoZSBjb25zdGFudCBudWxsLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJDTl9SRURVTkRBTlRfTlVMTENIRUNLX09GX05VTExfVkFMVUUiPlJDTjogUmVkdW5kYW50IG51bGxjaGVjayBvZiB2YWx1ZSBrbm93biB0byBiZSBudWxsIChSQ05fUkVEVU5EQU5UX05VTExDSEVDS19PRl9OVUxMX1ZBTFVFKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIHJlZHVuZGFudCBjaGVjayBvZiBhIGtub3duIG51bGwgdmFsdWUgYWdhaW5zdAotdGhlIGNvbnN0YW50IG51bGwuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkVDX0NBVENIX0VYQ0VQVElPTiI+UkVDOiBFeGNlcHRpb24gaXMgY2F1Z2h0IHdoZW4gRXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gKFJFQ19DQVRDSF9FWENFUFRJT04pPC9hPjwvaDM+Ci0KLSAgCi0gIDxwPgotICBUaGlzIG1ldGhvZCB1c2VzIGEgdHJ5LWNhdGNoIGJsb2NrIHRoYXQgY2F0Y2hlcyBFeGNlcHRpb24gb2JqZWN0cywgYnV0IEV4Y2VwdGlvbiBpcyBub3QKLSAgdGhyb3duIHdpdGhpbiB0aGUgdHJ5IGJsb2NrLCBhbmQgUnVudGltZUV4Y2VwdGlvbiBpcyBub3QgZXhwbGljaXRseSBjYXVnaHQuICBJdCBpcyBhIGNvbW1vbiBidWcgcGF0dGVybiB0bwotICBzYXkgdHJ5IHsgLi4uIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7IHNvbWV0aGluZyB9IGFzIGEgc2hvcnRoYW5kIGZvciBjYXRjaGluZyBhIG51bWJlciBvZiB0eXBlcyBvZiBleGNlcHRpb24KLSAgZWFjaCBvZiB3aG9zZSBjYXRjaCBibG9ja3MgaXMgaWRlbnRpY2FsLCBidXQgdGhpcyBjb25zdHJ1Y3QgYWxzbyBhY2NpZGVudGFsbHkgY2F0Y2hlcyBSdW50aW1lRXhjZXB0aW9uIGFzIHdlbGwsCi0gIG1hc2tpbmcgcG90ZW50aWFsIGJ1Z3MuCi0gIDwvcD4KLSAgPHA+QSBiZXR0ZXIgYXBwcm9hY2ggaXMgdG8gZWl0aGVyIGV4cGxpY2l0bHkgY2F0Y2ggdGhlIHNwZWNpZmljIGV4Y2VwdGlvbnMgdGhhdCBhcmUgdGhyb3duLAotICBvciB0byBleHBsaWNpdGx5IGNhdGNoIFJ1bnRpbWVFeGNlcHRpb24gZXhjZXB0aW9uLCByZXRocm93IGl0LCBhbmQgdGhlbiBjYXRjaCBhbGwgbm9uLVJ1bnRpbWUgRXhjZXB0aW9ucywgYXMgc2hvd24gYmVsb3c6PC9wPgotICA8cHJlPgotICB0cnkgewotICAgIC4uLgotICB9IGNhdGNoIChSdW50aW1lRXhjZXB0aW9uIGUpIHsKLSAgICB0aHJvdyBlOwotICB9IGNhdGNoIChFeGNlcHRpb24gZSkgewotICAgIC4uLiBkZWFsIHdpdGggYWxsIG5vbi1ydW50aW1lIGV4Y2VwdGlvbnMgLi4uCi0gIH08L3ByZT4KLSAgCi0gICAgIAotPGgzPjxhIG5hbWU9IlJJX1JFRFVOREFOVF9JTlRFUkZBQ0VTIj5SSTogQ2xhc3MgaW1wbGVtZW50cyBzYW1lIGludGVyZmFjZSBhcyBzdXBlcmNsYXNzIChSSV9SRURVTkRBTlRfSU5URVJGQUNFUyk8L2E+PC9oMz4KLQotICAgCi0gICAgPHA+Ci0gICAgVGhpcyBjbGFzcyBkZWNsYXJlcyB0aGF0IGl0IGltcGxlbWVudHMgYW4gaW50ZXJmYWNlIHRoYXQgaXMgYWxzbyBpbXBsZW1lbnRlZCBieSBhIHN1cGVyY2xhc3MuCi0gICAgVGhpcyBpcyByZWR1bmRhbnQgYmVjYXVzZSBvbmNlIGEgc3VwZXJjbGFzcyBpbXBsZW1lbnRzIGFuIGludGVyZmFjZSwgYWxsIHN1YmNsYXNzZXMgYnkgZGVmYXVsdCBhbHNvCi0gICAgaW1wbGVtZW50IHRoaXMgaW50ZXJmYWNlLiBJdCBtYXkgcG9pbnQgb3V0IHRoYXQgdGhlIGluaGVyaXRhbmNlIGhpZXJhcmNoeSBoYXMgY2hhbmdlZCBzaW5jZQotICAgIHRoaXMgY2xhc3Mgd2FzIGNyZWF0ZWQsIGFuZCBjb25zaWRlcmF0aW9uIHNob3VsZCBiZSBnaXZlbiB0byB0aGUgb3duZXJzaGlwIG9mCi0gICAgdGhlIGludGVyZmFjZSdzIGltcGxlbWVudGF0aW9uLgotICAgIDwvcD4KLSAgICAKLSAgICAgCi08aDM+PGEgbmFtZT0iUlZfQ0hFQ0tfRk9SX1BPU0lUSVZFX0lOREVYT0YiPlJWOiBNZXRob2QgY2hlY2tzIHRvIHNlZSBpZiByZXN1bHQgb2YgU3RyaW5nLmluZGV4T2YgaXMgcG9zaXRpdmUgKFJWX0NIRUNLX0ZPUl9QT1NJVElWRV9JTkRFWE9GKTwvYT48L2gzPgotCi0KLSAgIDxwPiBUaGUgbWV0aG9kIGludm9rZXMgU3RyaW5nLmluZGV4T2YgYW5kIGNoZWNrcyB0byBzZWUgaWYgdGhlIHJlc3VsdCBpcyBwb3NpdGl2ZSBvciBub24tcG9zaXRpdmUuCi0gICBJdCBpcyBtdWNoIG1vcmUgdHlwaWNhbCB0byBjaGVjayB0byBzZWUgaWYgdGhlIHJlc3VsdCBpcyBuZWdhdGl2ZSBvciBub24tbmVnYXRpdmUuIEl0IGlzCi0gICBwb3NpdGl2ZSBvbmx5IGlmIHRoZSBzdWJzdHJpbmcgY2hlY2tlZCBmb3Igb2NjdXJzIGF0IHNvbWUgcGxhY2Ugb3RoZXIgdGhhbiBhdCB0aGUgYmVnaW5uaW5nIG9mCi0gICB0aGUgU3RyaW5nLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJWX0RPTlRfSlVTVF9OVUxMX0NIRUNLX1JFQURMSU5FIj5SVjogTWV0aG9kIGRpc2NhcmRzIHJlc3VsdCBvZiByZWFkTGluZSBhZnRlciBjaGVja2luZyBpZiBpdCBpcyBub25udWxsIChSVl9ET05UX0pVU1RfTlVMTF9DSEVDS19SRUFETElORSk8L2E+PC9oMz4KLQotCi0gICA8cD4gVGhlIHZhbHVlIHJldHVybmVkIGJ5IHJlYWRMaW5lIGlzIGRpc2NhcmRlZCBhZnRlciBjaGVja2luZyB0byBzZWUgaWYgdGhlIHJldHVybgotdmFsdWUgaXMgbm9uLW51bGwuIEluIGFsbW9zdCBhbGwgc2l0dWF0aW9ucywgaWYgdGhlIHJlc3VsdCBpcyBub24tbnVsbCwgeW91IHdpbGwgd2FudAotdG8gdXNlIHRoYXQgbm9uLW51bGwgdmFsdWUuIENhbGxpbmcgcmVhZExpbmUgYWdhaW4gd2lsbCBnaXZlIHlvdSBhIGRpZmZlcmVudCBsaW5lLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJWX1JFTV9PRl9IQVNIQ09ERSI+UlY6IFJlbWFpbmRlciBvZiBoYXNoQ29kZSBjb3VsZCBiZSBuZWdhdGl2ZSAoUlZfUkVNX09GX0hBU0hDT0RFKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNvZGUgY29tcHV0ZXMgYSBoYXNoQ29kZSwgYW5kIHRoZW4gY29tcHV0ZXMKLXRoZSByZW1haW5kZXIgb2YgdGhhdCB2YWx1ZSBtb2R1bG8gYW5vdGhlciB2YWx1ZS4gU2luY2UgdGhlIGhhc2hDb2RlCi1jYW4gYmUgbmVnYXRpdmUsIHRoZSByZXN1bHQgb2YgdGhlIHJlbWFpbmRlciBvcGVyYXRpb24KLWNhbiBhbHNvIGJlIG5lZ2F0aXZlLiA8L3A+Ci08cD4gQXNzdW1pbmcgeW91IHdhbnQgdG8gZW5zdXJlIHRoYXQgdGhlIHJlc3VsdCBvZiB5b3VyIGNvbXB1dGF0aW9uIGlzIG5vbm5lZ2F0aXZlLAoteW91IG1heSBuZWVkIHRvIGNoYW5nZSB5b3VyIGNvZGUuCi1JZiB5b3Uga25vdyB0aGUgZGl2aXNvciBpcyBhIHBvd2VyIG9mIDIsCi15b3UgY2FuIHVzZSBhIGJpdHdpc2UgYW5kIG9wZXJhdG9yIGluc3RlYWQgKGkuZS4sIGluc3RlYWQgb2YKLXVzaW5nIDxjb2RlPnguaGFzaENvZGUoKSVuPC9jb2RlPiwgdXNlIDxjb2RlPnguaGFzaENvZGUoKSZhbXA7KG4tMSk8L2NvZGU+LgotVGhpcyBpcyBwcm9iYWJseSBmYXN0ZXIgdGhhbiBjb21wdXRpbmcgdGhlIHJlbWFpbmRlciBhcyB3ZWxsLgotSWYgeW91IGRvbid0IGtub3cgdGhhdCB0aGUgZGl2aXNvciBpcyBhIHBvd2VyIG9mIDIsIHRha2UgdGhlIGFic29sdXRlCi12YWx1ZSBvZiB0aGUgcmVzdWx0IG9mIHRoZSByZW1haW5kZXIgb3BlcmF0aW9uIChpLmUuLCB1c2UKLTxjb2RlPk1hdGguYWJzKHguaGFzaENvZGUoKSVuKTwvY29kZT4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJWX1JFTV9PRl9SQU5ET01fSU5UIj5SVjogUmVtYWluZGVyIG9mIDMyLWJpdCBzaWduZWQgcmFuZG9tIGludGVnZXIgKFJWX1JFTV9PRl9SQU5ET01fSU5UKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNvZGUgZ2VuZXJhdGVzIGEgcmFuZG9tIHNpZ25lZCBpbnRlZ2VyIGFuZCB0aGVuIGNvbXB1dGVzCi10aGUgcmVtYWluZGVyIG9mIHRoYXQgdmFsdWUgbW9kdWxvIGFub3RoZXIgdmFsdWUuIFNpbmNlIHRoZSByYW5kb20KLW51bWJlciBjYW4gYmUgbmVnYXRpdmUsIHRoZSByZXN1bHQgb2YgdGhlIHJlbWFpbmRlciBvcGVyYXRpb24KLWNhbiBhbHNvIGJlIG5lZ2F0aXZlLiBCZSBzdXJlIHRoaXMgaXMgaW50ZW5kZWQsIGFuZCBzdHJvbmdseQotY29uc2lkZXIgdXNpbmcgdGhlIFJhbmRvbS5uZXh0SW50KGludCkgbWV0aG9kIGluc3RlYWQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9SRVRVUk5fVkFMVUVfSUdOT1JFRF9JTkZFUlJFRCI+UlY6IE1ldGhvZCBpZ25vcmVzIHJldHVybiB2YWx1ZSwgaXMgdGhpcyBPSz8gKFJWX1JFVFVSTl9WQUxVRV9JR05PUkVEX0lORkVSUkVEKTwvYT48L2gzPgotCi0KLTxwPlRoaXMgY29kZSBjYWxscyBhIG1ldGhvZCBhbmQgaWdub3JlcyB0aGUgcmV0dXJuIHZhbHVlLiBUaGUgcmV0dXJuIHZhbHVlCi1pcyB0aGUgc2FtZSB0eXBlIGFzIHRoZSB0eXBlIHRoZSBtZXRob2QgaXMgaW52b2tlZCBvbiwgYW5kIGZyb20gb3VyIGFuYWx5c2lzIGl0IGxvb2tzCi1saWtlIHRoZSByZXR1cm4gdmFsdWUgbWlnaHQgYmUgaW1wb3J0YW50IChlLmcuLCBsaWtlIGlnbm9yaW5nIHRoZQotcmV0dXJuIHZhbHVlIG9mIDxjb2RlPlN0cmluZy50b0xvd2VyQ2FzZSgpPC9jb2RlPikuCi08L3A+Ci08cD5XZSBhcmUgZ3Vlc3NpbmcgdGhhdCBpZ25vcmluZyB0aGUgcmV0dXJuIHZhbHVlIG1pZ2h0IGJlIGEgYmFkIGlkZWEganVzdCBmcm9tCi1hIHNpbXBsZSBhbmFseXNpcyBvZiB0aGUgYm9keSBvZiB0aGUgbWV0aG9kLiBZb3UgY2FuIHVzZSBhIEBDaGVja1JldHVyblZhbHVlIGFubm90YXRpb24KLXRvIGluc3RydWN0IEZpbmRCdWdzIGFzIHRvIHdoZXRoZXIgaWdub3JpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGlzIG1ldGhvZAotaXMgaW1wb3J0YW50IG9yIGFjY2VwdGFibGUuCi08L3A+Ci08cD5QbGVhc2UgaW52ZXN0aWdhdGUgdGhpcyBjbG9zZWx5IHRvIGRlY2lkZSB3aGV0aGVyIGl0IGlzIE9LIHRvIGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0FfRklFTERfRE9VQkxFX0FTU0lHTk1FTlQiPlNBOiBEb3VibGUgYXNzaWdubWVudCBvZiBmaWVsZCAoU0FfRklFTERfRE9VQkxFX0FTU0lHTk1FTlQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgZG91YmxlIGFzc2lnbm1lbnQgb2YgYSBmaWVsZDsgZS5nLgotPC9wPgotPHByZT4KLSAgaW50IHgseTsKLSAgcHVibGljIHZvaWQgZm9vKCkgewotICAgIHggPSB4ID0gMTc7Ci0gIH0KLTwvcHJlPgotPHA+QXNzaWduaW5nIHRvIGEgZmllbGQgdHdpY2UgaXMgdXNlbGVzcywgYW5kIG1heSBpbmRpY2F0ZSBhIGxvZ2ljIGVycm9yIG9yIHR5cG8uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0FfTE9DQUxfRE9VQkxFX0FTU0lHTk1FTlQiPlNBOiBEb3VibGUgYXNzaWdubWVudCBvZiBsb2NhbCB2YXJpYWJsZSAgKFNBX0xPQ0FMX0RPVUJMRV9BU1NJR05NRU5UKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIGRvdWJsZSBhc3NpZ25tZW50IG9mIGEgbG9jYWwgdmFyaWFibGU7IGUuZy4KLTwvcD4KLTxwcmU+Ci0gIHB1YmxpYyB2b2lkIGZvbygpIHsKLSAgICBpbnQgeCx5OwotICAgIHggPSB4ID0gMTc7Ci0gIH0KLTwvcHJlPgotPHA+QXNzaWduaW5nIHRoZSBzYW1lIHZhbHVlIHRvIGEgdmFyaWFibGUgdHdpY2UgaXMgdXNlbGVzcywgYW5kIG1heSBpbmRpY2F0ZSBhIGxvZ2ljIGVycm9yIG9yIHR5cG8uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0FfTE9DQUxfU0VMRl9BU1NJR05NRU5UIj5TQTogU2VsZiBhc3NpZ25tZW50IG9mIGxvY2FsIHZhcmlhYmxlIChTQV9MT0NBTF9TRUxGX0FTU0lHTk1FTlQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgc2VsZiBhc3NpZ25tZW50IG9mIGEgbG9jYWwgdmFyaWFibGU7IGUuZy48L3A+Ci08cHJlPgotICBwdWJsaWMgdm9pZCBmb28oKSB7Ci0gICAgaW50IHggPSAzOwotICAgIHggPSB4OwotICB9Ci08L3ByZT4KLTxwPgotU3VjaCBhc3NpZ25tZW50cyBhcmUgdXNlbGVzcywgYW5kIG1heSBpbmRpY2F0ZSBhIGxvZ2ljIGVycm9yIG9yIHR5cG8uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTRl9TV0lUQ0hfRkFMTFRIUk9VR0giPlNGOiBTd2l0Y2ggc3RhdGVtZW50IGZvdW5kIHdoZXJlIG9uZSBjYXNlIGZhbGxzIHRocm91Z2ggdG8gdGhlIG5leHQgY2FzZSAoU0ZfU1dJVENIX0ZBTExUSFJPVUdIKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgc3dpdGNoIHN0YXRlbWVudCB3aGVyZSBvbmUgY2FzZSBicmFuY2ggd2lsbCBmYWxsIHRocm91Z2ggdG8gdGhlIG5leHQgY2FzZS4KLSAgVXN1YWxseSB5b3UgbmVlZCB0byBlbmQgdGhpcyBjYXNlIHdpdGggYSBicmVhayBvciByZXR1cm4uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0ZfU1dJVENIX05PX0RFRkFVTFQiPlNGOiBTd2l0Y2ggc3RhdGVtZW50IGZvdW5kIHdoZXJlIGRlZmF1bHQgY2FzZSBpcyBtaXNzaW5nIChTRl9TV0lUQ0hfTk9fREVGQVVMVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIHN3aXRjaCBzdGF0ZW1lbnQgd2hlcmUgZGVmYXVsdCBjYXNlIGlzIG1pc3NpbmcuCi0gIFVzdWFsbHkgeW91IG5lZWQgdG8gcHJvdmlkZSBhIGRlZmF1bHQgY2FzZS48L3A+Ci0gIDxwPkJlY2F1c2UgdGhlIGFuYWx5c2lzIG9ubHkgbG9va3MgYXQgdGhlIGdlbmVyYXRlZCBieXRlY29kZSwgdGhpcyB3YXJuaW5nIGNhbiBiZSBpbmNvcnJlY3QgdHJpZ2dlcmVkIGlmCi10aGUgZGVmYXVsdCBjYXNlIGlzIGF0IHRoZSBlbmQgb2YgdGhlIHN3aXRjaCBzdGF0ZW1lbnQgYW5kIGRvZXNuJ3QgZW5kIHdpdGggYSBicmVhayBzdGF0ZW1lbnQuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJTVF9XUklURV9UT19TVEFUSUNfRlJPTV9JTlNUQU5DRV9NRVRIT0QiPlNUOiBXcml0ZSB0byBzdGF0aWMgZmllbGQgZnJvbSBpbnN0YW5jZSBtZXRob2QgKFNUX1dSSVRFX1RPX1NUQVRJQ19GUk9NX0lOU1RBTkNFX01FVEhPRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGluc3RhbmNlIG1ldGhvZCB3cml0ZXMgdG8gYSBzdGF0aWMgZmllbGQuIFRoaXMgaXMgdHJpY2t5IHRvIGdldAotY29ycmVjdCBpZiBtdWx0aXBsZSBpbnN0YW5jZXMgYXJlIGJlaW5nIG1hbmlwdWxhdGVkLAotYW5kIGdlbmVyYWxseSBiYWQgcHJhY3RpY2UuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9QUklWQVRFX1JFQURfUkVTT0xWRV9OT1RfSU5IRVJJVEVEIj5TZTogUHJpdmF0ZSByZWFkUmVzb2x2ZSBtZXRob2Qgbm90IGluaGVyaXRlZCBieSBzdWJjbGFzc2VzIChTRV9QUklWQVRFX1JFQURfUkVTT0xWRV9OT1RfSU5IRVJJVEVEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIHByaXZhdGUgcmVhZFJlc29sdmUgbWV0aG9kLiBTaW5jZSBpdCBpcyBwcml2YXRlLCBpdCB3b24ndCBiZSBpbmhlcml0ZWQgYnkgc3ViY2xhc3Nlcy4KLVRoaXMgbWlnaHQgYmUgaW50ZW50aW9uYWwgYW5kIE9LLCBidXQgc2hvdWxkIGJlIHJldmlld2VkIHRvIGVuc3VyZSBpdCBpcyB3aGF0IGlzIGludGVuZGVkLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfVFJBTlNJRU5UX0ZJRUxEX09GX05PTlNFUklBTElaQUJMRV9DTEFTUyI+U2U6IFRyYW5zaWVudCBmaWVsZCBvZiBjbGFzcyB0aGF0IGlzbid0IFNlcmlhbGl6YWJsZS4gIChTRV9UUkFOU0lFTlRfRklFTERfT0ZfTk9OU0VSSUFMSVpBQkxFX0NMQVNTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBmaWVsZCBpcyBtYXJrZWQgYXMgdHJhbnNpZW50LCBidXQgdGhlIGNsYXNzIGlzbid0IFNlcmlhbGl6YWJsZSwgc28gbWFya2luZyBpdCBhcyB0cmFuc2llbnQKLWhhcyBhYnNvbHV0ZWx5IG5vIGVmZmVjdC4KLVRoaXMgbWF5IGJlIGxlZnRvdmVyIG1hcmtpbmcgZnJvbSBhIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlIGNvZGUgaW4gd2hpY2ggdGhlIGNsYXNzIHdhcyB0cmFuc2llbnQsIG9yCi1pdCBtYXkgaW5kaWNhdGUgYSBtaXN1bmRlcnN0YW5kaW5nIG9mIGhvdyBzZXJpYWxpemF0aW9uIHdvcmtzLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVFFfRVhQTElDSVRfVU5LTk9XTl9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19BTFdBWVNfU0lOSyI+VFE6IFZhbHVlIHJlcXVpcmVkIHRvIGhhdmUgdHlwZSBxdWFsaWZpZXIsIGJ1dCBtYXJrZWQgYXMgdW5rbm93biAoVFFfRVhQTElDSVRfVU5LTk9XTl9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19BTFdBWVNfU0lOSyk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIEEgdmFsdWUgaXMgdXNlZCBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGl0IHRvIGJlIGFsd2F5cyBiZSBhIHZhbHVlIGRlbm90ZWQgYnkgYSB0eXBlIHF1YWxpZmllciwgYnV0Ci0gICAgdGhlcmUgaXMgYW4gZXhwbGljaXQgYW5ub3RhdGlvbiBzdGF0aW5nIHRoYXQgaXQgaXMgbm90IGtub3duIHdoZXJlIHRoZSB2YWx1ZSBpcyByZXF1aXJlZCB0byBoYXZlIHRoYXQgdHlwZSBxdWFsaWZpZXIuCi0gICAgRWl0aGVyIHRoZSB1c2FnZSBvciB0aGUgYW5ub3RhdGlvbiBpcyBpbmNvcnJlY3QuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJUUV9FWFBMSUNJVF9VTktOT1dOX1NPVVJDRV9WQUxVRV9SRUFDSEVTX05FVkVSX1NJTksiPlRROiBWYWx1ZSByZXF1aXJlZCB0byBub3QgaGF2ZSB0eXBlIHF1YWxpZmllciwgYnV0IG1hcmtlZCBhcyB1bmtub3duIChUUV9FWFBMSUNJVF9VTktOT1dOX1NPVVJDRV9WQUxVRV9SRUFDSEVTX05FVkVSX1NJTkspPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBBIHZhbHVlIGlzIHVzZWQgaW4gYSB3YXkgdGhhdCByZXF1aXJlcyBpdCB0byBiZSBuZXZlciBiZSBhIHZhbHVlIGRlbm90ZWQgYnkgYSB0eXBlIHF1YWxpZmllciwgYnV0Ci0gICAgdGhlcmUgaXMgYW4gZXhwbGljaXQgYW5ub3RhdGlvbiBzdGF0aW5nIHRoYXQgaXQgaXMgbm90IGtub3duIHdoZXJlIHRoZSB2YWx1ZSBpcyBwcm9oaWJpdGVkIGZyb20gaGF2aW5nIHRoYXQgdHlwZSBxdWFsaWZpZXIuCi0gICAgRWl0aGVyIHRoZSB1c2FnZSBvciB0aGUgYW5ub3RhdGlvbiBpcyBpbmNvcnJlY3QuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJVQ0ZfVVNFTEVTU19DT05UUk9MX0ZMT1ciPlVDRjogVXNlbGVzcyBjb250cm9sIGZsb3cgKFVDRl9VU0VMRVNTX0NPTlRST0xfRkxPVyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSB1c2VsZXNzIGNvbnRyb2wgZmxvdyBzdGF0ZW1lbnQsIHdoZXJlCi1jb250cm9sIGZsb3cgY29udGludWVzIG9udG8gdGhlIHNhbWUgcGxhY2UgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIG9yIG5vdAotdGhlIGJyYW5jaCBpcyB0YWtlbi4gRm9yIGV4YW1wbGUsCi10aGlzIGlzIGNhdXNlZCBieSBoYXZpbmcgYW4gZW1wdHkgc3RhdGVtZW50Ci1ibG9jayBmb3IgYW4gPGNvZGU+aWY8L2NvZGU+IHN0YXRlbWVudDo8L3A+Ci08cHJlPgotICAgIGlmIChhcmd2Lmxlbmd0aCA9PSAwKSB7Ci0gICAgLy8gVE9ETzogaGFuZGxlIHRoaXMgY2FzZQotICAgIH0KLTwvcHJlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVUNGX1VTRUxFU1NfQ09OVFJPTF9GTE9XX05FWFRfTElORSI+VUNGOiBVc2VsZXNzIGNvbnRyb2wgZmxvdyB0byBuZXh0IGxpbmUgKFVDRl9VU0VMRVNTX0NPTlRST0xfRkxPV19ORVhUX0xJTkUpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgdXNlbGVzcyBjb250cm9sIGZsb3cgc3RhdGVtZW50IGluIHdoaWNoIGNvbnRyb2wKLWZsb3cgZm9sbG93cyB0byB0aGUgc2FtZSBvciBmb2xsb3dpbmcgbGluZSByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90Ci10aGUgYnJhbmNoIGlzIHRha2VuLgotT2Z0ZW4sIHRoaXMgaXMgY2F1c2VkIGJ5IGluYWR2ZXJ0ZW50bHkgdXNpbmcgYW4gZW1wdHkgc3RhdGVtZW50IGFzIHRoZQotYm9keSBvZiBhbiA8Y29kZT5pZjwvY29kZT4gc3RhdGVtZW50LCBlLmcuOjwvcD4KLTxwcmU+Ci0gICAgaWYgKGFyZ3YubGVuZ3RoID09IDEpOwotICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkhlbGxvLCAiICsgYXJndlswXSk7Ci08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IlVTTV9VU0VMRVNTX0FCU1RSQUNUX01FVEhPRCI+VVNNOiBBYnN0cmFjdCBNZXRob2QgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGltcGxlbWVudGVkIGludGVyZmFjZSAoVVNNX1VTRUxFU1NfQUJTVFJBQ1RfTUVUSE9EKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBhYnN0cmFjdCBtZXRob2QgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGFuIGludGVyZmFjZSB0aGF0IGlzIGltcGxlbWVudGVkIGJ5IHRoaXMgYWJzdHJhY3QKLSAgICAgIGNsYXNzLiBUaGlzIG1ldGhvZCBjYW4gYmUgcmVtb3ZlZCwgYXMgaXQgcHJvdmlkZXMgbm8gYWRkaXRpb25hbCB2YWx1ZS4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgIAotPGgzPjxhIG5hbWU9IlVTTV9VU0VMRVNTX1NVQkNMQVNTX01FVEhPRCI+VVNNOiBNZXRob2Qgc3VwZXJmbHVvdXNseSBkZWxlZ2F0ZXMgdG8gcGFyZW50IGNsYXNzIG1ldGhvZCAoVVNNX1VTRUxFU1NfU1VCQ0xBU1NfTUVUSE9EKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBkZXJpdmVkIG1ldGhvZCBtZXJlbHkgY2FsbHMgdGhlIHNhbWUgc3VwZXJjbGFzcyBtZXRob2QgcGFzc2luZyBpbiB0aGUgZXhhY3QgcGFyYW1ldGVycwotICAgICAgcmVjZWl2ZWQuIFRoaXMgbWV0aG9kIGNhbiBiZSByZW1vdmVkLCBhcyBpdCBwcm92aWRlcyBubyBhZGRpdGlvbmFsIHZhbHVlLgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iVVJGX1VOUkVBRF9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEIj5VckY6IFVucmVhZCBwdWJsaWMvcHJvdGVjdGVkIGZpZWxkIChVUkZfVU5SRUFEX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBmaWVsZCBpcyBuZXZlciByZWFkLiZuYnNwOwotVGhlIGZpZWxkIGlzIHB1YmxpYyBvciBwcm90ZWN0ZWQsIHNvIHBlcmhhcHMKLSAgICBpdCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggY2xhc3NlcyBub3Qgc2VlbiBhcyBwYXJ0IG9mIHRoZSBhbmFseXNpcy4gSWYgbm90LAotY29uc2lkZXIgcmVtb3ZpbmcgaXQgZnJvbSB0aGUgY2xhc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVVVGX1VOVVNFRF9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEIj5VdUY6IFVudXNlZCBwdWJsaWMgb3IgcHJvdGVjdGVkIGZpZWxkIChVVUZfVU5VU0VEX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBmaWVsZCBpcyBuZXZlciB1c2VkLiZuYnNwOwotVGhlIGZpZWxkIGlzIHB1YmxpYyBvciBwcm90ZWN0ZWQsIHNvIHBlcmhhcHMKLSAgICBpdCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggY2xhc3NlcyBub3Qgc2VlbiBhcyBwYXJ0IG9mIHRoZSBhbmFseXNpcy4gSWYgbm90LAotY29uc2lkZXIgcmVtb3ZpbmcgaXQgZnJvbSB0aGUgY2xhc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVVdGX0ZJRUxEX05PVF9JTklUSUFMSVpFRF9JTl9DT05TVFJVQ1RPUiI+VXdGOiBGaWVsZCBub3QgaW5pdGlhbGl6ZWQgaW4gY29uc3RydWN0b3IgYnV0IGRlcmVmZXJlbmNlZCB3aXRob3V0IG51bGwgY2hlY2sgKFVXRl9GSUVMRF9OT1RfSU5JVElBTElaRURfSU5fQ09OU1RSVUNUT1IpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBmaWVsZCBpcyBuZXZlciBpbml0aWFsaXplZCB3aXRoaW4gYW55IGNvbnN0cnVjdG9yLCBhbmQgaXMgdGhlcmVmb3JlIGNvdWxkIGJlIG51bGwgYWZ0ZXIKLXRoZSBvYmplY3QgaXMgY29uc3RydWN0ZWQuIEVsc2V3aGVyZSwgaXQgaXMgbG9hZGVkIGFuZCBkZXJlZmVyZW5jZWQgd2l0aG91dCBhIG51bGwgY2hlY2suCi1UaGlzIGNvdWxkIGJlIGEgZWl0aGVyIGFuIGVycm9yIG9yIGEgcXVlc3Rpb25hYmxlIGRlc2lnbiwgc2luY2UKLWl0IG1lYW5zIGEgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiB3aWxsIGJlIGdlbmVyYXRlZCBpZiB0aGF0IGZpZWxkIGlzIGRlcmVmZXJlbmNlZAotYmVmb3JlIGJlaW5nIGluaXRpYWxpemVkLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVVdGX1VOV1JJVFRFTl9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEIj5Vd0Y6IFVud3JpdHRlbiBwdWJsaWMgb3IgcHJvdGVjdGVkIGZpZWxkIChVV0ZfVU5XUklUVEVOX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gTm8gd3JpdGVzIHdlcmUgc2VlbiB0byB0aGlzIHB1YmxpYy9wcm90ZWN0ZWQgZmllbGQuJm5ic3A7IEFsbCByZWFkcyBvZiBpdCB3aWxsIHJldHVybiB0aGUgZGVmYXVsdAotdmFsdWUuIENoZWNrIGZvciBlcnJvcnMgKHNob3VsZCBpdCBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQ/KSwgb3IgcmVtb3ZlIGl0IGlmIGl0IGlzIHVzZWxlc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iWEZCX1hNTF9GQUNUT1JZX0JZUEFTUyI+WEZCOiBNZXRob2QgZGlyZWN0bHkgYWxsb2NhdGVzIGEgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgeG1sIGludGVyZmFjZXMgKFhGQl9YTUxfRkFDVE9SWV9CWVBBU1MpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIG1ldGhvZCBhbGxvY2F0ZXMgYSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiBhbiB4bWwgaW50ZXJmYWNlLiBJdCBpcyBwcmVmZXJhYmxlIHRvIHVzZQotICAgICAgdGhlIHN1cHBsaWVkIGZhY3RvcnkgY2xhc3NlcyB0byBjcmVhdGUgdGhlc2Ugb2JqZWN0cyBzbyB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBjYW4gYmUKLSAgICAgIGNoYW5nZWQgYXQgcnVudGltZS4gU2VlCi0gICAgICA8L3A+Ci0gICAgICA8dWw+Ci0gICAgICAgICA8bGk+amF2YXgueG1sLnBhcnNlcnMuRG9jdW1lbnRCdWlsZGVyRmFjdG9yeTwvbGk+Ci0gICAgICAgICA8bGk+amF2YXgueG1sLnBhcnNlcnMuU0FYUGFyc2VyRmFjdG9yeTwvbGk+Ci0gICAgICAgICA8bGk+amF2YXgueG1sLnRyYW5zZm9ybS5UcmFuc2Zvcm1lckZhY3Rvcnk8L2xpPgotICAgICAgICAgPGxpPm9yZy53M2MuZG9tLkRvY3VtZW50LmNyZWF0ZTxpPlhYWFg8L2k+PC9saT4KLSAgICAgIDwvdWw+Ci0gICAgICA8cD5mb3IgZGV0YWlscy48L3A+Ci0gICAgICAKLSAgICAKLQotCi08aHI+IDxwPiAKLTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+IAotPCEtLS0vL2hpZGUgc2NyaXB0IGZyb20gb2xkIGJyb3dzZXJzIAotZG9jdW1lbnQud3JpdGUoICJMYXN0IHVwZGF0ZWQgIisgZG9jdW1lbnQubGFzdE1vZGlmaWVkICsgIi4iICk7IAotLy9lbmQgaGlkaW5nIGNvbnRlbnRzIC0tLT4gCi08L3NjcmlwdD4gCi08cD4gU2VuZCBjb21tZW50cyB0byA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+IAotPHA+IAotPEEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldCI+PElNRyBzcmM9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvc2Zsb2dvLnBocD9ncm91cF9pZD05NjQwNSZhbXA7dHlwZT01IiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjYyIiBib3JkZXI9IjAiIGFsdD0iU291cmNlRm9yZ2UubmV0IExvZ28iIC8+PC9BPgotPC90ZD48L3RyPjwvdGFibGU+Ci08L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2J1Zy1sb2dvLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9idWctbG9nby5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkNzE5ZDAuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2J1Zy1sb2dvLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9idWdEZXNjcmlwdGlvbnMuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9idWdEZXNjcmlwdGlvbnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmUxYzlkNy4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvYnVnRGVzY3JpcHRpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MzI1ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgotPGh0bWw+PGhlYWQ+PHRpdGxlPkZpbmRCdWdzIEJ1ZyBEZXNjcmlwdGlvbnM8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iZmluZGJ1Z3MuY3NzIi8+Ci08bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImZhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iLz4KLTwvaGVhZD48Ym9keT4KLQotPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Ci0KLTx0ZCBiZ2NvbG9yPSIjYjliOWZlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIHdpZHRoPSIyMCUiPiAKLTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+IAotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVtZEZpbmRidWdzLnBuZyIgYWx0PSJGaW5kQnVncyI+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRvY3MgYW5kIEluZm88L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmaW5kYnVnczIuaHRtbCI+RmluZEJ1Z3MgMi4wPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRlbW8uaHRtbCI+RGVtbyBhbmQgZGF0YTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ1c2Vycy5odG1sIj5Vc2VycyBhbmQgc3VwcG9ydGVyczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuYmxvZ3Nwb3QuY29tLyI+RmluZEJ1Z3MgYmxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmYWN0U2hlZXQuaHRtbCI+RmFjdCBzaGVldDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYW51YWwvaW5kZXguaHRtbCI+TWFudWFsPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImphL21hbnVhbC9pbmRleC5odG1sIj5NYW51YWwoamEvJiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7KTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5CdWcgZGVzY3JpcHRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWxpbmdMaXN0cy5odG1sIj5NYWlsaW5nIGxpc3RzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InB1YmxpY2F0aW9ucy5odG1sIj5Eb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJsaW5rcy5odG1sIj5MaW5rczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRvd25sb2Fkcy5odG1sIj48Yj5Eb3dubG9hZHM8L2I+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vd3d3LmNhZmVzaG9wcy5jb20vZmluZGJ1Z3MiPjxiPkZpbmRCdWdzIFN3YWc8L2I+PC9hPjwvdGQ+PC90cj4KLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RGV2ZWxvcG1lbnQ8L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTk2NDA1Ij5PcGVuIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5SZXBvcnRpbmcgYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJjb250cmlidXRpbmcuaHRtbCI+Q29udHJpYnV0aW5nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InRlYW0uaHRtbCI+RGV2IHRlYW08L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiPkFQSTwvYT4gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPltubyBmcmFtZXNdPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzIj5TRiBwcm9qZWN0IHBhZ2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvIj5Ccm93c2Ugc291cmNlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvbGlzdCI+TGF0ZXN0IGNvZGUgY2hhbmdlczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTwvdGFibGU+IAotPC90ZD4KLTx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgotPGgxPkZpbmRCdWdzIEJ1ZyBEZXNjcmlwdGlvbnM8L2gxPgotPHA+VGhpcyBkb2N1bWVudCBsaXN0cyB0aGUgc3RhbmRhcmQgYnVnIHBhdHRlcm5zIHJlcG9ydGVkIGJ5Ci08YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0Ij5GaW5kQnVnczwvYT4gdmVyc2lvbiAyLjAuMy48L3A+Ci08aDI+U3VtbWFyeTwvaDI+Ci08dGFibGUgd2lkdGg9IjEwMCUiPgotPHRyIGJnY29sb3I9IiNiOWI5ZmUiPjx0aD5EZXNjcmlwdGlvbjwvdGg+PHRoPkNhdGVnb3J5PC90aD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjQkNfRVFVQUxTX01FVEhPRF9TSE9VTERfV09SS19GT1JfQUxMX09CSkVDVFMiPkJDOiBFcXVhbHMgbWV0aG9kIHNob3VsZCBub3QgYXNzdW1lIGFueXRoaW5nIGFib3V0IHRoZSB0eXBlIG9mIGl0cyBhcmd1bWVudDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNCSVRfU0lHTkVEX0NIRUNLIj5CSVQ6IENoZWNrIGZvciBzaWduIG9mIGJpdHdpc2Ugb3BlcmF0aW9uPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0NOX0lESU9NIj5DTjogQ2xhc3MgaW1wbGVtZW50cyBDbG9uZWFibGUgYnV0IGRvZXMgbm90IGRlZmluZSBvciB1c2UgY2xvbmUgbWV0aG9kPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0NOX0lESU9NX05PX1NVUEVSX0NBTEwiPkNOOiBjbG9uZSBtZXRob2QgZG9lcyBub3QgY2FsbCBzdXBlci5jbG9uZSgpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0NOX0lNUExFTUVOVFNfQ0xPTkVfQlVUX05PVF9DTE9ORUFCTEUiPkNOOiBDbGFzcyBkZWZpbmVzIGNsb25lKCkgYnV0IGRvZXNuJ3QgaW1wbGVtZW50IENsb25lYWJsZTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNDT19BQlNUUkFDVF9TRUxGIj5DbzogQWJzdHJhY3QgY2xhc3MgZGVmaW5lcyBjb3ZhcmlhbnQgY29tcGFyZVRvKCkgbWV0aG9kPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0NPX1NFTEZfTk9fT0JKRUNUIj5DbzogQ292YXJpYW50IGNvbXBhcmVUbygpIG1ldGhvZCBkZWZpbmVkPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RFX01JR0hUX0RST1AiPkRFOiBNZXRob2QgbWlnaHQgZHJvcCBleGNlcHRpb248L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjREVfTUlHSFRfSUdOT1JFIj5ERTogTWV0aG9kIG1pZ2h0IGlnbm9yZSBleGNlcHRpb248L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX0VOVFJZX1NFVFNfTUFZX1JFVVNFX0VOVFJZX09CSkVDVFMiPkRNSTogQWRkaW5nIGVsZW1lbnRzIG9mIGFuIGVudHJ5IHNldCBtYXkgZmFpbCBkdWUgdG8gcmV1c2Ugb2YgRW50cnkgb2JqZWN0czwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETUlfUkFORE9NX1VTRURfT05MWV9PTkNFIj5ETUk6IFJhbmRvbSBvYmplY3QgY3JlYXRlZCBhbmQgdXNlZCBvbmx5IG9uY2U8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX1VTSU5HX1JFTU9WRUFMTF9UT19DTEVBUl9DT0xMRUNUSU9OIj5ETUk6IERvbid0IHVzZSByZW1vdmVBbGwgdG8gY2xlYXIgYSBjb2xsZWN0aW9uPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNX0VYSVQiPkRtOiBNZXRob2QgaW52b2tlcyBTeXN0ZW0uZXhpdCguLi4pPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNX1JVTl9GSU5BTElaRVJTX09OX0VYSVQiPkRtOiBNZXRob2QgaW52b2tlcyBkYW5nZXJvdXMgbWV0aG9kIHJ1bkZpbmFsaXplcnNPbkV4aXQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRVNfQ09NUEFSSU5HX1BBUkFNRVRFUl9TVFJJTkdfV0lUSF9FUSI+RVM6IENvbXBhcmlzb24gb2YgU3RyaW5nIHBhcmFtZXRlciB1c2luZyA9PSBvciAhPTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNFU19DT01QQVJJTkdfU1RSSU5HU19XSVRIX0VRIj5FUzogQ29tcGFyaXNvbiBvZiBTdHJpbmcgb2JqZWN0cyB1c2luZyA9PSBvciAhPTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFUV9BQlNUUkFDVF9TRUxGIj5FcTogQWJzdHJhY3QgY2xhc3MgZGVmaW5lcyBjb3ZhcmlhbnQgZXF1YWxzKCkgbWV0aG9kPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VRX0NIRUNLX0ZPUl9PUEVSQU5EX05PVF9DT01QQVRJQkxFX1dJVEhfVEhJUyI+RXE6IEVxdWFscyBjaGVja3MgZm9yIGluY29tcGF0aWJsZSBvcGVyYW5kPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VRX0NPTVBBUkVUT19VU0VfT0JKRUNUX0VRVUFMUyI+RXE6IENsYXNzIGRlZmluZXMgY29tcGFyZVRvKC4uLikgYW5kIHVzZXMgT2JqZWN0LmVxdWFscygpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VRX0dFVENMQVNTX0FORF9DTEFTU19DT05TVEFOVCI+RXE6IGVxdWFscyBtZXRob2QgZmFpbHMgZm9yIHN1YnR5cGVzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VRX1NFTEZfTk9fT0JKRUNUIj5FcTogQ292YXJpYW50IGVxdWFscygpIG1ldGhvZCBkZWZpbmVkPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0ZJX0VNUFRZIj5GSTogRW1wdHkgZmluYWxpemVyIHNob3VsZCBiZSBkZWxldGVkPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0ZJX0VYUExJQ0lUX0lOVk9DQVRJT04iPkZJOiBFeHBsaWNpdCBpbnZvY2F0aW9uIG9mIGZpbmFsaXplcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNGSV9GSU5BTElaRVJfTlVMTFNfRklFTERTIj5GSTogRmluYWxpemVyIG51bGxzIGZpZWxkczwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNGSV9GSU5BTElaRVJfT05MWV9OVUxMU19GSUVMRFMiPkZJOiBGaW5hbGl6ZXIgb25seSBudWxscyBmaWVsZHM8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRklfTUlTU0lOR19TVVBFUl9DQUxMIj5GSTogRmluYWxpemVyIGRvZXMgbm90IGNhbGwgc3VwZXJjbGFzcyBmaW5hbGl6ZXI8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRklfTlVMTElGWV9TVVBFUiI+Rkk6IEZpbmFsaXplciBudWxsaWZpZXMgc3VwZXJjbGFzcyBmaW5hbGl6ZXI8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRklfVVNFTEVTUyI+Rkk6IEZpbmFsaXplciBkb2VzIG5vdGhpbmcgYnV0IGNhbGwgc3VwZXJjbGFzcyBmaW5hbGl6ZXI8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVkFfRk9STUFUX1NUUklOR19VU0VTX05FV0xJTkUiPkZTOiBGb3JtYXQgc3RyaW5nIHNob3VsZCB1c2UgJW4gcmF0aGVyIHRoYW4gXG48L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjR0NfVU5DSEVDS0VEX1RZUEVfSU5fR0VORVJJQ19DQUxMIj5HQzogVW5jaGVja2VkIHR5cGUgaW4gZ2VuZXJpYyBjYWxsPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0hFX0VRVUFMU19OT19IQVNIQ09ERSI+SEU6IENsYXNzIGRlZmluZXMgZXF1YWxzKCkgYnV0IG5vdCBoYXNoQ29kZSgpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0hFX0VRVUFMU19VU0VfSEFTSENPREUiPkhFOiBDbGFzcyBkZWZpbmVzIGVxdWFscygpIGFuZCB1c2VzIE9iamVjdC5oYXNoQ29kZSgpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0hFX0hBU0hDT0RFX05PX0VRVUFMUyI+SEU6IENsYXNzIGRlZmluZXMgaGFzaENvZGUoKSBidXQgbm90IGVxdWFscygpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0hFX0hBU0hDT0RFX1VTRV9PQkpFQ1RfRVFVQUxTIj5IRTogQ2xhc3MgZGVmaW5lcyBoYXNoQ29kZSgpIGFuZCB1c2VzIE9iamVjdC5lcXVhbHMoKTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNIRV9JTkhFUklUU19FUVVBTFNfVVNFX0hBU0hDT0RFIj5IRTogQ2xhc3MgaW5oZXJpdHMgZXF1YWxzKCkgYW5kIHVzZXMgT2JqZWN0Lmhhc2hDb2RlKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSUNfU1VQRVJDTEFTU19VU0VTX1NVQkNMQVNTX0RVUklOR19JTklUSUFMSVpBVElPTiI+SUM6IFN1cGVyY2xhc3MgdXNlcyBzdWJjbGFzcyBkdXJpbmcgaW5pdGlhbGl6YXRpb248L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSU1TRV9ET05UX0NBVENIX0lNU0UiPklNU0U6IER1YmlvdXMgY2F0Y2hpbmcgb2YgSWxsZWdhbE1vbml0b3JTdGF0ZUV4Y2VwdGlvbjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJU0NfSU5TVEFOVElBVEVfU1RBVElDX0NMQVNTIj5JU0M6IE5lZWRsZXNzIGluc3RhbnRpYXRpb24gb2YgY2xhc3MgdGhhdCBvbmx5IHN1cHBsaWVzIHN0YXRpYyBtZXRob2RzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lUX05PX1NVQ0hfRUxFTUVOVCI+SXQ6IEl0ZXJhdG9yIG5leHQoKSBtZXRob2QgY2FuJ3QgdGhyb3cgTm9TdWNoRWxlbWVudEV4Y2VwdGlvbjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNKMkVFX1NUT1JFX09GX05PTl9TRVJJQUxJWkFCTEVfT0JKRUNUX0lOVE9fU0VTU0lPTiI+SjJFRTogU3RvcmUgb2Ygbm9uIHNlcmlhbGl6YWJsZSBvYmplY3QgaW50byBIdHRwU2Vzc2lvbjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNKQ0lQX0ZJRUxEX0lTTlRfRklOQUxfSU5fSU1NVVRBQkxFX0NMQVNTIj5KQ0lQOiBGaWVsZHMgb2YgaW1tdXRhYmxlIGNsYXNzZXMgc2hvdWxkIGJlIGZpbmFsPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX0JPT0xFQU5fUkVUVVJOX05VTEwiPk5QOiBNZXRob2Qgd2l0aCBCb29sZWFuIHJldHVybiB0eXBlIHJldHVybnMgZXhwbGljaXQgbnVsbDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9DTE9ORV9DT1VMRF9SRVRVUk5fTlVMTCI+TlA6IENsb25lIG1ldGhvZCBtYXkgcmV0dXJuIG51bGw8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfRVFVQUxTX1NIT1VMRF9IQU5ETEVfTlVMTF9BUkdVTUVOVCI+TlA6IGVxdWFscygpIG1ldGhvZCBkb2VzIG5vdCBjaGVjayBmb3IgbnVsbCBhcmd1bWVudDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9UT1NUUklOR19DT1VMRF9SRVRVUk5fTlVMTCI+TlA6IHRvU3RyaW5nIG1ldGhvZCBtYXkgcmV0dXJuIG51bGw8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTk1fQ0xBU1NfTkFNSU5HX0NPTlZFTlRJT04iPk5tOiBDbGFzcyBuYW1lcyBzaG91bGQgc3RhcnQgd2l0aCBhbiB1cHBlciBjYXNlIGxldHRlcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOTV9DTEFTU19OT1RfRVhDRVBUSU9OIj5ObTogQ2xhc3MgaXMgbm90IGRlcml2ZWQgZnJvbSBhbiBFeGNlcHRpb24sIGV2ZW4gdGhvdWdoIGl0IGlzIG5hbWVkIGFzIHN1Y2g8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTk1fQ09ORlVTSU5HIj5ObTogQ29uZnVzaW5nIG1ldGhvZCBuYW1lczwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOTV9GSUVMRF9OQU1JTkdfQ09OVkVOVElPTiI+Tm06IEZpZWxkIG5hbWVzIHNob3VsZCBzdGFydCB3aXRoIGEgbG93ZXIgY2FzZSBsZXR0ZXI8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTk1fRlVUVVJFX0tFWVdPUkRfVVNFRF9BU19JREVOVElGSUVSIj5ObTogVXNlIG9mIGlkZW50aWZpZXIgdGhhdCBpcyBhIGtleXdvcmQgaW4gbGF0ZXIgdmVyc2lvbnMgb2YgSmF2YTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOTV9GVVRVUkVfS0VZV09SRF9VU0VEX0FTX01FTUJFUl9JREVOVElGSUVSIj5ObTogVXNlIG9mIGlkZW50aWZpZXIgdGhhdCBpcyBhIGtleXdvcmQgaW4gbGF0ZXIgdmVyc2lvbnMgb2YgSmF2YTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOTV9NRVRIT0RfTkFNSU5HX0NPTlZFTlRJT04iPk5tOiBNZXRob2QgbmFtZXMgc2hvdWxkIHN0YXJ0IHdpdGggYSBsb3dlciBjYXNlIGxldHRlcjwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOTV9TQU1FX1NJTVBMRV9OQU1FX0FTX0lOVEVSRkFDRSI+Tm06IENsYXNzIG5hbWVzIHNob3VsZG4ndCBzaGFkb3cgc2ltcGxlIG5hbWUgb2YgaW1wbGVtZW50ZWQgaW50ZXJmYWNlPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05NX1NBTUVfU0lNUExFX05BTUVfQVNfU1VQRVJDTEFTUyI+Tm06IENsYXNzIG5hbWVzIHNob3VsZG4ndCBzaGFkb3cgc2ltcGxlIG5hbWUgb2Ygc3VwZXJjbGFzczwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOTV9WRVJZX0NPTkZVU0lOR19JTlRFTlRJT05BTCI+Tm06IFZlcnkgY29uZnVzaW5nIG1ldGhvZCBuYW1lcyAoYnV0IHBlcmhhcHMgaW50ZW50aW9uYWwpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05NX1dST05HX1BBQ0tBR0VfSU5URU5USU9OQUwiPk5tOiBNZXRob2QgZG9lc24ndCBvdmVycmlkZSBtZXRob2QgaW4gc3VwZXJjbGFzcyBkdWUgdG8gd3JvbmcgcGFja2FnZSBmb3IgcGFyYW1ldGVyPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI09EUl9PUEVOX0RBVEFCQVNFX1JFU09VUkNFIj5PRFI6IE1ldGhvZCBtYXkgZmFpbCB0byBjbG9zZSBkYXRhYmFzZSByZXNvdXJjZTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNPRFJfT1BFTl9EQVRBQkFTRV9SRVNPVVJDRV9FWENFUFRJT05fUEFUSCI+T0RSOiBNZXRob2QgbWF5IGZhaWwgdG8gY2xvc2UgZGF0YWJhc2UgcmVzb3VyY2Ugb24gZXhjZXB0aW9uPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI09TX09QRU5fU1RSRUFNIj5PUzogTWV0aG9kIG1heSBmYWlsIHRvIGNsb3NlIHN0cmVhbTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNPU19PUEVOX1NUUkVBTV9FWENFUFRJT05fUEFUSCI+T1M6IE1ldGhvZCBtYXkgZmFpbCB0byBjbG9zZSBzdHJlYW0gb24gZXhjZXB0aW9uPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1BaX0RPTlRfUkVVU0VfRU5UUllfT0JKRUNUU19JTl9JVEVSQVRPUlMiPlBaOiBEb24ndCByZXVzZSBlbnRyeSBvYmplY3RzIGluIGl0ZXJhdG9yczwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSQ19SRUZfQ09NUEFSSVNPTl9CQURfUFJBQ1RJQ0UiPlJDOiBTdXNwaWNpb3VzIHJlZmVyZW5jZSBjb21wYXJpc29uIHRvIGNvbnN0YW50PC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1JDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRV9CT09MRUFOIj5SQzogU3VzcGljaW91cyByZWZlcmVuY2UgY29tcGFyaXNvbiBvZiBCb29sZWFuIHZhbHVlczwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSUl9OT1RfQ0hFQ0tFRCI+UlI6IE1ldGhvZCBpZ25vcmVzIHJlc3VsdHMgb2YgSW5wdXRTdHJlYW0ucmVhZCgpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NSX05PVF9DSEVDS0VEIj5SUjogTWV0aG9kIGlnbm9yZXMgcmVzdWx0cyBvZiBJbnB1dFN0cmVhbS5za2lwKCk8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUlZfTkVHQVRJTkdfUkVTVUxUX09GX0NPTVBBUkVUTyI+UlY6IE5lZ2F0aW5nIHRoZSByZXN1bHQgb2YgY29tcGFyZVRvKCkvY29tcGFyZSgpPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1JWX1JFVFVSTl9WQUxVRV9JR05PUkVEX0JBRF9QUkFDVElDRSI+UlY6IE1ldGhvZCBpZ25vcmVzIGV4Y2VwdGlvbmFsIHJldHVybiB2YWx1ZTwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTSV9JTlNUQU5DRV9CRUZPUkVfRklOQUxTX0FTU0lHTkVEIj5TSTogU3RhdGljIGluaXRpYWxpemVyIGNyZWF0ZXMgaW5zdGFuY2UgYmVmb3JlIGFsbCBzdGF0aWMgZmluYWwgZmllbGRzIGFzc2lnbmVkPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NXX1NXSU5HX01FVEhPRFNfSU5WT0tFRF9JTl9TV0lOR19USFJFQUQiPlNXOiBDZXJ0YWluIHN3aW5nIG1ldGhvZHMgbmVlZHMgdG8gYmUgaW52b2tlZCBpbiBTd2luZyB0aHJlYWQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0VfQkFEX0ZJRUxEIj5TZTogTm9uLXRyYW5zaWVudCBub24tc2VyaWFsaXphYmxlIGluc3RhbmNlIGZpZWxkIGluIHNlcmlhbGl6YWJsZSBjbGFzczwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTRV9CQURfRklFTERfSU5ORVJfQ0xBU1MiPlNlOiBOb24tc2VyaWFsaXphYmxlIGNsYXNzIGhhcyBhIHNlcmlhbGl6YWJsZSBpbm5lciBjbGFzczwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTRV9CQURfRklFTERfU1RPUkUiPlNlOiBOb24tc2VyaWFsaXphYmxlIHZhbHVlIHN0b3JlZCBpbnRvIGluc3RhbmNlIGZpZWxkIG9mIGEgc2VyaWFsaXphYmxlIGNsYXNzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NFX0NPTVBBUkFUT1JfU0hPVUxEX0JFX1NFUklBTElaQUJMRSI+U2U6IENvbXBhcmF0b3IgZG9lc24ndCBpbXBsZW1lbnQgU2VyaWFsaXphYmxlPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NFX0lOTkVSX0NMQVNTIj5TZTogU2VyaWFsaXphYmxlIGlubmVyIGNsYXNzPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NFX05PTkZJTkFMX1NFUklBTFZFUlNJT05JRCI+U2U6IHNlcmlhbFZlcnNpb25VSUQgaXNuJ3QgZmluYWw8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0VfTk9OTE9OR19TRVJJQUxWRVJTSU9OSUQiPlNlOiBzZXJpYWxWZXJzaW9uVUlEIGlzbid0IGxvbmc8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0VfTk9OU1RBVElDX1NFUklBTFZFUlNJT05JRCI+U2U6IHNlcmlhbFZlcnNpb25VSUQgaXNuJ3Qgc3RhdGljPC9hPjwvdGQ+PHRkPkJhZCBwcmFjdGljZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NFX05PX1NVSVRBQkxFX0NPTlNUUlVDVE9SIj5TZTogQ2xhc3MgaXMgU2VyaWFsaXphYmxlIGJ1dCBpdHMgc3VwZXJjbGFzcyBkb2Vzbid0IGRlZmluZSBhIHZvaWQgY29uc3RydWN0b3I8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0VfTk9fU1VJVEFCTEVfQ09OU1RSVUNUT1JfRk9SX0VYVEVSTkFMSVpBVElPTiI+U2U6IENsYXNzIGlzIEV4dGVybmFsaXphYmxlIGJ1dCBkb2Vzbid0IGRlZmluZSBhIHZvaWQgY29uc3RydWN0b3I8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0VfUkVBRF9SRVNPTFZFX01VU1RfUkVUVVJOX09CSkVDVCI+U2U6IFRoZSByZWFkUmVzb2x2ZSBtZXRob2QgbXVzdCBiZSBkZWNsYXJlZCB3aXRoIGEgcmV0dXJuIHR5cGUgb2YgT2JqZWN0LiA8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0VfVFJBTlNJRU5UX0ZJRUxEX05PVF9SRVNUT1JFRCI+U2U6IFRyYW5zaWVudCBmaWVsZCB0aGF0IGlzbid0IHNldCBieSBkZXNlcmlhbGl6YXRpb24uIDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTRV9OT19TRVJJQUxWRVJTSU9OSUQiPlNuVkk6IENsYXNzIGlzIFNlcmlhbGl6YWJsZSwgYnV0IGRvZXNuJ3QgZGVmaW5lIHNlcmlhbFZlcnNpb25VSUQ8L2E+PC90ZD48dGQ+QmFkIHByYWN0aWNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVUlfSU5IRVJJVEFOQ0VfVU5TQUZFX0dFVFJFU09VUkNFIj5VSTogVXNhZ2Ugb2YgR2V0UmVzb3VyY2UgbWF5IGJlIHVuc2FmZSBpZiBjbGFzcyBpcyBleHRlbmRlZDwvYT48L3RkPjx0ZD5CYWQgcHJhY3RpY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNCQ19JTVBPU1NJQkxFX0NBU1QiPkJDOiBJbXBvc3NpYmxlIGNhc3Q8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNCQ19JTVBPU1NJQkxFX0RPV05DQVNUIj5CQzogSW1wb3NzaWJsZSBkb3duY2FzdDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0JDX0lNUE9TU0lCTEVfRE9XTkNBU1RfT0ZfVE9BUlJBWSI+QkM6IEltcG9zc2libGUgZG93bmNhc3Qgb2YgdG9BcnJheSgpIHJlc3VsdDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0JDX0lNUE9TU0lCTEVfSU5TVEFOQ0VPRiI+QkM6IGluc3RhbmNlb2Ygd2lsbCBhbHdheXMgcmV0dXJuIGZhbHNlPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQklUX0FERF9PRl9TSUdORURfQllURSI+QklUOiBCaXR3aXNlIGFkZCBvZiBzaWduZWQgYnl0ZSB2YWx1ZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0JJVF9BTkQiPkJJVDogSW5jb21wYXRpYmxlIGJpdCBtYXNrczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0JJVF9BTkRfWloiPkJJVDogQ2hlY2sgdG8gc2VlIGlmICgoLi4uKSAmIDApID09IDA8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNCSVRfSU9SIj5CSVQ6IEluY29tcGF0aWJsZSBiaXQgbWFza3M8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNCSVRfSU9SX09GX1NJR05FRF9CWVRFIj5CSVQ6IEJpdHdpc2UgT1Igb2Ygc2lnbmVkIGJ5dGUgdmFsdWU8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNCSVRfU0lHTkVEX0NIRUNLX0hJR0hfQklUIj5CSVQ6IENoZWNrIGZvciBzaWduIG9mIGJpdHdpc2Ugb3BlcmF0aW9uPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQk9BX0JBRExZX09WRVJSSURERU5fQURBUFRFUiI+Qk9BOiBDbGFzcyBvdmVycmlkZXMgYSBtZXRob2QgaW1wbGVtZW50ZWQgaW4gc3VwZXIgY2xhc3MgQWRhcHRlciB3cm9uZ2x5PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUNBU1RfQkFEX1NISUZUX0FNT1VOVCI+QlNISUZUOiAzMiBiaXQgaW50IHNoaWZ0ZWQgYnkgYW4gYW1vdW50IG5vdCBpbiB0aGUgcmFuZ2UgLTMxLi4zMTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0JYX1VOQk9YRURfQU5EX0NPRVJDRURfRk9SX1RFUk5BUllfT1BFUkFUT1IiPkJ4OiBQcmltaXRpdmUgdmFsdWUgaXMgdW5ib3hlZCBhbmQgY29lcmNlZCBmb3IgdGVybmFyeSBvcGVyYXRvcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0NPX0NPTVBBUkVUT19SRVNVTFRTX01JTl9WQUxVRSI+Q286IGNvbXBhcmVUbygpL2NvbXBhcmUoKSByZXR1cm5zIEludGVnZXIuTUlOX1ZBTFVFPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRExTX0RFQURfTE9DQUxfSU5DUkVNRU5UX0lOX1JFVFVSTiI+RExTOiBVc2VsZXNzIGluY3JlbWVudCBpbiByZXR1cm4gc3RhdGVtZW50PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRExTX0RFQURfU1RPUkVfT0ZfQ0xBU1NfTElURVJBTCI+RExTOiBEZWFkIHN0b3JlIG9mIGNsYXNzIGxpdGVyYWw8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETFNfT1ZFUldSSVRURU5fSU5DUkVNRU5UIj5ETFM6IE92ZXJ3cml0dGVuIGluY3JlbWVudDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9BUkdVTUVOVFNfV1JPTkdfT1JERVIiPkRNSTogUmV2ZXJzZWQgbWV0aG9kIGFyZ3VtZW50czwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9CQURfTU9OVEgiPkRNSTogQmFkIGNvbnN0YW50IHZhbHVlIGZvciBtb250aDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9CSUdERUNJTUFMX0NPTlNUUlVDVEVEX0ZST01fRE9VQkxFIj5ETUk6IEJpZ0RlY2ltYWwgY29uc3RydWN0ZWQgZnJvbSBkb3VibGUgdGhhdCBpc24ndCByZXByZXNlbnRlZCBwcmVjaXNlbHk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETUlfQ0FMTElOR19ORVhUX0ZST01fSEFTTkVYVCI+RE1JOiBoYXNOZXh0IG1ldGhvZCBpbnZva2VzIG5leHQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETUlfQ09MTEVDVElPTlNfU0hPVUxEX05PVF9DT05UQUlOX1RIRU1TRUxWRVMiPkRNSTogQ29sbGVjdGlvbnMgc2hvdWxkIG5vdCBjb250YWluIHRoZW1zZWx2ZXM8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETUlfRE9IIj5ETUk6IEQnb2ghIEEgbm9uc2Vuc2ljYWwgbWV0aG9kIGludm9jYXRpb248L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETUlfSU5WT0tJTkdfSEFTSENPREVfT05fQVJSQVkiPkRNSTogSW52b2NhdGlvbiBvZiBoYXNoQ29kZSBvbiBhbiBhcnJheTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9MT05HX0JJVFNfVE9fRE9VQkxFX0lOVk9LRURfT05fSU5UIj5ETUk6IERvdWJsZS5sb25nQml0c1RvRG91YmxlIGludm9rZWQgb24gYW4gaW50PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1JX1ZBQ1VPVVNfU0VMRl9DT0xMRUNUSU9OX0NBTEwiPkRNSTogVmFjdW91cyBjYWxsIHRvIGNvbGxlY3Rpb25zPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX0FOTk9UQVRJT05fSVNfTk9UX1ZJU0lCTEVfVE9fUkVGTEVDVElPTiI+RG06IENhbid0IHVzZSByZWZsZWN0aW9uIHRvIGNoZWNrIGZvciBwcmVzZW5jZSBvZiBhbm5vdGF0aW9uIHdpdGhvdXQgcnVudGltZSByZXRlbnRpb248L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETUlfRlVUSUxFX0FUVEVNUFRfVE9fQ0hBTkdFX01BWFBPT0xfU0laRV9PRl9TQ0hFRFVMRURfVEhSRUFEX1BPT0xfRVhFQ1VUT1IiPkRtOiBGdXRpbGUgYXR0ZW1wdCB0byBjaGFuZ2UgbWF4IHBvb2wgc2l6ZSBvZiBTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3I8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETUlfU0NIRURVTEVEX1RIUkVBRF9QT09MX0VYRUNVVE9SX1dJVEhfWkVST19DT1JFX1RIUkVBRFMiPkRtOiBDcmVhdGlvbiBvZiBTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3Igd2l0aCB6ZXJvIGNvcmUgdGhyZWFkczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9WQUNVT1VTX0NBTExfVE9fRUFTWU1PQ0tfTUVUSE9EIj5EbTogVXNlbGVzcy92YWN1b3VzIGNhbGwgdG8gRWFzeU1vY2sgbWV0aG9kPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRUNfQVJSQVlfQU5EX05PTkFSUkFZIj5FQzogZXF1YWxzKCkgdXNlZCB0byBjb21wYXJlIGFycmF5IGFuZCBub25hcnJheTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VDX0JBRF9BUlJBWV9DT01QQVJFIj5FQzogSW52b2NhdGlvbiBvZiBlcXVhbHMoKSBvbiBhbiBhcnJheSwgd2hpY2ggaXMgZXF1aXZhbGVudCB0byA9PTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VDX0lOQ09NUEFUSUJMRV9BUlJBWV9DT01QQVJFIj5FQzogZXF1YWxzKC4uLikgdXNlZCB0byBjb21wYXJlIGluY29tcGF0aWJsZSBhcnJheXM8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFQ19OVUxMX0FSRyI+RUM6IENhbGwgdG8gZXF1YWxzKG51bGwpPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRUNfVU5SRUxBVEVEX0NMQVNTX0FORF9JTlRFUkZBQ0UiPkVDOiBDYWxsIHRvIGVxdWFscygpIGNvbXBhcmluZyB1bnJlbGF0ZWQgY2xhc3MgYW5kIGludGVyZmFjZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VDX1VOUkVMQVRFRF9JTlRFUkZBQ0VTIj5FQzogQ2FsbCB0byBlcXVhbHMoKSBjb21wYXJpbmcgZGlmZmVyZW50IGludGVyZmFjZSB0eXBlczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VDX1VOUkVMQVRFRF9UWVBFUyI+RUM6IENhbGwgdG8gZXF1YWxzKCkgY29tcGFyaW5nIGRpZmZlcmVudCB0eXBlczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VDX1VOUkVMQVRFRF9UWVBFU19VU0lOR19QT0lOVEVSX0VRVUFMSVRZIj5FQzogVXNpbmcgcG9pbnRlciBlcXVhbGl0eSB0byBjb21wYXJlIGRpZmZlcmVudCB0eXBlczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VRX0FMV0FZU19GQUxTRSI+RXE6IGVxdWFscyBtZXRob2QgYWx3YXlzIHJldHVybnMgZmFsc2U8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFUV9BTFdBWVNfVFJVRSI+RXE6IGVxdWFscyBtZXRob2QgYWx3YXlzIHJldHVybnMgdHJ1ZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VRX0NPTVBBUklOR19DTEFTU19OQU1FUyI+RXE6IGVxdWFscyBtZXRob2QgY29tcGFyZXMgY2xhc3MgbmFtZXMgcmF0aGVyIHRoYW4gY2xhc3Mgb2JqZWN0czwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VRX0RPTlRfREVGSU5FX0VRVUFMU19GT1JfRU5VTSI+RXE6IENvdmFyaWFudCBlcXVhbHMoKSBtZXRob2QgZGVmaW5lZCBmb3IgZW51bTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VRX09USEVSX05PX09CSkVDVCI+RXE6IGVxdWFscygpIG1ldGhvZCBkZWZpbmVkIHRoYXQgZG9lc24ndCBvdmVycmlkZSBlcXVhbHMoT2JqZWN0KTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VRX09USEVSX1VTRV9PQkpFQ1QiPkVxOiBlcXVhbHMoKSBtZXRob2QgZGVmaW5lZCB0aGF0IGRvZXNuJ3Qgb3ZlcnJpZGUgT2JqZWN0LmVxdWFscyhPYmplY3QpPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRVFfT1ZFUlJJRElOR19FUVVBTFNfTk9UX1NZTU1FVFJJQyI+RXE6IGVxdWFscyBtZXRob2Qgb3ZlcnJpZGVzIGVxdWFscyBpbiBzdXBlcmNsYXNzIGFuZCBtYXkgbm90IGJlIHN5bW1ldHJpYzwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0VRX1NFTEZfVVNFX09CSkVDVCI+RXE6IENvdmFyaWFudCBlcXVhbHMoKSBtZXRob2QgZGVmaW5lZCwgT2JqZWN0LmVxdWFscyhPYmplY3QpIGluaGVyaXRlZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0ZFX1RFU1RfSUZfRVFVQUxfVE9fTk9UX0FfTlVNQkVSIj5GRTogRG9vbWVkIHRlc3QgZm9yIGVxdWFsaXR5IHRvIE5hTjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1ZBX0ZPUk1BVF9TVFJJTkdfQkFEX0FSR1VNRU5UIj5GUzogRm9ybWF0IHN0cmluZyBwbGFjZWhvbGRlciBpbmNvbXBhdGlibGUgd2l0aCBwYXNzZWQgYXJndW1lbnQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX0JBRF9DT05WRVJTSU9OIj5GUzogVGhlIHR5cGUgb2YgYSBzdXBwbGllZCBhcmd1bWVudCBkb2Vzbid0IG1hdGNoIGZvcm1hdCBzcGVjaWZpZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX0VYUEVDVEVEX01FU1NBR0VfRk9STUFUX1NVUFBMSUVEIj5GUzogTWVzc2FnZUZvcm1hdCBzdXBwbGllZCB3aGVyZSBwcmludGYgc3R5bGUgZm9ybWF0IGV4cGVjdGVkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVkFfRk9STUFUX1NUUklOR19FWFRSQV9BUkdVTUVOVFNfUEFTU0VEIj5GUzogTW9yZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0aGFuIGFyZSBhY3R1YWxseSB1c2VkIGluIHRoZSBmb3JtYXQgc3RyaW5nPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVkFfRk9STUFUX1NUUklOR19JTExFR0FMIj5GUzogSWxsZWdhbCBmb3JtYXQgc3RyaW5nPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVkFfRk9STUFUX1NUUklOR19NSVNTSU5HX0FSR1VNRU5UIj5GUzogRm9ybWF0IHN0cmluZyByZWZlcmVuY2VzIG1pc3NpbmcgYXJndW1lbnQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX05PX1BSRVZJT1VTX0FSR1VNRU5UIj5GUzogTm8gcHJldmlvdXMgYXJndW1lbnQgZm9yIGZvcm1hdCBzdHJpbmc8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNHQ19VTlJFTEFURURfVFlQRVMiPkdDOiBObyByZWxhdGlvbnNoaXAgYmV0d2VlbiBnZW5lcmljIHBhcmFtZXRlciBhbmQgbWV0aG9kIGFyZ3VtZW50PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSEVfU0lHTkFUVVJFX0RFQ0xBUkVTX0hBU0hJTkdfT0ZfVU5IQVNIQUJMRV9DTEFTUyI+SEU6IFNpZ25hdHVyZSBkZWNsYXJlcyB1c2Ugb2YgdW5oYXNoYWJsZSBjbGFzcyBpbiBoYXNoZWQgY29uc3RydWN0PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSEVfVVNFX09GX1VOSEFTSEFCTEVfQ0xBU1MiPkhFOiBVc2Ugb2YgY2xhc3Mgd2l0aG91dCBhIGhhc2hDb2RlKCkgbWV0aG9kIGluIGEgaGFzaGVkIGRhdGEgc3RydWN0dXJlPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUNBU1RfSU5UXzJfTE9OR19BU19JTlNUQU5UIj5JQ0FTVDogaW50IHZhbHVlIGNvbnZlcnRlZCB0byBsb25nIGFuZCB1c2VkIGFzIGFic29sdXRlIHRpbWU8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJQ0FTVF9JTlRfQ0FTVF9UT19ET1VCTEVfUEFTU0VEX1RPX0NFSUwiPklDQVNUOiBJbnRlZ3JhbCB2YWx1ZSBjYXN0IHRvIGRvdWJsZSBhbmQgdGhlbiBwYXNzZWQgdG8gTWF0aC5jZWlsPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUNBU1RfSU5UX0NBU1RfVE9fRkxPQVRfUEFTU0VEX1RPX1JPVU5EIj5JQ0FTVDogaW50IHZhbHVlIGNhc3QgdG8gZmxvYXQgYW5kIHRoZW4gcGFzc2VkIHRvIE1hdGgucm91bmQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJSlVfQVNTRVJUX01FVEhPRF9JTlZPS0VEX0ZST01fUlVOX01FVEhPRCI+SUpVOiBKVW5pdCBhc3NlcnRpb24gaW4gcnVuIG1ldGhvZCB3aWxsIG5vdCBiZSBub3RpY2VkIGJ5IEpVbml0PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUpVX0JBRF9TVUlURV9NRVRIT0QiPklKVTogVGVzdENhc2UgZGVjbGFyZXMgYSBiYWQgc3VpdGUgbWV0aG9kIDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lKVV9OT19URVNUUyI+SUpVOiBUZXN0Q2FzZSBoYXMgbm8gdGVzdHM8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNJSlVfU0VUVVBfTk9fU1VQRVIiPklKVTogVGVzdENhc2UgZGVmaW5lcyBzZXRVcCB0aGF0IGRvZXNuJ3QgY2FsbCBzdXBlci5zZXRVcCgpPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSUpVX1NVSVRFX05PVF9TVEFUSUMiPklKVTogVGVzdENhc2UgaW1wbGVtZW50cyBhIG5vbi1zdGF0aWMgc3VpdGUgbWV0aG9kIDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lKVV9URUFSRE9XTl9OT19TVVBFUiI+SUpVOiBUZXN0Q2FzZSBkZWZpbmVzIHRlYXJEb3duIHRoYXQgZG9lc24ndCBjYWxsIHN1cGVyLnRlYXJEb3duKCk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJTF9DT05UQUlORVJfQURERURfVE9fSVRTRUxGIj5JTDogQSBjb2xsZWN0aW9uIGlzIGFkZGVkIHRvIGl0c2VsZjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lMX0lORklOSVRFX0xPT1AiPklMOiBBbiBhcHBhcmVudCBpbmZpbml0ZSBsb29wPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSUxfSU5GSU5JVEVfUkVDVVJTSVZFX0xPT1AiPklMOiBBbiBhcHBhcmVudCBpbmZpbml0ZSByZWN1cnNpdmUgbG9vcDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lNX01VTFRJUExZSU5HX1JFU1VMVF9PRl9JUkVNIj5JTTogSW50ZWdlciBtdWx0aXBseSBvZiByZXN1bHQgb2YgaW50ZWdlciByZW1haW5kZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJTlRfQkFEX0NPTVBBUklTT05fV0lUSF9JTlRfVkFMVUUiPklOVDogQmFkIGNvbXBhcmlzb24gb2YgaW50IHZhbHVlIHdpdGggbG9uZyBjb25zdGFudDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lOVF9CQURfQ09NUEFSSVNPTl9XSVRIX05PTk5FR0FUSVZFX1ZBTFVFIj5JTlQ6IEJhZCBjb21wYXJpc29uIG9mIG5vbm5lZ2F0aXZlIHZhbHVlIHdpdGggbmVnYXRpdmUgY29uc3RhbnQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJTlRfQkFEX0NPTVBBUklTT05fV0lUSF9TSUdORURfQllURSI+SU5UOiBCYWQgY29tcGFyaXNvbiBvZiBzaWduZWQgYnl0ZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lPX0FQUEVORElOR19UT19PQkpFQ1RfT1VUUFVUX1NUUkVBTSI+SU86IERvb21lZCBhdHRlbXB0IHRvIGFwcGVuZCB0byBhbiBvYmplY3Qgb3V0cHV0IHN0cmVhbTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lQX1BBUkFNRVRFUl9JU19ERUFEX0JVVF9PVkVSV1JJVFRFTiI+SVA6IEEgcGFyYW1ldGVyIGlzIGRlYWQgdXBvbiBlbnRyeSB0byBhIG1ldGhvZCBidXQgb3ZlcndyaXR0ZW48L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNNRl9DTEFTU19NQVNLU19GSUVMRCI+TUY6IENsYXNzIGRlZmluZXMgZmllbGQgdGhhdCBtYXNrcyBhIHN1cGVyY2xhc3MgZmllbGQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNNRl9NRVRIT0RfTUFTS1NfRklFTEQiPk1GOiBNZXRob2QgZGVmaW5lcyBhIHZhcmlhYmxlIHRoYXQgb2JzY3VyZXMgYSBmaWVsZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX0FMV0FZU19OVUxMIj5OUDogTnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfQUxXQVlTX05VTExfRVhDRVBUSU9OIj5OUDogTnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIG1ldGhvZCBvbiBleGNlcHRpb24gcGF0aDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX0FSR1VNRU5UX01JR0hUX0JFX05VTEwiPk5QOiBNZXRob2QgZG9lcyBub3QgY2hlY2sgZm9yIG51bGwgYXJndW1lbnQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9DTE9TSU5HX05VTEwiPk5QOiBjbG9zZSgpIGludm9rZWQgb24gYSB2YWx1ZSB0aGF0IGlzIGFsd2F5cyBudWxsPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTlBfR1VBUkFOVEVFRF9ERVJFRiI+TlA6IE51bGwgdmFsdWUgaXMgZ3VhcmFudGVlZCB0byBiZSBkZXJlZmVyZW5jZWQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9HVUFSQU5URUVEX0RFUkVGX09OX0VYQ0VQVElPTl9QQVRIIj5OUDogVmFsdWUgaXMgbnVsbCBhbmQgZ3VhcmFudGVlZCB0byBiZSBkZXJlZmVyZW5jZWQgb24gZXhjZXB0aW9uIHBhdGg8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9OT05OVUxMX0ZJRUxEX05PVF9JTklUSUFMSVpFRF9JTl9DT05TVFJVQ1RPUiI+TlA6IE5vbm51bGwgZmllbGQgaXMgbm90IGluaXRpYWxpemVkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfTk9OTlVMTF9QQVJBTV9WSU9MQVRJT04iPk5QOiBNZXRob2QgY2FsbCBwYXNzZXMgbnVsbCB0byBhIG5vbm51bGwgcGFyYW1ldGVyIDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05QX05PTk5VTExfUkVUVVJOX1ZJT0xBVElPTiI+TlA6IE1ldGhvZCBtYXkgcmV0dXJuIG51bGwsIGJ1dCBpcyBkZWNsYXJlZCBATm9uTnVsbDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX05VTExfSU5TVEFOQ0VPRiI+TlA6IEEga25vd24gbnVsbCB2YWx1ZSBpcyBjaGVja2VkIHRvIHNlZSBpZiBpdCBpcyBhbiBpbnN0YW5jZSBvZiBhIHR5cGU8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9OVUxMX09OX1NPTUVfUEFUSCI+TlA6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX05VTExfT05fU09NRV9QQVRIX0VYQ0VQVElPTiI+TlA6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiBtZXRob2Qgb24gZXhjZXB0aW9uIHBhdGg8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9OVUxMX1BBUkFNX0RFUkVGIj5OUDogTWV0aG9kIGNhbGwgcGFzc2VzIG51bGwgZm9yIG5vbm51bGwgcGFyYW1ldGVyPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfTlVMTF9QQVJBTV9ERVJFRl9BTExfVEFSR0VUU19EQU5HRVJPVVMiPk5QOiBNZXRob2QgY2FsbCBwYXNzZXMgbnVsbCBmb3Igbm9ubnVsbCBwYXJhbWV0ZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9OVUxMX1BBUkFNX0RFUkVGX05PTlZJUlRVQUwiPk5QOiBOb24tdmlydHVhbCBtZXRob2QgY2FsbCBwYXNzZXMgbnVsbCBmb3Igbm9ubnVsbCBwYXJhbWV0ZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9TVE9SRV9JTlRPX05PTk5VTExfRklFTEQiPk5QOiBTdG9yZSBvZiBudWxsIHZhbHVlIGludG8gZmllbGQgYW5ub3RhdGVkIE5vbk51bGw8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9VTldSSVRURU5fRklFTEQiPk5QOiBSZWFkIG9mIHVud3JpdHRlbiBmaWVsZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05NX0JBRF9FUVVBTCI+Tm06IENsYXNzIGRlZmluZXMgZXF1YWwoT2JqZWN0KTsgc2hvdWxkIGl0IGJlIGVxdWFscyhPYmplY3QpPzwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05NX0xDQVNFX0hBU0hDT0RFIj5ObTogQ2xhc3MgZGVmaW5lcyBoYXNoY29kZSgpOyBzaG91bGQgaXQgYmUgaGFzaENvZGUoKT88L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOTV9MQ0FTRV9UT1NUUklORyI+Tm06IENsYXNzIGRlZmluZXMgdG9zdHJpbmcoKTsgc2hvdWxkIGl0IGJlIHRvU3RyaW5nKCk/PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTk1fTUVUSE9EX0NPTlNUUlVDVE9SX0NPTkZVU0lPTiI+Tm06IEFwcGFyZW50IG1ldGhvZC9jb25zdHJ1Y3RvciBjb25mdXNpb248L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOTV9WRVJZX0NPTkZVU0lORyI+Tm06IFZlcnkgY29uZnVzaW5nIG1ldGhvZCBuYW1lczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05NX1dST05HX1BBQ0tBR0UiPk5tOiBNZXRob2QgZG9lc24ndCBvdmVycmlkZSBtZXRob2QgaW4gc3VwZXJjbGFzcyBkdWUgdG8gd3JvbmcgcGFja2FnZSBmb3IgcGFyYW1ldGVyPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUUJBX1FVRVNUSU9OQUJMRV9CT09MRUFOX0FTU0lHTk1FTlQiPlFCQTogTWV0aG9kIGFzc2lnbnMgYm9vbGVhbiBsaXRlcmFsIGluIGJvb2xlYW4gZXhwcmVzc2lvbjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1JDX1JFRl9DT01QQVJJU09OIj5SQzogU3VzcGljaW91cyByZWZlcmVuY2UgY29tcGFyaXNvbjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JDTl9SRURVTkRBTlRfTlVMTENIRUNLX1dPVUxEX0hBVkVfQkVFTl9BX05QRSI+UkNOOiBOdWxsY2hlY2sgb2YgdmFsdWUgcHJldmlvdXNseSBkZXJlZmVyZW5jZWQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSRV9CQURfU1lOVEFYX0ZPUl9SRUdVTEFSX0VYUFJFU1NJT04iPlJFOiBJbnZhbGlkIHN5bnRheCBmb3IgcmVndWxhciBleHByZXNzaW9uPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUkVfQ0FOVF9VU0VfRklMRV9TRVBBUkFUT1JfQVNfUkVHVUxBUl9FWFBSRVNTSU9OIj5SRTogRmlsZS5zZXBhcmF0b3IgdXNlZCBmb3IgcmVndWxhciBleHByZXNzaW9uPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUkVfUE9TU0lCTEVfVU5JTlRFTkRFRF9QQVRURVJOIj5SRTogIi4iIG9yICJ8IiB1c2VkIGZvciByZWd1bGFyIGV4cHJlc3Npb248L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSVl8wMV9UT19JTlQiPlJWOiBSYW5kb20gdmFsdWUgZnJvbSAwIHRvIDEgaXMgY29lcmNlZCB0byB0aGUgaW50ZWdlciAwPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUlZfQUJTT0xVVEVfVkFMVUVfT0ZfSEFTSENPREUiPlJWOiBCYWQgYXR0ZW1wdCB0byBjb21wdXRlIGFic29sdXRlIHZhbHVlIG9mIHNpZ25lZCAzMi1iaXQgaGFzaGNvZGUgPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUlZfQUJTT0xVVEVfVkFMVUVfT0ZfUkFORE9NX0lOVCI+UlY6IEJhZCBhdHRlbXB0IHRvIGNvbXB1dGUgYWJzb2x1dGUgdmFsdWUgb2Ygc2lnbmVkIHJhbmRvbSBpbnRlZ2VyPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUlZfQ0hFQ0tfQ09NUEFSRVRPX0ZPUl9TUEVDSUZJQ19SRVRVUk5fVkFMVUUiPlJWOiBDb2RlIGNoZWNrcyBmb3Igc3BlY2lmaWMgdmFsdWVzIHJldHVybmVkIGJ5IGNvbXBhcmVUbzwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JWX0VYQ0VQVElPTl9OT1RfVEhST1dOIj5SVjogRXhjZXB0aW9uIGNyZWF0ZWQgYW5kIGRyb3BwZWQgcmF0aGVyIHRoYW4gdGhyb3duPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUlZfUkVUVVJOX1ZBTFVFX0lHTk9SRUQiPlJWOiBNZXRob2QgaWdub3JlcyByZXR1cm4gdmFsdWU8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNScENfUkVQRUFURURfQ09ORElUSU9OQUxfVEVTVCI+UnBDOiBSZXBlYXRlZCBjb25kaXRpb25hbCB0ZXN0czwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NBX0ZJRUxEX1NFTEZfQVNTSUdOTUVOVCI+U0E6IFNlbGYgYXNzaWdubWVudCBvZiBmaWVsZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NBX0ZJRUxEX1NFTEZfQ09NUEFSSVNPTiI+U0E6IFNlbGYgY29tcGFyaXNvbiBvZiBmaWVsZCB3aXRoIGl0c2VsZjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NBX0ZJRUxEX1NFTEZfQ09NUFVUQVRJT04iPlNBOiBOb25zZW5zaWNhbCBzZWxmIGNvbXB1dGF0aW9uIGludm9sdmluZyBhIGZpZWxkIChlLmcuLCB4ICYgeCk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTQV9MT0NBTF9TRUxGX0FTU0lHTk1FTlRfSU5TVEVBRF9PRl9GSUVMRCI+U0E6IFNlbGYgYXNzaWdubWVudCBvZiBsb2NhbCByYXRoZXIgdGhhbiBhc3NpZ25tZW50IHRvIGZpZWxkPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0FfTE9DQUxfU0VMRl9DT01QQVJJU09OIj5TQTogU2VsZiBjb21wYXJpc29uIG9mIHZhbHVlIHdpdGggaXRzZWxmPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0FfTE9DQUxfU0VMRl9DT01QVVRBVElPTiI+U0E6IE5vbnNlbnNpY2FsIHNlbGYgY29tcHV0YXRpb24gaW52b2x2aW5nIGEgdmFyaWFibGUgKGUuZy4sIHggJiB4KTwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NGX0RFQURfU1RPUkVfRFVFX1RPX1NXSVRDSF9GQUxMVEhST1VHSCI+U0Y6IERlYWQgc3RvcmUgZHVlIHRvIHN3aXRjaCBzdGF0ZW1lbnQgZmFsbCB0aHJvdWdoPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0ZfREVBRF9TVE9SRV9EVUVfVE9fU1dJVENIX0ZBTExUSFJPVUdIX1RPX1RIUk9XIj5TRjogRGVhZCBzdG9yZSBkdWUgdG8gc3dpdGNoIHN0YXRlbWVudCBmYWxsIHRocm91Z2ggdG8gdGhyb3c8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTSUNfVEhSRUFETE9DQUxfREVBRExZX0VNQlJBQ0UiPlNJQzogRGVhZGx5IGVtYnJhY2Ugb2Ygbm9uLXN0YXRpYyBpbm5lciBjbGFzcyBhbmQgdGhyZWFkIGxvY2FsPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0lPX1NVUEVSRkxVT1VTX0lOU1RBTkNFT0YiPlNJTzogVW5uZWNlc3NhcnkgdHlwZSBjaGVjayBkb25lIHVzaW5nIGluc3RhbmNlb2Ygb3BlcmF0b3I8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTUUxfQkFEX1BSRVBBUkVEX1NUQVRFTUVOVF9BQ0NFU1MiPlNRTDogTWV0aG9kIGF0dGVtcHRzIHRvIGFjY2VzcyBhIHByZXBhcmVkIHN0YXRlbWVudCBwYXJhbWV0ZXIgd2l0aCBpbmRleCAwPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU1FMX0JBRF9SRVNVTFRTRVRfQUNDRVNTIj5TUUw6IE1ldGhvZCBhdHRlbXB0cyB0byBhY2Nlc3MgYSByZXN1bHQgc2V0IGZpZWxkIHdpdGggaW5kZXggMDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NUSV9JTlRFUlJVUFRFRF9PTl9DVVJSRU5UVEhSRUFEIj5TVEk6IFVubmVlZGVkIHVzZSBvZiBjdXJyZW50VGhyZWFkKCkgY2FsbCwgdG8gY2FsbCBpbnRlcnJ1cHRlZCgpIDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NUSV9JTlRFUlJVUFRFRF9PTl9VTktOT1dOVEhSRUFEIj5TVEk6IFN0YXRpYyBUaHJlYWQuaW50ZXJydXB0ZWQoKSBtZXRob2QgaW52b2tlZCBvbiB0aHJlYWQgaW5zdGFuY2U8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTRV9NRVRIT0RfTVVTVF9CRV9QUklWQVRFIj5TZTogTWV0aG9kIG11c3QgYmUgcHJpdmF0ZSBpbiBvcmRlciBmb3Igc2VyaWFsaXphdGlvbiB0byB3b3JrPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0VfUkVBRF9SRVNPTFZFX0lTX1NUQVRJQyI+U2U6IFRoZSByZWFkUmVzb2x2ZSBtZXRob2QgbXVzdCBub3QgYmUgZGVjbGFyZWQgYXMgYSBzdGF0aWMgbWV0aG9kLiAgPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVFFfQUxXQVlTX1ZBTFVFX1VTRURfV0hFUkVfTkVWRVJfUkVRVUlSRUQiPlRROiBWYWx1ZSBhbm5vdGF0ZWQgYXMgY2FycnlpbmcgYSB0eXBlIHF1YWxpZmllciB1c2VkIHdoZXJlIGEgdmFsdWUgdGhhdCBtdXN0IG5vdCBjYXJyeSB0aGF0IHF1YWxpZmllciBpcyByZXF1aXJlZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1RRX0NPTVBBUklOR19WQUxVRVNfV0lUSF9JTkNPTVBBVElCTEVfVFlQRV9RVUFMSUZJRVJTIj5UUTogQ29tcGFyaW5nIHZhbHVlcyB3aXRoIGluY29tcGF0aWJsZSB0eXBlIHF1YWxpZmllcnM8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNUUV9NQVlCRV9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19BTFdBWVNfU0lOSyI+VFE6IFZhbHVlIHRoYXQgbWlnaHQgbm90IGNhcnJ5IGEgdHlwZSBxdWFsaWZpZXIgaXMgYWx3YXlzIHVzZWQgaW4gYSB3YXkgcmVxdWlyZXMgdGhhdCB0eXBlIHF1YWxpZmllcjwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1RRX01BWUJFX1NPVVJDRV9WQUxVRV9SRUFDSEVTX05FVkVSX1NJTksiPlRROiBWYWx1ZSB0aGF0IG1pZ2h0IGNhcnJ5IGEgdHlwZSBxdWFsaWZpZXIgaXMgYWx3YXlzIHVzZWQgaW4gYSB3YXkgcHJvaGliaXRzIGl0IGZyb20gaGF2aW5nIHRoYXQgdHlwZSBxdWFsaWZpZXI8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNUUV9ORVZFUl9WQUxVRV9VU0VEX1dIRVJFX0FMV0FZU19SRVFVSVJFRCI+VFE6IFZhbHVlIGFubm90YXRlZCBhcyBuZXZlciBjYXJyeWluZyBhIHR5cGUgcXVhbGlmaWVyIHVzZWQgd2hlcmUgdmFsdWUgY2FycnlpbmcgdGhhdCBxdWFsaWZpZXIgaXMgcmVxdWlyZWQ8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNUUV9VTktOT1dOX1ZBTFVFX1VTRURfV0hFUkVfQUxXQVlTX1NUUklDVExZX1JFUVVJUkVEIj5UUTogVmFsdWUgd2l0aG91dCBhIHR5cGUgcXVhbGlmaWVyIHVzZWQgd2hlcmUgYSB2YWx1ZSBpcyByZXF1aXJlZCB0byBoYXZlIHRoYXQgcXVhbGlmaWVyPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVU1BQ19VTkNBTExBQkxFX01FVEhPRF9PRl9BTk9OWU1PVVNfQ0xBU1MiPlVNQUM6IFVuY2FsbGFibGUgbWV0aG9kIGRlZmluZWQgaW4gYW5vbnltb3VzIGNsYXNzPC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVVJfVU5JTklUX1JFQUQiPlVSOiBVbmluaXRpYWxpemVkIHJlYWQgb2YgZmllbGQgaW4gY29uc3RydWN0b3I8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNVUl9VTklOSVRfUkVBRF9DQUxMRURfRlJPTV9TVVBFUl9DT05TVFJVQ1RPUiI+VVI6IFVuaW5pdGlhbGl6ZWQgcmVhZCBvZiBmaWVsZCBtZXRob2QgY2FsbGVkIGZyb20gY29uc3RydWN0b3Igb2Ygc3VwZXJjbGFzczwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9JTlZPS0lOR19UT1NUUklOR19PTl9BTk9OWU1PVVNfQVJSQVkiPlVTRUxFU1NfU1RSSU5HOiBJbnZvY2F0aW9uIG9mIHRvU3RyaW5nIG9uIGFuIHVubmFtZWQgYXJyYXk8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETUlfSU5WT0tJTkdfVE9TVFJJTkdfT05fQVJSQVkiPlVTRUxFU1NfU1RSSU5HOiBJbnZvY2F0aW9uIG9mIHRvU3RyaW5nIG9uIGFuIGFycmF5PC9hPjwvdGQ+PHRkPkNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVkFfRk9STUFUX1NUUklOR19CQURfQ09OVkVSU0lPTl9GUk9NX0FSUkFZIj5VU0VMRVNTX1NUUklORzogQXJyYXkgZm9ybWF0dGVkIGluIHVzZWxlc3Mgd2F5IHVzaW5nIGZvcm1hdCBzdHJpbmc8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNVV0ZfTlVMTF9GSUVMRCI+VXdGOiBGaWVsZCBvbmx5IGV2ZXIgc2V0IHRvIG51bGw8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVV0ZfVU5XUklUVEVOX0ZJRUxEIj5Vd0Y6IFVud3JpdHRlbiBmaWVsZDwvYT48L3RkPjx0ZD5Db3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1ZBX1BSSU1JVElWRV9BUlJBWV9QQVNTRURfVE9fT0JKRUNUX1ZBUkFSRyI+VkE6IFByaW1pdGl2ZSBhcnJheSBwYXNzZWQgdG8gZnVuY3Rpb24gZXhwZWN0aW5nIGEgdmFyaWFibGUgbnVtYmVyIG9mIG9iamVjdCBhcmd1bWVudHM8L2E+PC90ZD48dGQ+Q29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNMR19MT1NUX0xPR0dFUl9EVUVfVE9fV0VBS19SRUZFUkVOQ0UiPkxHOiBQb3RlbnRpYWwgbG9zdCBsb2dnZXIgY2hhbmdlcyBkdWUgdG8gd2VhayByZWZlcmVuY2UgaW4gT3BlbkpESzwvYT48L3RkPjx0ZD5FeHBlcmltZW50YWw8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNPQkxfVU5TQVRJU0ZJRURfT0JMSUdBVElPTiI+T0JMOiBNZXRob2QgbWF5IGZhaWwgdG8gY2xlYW4gdXAgc3RyZWFtIG9yIHJlc291cmNlPC9hPjwvdGQ+PHRkPkV4cGVyaW1lbnRhbDwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI09CTF9VTlNBVElTRklFRF9PQkxJR0FUSU9OX0VYQ0VQVElPTl9FREdFIj5PQkw6IE1ldGhvZCBtYXkgZmFpbCB0byBjbGVhbiB1cCBzdHJlYW0gb3IgcmVzb3VyY2Ugb24gY2hlY2tlZCBleGNlcHRpb248L2E+PC90ZD48dGQ+RXhwZXJpbWVudGFsPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1fQ09OVkVSVF9DQVNFIj5EbTogQ29uc2lkZXIgdXNpbmcgTG9jYWxlIHBhcmFtZXRlcml6ZWQgdmVyc2lvbiBvZiBpbnZva2VkIG1ldGhvZDwvYT48L3RkPjx0ZD5JbnRlcm5hdGlvbmFsaXphdGlvbjwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNX0RFRkFVTFRfRU5DT0RJTkciPkRtOiBSZWxpYW5jZSBvbiBkZWZhdWx0IGVuY29kaW5nPC9hPjwvdGQ+PHRkPkludGVybmF0aW9uYWxpemF0aW9uPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRFBfQ1JFQVRFX0NMQVNTTE9BREVSX0lOU0lERV9ET19QUklWSUxFR0VEIj5EUDogQ2xhc3Nsb2FkZXJzIHNob3VsZCBvbmx5IGJlIGNyZWF0ZWQgaW5zaWRlIGRvUHJpdmlsZWdlZCBibG9jazwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRFBfRE9fSU5TSURFX0RPX1BSSVZJTEVHRUQiPkRQOiBNZXRob2QgaW52b2tlZCB0aGF0IHNob3VsZCBiZSBvbmx5IGJlIGludm9rZWQgaW5zaWRlIGEgZG9Qcml2aWxlZ2VkIGJsb2NrPC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNFSV9FWFBPU0VfUkVQIj5FSTogTWF5IGV4cG9zZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBieSByZXR1cm5pbmcgcmVmZXJlbmNlIHRvIG11dGFibGUgb2JqZWN0PC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNFSV9FWFBPU0VfUkVQMiI+RUkyOiBNYXkgZXhwb3NlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGJ5IGluY29ycG9yYXRpbmcgcmVmZXJlbmNlIHRvIG11dGFibGUgb2JqZWN0PC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNGSV9QVUJMSUNfU0hPVUxEX0JFX1BST1RFQ1RFRCI+Rkk6IEZpbmFsaXplciBzaG91bGQgYmUgcHJvdGVjdGVkLCBub3QgcHVibGljPC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNFSV9FWFBPU0VfU1RBVElDX1JFUDIiPk1TOiBNYXkgZXhwb3NlIGludGVybmFsIHN0YXRpYyBzdGF0ZSBieSBzdG9yaW5nIGEgbXV0YWJsZSBvYmplY3QgaW50byBhIHN0YXRpYyBmaWVsZDwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTVNfQ0FOTk9UX0JFX0ZJTkFMIj5NUzogRmllbGQgaXNuJ3QgZmluYWwgYW5kIGNhbid0IGJlIHByb3RlY3RlZCBmcm9tIG1hbGljaW91cyBjb2RlPC9hPjwvdGQ+PHRkPk1hbGljaW91cyBjb2RlIHZ1bG5lcmFiaWxpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNNU19FWFBPU0VfUkVQIj5NUzogUHVibGljIHN0YXRpYyBtZXRob2QgbWF5IGV4cG9zZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBieSByZXR1cm5pbmcgYXJyYXk8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI01TX0ZJTkFMX1BLR1BST1RFQ1QiPk1TOiBGaWVsZCBzaG91bGQgYmUgYm90aCBmaW5hbCBhbmQgcGFja2FnZSBwcm90ZWN0ZWQ8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI01TX01VVEFCTEVfQVJSQVkiPk1TOiBGaWVsZCBpcyBhIG11dGFibGUgYXJyYXk8L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI01TX01VVEFCTEVfSEFTSFRBQkxFIj5NUzogRmllbGQgaXMgYSBtdXRhYmxlIEhhc2h0YWJsZTwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTVNfT09JX1BLR1BST1RFQ1QiPk1TOiBGaWVsZCBzaG91bGQgYmUgbW92ZWQgb3V0IG9mIGFuIGludGVyZmFjZSBhbmQgbWFkZSBwYWNrYWdlIHByb3RlY3RlZDwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTVNfUEtHUFJPVEVDVCI+TVM6IEZpZWxkIHNob3VsZCBiZSBwYWNrYWdlIHByb3RlY3RlZDwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTVNfU0hPVUxEX0JFX0ZJTkFMIj5NUzogRmllbGQgaXNuJ3QgZmluYWwgYnV0IHNob3VsZCBiZTwvYT48L3RkPjx0ZD5NYWxpY2lvdXMgY29kZSB2dWxuZXJhYmlsaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTVNfU0hPVUxEX0JFX1JFRkFDVE9SRURfVE9fQkVfRklOQUwiPk1TOiBGaWVsZCBpc24ndCBmaW5hbCBidXQgc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gYmUgc288L2E+PC90ZD48dGQ+TWFsaWNpb3VzIGNvZGUgdnVsbmVyYWJpbGl0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0FUX09QRVJBVElPTl9TRVFVRU5DRV9PTl9DT05DVVJSRU5UX0FCU1RSQUNUSU9OIj5BVDogU2VxdWVuY2Ugb2YgY2FsbHMgdG8gY29uY3VycmVudCBhYnN0cmFjdGlvbiBtYXkgbm90IGJlIGF0b21pYzwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRENfRE9VQkxFQ0hFQ0siPkRDOiBQb3NzaWJsZSBkb3VibGUgY2hlY2sgb2YgZmllbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RMX1NZTkNIUk9OSVpBVElPTl9PTl9CT09MRUFOIj5ETDogU3luY2hyb25pemF0aW9uIG9uIEJvb2xlYW48L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RMX1NZTkNIUk9OSVpBVElPTl9PTl9CT1hFRF9QUklNSVRJVkUiPkRMOiBTeW5jaHJvbml6YXRpb24gb24gYm94ZWQgcHJpbWl0aXZlPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETF9TWU5DSFJPTklaQVRJT05fT05fU0hBUkVEX0NPTlNUQU5UIj5ETDogU3luY2hyb25pemF0aW9uIG9uIGludGVybmVkIFN0cmluZyA8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RMX1NZTkNIUk9OSVpBVElPTl9PTl9VTlNIQVJFRF9CT1hFRF9QUklNSVRJVkUiPkRMOiBTeW5jaHJvbml6YXRpb24gb24gYm94ZWQgcHJpbWl0aXZlIHZhbHVlczwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1fTU9OSVRPUl9XQUlUX09OX0NPTkRJVElPTiI+RG06IE1vbml0b3Igd2FpdCgpIGNhbGxlZCBvbiBDb25kaXRpb248L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNX1VTRUxFU1NfVEhSRUFEIj5EbTogQSB0aHJlYWQgd2FzIGNyZWF0ZWQgdXNpbmcgdGhlIGRlZmF1bHQgZW1wdHkgcnVuIG1ldGhvZDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRVN5bmNfRU1QVFlfU1lOQyI+RVN5bmM6IEVtcHR5IHN5bmNocm9uaXplZCBibG9jazwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSVMyX0lOQ09OU0lTVEVOVF9TWU5DIj5JUzogSW5jb25zaXN0ZW50IHN5bmNocm9uaXphdGlvbjwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSVNfRklFTERfTk9UX0dVQVJERUQiPklTOiBGaWVsZCBub3QgZ3VhcmRlZCBhZ2FpbnN0IGNvbmN1cnJlbnQgYWNjZXNzPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNKTE1fSlNSMTY2X0xPQ0tfTU9OSVRPUkVOVEVSIj5KTE06IFN5bmNocm9uaXphdGlvbiBwZXJmb3JtZWQgb24gTG9jazwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSkxNX0pTUjE2Nl9VVElMQ09OQ1VSUkVOVF9NT05JVE9SRU5URVIiPkpMTTogU3luY2hyb25pemF0aW9uIHBlcmZvcm1lZCBvbiB1dGlsLmNvbmN1cnJlbnQgaW5zdGFuY2U8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0pNTF9KU1IxNjZfQ0FMTElOR19XQUlUX1JBVEhFUl9USEFOX0FXQUlUIj5KTE06IFVzaW5nIG1vbml0b3Igc3R5bGUgd2FpdCBtZXRob2RzIG9uIHV0aWwuY29uY3VycmVudCBhYnN0cmFjdGlvbjwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTElfTEFaWV9JTklUX1NUQVRJQyI+TEk6IEluY29ycmVjdCBsYXp5IGluaXRpYWxpemF0aW9uIG9mIHN0YXRpYyBmaWVsZDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTElfTEFaWV9JTklUX1VQREFURV9TVEFUSUMiPkxJOiBJbmNvcnJlY3QgbGF6eSBpbml0aWFsaXphdGlvbiBhbmQgdXBkYXRlIG9mIHN0YXRpYyBmaWVsZDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTUxfU1lOQ19PTl9GSUVMRF9UT19HVUFSRF9DSEFOR0lOR19USEFUX0ZJRUxEIj5NTDogU3luY2hyb25pemF0aW9uIG9uIGZpZWxkIGluIGZ1dGlsZSBhdHRlbXB0IHRvIGd1YXJkIHRoYXQgZmllbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI01MX1NZTkNfT05fVVBEQVRFRF9GSUVMRCI+TUw6IE1ldGhvZCBzeW5jaHJvbml6ZXMgb24gYW4gdXBkYXRlZCBmaWVsZDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTVNGX01VVEFCTEVfU0VSVkxFVF9GSUVMRCI+TVNGOiBNdXRhYmxlIHNlcnZsZXQgZmllbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI01XTl9NSVNNQVRDSEVEX05PVElGWSI+TVdOOiBNaXNtYXRjaGVkIG5vdGlmeSgpPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNNV05fTUlTTUFUQ0hFRF9XQUlUIj5NV046IE1pc21hdGNoZWQgd2FpdCgpPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOTl9OQUtFRF9OT1RJRlkiPk5OOiBOYWtlZCBub3RpZnk8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX1NZTkNfQU5EX05VTExfQ0hFQ0tfRklFTEQiPk5QOiBTeW5jaHJvbml6ZSBhbmQgbnVsbCBjaGVjayBvbiB0aGUgc2FtZSBmaWVsZC48L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05PX05PVElGWV9OT1RfTk9USUZZQUxMIj5ObzogVXNpbmcgbm90aWZ5KCkgcmF0aGVyIHRoYW4gbm90aWZ5QWxsKCk8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JTX1JFQURPQkpFQ1RfU1lOQyI+UlM6IENsYXNzJ3MgcmVhZE9iamVjdCgpIG1ldGhvZCBpcyBzeW5jaHJvbml6ZWQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1JWX1JFVFVSTl9WQUxVRV9PRl9QVVRJRkFCU0VOVF9JR05PUkVEIj5SVjogUmV0dXJuIHZhbHVlIG9mIHB1dElmQWJzZW50IGlnbm9yZWQsIHZhbHVlIHBhc3NlZCB0byBwdXRJZkFic2VudCByZXVzZWQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JVX0lOVk9LRV9SVU4iPlJ1OiBJbnZva2VzIHJ1biBvbiBhIHRocmVhZCAoZGlkIHlvdSBtZWFuIHRvIHN0YXJ0IGl0IGluc3RlYWQ/KTwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0NfU1RBUlRfSU5fQ1RPUiI+U0M6IENvbnN0cnVjdG9yIGludm9rZXMgVGhyZWFkLnN0YXJ0KCk8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NQX1NQSU5fT05fRklFTEQiPlNQOiBNZXRob2Qgc3BpbnMgb24gZmllbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NUQ0FMX0lOVk9LRV9PTl9TVEFUSUNfQ0FMRU5EQVJfSU5TVEFOQ0UiPlNUQ0FMOiBDYWxsIHRvIHN0YXRpYyBDYWxlbmRhcjwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU1RDQUxfSU5WT0tFX09OX1NUQVRJQ19EQVRFX0ZPUk1BVF9JTlNUQU5DRSI+U1RDQUw6IENhbGwgdG8gc3RhdGljIERhdGVGb3JtYXQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NUQ0FMX1NUQVRJQ19DQUxFTkRBUl9JTlNUQU5DRSI+U1RDQUw6IFN0YXRpYyBDYWxlbmRhciBmaWVsZDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU1RDQUxfU1RBVElDX1NJTVBMRV9EQVRFX0ZPUk1BVF9JTlNUQU5DRSI+U1RDQUw6IFN0YXRpYyBEYXRlRm9ybWF0PC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTV0xfU0xFRVBfV0lUSF9MT0NLX0hFTEQiPlNXTDogTWV0aG9kIGNhbGxzIFRocmVhZC5zbGVlcCgpIHdpdGggYSBsb2NrIGhlbGQ8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1RMV19UV09fTE9DS19XQUlUIj5UTFc6IFdhaXQgd2l0aCB0d28gbG9ja3MgaGVsZDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVUdfU1lOQ19TRVRfVU5TWU5DX0dFVCI+VUc6IFVuc3luY2hyb25pemVkIGdldCBtZXRob2QsIHN5bmNocm9uaXplZCBzZXQgbWV0aG9kPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVTF9VTlJFTEVBU0VEX0xPQ0siPlVMOiBNZXRob2QgZG9lcyBub3QgcmVsZWFzZSBsb2NrIG9uIGFsbCBwYXRoczwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVUxfVU5SRUxFQVNFRF9MT0NLX0VYQ0VQVElPTl9QQVRIIj5VTDogTWV0aG9kIGRvZXMgbm90IHJlbGVhc2UgbG9jayBvbiBhbGwgZXhjZXB0aW9uIHBhdGhzPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVV19VTkNPTkRfV0FJVCI+VVc6IFVuY29uZGl0aW9uYWwgd2FpdDwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjVk9fVk9MQVRJTEVfSU5DUkVNRU5UIj5WTzogQW4gaW5jcmVtZW50IHRvIGEgdm9sYXRpbGUgZmllbGQgaXNuJ3QgYXRvbWljPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNWT19WT0xBVElMRV9SRUZFUkVOQ0VfVE9fQVJSQVkiPlZPOiBBIHZvbGF0aWxlIHJlZmVyZW5jZSB0byBhbiBhcnJheSBkb2Vzbid0IHRyZWF0IHRoZSBhcnJheSBlbGVtZW50cyBhcyB2b2xhdGlsZTwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjV0xfVVNJTkdfR0VUQ0xBU1NfUkFUSEVSX1RIQU5fQ0xBU1NfTElURVJBTCI+V0w6IFN5bmNocm9uaXphdGlvbiBvbiBnZXRDbGFzcyByYXRoZXIgdGhhbiBjbGFzcyBsaXRlcmFsPC9hPjwvdGQ+PHRkPk11bHRpdGhyZWFkZWQgY29ycmVjdG5lc3M8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNXU19XUklURU9CSkVDVF9TWU5DIj5XUzogQ2xhc3MncyB3cml0ZU9iamVjdCgpIG1ldGhvZCBpcyBzeW5jaHJvbml6ZWQgYnV0IG5vdGhpbmcgZWxzZSBpczwvYT48L3RkPjx0ZD5NdWx0aXRocmVhZGVkIGNvcnJlY3RuZXNzPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjV0FfQVdBSVRfTk9UX0lOX0xPT1AiPldhOiBDb25kaXRpb24uYXdhaXQoKSBub3QgaW4gbG9vcCA8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1dBX05PVF9JTl9MT09QIj5XYTogV2FpdCBub3QgaW4gbG9vcCA8L2E+PC90ZD48dGQ+TXVsdGl0aHJlYWRlZCBjb3JyZWN0bmVzczwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0JYX0JPWElOR19JTU1FRElBVEVMWV9VTkJPWEVEIj5CeDogUHJpbWl0aXZlIHZhbHVlIGlzIGJveGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHVuYm94ZWQ8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNCWF9CT1hJTkdfSU1NRURJQVRFTFlfVU5CT1hFRF9UT19QRVJGT1JNX0NPRVJDSU9OIj5CeDogUHJpbWl0aXZlIHZhbHVlIGlzIGJveGVkIHRoZW4gdW5ib3hlZCB0byBwZXJmb3JtIHByaW1pdGl2ZSBjb2VyY2lvbjwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0JYX1VOQk9YSU5HX0lNTUVESUFURUxZX1JFQk9YRUQiPkJ4OiBCb3hlZCB2YWx1ZSBpcyB1bmJveGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlYm94ZWQ8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETV9CT1hFRF9QUklNSVRJVkVfRk9SX1BBUlNJTkciPkJ4OiBCb3hpbmcvdW5ib3hpbmcgdG8gcGFyc2UgYSBwcmltaXRpdmU8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETV9CT1hFRF9QUklNSVRJVkVfVE9TVFJJTkciPkJ4OiBNZXRob2QgYWxsb2NhdGVzIGEgYm94ZWQgcHJpbWl0aXZlIGp1c3QgdG8gY2FsbCB0b1N0cmluZzwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNX0ZQX05VTUJFUl9DVE9SIj5CeDogTWV0aG9kIGludm9rZXMgaW5lZmZpY2llbnQgZmxvYXRpbmctcG9pbnQgTnVtYmVyIGNvbnN0cnVjdG9yOyB1c2Ugc3RhdGljIHZhbHVlT2YgaW5zdGVhZDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNX05VTUJFUl9DVE9SIj5CeDogTWV0aG9kIGludm9rZXMgaW5lZmZpY2llbnQgTnVtYmVyIGNvbnN0cnVjdG9yOyB1c2Ugc3RhdGljIHZhbHVlT2YgaW5zdGVhZDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9CTE9DS0lOR19NRVRIT0RTX09OX1VSTCI+RG06IFRoZSBlcXVhbHMgYW5kIGhhc2hDb2RlIG1ldGhvZHMgb2YgVVJMIGFyZSBibG9ja2luZzwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9DT0xMRUNUSU9OX09GX1VSTFMiPkRtOiBNYXBzIGFuZCBzZXRzIG9mIFVSTHMgY2FuIGJlIHBlcmZvcm1hbmNlIGhvZ3M8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETV9CT09MRUFOX0NUT1IiPkRtOiBNZXRob2QgaW52b2tlcyBpbmVmZmljaWVudCBCb29sZWFuIGNvbnN0cnVjdG9yOyB1c2UgQm9vbGVhbi52YWx1ZU9mKC4uLikgaW5zdGVhZDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNX0dDIj5EbTogRXhwbGljaXQgZ2FyYmFnZSBjb2xsZWN0aW9uOyBleHRyZW1lbHkgZHViaW91cyBleGNlcHQgaW4gYmVuY2htYXJraW5nIGNvZGU8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNETV9ORVdfRk9SX0dFVENMQVNTIj5EbTogTWV0aG9kIGFsbG9jYXRlcyBhbiBvYmplY3QsIG9ubHkgdG8gZ2V0IHRoZSBjbGFzcyBvYmplY3Q8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETV9ORVhUSU5UX1ZJQV9ORVhURE9VQkxFIj5EbTogVXNlIHRoZSBuZXh0SW50IG1ldGhvZCBvZiBSYW5kb20gcmF0aGVyIHRoYW4gbmV4dERvdWJsZSB0byBnZW5lcmF0ZSBhIHJhbmRvbSBpbnRlZ2VyPC9hPjwvdGQ+PHRkPlBlcmZvcm1hbmNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1fU1RSSU5HX0NUT1IiPkRtOiBNZXRob2QgaW52b2tlcyBpbmVmZmljaWVudCBuZXcgU3RyaW5nKFN0cmluZykgY29uc3RydWN0b3I8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETV9TVFJJTkdfVE9TVFJJTkciPkRtOiBNZXRob2QgaW52b2tlcyB0b1N0cmluZygpIG1ldGhvZCBvbiBhIFN0cmluZzwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNX1NUUklOR19WT0lEX0NUT1IiPkRtOiBNZXRob2QgaW52b2tlcyBpbmVmZmljaWVudCBuZXcgU3RyaW5nKCkgY29uc3RydWN0b3I8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNIU0NfSFVHRV9TSEFSRURfU1RSSU5HX0NPTlNUQU5UIj5IU0M6IEh1Z2Ugc3RyaW5nIGNvbnN0YW50cyBpcyBkdXBsaWNhdGVkIGFjcm9zcyBtdWx0aXBsZSBjbGFzcyBmaWxlczwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lUQV9JTkVGRklDSUVOVF9UT19BUlJBWSI+SVRBOiBNZXRob2QgdXNlcyB0b0FycmF5KCkgd2l0aCB6ZXJvLWxlbmd0aCBhcnJheSBhcmd1bWVudDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NCU0NfVVNFX1NUUklOR0JVRkZFUl9DT05DQVRFTkFUSU9OIj5TQlNDOiBNZXRob2QgY29uY2F0ZW5hdGVzIHN0cmluZ3MgdXNpbmcgKyBpbiBhIGxvb3A8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTSUNfSU5ORVJfU0hPVUxEX0JFX1NUQVRJQyI+U0lDOiBTaG91bGQgYmUgYSBzdGF0aWMgaW5uZXIgY2xhc3M8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNTSUNfSU5ORVJfU0hPVUxEX0JFX1NUQVRJQ19BTk9OIj5TSUM6IENvdWxkIGJlIHJlZmFjdG9yZWQgaW50byBhIG5hbWVkIHN0YXRpYyBpbm5lciBjbGFzczwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NJQ19JTk5FUl9TSE9VTERfQkVfU1RBVElDX05FRURTX1RISVMiPlNJQzogQ291bGQgYmUgcmVmYWN0b3JlZCBpbnRvIGEgc3RhdGljIGlubmVyIGNsYXNzPC9hPjwvdGQ+PHRkPlBlcmZvcm1hbmNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU1NfU0hPVUxEX0JFX1NUQVRJQyI+U1M6IFVucmVhZCBmaWVsZDogc2hvdWxkIHRoaXMgZmllbGQgYmUgc3RhdGljPzwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1VNX1VOTkVDRVNTQVJZX01BVEgiPlVNOiBNZXRob2QgY2FsbHMgc3RhdGljIE1hdGggY2xhc3MgbWV0aG9kIG9uIGEgY29uc3RhbnQgdmFsdWU8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNVUE1fVU5DQUxMRURfUFJJVkFURV9NRVRIT0QiPlVQTTogUHJpdmF0ZSBtZXRob2QgaXMgbmV2ZXIgY2FsbGVkPC9hPjwvdGQ+PHRkPlBlcmZvcm1hbmNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVVJGX1VOUkVBRF9GSUVMRCI+VXJGOiBVbnJlYWQgZmllbGQ8L2E+PC90ZD48dGQ+UGVyZm9ybWFuY2U8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNVVUZfVU5VU0VEX0ZJRUxEIj5VdUY6IFVudXNlZCBmaWVsZDwvYT48L3RkPjx0ZD5QZXJmb3JtYW5jZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1dNSV9XUk9OR19NQVBfSVRFUkFUT1IiPldNSTogSW5lZmZpY2llbnQgdXNlIG9mIGtleVNldCBpdGVyYXRvciBpbnN0ZWFkIG9mIGVudHJ5U2V0IGl0ZXJhdG9yPC9hPjwvdGQ+PHRkPlBlcmZvcm1hbmNlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1JX0NPTlNUQU5UX0RCX1BBU1NXT1JEIj5EbTogSGFyZGNvZGVkIGNvbnN0YW50IGRhdGFiYXNlIHBhc3N3b3JkPC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRE1JX0VNUFRZX0RCX1BBU1NXT1JEIj5EbTogRW1wdHkgZGF0YWJhc2UgcGFzc3dvcmQ8L2E+PC90ZD48dGQ+U2VjdXJpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNIUlNfUkVRVUVTVF9QQVJBTUVURVJfVE9fQ09PS0lFIj5IUlM6IEhUVFAgY29va2llIGZvcm1lZCBmcm9tIHVudHJ1c3RlZCBpbnB1dDwvYT48L3RkPjx0ZD5TZWN1cml0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0hSU19SRVFVRVNUX1BBUkFNRVRFUl9UT19IVFRQX0hFQURFUiI+SFJTOiBIVFRQIFJlc3BvbnNlIHNwbGl0dGluZyB2dWxuZXJhYmlsaXR5PC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUFRfQUJTT0xVVEVfUEFUSF9UUkFWRVJTQUwiPlBUOiBBYnNvbHV0ZSBwYXRoIHRyYXZlcnNhbCBpbiBzZXJ2bGV0PC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUFRfUkVMQVRJVkVfUEFUSF9UUkFWRVJTQUwiPlBUOiBSZWxhdGl2ZSBwYXRoIHRyYXZlcnNhbCBpbiBzZXJ2bGV0PC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU1FMX05PTkNPTlNUQU5UX1NUUklOR19QQVNTRURfVE9fRVhFQ1VURSI+U1FMOiBOb25jb25zdGFudCBzdHJpbmcgcGFzc2VkIHRvIGV4ZWN1dGUgbWV0aG9kIG9uIGFuIFNRTCBzdGF0ZW1lbnQ8L2E+PC90ZD48dGQ+U2VjdXJpdHk8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTUUxfUFJFUEFSRURfU1RBVEVNRU5UX0dFTkVSQVRFRF9GUk9NX05PTkNPTlNUQU5UX1NUUklORyI+U1FMOiBBIHByZXBhcmVkIHN0YXRlbWVudCBpcyBnZW5lcmF0ZWQgZnJvbSBhIG5vbmNvbnN0YW50IFN0cmluZzwvYT48L3RkPjx0ZD5TZWN1cml0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1hTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19KU1BfV1JJVEVSIj5YU1M6IEpTUCByZWZsZWN0ZWQgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcgdnVsbmVyYWJpbGl0eTwvYT48L3RkPjx0ZD5TZWN1cml0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1hTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19TRU5EX0VSUk9SIj5YU1M6IFNlcnZsZXQgcmVmbGVjdGVkIGNyb3NzIHNpdGUgc2NyaXB0aW5nIHZ1bG5lcmFiaWxpdHkgaW4gZXJyb3IgcGFnZTwvYT48L3RkPjx0ZD5TZWN1cml0eTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1hTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19TRVJWTEVUX1dSSVRFUiI+WFNTOiBTZXJ2bGV0IHJlZmxlY3RlZCBjcm9zcyBzaXRlIHNjcmlwdGluZyB2dWxuZXJhYmlsaXR5PC9hPjwvdGQ+PHRkPlNlY3VyaXR5PC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQkNfQkFEX0NBU1RfVE9fQUJTVFJBQ1RfQ09MTEVDVElPTiI+QkM6IFF1ZXN0aW9uYWJsZSBjYXN0IHRvIGFic3RyYWN0IGNvbGxlY3Rpb24gPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNCQ19CQURfQ0FTVF9UT19DT05DUkVURV9DT0xMRUNUSU9OIj5CQzogUXVlc3Rpb25hYmxlIGNhc3QgdG8gY29uY3JldGUgY29sbGVjdGlvbjwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQkNfVU5DT05GSVJNRURfQ0FTVCI+QkM6IFVuY2hlY2tlZC91bmNvbmZpcm1lZCBjYXN0PC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNCQ19VTkNPTkZJUk1FRF9DQVNUX09GX1JFVFVSTl9WQUxVRSI+QkM6IFVuY2hlY2tlZC91bmNvbmZpcm1lZCBjYXN0IG9mIHJldHVybiB2YWx1ZSBmcm9tIG1ldGhvZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQkNfVkFDVU9VU19JTlNUQU5DRU9GIj5CQzogaW5zdGFuY2VvZiB3aWxsIGFsd2F5cyByZXR1cm4gdHJ1ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUNBU1RfUVVFU1RJT05BQkxFX1VOU0lHTkVEX1JJR0hUX1NISUZUIj5CU0hJRlQ6IFVuc2lnbmVkIHJpZ2h0IHNoaWZ0IGNhc3QgdG8gc2hvcnQvYnl0ZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjQ0lfQ09ORlVTRURfSU5IRVJJVEFOQ0UiPkNJOiBDbGFzcyBpcyBmaW5hbCBidXQgZGVjbGFyZXMgcHJvdGVjdGVkIGZpZWxkPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNEQl9EVVBMSUNBVEVfQlJBTkNIRVMiPkRCOiBNZXRob2QgdXNlcyB0aGUgc2FtZSBjb2RlIGZvciB0d28gYnJhbmNoZXM8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RCX0RVUExJQ0FURV9TV0lUQ0hfQ0xBVVNFUyI+REI6IE1ldGhvZCB1c2VzIHRoZSBzYW1lIGNvZGUgZm9yIHR3byBzd2l0Y2ggY2xhdXNlczwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRExTX0RFQURfTE9DQUxfU1RPUkUiPkRMUzogRGVhZCBzdG9yZSB0byBsb2NhbCB2YXJpYWJsZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRExTX0RFQURfTE9DQUxfU1RPUkVfSU5fUkVUVVJOIj5ETFM6IFVzZWxlc3MgYXNzaWdubWVudCBpbiByZXR1cm4gc3RhdGVtZW50PC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNETFNfREVBRF9MT0NBTF9TVE9SRV9PRl9OVUxMIj5ETFM6IERlYWQgc3RvcmUgb2YgbnVsbCB0byBsb2NhbCB2YXJpYWJsZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjRExTX0RFQURfTE9DQUxfU1RPUkVfU0hBRE9XU19GSUVMRCI+RExTOiBEZWFkIHN0b3JlIHRvIGxvY2FsIHZhcmlhYmxlIHRoYXQgc2hhZG93cyBmaWVsZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRE1JX0hBUkRDT0RFRF9BQlNPTFVURV9GSUxFTkFNRSI+RE1JOiBDb2RlIGNvbnRhaW5zIGEgaGFyZCBjb2RlZCByZWZlcmVuY2UgdG8gYW4gYWJzb2x1dGUgcGF0aG5hbWU8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9OT05TRVJJQUxJWkFCTEVfT0JKRUNUX1dSSVRURU4iPkRNSTogTm9uIHNlcmlhbGl6YWJsZSBvYmplY3Qgd3JpdHRlbiB0byBPYmplY3RPdXRwdXQ8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0RNSV9VU0VMRVNTX1NVQlNUUklORyI+RE1JOiBJbnZvY2F0aW9uIG9mIHN1YnN0cmluZygwKSwgd2hpY2ggcmV0dXJucyB0aGUgb3JpZ2luYWwgdmFsdWU8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0RNSV9USFJFQURfUEFTU0VEX1dIRVJFX1JVTk5BQkxFX0VYUEVDVEVEIj5EbTogVGhyZWFkIHBhc3NlZCB3aGVyZSBSdW5uYWJsZSBleHBlY3RlZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjRVFfRE9FU05UX09WRVJSSURFX0VRVUFMUyI+RXE6IENsYXNzIGRvZXNuJ3Qgb3ZlcnJpZGUgZXF1YWxzIGluIHN1cGVyY2xhc3M8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0VRX1VOVVNVQUwiPkVxOiBVbnVzdWFsIGVxdWFscyBtZXRob2QgPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNGRV9GTE9BVElOR19QT0lOVF9FUVVBTElUWSI+RkU6IFRlc3QgZm9yIGZsb2F0aW5nIHBvaW50IGVxdWFsaXR5PC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNWQV9GT1JNQVRfU1RSSU5HX0JBRF9DT05WRVJTSU9OX1RPX0JPT0xFQU4iPkZTOiBOb24tQm9vbGVhbiBhcmd1bWVudCBmb3JtYXR0ZWQgdXNpbmcgJWIgZm9ybWF0IHNwZWNpZmllcjwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjSUFfQU1CSUdVT1VTX0lOVk9DQVRJT05fT0ZfSU5IRVJJVEVEX09SX09VVEVSX01FVEhPRCI+SUE6IFBvdGVudGlhbGx5IGFtYmlndW91cyBpbnZvY2F0aW9uIG9mIGVpdGhlciBhbiBpbmhlcml0ZWQgb3Igb3V0ZXIgbWV0aG9kPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJQ19JTklUX0NJUkNVTEFSSVRZIj5JQzogSW5pdGlhbGl6YXRpb24gY2lyY3VsYXJpdHk8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lDQVNUX0lESVZfQ0FTVF9UT19ET1VCTEUiPklDQVNUOiBJbnRlZ3JhbCBkaXZpc2lvbiByZXN1bHQgY2FzdCB0byBkb3VibGUgb3IgZmxvYXQ8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI0lDQVNUX0lOVEVHRVJfTVVMVElQTFlfQ0FTVF9UT19MT05HIj5JQ0FTVDogUmVzdWx0IG9mIGludGVnZXIgbXVsdGlwbGljYXRpb24gY2FzdCB0byBsb25nPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNJTV9BVkVSQUdFX0NPTVBVVEFUSU9OX0NPVUxEX09WRVJGTE9XIj5JTTogQ29tcHV0YXRpb24gb2YgYXZlcmFnZSBjb3VsZCBvdmVyZmxvdzwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjSU1fQkFEX0NIRUNLX0ZPUl9PREQiPklNOiBDaGVjayBmb3Igb2RkbmVzcyB0aGF0IHdvbid0IHdvcmsgZm9yIG5lZ2F0aXZlIG51bWJlcnMgPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNJTlRfQkFEX1JFTV9CWV8xIj5JTlQ6IEludGVnZXIgcmVtYWluZGVyIG1vZHVsbyAxPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNJTlRfVkFDVU9VU19CSVRfT1BFUkFUSU9OIj5JTlQ6IFZhY3VvdXMgYml0IG1hc2sgb3BlcmF0aW9uIG9uIGludGVnZXIgdmFsdWU8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI0lOVF9WQUNVT1VTX0NPTVBBUklTT04iPklOVDogVmFjdW91cyBjb21wYXJpc29uIG9mIGludGVnZXIgdmFsdWU8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI01USUFfU1VTUEVDVF9TRVJWTEVUX0lOU1RBTkNFX0ZJRUxEIj5NVElBOiBDbGFzcyBleHRlbmRzIFNlcnZsZXQgY2xhc3MgYW5kIHVzZXMgaW5zdGFuY2UgdmFyaWFibGVzPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNNVElBX1NVU1BFQ1RfU1RSVVRTX0lOU1RBTkNFX0ZJRUxEIj5NVElBOiBDbGFzcyBleHRlbmRzIFN0cnV0cyBBY3Rpb24gY2xhc3MgYW5kIHVzZXMgaW5zdGFuY2UgdmFyaWFibGVzPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9ERVJFRkVSRU5DRV9PRl9SRUFETElORV9WQUxVRSI+TlA6IERlcmVmZXJlbmNlIG9mIHRoZSByZXN1bHQgb2YgcmVhZExpbmUoKSB3aXRob3V0IG51bGxjaGVjazwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTlBfSU1NRURJQVRFX0RFUkVGRVJFTkNFX09GX1JFQURMSU5FIj5OUDogSW1tZWRpYXRlIGRlcmVmZXJlbmNlIG9mIHRoZSByZXN1bHQgb2YgcmVhZExpbmUoKTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjTlBfTE9BRF9PRl9LTk9XTl9OVUxMX1ZBTFVFIj5OUDogTG9hZCBvZiBrbm93biBudWxsIHZhbHVlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9NRVRIT0RfUEFSQU1FVEVSX1RJR0hURU5TX0FOTk9UQVRJT04iPk5QOiBNZXRob2QgdGlnaHRlbnMgbnVsbG5lc3MgYW5ub3RhdGlvbiBvbiBwYXJhbWV0ZXI8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX01FVEhPRF9SRVRVUk5fUkVMQVhJTkdfQU5OT1RBVElPTiI+TlA6IE1ldGhvZCByZWxheGVzIG51bGxuZXNzIGFubm90YXRpb24gb24gcmV0dXJuIHZhbHVlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNOUF9OVUxMX09OX1NPTUVfUEFUSF9GUk9NX1JFVFVSTl9WQUxVRSI+TlA6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBkdWUgdG8gcmV0dXJuIHZhbHVlIG9mIGNhbGxlZCBtZXRob2Q8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05QX05VTExfT05fU09NRV9QQVRIX01JR0hUX0JFX0lORkVBU0lCTEUiPk5QOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb24gYnJhbmNoIHRoYXQgbWlnaHQgYmUgaW5mZWFzaWJsZTwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjTlBfUEFSQU1FVEVSX01VU1RfQkVfTk9OTlVMTF9CVVRfTUFSS0VEX0FTX05VTExBQkxFIj5OUDogUGFyYW1ldGVyIG11c3QgYmUgbm9ubnVsbCBidXQgaXMgbWFya2VkIGFzIG51bGxhYmxlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNOUF9VTldSSVRURU5fUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCI+TlA6IFJlYWQgb2YgdW53cml0dGVuIHB1YmxpYyBvciBwcm90ZWN0ZWQgZmllbGQ8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI05TX0RBTkdFUk9VU19OT05fU0hPUlRfQ0lSQ1VJVCI+TlM6IFBvdGVudGlhbGx5IGRhbmdlcm91cyB1c2Ugb2Ygbm9uLXNob3J0LWNpcmN1aXQgbG9naWM8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI05TX05PTl9TSE9SVF9DSVJDVUlUIj5OUzogUXVlc3Rpb25hYmxlIHVzZSBvZiBub24tc2hvcnQtY2lyY3VpdCBsb2dpYzwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUFpMQV9QUkVGRVJfWkVST19MRU5HVEhfQVJSQVlTIj5QWkxBOiBDb25zaWRlciByZXR1cm5pbmcgYSB6ZXJvIGxlbmd0aCBhcnJheSByYXRoZXIgdGhhbiBudWxsPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNRRl9RVUVTVElPTkFCTEVfRk9SX0xPT1AiPlFGOiBDb21wbGljYXRlZCwgc3VidGxlIG9yIHdyb25nIGluY3JlbWVudCBpbiBmb3ItbG9vcCA8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1JDTl9SRURVTkRBTlRfQ09NUEFSSVNPTl9PRl9OVUxMX0FORF9OT05OVUxMX1ZBTFVFIj5SQ046IFJlZHVuZGFudCBjb21wYXJpc29uIG9mIG5vbi1udWxsIHZhbHVlIHRvIG51bGw8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JDTl9SRURVTkRBTlRfQ09NUEFSSVNPTl9UV09fTlVMTF9WQUxVRVMiPlJDTjogUmVkdW5kYW50IGNvbXBhcmlzb24gb2YgdHdvIG51bGwgdmFsdWVzPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSQ05fUkVEVU5EQU5UX05VTExDSEVDS19PRl9OT05OVUxMX1ZBTFVFIj5SQ046IFJlZHVuZGFudCBudWxsY2hlY2sgb2YgdmFsdWUga25vd24gdG8gYmUgbm9uLW51bGw8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1JDTl9SRURVTkRBTlRfTlVMTENIRUNLX09GX05VTExfVkFMVUUiPlJDTjogUmVkdW5kYW50IG51bGxjaGVjayBvZiB2YWx1ZSBrbm93biB0byBiZSBudWxsPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSRUNfQ0FUQ0hfRVhDRVBUSU9OIj5SRUM6IEV4Y2VwdGlvbiBpcyBjYXVnaHQgd2hlbiBFeGNlcHRpb24gaXMgbm90IHRocm93bjwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjUklfUkVEVU5EQU5UX0lOVEVSRkFDRVMiPlJJOiBDbGFzcyBpbXBsZW1lbnRzIHNhbWUgaW50ZXJmYWNlIGFzIHN1cGVyY2xhc3M8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1JWX0NIRUNLX0ZPUl9QT1NJVElWRV9JTkRFWE9GIj5SVjogTWV0aG9kIGNoZWNrcyB0byBzZWUgaWYgcmVzdWx0IG9mIFN0cmluZy5pbmRleE9mIGlzIHBvc2l0aXZlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSVl9ET05UX0pVU1RfTlVMTF9DSEVDS19SRUFETElORSI+UlY6IE1ldGhvZCBkaXNjYXJkcyByZXN1bHQgb2YgcmVhZExpbmUgYWZ0ZXIgY2hlY2tpbmcgaWYgaXQgaXMgbm9ubnVsbDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjUlZfUkVNX09GX0hBU0hDT0RFIj5SVjogUmVtYWluZGVyIG9mIGhhc2hDb2RlIGNvdWxkIGJlIG5lZ2F0aXZlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNSVl9SRU1fT0ZfUkFORE9NX0lOVCI+UlY6IFJlbWFpbmRlciBvZiAzMi1iaXQgc2lnbmVkIHJhbmRvbSBpbnRlZ2VyPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNSVl9SRVRVUk5fVkFMVUVfSUdOT1JFRF9JTkZFUlJFRCI+UlY6IE1ldGhvZCBpZ25vcmVzIHJldHVybiB2YWx1ZSwgaXMgdGhpcyBPSz88L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZmZmZmZmIj48dGQ+PGEgaHJlZj0iI1NBX0ZJRUxEX0RPVUJMRV9BU1NJR05NRU5UIj5TQTogRG91YmxlIGFzc2lnbm1lbnQgb2YgZmllbGQ8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NBX0xPQ0FMX0RPVUJMRV9BU1NJR05NRU5UIj5TQTogRG91YmxlIGFzc2lnbm1lbnQgb2YgbG9jYWwgdmFyaWFibGUgPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTQV9MT0NBTF9TRUxGX0FTU0lHTk1FTlQiPlNBOiBTZWxmIGFzc2lnbm1lbnQgb2YgbG9jYWwgdmFyaWFibGU8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NGX1NXSVRDSF9GQUxMVEhST1VHSCI+U0Y6IFN3aXRjaCBzdGF0ZW1lbnQgZm91bmQgd2hlcmUgb25lIGNhc2UgZmFsbHMgdGhyb3VnaCB0byB0aGUgbmV4dCBjYXNlPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNTRl9TV0lUQ0hfTk9fREVGQVVMVCI+U0Y6IFN3aXRjaCBzdGF0ZW1lbnQgZm91bmQgd2hlcmUgZGVmYXVsdCBjYXNlIGlzIG1pc3Npbmc8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1NUX1dSSVRFX1RPX1NUQVRJQ19GUk9NX0lOU1RBTkNFX01FVEhPRCI+U1Q6IFdyaXRlIHRvIHN0YXRpYyBmaWVsZCBmcm9tIGluc3RhbmNlIG1ldGhvZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjU0VfUFJJVkFURV9SRUFEX1JFU09MVkVfTk9UX0lOSEVSSVRFRCI+U2U6IFByaXZhdGUgcmVhZFJlc29sdmUgbWV0aG9kIG5vdCBpbmhlcml0ZWQgYnkgc3ViY2xhc3NlczwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNlZWVlZWUiPjx0ZD48YSBocmVmPSIjU0VfVFJBTlNJRU5UX0ZJRUxEX09GX05PTlNFUklBTElaQUJMRV9DTEFTUyI+U2U6IFRyYW5zaWVudCBmaWVsZCBvZiBjbGFzcyB0aGF0IGlzbid0IFNlcmlhbGl6YWJsZS4gPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNUUV9FWFBMSUNJVF9VTktOT1dOX1NPVVJDRV9WQUxVRV9SRUFDSEVTX0FMV0FZU19TSU5LIj5UUTogVmFsdWUgcmVxdWlyZWQgdG8gaGF2ZSB0eXBlIHF1YWxpZmllciwgYnV0IG1hcmtlZCBhcyB1bmtub3duPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2VlZWVlZSI+PHRkPjxhIGhyZWY9IiNUUV9FWFBMSUNJVF9VTktOT1dOX1NPVVJDRV9WQUxVRV9SRUFDSEVTX05FVkVSX1NJTksiPlRROiBWYWx1ZSByZXF1aXJlZCB0byBub3QgaGF2ZSB0eXBlIHF1YWxpZmllciwgYnV0IG1hcmtlZCBhcyB1bmtub3duPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVQ0ZfVVNFTEVTU19DT05UUk9MX0ZMT1ciPlVDRjogVXNlbGVzcyBjb250cm9sIGZsb3c8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1VDRl9VU0VMRVNTX0NPTlRST0xfRkxPV19ORVhUX0xJTkUiPlVDRjogVXNlbGVzcyBjb250cm9sIGZsb3cgdG8gbmV4dCBsaW5lPC9hPjwvdGQ+PHRkPkRvZGd5IGNvZGU8L3RkPjwvdHI+Ci08dHIgYmdjb2xvcj0iI2ZmZmZmZiI+PHRkPjxhIGhyZWY9IiNVUkZfVU5SRUFEX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQiPlVyRjogVW5yZWFkIHB1YmxpYy9wcm90ZWN0ZWQgZmllbGQ8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1VVRl9VTlVTRURfUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCI+VXVGOiBVbnVzZWQgcHVibGljIG9yIHByb3RlY3RlZCBmaWVsZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjVVdGX0ZJRUxEX05PVF9JTklUSUFMSVpFRF9JTl9DT05TVFJVQ1RPUiI+VXdGOiBGaWVsZCBub3QgaW5pdGlhbGl6ZWQgaW4gY29uc3RydWN0b3IgYnV0IGRlcmVmZXJlbmNlZCB3aXRob3V0IG51bGwgY2hlY2s8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTx0ciBiZ2NvbG9yPSIjZWVlZWVlIj48dGQ+PGEgaHJlZj0iI1VXRl9VTldSSVRURU5fUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCI+VXdGOiBVbndyaXR0ZW4gcHVibGljIG9yIHByb3RlY3RlZCBmaWVsZDwvYT48L3RkPjx0ZD5Eb2RneSBjb2RlPC90ZD48L3RyPgotPHRyIGJnY29sb3I9IiNmZmZmZmYiPjx0ZD48YSBocmVmPSIjWEZCX1hNTF9GQUNUT1JZX0JZUEFTUyI+WEZCOiBNZXRob2QgZGlyZWN0bHkgYWxsb2NhdGVzIGEgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgeG1sIGludGVyZmFjZXM8L2E+PC90ZD48dGQ+RG9kZ3kgY29kZTwvdGQ+PC90cj4KLTwvdGFibGU+Ci08aDI+RGVzY3JpcHRpb25zPC9oMj4KLTxoMz48YSBuYW1lPSJCQ19FUVVBTFNfTUVUSE9EX1NIT1VMRF9XT1JLX0ZPUl9BTExfT0JKRUNUUyI+QkM6IEVxdWFscyBtZXRob2Qgc2hvdWxkIG5vdCBhc3N1bWUgYW55dGhpbmcgYWJvdXQgdGhlIHR5cGUgb2YgaXRzIGFyZ3VtZW50IChCQ19FUVVBTFNfTUVUSE9EX1NIT1VMRF9XT1JLX0ZPUl9BTExfT0JKRUNUUyk8L2E+PC9oMz4KLQotCi08cD4KLVRoZSA8Y29kZT5lcXVhbHMoT2JqZWN0IG8pPC9jb2RlPiBtZXRob2Qgc2hvdWxkbid0IG1ha2UgYW55IGFzc3VtcHRpb25zCi1hYm91dCB0aGUgdHlwZSBvZiA8Y29kZT5vPC9jb2RlPi4gSXQgc2hvdWxkIHNpbXBseSByZXR1cm4KLWZhbHNlIGlmIDxjb2RlPm88L2NvZGU+IGlzIG5vdCB0aGUgc2FtZSB0eXBlIGFzIDxjb2RlPnRoaXM8L2NvZGU+LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQklUX1NJR05FRF9DSEVDSyI+QklUOiBDaGVjayBmb3Igc2lnbiBvZiBiaXR3aXNlIG9wZXJhdGlvbiAoQklUX1NJR05FRF9DSEVDSyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29tcGFyZXMgYW4gZXhwcmVzc2lvbiBzdWNoIGFzPC9wPgotPHByZT4oKGV2ZW50LmRldGFpbCAmYW1wOyBTV1QuU0VMRUNURUQpICZndDsgMCk8L3ByZT4uCi08cD5Vc2luZyBiaXQgYXJpdGhtZXRpYyBhbmQgdGhlbiBjb21wYXJpbmcgd2l0aCB0aGUgZ3JlYXRlciB0aGFuIG9wZXJhdG9yIGNhbgotbGVhZCB0byB1bmV4cGVjdGVkIHJlc3VsdHMgKG9mIGNvdXJzZSBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mCi1TV1QuU0VMRUNURUQpLiBJZiBTV1QuU0VMRUNURUQgaXMgYSBuZWdhdGl2ZSBudW1iZXIsIHRoaXMgaXMgYSBjYW5kaWRhdGUKLWZvciBhIGJ1Zy4gRXZlbiB3aGVuIFNXVC5TRUxFQ1RFRCBpcyBub3QgbmVnYXRpdmUsIGl0IHNlZW1zIGdvb2QgcHJhY3RpY2UKLXRvIHVzZSAnIT0gMCcgaW5zdGVhZCBvZiAnJmd0OyAwJy4KLTwvcD4KLTxwPgotPGVtPkJvcmlzIEJva293c2tpPC9lbT4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkNOX0lESU9NIj5DTjogQ2xhc3MgaW1wbGVtZW50cyBDbG9uZWFibGUgYnV0IGRvZXMgbm90IGRlZmluZSBvciB1c2UgY2xvbmUgbWV0aG9kIChDTl9JRElPTSk8L2E+PC9oMz4KLQotCi08cD4KLSAgIENsYXNzIGltcGxlbWVudHMgQ2xvbmVhYmxlIGJ1dCBkb2VzIG5vdCBkZWZpbmUgb3IKLSAgIHVzZSB0aGUgY2xvbmUgbWV0aG9kLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkNOX0lESU9NX05PX1NVUEVSX0NBTEwiPkNOOiBjbG9uZSBtZXRob2QgZG9lcyBub3QgY2FsbCBzdXBlci5jbG9uZSgpIChDTl9JRElPTV9OT19TVVBFUl9DQUxMKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG5vbi1maW5hbCBjbGFzcyBkZWZpbmVzIGEgY2xvbmUoKSBtZXRob2QgdGhhdCBkb2VzIG5vdCBjYWxsIHN1cGVyLmNsb25lKCkuCi1JZiB0aGlzIGNsYXNzICgiPGk+QTwvaT4iKSBpcyBleHRlbmRlZCBieSBhIHN1YmNsYXNzICgiPGk+QjwvaT4iKSwKLWFuZCB0aGUgc3ViY2xhc3MgPGk+QjwvaT4gY2FsbHMgc3VwZXIuY2xvbmUoKSwgdGhlbiBpdCBpcyBsaWtlbHkgdGhhdAotPGk+QjwvaT4ncyBjbG9uZSgpIG1ldGhvZCB3aWxsIHJldHVybiBhbiBvYmplY3Qgb2YgdHlwZSA8aT5BPC9pPiwKLXdoaWNoIHZpb2xhdGVzIHRoZSBzdGFuZGFyZCBjb250cmFjdCBmb3IgY2xvbmUoKS48L3A+Ci0KLTxwPiBJZiBhbGwgY2xvbmUoKSBtZXRob2RzIGNhbGwgc3VwZXIuY2xvbmUoKSwgdGhlbiB0aGV5IGFyZSBndWFyYW50ZWVkCi10byB1c2UgT2JqZWN0LmNsb25lKCksIHdoaWNoIGFsd2F5cyByZXR1cm5zIGFuIG9iamVjdCBvZiB0aGUgY29ycmVjdCB0eXBlLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkNOX0lNUExFTUVOVFNfQ0xPTkVfQlVUX05PVF9DTE9ORUFCTEUiPkNOOiBDbGFzcyBkZWZpbmVzIGNsb25lKCkgYnV0IGRvZXNuJ3QgaW1wbGVtZW50IENsb25lYWJsZSAoQ05fSU1QTEVNRU5UU19DTE9ORV9CVVRfTk9UX0NMT05FQUJMRSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgY2xvbmUoKSBtZXRob2QgYnV0IHRoZSBjbGFzcyBkb2Vzbid0IGltcGxlbWVudCBDbG9uZWFibGUuCi1UaGVyZSBhcmUgc29tZSBzaXR1YXRpb25zIGluIHdoaWNoIHRoaXMgaXMgT0sgKGUuZy4sIHlvdSB3YW50IHRvIGNvbnRyb2wgaG93IHN1YmNsYXNzZXMKLWNhbiBjbG9uZSB0aGVtc2VsdmVzKSwgYnV0IGp1c3QgbWFrZSBzdXJlIHRoYXQgdGhpcyBpcyB3aGF0IHlvdSBpbnRlbmRlZC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkNPX0FCU1RSQUNUX1NFTEYiPkNvOiBBYnN0cmFjdCBjbGFzcyBkZWZpbmVzIGNvdmFyaWFudCBjb21wYXJlVG8oKSBtZXRob2QgKENPX0FCU1RSQUNUX1NFTEYpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgY292YXJpYW50IHZlcnNpb24gb2YgPGNvZGU+Y29tcGFyZVRvKCk8L2NvZGU+LiZuYnNwOwotICBUbyBjb3JyZWN0bHkgb3ZlcnJpZGUgdGhlIDxjb2RlPmNvbXBhcmVUbygpPC9jb2RlPiBtZXRob2QgaW4gdGhlCi0gIDxjb2RlPkNvbXBhcmFibGU8L2NvZGU+IGludGVyZmFjZSwgdGhlIHBhcmFtZXRlciBvZiA8Y29kZT5jb21wYXJlVG8oKTwvY29kZT4KLSAgbXVzdCBoYXZlIHR5cGUgPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQ09fU0VMRl9OT19PQkpFQ1QiPkNvOiBDb3ZhcmlhbnQgY29tcGFyZVRvKCkgbWV0aG9kIGRlZmluZWQgKENPX1NFTEZfTk9fT0JKRUNUKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIGNvdmFyaWFudCB2ZXJzaW9uIG9mIDxjb2RlPmNvbXBhcmVUbygpPC9jb2RlPi4mbmJzcDsKLSAgVG8gY29ycmVjdGx5IG92ZXJyaWRlIHRoZSA8Y29kZT5jb21wYXJlVG8oKTwvY29kZT4gbWV0aG9kIGluIHRoZQotICA8Y29kZT5Db21wYXJhYmxlPC9jb2RlPiBpbnRlcmZhY2UsIHRoZSBwYXJhbWV0ZXIgb2YgPGNvZGU+Y29tcGFyZVRvKCk8L2NvZGU+Ci0gIG11c3QgaGF2ZSB0eXBlIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRFX01JR0hUX0RST1AiPkRFOiBNZXRob2QgbWlnaHQgZHJvcCBleGNlcHRpb24gKERFX01JR0hUX0RST1ApPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2QgbWlnaHQgZHJvcCBhbiBleGNlcHRpb24uJm5ic3A7IEluIGdlbmVyYWwsIGV4Y2VwdGlvbnMKLSAgc2hvdWxkIGJlIGhhbmRsZWQgb3IgcmVwb3J0ZWQgaW4gc29tZSB3YXksIG9yIHRoZXkgc2hvdWxkIGJlIHRocm93bgotICBvdXQgb2YgdGhlIG1ldGhvZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJERV9NSUdIVF9JR05PUkUiPkRFOiBNZXRob2QgbWlnaHQgaWdub3JlIGV4Y2VwdGlvbiAoREVfTUlHSFRfSUdOT1JFKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIG1pZ2h0IGlnbm9yZSBhbiBleGNlcHRpb24uJm5ic3A7IEluIGdlbmVyYWwsIGV4Y2VwdGlvbnMKLSAgc2hvdWxkIGJlIGhhbmRsZWQgb3IgcmVwb3J0ZWQgaW4gc29tZSB3YXksIG9yIHRoZXkgc2hvdWxkIGJlIHRocm93bgotICBvdXQgb2YgdGhlIG1ldGhvZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfRU5UUllfU0VUU19NQVlfUkVVU0VfRU5UUllfT0JKRUNUUyI+RE1JOiBBZGRpbmcgZWxlbWVudHMgb2YgYW4gZW50cnkgc2V0IG1heSBmYWlsIGR1ZSB0byByZXVzZSBvZiBFbnRyeSBvYmplY3RzIChETUlfRU5UUllfU0VUU19NQVlfUkVVU0VfRU5UUllfT0JKRUNUUyk8L2E+PC9oMz4KLQotICAgICAKLSAgICAgPHA+IFRoZSBlbnRyeVNldCgpIG1ldGhvZCBpcyBhbGxvd2VkIHRvIHJldHVybiBhIHZpZXcgb2YgdGhlCi0gICAgIHVuZGVybHlpbmcgTWFwIGluIHdoaWNoIGEgc2luZ2xlIEVudHJ5IG9iamVjdCBpcyByZXVzZWQgYW5kIHJldHVybmVkCi0gICAgIGR1cmluZyB0aGUgaXRlcmF0aW9uLiAgQXMgb2YgSmF2YSAxLjYsIGJvdGggSWRlbnRpdHlIYXNoTWFwCi0gICAgIGFuZCBFbnVtTWFwIGRpZCBzby4gV2hlbiBpdGVyYXRpbmcgdGhyb3VnaCBzdWNoIGEgTWFwLAotICAgICB0aGUgRW50cnkgdmFsdWUgaXMgb25seSB2YWxpZCB1bnRpbCB5b3UgYWR2YW5jZSB0byB0aGUgbmV4dCBpdGVyYXRpb24uCi0gICAgIElmLCBmb3IgZXhhbXBsZSwgeW91IHRyeSB0byBwYXNzIHN1Y2ggYW4gZW50cnlTZXQgdG8gYW4gYWRkQWxsIG1ldGhvZCwKLSAgICAgdGhpbmdzIHdpbGwgZ28gYmFkbHkgd3JvbmcuCi0gICAgPC9wPgotICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJETUlfUkFORE9NX1VTRURfT05MWV9PTkNFIj5ETUk6IFJhbmRvbSBvYmplY3QgY3JlYXRlZCBhbmQgdXNlZCBvbmx5IG9uY2UgKERNSV9SQU5ET01fVVNFRF9PTkxZX09OQ0UpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgY29kZSBjcmVhdGVzIGEgamF2YS51dGlsLlJhbmRvbSBvYmplY3QsIHVzZXMgaXQgdG8gZ2VuZXJhdGUgb25lIHJhbmRvbSBudW1iZXIsIGFuZCB0aGVuIGRpc2NhcmRzCi10aGUgUmFuZG9tIG9iamVjdC4gVGhpcyBwcm9kdWNlcyBtZWRpb2NyZSBxdWFsaXR5IHJhbmRvbSBudW1iZXJzIGFuZCBpcyBpbmVmZmljaWVudC4KLUlmIHBvc3NpYmxlLCByZXdyaXRlIHRoZSBjb2RlIHNvIHRoYXQgdGhlIFJhbmRvbSBvYmplY3QgaXMgY3JlYXRlZCBvbmNlIGFuZCBzYXZlZCwgYW5kIGVhY2ggdGltZSBhIG5ldyByYW5kb20gbnVtYmVyCi1pcyByZXF1aXJlZCBpbnZva2UgYSBtZXRob2Qgb24gdGhlIGV4aXN0aW5nIFJhbmRvbSBvYmplY3QgdG8gb2J0YWluIGl0LgotPC9wPgotCi08cD5JZiBpdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUgZ2VuZXJhdGVkIFJhbmRvbSBudW1iZXJzIG5vdCBiZSBndWVzc2FibGUsIHlvdSA8ZW0+bXVzdDwvZW0+IG5vdCBjcmVhdGUgYSBuZXcgUmFuZG9tIGZvciBlYWNoIHJhbmRvbQotbnVtYmVyOyB0aGUgdmFsdWVzIGFyZSB0b28gZWFzaWx5IGd1ZXNzYWJsZS4gWW91IHNob3VsZCBzdHJvbmdseSBjb25zaWRlciB1c2luZyBhIGphdmEuc2VjdXJpdHkuU2VjdXJlUmFuZG9tIGluc3RlYWQKLShhbmQgYXZvaWQgYWxsb2NhdGluZyBhIG5ldyBTZWN1cmVSYW5kb20gZm9yIGVhY2ggcmFuZG9tIG51bWJlciBuZWVkZWQpLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX1VTSU5HX1JFTU9WRUFMTF9UT19DTEVBUl9DT0xMRUNUSU9OIj5ETUk6IERvbid0IHVzZSByZW1vdmVBbGwgdG8gY2xlYXIgYSBjb2xsZWN0aW9uIChETUlfVVNJTkdfUkVNT1ZFQUxMX1RPX0NMRUFSX0NPTExFQ1RJT04pPC9hPjwvaDM+Ci0KLSAgICAgCi0gICAgIDxwPiBJZiB5b3Ugd2FudCB0byByZW1vdmUgYWxsIGVsZW1lbnRzIGZyb20gYSBjb2xsZWN0aW9uIDxjb2RlPmM8L2NvZGU+LCB1c2UgPGNvZGU+Yy5jbGVhcjwvY29kZT4sCi1ub3QgPGNvZGU+Yy5yZW1vdmVBbGwoYyk8L2NvZGU+LiBDYWxsaW5nICA8Y29kZT5jLnJlbW92ZUFsbChjKTwvY29kZT4gdG8gY2xlYXIgYSBjb2xsZWN0aW9uCi1pcyBsZXNzIGNsZWFyLCBzdXNjZXB0aWJsZSB0byBlcnJvcnMgZnJvbSB0eXBvcywgbGVzcyBlZmZpY2llbnQgYW5kCi1mb3Igc29tZSBjb2xsZWN0aW9ucywgbWlnaHQgdGhyb3cgYSA8Y29kZT5Db25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uPC9jb2RlPi4KLSAgICA8L3A+Ci0gICAgIAotICAgIAotPGgzPjxhIG5hbWU9IkRNX0VYSVQiPkRtOiBNZXRob2QgaW52b2tlcyBTeXN0ZW0uZXhpdCguLi4pIChETV9FWElUKTwvYT48L2gzPgotCi0KLSAgPHA+IEludm9raW5nIFN5c3RlbS5leGl0IHNodXRzIGRvd24gdGhlIGVudGlyZSBKYXZhIHZpcnR1YWwgbWFjaGluZS4gVGhpcwotICAgc2hvdWxkIG9ubHkgYmVlbiBkb25lIHdoZW4gaXQgaXMgYXBwcm9wcmlhdGUuIFN1Y2ggY2FsbHMgbWFrZSBpdAotICAgaGFyZCBvciBpbXBvc3NpYmxlIGZvciB5b3VyIGNvZGUgdG8gYmUgaW52b2tlZCBieSBvdGhlciBjb2RlLgotICAgQ29uc2lkZXIgdGhyb3dpbmcgYSBSdW50aW1lRXhjZXB0aW9uIGluc3RlYWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fUlVOX0ZJTkFMSVpFUlNfT05fRVhJVCI+RG06IE1ldGhvZCBpbnZva2VzIGRhbmdlcm91cyBtZXRob2QgcnVuRmluYWxpemVyc09uRXhpdCAoRE1fUlVOX0ZJTkFMSVpFUlNfT05fRVhJVCk8L2E+PC9oMz4KLQotCi0gIDxwPiA8ZW0+TmV2ZXIgY2FsbCBTeXN0ZW0ucnVuRmluYWxpemVyc09uRXhpdAotb3IgUnVudGltZS5ydW5GaW5hbGl6ZXJzT25FeGl0IGZvciBhbnkgcmVhc29uOiB0aGV5IGFyZSBhbW9uZyB0aGUgbW9zdAotZGFuZ2Vyb3VzIG1ldGhvZHMgaW4gdGhlIEphdmEgbGlicmFyaWVzLjwvZW0+IC0tIEpvc2h1YSBCbG9jaDwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVTX0NPTVBBUklOR19QQVJBTUVURVJfU1RSSU5HX1dJVEhfRVEiPkVTOiBDb21wYXJpc29uIG9mIFN0cmluZyBwYXJhbWV0ZXIgdXNpbmcgPT0gb3IgIT0gKEVTX0NPTVBBUklOR19QQVJBTUVURVJfU1RSSU5HX1dJVEhfRVEpPC9hPjwvaDM+Ci0KLQotICA8cD5UaGlzIGNvZGUgY29tcGFyZXMgYSA8Y29kZT5qYXZhLmxhbmcuU3RyaW5nPC9jb2RlPiBwYXJhbWV0ZXIgZm9yIHJlZmVyZW5jZQotZXF1YWxpdHkgdXNpbmcgdGhlID09IG9yICE9IG9wZXJhdG9ycy4gUmVxdWlyaW5nIGNhbGxlcnMgdG8KLXBhc3Mgb25seSBTdHJpbmcgY29uc3RhbnRzIG9yIGludGVybmVkIHN0cmluZ3MgdG8gYSBtZXRob2QgaXMgdW5uZWNlc3NhcmlseQotZnJhZ2lsZSwgYW5kIHJhcmVseSBsZWFkcyB0byBtZWFzdXJhYmxlIHBlcmZvcm1hbmNlIGdhaW5zLiBDb25zaWRlcgotdXNpbmcgdGhlIDxjb2RlPmVxdWFscyhPYmplY3QpPC9jb2RlPiBtZXRob2QgaW5zdGVhZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFU19DT01QQVJJTkdfU1RSSU5HU19XSVRIX0VRIj5FUzogQ29tcGFyaXNvbiBvZiBTdHJpbmcgb2JqZWN0cyB1c2luZyA9PSBvciAhPSAoRVNfQ09NUEFSSU5HX1NUUklOR1NfV0lUSF9FUSk8L2E+PC9oMz4KLQotCi0gIDxwPlRoaXMgY29kZSBjb21wYXJlcyA8Y29kZT5qYXZhLmxhbmcuU3RyaW5nPC9jb2RlPiBvYmplY3RzIGZvciByZWZlcmVuY2UKLWVxdWFsaXR5IHVzaW5nIHRoZSA9PSBvciAhPSBvcGVyYXRvcnMuCi1Vbmxlc3MgYm90aCBzdHJpbmdzIGFyZSBlaXRoZXIgY29uc3RhbnRzIGluIGEgc291cmNlIGZpbGUsIG9yIGhhdmUgYmVlbgotaW50ZXJuZWQgdXNpbmcgdGhlIDxjb2RlPlN0cmluZy5pbnRlcm4oKTwvY29kZT4gbWV0aG9kLCB0aGUgc2FtZSBzdHJpbmcKLXZhbHVlIG1heSBiZSByZXByZXNlbnRlZCBieSB0d28gZGlmZmVyZW50IFN0cmluZyBvYmplY3RzLiBDb25zaWRlcgotdXNpbmcgdGhlIDxjb2RlPmVxdWFscyhPYmplY3QpPC9jb2RlPiBtZXRob2QgaW5zdGVhZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9BQlNUUkFDVF9TRUxGIj5FcTogQWJzdHJhY3QgY2xhc3MgZGVmaW5lcyBjb3ZhcmlhbnQgZXF1YWxzKCkgbWV0aG9kIChFUV9BQlNUUkFDVF9TRUxGKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIGNvdmFyaWFudCB2ZXJzaW9uIG9mIDxjb2RlPmVxdWFscygpPC9jb2RlPi4mbmJzcDsKLSAgVG8gY29ycmVjdGx5IG92ZXJyaWRlIHRoZSA8Y29kZT5lcXVhbHMoKTwvY29kZT4gbWV0aG9kIGluCi0gIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+LCB0aGUgcGFyYW1ldGVyIG9mIDxjb2RlPmVxdWFscygpPC9jb2RlPgotICBtdXN0IGhhdmUgdHlwZSA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPi48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9DSEVDS19GT1JfT1BFUkFORF9OT1RfQ09NUEFUSUJMRV9XSVRIX1RISVMiPkVxOiBFcXVhbHMgY2hlY2tzIGZvciBpbmNvbXBhdGlibGUgb3BlcmFuZCAoRVFfQ0hFQ0tfRk9SX09QRVJBTkRfTk9UX0NPTVBBVElCTEVfV0lUSF9USElTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgZXF1YWxzIG1ldGhvZCBpcyBjaGVja2luZyB0byBzZWUgaWYgdGhlIGFyZ3VtZW50IGlzIHNvbWUgaW5jb21wYXRpYmxlIHR5cGUKLShpLmUuLCBhIGNsYXNzIHRoYXQgaXMgbmVpdGhlciBhIHN1cGVydHlwZSBub3Igc3VidHlwZSBvZiB0aGUgY2xhc3MgdGhhdCBkZWZpbmVzCi10aGUgZXF1YWxzIG1ldGhvZCkuIEZvciBleGFtcGxlLCB0aGUgRm9vIGNsYXNzIG1pZ2h0IGhhdmUgYW4gZXF1YWxzIG1ldGhvZAotdGhhdCBsb29rcyBsaWtlOgotPC9wPgotPHByZT4KLXB1YmxpYyBib29sZWFuIGVxdWFscyhPYmplY3QgbykgewotICBpZiAobyBpbnN0YW5jZW9mIEZvbykKLSAgICByZXR1cm4gbmFtZS5lcXVhbHMoKChGb28pbykubmFtZSk7Ci0gIGVsc2UgaWYgKG8gaW5zdGFuY2VvZiBTdHJpbmcpCi0gICAgcmV0dXJuIG5hbWUuZXF1YWxzKG8pOwotICBlbHNlIHJldHVybiBmYWxzZTsKLTwvcHJlPgotCi08cD5UaGlzIGlzIGNvbnNpZGVyZWQgYmFkIHByYWN0aWNlLCBhcyBpdCBtYWtlcyBpdCB2ZXJ5IGhhcmQgdG8gaW1wbGVtZW50IGFuIGVxdWFscyBtZXRob2QgdGhhdAotaXMgc3ltbWV0cmljIGFuZCB0cmFuc2l0aXZlLiBXaXRob3V0IHRob3NlIHByb3BlcnRpZXMsIHZlcnkgdW5leHBlY3RlZCBiZWhhdm9pcnMgYXJlIHBvc3NpYmxlLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRVFfQ09NUEFSRVRPX1VTRV9PQkpFQ1RfRVFVQUxTIj5FcTogQ2xhc3MgZGVmaW5lcyBjb21wYXJlVG8oLi4uKSBhbmQgdXNlcyBPYmplY3QuZXF1YWxzKCkgKEVRX0NPTVBBUkVUT19VU0VfT0JKRUNUX0VRVUFMUyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSA8Y29kZT5jb21wYXJlVG8oLi4uKTwvY29kZT4gbWV0aG9kIGJ1dCBpbmhlcml0cyBpdHMKLSAgPGNvZGU+ZXF1YWxzKCk8L2NvZGU+IG1ldGhvZCBmcm9tIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+LgotICAgIEdlbmVyYWxseSwgdGhlIHZhbHVlIG9mIGNvbXBhcmVUbyBzaG91bGQgcmV0dXJuIHplcm8gaWYgYW5kIG9ubHkgaWYKLSAgICBlcXVhbHMgcmV0dXJucyB0cnVlLiBJZiB0aGlzIGlzIHZpb2xhdGVkLCB3ZWlyZCBhbmQgdW5wcmVkaWN0YWJsZQotICAgIGZhaWx1cmVzIHdpbGwgb2NjdXIgaW4gY2xhc3NlcyBzdWNoIGFzIFByaW9yaXR5UXVldWUuCi0gICAgSW4gSmF2YSA1IHRoZSBQcmlvcml0eVF1ZXVlLnJlbW92ZSBtZXRob2QgdXNlcyB0aGUgY29tcGFyZVRvIG1ldGhvZCwKLSAgICB3aGlsZSBpbiBKYXZhIDYgaXQgdXNlcyB0aGUgZXF1YWxzIG1ldGhvZC4KLQotPHA+RnJvbSB0aGUgSmF2YURvYyBmb3IgdGhlIGNvbXBhcmVUbyBtZXRob2QgaW4gdGhlIENvbXBhcmFibGUgaW50ZXJmYWNlOgotPGJsb2NrcXVvdGU+Ci1JdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCwgYnV0IG5vdCBzdHJpY3RseSByZXF1aXJlZCB0aGF0IDxjb2RlPih4LmNvbXBhcmVUbyh5KT09MCkgPT0gKHguZXF1YWxzKHkpKTwvY29kZT4uCi1HZW5lcmFsbHkgc3BlYWtpbmcsIGFueSBjbGFzcyB0aGF0IGltcGxlbWVudHMgdGhlIENvbXBhcmFibGUgaW50ZXJmYWNlIGFuZCB2aW9sYXRlcyB0aGlzIGNvbmRpdGlvbgotc2hvdWxkIGNsZWFybHkgaW5kaWNhdGUgdGhpcyBmYWN0LiBUaGUgcmVjb21tZW5kZWQgbGFuZ3VhZ2UKLWlzICJOb3RlOiB0aGlzIGNsYXNzIGhhcyBhIG5hdHVyYWwgb3JkZXJpbmcgdGhhdCBpcyBpbmNvbnNpc3RlbnQgd2l0aCBlcXVhbHMuIgotPC9ibG9ja3F1b3RlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRVFfR0VUQ0xBU1NfQU5EX0NMQVNTX0NPTlNUQU5UIj5FcTogZXF1YWxzIG1ldGhvZCBmYWlscyBmb3Igc3VidHlwZXMgKEVRX0dFVENMQVNTX0FORF9DTEFTU19DT05TVEFOVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGhhcyBhbiBlcXVhbHMgbWV0aG9kIHRoYXQgd2lsbCBiZSBicm9rZW4gaWYgaXQgaXMgaW5oZXJpdGVkIGJ5IHN1YmNsYXNzZXMuCi1JdCBjb21wYXJlcyBhIGNsYXNzIGxpdGVyYWwgd2l0aCB0aGUgY2xhc3Mgb2YgdGhlIGFyZ3VtZW50IChlLmcuLCBpbiBjbGFzcyA8Y29kZT5Gb288L2NvZGU+Ci1pdCBtaWdodCBjaGVjayBpZiA8Y29kZT5Gb28uY2xhc3MgPT0gby5nZXRDbGFzcygpPC9jb2RlPikuCi1JdCBpcyBiZXR0ZXIgdG8gY2hlY2sgaWYgPGNvZGU+dGhpcy5nZXRDbGFzcygpID09IG8uZ2V0Q2xhc3MoKTwvY29kZT4uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9TRUxGX05PX09CSkVDVCI+RXE6IENvdmFyaWFudCBlcXVhbHMoKSBtZXRob2QgZGVmaW5lZCAoRVFfU0VMRl9OT19PQkpFQ1QpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgY292YXJpYW50IHZlcnNpb24gb2YgPGNvZGU+ZXF1YWxzKCk8L2NvZGU+LiZuYnNwOwotICBUbyBjb3JyZWN0bHkgb3ZlcnJpZGUgdGhlIDxjb2RlPmVxdWFscygpPC9jb2RlPiBtZXRob2QgaW4KLSAgPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4sIHRoZSBwYXJhbWV0ZXIgb2YgPGNvZGU+ZXF1YWxzKCk8L2NvZGU+Ci0gIG11c3QgaGF2ZSB0eXBlIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkZJX0VNUFRZIj5GSTogRW1wdHkgZmluYWxpemVyIHNob3VsZCBiZSBkZWxldGVkIChGSV9FTVBUWSk8L2E+PC9oMz4KLQotCi0gIDxwPiBFbXB0eSA8Y29kZT5maW5hbGl6ZSgpPC9jb2RlPiBtZXRob2RzIGFyZSB1c2VsZXNzLCBzbyB0aGV5IHNob3VsZAotICBiZSBkZWxldGVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkZJX0VYUExJQ0lUX0lOVk9DQVRJT04iPkZJOiBFeHBsaWNpdCBpbnZvY2F0aW9uIG9mIGZpbmFsaXplciAoRklfRVhQTElDSVRfSU5WT0NBVElPTik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhbiBleHBsaWNpdCBpbnZvY2F0aW9uIG9mIHRoZSA8Y29kZT5maW5hbGl6ZSgpPC9jb2RlPgotICBtZXRob2Qgb24gYW4gb2JqZWN0LiZuYnNwOyBCZWNhdXNlIGZpbmFsaXplciBtZXRob2RzIGFyZSBzdXBwb3NlZCB0byBiZQotICBleGVjdXRlZCBvbmNlLCBhbmQgb25seSBieSB0aGUgVk0sIHRoaXMgaXMgYSBiYWQgaWRlYS48L3A+Ci08cD5JZiBhIGNvbm5lY3RlZCBzZXQgb2Ygb2JqZWN0cyBiZWluZ3MgZmluYWxpemFibGUsIHRoZW4gdGhlIFZNIHdpbGwgaW52b2tlIHRoZQotZmluYWxpemUgbWV0aG9kIG9uIGFsbCB0aGUgZmluYWxpemFibGUgb2JqZWN0LCBwb3NzaWJseSBhdCB0aGUgc2FtZSB0aW1lIGluIGRpZmZlcmVudCB0aHJlYWRzLgotVGh1cywgaXQgaXMgYSBwYXJ0aWN1bGFybHkgYmFkIGlkZWEsIGluIHRoZSBmaW5hbGl6ZSBtZXRob2QgZm9yIGEgY2xhc3MgWCwgaW52b2tlIGZpbmFsaXplCi1vbiBvYmplY3RzIHJlZmVyZW5jZWQgYnkgWCwgYmVjYXVzZSB0aGV5IG1heSBhbHJlYWR5IGJlIGdldHRpbmcgZmluYWxpemVkIGluIGEgc2VwYXJhdGUgdGhyZWFkLgotCi0gICAgCi08aDM+PGEgbmFtZT0iRklfRklOQUxJWkVSX05VTExTX0ZJRUxEUyI+Rkk6IEZpbmFsaXplciBudWxscyBmaWVsZHMgKEZJX0ZJTkFMSVpFUl9OVUxMU19GSUVMRFMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBmaW5hbGl6ZXIgbnVsbHMgb3V0IGZpZWxkcy4gIFRoaXMgaXMgdXN1YWxseSBhbiBlcnJvciwgYXMgaXQgZG9lcyBub3QgYWlkIGdhcmJhZ2UgY29sbGVjdGlvbiwKLSAgYW5kIHRoZSBvYmplY3QgaXMgZ29pbmcgdG8gYmUgZ2FyYmFnZSBjb2xsZWN0ZWQgYW55d2F5LgotCi0gICAgCi08aDM+PGEgbmFtZT0iRklfRklOQUxJWkVSX09OTFlfTlVMTFNfRklFTERTIj5GSTogRmluYWxpemVyIG9ubHkgbnVsbHMgZmllbGRzIChGSV9GSU5BTElaRVJfT05MWV9OVUxMU19GSUVMRFMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBmaW5hbGl6ZXIgZG9lcyBub3RoaW5nIGV4Y2VwdCBudWxsIG91dCBmaWVsZHMuIFRoaXMgaXMgY29tcGxldGVseSBwb2ludGxlc3MsIGFuZCByZXF1aXJlcyB0aGF0Ci10aGUgb2JqZWN0IGJlIGdhcmJhZ2UgY29sbGVjdGVkLCBmaW5hbGl6ZWQsIGFuZCB0aGVuIGdhcmJhZ2UgY29sbGVjdGVkIGFnYWluLiBZb3Ugc2hvdWxkIGp1c3QgcmVtb3ZlIHRoZSBmaW5hbGl6ZQotbWV0aG9kLgotCi0gICAgCi08aDM+PGEgbmFtZT0iRklfTUlTU0lOR19TVVBFUl9DQUxMIj5GSTogRmluYWxpemVyIGRvZXMgbm90IGNhbGwgc3VwZXJjbGFzcyBmaW5hbGl6ZXIgKEZJX01JU1NJTkdfU1VQRVJfQ0FMTCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIDxjb2RlPmZpbmFsaXplKCk8L2NvZGU+IG1ldGhvZCBkb2VzIG5vdCBtYWtlIGEgY2FsbCB0byBpdHMKLSAgc3VwZXJjbGFzcydzIDxjb2RlPmZpbmFsaXplKCk8L2NvZGU+IG1ldGhvZC4mbmJzcDsgU28sIGFueSBmaW5hbGl6ZXIKLSAgYWN0aW9ucyBkZWZpbmVkIGZvciB0aGUgc3VwZXJjbGFzcyB3aWxsIG5vdCBiZSBwZXJmb3JtZWQuJm5ic3A7Ci0gIEFkZCBhIGNhbGwgdG8gPGNvZGU+c3VwZXIuZmluYWxpemUoKTwvY29kZT4uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRklfTlVMTElGWV9TVVBFUiI+Rkk6IEZpbmFsaXplciBudWxsaWZpZXMgc3VwZXJjbGFzcyBmaW5hbGl6ZXIgKEZJX05VTExJRllfU1VQRVIpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBlbXB0eSA8Y29kZT5maW5hbGl6ZSgpPC9jb2RlPiBtZXRob2QgZXhwbGljaXRseSBuZWdhdGVzIHRoZQotICBlZmZlY3Qgb2YgYW55IGZpbmFsaXplciBkZWZpbmVkIGJ5IGl0cyBzdXBlcmNsYXNzLiZuYnNwOyBBbnkgZmluYWxpemVyCi0gIGFjdGlvbnMgZGVmaW5lZCBmb3IgdGhlIHN1cGVyY2xhc3Mgd2lsbCBub3QgYmUgcGVyZm9ybWVkLiZuYnNwOwotICBVbmxlc3MgdGhpcyBpcyBpbnRlbmRlZCwgZGVsZXRlIHRoaXMgbWV0aG9kLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkZJX1VTRUxFU1MiPkZJOiBGaW5hbGl6ZXIgZG9lcyBub3RoaW5nIGJ1dCBjYWxsIHN1cGVyY2xhc3MgZmluYWxpemVyIChGSV9VU0VMRVNTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBvbmx5IHRoaW5nIHRoaXMgPGNvZGU+ZmluYWxpemUoKTwvY29kZT4gbWV0aG9kIGRvZXMgaXMgY2FsbAotICB0aGUgc3VwZXJjbGFzcydzIDxjb2RlPmZpbmFsaXplKCk8L2NvZGU+IG1ldGhvZCwgbWFraW5nIGl0Ci0gIHJlZHVuZGFudC4mbmJzcDsgRGVsZXRlIGl0LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlZBX0ZPUk1BVF9TVFJJTkdfVVNFU19ORVdMSU5FIj5GUzogRm9ybWF0IHN0cmluZyBzaG91bGQgdXNlICVuIHJhdGhlciB0aGFuIFxuIChWQV9GT1JNQVRfU1RSSU5HX1VTRVNfTkVXTElORSk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgZm9ybWF0IHN0cmluZyBpbmNsdWRlIGEgbmV3bGluZSBjaGFyYWN0ZXIgKFxuKS4gSW4gZm9ybWF0IHN0cmluZ3MsIGl0IGlzIGdlbmVyYWxseQotIHByZWZlcmFibGUgYmV0dGVyIHRvIHVzZSAlbiwgd2hpY2ggd2lsbCBwcm9kdWNlIHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyBsaW5lIHNlcGFyYXRvci4KLTwvcD4KLQotICAgICAKLTxoMz48YSBuYW1lPSJHQ19VTkNIRUNLRURfVFlQRV9JTl9HRU5FUklDX0NBTEwiPkdDOiBVbmNoZWNrZWQgdHlwZSBpbiBnZW5lcmljIGNhbGwgKEdDX1VOQ0hFQ0tFRF9UWVBFX0lOX0dFTkVSSUNfQ0FMTCk8L2E+PC9oMz4KLQotICAgICAKLSAgICAgPHA+IFRoaXMgY2FsbCB0byBhIGdlbmVyaWMgY29sbGVjdGlvbiBtZXRob2QgcGFzc2VzIGFuIGFyZ3VtZW50Ci0gICAgd2hpbGUgY29tcGlsZSB0eXBlIE9iamVjdCB3aGVyZSBhIHNwZWNpZmljIHR5cGUgZnJvbQotICAgIHRoZSBnZW5lcmljIHR5cGUgcGFyYW1ldGVycyBpcyBleHBlY3RlZC4KLSAgICBUaHVzLCBuZWl0aGVyIHRoZSBzdGFuZGFyZCBKYXZhIHR5cGUgc3lzdGVtIG5vciBzdGF0aWMgYW5hbHlzaXMKLSAgICBjYW4gcHJvdmlkZSB1c2VmdWwgaW5mb3JtYXRpb24gb24gd2hldGhlciB0aGUKLSAgICBvYmplY3QgYmVpbmcgcGFzc2VkIGFzIGEgcGFyYW1ldGVyIGlzIG9mIGFuIGFwcHJvcHJpYXRlIHR5cGUuCi0gICAgPC9wPgotICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJIRV9FUVVBTFNfTk9fSEFTSENPREUiPkhFOiBDbGFzcyBkZWZpbmVzIGVxdWFscygpIGJ1dCBub3QgaGFzaENvZGUoKSAoSEVfRVFVQUxTX05PX0hBU0hDT0RFKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3Mgb3ZlcnJpZGVzIDxjb2RlPmVxdWFscyhPYmplY3QpPC9jb2RlPiwgYnV0IGRvZXMgbm90Ci0gIG92ZXJyaWRlIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+LiZuYnNwOyBUaGVyZWZvcmUsIHRoZSBjbGFzcyBtYXkgdmlvbGF0ZSB0aGUKLSAgaW52YXJpYW50IHRoYXQgZXF1YWwgb2JqZWN0cyBtdXN0IGhhdmUgZXF1YWwgaGFzaGNvZGVzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkhFX0VRVUFMU19VU0VfSEFTSENPREUiPkhFOiBDbGFzcyBkZWZpbmVzIGVxdWFscygpIGFuZCB1c2VzIE9iamVjdC5oYXNoQ29kZSgpIChIRV9FUVVBTFNfVVNFX0hBU0hDT0RFKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3Mgb3ZlcnJpZGVzIDxjb2RlPmVxdWFscyhPYmplY3QpPC9jb2RlPiwgYnV0IGRvZXMgbm90Ci0gIG92ZXJyaWRlIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+LCBhbmQgaW5oZXJpdHMgdGhlIGltcGxlbWVudGF0aW9uIG9mCi0gIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+IGZyb20gPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4gKHdoaWNoIHJldHVybnMKLSAgdGhlIGlkZW50aXR5IGhhc2ggY29kZSwgYW4gYXJiaXRyYXJ5IHZhbHVlIGFzc2lnbmVkIHRvIHRoZSBvYmplY3QKLSAgYnkgdGhlIFZNKS4mbmJzcDsgVGhlcmVmb3JlLCB0aGUgY2xhc3MgaXMgdmVyeSBsaWtlbHkgdG8gdmlvbGF0ZSB0aGUKLSAgaW52YXJpYW50IHRoYXQgZXF1YWwgb2JqZWN0cyBtdXN0IGhhdmUgZXF1YWwgaGFzaGNvZGVzLjwvcD4KLQotPHA+SWYgeW91IGRvbid0IHRoaW5rIGluc3RhbmNlcyBvZiB0aGlzIGNsYXNzIHdpbGwgZXZlciBiZSBpbnNlcnRlZCBpbnRvIGEgSGFzaE1hcC9IYXNoVGFibGUsCi10aGUgcmVjb21tZW5kZWQgPGNvZGU+aGFzaENvZGU8L2NvZGU+IGltcGxlbWVudGF0aW9uIHRvIHVzZSBpczo8L3A+Ci08cHJlPnB1YmxpYyBpbnQgaGFzaENvZGUoKSB7Ci0gIGFzc2VydCBmYWxzZSA6ICJoYXNoQ29kZSBub3QgZGVzaWduZWQiOwotICByZXR1cm4gNDI7IC8vIGFueSBhcmJpdHJhcnkgY29uc3RhbnQgd2lsbCBkbwotICB9PC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJIRV9IQVNIQ09ERV9OT19FUVVBTFMiPkhFOiBDbGFzcyBkZWZpbmVzIGhhc2hDb2RlKCkgYnV0IG5vdCBlcXVhbHMoKSAoSEVfSEFTSENPREVfTk9fRVFVQUxTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgZGVmaW5lcyBhIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+IG1ldGhvZCBidXQgbm90IGFuCi0gIDxjb2RlPmVxdWFscygpPC9jb2RlPiBtZXRob2QuJm5ic3A7IFRoZXJlZm9yZSwgdGhlIGNsYXNzIG1heQotICB2aW9sYXRlIHRoZSBpbnZhcmlhbnQgdGhhdCBlcXVhbCBvYmplY3RzIG11c3QgaGF2ZSBlcXVhbCBoYXNoY29kZXMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSEVfSEFTSENPREVfVVNFX09CSkVDVF9FUVVBTFMiPkhFOiBDbGFzcyBkZWZpbmVzIGhhc2hDb2RlKCkgYW5kIHVzZXMgT2JqZWN0LmVxdWFscygpIChIRV9IQVNIQ09ERV9VU0VfT0JKRUNUX0VRVUFMUyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSA8Y29kZT5oYXNoQ29kZSgpPC9jb2RlPiBtZXRob2QgYnV0IGluaGVyaXRzIGl0cwotICA8Y29kZT5lcXVhbHMoKTwvY29kZT4gbWV0aG9kIGZyb20gPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4KLSAgKHdoaWNoIGRlZmluZXMgZXF1YWxpdHkgYnkgY29tcGFyaW5nIG9iamVjdCByZWZlcmVuY2VzKS4mbmJzcDsgQWx0aG91Z2gKLSAgdGhpcyB3aWxsIHByb2JhYmx5IHNhdGlzZnkgdGhlIGNvbnRyYWN0IHRoYXQgZXF1YWwgb2JqZWN0cyBtdXN0IGhhdmUKLSAgZXF1YWwgaGFzaGNvZGVzLCBpdCBpcyBwcm9iYWJseSBub3Qgd2hhdCB3YXMgaW50ZW5kZWQgYnkgb3ZlcnJpZGluZwotICB0aGUgPGNvZGU+aGFzaENvZGUoKTwvY29kZT4gbWV0aG9kLiZuYnNwOyAoT3ZlcnJpZGluZyA8Y29kZT5oYXNoQ29kZSgpPC9jb2RlPgotICBpbXBsaWVzIHRoYXQgdGhlIG9iamVjdCdzIGlkZW50aXR5IGlzIGJhc2VkIG9uIGNyaXRlcmlhIG1vcmUgY29tcGxpY2F0ZWQKLSAgdGhhbiBzaW1wbGUgcmVmZXJlbmNlIGVxdWFsaXR5Lik8L3A+Ci08cD5JZiB5b3UgZG9uJ3QgdGhpbmsgaW5zdGFuY2VzIG9mIHRoaXMgY2xhc3Mgd2lsbCBldmVyIGJlIGluc2VydGVkIGludG8gYSBIYXNoTWFwL0hhc2hUYWJsZSwKLXRoZSByZWNvbW1lbmRlZCA8Y29kZT5oYXNoQ29kZTwvY29kZT4gaW1wbGVtZW50YXRpb24gdG8gdXNlIGlzOjwvcD4KLTxwcmU+cHVibGljIGludCBoYXNoQ29kZSgpIHsKLSAgYXNzZXJ0IGZhbHNlIDogImhhc2hDb2RlIG5vdCBkZXNpZ25lZCI7Ci0gIHJldHVybiA0MjsgLy8gYW55IGFyYml0cmFyeSBjb25zdGFudCB3aWxsIGRvCi0gIH08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IkhFX0lOSEVSSVRTX0VRVUFMU19VU0VfSEFTSENPREUiPkhFOiBDbGFzcyBpbmhlcml0cyBlcXVhbHMoKSBhbmQgdXNlcyBPYmplY3QuaGFzaENvZGUoKSAoSEVfSU5IRVJJVFNfRVFVQUxTX1VTRV9IQVNIQ09ERSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGluaGVyaXRzIDxjb2RlPmVxdWFscyhPYmplY3QpPC9jb2RlPiBmcm9tIGFuIGFic3RyYWN0Ci0gIHN1cGVyY2xhc3MsIGFuZCA8Y29kZT5oYXNoQ29kZSgpPC9jb2RlPiBmcm9tCi08Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPiAod2hpY2ggcmV0dXJucwotICB0aGUgaWRlbnRpdHkgaGFzaCBjb2RlLCBhbiBhcmJpdHJhcnkgdmFsdWUgYXNzaWduZWQgdG8gdGhlIG9iamVjdAotICBieSB0aGUgVk0pLiZuYnNwOyBUaGVyZWZvcmUsIHRoZSBjbGFzcyBpcyB2ZXJ5IGxpa2VseSB0byB2aW9sYXRlIHRoZQotICBpbnZhcmlhbnQgdGhhdCBlcXVhbCBvYmplY3RzIG11c3QgaGF2ZSBlcXVhbCBoYXNoY29kZXMuPC9wPgotCi0gIDxwPklmIHlvdSBkb24ndCB3YW50IHRvIGRlZmluZSBhIGhhc2hDb2RlIG1ldGhvZCwgYW5kL29yIGRvbid0Ci0gICBiZWxpZXZlIHRoZSBvYmplY3Qgd2lsbCBldmVyIGJlIHB1dCBpbnRvIGEgSGFzaE1hcC9IYXNodGFibGUsCi0gICBkZWZpbmUgdGhlIDxjb2RlPmhhc2hDb2RlKCk8L2NvZGU+IG1ldGhvZAotICAgdG8gdGhyb3cgPGNvZGU+VW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb248L2NvZGU+LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklDX1NVUEVSQ0xBU1NfVVNFU19TVUJDTEFTU19EVVJJTkdfSU5JVElBTElaQVRJT04iPklDOiBTdXBlcmNsYXNzIHVzZXMgc3ViY2xhc3MgZHVyaW5nIGluaXRpYWxpemF0aW9uIChJQ19TVVBFUkNMQVNTX1VTRVNfU1VCQ0xBU1NfRFVSSU5HX0lOSVRJQUxJWkFUSU9OKTwvYT48L2gzPgotCi0KLSAgPHA+IER1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgYSBjbGFzcywgdGhlIGNsYXNzIG1ha2VzIGFuIGFjdGl2ZSB1c2Ugb2YgYSBzdWJjbGFzcy4KLVRoYXQgc3ViY2xhc3Mgd2lsbCBub3QgeWV0IGJlIGluaXRpYWxpemVkIGF0IHRoZSB0aW1lIG9mIHRoaXMgdXNlLgotRm9yIGV4YW1wbGUsIGluIHRoZSBmb2xsb3dpbmcgY29kZSwgPGNvZGU+Zm9vPC9jb2RlPiB3aWxsIGJlIG51bGwuPC9wPgotCi08cHJlPgotcHVibGljIGNsYXNzIENpcmN1bGFyQ2xhc3NJbml0aWFsaXphdGlvbiB7Ci0gICAgc3RhdGljIGNsYXNzIElubmVyQ2xhc3NTaW5nbGV0b24gZXh0ZW5kcyBDaXJjdWxhckNsYXNzSW5pdGlhbGl6YXRpb24gewotICAgICAgICBzdGF0aWMgSW5uZXJDbGFzc1NpbmdsZXRvbiBzaW5nbGV0b24gPSBuZXcgSW5uZXJDbGFzc1NpbmdsZXRvbigpOwotICAgIH0KLQotICAgIHN0YXRpYyBDaXJjdWxhckNsYXNzSW5pdGlhbGl6YXRpb24gZm9vID0gSW5uZXJDbGFzc1NpbmdsZXRvbi5zaW5nbGV0b247Ci19Ci08L3ByZT4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iSU1TRV9ET05UX0NBVENIX0lNU0UiPklNU0U6IER1YmlvdXMgY2F0Y2hpbmcgb2YgSWxsZWdhbE1vbml0b3JTdGF0ZUV4Y2VwdGlvbiAoSU1TRV9ET05UX0NBVENIX0lNU0UpPC9hPjwvaDM+Ci0KLQotPHA+SWxsZWdhbE1vbml0b3JTdGF0ZUV4Y2VwdGlvbiBpcyBnZW5lcmFsbHkgb25seQotICAgdGhyb3duIGluIGNhc2Ugb2YgYSBkZXNpZ24gZmxhdyBpbiB5b3VyIGNvZGUgKGNhbGxpbmcgd2FpdCBvcgotICAgbm90aWZ5IG9uIGFuIG9iamVjdCB5b3UgZG8gbm90IGhvbGQgYSBsb2NrIG9uKS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJU0NfSU5TVEFOVElBVEVfU1RBVElDX0NMQVNTIj5JU0M6IE5lZWRsZXNzIGluc3RhbnRpYXRpb24gb2YgY2xhc3MgdGhhdCBvbmx5IHN1cHBsaWVzIHN0YXRpYyBtZXRob2RzIChJU0NfSU5TVEFOVElBVEVfU1RBVElDX0NMQVNTKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNsYXNzIGFsbG9jYXRlcyBhbiBvYmplY3QgdGhhdCBpcyBiYXNlZCBvbiBhIGNsYXNzIHRoYXQgb25seSBzdXBwbGllcyBzdGF0aWMgbWV0aG9kcy4gVGhpcyBvYmplY3QKLWRvZXMgbm90IG5lZWQgdG8gYmUgY3JlYXRlZCwganVzdCBhY2Nlc3MgdGhlIHN0YXRpYyBtZXRob2RzIGRpcmVjdGx5IHVzaW5nIHRoZSBjbGFzcyBuYW1lIGFzIGEgcXVhbGlmaWVyLjwvcD4KLQotICAgICAgICAKLTxoMz48YSBuYW1lPSJJVF9OT19TVUNIX0VMRU1FTlQiPkl0OiBJdGVyYXRvciBuZXh0KCkgbWV0aG9kIGNhbid0IHRocm93IE5vU3VjaEVsZW1lbnRFeGNlcHRpb24gKElUX05PX1NVQ0hfRUxFTUVOVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGltcGxlbWVudHMgdGhlIDxjb2RlPmphdmEudXRpbC5JdGVyYXRvcjwvY29kZT4gaW50ZXJmYWNlLiZuYnNwOwotICBIb3dldmVyLCBpdHMgPGNvZGU+bmV4dCgpPC9jb2RlPiBtZXRob2QgaXMgbm90IGNhcGFibGUgb2YgdGhyb3dpbmcKLSAgPGNvZGU+amF2YS51dGlsLk5vU3VjaEVsZW1lbnRFeGNlcHRpb248L2NvZGU+LiZuYnNwOyBUaGUgPGNvZGU+bmV4dCgpPC9jb2RlPgotICBtZXRob2Qgc2hvdWxkIGJlIGNoYW5nZWQgc28gaXQgdGhyb3dzIDxjb2RlPk5vU3VjaEVsZW1lbnRFeGNlcHRpb248L2NvZGU+Ci0gIGlmIGlzIGNhbGxlZCB3aGVuIHRoZXJlIGFyZSBubyBtb3JlIGVsZW1lbnRzIHRvIHJldHVybi48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJKMkVFX1NUT1JFX09GX05PTl9TRVJJQUxJWkFCTEVfT0JKRUNUX0lOVE9fU0VTU0lPTiI+SjJFRTogU3RvcmUgb2Ygbm9uIHNlcmlhbGl6YWJsZSBvYmplY3QgaW50byBIdHRwU2Vzc2lvbiAoSjJFRV9TVE9SRV9PRl9OT05fU0VSSUFMSVpBQkxFX09CSkVDVF9JTlRPX1NFU1NJT04pPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgc2VlbXMgdG8gYmUgc3RvcmluZyBhIG5vbi1zZXJpYWxpemFibGUgb2JqZWN0IGludG8gYW4gSHR0cFNlc3Npb24uCi1JZiB0aGlzIHNlc3Npb24gaXMgcGFzc2l2YXRlZCBvciBtaWdyYXRlZCwgYW4gZXJyb3Igd2lsbCByZXN1bHQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJKQ0lQX0ZJRUxEX0lTTlRfRklOQUxfSU5fSU1NVVRBQkxFX0NMQVNTIj5KQ0lQOiBGaWVsZHMgb2YgaW1tdXRhYmxlIGNsYXNzZXMgc2hvdWxkIGJlIGZpbmFsIChKQ0lQX0ZJRUxEX0lTTlRfRklOQUxfSU5fSU1NVVRBQkxFX0NMQVNTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBjbGFzcyBpcyBhbm5vdGF0ZWQgd2l0aCBuZXQuamNpcC5hbm5vdGF0aW9ucy5JbW11dGFibGUgb3IgamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50LkltbXV0YWJsZSwKLSAgYW5kIHRoZSBydWxlcyBmb3IgdGhvc2UgYW5ub3RhdGlvbnMgcmVxdWlyZSB0aGF0IGFsbCBmaWVsZHMgYXJlIGZpbmFsLgotICAgLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX0JPT0xFQU5fUkVUVVJOX05VTEwiPk5QOiBNZXRob2Qgd2l0aCBCb29sZWFuIHJldHVybiB0eXBlIHJldHVybnMgZXhwbGljaXQgbnVsbCAoTlBfQk9PTEVBTl9SRVRVUk5fTlVMTCk8L2E+PC9oMz4KLQotICAgICAgIAotICAgICAgIDxwPgotICAgIEEgbWV0aG9kIHRoYXQgcmV0dXJucyBlaXRoZXIgQm9vbGVhbi5UUlVFLCBCb29sZWFuLkZBTFNFIG9yIG51bGwgaXMgYW4gYWNjaWRlbnQgd2FpdGluZyB0byBoYXBwZW4uCi0gICAgVGhpcyBtZXRob2QgY2FuIGJlIGludm9rZWQgYXMgdGhvdWdoIGl0IHJldHVybmVkIGEgdmFsdWUgb2YgdHlwZSBib29sZWFuLCBhbmQKLSAgICB0aGUgY29tcGlsZXIgd2lsbCBpbnNlcnQgYXV0b21hdGljIHVuYm94aW5nIG9mIHRoZSBCb29sZWFuIHZhbHVlLiBJZiBhIG51bGwgdmFsdWUgaXMgcmV0dXJuZWQsCi0gICAgdGhpcyB3aWxsIHJlc3VsdCBpbiBhIE51bGxQb2ludGVyRXhjZXB0aW9uLgotICAgICAgIDwvcD4KLSAgICAgICAKLSAgICAgICAKLTxoMz48YSBuYW1lPSJOUF9DTE9ORV9DT1VMRF9SRVRVUk5fTlVMTCI+TlA6IENsb25lIG1ldGhvZCBtYXkgcmV0dXJuIG51bGwgKE5QX0NMT05FX0NPVUxEX1JFVFVSTl9OVUxMKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgIFRoaXMgY2xvbmUgbWV0aG9kIHNlZW1zIHRvIHJldHVybiBudWxsIGluIHNvbWUgY2lyY3Vtc3RhbmNlcywgYnV0IGNsb25lIGlzIG5ldmVyCi0gICAgYWxsb3dlZCB0byByZXR1cm4gYSBudWxsIHZhbHVlLiAgSWYgeW91IGFyZSBjb252aW5jZWQgdGhpcyBwYXRoIGlzIHVucmVhY2hhYmxlLCB0aHJvdyBhbiBBc3NlcnRpb25FcnJvcgotICAgIGluc3RlYWQuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9Ik5QX0VRVUFMU19TSE9VTERfSEFORExFX05VTExfQVJHVU1FTlQiPk5QOiBlcXVhbHMoKSBtZXRob2QgZG9lcyBub3QgY2hlY2sgZm9yIG51bGwgYXJndW1lbnQgKE5QX0VRVUFMU19TSE9VTERfSEFORExFX05VTExfQVJHVU1FTlQpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIGltcGxlbWVudGF0aW9uIG9mIGVxdWFscyhPYmplY3QpIHZpb2xhdGVzIHRoZSBjb250cmFjdCBkZWZpbmVkCi0gICAgICBieSBqYXZhLmxhbmcuT2JqZWN0LmVxdWFscygpIGJlY2F1c2UgaXQgZG9lcyBub3QgY2hlY2sgZm9yIG51bGwKLSAgICAgIGJlaW5nIHBhc3NlZCBhcyB0aGUgYXJndW1lbnQuICBBbGwgZXF1YWxzKCkgbWV0aG9kcyBzaG91bGQgcmV0dXJuCi0gICAgICBmYWxzZSBpZiBwYXNzZWQgYSBudWxsIHZhbHVlLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJOUF9UT1NUUklOR19DT1VMRF9SRVRVUk5fTlVMTCI+TlA6IHRvU3RyaW5nIG1ldGhvZCBtYXkgcmV0dXJuIG51bGwgKE5QX1RPU1RSSU5HX0NPVUxEX1JFVFVSTl9OVUxMKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgIFRoaXMgdG9TdHJpbmcgbWV0aG9kIHNlZW1zIHRvIHJldHVybiBudWxsIGluIHNvbWUgY2lyY3Vtc3RhbmNlcy4gQSBsaWJlcmFsIHJlYWRpbmcgb2YgdGhlCi0gICAgc3BlYyBjb3VsZCBiZSBpbnRlcnByZXRlZCBhcyBhbGxvd2luZyB0aGlzLCBidXQgaXQgaXMgcHJvYmFibHkgYSBiYWQgaWRlYSBhbmQgY291bGQgY2F1c2UKLSAgICBvdGhlciBjb2RlIHRvIGJyZWFrLiBSZXR1cm4gdGhlIGVtcHR5IHN0cmluZyBvciBzb21lIG90aGVyIGFwcHJvcHJpYXRlIHN0cmluZyByYXRoZXIgdGhhbiBudWxsLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJOTV9DTEFTU19OQU1JTkdfQ09OVkVOVElPTiI+Tm06IENsYXNzIG5hbWVzIHNob3VsZCBzdGFydCB3aXRoIGFuIHVwcGVyIGNhc2UgbGV0dGVyIChOTV9DTEFTU19OQU1JTkdfQ09OVkVOVElPTik8L2E+PC9oMz4KLQotCi0gIDxwPiBDbGFzcyBuYW1lcyBzaG91bGQgYmUgbm91bnMsIGluIG1peGVkIGNhc2Ugd2l0aCB0aGUgZmlyc3QgbGV0dGVyIG9mIGVhY2ggaW50ZXJuYWwgd29yZCBjYXBpdGFsaXplZC4gVHJ5IHRvIGtlZXAgeW91ciBjbGFzcyBuYW1lcyBzaW1wbGUgYW5kIGRlc2NyaXB0aXZlLiBVc2Ugd2hvbGUgd29yZHMtYXZvaWQgYWNyb255bXMgYW5kIGFiYnJldmlhdGlvbnMgKHVubGVzcyB0aGUgYWJicmV2aWF0aW9uIGlzIG11Y2ggbW9yZSB3aWRlbHkgdXNlZCB0aGFuIHRoZSBsb25nIGZvcm0sIHN1Y2ggYXMgVVJMIG9yIEhUTUwpLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTk1fQ0xBU1NfTk9UX0VYQ0VQVElPTiI+Tm06IENsYXNzIGlzIG5vdCBkZXJpdmVkIGZyb20gYW4gRXhjZXB0aW9uLCBldmVuIHRob3VnaCBpdCBpcyBuYW1lZCBhcyBzdWNoIChOTV9DTEFTU19OT1RfRVhDRVBUSU9OKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNsYXNzIGlzIG5vdCBkZXJpdmVkIGZyb20gYW5vdGhlciBleGNlcHRpb24sIGJ1dCBlbmRzIHdpdGggJ0V4Y2VwdGlvbicuIFRoaXMgd2lsbAotYmUgY29uZnVzaW5nIHRvIHVzZXJzIG9mIHRoaXMgY2xhc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTk1fQ09ORlVTSU5HIj5ObTogQ29uZnVzaW5nIG1ldGhvZCBuYW1lcyAoTk1fQ09ORlVTSU5HKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSByZWZlcmVuY2VkIG1ldGhvZHMgaGF2ZSBuYW1lcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGNhcGl0YWxpemF0aW9uLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX0ZJRUxEX05BTUlOR19DT05WRU5USU9OIj5ObTogRmllbGQgbmFtZXMgc2hvdWxkIHN0YXJ0IHdpdGggYSBsb3dlciBjYXNlIGxldHRlciAoTk1fRklFTERfTkFNSU5HX0NPTlZFTlRJT04pPC9hPjwvaDM+Ci0KLQotICA8cD4KLU5hbWVzIG9mIGZpZWxkcyB0aGF0IGFyZSBub3QgZmluYWwgc2hvdWxkIGJlIGluIG1peGVkIGNhc2Ugd2l0aCBhIGxvd2VyY2FzZSBmaXJzdCBsZXR0ZXIgYW5kIHRoZSBmaXJzdCBsZXR0ZXJzIG9mIHN1YnNlcXVlbnQgd29yZHMgY2FwaXRhbGl6ZWQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9GVVRVUkVfS0VZV09SRF9VU0VEX0FTX0lERU5USUZJRVIiPk5tOiBVc2Ugb2YgaWRlbnRpZmllciB0aGF0IGlzIGEga2V5d29yZCBpbiBsYXRlciB2ZXJzaW9ucyBvZiBKYXZhIChOTV9GVVRVUkVfS0VZV09SRF9VU0VEX0FTX0lERU5USUZJRVIpPC9hPjwvaDM+Ci0KLQotPHA+VGhlIGlkZW50aWZpZXIgaXMgYSB3b3JkIHRoYXQgaXMgcmVzZXJ2ZWQgYXMgYSBrZXl3b3JkIGluIGxhdGVyIHZlcnNpb25zIG9mIEphdmEsIGFuZCB5b3VyIGNvZGUgd2lsbCBuZWVkIHRvIGJlIGNoYW5nZWQKLWluIG9yZGVyIHRvIGNvbXBpbGUgaXQgaW4gbGF0ZXIgdmVyc2lvbnMgb2YgSmF2YS48L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX0ZVVFVSRV9LRVlXT1JEX1VTRURfQVNfTUVNQkVSX0lERU5USUZJRVIiPk5tOiBVc2Ugb2YgaWRlbnRpZmllciB0aGF0IGlzIGEga2V5d29yZCBpbiBsYXRlciB2ZXJzaW9ucyBvZiBKYXZhIChOTV9GVVRVUkVfS0VZV09SRF9VU0VEX0FTX01FTUJFUl9JREVOVElGSUVSKTwvYT48L2gzPgotCi0KLTxwPlRoaXMgaWRlbnRpZmllciBpcyB1c2VkIGFzIGEga2V5d29yZCBpbiBsYXRlciB2ZXJzaW9ucyBvZiBKYXZhLiBUaGlzIGNvZGUsIGFuZAotYW55IGNvZGUgdGhhdCByZWZlcmVuY2VzIHRoaXMgQVBJLAotd2lsbCBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gb3JkZXIgdG8gY29tcGlsZSBpdCBpbiBsYXRlciB2ZXJzaW9ucyBvZiBKYXZhLjwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iTk1fTUVUSE9EX05BTUlOR19DT05WRU5USU9OIj5ObTogTWV0aG9kIG5hbWVzIHNob3VsZCBzdGFydCB3aXRoIGEgbG93ZXIgY2FzZSBsZXR0ZXIgKE5NX01FVEhPRF9OQU1JTkdfQ09OVkVOVElPTik8L2E+PC9oMz4KLQotCi0gIDxwPgotTWV0aG9kcyBzaG91bGQgYmUgdmVyYnMsIGluIG1peGVkIGNhc2Ugd2l0aCB0aGUgZmlyc3QgbGV0dGVyIGxvd2VyY2FzZSwgd2l0aCB0aGUgZmlyc3QgbGV0dGVyIG9mIGVhY2ggaW50ZXJuYWwgd29yZCBjYXBpdGFsaXplZC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5NX1NBTUVfU0lNUExFX05BTUVfQVNfSU5URVJGQUNFIj5ObTogQ2xhc3MgbmFtZXMgc2hvdWxkbid0IHNoYWRvdyBzaW1wbGUgbmFtZSBvZiBpbXBsZW1lbnRlZCBpbnRlcmZhY2UgKE5NX1NBTUVfU0lNUExFX05BTUVfQVNfSU5URVJGQUNFKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MvaW50ZXJmYWNlIGhhcyBhIHNpbXBsZSBuYW1lIHRoYXQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgb2YgYW4gaW1wbGVtZW50ZWQvZXh0ZW5kZWQgaW50ZXJmYWNlLCBleGNlcHQKLXRoYXQgdGhlIGludGVyZmFjZSBpcyBpbiBhIGRpZmZlcmVudCBwYWNrYWdlIChlLmcuLCA8Y29kZT5hbHBoYS5Gb288L2NvZGU+IGV4dGVuZHMgPGNvZGU+YmV0YS5Gb288L2NvZGU+KS4KLVRoaXMgY2FuIGJlIGV4Y2VwdGlvbmFsbHkgY29uZnVzaW5nLCBjcmVhdGUgbG90cyBvZiBzaXR1YXRpb25zIGluIHdoaWNoIHlvdSBoYXZlIHRvIGxvb2sgYXQgaW1wb3J0IHN0YXRlbWVudHMKLXRvIHJlc29sdmUgcmVmZXJlbmNlcyBhbmQgY3JlYXRlcyBtYW55Ci1vcHBvcnR1bml0aWVzIHRvIGFjY2lkZW50bHkgZGVmaW5lIG1ldGhvZHMgdGhhdCBkbyBub3Qgb3ZlcnJpZGUgbWV0aG9kcyBpbiB0aGVpciBzdXBlcmNsYXNzZXMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9TQU1FX1NJTVBMRV9OQU1FX0FTX1NVUEVSQ0xBU1MiPk5tOiBDbGFzcyBuYW1lcyBzaG91bGRuJ3Qgc2hhZG93IHNpbXBsZSBuYW1lIG9mIHN1cGVyY2xhc3MgKE5NX1NBTUVfU0lNUExFX05BTUVfQVNfU1VQRVJDTEFTUyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGhhcyBhIHNpbXBsZSBuYW1lIHRoYXQgaXMgaWRlbnRpY2FsIHRvIHRoYXQgb2YgaXRzIHN1cGVyY2xhc3MsIGV4Y2VwdAotdGhhdCBpdHMgc3VwZXJjbGFzcyBpcyBpbiBhIGRpZmZlcmVudCBwYWNrYWdlIChlLmcuLCA8Y29kZT5hbHBoYS5Gb288L2NvZGU+IGV4dGVuZHMgPGNvZGU+YmV0YS5Gb288L2NvZGU+KS4KLVRoaXMgY2FuIGJlIGV4Y2VwdGlvbmFsbHkgY29uZnVzaW5nLCBjcmVhdGUgbG90cyBvZiBzaXR1YXRpb25zIGluIHdoaWNoIHlvdSBoYXZlIHRvIGxvb2sgYXQgaW1wb3J0IHN0YXRlbWVudHMKLXRvIHJlc29sdmUgcmVmZXJlbmNlcyBhbmQgY3JlYXRlcyBtYW55Ci1vcHBvcnR1bml0aWVzIHRvIGFjY2lkZW50bHkgZGVmaW5lIG1ldGhvZHMgdGhhdCBkbyBub3Qgb3ZlcnJpZGUgbWV0aG9kcyBpbiB0aGVpciBzdXBlcmNsYXNzZXMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9WRVJZX0NPTkZVU0lOR19JTlRFTlRJT05BTCI+Tm06IFZlcnkgY29uZnVzaW5nIG1ldGhvZCBuYW1lcyAoYnV0IHBlcmhhcHMgaW50ZW50aW9uYWwpIChOTV9WRVJZX0NPTkZVU0lOR19JTlRFTlRJT05BTCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgcmVmZXJlbmNlZCBtZXRob2RzIGhhdmUgbmFtZXMgdGhhdCBkaWZmZXIgb25seSBieSBjYXBpdGFsaXphdGlvbi4KLVRoaXMgaXMgdmVyeSBjb25mdXNpbmcgYmVjYXVzZSBpZiB0aGUgY2FwaXRhbGl6YXRpb24gd2VyZQotaWRlbnRpY2FsIHRoZW4gb25lIG9mIHRoZSBtZXRob2RzIHdvdWxkIG92ZXJyaWRlIHRoZSBvdGhlci4gRnJvbSB0aGUgZXhpc3RlbmNlIG9mIG90aGVyIG1ldGhvZHMsIGl0Ci1zZWVtcyB0aGF0IHRoZSBleGlzdGVuY2Ugb2YgYm90aCBvZiB0aGVzZSBtZXRob2RzIGlzIGludGVudGlvbmFsLCBidXQgaXMgc3VyZSBpcyBjb25mdXNpbmcuCi1Zb3Ugc2hvdWxkIHRyeSBoYXJkIHRvIGVsaW1pbmF0ZSBvbmUgb2YgdGhlbSwgdW5sZXNzIHlvdSBhcmUgZm9yY2VkIHRvIGhhdmUgYm90aCBkdWUgdG8gZnJvemVuIEFQSXMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9XUk9OR19QQUNLQUdFX0lOVEVOVElPTkFMIj5ObTogTWV0aG9kIGRvZXNuJ3Qgb3ZlcnJpZGUgbWV0aG9kIGluIHN1cGVyY2xhc3MgZHVlIHRvIHdyb25nIHBhY2thZ2UgZm9yIHBhcmFtZXRlciAoTk1fV1JPTkdfUEFDS0FHRV9JTlRFTlRJT05BTCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgbWV0aG9kIGluIHRoZSBzdWJjbGFzcyBkb2Vzbid0IG92ZXJyaWRlIGEgc2ltaWxhciBtZXRob2QgaW4gYSBzdXBlcmNsYXNzIGJlY2F1c2UgdGhlIHR5cGUgb2YgYSBwYXJhbWV0ZXIgZG9lc24ndCBleGFjdGx5IG1hdGNoCi10aGUgdHlwZSBvZiB0aGUgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXIgaW4gdGhlIHN1cGVyY2xhc3MuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZTo8L3A+Ci0KLTxibG9ja3F1b3RlPgotPHByZT4KLWltcG9ydCBhbHBoYS5Gb287Ci1wdWJsaWMgY2xhc3MgQSB7Ci0gIHB1YmxpYyBpbnQgZihGb28geCkgeyByZXR1cm4gMTc7IH0KLX0KLS0tLS0KLWltcG9ydCBiZXRhLkZvbzsKLXB1YmxpYyBjbGFzcyBCIGV4dGVuZHMgQSB7Ci0gIHB1YmxpYyBpbnQgZihGb28geCkgeyByZXR1cm4gNDI7IH0KLSAgcHVibGljIGludCBmKGFscGhhLkZvbyB4KSB7IHJldHVybiAyNzsgfQotfQotPC9wcmU+Ci08L2Jsb2NrcXVvdGU+Ci0KLTxwPlRoZSA8Y29kZT5mKEZvbyk8L2NvZGU+IG1ldGhvZCBkZWZpbmVkIGluIGNsYXNzIDxjb2RlPkI8L2NvZGU+IGRvZXNuJ3QKLW92ZXJyaWRlIHRoZQotPGNvZGU+ZihGb28pPC9jb2RlPiBtZXRob2QgZGVmaW5lZCBpbiBjbGFzcyA8Y29kZT5BPC9jb2RlPiwgYmVjYXVzZSB0aGUgYXJndW1lbnQKLXR5cGVzIGFyZSA8Y29kZT5Gb288L2NvZGU+J3MgZnJvbSBkaWZmZXJlbnQgcGFja2FnZXMuCi08L3A+Ci0KLTxwPkluIHRoaXMgY2FzZSwgdGhlIHN1YmNsYXNzIGRvZXMgZGVmaW5lIGEgbWV0aG9kIHdpdGggYSBzaWduYXR1cmUgaWRlbnRpY2FsIHRvIHRoZSBtZXRob2QgaW4gdGhlIHN1cGVyY2xhc3MsCi1zbyB0aGlzIGlzIHByZXN1bWFibHkgdW5kZXJzdG9vZC4gSG93ZXZlciwgc3VjaCBtZXRob2RzIGFyZSBleGNlcHRpb25hbGx5IGNvbmZ1c2luZy4gWW91IHNob3VsZCBzdHJvbmdseSBjb25zaWRlcgotcmVtb3Zpbmcgb3IgZGVwcmVjYXRpbmcgdGhlIG1ldGhvZCB3aXRoIHRoZSBzaW1pbGFyIGJ1dCBub3QgaWRlbnRpY2FsIHNpZ25hdHVyZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik9EUl9PUEVOX0RBVEFCQVNFX1JFU09VUkNFIj5PRFI6IE1ldGhvZCBtYXkgZmFpbCB0byBjbG9zZSBkYXRhYmFzZSByZXNvdXJjZSAoT0RSX09QRU5fREFUQUJBU0VfUkVTT1VSQ0UpPC9hPjwvaDM+Ci0KLQotPHA+IFRoZSBtZXRob2QgY3JlYXRlcyBhIGRhdGFiYXNlIHJlc291cmNlIChzdWNoIGFzIGEgZGF0YWJhc2UgY29ubmVjdGlvbgotb3Igcm93IHNldCksIGRvZXMgbm90IGFzc2lnbiBpdCB0byBhbnkKLWZpZWxkcywgcGFzcyBpdCB0byBvdGhlciBtZXRob2RzLCBvciByZXR1cm4gaXQsIGFuZCBkb2VzIG5vdCBhcHBlYXIgdG8gY2xvc2UKLXRoZSBvYmplY3Qgb24gYWxsIHBhdGhzIG91dCBvZiB0aGUgbWV0aG9kLiZuYnNwOyBGYWlsdXJlIHRvCi1jbG9zZSBkYXRhYmFzZSByZXNvdXJjZXMgb24gYWxsIHBhdGhzIG91dCBvZiBhIG1ldGhvZCBtYXkKLXJlc3VsdCBpbiBwb29yIHBlcmZvcm1hbmNlLCBhbmQgY291bGQgY2F1c2UgdGhlIGFwcGxpY2F0aW9uIHRvCi1oYXZlIHByb2JsZW1zIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgZGF0YWJhc2UuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJPRFJfT1BFTl9EQVRBQkFTRV9SRVNPVVJDRV9FWENFUFRJT05fUEFUSCI+T0RSOiBNZXRob2QgbWF5IGZhaWwgdG8gY2xvc2UgZGF0YWJhc2UgcmVzb3VyY2Ugb24gZXhjZXB0aW9uIChPRFJfT1BFTl9EQVRBQkFTRV9SRVNPVVJDRV9FWENFUFRJT05fUEFUSCk8L2E+PC9oMz4KLQotCi08cD4gVGhlIG1ldGhvZCBjcmVhdGVzIGEgZGF0YWJhc2UgcmVzb3VyY2UgKHN1Y2ggYXMgYSBkYXRhYmFzZSBjb25uZWN0aW9uCi1vciByb3cgc2V0KSwgZG9lcyBub3QgYXNzaWduIGl0IHRvIGFueQotZmllbGRzLCBwYXNzIGl0IHRvIG90aGVyIG1ldGhvZHMsIG9yIHJldHVybiBpdCwgYW5kIGRvZXMgbm90IGFwcGVhciB0byBjbG9zZQotdGhlIG9iamVjdCBvbiBhbGwgZXhjZXB0aW9uIHBhdGhzIG91dCBvZiB0aGUgbWV0aG9kLiZuYnNwOyBGYWlsdXJlIHRvCi1jbG9zZSBkYXRhYmFzZSByZXNvdXJjZXMgb24gYWxsIHBhdGhzIG91dCBvZiBhIG1ldGhvZCBtYXkKLXJlc3VsdCBpbiBwb29yIHBlcmZvcm1hbmNlLCBhbmQgY291bGQgY2F1c2UgdGhlIGFwcGxpY2F0aW9uIHRvCi1oYXZlIHByb2JsZW1zIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgZGF0YWJhc2UuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iT1NfT1BFTl9TVFJFQU0iPk9TOiBNZXRob2QgbWF5IGZhaWwgdG8gY2xvc2Ugc3RyZWFtIChPU19PUEVOX1NUUkVBTSk8L2E+PC9oMz4KLQotCi08cD4gVGhlIG1ldGhvZCBjcmVhdGVzIGFuIElPIHN0cmVhbSBvYmplY3QsIGRvZXMgbm90IGFzc2lnbiBpdCB0byBhbnkKLWZpZWxkcywgcGFzcyBpdCB0byBvdGhlciBtZXRob2RzIHRoYXQgbWlnaHQgY2xvc2UgaXQsCi1vciByZXR1cm4gaXQsIGFuZCBkb2VzIG5vdCBhcHBlYXIgdG8gY2xvc2UKLXRoZSBzdHJlYW0gb24gYWxsIHBhdGhzIG91dCBvZiB0aGUgbWV0aG9kLiZuYnNwOyBUaGlzIG1heSByZXN1bHQgaW4KLWEgZmlsZSBkZXNjcmlwdG9yIGxlYWsuJm5ic3A7IEl0IGlzIGdlbmVyYWxseSBhIGdvb2QKLWlkZWEgdG8gdXNlIGEgPGNvZGU+ZmluYWxseTwvY29kZT4gYmxvY2sgdG8gZW5zdXJlIHRoYXQgc3RyZWFtcyBhcmUKLWNsb3NlZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJPU19PUEVOX1NUUkVBTV9FWENFUFRJT05fUEFUSCI+T1M6IE1ldGhvZCBtYXkgZmFpbCB0byBjbG9zZSBzdHJlYW0gb24gZXhjZXB0aW9uIChPU19PUEVOX1NUUkVBTV9FWENFUFRJT05fUEFUSCk8L2E+PC9oMz4KLQotCi08cD4gVGhlIG1ldGhvZCBjcmVhdGVzIGFuIElPIHN0cmVhbSBvYmplY3QsIGRvZXMgbm90IGFzc2lnbiBpdCB0byBhbnkKLWZpZWxkcywgcGFzcyBpdCB0byBvdGhlciBtZXRob2RzLCBvciByZXR1cm4gaXQsIGFuZCBkb2VzIG5vdCBhcHBlYXIgdG8gY2xvc2UKLWl0IG9uIGFsbCBwb3NzaWJsZSBleGNlcHRpb24gcGF0aHMgb3V0IG9mIHRoZSBtZXRob2QuJm5ic3A7Ci1UaGlzIG1heSByZXN1bHQgaW4gYSBmaWxlIGRlc2NyaXB0b3IgbGVhay4mbmJzcDsgSXQgaXMgZ2VuZXJhbGx5IGEgZ29vZAotaWRlYSB0byB1c2UgYSA8Y29kZT5maW5hbGx5PC9jb2RlPiBibG9jayB0byBlbnN1cmUgdGhhdCBzdHJlYW1zIGFyZQotY2xvc2VkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlBaX0RPTlRfUkVVU0VfRU5UUllfT0JKRUNUU19JTl9JVEVSQVRPUlMiPlBaOiBEb24ndCByZXVzZSBlbnRyeSBvYmplY3RzIGluIGl0ZXJhdG9ycyAoUFpfRE9OVF9SRVVTRV9FTlRSWV9PQkpFQ1RTX0lOX0lURVJBVE9SUyk8L2E+PC9oMz4KLQotICAgICAKLSAgICAgPHA+IFRoZSBlbnRyeVNldCgpIG1ldGhvZCBpcyBhbGxvd2VkIHRvIHJldHVybiBhIHZpZXcgb2YgdGhlCi0gICAgIHVuZGVybHlpbmcgTWFwIGluIHdoaWNoIGFuIEl0ZXJhdG9yIGFuZCBNYXAuRW50cnkuIFRoaXMgY2xldmVyCi0gICAgIGlkZWEgd2FzIHVzZWQgaW4gc2V2ZXJhbCBNYXAgaW1wbGVtZW50YXRpb25zLCBidXQgaW50cm9kdWNlcyB0aGUgcG9zc2liaWxpdHkKLSAgICAgb2YgbmFzdHkgY29kaW5nIG1pc3Rha2VzLiBJZiBhIG1hcCA8Y29kZT5tPC9jb2RlPiByZXR1cm5zCi0gICAgIHN1Y2ggYW4gaXRlcmF0b3IgZm9yIGFuIGVudHJ5U2V0LCB0aGVuCi0gICAgIDxjb2RlPmMuYWRkQWxsKG0uZW50cnlTZXQoKSk8L2NvZGU+IHdpbGwgZ28gYmFkbHkgd3JvbmcuIEFsbCBvZgotICAgICB0aGUgTWFwIGltcGxlbWVudGF0aW9ucyBpbiBPcGVuSkRLIDEuNyBoYXZlIGJlZW4gcmV3cml0dGVuIHRvIGF2b2lkIHRoaXMsCi0gICAgIHlvdSBzaG91bGQgdG8uCi0gICAgPC9wPgotICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJSQ19SRUZfQ09NUEFSSVNPTl9CQURfUFJBQ1RJQ0UiPlJDOiBTdXNwaWNpb3VzIHJlZmVyZW5jZSBjb21wYXJpc29uIHRvIGNvbnN0YW50IChSQ19SRUZfQ09NUEFSSVNPTl9CQURfUFJBQ1RJQ0UpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbXBhcmVzIGEgcmVmZXJlbmNlIHZhbHVlIHRvIGEgY29uc3RhbnQgdXNpbmcgdGhlID09IG9yICE9IG9wZXJhdG9yLAotd2hlcmUgdGhlIGNvcnJlY3Qgd2F5IHRvIGNvbXBhcmUgaW5zdGFuY2VzIG9mIHRoaXMgdHlwZSBpcyBnZW5lcmFsbHkKLXdpdGggdGhlIGVxdWFscygpIG1ldGhvZC4KLUl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBkaXN0aW5jdCBpbnN0YW5jZXMgdGhhdCBhcmUgZXF1YWwgYnV0IGRvIG5vdCBjb21wYXJlIGFzID09IHNpbmNlCi10aGV5IGFyZSBkaWZmZXJlbnQgb2JqZWN0cy4KLUV4YW1wbGVzIG9mIGNsYXNzZXMgd2hpY2ggc2hvdWxkIGdlbmVyYWxseQotbm90IGJlIGNvbXBhcmVkIGJ5IHJlZmVyZW5jZSBhcmUgamF2YS5sYW5nLkludGVnZXIsIGphdmEubGFuZy5GbG9hdCwgZXRjLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJDX1JFRl9DT01QQVJJU09OX0JBRF9QUkFDVElDRV9CT09MRUFOIj5SQzogU3VzcGljaW91cyByZWZlcmVuY2UgY29tcGFyaXNvbiBvZiBCb29sZWFuIHZhbHVlcyAoUkNfUkVGX0NPTVBBUklTT05fQkFEX1BSQUNUSUNFX0JPT0xFQU4pPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbXBhcmVzIHR3byBCb29sZWFuIHZhbHVlcyB1c2luZyB0aGUgPT0gb3IgIT0gb3BlcmF0b3IuCi1Ob3JtYWxseSwgdGhlcmUgYXJlIG9ubHkgdHdvIEJvb2xlYW4gdmFsdWVzIChCb29sZWFuLlRSVUUgYW5kIEJvb2xlYW4uRkFMU0UpLAotYnV0IGl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBvdGhlciBCb29sZWFuIG9iamVjdHMgdXNpbmcgdGhlIDxjb2RlPm5ldyBCb29sZWFuKGIpPC9jb2RlPgotY29uc3RydWN0b3IuIEl0IGlzIGJlc3QgdG8gYXZvaWQgc3VjaCBvYmplY3RzLCBidXQgaWYgdGhleSBkbyBleGlzdCwKLXRoZW4gY2hlY2tpbmcgQm9vbGVhbiBvYmplY3RzIGZvciBlcXVhbGl0eSB1c2luZyA9PSBvciAhPSB3aWxsIGdpdmUgcmVzdWx0cwotdGhhbiBhcmUgZGlmZmVyZW50IHRoYW4geW91IHdvdWxkIGdldCB1c2luZyA8Y29kZT4uZXF1YWxzKC4uLik8L2NvZGU+Ci08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSUl9OT1RfQ0hFQ0tFRCI+UlI6IE1ldGhvZCBpZ25vcmVzIHJlc3VsdHMgb2YgSW5wdXRTdHJlYW0ucmVhZCgpIChSUl9OT1RfQ0hFQ0tFRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBpZ25vcmVzIHRoZSByZXR1cm4gdmFsdWUgb2Ygb25lIG9mIHRoZSB2YXJpYW50cyBvZgotICA8Y29kZT5qYXZhLmlvLklucHV0U3RyZWFtLnJlYWQoKTwvY29kZT4gd2hpY2ggY2FuIHJldHVybiBtdWx0aXBsZSBieXRlcy4mbmJzcDsKLSAgSWYgdGhlIHJldHVybiB2YWx1ZSBpcyBub3QgY2hlY2tlZCwgdGhlIGNhbGxlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGNvcnJlY3RseQotICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZmV3ZXIgYnl0ZXMgd2VyZSByZWFkIHRoYW4gdGhlIGNhbGxlciByZXF1ZXN0ZWQuJm5ic3A7Ci0gIFRoaXMgaXMgYSBwYXJ0aWN1bGFybHkgaW5zaWRpb3VzIGtpbmQgb2YgYnVnLCBiZWNhdXNlIGluIG1hbnkgcHJvZ3JhbXMsCi0gIHJlYWRzIGZyb20gaW5wdXQgc3RyZWFtcyB1c3VhbGx5IGRvIHJlYWQgdGhlIGZ1bGwgYW1vdW50IG9mIGRhdGEgcmVxdWVzdGVkLAotICBjYXVzaW5nIHRoZSBwcm9ncmFtIHRvIGZhaWwgb25seSBzcG9yYWRpY2FsbHkuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU1JfTk9UX0NIRUNLRUQiPlJSOiBNZXRob2QgaWdub3JlcyByZXN1bHRzIG9mIElucHV0U3RyZWFtLnNraXAoKSAoU1JfTk9UX0NIRUNLRUQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2QgaWdub3JlcyB0aGUgcmV0dXJuIHZhbHVlIG9mCi0gIDxjb2RlPmphdmEuaW8uSW5wdXRTdHJlYW0uc2tpcCgpPC9jb2RlPiB3aGljaCBjYW4gc2tpcCBtdWx0aXBsZSBieXRlcy4mbmJzcDsKLSAgSWYgdGhlIHJldHVybiB2YWx1ZSBpcyBub3QgY2hlY2tlZCwgdGhlIGNhbGxlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGNvcnJlY3RseQotICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZmV3ZXIgYnl0ZXMgd2VyZSBza2lwcGVkIHRoYW4gdGhlIGNhbGxlciByZXF1ZXN0ZWQuJm5ic3A7Ci0gIFRoaXMgaXMgYSBwYXJ0aWN1bGFybHkgaW5zaWRpb3VzIGtpbmQgb2YgYnVnLCBiZWNhdXNlIGluIG1hbnkgcHJvZ3JhbXMsCi0gIHNraXBzIGZyb20gaW5wdXQgc3RyZWFtcyB1c3VhbGx5IGRvIHNraXAgdGhlIGZ1bGwgYW1vdW50IG9mIGRhdGEgcmVxdWVzdGVkLAotICBjYXVzaW5nIHRoZSBwcm9ncmFtIHRvIGZhaWwgb25seSBzcG9yYWRpY2FsbHkuIFdpdGggQnVmZmVyZWQgc3RyZWFtcywgaG93ZXZlciwKLSAgc2tpcCgpIHdpbGwgb25seSBza2lwIGRhdGEgaW4gdGhlIGJ1ZmZlciwgYW5kIHdpbGwgcm91dGluZWx5IGZhaWwgdG8gc2tpcCB0aGUKLSAgcmVxdWVzdGVkIG51bWJlciBvZiBieXRlcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9ORUdBVElOR19SRVNVTFRfT0ZfQ09NUEFSRVRPIj5SVjogTmVnYXRpbmcgdGhlIHJlc3VsdCBvZiBjb21wYXJlVG8oKS9jb21wYXJlKCkgKFJWX05FR0FUSU5HX1JFU1VMVF9PRl9DT01QQVJFVE8pPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjb2RlIG5lZ2F0aXZlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGEgY29tcGFyZVRvIG9yIGNvbXBhcmUgbWV0aG9kLgotVGhpcyBpcyBhIHF1ZXN0aW9uYWJsZSBvciBiYWQgcHJvZ3JhbW1pbmcgcHJhY3RpY2UsIHNpbmNlIGlmIHRoZSByZXR1cm4KLXZhbHVlIGlzIEludGVnZXIuTUlOX1ZBTFVFLCBuZWdhdGluZyB0aGUgcmV0dXJuIHZhbHVlIHdvbid0Ci1uZWdhdGUgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdC4gWW91IGNhbiBhY2hpZXZlIHRoZSBzYW1lIGludGVuZGVkIHJlc3VsdAotYnkgcmV2ZXJzaW5nIHRoZSBvcmRlciBvZiB0aGUgb3BlcmFuZHMgcmF0aGVyIHRoYW4gYnkgbmVnYXRpbmcgdGhlIHJlc3VsdHMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9SRVRVUk5fVkFMVUVfSUdOT1JFRF9CQURfUFJBQ1RJQ0UiPlJWOiBNZXRob2QgaWdub3JlcyBleGNlcHRpb25hbCByZXR1cm4gdmFsdWUgKFJWX1JFVFVSTl9WQUxVRV9JR05PUkVEX0JBRF9QUkFDVElDRSk8L2E+PC9oMz4KLQotCi0gICA8cD4gVGhpcyBtZXRob2QgcmV0dXJucyBhIHZhbHVlIHRoYXQgaXMgbm90IGNoZWNrZWQuIFRoZSByZXR1cm4gdmFsdWUgc2hvdWxkIGJlIGNoZWNrZWQKLXNpbmNlIGl0IGNhbiBpbmRpY2F0ZSBhbiB1bnVzdWFsIG9yIHVuZXhwZWN0ZWQgZnVuY3Rpb24gZXhlY3V0aW9uLiBGb3IKLWV4YW1wbGUsIHRoZSA8Y29kZT5GaWxlLmRlbGV0ZSgpPC9jb2RlPiBtZXRob2QgcmV0dXJucyBmYWxzZQotaWYgdGhlIGZpbGUgY291bGQgbm90IGJlIHN1Y2Nlc3NmdWxseSBkZWxldGVkIChyYXRoZXIgdGhhbgotdGhyb3dpbmcgYW4gRXhjZXB0aW9uKS4KLUlmIHlvdSBkb24ndCBjaGVjayB0aGUgcmVzdWx0LCB5b3Ugd29uJ3Qgbm90aWNlIGlmIHRoZSBtZXRob2QgaW52b2NhdGlvbgotc2lnbmFscyB1bmV4cGVjdGVkIGJlaGF2aW9yIGJ5IHJldHVybmluZyBhbiBhdHlwaWNhbCByZXR1cm4gdmFsdWUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTSV9JTlNUQU5DRV9CRUZPUkVfRklOQUxTX0FTU0lHTkVEIj5TSTogU3RhdGljIGluaXRpYWxpemVyIGNyZWF0ZXMgaW5zdGFuY2UgYmVmb3JlIGFsbCBzdGF0aWMgZmluYWwgZmllbGRzIGFzc2lnbmVkIChTSV9JTlNUQU5DRV9CRUZPUkVfRklOQUxTX0FTU0lHTkVEKTwvYT48L2gzPgotCi0KLTxwPiBUaGUgY2xhc3MncyBzdGF0aWMgaW5pdGlhbGl6ZXIgY3JlYXRlcyBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3MKLWJlZm9yZSBhbGwgb2YgdGhlIHN0YXRpYyBmaW5hbCBmaWVsZHMgYXJlIGFzc2lnbmVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNXX1NXSU5HX01FVEhPRFNfSU5WT0tFRF9JTl9TV0lOR19USFJFQUQiPlNXOiBDZXJ0YWluIHN3aW5nIG1ldGhvZHMgbmVlZHMgdG8gYmUgaW52b2tlZCBpbiBTd2luZyB0aHJlYWQgKFNXX1NXSU5HX01FVEhPRFNfSU5WT0tFRF9JTl9TV0lOR19USFJFQUQpPC9hPjwvaDM+Ci0KLQotPHA+KDxhIGhyZWY9Imh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMDkwNTI2MTcwNDI2L2h0dHA6Ly9qYXZhLnN1bi5jb20vZGV2ZWxvcGVyL0pEQ1RlY2hUaXBzLzIwMDMvdHQxMjA4Lmh0bWwiPkZyb20gSkRDIFRlY2ggVGlwPC9hPik6IFRoZSBTd2luZyBtZXRob2RzCi1zaG93KCksIHNldFZpc2libGUoKSwgYW5kIHBhY2soKSB3aWxsIGNyZWF0ZSB0aGUgYXNzb2NpYXRlZCBwZWVyIGZvciB0aGUgZnJhbWUuCi1XaXRoIHRoZSBjcmVhdGlvbiBvZiB0aGUgcGVlciwgdGhlIHN5c3RlbSBjcmVhdGVzIHRoZSBldmVudCBkaXNwYXRjaCB0aHJlYWQuCi1UaGlzIG1ha2VzIHRoaW5ncyBwcm9ibGVtYXRpYyBiZWNhdXNlIHRoZSBldmVudCBkaXNwYXRjaCB0aHJlYWQgY291bGQgYmUgbm90aWZ5aW5nCi1saXN0ZW5lcnMgd2hpbGUgcGFjayBhbmQgdmFsaWRhdGUgYXJlIHN0aWxsIHByb2Nlc3NpbmcuIFRoaXMgc2l0dWF0aW9uIGNvdWxkIHJlc3VsdCBpbgotdHdvIHRocmVhZHMgZ29pbmcgdGhyb3VnaCB0aGUgU3dpbmcgY29tcG9uZW50LWJhc2VkIEdVSSAtLSBpdCdzIGEgc2VyaW91cyBmbGF3IHRoYXQKLWNvdWxkIHJlc3VsdCBpbiBkZWFkbG9ja3Mgb3Igb3RoZXIgcmVsYXRlZCB0aHJlYWRpbmcgaXNzdWVzLiBBIHBhY2sgY2FsbCBjYXVzZXMKLWNvbXBvbmVudHMgdG8gYmUgcmVhbGl6ZWQuIEFzIHRoZXkgYXJlIGJlaW5nIHJlYWxpemVkICh0aGF0IGlzLCBub3QgbmVjZXNzYXJpbHkKLXZpc2libGUpLCB0aGV5IGNvdWxkIHRyaWdnZXIgbGlzdGVuZXIgbm90aWZpY2F0aW9uIG9uIHRoZSBldmVudCBkaXNwYXRjaCB0aHJlYWQuPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9CQURfRklFTEQiPlNlOiBOb24tdHJhbnNpZW50IG5vbi1zZXJpYWxpemFibGUgaW5zdGFuY2UgZmllbGQgaW4gc2VyaWFsaXphYmxlIGNsYXNzIChTRV9CQURfRklFTEQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgU2VyaWFsaXphYmxlIGNsYXNzIGRlZmluZXMgYSBub24tcHJpbWl0aXZlIGluc3RhbmNlIGZpZWxkIHdoaWNoIGlzIG5laXRoZXIgdHJhbnNpZW50LAotU2VyaWFsaXphYmxlLCBvciA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPiwgYW5kIGRvZXMgbm90IGFwcGVhciB0byBpbXBsZW1lbnQKLXRoZSA8Y29kZT5FeHRlcm5hbGl6YWJsZTwvY29kZT4gaW50ZXJmYWNlIG9yIHRoZQotPGNvZGU+cmVhZE9iamVjdCgpPC9jb2RlPiBhbmQgPGNvZGU+d3JpdGVPYmplY3QoKTwvY29kZT4gbWV0aG9kcy4mbmJzcDsKLU9iamVjdHMgb2YgdGhpcyBjbGFzcyB3aWxsIG5vdCBiZSBkZXNlcmlhbGl6ZWQgY29ycmVjdGx5IGlmIGEgbm9uLVNlcmlhbGl6YWJsZQotb2JqZWN0IGlzIHN0b3JlZCBpbiB0aGlzIGZpZWxkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX0JBRF9GSUVMRF9JTk5FUl9DTEFTUyI+U2U6IE5vbi1zZXJpYWxpemFibGUgY2xhc3MgaGFzIGEgc2VyaWFsaXphYmxlIGlubmVyIGNsYXNzIChTRV9CQURfRklFTERfSU5ORVJfQ0xBU1MpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgU2VyaWFsaXphYmxlIGNsYXNzIGlzIGFuIGlubmVyIGNsYXNzIG9mIGEgbm9uLXNlcmlhbGl6YWJsZSBjbGFzcy4KLVRodXMsIGF0dGVtcHRzIHRvIHNlcmlhbGl6ZSBpdCB3aWxsIGFsc28gYXR0ZW1wdCB0byBhc3NvY2lhdGUgaW5zdGFuY2Ugb2YgdGhlIG91dGVyCi1jbGFzcyB3aXRoIHdoaWNoIGl0IGlzIGFzc29jaWF0ZWQsIGxlYWRpbmcgdG8gYSBydW50aW1lIGVycm9yLgotPC9wPgotPHA+SWYgcG9zc2libGUsIG1ha2luZyB0aGUgaW5uZXIgY2xhc3MgYSBzdGF0aWMgaW5uZXIgY2xhc3Mgc2hvdWxkIHNvbHZlIHRoZQotcHJvYmxlbS4gTWFraW5nIHRoZSBvdXRlciBjbGFzcyBzZXJpYWxpemFibGUgbWlnaHQgYWxzbyB3b3JrLCBidXQgdGhhdCB3b3VsZAotbWVhbiBzZXJpYWxpemluZyBhbiBpbnN0YW5jZSBvZiB0aGUgaW5uZXIgY2xhc3Mgd291bGQgYWx3YXlzIGFsc28gc2VyaWFsaXplIHRoZSBpbnN0YW5jZQotb2YgdGhlIG91dGVyIGNsYXNzLCB3aGljaCBpdCBvZnRlbiBub3Qgd2hhdCB5b3UgcmVhbGx5IHdhbnQuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9CQURfRklFTERfU1RPUkUiPlNlOiBOb24tc2VyaWFsaXphYmxlIHZhbHVlIHN0b3JlZCBpbnRvIGluc3RhbmNlIGZpZWxkIG9mIGEgc2VyaWFsaXphYmxlIGNsYXNzIChTRV9CQURfRklFTERfU1RPUkUpPC9hPjwvaDM+Ci0KLQotPHA+IEEgbm9uLXNlcmlhbGl6YWJsZSB2YWx1ZSBpcyBzdG9yZWQgaW50byBhIG5vbi10cmFuc2llbnQgZmllbGQKLW9mIGEgc2VyaWFsaXphYmxlIGNsYXNzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX0NPTVBBUkFUT1JfU0hPVUxEX0JFX1NFUklBTElaQUJMRSI+U2U6IENvbXBhcmF0b3IgZG9lc24ndCBpbXBsZW1lbnQgU2VyaWFsaXphYmxlIChTRV9DT01QQVJBVE9SX1NIT1VMRF9CRV9TRVJJQUxJWkFCTEUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHRoZSA8Y29kZT5Db21wYXJhdG9yPC9jb2RlPiBpbnRlcmZhY2UuIFlvdQotc2hvdWxkIGNvbnNpZGVyIHdoZXRoZXIgb3Igbm90IGl0IHNob3VsZCBhbHNvIGltcGxlbWVudCB0aGUgPGNvZGU+U2VyaWFsaXphYmxlPC9jb2RlPgotaW50ZXJmYWNlLiBJZiBhIGNvbXBhcmF0b3IgaXMgdXNlZCB0byBjb25zdHJ1Y3QgYW4gb3JkZXJlZCBjb2xsZWN0aW9uCi1zdWNoIGFzIGEgPGNvZGU+VHJlZU1hcDwvY29kZT4sIHRoZW4gdGhlIDxjb2RlPlRyZWVNYXA8L2NvZGU+Ci13aWxsIGJlIHNlcmlhbGl6YWJsZSBvbmx5IGlmIHRoZSBjb21wYXJhdG9yIGlzIGFsc28gc2VyaWFsaXphYmxlLgotQXMgbW9zdCBjb21wYXJhdG9ycyBoYXZlIGxpdHRsZSBvciBubyBzdGF0ZSwgbWFraW5nIHRoZW0gc2VyaWFsaXphYmxlCi1pcyBnZW5lcmFsbHkgZWFzeSBhbmQgZ29vZCBkZWZlbnNpdmUgcHJvZ3JhbW1pbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9JTk5FUl9DTEFTUyI+U2U6IFNlcmlhbGl6YWJsZSBpbm5lciBjbGFzcyAoU0VfSU5ORVJfQ0xBU1MpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgU2VyaWFsaXphYmxlIGNsYXNzIGlzIGFuIGlubmVyIGNsYXNzLiAgQW55IGF0dGVtcHQgdG8gc2VyaWFsaXplCi1pdCB3aWxsIGFsc28gc2VyaWFsaXplIHRoZSBhc3NvY2lhdGVkIG91dGVyIGluc3RhbmNlLiBUaGUgb3V0ZXIgaW5zdGFuY2UgaXMgc2VyaWFsaXphYmxlLAotc28gdGhpcyB3b24ndCBmYWlsLCBidXQgaXQgbWlnaHQgc2VyaWFsaXplIGEgbG90IG1vcmUgZGF0YSB0aGFuIGludGVuZGVkLgotSWYgcG9zc2libGUsIG1ha2luZyB0aGUgaW5uZXIgY2xhc3MgYSBzdGF0aWMgaW5uZXIgY2xhc3MgKGFsc28ga25vd24gYXMgYSBuZXN0ZWQgY2xhc3MpIHNob3VsZCBzb2x2ZSB0aGUKLXByb2JsZW0uCi0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9OT05GSU5BTF9TRVJJQUxWRVJTSU9OSUQiPlNlOiBzZXJpYWxWZXJzaW9uVUlEIGlzbid0IGZpbmFsIChTRV9OT05GSU5BTF9TRVJJQUxWRVJTSU9OSUQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgPGNvZGU+c2VyaWFsVmVyc2lvblVJRDwvY29kZT4gZmllbGQgdGhhdCBpcyBub3QgZmluYWwuJm5ic3A7Ci0gIFRoZSBmaWVsZCBzaG91bGQgYmUgbWFkZSBmaW5hbAotICAgaWYgaXQgaXMgaW50ZW5kZWQgdG8gc3BlY2lmeQotICAgdGhlIHZlcnNpb24gVUlEIGZvciBwdXJwb3NlcyBvZiBzZXJpYWxpemF0aW9uLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX05PTkxPTkdfU0VSSUFMVkVSU0lPTklEIj5TZTogc2VyaWFsVmVyc2lvblVJRCBpc24ndCBsb25nIChTRV9OT05MT05HX1NFUklBTFZFUlNJT05JRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSA8Y29kZT5zZXJpYWxWZXJzaW9uVUlEPC9jb2RlPiBmaWVsZCB0aGF0IGlzIG5vdCBsb25nLiZuYnNwOwotICBUaGUgZmllbGQgc2hvdWxkIGJlIG1hZGUgbG9uZwotICAgaWYgaXQgaXMgaW50ZW5kZWQgdG8gc3BlY2lmeQotICAgdGhlIHZlcnNpb24gVUlEIGZvciBwdXJwb3NlcyBvZiBzZXJpYWxpemF0aW9uLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX05PTlNUQVRJQ19TRVJJQUxWRVJTSU9OSUQiPlNlOiBzZXJpYWxWZXJzaW9uVUlEIGlzbid0IHN0YXRpYyAoU0VfTk9OU1RBVElDX1NFUklBTFZFUlNJT05JRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSA8Y29kZT5zZXJpYWxWZXJzaW9uVUlEPC9jb2RlPiBmaWVsZCB0aGF0IGlzIG5vdCBzdGF0aWMuJm5ic3A7Ci0gIFRoZSBmaWVsZCBzaG91bGQgYmUgbWFkZSBzdGF0aWMKLSAgIGlmIGl0IGlzIGludGVuZGVkIHRvIHNwZWNpZnkKLSAgIHRoZSB2ZXJzaW9uIFVJRCBmb3IgcHVycG9zZXMgb2Ygc2VyaWFsaXphdGlvbi48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9OT19TVUlUQUJMRV9DT05TVFJVQ1RPUiI+U2U6IENsYXNzIGlzIFNlcmlhbGl6YWJsZSBidXQgaXRzIHN1cGVyY2xhc3MgZG9lc24ndCBkZWZpbmUgYSB2b2lkIGNvbnN0cnVjdG9yIChTRV9OT19TVUlUQUJMRV9DT05TVFJVQ1RPUik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGltcGxlbWVudHMgdGhlIDxjb2RlPlNlcmlhbGl6YWJsZTwvY29kZT4gaW50ZXJmYWNlCi0gICBhbmQgaXRzIHN1cGVyY2xhc3MgZG9lcyBub3QuIFdoZW4gc3VjaCBhbiBvYmplY3QgaXMgZGVzZXJpYWxpemVkLAotICAgdGhlIGZpZWxkcyBvZiB0aGUgc3VwZXJjbGFzcyBuZWVkIHRvIGJlIGluaXRpYWxpemVkIGJ5Ci0gICBpbnZva2luZyB0aGUgdm9pZCBjb25zdHJ1Y3RvciBvZiB0aGUgc3VwZXJjbGFzcy4KLSAgIFNpbmNlIHRoZSBzdXBlcmNsYXNzIGRvZXMgbm90IGhhdmUgb25lLAotICAgc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxpemF0aW9uIHdpbGwgZmFpbCBhdCBydW50aW1lLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX05PX1NVSVRBQkxFX0NPTlNUUlVDVE9SX0ZPUl9FWFRFUk5BTElaQVRJT04iPlNlOiBDbGFzcyBpcyBFeHRlcm5hbGl6YWJsZSBidXQgZG9lc24ndCBkZWZpbmUgYSB2b2lkIGNvbnN0cnVjdG9yIChTRV9OT19TVUlUQUJMRV9DT05TVFJVQ1RPUl9GT1JfRVhURVJOQUxJWkFUSU9OKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgPGNvZGU+RXh0ZXJuYWxpemFibGU8L2NvZGU+IGludGVyZmFjZSwgYnV0IGRvZXMKLSAgbm90IGRlZmluZSBhIHZvaWQgY29uc3RydWN0b3IuIFdoZW4gRXh0ZXJuYWxpemFibGUgb2JqZWN0cyBhcmUgZGVzZXJpYWxpemVkLAotICAgdGhleSBmaXJzdCBuZWVkIHRvIGJlIGNvbnN0cnVjdGVkIGJ5IGludm9raW5nIHRoZSB2b2lkCi0gICBjb25zdHJ1Y3Rvci4gU2luY2UgdGhpcyBjbGFzcyBkb2VzIG5vdCBoYXZlIG9uZSwKLSAgIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiB3aWxsIGZhaWwgYXQgcnVudGltZS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9SRUFEX1JFU09MVkVfTVVTVF9SRVRVUk5fT0JKRUNUIj5TZTogVGhlIHJlYWRSZXNvbHZlIG1ldGhvZCBtdXN0IGJlIGRlY2xhcmVkIHdpdGggYSByZXR1cm4gdHlwZSBvZiBPYmplY3QuICAoU0VfUkVBRF9SRVNPTFZFX01VU1RfUkVUVVJOX09CSkVDVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBJbiBvcmRlciBmb3IgdGhlIHJlYWRSZXNvbHZlIG1ldGhvZCB0byBiZSByZWNvZ25pemVkIGJ5IHRoZSBzZXJpYWxpemF0aW9uCi1tZWNoYW5pc20sIGl0IG11c3QgYmUgZGVjbGFyZWQgdG8gaGF2ZSBhIHJldHVybiB0eXBlIG9mIE9iamVjdC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX1RSQU5TSUVOVF9GSUVMRF9OT1RfUkVTVE9SRUQiPlNlOiBUcmFuc2llbnQgZmllbGQgdGhhdCBpc24ndCBzZXQgYnkgZGVzZXJpYWxpemF0aW9uLiAgKFNFX1RSQU5TSUVOVF9GSUVMRF9OT1RfUkVTVE9SRUQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBjb250YWlucyBhIGZpZWxkIHRoYXQgaXMgdXBkYXRlZCBhdCBtdWx0aXBsZSBwbGFjZXMgaW4gdGhlIGNsYXNzLCB0aHVzIGl0IHNlZW1zIHRvIGJlIHBhcnQgb2YgdGhlIHN0YXRlIG9mIHRoZSBjbGFzcy4gSG93ZXZlciwgc2luY2UgdGhlIGZpZWxkIGlzIG1hcmtlZCBhcyB0cmFuc2llbnQgYW5kIG5vdCBzZXQgaW4gcmVhZE9iamVjdCBvciByZWFkUmVzb2x2ZSwgaXQgd2lsbCBjb250YWluIHRoZSBkZWZhdWx0IHZhbHVlIGluIGFueQotZGVzZXJpYWxpemVkIGluc3RhbmNlIG9mIHRoZSBjbGFzcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX05PX1NFUklBTFZFUlNJT05JRCI+U25WSTogQ2xhc3MgaXMgU2VyaWFsaXphYmxlLCBidXQgZG9lc24ndCBkZWZpbmUgc2VyaWFsVmVyc2lvblVJRCAoU0VfTk9fU0VSSUFMVkVSU0lPTklEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgPGNvZGU+U2VyaWFsaXphYmxlPC9jb2RlPiBpbnRlcmZhY2UsIGJ1dCBkb2VzCi0gIG5vdCBkZWZpbmUgYSA8Y29kZT5zZXJpYWxWZXJzaW9uVUlEPC9jb2RlPiBmaWVsZC4mbmJzcDsKLSAgQSBjaGFuZ2UgYXMgc2ltcGxlIGFzIGFkZGluZyBhIHJlZmVyZW5jZSB0byBhIC5jbGFzcyBvYmplY3QKLSAgICB3aWxsIGFkZCBzeW50aGV0aWMgZmllbGRzIHRvIHRoZSBjbGFzcywKLSAgIHdoaWNoIHdpbGwgdW5mb3J0dW5hdGVseSBjaGFuZ2UgdGhlIGltcGxpY2l0Ci0gICBzZXJpYWxWZXJzaW9uVUlEIChlLmcuLCBhZGRpbmcgYSByZWZlcmVuY2UgdG8gPGNvZGU+U3RyaW5nLmNsYXNzPC9jb2RlPgotICAgd2lsbCBnZW5lcmF0ZSBhIHN0YXRpYyBmaWVsZCA8Y29kZT5jbGFzcyRqYXZhJGxhbmckU3RyaW5nPC9jb2RlPikuCi0gICBBbHNvLCBkaWZmZXJlbnQgc291cmNlIGNvZGUgdG8gYnl0ZWNvZGUgY29tcGlsZXJzIG1heSB1c2UgZGlmZmVyZW50Ci0gICBuYW1pbmcgY29udmVudGlvbnMgZm9yIHN5bnRoZXRpYyB2YXJpYWJsZXMgZ2VuZXJhdGVkIGZvcgotICAgcmVmZXJlbmNlcyB0byBjbGFzcyBvYmplY3RzIG9yIGlubmVyIGNsYXNzZXMuCi0gICBUbyBlbnN1cmUgaW50ZXJvcGVyYWJpbGl0eSBvZiBTZXJpYWxpemFibGUgYWNyb3NzIHZlcnNpb25zLAotICAgY29uc2lkZXIgYWRkaW5nIGFuIGV4cGxpY2l0IHNlcmlhbFZlcnNpb25VSUQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVUlfSU5IRVJJVEFOQ0VfVU5TQUZFX0dFVFJFU09VUkNFIj5VSTogVXNhZ2Ugb2YgR2V0UmVzb3VyY2UgbWF5IGJlIHVuc2FmZSBpZiBjbGFzcyBpcyBleHRlbmRlZCAoVUlfSU5IRVJJVEFOQ0VfVU5TQUZFX0dFVFJFU09VUkNFKTwvYT48L2gzPgotCi0KLTxwPkNhbGxpbmcgPGNvZGU+dGhpcy5nZXRDbGFzcygpLmdldFJlc291cmNlKC4uLik8L2NvZGU+IGNvdWxkIGdpdmUKLXJlc3VsdHMgb3RoZXIgdGhhbiBleHBlY3RlZCBpZiB0aGlzIGNsYXNzIGlzIGV4dGVuZGVkIGJ5IGEgY2xhc3MgaW4KLWFub3RoZXIgcGFja2FnZS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCQ19JTVBPU1NJQkxFX0NBU1QiPkJDOiBJbXBvc3NpYmxlIGNhc3QgKEJDX0lNUE9TU0lCTEVfQ0FTVCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY2FzdCB3aWxsIGFsd2F5cyB0aHJvdyBhIENsYXNzQ2FzdEV4Y2VwdGlvbi4KLUZpbmRCdWdzIHRyYWNrcyB0eXBlIGluZm9ybWF0aW9uIGZyb20gaW5zdGFuY2VvZiBjaGVja3MsCi1hbmQgYWxzbyB1c2VzIG1vcmUgcHJlY2lzZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdHlwZXMKLW9mIHZhbHVlcyByZXR1cm5lZCBmcm9tIG1ldGhvZHMgYW5kIGxvYWRlZCBmcm9tIGZpZWxkcy4KLVRodXMsIGl0IG1heSBoYXZlIG1vcmUgcHJlY2lzZSBpbmZvcm1hdGlvbiB0aGF0IGp1c3QKLXRoZSBkZWNsYXJlZCB0eXBlIG9mIGEgdmFyaWFibGUsIGFuZCBjYW4gdXNlIHRoaXMgdG8gZGV0ZXJtaW5lCi10aGF0IGEgY2FzdCB3aWxsIGFsd2F5cyB0aHJvdyBhbiBleGNlcHRpb24gYXQgcnVudGltZS4KLQotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQkNfSU1QT1NTSUJMRV9ET1dOQ0FTVCI+QkM6IEltcG9zc2libGUgZG93bmNhc3QgKEJDX0lNUE9TU0lCTEVfRE9XTkNBU1QpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNhc3Qgd2lsbCBhbHdheXMgdGhyb3cgYSBDbGFzc0Nhc3RFeGNlcHRpb24uCi1UaGUgYW5hbHlzaXMgYmVsaWV2ZXMgaXQga25vd3MKLXRoZSBwcmVjaXNlIHR5cGUgb2YgdGhlIHZhbHVlIGJlaW5nIGNhc3QsIGFuZCB0aGUgYXR0ZW1wdCB0bwotZG93bmNhc3QgaXQgdG8gYSBzdWJ0eXBlIHdpbGwgYWx3YXlzIGZhaWwgYnkgdGhyb3dpbmcgYSBDbGFzc0Nhc3RFeGNlcHRpb24uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCQ19JTVBPU1NJQkxFX0RPV05DQVNUX09GX1RPQVJSQVkiPkJDOiBJbXBvc3NpYmxlIGRvd25jYXN0IG9mIHRvQXJyYXkoKSByZXN1bHQgKEJDX0lNUE9TU0lCTEVfRE9XTkNBU1RfT0ZfVE9BUlJBWSk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBpcyBjYXN0aW5nIHRoZSByZXN1bHQgb2YgY2FsbGluZyA8Y29kZT50b0FycmF5KCk8L2NvZGU+IG9uIGEgY29sbGVjdGlvbgotdG8gYSB0eXBlIG1vcmUgc3BlY2lmaWMgdGhhbiA8Y29kZT5PYmplY3RbXTwvY29kZT4sIGFzIGluOjwvcD4KLTxwcmU+Ci1TdHJpbmdbXSBnZXRBc0FycmF5KENvbGxlY3Rpb24mbHQ7U3RyaW5nJmd0OyBjKSB7Ci0gIHJldHVybiAoU3RyaW5nW10pIGMudG9BcnJheSgpOwotICB9Ci08L3ByZT4KLTxwPlRoaXMgd2lsbCB1c3VhbGx5IGZhaWwgYnkgdGhyb3dpbmcgYSBDbGFzc0Nhc3RFeGNlcHRpb24uIFRoZSA8Y29kZT50b0FycmF5KCk8L2NvZGU+Ci1vZiBhbG1vc3QgYWxsIGNvbGxlY3Rpb25zIHJldHVybiBhbiA8Y29kZT5PYmplY3RbXTwvY29kZT4uIFRoZXkgY2FuJ3QgcmVhbGx5IGRvIGFueXRoaW5nIGVsc2UsCi1zaW5jZSB0aGUgQ29sbGVjdGlvbiBvYmplY3QgaGFzIG5vIHJlZmVyZW5jZSB0byB0aGUgZGVjbGFyZWQgZ2VuZXJpYyB0eXBlIG9mIHRoZSBjb2xsZWN0aW9uLgotPHA+VGhlIGNvcnJlY3Qgd2F5IHRvIGRvIGdldCBhbiBhcnJheSBvZiBhIHNwZWNpZmljIHR5cGUgZnJvbSBhIGNvbGxlY3Rpb24gaXMgdG8gdXNlCi0gIDxjb2RlPmMudG9BcnJheShuZXcgU3RyaW5nW10pOzwvY29kZT4KLSAgb3IgPGNvZGU+Yy50b0FycmF5KG5ldyBTdHJpbmdbYy5zaXplKCldKTs8L2NvZGU+ICh0aGUgbGF0dGVyIGlzIHNsaWdodGx5IG1vcmUgZWZmaWNpZW50KS4KLTxwPlRoZXJlIGlzIG9uZSBjb21tb24va25vd24gZXhjZXB0aW9uIGV4Y2VwdGlvbiB0byB0aGlzLiBUaGUgPGNvZGU+dG9BcnJheSgpPC9jb2RlPgotbWV0aG9kIG9mIGxpc3RzIHJldHVybmVkIGJ5IDxjb2RlPkFycmF5cy5hc0xpc3QoLi4uKTwvY29kZT4gd2lsbCByZXR1cm4gYSBjb3ZhcmlhbnRseQotdHlwZWQgYXJyYXkuIEZvciBleGFtcGxlLCA8Y29kZT5BcnJheXMuYXNBcnJheShuZXcgU3RyaW5nW10geyAiYSIgfSkudG9BcnJheSgpPC9jb2RlPgotd2lsbCByZXR1cm4gYSA8Y29kZT5TdHJpbmcgW108L2NvZGU+LiBGaW5kQnVncyBhdHRlbXB0cyB0byBkZXRlY3QgYW5kIHN1cHByZXNzCi1zdWNoIGNhc2VzLCBidXQgbWF5IG1pc3Mgc29tZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJDX0lNUE9TU0lCTEVfSU5TVEFOQ0VPRiI+QkM6IGluc3RhbmNlb2Ygd2lsbCBhbHdheXMgcmV0dXJuIGZhbHNlIChCQ19JTVBPU1NJQkxFX0lOU1RBTkNFT0YpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGluc3RhbmNlb2YgdGVzdCB3aWxsIGFsd2F5cyByZXR1cm4gZmFsc2UuIEFsdGhvdWdoIHRoaXMgaXMgc2FmZSwgbWFrZSBzdXJlIGl0IGlzbid0Ci1hbiBpbmRpY2F0aW9uIG9mIHNvbWUgbWlzdW5kZXJzdGFuZGluZyBvciBzb21lIG90aGVyIGxvZ2ljIGVycm9yLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQklUX0FERF9PRl9TSUdORURfQllURSI+QklUOiBCaXR3aXNlIGFkZCBvZiBzaWduZWQgYnl0ZSB2YWx1ZSAoQklUX0FERF9PRl9TSUdORURfQllURSk8L2E+PC9oMz4KLQotCi08cD4gQWRkcyBhIGJ5dGUgdmFsdWUgYW5kIGEgdmFsdWUgd2hpY2ggaXMga25vd24gdG8gaGF2ZSB0aGUgOCBsb3dlciBiaXRzIGNsZWFyLgotVmFsdWVzIGxvYWRlZCBmcm9tIGEgYnl0ZSBhcnJheSBhcmUgc2lnbiBleHRlbmRlZCB0byAzMiBiaXRzCi1iZWZvcmUgYW55IGFueSBiaXR3aXNlIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCBvbiB0aGUgdmFsdWUuCi1UaHVzLCBpZiA8Y29kZT5iWzBdPC9jb2RlPiBjb250YWlucyB0aGUgdmFsdWUgPGNvZGU+MHhmZjwvY29kZT4sIGFuZAotPGNvZGU+eDwvY29kZT4gaXMgaW5pdGlhbGx5IDAsIHRoZW4gdGhlIGNvZGUKLTxjb2RlPigoeCAmbHQ7Jmx0OyA4KSArIGJbMF0pPC9jb2RlPiAgd2lsbCBzaWduIGV4dGVuZCA8Y29kZT4weGZmPC9jb2RlPgotdG8gZ2V0IDxjb2RlPjB4ZmZmZmZmZmY8L2NvZGU+LCBhbmQgdGh1cyBnaXZlIHRoZSB2YWx1ZQotPGNvZGU+MHhmZmZmZmZmZjwvY29kZT4gYXMgdGhlIHJlc3VsdC4KLTwvcD4KLQotPHA+SW4gcGFydGljdWxhciwgdGhlIGZvbGxvd2luZyBjb2RlIGZvciBwYWNraW5nIGEgYnl0ZSBhcnJheSBpbnRvIGFuIGludCBpcyBiYWRseSB3cm9uZzogPC9wPgotPHByZT4KLWludCByZXN1bHQgPSAwOwotZm9yKGludCBpID0gMDsgaSAmbHQ7IDQ7IGkrKykKLSAgcmVzdWx0ID0gKChyZXN1bHQgJmx0OyZsdDsgOCkgKyBiW2ldKTsKLTwvcHJlPgotCi08cD5UaGUgZm9sbG93aW5nIGlkaW9tIHdpbGwgd29yayBpbnN0ZWFkOiA8L3A+Ci08cHJlPgotaW50IHJlc3VsdCA9IDA7Ci1mb3IoaW50IGkgPSAwOyBpICZsdDsgNDsgaSsrKQotICByZXN1bHQgPSAoKHJlc3VsdCAmbHQ7Jmx0OyA4KSArIChiW2ldICZhbXA7IDB4ZmYpKTsKLTwvcHJlPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJCSVRfQU5EIj5CSVQ6IEluY29tcGF0aWJsZSBiaXQgbWFza3MgKEJJVF9BTkQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbXBhcmVzIGFuIGV4cHJlc3Npb24gb2YgdGhlIGZvcm0gKGUgJmFtcDsgQykgdG8gRCwKLXdoaWNoIHdpbGwgYWx3YXlzIGNvbXBhcmUgdW5lcXVhbAotZHVlIHRvIHRoZSBzcGVjaWZpYyB2YWx1ZXMgb2YgY29uc3RhbnRzIEMgYW5kIEQuCi1UaGlzIG1heSBpbmRpY2F0ZSBhIGxvZ2ljIGVycm9yIG9yIHR5cG8uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQklUX0FORF9aWiI+QklUOiBDaGVjayB0byBzZWUgaWYgKCguLi4pICYgMCkgPT0gMCAoQklUX0FORF9aWik8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29tcGFyZXMgYW4gZXhwcmVzc2lvbiBvZiB0aGUgZm9ybSAoZSAmYW1wOyAwKSB0byAwLAotd2hpY2ggd2lsbCBhbHdheXMgY29tcGFyZSBlcXVhbC4KLVRoaXMgbWF5IGluZGljYXRlIGEgbG9naWMgZXJyb3Igb3IgdHlwby48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCSVRfSU9SIj5CSVQ6IEluY29tcGF0aWJsZSBiaXQgbWFza3MgKEJJVF9JT1IpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbXBhcmVzIGFuIGV4cHJlc3Npb24gb2YgdGhlIGZvcm0gKGUgfCBDKSB0byBELgotd2hpY2ggd2lsbCBhbHdheXMgY29tcGFyZSB1bmVxdWFsCi1kdWUgdG8gdGhlIHNwZWNpZmljIHZhbHVlcyBvZiBjb25zdGFudHMgQyBhbmQgRC4KLVRoaXMgbWF5IGluZGljYXRlIGEgbG9naWMgZXJyb3Igb3IgdHlwby48L3A+Ci0KLTxwPiBUeXBpY2FsbHksIHRoaXMgYnVnIG9jY3VycyBiZWNhdXNlIHRoZSBjb2RlIHdhbnRzIHRvIHBlcmZvcm0KLWEgbWVtYmVyc2hpcCB0ZXN0IGluIGEgYml0IHNldCwgYnV0IHVzZXMgdGhlIGJpdHdpc2UgT1IKLW9wZXJhdG9yICgifCIpIGluc3RlYWQgb2YgYml0d2lzZSBBTkQgKCImYW1wOyIpLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJJVF9JT1JfT0ZfU0lHTkVEX0JZVEUiPkJJVDogQml0d2lzZSBPUiBvZiBzaWduZWQgYnl0ZSB2YWx1ZSAoQklUX0lPUl9PRl9TSUdORURfQllURSk8L2E+PC9oMz4KLQotCi08cD4gTG9hZHMgYSBieXRlIHZhbHVlIChlLmcuLCBhIHZhbHVlIGxvYWRlZCBmcm9tIGEgYnl0ZSBhcnJheSBvciByZXR1cm5lZCBieSBhIG1ldGhvZAotd2l0aCByZXR1cm4gdHlwZSBieXRlKSAgYW5kIHBlcmZvcm1zIGEgYml0d2lzZSBPUiB3aXRoCi10aGF0IHZhbHVlLiBCeXRlIHZhbHVlcyBhcmUgc2lnbiBleHRlbmRlZCB0byAzMiBiaXRzCi1iZWZvcmUgYW55IGFueSBiaXR3aXNlIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCBvbiB0aGUgdmFsdWUuCi1UaHVzLCBpZiA8Y29kZT5iWzBdPC9jb2RlPiBjb250YWlucyB0aGUgdmFsdWUgPGNvZGU+MHhmZjwvY29kZT4sIGFuZAotPGNvZGU+eDwvY29kZT4gaXMgaW5pdGlhbGx5IDAsIHRoZW4gdGhlIGNvZGUKLTxjb2RlPigoeCAmbHQ7Jmx0OyA4KSB8IGJbMF0pPC9jb2RlPiAgd2lsbCBzaWduIGV4dGVuZCA8Y29kZT4weGZmPC9jb2RlPgotdG8gZ2V0IDxjb2RlPjB4ZmZmZmZmZmY8L2NvZGU+LCBhbmQgdGh1cyBnaXZlIHRoZSB2YWx1ZQotPGNvZGU+MHhmZmZmZmZmZjwvY29kZT4gYXMgdGhlIHJlc3VsdC4KLTwvcD4KLQotPHA+SW4gcGFydGljdWxhciwgdGhlIGZvbGxvd2luZyBjb2RlIGZvciBwYWNraW5nIGEgYnl0ZSBhcnJheSBpbnRvIGFuIGludCBpcyBiYWRseSB3cm9uZzogPC9wPgotPHByZT4KLWludCByZXN1bHQgPSAwOwotZm9yKGludCBpID0gMDsgaSAmbHQ7IDQ7IGkrKykKLSAgcmVzdWx0ID0gKChyZXN1bHQgJmx0OyZsdDsgOCkgfCBiW2ldKTsKLTwvcHJlPgotCi08cD5UaGUgZm9sbG93aW5nIGlkaW9tIHdpbGwgd29yayBpbnN0ZWFkOiA8L3A+Ci08cHJlPgotaW50IHJlc3VsdCA9IDA7Ci1mb3IoaW50IGkgPSAwOyBpICZsdDsgNDsgaSsrKQotICByZXN1bHQgPSAoKHJlc3VsdCAmbHQ7Jmx0OyA4KSB8IChiW2ldICZhbXA7IDB4ZmYpKTsKLTwvcHJlPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJCSVRfU0lHTkVEX0NIRUNLX0hJR0hfQklUIj5CSVQ6IENoZWNrIGZvciBzaWduIG9mIGJpdHdpc2Ugb3BlcmF0aW9uIChCSVRfU0lHTkVEX0NIRUNLX0hJR0hfQklUKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb21wYXJlcyBhbiBleHByZXNzaW9uIHN1Y2ggYXM8L3A+Ci08cHJlPigoZXZlbnQuZGV0YWlsICZhbXA7IFNXVC5TRUxFQ1RFRCkgJmd0OyAwKTwvcHJlPi4KLTxwPlVzaW5nIGJpdCBhcml0aG1ldGljIGFuZCB0aGVuIGNvbXBhcmluZyB3aXRoIHRoZSBncmVhdGVyIHRoYW4gb3BlcmF0b3IgY2FuCi1sZWFkIHRvIHVuZXhwZWN0ZWQgcmVzdWx0cyAob2YgY291cnNlIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YKLVNXVC5TRUxFQ1RFRCkuIElmIFNXVC5TRUxFQ1RFRCBpcyBhIG5lZ2F0aXZlIG51bWJlciwgdGhpcyBpcyBhIGNhbmRpZGF0ZQotZm9yIGEgYnVnLiBFdmVuIHdoZW4gU1dULlNFTEVDVEVEIGlzIG5vdCBuZWdhdGl2ZSwgaXQgc2VlbXMgZ29vZCBwcmFjdGljZQotdG8gdXNlICchPSAwJyBpbnN0ZWFkIG9mICcmZ3Q7IDAnLgotPC9wPgotPHA+Ci08ZW0+Qm9yaXMgQm9rb3dza2k8L2VtPgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQk9BX0JBRExZX09WRVJSSURERU5fQURBUFRFUiI+Qk9BOiBDbGFzcyBvdmVycmlkZXMgYSBtZXRob2QgaW1wbGVtZW50ZWQgaW4gc3VwZXIgY2xhc3MgQWRhcHRlciB3cm9uZ2x5IChCT0FfQkFETFlfT1ZFUlJJRERFTl9BREFQVEVSKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBvdmVycmlkZXMgYSBtZXRob2QgZm91bmQgaW4gYSBwYXJlbnQgY2xhc3MsIHdoZXJlIHRoYXQgY2xhc3MgaXMgYW4gQWRhcHRlciB0aGF0IGltcGxlbWVudHMKLWEgbGlzdGVuZXIgZGVmaW5lZCBpbiB0aGUgamF2YS5hd3QuZXZlbnQgb3IgamF2YXguc3dpbmcuZXZlbnQgcGFja2FnZS4gQXMgYSByZXN1bHQsIHRoaXMgbWV0aG9kIHdpbGwgbm90Ci1nZXQgY2FsbGVkIHdoZW4gdGhlIGV2ZW50IG9jY3Vycy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJQ0FTVF9CQURfU0hJRlRfQU1PVU5UIj5CU0hJRlQ6IDMyIGJpdCBpbnQgc2hpZnRlZCBieSBhbiBhbW91bnQgbm90IGluIHRoZSByYW5nZSAtMzEuLjMxIChJQ0FTVF9CQURfU0hJRlRfQU1PVU5UKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGNvZGUgcGVyZm9ybXMgc2hpZnQgb2YgYSAzMiBiaXQgaW50IGJ5IGEgY29uc3RhbnQgYW1vdW50IG91dHNpZGUKLXRoZSByYW5nZSAtMzEuLjMxLgotVGhlIGVmZmVjdCBvZiB0aGlzIGlzIHRvIHVzZSB0aGUgbG93ZXIgNSBiaXRzIG9mIHRoZSBpbnRlZ2VyCi12YWx1ZSB0byBkZWNpZGUgaG93IG11Y2ggdG8gc2hpZnQgYnkgKGUuZy4sIHNoaWZ0aW5nIGJ5IDQwIGJpdHMgaXMgdGhlIHNhbWUgYXMgc2hpZnRpbmcgYnkgOCBiaXRzLAotYW5kIHNoaWZ0aW5nIGJ5IDMyIGJpdHMgaXMgdGhlIHNhbWUgYXMgc2hpZnRpbmcgYnkgemVybyBiaXRzKS4gVGhpcyBwcm9iYWJseSBpc24ndCB3aGF0IHdhcyBleHBlY3RlZCwKLWFuZCBpdCBpcyBhdCBsZWFzdCBjb25mdXNpbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCWF9VTkJPWEVEX0FORF9DT0VSQ0VEX0ZPUl9URVJOQVJZX09QRVJBVE9SIj5CeDogUHJpbWl0aXZlIHZhbHVlIGlzIHVuYm94ZWQgYW5kIGNvZXJjZWQgZm9yIHRlcm5hcnkgb3BlcmF0b3IgKEJYX1VOQk9YRURfQU5EX0NPRVJDRURfRk9SX1RFUk5BUllfT1BFUkFUT1IpPC9hPjwvaDM+Ci0KLQotICA8cD5BIHdyYXBwZWQgcHJpbWl0aXZlIHZhbHVlIGlzIHVuYm94ZWQgYW5kIGNvbnZlcnRlZCB0byBhbm90aGVyIHByaW1pdGl2ZSB0eXBlIGFzIHBhcnQgb2YgdGhlCi1ldmFsdWF0aW9uIG9mIGEgY29uZGl0aW9uYWwgdGVybmFyeSBvcGVyYXRvciAodGhlIDxjb2RlPiBiID8gZTEgOiBlMjwvY29kZT4gb3BlcmF0b3IpLiBUaGUKLXNlbWFudGljcyBvZiBKYXZhIG1hbmRhdGUgdGhhdCBpZiA8Y29kZT5lMTwvY29kZT4gYW5kIDxjb2RlPmUyPC9jb2RlPiBhcmUgd3JhcHBlZAotbnVtZXJpYyB2YWx1ZXMsIHRoZSB2YWx1ZXMgYXJlIHVuYm94ZWQgYW5kIGNvbnZlcnRlZC9jb2VyY2VkIHRvIHRoZWlyIGNvbW1vbiB0eXBlIChlLmcsCi1pZiA8Y29kZT5lMTwvY29kZT4gaXMgb2YgdHlwZSA8Y29kZT5JbnRlZ2VyPC9jb2RlPgotYW5kIDxjb2RlPmUyPC9jb2RlPiBpcyBvZiB0eXBlIDxjb2RlPkZsb2F0PC9jb2RlPiwgdGhlbiA8Y29kZT5lMTwvY29kZT4gaXMgdW5ib3hlZCwKLWNvbnZlcnRlZCB0byBhIGZsb2F0aW5nIHBvaW50IHZhbHVlLCBhbmQgYm94ZWQuIFNlZSBKTFMgU2VjdGlvbiAxNS4yNS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkNPX0NPTVBBUkVUT19SRVNVTFRTX01JTl9WQUxVRSI+Q286IGNvbXBhcmVUbygpL2NvbXBhcmUoKSByZXR1cm5zIEludGVnZXIuTUlOX1ZBTFVFIChDT19DT01QQVJFVE9fUkVTVUxUU19NSU5fVkFMVUUpPC9hPjwvaDM+Ci0KLQotICA8cD4gSW4gc29tZSBzaXR1YXRpb24sIHRoaXMgY29tcGFyZVRvIG9yIGNvbXBhcmUgbWV0aG9kIHJldHVybnMKLXRoZSAgY29uc3RhbnQgSW50ZWdlci5NSU5fVkFMVUUsIHdoaWNoIGlzIGFuIGV4Y2VwdGlvbmFsbHkgYmFkIHByYWN0aWNlLgotICBUaGUgb25seSB0aGluZyB0aGF0IG1hdHRlcnMgYWJvdXQgdGhlIHJldHVybiB2YWx1ZSBvZiBjb21wYXJlVG8gaXMgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdC4KLSAgICBCdXQgcGVvcGxlIHdpbGwgc29tZXRpbWVzIG5lZ2F0ZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGNvbXBhcmVUbywgZXhwZWN0aW5nIHRoYXQgdGhpcyB3aWxsIG5lZ2F0ZQotICAgIHRoZSBzaWduIG9mIHRoZSByZXN1bHQuIEFuZCBpdCB3aWxsLCBleGNlcHQgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHZhbHVlIHJldHVybmVkIGlzIEludGVnZXIuTUlOX1ZBTFVFLgotICAgIFNvIGp1c3QgcmV0dXJuIC0xIHJhdGhlciB0aGFuIEludGVnZXIuTUlOX1ZBTFVFLgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExTX0RFQURfTE9DQUxfSU5DUkVNRU5UX0lOX1JFVFVSTiI+RExTOiBVc2VsZXNzIGluY3JlbWVudCBpbiByZXR1cm4gc3RhdGVtZW50IChETFNfREVBRF9MT0NBTF9JTkNSRU1FTlRfSU5fUkVUVVJOKTwvYT48L2gzPgotCi0gICAgICAKLTxwPlRoaXMgc3RhdGVtZW50IGhhcyBhIHJldHVybiBzdWNoIGFzIDxjb2RlPnJldHVybiB4Kys7PC9jb2RlPi4gCi1BIHBvc3RmaXggaW5jcmVtZW50L2RlY3JlbWVudCBkb2VzIG5vdCBpbXBhY3QgdGhlIHZhbHVlIG9mIHRoZSBleHByZXNzaW9uLAotc28gdGhpcyBpbmNyZW1lbnQvZGVjcmVtZW50IGhhcyBubyBlZmZlY3QuIAotUGxlYXNlIHZlcmlmeSB0aGF0IHRoaXMgc3RhdGVtZW50IGRvZXMgdGhlIHJpZ2h0IHRoaW5nLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExTX0RFQURfU1RPUkVfT0ZfQ0xBU1NfTElURVJBTCI+RExTOiBEZWFkIHN0b3JlIG9mIGNsYXNzIGxpdGVyYWwgKERMU19ERUFEX1NUT1JFX09GX0NMQVNTX0xJVEVSQUwpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGluc3RydWN0aW9uIGFzc2lnbnMgYSBjbGFzcyBsaXRlcmFsIHRvIGEgdmFyaWFibGUgYW5kIHRoZW4gbmV2ZXIgdXNlcyBpdC4KLTxhIGhyZWY9Ii8vamF2YS5zdW4uY29tL2oyc2UvMS41LjAvY29tcGF0aWJpbGl0eS5odG1sI2xpdGVyYWwiPlRoZSBiZWhhdmlvciBvZiB0aGlzIGRpZmZlcnMgaW4gSmF2YSAxLjQgYW5kIGluIEphdmEgNS48L2E+Ci1JbiBKYXZhIDEuNCBhbmQgZWFybGllciwgYSByZWZlcmVuY2UgdG8gPGNvZGU+Rm9vLmNsYXNzPC9jb2RlPiB3b3VsZCBmb3JjZSB0aGUgc3RhdGljIGluaXRpYWxpemVyCi1mb3IgPGNvZGU+Rm9vPC9jb2RlPiB0byBiZSBleGVjdXRlZCwgaWYgaXQgaGFzIG5vdCBiZWVuIGV4ZWN1dGVkIGFscmVhZHkuCi1JbiBKYXZhIDUgYW5kIGxhdGVyLCBpdCBkb2VzIG5vdC4KLTwvcD4KLTxwPlNlZSBTdW4ncyA8YSBocmVmPSIvL2phdmEuc3VuLmNvbS9qMnNlLzEuNS4wL2NvbXBhdGliaWxpdHkuaHRtbCNsaXRlcmFsIj5hcnRpY2xlIG9uIEphdmEgU0UgY29tcGF0aWJpbGl0eTwvYT4KLWZvciBtb3JlIGRldGFpbHMgYW5kIGV4YW1wbGVzLCBhbmQgc3VnZ2VzdGlvbnMgb24gaG93IHRvIGZvcmNlIGNsYXNzIGluaXRpYWxpemF0aW9uIGluIEphdmEgNS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRMU19PVkVSV1JJVFRFTl9JTkNSRU1FTlQiPkRMUzogT3ZlcndyaXR0ZW4gaW5jcmVtZW50IChETFNfT1ZFUldSSVRURU5fSU5DUkVNRU5UKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGNvZGUgcGVyZm9ybXMgYW4gaW5jcmVtZW50IG9wZXJhdGlvbiAoZS5nLiwgPGNvZGU+aSsrPC9jb2RlPikgYW5kIHRoZW4KLWltbWVkaWF0ZWx5IG92ZXJ3cml0ZXMgaXQuIEZvciBleGFtcGxlLCA8Y29kZT5pID0gaSsrPC9jb2RlPiBpbW1lZGlhdGVseQotb3ZlcndyaXRlcyB0aGUgaW5jcmVtZW50ZWQgdmFsdWUgd2l0aCB0aGUgb3JpZ2luYWwgdmFsdWUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfQVJHVU1FTlRTX1dST05HX09SREVSIj5ETUk6IFJldmVyc2VkIG1ldGhvZCBhcmd1bWVudHMgKERNSV9BUkdVTUVOVFNfV1JPTkdfT1JERVIpPC9hPjwvaDM+Ci0KLQotPHA+IFRoZSBhcmd1bWVudHMgdG8gdGhpcyBtZXRob2QgY2FsbCBzZWVtIHRvIGJlIGluIHRoZSB3cm9uZyBvcmRlci4KLUZvciBleGFtcGxlLCBhIGNhbGwgPGNvZGU+UHJlY29uZGl0aW9ucy5jaGVja05vdE51bGwoIm1lc3NhZ2UiLCBtZXNzYWdlKTwvY29kZT4KLWhhcyByZXNlcnZlZCBhcmd1bWVudHM6IHRoZSB2YWx1ZSB0byBiZSBjaGVja2VkIGlzIHRoZSBmaXJzdCBhcmd1bWVudC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9CQURfTU9OVEgiPkRNSTogQmFkIGNvbnN0YW50IHZhbHVlIGZvciBtb250aCAoRE1JX0JBRF9NT05USCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBwYXNzZXMgYSBjb25zdGFudCBtb250aAotdmFsdWUgb3V0c2lkZSB0aGUgZXhwZWN0ZWQgcmFuZ2Ugb2YgMC4uMTEgdG8gYSBtZXRob2QuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfQklHREVDSU1BTF9DT05TVFJVQ1RFRF9GUk9NX0RPVUJMRSI+RE1JOiBCaWdEZWNpbWFsIGNvbnN0cnVjdGVkIGZyb20gZG91YmxlIHRoYXQgaXNuJ3QgcmVwcmVzZW50ZWQgcHJlY2lzZWx5IChETUlfQklHREVDSU1BTF9DT05TVFJVQ1RFRF9GUk9NX0RPVUJMRSk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgPHA+Ci1UaGlzIGNvZGUgY3JlYXRlcyBhIEJpZ0RlY2ltYWwgZnJvbSBhIGRvdWJsZSB2YWx1ZSB0aGF0IGRvZXNuJ3QgdHJhbnNsYXRlIHdlbGwgdG8gYQotZGVjaW1hbCBudW1iZXIuCi1Gb3IgZXhhbXBsZSwgb25lIG1pZ2h0IGFzc3VtZSB0aGF0IHdyaXRpbmcgbmV3IEJpZ0RlY2ltYWwoMC4xKSBpbiBKYXZhIGNyZWF0ZXMgYSBCaWdEZWNpbWFsIHdoaWNoIGlzIGV4YWN0bHkgZXF1YWwgdG8gMC4xIChhbiB1bnNjYWxlZCB2YWx1ZSBvZiAxLCB3aXRoIGEgc2NhbGUgb2YgMSksIGJ1dCBpdCBpcyBhY3R1YWxseSBlcXVhbCB0byAwLjEwMDAwMDAwMDAwMDAwMDAwNTU1MTExNTEyMzEyNTc4MjcwMjExODE1ODM0MDQ1NDEwMTU2MjUuCi1Zb3UgcHJvYmFibHkgd2FudCB0byB1c2UgdGhlIEJpZ0RlY2ltYWwudmFsdWVPZihkb3VibGUgZCkgbWV0aG9kLCB3aGljaCB1c2VzIHRoZSBTdHJpbmcgcmVwcmVzZW50YXRpb24KLW9mIHRoZSBkb3VibGUgdG8gY3JlYXRlIHRoZSBCaWdEZWNpbWFsIChlLmcuLCBCaWdEZWNpbWFsLnZhbHVlT2YoMC4xKSBnaXZlcyAwLjEpLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfQ0FMTElOR19ORVhUX0ZST01fSEFTTkVYVCI+RE1JOiBoYXNOZXh0IG1ldGhvZCBpbnZva2VzIG5leHQgKERNSV9DQUxMSU5HX05FWFRfRlJPTV9IQVNORVhUKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGhhc05leHQoKSBtZXRob2QgaW52b2tlcyB0aGUgbmV4dCgpIG1ldGhvZC4gVGhpcyBpcyBhbG1vc3QgY2VydGFpbmx5IHdyb25nLAotc2luY2UgdGhlIGhhc05leHQoKSBtZXRob2QgaXMgbm90IHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIGl0ZXJhdG9yLAotYW5kIHRoZSBuZXh0IG1ldGhvZCBpcyBzdXBwb3NlZCB0byBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSBpdGVyYXRvci4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9DT0xMRUNUSU9OU19TSE9VTERfTk9UX0NPTlRBSU5fVEhFTVNFTFZFUyI+RE1JOiBDb2xsZWN0aW9ucyBzaG91bGQgbm90IGNvbnRhaW4gdGhlbXNlbHZlcyAoRE1JX0NPTExFQ1RJT05TX1NIT1VMRF9OT1RfQ09OVEFJTl9USEVNU0VMVkVTKTwvYT48L2gzPgotCi0gICAgIAotICAgICA8cD4gVGhpcyBjYWxsIHRvIGEgZ2VuZXJpYyBjb2xsZWN0aW9uJ3MgbWV0aG9kIHdvdWxkIG9ubHkgbWFrZSBzZW5zZSBpZiBhIGNvbGxlY3Rpb24gY29udGFpbmVkCi1pdHNlbGYgKGUuZy4sIGlmIDxjb2RlPnMuY29udGFpbnMocyk8L2NvZGU+IHdlcmUgdHJ1ZSkuIFRoaXMgaXMgdW5saWtlbHkgdG8gYmUgdHJ1ZSBhbmQgd291bGQgY2F1c2UKLXByb2JsZW1zIGlmIGl0IHdlcmUgdHJ1ZSAoc3VjaCBhcyB0aGUgY29tcHV0YXRpb24gb2YgdGhlIGhhc2ggY29kZSByZXN1bHRpbmcgaW4gaW5maW5pdGUgcmVjdXJzaW9uKS4KLUl0IGlzIGxpa2VseSB0aGF0IHRoZSB3cm9uZyB2YWx1ZSBpcyBiZWluZyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIuCi0gICAgPC9wPgotICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJETUlfRE9IIj5ETUk6IEQnb2ghIEEgbm9uc2Vuc2ljYWwgbWV0aG9kIGludm9jYXRpb24gKERNSV9ET0gpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgIDxwPgotVGhpcyBwYXJ0aWNhbCBtZXRob2QgaW52b2NhdGlvbiBkb2Vzbid0IG1ha2Ugc2Vuc2UsIGZvciByZWFzb25zIHRoYXQgc2hvdWxkIGJlIGFwcGFyZW50IGZyb20gaW5zcGVjdGlvbi4KLTwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0lOVk9LSU5HX0hBU0hDT0RFX09OX0FSUkFZIj5ETUk6IEludm9jYXRpb24gb2YgaGFzaENvZGUgb24gYW4gYXJyYXkgKERNSV9JTlZPS0lOR19IQVNIQ09ERV9PTl9BUlJBWSk8L2E+PC9oMz4KLQotCi08cD4KLVRoZSBjb2RlIGludm9rZXMgaGFzaENvZGUgb24gYW4gYXJyYXkuIENhbGxpbmcgaGFzaENvZGUgb24KLWFuIGFycmF5IHJldHVybnMgdGhlIHNhbWUgdmFsdWUgYXMgU3lzdGVtLmlkZW50aXR5SGFzaENvZGUsIGFuZCBpbmdvcmVzCi10aGUgY29udGVudHMgYW5kIGxlbmd0aCBvZiB0aGUgYXJyYXkuIElmIHlvdSBuZWVkIGEgaGFzaENvZGUgdGhhdAotZGVwZW5kcyBvbiB0aGUgY29udGVudHMgb2YgYW4gYXJyYXkgPGNvZGU+YTwvY29kZT4sCi11c2UgPGNvZGU+amF2YS51dGlsLkFycmF5cy5oYXNoQ29kZShhKTwvY29kZT4uCi0KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9MT05HX0JJVFNfVE9fRE9VQkxFX0lOVk9LRURfT05fSU5UIj5ETUk6IERvdWJsZS5sb25nQml0c1RvRG91YmxlIGludm9rZWQgb24gYW4gaW50IChETUlfTE9OR19CSVRTX1RPX0RPVUJMRV9JTlZPS0VEX09OX0lOVCk8L2E+PC9oMz4KLQotCi08cD4gVGhlIERvdWJsZS5sb25nQml0c1RvRG91YmxlIG1ldGhvZCBpcyBpbnZva2VkLCBidXQgYSAzMiBiaXQgaW50IHZhbHVlIGlzIHBhc3NlZAotICAgIGFzIGFuIGFyZ3VtZW50LiBUaGlzIGFsbW9zdGx5IGNlcnRhaW5seSBpcyBub3QgaW50ZW5kZWQgYW5kIGlzIHVubGlrZWx5Ci0gICAgdG8gZ2l2ZSB0aGUgaW50ZW5kZWQgcmVzdWx0LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX1ZBQ1VPVVNfU0VMRl9DT0xMRUNUSU9OX0NBTEwiPkRNSTogVmFjdW91cyBjYWxsIHRvIGNvbGxlY3Rpb25zIChETUlfVkFDVU9VU19TRUxGX0NPTExFQ1RJT05fQ0FMTCk8L2E+PC9oMz4KLQotICAgICAKLSAgICAgPHA+IFRoaXMgY2FsbCBkb2Vzbid0IG1ha2Ugc2Vuc2UuIEZvciBhbnkgY29sbGVjdGlvbiA8Y29kZT5jPC9jb2RlPiwgY2FsbGluZyA8Y29kZT5jLmNvbnRhaW5zQWxsKGMpPC9jb2RlPiBzaG91bGQKLWFsd2F5cyBiZSB0cnVlLCBhbmQgPGNvZGU+Yy5yZXRhaW5BbGwoYyk8L2NvZGU+IHNob3VsZCBoYXZlIG5vIGVmZmVjdC4KLSAgICA8L3A+Ci0gICAgIAotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9BTk5PVEFUSU9OX0lTX05PVF9WSVNJQkxFX1RPX1JFRkxFQ1RJT04iPkRtOiBDYW4ndCB1c2UgcmVmbGVjdGlvbiB0byBjaGVjayBmb3IgcHJlc2VuY2Ugb2YgYW5ub3RhdGlvbiB3aXRob3V0IHJ1bnRpbWUgcmV0ZW50aW9uIChETUlfQU5OT1RBVElPTl9JU19OT1RfVklTSUJMRV9UT19SRUZMRUNUSU9OKTwvYT48L2gzPgotCi0KLSAgPHA+IFVubGVzcyBhbiBhbm5vdGF0aW9uIGhhcyBpdHNlbGYgYmVlbiBhbm5vdGF0ZWQgd2l0aCAgQFJldGVudGlvbihSZXRlbnRpb25Qb2xpY3kuUlVOVElNRSksIHRoZSBhbm5vdGF0aW9uIGNhbid0IGJlIG9ic2VydmVkIHVzaW5nIHJlZmxlY3Rpb24KLShlLmcuLCBieSB1c2luZyB0aGUgaXNBbm5vdGF0aW9uUHJlc2VudCBtZXRob2QpLgotICAgLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9GVVRJTEVfQVRURU1QVF9UT19DSEFOR0VfTUFYUE9PTF9TSVpFX09GX1NDSEVEVUxFRF9USFJFQURfUE9PTF9FWEVDVVRPUiI+RG06IEZ1dGlsZSBhdHRlbXB0IHRvIGNoYW5nZSBtYXggcG9vbCBzaXplIG9mIFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciAoRE1JX0ZVVElMRV9BVFRFTVBUX1RPX0NIQU5HRV9NQVhQT09MX1NJWkVfT0ZfU0NIRURVTEVEX1RIUkVBRF9QT09MX0VYRUNVVE9SKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD4oPGEgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9qYXZhc2UvNi9kb2NzL2FwaS9qYXZhL3V0aWwvY29uY3VycmVudC9TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IuaHRtbCI+SmF2YWRvYzwvYT4pCi1XaGlsZSBTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IgaW5oZXJpdHMgZnJvbSBUaHJlYWRQb29sRXhlY3V0b3IsIGEgZmV3IG9mIHRoZSBpbmhlcml0ZWQgdHVuaW5nIG1ldGhvZHMgYXJlIG5vdCB1c2VmdWwgZm9yIGl0LiBJbiBwYXJ0aWN1bGFyLCBiZWNhdXNlIGl0IGFjdHMgYXMgYSBmaXhlZC1zaXplZCBwb29sIHVzaW5nIGNvcmVQb29sU2l6ZSB0aHJlYWRzIGFuZCBhbiB1bmJvdW5kZWQgcXVldWUsIGFkanVzdG1lbnRzIHRvIG1heGltdW1Qb29sU2l6ZSBoYXZlIG5vIHVzZWZ1bCBlZmZlY3QuCi0gICAgPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfU0NIRURVTEVEX1RIUkVBRF9QT09MX0VYRUNVVE9SX1dJVEhfWkVST19DT1JFX1RIUkVBRFMiPkRtOiBDcmVhdGlvbiBvZiBTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3Igd2l0aCB6ZXJvIGNvcmUgdGhyZWFkcyAoRE1JX1NDSEVEVUxFRF9USFJFQURfUE9PTF9FWEVDVVRPUl9XSVRIX1pFUk9fQ09SRV9USFJFQURTKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD4oPGEgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9qYXZhc2UvNi9kb2NzL2FwaS9qYXZhL3V0aWwvY29uY3VycmVudC9TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IuaHRtbCNTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IoaW50KSI+SmF2YWRvYzwvYT4pCi1BIFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciB3aXRoIHplcm8gY29yZSB0aHJlYWRzIHdpbGwgbmV2ZXIgZXhlY3V0ZSBhbnl0aGluZzsgY2hhbmdlcyB0byB0aGUgbWF4IHBvb2wgc2l6ZSBhcmUgaWdub3JlZC4KLTwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX1ZBQ1VPVVNfQ0FMTF9UT19FQVNZTU9DS19NRVRIT0QiPkRtOiBVc2VsZXNzL3ZhY3VvdXMgY2FsbCB0byBFYXN5TW9jayBtZXRob2QgKERNSV9WQUNVT1VTX0NBTExfVE9fRUFTWU1PQ0tfTUVUSE9EKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD5UaGlzIGNhbGwgZG9lc24ndCBwYXNzIGFueSBvYmplY3RzIHRvIHRoZSBFYXN5TW9jayBtZXRob2QsIHNvIHRoZSBjYWxsIGRvZXNuJ3QgZG8gYW55dGhpbmcuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkVDX0FSUkFZX0FORF9OT05BUlJBWSI+RUM6IGVxdWFscygpIHVzZWQgdG8gY29tcGFyZSBhcnJheSBhbmQgbm9uYXJyYXkgKEVDX0FSUkFZX0FORF9OT05BUlJBWSk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgbWV0aG9kIGludm9rZXMgdGhlIC5lcXVhbHMoT2JqZWN0IG8pIHRvIGNvbXBhcmUgYW4gYXJyYXkgYW5kIGEgcmVmZXJlbmNlIHRoYXQgZG9lc24ndCBzZWVtCi10byBiZSBhbiBhcnJheS4gSWYgdGhpbmdzIGJlaW5nIGNvbXBhcmVkIGFyZSBvZiBkaWZmZXJlbnQgdHlwZXMsIHRoZXkgYXJlIGd1YXJhbnRlZWQgdG8gYmUgdW5lcXVhbAotYW5kIHRoZSBjb21wYXJpc29uIGlzIGFsbW9zdCBjZXJ0YWlubHkgYW4gZXJyb3IuIEV2ZW4gaWYgdGhleSBhcmUgYm90aCBhcnJheXMsIHRoZSBlcXVhbHMgbWV0aG9kCi1vbiBhcnJheXMgb25seSBkZXRlcm1pbmVzIG9mIHRoZSB0d28gYXJyYXlzIGFyZSB0aGUgc2FtZSBvYmplY3QuCi1UbyBjb21wYXJlIHRoZQotY29udGVudHMgb2YgdGhlIGFycmF5cywgdXNlIGphdmEudXRpbC5BcnJheXMuZXF1YWxzKE9iamVjdFtdLCBPYmplY3RbXSkuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFQ19CQURfQVJSQVlfQ09NUEFSRSI+RUM6IEludm9jYXRpb24gb2YgZXF1YWxzKCkgb24gYW4gYXJyYXksIHdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gPT0gKEVDX0JBRF9BUlJBWV9DT01QQVJFKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBtZXRob2QgaW52b2tlcyB0aGUgLmVxdWFscyhPYmplY3QgbykgbWV0aG9kIG9uIGFuIGFycmF5LiBTaW5jZSBhcnJheXMgZG8gbm90IG92ZXJyaWRlIHRoZSBlcXVhbHMKLW1ldGhvZCBvZiBPYmplY3QsIGNhbGxpbmcgZXF1YWxzIG9uIGFuIGFycmF5IGlzIHRoZSBzYW1lIGFzIGNvbXBhcmluZyB0aGVpciBhZGRyZXNzZXMuIFRvIGNvbXBhcmUgdGhlCi1jb250ZW50cyBvZiB0aGUgYXJyYXlzLCB1c2UgPGNvZGU+amF2YS51dGlsLkFycmF5cy5lcXVhbHMoT2JqZWN0W10sIE9iamVjdFtdKTwvY29kZT4uCi1UbyBjb21wYXJlIHRoZSBhZGRyZXNzZXMgb2YgdGhlIGFycmF5cywgaXQgd291bGQgYmUKLWxlc3MgY29uZnVzaW5nIHRvIGV4cGxpY2l0bHkgY2hlY2sgcG9pbnRlciBlcXVhbGl0eSB1c2luZyA8Y29kZT49PTwvY29kZT4uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFQ19JTkNPTVBBVElCTEVfQVJSQVlfQ09NUEFSRSI+RUM6IGVxdWFscyguLi4pIHVzZWQgdG8gY29tcGFyZSBpbmNvbXBhdGlibGUgYXJyYXlzIChFQ19JTkNPTVBBVElCTEVfQVJSQVlfQ09NUEFSRSk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgbWV0aG9kIGludm9rZXMgdGhlIC5lcXVhbHMoT2JqZWN0IG8pIHRvIGNvbXBhcmUgdHdvIGFycmF5cywgYnV0IHRoZSBhcnJheXMgb2YKLW9mIGluY29tcGF0aWJsZSB0eXBlcyAoZS5nLiwgU3RyaW5nW10gYW5kIFN0cmluZ0J1ZmZlcltdLCBvciBTdHJpbmdbXSBhbmQgaW50W10pLgotVGhleSB3aWxsIG5ldmVyIGJlIGVxdWFsLiBJbiBhZGRpdGlvbiwgd2hlbiBlcXVhbHMoLi4uKSBpcyB1c2VkIHRvIGNvbXBhcmUgYXJyYXlzIGl0Ci1vbmx5IGNoZWNrcyB0byBzZWUgaWYgdGhleSBhcmUgdGhlIHNhbWUgYXJyYXksIGFuZCBpZ25vcmVzIHRoZSBjb250ZW50cyBvZiB0aGUgYXJyYXlzLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRUNfTlVMTF9BUkciPkVDOiBDYWxsIHRvIGVxdWFscyhudWxsKSAoRUNfTlVMTF9BUkcpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNhbGxzIGVxdWFscyhPYmplY3QpLCBwYXNzaW5nIGEgbnVsbCB2YWx1ZSBhcwotdGhlIGFyZ3VtZW50LiBBY2NvcmRpbmcgdG8gdGhlIGNvbnRyYWN0IG9mIHRoZSBlcXVhbHMoKSBtZXRob2QsCi10aGlzIGNhbGwgc2hvdWxkIGFsd2F5cyByZXR1cm4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVDX1VOUkVMQVRFRF9DTEFTU19BTkRfSU5URVJGQUNFIj5FQzogQ2FsbCB0byBlcXVhbHMoKSBjb21wYXJpbmcgdW5yZWxhdGVkIGNsYXNzIGFuZCBpbnRlcmZhY2UgKEVDX1VOUkVMQVRFRF9DTEFTU19BTkRfSU5URVJGQUNFKTwvYT48L2gzPgotCi0gICAgICAKLTxwPgotVGhpcyBtZXRob2QgY2FsbHMgZXF1YWxzKE9iamVjdCkgb24gdHdvIHJlZmVyZW5jZXMsICBvbmUgb2Ygd2hpY2ggaXMgYSBjbGFzcwotYW5kIHRoZSBvdGhlciBhbiBpbnRlcmZhY2UsIHdoZXJlIG5laXRoZXIgdGhlIGNsYXNzIG5vciBhbnkgb2YgaXRzCi1ub24tYWJzdHJhY3Qgc3ViY2xhc3NlcyBpbXBsZW1lbnQgdGhlIGludGVyZmFjZS4KLVRoZXJlZm9yZSwgdGhlIG9iamVjdHMgYmVpbmcgY29tcGFyZWQKLWFyZSB1bmxpa2VseSB0byBiZSBtZW1iZXJzIG9mIHRoZSBzYW1lIGNsYXNzIGF0IHJ1bnRpbWUKLSh1bmxlc3Mgc29tZSBhcHBsaWNhdGlvbiBjbGFzc2VzIHdlcmUgbm90IGFuYWx5emVkLCBvciBkeW5hbWljIGNsYXNzCi1sb2FkaW5nIGNhbiBvY2N1ciBhdCBydW50aW1lKS4KLUFjY29yZGluZyB0byB0aGUgY29udHJhY3Qgb2YgZXF1YWxzKCksCi1vYmplY3RzIG9mIGRpZmZlcmVudAotY2xhc3NlcyBzaG91bGQgYWx3YXlzIGNvbXBhcmUgYXMgdW5lcXVhbDsgdGhlcmVmb3JlLCBhY2NvcmRpbmcgdG8gdGhlCi1jb250cmFjdCBkZWZpbmVkIGJ5IGphdmEubGFuZy5PYmplY3QuZXF1YWxzKE9iamVjdCksCi10aGUgcmVzdWx0IG9mIHRoaXMgY29tcGFyaXNvbiB3aWxsIGFsd2F5cyBiZSBmYWxzZSBhdCBydW50aW1lLgotPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJFQ19VTlJFTEFURURfSU5URVJGQUNFUyI+RUM6IENhbGwgdG8gZXF1YWxzKCkgY29tcGFyaW5nIGRpZmZlcmVudCBpbnRlcmZhY2UgdHlwZXMgKEVDX1VOUkVMQVRFRF9JTlRFUkZBQ0VTKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjYWxscyBlcXVhbHMoT2JqZWN0KSBvbiB0d28gcmVmZXJlbmNlcyBvZiB1bnJlbGF0ZWQKLWludGVyZmFjZSB0eXBlcywgd2hlcmUgbmVpdGhlciBpcyBhIHN1YnR5cGUgb2YgdGhlIG90aGVyLAotYW5kIHRoZXJlIGFyZSBubyBrbm93biBub24tYWJzdHJhY3QgY2xhc3NlcyB3aGljaCBpbXBsZW1lbnQgYm90aCBpbnRlcmZhY2VzLgotVGhlcmVmb3JlLCB0aGUgb2JqZWN0cyBiZWluZyBjb21wYXJlZAotYXJlIHVubGlrZWx5IHRvIGJlIG1lbWJlcnMgb2YgdGhlIHNhbWUgY2xhc3MgYXQgcnVudGltZQotKHVubGVzcyBzb21lIGFwcGxpY2F0aW9uIGNsYXNzZXMgd2VyZSBub3QgYW5hbHl6ZWQsIG9yIGR5bmFtaWMgY2xhc3MKLWxvYWRpbmcgY2FuIG9jY3VyIGF0IHJ1bnRpbWUpLgotQWNjb3JkaW5nIHRvIHRoZSBjb250cmFjdCBvZiBlcXVhbHMoKSwKLW9iamVjdHMgb2YgZGlmZmVyZW50Ci1jbGFzc2VzIHNob3VsZCBhbHdheXMgY29tcGFyZSBhcyB1bmVxdWFsOyB0aGVyZWZvcmUsIGFjY29yZGluZyB0byB0aGUKLWNvbnRyYWN0IGRlZmluZWQgYnkgamF2YS5sYW5nLk9iamVjdC5lcXVhbHMoT2JqZWN0KSwKLXRoZSByZXN1bHQgb2YgdGhpcyBjb21wYXJpc29uIHdpbGwgYWx3YXlzIGJlIGZhbHNlIGF0IHJ1bnRpbWUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFQ19VTlJFTEFURURfVFlQRVMiPkVDOiBDYWxsIHRvIGVxdWFscygpIGNvbXBhcmluZyBkaWZmZXJlbnQgdHlwZXMgKEVDX1VOUkVMQVRFRF9UWVBFUyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY2FsbHMgZXF1YWxzKE9iamVjdCkgb24gdHdvIHJlZmVyZW5jZXMgb2YgZGlmZmVyZW50Ci1jbGFzcyB0eXBlcyB3aXRoIG5vIGNvbW1vbiBzdWJjbGFzc2VzLgotVGhlcmVmb3JlLCB0aGUgb2JqZWN0cyBiZWluZyBjb21wYXJlZAotYXJlIHVubGlrZWx5IHRvIGJlIG1lbWJlcnMgb2YgdGhlIHNhbWUgY2xhc3MgYXQgcnVudGltZQotKHVubGVzcyBzb21lIGFwcGxpY2F0aW9uIGNsYXNzZXMgd2VyZSBub3QgYW5hbHl6ZWQsIG9yIGR5bmFtaWMgY2xhc3MKLWxvYWRpbmcgY2FuIG9jY3VyIGF0IHJ1bnRpbWUpLgotQWNjb3JkaW5nIHRvIHRoZSBjb250cmFjdCBvZiBlcXVhbHMoKSwKLW9iamVjdHMgb2YgZGlmZmVyZW50Ci1jbGFzc2VzIHNob3VsZCBhbHdheXMgY29tcGFyZSBhcyB1bmVxdWFsOyB0aGVyZWZvcmUsIGFjY29yZGluZyB0byB0aGUKLWNvbnRyYWN0IGRlZmluZWQgYnkgamF2YS5sYW5nLk9iamVjdC5lcXVhbHMoT2JqZWN0KSwKLXRoZSByZXN1bHQgb2YgdGhpcyBjb21wYXJpc29uIHdpbGwgYWx3YXlzIGJlIGZhbHNlIGF0IHJ1bnRpbWUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFQ19VTlJFTEFURURfVFlQRVNfVVNJTkdfUE9JTlRFUl9FUVVBTElUWSI+RUM6IFVzaW5nIHBvaW50ZXIgZXF1YWxpdHkgdG8gY29tcGFyZSBkaWZmZXJlbnQgdHlwZXMgKEVDX1VOUkVMQVRFRF9UWVBFU19VU0lOR19QT0lOVEVSX0VRVUFMSVRZKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCB1c2VzIHVzaW5nIHBvaW50ZXIgZXF1YWxpdHkgdG8gY29tcGFyZSB0d28gcmVmZXJlbmNlcyB0aGF0IHNlZW0gdG8gYmUgb2YKLWRpZmZlcmVudCB0eXBlcy4gIFRoZSByZXN1bHQgb2YgdGhpcyBjb21wYXJpc29uIHdpbGwgYWx3YXlzIGJlIGZhbHNlIGF0IHJ1bnRpbWUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9BTFdBWVNfRkFMU0UiPkVxOiBlcXVhbHMgbWV0aG9kIGFsd2F5cyByZXR1cm5zIGZhbHNlIChFUV9BTFdBWVNfRkFMU0UpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGFuIGVxdWFscyBtZXRob2QgdGhhdCBhbHdheXMgcmV0dXJucyBmYWxzZS4gVGhpcyBtZWFucyB0aGF0IGFuIG9iamVjdCBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLCBhbmQgaXQgaXMgaW1wb3NzaWJsZSB0byBjcmVhdGUgdXNlZnVsIE1hcHMgb3IgU2V0cyBvZiB0aGlzIGNsYXNzLiBNb3JlIGZ1bmRhbWVudGFsbHksIGl0IG1lYW5zCi10aGF0IGVxdWFscyBpcyBub3QgcmVmbGV4aXZlLCBvbmUgb2YgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgZXF1YWxzIG1ldGhvZC48L3A+Ci08cD5UaGUgbGlrZWx5IGludGVuZGVkIHNlbWFudGljcyBhcmUgb2JqZWN0IGlkZW50aXR5OiB0aGF0IGFuIG9iamVjdCBpcyBlcXVhbCB0byBpdHNlbGYuIFRoaXMgaXMgdGhlIGJlaGF2aW9yIGluaGVyaXRlZCBmcm9tIGNsYXNzIDxjb2RlPk9iamVjdDwvY29kZT4uIElmIHlvdSBuZWVkIHRvIG92ZXJyaWRlIGFuIGVxdWFscyBpbmhlcml0ZWQgZnJvbSBhIGRpZmZlcmVudAotc3VwZXJjbGFzcywgeW91IGNhbiB1c2UgdXNlOjwvcD4KLTxwcmU+Ci1wdWJsaWMgYm9vbGVhbiBlcXVhbHMoT2JqZWN0IG8pIHsgcmV0dXJuIHRoaXMgPT0gbzsgfQotPC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9BTFdBWVNfVFJVRSI+RXE6IGVxdWFscyBtZXRob2QgYWx3YXlzIHJldHVybnMgdHJ1ZSAoRVFfQUxXQVlTX1RSVUUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGFuIGVxdWFscyBtZXRob2QgdGhhdCBhbHdheXMgcmV0dXJucyB0cnVlLiBUaGlzIGlzIGltYWdpbmF0aXZlLCBidXQgbm90IHZlcnkgc21hcnQuCi1QbHVzLCBpdCBtZWFucyB0aGF0IHRoZSBlcXVhbHMgbWV0aG9kIGlzIG5vdCBzeW1tZXRyaWMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9DT01QQVJJTkdfQ0xBU1NfTkFNRVMiPkVxOiBlcXVhbHMgbWV0aG9kIGNvbXBhcmVzIGNsYXNzIG5hbWVzIHJhdGhlciB0aGFuIGNsYXNzIG9iamVjdHMgKEVRX0NPTVBBUklOR19DTEFTU19OQU1FUyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBjaGVja3MgdG8gc2VlIGlmIHR3byBvYmplY3RzIGFyZSB0aGUgc2FtZSBjbGFzcyBieSBjaGVja2luZyB0byBzZWUgaWYgdGhlIG5hbWVzCi1vZiB0aGVpciBjbGFzc2VzIGFyZSBlcXVhbC4gWW91IGNhbiBoYXZlIGRpZmZlcmVudCBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSBpZiB0aGV5IGFyZSBsb2FkZWQgYnkKLWRpZmZlcmVudCBjbGFzcyBsb2FkZXJzLiBKdXN0IGNoZWNrIHRvIHNlZSBpZiB0aGUgY2xhc3Mgb2JqZWN0cyBhcmUgdGhlIHNhbWUuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9ET05UX0RFRklORV9FUVVBTFNfRk9SX0VOVU0iPkVxOiBDb3ZhcmlhbnQgZXF1YWxzKCkgbWV0aG9kIGRlZmluZWQgZm9yIGVudW0gKEVRX0RPTlRfREVGSU5FX0VRVUFMU19GT1JfRU5VTSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYW4gZW51bWVyYXRpb24sIGFuZCBlcXVhbGl0eSBvbiBlbnVtZXJhdGlvbnMgYXJlIGRlZmluZWQKLXVzaW5nIG9iamVjdCBpZGVudGl0eS4gRGVmaW5pbmcgYSBjb3ZhcmlhbnQgZXF1YWxzIG1ldGhvZCBmb3IgYW4gZW51bWVyYXRpb24KLXZhbHVlIGlzIGV4Y2VwdGlvbmFsbHkgYmFkIHByYWN0aWNlLCBzaW5jZSBpdCB3b3VsZCBsaWtlbHkgcmVzdWx0Ci1pbiBoYXZpbmcgdHdvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB2YWx1ZXMgdGhhdCBjb21wYXJlIGFzIGVxdWFscyB1c2luZwotdGhlIGNvdmFyaWFudCBlbnVtIG1ldGhvZCwgYW5kIGFzIG5vdCBlcXVhbCB3aGVuIGNvbXBhcmVkIG5vcm1hbGx5LgotRG9uJ3QgZG8gaXQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9PVEhFUl9OT19PQkpFQ1QiPkVxOiBlcXVhbHMoKSBtZXRob2QgZGVmaW5lZCB0aGF0IGRvZXNuJ3Qgb3ZlcnJpZGUgZXF1YWxzKE9iamVjdCkgKEVRX09USEVSX05PX09CSkVDVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYW4gPGNvZGU+ZXF1YWxzKCk8L2NvZGU+Ci0gIG1ldGhvZCwgdGhhdCBkb2Vzbid0IG92ZXJyaWRlIHRoZSBub3JtYWwgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZAotICBkZWZpbmVkIGluIHRoZSBiYXNlIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+IGNsYXNzLiZuYnNwOyBJbnN0ZWFkLCBpdAotICBpbmhlcml0cyBhbiA8Y29kZT5lcXVhbHMoT2JqZWN0KTwvY29kZT4gbWV0aG9kIGZyb20gYSBzdXBlcmNsYXNzLgotICBUaGUgY2xhc3Mgc2hvdWxkIHByb2JhYmx5IGRlZmluZSBhIDxjb2RlPmJvb2xlYW4gZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZC4KLSAgPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRVFfT1RIRVJfVVNFX09CSkVDVCI+RXE6IGVxdWFscygpIG1ldGhvZCBkZWZpbmVkIHRoYXQgZG9lc24ndCBvdmVycmlkZSBPYmplY3QuZXF1YWxzKE9iamVjdCkgKEVRX09USEVSX1VTRV9PQkpFQ1QpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGFuIDxjb2RlPmVxdWFscygpPC9jb2RlPgotICBtZXRob2QsIHRoYXQgZG9lc24ndCBvdmVycmlkZSB0aGUgbm9ybWFsIDxjb2RlPmVxdWFscyhPYmplY3QpPC9jb2RlPiBtZXRob2QKLSAgZGVmaW5lZCBpbiB0aGUgYmFzZSA8Y29kZT5qYXZhLmxhbmcuT2JqZWN0PC9jb2RlPiBjbGFzcy4mbmJzcDsKLSAgVGhlIGNsYXNzIHNob3VsZCBwcm9iYWJseSBkZWZpbmUgYSA8Y29kZT5ib29sZWFuIGVxdWFscyhPYmplY3QpPC9jb2RlPiBtZXRob2QuCi0gIDwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVRX09WRVJSSURJTkdfRVFVQUxTX05PVF9TWU1NRVRSSUMiPkVxOiBlcXVhbHMgbWV0aG9kIG92ZXJyaWRlcyBlcXVhbHMgaW4gc3VwZXJjbGFzcyBhbmQgbWF5IG5vdCBiZSBzeW1tZXRyaWMgKEVRX09WRVJSSURJTkdfRVFVQUxTX05PVF9TWU1NRVRSSUMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGFuIGVxdWFscyBtZXRob2QgdGhhdCBvdmVycmlkZXMgYW4gZXF1YWxzIG1ldGhvZCBpbiBhIHN1cGVyY2xhc3MuIEJvdGggZXF1YWxzIG1ldGhvZHMKLW1ldGhvZHMgdXNlIDxjb2RlPmluc3RhbmNlb2Y8L2NvZGU+IGluIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHdoZXRoZXIgdHdvIG9iamVjdHMgYXJlIGVxdWFsLiBUaGlzIGlzIGZyYXVnaHQgd2l0aCBwZXJpbCwKLXNpbmNlIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBlcXVhbHMgbWV0aG9kIGlzIHN5bW1ldHJpY2FsIChpbiBvdGhlciB3b3JkcywgPGNvZGU+YS5lcXVhbHMoYikgPT0gYi5lcXVhbHMoYSk8L2NvZGU+KS4KLUlmIEIgaXMgYSBzdWJ0eXBlIG9mIEEsIGFuZCBBJ3MgZXF1YWxzIG1ldGhvZCBjaGVja3MgdGhhdCB0aGUgYXJndW1lbnQgaXMgYW4gaW5zdGFuY2VvZiBBLCBhbmQgQidzIGVxdWFscyBtZXRob2QKLWNoZWNrcyB0aGF0IHRoZSBhcmd1bWVudCBpcyBhbiBpbnN0YW5jZW9mIEIsIGl0IGlzIHF1aXRlIGxpa2VseSB0aGF0IHRoZSBlcXVpdmFsZW5jZSByZWxhdGlvbiBkZWZpbmVkIGJ5IHRoZXNlCi1tZXRob2RzIGlzIG5vdCBzeW1tZXRyaWMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9TRUxGX1VTRV9PQkpFQ1QiPkVxOiBDb3ZhcmlhbnQgZXF1YWxzKCkgbWV0aG9kIGRlZmluZWQsIE9iamVjdC5lcXVhbHMoT2JqZWN0KSBpbmhlcml0ZWQgKEVRX1NFTEZfVVNFX09CSkVDVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBjb3ZhcmlhbnQgdmVyc2lvbiBvZiB0aGUgPGNvZGU+ZXF1YWxzKCk8L2NvZGU+Ci0gIG1ldGhvZCwgYnV0IGluaGVyaXRzIHRoZSBub3JtYWwgPGNvZGU+ZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZAotICBkZWZpbmVkIGluIHRoZSBiYXNlIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+IGNsYXNzLiZuYnNwOwotICBUaGUgY2xhc3Mgc2hvdWxkIHByb2JhYmx5IGRlZmluZSBhIDxjb2RlPmJvb2xlYW4gZXF1YWxzKE9iamVjdCk8L2NvZGU+IG1ldGhvZC4KLSAgPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRkVfVEVTVF9JRl9FUVVBTF9UT19OT1RfQV9OVU1CRVIiPkZFOiBEb29tZWQgdGVzdCBmb3IgZXF1YWxpdHkgdG8gTmFOIChGRV9URVNUX0lGX0VRVUFMX1RPX05PVF9BX05VTUJFUik8L2E+PC9oMz4KLQotICAgCi0gICAgPHA+Ci0gICAgVGhpcyBjb2RlIGNoZWNrcyB0byBzZWUgaWYgYSBmbG9hdGluZyBwb2ludCB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgc3BlY2lhbAotICAgIE5vdCBBIE51bWJlciB2YWx1ZSAoZS5nLiwgPGNvZGU+aWYgKHggPT0gRG91YmxlLk5hTik8L2NvZGU+KS4gSG93ZXZlciwKLSAgICBiZWNhdXNlIG9mIHRoZSBzcGVjaWFsIHNlbWFudGljcyBvZiA8Y29kZT5OYU48L2NvZGU+LCBubyB2YWx1ZQotICAgIGlzIGVxdWFsIHRvIDxjb2RlPk5hbjwvY29kZT4sIGluY2x1ZGluZyA8Y29kZT5OYU48L2NvZGU+LiBUaHVzLAotICAgIDxjb2RlPnggPT0gRG91YmxlLk5hTjwvY29kZT4gYWx3YXlzIGV2YWx1YXRlcyB0byBmYWxzZS4KLQotICAgIFRvIGNoZWNrIHRvIHNlZSBpZiBhIHZhbHVlIGNvbnRhaW5lZCBpbiA8Y29kZT54PC9jb2RlPgotICAgIGlzIHRoZSBzcGVjaWFsIE5vdCBBIE51bWJlciB2YWx1ZSwgdXNlCi0gICAgPGNvZGU+RG91YmxlLmlzTmFOKHgpPC9jb2RlPiAob3IgPGNvZGU+RmxvYXQuaXNOYU4oeCk8L2NvZGU+IGlmCi0gICAgPGNvZGU+eDwvY29kZT4gaXMgZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uKS4KLSAgICA8L3A+Ci0gICAgCi0gICAgIAotPGgzPjxhIG5hbWU9IlZBX0ZPUk1BVF9TVFJJTkdfQkFEX0FSR1VNRU5UIj5GUzogRm9ybWF0IHN0cmluZyBwbGFjZWhvbGRlciBpbmNvbXBhdGlibGUgd2l0aCBwYXNzZWQgYXJndW1lbnQgKFZBX0ZPUk1BVF9TVFJJTkdfQkFEX0FSR1VNRU5UKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGZvcm1hdCBzdHJpbmcgcGxhY2Vob2xkZXIgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKLWFyZ3VtZW50LiBGb3IgZXhhbXBsZSwKLTxjb2RlPgotICBTeXN0ZW0ub3V0LnByaW50bG4oIiVkXG4iLCAiaGVsbG8iKTsKLTwvY29kZT4KLTxwPlRoZSAlZCBwbGFjZWhvbGRlciByZXF1aXJlcyBhIG51bWVyaWMgYXJndW1lbnQsIGJ1dCBhIHN0cmluZyB2YWx1ZSBpcwotcGFzc2VkIGluc3RlYWQuCi1BIHJ1bnRpbWUgZXhjZXB0aW9uIHdpbGwgb2NjdXIgd2hlbgotdGhpcyBzdGF0ZW1lbnQgaXMgZXhlY3V0ZWQuCi08L3A+Ci0KLSAgICAgCi08aDM+PGEgbmFtZT0iVkFfRk9STUFUX1NUUklOR19CQURfQ09OVkVSU0lPTiI+RlM6IFRoZSB0eXBlIG9mIGEgc3VwcGxpZWQgYXJndW1lbnQgZG9lc24ndCBtYXRjaCBmb3JtYXQgc3BlY2lmaWVyIChWQV9GT1JNQVRfU1RSSU5HX0JBRF9DT05WRVJTSU9OKTwvYT48L2gzPgotCi0KLTxwPgotT25lIG9mIHRoZSBhcmd1bWVudHMgaXMgdW5jb21wYXRpYmxlIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZm9ybWF0IHN0cmluZyBzcGVjaWZpZXIuCi1BcyBhIHJlc3VsdCwgdGhpcyB3aWxsIGdlbmVyYXRlIGEgcnVudGltZSBleGNlcHRpb24gd2hlbiBleGVjdXRlZC4KLUZvciBleGFtcGxlLCA8Y29kZT5TdHJpbmcuZm9ybWF0KCIlZCIsICIxIik8L2NvZGU+IHdpbGwgZ2VuZXJhdGUgYW4gZXhjZXB0aW9uLCBzaW5jZQotdGhlIFN0cmluZyAiMSIgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGZvcm1hdCBzcGVjaWZpZXIgJWQuCi08L3A+Ci0KLSAgICAgCi08aDM+PGEgbmFtZT0iVkFfRk9STUFUX1NUUklOR19FWFBFQ1RFRF9NRVNTQUdFX0ZPUk1BVF9TVVBQTElFRCI+RlM6IE1lc3NhZ2VGb3JtYXQgc3VwcGxpZWQgd2hlcmUgcHJpbnRmIHN0eWxlIGZvcm1hdCBleHBlY3RlZCAoVkFfRk9STUFUX1NUUklOR19FWFBFQ1RFRF9NRVNTQUdFX0ZPUk1BVF9TVVBQTElFRCk8L2E+PC9oMz4KLQotCi08cD4KLUEgbWV0aG9kIGlzIGNhbGxlZCB0aGF0IGV4cGVjdHMgYSBKYXZhIHByaW50ZiBmb3JtYXQgc3RyaW5nIGFuZCBhIGxpc3Qgb2YgYXJndW1lbnRzLgotSG93ZXZlciwgdGhlIGZvcm1hdCBzdHJpbmcgZG9lc24ndCBjb250YWluIGFueSBmb3JtYXQgc3BlY2lmaWVycyAoZS5nLiwgJXMpIGJ1dAotZG9lcyBjb250YWluIG1lc3NhZ2UgZm9ybWF0IGVsZW1lbnRzIChlLmcuLCB7MH0pLiAgSXQgaXMgbGlrZWx5Ci10aGF0IHRoZSBjb2RlIGlzIHN1cHBseWluZyBhIE1lc3NhZ2VGb3JtYXQgc3RyaW5nIHdoZW4gYSBwcmludGYtc3R5bGUgZm9ybWF0IHN0cmluZwotaXMgcmVxdWlyZWQuIEF0IHJ1bnRpbWUsIGFsbCBvZiB0aGUgYXJndW1lbnRzIHdpbGwgYmUgaWdub3JlZAotYW5kIHRoZSBmb3JtYXQgc3RyaW5nIHdpbGwgYmUgcmV0dXJuZWQgZXhhY3RseSBhcyBwcm92aWRlZCB3aXRob3V0IGFueSBmb3JtYXR0aW5nLgotPC9wPgotCi0gICAgIAotPGgzPjxhIG5hbWU9IlZBX0ZPUk1BVF9TVFJJTkdfRVhUUkFfQVJHVU1FTlRTX1BBU1NFRCI+RlM6IE1vcmUgYXJndW1lbnRzIGFyZSBwYXNzZWQgdGhhbiBhcmUgYWN0dWFsbHkgdXNlZCBpbiB0aGUgZm9ybWF0IHN0cmluZyAoVkFfRk9STUFUX1NUUklOR19FWFRSQV9BUkdVTUVOVFNfUEFTU0VEKTwvYT48L2gzPgotCi0KLTxwPgotQSBmb3JtYXQtc3RyaW5nIG1ldGhvZCB3aXRoIGEgdmFyaWFibGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBjYWxsZWQsCi1idXQgbW9yZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0aGFuIGFyZSBhY3R1YWxseSB1c2VkIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLgotVGhpcyB3b24ndCBjYXVzZSBhIHJ1bnRpbWUgZXhjZXB0aW9uLCBidXQgdGhlIGNvZGUgbWF5IGJlIHNpbGVudGx5IG9taXR0aW5nCi1pbmZvcm1hdGlvbiB0aGF0IHdhcyBpbnRlbmRlZCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgZm9ybWF0dGVkIHN0cmluZy4KLTwvcD4KLQotICAgICAKLTxoMz48YSBuYW1lPSJWQV9GT1JNQVRfU1RSSU5HX0lMTEVHQUwiPkZTOiBJbGxlZ2FsIGZvcm1hdCBzdHJpbmcgKFZBX0ZPUk1BVF9TVFJJTkdfSUxMRUdBTCk8L2E+PC9oMz4KLQotCi08cD4KLVRoZSBmb3JtYXQgc3RyaW5nIGlzIHN5bnRhY3RpY2FsbHkgaW52YWxpZCwKLWFuZCBhIHJ1bnRpbWUgZXhjZXB0aW9uIHdpbGwgb2NjdXIgd2hlbgotdGhpcyBzdGF0ZW1lbnQgaXMgZXhlY3V0ZWQuCi08L3A+Ci0KLSAgICAgCi08aDM+PGEgbmFtZT0iVkFfRk9STUFUX1NUUklOR19NSVNTSU5HX0FSR1VNRU5UIj5GUzogRm9ybWF0IHN0cmluZyByZWZlcmVuY2VzIG1pc3NpbmcgYXJndW1lbnQgKFZBX0ZPUk1BVF9TVFJJTkdfTUlTU0lOR19BUkdVTUVOVCk8L2E+PC9oMz4KLQotCi08cD4KLU5vdCBlbm91Z2ggYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gc2F0aXNmeSBhIHBsYWNlaG9sZGVyIGluIHRoZSBmb3JtYXQgc3RyaW5nLgotQSBydW50aW1lIGV4Y2VwdGlvbiB3aWxsIG9jY3VyIHdoZW4KLXRoaXMgc3RhdGVtZW50IGlzIGV4ZWN1dGVkLgotPC9wPgotCi0gICAgIAotPGgzPjxhIG5hbWU9IlZBX0ZPUk1BVF9TVFJJTkdfTk9fUFJFVklPVVNfQVJHVU1FTlQiPkZTOiBObyBwcmV2aW91cyBhcmd1bWVudCBmb3IgZm9ybWF0IHN0cmluZyAoVkFfRk9STUFUX1NUUklOR19OT19QUkVWSU9VU19BUkdVTUVOVCk8L2E+PC9oMz4KLQotCi08cD4KLVRoZSBmb3JtYXQgc3RyaW5nIHNwZWNpZmllcyBhIHJlbGF0aXZlIGluZGV4IHRvIHJlcXVlc3QgdGhhdCB0aGUgYXJndW1lbnQgZm9yIHRoZSBwcmV2aW91cyBmb3JtYXQgc3BlY2lmaWVyCi1iZSByZXVzZWQuIEhvd2V2ZXIsIHRoZXJlIGlzIG5vIHByZXZpb3VzIGFyZ3VtZW50LgotRm9yIGV4YW1wbGUsCi08L3A+Ci08cD48Y29kZT5mb3JtYXR0ZXIuZm9ybWF0KCIlJmx0O3MgJXMiLCAiYSIsICJiIik8L2NvZGU+Ci08L3A+Ci08cD53b3VsZCB0aHJvdyBhIE1pc3NpbmdGb3JtYXRBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGV4ZWN1dGVkLgotPC9wPgotCi0gICAgIAotPGgzPjxhIG5hbWU9IkdDX1VOUkVMQVRFRF9UWVBFUyI+R0M6IE5vIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGdlbmVyaWMgcGFyYW1ldGVyIGFuZCBtZXRob2QgYXJndW1lbnQgKEdDX1VOUkVMQVRFRF9UWVBFUyk8L2E+PC9oMz4KLQotICAgICAKLSAgICAgPHA+IFRoaXMgY2FsbCB0byBhIGdlbmVyaWMgY29sbGVjdGlvbiBtZXRob2QgY29udGFpbnMgYW4gYXJndW1lbnQKLSAgICAgd2l0aCBhbiBpbmNvbXBhdGlibGUgY2xhc3MgZnJvbSB0aGF0IG9mIHRoZSBjb2xsZWN0aW9uJ3MgcGFyYW1ldGVyCi0gICAgKGkuZS4sIHRoZSB0eXBlIG9mIHRoZSBhcmd1bWVudCBpcyBuZWl0aGVyIGEgc3VwZXJ0eXBlIG5vciBhIHN1YnR5cGUKLSAgICAgICAgb2YgdGhlIGNvcnJlc3BvbmRpbmcgZ2VuZXJpYyB0eXBlIGFyZ3VtZW50KS4KLSAgICAgVGhlcmVmb3JlLCBpdCBpcyB1bmxpa2VseSB0aGF0IHRoZSBjb2xsZWN0aW9uIGNvbnRhaW5zIGFueSBvYmplY3RzCi0gICAgdGhhdCBhcmUgZXF1YWwgdG8gdGhlIG1ldGhvZCBhcmd1bWVudCB1c2VkIGhlcmUuCi0gICAgTW9zdCBsaWtlbHksIHRoZSB3cm9uZyB2YWx1ZSBpcyBiZWluZyBwYXNzZWQgdG8gdGhlIG1ldGhvZC48L3A+Ci0gICAgPHA+SW4gZ2VuZXJhbCwgaW5zdGFuY2VzIG9mIHR3byB1bnJlbGF0ZWQgY2xhc3NlcyBhcmUgbm90IGVxdWFsLgotICAgIEZvciBleGFtcGxlLCBpZiB0aGUgPGNvZGU+Rm9vPC9jb2RlPiBhbmQgPGNvZGU+QmFyPC9jb2RlPiBjbGFzc2VzCi0gICAgYXJlIG5vdCByZWxhdGVkIGJ5IHN1YnR5cGluZywgdGhlbiBhbiBpbnN0YW5jZSBvZiA8Y29kZT5Gb288L2NvZGU+Ci0gICAgICAgIHNob3VsZCBub3QgYmUgZXF1YWwgdG8gYW4gaW5zdGFuY2Ugb2YgPGNvZGU+QmFyPC9jb2RlPi4KLSAgICBBbW9uZyBvdGhlciBpc3N1ZXMsIGRvaW5nIHNvIHdpbGwgbGlrZWx5IHJlc3VsdCBpbiBhbiBlcXVhbHMgbWV0aG9kCi0gICAgdGhhdCBpcyBub3Qgc3ltbWV0cmljYWwuIEZvciBleGFtcGxlLCBpZiB5b3UgZGVmaW5lIHRoZSA8Y29kZT5Gb288L2NvZGU+IGNsYXNzCi0gICAgc28gdGhhdCBhIDxjb2RlPkZvbzwvY29kZT4gY2FuIGJlIGVxdWFsIHRvIGEgPGNvZGU+U3RyaW5nPC9jb2RlPiwKLSAgICB5b3VyIGVxdWFscyBtZXRob2QgaXNuJ3Qgc3ltbWV0cmljYWwgc2luY2UgYSA8Y29kZT5TdHJpbmc8L2NvZGU+IGNhbiBvbmx5IGJlIGVxdWFsCi0gICAgdG8gYSA8Y29kZT5TdHJpbmc8L2NvZGU+LgotICAgIDwvcD4KLSAgICA8cD5JbiByYXJlIGNhc2VzLCBwZW9wbGUgZG8gZGVmaW5lIG5vbnN5bW1ldHJpY2FsIGVxdWFscyBtZXRob2RzIGFuZCBzdGlsbCBtYW5hZ2UgdG8gbWFrZQotICAgIHRoZWlyIGNvZGUgd29yay4gQWx0aG91Z2ggbm9uZSBvZiB0aGUgQVBJcyBkb2N1bWVudCBvciBndWFyYW50ZWUgaXQsIGl0IGlzIHR5cGljYWxseQotICAgIHRoZSBjYXNlIHRoYXQgaWYgeW91IGNoZWNrIGlmIGEgPGNvZGU+Q29sbGVjdGlvbiZsdDtTdHJpbmcmZ3Q7PC9jb2RlPiBjb250YWlucwotICAgIGEgPGNvZGU+Rm9vPC9jb2RlPiwgdGhlIGVxdWFscyBtZXRob2Qgb2YgYXJndW1lbnQgKGUuZy4sIHRoZSBlcXVhbHMgbWV0aG9kIG9mIHRoZQotICAgIDxjb2RlPkZvbzwvY29kZT4gY2xhc3MpIHVzZWQgdG8gcGVyZm9ybSB0aGUgZXF1YWxpdHkgY2hlY2tzLgotICAgIDwvcD4KLSAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iSEVfU0lHTkFUVVJFX0RFQ0xBUkVTX0hBU0hJTkdfT0ZfVU5IQVNIQUJMRV9DTEFTUyI+SEU6IFNpZ25hdHVyZSBkZWNsYXJlcyB1c2Ugb2YgdW5oYXNoYWJsZSBjbGFzcyBpbiBoYXNoZWQgY29uc3RydWN0IChIRV9TSUdOQVRVUkVfREVDTEFSRVNfSEFTSElOR19PRl9VTkhBU0hBQkxFX0NMQVNTKTwvYT48L2gzPgotCi0KLSAgPHA+IEEgbWV0aG9kLCBmaWVsZCBvciBjbGFzcyBkZWNsYXJlcyBhIGdlbmVyaWMgc2lnbmF0dXJlIHdoZXJlIGEgbm9uLWhhc2hhYmxlIGNsYXNzCi1pcyB1c2VkIGluIGNvbnRleHQgd2hlcmUgYSBoYXNoYWJsZSBjbGFzcyBpcyByZXF1aXJlZC4KLUEgY2xhc3MgdGhhdCBkZWNsYXJlcyBhbiBlcXVhbHMgbWV0aG9kIGJ1dCBpbmhlcml0cyBhIGhhc2hDb2RlKCkgbWV0aG9kCi1mcm9tIE9iamVjdCBpcyB1bmhhc2hhYmxlLCBzaW5jZSBpdCBkb2Vzbid0IGZ1bGZpbGwgdGhlIHJlcXVpcmVtZW50IHRoYXQKLWVxdWFsIG9iamVjdHMgaGF2ZSBlcXVhbCBoYXNoQ29kZXMuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJIRV9VU0VfT0ZfVU5IQVNIQUJMRV9DTEFTUyI+SEU6IFVzZSBvZiBjbGFzcyB3aXRob3V0IGEgaGFzaENvZGUoKSBtZXRob2QgaW4gYSBoYXNoZWQgZGF0YSBzdHJ1Y3R1cmUgKEhFX1VTRV9PRl9VTkhBU0hBQkxFX0NMQVNTKTwvYT48L2gzPgotCi0KLSAgPHA+IEEgY2xhc3MgZGVmaW5lcyBhbiBlcXVhbHMoT2JqZWN0KSAgbWV0aG9kIGJ1dCBub3QgYSBoYXNoQ29kZSgpIG1ldGhvZCwKLWFuZCB0aHVzIGRvZXNuJ3QgZnVsZmlsbCB0aGUgcmVxdWlyZW1lbnQgdGhhdCBlcXVhbCBvYmplY3RzIGhhdmUgZXF1YWwgaGFzaENvZGVzLgotQW4gaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyBpcyB1c2VkIGluIGEgaGFzaCBkYXRhIHN0cnVjdHVyZSwgbWFraW5nIHRoZSBuZWVkIHRvCi1maXggdGhpcyBwcm9ibGVtIG9mIGhpZ2hlc3QgaW1wb3J0YW5jZS4KLQotICAgIAotPGgzPjxhIG5hbWU9IklDQVNUX0lOVF8yX0xPTkdfQVNfSU5TVEFOVCI+SUNBU1Q6IGludCB2YWx1ZSBjb252ZXJ0ZWQgdG8gbG9uZyBhbmQgdXNlZCBhcyBhYnNvbHV0ZSB0aW1lIChJQ0FTVF9JTlRfMl9MT05HX0FTX0lOU1RBTlQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgY29udmVydHMgYSAzMi1iaXQgaW50IHZhbHVlIHRvIGEgNjQtYml0IGxvbmcgdmFsdWUsIGFuZCB0aGVuCi1wYXNzZXMgdGhhdCB2YWx1ZSBmb3IgYSBtZXRob2QgcGFyYW1ldGVyIHRoYXQgcmVxdWlyZXMgYW4gYWJzb2x1dGUgdGltZSB2YWx1ZS4KLUFuIGFic29sdXRlIHRpbWUgdmFsdWUgaXMgdGhlIG51bWJlcgotb2YgbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBzdGFuZGFyZCBiYXNlIHRpbWUga25vd24gYXMgInRoZSBlcG9jaCIsIG5hbWVseSBKYW51YXJ5IDEsIDE5NzAsIDAwOjAwOjAwIEdNVC4KLUZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIG1ldGhvZCwgaW50ZW5kZWQgdG8gY29udmVydCBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jIGludG8gYSBEYXRlLCBpcyBiYWRseQotYnJva2VuOjwvcD4KLTxwcmU+Ci1EYXRlIGdldERhdGUoaW50IHNlY29uZHMpIHsgcmV0dXJuIG5ldyBEYXRlKHNlY29uZHMgKiAxMDAwKTsgfQotPC9wcmU+Ci08cD5UaGUgbXVsdGlwbGljYXRpb24gaXMgZG9uZSB1c2luZyAzMi1iaXQgYXJpdGhtZXRpYywgYW5kIHRoZW4gY29udmVydGVkIHRvIGEgNjQtYml0IHZhbHVlLgotV2hlbiBhIDMyLWJpdCB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gNjQtYml0cyBhbmQgdXNlZCB0byBleHByZXNzIGFuIGFic29sdXRlIHRpbWUKLXZhbHVlLCBvbmx5IGRhdGVzIGluIERlY2VtYmVyIDE5NjkgYW5kIEphbnVhcnkgMTk3MCBjYW4gYmUgcmVwcmVzZW50ZWQuPC9wPgotCi08cD5Db3JyZWN0IGltcGxlbWVudGF0aW9ucyBmb3IgdGhlIGFib3ZlIG1ldGhvZCBhcmU6PC9wPgotCi08cHJlPgotLy8gRmFpbHMgZm9yIGRhdGVzIGFmdGVyIDIwMzcKLURhdGUgZ2V0RGF0ZShpbnQgc2Vjb25kcykgeyByZXR1cm4gbmV3IERhdGUoc2Vjb25kcyAqIDEwMDBMKTsgfQotCi0vLyBiZXR0ZXIsIHdvcmtzIGZvciBhbGwgZGF0ZXMKLURhdGUgZ2V0RGF0ZShsb25nIHNlY29uZHMpIHsgcmV0dXJuIG5ldyBEYXRlKHNlY29uZHMgKiAxMDAwKTsgfQotPC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJQ0FTVF9JTlRfQ0FTVF9UT19ET1VCTEVfUEFTU0VEX1RPX0NFSUwiPklDQVNUOiBJbnRlZ3JhbCB2YWx1ZSBjYXN0IHRvIGRvdWJsZSBhbmQgdGhlbiBwYXNzZWQgdG8gTWF0aC5jZWlsIChJQ0FTVF9JTlRfQ0FTVF9UT19ET1VCTEVfUEFTU0VEX1RPX0NFSUwpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgY29udmVydHMgYW4gaW50ZWdyYWwgdmFsdWUgKGUuZy4sIGludCBvciBsb25nKQotdG8gYSBkb3VibGUgcHJlY2lzaW9uCi1mbG9hdGluZyBwb2ludCBudW1iZXIgYW5kIHRoZW4KLXBhc3NpbmcgdGhlIHJlc3VsdCB0byB0aGUgTWF0aC5jZWlsKCkgZnVuY3Rpb24sIHdoaWNoIHJvdW5kcyBhIGRvdWJsZSB0bwotdGhlIG5leHQgaGlnaGVyIGludGVnZXIgdmFsdWUuIFRoaXMgb3BlcmF0aW9uIHNob3VsZCBhbHdheXMgYmUgYSBuby1vcCwKLXNpbmNlIHRoZSBjb252ZXJ0aW5nIGFuIGludGVnZXIgdG8gYSBkb3VibGUgc2hvdWxkIGdpdmUgYSBudW1iZXIgd2l0aCBubyBmcmFjdGlvbmFsIHBhcnQuCi1JdCBpcyBsaWtlbHkgdGhhdCB0aGUgb3BlcmF0aW9uIHRoYXQgZ2VuZXJhdGVkIHRoZSB2YWx1ZSB0byBiZSBwYXNzZWQKLXRvIE1hdGguY2VpbCB3YXMgaW50ZW5kZWQgdG8gYmUgcGVyZm9ybWVkIHVzaW5nIGRvdWJsZSBwcmVjaXNpb24KLWZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IklDQVNUX0lOVF9DQVNUX1RPX0ZMT0FUX1BBU1NFRF9UT19ST1VORCI+SUNBU1Q6IGludCB2YWx1ZSBjYXN0IHRvIGZsb2F0IGFuZCB0aGVuIHBhc3NlZCB0byBNYXRoLnJvdW5kIChJQ0FTVF9JTlRfQ0FTVF9UT19GTE9BVF9QQVNTRURfVE9fUk9VTkQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgY29udmVydHMgYW4gaW50IHZhbHVlIHRvIGEgZmxvYXQgcHJlY2lzaW9uCi1mbG9hdGluZyBwb2ludCBudW1iZXIgYW5kIHRoZW4KLXBhc3NpbmcgdGhlIHJlc3VsdCB0byB0aGUgTWF0aC5yb3VuZCgpIGZ1bmN0aW9uLCB3aGljaCByZXR1cm5zIHRoZSBpbnQvbG9uZyBjbG9zZXN0Ci10byB0aGUgYXJndW1lbnQuIFRoaXMgb3BlcmF0aW9uIHNob3VsZCBhbHdheXMgYmUgYSBuby1vcCwKLXNpbmNlIHRoZSBjb252ZXJ0aW5nIGFuIGludGVnZXIgdG8gYSBmbG9hdCBzaG91bGQgZ2l2ZSBhIG51bWJlciB3aXRoIG5vIGZyYWN0aW9uYWwgcGFydC4KLUl0IGlzIGxpa2VseSB0aGF0IHRoZSBvcGVyYXRpb24gdGhhdCBnZW5lcmF0ZWQgdGhlIHZhbHVlIHRvIGJlIHBhc3NlZAotdG8gTWF0aC5yb3VuZCB3YXMgaW50ZW5kZWQgdG8gYmUgcGVyZm9ybWVkIHVzaW5nCi1mbG9hdGluZyBwb2ludCBhcml0aG1ldGljLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJJSlVfQVNTRVJUX01FVEhPRF9JTlZPS0VEX0ZST01fUlVOX01FVEhPRCI+SUpVOiBKVW5pdCBhc3NlcnRpb24gaW4gcnVuIG1ldGhvZCB3aWxsIG5vdCBiZSBub3RpY2VkIGJ5IEpVbml0IChJSlVfQVNTRVJUX01FVEhPRF9JTlZPS0VEX0ZST01fUlVOX01FVEhPRCk8L2E+PC9oMz4KLQotCi08cD4gQSBKVW5pdCBhc3NlcnRpb24gaXMgcGVyZm9ybWVkIGluIGEgcnVuIG1ldGhvZC4gRmFpbGVkIEpVbml0IGFzc2VydGlvbnMKLWp1c3QgcmVzdWx0IGluIGV4Y2VwdGlvbnMgYmVpbmcgdGhyb3duLgotVGh1cywgaWYgdGhpcyBleGNlcHRpb24gb2NjdXJzIGluIGEgdGhyZWFkIG90aGVyIHRoYW4gdGhlIHRocmVhZCB0aGF0IGludm9rZXMKLXRoZSB0ZXN0IG1ldGhvZCwgdGhlIGV4Y2VwdGlvbiB3aWxsIHRlcm1pbmF0ZSB0aGUgdGhyZWFkIGJ1dCBub3QgcmVzdWx0Ci1pbiB0aGUgdGVzdCBmYWlsaW5nLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUpVX0JBRF9TVUlURV9NRVRIT0QiPklKVTogVGVzdENhc2UgZGVjbGFyZXMgYSBiYWQgc3VpdGUgbWV0aG9kICAoSUpVX0JBRF9TVUlURV9NRVRIT0QpPC9hPjwvaDM+Ci0KLQotPHA+IENsYXNzIGlzIGEgSlVuaXQgVGVzdENhc2UgYW5kIGRlZmluZXMgYSBzdWl0ZSgpIG1ldGhvZC4KLUhvd2V2ZXIsIHRoZSBzdWl0ZSBtZXRob2QgbmVlZHMgdG8gYmUgZGVjbGFyZWQgYXMgZWl0aGVyPC9wPgotPHByZT5wdWJsaWMgc3RhdGljIGp1bml0LmZyYW1ld29yay5UZXN0IHN1aXRlKCk8L3ByZT4KLW9yCi08cHJlPnB1YmxpYyBzdGF0aWMganVuaXQuZnJhbWV3b3JrLlRlc3RTdWl0ZSBzdWl0ZSgpPC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJSlVfTk9fVEVTVFMiPklKVTogVGVzdENhc2UgaGFzIG5vIHRlc3RzIChJSlVfTk9fVEVTVFMpPC9hPjwvaDM+Ci0KLQotPHA+IENsYXNzIGlzIGEgSlVuaXQgVGVzdENhc2UgYnV0IGhhcyBub3QgaW1wbGVtZW50ZWQgYW55IHRlc3QgbWV0aG9kczwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklKVV9TRVRVUF9OT19TVVBFUiI+SUpVOiBUZXN0Q2FzZSBkZWZpbmVzIHNldFVwIHRoYXQgZG9lc24ndCBjYWxsIHN1cGVyLnNldFVwKCkgKElKVV9TRVRVUF9OT19TVVBFUik8L2E+PC9oMz4KLQotCi08cD4gQ2xhc3MgaXMgYSBKVW5pdCBUZXN0Q2FzZSBhbmQgaW1wbGVtZW50cyB0aGUgc2V0VXAgbWV0aG9kLiBUaGUgc2V0VXAgbWV0aG9kIHNob3VsZCBjYWxsCi1zdXBlci5zZXRVcCgpLCBidXQgZG9lc24ndC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJSlVfU1VJVEVfTk9UX1NUQVRJQyI+SUpVOiBUZXN0Q2FzZSBpbXBsZW1lbnRzIGEgbm9uLXN0YXRpYyBzdWl0ZSBtZXRob2QgIChJSlVfU1VJVEVfTk9UX1NUQVRJQyk8L2E+PC9oMz4KLQotCi08cD4gQ2xhc3MgaXMgYSBKVW5pdCBUZXN0Q2FzZSBhbmQgaW1wbGVtZW50cyB0aGUgc3VpdGUoKSBtZXRob2QuCi0gVGhlIHN1aXRlIG1ldGhvZCBzaG91bGQgYmUgZGVjbGFyZWQgYXMgYmVpbmcgc3RhdGljLCBidXQgaXNuJ3QuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUpVX1RFQVJET1dOX05PX1NVUEVSIj5JSlU6IFRlc3RDYXNlIGRlZmluZXMgdGVhckRvd24gdGhhdCBkb2Vzbid0IGNhbGwgc3VwZXIudGVhckRvd24oKSAoSUpVX1RFQVJET1dOX05PX1NVUEVSKTwvYT48L2gzPgotCi0KLTxwPiBDbGFzcyBpcyBhIEpVbml0IFRlc3RDYXNlIGFuZCBpbXBsZW1lbnRzIHRoZSB0ZWFyRG93biBtZXRob2QuIFRoZSB0ZWFyRG93biBtZXRob2Qgc2hvdWxkIGNhbGwKLXN1cGVyLnRlYXJEb3duKCksIGJ1dCBkb2Vzbid0LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklMX0NPTlRBSU5FUl9BRERFRF9UT19JVFNFTEYiPklMOiBBIGNvbGxlY3Rpb24gaXMgYWRkZWQgdG8gaXRzZWxmIChJTF9DT05UQUlORVJfQURERURfVE9fSVRTRUxGKTwvYT48L2gzPgotCi0KLTxwPkEgY29sbGVjdGlvbiBpcyBhZGRlZCB0byBpdHNlbGYuIEFzIGEgcmVzdWx0LCBjb21wdXRpbmcgdGhlIGhhc2hDb2RlIG9mIHRoaXMKLXNldCB3aWxsIHRocm93IGEgU3RhY2tPdmVyZmxvd0V4Y2VwdGlvbi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklMX0lORklOSVRFX0xPT1AiPklMOiBBbiBhcHBhcmVudCBpbmZpbml0ZSBsb29wIChJTF9JTkZJTklURV9MT09QKTwvYT48L2gzPgotCi0KLTxwPlRoaXMgbG9vcCBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHdheSB0byB0ZXJtaW5hdGUgKG90aGVyIHRoYW4gYnkgcGVyaGFwcwotdGhyb3dpbmcgYW4gZXhjZXB0aW9uKS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJTF9JTkZJTklURV9SRUNVUlNJVkVfTE9PUCI+SUw6IEFuIGFwcGFyZW50IGluZmluaXRlIHJlY3Vyc2l2ZSBsb29wIChJTF9JTkZJTklURV9SRUNVUlNJVkVfTE9PUCk8L2E+PC9oMz4KLQotCi08cD5UaGlzIG1ldGhvZCB1bmNvbmRpdGlvbmFsbHkgaW52b2tlcyBpdHNlbGYuIFRoaXMgd291bGQgc2VlbSB0byBpbmRpY2F0ZQotYW4gaW5maW5pdGUgcmVjdXJzaXZlIGxvb3AgdGhhdCB3aWxsIHJlc3VsdCBpbiBhIHN0YWNrIG92ZXJmbG93LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklNX01VTFRJUExZSU5HX1JFU1VMVF9PRl9JUkVNIj5JTTogSW50ZWdlciBtdWx0aXBseSBvZiByZXN1bHQgb2YgaW50ZWdlciByZW1haW5kZXIgKElNX01VTFRJUExZSU5HX1JFU1VMVF9PRl9JUkVNKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGNvZGUgbXVsdGlwbGllcyB0aGUgcmVzdWx0IG9mIGFuIGludGVnZXIgcmVtYWluaW5nIGJ5IGFuIGludGVnZXIgY29uc3RhbnQuCi1CZSBzdXJlIHlvdSBkb24ndCBoYXZlIHlvdXIgb3BlcmF0b3IgcHJlY2VkZW5jZSBjb25mdXNlZC4gRm9yIGV4YW1wbGUKLWkgJSA2MCAqIDEwMDAgaXMgKGkgJSA2MCkgKiAxMDAwLCBub3QgaSAlICg2MCAqIDEwMDApLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSU5UX0JBRF9DT01QQVJJU09OX1dJVEhfSU5UX1ZBTFVFIj5JTlQ6IEJhZCBjb21wYXJpc29uIG9mIGludCB2YWx1ZSB3aXRoIGxvbmcgY29uc3RhbnQgKElOVF9CQURfQ09NUEFSSVNPTl9XSVRIX0lOVF9WQUxVRSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjb2RlIGNvbXBhcmVzIGFuIGludCB2YWx1ZSB3aXRoIGEgbG9uZyBjb25zdGFudCB0aGF0IGlzIG91dHNpZGUKLXRoZSByYW5nZSBvZiB2YWx1ZXMgdGhhdCBjYW4gYmUgcmVwcmVzZW50ZWQgYXMgYW4gaW50IHZhbHVlLgotVGhpcyBjb21wYXJpc29uIGlzIHZhY3VvdXMgYW5kIHBvc3NpYmlseSB0byBiZSBpbmNvcnJlY3QuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJTlRfQkFEX0NPTVBBUklTT05fV0lUSF9OT05ORUdBVElWRV9WQUxVRSI+SU5UOiBCYWQgY29tcGFyaXNvbiBvZiBub25uZWdhdGl2ZSB2YWx1ZSB3aXRoIG5lZ2F0aXZlIGNvbnN0YW50IChJTlRfQkFEX0NPTVBBUklTT05fV0lUSF9OT05ORUdBVElWRV9WQUxVRSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjb2RlIGNvbXBhcmVzIGEgdmFsdWUgdGhhdCBpcyBndWFyYW50ZWVkIHRvIGJlIG5vbi1uZWdhdGl2ZSB3aXRoIGEgbmVnYXRpdmUgY29uc3RhbnQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJTlRfQkFEX0NPTVBBUklTT05fV0lUSF9TSUdORURfQllURSI+SU5UOiBCYWQgY29tcGFyaXNvbiBvZiBzaWduZWQgYnl0ZSAoSU5UX0JBRF9DT01QQVJJU09OX1dJVEhfU0lHTkVEX0JZVEUpPC9hPjwvaDM+Ci0KLQotPHA+IFNpZ25lZCBieXRlcyBjYW4gb25seSBoYXZlIGEgdmFsdWUgaW4gdGhlIHJhbmdlIC0xMjggdG8gMTI3LiBDb21wYXJpbmcKLWEgc2lnbmVkIGJ5dGUgd2l0aCBhIHZhbHVlIG91dHNpZGUgdGhhdCByYW5nZSBpcyB2YWN1b3VzIGFuZCBsaWtlbHkgdG8gYmUgaW5jb3JyZWN0LgotVG8gY29udmVydCBhIHNpZ25lZCBieXRlIDxjb2RlPmI8L2NvZGU+IHRvIGFuIHVuc2lnbmVkIHZhbHVlIGluIHRoZSByYW5nZSAwLi4yNTUsCi11c2UgPGNvZGU+MHhmZiAmYW1wOyBiPC9jb2RlPgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSU9fQVBQRU5ESU5HX1RPX09CSkVDVF9PVVRQVVRfU1RSRUFNIj5JTzogRG9vbWVkIGF0dGVtcHQgdG8gYXBwZW5kIHRvIGFuIG9iamVjdCBvdXRwdXQgc3RyZWFtIChJT19BUFBFTkRJTkdfVE9fT0JKRUNUX09VVFBVVF9TVFJFQU0pPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgIFRoaXMgY29kZSBvcGVucyBhIGZpbGUgaW4gYXBwZW5kIG1vZGUgYW5kIHRoZW4gd3JhcHMgdGhlIHJlc3VsdCBpbiBhbiBvYmplY3Qgb3V0cHV0IHN0cmVhbS4KLSAgICAgVGhpcyB3b24ndCBhbGxvdyB5b3UgdG8gYXBwZW5kIHRvIGFuIGV4aXN0aW5nIG9iamVjdCBvdXRwdXQgc3RyZWFtIHN0b3JlZCBpbiBhIGZpbGUuIElmIHlvdSB3YW50IHRvIGJlCi0gICAgIGFibGUgdG8gYXBwZW5kIHRvIGFuIG9iamVjdCBvdXRwdXQgc3RyZWFtLCB5b3UgbmVlZCB0byBrZWVwIHRoZSBvYmplY3Qgb3V0cHV0IHN0cmVhbSBvcGVuLgotICAgICAgPC9wPgotICAgICAgPHA+VGhlIG9ubHkgc2l0dWF0aW9uIGluIHdoaWNoIG9wZW5pbmcgYSBmaWxlIGluIGFwcGVuZCBtb2RlIGFuZCB0aGUgd3JpdGluZyBhbiBvYmplY3Qgb3V0cHV0IHN0cmVhbQotICAgICAgY291bGQgd29yayBpcyBpZiBvbiByZWFkaW5nIHRoZSBmaWxlIHlvdSBwbGFuIHRvIG9wZW4gaXQgaW4gcmFuZG9tIGFjY2VzcyBtb2RlIGFuZCBzZWVrIHRvIHRoZSBieXRlIG9mZnNldAotICAgICAgd2hlcmUgdGhlIGFwcGVuZCBzdGFydGVkLgotICAgICAgPC9wPgotCi0gICAgICA8cD4KLSAgICAgIFRPRE86IGV4YW1wbGUuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJJUF9QQVJBTUVURVJfSVNfREVBRF9CVVRfT1ZFUldSSVRURU4iPklQOiBBIHBhcmFtZXRlciBpcyBkZWFkIHVwb24gZW50cnkgdG8gYSBtZXRob2QgYnV0IG92ZXJ3cml0dGVuIChJUF9QQVJBTUVURVJfSVNfREVBRF9CVVRfT1ZFUldSSVRURU4pPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyBpZ25vcmVkLCBhbmQgdGhlIHBhcmFtZXRlcgotaXMgb3ZlcndyaXR0ZW4gaGVyZS4gVGhpcyBvZnRlbiBpbmRpY2F0ZXMgYSBtaXN0YWtlbiBiZWxpZWYgdGhhdAotdGhlIHdyaXRlIHRvIHRoZSBwYXJhbWV0ZXIgd2lsbCBiZSBjb252ZXllZCBiYWNrIHRvCi10aGUgY2FsbGVyLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTUZfQ0xBU1NfTUFTS1NfRklFTEQiPk1GOiBDbGFzcyBkZWZpbmVzIGZpZWxkIHRoYXQgbWFza3MgYSBzdXBlcmNsYXNzIGZpZWxkIChNRl9DTEFTU19NQVNLU19GSUVMRCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgZmllbGQgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGEgdmlzaWJsZQotaW5zdGFuY2UgZmllbGQgaW4gYSBzdXBlcmNsYXNzLiAgVGhpcyBpcyBjb25mdXNpbmcsIGFuZAotbWF5IGluZGljYXRlIGFuIGVycm9yIGlmIG1ldGhvZHMgdXBkYXRlIG9yIGFjY2VzcyBvbmUgb2YKLXRoZSBmaWVsZHMgd2hlbiB0aGV5IHdhbnRlZCB0aGUgb3RoZXIuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTUZfTUVUSE9EX01BU0tTX0ZJRUxEIj5NRjogTWV0aG9kIGRlZmluZXMgYSB2YXJpYWJsZSB0aGF0IG9ic2N1cmVzIGEgZmllbGQgKE1GX01FVEhPRF9NQVNLU19GSUVMRCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgZGVmaW5lcyBhIGxvY2FsIHZhcmlhYmxlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBhIGZpZWxkCi1pbiB0aGlzIGNsYXNzIG9yIGEgc3VwZXJjbGFzcy4gIFRoaXMgbWF5IGNhdXNlIHRoZSBtZXRob2QgdG8KLXJlYWQgYW4gdW5pbml0aWFsaXplZCB2YWx1ZSBmcm9tIHRoZSBmaWVsZCwgbGVhdmUgdGhlIGZpZWxkIHVuaW5pdGlhbGl6ZWQsCi1vciBib3RoLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX0FMV0FZU19OVUxMIj5OUDogTnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIChOUF9BTFdBWVNfTlVMTCk8L2E+PC9oMz4KLQotCi08cD4gQSBudWxsIHBvaW50ZXIgaXMgZGVyZWZlcmVuY2VkIGhlcmUuJm5ic3A7IFRoaXMgd2lsbCBsZWFkIHRvIGEKLTxjb2RlPk51bGxQb2ludGVyRXhjZXB0aW9uPC9jb2RlPiB3aGVuIHRoZSBjb2RlIGlzIGV4ZWN1dGVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX0FMV0FZU19OVUxMX0VYQ0VQVElPTiI+TlA6IE51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiBtZXRob2Qgb24gZXhjZXB0aW9uIHBhdGggKE5QX0FMV0FZU19OVUxMX0VYQ0VQVElPTik8L2E+PC9oMz4KLQotCi08cD4gQSBwb2ludGVyIHdoaWNoIGlzIG51bGwgb24gYW4gZXhjZXB0aW9uIHBhdGggaXMgZGVyZWZlcmVuY2VkIGhlcmUuJm5ic3A7Ci1UaGlzIHdpbGwgbGVhZCB0byBhIDxjb2RlPk51bGxQb2ludGVyRXhjZXB0aW9uPC9jb2RlPiB3aGVuIHRoZSBjb2RlIGlzIGV4ZWN1dGVkLiZuYnNwOwotTm90ZSB0aGF0IGJlY2F1c2UgRmluZEJ1Z3MgY3VycmVudGx5IGRvZXMgbm90IHBydW5lIGluZmVhc2libGUgZXhjZXB0aW9uIHBhdGhzLAotdGhpcyBtYXkgYmUgYSBmYWxzZSB3YXJuaW5nLjwvcD4KLQotPHA+IEFsc28gbm90ZSB0aGF0IEZpbmRCdWdzIGNvbnNpZGVycyB0aGUgZGVmYXVsdCBjYXNlIG9mIGEgc3dpdGNoIHN0YXRlbWVudCB0bwotYmUgYW4gZXhjZXB0aW9uIHBhdGgsIHNpbmNlIHRoZSBkZWZhdWx0IGNhc2UgaXMgb2Z0ZW4gaW5mZWFzaWJsZS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOUF9BUkdVTUVOVF9NSUdIVF9CRV9OVUxMIj5OUDogTWV0aG9kIGRvZXMgbm90IGNoZWNrIGZvciBudWxsIGFyZ3VtZW50IChOUF9BUkdVTUVOVF9NSUdIVF9CRV9OVUxMKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgIEEgcGFyYW1ldGVyIHRvIHRoaXMgbWV0aG9kIGhhcyBiZWVuIGlkZW50aWZpZWQgYXMgYSB2YWx1ZSB0aGF0IHNob3VsZAotICAgIGFsd2F5cyBiZSBjaGVja2VkIHRvIHNlZSB3aGV0aGVyIG9yIG5vdCBpdCBpcyBudWxsLCBidXQgaXQgaXMgYmVpbmcgZGVyZWZlcmVuY2VkCi0gICAgd2l0aG91dCBhIHByZWNlZGluZyBudWxsIGNoZWNrLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJOUF9DTE9TSU5HX05VTEwiPk5QOiBjbG9zZSgpIGludm9rZWQgb24gYSB2YWx1ZSB0aGF0IGlzIGFsd2F5cyBudWxsIChOUF9DTE9TSU5HX05VTEwpPC9hPjwvaDM+Ci0KLQotPHA+IGNsb3NlKCkgaXMgYmVpbmcgaW52b2tlZCBvbiBhIHZhbHVlIHRoYXQgaXMgYWx3YXlzIG51bGwuIElmIHRoaXMgc3RhdGVtZW50IGlzIGV4ZWN1dGVkLAotYSBudWxsIHBvaW50ZXIgZXhjZXB0aW9uIHdpbGwgb2NjdXIuIEJ1dCB0aGUgYmlnIHJpc2sgaGVyZSB5b3UgbmV2ZXIgY2xvc2UKLXNvbWV0aGluZyB0aGF0IHNob3VsZCBiZSBjbG9zZWQuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJOUF9HVUFSQU5URUVEX0RFUkVGIj5OUDogTnVsbCB2YWx1ZSBpcyBndWFyYW50ZWVkIHRvIGJlIGRlcmVmZXJlbmNlZCAoTlBfR1VBUkFOVEVFRF9ERVJFRik8L2E+PC9oMz4KLQotICAgICAgICAgIAotICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAgVGhlcmUgaXMgYSBzdGF0ZW1lbnQgb3IgYnJhbmNoIHRoYXQgaWYgZXhlY3V0ZWQgZ3VhcmFudGVlcyB0aGF0Ci0gICAgICAgICAgICAgIGEgdmFsdWUgaXMgbnVsbCBhdCB0aGlzIHBvaW50LCBhbmQgdGhhdAotICAgICAgICAgICAgICB2YWx1ZSB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYmUgZGVyZWZlcmVuY2VkCi0gICAgICAgICAgICAgIChleGNlcHQgb24gZm9yd2FyZCBwYXRocyBpbnZvbHZpbmcgcnVudGltZSBleGNlcHRpb25zKS4KLSAgICAgICAgICAgICAgPC9wPgotICAgICAgICA8cD5Ob3RlIHRoYXQgYSBjaGVjayBzdWNoIGFzCi0gICAgICAgICAgICA8Y29kZT5pZiAoeCA9PSBudWxsKSB0aHJvdyBuZXcgTnVsbFBvaW50ZXJFeGNlcHRpb24oKTs8L2NvZGU+Ci0gICAgICAgICAgICBpcyB0cmVhdGVkIGFzIGEgZGVyZWZlcmVuY2Ugb2YgPGNvZGU+eDwvY29kZT4uCi0gICAgICAgICAgCi0gICAgICAKLTxoMz48YSBuYW1lPSJOUF9HVUFSQU5URUVEX0RFUkVGX09OX0VYQ0VQVElPTl9QQVRIIj5OUDogVmFsdWUgaXMgbnVsbCBhbmQgZ3VhcmFudGVlZCB0byBiZSBkZXJlZmVyZW5jZWQgb24gZXhjZXB0aW9uIHBhdGggKE5QX0dVQVJBTlRFRURfREVSRUZfT05fRVhDRVBUSU9OX1BBVEgpPC9hPjwvaDM+Ci0KLSAgICAgICAgICAKLSAgICAgICAgICAgICAgPHA+Ci0gICAgICAgICAgICAgIFRoZXJlIGlzIGEgc3RhdGVtZW50IG9yIGJyYW5jaCBvbiBhbiBleGNlcHRpb24gcGF0aAotICAgICAgICAgICAgICAgIHRoYXQgaWYgZXhlY3V0ZWQgZ3VhcmFudGVlcyB0aGF0Ci0gICAgICAgICAgICAgIGEgdmFsdWUgaXMgbnVsbCBhdCB0aGlzIHBvaW50LCBhbmQgdGhhdAotICAgICAgICAgICAgICB2YWx1ZSB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYmUgZGVyZWZlcmVuY2VkCi0gICAgICAgICAgICAgIChleGNlcHQgb24gZm9yd2FyZCBwYXRocyBpbnZvbHZpbmcgcnVudGltZSBleGNlcHRpb25zKS4KLSAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgIAotICAgICAgCi08aDM+PGEgbmFtZT0iTlBfTk9OTlVMTF9GSUVMRF9OT1RfSU5JVElBTElaRURfSU5fQ09OU1RSVUNUT1IiPk5QOiBOb25udWxsIGZpZWxkIGlzIG5vdCBpbml0aWFsaXplZCAoTlBfTk9OTlVMTF9GSUVMRF9OT1RfSU5JVElBTElaRURfSU5fQ09OU1RSVUNUT1IpPC9hPjwvaDM+Ci0KLSAgICAgICAKLSAgICAgICA8cD4gVGhlIGZpZWxkIGlzIG1hcmtlZCBhcyBub25udWxsLCBidXQgaXNuJ3Qgd3JpdHRlbiB0byBieSB0aGUgY29uc3RydWN0b3IuCi0gICAgVGhlIGZpZWxkIG1pZ2h0IGJlIGluaXRpYWxpemVkIGVsc2V3aGVyZSBkdXJpbmcgY29uc3RydWN0b3IsIG9yIG1pZ2h0IGFsd2F5cwotICAgIGJlIGluaXRpYWxpemVkIGJlZm9yZSB1c2UuCi0gICAgICAgPC9wPgotICAgICAgIAotICAgICAgIAotPGgzPjxhIG5hbWU9Ik5QX05PTk5VTExfUEFSQU1fVklPTEFUSU9OIj5OUDogTWV0aG9kIGNhbGwgcGFzc2VzIG51bGwgdG8gYSBub25udWxsIHBhcmFtZXRlciAgKE5QX05PTk5VTExfUEFSQU1fVklPTEFUSU9OKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBtZXRob2QgcGFzc2VzIGEgbnVsbCB2YWx1ZSBhcyB0aGUgcGFyYW1ldGVyIG9mIGEgbWV0aG9kIHdoaWNoCi0gICAgbXVzdCBiZSBub25udWxsLiBFaXRoZXIgdGhpcyBwYXJhbWV0ZXIgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQKLSAgICBhcyBATm9ubnVsbCwgb3IgYW5hbHlzaXMgaGFzIGRldGVybWluZWQgdGhhdCB0aGlzIHBhcmFtZXRlciBpcwotICAgIGFsd2F5cyBkZXJlZmVyZW5jZWQuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9Ik5QX05PTk5VTExfUkVUVVJOX1ZJT0xBVElPTiI+TlA6IE1ldGhvZCBtYXkgcmV0dXJuIG51bGwsIGJ1dCBpcyBkZWNsYXJlZCBATm9uTnVsbCAoTlBfTk9OTlVMTF9SRVRVUk5fVklPTEFUSU9OKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBtZXRob2QgbWF5IHJldHVybiBhIG51bGwgdmFsdWUsIGJ1dCB0aGUgbWV0aG9kIChvciBhIHN1cGVyY2xhc3MgbWV0aG9kCi0gICAgICB3aGljaCBpdCBvdmVycmlkZXMpIGlzIGRlY2xhcmVkIHRvIHJldHVybiBATm9uTnVsbC4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iTlBfTlVMTF9JTlNUQU5DRU9GIj5OUDogQSBrbm93biBudWxsIHZhbHVlIGlzIGNoZWNrZWQgdG8gc2VlIGlmIGl0IGlzIGFuIGluc3RhbmNlIG9mIGEgdHlwZSAoTlBfTlVMTF9JTlNUQU5DRU9GKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBpbnN0YW5jZW9mIHRlc3Qgd2lsbCBhbHdheXMgcmV0dXJuIGZhbHNlLCBzaW5jZSB0aGUgdmFsdWUgYmVpbmcgY2hlY2tlZCBpcyBndWFyYW50ZWVkIHRvIGJlIG51bGwuCi1BbHRob3VnaCB0aGlzIGlzIHNhZmUsIG1ha2Ugc3VyZSBpdCBpc24ndAotYW4gaW5kaWNhdGlvbiBvZiBzb21lIG1pc3VuZGVyc3RhbmRpbmcgb3Igc29tZSBvdGhlciBsb2dpYyBlcnJvci4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX05VTExfT05fU09NRV9QQVRIIj5OUDogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIChOUF9OVUxMX09OX1NPTUVfUEFUSCk8L2E+PC9oMz4KLQotCi08cD4gVGhlcmUgaXMgYSBicmFuY2ggb2Ygc3RhdGVtZW50IHRoYXQsIDxlbT5pZiBleGVjdXRlZCw8L2VtPiAgZ3VhcmFudGVlcyB0aGF0Ci1hIG51bGwgdmFsdWUgd2lsbCBiZSBkZXJlZmVyZW5jZWQsIHdoaWNoCi13b3VsZCBnZW5lcmF0ZSBhIDxjb2RlPk51bGxQb2ludGVyRXhjZXB0aW9uPC9jb2RlPiB3aGVuIHRoZSBjb2RlIGlzIGV4ZWN1dGVkLgotT2YgY291cnNlLCB0aGUgcHJvYmxlbSBtaWdodCBiZSB0aGF0IHRoZSBicmFuY2ggb3Igc3RhdGVtZW50IGlzIGluZmVhc2libGUgYW5kIHRoYXQKLXRoZSBudWxsIHBvaW50ZXIgZXhjZXB0aW9uIGNhbid0IGV2ZXIgYmUgZXhlY3V0ZWQ7IGRlY2lkaW5nIHRoYXQgaXMgYmV5b25kIHRoZSBhYmlsaXR5IG9mIEZpbmRCdWdzLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfTlVMTF9PTl9TT01FX1BBVEhfRVhDRVBUSU9OIj5OUDogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIG1ldGhvZCBvbiBleGNlcHRpb24gcGF0aCAoTlBfTlVMTF9PTl9TT01FX1BBVEhfRVhDRVBUSU9OKTwvYT48L2gzPgotCi0KLTxwPiBBIHJlZmVyZW5jZSB2YWx1ZSB3aGljaCBpcyBudWxsIG9uIHNvbWUgZXhjZXB0aW9uIGNvbnRyb2wgcGF0aCBpcwotZGVyZWZlcmVuY2VkIGhlcmUuJm5ic3A7IFRoaXMgbWF5IGxlYWQgdG8gYSA8Y29kZT5OdWxsUG9pbnRlckV4Y2VwdGlvbjwvY29kZT4KLXdoZW4gdGhlIGNvZGUgaXMgZXhlY3V0ZWQuJm5ic3A7Ci1Ob3RlIHRoYXQgYmVjYXVzZSBGaW5kQnVncyBjdXJyZW50bHkgZG9lcyBub3QgcHJ1bmUgaW5mZWFzaWJsZSBleGNlcHRpb24gcGF0aHMsCi10aGlzIG1heSBiZSBhIGZhbHNlIHdhcm5pbmcuPC9wPgotCi08cD4gQWxzbyBub3RlIHRoYXQgRmluZEJ1Z3MgY29uc2lkZXJzIHRoZSBkZWZhdWx0IGNhc2Ugb2YgYSBzd2l0Y2ggc3RhdGVtZW50IHRvCi1iZSBhbiBleGNlcHRpb24gcGF0aCwgc2luY2UgdGhlIGRlZmF1bHQgY2FzZSBpcyBvZnRlbiBpbmZlYXNpYmxlLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX05VTExfUEFSQU1fREVSRUYiPk5QOiBNZXRob2QgY2FsbCBwYXNzZXMgbnVsbCBmb3Igbm9ubnVsbCBwYXJhbWV0ZXIgKE5QX05VTExfUEFSQU1fREVSRUYpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIG1ldGhvZCBjYWxsIHBhc3NlcyBhIG51bGwgdmFsdWUgZm9yIGEgbm9ubnVsbCBtZXRob2QgcGFyYW1ldGVyLgotICAgIEVpdGhlciB0aGUgcGFyYW1ldGVyIGlzIGFubm90YXRlZCBhcyBhIHBhcmFtZXRlciB0aGF0IHNob3VsZAotICAgIGFsd2F5cyBiZSBub25udWxsLCBvciBhbmFseXNpcyBoYXMgc2hvd24gdGhhdCBpdCB3aWxsIGFsd2F5cyBiZQotICAgIGRlcmVmZXJlbmNlZC4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iTlBfTlVMTF9QQVJBTV9ERVJFRl9BTExfVEFSR0VUU19EQU5HRVJPVVMiPk5QOiBNZXRob2QgY2FsbCBwYXNzZXMgbnVsbCBmb3Igbm9ubnVsbCBwYXJhbWV0ZXIgKE5QX05VTExfUEFSQU1fREVSRUZfQUxMX1RBUkdFVFNfREFOR0VST1VTKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgQSBwb3NzaWJseS1udWxsIHZhbHVlIGlzIHBhc3NlZCBhdCBhIGNhbGwgc2l0ZSB3aGVyZSBhbGwga25vd24KLSAgICAgIHRhcmdldCBtZXRob2RzIHJlcXVpcmUgdGhlIHBhcmFtZXRlciB0byBiZSBub25udWxsLgotICAgIEVpdGhlciB0aGUgcGFyYW1ldGVyIGlzIGFubm90YXRlZCBhcyBhIHBhcmFtZXRlciB0aGF0IHNob3VsZAotICAgIGFsd2F5cyBiZSBub25udWxsLCBvciBhbmFseXNpcyBoYXMgc2hvd24gdGhhdCBpdCB3aWxsIGFsd2F5cyBiZQotICAgIGRlcmVmZXJlbmNlZC4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iTlBfTlVMTF9QQVJBTV9ERVJFRl9OT05WSVJUVUFMIj5OUDogTm9uLXZpcnR1YWwgbWV0aG9kIGNhbGwgcGFzc2VzIG51bGwgZm9yIG5vbm51bGwgcGFyYW1ldGVyIChOUF9OVUxMX1BBUkFNX0RFUkVGX05PTlZJUlRVQUwpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBBIHBvc3NpYmx5LW51bGwgdmFsdWUgaXMgcGFzc2VkIHRvIGEgbm9ubnVsbCBtZXRob2QgcGFyYW1ldGVyLgotICAgIEVpdGhlciB0aGUgcGFyYW1ldGVyIGlzIGFubm90YXRlZCBhcyBhIHBhcmFtZXRlciB0aGF0IHNob3VsZAotICAgIGFsd2F5cyBiZSBub25udWxsLCBvciBhbmFseXNpcyBoYXMgc2hvd24gdGhhdCBpdCB3aWxsIGFsd2F5cyBiZQotICAgIGRlcmVmZXJlbmNlZC4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iTlBfU1RPUkVfSU5UT19OT05OVUxMX0ZJRUxEIj5OUDogU3RvcmUgb2YgbnVsbCB2YWx1ZSBpbnRvIGZpZWxkIGFubm90YXRlZCBOb25OdWxsIChOUF9TVE9SRV9JTlRPX05PTk5VTExfRklFTEQpPC9hPjwvaDM+Ci0KLSAgICAgIAotPHA+IEEgdmFsdWUgdGhhdCBjb3VsZCBiZSBudWxsIGlzIHN0b3JlZCBpbnRvIGEgZmllbGQgdGhhdCBoYXMgYmVlbiBhbm5vdGF0ZWQgYXMgTm9uTnVsbC4gPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfVU5XUklUVEVOX0ZJRUxEIj5OUDogUmVhZCBvZiB1bndyaXR0ZW4gZmllbGQgKE5QX1VOV1JJVFRFTl9GSUVMRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgcHJvZ3JhbSBpcyBkZXJlZmVyZW5jaW5nIGEgZmllbGQgdGhhdCBkb2VzIG5vdCBzZWVtIHRvIGV2ZXIgaGF2ZSBhIG5vbi1udWxsIHZhbHVlIHdyaXR0ZW4gdG8gaXQuCi1Vbmxlc3MgdGhlIGZpZWxkIGlzIGluaXRpYWxpemVkIHZpYSBzb21lIG1lY2hhbmlzbSBub3Qgc2VlbiBieSB0aGUgYW5hbHlzaXMsCi1kZXJlZmVyZW5jaW5nIHRoaXMgdmFsdWUgd2lsbCBnZW5lcmF0ZSBhIG51bGwgcG9pbnRlciBleGNlcHRpb24uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9CQURfRVFVQUwiPk5tOiBDbGFzcyBkZWZpbmVzIGVxdWFsKE9iamVjdCk7IHNob3VsZCBpdCBiZSBlcXVhbHMoT2JqZWN0KT8gKE5NX0JBRF9FUVVBTCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjbGFzcyBkZWZpbmVzIGEgbWV0aG9kIDxjb2RlPmVxdWFsKE9iamVjdCk8L2NvZGU+LiZuYnNwOyBUaGlzIG1ldGhvZCBkb2VzCi1ub3Qgb3ZlcnJpZGUgdGhlIDxjb2RlPmVxdWFscyhPYmplY3QpPC9jb2RlPiBtZXRob2QgaW4gPGNvZGU+amF2YS5sYW5nLk9iamVjdDwvY29kZT4sCi13aGljaCBpcyBwcm9iYWJseSB3aGF0IHdhcyBpbnRlbmRlZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9MQ0FTRV9IQVNIQ09ERSI+Tm06IENsYXNzIGRlZmluZXMgaGFzaGNvZGUoKTsgc2hvdWxkIGl0IGJlIGhhc2hDb2RlKCk/IChOTV9MQ0FTRV9IQVNIQ09ERSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBtZXRob2QgY2FsbGVkIDxjb2RlPmhhc2hjb2RlKCk8L2NvZGU+LiZuYnNwOyBUaGlzIG1ldGhvZAotICBkb2VzIG5vdCBvdmVycmlkZSB0aGUgPGNvZGU+aGFzaENvZGUoKTwvY29kZT4gbWV0aG9kIGluIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+LAotICB3aGljaCBpcyBwcm9iYWJseSB3aGF0IHdhcyBpbnRlbmRlZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9MQ0FTRV9UT1NUUklORyI+Tm06IENsYXNzIGRlZmluZXMgdG9zdHJpbmcoKTsgc2hvdWxkIGl0IGJlIHRvU3RyaW5nKCk/IChOTV9MQ0FTRV9UT1NUUklORyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBtZXRob2QgY2FsbGVkIDxjb2RlPnRvc3RyaW5nKCk8L2NvZGU+LiZuYnNwOyBUaGlzIG1ldGhvZAotICBkb2VzIG5vdCBvdmVycmlkZSB0aGUgPGNvZGU+dG9TdHJpbmcoKTwvY29kZT4gbWV0aG9kIGluIDxjb2RlPmphdmEubGFuZy5PYmplY3Q8L2NvZGU+LAotICB3aGljaCBpcyBwcm9iYWJseSB3aGF0IHdhcyBpbnRlbmRlZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTV9NRVRIT0RfQ09OU1RSVUNUT1JfQ09ORlVTSU9OIj5ObTogQXBwYXJlbnQgbWV0aG9kL2NvbnN0cnVjdG9yIGNvbmZ1c2lvbiAoTk1fTUVUSE9EX0NPTlNUUlVDVE9SX0NPTkZVU0lPTik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIHJlZ3VsYXIgbWV0aG9kIGhhcyB0aGUgc2FtZSBuYW1lIGFzIHRoZSBjbGFzcyBpdCBpcyBkZWZpbmVkIGluLiBJdCBpcyBsaWtlbHkgdGhhdCB0aGlzIHdhcyBpbnRlbmRlZCB0byBiZSBhIGNvbnN0cnVjdG9yLgotICAgICAgSWYgaXQgd2FzIGludGVuZGVkIHRvIGJlIGEgY29uc3RydWN0b3IsIHJlbW92ZSB0aGUgZGVjbGFyYXRpb24gb2YgYSB2b2lkIHJldHVybiB2YWx1ZS4KLSAgICBJZiB5b3UgaGFkIGFjY2lkZW50bHkgZGVmaW5lZCB0aGlzIG1ldGhvZCwgcmVhbGl6ZWQgdGhlIG1pc3Rha2UsIGRlZmluZWQgYSBwcm9wZXIgY29uc3RydWN0b3IKLSAgICBidXQgY2FuJ3QgZ2V0IHJpZCBvZiB0aGlzIG1ldGhvZCBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIGRlcHJlY2F0ZSB0aGUgbWV0aG9kLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTk1fVkVSWV9DT05GVVNJTkciPk5tOiBWZXJ5IGNvbmZ1c2luZyBtZXRob2QgbmFtZXMgKE5NX1ZFUllfQ09ORlVTSU5HKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSByZWZlcmVuY2VkIG1ldGhvZHMgaGF2ZSBuYW1lcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGNhcGl0YWxpemF0aW9uLgotVGhpcyBpcyB2ZXJ5IGNvbmZ1c2luZyBiZWNhdXNlIGlmIHRoZSBjYXBpdGFsaXphdGlvbiB3ZXJlCi1pZGVudGljYWwgdGhlbiBvbmUgb2YgdGhlIG1ldGhvZHMgd291bGQgb3ZlcnJpZGUgdGhlIG90aGVyLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTk1fV1JPTkdfUEFDS0FHRSI+Tm06IE1ldGhvZCBkb2Vzbid0IG92ZXJyaWRlIG1ldGhvZCBpbiBzdXBlcmNsYXNzIGR1ZSB0byB3cm9uZyBwYWNrYWdlIGZvciBwYXJhbWV0ZXIgKE5NX1dST05HX1BBQ0tBR0UpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIG1ldGhvZCBpbiB0aGUgc3ViY2xhc3MgZG9lc24ndCBvdmVycmlkZSBhIHNpbWlsYXIgbWV0aG9kIGluIGEgc3VwZXJjbGFzcyBiZWNhdXNlIHRoZSB0eXBlIG9mIGEgcGFyYW1ldGVyIGRvZXNuJ3QgZXhhY3RseSBtYXRjaAotdGhlIHR5cGUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVyIGluIHRoZSBzdXBlcmNsYXNzLiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmU6PC9wPgotCi08YmxvY2txdW90ZT4KLTxwcmU+Ci1pbXBvcnQgYWxwaGEuRm9vOwotcHVibGljIGNsYXNzIEEgewotICBwdWJsaWMgaW50IGYoRm9vIHgpIHsgcmV0dXJuIDE3OyB9Ci19Ci0tLS0tCi1pbXBvcnQgYmV0YS5Gb287Ci1wdWJsaWMgY2xhc3MgQiBleHRlbmRzIEEgewotICBwdWJsaWMgaW50IGYoRm9vIHgpIHsgcmV0dXJuIDQyOyB9Ci19Ci08L3ByZT4KLTwvYmxvY2txdW90ZT4KLQotPHA+VGhlIDxjb2RlPmYoRm9vKTwvY29kZT4gbWV0aG9kIGRlZmluZWQgaW4gY2xhc3MgPGNvZGU+QjwvY29kZT4gZG9lc24ndAotb3ZlcnJpZGUgdGhlCi08Y29kZT5mKEZvbyk8L2NvZGU+IG1ldGhvZCBkZWZpbmVkIGluIGNsYXNzIDxjb2RlPkE8L2NvZGU+LCBiZWNhdXNlIHRoZSBhcmd1bWVudAotdHlwZXMgYXJlIDxjb2RlPkZvbzwvY29kZT4ncyBmcm9tIGRpZmZlcmVudCBwYWNrYWdlcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlFCQV9RVUVTVElPTkFCTEVfQk9PTEVBTl9BU1NJR05NRU5UIj5RQkE6IE1ldGhvZCBhc3NpZ25zIGJvb2xlYW4gbGl0ZXJhbCBpbiBib29sZWFuIGV4cHJlc3Npb24gKFFCQV9RVUVTVElPTkFCTEVfQk9PTEVBTl9BU1NJR05NRU5UKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBtZXRob2QgYXNzaWducyBhIGxpdGVyYWwgYm9vbGVhbiB2YWx1ZSAodHJ1ZSBvciBmYWxzZSkgdG8gYSBib29sZWFuIHZhcmlhYmxlIGluc2lkZQotICAgICAgYW4gaWYgb3Igd2hpbGUgZXhwcmVzc2lvbi4gTW9zdCBwcm9iYWJseSB0aGlzIHdhcyBzdXBwb3NlZCB0byBiZSBhIGJvb2xlYW4gY29tcGFyaXNvbiB1c2luZwotICAgICAgPT0sIG5vdCBhbiBhc3NpZ25tZW50IHVzaW5nID0uCi0gICAgICA8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJSQ19SRUZfQ09NUEFSSVNPTiI+UkM6IFN1c3BpY2lvdXMgcmVmZXJlbmNlIGNvbXBhcmlzb24gKFJDX1JFRl9DT01QQVJJU09OKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb21wYXJlcyB0d28gcmVmZXJlbmNlIHZhbHVlcyB1c2luZyB0aGUgPT0gb3IgIT0gb3BlcmF0b3IsCi13aGVyZSB0aGUgY29ycmVjdCB3YXkgdG8gY29tcGFyZSBpbnN0YW5jZXMgb2YgdGhpcyB0eXBlIGlzIGdlbmVyYWxseQotd2l0aCB0aGUgZXF1YWxzKCkgbWV0aG9kLgotSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGRpc3RpbmN0IGluc3RhbmNlcyB0aGF0IGFyZSBlcXVhbCBidXQgZG8gbm90IGNvbXBhcmUgYXMgPT0gc2luY2UKLXRoZXkgYXJlIGRpZmZlcmVudCBvYmplY3RzLgotRXhhbXBsZXMgb2YgY2xhc3NlcyB3aGljaCBzaG91bGQgZ2VuZXJhbGx5Ci1ub3QgYmUgY29tcGFyZWQgYnkgcmVmZXJlbmNlIGFyZSBqYXZhLmxhbmcuSW50ZWdlciwgamF2YS5sYW5nLkZsb2F0LCBldGMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkNOX1JFRFVOREFOVF9OVUxMQ0hFQ0tfV09VTERfSEFWRV9CRUVOX0FfTlBFIj5SQ046IE51bGxjaGVjayBvZiB2YWx1ZSBwcmV2aW91c2x5IGRlcmVmZXJlbmNlZCAoUkNOX1JFRFVOREFOVF9OVUxMQ0hFQ0tfV09VTERfSEFWRV9CRUVOX0FfTlBFKTwvYT48L2gzPgotCi0KLTxwPiBBIHZhbHVlIGlzIGNoZWNrZWQgaGVyZSB0byBzZWUgd2hldGhlciBpdCBpcyBudWxsLCBidXQgdGhpcyB2YWx1ZSBjYW4ndAotYmUgbnVsbCBiZWNhdXNlIGl0IHdhcyBwcmV2aW91c2x5IGRlcmVmZXJlbmNlZCBhbmQgaWYgaXQgd2VyZSBudWxsIGEgbnVsbCBwb2ludGVyCi1leGNlcHRpb24gd291bGQgaGF2ZSBvY2N1cnJlZCBhdCB0aGUgZWFybGllciBkZXJlZmVyZW5jZS4KLUVzc2VudGlhbGx5LCB0aGlzIGNvZGUgYW5kIHRoZSBwcmV2aW91cyBkZXJlZmVyZW5jZQotZGlzYWdyZWUgYXMgdG8gd2hldGhlciB0aGlzIHZhbHVlIGlzIGFsbG93ZWQgdG8gYmUgbnVsbC4gRWl0aGVyIHRoZSBjaGVjayBpcyByZWR1bmRhbnQKLW9yIHRoZSBwcmV2aW91cyBkZXJlZmVyZW5jZSBpcyBlcnJvbmVvdXMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkVfQkFEX1NZTlRBWF9GT1JfUkVHVUxBUl9FWFBSRVNTSU9OIj5SRTogSW52YWxpZCBzeW50YXggZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiAoUkVfQkFEX1NZTlRBWF9GT1JfUkVHVUxBUl9FWFBSRVNTSU9OKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGNvZGUgaGVyZSB1c2VzIGEgcmVndWxhciBleHByZXNzaW9uIHRoYXQgaXMgaW52YWxpZCBhY2NvcmRpbmcgdG8gdGhlIHN5bnRheAotZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbnMuIFRoaXMgc3RhdGVtZW50IHdpbGwgdGhyb3cgYSBQYXR0ZXJuU3ludGF4RXhjZXB0aW9uIHdoZW4KLWV4ZWN1dGVkLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkVfQ0FOVF9VU0VfRklMRV9TRVBBUkFUT1JfQVNfUkVHVUxBUl9FWFBSRVNTSU9OIj5SRTogRmlsZS5zZXBhcmF0b3IgdXNlZCBmb3IgcmVndWxhciBleHByZXNzaW9uIChSRV9DQU5UX1VTRV9GSUxFX1NFUEFSQVRPUl9BU19SRUdVTEFSX0VYUFJFU1NJT04pPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgY29kZSBoZXJlIHVzZXMgPGNvZGU+RmlsZS5zZXBhcmF0b3I8L2NvZGU+Ci13aGVyZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyByZXF1aXJlZC4gVGhpcyB3aWxsIGZhaWwgb24gV2luZG93cwotcGxhdGZvcm1zLCB3aGVyZSB0aGUgPGNvZGU+RmlsZS5zZXBhcmF0b3I8L2NvZGU+IGlzIGEgYmFja3NsYXNoLCB3aGljaCBpcyBpbnRlcnByZXRlZCBpbiBhCi1yZWd1bGFyIGV4cHJlc3Npb24gYXMgYW4gZXNjYXBlIGNoYXJhY3Rlci4gQW1vdW5nIG90aGVyIG9wdGlvbnMsIHlvdSBjYW4ganVzdCB1c2UKLTxjb2RlPkZpbGUuc2VwYXJhdG9yQ2hhcj09J1xcJyA/ICJcXFxcIiA6IEZpbGUuc2VwYXJhdG9yPC9jb2RlPiBpbnN0ZWFkIG9mCi08Y29kZT5GaWxlLnNlcGFyYXRvcjwvY29kZT4KLQotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkVfUE9TU0lCTEVfVU5JTlRFTkRFRF9QQVRURVJOIj5SRTogIi4iIG9yICJ8IiB1c2VkIGZvciByZWd1bGFyIGV4cHJlc3Npb24gKFJFX1BPU1NJQkxFX1VOSU5URU5ERURfUEFUVEVSTik8L2E+PC9oMz4KLQotCi08cD4KLUEgU3RyaW5nIGZ1bmN0aW9uIGlzIGJlaW5nIGludm9rZWQgYW5kICIuIiBvciAifCIgaXMgYmVpbmcgcGFzc2VkCi10byBhIHBhcmFtZXRlciB0aGF0IHRha2VzIGEgcmVndWxhciBleHByZXNzaW9uIGFzIGFuIGFyZ3VtZW50LiBJcyB0aGlzIHdoYXQgeW91IGludGVuZGVkPwotRm9yIGV4YW1wbGUKLTxsaT5zLnJlcGxhY2VBbGwoIi4iLCAiLyIpIHdpbGwgcmV0dXJuIGEgU3RyaW5nIGluIHdoaWNoIDxlbT5ldmVyeTwvZW0+IGNoYXJhY3RlciBoYXMgYmVlbiByZXBsYWNlZCBieSBhICcvJyBjaGFyYWN0ZXIKLTxsaT5zLnNwbGl0KCIuIikgPGVtPmFsd2F5czwvZW0+IHJldHVybnMgYSB6ZXJvIGxlbmd0aCBhcnJheSBvZiBTdHJpbmcKLTxsaT4iYWJ8Y2QiLnJlcGxhY2VBbGwoInwiLCAiLyIpIHdpbGwgcmV0dXJuICIvYS9iL3wvYy9kLyIKLTxsaT4iYWJ8Y2QiLnNwbGl0KCJ8Iikgd2lsbCByZXR1cm4gYXJyYXkgd2l0aCBzaXggKCEpIGVsZW1lbnRzOiBbLCBhLCBiLCB8LCBjLCBkXQotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlZfMDFfVE9fSU5UIj5SVjogUmFuZG9tIHZhbHVlIGZyb20gMCB0byAxIGlzIGNvZXJjZWQgdG8gdGhlIGludGVnZXIgMCAoUlZfMDFfVE9fSU5UKTwvYT48L2gzPgotCi0KLSAgPHA+QSByYW5kb20gdmFsdWUgZnJvbSAwIHRvIDEgaXMgYmVpbmcgY29lcmNlZCB0byB0aGUgaW50ZWdlciB2YWx1ZSAwLiBZb3UgcHJvYmFibHkKLXdhbnQgdG8gbXVsdGlwbGUgdGhlIHJhbmRvbSB2YWx1ZSBieSBzb21ldGhpbmcgZWxzZSBiZWZvcmUgY29lcmNpbmcgaXQgdG8gYW4gaW50ZWdlciwgb3IgdXNlIHRoZSA8Y29kZT5SYW5kb20ubmV4dEludChuKTwvY29kZT4gbWV0aG9kLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlZfQUJTT0xVVEVfVkFMVUVfT0ZfSEFTSENPREUiPlJWOiBCYWQgYXR0ZW1wdCB0byBjb21wdXRlIGFic29sdXRlIHZhbHVlIG9mIHNpZ25lZCAzMi1iaXQgaGFzaGNvZGUgIChSVl9BQlNPTFVURV9WQUxVRV9PRl9IQVNIQ09ERSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjb2RlIGdlbmVyYXRlcyBhIGhhc2hjb2RlIGFuZCB0aGVuIGNvbXB1dGVzCi10aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhhdCBoYXNoY29kZS4gIElmIHRoZSBoYXNoY29kZQotaXMgPGNvZGU+SW50ZWdlci5NSU5fVkFMVUU8L2NvZGU+LCB0aGVuIHRoZSByZXN1bHQgd2lsbCBiZSBuZWdhdGl2ZSBhcyB3ZWxsIChzaW5jZQotPGNvZGU+TWF0aC5hYnMoSW50ZWdlci5NSU5fVkFMVUUpID09IEludGVnZXIuTUlOX1ZBTFVFPC9jb2RlPikuCi08L3A+Ci08cD5PbmUgb3V0IG9mIDJeMzIgc3RyaW5ncyBoYXZlIGEgaGFzaENvZGUgb2YgSW50ZWdlci5NSU5fVkFMVUUsCi1pbmNsdWRpbmcgInBvbHlnZW5lbHVicmljYW50cyIgIkd5ZFpHXyIgYW5kICIiREVTSUdOSU5HIFdPUktIT1VTRVMiLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlZfQUJTT0xVVEVfVkFMVUVfT0ZfUkFORE9NX0lOVCI+UlY6IEJhZCBhdHRlbXB0IHRvIGNvbXB1dGUgYWJzb2x1dGUgdmFsdWUgb2Ygc2lnbmVkIHJhbmRvbSBpbnRlZ2VyIChSVl9BQlNPTFVURV9WQUxVRV9PRl9SQU5ET01fSU5UKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIGNvZGUgZ2VuZXJhdGVzIGEgcmFuZG9tIHNpZ25lZCBpbnRlZ2VyIGFuZCB0aGVuIGNvbXB1dGVzCi10aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhhdCByYW5kb20gaW50ZWdlci4gIElmIHRoZSBudW1iZXIgcmV0dXJuZWQgYnkgdGhlIHJhbmRvbSBudW1iZXIKLWdlbmVyYXRvciBpcyA8Y29kZT5JbnRlZ2VyLk1JTl9WQUxVRTwvY29kZT4sIHRoZW4gdGhlIHJlc3VsdCB3aWxsIGJlIG5lZ2F0aXZlIGFzIHdlbGwgKHNpbmNlCi08Y29kZT5NYXRoLmFicyhJbnRlZ2VyLk1JTl9WQUxVRSkgPT0gSW50ZWdlci5NSU5fVkFMVUU8L2NvZGU+KS4gKFNhbWUgcHJvYmxlbSBhcmlzZWQgZm9yIGxvbmcgdmFsdWVzIGFzIHdlbGwpLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlZfQ0hFQ0tfQ09NUEFSRVRPX0ZPUl9TUEVDSUZJQ19SRVRVUk5fVkFMVUUiPlJWOiBDb2RlIGNoZWNrcyBmb3Igc3BlY2lmaWMgdmFsdWVzIHJldHVybmVkIGJ5IGNvbXBhcmVUbyAoUlZfQ0hFQ0tfQ09NUEFSRVRPX0ZPUl9TUEVDSUZJQ19SRVRVUk5fVkFMVUUpPC9hPjwvaDM+Ci0KLQotICAgPHA+IFRoaXMgY29kZSBpbnZva2VkIGEgY29tcGFyZVRvIG9yIGNvbXBhcmUgbWV0aG9kLCBhbmQgY2hlY2tzIHRvIHNlZSBpZiB0aGUgcmV0dXJuIHZhbHVlIGlzIGEgc3BlY2lmaWMgdmFsdWUsCi1zdWNoIGFzIDEgb3IgLTEuIFdoZW4gaW52b2tpbmcgdGhlc2UgbWV0aG9kcywgeW91IHNob3VsZCBvbmx5IGNoZWNrIHRoZSBzaWduIG9mIHRoZSByZXN1bHQsIG5vdCBmb3IgYW55IHNwZWNpZmljCi1ub24temVybyB2YWx1ZS4gV2hpbGUgbWFueSBvciBtb3N0IGNvbXBhcmVUbyBhbmQgY29tcGFyZSBtZXRob2RzIG9ubHkgcmV0dXJuIC0xLCAwIG9yIDEsIHNvbWUgb2YgdGhlbQotd2lsbCByZXR1cm4gb3RoZXIgdmFsdWVzLgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlZfRVhDRVBUSU9OX05PVF9USFJPV04iPlJWOiBFeGNlcHRpb24gY3JlYXRlZCBhbmQgZHJvcHBlZCByYXRoZXIgdGhhbiB0aHJvd24gKFJWX0VYQ0VQVElPTl9OT1RfVEhST1dOKTwvYT48L2gzPgotCi0KLSAgIDxwPiBUaGlzIGNvZGUgY3JlYXRlcyBhbiBleGNlcHRpb24gKG9yIGVycm9yKSBvYmplY3QsIGJ1dCBkb2Vzbid0IGRvIGFueXRoaW5nIHdpdGggaXQuIEZvciBleGFtcGxlLAotc29tZXRoaW5nIGxpa2UgPC9wPgotPGJsb2NrcXVvdGU+Ci08cHJlPgotaWYgKHggJmx0OyAwKQotICBuZXcgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uKCJ4IG11c3QgYmUgbm9ubmVnYXRpdmUiKTsKLTwvcHJlPgotPC9ibG9ja3F1b3RlPgotPHA+SXQgd2FzIHByb2JhYmx5IHRoZSBpbnRlbnQgb2YgdGhlIHByb2dyYW1tZXIgdG8gdGhyb3cgdGhlIGNyZWF0ZWQgZXhjZXB0aW9uOjwvcD4KLTxibG9ja3F1b3RlPgotPHByZT4KLWlmICh4ICZsdDsgMCkKLSAgdGhyb3cgbmV3IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbigieCBtdXN0IGJlIG5vbm5lZ2F0aXZlIik7Ci08L3ByZT4KLTwvYmxvY2txdW90ZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJWX1JFVFVSTl9WQUxVRV9JR05PUkVEIj5SVjogTWV0aG9kIGlnbm9yZXMgcmV0dXJuIHZhbHVlIChSVl9SRVRVUk5fVkFMVUVfSUdOT1JFRCk8L2E+PC9oMz4KLQotCi0gICA8cD4gVGhlIHJldHVybiB2YWx1ZSBvZiB0aGlzIG1ldGhvZCBzaG91bGQgYmUgY2hlY2tlZC4gT25lIGNvbW1vbgotY2F1c2Ugb2YgdGhpcyB3YXJuaW5nIGlzIHRvIGludm9rZSBhIG1ldGhvZCBvbiBhbiBpbW11dGFibGUgb2JqZWN0LAotdGhpbmtpbmcgdGhhdCBpdCB1cGRhdGVzIHRoZSBvYmplY3QuIEZvciBleGFtcGxlLCBpbiB0aGUgZm9sbG93aW5nIGNvZGUKLWZyYWdtZW50LDwvcD4KLTxibG9ja3F1b3RlPgotPHByZT4KLVN0cmluZyBkYXRlU3RyaW5nID0gZ2V0SGVhZGVyRmllbGQobmFtZSk7Ci1kYXRlU3RyaW5nLnRyaW0oKTsKLTwvcHJlPgotPC9ibG9ja3F1b3RlPgotPHA+dGhlIHByb2dyYW1tZXIgc2VlbXMgdG8gYmUgdGhpbmtpbmcgdGhhdCB0aGUgdHJpbSgpIG1ldGhvZCB3aWxsIHVwZGF0ZQotdGhlIFN0cmluZyByZWZlcmVuY2VkIGJ5IGRhdGVTdHJpbmcuIEJ1dCBzaW5jZSBTdHJpbmdzIGFyZSBpbW11dGFibGUsIHRoZSB0cmltKCkKLWZ1bmN0aW9uIHJldHVybnMgYSBuZXcgU3RyaW5nIHZhbHVlLCB3aGljaCBpcyBiZWluZyBpZ25vcmVkIGhlcmUuIFRoZSBjb2RlCi1zaG91bGQgYmUgY29ycmVjdGVkIHRvOiA8L3A+Ci08YmxvY2txdW90ZT4KLTxwcmU+Ci1TdHJpbmcgZGF0ZVN0cmluZyA9IGdldEhlYWRlckZpZWxkKG5hbWUpOwotZGF0ZVN0cmluZyA9IGRhdGVTdHJpbmcudHJpbSgpOwotPC9wcmU+Ci08L2Jsb2NrcXVvdGU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJScENfUkVQRUFURURfQ09ORElUSU9OQUxfVEVTVCI+UnBDOiBSZXBlYXRlZCBjb25kaXRpb25hbCB0ZXN0cyAoUnBDX1JFUEVBVEVEX0NPTkRJVElPTkFMX1RFU1QpPC9hPjwvaDM+Ci0KLQotPHA+VGhlIGNvZGUgY29udGFpbnMgYSBjb25kaXRpb25hbCB0ZXN0IGlzIHBlcmZvcm1lZCB0d2ljZSwgb25lIHJpZ2h0IGFmdGVyIHRoZSBvdGhlcgotKGUuZy4sIDxjb2RlPnggPT0gMCB8fCB4ID09IDA8L2NvZGU+KS4gUGVyaGFwcyB0aGUgc2Vjb25kIG9jY3VycmVuY2UgaXMgaW50ZW5kZWQgdG8gYmUgc29tZXRoaW5nIGVsc2UKLShlLmcuLCA8Y29kZT54ID09IDAgfHwgeSA9PSAwPC9jb2RlPikuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTQV9GSUVMRF9TRUxGX0FTU0lHTk1FTlQiPlNBOiBTZWxmIGFzc2lnbm1lbnQgb2YgZmllbGQgKFNBX0ZJRUxEX1NFTEZfQVNTSUdOTUVOVCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSBzZWxmIGFzc2lnbm1lbnQgb2YgYSBmaWVsZDsgZS5nLgotPC9wPgotPHByZT4KLSAgaW50IHg7Ci0gIHB1YmxpYyB2b2lkIGZvbygpIHsKLSAgICB4ID0geDsKLSAgfQotPC9wcmU+Ci08cD5TdWNoIGFzc2lnbm1lbnRzIGFyZSB1c2VsZXNzLCBhbmQgbWF5IGluZGljYXRlIGEgbG9naWMgZXJyb3Igb3IgdHlwby48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTQV9GSUVMRF9TRUxGX0NPTVBBUklTT04iPlNBOiBTZWxmIGNvbXBhcmlzb24gb2YgZmllbGQgd2l0aCBpdHNlbGYgKFNBX0ZJRUxEX1NFTEZfQ09NUEFSSVNPTik8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29tcGFyZXMgYSBmaWVsZCB3aXRoIGl0c2VsZiwgYW5kIG1heSBpbmRpY2F0ZSBhIHR5cG8gb3IKLWEgbG9naWMgZXJyb3IuICBNYWtlIHN1cmUgdGhhdCB5b3UgYXJlIGNvbXBhcmluZyB0aGUgcmlnaHQgdGhpbmdzLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0FfRklFTERfU0VMRl9DT01QVVRBVElPTiI+U0E6IE5vbnNlbnNpY2FsIHNlbGYgY29tcHV0YXRpb24gaW52b2x2aW5nIGEgZmllbGQgKGUuZy4sIHggJiB4KSAoU0FfRklFTERfU0VMRl9DT01QVVRBVElPTik8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgcGVyZm9ybXMgYSBub25zZW5zaWNhbCBjb21wdXRhdGlvbiBvZiBhIGZpZWxkIHdpdGggYW5vdGhlcgotcmVmZXJlbmNlIHRvIHRoZSBzYW1lIGZpZWxkIChlLmcuLCB4Jnggb3IgeC14KS4gQmVjYXVzZSBvZiB0aGUgbmF0dXJlCi1vZiB0aGUgY29tcHV0YXRpb24sIHRoaXMgb3BlcmF0aW9uIGRvZXNuJ3Qgc2VlbSB0byBtYWtlIHNlbnNlLAotYW5kIG1heSBpbmRpY2F0ZSBhIHR5cG8gb3IKLWEgbG9naWMgZXJyb3IuICBEb3VibGUgY2hlY2sgdGhlIGNvbXB1dGF0aW9uLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0FfTE9DQUxfU0VMRl9BU1NJR05NRU5UX0lOU1RFQURfT0ZfRklFTEQiPlNBOiBTZWxmIGFzc2lnbm1lbnQgb2YgbG9jYWwgcmF0aGVyIHRoYW4gYXNzaWdubWVudCB0byBmaWVsZCAoU0FfTE9DQUxfU0VMRl9BU1NJR05NRU5UX0lOU1RFQURfT0ZfRklFTEQpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgc2VsZiBhc3NpZ25tZW50IG9mIGEgbG9jYWwgdmFyaWFibGUsIGFuZCB0aGVyZQotaXMgYSBmaWVsZCB3aXRoIGFuIGlkZW50aWNhbCBuYW1lLgotYXNzaWdubWVudCBhcHBlYXJzIHRvIGhhdmUgYmVlbiA7IGUuZy48L3A+Ci08cHJlPgotICBpbnQgZm9vOwotICBwdWJsaWMgdm9pZCBzZXRGb28oaW50IGZvbykgewotICAgIGZvbyA9IGZvbzsKLSAgfQotPC9wcmU+Ci08cD5UaGUgYXNzaWdubWVudCBpcyB1c2VsZXNzLiBEaWQgeW91IG1lYW4gdG8gYXNzaWduIHRvIHRoZSBmaWVsZCBpbnN0ZWFkPzwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNBX0xPQ0FMX1NFTEZfQ09NUEFSSVNPTiI+U0E6IFNlbGYgY29tcGFyaXNvbiBvZiB2YWx1ZSB3aXRoIGl0c2VsZiAoU0FfTE9DQUxfU0VMRl9DT01QQVJJU09OKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb21wYXJlcyBhIGxvY2FsIHZhcmlhYmxlIHdpdGggaXRzZWxmLCBhbmQgbWF5IGluZGljYXRlIGEgdHlwbyBvcgotYSBsb2dpYyBlcnJvci4gIE1ha2Ugc3VyZSB0aGF0IHlvdSBhcmUgY29tcGFyaW5nIHRoZSByaWdodCB0aGluZ3MuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTQV9MT0NBTF9TRUxGX0NPTVBVVEFUSU9OIj5TQTogTm9uc2Vuc2ljYWwgc2VsZiBjb21wdXRhdGlvbiBpbnZvbHZpbmcgYSB2YXJpYWJsZSAoZS5nLiwgeCAmIHgpIChTQV9MT0NBTF9TRUxGX0NPTVBVVEFUSU9OKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBwZXJmb3JtcyBhIG5vbnNlbnNpY2FsIGNvbXB1dGF0aW9uIG9mIGEgbG9jYWwgdmFyaWFibGUgd2l0aCBhbm90aGVyCi1yZWZlcmVuY2UgdG8gdGhlIHNhbWUgdmFyaWFibGUgKGUuZy4sIHgmeCBvciB4LXgpLiBCZWNhdXNlIG9mIHRoZSBuYXR1cmUKLW9mIHRoZSBjb21wdXRhdGlvbiwgdGhpcyBvcGVyYXRpb24gZG9lc24ndCBzZWVtIHRvIG1ha2Ugc2Vuc2UsCi1hbmQgbWF5IGluZGljYXRlIGEgdHlwbyBvcgotYSBsb2dpYyBlcnJvci4gIERvdWJsZSBjaGVjayB0aGUgY29tcHV0YXRpb24uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTRl9ERUFEX1NUT1JFX0RVRV9UT19TV0lUQ0hfRkFMTFRIUk9VR0giPlNGOiBEZWFkIHN0b3JlIGR1ZSB0byBzd2l0Y2ggc3RhdGVtZW50IGZhbGwgdGhyb3VnaCAoU0ZfREVBRF9TVE9SRV9EVUVfVE9fU1dJVENIX0ZBTExUSFJPVUdIKTwvYT48L2gzPgotCi0KLSAgPHA+IEEgdmFsdWUgc3RvcmVkIGluIHRoZSBwcmV2aW91cyBzd2l0Y2ggY2FzZSBpcyBvdmVyd3JpdHRlbiBoZXJlIGR1ZSB0byBhIHN3aXRjaCBmYWxsIHRocm91Z2guIEl0IGlzIGxpa2VseSB0aGF0Ci0gICAgeW91IGZvcmdvdCB0byBwdXQgYSBicmVhayBvciByZXR1cm4gYXQgdGhlIGVuZCBvZiB0aGUgcHJldmlvdXMgY2FzZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNGX0RFQURfU1RPUkVfRFVFX1RPX1NXSVRDSF9GQUxMVEhST1VHSF9UT19USFJPVyI+U0Y6IERlYWQgc3RvcmUgZHVlIHRvIHN3aXRjaCBzdGF0ZW1lbnQgZmFsbCB0aHJvdWdoIHRvIHRocm93IChTRl9ERUFEX1NUT1JFX0RVRV9UT19TV0lUQ0hfRkFMTFRIUk9VR0hfVE9fVEhST1cpPC9hPjwvaDM+Ci0KLQotICA8cD4gQSB2YWx1ZSBzdG9yZWQgaW4gdGhlIHByZXZpb3VzIHN3aXRjaCBjYXNlIGlzIGlnbm9yZWQgaGVyZSBkdWUgdG8gYSBzd2l0Y2ggZmFsbCB0aHJvdWdoIHRvIGEgcGxhY2Ugd2hlcmUKLSAgICBhbiBleGNlcHRpb24gaXMgdGhyb3duLiBJdCBpcyBsaWtlbHkgdGhhdAotICAgIHlvdSBmb3Jnb3QgdG8gcHV0IGEgYnJlYWsgb3IgcmV0dXJuIGF0IHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIGNhc2UuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTSUNfVEhSRUFETE9DQUxfREVBRExZX0VNQlJBQ0UiPlNJQzogRGVhZGx5IGVtYnJhY2Ugb2Ygbm9uLXN0YXRpYyBpbm5lciBjbGFzcyBhbmQgdGhyZWFkIGxvY2FsIChTSUNfVEhSRUFETE9DQUxfREVBRExZX0VNQlJBQ0UpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBpcyBhbiBpbm5lciBjbGFzcywgYnV0IHNob3VsZCBwcm9iYWJseSBiZSBhIHN0YXRpYyBpbm5lciBjbGFzcy4KLSAgQXMgaXQgaXMsIHRoZXJlIGlzIGEgc2VyaW91cyBkYW5nZXIgb2YgYSBkZWFkbHkgZW1icmFjZSBiZXR3ZWVuIHRoZSBpbm5lciBjbGFzcwotICBhbmQgdGhlIHRocmVhZCBsb2NhbCBpbiB0aGUgb3V0ZXIgY2xhc3MuIEJlY2F1c2UgdGhlIGlubmVyIGNsYXNzIGlzbid0IHN0YXRpYywKLSAgaXQgcmV0YWlucyBhIHJlZmVyZW5jZSB0byB0aGUgb3V0ZXIgY2xhc3MuCi0gIElmIHRoZSB0aHJlYWQgbG9jYWwgY29udGFpbnMgYSByZWZlcmVuY2UgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGlubmVyCi0gIGNsYXNzLCB0aGUgaW5uZXIgYW5kIG91dGVyIGluc3RhbmNlIHdpbGwgYm90aCBiZSByZWFjaGFibGUKLSAgYW5kIG5vdCBlbGlnaWJsZSBmb3IgZ2FyYmFnZSBjb2xsZWN0aW9uLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0lPX1NVUEVSRkxVT1VTX0lOU1RBTkNFT0YiPlNJTzogVW5uZWNlc3NhcnkgdHlwZSBjaGVjayBkb25lIHVzaW5nIGluc3RhbmNlb2Ygb3BlcmF0b3IgKFNJT19TVVBFUkZMVU9VU19JTlNUQU5DRU9GKTwvYT48L2gzPgotCi0KLTxwPiBUeXBlIGNoZWNrIHBlcmZvcm1lZCB1c2luZyB0aGUgaW5zdGFuY2VvZiBvcGVyYXRvciB3aGVyZSBpdCBjYW4gYmUgc3RhdGljYWxseSBkZXRlcm1pbmVkIHdoZXRoZXIgdGhlIG9iamVjdAotaXMgb2YgdGhlIHR5cGUgcmVxdWVzdGVkLiA8L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTUUxfQkFEX1BSRVBBUkVEX1NUQVRFTUVOVF9BQ0NFU1MiPlNRTDogTWV0aG9kIGF0dGVtcHRzIHRvIGFjY2VzcyBhIHByZXBhcmVkIHN0YXRlbWVudCBwYXJhbWV0ZXIgd2l0aCBpbmRleCAwIChTUUxfQkFEX1BSRVBBUkVEX1NUQVRFTUVOVF9BQ0NFU1MpPC9hPjwvaDM+Ci0KLQotPHA+IEEgY2FsbCB0byBhIHNldFhYWCBtZXRob2Qgb2YgYSBwcmVwYXJlZCBzdGF0ZW1lbnQgd2FzIG1hZGUgd2hlcmUgdGhlCi1wYXJhbWV0ZXIgaW5kZXggaXMgMC4gQXMgcGFyYW1ldGVyIGluZGV4ZXMgc3RhcnQgYXQgaW5kZXggMSwgdGhpcyBpcyBhbHdheXMgYSBtaXN0YWtlLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNRTF9CQURfUkVTVUxUU0VUX0FDQ0VTUyI+U1FMOiBNZXRob2QgYXR0ZW1wdHMgdG8gYWNjZXNzIGEgcmVzdWx0IHNldCBmaWVsZCB3aXRoIGluZGV4IDAgKFNRTF9CQURfUkVTVUxUU0VUX0FDQ0VTUyk8L2E+PC9oMz4KLQotCi08cD4gQSBjYWxsIHRvIGdldFhYWCBvciB1cGRhdGVYWFggbWV0aG9kcyBvZiBhIHJlc3VsdCBzZXQgd2FzIG1hZGUgd2hlcmUgdGhlCi1maWVsZCBpbmRleCBpcyAwLiBBcyBSZXN1bHRTZXQgZmllbGRzIHN0YXJ0IGF0IGluZGV4IDEsIHRoaXMgaXMgYWx3YXlzIGEgbWlzdGFrZS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTVElfSU5URVJSVVBURURfT05fQ1VSUkVOVFRIUkVBRCI+U1RJOiBVbm5lZWRlZCB1c2Ugb2YgY3VycmVudFRocmVhZCgpIGNhbGwsIHRvIGNhbGwgaW50ZXJydXB0ZWQoKSAgKFNUSV9JTlRFUlJVUFRFRF9PTl9DVVJSRU5UVEhSRUFEKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBtZXRob2QgaW52b2tlcyB0aGUgVGhyZWFkLmN1cnJlbnRUaHJlYWQoKSBjYWxsLCBqdXN0IHRvIGNhbGwgdGhlIGludGVycnVwdGVkKCkgbWV0aG9kLiBBcyBpbnRlcnJ1cHRlZCgpIGlzIGEKLXN0YXRpYyBtZXRob2QsIGlzIG1vcmUgc2ltcGxlIGFuZCBjbGVhciB0byB1c2UgVGhyZWFkLmludGVycnVwdGVkKCkuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTVElfSU5URVJSVVBURURfT05fVU5LTk9XTlRIUkVBRCI+U1RJOiBTdGF0aWMgVGhyZWFkLmludGVycnVwdGVkKCkgbWV0aG9kIGludm9rZWQgb24gdGhyZWFkIGluc3RhbmNlIChTVElfSU5URVJSVVBURURfT05fVU5LTk9XTlRIUkVBRCk8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgbWV0aG9kIGludm9rZXMgdGhlIFRocmVhZC5pbnRlcnJ1cHRlZCgpIG1ldGhvZCBvbiBhIFRocmVhZCBvYmplY3QgdGhhdCBhcHBlYXJzIHRvIGJlIGEgVGhyZWFkIG9iamVjdCB0aGF0IGlzCi1ub3QgdGhlIGN1cnJlbnQgdGhyZWFkLiBBcyB0aGUgaW50ZXJydXB0ZWQoKSBtZXRob2QgaXMgc3RhdGljLCB0aGUgaW50ZXJydXB0ZWQgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIG9uIGEgZGlmZmVyZW50Ci1vYmplY3QgdGhhbiB0aGUgb25lIHRoZSBhdXRob3IgaW50ZW5kZWQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9NRVRIT0RfTVVTVF9CRV9QUklWQVRFIj5TZTogTWV0aG9kIG11c3QgYmUgcHJpdmF0ZSBpbiBvcmRlciBmb3Igc2VyaWFsaXphdGlvbiB0byB3b3JrIChTRV9NRVRIT0RfTVVTVF9CRV9QUklWQVRFKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgPGNvZGU+U2VyaWFsaXphYmxlPC9jb2RlPiBpbnRlcmZhY2UsIGFuZCBkZWZpbmVzIGEgbWV0aG9kCi0gIGZvciBjdXN0b20gc2VyaWFsaXphdGlvbi9kZXNlcmlhbGl6YXRpb24uIEJ1dCBzaW5jZSB0aGF0IG1ldGhvZCBpc24ndCBkZWNsYXJlZCBwcml2YXRlLAotICBpdCB3aWxsIGJlIHNpbGVudGx5IGlnbm9yZWQgYnkgdGhlIHNlcmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uIEFQSS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTRV9SRUFEX1JFU09MVkVfSVNfU1RBVElDIj5TZTogVGhlIHJlYWRSZXNvbHZlIG1ldGhvZCBtdXN0IG5vdCBiZSBkZWNsYXJlZCBhcyBhIHN0YXRpYyBtZXRob2QuICAgKFNFX1JFQURfUkVTT0xWRV9JU19TVEFUSUMpPC9hPjwvaDM+Ci0KLQotICA8cD4gSW4gb3JkZXIgZm9yIHRoZSByZWFkUmVzb2x2ZSBtZXRob2QgdG8gYmUgcmVjb2duaXplZCBieSB0aGUgc2VyaWFsaXphdGlvbgotbWVjaGFuaXNtLCBpdCBtdXN0IG5vdCBiZSBkZWNsYXJlZCBhcyBhIHN0YXRpYyBtZXRob2QuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJUUV9BTFdBWVNfVkFMVUVfVVNFRF9XSEVSRV9ORVZFUl9SRVFVSVJFRCI+VFE6IFZhbHVlIGFubm90YXRlZCBhcyBjYXJyeWluZyBhIHR5cGUgcXVhbGlmaWVyIHVzZWQgd2hlcmUgYSB2YWx1ZSB0aGF0IG11c3Qgbm90IGNhcnJ5IHRoYXQgcXVhbGlmaWVyIGlzIHJlcXVpcmVkIChUUV9BTFdBWVNfVkFMVUVfVVNFRF9XSEVSRV9ORVZFUl9SRVFVSVJFRCk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICAgIDxwPgotICAgICAgICBBIHZhbHVlIHNwZWNpZmllZCBhcyBjYXJyeWluZyBhIHR5cGUgcXVhbGlmaWVyIGFubm90YXRpb24gaXMKLSAgICAgICAgY29uc3VtZWQgaW4gYSBsb2NhdGlvbiBvciBsb2NhdGlvbnMgcmVxdWlyaW5nIHRoYXQgdGhlIHZhbHVlIG5vdAotICAgICAgICBjYXJyeSB0aGF0IGFubm90YXRpb24uCi0gICAgICAgIDwvcD4KLQotICAgICAgICA8cD4KLSAgICAgICAgTW9yZSBwcmVjaXNlbHksIGEgdmFsdWUgYW5ub3RhdGVkIHdpdGggYSB0eXBlIHF1YWxpZmllciBzcGVjaWZ5aW5nIHdoZW49QUxXQVlTCi0gICAgICAgIGlzIGd1YXJhbnRlZWQgdG8gcmVhY2ggYSB1c2Ugb3IgdXNlcyB3aGVyZSB0aGUgc2FtZSB0eXBlIHF1YWxpZmllciBzcGVjaWZpZXMgd2hlbj1ORVZFUi4KLSAgICAgICAgPC9wPgotCi0gICAgICAgIDxwPgotICAgICAgICBGb3IgZXhhbXBsZSwgc2F5IHRoYXQgQE5vbk5lZ2F0aXZlIGlzIGEgbmlja25hbWUgZm9yCi0gICAgICAgIHRoZSB0eXBlIHF1YWxpZmllciBhbm5vdGF0aW9uIEBOZWdhdGl2ZSh3aGVuPVdoZW4uTkVWRVIpLgotICAgICAgICBUaGUgZm9sbG93aW5nIGNvZGUgd2lsbCBnZW5lcmF0ZSB0aGlzIHdhcm5pbmcgYmVjYXVzZQotICAgICAgICB0aGUgcmV0dXJuIHN0YXRlbWVudCByZXF1aXJlcyBhIEBOb25OZWdhdGl2ZSB2YWx1ZSwKLSAgICAgICAgYnV0IHJlY2VpdmVzIG9uZSB0aGF0IGlzIG1hcmtlZCBhcyBATmVnYXRpdmUuCi0gICAgICAgIDwvcD4KLSAgICAgICAgPGJsb2NrcXVvdGU+Ci08cHJlPgotcHVibGljIEBOb25OZWdhdGl2ZSBJbnRlZ2VyIGV4YW1wbGUoQE5lZ2F0aXZlIEludGVnZXIgdmFsdWUpIHsKLSAgICByZXR1cm4gdmFsdWU7Ci19Ci08L3ByZT4KLSAgICAgICAgPC9ibG9ja3F1b3RlPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iVFFfQ09NUEFSSU5HX1ZBTFVFU19XSVRIX0lOQ09NUEFUSUJMRV9UWVBFX1FVQUxJRklFUlMiPlRROiBDb21wYXJpbmcgdmFsdWVzIHdpdGggaW5jb21wYXRpYmxlIHR5cGUgcXVhbGlmaWVycyAoVFFfQ09NUEFSSU5HX1ZBTFVFU19XSVRIX0lOQ09NUEFUSUJMRV9UWVBFX1FVQUxJRklFUlMpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgICA8cD4KLSAgICAgICAgQSB2YWx1ZSBzcGVjaWZpZWQgYXMgY2FycnlpbmcgYSB0eXBlIHF1YWxpZmllciBhbm5vdGF0aW9uIGlzCi0gICAgICAgIGNvbXBhcmVkIHdpdGggYSB2YWx1ZSB0aGF0IGRvZXNuJ3QgZXZlciBjYXJyeSB0aGF0IHF1YWxpZmllci4KLSAgICAgICAgPC9wPgotCi0gICAgICAgIDxwPgotICAgICAgICBNb3JlIHByZWNpc2VseSwgYSB2YWx1ZSBhbm5vdGF0ZWQgd2l0aCBhIHR5cGUgcXVhbGlmaWVyIHNwZWNpZnlpbmcgd2hlbj1BTFdBWVMKLSAgICAgICAgaXMgY29tcGFyZWQgd2l0aCBhIHZhbHVlIHRoYXQgd2hlcmUgdGhlIHNhbWUgdHlwZSBxdWFsaWZpZXIgc3BlY2lmaWVzIHdoZW49TkVWRVIuCi0gICAgICAgIDwvcD4KLQotICAgICAgICA8cD4KLSAgICAgICAgRm9yIGV4YW1wbGUsIHNheSB0aGF0IEBOb25OZWdhdGl2ZSBpcyBhIG5pY2tuYW1lIGZvcgotICAgICAgICB0aGUgdHlwZSBxdWFsaWZpZXIgYW5ub3RhdGlvbiBATmVnYXRpdmUod2hlbj1XaGVuLk5FVkVSKS4KLSAgICAgICAgVGhlIGZvbGxvd2luZyBjb2RlIHdpbGwgZ2VuZXJhdGUgdGhpcyB3YXJuaW5nIGJlY2F1c2UKLSAgICAgICAgdGhlIHJldHVybiBzdGF0ZW1lbnQgcmVxdWlyZXMgYSBATm9uTmVnYXRpdmUgdmFsdWUsCi0gICAgICAgIGJ1dCByZWNlaXZlcyBvbmUgdGhhdCBpcyBtYXJrZWQgYXMgQE5lZ2F0aXZlLgotICAgICAgICA8L3A+Ci0gICAgICAgIDxibG9ja3F1b3RlPgotPHByZT4KLXB1YmxpYyBib29sZWFuIGV4YW1wbGUoQE5lZ2F0aXZlIEludGVnZXIgdmFsdWUxLCBATm9uTmVnYXRpdmUgSW50ZWdlciB2YWx1ZTIpIHsKLSAgICByZXR1cm4gdmFsdWUxLmVxdWFscyh2YWx1ZTIpOwotfQotPC9wcmU+Ci0gICAgICAgIDwvYmxvY2txdW90ZT4KLSAgICAgIAotICAgIAotPGgzPjxhIG5hbWU9IlRRX01BWUJFX1NPVVJDRV9WQUxVRV9SRUFDSEVTX0FMV0FZU19TSU5LIj5UUTogVmFsdWUgdGhhdCBtaWdodCBub3QgY2FycnkgYSB0eXBlIHF1YWxpZmllciBpcyBhbHdheXMgdXNlZCBpbiBhIHdheSByZXF1aXJlcyB0aGF0IHR5cGUgcXVhbGlmaWVyIChUUV9NQVlCRV9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19BTFdBWVNfU0lOSyk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIEEgdmFsdWUgdGhhdCBpcyBhbm5vdGF0ZWQgYXMgcG9zc2liaWxpdHkgbm90IGJlaW5nIGFuIGluc3RhbmNlIG9mCi0gICAgdGhlIHZhbHVlcyBkZW5vdGVkIGJ5IHRoZSB0eXBlIHF1YWxpZmllciwgYW5kIHRoZSB2YWx1ZSBpcyBndWFyYW50ZWVkIHRvIGJlIHVzZWQKLSAgICBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIHZhbHVlcyBkZW5vdGVkIGJ5IHRoYXQgdHlwZSBxdWFsaWZpZXIuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJUUV9NQVlCRV9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19ORVZFUl9TSU5LIj5UUTogVmFsdWUgdGhhdCBtaWdodCBjYXJyeSBhIHR5cGUgcXVhbGlmaWVyIGlzIGFsd2F5cyB1c2VkIGluIGEgd2F5IHByb2hpYml0cyBpdCBmcm9tIGhhdmluZyB0aGF0IHR5cGUgcXVhbGlmaWVyIChUUV9NQVlCRV9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19ORVZFUl9TSU5LKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgQSB2YWx1ZSB0aGF0IGlzIGFubm90YXRlZCBhcyBwb3NzaWJpbGl0eSBiZWluZyBhbiBpbnN0YW5jZSBvZgotICAgIHRoZSB2YWx1ZXMgZGVub3RlZCBieSB0aGUgdHlwZSBxdWFsaWZpZXIsIGFuZCB0aGUgdmFsdWUgaXMgZ3VhcmFudGVlZCB0byBiZSB1c2VkCi0gICAgaW4gYSB3YXkgdGhhdCBwcm9oaWJpdHMgdmFsdWVzIGRlbm90ZWQgYnkgdGhhdCB0eXBlIHF1YWxpZmllci4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgIAotPGgzPjxhIG5hbWU9IlRRX05FVkVSX1ZBTFVFX1VTRURfV0hFUkVfQUxXQVlTX1JFUVVJUkVEIj5UUTogVmFsdWUgYW5ub3RhdGVkIGFzIG5ldmVyIGNhcnJ5aW5nIGEgdHlwZSBxdWFsaWZpZXIgdXNlZCB3aGVyZSB2YWx1ZSBjYXJyeWluZyB0aGF0IHF1YWxpZmllciBpcyByZXF1aXJlZCAoVFFfTkVWRVJfVkFMVUVfVVNFRF9XSEVSRV9BTFdBWVNfUkVRVUlSRUQpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgICA8cD4KLSAgICAgICAgQSB2YWx1ZSBzcGVjaWZpZWQgYXMgbm90IGNhcnJ5aW5nIGEgdHlwZSBxdWFsaWZpZXIgYW5ub3RhdGlvbiBpcyBndWFyYW50ZWVkCi0gICAgICAgIHRvIGJlIGNvbnN1bWVkIGluIGEgbG9jYXRpb24gb3IgbG9jYXRpb25zIHJlcXVpcmluZyB0aGF0IHRoZSB2YWx1ZSBkb2VzCi0gICAgICAgIGNhcnJ5IHRoYXQgYW5ub3RhdGlvbi4KLSAgICAgICAgPC9wPgotCi0gICAgICAgIDxwPgotICAgICAgICBNb3JlIHByZWNpc2VseSwgYSB2YWx1ZSBhbm5vdGF0ZWQgd2l0aCBhIHR5cGUgcXVhbGlmaWVyIHNwZWNpZnlpbmcgd2hlbj1ORVZFUgotICAgICAgICBpcyBndWFyYW50ZWVkIHRvIHJlYWNoIGEgdXNlIG9yIHVzZXMgd2hlcmUgdGhlIHNhbWUgdHlwZSBxdWFsaWZpZXIgc3BlY2lmaWVzIHdoZW49QUxXQVlTLgotICAgICAgICA8L3A+Ci0KLSAgICAgICAgPHA+Ci0gICAgICAgIFRPRE86IGV4YW1wbGUKLSAgICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iVFFfVU5LTk9XTl9WQUxVRV9VU0VEX1dIRVJFX0FMV0FZU19TVFJJQ1RMWV9SRVFVSVJFRCI+VFE6IFZhbHVlIHdpdGhvdXQgYSB0eXBlIHF1YWxpZmllciB1c2VkIHdoZXJlIGEgdmFsdWUgaXMgcmVxdWlyZWQgdG8gaGF2ZSB0aGF0IHF1YWxpZmllciAoVFFfVU5LTk9XTl9WQUxVRV9VU0VEX1dIRVJFX0FMV0FZU19TVFJJQ1RMWV9SRVFVSVJFRCk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICAgIDxwPgotICAgICAgICBBIHZhbHVlIGlzIGJlaW5nIHVzZWQgaW4gYSB3YXkgdGhhdCByZXF1aXJlcyB0aGUgdmFsdWUgYmUgYW5ub3RhdGlvbiB3aXRoIGEgdHlwZSBxdWFsaWZpZXIuCi0gICAgVGhlIHR5cGUgcXVhbGlmaWVyIGlzIHN0cmljdCwgc28gdGhlIHRvb2wgcmVqZWN0cyBhbnkgdmFsdWVzIHRoYXQgZG8gbm90IGhhdmUKLSAgICB0aGUgYXBwcm9wcmlhdGUgYW5ub3RhdGlvbi4KLSAgICAgICAgPC9wPgotCi0gICAgICAgIDxwPgotICAgICAgICBUbyBjb2VyY2UgYSB2YWx1ZSB0byBoYXZlIGEgc3RyaWN0IGFubm90YXRpb24sIGRlZmluZSBhbiBpZGVudGl0eSBmdW5jdGlvbiB3aGVyZSB0aGUgcmV0dXJuIHZhbHVlIGlzIGFubm90YXRlZAotICAgIHdpdGggdGhlIHN0cmljdCBhbm5vdGF0aW9uLgotICAgIFRoaXMgaXMgdGhlIG9ubHkgd2F5IHRvIHR1cm4gYSBub24tYW5ub3RhdGVkIHZhbHVlIGludG8gYSB2YWx1ZSB3aXRoIGEgc3RyaWN0IHR5cGUgcXVhbGlmaWVyIGFubm90YXRpb24uCi0gICAgICAgIDwvcD4KLQotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iVU1BQ19VTkNBTExBQkxFX01FVEhPRF9PRl9BTk9OWU1PVVNfQ0xBU1MiPlVNQUM6IFVuY2FsbGFibGUgbWV0aG9kIGRlZmluZWQgaW4gYW5vbnltb3VzIGNsYXNzIChVTUFDX1VOQ0FMTEFCTEVfTUVUSE9EX09GX0FOT05ZTU9VU19DTEFTUyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBhbm9ueW1vdXMgY2xhc3MgZGVmaW5lZCBhIG1ldGhvZCB0aGF0IGlzIG5vdCBkaXJlY3RseSBpbnZva2VkIGFuZCBkb2VzIG5vdCBvdmVycmlkZQotYSBtZXRob2QgaW4gYSBzdXBlcmNsYXNzLiBTaW5jZSBtZXRob2RzIGluIG90aGVyIGNsYXNzZXMgY2Fubm90IGRpcmVjdGx5IGludm9rZSBtZXRob2RzCi1kZWNsYXJlZCBpbiBhbiBhbm9ueW1vdXMgY2xhc3MsIGl0IHNlZW1zIHRoYXQgdGhpcyBtZXRob2QgaXMgdW5jYWxsYWJsZS4gVGhlIG1ldGhvZAotbWlnaHQgc2ltcGx5IGJlIGRlYWQgY29kZSwgYnV0IGl0IGlzIGFsc28gcG9zc2libGUgdGhhdCB0aGUgbWV0aG9kIGlzIGludGVuZGVkIHRvCi1vdmVycmlkZSBhIG1ldGhvZCBkZWNsYXJlZCBpbiBhIHN1cGVyY2xhc3MsIGFuZCBkdWUgdG8gYW4gdHlwbyBvciBvdGhlciBlcnJvciB0aGUgbWV0aG9kIGRvZXMgbm90LAotaW4gZmFjdCwgb3ZlcnJpZGUgdGhlIG1ldGhvZCBpdCBpcyBpbnRlbmRlZCB0by4KLTwvcD4KLQotCi08aDM+PGEgbmFtZT0iVVJfVU5JTklUX1JFQUQiPlVSOiBVbmluaXRpYWxpemVkIHJlYWQgb2YgZmllbGQgaW4gY29uc3RydWN0b3IgKFVSX1VOSU5JVF9SRUFEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY29uc3RydWN0b3IgcmVhZHMgYSBmaWVsZCB3aGljaCBoYXMgbm90IHlldCBiZWVuIGFzc2lnbmVkIGEgdmFsdWUuJm5ic3A7Ci0gIFRoaXMgaXMgb2Z0ZW4gY2F1c2VkIHdoZW4gdGhlIHByb2dyYW1tZXIgbWlzdGFrZW5seSB1c2VzIHRoZSBmaWVsZCBpbnN0ZWFkCi0gIG9mIG9uZSBvZiB0aGUgY29uc3RydWN0b3IncyBwYXJhbWV0ZXJzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlVSX1VOSU5JVF9SRUFEX0NBTExFRF9GUk9NX1NVUEVSX0NPTlNUUlVDVE9SIj5VUjogVW5pbml0aWFsaXplZCByZWFkIG9mIGZpZWxkIG1ldGhvZCBjYWxsZWQgZnJvbSBjb25zdHJ1Y3RvciBvZiBzdXBlcmNsYXNzIChVUl9VTklOSVRfUkVBRF9DQUxMRURfRlJPTV9TVVBFUl9DT05TVFJVQ1RPUik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBpcyBpbnZva2VkIGluIHRoZSBjb25zdHJ1Y3RvciBvZiBvZiB0aGUgc3VwZXJjbGFzcy4gQXQgdGhpcyBwb2ludCwKLSAgICB0aGUgZmllbGRzIG9mIHRoZSBjbGFzcyBoYXZlIG5vdCB5ZXQgaW5pdGlhbGl6ZWQuPC9wPgotPHA+VG8gbWFrZSB0aGlzIG1vcmUgY29uY3JldGUsIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgY2xhc3Nlczo8L3A+Ci08cHJlPmFic3RyYWN0IGNsYXNzIEEgewotICBpbnQgaGFzaENvZGU7Ci0gIGFic3RyYWN0IE9iamVjdCBnZXRWYWx1ZSgpOwotICBBKCkgewotICAgIGhhc2hDb2RlID0gZ2V0VmFsdWUoKS5oYXNoQ29kZSgpOwotICAgIH0KLSAgfQotY2xhc3MgQiBleHRlbmRzIEEgewotICBPYmplY3QgdmFsdWU7Ci0gIEIoT2JqZWN0IHYpIHsKLSAgICB0aGlzLnZhbHVlID0gdjsKLSAgICB9Ci0gIE9iamVjdCBnZXRWYWx1ZSgpIHsKLSAgICByZXR1cm4gdmFsdWU7Ci0gIH0KLSAgfTwvcHJlPgotPHA+V2hlbiBhIDxjb2RlPkI8L2NvZGU+IGlzIGNvbnN0cnVjdGVkLAotdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgPGNvZGU+QTwvY29kZT4gY2xhc3MgaXMgaW52b2tlZAotPGVtPmJlZm9yZTwvZW0+IHRoZSBjb25zdHJ1Y3RvciBmb3IgPGNvZGU+QjwvY29kZT4gc2V0cyA8Y29kZT52YWx1ZTwvY29kZT4uCi1UaHVzLCB3aGVuIHRoZSBjb25zdHJ1Y3RvciBmb3IgPGNvZGU+QTwvY29kZT4gaW52b2tlcyA8Y29kZT5nZXRWYWx1ZTwvY29kZT4sCi1hbiB1bmluaXRpYWxpemVkIHZhbHVlIGlzIHJlYWQgZm9yIDxjb2RlPnZhbHVlPC9jb2RlPgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0lOVk9LSU5HX1RPU1RSSU5HX09OX0FOT05ZTU9VU19BUlJBWSI+VVNFTEVTU19TVFJJTkc6IEludm9jYXRpb24gb2YgdG9TdHJpbmcgb24gYW4gdW5uYW1lZCBhcnJheSAoRE1JX0lOVk9LSU5HX1RPU1RSSU5HX09OX0FOT05ZTU9VU19BUlJBWSk8L2E+PC9oMz4KLQotCi08cD4KLVRoZSBjb2RlIGludm9rZXMgdG9TdHJpbmcgb24gYW4gKGFub255bW91cykgYXJyYXkuICBDYWxsaW5nIHRvU3RyaW5nIG9uIGFuIGFycmF5IGdlbmVyYXRlcyBhIGZhaXJseSB1c2VsZXNzIHJlc3VsdAotc3VjaCBhcyBbQ0AxNmYwNDcyLiBDb25zaWRlciB1c2luZyBBcnJheXMudG9TdHJpbmcgdG8gY29udmVydCB0aGUgYXJyYXkgaW50byBhIHJlYWRhYmxlCi1TdHJpbmcgdGhhdCBnaXZlcyB0aGUgY29udGVudHMgb2YgdGhlIGFycmF5LiBTZWUgUHJvZ3JhbW1pbmcgUHV6emxlcnMsIGNoYXB0ZXIgMywgcHV6emxlIDEyLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX0lOVk9LSU5HX1RPU1RSSU5HX09OX0FSUkFZIj5VU0VMRVNTX1NUUklORzogSW52b2NhdGlvbiBvZiB0b1N0cmluZyBvbiBhbiBhcnJheSAoRE1JX0lOVk9LSU5HX1RPU1RSSU5HX09OX0FSUkFZKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGNvZGUgaW52b2tlcyB0b1N0cmluZyBvbiBhbiBhcnJheSwgd2hpY2ggd2lsbCBnZW5lcmF0ZSBhIGZhaXJseSB1c2VsZXNzIHJlc3VsdAotc3VjaCBhcyBbQ0AxNmYwNDcyLiBDb25zaWRlciB1c2luZyBBcnJheXMudG9TdHJpbmcgdG8gY29udmVydCB0aGUgYXJyYXkgaW50byBhIHJlYWRhYmxlCi1TdHJpbmcgdGhhdCBnaXZlcyB0aGUgY29udGVudHMgb2YgdGhlIGFycmF5LiBTZWUgUHJvZ3JhbW1pbmcgUHV6emxlcnMsIGNoYXB0ZXIgMywgcHV6emxlIDEyLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVkFfRk9STUFUX1NUUklOR19CQURfQ09OVkVSU0lPTl9GUk9NX0FSUkFZIj5VU0VMRVNTX1NUUklORzogQXJyYXkgZm9ybWF0dGVkIGluIHVzZWxlc3Mgd2F5IHVzaW5nIGZvcm1hdCBzdHJpbmcgKFZBX0ZPUk1BVF9TVFJJTkdfQkFEX0NPTlZFUlNJT05fRlJPTV9BUlJBWSk8L2E+PC9oMz4KLQotCi08cD4KLU9uZSBvZiB0aGUgYXJndW1lbnRzIGJlaW5nIGZvcm1hdHRlZCB3aXRoIGEgZm9ybWF0IHN0cmluZyBpcyBhbiBhcnJheS4gVGhpcyB3aWxsIGJlIGZvcm1hdHRlZAotdXNpbmcgYSBmYWlybHkgdXNlbGVzcyBmb3JtYXQsIHN1Y2ggYXMgW0lAMzA0MjgyLCB3aGljaCBkb2Vzbid0IGFjdHVhbGx5IHNob3cgdGhlIGNvbnRlbnRzCi1vZiB0aGUgYXJyYXkuCi1Db25zaWRlciB3cmFwcGluZyB0aGUgYXJyYXkgdXNpbmcgPGNvZGU+QXJyYXlzLmFzTGlzdCguLi4pPC9jb2RlPiBiZWZvcmUgaGFuZGxpbmcgaXQgb2ZmIHRvIGEgZm9ybWF0dGVkLgotPC9wPgotCi0gICAgIAotPGgzPjxhIG5hbWU9IlVXRl9OVUxMX0ZJRUxEIj5Vd0Y6IEZpZWxkIG9ubHkgZXZlciBzZXQgdG8gbnVsbCAoVVdGX05VTExfRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gQWxsIHdyaXRlcyB0byB0aGlzIGZpZWxkIGFyZSBvZiB0aGUgY29uc3RhbnQgdmFsdWUgbnVsbCwgYW5kIHRodXMKLWFsbCByZWFkcyBvZiB0aGUgZmllbGQgd2lsbCByZXR1cm4gbnVsbC4KLUNoZWNrIGZvciBlcnJvcnMsIG9yIHJlbW92ZSBpdCBpZiBpdCBpcyB1c2VsZXNzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlVXRl9VTldSSVRURU5fRklFTEQiPlV3RjogVW53cml0dGVuIGZpZWxkIChVV0ZfVU5XUklUVEVOX0ZJRUxEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgZmllbGQgaXMgbmV2ZXIgd3JpdHRlbi4mbmJzcDsgQWxsIHJlYWRzIG9mIGl0IHdpbGwgcmV0dXJuIHRoZSBkZWZhdWx0Ci12YWx1ZS4gQ2hlY2sgZm9yIGVycm9ycyAoc2hvdWxkIGl0IGhhdmUgYmVlbiBpbml0aWFsaXplZD8pLCBvciByZW1vdmUgaXQgaWYgaXQgaXMgdXNlbGVzcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJWQV9QUklNSVRJVkVfQVJSQVlfUEFTU0VEX1RPX09CSkVDVF9WQVJBUkciPlZBOiBQcmltaXRpdmUgYXJyYXkgcGFzc2VkIHRvIGZ1bmN0aW9uIGV4cGVjdGluZyBhIHZhcmlhYmxlIG51bWJlciBvZiBvYmplY3QgYXJndW1lbnRzIChWQV9QUklNSVRJVkVfQVJSQVlfUEFTU0VEX1RPX09CSkVDVF9WQVJBUkcpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgcGFzc2VzIGEgcHJpbWl0aXZlIGFycmF5IHRvIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIHZhcmlhYmxlIG51bWJlciBvZiBvYmplY3QgYXJndW1lbnRzLgotVGhpcyBjcmVhdGVzIGFuIGFycmF5IG9mIGxlbmd0aCBvbmUgdG8gaG9sZCB0aGUgcHJpbWl0aXZlIGFycmF5IGFuZCBwYXNzZXMgaXQgdG8gdGhlIGZ1bmN0aW9uLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTEdfTE9TVF9MT0dHRVJfRFVFX1RPX1dFQUtfUkVGRVJFTkNFIj5MRzogUG90ZW50aWFsIGxvc3QgbG9nZ2VyIGNoYW5nZXMgZHVlIHRvIHdlYWsgcmVmZXJlbmNlIGluIE9wZW5KREsgKExHX0xPU1RfTE9HR0VSX0RVRV9UT19XRUFLX1JFRkVSRU5DRSk8L2E+PC9oMz4KLQotICAgICAgICAgIAotPHA+T3BlbkpESyBpbnRyb2R1Y2VzIGEgcG90ZW50aWFsIGluY29tcGF0aWJpbGl0eS4KLSBJbiBwYXJ0aWN1bGFyLCB0aGUgamF2YS51dGlsLmxvZ2dpbmcuTG9nZ2VyIGJlaGF2aW9yIGhhcwotICBjaGFuZ2VkLiBJbnN0ZWFkIG9mIHVzaW5nIHN0cm9uZyByZWZlcmVuY2VzLCBpdCBub3cgdXNlcyB3ZWFrIHJlZmVyZW5jZXMKLSAgaW50ZXJuYWxseS4gVGhhdCdzIGEgcmVhc29uYWJsZSBjaGFuZ2UsIGJ1dCB1bmZvcnR1bmF0ZWx5IHNvbWUgY29kZSByZWxpZXMgb24KLSAgdGhlIG9sZCBiZWhhdmlvciAtIHdoZW4gY2hhbmdpbmcgbG9nZ2VyIGNvbmZpZ3VyYXRpb24sIGl0IHNpbXBseSBkcm9wcyB0aGUKLSAgbG9nZ2VyIHJlZmVyZW5jZS4gVGhhdCBtZWFucyB0aGF0IHRoZSBnYXJiYWdlIGNvbGxlY3RvciBpcyBmcmVlIHRvIHJlY2xhaW0KLSAgdGhhdCBtZW1vcnksIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGxvZ2dlciBjb25maWd1cmF0aW9uIGlzIGxvc3QuIEZvciBleGFtcGxlLAotY29uc2lkZXI6Ci08L3A+Ci0KLTxwcmU+cHVibGljIHN0YXRpYyB2b2lkIGluaXRMb2dnaW5nKCkgdGhyb3dzIEV4Y2VwdGlvbiB7Ci0gTG9nZ2VyIGxvZ2dlciA9IExvZ2dlci5nZXRMb2dnZXIoImVkdS51bWQuY3MiKTsKLSBsb2dnZXIuYWRkSGFuZGxlcihuZXcgRmlsZUhhbmRsZXIoKSk7IC8vIGNhbGwgdG8gY2hhbmdlIGxvZ2dlciBjb25maWd1cmF0aW9uCi0gbG9nZ2VyLnNldFVzZVBhcmVudEhhbmRsZXJzKGZhbHNlKTsgLy8gYW5vdGhlciBjYWxsIHRvIGNoYW5nZSBsb2dnZXIgY29uZmlndXJhdGlvbgotfTwvcHJlPgotCi08cD5UaGUgbG9nZ2VyIHJlZmVyZW5jZSBpcyBsb3N0IGF0IHRoZSBlbmQgb2YgdGhlIG1ldGhvZCAoaXQgZG9lc24ndAotZXNjYXBlIHRoZSBtZXRob2QpLCBzbyBpZiB5b3UgaGF2ZSBhIGdhcmJhZ2UgY29sbGVjdGlvbiBjeWNsZSBqdXN0Ci1hZnRlciB0aGUgY2FsbCB0byBpbml0TG9nZ2luZywgdGhlIGxvZ2dlciBjb25maWd1cmF0aW9uIGlzIGxvc3QKLShiZWNhdXNlIExvZ2dlciBvbmx5IGtlZXBzIHdlYWsgcmVmZXJlbmNlcykuPC9wPgotCi08cHJlPnB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24gewotIGluaXRMb2dnaW5nKCk7IC8vIGFkZHMgYSBmaWxlIGhhbmRsZXIgdG8gdGhlIGxvZ2dlcgotIFN5c3RlbS5nYygpOyAvLyBsb2dnZXIgY29uZmlndXJhdGlvbiBsb3N0Ci0gTG9nZ2VyLmdldExvZ2dlcigiZWR1LnVtZC5jcyIpLmluZm8oIlNvbWUgbWVzc2FnZSIpOyAvLyB0aGlzIGlzbid0IGxvZ2dlZCB0byB0aGUgZmlsZSBhcyBleHBlY3RlZAotfTwvcHJlPgotPHA+PGVtPlVsZiBPY2hzZW5mYWhydCBhbmQgRXJpYyBGZWxsaGVpbWVyPC9lbT48L3A+Ci0gICAgICAgICAgCi0gICAgICAKLTxoMz48YSBuYW1lPSJPQkxfVU5TQVRJU0ZJRURfT0JMSUdBVElPTiI+T0JMOiBNZXRob2QgbWF5IGZhaWwgdG8gY2xlYW4gdXAgc3RyZWFtIG9yIHJlc291cmNlIChPQkxfVU5TQVRJU0ZJRURfT0JMSUdBVElPTik8L2E+PC9oMz4KLQotICAgICAgICAgIAotICAgICAgICAgIDxwPgotICAgICAgICAgIFRoaXMgbWV0aG9kIG1heSBmYWlsIHRvIGNsZWFuIHVwIChjbG9zZSwgZGlzcG9zZSBvZikgYSBzdHJlYW0sCi0gICAgICAgICAgZGF0YWJhc2Ugb2JqZWN0LCBvciBvdGhlcgotICAgICAgICAgIHJlc291cmNlIHJlcXVpcmluZyBhbiBleHBsaWNpdCBjbGVhbnVwIG9wZXJhdGlvbi4KLSAgICAgICAgICA8L3A+Ci0KLSAgICAgICAgICA8cD4KLSAgICAgICAgICBJbiBnZW5lcmFsLCBpZiBhIG1ldGhvZCBvcGVucyBhIHN0cmVhbSBvciBvdGhlciByZXNvdXJjZSwKLSAgICAgICAgICB0aGUgbWV0aG9kIHNob3VsZCB1c2UgYSB0cnkvZmluYWxseSBibG9jayB0byBlbnN1cmUgdGhhdAotICAgICAgICAgIHRoZSBzdHJlYW0gb3IgcmVzb3VyY2UgaXMgY2xlYW5lZCB1cCBiZWZvcmUgdGhlIG1ldGhvZAotICAgICAgICAgIHJldHVybnMuCi0gICAgICAgICAgPC9wPgotCi0gICAgICAgICAgPHA+Ci0gICAgICAgICAgVGhpcyBidWcgcGF0dGVybiBpcyBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyB0aGUKLSAgICAgICAgICBPU19PUEVOX1NUUkVBTSBhbmQgT0RSX09QRU5fREFUQUJBU0VfUkVTT1VSQ0UKLSAgICAgICAgICBidWcgcGF0dGVybnMsIGJ1dCBpcyBiYXNlZCBvbiBhIGRpZmZlcmVudAotICAgICAgICAgIChhbmQgaG9wZWZ1bGx5IGJldHRlcikgc3RhdGljIGFuYWx5c2lzIHRlY2huaXF1ZS4KLSAgICAgICAgICBXZSBhcmUgaW50ZXJlc3RlZCBpcyBnZXR0aW5nIGZlZWRiYWNrIGFib3V0IHRoZQotICAgICAgICAgIHVzZWZ1bG5lc3Mgb2YgdGhpcyBidWcgcGF0dGVybi4KLSAgICAgICAgICBUbyBzZW5kIGZlZWRiYWNrLCBlaXRoZXI6Ci0gICAgICAgICAgPC9wPgotICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgIDxsaT5zZW5kIGVtYWlsIHRvIGZpbmRidWdzQGNzLnVtZC5lZHU8L2xpPgotICAgICAgICAgICAgPGxpPmZpbGUgYSBidWcgcmVwb3J0OiA8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L3JlcG9ydGluZ0J1Z3MuaHRtbCI+aHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9yZXBvcnRpbmdCdWdzLmh0bWw8L2E+PC9saT4KLSAgICAgICAgICA8L3VsPgotCi0gICAgICAgICAgPHA+Ci0gICAgICAgICAgSW4gcGFydGljdWxhciwKLSAgICAgICAgICB0aGUgZmFsc2UtcG9zaXRpdmUgc3VwcHJlc3Npb24gaGV1cmlzdGljcyBmb3IgdGhpcwotICAgICAgICAgIGJ1ZyBwYXR0ZXJuIGhhdmUgbm90IGJlZW4gZXh0ZW5zaXZlbHkgdHVuZWQsIHNvCi0gICAgICAgICAgcmVwb3J0cyBhYm91dCBmYWxzZSBwb3NpdGl2ZXMgYXJlIGhlbHBmdWwgdG8gdXMuCi0gICAgICAgICAgPC9wPgotCi0gICAgICAgICAgPHA+Ci0gICAgICAgICAgU2VlIFdlaW1lciBhbmQgTmVjdWxhLCA8aT5GaW5kaW5nIGFuZCBQcmV2ZW50aW5nIFJ1bi1UaW1lIEVycm9yIEhhbmRsaW5nIE1pc3Rha2VzPC9pPiwgZm9yCi0gICAgICAgICAgYSBkZXNjcmlwdGlvbiBvZiB0aGUgYW5hbHlzaXMgdGVjaG5pcXVlLgotICAgICAgICAgIDwvcD4KLSAgICAgICAgICAKLSAgICAgIAotPGgzPjxhIG5hbWU9Ik9CTF9VTlNBVElTRklFRF9PQkxJR0FUSU9OX0VYQ0VQVElPTl9FREdFIj5PQkw6IE1ldGhvZCBtYXkgZmFpbCB0byBjbGVhbiB1cCBzdHJlYW0gb3IgcmVzb3VyY2Ugb24gY2hlY2tlZCBleGNlcHRpb24gKE9CTF9VTlNBVElTRklFRF9PQkxJR0FUSU9OX0VYQ0VQVElPTl9FREdFKTwvYT48L2gzPgotCi0gICAgICAgICAgCi0gICAgICAgICAgPHA+Ci0gICAgICAgICAgVGhpcyBtZXRob2QgbWF5IGZhaWwgdG8gY2xlYW4gdXAgKGNsb3NlLCBkaXNwb3NlIG9mKSBhIHN0cmVhbSwKLSAgICAgICAgICBkYXRhYmFzZSBvYmplY3QsIG9yIG90aGVyCi0gICAgICAgICAgcmVzb3VyY2UgcmVxdWlyaW5nIGFuIGV4cGxpY2l0IGNsZWFudXAgb3BlcmF0aW9uLgotICAgICAgICAgIDwvcD4KLQotICAgICAgICAgIDxwPgotICAgICAgICAgIEluIGdlbmVyYWwsIGlmIGEgbWV0aG9kIG9wZW5zIGEgc3RyZWFtIG9yIG90aGVyIHJlc291cmNlLAotICAgICAgICAgIHRoZSBtZXRob2Qgc2hvdWxkIHVzZSBhIHRyeS9maW5hbGx5IGJsb2NrIHRvIGVuc3VyZSB0aGF0Ci0gICAgICAgICAgdGhlIHN0cmVhbSBvciByZXNvdXJjZSBpcyBjbGVhbmVkIHVwIGJlZm9yZSB0aGUgbWV0aG9kCi0gICAgICAgICAgcmV0dXJucy4KLSAgICAgICAgICA8L3A+Ci0KLSAgICAgICAgICA8cD4KLSAgICAgICAgICBUaGlzIGJ1ZyBwYXR0ZXJuIGlzIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZQotICAgICAgICAgIE9TX09QRU5fU1RSRUFNIGFuZCBPRFJfT1BFTl9EQVRBQkFTRV9SRVNPVVJDRQotICAgICAgICAgIGJ1ZyBwYXR0ZXJucywgYnV0IGlzIGJhc2VkIG9uIGEgZGlmZmVyZW50Ci0gICAgICAgICAgKGFuZCBob3BlZnVsbHkgYmV0dGVyKSBzdGF0aWMgYW5hbHlzaXMgdGVjaG5pcXVlLgotICAgICAgICAgIFdlIGFyZSBpbnRlcmVzdGVkIGlzIGdldHRpbmcgZmVlZGJhY2sgYWJvdXQgdGhlCi0gICAgICAgICAgdXNlZnVsbmVzcyBvZiB0aGlzIGJ1ZyBwYXR0ZXJuLgotICAgICAgICAgIFRvIHNlbmQgZmVlZGJhY2ssIGVpdGhlcjoKLSAgICAgICAgICA8L3A+Ci0gICAgICAgICAgPHVsPgotICAgICAgICAgICAgPGxpPnNlbmQgZW1haWwgdG8gZmluZGJ1Z3NAY3MudW1kLmVkdTwvbGk+Ci0gICAgICAgICAgICA8bGk+ZmlsZSBhIGJ1ZyByZXBvcnQ6IDxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvcmVwb3J0aW5nQnVncy5odG1sIj5odHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L3JlcG9ydGluZ0J1Z3MuaHRtbDwvYT48L2xpPgotICAgICAgICAgIDwvdWw+Ci0KLSAgICAgICAgICA8cD4KLSAgICAgICAgICBJbiBwYXJ0aWN1bGFyLAotICAgICAgICAgIHRoZSBmYWxzZS1wb3NpdGl2ZSBzdXBwcmVzc2lvbiBoZXVyaXN0aWNzIGZvciB0aGlzCi0gICAgICAgICAgYnVnIHBhdHRlcm4gaGF2ZSBub3QgYmVlbiBleHRlbnNpdmVseSB0dW5lZCwgc28KLSAgICAgICAgICByZXBvcnRzIGFib3V0IGZhbHNlIHBvc2l0aXZlcyBhcmUgaGVscGZ1bCB0byB1cy4KLSAgICAgICAgICA8L3A+Ci0KLSAgICAgICAgICA8cD4KLSAgICAgICAgICBTZWUgV2VpbWVyIGFuZCBOZWN1bGEsIDxpPkZpbmRpbmcgYW5kIFByZXZlbnRpbmcgUnVuLVRpbWUgRXJyb3IgSGFuZGxpbmcgTWlzdGFrZXM8L2k+LCBmb3IKLSAgICAgICAgICBhIGRlc2NyaXB0aW9uIG9mIHRoZSBhbmFseXNpcyB0ZWNobmlxdWUuCi0gICAgICAgICAgPC9wPgotICAgICAgICAgIAotICAgICAgCi08aDM+PGEgbmFtZT0iRE1fQ09OVkVSVF9DQVNFIj5EbTogQ29uc2lkZXIgdXNpbmcgTG9jYWxlIHBhcmFtZXRlcml6ZWQgdmVyc2lvbiBvZiBpbnZva2VkIG1ldGhvZCAoRE1fQ09OVkVSVF9DQVNFKTwvYT48L2gzPgotCi0KLSAgPHA+IEEgU3RyaW5nIGlzIGJlaW5nIGNvbnZlcnRlZCB0byB1cHBlciBvciBsb3dlcmNhc2UsIHVzaW5nIHRoZSBwbGF0Zm9ybSdzIGRlZmF1bHQgZW5jb2RpbmcuIFRoaXMgbWF5Ci0gICAgICByZXN1bHQgaW4gaW1wcm9wZXIgY29udmVyc2lvbnMgd2hlbiB1c2VkIHdpdGggaW50ZXJuYXRpb25hbCBjaGFyYWN0ZXJzLiBVc2UgdGhlIDwvcD4KLSAgICAgIDx1bD4KLSAgICA8bGk+U3RyaW5nLnRvVXBwZXJDYXNlKCBMb2NhbGUgbCApPC9saT4KLSAgICA8bGk+U3RyaW5nLnRvTG93ZXJDYXNlKCBMb2NhbGUgbCApPC9saT4KLSAgICA8L3VsPgotICAgICAgPHA+dmVyc2lvbnMgaW5zdGVhZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETV9ERUZBVUxUX0VOQ09ESU5HIj5EbTogUmVsaWFuY2Ugb24gZGVmYXVsdCBlbmNvZGluZyAoRE1fREVGQVVMVF9FTkNPRElORyk8L2E+PC9oMz4KLQotCi08cD4gRm91bmQgYSBjYWxsIHRvIGEgbWV0aG9kIHdoaWNoIHdpbGwgcGVyZm9ybSBhIGJ5dGUgdG8gU3RyaW5nIChvciBTdHJpbmcgdG8gYnl0ZSkgY29udmVyc2lvbiwgYW5kIHdpbGwgYXNzdW1lIHRoYXQgdGhlIGRlZmF1bHQgcGxhdGZvcm0gZW5jb2RpbmcgaXMgc3VpdGFibGUuIFRoaXMgd2lsbCBjYXVzZSB0aGUgYXBwbGljYXRpb24gYmVoYXZpb3VyIHRvIHZhcnkgYmV0d2VlbiBwbGF0Zm9ybXMuIFVzZSBhbiBhbHRlcm5hdGl2ZSBBUEkgYW5kIHNwZWNpZnkgYSBjaGFyc2V0IG5hbWUgb3IgQ2hhcnNldCBvYmplY3QgZXhwbGljaXRseS4gIDwvcD4KLQotICAgICAgCi08aDM+PGEgbmFtZT0iRFBfQ1JFQVRFX0NMQVNTTE9BREVSX0lOU0lERV9ET19QUklWSUxFR0VEIj5EUDogQ2xhc3Nsb2FkZXJzIHNob3VsZCBvbmx5IGJlIGNyZWF0ZWQgaW5zaWRlIGRvUHJpdmlsZWdlZCBibG9jayAoRFBfQ1JFQVRFX0NMQVNTTE9BREVSX0lOU0lERV9ET19QUklWSUxFR0VEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY29kZSBjcmVhdGVzIGEgY2xhc3Nsb2FkZXIsICB3aGljaCBuZWVkcyBwZXJtaXNzaW9uIGlmIGEgc2VjdXJpdHkgbWFuYWdlIGlzIGluc3RhbGxlZC4KLSAgSWYgdGhpcyBjb2RlIG1pZ2h0IGJlIGludm9rZWQgYnkgY29kZSB0aGF0IGRvZXMgbm90Ci0gIGhhdmUgc2VjdXJpdHkgcGVybWlzc2lvbnMsIHRoZW4gdGhlIGNsYXNzbG9hZGVyIGNyZWF0aW9uIG5lZWRzIHRvIG9jY3VyIGluc2lkZSBhIGRvUHJpdmlsZWdlZCBibG9jay48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJEUF9ET19JTlNJREVfRE9fUFJJVklMRUdFRCI+RFA6IE1ldGhvZCBpbnZva2VkIHRoYXQgc2hvdWxkIGJlIG9ubHkgYmUgaW52b2tlZCBpbnNpZGUgYSBkb1ByaXZpbGVnZWQgYmxvY2sgKERQX0RPX0lOU0lERV9ET19QUklWSUxFR0VEKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY29kZSBpbnZva2VzIGEgbWV0aG9kIHRoYXQgcmVxdWlyZXMgYSBzZWN1cml0eSBwZXJtaXNzaW9uIGNoZWNrLgotICBJZiB0aGlzIGNvZGUgd2lsbCBiZSBncmFudGVkIHNlY3VyaXR5IHBlcm1pc3Npb25zLCBidXQgbWlnaHQgYmUgaW52b2tlZCBieSBjb2RlIHRoYXQgZG9lcyBub3QKLSAgaGF2ZSBzZWN1cml0eSBwZXJtaXNzaW9ucywgdGhlbiB0aGUgaW52b2NhdGlvbiBuZWVkcyB0byBvY2N1ciBpbnNpZGUgYSBkb1ByaXZpbGVnZWQgYmxvY2suPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRUlfRVhQT1NFX1JFUCI+RUk6IE1heSBleHBvc2UgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gYnkgcmV0dXJuaW5nIHJlZmVyZW5jZSB0byBtdXRhYmxlIG9iamVjdCAoRUlfRVhQT1NFX1JFUCk8L2E+PC9oMz4KLQotCi0gIDxwPiBSZXR1cm5pbmcgYSByZWZlcmVuY2UgdG8gYSBtdXRhYmxlIG9iamVjdCB2YWx1ZSBzdG9yZWQgaW4gb25lIG9mIHRoZSBvYmplY3QncyBmaWVsZHMKLSAgZXhwb3NlcyB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIG9iamVjdC4mbmJzcDsKLSAgIElmIGluc3RhbmNlcwotICAgYXJlIGFjY2Vzc2VkIGJ5IHVudHJ1c3RlZCBjb2RlLCBhbmQgdW5jaGVja2VkIGNoYW5nZXMgdG8KLSAgIHRoZSBtdXRhYmxlIG9iamVjdCB3b3VsZCBjb21wcm9taXNlIHNlY3VyaXR5IG9yIG90aGVyCi0gICBpbXBvcnRhbnQgcHJvcGVydGllcywgeW91IHdpbGwgbmVlZCB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50LgotICBSZXR1cm5pbmcgYSBuZXcgY29weSBvZiB0aGUgb2JqZWN0IGlzIGJldHRlciBhcHByb2FjaCBpbiBtYW55IHNpdHVhdGlvbnMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRUlfRVhQT1NFX1JFUDIiPkVJMjogTWF5IGV4cG9zZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBieSBpbmNvcnBvcmF0aW5nIHJlZmVyZW5jZSB0byBtdXRhYmxlIG9iamVjdCAoRUlfRVhQT1NFX1JFUDIpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjb2RlIHN0b3JlcyBhIHJlZmVyZW5jZSB0byBhbiBleHRlcm5hbGx5IG11dGFibGUgb2JqZWN0IGludG8gdGhlCi0gIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuJm5ic3A7Ci0gICBJZiBpbnN0YW5jZXMKLSAgIGFyZSBhY2Nlc3NlZCBieSB1bnRydXN0ZWQgY29kZSwgYW5kIHVuY2hlY2tlZCBjaGFuZ2VzIHRvCi0gICB0aGUgbXV0YWJsZSBvYmplY3Qgd291bGQgY29tcHJvbWlzZSBzZWN1cml0eSBvciBvdGhlcgotICAgaW1wb3J0YW50IHByb3BlcnRpZXMsIHlvdSB3aWxsIG5lZWQgdG8gZG8gc29tZXRoaW5nIGRpZmZlcmVudC4KLSAgU3RvcmluZyBhIGNvcHkgb2YgdGhlIG9iamVjdCBpcyBiZXR0ZXIgYXBwcm9hY2ggaW4gbWFueSBzaXR1YXRpb25zLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkZJX1BVQkxJQ19TSE9VTERfQkVfUFJPVEVDVEVEIj5GSTogRmluYWxpemVyIHNob3VsZCBiZSBwcm90ZWN0ZWQsIG5vdCBwdWJsaWMgKEZJX1BVQkxJQ19TSE9VTERfQkVfUFJPVEVDVEVEKTwvYT48L2gzPgotCi0KLSAgPHA+IEEgY2xhc3MncyA8Y29kZT5maW5hbGl6ZSgpPC9jb2RlPiBtZXRob2Qgc2hvdWxkIGhhdmUgcHJvdGVjdGVkIGFjY2VzcywKLSAgIG5vdCBwdWJsaWMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRUlfRVhQT1NFX1NUQVRJQ19SRVAyIj5NUzogTWF5IGV4cG9zZSBpbnRlcm5hbCBzdGF0aWMgc3RhdGUgYnkgc3RvcmluZyBhIG11dGFibGUgb2JqZWN0IGludG8gYSBzdGF0aWMgZmllbGQgKEVJX0VYUE9TRV9TVEFUSUNfUkVQMik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNvZGUgc3RvcmVzIGEgcmVmZXJlbmNlIHRvIGFuIGV4dGVybmFsbHkgbXV0YWJsZSBvYmplY3QgaW50byBhIHN0YXRpYwotICAgZmllbGQuCi0gICBJZiB1bmNoZWNrZWQgY2hhbmdlcyB0bwotICAgdGhlIG11dGFibGUgb2JqZWN0IHdvdWxkIGNvbXByb21pc2Ugc2VjdXJpdHkgb3Igb3RoZXIKLSAgIGltcG9ydGFudCBwcm9wZXJ0aWVzLCB5b3Ugd2lsbCBuZWVkIHRvIGRvIHNvbWV0aGluZyBkaWZmZXJlbnQuCi0gIFN0b3JpbmcgYSBjb3B5IG9mIHRoZSBvYmplY3QgaXMgYmV0dGVyIGFwcHJvYWNoIGluIG1hbnkgc2l0dWF0aW9ucy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJNU19DQU5OT1RfQkVfRklOQUwiPk1TOiBGaWVsZCBpc24ndCBmaW5hbCBhbmQgY2FuJ3QgYmUgcHJvdGVjdGVkIGZyb20gbWFsaWNpb3VzIGNvZGUgKE1TX0NBTk5PVF9CRV9GSU5BTCk8L2E+PC9oMz4KLQotCi0gIDxwPgotIEEgbXV0YWJsZSBzdGF0aWMgZmllbGQgY291bGQgYmUgY2hhbmdlZCBieSBtYWxpY2lvdXMgY29kZSBvcgotICAgICAgICBieSBhY2NpZGVudCBmcm9tIGFub3RoZXIgcGFja2FnZS4KLSAgIFVuZm9ydHVuYXRlbHksIHRoZSB3YXkgdGhlIGZpZWxkIGlzIHVzZWQgZG9lc24ndCBhbGxvdwotICAgYW55IGVhc3kgZml4IHRvIHRoaXMgcHJvYmxlbS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJNU19FWFBPU0VfUkVQIj5NUzogUHVibGljIHN0YXRpYyBtZXRob2QgbWF5IGV4cG9zZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBieSByZXR1cm5pbmcgYXJyYXkgKE1TX0VYUE9TRV9SRVApPC9hPjwvaDM+Ci0KLQotICA8cD4gQSBwdWJsaWMgc3RhdGljIG1ldGhvZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvCi0gICBhbiBhcnJheSB0aGF0IGlzIHBhcnQgb2YgdGhlIHN0YXRpYyBzdGF0ZSBvZiB0aGUgY2xhc3MuCi0gICBBbnkgY29kZSB0aGF0IGNhbGxzIHRoaXMgbWV0aG9kIGNhbiBmcmVlbHkgbW9kaWZ5Ci0gICB0aGUgdW5kZXJseWluZyBhcnJheS4KLSAgIE9uZSBmaXggaXMgdG8gcmV0dXJuIGEgY29weSBvZiB0aGUgYXJyYXkuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVNfRklOQUxfUEtHUFJPVEVDVCI+TVM6IEZpZWxkIHNob3VsZCBiZSBib3RoIGZpbmFsIGFuZCBwYWNrYWdlIHByb3RlY3RlZCAoTVNfRklOQUxfUEtHUFJPVEVDVCk8L2E+PC9oMz4KLQotCi0gPHA+Ci0gICBBIG11dGFibGUgc3RhdGljIGZpZWxkIGNvdWxkIGJlIGNoYW5nZWQgYnkgbWFsaWNpb3VzIGNvZGUgb3IKLSAgICAgICAgYnkgYWNjaWRlbnQgZnJvbSBhbm90aGVyIHBhY2thZ2UuCi0gICAgICAgIFRoZSBmaWVsZCBjb3VsZCBiZSBtYWRlIHBhY2thZ2UgcHJvdGVjdGVkIGFuZC9vciBtYWRlIGZpbmFsCi0gICB0byBhdm9pZAotICAgICAgICB0aGlzIHZ1bG5lcmFiaWxpdHkuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVNfTVVUQUJMRV9BUlJBWSI+TVM6IEZpZWxkIGlzIGEgbXV0YWJsZSBhcnJheSAoTVNfTVVUQUJMRV9BUlJBWSk8L2E+PC9oMz4KLQotCi08cD4gQSBmaW5hbCBzdGF0aWMgZmllbGQgcmVmZXJlbmNlcyBhbiBhcnJheQotICAgYW5kIGNhbiBiZSBhY2Nlc3NlZCBieSBtYWxpY2lvdXMgY29kZSBvcgotICAgICAgICBieSBhY2NpZGVudCBmcm9tIGFub3RoZXIgcGFja2FnZS4KLSAgIFRoaXMgY29kZSBjYW4gZnJlZWx5IG1vZGlmeSB0aGUgY29udGVudHMgb2YgdGhlIGFycmF5LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1TX01VVEFCTEVfSEFTSFRBQkxFIj5NUzogRmllbGQgaXMgYSBtdXRhYmxlIEhhc2h0YWJsZSAoTVNfTVVUQUJMRV9IQVNIVEFCTEUpPC9hPjwvaDM+Ci0KLQotIDxwPkEgZmluYWwgc3RhdGljIGZpZWxkIHJlZmVyZW5jZXMgYSBIYXNodGFibGUKLSAgIGFuZCBjYW4gYmUgYWNjZXNzZWQgYnkgbWFsaWNpb3VzIGNvZGUgb3IKLSAgICAgICAgYnkgYWNjaWRlbnQgZnJvbSBhbm90aGVyIHBhY2thZ2UuCi0gICBUaGlzIGNvZGUgY2FuIGZyZWVseSBtb2RpZnkgdGhlIGNvbnRlbnRzIG9mIHRoZSBIYXNodGFibGUuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVNfT09JX1BLR1BST1RFQ1QiPk1TOiBGaWVsZCBzaG91bGQgYmUgbW92ZWQgb3V0IG9mIGFuIGludGVyZmFjZSBhbmQgbWFkZSBwYWNrYWdlIHByb3RlY3RlZCAoTVNfT09JX1BLR1BST1RFQ1QpPC9hPjwvaDM+Ci0KLQotPHA+Ci0gQSBmaW5hbCBzdGF0aWMgZmllbGQgdGhhdCBpcwotZGVmaW5lZCBpbiBhbiBpbnRlcmZhY2UgcmVmZXJlbmNlcyBhIG11dGFibGUKLSAgIG9iamVjdCBzdWNoIGFzIGFuIGFycmF5IG9yIGhhc2h0YWJsZS4KLSAgIFRoaXMgbXV0YWJsZSBvYmplY3QgY291bGQKLSAgIGJlIGNoYW5nZWQgYnkgbWFsaWNpb3VzIGNvZGUgb3IKLSAgICAgICAgYnkgYWNjaWRlbnQgZnJvbSBhbm90aGVyIHBhY2thZ2UuCi0gICBUbyBzb2x2ZSB0aGlzLCB0aGUgZmllbGQgbmVlZHMgdG8gYmUgbW92ZWQgdG8gYSBjbGFzcwotICAgYW5kIG1hZGUgcGFja2FnZSBwcm90ZWN0ZWQKLSAgIHRvIGF2b2lkCi0gICAgICAgIHRoaXMgdnVsbmVyYWJpbGl0eS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJNU19QS0dQUk9URUNUIj5NUzogRmllbGQgc2hvdWxkIGJlIHBhY2thZ2UgcHJvdGVjdGVkIChNU19QS0dQUk9URUNUKTwvYT48L2gzPgotCi0KLSAgPHA+IEEgbXV0YWJsZSBzdGF0aWMgZmllbGQgY291bGQgYmUgY2hhbmdlZCBieSBtYWxpY2lvdXMgY29kZSBvcgotICAgYnkgYWNjaWRlbnQuCi0gICBUaGUgZmllbGQgY291bGQgYmUgbWFkZSBwYWNrYWdlIHByb3RlY3RlZCB0byBhdm9pZAotICAgdGhpcyB2dWxuZXJhYmlsaXR5LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1TX1NIT1VMRF9CRV9GSU5BTCI+TVM6IEZpZWxkIGlzbid0IGZpbmFsIGJ1dCBzaG91bGQgYmUgKE1TX1NIT1VMRF9CRV9GSU5BTCk8L2E+PC9oMz4KLQotCi0gICA8cD4KLVRoaXMgc3RhdGljIGZpZWxkIHB1YmxpYyBidXQgbm90IGZpbmFsLCBhbmQKLWNvdWxkIGJlIGNoYW5nZWQgYnkgbWFsaWNpb3VzIGNvZGUgb3IKLSAgICAgICAgYnkgYWNjaWRlbnQgZnJvbSBhbm90aGVyIHBhY2thZ2UuCi0gICAgICAgIFRoZSBmaWVsZCBjb3VsZCBiZSBtYWRlIGZpbmFsIHRvIGF2b2lkCi0gICAgICAgIHRoaXMgdnVsbmVyYWJpbGl0eS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJNU19TSE9VTERfQkVfUkVGQUNUT1JFRF9UT19CRV9GSU5BTCI+TVM6IEZpZWxkIGlzbid0IGZpbmFsIGJ1dCBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byBiZSBzbyAoTVNfU0hPVUxEX0JFX1JFRkFDVE9SRURfVE9fQkVfRklOQUwpPC9hPjwvaDM+Ci0KLQotICAgPHA+Ci1UaGlzIHN0YXRpYyBmaWVsZCBwdWJsaWMgYnV0IG5vdCBmaW5hbCwgYW5kCi1jb3VsZCBiZSBjaGFuZ2VkIGJ5IG1hbGljaW91cyBjb2RlIG9yCi1ieSBhY2NpZGVudCBmcm9tIGFub3RoZXIgcGFja2FnZS4KLVRoZSBmaWVsZCBjb3VsZCBiZSBtYWRlIGZpbmFsIHRvIGF2b2lkCi10aGlzIHZ1bG5lcmFiaWxpdHkuIEhvd2V2ZXIsIHRoZSBzdGF0aWMgaW5pdGlhbGl6ZXIgY29udGFpbnMgbW9yZSB0aGFuIG9uZSB3cml0ZQotdG8gdGhlIGZpZWxkLCBzbyBkb2luZyBzbyB3aWxsIHJlcXVpcmUgc29tZSByZWZhY3RvcmluZy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkFUX09QRVJBVElPTl9TRVFVRU5DRV9PTl9DT05DVVJSRU5UX0FCU1RSQUNUSU9OIj5BVDogU2VxdWVuY2Ugb2YgY2FsbHMgdG8gY29uY3VycmVudCBhYnN0cmFjdGlvbiBtYXkgbm90IGJlIGF0b21pYyAoQVRfT1BFUkFUSU9OX1NFUVVFTkNFX09OX0NPTkNVUlJFTlRfQUJTVFJBQ1RJT04pPC9hPjwvaDM+Ci0KLSAgICAgICAgICAKLSAgICAgICAgPHA+VGhpcyBjb2RlIGNvbnRhaW5zIGEgc2VxdWVuY2Ugb2YgY2FsbHMgdG8gYSBjb25jdXJyZW50ICBhYnN0cmFjdGlvbgotICAgICAgICAgICAgKHN1Y2ggYXMgYSBjb25jdXJyZW50IGhhc2ggbWFwKS4KLSAgICAgICAgICAgIFRoZXNlIGNhbGxzIHdpbGwgbm90IGJlIGV4ZWN1dGVkIGF0b21pY2FsbHkuCi0gICAgICAgICAgCi0gICAgICAKLTxoMz48YSBuYW1lPSJEQ19ET1VCTEVDSEVDSyI+REM6IFBvc3NpYmxlIGRvdWJsZSBjaGVjayBvZiBmaWVsZCAoRENfRE9VQkxFQ0hFQ0spPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2QgbWF5IGNvbnRhaW4gYW4gaW5zdGFuY2Ugb2YgZG91YmxlLWNoZWNrZWQgbG9ja2luZy4mbmJzcDsKLSAgVGhpcyBpZGlvbSBpcyBub3QgY29ycmVjdCBhY2NvcmRpbmcgdG8gdGhlIHNlbWFudGljcyBvZiB0aGUgSmF2YSBtZW1vcnkKLSAgbW9kZWwuJm5ic3A7IEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHdlYiBwYWdlCi0gIDxhIGhyZWY9Imh0dHA6Ly93d3cuY3MudW1kLmVkdS9+cHVnaC9qYXZhL21lbW9yeU1vZGVsL0RvdWJsZUNoZWNrZWRMb2NraW5nLmh0bWwiCi0gID5odHRwOi8vd3d3LmNzLnVtZC5lZHUvfnB1Z2gvamF2YS9tZW1vcnlNb2RlbC9Eb3VibGVDaGVja2VkTG9ja2luZy5odG1sPC9hPi48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETF9TWU5DSFJPTklaQVRJT05fT05fQk9PTEVBTiI+REw6IFN5bmNocm9uaXphdGlvbiBvbiBCb29sZWFuIChETF9TWU5DSFJPTklaQVRJT05fT05fQk9PTEVBTik8L2E+PC9oMz4KLQotICAgICAgCi0gIDxwPiBUaGUgY29kZSBzeW5jaHJvbml6ZXMgb24gYSBib3hlZCBwcmltaXRpdmUgY29uc3RhbnQsIHN1Y2ggYXMgYW4gQm9vbGVhbi48L3A+Ci08cHJlPgotcHJpdmF0ZSBzdGF0aWMgQm9vbGVhbiBpbml0ZWQgPSBCb29sZWFuLkZBTFNFOwotLi4uCi0gIHN5bmNocm9uaXplZChpbml0ZWQpIHsKLSAgICBpZiAoIWluaXRlZCkgewotICAgICAgIGluaXQoKTsKLSAgICAgICBpbml0ZWQgPSBCb29sZWFuLlRSVUU7Ci0gICAgICAgfQotICAgICB9Ci0uLi4KLTwvcHJlPgotPHA+U2luY2UgdGhlcmUgbm9ybWFsbHkgZXhpc3Qgb25seSB0d28gQm9vbGVhbiBvYmplY3RzLCB0aGlzIGNvZGUgY291bGQgYmUgc3luY2hyb25pemluZyBvbiB0aGUgc2FtZSBvYmplY3QgYXMgb3RoZXIsIHVucmVsYXRlZCBjb2RlLCBsZWFkaW5nIHRvIHVucmVzcG9uc2l2ZW5lc3MKLWFuZCBwb3NzaWJsZSBkZWFkbG9jazwvcD4KLTxwPlNlZSBDRVJUIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNlY3VyZWNvZGluZy5jZXJ0Lm9yZy9jb25mbHVlbmNlL2Rpc3BsYXkvamF2YS9DT04wOC1KLitEbytub3Qrc3luY2hyb25pemUrb24rb2JqZWN0cyt0aGF0K21heStiZStyZXVzZWQiPkNPTjA4LUouIERvIG5vdCBzeW5jaHJvbml6ZSBvbiBvYmplY3RzIHRoYXQgbWF5IGJlIHJldXNlZDwvYT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExfU1lOQ0hST05JWkFUSU9OX09OX0JPWEVEX1BSSU1JVElWRSI+REw6IFN5bmNocm9uaXphdGlvbiBvbiBib3hlZCBwcmltaXRpdmUgKERMX1NZTkNIUk9OSVpBVElPTl9PTl9CT1hFRF9QUklNSVRJVkUpPC9hPjwvaDM+Ci0KLSAgICAgIAotICA8cD4gVGhlIGNvZGUgc3luY2hyb25pemVzIG9uIGEgYm94ZWQgcHJpbWl0aXZlIGNvbnN0YW50LCBzdWNoIGFzIGFuIEludGVnZXIuPC9wPgotPHByZT4KLXByaXZhdGUgc3RhdGljIEludGVnZXIgY291bnQgPSAwOwotLi4uCi0gIHN5bmNocm9uaXplZChjb3VudCkgewotICAgICBjb3VudCsrOwotICAgICB9Ci0uLi4KLTwvcHJlPgotPHA+U2luY2UgSW50ZWdlciBvYmplY3RzIGNhbiBiZSBjYWNoZWQgYW5kIHNoYXJlZCwKLXRoaXMgY29kZSBjb3VsZCBiZSBzeW5jaHJvbml6aW5nIG9uIHRoZSBzYW1lIG9iamVjdCBhcyBvdGhlciwgdW5yZWxhdGVkIGNvZGUsIGxlYWRpbmcgdG8gdW5yZXNwb25zaXZlbmVzcwotYW5kIHBvc3NpYmxlIGRlYWRsb2NrPC9wPgotPHA+U2VlIENFUlQgPGEgaHJlZj0iaHR0cHM6Ly93d3cuc2VjdXJlY29kaW5nLmNlcnQub3JnL2NvbmZsdWVuY2UvZGlzcGxheS9qYXZhL0NPTjA4LUouK0RvK25vdCtzeW5jaHJvbml6ZStvbitvYmplY3RzK3RoYXQrbWF5K2JlK3JldXNlZCI+Q09OMDgtSi4gRG8gbm90IHN5bmNocm9uaXplIG9uIG9iamVjdHMgdGhhdCBtYXkgYmUgcmV1c2VkPC9hPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETF9TWU5DSFJPTklaQVRJT05fT05fU0hBUkVEX0NPTlNUQU5UIj5ETDogU3luY2hyb25pemF0aW9uIG9uIGludGVybmVkIFN0cmluZyAgKERMX1NZTkNIUk9OSVpBVElPTl9PTl9TSEFSRURfQ09OU1RBTlQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIGNvZGUgc3luY2hyb25pemVzIG9uIGludGVybmVkIFN0cmluZy48L3A+Ci08cHJlPgotcHJpdmF0ZSBzdGF0aWMgU3RyaW5nIExPQ0sgPSAiTE9DSyI7Ci0uLi4KLSAgc3luY2hyb25pemVkKExPQ0spIHsgLi4ufQotLi4uCi08L3ByZT4KLTxwPkNvbnN0YW50IFN0cmluZ3MgYXJlIGludGVybmVkIGFuZCBzaGFyZWQgYWNyb3NzIGFsbCBvdGhlciBjbGFzc2VzIGxvYWRlZCBieSB0aGUgSlZNLiBUaHVzLCB0aGlzIGNvdWxkCi1pcyBsb2NraW5nIG9uIHNvbWV0aGluZyB0aGF0IG90aGVyIGNvZGUgbWlnaHQgYWxzbyBiZSBsb2NraW5nLiBUaGlzIGNvdWxkIHJlc3VsdCBpbiB2ZXJ5IHN0cmFuZ2UgYW5kIGhhcmQgdG8gZGlhZ25vc2UKLWJsb2NraW5nIGFuZCBkZWFkbG9jayBiZWhhdmlvci4gU2VlIDxhIGhyZWY9Imh0dHA6Ly93d3cuamF2YWxvYmJ5Lm9yZy9qYXZhL2ZvcnVtcy90OTYzNTIuaHRtbCI+aHR0cDovL3d3dy5qYXZhbG9iYnkub3JnL2phdmEvZm9ydW1zL3Q5NjM1Mi5odG1sPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL2ppcmEuY29kZWhhdXMub3JnL2Jyb3dzZS9KRVRUWS0zNTIiPmh0dHA6Ly9qaXJhLmNvZGVoYXVzLm9yZy9icm93c2UvSkVUVFktMzUyPC9hPi4KLTwvcD4KLTxwPlNlZSBDRVJUIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNlY3VyZWNvZGluZy5jZXJ0Lm9yZy9jb25mbHVlbmNlL2Rpc3BsYXkvamF2YS9DT04wOC1KLitEbytub3Qrc3luY2hyb25pemUrb24rb2JqZWN0cyt0aGF0K21heStiZStyZXVzZWQiPkNPTjA4LUouIERvIG5vdCBzeW5jaHJvbml6ZSBvbiBvYmplY3RzIHRoYXQgbWF5IGJlIHJldXNlZDwvYT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRExfU1lOQ0hST05JWkFUSU9OX09OX1VOU0hBUkVEX0JPWEVEX1BSSU1JVElWRSI+REw6IFN5bmNocm9uaXphdGlvbiBvbiBib3hlZCBwcmltaXRpdmUgdmFsdWVzIChETF9TWU5DSFJPTklaQVRJT05fT05fVU5TSEFSRURfQk9YRURfUFJJTUlUSVZFKTwvYT48L2gzPgotCi0gICAgICAKLSAgPHA+IFRoZSBjb2RlIHN5bmNocm9uaXplcyBvbiBhbiBhcHBhcmVudGx5IHVuc2hhcmVkIGJveGVkIHByaW1pdGl2ZSwKLXN1Y2ggYXMgYW4gSW50ZWdlci48L3A+Ci08cHJlPgotcHJpdmF0ZSBzdGF0aWMgZmluYWwgSW50ZWdlciBmaWxlTG9jayA9IG5ldyBJbnRlZ2VyKDEpOwotLi4uCi0gIHN5bmNocm9uaXplZChmaWxlTG9jaykgewotICAgICAuLiBkbyBzb21ldGhpbmcgLi4KLSAgICAgfQotLi4uCi08L3ByZT4KLTxwPkl0IHdvdWxkIGJlIG11Y2ggYmV0dGVyLCBpbiB0aGlzIGNvZGUsIHRvIHJlZGVjbGFyZSBmaWxlTG9jayBhczwvcD4KLTxwcmU+Ci1wcml2YXRlIHN0YXRpYyBmaW5hbCBPYmplY3QgZmlsZUxvY2sgPSBuZXcgT2JqZWN0KCk7Ci08L3ByZT4KLTxwPgotVGhlIGV4aXN0aW5nIGNvZGUgbWlnaHQgYmUgT0ssIGJ1dCBpdCBpcyBjb25mdXNpbmcgYW5kIGEKLWZ1dHVyZSByZWZhY3RvcmluZywgc3VjaCBhcyB0aGUgIlJlbW92ZSBCb3hpbmciIHJlZmFjdG9yaW5nIGluIEludGVsbGlKLAotbWlnaHQgcmVwbGFjZSB0aGlzIHdpdGggdGhlIHVzZSBvZiBhbiBpbnRlcm5lZCBJbnRlZ2VyIG9iamVjdCBzaGFyZWQKLXRocm91Z2hvdXQgdGhlIEpWTSwgbGVhZGluZyB0byB2ZXJ5IGNvbmZ1c2luZyBiZWhhdmlvciBhbmQgcG90ZW50aWFsIGRlYWRsb2NrLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fTU9OSVRPUl9XQUlUX09OX0NPTkRJVElPTiI+RG06IE1vbml0b3Igd2FpdCgpIGNhbGxlZCBvbiBDb25kaXRpb24gKERNX01PTklUT1JfV0FJVF9PTl9DT05ESVRJT04pPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIG1ldGhvZCBjYWxscyA8Y29kZT53YWl0KCk8L2NvZGU+IG9uIGEKLSAgICAgIDxjb2RlPmphdmEudXRpbC5jb25jdXJyZW50LmxvY2tzLkNvbmRpdGlvbjwvY29kZT4gb2JqZWN0LiZuYnNwOwotICAgICAgV2FpdGluZyBmb3IgYSA8Y29kZT5Db25kaXRpb248L2NvZGU+IHNob3VsZCBiZSBkb25lIHVzaW5nIG9uZSBvZiB0aGUgPGNvZGU+YXdhaXQoKTwvY29kZT4KLSAgICAgIG1ldGhvZHMgZGVmaW5lZCBieSB0aGUgPGNvZGU+Q29uZGl0aW9uPC9jb2RlPiBpbnRlcmZhY2UuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9IkRNX1VTRUxFU1NfVEhSRUFEIj5EbTogQSB0aHJlYWQgd2FzIGNyZWF0ZWQgdXNpbmcgdGhlIGRlZmF1bHQgZW1wdHkgcnVuIG1ldGhvZCAoRE1fVVNFTEVTU19USFJFQUQpPC9hPjwvaDM+Ci0KLQotICA8cD5UaGlzIG1ldGhvZCBjcmVhdGVzIGEgdGhyZWFkIHdpdGhvdXQgc3BlY2lmeWluZyBhIHJ1biBtZXRob2QgZWl0aGVyIGJ5IGRlcml2aW5nIGZyb20gdGhlIFRocmVhZCBjbGFzcywgb3IKLSAgYnkgcGFzc2luZyBhIFJ1bm5hYmxlIG9iamVjdC4gVGhpcyB0aHJlYWQsIHRoZW4sIGRvZXMgbm90aGluZyBidXQgd2FzdGUgdGltZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkVTeW5jX0VNUFRZX1NZTkMiPkVTeW5jOiBFbXB0eSBzeW5jaHJvbml6ZWQgYmxvY2sgKEVTeW5jX0VNUFRZX1NZTkMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIGNvZGUgY29udGFpbnMgYW4gZW1wdHkgc3luY2hyb25pemVkIGJsb2NrOjwvcD4KLTxwcmU+Ci1zeW5jaHJvbml6ZWQoKSB7fQotPC9wcmU+Ci08cD5FbXB0eSBzeW5jaHJvbml6ZWQgYmxvY2tzIGFyZSBmYXIgbW9yZSBzdWJ0bGUgYW5kIGhhcmQgdG8gdXNlIGNvcnJlY3RseQotdGhhbiBtb3N0IHBlb3BsZSByZWNvZ25pemUsIGFuZCBlbXB0eSBzeW5jaHJvbml6ZWQgYmxvY2tzCi1hcmUgYWxtb3N0IG5ldmVyIGEgYmV0dGVyIHNvbHV0aW9uCi10aGFuIGxlc3MgY29udHJpdmVkIHNvbHV0aW9ucy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklTMl9JTkNPTlNJU1RFTlRfU1lOQyI+SVM6IEluY29uc2lzdGVudCBzeW5jaHJvbml6YXRpb24gKElTMl9JTkNPTlNJU1RFTlRfU1lOQyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgZmllbGRzIG9mIHRoaXMgY2xhc3MgYXBwZWFyIHRvIGJlIGFjY2Vzc2VkIGluY29uc2lzdGVudGx5IHdpdGggcmVzcGVjdAotICB0byBzeW5jaHJvbml6YXRpb24uJm5ic3A7IFRoaXMgYnVnIHJlcG9ydCBpbmRpY2F0ZXMgdGhhdCB0aGUgYnVnIHBhdHRlcm4gZGV0ZWN0b3IKLSAganVkZ2VkIHRoYXQKLSAgPC9wPgotICA8dWw+Ci0gIDxsaT4gVGhlIGNsYXNzIGNvbnRhaW5zIGEgbWl4IG9mIGxvY2tlZCBhbmQgdW5sb2NrZWQgYWNjZXNzZXMsPC9saT4KLSAgPGxpPiBUaGUgY2xhc3MgaXMgPGI+bm90PC9iPiBhbm5vdGF0ZWQgYXMgamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lk5vdFRocmVhZFNhZmUsPC9saT4KLSAgPGxpPiBBdCBsZWFzdCBvbmUgbG9ja2VkIGFjY2VzcyB3YXMgcGVyZm9ybWVkIGJ5IG9uZSBvZiB0aGUgY2xhc3MncyBvd24gbWV0aG9kcywgYW5kPC9saT4KLSAgPGxpPiBUaGUgbnVtYmVyIG9mIHVuc3luY2hyb25pemVkIGZpZWxkIGFjY2Vzc2VzIChyZWFkcyBhbmQgd3JpdGVzKSB3YXMgbm8gbW9yZSB0aGFuCi0gICAgICAgb25lIHRoaXJkIG9mIGFsbCBhY2Nlc3Nlcywgd2l0aCB3cml0ZXMgYmVpbmcgd2VpZ2hlZCB0d2ljZSBhcyBoaWdoIGFzIHJlYWRzPC9saT4KLSAgPC91bD4KLQotICA8cD4gQSB0eXBpY2FsIGJ1ZyBtYXRjaGluZyB0aGlzIGJ1ZyBwYXR0ZXJuIGlzIGZvcmdldHRpbmcgdG8gc3luY2hyb25pemUKLSAgb25lIG9mIHRoZSBtZXRob2RzIGluIGEgY2xhc3MgdGhhdCBpcyBpbnRlbmRlZCB0byBiZSB0aHJlYWQtc2FmZS48L3A+Ci0KLSAgPHA+IFlvdSBjYW4gc2VsZWN0IHRoZSBub2RlcyBsYWJlbGVkICJVbnN5bmNocm9uaXplZCBhY2Nlc3MiIHRvIHNob3cgdGhlCi0gIGNvZGUgbG9jYXRpb25zIHdoZXJlIHRoZSBkZXRlY3RvciBiZWxpZXZlZCB0aGF0IGEgZmllbGQgd2FzIGFjY2Vzc2VkCi0gIHdpdGhvdXQgc3luY2hyb25pemF0aW9uLjwvcD4KLQotICA8cD4gTm90ZSB0aGF0IHRoZXJlIGFyZSB2YXJpb3VzIHNvdXJjZXMgb2YgaW5hY2N1cmFjeSBpbiB0aGlzIGRldGVjdG9yOwotICBmb3IgZXhhbXBsZSwgdGhlIGRldGVjdG9yIGNhbm5vdCBzdGF0aWNhbGx5IGRldGVjdCBhbGwgc2l0dWF0aW9ucyBpbiB3aGljaAotICBhIGxvY2sgaXMgaGVsZC4mbmJzcDsgQWxzbywgZXZlbiB3aGVuIHRoZSBkZXRlY3RvciBpcyBhY2N1cmF0ZSBpbgotICBkaXN0aW5ndWlzaGluZyBsb2NrZWQgdnMuIHVubG9ja2VkIGFjY2Vzc2VzLCB0aGUgY29kZSBpbiBxdWVzdGlvbiBtYXkgc3RpbGwKLSAgYmUgY29ycmVjdC48L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IklTX0ZJRUxEX05PVF9HVUFSREVEIj5JUzogRmllbGQgbm90IGd1YXJkZWQgYWdhaW5zdCBjb25jdXJyZW50IGFjY2VzcyAoSVNfRklFTERfTk9UX0dVQVJERUQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBmaWVsZCBpcyBhbm5vdGF0ZWQgd2l0aCBuZXQuamNpcC5hbm5vdGF0aW9ucy5HdWFyZGVkQnkgb3IgamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSwKLWJ1dCBjYW4gYmUgYWNjZXNzZWQgaW4gYSB3YXkgdGhhdCBzZWVtcyB0byB2aW9sYXRlIHRob3NlIGFubm90YXRpb25zLjwvcD4KLQotCi08aDM+PGEgbmFtZT0iSkxNX0pTUjE2Nl9MT0NLX01PTklUT1JFTlRFUiI+SkxNOiBTeW5jaHJvbml6YXRpb24gcGVyZm9ybWVkIG9uIExvY2sgKEpMTV9KU1IxNjZfTE9DS19NT05JVE9SRU5URVIpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIHBlcmZvcm1zIHN5bmNocm9uaXphdGlvbiBhbiBvYmplY3QgdGhhdCBpbXBsZW1lbnRzCi1qYXZhLnV0aWwuY29uY3VycmVudC5sb2Nrcy5Mb2NrLiBTdWNoIGFuIG9iamVjdCBpcyBsb2NrZWQvdW5sb2NrZWQKLXVzaW5nCi08Y29kZT5hY3F1aXJlKCk8L2NvZGU+Lzxjb2RlPnJlbGVhc2UoKTwvY29kZT4gcmF0aGVyCi10aGFuIHVzaW5nIHRoZSA8Y29kZT5zeW5jaHJvbml6ZWQgKC4uLik8L2NvZGU+IGNvbnN0cnVjdC4KLTwvcD4KLQotCi08aDM+PGEgbmFtZT0iSkxNX0pTUjE2Nl9VVElMQ09OQ1VSUkVOVF9NT05JVE9SRU5URVIiPkpMTTogU3luY2hyb25pemF0aW9uIHBlcmZvcm1lZCBvbiB1dGlsLmNvbmN1cnJlbnQgaW5zdGFuY2UgKEpMTV9KU1IxNjZfVVRJTENPTkNVUlJFTlRfTU9OSVRPUkVOVEVSKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBwZXJmb3JtcyBzeW5jaHJvbml6YXRpb24gYW4gb2JqZWN0IHRoYXQgaXMgYW4gaW5zdGFuY2Ugb2YKLWEgY2xhc3MgZnJvbSB0aGUgamF2YS51dGlsLmNvbmN1cnJlbnQgcGFja2FnZSAob3IgaXRzIHN1YmNsYXNzZXMpLiBJbnN0YW5jZXMKLW9mIHRoZXNlIGNsYXNzZXMgaGF2ZSB0aGVpciBvd24gY29uY3VycmVuY3kgY29udHJvbCBtZWNoYW5pc21zIHRoYXQgYXJlIG9ydGhvZ29uYWwgdG8KLXRoZSBzeW5jaHJvbml6YXRpb24gcHJvdmlkZWQgYnkgdGhlIEphdmEga2V5d29yZCA8Y29kZT5zeW5jaHJvbml6ZWQ8L2NvZGU+LiBGb3IgZXhhbXBsZSwKLXN5bmNocm9uaXppbmcgb24gYW4gPGNvZGU+QXRvbWljQm9vbGVhbjwvY29kZT4gd2lsbCBub3QgcHJldmVudCBvdGhlciB0aHJlYWRzCi1mcm9tIG1vZGlmeWluZyB0aGUgIDxjb2RlPkF0b21pY0Jvb2xlYW48L2NvZGU+LjwvcD4KLTxwPlN1Y2ggY29kZSBtYXkgYmUgY29ycmVjdCwgYnV0IHNob3VsZCBiZSBjYXJlZnVsbHkgcmV2aWV3ZWQgYW5kIGRvY3VtZW50ZWQsCi1hbmQgbWF5IGNvbmZ1c2UgcGVvcGxlIHdobyBoYXZlIHRvIG1haW50YWluIHRoZSBjb2RlIGF0IGEgbGF0ZXIgZGF0ZS4KLTwvcD4KLQotCi08aDM+PGEgbmFtZT0iSk1MX0pTUjE2Nl9DQUxMSU5HX1dBSVRfUkFUSEVSX1RIQU5fQVdBSVQiPkpMTTogVXNpbmcgbW9uaXRvciBzdHlsZSB3YWl0IG1ldGhvZHMgb24gdXRpbC5jb25jdXJyZW50IGFic3RyYWN0aW9uIChKTUxfSlNSMTY2X0NBTExJTkdfV0FJVF9SQVRIRVJfVEhBTl9BV0FJVCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY2FsbHMKLTxjb2RlPndhaXQoKTwvY29kZT4sCi08Y29kZT5ub3RpZnkoKTwvY29kZT4gb3IKLTxjb2RlPm5vdGlmeUFsbCgpKCk8L2NvZGU+Ci1vbiBhbiBvYmplY3QgdGhhdCBhbHNvIHByb3ZpZGVzIGFuCi08Y29kZT5hd2FpdCgpPC9jb2RlPiwKLTxjb2RlPnNpZ25hbCgpPC9jb2RlPiwKLTxjb2RlPnNpZ25hbEFsbCgpPC9jb2RlPiBtZXRob2QgKHN1Y2ggYXMgdXRpbC5jb25jdXJyZW50IENvbmRpdGlvbiBvYmplY3RzKS4KLVRoaXMgcHJvYmFibHkgaXNuJ3Qgd2hhdCB5b3Ugd2FudCwgYW5kIGV2ZW4gaWYgeW91IGRvIHdhbnQgaXQsIHlvdSBzaG91bGQgY29uc2lkZXIgY2hhbmdpbmcKLXlvdXIgZGVzaWduLCBhcyBvdGhlciBkZXZlbG9wZXJzIHdpbGwgZmluZCBpdCBleGNlcHRpb25hbGx5IGNvbmZ1c2luZy4KLTwvcD4KLQotCi08aDM+PGEgbmFtZT0iTElfTEFaWV9JTklUX1NUQVRJQyI+TEk6IEluY29ycmVjdCBsYXp5IGluaXRpYWxpemF0aW9uIG9mIHN0YXRpYyBmaWVsZCAoTElfTEFaWV9JTklUX1NUQVRJQyk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYW4gdW5zeW5jaHJvbml6ZWQgbGF6eSBpbml0aWFsaXphdGlvbiBvZiBhIG5vbi12b2xhdGlsZSBzdGF0aWMgZmllbGQuCi1CZWNhdXNlIHRoZSBjb21waWxlciBvciBwcm9jZXNzb3IgbWF5IHJlb3JkZXIgaW5zdHJ1Y3Rpb25zLAotdGhyZWFkcyBhcmUgbm90IGd1YXJhbnRlZWQgdG8gc2VlIGEgY29tcGxldGVseSBpbml0aWFsaXplZCBvYmplY3QsCi08ZW0+aWYgdGhlIG1ldGhvZCBjYW4gYmUgY2FsbGVkIGJ5IG11bHRpcGxlIHRocmVhZHM8L2VtPi4KLVlvdSBjYW4gbWFrZSB0aGUgZmllbGQgdm9sYXRpbGUgdG8gY29ycmVjdCB0aGUgcHJvYmxlbS4KLUZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlCi08YSBocmVmPSJodHRwOi8vd3d3LmNzLnVtZC5lZHUvfnB1Z2gvamF2YS9tZW1vcnlNb2RlbC8iPkphdmEgTWVtb3J5IE1vZGVsIHdlYiBzaXRlPC9hPi4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkxJX0xBWllfSU5JVF9VUERBVEVfU1RBVElDIj5MSTogSW5jb3JyZWN0IGxhenkgaW5pdGlhbGl6YXRpb24gYW5kIHVwZGF0ZSBvZiBzdGF0aWMgZmllbGQgKExJX0xBWllfSU5JVF9VUERBVEVfU1RBVElDKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhbiB1bnN5bmNocm9uaXplZCBsYXp5IGluaXRpYWxpemF0aW9uIG9mIGEgc3RhdGljIGZpZWxkLgotQWZ0ZXIgdGhlIGZpZWxkIGlzIHNldCwgdGhlIG9iamVjdCBzdG9yZWQgaW50byB0aGF0IGxvY2F0aW9uIGlzIGZ1cnRoZXIgdXBkYXRlZCBvciBhY2Nlc3NlZC4KLVRoZSBzZXR0aW5nIG9mIHRoZSBmaWVsZCBpcyB2aXNpYmxlIHRvIG90aGVyIHRocmVhZHMgYXMgc29vbiBhcyBpdCBpcyBzZXQuIElmIHRoZQotZnV0aGVyIGFjY2Vzc2VzIGluIHRoZSBtZXRob2QgdGhhdCBzZXQgdGhlIGZpZWxkIHNlcnZlIHRvIGluaXRpYWxpemUgdGhlIG9iamVjdCwgdGhlbgoteW91IGhhdmUgYSA8ZW0+dmVyeSBzZXJpb3VzPC9lbT4gbXVsdGl0aHJlYWRpbmcgYnVnLCB1bmxlc3Mgc29tZXRoaW5nIGVsc2UgcHJldmVudHMKLWFueSBvdGhlciB0aHJlYWQgZnJvbSBhY2Nlc3NpbmcgdGhlIHN0b3JlZCBvYmplY3QgdW50aWwgaXQgaXMgZnVsbHkgaW5pdGlhbGl6ZWQuCi08L3A+Ci08cD5FdmVuIGlmIHlvdSBmZWVsIGNvbmZpZGVudCB0aGF0IHRoZSBtZXRob2QgaXMgbmV2ZXIgY2FsbGVkIGJ5IG11bHRpcGxlCi10aHJlYWRzLCBpdCBtaWdodCBiZSBiZXR0ZXIgdG8gbm90IHNldCB0aGUgc3RhdGljIGZpZWxkIHVudGlsIHRoZSB2YWx1ZQoteW91IGFyZSBzZXR0aW5nIGl0IHRvIGlzIGZ1bGx5IHBvcHVsYXRlZC9pbml0aWFsaXplZC4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik1MX1NZTkNfT05fRklFTERfVE9fR1VBUkRfQ0hBTkdJTkdfVEhBVF9GSUVMRCI+TUw6IFN5bmNocm9uaXphdGlvbiBvbiBmaWVsZCBpbiBmdXRpbGUgYXR0ZW1wdCB0byBndWFyZCB0aGF0IGZpZWxkIChNTF9TWU5DX09OX0ZJRUxEX1RPX0dVQVJEX0NIQU5HSU5HX1RIQVRfRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2Qgc3luY2hyb25pemVzIG9uIGEgZmllbGQgaW4gd2hhdCBhcHBlYXJzIHRvIGJlIGFuIGF0dGVtcHQKLXRvIGd1YXJkIGFnYWluc3Qgc2ltdWx0YW5lb3VzIHVwZGF0ZXMgdG8gdGhhdCBmaWVsZC4gQnV0IGd1YXJkaW5nIGEgZmllbGQKLWdldHMgYSBsb2NrIG9uIHRoZSByZWZlcmVuY2VkIG9iamVjdCwgbm90IG9uIHRoZSBmaWVsZC4gVGhpcyBtYXkgbm90Ci1wcm92aWRlIHRoZSBtdXR1YWwgZXhjbHVzaW9uIHlvdSBuZWVkLCBhbmQgb3RoZXIgdGhyZWFkcyBtaWdodAotYmUgb2J0YWluaW5nIGxvY2tzIG9uIHRoZSByZWZlcmVuY2VkIG9iamVjdHMgKGZvciBvdGhlciBwdXJwb3NlcykuIEFuIGV4YW1wbGUKLW9mIHRoaXMgcGF0dGVybiB3b3VsZCBiZTo8L3A+Ci08cHJlPgotcHJpdmF0ZSBMb25nIG15TnRmU2VxTmJyQ291bnRlciA9IG5ldyBMb25nKDApOwotcHJpdmF0ZSBMb25nIGdldE5vdGlmaWNhdGlvblNlcXVlbmNlTnVtYmVyKCkgewotICAgICBMb25nIHJlc3VsdCA9IG51bGw7Ci0gICAgIHN5bmNocm9uaXplZChteU50ZlNlcU5ickNvdW50ZXIpIHsKLSAgICAgICAgIHJlc3VsdCA9IG5ldyBMb25nKG15TnRmU2VxTmJyQ291bnRlci5sb25nVmFsdWUoKSArIDEpOwotICAgICAgICAgbXlOdGZTZXFOYnJDb3VudGVyID0gbmV3IExvbmcocmVzdWx0LmxvbmdWYWx1ZSgpKTsKLSAgICAgfQotICAgICByZXR1cm4gcmVzdWx0OwotIH0KLTwvcHJlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTUxfU1lOQ19PTl9VUERBVEVEX0ZJRUxEIj5NTDogTWV0aG9kIHN5bmNocm9uaXplcyBvbiBhbiB1cGRhdGVkIGZpZWxkIChNTF9TWU5DX09OX1VQREFURURfRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2Qgc3luY2hyb25pemVzIG9uIGFuIG9iamVjdAotICAgcmVmZXJlbmNlZCBmcm9tIGEgbXV0YWJsZSBmaWVsZC4KLSAgIFRoaXMgaXMgdW5saWtlbHkgdG8gaGF2ZSB1c2VmdWwgc2VtYW50aWNzLCBzaW5jZSBkaWZmZXJlbnQKLXRocmVhZHMgbWF5IGJlIHN5bmNocm9uaXppbmcgb24gZGlmZmVyZW50IG9iamVjdHMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVNGX01VVEFCTEVfU0VSVkxFVF9GSUVMRCI+TVNGOiBNdXRhYmxlIHNlcnZsZXQgZmllbGQgKE1TRl9NVVRBQkxFX1NFUlZMRVRfRklFTEQpPC9hPjwvaDM+Ci0KLQotPHA+QSB3ZWIgc2VydmVyIGdlbmVyYWxseSBvbmx5IGNyZWF0ZXMgb25lIGluc3RhbmNlIG9mIHNlcnZsZXQgb3IganNwIGNsYXNzIChpLmUuLCB0cmVhdHMKLXRoZSBjbGFzcyBhcyBhIFNpbmdsZXRvbiksCi1hbmQgd2lsbAotaGF2ZSBtdWx0aXBsZSB0aHJlYWRzIGludm9rZSBtZXRob2RzIG9uIHRoYXQgaW5zdGFuY2UgdG8gc2VydmljZSBtdWx0aXBsZQotc2ltdWx0YW5lb3VzIHJlcXVlc3RzLgotVGh1cywgaGF2aW5nIGEgbXV0YWJsZSBpbnN0YW5jZSBmaWVsZCBnZW5lcmFsbHkgY3JlYXRlcyByYWNlIGNvbmRpdGlvbnMuCi0KLSAgICAKLTxoMz48YSBuYW1lPSJNV05fTUlTTUFUQ0hFRF9OT1RJRlkiPk1XTjogTWlzbWF0Y2hlZCBub3RpZnkoKSAoTVdOX01JU01BVENIRURfTk9USUZZKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjYWxscyBPYmplY3Qubm90aWZ5KCkgb3IgT2JqZWN0Lm5vdGlmeUFsbCgpIHdpdGhvdXQgb2J2aW91c2x5IGhvbGRpbmcgYSBsb2NrCi1vbiB0aGUgb2JqZWN0LiZuYnNwOyAgQ2FsbGluZyBub3RpZnkoKSBvciBub3RpZnlBbGwoKSB3aXRob3V0IGEgbG9jayBoZWxkIHdpbGwgcmVzdWx0IGluCi1hbiA8Y29kZT5JbGxlZ2FsTW9uaXRvclN0YXRlRXhjZXB0aW9uPC9jb2RlPiBiZWluZyB0aHJvd24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVdOX01JU01BVENIRURfV0FJVCI+TVdOOiBNaXNtYXRjaGVkIHdhaXQoKSAoTVdOX01JU01BVENIRURfV0FJVCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY2FsbHMgT2JqZWN0LndhaXQoKSB3aXRob3V0IG9idmlvdXNseSBob2xkaW5nIGEgbG9jawotb24gdGhlIG9iamVjdC4mbmJzcDsgIENhbGxpbmcgd2FpdCgpIHdpdGhvdXQgYSBsb2NrIGhlbGQgd2lsbCByZXN1bHQgaW4KLWFuIDxjb2RlPklsbGVnYWxNb25pdG9yU3RhdGVFeGNlcHRpb248L2NvZGU+IGJlaW5nIHRocm93bi48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOTl9OQUtFRF9OT1RJRlkiPk5OOiBOYWtlZCBub3RpZnkgKE5OX05BS0VEX05PVElGWSk8L2E+PC9oMz4KLQotCi0gIDxwPiBBIGNhbGwgdG8gPGNvZGU+bm90aWZ5KCk8L2NvZGU+IG9yIDxjb2RlPm5vdGlmeUFsbCgpPC9jb2RlPgotICB3YXMgbWFkZSB3aXRob3V0IGFueSAoYXBwYXJlbnQpIGFjY29tcGFueWluZwotICBtb2RpZmljYXRpb24gdG8gbXV0YWJsZSBvYmplY3Qgc3RhdGUuJm5ic3A7IEluIGdlbmVyYWwsIGNhbGxpbmcgYSBub3RpZnkKLSAgbWV0aG9kIG9uIGEgbW9uaXRvciBpcyBkb25lIGJlY2F1c2Ugc29tZSBjb25kaXRpb24gYW5vdGhlciB0aHJlYWQgaXMKLSAgd2FpdGluZyBmb3IgaGFzIGJlY29tZSB0cnVlLiZuYnNwOyBIb3dldmVyLCBmb3IgdGhlIGNvbmRpdGlvbiB0byBiZSBtZWFuaW5nZnVsLAotICBpdCBtdXN0IGludm9sdmUgYSBoZWFwIG9iamVjdCB0aGF0IGlzIHZpc2libGUgdG8gYm90aCB0aHJlYWRzLjwvcD4KLQotICA8cD4gVGhpcyBidWcgZG9lcyBub3QgbmVjZXNzYXJpbHkgaW5kaWNhdGUgYW4gZXJyb3IsIHNpbmNlIHRoZSBjaGFuZ2UgdG8KLSAgbXV0YWJsZSBvYmplY3Qgc3RhdGUgbWF5IGhhdmUgdGFrZW4gcGxhY2UgaW4gYSBtZXRob2Qgd2hpY2ggdGhlbiBjYWxsZWQKLSAgdGhlIG1ldGhvZCBjb250YWluaW5nIHRoZSBub3RpZmljYXRpb24uPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfU1lOQ19BTkRfTlVMTF9DSEVDS19GSUVMRCI+TlA6IFN5bmNocm9uaXplIGFuZCBudWxsIGNoZWNrIG9uIHRoZSBzYW1lIGZpZWxkLiAoTlBfU1lOQ19BTkRfTlVMTF9DSEVDS19GSUVMRCk8L2E+PC9oMz4KLQotCi08cD5TaW5jZSB0aGUgZmllbGQgaXMgc3luY2hyb25pemVkIG9uLCBpdCBzZWVtcyBub3QgbGlrZWx5IHRvIGJlIG51bGwuCi1JZiBpdCBpcyBudWxsIGFuZCB0aGVuIHN5bmNocm9uaXplZCBvbiBhIE51bGxQb2ludGVyRXhjZXB0aW9uIHdpbGwgYmUKLXRocm93biBhbmQgdGhlIGNoZWNrIHdvdWxkIGJlIHBvaW50bGVzcy4gQmV0dGVyIHRvIHN5bmNocm9uaXplIG9uCi1hbm90aGVyIGZpZWxkLjwvcD4KLQotCi0gICAgIAotPGgzPjxhIG5hbWU9Ik5PX05PVElGWV9OT1RfTk9USUZZQUxMIj5ObzogVXNpbmcgbm90aWZ5KCkgcmF0aGVyIHRoYW4gbm90aWZ5QWxsKCkgKE5PX05PVElGWV9OT1RfTk9USUZZQUxMKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIGNhbGxzIDxjb2RlPm5vdGlmeSgpPC9jb2RlPiByYXRoZXIgdGhhbiA8Y29kZT5ub3RpZnlBbGwoKTwvY29kZT4uJm5ic3A7Ci0gIEphdmEgbW9uaXRvcnMgYXJlIG9mdGVuIHVzZWQgZm9yIG11bHRpcGxlIGNvbmRpdGlvbnMuJm5ic3A7IENhbGxpbmcgPGNvZGU+bm90aWZ5KCk8L2NvZGU+Ci0gIG9ubHkgd2FrZXMgdXAgb25lIHRocmVhZCwgbWVhbmluZyB0aGF0IHRoZSB0aHJlYWQgd29rZW4gdXAgbWlnaHQgbm90IGJlIHRoZQotICBvbmUgd2FpdGluZyBmb3IgdGhlIGNvbmRpdGlvbiB0aGF0IHRoZSBjYWxsZXIganVzdCBzYXRpc2ZpZWQuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlNfUkVBRE9CSkVDVF9TWU5DIj5SUzogQ2xhc3MncyByZWFkT2JqZWN0KCkgbWV0aG9kIGlzIHN5bmNocm9uaXplZCAoUlNfUkVBRE9CSkVDVF9TWU5DKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgc2VyaWFsaXphYmxlIGNsYXNzIGRlZmluZXMgYSA8Y29kZT5yZWFkT2JqZWN0KCk8L2NvZGU+IHdoaWNoIGlzCi0gIHN5bmNocm9uaXplZC4mbmJzcDsgQnkgZGVmaW5pdGlvbiwgYW4gb2JqZWN0IGNyZWF0ZWQgYnkgZGVzZXJpYWxpemF0aW9uCi0gIGlzIG9ubHkgcmVhY2hhYmxlIGJ5IG9uZSB0aHJlYWQsIGFuZCB0aHVzIHRoZXJlIGlzIG5vIG5lZWQgZm9yCi0gIDxjb2RlPnJlYWRPYmplY3QoKTwvY29kZT4gdG8gYmUgc3luY2hyb25pemVkLiZuYnNwOyBJZiB0aGUgPGNvZGU+cmVhZE9iamVjdCgpPC9jb2RlPgotICBtZXRob2QgaXRzZWxmIGlzIGNhdXNpbmcgdGhlIG9iamVjdCB0byBiZWNvbWUgdmlzaWJsZSB0byBhbm90aGVyIHRocmVhZCwKLSAgdGhhdCBpcyBhbiBleGFtcGxlIG9mIHZlcnkgZHViaW91cyBjb2Rpbmcgc3R5bGUuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlZfUkVUVVJOX1ZBTFVFX09GX1BVVElGQUJTRU5UX0lHTk9SRUQiPlJWOiBSZXR1cm4gdmFsdWUgb2YgcHV0SWZBYnNlbnQgaWdub3JlZCwgdmFsdWUgcGFzc2VkIHRvIHB1dElmQWJzZW50IHJldXNlZCAoUlZfUkVUVVJOX1ZBTFVFX09GX1BVVElGQUJTRU5UX0lHTk9SRUQpPC9hPjwvaDM+Ci0KLSAgICAgICAgICAKLSAgICAgICAgVGhlIDxjb2RlPnB1dElmQWJzZW50PC9jb2RlPiBtZXRob2QgaXMgdHlwaWNhbGx5IHVzZWQgdG8gZW5zdXJlIHRoYXQgYQotICAgICAgICBzaW5nbGUgdmFsdWUgaXMgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4ga2V5ICh0aGUgZmlyc3QgdmFsdWUgZm9yIHdoaWNoIHB1dAotICAgICAgICBpZiBhYnNlbnQgc3VjY2VlZHMpLgotICAgICAgICBJZiB5b3UgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgYW5kIHJldGFpbiBhIHJlZmVyZW5jZSB0byB0aGUgdmFsdWUgcGFzc2VkIGluLAotICAgICAgICB5b3UgcnVuIHRoZSByaXNrIG9mIHJldGFpbmluZyBhIHZhbHVlIHRoYXQgaXMgbm90IHRoZSBvbmUgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGtleSBpbiB0aGUgbWFwLgotICAgICAgICBJZiBpdCBtYXR0ZXJzIHdoaWNoIG9uZSB5b3UgdXNlIGFuZCB5b3UgdXNlIHRoZSBvbmUgdGhhdCBpc24ndCBzdG9yZWQgaW4gdGhlIG1hcCwKLSAgICAgICAgeW91ciBwcm9ncmFtIHdpbGwgYmVoYXZlIGluY29ycmVjdGx5LgotICAgICAgICAgIAotICAgICAgCi08aDM+PGEgbmFtZT0iUlVfSU5WT0tFX1JVTiI+UnU6IEludm9rZXMgcnVuIG9uIGEgdGhyZWFkIChkaWQgeW91IG1lYW4gdG8gc3RhcnQgaXQgaW5zdGVhZD8pIChSVV9JTlZPS0VfUlVOKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIGV4cGxpY2l0bHkgaW52b2tlcyA8Y29kZT5ydW4oKTwvY29kZT4gb24gYW4gb2JqZWN0LiZuYnNwOwotICBJbiBnZW5lcmFsLCBjbGFzc2VzIGltcGxlbWVudCB0aGUgPGNvZGU+UnVubmFibGU8L2NvZGU+IGludGVyZmFjZSBiZWNhdXNlCi0gIHRoZXkgYXJlIGdvaW5nIHRvIGhhdmUgdGhlaXIgPGNvZGU+cnVuKCk8L2NvZGU+IG1ldGhvZCBpbnZva2VkIGluIGEgbmV3IHRocmVhZCwKLSAgaW4gd2hpY2ggY2FzZSA8Y29kZT5UaHJlYWQuc3RhcnQoKTwvY29kZT4gaXMgdGhlIHJpZ2h0IG1ldGhvZCB0byBjYWxsLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNDX1NUQVJUX0lOX0NUT1IiPlNDOiBDb25zdHJ1Y3RvciBpbnZva2VzIFRocmVhZC5zdGFydCgpIChTQ19TVEFSVF9JTl9DVE9SKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBjb25zdHJ1Y3RvciBzdGFydHMgYSB0aHJlYWQuIFRoaXMgaXMgbGlrZWx5IHRvIGJlIHdyb25nIGlmCi0gICB0aGUgY2xhc3MgaXMgZXZlciBleHRlbmRlZC9zdWJjbGFzc2VkLCBzaW5jZSB0aGUgdGhyZWFkIHdpbGwgYmUgc3RhcnRlZAotICAgYmVmb3JlIHRoZSBzdWJjbGFzcyBjb25zdHJ1Y3RvciBpcyBzdGFydGVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNQX1NQSU5fT05fRklFTEQiPlNQOiBNZXRob2Qgc3BpbnMgb24gZmllbGQgKFNQX1NQSU5fT05fRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2Qgc3BpbnMgaW4gYSBsb29wIHdoaWNoIHJlYWRzIGEgZmllbGQuJm5ic3A7IFRoZSBjb21waWxlcgotICBtYXkgbGVnYWxseSBob2lzdCB0aGUgcmVhZCBvdXQgb2YgdGhlIGxvb3AsIHR1cm5pbmcgdGhlIGNvZGUgaW50byBhbgotICBpbmZpbml0ZSBsb29wLiZuYnNwOyBUaGUgY2xhc3Mgc2hvdWxkIGJlIGNoYW5nZWQgc28gaXQgdXNlcyBwcm9wZXIKLSAgc3luY2hyb25pemF0aW9uIChpbmNsdWRpbmcgd2FpdCBhbmQgbm90aWZ5IGNhbGxzKS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTVENBTF9JTlZPS0VfT05fU1RBVElDX0NBTEVOREFSX0lOU1RBTkNFIj5TVENBTDogQ2FsbCB0byBzdGF0aWMgQ2FsZW5kYXIgKFNUQ0FMX0lOVk9LRV9PTl9TVEFUSUNfQ0FMRU5EQVJfSU5TVEFOQ0UpPC9hPjwvaDM+Ci0KLQotPHA+RXZlbiB0aG91Z2ggdGhlIEphdmFEb2MgZG9lcyBub3QgY29udGFpbiBhIGhpbnQgYWJvdXQgaXQsIENhbGVuZGFycyBhcmUgaW5oZXJlbnRseSB1bnNhZmUgZm9yIG11bHRpaHRyZWFkZWQgdXNlLgotVGhlIGRldGVjdG9yIGhhcyBmb3VuZCBhIGNhbGwgdG8gYW4gaW5zdGFuY2Ugb2YgQ2FsZW5kYXIgdGhhdCBoYXMgYmVlbiBvYnRhaW5lZCB2aWEgYSBzdGF0aWMKLWZpZWxkLiBUaGlzIGxvb2tzIHN1c3BpY291cy48L3A+Ci08cD5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIHNlZSA8YSBocmVmPSJodHRwOi8vYnVncy5zdW4uY29tL2J1Z2RhdGFiYXNlL3ZpZXdfYnVnLmRvP2J1Z19pZD02MjMxNTc5Ij5TdW4gQnVnICM2MjMxNTc5PC9hPgotYW5kIDxhIGhyZWY9Imh0dHA6Ly9idWdzLnN1bi5jb20vYnVnZGF0YWJhc2Uvdmlld19idWcuZG8/YnVnX2lkPTYxNzg5OTciPlN1biBCdWcgIzYxNzg5OTc8L2E+LjwvcD4KLQotCi08aDM+PGEgbmFtZT0iU1RDQUxfSU5WT0tFX09OX1NUQVRJQ19EQVRFX0ZPUk1BVF9JTlNUQU5DRSI+U1RDQUw6IENhbGwgdG8gc3RhdGljIERhdGVGb3JtYXQgKFNUQ0FMX0lOVk9LRV9PTl9TVEFUSUNfREFURV9GT1JNQVRfSU5TVEFOQ0UpPC9hPjwvaDM+Ci0KLQotPHA+QXMgdGhlIEphdmFEb2Mgc3RhdGVzLCBEYXRlRm9ybWF0cyBhcmUgaW5oZXJlbnRseSB1bnNhZmUgZm9yIG11bHRpdGhyZWFkZWQgdXNlLgotVGhlIGRldGVjdG9yIGhhcyBmb3VuZCBhIGNhbGwgdG8gYW4gaW5zdGFuY2Ugb2YgRGF0ZUZvcm1hdCB0aGF0IGhhcyBiZWVuIG9idGFpbmVkIHZpYSBhIHN0YXRpYwotZmllbGQuIFRoaXMgbG9va3Mgc3VzcGljb3VzLjwvcD4KLTxwPkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgc2VlIDxhIGhyZWY9Imh0dHA6Ly9idWdzLnN1bi5jb20vYnVnZGF0YWJhc2Uvdmlld19idWcuZG8/YnVnX2lkPTYyMzE1NzkiPlN1biBCdWcgIzYyMzE1Nzk8L2E+Ci1hbmQgPGEgaHJlZj0iaHR0cDovL2J1Z3Muc3VuLmNvbS9idWdkYXRhYmFzZS92aWV3X2J1Zy5kbz9idWdfaWQ9NjE3ODk5NyI+U3VuIEJ1ZyAjNjE3ODk5NzwvYT4uPC9wPgotCi0KLTxoMz48YSBuYW1lPSJTVENBTF9TVEFUSUNfQ0FMRU5EQVJfSU5TVEFOQ0UiPlNUQ0FMOiBTdGF0aWMgQ2FsZW5kYXIgZmllbGQgKFNUQ0FMX1NUQVRJQ19DQUxFTkRBUl9JTlNUQU5DRSk8L2E+PC9oMz4KLQotCi08cD5FdmVuIHRob3VnaCB0aGUgSmF2YURvYyBkb2VzIG5vdCBjb250YWluIGEgaGludCBhYm91dCBpdCwgQ2FsZW5kYXJzIGFyZSBpbmhlcmVudGx5IHVuc2FmZSBmb3IgbXVsdGlodHJlYWRlZCB1c2UuCi1TaGFyaW5nIGEgc2luZ2xlIGluc3RhbmNlIGFjcm9zcyB0aHJlYWQgYm91bmRhcmllcyB3aXRob3V0IHByb3BlciBzeW5jaHJvbml6YXRpb24gd2lsbCByZXN1bHQgaW4gZXJyYXRpYyBiZWhhdmlvciBvZiB0aGUKLWFwcGxpY2F0aW9uLiBVbmRlciAxLjQgcHJvYmxlbXMgc2VlbSB0byBzdXJmYWNlIGxlc3Mgb2Z0ZW4gdGhhbiB1bmRlciBKYXZhIDUgd2hlcmUgeW91IHdpbGwgcHJvYmFibHkgc2VlCi1yYW5kb20gQXJyYXlJbmRleE91dE9mQm91bmRzRXhjZXB0aW9ucyBvciBJbmRleE91dE9mQm91bmRzRXhjZXB0aW9ucyBpbiBzdW4udXRpbC5jYWxlbmRhci5CYXNlQ2FsZW5kYXIuZ2V0Q2FsZW5kYXJEYXRlRnJvbUZpeGVkRGF0ZSgpLjwvcD4KLTxwPllvdSBtYXkgYWxzbyBleHBlcmllbmNlIHNlcmlhbGl6YXRpb24gcHJvYmxlbXMuPC9wPgotPHA+VXNpbmcgYW4gaW5zdGFuY2UgZmllbGQgaXMgcmVjb21tZW5kZWQuPC9wPgotPHA+Rm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBzZWUgPGEgaHJlZj0iaHR0cDovL2J1Z3Muc3VuLmNvbS9idWdkYXRhYmFzZS92aWV3X2J1Zy5kbz9idWdfaWQ9NjIzMTU3OSI+U3VuIEJ1ZyAjNjIzMTU3OTwvYT4KLWFuZCA8YSBocmVmPSJodHRwOi8vYnVncy5zdW4uY29tL2J1Z2RhdGFiYXNlL3ZpZXdfYnVnLmRvP2J1Z19pZD02MTc4OTk3Ij5TdW4gQnVnICM2MTc4OTk3PC9hPi48L3A+Ci0KLQotPGgzPjxhIG5hbWU9IlNUQ0FMX1NUQVRJQ19TSU1QTEVfREFURV9GT1JNQVRfSU5TVEFOQ0UiPlNUQ0FMOiBTdGF0aWMgRGF0ZUZvcm1hdCAoU1RDQUxfU1RBVElDX1NJTVBMRV9EQVRFX0ZPUk1BVF9JTlNUQU5DRSk8L2E+PC9oMz4KLQotCi08cD5BcyB0aGUgSmF2YURvYyBzdGF0ZXMsIERhdGVGb3JtYXRzIGFyZSBpbmhlcmVudGx5IHVuc2FmZSBmb3IgbXVsdGl0aHJlYWRlZCB1c2UuCi1TaGFyaW5nIGEgc2luZ2xlIGluc3RhbmNlIGFjcm9zcyB0aHJlYWQgYm91bmRhcmllcyB3aXRob3V0IHByb3BlciBzeW5jaHJvbml6YXRpb24gd2lsbCByZXN1bHQgaW4gZXJyYXRpYyBiZWhhdmlvciBvZiB0aGUKLWFwcGxpY2F0aW9uLjwvcD4KLTxwPllvdSBtYXkgYWxzbyBleHBlcmllbmNlIHNlcmlhbGl6YXRpb24gcHJvYmxlbXMuPC9wPgotPHA+VXNpbmcgYW4gaW5zdGFuY2UgZmllbGQgaXMgcmVjb21tZW5kZWQuPC9wPgotPHA+Rm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBzZWUgPGEgaHJlZj0iaHR0cDovL2J1Z3Muc3VuLmNvbS9idWdkYXRhYmFzZS92aWV3X2J1Zy5kbz9idWdfaWQ9NjIzMTU3OSI+U3VuIEJ1ZyAjNjIzMTU3OTwvYT4KLWFuZCA8YSBocmVmPSJodHRwOi8vYnVncy5zdW4uY29tL2J1Z2RhdGFiYXNlL3ZpZXdfYnVnLmRvP2J1Z19pZD02MTc4OTk3Ij5TdW4gQnVnICM2MTc4OTk3PC9hPi48L3A+Ci0KLQotPGgzPjxhIG5hbWU9IlNXTF9TTEVFUF9XSVRIX0xPQ0tfSEVMRCI+U1dMOiBNZXRob2QgY2FsbHMgVGhyZWFkLnNsZWVwKCkgd2l0aCBhIGxvY2sgaGVsZCAoU1dMX1NMRUVQX1dJVEhfTE9DS19IRUxEKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBtZXRob2QgY2FsbHMgVGhyZWFkLnNsZWVwKCkgd2l0aCBhIGxvY2sgaGVsZC4gIFRoaXMgbWF5IHJlc3VsdAotICAgICAgaW4gdmVyeSBwb29yIHBlcmZvcm1hbmNlIGFuZCBzY2FsYWJpbGl0eSwgb3IgYSBkZWFkbG9jaywgc2luY2Ugb3RoZXIgdGhyZWFkcyBtYXkKLSAgICAgIGJlIHdhaXRpbmcgdG8gYWNxdWlyZSB0aGUgbG9jay4gIEl0IGlzIGEgbXVjaCBiZXR0ZXIgaWRlYSB0byBjYWxsCi0gICAgICB3YWl0KCkgb24gdGhlIGxvY2ssIHdoaWNoIHJlbGVhc2VzIHRoZSBsb2NrIGFuZCBhbGxvd3Mgb3RoZXIgdGhyZWFkcwotICAgICAgdG8gcnVuLgotICAgICAgPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJUTFdfVFdPX0xPQ0tfV0FJVCI+VExXOiBXYWl0IHdpdGggdHdvIGxvY2tzIGhlbGQgKFRMV19UV09fTE9DS19XQUlUKTwvYT48L2gzPgotCi0KLSAgPHA+IFdhaXRpbmcgb24gYSBtb25pdG9yIHdoaWxlIHR3byBsb2NrcyBhcmUgaGVsZCBtYXkgY2F1c2UKLSAgZGVhZGxvY2suCi0gICAmbmJzcDsKLSAgIFBlcmZvcm1pbmcgYSB3YWl0IG9ubHkgcmVsZWFzZXMgdGhlIGxvY2sgb24gdGhlIG9iamVjdAotICAgYmVpbmcgd2FpdGVkIG9uLCBub3QgYW55IG90aGVyIGxvY2tzLgotICAgJm5ic3A7Ci1UaGlzIG5vdCBuZWNlc3NhcmlseSBhIGJ1ZywgYnV0IGlzIHdvcnRoIGV4YW1pbmluZwotICBjbG9zZWx5LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlVHX1NZTkNfU0VUX1VOU1lOQ19HRVQiPlVHOiBVbnN5bmNocm9uaXplZCBnZXQgbWV0aG9kLCBzeW5jaHJvbml6ZWQgc2V0IG1ldGhvZCAoVUdfU1lOQ19TRVRfVU5TWU5DX0dFVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGNvbnRhaW5zIHNpbWlsYXJseS1uYW1lZCBnZXQgYW5kIHNldAotICBtZXRob2RzIHdoZXJlIHRoZSBzZXQgbWV0aG9kIGlzIHN5bmNocm9uaXplZCBhbmQgdGhlIGdldCBtZXRob2QgaXMgbm90LiZuYnNwOwotICBUaGlzIG1heSByZXN1bHQgaW4gaW5jb3JyZWN0IGJlaGF2aW9yIGF0IHJ1bnRpbWUsIGFzIGNhbGxlcnMgb2YgdGhlIGdldAotICBtZXRob2Qgd2lsbCBub3QgbmVjZXNzYXJpbHkgc2VlIGEgY29uc2lzdGVudCBzdGF0ZSBmb3IgdGhlIG9iamVjdC4mbmJzcDsKLSAgVGhlIGdldCBtZXRob2Qgc2hvdWxkIGJlIG1hZGUgc3luY2hyb25pemVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlVMX1VOUkVMRUFTRURfTE9DSyI+VUw6IE1ldGhvZCBkb2VzIG5vdCByZWxlYXNlIGxvY2sgb24gYWxsIHBhdGhzIChVTF9VTlJFTEVBU0VEX0xPQ0spPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGFjcXVpcmVzIGEgSlNSLTE2NiAoPGNvZGU+amF2YS51dGlsLmNvbmN1cnJlbnQ8L2NvZGU+KSBsb2NrLAotYnV0IGRvZXMgbm90IHJlbGVhc2UgaXQgb24gYWxsIHBhdGhzIG91dCBvZiB0aGUgbWV0aG9kLiAgSW4gZ2VuZXJhbCwgdGhlIGNvcnJlY3QgaWRpb20KLWZvciB1c2luZyBhIEpTUi0xNjYgbG9jayBpczoKLTwvcD4KLTxwcmU+Ci0gICAgTG9jayBsID0gLi4uOwotICAgIGwubG9jaygpOwotICAgIHRyeSB7Ci0gICAgICAgIC8vIGRvIHNvbWV0aGluZwotICAgIH0gZmluYWxseSB7Ci0gICAgICAgIGwudW5sb2NrKCk7Ci0gICAgfQotPC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVTF9VTlJFTEVBU0VEX0xPQ0tfRVhDRVBUSU9OX1BBVEgiPlVMOiBNZXRob2QgZG9lcyBub3QgcmVsZWFzZSBsb2NrIG9uIGFsbCBleGNlcHRpb24gcGF0aHMgKFVMX1VOUkVMRUFTRURfTE9DS19FWENFUFRJT05fUEFUSCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgYWNxdWlyZXMgYSBKU1ItMTY2ICg8Y29kZT5qYXZhLnV0aWwuY29uY3VycmVudDwvY29kZT4pIGxvY2ssCi1idXQgZG9lcyBub3QgcmVsZWFzZSBpdCBvbiBhbGwgZXhjZXB0aW9uIHBhdGhzIG91dCBvZiB0aGUgbWV0aG9kLiAgSW4gZ2VuZXJhbCwgdGhlIGNvcnJlY3QgaWRpb20KLWZvciB1c2luZyBhIEpTUi0xNjYgbG9jayBpczoKLTwvcD4KLTxwcmU+Ci0gICAgTG9jayBsID0gLi4uOwotICAgIGwubG9jaygpOwotICAgIHRyeSB7Ci0gICAgICAgIC8vIGRvIHNvbWV0aGluZwotICAgIH0gZmluYWxseSB7Ci0gICAgICAgIGwudW5sb2NrKCk7Ci0gICAgfQotPC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVV19VTkNPTkRfV0FJVCI+VVc6IFVuY29uZGl0aW9uYWwgd2FpdCAoVVdfVU5DT05EX1dBSVQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSBjYWxsIHRvIDxjb2RlPmphdmEubGFuZy5PYmplY3Qud2FpdCgpPC9jb2RlPiB3aGljaAotICBpcyBub3QgZ3VhcmRlZCBieSBjb25kaXRpb25hbCBjb250cm9sIGZsb3cuJm5ic3A7IFRoZSBjb2RlIHNob3VsZAotICAgIHZlcmlmeSB0aGF0IGNvbmRpdGlvbiBpdCBpbnRlbmRzIHRvIHdhaXQgZm9yIGlzIG5vdCBhbHJlYWR5IHNhdGlzZmllZAotICAgIGJlZm9yZSBjYWxsaW5nIHdhaXQ7IGFueSBwcmV2aW91cyBub3RpZmljYXRpb25zIHdpbGwgYmUgaWdub3JlZC4KLSAgPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVk9fVk9MQVRJTEVfSU5DUkVNRU5UIj5WTzogQW4gaW5jcmVtZW50IHRvIGEgdm9sYXRpbGUgZmllbGQgaXNuJ3QgYXRvbWljIChWT19WT0xBVElMRV9JTkNSRU1FTlQpPC9hPjwvaDM+Ci0KLQotPHA+VGhpcyBjb2RlIGluY3JlbWVudHMgYSB2b2xhdGlsZSBmaWVsZC4gSW5jcmVtZW50cyBvZiB2b2xhdGlsZSBmaWVsZHMgYXJlbid0Ci1hdG9taWMuIElmIG1vcmUgdGhhbiBvbmUgdGhyZWFkIGlzIGluY3JlbWVudGluZyB0aGUgZmllbGQgYXQgdGhlIHNhbWUgdGltZSwKLWluY3JlbWVudHMgY291bGQgYmUgbG9zdC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlZPX1ZPTEFUSUxFX1JFRkVSRU5DRV9UT19BUlJBWSI+Vk86IEEgdm9sYXRpbGUgcmVmZXJlbmNlIHRvIGFuIGFycmF5IGRvZXNuJ3QgdHJlYXQgdGhlIGFycmF5IGVsZW1lbnRzIGFzIHZvbGF0aWxlIChWT19WT0xBVElMRV9SRUZFUkVOQ0VfVE9fQVJSQVkpPC9hPjwvaDM+Ci0KLQotPHA+VGhpcyBkZWNsYXJlcyBhIHZvbGF0aWxlIHJlZmVyZW5jZSB0byBhbiBhcnJheSwgd2hpY2ggbWlnaHQgbm90IGJlIHdoYXQKLXlvdSB3YW50LiBXaXRoIGEgdm9sYXRpbGUgcmVmZXJlbmNlIHRvIGFuIGFycmF5LCByZWFkcyBhbmQgd3JpdGVzIG9mCi10aGUgcmVmZXJlbmNlIHRvIHRoZSBhcnJheSBhcmUgdHJlYXRlZCBhcyB2b2xhdGlsZSwgYnV0IHRoZSBhcnJheSBlbGVtZW50cwotYXJlIG5vbi12b2xhdGlsZS4gVG8gZ2V0IHZvbGF0aWxlIGFycmF5IGVsZW1lbnRzLCB5b3Ugd2lsbCBuZWVkIHRvIHVzZQotb25lIG9mIHRoZSBhdG9taWMgYXJyYXkgY2xhc3NlcyBpbiBqYXZhLnV0aWwuY29uY3VycmVudCAocHJvdmlkZWQKLWluIEphdmEgNS4wKS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJXTF9VU0lOR19HRVRDTEFTU19SQVRIRVJfVEhBTl9DTEFTU19MSVRFUkFMIj5XTDogU3luY2hyb25pemF0aW9uIG9uIGdldENsYXNzIHJhdGhlciB0aGFuIGNsYXNzIGxpdGVyYWwgKFdMX1VTSU5HX0dFVENMQVNTX1JBVEhFUl9USEFOX0NMQVNTX0xJVEVSQUwpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgIFRoaXMgaW5zdGFuY2UgbWV0aG9kIHN5bmNocm9uaXplcyBvbiA8Y29kZT50aGlzLmdldENsYXNzKCk8L2NvZGU+LiBJZiB0aGlzIGNsYXNzIGlzIHN1YmNsYXNzZWQsCi0gICAgIHN1YmNsYXNzZXMgd2lsbCBzeW5jaHJvbml6ZSBvbiB0aGUgY2xhc3Mgb2JqZWN0IGZvciB0aGUgc3ViY2xhc3MsIHdoaWNoIGlzbid0IGxpa2VseSB3aGF0IHdhcyBpbnRlbmRlZC4KLSAgICAgRm9yIGV4YW1wbGUsIGNvbnNpZGVyIHRoaXMgY29kZSBmcm9tIGphdmEuYXd0LkxhYmVsOjwvcD4KLSAgICAgPHByZT4KLSAgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIGJhc2UgPSAibGFiZWwiOwotICAgICBwcml2YXRlIHN0YXRpYyBpbnQgbmFtZUNvdW50ZXIgPSAwOwotICAgICBTdHJpbmcgY29uc3RydWN0Q29tcG9uZW50TmFtZSgpIHsKLSAgICAgICAgc3luY2hyb25pemVkIChnZXRDbGFzcygpKSB7Ci0gICAgICAgICAgICByZXR1cm4gYmFzZSArIG5hbWVDb3VudGVyKys7Ci0gICAgICAgIH0KLSAgICAgfQotICAgICA8L3ByZT4KLSAgICAgPHA+U3ViY2xhc3NlcyBvZiA8Y29kZT5MYWJlbDwvY29kZT4gd29uJ3Qgc3luY2hyb25pemUgb24gdGhlIHNhbWUgc3ViY2xhc3MsIGdpdmluZyByaXNlIHRvIGEgZGF0YXJhY2UuCi0gICAgIEluc3RlYWQsIHRoaXMgY29kZSBzaG91bGQgYmUgc3luY2hyb25pemluZyBvbiA8Y29kZT5MYWJlbC5jbGFzczwvY29kZT48L3A+Ci0gICAgICA8cHJlPgotICAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgYmFzZSA9ICJsYWJlbCI7Ci0gICAgIHByaXZhdGUgc3RhdGljIGludCBuYW1lQ291bnRlciA9IDA7Ci0gICAgIFN0cmluZyBjb25zdHJ1Y3RDb21wb25lbnROYW1lKCkgewotICAgICAgICBzeW5jaHJvbml6ZWQgKExhYmVsLmNsYXNzKSB7Ci0gICAgICAgICAgICByZXR1cm4gYmFzZSArIG5hbWVDb3VudGVyKys7Ci0gICAgICAgIH0KLSAgICAgfQotICAgICA8L3ByZT4KLSAgICAgIDxwPkJ1ZyBwYXR0ZXJuIGNvbnRyaWJ1dGVkIGJ5IEphc29uIE1laHJlbnM8L3A+Ci0gICAgICAKLSAgICAKLTxoMz48YSBuYW1lPSJXU19XUklURU9CSkVDVF9TWU5DIj5XUzogQ2xhc3MncyB3cml0ZU9iamVjdCgpIG1ldGhvZCBpcyBzeW5jaHJvbml6ZWQgYnV0IG5vdGhpbmcgZWxzZSBpcyAoV1NfV1JJVEVPQkpFQ1RfU1lOQyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGhhcyBhIDxjb2RlPndyaXRlT2JqZWN0KCk8L2NvZGU+IG1ldGhvZCB3aGljaCBpcyBzeW5jaHJvbml6ZWQ7Ci0gIGhvd2V2ZXIsIG5vIG90aGVyIG1ldGhvZCBvZiB0aGUgY2xhc3MgaXMgc3luY2hyb25pemVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IldBX0FXQUlUX05PVF9JTl9MT09QIj5XYTogQ29uZGl0aW9uLmF3YWl0KCkgbm90IGluIGxvb3AgIChXQV9BV0FJVF9OT1RfSU5fTE9PUCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIGNhbGwgdG8gPGNvZGU+amF2YS51dGlsLmNvbmN1cnJlbnQuYXdhaXQoKTwvY29kZT4KLSAgIChvciB2YXJpYW50cykKLSAgd2hpY2ggaXMgbm90IGluIGEgbG9vcC4mbmJzcDsgSWYgdGhlIG9iamVjdCBpcyB1c2VkIGZvciBtdWx0aXBsZSBjb25kaXRpb25zLAotICB0aGUgY29uZGl0aW9uIHRoZSBjYWxsZXIgaW50ZW5kZWQgdG8gd2FpdCBmb3IgbWlnaHQgbm90IGJlIHRoZSBvbmUKLSAgdGhhdCBhY3R1YWxseSBvY2N1cnJlZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJXQV9OT1RfSU5fTE9PUCI+V2E6IFdhaXQgbm90IGluIGxvb3AgIChXQV9OT1RfSU5fTE9PUCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIGNhbGwgdG8gPGNvZGU+amF2YS5sYW5nLk9iamVjdC53YWl0KCk8L2NvZGU+Ci0gIHdoaWNoIGlzIG5vdCBpbiBhIGxvb3AuJm5ic3A7IElmIHRoZSBtb25pdG9yIGlzIHVzZWQgZm9yIG11bHRpcGxlIGNvbmRpdGlvbnMsCi0gIHRoZSBjb25kaXRpb24gdGhlIGNhbGxlciBpbnRlbmRlZCB0byB3YWl0IGZvciBtaWdodCBub3QgYmUgdGhlIG9uZQotICB0aGF0IGFjdHVhbGx5IG9jY3VycmVkLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJYX0JPWElOR19JTU1FRElBVEVMWV9VTkJPWEVEIj5CeDogUHJpbWl0aXZlIHZhbHVlIGlzIGJveGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHVuYm94ZWQgKEJYX0JPWElOR19JTU1FRElBVEVMWV9VTkJPWEVEKTwvYT48L2gzPgotCi0KLSAgPHA+QSBwcmltaXRpdmUgaXMgYm94ZWQsIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHVuYm94ZWQuIFRoaXMgcHJvYmFibHkgaXMgZHVlIHRvIGEgbWFudWFsCi0gICAgYm94aW5nIGluIGEgcGxhY2Ugd2hlcmUgYW4gdW5ib3hlZCB2YWx1ZSBpcyByZXF1aXJlZCwgdGh1cyBmb3JjaW5nIHRoZSBjb21waWxlcgotdG8gaW1tZWRpYXRlbHkgdW5kbyB0aGUgd29yayBvZiB0aGUgYm94aW5nLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQlhfQk9YSU5HX0lNTUVESUFURUxZX1VOQk9YRURfVE9fUEVSRk9STV9DT0VSQ0lPTiI+Qng6IFByaW1pdGl2ZSB2YWx1ZSBpcyBib3hlZCB0aGVuIHVuYm94ZWQgdG8gcGVyZm9ybSBwcmltaXRpdmUgY29lcmNpb24gKEJYX0JPWElOR19JTU1FRElBVEVMWV9VTkJPWEVEX1RPX1BFUkZPUk1fQ09FUkNJT04pPC9hPjwvaDM+Ci0KLQotICA8cD5BIHByaW1pdGl2ZSBib3hlZCB2YWx1ZSBjb25zdHJ1Y3RlZCBhbmQgdGhlbiBpbW1lZGlhdGVseSBjb252ZXJ0ZWQgaW50byBhIGRpZmZlcmVudCBwcmltaXRpdmUgdHlwZQotKGUuZy4sIDxjb2RlPm5ldyBEb3VibGUoZCkuaW50VmFsdWUoKTwvY29kZT4pLiBKdXN0IHBlcmZvcm0gZGlyZWN0IHByaW1pdGl2ZSBjb2VyY2lvbiAoZS5nLiwgPGNvZGU+KGludCkgZDwvY29kZT4pLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJYX1VOQk9YSU5HX0lNTUVESUFURUxZX1JFQk9YRUQiPkJ4OiBCb3hlZCB2YWx1ZSBpcyB1bmJveGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlYm94ZWQgKEJYX1VOQk9YSU5HX0lNTUVESUFURUxZX1JFQk9YRUQpPC9hPjwvaDM+Ci0KLQotICA8cD5BIGJveGVkIHZhbHVlIGlzIHVuYm94ZWQgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVib3hlZC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX0JPWEVEX1BSSU1JVElWRV9GT1JfUEFSU0lORyI+Qng6IEJveGluZy91bmJveGluZyB0byBwYXJzZSBhIHByaW1pdGl2ZSAoRE1fQk9YRURfUFJJTUlUSVZFX0ZPUl9QQVJTSU5HKTwvYT48L2gzPgotCi0KLSAgPHA+QSBib3hlZCBwcmltaXRpdmUgaXMgY3JlYXRlZCBmcm9tIGEgU3RyaW5nLCBqdXN0IHRvIGV4dHJhY3QgdGhlIHVuYm94ZWQgcHJpbWl0aXZlIHZhbHVlLgotICBJdCBpcyBtb3JlIGVmZmljaWVudCB0byBqdXN0IGNhbGwgdGhlIHN0YXRpYyBwYXJzZVhYWCBtZXRob2QuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fQk9YRURfUFJJTUlUSVZFX1RPU1RSSU5HIj5CeDogTWV0aG9kIGFsbG9jYXRlcyBhIGJveGVkIHByaW1pdGl2ZSBqdXN0IHRvIGNhbGwgdG9TdHJpbmcgKERNX0JPWEVEX1BSSU1JVElWRV9UT1NUUklORyk8L2E+PC9oMz4KLQotCi0gIDxwPkEgYm94ZWQgcHJpbWl0aXZlIGlzIGFsbG9jYXRlZCBqdXN0IHRvIGNhbGwgdG9TdHJpbmcoKS4gSXQgaXMgbW9yZSBlZmZlY3RpdmUgdG8ganVzdCB1c2UgdGhlIHN0YXRpYwotICBmb3JtIG9mIHRvU3RyaW5nIHdoaWNoIHRha2VzIHRoZSBwcmltaXRpdmUgdmFsdWUuIFNvLDwvcD4KLSAgPHRhYmxlPgotICAgICA8dHI+PHRoPlJlcGxhY2UuLi48L3RoPjx0aD5XaXRoIHRoaXMuLi48L3RoPjwvdHI+Ci0gICAgIDx0cj48dGQ+bmV3IEludGVnZXIoMSkudG9TdHJpbmcoKTwvdGQ+PHRkPkludGVnZXIudG9TdHJpbmcoMSk8L3RkPjwvdHI+Ci0gICAgIDx0cj48dGQ+bmV3IExvbmcoMSkudG9TdHJpbmcoKTwvdGQ+PHRkPkxvbmcudG9TdHJpbmcoMSk8L3RkPjwvdHI+Ci0gICAgIDx0cj48dGQ+bmV3IEZsb2F0KDEuMCkudG9TdHJpbmcoKTwvdGQ+PHRkPkZsb2F0LnRvU3RyaW5nKDEuMCk8L3RkPjwvdHI+Ci0gICAgIDx0cj48dGQ+bmV3IERvdWJsZSgxLjApLnRvU3RyaW5nKCk8L3RkPjx0ZD5Eb3VibGUudG9TdHJpbmcoMS4wKTwvdGQ+PC90cj4KLSAgICAgPHRyPjx0ZD5uZXcgQnl0ZSgxKS50b1N0cmluZygpPC90ZD48dGQ+Qnl0ZS50b1N0cmluZygxKTwvdGQ+PC90cj4KLSAgICAgPHRyPjx0ZD5uZXcgU2hvcnQoMSkudG9TdHJpbmcoKTwvdGQ+PHRkPlNob3J0LnRvU3RyaW5nKDEpPC90ZD48L3RyPgotICAgICA8dHI+PHRkPm5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCk8L3RkPjx0ZD5Cb29sZWFuLnRvU3RyaW5nKHRydWUpPC90ZD48L3RyPgotICA8L3RhYmxlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fRlBfTlVNQkVSX0NUT1IiPkJ4OiBNZXRob2QgaW52b2tlcyBpbmVmZmljaWVudCBmbG9hdGluZy1wb2ludCBOdW1iZXIgY29uc3RydWN0b3I7IHVzZSBzdGF0aWMgdmFsdWVPZiBpbnN0ZWFkIChETV9GUF9OVU1CRVJfQ1RPUik8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFVzaW5nIDxjb2RlPm5ldyBEb3VibGUoZG91YmxlKTwvY29kZT4gaXMgZ3VhcmFudGVlZCB0byBhbHdheXMgcmVzdWx0IGluIGEgbmV3IG9iamVjdCB3aGVyZWFzCi0gICAgICA8Y29kZT5Eb3VibGUudmFsdWVPZihkb3VibGUpPC9jb2RlPiBhbGxvd3MgY2FjaGluZyBvZiB2YWx1ZXMgdG8gYmUgZG9uZSBieSB0aGUgY29tcGlsZXIsIGNsYXNzIGxpYnJhcnksIG9yIEpWTS4KLSAgICAgIFVzaW5nIG9mIGNhY2hlZCB2YWx1ZXMgYXZvaWRzIG9iamVjdCBhbGxvY2F0aW9uIGFuZCB0aGUgY29kZSB3aWxsIGJlIGZhc3Rlci4KLSAgICAgIDwvcD4KLSAgICAgIDxwPgotICAgICAgVW5sZXNzIHRoZSBjbGFzcyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCBKVk1zIHByZWRhdGluZyBKYXZhIDEuNSwKLSAgICAgIHVzZSBlaXRoZXIgYXV0b2JveGluZyBvciB0aGUgPGNvZGU+dmFsdWVPZigpPC9jb2RlPiBtZXRob2Qgd2hlbiBjcmVhdGluZyBpbnN0YW5jZXMgb2YgPGNvZGU+RG91YmxlPC9jb2RlPiBhbmQgPGNvZGU+RmxvYXQ8L2NvZGU+LgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fTlVNQkVSX0NUT1IiPkJ4OiBNZXRob2QgaW52b2tlcyBpbmVmZmljaWVudCBOdW1iZXIgY29uc3RydWN0b3I7IHVzZSBzdGF0aWMgdmFsdWVPZiBpbnN0ZWFkIChETV9OVU1CRVJfQ1RPUik8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFVzaW5nIDxjb2RlPm5ldyBJbnRlZ2VyKGludCk8L2NvZGU+IGlzIGd1YXJhbnRlZWQgdG8gYWx3YXlzIHJlc3VsdCBpbiBhIG5ldyBvYmplY3Qgd2hlcmVhcwotICAgICAgPGNvZGU+SW50ZWdlci52YWx1ZU9mKGludCk8L2NvZGU+IGFsbG93cyBjYWNoaW5nIG9mIHZhbHVlcyB0byBiZSBkb25lIGJ5IHRoZSBjb21waWxlciwgY2xhc3MgbGlicmFyeSwgb3IgSlZNLgotICAgICAgVXNpbmcgb2YgY2FjaGVkIHZhbHVlcyBhdm9pZHMgb2JqZWN0IGFsbG9jYXRpb24gYW5kIHRoZSBjb2RlIHdpbGwgYmUgZmFzdGVyLgotICAgICAgPC9wPgotICAgICAgPHA+Ci0gICAgICBWYWx1ZXMgYmV0d2VlbiAtMTI4IGFuZCAxMjcgYXJlIGd1YXJhbnRlZWQgdG8gaGF2ZSBjb3JyZXNwb25kaW5nIGNhY2hlZCBpbnN0YW5jZXMKLSAgICAgIGFuZCB1c2luZyA8Y29kZT52YWx1ZU9mPC9jb2RlPiBpcyBhcHByb3hpbWF0ZWx5IDMuNSB0aW1lcyBmYXN0ZXIgdGhhbiB1c2luZyBjb25zdHJ1Y3Rvci4KLSAgICAgIEZvciB2YWx1ZXMgb3V0c2lkZSB0aGUgY29uc3RhbnQgcmFuZ2UgdGhlIHBlcmZvcm1hbmNlIG9mIGJvdGggc3R5bGVzIGlzIHRoZSBzYW1lLgotICAgICAgPC9wPgotICAgICAgPHA+Ci0gICAgICBVbmxlc3MgdGhlIGNsYXNzIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIEpWTXMgcHJlZGF0aW5nIEphdmEgMS41LAotICAgICAgdXNlIGVpdGhlciBhdXRvYm94aW5nIG9yIHRoZSA8Y29kZT52YWx1ZU9mKCk8L2NvZGU+IG1ldGhvZCB3aGVuIGNyZWF0aW5nIGluc3RhbmNlcyBvZgotICAgICAgPGNvZGU+TG9uZzwvY29kZT4sIDxjb2RlPkludGVnZXI8L2NvZGU+LCA8Y29kZT5TaG9ydDwvY29kZT4sIDxjb2RlPkNoYXJhY3RlcjwvY29kZT4sIGFuZCA8Y29kZT5CeXRlPC9jb2RlPi4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9CTE9DS0lOR19NRVRIT0RTX09OX1VSTCI+RG06IFRoZSBlcXVhbHMgYW5kIGhhc2hDb2RlIG1ldGhvZHMgb2YgVVJMIGFyZSBibG9ja2luZyAoRE1JX0JMT0NLSU5HX01FVEhPRFNfT05fVVJMKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoZSBlcXVhbHMgYW5kIGhhc2hDb2RlCi1tZXRob2Qgb2YgVVJMIHBlcmZvcm0gZG9tYWluIG5hbWUgcmVzb2x1dGlvbiwgdGhpcyBjYW4gcmVzdWx0IGluIGEgYmlnIHBlcmZvcm1hbmNlIGhpdC4KLVNlZSA8YSBocmVmPSJodHRwOi8vbWljaGFlbHNjaGFyZi5ibG9nc3BvdC5jb20vMjAwNi8xMS9qYXZhbmV0dXJsZXF1YWxzLWFuZC1oYXNoY29kZS1tYWtlLmh0bWwiPmh0dHA6Ly9taWNoYWVsc2NoYXJmLmJsb2dzcG90LmNvbS8yMDA2LzExL2phdmFuZXR1cmxlcXVhbHMtYW5kLWhhc2hjb2RlLW1ha2UuaHRtbDwvYT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uCi1Db25zaWRlciB1c2luZyA8Y29kZT5qYXZhLm5ldC5VUkk8L2NvZGU+IGluc3RlYWQuCi0gICA8L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfQ09MTEVDVElPTl9PRl9VUkxTIj5EbTogTWFwcyBhbmQgc2V0cyBvZiBVUkxzIGNhbiBiZSBwZXJmb3JtYW5jZSBob2dzIChETUlfQ09MTEVDVElPTl9PRl9VUkxTKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgbWV0aG9kIG9yIGZpZWxkIGlzIG9yIHVzZXMgYSBNYXAgb3IgU2V0IG9mIFVSTHMuIFNpbmNlIGJvdGggdGhlIGVxdWFscyBhbmQgaGFzaENvZGUKLW1ldGhvZCBvZiBVUkwgcGVyZm9ybSBkb21haW4gbmFtZSByZXNvbHV0aW9uLCB0aGlzIGNhbiByZXN1bHQgaW4gYSBiaWcgcGVyZm9ybWFuY2UgaGl0LgotU2VlIDxhIGhyZWY9Imh0dHA6Ly9taWNoYWVsc2NoYXJmLmJsb2dzcG90LmNvbS8yMDA2LzExL2phdmFuZXR1cmxlcXVhbHMtYW5kLWhhc2hjb2RlLW1ha2UuaHRtbCI+aHR0cDovL21pY2hhZWxzY2hhcmYuYmxvZ3Nwb3QuY29tLzIwMDYvMTEvamF2YW5ldHVybGVxdWFscy1hbmQtaGFzaGNvZGUtbWFrZS5odG1sPC9hPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLUNvbnNpZGVyIHVzaW5nIDxjb2RlPmphdmEubmV0LlVSSTwvY29kZT4gaW5zdGVhZC4KLSAgIDwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX0JPT0xFQU5fQ1RPUiI+RG06IE1ldGhvZCBpbnZva2VzIGluZWZmaWNpZW50IEJvb2xlYW4gY29uc3RydWN0b3I7IHVzZSBCb29sZWFuLnZhbHVlT2YoLi4uKSBpbnN0ZWFkIChETV9CT09MRUFOX0NUT1IpPC9hPjwvaDM+Ci0KLQotICA8cD4gQ3JlYXRpbmcgbmV3IGluc3RhbmNlcyBvZiA8Y29kZT5qYXZhLmxhbmcuQm9vbGVhbjwvY29kZT4gd2FzdGVzCi0gIG1lbW9yeSwgc2luY2UgPGNvZGU+Qm9vbGVhbjwvY29kZT4gb2JqZWN0cyBhcmUgaW1tdXRhYmxlIGFuZCB0aGVyZSBhcmUKLSAgb25seSB0d28gdXNlZnVsIHZhbHVlcyBvZiB0aGlzIHR5cGUuJm5ic3A7IFVzZSB0aGUgPGNvZGU+Qm9vbGVhbi52YWx1ZU9mKCk8L2NvZGU+Ci0gIG1ldGhvZCAob3IgSmF2YSAxLjUgYXV0b2JveGluZykgdG8gY3JlYXRlIDxjb2RlPkJvb2xlYW48L2NvZGU+IG9iamVjdHMgaW5zdGVhZC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETV9HQyI+RG06IEV4cGxpY2l0IGdhcmJhZ2UgY29sbGVjdGlvbjsgZXh0cmVtZWx5IGR1YmlvdXMgZXhjZXB0IGluIGJlbmNobWFya2luZyBjb2RlIChETV9HQyk8L2E+PC9oMz4KLQotCi0gIDxwPiBDb2RlIGV4cGxpY2l0bHkgaW52b2tlcyBnYXJiYWdlIGNvbGxlY3Rpb24uCi0gIEV4Y2VwdCBmb3Igc3BlY2lmaWMgdXNlIGluIGJlbmNobWFya2luZywgdGhpcyBpcyB2ZXJ5IGR1YmlvdXMuPC9wPgotICA8cD5JbiB0aGUgcGFzdCwgc2l0dWF0aW9ucyB3aGVyZSBwZW9wbGUgaGF2ZSBleHBsaWNpdGx5IGludm9rZWQKLSAgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIGluIHJvdXRpbmVzIHN1Y2ggYXMgY2xvc2Ugb3IgZmluYWxpemUgbWV0aG9kcwotICBoYXMgbGVkIHRvIGh1Z2UgcGVyZm9ybWFuY2UgYmxhY2sgaG9sZXMuIEdhcmJhZ2UgY29sbGVjdGlvbgotICAgY2FuIGJlIGV4cGVuc2l2ZS4gQW55IHNpdHVhdGlvbiB0aGF0IGZvcmNlcyBodW5kcmVkcyBvciB0aG91c2FuZHMKLSAgIG9mIGdhcmJhZ2UgY29sbGVjdGlvbnMgd2lsbCBicmluZyB0aGUgbWFjaGluZSB0byBhIGNyYXdsLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX05FV19GT1JfR0VUQ0xBU1MiPkRtOiBNZXRob2QgYWxsb2NhdGVzIGFuIG9iamVjdCwgb25seSB0byBnZXQgdGhlIGNsYXNzIG9iamVjdCAoRE1fTkVXX0ZPUl9HRVRDTEFTUyk8L2E+PC9oMz4KLQotCi0gIDxwPlRoaXMgbWV0aG9kIGFsbG9jYXRlcyBhbiBvYmplY3QganVzdCB0byBjYWxsIGdldENsYXNzKCkgb24gaXQsIGluIG9yZGVyIHRvCi0gIHJldHJpZXZlIHRoZSBDbGFzcyBvYmplY3QgZm9yIGl0LiBJdCBpcyBzaW1wbGVyIHRvIGp1c3QgYWNjZXNzIHRoZSAuY2xhc3MgcHJvcGVydHkgb2YgdGhlIGNsYXNzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX05FWFRJTlRfVklBX05FWFRET1VCTEUiPkRtOiBVc2UgdGhlIG5leHRJbnQgbWV0aG9kIG9mIFJhbmRvbSByYXRoZXIgdGhhbiBuZXh0RG91YmxlIHRvIGdlbmVyYXRlIGEgcmFuZG9tIGludGVnZXIgKERNX05FWFRJTlRfVklBX05FWFRET1VCTEUpPC9hPjwvaDM+Ci0KLQotICA8cD5JZiA8Y29kZT5yPC9jb2RlPiBpcyBhIDxjb2RlPmphdmEudXRpbC5SYW5kb208L2NvZGU+LCB5b3UgY2FuIGdlbmVyYXRlIGEgcmFuZG9tIG51bWJlciBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4tMTwvY29kZT4KLXVzaW5nIDxjb2RlPnIubmV4dEludChuKTwvY29kZT4sIHJhdGhlciB0aGFuIHVzaW5nIDxjb2RlPihpbnQpKHIubmV4dERvdWJsZSgpICogbik8L2NvZGU+LgotPC9wPgotPHA+VGhlIGFyZ3VtZW50IHRvIG5leHRJbnQgbXVzdCBiZSBwb3NpdGl2ZS4gSWYsIGZvciBleGFtcGxlLCB5b3Ugd2FudCB0byBnZW5lcmF0ZSBhIHJhbmRvbQotdmFsdWUgZnJvbSAtOTkgdG8gMCwgdXNlIDxjb2RlPi1yLm5leHRJbnQoMTAwKTwvY29kZT4uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETV9TVFJJTkdfQ1RPUiI+RG06IE1ldGhvZCBpbnZva2VzIGluZWZmaWNpZW50IG5ldyBTdHJpbmcoU3RyaW5nKSBjb25zdHJ1Y3RvciAoRE1fU1RSSU5HX0NUT1IpPC9hPjwvaDM+Ci0KLQotICA8cD4gVXNpbmcgdGhlIDxjb2RlPmphdmEubGFuZy5TdHJpbmcoU3RyaW5nKTwvY29kZT4gY29uc3RydWN0b3Igd2FzdGVzIG1lbW9yeQotICBiZWNhdXNlIHRoZSBvYmplY3Qgc28gY29uc3RydWN0ZWQgd2lsbCBiZSBmdW5jdGlvbmFsbHkgaW5kaXN0aW5ndWlzaGFibGUKLSAgZnJvbSB0aGUgPGNvZGU+U3RyaW5nPC9jb2RlPiBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIuJm5ic3A7IEp1c3QgdXNlIHRoZQotICBhcmd1bWVudCA8Y29kZT5TdHJpbmc8L2NvZGU+IGRpcmVjdGx5LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNX1NUUklOR19UT1NUUklORyI+RG06IE1ldGhvZCBpbnZva2VzIHRvU3RyaW5nKCkgbWV0aG9kIG9uIGEgU3RyaW5nIChETV9TVFJJTkdfVE9TVFJJTkcpPC9hPjwvaDM+Ci0KLQotICA8cD4gQ2FsbGluZyA8Y29kZT5TdHJpbmcudG9TdHJpbmcoKTwvY29kZT4gaXMganVzdCBhIHJlZHVuZGFudCBvcGVyYXRpb24uCi0gIEp1c3QgdXNlIHRoZSBTdHJpbmcuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1fU1RSSU5HX1ZPSURfQ1RPUiI+RG06IE1ldGhvZCBpbnZva2VzIGluZWZmaWNpZW50IG5ldyBTdHJpbmcoKSBjb25zdHJ1Y3RvciAoRE1fU1RSSU5HX1ZPSURfQ1RPUik8L2E+PC9oMz4KLQotCi0gIDxwPiBDcmVhdGluZyBhIG5ldyA8Y29kZT5qYXZhLmxhbmcuU3RyaW5nPC9jb2RlPiBvYmplY3QgdXNpbmcgdGhlCi0gIG5vLWFyZ3VtZW50IGNvbnN0cnVjdG9yIHdhc3RlcyBtZW1vcnkgYmVjYXVzZSB0aGUgb2JqZWN0IHNvIGNyZWF0ZWQgd2lsbAotICBiZSBmdW5jdGlvbmFsbHkgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSB0aGUgZW1wdHkgc3RyaW5nIGNvbnN0YW50Ci0gIDxjb2RlPiIiPC9jb2RlPi4mbmJzcDsgSmF2YSBndWFyYW50ZWVzIHRoYXQgaWRlbnRpY2FsIHN0cmluZyBjb25zdGFudHMKLSAgd2lsbCBiZSByZXByZXNlbnRlZCBieSB0aGUgc2FtZSA8Y29kZT5TdHJpbmc8L2NvZGU+IG9iamVjdC4mbmJzcDsgVGhlcmVmb3JlLAotICB5b3Ugc2hvdWxkIGp1c3QgdXNlIHRoZSBlbXB0eSBzdHJpbmcgY29uc3RhbnQgZGlyZWN0bHkuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSFNDX0hVR0VfU0hBUkVEX1NUUklOR19DT05TVEFOVCI+SFNDOiBIdWdlIHN0cmluZyBjb25zdGFudHMgaXMgZHVwbGljYXRlZCBhY3Jvc3MgbXVsdGlwbGUgY2xhc3MgZmlsZXMgKEhTQ19IVUdFX1NIQVJFRF9TVFJJTkdfQ09OU1RBTlQpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgQSBsYXJnZSBTdHJpbmcgY29uc3RhbnQgaXMgZHVwbGljYXRlZCBhY3Jvc3MgbXVsdGlwbGUgY2xhc3MgZmlsZXMuCi0gICAgVGhpcyBpcyBsaWtlbHkgYmVjYXVzZSBhIGZpbmFsIGZpZWxkIGlzIGluaXRpYWxpemVkIHRvIGEgU3RyaW5nIGNvbnN0YW50LCBhbmQgdGhlIEphdmEgbGFuZ3VhZ2UKLSAgICBtYW5kYXRlcyB0aGF0IGFsbCByZWZlcmVuY2VzIHRvIGEgZmluYWwgZmllbGQgZnJvbSBvdGhlciBjbGFzc2VzIGJlIGlubGluZWQgaW50bwotdGhhdCBjbGFzc2ZpbGUuIFNlZSA8YSBocmVmPSJodHRwOi8vYnVncy5zdW4uY29tL2J1Z2RhdGFiYXNlL3ZpZXdfYnVnLmRvP2J1Z19pZD02NDQ3NDc1Ij5KREsgYnVnIDY0NDc0NzU8L2E+Ci0gICAgZm9yIGEgZGVzY3JpcHRpb24gb2YgYW4gb2NjdXJyZW5jZSBvZiB0aGlzIGJ1ZyBpbiB0aGUgSkRLIGFuZCBob3cgcmVzb2x2aW5nIGl0IHJlZHVjZWQKLSAgICB0aGUgc2l6ZSBvZiB0aGUgSkRLIGJ5IDEgbWVnYWJ5dGUuCi08L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9IklUQV9JTkVGRklDSUVOVF9UT19BUlJBWSI+SVRBOiBNZXRob2QgdXNlcyB0b0FycmF5KCkgd2l0aCB6ZXJvLWxlbmd0aCBhcnJheSBhcmd1bWVudCAoSVRBX0lORUZGSUNJRU5UX1RPX0FSUkFZKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCB1c2VzIHRoZSB0b0FycmF5KCkgbWV0aG9kIG9mIGEgY29sbGVjdGlvbiBkZXJpdmVkIGNsYXNzLCBhbmQgcGFzc2VzCi1pbiBhIHplcm8tbGVuZ3RoIHByb3RvdHlwZSBhcnJheSBhcmd1bWVudC4gIEl0IGlzIG1vcmUgZWZmaWNpZW50IHRvIHVzZQotPGNvZGU+bXlDb2xsZWN0aW9uLnRvQXJyYXkobmV3IEZvb1tteUNvbGxlY3Rpb24uc2l6ZSgpXSk8L2NvZGU+Ci1JZiB0aGUgYXJyYXkgcGFzc2VkIGluIGlzIGJpZyBlbm91Z2ggdG8gc3RvcmUgYWxsIG9mIHRoZQotZWxlbWVudHMgb2YgdGhlIGNvbGxlY3Rpb24sIHRoZW4gaXQgaXMgcG9wdWxhdGVkIGFuZCByZXR1cm5lZAotZGlyZWN0bHkuIFRoaXMgYXZvaWRzIHRoZSBuZWVkIHRvIGNyZWF0ZSBhIHNlY29uZCBhcnJheQotKGJ5IHJlZmxlY3Rpb24pIHRvIHJldHVybiBhcyB0aGUgcmVzdWx0LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNCU0NfVVNFX1NUUklOR0JVRkZFUl9DT05DQVRFTkFUSU9OIj5TQlNDOiBNZXRob2QgY29uY2F0ZW5hdGVzIHN0cmluZ3MgdXNpbmcgKyBpbiBhIGxvb3AgKFNCU0NfVVNFX1NUUklOR0JVRkZFUl9DT05DQVRFTkFUSU9OKTwvYT48L2gzPgotCi0KLTxwPiBUaGUgbWV0aG9kIHNlZW1zIHRvIGJlIGJ1aWxkaW5nIGEgU3RyaW5nIHVzaW5nIGNvbmNhdGVuYXRpb24gaW4gYSBsb29wLgotSW4gZWFjaCBpdGVyYXRpb24sIHRoZSBTdHJpbmcgaXMgY29udmVydGVkIHRvIGEgU3RyaW5nQnVmZmVyL1N0cmluZ0J1aWxkZXIsCi0gICBhcHBlbmRlZCB0bywgYW5kIGNvbnZlcnRlZCBiYWNrIHRvIGEgU3RyaW5nLgotICAgVGhpcyBjYW4gbGVhZCB0byBhIGNvc3QgcXVhZHJhdGljIGluIHRoZSBudW1iZXIgb2YgaXRlcmF0aW9ucywKLSAgIGFzIHRoZSBncm93aW5nIHN0cmluZyBpcyByZWNvcGllZCBpbiBlYWNoIGl0ZXJhdGlvbi4gPC9wPgotCi08cD5CZXR0ZXIgcGVyZm9ybWFuY2UgY2FuIGJlIG9idGFpbmVkIGJ5IHVzaW5nCi1hIFN0cmluZ0J1ZmZlciAob3IgU3RyaW5nQnVpbGRlciBpbiBKYXZhIDEuNSkgZXhwbGljaXRseS48L3A+Ci0KLTxwPiBGb3IgZXhhbXBsZTo8L3A+Ci08cHJlPgotICAvLyBUaGlzIGlzIGJhZAotICBTdHJpbmcgcyA9ICIiOwotICBmb3IgKGludCBpID0gMDsgaSAmbHQ7IGZpZWxkLmxlbmd0aDsgKytpKSB7Ci0gICAgcyA9IHMgKyBmaWVsZFtpXTsKLSAgfQotCi0gIC8vIFRoaXMgaXMgYmV0dGVyCi0gIFN0cmluZ0J1ZmZlciBidWYgPSBuZXcgU3RyaW5nQnVmZmVyKCk7Ci0gIGZvciAoaW50IGkgPSAwOyBpICZsdDsgZmllbGQubGVuZ3RoOyArK2kpIHsKLSAgICBidWYuYXBwZW5kKGZpZWxkW2ldKTsKLSAgfQotICBTdHJpbmcgcyA9IGJ1Zi50b1N0cmluZygpOwotPC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTSUNfSU5ORVJfU0hPVUxEX0JFX1NUQVRJQyI+U0lDOiBTaG91bGQgYmUgYSBzdGF0aWMgaW5uZXIgY2xhc3MgKFNJQ19JTk5FUl9TSE9VTERfQkVfU1RBVElDKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgaXMgYW4gaW5uZXIgY2xhc3MsIGJ1dCBkb2VzIG5vdCB1c2UgaXRzIGVtYmVkZGVkIHJlZmVyZW5jZQotICB0byB0aGUgb2JqZWN0IHdoaWNoIGNyZWF0ZWQgaXQuJm5ic3A7IFRoaXMgcmVmZXJlbmNlIG1ha2VzIHRoZSBpbnN0YW5jZXMKLSAgb2YgdGhlIGNsYXNzIGxhcmdlciwgYW5kIG1heSBrZWVwIHRoZSByZWZlcmVuY2UgdG8gdGhlIGNyZWF0b3Igb2JqZWN0Ci0gIGFsaXZlIGxvbmdlciB0aGFuIG5lY2Vzc2FyeS4mbmJzcDsgSWYgcG9zc2libGUsIHRoZSBjbGFzcyBzaG91bGQgYmUKLSAgIG1hZGUgc3RhdGljLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0lDX0lOTkVSX1NIT1VMRF9CRV9TVEFUSUNfQU5PTiI+U0lDOiBDb3VsZCBiZSByZWZhY3RvcmVkIGludG8gYSBuYW1lZCBzdGF0aWMgaW5uZXIgY2xhc3MgKFNJQ19JTk5FUl9TSE9VTERfQkVfU1RBVElDX0FOT04pPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBpcyBhbiBpbm5lciBjbGFzcywgYnV0IGRvZXMgbm90IHVzZSBpdHMgZW1iZWRkZWQgcmVmZXJlbmNlCi0gIHRvIHRoZSBvYmplY3Qgd2hpY2ggY3JlYXRlZCBpdC4mbmJzcDsgVGhpcyByZWZlcmVuY2UgbWFrZXMgdGhlIGluc3RhbmNlcwotICBvZiB0aGUgY2xhc3MgbGFyZ2VyLCBhbmQgbWF5IGtlZXAgdGhlIHJlZmVyZW5jZSB0byB0aGUgY3JlYXRvciBvYmplY3QKLSAgYWxpdmUgbG9uZ2VyIHRoYW4gbmVjZXNzYXJ5LiZuYnNwOyBJZiBwb3NzaWJsZSwgdGhlIGNsYXNzIHNob3VsZCBiZQotICBtYWRlIGludG8gYSA8ZW0+c3RhdGljPC9lbT4gaW5uZXIgY2xhc3MuIFNpbmNlIGFub255bW91cyBpbm5lcgotY2xhc3NlcyBjYW5ub3QgYmUgbWFya2VkIGFzIHN0YXRpYywgZG9pbmcgdGhpcyB3aWxsIHJlcXVpcmUgcmVmYWN0b3JpbmcKLXRoZSBpbm5lciBjbGFzcyBzbyB0aGF0IGl0IGlzIGEgbmFtZWQgaW5uZXIgY2xhc3MuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0lDX0lOTkVSX1NIT1VMRF9CRV9TVEFUSUNfTkVFRFNfVEhJUyI+U0lDOiBDb3VsZCBiZSByZWZhY3RvcmVkIGludG8gYSBzdGF0aWMgaW5uZXIgY2xhc3MgKFNJQ19JTk5FUl9TSE9VTERfQkVfU1RBVElDX05FRURTX1RISVMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBpcyBhbiBpbm5lciBjbGFzcywgYnV0IGRvZXMgbm90IHVzZSBpdHMgZW1iZWRkZWQgcmVmZXJlbmNlCi0gIHRvIHRoZSBvYmplY3Qgd2hpY2ggY3JlYXRlZCBpdCBleGNlcHQgZHVyaW5nIGNvbnN0cnVjdGlvbiBvZiB0aGUKLWlubmVyIG9iamVjdC4mbmJzcDsgVGhpcyByZWZlcmVuY2UgbWFrZXMgdGhlIGluc3RhbmNlcwotICBvZiB0aGUgY2xhc3MgbGFyZ2VyLCBhbmQgbWF5IGtlZXAgdGhlIHJlZmVyZW5jZSB0byB0aGUgY3JlYXRvciBvYmplY3QKLSAgYWxpdmUgbG9uZ2VyIHRoYW4gbmVjZXNzYXJ5LiZuYnNwOyBJZiBwb3NzaWJsZSwgdGhlIGNsYXNzIHNob3VsZCBiZQotICBtYWRlIGludG8gYSA8ZW0+c3RhdGljPC9lbT4gaW5uZXIgY2xhc3MuIFNpbmNlIHRoZSByZWZlcmVuY2UgdG8gdGhlCi0gICBvdXRlciBvYmplY3QgaXMgcmVxdWlyZWQgZHVyaW5nIGNvbnN0cnVjdGlvbiBvZiB0aGUgaW5uZXIgaW5zdGFuY2UsCi0gICB0aGUgaW5uZXIgY2xhc3Mgd2lsbCBuZWVkIHRvIGJlIHJlZmFjdG9yZWQgc28gYXMgdG8KLSAgIHBhc3MgYSByZWZlcmVuY2UgdG8gdGhlIG91dGVyIGluc3RhbmNlIHRvIHRoZSBjb25zdHJ1Y3RvcgotICAgZm9yIHRoZSBpbm5lciBjbGFzcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJTU19TSE9VTERfQkVfU1RBVElDIj5TUzogVW5yZWFkIGZpZWxkOiBzaG91bGQgdGhpcyBmaWVsZCBiZSBzdGF0aWM/IChTU19TSE9VTERfQkVfU1RBVElDKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY2xhc3MgY29udGFpbnMgYW4gaW5zdGFuY2UgZmluYWwgZmllbGQgdGhhdAotICAgaXMgaW5pdGlhbGl6ZWQgdG8gYSBjb21waWxlLXRpbWUgc3RhdGljIHZhbHVlLgotICAgQ29uc2lkZXIgbWFraW5nIHRoZSBmaWVsZCBzdGF0aWMuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iVU1fVU5ORUNFU1NBUllfTUFUSCI+VU06IE1ldGhvZCBjYWxscyBzdGF0aWMgTWF0aCBjbGFzcyBtZXRob2Qgb24gYSBjb25zdGFudCB2YWx1ZSAoVU1fVU5ORUNFU1NBUllfTUFUSCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgdXNlcyBhIHN0YXRpYyBtZXRob2QgZnJvbSBqYXZhLmxhbmcuTWF0aCBvbiBhIGNvbnN0YW50IHZhbHVlLiBUaGlzIG1ldGhvZCdzCi1yZXN1bHQgaW4gdGhpcyBjYXNlLCBjYW4gYmUgZGV0ZXJtaW5lZCBzdGF0aWNhbGx5LCBhbmQgaXMgZmFzdGVyIGFuZCBzb21ldGltZXMgbW9yZSBhY2N1cmF0ZSB0bwotanVzdCB1c2UgdGhlIGNvbnN0YW50LiBNZXRob2RzIGRldGVjdGVkIGFyZToKLTwvcD4KLTx0YWJsZT4KLTx0cj4KLSAgIDx0aD5NZXRob2Q8L3RoPiA8dGg+UGFyYW1ldGVyPC90aD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+YWJzPC90ZD4gPHRkPi1hbnktPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+YWNvczwvdGQ+IDx0ZD4wLjAgb3IgMS4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+YXNpbjwvdGQ+IDx0ZD4wLjAgb3IgMS4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+YXRhbjwvdGQ+IDx0ZD4wLjAgb3IgMS4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+YXRhbjI8L3RkPiA8dGQ+MC4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+Y2JydDwvdGQ+IDx0ZD4wLjAgb3IgMS4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+Y2VpbDwvdGQ+IDx0ZD4tYW55LTwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPmNvczwvdGQ+IDx0ZD4wLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5jb3NoPC90ZD4gPHRkPjAuMDwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPmV4cDwvdGQ+IDx0ZD4wLjAgb3IgMS4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+ZXhwbTE8L3RkPiA8dGQ+MC4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+Zmxvb3I8L3RkPiA8dGQ+LWFueS08L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5sb2c8L3RkPiA8dGQ+MC4wIG9yIDEuMDwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPmxvZzEwPC90ZD4gPHRkPjAuMCBvciAxLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5yaW50PC90ZD4gPHRkPi1hbnktPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+cm91bmQ8L3RkPiA8dGQ+LWFueS08L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5zaW48L3RkPiA8dGQ+MC4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+c2luaDwvdGQ+IDx0ZD4wLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD5zcXJ0PC90ZD4gPHRkPjAuMCBvciAxLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD50YW48L3RkPiA8dGQ+MC4wPC90ZD4KLTwvdHI+Ci08dHI+Ci0gICA8dGQ+dGFuaDwvdGQ+IDx0ZD4wLjA8L3RkPgotPC90cj4KLTx0cj4KLSAgIDx0ZD50b0RlZ3JlZXM8L3RkPiA8dGQ+MC4wIG9yIDEuMDwvdGQ+Ci08L3RyPgotPHRyPgotICAgPHRkPnRvUmFkaWFuczwvdGQ+IDx0ZD4wLjA8L3RkPgotPC90cj4KLTwvdGFibGU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVUE1fVU5DQUxMRURfUFJJVkFURV9NRVRIT0QiPlVQTTogUHJpdmF0ZSBtZXRob2QgaXMgbmV2ZXIgY2FsbGVkIChVUE1fVU5DQUxMRURfUFJJVkFURV9NRVRIT0QpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgcHJpdmF0ZSBtZXRob2QgaXMgbmV2ZXIgY2FsbGVkLiBBbHRob3VnaCBpdCBpcwotcG9zc2libGUgdGhhdCB0aGUgbWV0aG9kIHdpbGwgYmUgaW52b2tlZCB0aHJvdWdoIHJlZmxlY3Rpb24sCi1pdCBpcyBtb3JlIGxpa2VseSB0aGF0IHRoZSBtZXRob2QgaXMgbmV2ZXIgdXNlZCwgYW5kIHNob3VsZCBiZQotcmVtb3ZlZC4KLTwvcD4KLQotCi08aDM+PGEgbmFtZT0iVVJGX1VOUkVBRF9GSUVMRCI+VXJGOiBVbnJlYWQgZmllbGQgKFVSRl9VTlJFQURfRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBmaWVsZCBpcyBuZXZlciByZWFkLiZuYnNwOyBDb25zaWRlciByZW1vdmluZyBpdCBmcm9tIHRoZSBjbGFzcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVVUZfVU5VU0VEX0ZJRUxEIj5VdUY6IFVudXNlZCBmaWVsZCAoVVVGX1VOVVNFRF9GSUVMRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGZpZWxkIGlzIG5ldmVyIHVzZWQuJm5ic3A7IENvbnNpZGVyIHJlbW92aW5nIGl0IGZyb20gdGhlIGNsYXNzLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IldNSV9XUk9OR19NQVBfSVRFUkFUT1IiPldNSTogSW5lZmZpY2llbnQgdXNlIG9mIGtleVNldCBpdGVyYXRvciBpbnN0ZWFkIG9mIGVudHJ5U2V0IGl0ZXJhdG9yIChXTUlfV1JPTkdfTUFQX0lURVJBVE9SKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBhY2Nlc3NlcyB0aGUgdmFsdWUgb2YgYSBNYXAgZW50cnksIHVzaW5nIGEga2V5IHRoYXQgd2FzIHJldHJpZXZlZCBmcm9tCi1hIGtleVNldCBpdGVyYXRvci4gSXQgaXMgbW9yZSBlZmZpY2llbnQgdG8gdXNlIGFuIGl0ZXJhdG9yIG9uIHRoZSBlbnRyeVNldCBvZiB0aGUgbWFwLCB0byBhdm9pZCB0aGUKLU1hcC5nZXQoa2V5KSBsb29rdXAuPC9wPgotCi0gICAgICAgIAotPGgzPjxhIG5hbWU9IkRNSV9DT05TVEFOVF9EQl9QQVNTV09SRCI+RG06IEhhcmRjb2RlZCBjb25zdGFudCBkYXRhYmFzZSBwYXNzd29yZCAoRE1JX0NPTlNUQU5UX0RCX1BBU1NXT1JEKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD5UaGlzIGNvZGUgY3JlYXRlcyBhIGRhdGFiYXNlIGNvbm5lY3QgdXNpbmcgYSBoYXJkY29kZWQsIGNvbnN0YW50IHBhc3N3b3JkLiBBbnlvbmUgd2l0aCBhY2Nlc3MgdG8gZWl0aGVyIHRoZSBzb3VyY2UgY29kZSBvciB0aGUgY29tcGlsZWQgY29kZSBjYW4KLSAgICBlYXNpbHkgbGVhcm4gdGhlIHBhc3N3b3JkLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfRU1QVFlfREJfUEFTU1dPUkQiPkRtOiBFbXB0eSBkYXRhYmFzZSBwYXNzd29yZCAoRE1JX0VNUFRZX0RCX1BBU1NXT1JEKTwvYT48L2gzPgotCi0gICAgICAKLSAgICA8cD5UaGlzIGNvZGUgY3JlYXRlcyBhIGRhdGFiYXNlIGNvbm5lY3QgdXNpbmcgYSBibGFuayBvciBlbXB0eSBwYXNzd29yZC4gVGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgZGF0YWJhc2UgaXMgbm90IHByb3RlY3RlZCBieSBhIHBhc3N3b3JkLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJIUlNfUkVRVUVTVF9QQVJBTUVURVJfVE9fQ09PS0lFIj5IUlM6IEhUVFAgY29va2llIGZvcm1lZCBmcm9tIHVudHJ1c3RlZCBpbnB1dCAoSFJTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX0NPT0tJRSk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgPHA+VGhpcyBjb2RlIGNvbnN0cnVjdHMgYW4gSFRUUCBDb29raWUgdXNpbmcgYW4gdW50cnVzdGVkIEhUVFAgcGFyYW1ldGVyLiBJZiB0aGlzIGNvb2tpZSBpcyBhZGRlZCB0byBhbiBIVFRQIHJlc3BvbnNlLCBpdCB3aWxsIGFsbG93IGEgSFRUUCByZXNwb25zZSBzcGxpdHRpbmcKLXZ1bG5lcmFiaWxpdHkuIFNlZSA8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hUVFBfcmVzcG9uc2Vfc3BsaXR0aW5nIj5odHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hUVFBfcmVzcG9uc2Vfc3BsaXR0aW5nPC9hPgotZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgotPHA+RmluZEJ1Z3MgbG9va3Mgb25seSBmb3IgdGhlIG1vc3QgYmxhdGFudCwgb2J2aW91cyBjYXNlcyBvZiBIVFRQIHJlc3BvbnNlIHNwbGl0dGluZy4KLUlmIEZpbmRCdWdzIGZvdW5kIDxlbT5hbnk8L2VtPiwgeW91IDxlbT5hbG1vc3QgY2VydGFpbmx5PC9lbT4gaGF2ZSBtb3JlCi12dWxuZXJhYmlsaXRpZXMgdGhhdCBGaW5kQnVncyBkb2Vzbid0IHJlcG9ydC4gSWYgeW91IGFyZSBjb25jZXJuZWQgYWJvdXQgSFRUUCByZXNwb25zZSBzcGxpdHRpbmcsIHlvdSBzaG91bGQgc2VyaW91c2x5Ci1jb25zaWRlciB1c2luZyBhIGNvbW1lcmNpYWwgc3RhdGljIGFuYWx5c2lzIG9yIHBlbi10ZXN0aW5nIHRvb2wuCi08L3A+Ci0KLQotICAgIAotPGgzPjxhIG5hbWU9IkhSU19SRVFVRVNUX1BBUkFNRVRFUl9UT19IVFRQX0hFQURFUiI+SFJTOiBIVFRQIFJlc3BvbnNlIHNwbGl0dGluZyB2dWxuZXJhYmlsaXR5IChIUlNfUkVRVUVTVF9QQVJBTUVURVJfVE9fSFRUUF9IRUFERVIpPC9hPjwvaDM+Ci0KLSAgICAgICAgICAgIAotICAgIDxwPlRoaXMgY29kZSBkaXJlY3RseSB3cml0ZXMgYW4gSFRUUCBwYXJhbWV0ZXIgdG8gYW4gSFRUUCBoZWFkZXIsIHdoaWNoIGFsbG93cyBmb3IgYSBIVFRQIHJlc3BvbnNlIHNwbGl0dGluZwotdnVsbmVyYWJpbGl0eS4gU2VlIDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSFRUUF9yZXNwb25zZV9zcGxpdHRpbmciPmh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSFRUUF9yZXNwb25zZV9zcGxpdHRpbmc8L2E+Ci1mb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+Ci08cD5GaW5kQnVncyBsb29rcyBvbmx5IGZvciB0aGUgbW9zdCBibGF0YW50LCBvYnZpb3VzIGNhc2VzIG9mIEhUVFAgcmVzcG9uc2Ugc3BsaXR0aW5nLgotSWYgRmluZEJ1Z3MgZm91bmQgPGVtPmFueTwvZW0+LCB5b3UgPGVtPmFsbW9zdCBjZXJ0YWlubHk8L2VtPiBoYXZlIG1vcmUKLXZ1bG5lcmFiaWxpdGllcyB0aGF0IEZpbmRCdWdzIGRvZXNuJ3QgcmVwb3J0LiBJZiB5b3UgYXJlIGNvbmNlcm5lZCBhYm91dCBIVFRQIHJlc3BvbnNlIHNwbGl0dGluZywgeW91IHNob3VsZCBzZXJpb3VzbHkKLWNvbnNpZGVyIHVzaW5nIGEgY29tbWVyY2lhbCBzdGF0aWMgYW5hbHlzaXMgb3IgcGVuLXRlc3RpbmcgdG9vbC4KLTwvcD4KLQotCi0gICAgICAgIAotPGgzPjxhIG5hbWU9IlBUX0FCU09MVVRFX1BBVEhfVFJBVkVSU0FMIj5QVDogQWJzb2x1dGUgcGF0aCB0cmF2ZXJzYWwgaW4gc2VydmxldCAoUFRfQUJTT0xVVEVfUEFUSF9UUkFWRVJTQUwpPC9hPjwvaDM+Ci0KLQotICAgIDxwPlRoZSBzb2Z0d2FyZSB1c2VzIGFuIEhUVFAgcmVxdWVzdCBwYXJhbWV0ZXIgdG8gY29uc3RydWN0IGEgcGF0aG5hbWUgdGhhdCBzaG91bGQgYmUgd2l0aGluIGEgcmVzdHJpY3RlZCBkaXJlY3RvcnksCi1idXQgaXQgZG9lcyBub3QgcHJvcGVybHkgbmV1dHJhbGl6ZSBhYnNvbHV0ZSBwYXRoIHNlcXVlbmNlcyBzdWNoIGFzICIvYWJzL3BhdGgiIHRoYXQgY2FuIHJlc29sdmUgdG8gYSBsb2NhdGlvbiB0aGF0IGlzIG91dHNpZGUgb2YgdGhhdCBkaXJlY3RvcnkuCi0KLVNlZSA8YSBocmVmPSJodHRwOi8vY3dlLm1pdHJlLm9yZy9kYXRhL2RlZmluaXRpb25zLzM2Lmh0bWwiPmh0dHA6Ly9jd2UubWl0cmUub3JnL2RhdGEvZGVmaW5pdGlvbnMvMzYuaHRtbDwvYT4KLWZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KLTxwPkZpbmRCdWdzIGxvb2tzIG9ubHkgZm9yIHRoZSBtb3N0IGJsYXRhbnQsIG9idmlvdXMgY2FzZXMgb2YgYWJzb2x1dGUgcGF0aCB0cmF2ZXJzYWwuCi1JZiBGaW5kQnVncyBmb3VuZCA8ZW0+YW55PC9lbT4sIHlvdSA8ZW0+YWxtb3N0IGNlcnRhaW5seTwvZW0+IGhhdmUgbW9yZQotdnVsbmVyYWJpbGl0aWVzIHRoYXQgRmluZEJ1Z3MgZG9lc24ndCByZXBvcnQuIElmIHlvdSBhcmUgY29uY2VybmVkIGFib3V0IGFic29sdXRlIHBhdGggdHJhdmVyc2FsLCB5b3Ugc2hvdWxkIHNlcmlvdXNseQotY29uc2lkZXIgdXNpbmcgYSBjb21tZXJjaWFsIHN0YXRpYyBhbmFseXNpcyBvciBwZW4tdGVzdGluZyB0b29sLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJQVF9SRUxBVElWRV9QQVRIX1RSQVZFUlNBTCI+UFQ6IFJlbGF0aXZlIHBhdGggdHJhdmVyc2FsIGluIHNlcnZsZXQgKFBUX1JFTEFUSVZFX1BBVEhfVFJBVkVSU0FMKTwvYT48L2gzPgotCi0KLSAgICA8cD5UaGUgc29mdHdhcmUgdXNlcyBhbiBIVFRQIHJlcXVlc3QgcGFyYW1ldGVyIHRvIGNvbnN0cnVjdCBhIHBhdGhuYW1lIHRoYXQgc2hvdWxkIGJlIHdpdGhpbiBhIHJlc3RyaWN0ZWQgZGlyZWN0b3J5LCBidXQgaXQgZG9lcyBub3QgcHJvcGVybHkgbmV1dHJhbGl6ZSBzZXF1ZW5jZXMgc3VjaCBhcyAiLi4iIHRoYXQgY2FuIHJlc29sdmUgdG8gYSBsb2NhdGlvbiB0aGF0IGlzIG91dHNpZGUgb2YgdGhhdCBkaXJlY3RvcnkuCi0KLVNlZSA8YSBocmVmPSJodHRwOi8vY3dlLm1pdHJlLm9yZy9kYXRhL2RlZmluaXRpb25zLzIzLmh0bWwiPmh0dHA6Ly9jd2UubWl0cmUub3JnL2RhdGEvZGVmaW5pdGlvbnMvMjMuaHRtbDwvYT4KLWZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KLTxwPkZpbmRCdWdzIGxvb2tzIG9ubHkgZm9yIHRoZSBtb3N0IGJsYXRhbnQsIG9idmlvdXMgY2FzZXMgb2YgcmVsYXRpdmUgcGF0aCB0cmF2ZXJzYWwuCi1JZiBGaW5kQnVncyBmb3VuZCA8ZW0+YW55PC9lbT4sIHlvdSA8ZW0+YWxtb3N0IGNlcnRhaW5seTwvZW0+IGhhdmUgbW9yZQotdnVsbmVyYWJpbGl0aWVzIHRoYXQgRmluZEJ1Z3MgZG9lc24ndCByZXBvcnQuIElmIHlvdSBhcmUgY29uY2VybmVkIGFib3V0IHJlbGF0aXZlIHBhdGggdHJhdmVyc2FsLCB5b3Ugc2hvdWxkIHNlcmlvdXNseQotY29uc2lkZXIgdXNpbmcgYSBjb21tZXJjaWFsIHN0YXRpYyBhbmFseXNpcyBvciBwZW4tdGVzdGluZyB0b29sLgotPC9wPgotCi0KLSAgICAKLTxoMz48YSBuYW1lPSJTUUxfTk9OQ09OU1RBTlRfU1RSSU5HX1BBU1NFRF9UT19FWEVDVVRFIj5TUUw6IE5vbmNvbnN0YW50IHN0cmluZyBwYXNzZWQgdG8gZXhlY3V0ZSBtZXRob2Qgb24gYW4gU1FMIHN0YXRlbWVudCAoU1FMX05PTkNPTlNUQU5UX1NUUklOR19QQVNTRURfVE9fRVhFQ1VURSk8L2E+PC9oMz4KLQotCi0gIDxwPlRoZSBtZXRob2QgaW52b2tlcyB0aGUgZXhlY3V0ZSBtZXRob2Qgb24gYW4gU1FMIHN0YXRlbWVudCB3aXRoIGEgU3RyaW5nIHRoYXQgc2VlbXMKLXRvIGJlIGR5bmFtaWNhbGx5IGdlbmVyYXRlZC4gQ29uc2lkZXIgdXNpbmcKLWEgcHJlcGFyZWQgc3RhdGVtZW50IGluc3RlYWQuIEl0IGlzIG1vcmUgZWZmaWNpZW50IGFuZCBsZXNzIHZ1bG5lcmFibGUgdG8KLVNRTCBpbmplY3Rpb24gYXR0YWNrcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNRTF9QUkVQQVJFRF9TVEFURU1FTlRfR0VORVJBVEVEX0ZST01fTk9OQ09OU1RBTlRfU1RSSU5HIj5TUUw6IEEgcHJlcGFyZWQgc3RhdGVtZW50IGlzIGdlbmVyYXRlZCBmcm9tIGEgbm9uY29uc3RhbnQgU3RyaW5nIChTUUxfUFJFUEFSRURfU1RBVEVNRU5UX0dFTkVSQVRFRF9GUk9NX05PTkNPTlNUQU5UX1NUUklORyk8L2E+PC9oMz4KLQotCi0gIDxwPlRoZSBjb2RlIGNyZWF0ZXMgYW4gU1FMIHByZXBhcmVkIHN0YXRlbWVudCBmcm9tIGEgbm9uY29uc3RhbnQgU3RyaW5nLgotSWYgdW5jaGVja2VkLCB0YWludGVkIGRhdGEgZnJvbSBhIHVzZXIgaXMgdXNlZCBpbiBidWlsZGluZyB0aGlzIFN0cmluZywgU1FMIGluamVjdGlvbiBjb3VsZAotYmUgdXNlZCB0byBtYWtlIHRoZSBwcmVwYXJlZCBzdGF0ZW1lbnQgZG8gc29tZXRoaW5nIHVuZXhwZWN0ZWQgYW5kIHVuZGVzaXJhYmxlLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iWFNTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX0pTUF9XUklURVIiPlhTUzogSlNQIHJlZmxlY3RlZCBjcm9zcyBzaXRlIHNjcmlwdGluZyB2dWxuZXJhYmlsaXR5IChYU1NfUkVRVUVTVF9QQVJBTUVURVJfVE9fSlNQX1dSSVRFUik8L2E+PC9oMz4KLQotCi0gICAgPHA+VGhpcyBjb2RlIGRpcmVjdGx5IHdyaXRlcyBhbiBIVFRQIHBhcmFtZXRlciB0byBKU1Agb3V0cHV0LCB3aGljaCBhbGxvd3MgZm9yIGEgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcKLXZ1bG5lcmFiaWxpdHkuIFNlZSA8YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nyb3NzLXNpdGVfc2NyaXB0aW5nIj5odHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nyb3NzLXNpdGVfc2NyaXB0aW5nPC9hPgotZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgotPHA+RmluZEJ1Z3MgbG9va3Mgb25seSBmb3IgdGhlIG1vc3QgYmxhdGFudCwgb2J2aW91cyBjYXNlcyBvZiBjcm9zcyBzaXRlIHNjcmlwdGluZy4KLUlmIEZpbmRCdWdzIGZvdW5kIDxlbT5hbnk8L2VtPiwgeW91IDxlbT5hbG1vc3QgY2VydGFpbmx5PC9lbT4gaGF2ZSBtb3JlIGNyb3NzIHNpdGUgc2NyaXB0aW5nCi12dWxuZXJhYmlsaXRpZXMgdGhhdCBGaW5kQnVncyBkb2Vzbid0IHJlcG9ydC4gSWYgeW91IGFyZSBjb25jZXJuZWQgYWJvdXQgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcsIHlvdSBzaG91bGQgc2VyaW91c2x5Ci1jb25zaWRlciB1c2luZyBhIGNvbW1lcmNpYWwgc3RhdGljIGFuYWx5c2lzIG9yIHBlbi10ZXN0aW5nIHRvb2wuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJYU1NfUkVRVUVTVF9QQVJBTUVURVJfVE9fU0VORF9FUlJPUiI+WFNTOiBTZXJ2bGV0IHJlZmxlY3RlZCBjcm9zcyBzaXRlIHNjcmlwdGluZyB2dWxuZXJhYmlsaXR5IGluIGVycm9yIHBhZ2UgKFhTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19TRU5EX0VSUk9SKTwvYT48L2gzPgotCi0KLSAgICA8cD5UaGlzIGNvZGUgZGlyZWN0bHkgd3JpdGVzIGFuIEhUVFAgcGFyYW1ldGVyIHRvIGEgU2VydmVyIGVycm9yIHBhZ2UgKHVzaW5nIEh0dHBTZXJ2bGV0UmVzcG9uc2Uuc2VuZEVycm9yKS4gRWNob2luZyB0aGlzIHVudHJ1c3RlZCBpbnB1dCBhbGxvd3MKLWZvciBhIHJlZmxlY3RlZCBjcm9zcyBzaXRlIHNjcmlwdGluZwotdnVsbmVyYWJpbGl0eS4gU2VlIDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3Jvc3Mtc2l0ZV9zY3JpcHRpbmciPmh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3Jvc3Mtc2l0ZV9zY3JpcHRpbmc8L2E+Ci1mb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+Ci08cD5GaW5kQnVncyBsb29rcyBvbmx5IGZvciB0aGUgbW9zdCBibGF0YW50LCBvYnZpb3VzIGNhc2VzIG9mIGNyb3NzIHNpdGUgc2NyaXB0aW5nLgotSWYgRmluZEJ1Z3MgZm91bmQgPGVtPmFueTwvZW0+LCB5b3UgPGVtPmFsbW9zdCBjZXJ0YWlubHk8L2VtPiBoYXZlIG1vcmUgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcKLXZ1bG5lcmFiaWxpdGllcyB0aGF0IEZpbmRCdWdzIGRvZXNuJ3QgcmVwb3J0LiBJZiB5b3UgYXJlIGNvbmNlcm5lZCBhYm91dCBjcm9zcyBzaXRlIHNjcmlwdGluZywgeW91IHNob3VsZCBzZXJpb3VzbHkKLWNvbnNpZGVyIHVzaW5nIGEgY29tbWVyY2lhbCBzdGF0aWMgYW5hbHlzaXMgb3IgcGVuLXRlc3RpbmcgdG9vbC4KLTwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iWFNTX1JFUVVFU1RfUEFSQU1FVEVSX1RPX1NFUlZMRVRfV1JJVEVSIj5YU1M6IFNlcnZsZXQgcmVmbGVjdGVkIGNyb3NzIHNpdGUgc2NyaXB0aW5nIHZ1bG5lcmFiaWxpdHkgKFhTU19SRVFVRVNUX1BBUkFNRVRFUl9UT19TRVJWTEVUX1dSSVRFUik8L2E+PC9oMz4KLQotCi0gICAgPHA+VGhpcyBjb2RlIGRpcmVjdGx5IHdyaXRlcyBhbiBIVFRQIHBhcmFtZXRlciB0byBTZXJ2bGV0IG91dHB1dCwgd2hpY2ggYWxsb3dzIGZvciBhIHJlZmxlY3RlZCBjcm9zcyBzaXRlIHNjcmlwdGluZwotdnVsbmVyYWJpbGl0eS4gU2VlIDxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3Jvc3Mtc2l0ZV9zY3JpcHRpbmciPmh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3Jvc3Mtc2l0ZV9zY3JpcHRpbmc8L2E+Ci1mb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+Ci08cD5GaW5kQnVncyBsb29rcyBvbmx5IGZvciB0aGUgbW9zdCBibGF0YW50LCBvYnZpb3VzIGNhc2VzIG9mIGNyb3NzIHNpdGUgc2NyaXB0aW5nLgotSWYgRmluZEJ1Z3MgZm91bmQgPGVtPmFueTwvZW0+LCB5b3UgPGVtPmFsbW9zdCBjZXJ0YWlubHk8L2VtPiBoYXZlIG1vcmUgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcKLXZ1bG5lcmFiaWxpdGllcyB0aGF0IEZpbmRCdWdzIGRvZXNuJ3QgcmVwb3J0LiBJZiB5b3UgYXJlIGNvbmNlcm5lZCBhYm91dCBjcm9zcyBzaXRlIHNjcmlwdGluZywgeW91IHNob3VsZCBzZXJpb3VzbHkKLWNvbnNpZGVyIHVzaW5nIGEgY29tbWVyY2lhbCBzdGF0aWMgYW5hbHlzaXMgb3IgcGVuLXRlc3RpbmcgdG9vbC4KLTwvcD4KLQotCi0gICAgCi08aDM+PGEgbmFtZT0iQkNfQkFEX0NBU1RfVE9fQUJTVFJBQ1RfQ09MTEVDVElPTiI+QkM6IFF1ZXN0aW9uYWJsZSBjYXN0IHRvIGFic3RyYWN0IGNvbGxlY3Rpb24gIChCQ19CQURfQ0FTVF9UT19BQlNUUkFDVF9DT0xMRUNUSU9OKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjb2RlIGNhc3RzIGEgQ29sbGVjdGlvbiB0byBhbiBhYnN0cmFjdCBjb2xsZWN0aW9uCi0oc3VjaCBhcyA8Y29kZT5MaXN0PC9jb2RlPiwgPGNvZGU+U2V0PC9jb2RlPiwgb3IgPGNvZGU+TWFwPC9jb2RlPikuCi1FbnN1cmUgdGhhdCB5b3UgYXJlIGd1YXJhbnRlZWQgdGhhdCB0aGUgb2JqZWN0IGlzIG9mIHRoZSB0eXBlCi15b3UgYXJlIGNhc3RpbmcgdG8uIElmIGFsbCB5b3UgbmVlZCBpcyB0byBiZSBhYmxlCi10byBpdGVyYXRlIHRocm91Z2ggYSBjb2xsZWN0aW9uLCB5b3UgZG9uJ3QgbmVlZCB0byBjYXN0IGl0IHRvIGEgU2V0IG9yIExpc3QuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCQ19CQURfQ0FTVF9UT19DT05DUkVURV9DT0xMRUNUSU9OIj5CQzogUXVlc3Rpb25hYmxlIGNhc3QgdG8gY29uY3JldGUgY29sbGVjdGlvbiAoQkNfQkFEX0NBU1RfVE9fQ09OQ1JFVEVfQ09MTEVDVElPTik8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBjYXN0cyBhbiBhYnN0cmFjdCBjb2xsZWN0aW9uIChzdWNoIGFzIGEgQ29sbGVjdGlvbiwgTGlzdCwgb3IgU2V0KQotdG8gYSBzcGVjaWZpYyBjb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiAoc3VjaCBhcyBhbiBBcnJheUxpc3Qgb3IgSGFzaFNldCkuCi1UaGlzIG1pZ2h0IG5vdCBiZSBjb3JyZWN0LCBhbmQgaXQgbWF5IG1ha2UgeW91ciBjb2RlIGZyYWdpbGUsIHNpbmNlCi1pdCBtYWtlcyBpdCBoYXJkZXIgdG8gc3dpdGNoIHRvIG90aGVyIGNvbmNyZXRlIGltcGxlbWVudGF0aW9ucyBhdCBhIGZ1dHVyZQotcG9pbnQuIFVubGVzcyB5b3UgaGF2ZSBhIHBhcnRpY3VsYXIgcmVhc29uIHRvIGRvIHNvLCBqdXN0IHVzZSB0aGUgYWJzdHJhY3QKLWNvbGxlY3Rpb24gY2xhc3MuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCQ19VTkNPTkZJUk1FRF9DQVNUIj5CQzogVW5jaGVja2VkL3VuY29uZmlybWVkIGNhc3QgKEJDX1VOQ09ORklSTUVEX0NBU1QpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNhc3QgaXMgdW5jaGVja2VkLCBhbmQgbm90IGFsbCBpbnN0YW5jZXMgb2YgdGhlIHR5cGUgY2FzdGVkIGZyb20gY2FuIGJlIGNhc3QgdG8KLXRoZSB0eXBlIGl0IGlzIGJlaW5nIGNhc3QgdG8uIENoZWNrIHRoYXQgeW91ciBwcm9ncmFtIGxvZ2ljIGVuc3VyZXMgdGhhdCB0aGlzCi1jYXN0IHdpbGwgbm90IGZhaWwuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJCQ19VTkNPTkZJUk1FRF9DQVNUX09GX1JFVFVSTl9WQUxVRSI+QkM6IFVuY2hlY2tlZC91bmNvbmZpcm1lZCBjYXN0IG9mIHJldHVybiB2YWx1ZSBmcm9tIG1ldGhvZCAoQkNfVU5DT05GSVJNRURfQ0FTVF9PRl9SRVRVUk5fVkFMVUUpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgcGVyZm9ybXMgYW4gdW5jaGVja2VkIGNhc3Qgb2YgdGhlIHJldHVybiB2YWx1ZSBvZiBhIG1ldGhvZC4KLVRoZSBjb2RlIG1pZ2h0IGJlIGNhbGxpbmcgdGhlIG1ldGhvZCBpbiBzdWNoIGEgd2F5IHRoYXQgdGhlIGNhc3QgaXMgZ3VhcmFudGVlZCB0byBiZQotc2FmZSwgYnV0IEZpbmRCdWdzIGlzIHVuYWJsZSB0byB2ZXJpZnkgdGhhdCB0aGUgY2FzdCBpcyBzYWZlLiAgQ2hlY2sgdGhhdCB5b3VyIHByb2dyYW0gbG9naWMgZW5zdXJlcyB0aGF0IHRoaXMKLWNhc3Qgd2lsbCBub3QgZmFpbC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkJDX1ZBQ1VPVVNfSU5TVEFOQ0VPRiI+QkM6IGluc3RhbmNlb2Ygd2lsbCBhbHdheXMgcmV0dXJuIHRydWUgKEJDX1ZBQ1VPVVNfSU5TVEFOQ0VPRik8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgaW5zdGFuY2VvZiB0ZXN0IHdpbGwgYWx3YXlzIHJldHVybiB0cnVlICh1bmxlc3MgdGhlIHZhbHVlIGJlaW5nIHRlc3RlZCBpcyBudWxsKS4KLUFsdGhvdWdoIHRoaXMgaXMgc2FmZSwgbWFrZSBzdXJlIGl0IGlzbid0Ci1hbiBpbmRpY2F0aW9uIG9mIHNvbWUgbWlzdW5kZXJzdGFuZGluZyBvciBzb21lIG90aGVyIGxvZ2ljIGVycm9yLgotSWYgeW91IHJlYWxseSB3YW50IHRvIHRlc3QgdGhlIHZhbHVlIGZvciBiZWluZyBudWxsLCBwZXJoYXBzIGl0IHdvdWxkIGJlIGNsZWFyZXIgdG8gZG8KLWJldHRlciB0byBkbyBhIG51bGwgdGVzdCByYXRoZXIgdGhhbiBhbiBpbnN0YW5jZW9mIHRlc3QuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJQ0FTVF9RVUVTVElPTkFCTEVfVU5TSUdORURfUklHSFRfU0hJRlQiPkJTSElGVDogVW5zaWduZWQgcmlnaHQgc2hpZnQgY2FzdCB0byBzaG9ydC9ieXRlIChJQ0FTVF9RVUVTVElPTkFCTEVfVU5TSUdORURfUklHSFRfU0hJRlQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGUgY29kZSBwZXJmb3JtcyBhbiB1bnNpZ25lZCByaWdodCBzaGlmdCwgd2hvc2UgcmVzdWx0IGlzIHRoZW4KLWNhc3QgdG8gYSBzaG9ydCBvciBieXRlLCB3aGljaCBkaXNjYXJkcyB0aGUgdXBwZXIgYml0cyBvZiB0aGUgcmVzdWx0LgotU2luY2UgdGhlIHVwcGVyIGJpdHMgYXJlIGRpc2NhcmRlZCwgdGhlcmUgbWF5IGJlIG5vIGRpZmZlcmVuY2UgYmV0d2VlbgotYSBzaWduZWQgYW5kIHVuc2lnbmVkIHJpZ2h0IHNoaWZ0IChkZXBlbmRpbmcgdXBvbiB0aGUgc2l6ZSBvZiB0aGUgc2hpZnQpLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iQ0lfQ09ORlVTRURfSU5IRVJJVEFOQ0UiPkNJOiBDbGFzcyBpcyBmaW5hbCBidXQgZGVjbGFyZXMgcHJvdGVjdGVkIGZpZWxkIChDSV9DT05GVVNFRF9JTkhFUklUQU5DRSk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFRoaXMgY2xhc3MgaXMgZGVjbGFyZWQgdG8gYmUgZmluYWwsIGJ1dCBkZWNsYXJlcyBmaWVsZHMgdG8gYmUgcHJvdGVjdGVkLiBTaW5jZSB0aGUgY2xhc3MKLSAgICAgIGlzIGZpbmFsLCBpdCBjYW4gbm90IGJlIGRlcml2ZWQgZnJvbSwgYW5kIHRoZSB1c2Ugb2YgcHJvdGVjdGVkIGlzIGNvbmZ1c2luZy4gVGhlIGFjY2VzcwotICAgICAgbW9kaWZpZXIgZm9yIHRoZSBmaWVsZCBzaG91bGQgYmUgY2hhbmdlZCB0byBwcml2YXRlIG9yIHB1YmxpYyB0byByZXByZXNlbnQgdGhlIHRydWUKLSAgICAgIHVzZSBmb3IgdGhlIGZpZWxkLgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iREJfRFVQTElDQVRFX0JSQU5DSEVTIj5EQjogTWV0aG9kIHVzZXMgdGhlIHNhbWUgY29kZSBmb3IgdHdvIGJyYW5jaGVzIChEQl9EVVBMSUNBVEVfQlJBTkNIRVMpPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBUaGlzIG1ldGhvZCB1c2VzIHRoZSBzYW1lIGNvZGUgdG8gaW1wbGVtZW50IHR3byBicmFuY2hlcyBvZiBhIGNvbmRpdGlvbmFsIGJyYW5jaC4KLSAgICBDaGVjayB0byBlbnN1cmUgdGhhdCB0aGlzIGlzbid0IGEgY29kaW5nIG1pc3Rha2UuCi0gICAgICA8L3A+Ci0gICAgICAKLSAgIAotPGgzPjxhIG5hbWU9IkRCX0RVUExJQ0FURV9TV0lUQ0hfQ0xBVVNFUyI+REI6IE1ldGhvZCB1c2VzIHRoZSBzYW1lIGNvZGUgZm9yIHR3byBzd2l0Y2ggY2xhdXNlcyAoREJfRFVQTElDQVRFX1NXSVRDSF9DTEFVU0VTKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgVGhpcyBtZXRob2QgdXNlcyB0aGUgc2FtZSBjb2RlIHRvIGltcGxlbWVudCB0d28gY2xhdXNlcyBvZiBhIHN3aXRjaCBzdGF0ZW1lbnQuCi0gICAgVGhpcyBjb3VsZCBiZSBhIGNhc2Ugb2YgZHVwbGljYXRlIGNvZGUsIGJ1dCBpdCBtaWdodCBhbHNvIGluZGljYXRlCi0gICAgYSBjb2RpbmcgbWlzdGFrZS4KLSAgICAgIDwvcD4KLSAgICAgIAotICAgCi08aDM+PGEgbmFtZT0iRExTX0RFQURfTE9DQUxfU1RPUkUiPkRMUzogRGVhZCBzdG9yZSB0byBsb2NhbCB2YXJpYWJsZSAoRExTX0RFQURfTE9DQUxfU1RPUkUpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGluc3RydWN0aW9uIGFzc2lnbnMgYSB2YWx1ZSB0byBhIGxvY2FsIHZhcmlhYmxlLAotYnV0IHRoZSB2YWx1ZSBpcyBub3QgcmVhZCBvciB1c2VkIGluIGFueSBzdWJzZXF1ZW50IGluc3RydWN0aW9uLgotT2Z0ZW4sIHRoaXMgaW5kaWNhdGVzIGFuIGVycm9yLCBiZWNhdXNlIHRoZSB2YWx1ZSBjb21wdXRlZCBpcyBuZXZlcgotdXNlZC4KLTwvcD4KLTxwPgotTm90ZSB0aGF0IFN1bidzIGphdmFjIGNvbXBpbGVyIG9mdGVuIGdlbmVyYXRlcyBkZWFkIHN0b3JlcyBmb3IKLWZpbmFsIGxvY2FsIHZhcmlhYmxlcy4gIEJlY2F1c2UgRmluZEJ1Z3MgaXMgYSBieXRlY29kZS1iYXNlZCB0b29sLAotdGhlcmUgaXMgbm8gZWFzeSB3YXkgdG8gZWxpbWluYXRlIHRoZXNlIGZhbHNlIHBvc2l0aXZlcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRMU19ERUFEX0xPQ0FMX1NUT1JFX0lOX1JFVFVSTiI+RExTOiBVc2VsZXNzIGFzc2lnbm1lbnQgaW4gcmV0dXJuIHN0YXRlbWVudCAoRExTX0RFQURfTE9DQUxfU1RPUkVfSU5fUkVUVVJOKTwvYT48L2gzPgotCi0gICAgICAKLTxwPgotVGhpcyBzdGF0ZW1lbnQgYXNzaWducyB0byBhIGxvY2FsIHZhcmlhYmxlIGluIGEgcmV0dXJuIHN0YXRlbWVudC4gVGhpcyBhc3NpZ25tZW50Ci1oYXMgZWZmZWN0LiBQbGVhc2UgdmVyaWZ5IHRoYXQgdGhpcyBzdGF0ZW1lbnQgZG9lcyB0aGUgcmlnaHQgdGhpbmcuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETFNfREVBRF9MT0NBTF9TVE9SRV9PRl9OVUxMIj5ETFM6IERlYWQgc3RvcmUgb2YgbnVsbCB0byBsb2NhbCB2YXJpYWJsZSAoRExTX0RFQURfTE9DQUxfU1RPUkVfT0ZfTlVMTCk8L2E+PC9oMz4KLQotCi08cD5UaGUgY29kZSBzdG9yZXMgbnVsbCBpbnRvIGEgbG9jYWwgdmFyaWFibGUsIGFuZCB0aGUgc3RvcmVkIHZhbHVlIGlzIG5vdAotcmVhZC4gVGhpcyBzdG9yZSBtYXkgaGF2ZSBiZWVuIGludHJvZHVjZWQgdG8gYXNzaXN0IHRoZSBnYXJiYWdlIGNvbGxlY3RvciwgYnV0Ci1hcyBvZiBKYXZhIFNFIDYuMCwgdGhpcyBpcyBubyBsb25nZXIgbmVlZGVkIG9yIHVzZWZ1bC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRMU19ERUFEX0xPQ0FMX1NUT1JFX1NIQURPV1NfRklFTEQiPkRMUzogRGVhZCBzdG9yZSB0byBsb2NhbCB2YXJpYWJsZSB0aGF0IHNoYWRvd3MgZmllbGQgKERMU19ERUFEX0xPQ0FMX1NUT1JFX1NIQURPV1NfRklFTEQpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGluc3RydWN0aW9uIGFzc2lnbnMgYSB2YWx1ZSB0byBhIGxvY2FsIHZhcmlhYmxlLAotYnV0IHRoZSB2YWx1ZSBpcyBub3QgcmVhZCBvciB1c2VkIGluIGFueSBzdWJzZXF1ZW50IGluc3RydWN0aW9uLgotT2Z0ZW4sIHRoaXMgaW5kaWNhdGVzIGFuIGVycm9yLCBiZWNhdXNlIHRoZSB2YWx1ZSBjb21wdXRlZCBpcyBuZXZlcgotdXNlZC4gVGhlcmUgaXMgYSBmaWVsZCB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGxvY2FsIHZhcmlhYmxlLiBEaWQgeW91Ci1tZWFuIHRvIGFzc2lnbiB0byB0aGF0IHZhcmlhYmxlIGluc3RlYWQ/Ci08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJETUlfSEFSRENPREVEX0FCU09MVVRFX0ZJTEVOQU1FIj5ETUk6IENvZGUgY29udGFpbnMgYSBoYXJkIGNvZGVkIHJlZmVyZW5jZSB0byBhbiBhYnNvbHV0ZSBwYXRobmFtZSAoRE1JX0hBUkRDT0RFRF9BQlNPTFVURV9GSUxFTkFNRSk8L2E+PC9oMz4KLQotCi08cD5UaGlzIGNvZGUgY29uc3RydWN0cyBhIEZpbGUgb2JqZWN0IHVzaW5nIGEgaGFyZCBjb2RlZCB0byBhbiBhYnNvbHV0ZSBwYXRobmFtZQotKGUuZy4sIDxjb2RlPm5ldyBGaWxlKCIvaG9tZS9kYW5ueWMvd29ya3NwYWNlL2oyZWUvc3JjL3NoYXJlL2NvbS9zdW4vZW50ZXJwcmlzZS9kZXBsb3ltZW50Iik7PC9jb2RlPgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX05PTlNFUklBTElaQUJMRV9PQkpFQ1RfV1JJVFRFTiI+RE1JOiBOb24gc2VyaWFsaXphYmxlIG9iamVjdCB3cml0dGVuIHRvIE9iamVjdE91dHB1dCAoRE1JX05PTlNFUklBTElaQUJMRV9PQkpFQ1RfV1JJVFRFTik8L2E+PC9oMz4KLQotCi08cD4KLVRoaXMgY29kZSBzZWVtcyB0byBiZSBwYXNzaW5nIGEgbm9uLXNlcmlhbGl6YWJsZSBvYmplY3QgdG8gdGhlIE9iamVjdE91dHB1dC53cml0ZU9iamVjdCBtZXRob2QuCi1JZiB0aGUgb2JqZWN0IGlzLCBpbmRlZWQsIG5vbi1zZXJpYWxpemFibGUsIGFuIGVycm9yIHdpbGwgcmVzdWx0LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRE1JX1VTRUxFU1NfU1VCU1RSSU5HIj5ETUk6IEludm9jYXRpb24gb2Ygc3Vic3RyaW5nKDApLCB3aGljaCByZXR1cm5zIHRoZSBvcmlnaW5hbCB2YWx1ZSAoRE1JX1VTRUxFU1NfU1VCU1RSSU5HKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjb2RlIGludm9rZXMgc3Vic3RyaW5nKDApIG9uIGEgU3RyaW5nLCB3aGljaCByZXR1cm5zIHRoZSBvcmlnaW5hbCB2YWx1ZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkRNSV9USFJFQURfUEFTU0VEX1dIRVJFX1JVTk5BQkxFX0VYUEVDVEVEIj5EbTogVGhyZWFkIHBhc3NlZCB3aGVyZSBSdW5uYWJsZSBleHBlY3RlZCAoRE1JX1RIUkVBRF9QQVNTRURfV0hFUkVfUlVOTkFCTEVfRVhQRUNURUQpPC9hPjwvaDM+Ci0KLQotICA8cD4gQSBUaHJlYWQgb2JqZWN0IGlzIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0byBhIG1ldGhvZCB3aGVyZQotYSBSdW5uYWJsZSBpcyBleHBlY3RlZC4gVGhpcyBpcyByYXRoZXIgdW51c3VhbCwgYW5kIG1heSBpbmRpY2F0ZSBhIGxvZ2ljIGVycm9yCi1vciBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLgotICAgPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iRVFfRE9FU05UX09WRVJSSURFX0VRVUFMUyI+RXE6IENsYXNzIGRvZXNuJ3Qgb3ZlcnJpZGUgZXF1YWxzIGluIHN1cGVyY2xhc3MgKEVRX0RPRVNOVF9PVkVSUklERV9FUVVBTFMpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBjbGFzcyBleHRlbmRzIGEgY2xhc3MgdGhhdCBkZWZpbmVzIGFuIGVxdWFscyBtZXRob2QgYW5kIGFkZHMgZmllbGRzLCBidXQgZG9lc24ndAotZGVmaW5lIGFuIGVxdWFscyBtZXRob2QgaXRzZWxmLiBUaHVzLCBlcXVhbGl0eSBvbiBpbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyB3aWxsCi1pZ25vcmUgdGhlIGlkZW50aXR5IG9mIHRoZSBzdWJjbGFzcyBhbmQgdGhlIGFkZGVkIGZpZWxkcy4gQmUgc3VyZSB0aGlzIGlzIHdoYXQgaXMgaW50ZW5kZWQsCi1hbmQgdGhhdCB5b3UgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aGUgZXF1YWxzIG1ldGhvZC4gRXZlbiBpZiB5b3UgZG9uJ3QgbmVlZCB0byBvdmVycmlkZQotdGhlIGVxdWFscyBtZXRob2QsIGNvbnNpZGVyIG92ZXJyaWRpbmcgaXQgYW55d2F5IHRvIGRvY3VtZW50IHRoZSBmYWN0Ci10aGF0IHRoZSBlcXVhbHMgbWV0aG9kIGZvciB0aGUgc3ViY2xhc3MganVzdCByZXR1cm4gdGhlIHJlc3VsdCBvZgotaW52b2tpbmcgc3VwZXIuZXF1YWxzKG8pLgotICA8L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJFUV9VTlVTVUFMIj5FcTogVW51c3VhbCBlcXVhbHMgbWV0aG9kICAoRVFfVU5VU1VBTCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRvZXNuJ3QgZG8gYW55IG9mIHRoZSBwYXR0ZXJucyB3ZSByZWNvZ25pemUgZm9yIGNoZWNraW5nIHRoYXQgdGhlIHR5cGUgb2YgdGhlIGFyZ3VtZW50Ci1pcyBjb21wYXRpYmxlIHdpdGggdGhlIHR5cGUgb2YgdGhlIDxjb2RlPnRoaXM8L2NvZGU+IG9iamVjdC4gVGhlcmUgbWlnaHQgbm90IGJlIGFueXRoaW5nIHdyb25nIHdpdGgKLXRoaXMgY29kZSwgYnV0IGl0IGlzIHdvcnRoIHJldmlld2luZy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IkZFX0ZMT0FUSU5HX1BPSU5UX0VRVUFMSVRZIj5GRTogVGVzdCBmb3IgZmxvYXRpbmcgcG9pbnQgZXF1YWxpdHkgKEZFX0ZMT0FUSU5HX1BPSU5UX0VRVUFMSVRZKTwvYT48L2gzPgotCi0gICAKLSAgICA8cD4KLSAgICBUaGlzIG9wZXJhdGlvbiBjb21wYXJlcyB0d28gZmxvYXRpbmcgcG9pbnQgdmFsdWVzIGZvciBlcXVhbGl0eS4KLSAgICBCZWNhdXNlIGZsb2F0aW5nIHBvaW50IGNhbGN1bGF0aW9ucyBtYXkgaW52b2x2ZSByb3VuZGluZywKLSAgIGNhbGN1bGF0ZWQgZmxvYXQgYW5kIGRvdWJsZSB2YWx1ZXMgbWF5IG5vdCBiZSBhY2N1cmF0ZS4KLSAgICBGb3IgdmFsdWVzIHRoYXQgbXVzdCBiZSBwcmVjaXNlLCBzdWNoIGFzIG1vbmV0YXJ5IHZhbHVlcywKLSAgIGNvbnNpZGVyIHVzaW5nIGEgZml4ZWQtcHJlY2lzaW9uIHR5cGUgc3VjaCBhcyBCaWdEZWNpbWFsLgotICAgIEZvciB2YWx1ZXMgdGhhdCBuZWVkIG5vdCBiZSBwcmVjaXNlLCBjb25zaWRlciBjb21wYXJpbmcgZm9yIGVxdWFsaXR5Ci0gICAgd2l0aGluIHNvbWUgcmFuZ2UsIGZvciBleGFtcGxlOgotICAgIDxjb2RlPmlmICggTWF0aC5hYnMoeCAtIHkpICZsdDsgLjAwMDAwMDEgKTwvY29kZT4uCi0gICBTZWUgdGhlIEphdmEgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbiwgc2VjdGlvbiA0LjIuNC4KLSAgICA8L3A+Ci0gICAgCi0gICAgIAotPGgzPjxhIG5hbWU9IlZBX0ZPUk1BVF9TVFJJTkdfQkFEX0NPTlZFUlNJT05fVE9fQk9PTEVBTiI+RlM6IE5vbi1Cb29sZWFuIGFyZ3VtZW50IGZvcm1hdHRlZCB1c2luZyAlYiBmb3JtYXQgc3BlY2lmaWVyIChWQV9GT1JNQVRfU1RSSU5HX0JBRF9DT05WRVJTSU9OX1RPX0JPT0xFQU4pPC9hPjwvaDM+Ci0KLQotPHA+Ci1BbiBhcmd1bWVudCBub3Qgb2YgdHlwZSBCb29sZWFuIGlzIGJlaW5nIGZvcm1hdHRlZCB3aXRoIGEgJWIgZm9ybWF0IHNwZWNpZmllci4gVGhpcyB3b24ndCB0aHJvdyBhbgotZXhjZXB0aW9uOyBpbnN0ZWFkLCBpdCB3aWxsIHByaW50IHRydWUgZm9yIGFueSBub25udWxsIHZhbHVlLCBhbmQgZmFsc2UgZm9yIG51bGwuCi1UaGlzIGZlYXR1cmUgb2YgZm9ybWF0IHN0cmluZ3MgaXMgc3RyYW5nZSwgYW5kIG1heSBub3QgYmUgd2hhdCB5b3UgaW50ZW5kZWQuCi08L3A+Ci0KLSAgICAgCi08aDM+PGEgbmFtZT0iSUFfQU1CSUdVT1VTX0lOVk9DQVRJT05fT0ZfSU5IRVJJVEVEX09SX09VVEVSX01FVEhPRCI+SUE6IFBvdGVudGlhbGx5IGFtYmlndW91cyBpbnZvY2F0aW9uIG9mIGVpdGhlciBhbiBpbmhlcml0ZWQgb3Igb3V0ZXIgbWV0aG9kIChJQV9BTUJJR1VPVVNfSU5WT0NBVElPTl9PRl9JTkhFUklURURfT1JfT1VURVJfTUVUSE9EKTwvYT48L2gzPgotCi0KLSAgPHA+IAotQW4gaW5uZXIgY2xhc3MgaXMgaW52b2tpbmcgYSBtZXRob2QgdGhhdCBjb3VsZCBiZSByZXNvbHZlZCB0byBlaXRoZXIgYSBpbmhlcml0ZWQgbWV0aG9kIG9yIGEgbWV0aG9kIGRlZmluZWQgaW4gYW4gb3V0ZXIgY2xhc3MuIAotRm9yIGV4YW1wbGUsIHlvdSBpbnZva2UgPGNvZGU+Zm9vKDE3KTwvY29kZT4sIHdoaWNoIGlzIGRlZmluZWQgaW4gYm90aCBhIHN1cGVyY2xhc3MgYW5kIGluIGFuIG91dGVyIG1ldGhvZC4KLUJ5IHRoZSBKYXZhIHNlbWFudGljcywKLWl0IHdpbGwgYmUgcmVzb2x2ZWQgdG8gaW52b2tlIHRoZSBpbmhlcml0ZWQgbWV0aG9kLCBidXQgdGhpcyBtYXkgbm90IGJlIHdhbnQKLXlvdSBpbnRlbmQuIAotPC9wPgotPHA+SWYgeW91IHJlYWxseSBpbnRlbmQgdG8gaW52b2tlIHRoZSBpbmhlcml0ZWQgbWV0aG9kLAotaW52b2tlIGl0IGJ5IGludm9raW5nIHRoZSBtZXRob2Qgb24gc3VwZXIgKGUuZy4sIGludm9rZSBzdXBlci5mb28oMTcpKSwgYW5kCi10aHVzIGl0IHdpbGwgYmUgY2xlYXIgdG8gb3RoZXIgcmVhZGVycyBvZiB5b3VyIGNvZGUgYW5kIHRvIEZpbmRCdWdzCi10aGF0IHlvdSB3YW50IHRvIGludm9rZSB0aGUgaW5oZXJpdGVkIG1ldGhvZCwgbm90IHRoZSBtZXRob2QgaW4gdGhlIG91dGVyIGNsYXNzLgotPC9wPgotPHA+SWYgeW91IGNhbGwgPGNvZGU+dGhpcy5mb28oMTcpPC9jb2RlPiwgdGhlbiB0aGUgaW5oZXJpdGVkIG1ldGhvZCB3aWxsIGJlIGludm9rZWQuIEhvd2V2ZXIsIHNpbmNlIEZpbmRCdWdzIG9ubHkgbG9va3MgYXQKLWNsYXNzZmlsZXMsIGl0IAotY2FuJ3QgdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGFuIGludm9jYXRpb24gb2YgPGNvZGU+dGhpcy5mb28oMTcpPC9jb2RlPiBhbmQgPGNvZGU+Zm9vKDE3KTwvY29kZT4sIGl0IHdpbGwgc3RpbGwKLWNvbXBsYWluIGFib3V0IGEgcG90ZW50aWFsIGFtYmlndW91cyBpbnZvY2F0aW9uLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUNfSU5JVF9DSVJDVUxBUklUWSI+SUM6IEluaXRpYWxpemF0aW9uIGNpcmN1bGFyaXR5IChJQ19JTklUX0NJUkNVTEFSSVRZKTwvYT48L2gzPgotCi0KLSAgPHA+IEEgY2lyY3VsYXJpdHkgd2FzIGRldGVjdGVkIGluIHRoZSBzdGF0aWMgaW5pdGlhbGl6ZXJzIG9mIHRoZSB0d28KLSAgY2xhc3NlcyByZWZlcmVuY2VkIGJ5IHRoZSBidWcgaW5zdGFuY2UuJm5ic3A7IE1hbnkga2luZHMgb2YgdW5leHBlY3RlZAotICBiZWhhdmlvciBtYXkgYXJpc2UgZnJvbSBzdWNoIGNpcmN1bGFyaXR5LjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IklDQVNUX0lESVZfQ0FTVF9UT19ET1VCTEUiPklDQVNUOiBJbnRlZ3JhbCBkaXZpc2lvbiByZXN1bHQgY2FzdCB0byBkb3VibGUgb3IgZmxvYXQgKElDQVNUX0lESVZfQ0FTVF9UT19ET1VCTEUpPC9hPjwvaDM+Ci0KLQotPHA+Ci1UaGlzIGNvZGUgY2FzdHMgdGhlIHJlc3VsdCBvZiBhbiBpbnRlZ3JhbCBkaXZpc2lvbiAoZS5nLiwgaW50IG9yIGxvbmcgZGl2aXNpb24pCi1vcGVyYXRpb24gdG8gZG91YmxlIG9yCi1mbG9hdC4KLURvaW5nIGRpdmlzaW9uIG9uIGludGVnZXJzIHRydW5jYXRlcyB0aGUgcmVzdWx0Ci10byB0aGUgaW50ZWdlciB2YWx1ZSBjbG9zZXN0IHRvIHplcm8uICBUaGUgZmFjdCB0aGF0IHRoZSByZXN1bHQKLXdhcyBjYXN0IHRvIGRvdWJsZSBzdWdnZXN0cyB0aGF0IHRoaXMgcHJlY2lzaW9uIHNob3VsZCBoYXZlIGJlZW4gcmV0YWluZWQuCi1XaGF0IHdhcyBwcm9iYWJseSBtZWFudCB3YXMgdG8gY2FzdCBvbmUgb3IgYm90aCBvZiB0aGUgb3BlcmFuZHMgdG8KLWRvdWJsZSA8ZW0+YmVmb3JlPC9lbT4gcGVyZm9ybWluZyB0aGUgZGl2aXNpb24uICBIZXJlIGlzIGFuIGV4YW1wbGU6Ci08L3A+Ci08YmxvY2txdW90ZT4KLTxwcmU+Ci1pbnQgeCA9IDI7Ci1pbnQgeSA9IDU7Ci0vLyBXcm9uZzogeWllbGRzIHJlc3VsdCAwLjAKLWRvdWJsZSB2YWx1ZTEgPSAgeCAvIHk7Ci0KLS8vIFJpZ2h0OiB5aWVsZHMgcmVzdWx0IDAuNAotZG91YmxlIHZhbHVlMiA9ICB4IC8gKGRvdWJsZSkgeTsKLTwvcHJlPgotPC9ibG9ja3F1b3RlPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSUNBU1RfSU5URUdFUl9NVUxUSVBMWV9DQVNUX1RPX0xPTkciPklDQVNUOiBSZXN1bHQgb2YgaW50ZWdlciBtdWx0aXBsaWNhdGlvbiBjYXN0IHRvIGxvbmcgKElDQVNUX0lOVEVHRVJfTVVMVElQTFlfQ0FTVF9UT19MT05HKTwvYT48L2gzPgotCi0KLTxwPgotVGhpcyBjb2RlIHBlcmZvcm1zIGludGVnZXIgbXVsdGlwbHkgYW5kIHRoZW4gY29udmVydHMgdGhlIHJlc3VsdCB0byBhIGxvbmcsCi1hcyBpbjo8L3A+Ci08cHJlPgotICAgIGxvbmcgY29udmVydERheXNUb01pbGxpc2Vjb25kcyhpbnQgZGF5cykgeyByZXR1cm4gMTAwMCozNjAwKjI0KmRheXM7IH0KLTwvcHJlPgotPHA+Ci1JZiB0aGUgbXVsdGlwbGljYXRpb24gaXMgZG9uZSB1c2luZyBsb25nIGFyaXRobWV0aWMsIHlvdSBjYW4gYXZvaWQKLXRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSByZXN1bHQgd2lsbCBvdmVyZmxvdy4gRm9yIGV4YW1wbGUsIHlvdQotY291bGQgZml4IHRoZSBhYm92ZSBjb2RlIHRvOjwvcD4KLTxwcmU+Ci0gICAgbG9uZyBjb252ZXJ0RGF5c1RvTWlsbGlzZWNvbmRzKGludCBkYXlzKSB7IHJldHVybiAxMDAwTCozNjAwKjI0KmRheXM7IH0KLTwvcHJlPgotb3IKLTxwcmU+Ci0gICAgc3RhdGljIGZpbmFsIGxvbmcgTUlMTElTRUNPTkRTX1BFUl9EQVkgPSAyNEwqMzYwMCoxMDAwOwotICAgIGxvbmcgY29udmVydERheXNUb01pbGxpc2Vjb25kcyhpbnQgZGF5cykgeyByZXR1cm4gZGF5cyAqIE1JTExJU0VDT05EU19QRVJfREFZOyB9Ci08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IklNX0FWRVJBR0VfQ09NUFVUQVRJT05fQ09VTERfT1ZFUkZMT1ciPklNOiBDb21wdXRhdGlvbiBvZiBhdmVyYWdlIGNvdWxkIG92ZXJmbG93IChJTV9BVkVSQUdFX0NPTVBVVEFUSU9OX0NPVUxEX09WRVJGTE9XKTwvYT48L2gzPgotCi0KLTxwPlRoZSBjb2RlIGNvbXB1dGVzIHRoZSBhdmVyYWdlIG9mIHR3byBpbnRlZ2VycyB1c2luZyBlaXRoZXIgZGl2aXNpb24gb3Igc2lnbmVkIHJpZ2h0IHNoaWZ0LAotYW5kIHRoZW4gdXNlcyB0aGUgcmVzdWx0IGFzIHRoZSBpbmRleCBvZiBhbiBhcnJheS4KLUlmIHRoZSB2YWx1ZXMgYmVpbmcgYXZlcmFnZWQgYXJlIHZlcnkgbGFyZ2UsIHRoaXMgY2FuIG92ZXJmbG93IChyZXN1bHRpbmcgaW4gdGhlIGNvbXB1dGF0aW9uCi1vZiBhIG5lZ2F0aXZlIGF2ZXJhZ2UpLiAgQXNzdW1pbmcgdGhhdCB0aGUgcmVzdWx0IGlzIGludGVuZGVkIHRvIGJlIG5vbm5lZ2F0aXZlLCB5b3UKLWNhbiB1c2UgYW4gdW5zaWduZWQgcmlnaHQgc2hpZnQgaW5zdGVhZC4gSW4gb3RoZXIgd29yZHMsIHJhdGhlciB0aGF0IHVzaW5nIDxjb2RlPihsb3craGlnaCkvMjwvY29kZT4sCi11c2UgPGNvZGU+KGxvdytoaWdoKSAmZ3Q7Jmd0OyZndDsgMTwvY29kZT4KLTwvcD4KLTxwPlRoaXMgYnVnIGV4aXN0cyBpbiBtYW55IGVhcmxpZXIgaW1wbGVtZW50YXRpb25zIG9mIGJpbmFyeSBzZWFyY2ggYW5kIG1lcmdlIHNvcnQuCi1NYXJ0aW4gQnVjaGhvbHogPGEgaHJlZj0iaHR0cDovL2J1Z3Muc3VuLmNvbS9idWdkYXRhYmFzZS92aWV3X2J1Zy5kbz9idWdfaWQ9NjQxMjU0MSI+Zm91bmQgYW5kIGZpeGVkIGl0PC9hPgotaW4gdGhlIEpESyBsaWJyYXJpZXMsIGFuZCBKb3NodWEgQmxvY2gKLTxhIGhyZWY9Imh0dHA6Ly9nb29nbGVyZXNlYXJjaC5ibG9nc3BvdC5jb20vMjAwNi8wNi9leHRyYS1leHRyYS1yZWFkLWFsbC1hYm91dC1pdC1uZWFybHkuaHRtbCI+d2lkZWx5Ci1wdWJsaWNpemVkIHRoZSBidWcgcGF0dGVybjwvYT4uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJTV9CQURfQ0hFQ0tfRk9SX09ERCI+SU06IENoZWNrIGZvciBvZGRuZXNzIHRoYXQgd29uJ3Qgd29yayBmb3IgbmVnYXRpdmUgbnVtYmVycyAgKElNX0JBRF9DSEVDS19GT1JfT0REKTwvYT48L2gzPgotCi0KLTxwPgotVGhlIGNvZGUgdXNlcyB4ICUgMiA9PSAxIHRvIGNoZWNrIHRvIHNlZSBpZiBhIHZhbHVlIGlzIG9kZCwgYnV0IHRoaXMgd29uJ3Qgd29yawotZm9yIG5lZ2F0aXZlIG51bWJlcnMgKGUuZy4sICgtNSkgJSAyID09IC0xKS4gSWYgdGhpcyBjb2RlIGlzIGludGVuZGluZyB0byBjaGVjawotZm9yIG9kZG5lc3MsIGNvbnNpZGVyIHVzaW5nIHggJmFtcDsgMSA9PSAxLCBvciB4ICUgMiAhPSAwLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iSU5UX0JBRF9SRU1fQllfMSI+SU5UOiBJbnRlZ2VyIHJlbWFpbmRlciBtb2R1bG8gMSAoSU5UX0JBRF9SRU1fQllfMSk8L2E+PC9oMz4KLQotCi08cD4gQW55IGV4cHJlc3Npb24gKGV4cCAlIDEpIGlzIGd1YXJhbnRlZWQgdG8gYWx3YXlzIHJldHVybiB6ZXJvLgotRGlkIHlvdSBtZWFuIChleHAgJmFtcDsgMSkgb3IgKGV4cCAlIDIpIGluc3RlYWQ/Ci08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJTlRfVkFDVU9VU19CSVRfT1BFUkFUSU9OIj5JTlQ6IFZhY3VvdXMgYml0IG1hc2sgb3BlcmF0aW9uIG9uIGludGVnZXIgdmFsdWUgKElOVF9WQUNVT1VTX0JJVF9PUEVSQVRJT04pPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgaXMgYW4gaW50ZWdlciBiaXQgb3BlcmF0aW9uIChhbmQsIG9yLCBvciBleGNsdXNpdmUgb3IpIHRoYXQgZG9lc24ndCBkbyBhbnkgdXNlZnVsIHdvcmsKLShlLmcuLCA8Y29kZT52ICYgMHhmZmZmZmZmZjwvY29kZT4pLgotCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJJTlRfVkFDVU9VU19DT01QQVJJU09OIj5JTlQ6IFZhY3VvdXMgY29tcGFyaXNvbiBvZiBpbnRlZ2VyIHZhbHVlIChJTlRfVkFDVU9VU19DT01QQVJJU09OKTwvYT48L2gzPgotCi0KLTxwPiBUaGVyZSBpcyBhbiBpbnRlZ2VyIGNvbXBhcmlzb24gdGhhdCBhbHdheXMgcmV0dXJucwotdGhlIHNhbWUgdmFsdWUgKGUuZy4sIHggJmx0Oz0gSW50ZWdlci5NQVhfVkFMVUUpLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTVRJQV9TVVNQRUNUX1NFUlZMRVRfSU5TVEFOQ0VfRklFTEQiPk1USUE6IENsYXNzIGV4dGVuZHMgU2VydmxldCBjbGFzcyBhbmQgdXNlcyBpbnN0YW5jZSB2YXJpYWJsZXMgKE1USUFfU1VTUEVDVF9TRVJWTEVUX0lOU1RBTkNFX0ZJRUxEKTwvYT48L2gzPgotCi0gICAKLSAgICA8cD4KLSAgICBUaGlzIGNsYXNzIGV4dGVuZHMgZnJvbSBhIFNlcnZsZXQgY2xhc3MsIGFuZCB1c2VzIGFuIGluc3RhbmNlIG1lbWJlciB2YXJpYWJsZS4gU2luY2Ugb25seQotICAgIG9uZSBpbnN0YW5jZSBvZiBhIFNlcnZsZXQgY2xhc3MgaXMgY3JlYXRlZCBieSB0aGUgSjJFRSBmcmFtZXdvcmssIGFuZCB1c2VkIGluIGEKLSAgICBtdWx0aXRocmVhZGVkIHdheSwgdGhpcyBwYXJhZGlnbSBpcyBoaWdobHkgZGlzY291cmFnZWQgYW5kIG1vc3QgbGlrZWx5IHByb2JsZW1hdGljLiBDb25zaWRlcgotICAgIG9ubHkgdXNpbmcgbWV0aG9kIGxvY2FsIHZhcmlhYmxlcy4KLSAgICA8L3A+Ci0gICAgCi0gICAgICAKLTxoMz48YSBuYW1lPSJNVElBX1NVU1BFQ1RfU1RSVVRTX0lOU1RBTkNFX0ZJRUxEIj5NVElBOiBDbGFzcyBleHRlbmRzIFN0cnV0cyBBY3Rpb24gY2xhc3MgYW5kIHVzZXMgaW5zdGFuY2UgdmFyaWFibGVzIChNVElBX1NVU1BFQ1RfU1RSVVRTX0lOU1RBTkNFX0ZJRUxEKTwvYT48L2gzPgotCi0gICAKLSAgICA8cD4KLSAgICBUaGlzIGNsYXNzIGV4dGVuZHMgZnJvbSBhIFN0cnV0cyBBY3Rpb24gY2xhc3MsIGFuZCB1c2VzIGFuIGluc3RhbmNlIG1lbWJlciB2YXJpYWJsZS4gU2luY2Ugb25seQotICAgIG9uZSBpbnN0YW5jZSBvZiBhIHN0cnV0cyBBY3Rpb24gY2xhc3MgaXMgY3JlYXRlZCBieSB0aGUgU3RydXRzIGZyYW1ld29yaywgYW5kIHVzZWQgaW4gYQotICAgIG11bHRpdGhyZWFkZWQgd2F5LCB0aGlzIHBhcmFkaWdtIGlzIGhpZ2hseSBkaXNjb3VyYWdlZCBhbmQgbW9zdCBsaWtlbHkgcHJvYmxlbWF0aWMuIENvbnNpZGVyCi0gICAgb25seSB1c2luZyBtZXRob2QgbG9jYWwgdmFyaWFibGVzLiBPbmx5IGluc3RhbmNlIGZpZWxkcyB0aGF0IGFyZSB3cml0dGVuIG91dHNpZGUgb2YgYSBtb25pdG9yCi0gICAgYXJlIHJlcG9ydGVkLgotICAgIDwvcD4KLSAgICAKLSAgICAgIAotPGgzPjxhIG5hbWU9Ik5QX0RFUkVGRVJFTkNFX09GX1JFQURMSU5FX1ZBTFVFIj5OUDogRGVyZWZlcmVuY2Ugb2YgdGhlIHJlc3VsdCBvZiByZWFkTGluZSgpIHdpdGhvdXQgbnVsbGNoZWNrIChOUF9ERVJFRkVSRU5DRV9PRl9SRUFETElORV9WQUxVRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgcmVzdWx0IG9mIGludm9raW5nIHJlYWRMaW5lKCkgaXMgZGVyZWZlcmVuY2VkIHdpdGhvdXQgY2hlY2tpbmcgdG8gc2VlIGlmIHRoZSByZXN1bHQgaXMgbnVsbC4gSWYgdGhlcmUgYXJlIG5vIG1vcmUgbGluZXMgb2YgdGV4dAotdG8gcmVhZCwgcmVhZExpbmUoKSB3aWxsIHJldHVybiBudWxsIGFuZCBkZXJlZmVyZW5jaW5nIHRoYXQgd2lsbCBnZW5lcmF0ZSBhIG51bGwgcG9pbnRlciBleGNlcHRpb24uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOUF9JTU1FRElBVEVfREVSRUZFUkVOQ0VfT0ZfUkVBRExJTkUiPk5QOiBJbW1lZGlhdGUgZGVyZWZlcmVuY2Ugb2YgdGhlIHJlc3VsdCBvZiByZWFkTGluZSgpIChOUF9JTU1FRElBVEVfREVSRUZFUkVOQ0VfT0ZfUkVBRExJTkUpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIHJlc3VsdCBvZiBpbnZva2luZyByZWFkTGluZSgpIGlzIGltbWVkaWF0ZWx5IGRlcmVmZXJlbmNlZC4gSWYgdGhlcmUgYXJlIG5vIG1vcmUgbGluZXMgb2YgdGV4dAotdG8gcmVhZCwgcmVhZExpbmUoKSB3aWxsIHJldHVybiBudWxsIGFuZCBkZXJlZmVyZW5jaW5nIHRoYXQgd2lsbCBnZW5lcmF0ZSBhIG51bGwgcG9pbnRlciBleGNlcHRpb24uCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJOUF9MT0FEX09GX0tOT1dOX05VTExfVkFMVUUiPk5QOiBMb2FkIG9mIGtub3duIG51bGwgdmFsdWUgKE5QX0xPQURfT0ZfS05PV05fTlVMTF9WQUxVRSk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgdmFyaWFibGUgcmVmZXJlbmNlZCBhdCB0aGlzIHBvaW50IGlzIGtub3duIHRvIGJlIG51bGwgZHVlIHRvIGFuIGVhcmxpZXIKLSAgIGNoZWNrIGFnYWluc3QgbnVsbC4gQWx0aG91Z2ggdGhpcyBpcyB2YWxpZCwgaXQgbWlnaHQgYmUgYSBtaXN0YWtlIChwZXJoYXBzIHlvdQotaW50ZW5kZWQgdG8gcmVmZXIgdG8gYSBkaWZmZXJlbnQgdmFyaWFibGUsIG9yIHBlcmhhcHMgdGhlIGVhcmxpZXIgY2hlY2sgdG8gc2VlIGlmIHRoZQotdmFyaWFibGUgaXMgbnVsbCBzaG91bGQgaGF2ZSBiZWVuIGEgY2hlY2sgdG8gc2VlIGlmIGl0IHdhcyBub25udWxsKS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX01FVEhPRF9QQVJBTUVURVJfVElHSFRFTlNfQU5OT1RBVElPTiI+TlA6IE1ldGhvZCB0aWdodGVucyBudWxsbmVzcyBhbm5vdGF0aW9uIG9uIHBhcmFtZXRlciAoTlBfTUVUSE9EX1BBUkFNRVRFUl9USUdIVEVOU19BTk5PVEFUSU9OKTwvYT48L2gzPgotCi0gICAgICAgIDxwPgotICAgICAgICBBIG1ldGhvZCBzaG91bGQgYWx3YXlzIGltcGxlbWVudCB0aGUgY29udHJhY3Qgb2YgYSBtZXRob2QgaXQgb3ZlcnJpZGVzLiBUaHVzLCBpZiBhIG1ldGhvZCB0YWtlcyBhIHBhcmFtZXRlcgotCXRoYXQgaXMgbWFya2VkIGFzIEBOdWxsYWJsZSwgeW91IHNob3VsZG4ndCBvdmVycmlkZSB0aGF0IG1ldGhvZCBpbiBhIHN1YmNsYXNzIHdpdGggYSBtZXRob2Qgd2hlcmUgdGhhdCBwYXJhbWV0ZXIgaXMgQE5vbm51bGwuCi0JRG9pbmcgc28gdmlvbGF0ZXMgdGhlIGNvbnRyYWN0IHRoYXQgdGhlIG1ldGhvZCBzaG91bGQgaGFuZGxlIGEgbnVsbCBwYXJhbWV0ZXIuCi0gICAgICAgIDwvcD4KLSAgICAgIAotPGgzPjxhIG5hbWU9Ik5QX01FVEhPRF9SRVRVUk5fUkVMQVhJTkdfQU5OT1RBVElPTiI+TlA6IE1ldGhvZCByZWxheGVzIG51bGxuZXNzIGFubm90YXRpb24gb24gcmV0dXJuIHZhbHVlIChOUF9NRVRIT0RfUkVUVVJOX1JFTEFYSU5HX0FOTk9UQVRJT04pPC9hPjwvaDM+Ci0KLSAgICAgICAgPHA+Ci0gICAgICAgIEEgbWV0aG9kIHNob3VsZCBhbHdheXMgaW1wbGVtZW50IHRoZSBjb250cmFjdCBvZiBhIG1ldGhvZCBpdCBvdmVycmlkZXMuIFRodXMsIGlmIGEgbWV0aG9kIHRha2VzIGlzIGFubm90YXRlZAotCWFzIHJldHVybmluZyBhIEBOb25udWxsIHZhbHVlLCAKLQl5b3Ugc2hvdWxkbid0IG92ZXJyaWRlIHRoYXQgbWV0aG9kIGluIGEgc3ViY2xhc3Mgd2l0aCBhIG1ldGhvZCBhbm5vdGF0ZWQgYXMgcmV0dXJuaW5nIGEgQE51bGxhYmxlIG9yIEBDaGVja0Zvck51bGwgdmFsdWUuCi0JRG9pbmcgc28gdmlvbGF0ZXMgdGhlIGNvbnRyYWN0IHRoYXQgdGhlIG1ldGhvZCBzaG91bGRuJ3QgcmV0dXJuIG51bGwuCi0gICAgICAgIDwvcD4KLSAgICAgIAotPGgzPjxhIG5hbWU9Ik5QX05VTExfT05fU09NRV9QQVRIX0ZST01fUkVUVVJOX1ZBTFVFIj5OUDogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGR1ZSB0byByZXR1cm4gdmFsdWUgb2YgY2FsbGVkIG1ldGhvZCAoTlBfTlVMTF9PTl9TT01FX1BBVEhfRlJPTV9SRVRVUk5fVkFMVUUpPC9hPjwvaDM+Ci0KLSAgICAgIAotPHA+IFRoZSByZXR1cm4gdmFsdWUgZnJvbSBhIG1ldGhvZCBpcyBkZXJlZmVyZW5jZWQgd2l0aG91dCBhIG51bGwgY2hlY2ssCi1hbmQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGF0IG1ldGhvZCBpcyBvbmUgdGhhdCBzaG91bGQgZ2VuZXJhbGx5IGJlIGNoZWNrZWQKLWZvciBudWxsLiAgVGhpcyBtYXkgbGVhZCB0byBhIDxjb2RlPk51bGxQb2ludGVyRXhjZXB0aW9uPC9jb2RlPiB3aGVuIHRoZSBjb2RlIGlzIGV4ZWN1dGVkLgotPC9wPgotICAgICAgCi0gICAKLTxoMz48YSBuYW1lPSJOUF9OVUxMX09OX1NPTUVfUEFUSF9NSUdIVF9CRV9JTkZFQVNJQkxFIj5OUDogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIG9uIGJyYW5jaCB0aGF0IG1pZ2h0IGJlIGluZmVhc2libGUgKE5QX05VTExfT05fU09NRV9QQVRIX01JR0hUX0JFX0lORkVBU0lCTEUpPC9hPjwvaDM+Ci0KLQotPHA+IFRoZXJlIGlzIGEgYnJhbmNoIG9mIHN0YXRlbWVudCB0aGF0LCA8ZW0+aWYgZXhlY3V0ZWQsPC9lbT4gIGd1YXJhbnRlZXMgdGhhdAotYSBudWxsIHZhbHVlIHdpbGwgYmUgZGVyZWZlcmVuY2VkLCB3aGljaAotd291bGQgZ2VuZXJhdGUgYSA8Y29kZT5OdWxsUG9pbnRlckV4Y2VwdGlvbjwvY29kZT4gd2hlbiB0aGUgY29kZSBpcyBleGVjdXRlZC4KLU9mIGNvdXJzZSwgdGhlIHByb2JsZW0gbWlnaHQgYmUgdGhhdCB0aGUgYnJhbmNoIG9yIHN0YXRlbWVudCBpcyBpbmZlYXNpYmxlIGFuZCB0aGF0Ci10aGUgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBjYW4ndCBldmVyIGJlIGV4ZWN1dGVkOyBkZWNpZGluZyB0aGF0IGlzIGJleW9uZCB0aGUgYWJpbGl0eSBvZiBGaW5kQnVncy4KLUR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoaXMgdmFsdWUgaGFkIGJlZW4gcHJldmlvdXNseSB0ZXN0ZWQgZm9yIG51bGxuZXNzLAotdGhpcyBpcyBhIGRlZmluaXRlIHBvc3NpYmlsaXR5LgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlBfUEFSQU1FVEVSX01VU1RfQkVfTk9OTlVMTF9CVVRfTUFSS0VEX0FTX05VTExBQkxFIj5OUDogUGFyYW1ldGVyIG11c3QgYmUgbm9ubnVsbCBidXQgaXMgbWFya2VkIGFzIG51bGxhYmxlIChOUF9QQVJBTUVURVJfTVVTVF9CRV9OT05OVUxMX0JVVF9NQVJLRURfQVNfTlVMTEFCTEUpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgcGFyYW1ldGVyIGlzIGFsd2F5cyB1c2VkIGluIGEgd2F5IHRoYXQgcmVxdWlyZXMgaXQgdG8gYmUgbm9ubnVsbCwKLWJ1dCB0aGUgcGFyYW1ldGVyIGlzIGV4cGxpY2l0bHkgYW5ub3RhdGVkIGFzIGJlaW5nIE51bGxhYmxlLiBFaXRoZXIgdGhlIHVzZQotb2YgdGhlIHBhcmFtZXRlciBvciB0aGUgYW5ub3RhdGlvbiBpcyB3cm9uZy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9Ik5QX1VOV1JJVFRFTl9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEIj5OUDogUmVhZCBvZiB1bndyaXR0ZW4gcHVibGljIG9yIHByb3RlY3RlZCBmaWVsZCAoTlBfVU5XUklUVEVOX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhlIHByb2dyYW0gaXMgZGVyZWZlcmVuY2luZyBhIHB1YmxpYyBvciBwcm90ZWN0ZWQKLWZpZWxkIHRoYXQgZG9lcyBub3Qgc2VlbSB0byBldmVyIGhhdmUgYSBub24tbnVsbCB2YWx1ZSB3cml0dGVuIHRvIGl0LgotVW5sZXNzIHRoZSBmaWVsZCBpcyBpbml0aWFsaXplZCB2aWEgc29tZSBtZWNoYW5pc20gbm90IHNlZW4gYnkgdGhlIGFuYWx5c2lzLAotZGVyZWZlcmVuY2luZyB0aGlzIHZhbHVlIHdpbGwgZ2VuZXJhdGUgYSBudWxsIHBvaW50ZXIgZXhjZXB0aW9uLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlNfREFOR0VST1VTX05PTl9TSE9SVF9DSVJDVUlUIj5OUzogUG90ZW50aWFsbHkgZGFuZ2Vyb3VzIHVzZSBvZiBub24tc2hvcnQtY2lyY3VpdCBsb2dpYyAoTlNfREFOR0VST1VTX05PTl9TSE9SVF9DSVJDVUlUKTwvYT48L2gzPgotCi0KLSAgPHA+IFRoaXMgY29kZSBzZWVtcyB0byBiZSB1c2luZyBub24tc2hvcnQtY2lyY3VpdCBsb2dpYyAoZS5nLiwgJmFtcDsKLW9yIHwpCi1yYXRoZXIgdGhhbiBzaG9ydC1jaXJjdWl0IGxvZ2ljICgmYW1wOyZhbXA7IG9yIHx8KS4gSW4gYWRkaXRpb24sCi1pdCBzZWVtIHBvc3NpYmxlIHRoYXQsIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlIGxlZnQgaGFuZCBzaWRlLCB5b3UgbWlnaHQgbm90Ci13YW50IHRvIGV2YWx1YXRlIHRoZSByaWdodCBoYW5kIHNpZGUgKGJlY2F1c2UgaXQgd291bGQgaGF2ZSBzaWRlIGVmZmVjdHMsIGNvdWxkIGNhdXNlIGFuIGV4Y2VwdGlvbgotb3IgY291bGQgYmUgZXhwZW5zaXZlLjwvcD4KLTxwPgotTm9uLXNob3J0LWNpcmN1aXQgbG9naWMgY2F1c2VzIGJvdGggc2lkZXMgb2YgdGhlIGV4cHJlc3Npb24KLXRvIGJlIGV2YWx1YXRlZCBldmVuIHdoZW4gdGhlIHJlc3VsdCBjYW4gYmUgaW5mZXJyZWQgZnJvbQota25vd2luZyB0aGUgbGVmdC1oYW5kIHNpZGUuIFRoaXMgY2FuIGJlIGxlc3MgZWZmaWNpZW50IGFuZAotY2FuIHJlc3VsdCBpbiBlcnJvcnMgaWYgdGhlIGxlZnQtaGFuZCBzaWRlIGd1YXJkcyBjYXNlcwotd2hlbiBldmFsdWF0aW5nIHRoZSByaWdodC1oYW5kIHNpZGUgY2FuIGdlbmVyYXRlIGFuIGVycm9yLgotPC9wPgotCi08cD5TZWUgPGEgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9kb2NzL2Jvb2tzL2pscy90aGlyZF9lZGl0aW9uL2h0bWwvZXhwcmVzc2lvbnMuaHRtbCMxNS4yMi4yIj50aGUgSmF2YQotTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbjwvYT4gZm9yIGRldGFpbHMKLQotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iTlNfTk9OX1NIT1JUX0NJUkNVSVQiPk5TOiBRdWVzdGlvbmFibGUgdXNlIG9mIG5vbi1zaG9ydC1jaXJjdWl0IGxvZ2ljIChOU19OT05fU0hPUlRfQ0lSQ1VJVCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNvZGUgc2VlbXMgdG8gYmUgdXNpbmcgbm9uLXNob3J0LWNpcmN1aXQgbG9naWMgKGUuZy4sICZhbXA7Ci1vciB8KQotcmF0aGVyIHRoYW4gc2hvcnQtY2lyY3VpdCBsb2dpYyAoJmFtcDsmYW1wOyBvciB8fCkuCi1Ob24tc2hvcnQtY2lyY3VpdCBsb2dpYyBjYXVzZXMgYm90aCBzaWRlcyBvZiB0aGUgZXhwcmVzc2lvbgotdG8gYmUgZXZhbHVhdGVkIGV2ZW4gd2hlbiB0aGUgcmVzdWx0IGNhbiBiZSBpbmZlcnJlZCBmcm9tCi1rbm93aW5nIHRoZSBsZWZ0LWhhbmQgc2lkZS4gVGhpcyBjYW4gYmUgbGVzcyBlZmZpY2llbnQgYW5kCi1jYW4gcmVzdWx0IGluIGVycm9ycyBpZiB0aGUgbGVmdC1oYW5kIHNpZGUgZ3VhcmRzIGNhc2VzCi13aGVuIGV2YWx1YXRpbmcgdGhlIHJpZ2h0LWhhbmQgc2lkZSBjYW4gZ2VuZXJhdGUgYW4gZXJyb3IuCi0KLTxwPlNlZSA8YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL2RvY3MvYm9va3MvamxzL3RoaXJkX2VkaXRpb24vaHRtbC9leHByZXNzaW9ucy5odG1sIzE1LjIyLjIiPnRoZSBKYXZhCi1MYW5ndWFnZSBTcGVjaWZpY2F0aW9uPC9hPiBmb3IgZGV0YWlscwotCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJQWkxBX1BSRUZFUl9aRVJPX0xFTkdUSF9BUlJBWVMiPlBaTEE6IENvbnNpZGVyIHJldHVybmluZyBhIHplcm8gbGVuZ3RoIGFycmF5IHJhdGhlciB0aGFuIG51bGwgKFBaTEFfUFJFRkVSX1pFUk9fTEVOR1RIX0FSUkFZUyk8L2E+PC9oMz4KLQotCi08cD4gSXQgaXMgb2Z0ZW4gYSBiZXR0ZXIgZGVzaWduIHRvCi1yZXR1cm4gYSBsZW5ndGggemVybyBhcnJheSByYXRoZXIgdGhhbiBhIG51bGwgcmVmZXJlbmNlIHRvIGluZGljYXRlIHRoYXQgdGhlcmUKLWFyZSBubyByZXN1bHRzIChpLmUuLCBhbiBlbXB0eSBsaXN0IG9mIHJlc3VsdHMpLgotVGhpcyB3YXksIG5vIGV4cGxpY2l0IGNoZWNrIGZvciBudWxsIGlzIG5lZWRlZCBieSBjbGllbnRzIG9mIHRoZSBtZXRob2QuPC9wPgotCi08cD5PbiB0aGUgb3RoZXIgaGFuZCwgdXNpbmcgbnVsbCB0byBpbmRpY2F0ZQotInRoZXJlIGlzIG5vIGFuc3dlciB0byB0aGlzIHF1ZXN0aW9uIiBpcyBwcm9iYWJseSBhcHByb3ByaWF0ZS4KLUZvciBleGFtcGxlLCA8Y29kZT5GaWxlLmxpc3RGaWxlcygpPC9jb2RlPiByZXR1cm5zIGFuIGVtcHR5IGxpc3QKLWlmIGdpdmVuIGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgbm8gZmlsZXMsIGFuZCByZXR1cm5zIG51bGwgaWYgdGhlIGZpbGUKLWlzIG5vdCBhIGRpcmVjdG9yeS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJRRl9RVUVTVElPTkFCTEVfRk9SX0xPT1AiPlFGOiBDb21wbGljYXRlZCwgc3VidGxlIG9yIHdyb25nIGluY3JlbWVudCBpbiBmb3ItbG9vcCAgKFFGX1FVRVNUSU9OQUJMRV9GT1JfTE9PUCk8L2E+PC9oMz4KLQotCi0gICA8cD5BcmUgeW91IHN1cmUgdGhpcyBmb3IgbG9vcCBpcyBpbmNyZW1lbnRpbmcgdGhlIGNvcnJlY3QgdmFyaWFibGU/Ci0gICBJdCBhcHBlYXJzIHRoYXQgYW5vdGhlciB2YXJpYWJsZSBpcyBiZWluZyBpbml0aWFsaXplZCBhbmQgY2hlY2tlZAotICAgYnkgdGhlIGZvciBsb29wLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkNOX1JFRFVOREFOVF9DT01QQVJJU09OX09GX05VTExfQU5EX05PTk5VTExfVkFMVUUiPlJDTjogUmVkdW5kYW50IGNvbXBhcmlzb24gb2Ygbm9uLW51bGwgdmFsdWUgdG8gbnVsbCAoUkNOX1JFRFVOREFOVF9DT01QQVJJU09OX09GX05VTExfQU5EX05PTk5VTExfVkFMVUUpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgcmVmZXJlbmNlIGtub3duIHRvIGJlIG5vbi1udWxsIHdpdGggYW5vdGhlciByZWZlcmVuY2UKLWtub3duIHRvIGJlIG51bGwuPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUkNOX1JFRFVOREFOVF9DT01QQVJJU09OX1RXT19OVUxMX1ZBTFVFUyI+UkNOOiBSZWR1bmRhbnQgY29tcGFyaXNvbiBvZiB0d28gbnVsbCB2YWx1ZXMgKFJDTl9SRURVTkRBTlRfQ09NUEFSSVNPTl9UV09fTlVMTF9WQUxVRVMpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgcmVkdW5kYW50IGNvbXBhcmlzb24gb2YgdHdvIHJlZmVyZW5jZXMga25vd24gdG8KLWJvdGggYmUgZGVmaW5pdGVseSBudWxsLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJDTl9SRURVTkRBTlRfTlVMTENIRUNLX09GX05PTk5VTExfVkFMVUUiPlJDTjogUmVkdW5kYW50IG51bGxjaGVjayBvZiB2YWx1ZSBrbm93biB0byBiZSBub24tbnVsbCAoUkNOX1JFRFVOREFOVF9OVUxMQ0hFQ0tfT0ZfTk9OTlVMTF9WQUxVRSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSByZWR1bmRhbnQgY2hlY2sgb2YgYSBrbm93biBub24tbnVsbCB2YWx1ZSBhZ2FpbnN0Ci10aGUgY29uc3RhbnQgbnVsbC48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSQ05fUkVEVU5EQU5UX05VTExDSEVDS19PRl9OVUxMX1ZBTFVFIj5SQ046IFJlZHVuZGFudCBudWxsY2hlY2sgb2YgdmFsdWUga25vd24gdG8gYmUgbnVsbCAoUkNOX1JFRFVOREFOVF9OVUxMQ0hFQ0tfT0ZfTlVMTF9WQUxVRSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSByZWR1bmRhbnQgY2hlY2sgb2YgYSBrbm93biBudWxsIHZhbHVlIGFnYWluc3QKLXRoZSBjb25zdGFudCBudWxsLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlJFQ19DQVRDSF9FWENFUFRJT04iPlJFQzogRXhjZXB0aW9uIGlzIGNhdWdodCB3aGVuIEV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIChSRUNfQ0FUQ0hfRVhDRVBUSU9OKTwvYT48L2gzPgotCi0gIAotICA8cD4KLSAgVGhpcyBtZXRob2QgdXNlcyBhIHRyeS1jYXRjaCBibG9jayB0aGF0IGNhdGNoZXMgRXhjZXB0aW9uIG9iamVjdHMsIGJ1dCBFeGNlcHRpb24gaXMgbm90Ci0gIHRocm93biB3aXRoaW4gdGhlIHRyeSBibG9jaywgYW5kIFJ1bnRpbWVFeGNlcHRpb24gaXMgbm90IGV4cGxpY2l0bHkgY2F1Z2h0LiAgSXQgaXMgYSBjb21tb24gYnVnIHBhdHRlcm4gdG8KLSAgc2F5IHRyeSB7IC4uLiB9IGNhdGNoIChFeGNlcHRpb24gZSkgeyBzb21ldGhpbmcgfSBhcyBhIHNob3J0aGFuZCBmb3IgY2F0Y2hpbmcgYSBudW1iZXIgb2YgdHlwZXMgb2YgZXhjZXB0aW9uCi0gIGVhY2ggb2Ygd2hvc2UgY2F0Y2ggYmxvY2tzIGlzIGlkZW50aWNhbCwgYnV0IHRoaXMgY29uc3RydWN0IGFsc28gYWNjaWRlbnRhbGx5IGNhdGNoZXMgUnVudGltZUV4Y2VwdGlvbiBhcyB3ZWxsLAotICBtYXNraW5nIHBvdGVudGlhbCBidWdzLgotICA8L3A+Ci0gIDxwPkEgYmV0dGVyIGFwcHJvYWNoIGlzIHRvIGVpdGhlciBleHBsaWNpdGx5IGNhdGNoIHRoZSBzcGVjaWZpYyBleGNlcHRpb25zIHRoYXQgYXJlIHRocm93biwKLSAgb3IgdG8gZXhwbGljaXRseSBjYXRjaCBSdW50aW1lRXhjZXB0aW9uIGV4Y2VwdGlvbiwgcmV0aHJvdyBpdCwgYW5kIHRoZW4gY2F0Y2ggYWxsIG5vbi1SdW50aW1lIEV4Y2VwdGlvbnMsIGFzIHNob3duIGJlbG93OjwvcD4KLSAgPHByZT4KLSAgdHJ5IHsKLSAgICAuLi4KLSAgfSBjYXRjaCAoUnVudGltZUV4Y2VwdGlvbiBlKSB7Ci0gICAgdGhyb3cgZTsKLSAgfSBjYXRjaCAoRXhjZXB0aW9uIGUpIHsKLSAgICAuLi4gZGVhbCB3aXRoIGFsbCBub24tcnVudGltZSBleGNlcHRpb25zIC4uLgotICB9PC9wcmU+Ci0gIAotICAgICAKLTxoMz48YSBuYW1lPSJSSV9SRURVTkRBTlRfSU5URVJGQUNFUyI+Ukk6IENsYXNzIGltcGxlbWVudHMgc2FtZSBpbnRlcmZhY2UgYXMgc3VwZXJjbGFzcyAoUklfUkVEVU5EQU5UX0lOVEVSRkFDRVMpPC9hPjwvaDM+Ci0KLSAgIAotICAgIDxwPgotICAgIFRoaXMgY2xhc3MgZGVjbGFyZXMgdGhhdCBpdCBpbXBsZW1lbnRzIGFuIGludGVyZmFjZSB0aGF0IGlzIGFsc28gaW1wbGVtZW50ZWQgYnkgYSBzdXBlcmNsYXNzLgotICAgIFRoaXMgaXMgcmVkdW5kYW50IGJlY2F1c2Ugb25jZSBhIHN1cGVyY2xhc3MgaW1wbGVtZW50cyBhbiBpbnRlcmZhY2UsIGFsbCBzdWJjbGFzc2VzIGJ5IGRlZmF1bHQgYWxzbwotICAgIGltcGxlbWVudCB0aGlzIGludGVyZmFjZS4gSXQgbWF5IHBvaW50IG91dCB0aGF0IHRoZSBpbmhlcml0YW5jZSBoaWVyYXJjaHkgaGFzIGNoYW5nZWQgc2luY2UKLSAgICB0aGlzIGNsYXNzIHdhcyBjcmVhdGVkLCBhbmQgY29uc2lkZXJhdGlvbiBzaG91bGQgYmUgZ2l2ZW4gdG8gdGhlIG93bmVyc2hpcCBvZgotICAgIHRoZSBpbnRlcmZhY2UncyBpbXBsZW1lbnRhdGlvbi4KLSAgICA8L3A+Ci0gICAgCi0gICAgIAotPGgzPjxhIG5hbWU9IlJWX0NIRUNLX0ZPUl9QT1NJVElWRV9JTkRFWE9GIj5SVjogTWV0aG9kIGNoZWNrcyB0byBzZWUgaWYgcmVzdWx0IG9mIFN0cmluZy5pbmRleE9mIGlzIHBvc2l0aXZlIChSVl9DSEVDS19GT1JfUE9TSVRJVkVfSU5ERVhPRik8L2E+PC9oMz4KLQotCi0gICA8cD4gVGhlIG1ldGhvZCBpbnZva2VzIFN0cmluZy5pbmRleE9mIGFuZCBjaGVja3MgdG8gc2VlIGlmIHRoZSByZXN1bHQgaXMgcG9zaXRpdmUgb3Igbm9uLXBvc2l0aXZlLgotICAgSXQgaXMgbXVjaCBtb3JlIHR5cGljYWwgdG8gY2hlY2sgdG8gc2VlIGlmIHRoZSByZXN1bHQgaXMgbmVnYXRpdmUgb3Igbm9uLW5lZ2F0aXZlLiBJdCBpcwotICAgcG9zaXRpdmUgb25seSBpZiB0aGUgc3Vic3RyaW5nIGNoZWNrZWQgZm9yIG9jY3VycyBhdCBzb21lIHBsYWNlIG90aGVyIHRoYW4gYXQgdGhlIGJlZ2lubmluZyBvZgotICAgdGhlIFN0cmluZy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9ET05UX0pVU1RfTlVMTF9DSEVDS19SRUFETElORSI+UlY6IE1ldGhvZCBkaXNjYXJkcyByZXN1bHQgb2YgcmVhZExpbmUgYWZ0ZXIgY2hlY2tpbmcgaWYgaXQgaXMgbm9ubnVsbCAoUlZfRE9OVF9KVVNUX05VTExfQ0hFQ0tfUkVBRExJTkUpPC9hPjwvaDM+Ci0KLQotICAgPHA+IFRoZSB2YWx1ZSByZXR1cm5lZCBieSByZWFkTGluZSBpcyBkaXNjYXJkZWQgYWZ0ZXIgY2hlY2tpbmcgdG8gc2VlIGlmIHRoZSByZXR1cm4KLXZhbHVlIGlzIG5vbi1udWxsLiBJbiBhbG1vc3QgYWxsIHNpdHVhdGlvbnMsIGlmIHRoZSByZXN1bHQgaXMgbm9uLW51bGwsIHlvdSB3aWxsIHdhbnQKLXRvIHVzZSB0aGF0IG5vbi1udWxsIHZhbHVlLiBDYWxsaW5nIHJlYWRMaW5lIGFnYWluIHdpbGwgZ2l2ZSB5b3UgYSBkaWZmZXJlbnQgbGluZS48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9SRU1fT0ZfSEFTSENPREUiPlJWOiBSZW1haW5kZXIgb2YgaGFzaENvZGUgY291bGQgYmUgbmVnYXRpdmUgKFJWX1JFTV9PRl9IQVNIQ09ERSk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjb2RlIGNvbXB1dGVzIGEgaGFzaENvZGUsIGFuZCB0aGVuIGNvbXB1dGVzCi10aGUgcmVtYWluZGVyIG9mIHRoYXQgdmFsdWUgbW9kdWxvIGFub3RoZXIgdmFsdWUuIFNpbmNlIHRoZSBoYXNoQ29kZQotY2FuIGJlIG5lZ2F0aXZlLCB0aGUgcmVzdWx0IG9mIHRoZSByZW1haW5kZXIgb3BlcmF0aW9uCi1jYW4gYWxzbyBiZSBuZWdhdGl2ZS4gPC9wPgotPHA+IEFzc3VtaW5nIHlvdSB3YW50IHRvIGVuc3VyZSB0aGF0IHRoZSByZXN1bHQgb2YgeW91ciBjb21wdXRhdGlvbiBpcyBub25uZWdhdGl2ZSwKLXlvdSBtYXkgbmVlZCB0byBjaGFuZ2UgeW91ciBjb2RlLgotSWYgeW91IGtub3cgdGhlIGRpdmlzb3IgaXMgYSBwb3dlciBvZiAyLAoteW91IGNhbiB1c2UgYSBiaXR3aXNlIGFuZCBvcGVyYXRvciBpbnN0ZWFkIChpLmUuLCBpbnN0ZWFkIG9mCi11c2luZyA8Y29kZT54Lmhhc2hDb2RlKCklbjwvY29kZT4sIHVzZSA8Y29kZT54Lmhhc2hDb2RlKCkmYW1wOyhuLTEpPC9jb2RlPi4KLVRoaXMgaXMgcHJvYmFibHkgZmFzdGVyIHRoYW4gY29tcHV0aW5nIHRoZSByZW1haW5kZXIgYXMgd2VsbC4KLUlmIHlvdSBkb24ndCBrbm93IHRoYXQgdGhlIGRpdmlzb3IgaXMgYSBwb3dlciBvZiAyLCB0YWtlIHRoZSBhYnNvbHV0ZQotdmFsdWUgb2YgdGhlIHJlc3VsdCBvZiB0aGUgcmVtYWluZGVyIG9wZXJhdGlvbiAoaS5lLiwgdXNlCi08Y29kZT5NYXRoLmFicyh4Lmhhc2hDb2RlKCklbik8L2NvZGU+Ci08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJSVl9SRU1fT0ZfUkFORE9NX0lOVCI+UlY6IFJlbWFpbmRlciBvZiAzMi1iaXQgc2lnbmVkIHJhbmRvbSBpbnRlZ2VyIChSVl9SRU1fT0ZfUkFORE9NX0lOVCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBjb2RlIGdlbmVyYXRlcyBhIHJhbmRvbSBzaWduZWQgaW50ZWdlciBhbmQgdGhlbiBjb21wdXRlcwotdGhlIHJlbWFpbmRlciBvZiB0aGF0IHZhbHVlIG1vZHVsbyBhbm90aGVyIHZhbHVlLiBTaW5jZSB0aGUgcmFuZG9tCi1udW1iZXIgY2FuIGJlIG5lZ2F0aXZlLCB0aGUgcmVzdWx0IG9mIHRoZSByZW1haW5kZXIgb3BlcmF0aW9uCi1jYW4gYWxzbyBiZSBuZWdhdGl2ZS4gQmUgc3VyZSB0aGlzIGlzIGludGVuZGVkLCBhbmQgc3Ryb25nbHkKLWNvbnNpZGVyIHVzaW5nIHRoZSBSYW5kb20ubmV4dEludChpbnQpIG1ldGhvZCBpbnN0ZWFkLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iUlZfUkVUVVJOX1ZBTFVFX0lHTk9SRURfSU5GRVJSRUQiPlJWOiBNZXRob2QgaWdub3JlcyByZXR1cm4gdmFsdWUsIGlzIHRoaXMgT0s/IChSVl9SRVRVUk5fVkFMVUVfSUdOT1JFRF9JTkZFUlJFRCk8L2E+PC9oMz4KLQotCi08cD5UaGlzIGNvZGUgY2FsbHMgYSBtZXRob2QgYW5kIGlnbm9yZXMgdGhlIHJldHVybiB2YWx1ZS4gVGhlIHJldHVybiB2YWx1ZQotaXMgdGhlIHNhbWUgdHlwZSBhcyB0aGUgdHlwZSB0aGUgbWV0aG9kIGlzIGludm9rZWQgb24sIGFuZCBmcm9tIG91ciBhbmFseXNpcyBpdCBsb29rcwotbGlrZSB0aGUgcmV0dXJuIHZhbHVlIG1pZ2h0IGJlIGltcG9ydGFudCAoZS5nLiwgbGlrZSBpZ25vcmluZyB0aGUKLXJldHVybiB2YWx1ZSBvZiA8Y29kZT5TdHJpbmcudG9Mb3dlckNhc2UoKTwvY29kZT4pLgotPC9wPgotPHA+V2UgYXJlIGd1ZXNzaW5nIHRoYXQgaWdub3JpbmcgdGhlIHJldHVybiB2YWx1ZSBtaWdodCBiZSBhIGJhZCBpZGVhIGp1c3QgZnJvbQotYSBzaW1wbGUgYW5hbHlzaXMgb2YgdGhlIGJvZHkgb2YgdGhlIG1ldGhvZC4gWW91IGNhbiB1c2UgYSBAQ2hlY2tSZXR1cm5WYWx1ZSBhbm5vdGF0aW9uCi10byBpbnN0cnVjdCBGaW5kQnVncyBhcyB0byB3aGV0aGVyIGlnbm9yaW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QKLWlzIGltcG9ydGFudCBvciBhY2NlcHRhYmxlLgotPC9wPgotPHA+UGxlYXNlIGludmVzdGlnYXRlIHRoaXMgY2xvc2VseSB0byBkZWNpZGUgd2hldGhlciBpdCBpcyBPSyB0byBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZS4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNBX0ZJRUxEX0RPVUJMRV9BU1NJR05NRU5UIj5TQTogRG91YmxlIGFzc2lnbm1lbnQgb2YgZmllbGQgKFNBX0ZJRUxEX0RPVUJMRV9BU1NJR05NRU5UKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIGRvdWJsZSBhc3NpZ25tZW50IG9mIGEgZmllbGQ7IGUuZy4KLTwvcD4KLTxwcmU+Ci0gIGludCB4LHk7Ci0gIHB1YmxpYyB2b2lkIGZvbygpIHsKLSAgICB4ID0geCA9IDE3OwotICB9Ci08L3ByZT4KLTxwPkFzc2lnbmluZyB0byBhIGZpZWxkIHR3aWNlIGlzIHVzZWxlc3MsIGFuZCBtYXkgaW5kaWNhdGUgYSBsb2dpYyBlcnJvciBvciB0eXBvLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNBX0xPQ0FMX0RPVUJMRV9BU1NJR05NRU5UIj5TQTogRG91YmxlIGFzc2lnbm1lbnQgb2YgbG9jYWwgdmFyaWFibGUgIChTQV9MT0NBTF9ET1VCTEVfQVNTSUdOTUVOVCk8L2E+PC9oMz4KLQotCi08cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSBkb3VibGUgYXNzaWdubWVudCBvZiBhIGxvY2FsIHZhcmlhYmxlOyBlLmcuCi08L3A+Ci08cHJlPgotICBwdWJsaWMgdm9pZCBmb28oKSB7Ci0gICAgaW50IHgseTsKLSAgICB4ID0geCA9IDE3OwotICB9Ci08L3ByZT4KLTxwPkFzc2lnbmluZyB0aGUgc2FtZSB2YWx1ZSB0byBhIHZhcmlhYmxlIHR3aWNlIGlzIHVzZWxlc3MsIGFuZCBtYXkgaW5kaWNhdGUgYSBsb2dpYyBlcnJvciBvciB0eXBvLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNBX0xPQ0FMX1NFTEZfQVNTSUdOTUVOVCI+U0E6IFNlbGYgYXNzaWdubWVudCBvZiBsb2NhbCB2YXJpYWJsZSAoU0FfTE9DQUxfU0VMRl9BU1NJR05NRU5UKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIHNlbGYgYXNzaWdubWVudCBvZiBhIGxvY2FsIHZhcmlhYmxlOyBlLmcuPC9wPgotPHByZT4KLSAgcHVibGljIHZvaWQgZm9vKCkgewotICAgIGludCB4ID0gMzsKLSAgICB4ID0geDsKLSAgfQotPC9wcmU+Ci08cD4KLVN1Y2ggYXNzaWdubWVudHMgYXJlIHVzZWxlc3MsIGFuZCBtYXkgaW5kaWNhdGUgYSBsb2dpYyBlcnJvciBvciB0eXBvLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0ZfU1dJVENIX0ZBTExUSFJPVUdIIj5TRjogU3dpdGNoIHN0YXRlbWVudCBmb3VuZCB3aGVyZSBvbmUgY2FzZSBmYWxscyB0aHJvdWdoIHRvIHRoZSBuZXh0IGNhc2UgKFNGX1NXSVRDSF9GQUxMVEhST1VHSCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIHN3aXRjaCBzdGF0ZW1lbnQgd2hlcmUgb25lIGNhc2UgYnJhbmNoIHdpbGwgZmFsbCB0aHJvdWdoIHRvIHRoZSBuZXh0IGNhc2UuCi0gIFVzdWFsbHkgeW91IG5lZWQgdG8gZW5kIHRoaXMgY2FzZSB3aXRoIGEgYnJlYWsgb3IgcmV0dXJuLjwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNGX1NXSVRDSF9OT19ERUZBVUxUIj5TRjogU3dpdGNoIHN0YXRlbWVudCBmb3VuZCB3aGVyZSBkZWZhdWx0IGNhc2UgaXMgbWlzc2luZyAoU0ZfU1dJVENIX05PX0RFRkFVTFQpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBtZXRob2QgY29udGFpbnMgYSBzd2l0Y2ggc3RhdGVtZW50IHdoZXJlIGRlZmF1bHQgY2FzZSBpcyBtaXNzaW5nLgotICBVc3VhbGx5IHlvdSBuZWVkIHRvIHByb3ZpZGUgYSBkZWZhdWx0IGNhc2UuPC9wPgotICA8cD5CZWNhdXNlIHRoZSBhbmFseXNpcyBvbmx5IGxvb2tzIGF0IHRoZSBnZW5lcmF0ZWQgYnl0ZWNvZGUsIHRoaXMgd2FybmluZyBjYW4gYmUgaW5jb3JyZWN0IHRyaWdnZXJlZCBpZgotdGhlIGRlZmF1bHQgY2FzZSBpcyBhdCB0aGUgZW5kIG9mIHRoZSBzd2l0Y2ggc3RhdGVtZW50IGFuZCBkb2Vzbid0IGVuZCB3aXRoIGEgYnJlYWsgc3RhdGVtZW50LgotCi0gICAgCi08aDM+PGEgbmFtZT0iU1RfV1JJVEVfVE9fU1RBVElDX0ZST01fSU5TVEFOQ0VfTUVUSE9EIj5TVDogV3JpdGUgdG8gc3RhdGljIGZpZWxkIGZyb20gaW5zdGFuY2UgbWV0aG9kIChTVF9XUklURV9UT19TVEFUSUNfRlJPTV9JTlNUQU5DRV9NRVRIT0QpPC9hPjwvaDM+Ci0KLQotICA8cD4gVGhpcyBpbnN0YW5jZSBtZXRob2Qgd3JpdGVzIHRvIGEgc3RhdGljIGZpZWxkLiBUaGlzIGlzIHRyaWNreSB0byBnZXQKLWNvcnJlY3QgaWYgbXVsdGlwbGUgaW5zdGFuY2VzIGFyZSBiZWluZyBtYW5pcHVsYXRlZCwKLWFuZCBnZW5lcmFsbHkgYmFkIHByYWN0aWNlLgotPC9wPgotCi0gICAgCi08aDM+PGEgbmFtZT0iU0VfUFJJVkFURV9SRUFEX1JFU09MVkVfTk9UX0lOSEVSSVRFRCI+U2U6IFByaXZhdGUgcmVhZFJlc29sdmUgbWV0aG9kIG5vdCBpbmhlcml0ZWQgYnkgc3ViY2xhc3NlcyAoU0VfUFJJVkFURV9SRUFEX1JFU09MVkVfTk9UX0lOSEVSSVRFRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGNsYXNzIGRlZmluZXMgYSBwcml2YXRlIHJlYWRSZXNvbHZlIG1ldGhvZC4gU2luY2UgaXQgaXMgcHJpdmF0ZSwgaXQgd29uJ3QgYmUgaW5oZXJpdGVkIGJ5IHN1YmNsYXNzZXMuCi1UaGlzIG1pZ2h0IGJlIGludGVudGlvbmFsIGFuZCBPSywgYnV0IHNob3VsZCBiZSByZXZpZXdlZCB0byBlbnN1cmUgaXQgaXMgd2hhdCBpcyBpbnRlbmRlZC4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlNFX1RSQU5TSUVOVF9GSUVMRF9PRl9OT05TRVJJQUxJWkFCTEVfQ0xBU1MiPlNlOiBUcmFuc2llbnQgZmllbGQgb2YgY2xhc3MgdGhhdCBpc24ndCBTZXJpYWxpemFibGUuICAoU0VfVFJBTlNJRU5UX0ZJRUxEX09GX05PTlNFUklBTElaQUJMRV9DTEFTUyk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGUgZmllbGQgaXMgbWFya2VkIGFzIHRyYW5zaWVudCwgYnV0IHRoZSBjbGFzcyBpc24ndCBTZXJpYWxpemFibGUsIHNvIG1hcmtpbmcgaXQgYXMgdHJhbnNpZW50Ci1oYXMgYWJzb2x1dGVseSBubyBlZmZlY3QuCi1UaGlzIG1heSBiZSBsZWZ0b3ZlciBtYXJraW5nIGZyb20gYSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSBjb2RlIGluIHdoaWNoIHRoZSBjbGFzcyB3YXMgdHJhbnNpZW50LCBvcgotaXQgbWF5IGluZGljYXRlIGEgbWlzdW5kZXJzdGFuZGluZyBvZiBob3cgc2VyaWFsaXphdGlvbiB3b3Jrcy4KLTwvcD4KLQotICAgIAotPGgzPjxhIG5hbWU9IlRRX0VYUExJQ0lUX1VOS05PV05fU09VUkNFX1ZBTFVFX1JFQUNIRVNfQUxXQVlTX1NJTksiPlRROiBWYWx1ZSByZXF1aXJlZCB0byBoYXZlIHR5cGUgcXVhbGlmaWVyLCBidXQgbWFya2VkIGFzIHVua25vd24gKFRRX0VYUExJQ0lUX1VOS05PV05fU09VUkNFX1ZBTFVFX1JFQUNIRVNfQUxXQVlTX1NJTkspPC9hPjwvaDM+Ci0KLSAgICAgIAotICAgICAgPHA+Ci0gICAgICBBIHZhbHVlIGlzIHVzZWQgaW4gYSB3YXkgdGhhdCByZXF1aXJlcyBpdCB0byBiZSBhbHdheXMgYmUgYSB2YWx1ZSBkZW5vdGVkIGJ5IGEgdHlwZSBxdWFsaWZpZXIsIGJ1dAotICAgIHRoZXJlIGlzIGFuIGV4cGxpY2l0IGFubm90YXRpb24gc3RhdGluZyB0aGF0IGl0IGlzIG5vdCBrbm93biB3aGVyZSB0aGUgdmFsdWUgaXMgcmVxdWlyZWQgdG8gaGF2ZSB0aGF0IHR5cGUgcXVhbGlmaWVyLgotICAgIEVpdGhlciB0aGUgdXNhZ2Ugb3IgdGhlIGFubm90YXRpb24gaXMgaW5jb3JyZWN0LgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iVFFfRVhQTElDSVRfVU5LTk9XTl9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19ORVZFUl9TSU5LIj5UUTogVmFsdWUgcmVxdWlyZWQgdG8gbm90IGhhdmUgdHlwZSBxdWFsaWZpZXIsIGJ1dCBtYXJrZWQgYXMgdW5rbm93biAoVFFfRVhQTElDSVRfVU5LTk9XTl9TT1VSQ0VfVkFMVUVfUkVBQ0hFU19ORVZFUl9TSU5LKTwvYT48L2gzPgotCi0gICAgICAKLSAgICAgIDxwPgotICAgICAgQSB2YWx1ZSBpcyB1c2VkIGluIGEgd2F5IHRoYXQgcmVxdWlyZXMgaXQgdG8gYmUgbmV2ZXIgYmUgYSB2YWx1ZSBkZW5vdGVkIGJ5IGEgdHlwZSBxdWFsaWZpZXIsIGJ1dAotICAgIHRoZXJlIGlzIGFuIGV4cGxpY2l0IGFubm90YXRpb24gc3RhdGluZyB0aGF0IGl0IGlzIG5vdCBrbm93biB3aGVyZSB0aGUgdmFsdWUgaXMgcHJvaGliaXRlZCBmcm9tIGhhdmluZyB0aGF0IHR5cGUgcXVhbGlmaWVyLgotICAgIEVpdGhlciB0aGUgdXNhZ2Ugb3IgdGhlIGFubm90YXRpb24gaXMgaW5jb3JyZWN0LgotICAgICAgPC9wPgotICAgICAgCi0gICAgCi08aDM+PGEgbmFtZT0iVUNGX1VTRUxFU1NfQ09OVFJPTF9GTE9XIj5VQ0Y6IFVzZWxlc3MgY29udHJvbCBmbG93IChVQ0ZfVVNFTEVTU19DT05UUk9MX0ZMT1cpPC9hPjwvaDM+Ci0KLQotPHA+IFRoaXMgbWV0aG9kIGNvbnRhaW5zIGEgdXNlbGVzcyBjb250cm9sIGZsb3cgc3RhdGVtZW50LCB3aGVyZQotY29udHJvbCBmbG93IGNvbnRpbnVlcyBvbnRvIHRoZSBzYW1lIHBsYWNlIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBvciBub3QKLXRoZSBicmFuY2ggaXMgdGFrZW4uIEZvciBleGFtcGxlLAotdGhpcyBpcyBjYXVzZWQgYnkgaGF2aW5nIGFuIGVtcHR5IHN0YXRlbWVudAotYmxvY2sgZm9yIGFuIDxjb2RlPmlmPC9jb2RlPiBzdGF0ZW1lbnQ6PC9wPgotPHByZT4KLSAgICBpZiAoYXJndi5sZW5ndGggPT0gMCkgewotICAgIC8vIFRPRE86IGhhbmRsZSB0aGlzIGNhc2UKLSAgICB9Ci08L3ByZT4KLQotICAgIAotPGgzPjxhIG5hbWU9IlVDRl9VU0VMRVNTX0NPTlRST0xfRkxPV19ORVhUX0xJTkUiPlVDRjogVXNlbGVzcyBjb250cm9sIGZsb3cgdG8gbmV4dCBsaW5lIChVQ0ZfVVNFTEVTU19DT05UUk9MX0ZMT1dfTkVYVF9MSU5FKTwvYT48L2gzPgotCi0KLTxwPiBUaGlzIG1ldGhvZCBjb250YWlucyBhIHVzZWxlc3MgY29udHJvbCBmbG93IHN0YXRlbWVudCBpbiB3aGljaCBjb250cm9sCi1mbG93IGZvbGxvd3MgdG8gdGhlIHNhbWUgb3IgZm9sbG93aW5nIGxpbmUgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIG9yIG5vdAotdGhlIGJyYW5jaCBpcyB0YWtlbi4KLU9mdGVuLCB0aGlzIGlzIGNhdXNlZCBieSBpbmFkdmVydGVudGx5IHVzaW5nIGFuIGVtcHR5IHN0YXRlbWVudCBhcyB0aGUKLWJvZHkgb2YgYW4gPGNvZGU+aWY8L2NvZGU+IHN0YXRlbWVudCwgZS5nLjo8L3A+Ci08cHJlPgotICAgIGlmIChhcmd2Lmxlbmd0aCA9PSAxKTsKLSAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJIZWxsbywgIiArIGFyZ3ZbMF0pOwotPC9wcmU+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVUkZfVU5SRUFEX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQiPlVyRjogVW5yZWFkIHB1YmxpYy9wcm90ZWN0ZWQgZmllbGQgKFVSRl9VTlJFQURfUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGZpZWxkIGlzIG5ldmVyIHJlYWQuJm5ic3A7Ci1UaGUgZmllbGQgaXMgcHVibGljIG9yIHByb3RlY3RlZCwgc28gcGVyaGFwcwotICAgIGl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCBjbGFzc2VzIG5vdCBzZWVuIGFzIHBhcnQgb2YgdGhlIGFuYWx5c2lzLiBJZiBub3QsCi1jb25zaWRlciByZW1vdmluZyBpdCBmcm9tIHRoZSBjbGFzcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVVUZfVU5VU0VEX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQiPlV1RjogVW51c2VkIHB1YmxpYyBvciBwcm90ZWN0ZWQgZmllbGQgKFVVRl9VTlVTRURfUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGZpZWxkIGlzIG5ldmVyIHVzZWQuJm5ic3A7Ci1UaGUgZmllbGQgaXMgcHVibGljIG9yIHByb3RlY3RlZCwgc28gcGVyaGFwcwotICAgIGl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCBjbGFzc2VzIG5vdCBzZWVuIGFzIHBhcnQgb2YgdGhlIGFuYWx5c2lzLiBJZiBub3QsCi1jb25zaWRlciByZW1vdmluZyBpdCBmcm9tIHRoZSBjbGFzcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVV0ZfRklFTERfTk9UX0lOSVRJQUxJWkVEX0lOX0NPTlNUUlVDVE9SIj5Vd0Y6IEZpZWxkIG5vdCBpbml0aWFsaXplZCBpbiBjb25zdHJ1Y3RvciBidXQgZGVyZWZlcmVuY2VkIHdpdGhvdXQgbnVsbCBjaGVjayAoVVdGX0ZJRUxEX05PVF9JTklUSUFMSVpFRF9JTl9DT05TVFJVQ1RPUik8L2E+PC9oMz4KLQotCi0gIDxwPiBUaGlzIGZpZWxkIGlzIG5ldmVyIGluaXRpYWxpemVkIHdpdGhpbiBhbnkgY29uc3RydWN0b3IsIGFuZCBpcyB0aGVyZWZvcmUgY291bGQgYmUgbnVsbCBhZnRlcgotdGhlIG9iamVjdCBpcyBjb25zdHJ1Y3RlZC4gRWxzZXdoZXJlLCBpdCBpcyBsb2FkZWQgYW5kIGRlcmVmZXJlbmNlZCB3aXRob3V0IGEgbnVsbCBjaGVjay4KLVRoaXMgY291bGQgYmUgYSBlaXRoZXIgYW4gZXJyb3Igb3IgYSBxdWVzdGlvbmFibGUgZGVzaWduLCBzaW5jZQotaXQgbWVhbnMgYSBudWxsIHBvaW50ZXIgZXhjZXB0aW9uIHdpbGwgYmUgZ2VuZXJhdGVkIGlmIHRoYXQgZmllbGQgaXMgZGVyZWZlcmVuY2VkCi1iZWZvcmUgYmVpbmcgaW5pdGlhbGl6ZWQuCi08L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJVV0ZfVU5XUklUVEVOX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQiPlV3RjogVW53cml0dGVuIHB1YmxpYyBvciBwcm90ZWN0ZWQgZmllbGQgKFVXRl9VTldSSVRURU5fUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCk8L2E+PC9oMz4KLQotCi0gIDxwPiBObyB3cml0ZXMgd2VyZSBzZWVuIHRvIHRoaXMgcHVibGljL3Byb3RlY3RlZCBmaWVsZC4mbmJzcDsgQWxsIHJlYWRzIG9mIGl0IHdpbGwgcmV0dXJuIHRoZSBkZWZhdWx0Ci12YWx1ZS4gQ2hlY2sgZm9yIGVycm9ycyAoc2hvdWxkIGl0IGhhdmUgYmVlbiBpbml0aWFsaXplZD8pLCBvciByZW1vdmUgaXQgaWYgaXQgaXMgdXNlbGVzcy48L3A+Ci0KLSAgICAKLTxoMz48YSBuYW1lPSJYRkJfWE1MX0ZBQ1RPUllfQllQQVNTIj5YRkI6IE1ldGhvZCBkaXJlY3RseSBhbGxvY2F0ZXMgYSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB4bWwgaW50ZXJmYWNlcyAoWEZCX1hNTF9GQUNUT1JZX0JZUEFTUyk8L2E+PC9oMz4KLQotICAgICAgCi0gICAgICA8cD4KLSAgICAgIFRoaXMgbWV0aG9kIGFsbG9jYXRlcyBhIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIGFuIHhtbCBpbnRlcmZhY2UuIEl0IGlzIHByZWZlcmFibGUgdG8gdXNlCi0gICAgICB0aGUgc3VwcGxpZWQgZmFjdG9yeSBjbGFzc2VzIHRvIGNyZWF0ZSB0aGVzZSBvYmplY3RzIHNvIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIGNhbiBiZQotICAgICAgY2hhbmdlZCBhdCBydW50aW1lLiBTZWUKLSAgICAgIDwvcD4KLSAgICAgIDx1bD4KLSAgICAgICAgIDxsaT5qYXZheC54bWwucGFyc2Vycy5Eb2N1bWVudEJ1aWxkZXJGYWN0b3J5PC9saT4KLSAgICAgICAgIDxsaT5qYXZheC54bWwucGFyc2Vycy5TQVhQYXJzZXJGYWN0b3J5PC9saT4KLSAgICAgICAgIDxsaT5qYXZheC54bWwudHJhbnNmb3JtLlRyYW5zZm9ybWVyRmFjdG9yeTwvbGk+Ci0gICAgICAgICA8bGk+b3JnLnczYy5kb20uRG9jdW1lbnQuY3JlYXRlPGk+WFhYWDwvaT48L2xpPgotICAgICAgPC91bD4KLSAgICAgIDxwPmZvciBkZXRhaWxzLjwvcD4KLSAgICAgIAotICAgIAotCi0KLTxocj4gPHA+IAotPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gCi08IS0tLS8vaGlkZSBzY3JpcHQgZnJvbSBvbGQgYnJvd3NlcnMgCi1kb2N1bWVudC53cml0ZSggIkxhc3QgdXBkYXRlZCAiKyBkb2N1bWVudC5sYXN0TW9kaWZpZWQgKyAiLiIgKTsgCi0vL2VuZCBoaWRpbmcgY29udGVudHMgLS0tPiAKLTwvc2NyaXB0PiAKLTxwPiBTZW5kIGNvbW1lbnRzIHRvIDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsdG86ZmluZGJ1Z3NAY3MudW1kLmVkdSI+ZmluZGJ1Z3NAY3MudW1kLmVkdTwvYT4gCi08cD4gCi08QSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0Ij48SU1HIHNyYz0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9zZmxvZ28ucGhwP2dyb3VwX2lkPTk2NDA1JmFtcDt0eXBlPTUiIHdpZHRoPSIyMTAiIGhlaWdodD0iNjIiIGJvcmRlcj0iMCIgYWx0PSJTb3VyY2VGb3JnZS5uZXQgTG9nbyIgLz48L0E+Ci08L3RkPjwvdHI+PC90YWJsZT4KLTwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvYnVnZ3ktc20ucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2J1Z2d5LXNtLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y1ZmM1MC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvYnVnZ3ktc20ucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2NvbnRyaWJ1dGluZy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2NvbnRyaWJ1dGluZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjJiM2FiLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jb250cmlidXRpbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyMSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkNvbnRyaWJ1dGluZyB0byBGaW5kQnVnczwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJmaW5kYnVncy5jc3MiPgotCi08L2hlYWQ+Ci08Ym9keT4KLQotPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Ci0KLQotPHRkIGJnY29sb3I9IiNiOWI5ZmUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgd2lkdGg9IjIwJSI+IAotPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4gCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idW1kRmluZGJ1Z3MucG5nIiBhbHQ9IkZpbmRCdWdzIj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RG9jcyBhbmQgSW5mbzwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZpbmRidWdzMi5odG1sIj5GaW5kQnVncyAyLjA8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZGVtby5odG1sIj5EZW1vIGFuZCBkYXRhPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InVzZXJzLmh0bWwiPlVzZXJzIGFuZCBzdXBwb3J0ZXJzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5ibG9nc3BvdC5jb20vIj5GaW5kQnVncyBibG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZhY3RTaGVldC5odG1sIj5GYWN0IHNoZWV0PC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5NYW51YWw8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iamEvbWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbChqYS8mIzI2MDg1OyYjMjY0MTI7JiMzNTQ4NjspPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYnVnRGVzY3JpcHRpb25zLmh0bWwiPkJ1ZyBkZXNjcmlwdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbGluZ0xpc3RzLmh0bWwiPk1haWxpbmcgbGlzdHM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icHVibGljYXRpb25zLmh0bWwiPkRvY3VtZW50cyBhbmQgUHVibGljYXRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImxpbmtzLmh0bWwiPkxpbmtzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZG93bmxvYWRzLmh0bWwiPjxiPkRvd25sb2FkczwvYj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly93d3cuY2FmZXNob3BzLmNvbS9maW5kYnVncyI+PGI+RmluZEJ1Z3MgU3dhZzwvYj48L2E+PC90ZD48L3RyPgotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5EZXZlbG9wbWVudDwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9OTY0MDUiPk9wZW4gYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJyZXBvcnRpbmdCdWdzLmh0bWwiPlJlcG9ydGluZyBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImNvbnRyaWJ1dGluZy5odG1sIj5Db250cmlidXRpbmc8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idGVhbS5odG1sIj5EZXYgdGVhbTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvaW5kZXguaHRtbCI+QVBJPC9hPiA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+W25vIGZyYW1lc108L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iQ2hhbmdlcy5odG1sIj5DaGFuZ2UgbG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZmluZGJ1Z3MiPlNGIHByb2plY3QgcGFnZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2Jyb3dzZS8iPkJyb3dzZSBzb3VyY2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9saXN0Ij5MYXRlc3QgY29kZSBjaGFuZ2VzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPC90YWJsZT4gCi08L3RkPgotCi08dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KLQotPGgxPkNvbnRyaWJ1dGluZyB0byBGaW5kQnVnczwvaDE+Ci0KLTxwPiBJZiB5b3UgaGF2ZSBhIGJ1ZyBmaXggb3IgZmVhdHVyZSBlbmhhbmNlbWVudCB5b3Ugd291bGQgbGlrZSB0byBjb250cmlidXRlLAotd2Ugd291bGQgYmUgaGFwcHkgdG8gY29uc2lkZXIgaXQgZm9yIGluY2x1c2lvbi48L3A+Ci0KLTxoMj5JbXBvcnQgRmluZEJ1Z3MgY29kZSBhcyBFY2xpcHNlIHByb2plY3RzPC9oMj4KLQotPHA+VGhlIHByZWZlcnJlZCB3YXkgdG8gZ2V0IHRoZSBGaW5kQnVncyBzb3VyY2UgY29kZSBhbmQgY3JlYXRlIHRoZSBwYXRjaCBpcyB0byB1c2UgRWNsaXBzZSArIFNWTi4KLVlvdSBjYW4gZWFzaWx5IGltcG9ydCBGaW5kQnVncyBjb2RlIGludG8gRWNsaXBzZSBieSBmb2xsb3dpbmcgdGhlIHN0ZXBzIGRlc2NyaWJlZAotaGVyZTogPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvdHJ1bmsvZWNsaXBzZVBsdWdpbi9kb2MvYnVpbGRpbmdfZmluZGJ1Z3NwbHVnaW4udHh0Ij5JbXBvcnQgRWNsaXBzZSBwcm9qZWN0czwvYT4KLS4gCi08L3A+Ci0KLTxoMj5QcmVwYXJpbmcgYSBwYXRjaDwvaDI+Ci0KLTxwPiBUaGUgYmVzdCB3YXkgdG8KLXNlbmQgYW4gZW5oYW5jZW1lbnQgaXMgdG8gY3JlYXRlIGEgcGF0Y2ggYWdhaW5zdCB0aGUgbGF0ZXN0IGNvZGUKLWluIHRoZSBGaW5kQnVncyBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgCi1hdCA8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rLyI+aHR0cDovL2ZpbmRidWdzLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay88L2E+Ci0odGhvc2UgcGVvcGxlIHdobyBoYXZlIGJlZW4gZ2l2ZW4gY29tbWl0IHByaXZpbGVkZ2VzIHNob3VsZCB1c2UgCi08YSBocmVmPSJodHRwczovL2ZpbmRidWdzLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay8iPmh0dHA8Yj5zPC9iPjovL2ZpbmRidWdzLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay88L2E+KS4KLTwvcD4KLQotPHA+VG8gY3JlYXRlIGEgcGF0Y2ggZnJvbSBFY2xpcHNlLCBwbGVhc2UgcmlnaHQgY2xpY2sgdGhlIFtmaW5kYnVnc10gb3IgW2ZpbmRCdWdzRWNsaXBzZVBsdWdpbl0gcHJvamVjdAotYW5kIGNob29zZSBbVGVhbSB8IENyZWF0ZSBQYXRjaC4uLl0gY29udGV4dCBtZW51LgotPC9wPgotCi08cD4gUGxlYXNlIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzIHdoZW4gcHJlcGFyaW5nIHlvdXIgcGF0Y2g6PC9wPgotPHVsPgotPGxpPiA8Yj5Vc2UgdGhlIHNhbWUgaW5kZW50YXRpb24gc3R5bGUgYXMgdGhlIHNvdXJjZSBmaWxlKHMpIHlvdQotICAgICBhcmUgbW9kaWZ5aW5nPC9iPi4mbmJzcDsgSW4gcGFydGljdWxhciwgcGxlYXNlIHVzZSB0YWJzIChub3Qgc3BhY2VzKQotICAgICB0byBpbmRlbnQgeW91ciBjb2RlOyBvbmUgdGFiIHBlciBpbmRlbnQgbGV2ZWwuCi08bGk+IElmIGF0IGFsbCBwb3NzaWJsZSwgYXZvaWQgbWFraW5nIHdoaXRlc3BhY2UgbW9kaWZpY2F0aW9ucy4KLTxsaT4gU21hbGwgcGF0Y2hlcyBhcmUgYXBwcmVjaWF0ZWQuCi08bGk+IElmIHlvdSBhcmUgc3VibWl0dGluZyBhIG5ldyBidWcgZGV0ZWN0b3IsIHBsZWFzZSBzdWJtaXQgYSBzbWFsbAotICAgICBzdGFuZGFsb25lIHNvdXJjZSBmaWxlIHRoYXQgY29udGFpbnMgYW4gaW5zdGFuY2Ugb2YgdGhlCi0gICAgIGtpbmQgb2YgYnVnIHRoZSBkZXRlY3RvciBsb29rcyBmb3IuCi08L3VsPgotCi08cD4gRm9sbG93aW5nIHRoZXNlIGd1aWRlbGluZXMgbWFrZXMgaXQgbXVjaCBlYXNpZXIgZm9yIHVzCi10byBpbmNvcnBvcmF0ZSBuZXcgY29kZS4KLQotPGgyPkhvdyB0byBzdWJtaXQgYSBwYXRjaDwvaDI+Ci0KLTxwPiBQYXRjaGVzIG1heSBiZSBzdWJtaXR0ZWQgdGhyb3VnaCB0aGUKLTxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/YXRpZD02MTQ2OTUmZ3JvdXBfaWQ9OTY0MDUmZnVuYz1icm93c2UiPlBhdGNoZXM8L2E+IHRyYWNrZXIgb24gdGhlCi08YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzLyI+c291cmNlZm9yZ2UgcHJvamVjdCBwYWdlPC9hPi4KLQotCi08aHI+IDxwPiAKLTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+IAotPCEtLS0vL2hpZGUgc2NyaXB0IGZyb20gb2xkIGJyb3dzZXJzIAotZG9jdW1lbnQud3JpdGUoICJMYXN0IHVwZGF0ZWQgIisgZG9jdW1lbnQubGFzdE1vZGlmaWVkICsgIi4iICk7IAotLy9lbmQgaGlkaW5nIGNvbnRlbnRzIC0tLT4gCi08L3NjcmlwdD4gCi08cD4gU2VuZCBjb21tZW50cyB0byA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+IAotPHA+IAotPEEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldCI+PElNRyBzcmM9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvc2Zsb2dvLnBocD9ncm91cF9pZD05NjQwNSZhbXA7dHlwZT01IiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjYyIiBib3JkZXI9IjAiIGFsdD0iU291cmNlRm9yZ2UubmV0IExvZ28iIC8+PC9BPgotCi08L3RkPgotCi08L3RyPjwvdGFibGU+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvSVRBc29mdHdhcmUucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2N1c3RvbWVycy9JVEFzb2Z0d2FyZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlYzc5YzAuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2N1c3RvbWVycy9JVEFzb2Z0d2FyZS5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL2dlb0xvY2F0aW9uLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvZ2VvTG9jYXRpb24ucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZmU2YmE4Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvZ2VvTG9jYXRpb24ucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2N1c3RvbWVycy9nZW9NYXAucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2N1c3RvbWVycy9nZW9NYXAucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDU4ZWVmLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvZ2VvTWFwLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvZ2xhc3NmaXNoLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvZ2xhc3NmaXNoLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2VjMjhiZS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL2dsYXNzZmlzaC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL2dvb2dsZS5wbmcgYi90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL2dvb2dsZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0MmFiMDkuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2N1c3RvbWVycy9nb29nbGUucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2N1c3RvbWVycy9sb2dvX3VtZC5wbmcgYi90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL2xvZ29fdW1kLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q4ZWQxMS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL2xvZ29fdW1kLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvbnNmLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvbnNmLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg1MzFhMC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL25zZi5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL3NhdDRqLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvc2F0NGoucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDU0ZTIxLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvc2F0NGoucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2N1c3RvbWVycy9zbGVlcHljYXQucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2N1c3RvbWVycy9zbGVlcHljYXQucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzkxMWYzLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvc2xlZXB5Y2F0LnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvc3VuLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9jdXN0b21lcnMvc3VuLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMwY2FlNy4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvY3VzdG9tZXJzL3N1bi5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvZGVtby5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2RlbW8uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODNjZTdhMy4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvZGVtby5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjE5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RmluZEJ1Z3MmdHJhZGU7IDEuMiBEZW1vIGFuZCBSZXN1bHRzPC90aXRsZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImZpbmRidWdzLmNzcyIgLz4KLQotPC9oZWFkPgotCi08Ym9keT4KLQotPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Ci0KLQotPHRkIGJnY29sb3I9IiNiOWI5ZmUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgd2lkdGg9IjIwJSI+IAotPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4gCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idW1kRmluZGJ1Z3MucG5nIiBhbHQ9IkZpbmRCdWdzIj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RG9jcyBhbmQgSW5mbzwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZpbmRidWdzMi5odG1sIj5GaW5kQnVncyAyLjA8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZGVtby5odG1sIj5EZW1vIGFuZCBkYXRhPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InVzZXJzLmh0bWwiPlVzZXJzIGFuZCBzdXBwb3J0ZXJzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5ibG9nc3BvdC5jb20vIj5GaW5kQnVncyBibG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZhY3RTaGVldC5odG1sIj5GYWN0IHNoZWV0PC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5NYW51YWw8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iamEvbWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbChqYS8mIzI2MDg1OyYjMjY0MTI7JiMzNTQ4NjspPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYnVnRGVzY3JpcHRpb25zLmh0bWwiPkJ1ZyBkZXNjcmlwdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbGluZ0xpc3RzLmh0bWwiPk1haWxpbmcgbGlzdHM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icHVibGljYXRpb25zLmh0bWwiPkRvY3VtZW50cyBhbmQgUHVibGljYXRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImxpbmtzLmh0bWwiPkxpbmtzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZG93bmxvYWRzLmh0bWwiPjxiPkRvd25sb2FkczwvYj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly93d3cuY2FmZXNob3BzLmNvbS9maW5kYnVncyI+PGI+RmluZEJ1Z3MgU3dhZzwvYj48L2E+PC90ZD48L3RyPgotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5EZXZlbG9wbWVudDwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9OTY0MDUiPk9wZW4gYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJyZXBvcnRpbmdCdWdzLmh0bWwiPlJlcG9ydGluZyBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImNvbnRyaWJ1dGluZy5odG1sIj5Db250cmlidXRpbmc8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idGVhbS5odG1sIj5EZXYgdGVhbTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvaW5kZXguaHRtbCI+QVBJPC9hPiA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+W25vIGZyYW1lc108L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iQ2hhbmdlcy5odG1sIj5DaGFuZ2UgbG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZmluZGJ1Z3MiPlNGIHByb2plY3QgcGFnZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2Jyb3dzZS8iPkJyb3dzZSBzb3VyY2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9saXN0Ij5MYXRlc3QgY29kZSBjaGFuZ2VzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPC90YWJsZT4gCi08L3RkPgotCi08dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KLTxoMT4KLUZpbmRCdWdzIDEuMiBkZW1vIGFuZCByZXN1bHRzCi08L2gxPgotCi08cD5JZiB5b3UganVzdCB3YW50IHRvIHRyeSBydW5uaW5nIEZpbmRCdWdzIGFnYWluc3QgeW91cgotb3duIGNvZGUsIHlvdSBjYW4KLTxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2RlbW8vam5scC9maW5kYnVncy5qbmxwIj5ydW4gRmluZEJ1Z3M8L2E+IHVzaW5nIEphdmEgV2Vic3RhcnQuCi1UaGlzIHdpbGwgdXNlIG91ciBuZXcgZ3VpIHVuZGVyIEphdmEgMS41KyBhbmQgb3VyIG9sZCBndWkgdW5kZXIgSmF2YSAxLjQuCi1UaGUgbmV3IGd1aSBwcm92aWRlcyBhIG51bWJlciBvZiBuZXcgZmVhdHVyZXMsIGJ1dCByZXF1aXJlcyBKYXZhIDEuNSsuCi1Cb3RoIHVzZSBleGFjdGx5IHRoZSBzYW1lIGFuYWx5c2lzIGVuZ2luZS4KLQotPC9wPjxwPlRoaXMgd2ViIHBhZ2UgcHJvdmlkZXMgcmVzdWx0cyBvZiBydW5uaW5nIEZpbmRCdWdzIDEuMi4wCi1hZ2FpbnN0IHNldmVyYWwgb3BlbiBzb3VyY2UgYXBwbGljYXRpb25zLiBXZSBwcm92aWRlIGEgc3VtbWFyeQotb2YgdGhlIG51bWJlciBvZiBidWdzIHdlIGZvdW5kLCBhcyB3ZWxsIGFzIGEgZ2VuZXJhdGVkIEhUTUwgbGlzdGluZwotb2YgdGhlIGJ1Z3MgYW5kIAotYSA8YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2phdmF3ZWJzdGFydC8iPkphdmEgCi1XZWJTdGFydDwvYT4gZGVtbyBvZiB0aGUgbmV3IEdVSSB3ZSd2ZSBpbnRyb2R1Y2VkIGluIEZpbmRCdWdzIHZlcnNpb24gMS4xLAotZGlzcGxheWluZyB0aGUgd2FybmluZ3MgYW5kIHRoZSByZWxldmFudCBzb3VyY2UuCi0KLQotPC9wPjxwPlRoZSBhcHBsaWNhdGlvbnMgYW5kIHZlcnNpb25zIG9mIHRoZW0gd2UgcmVwb3J0IG9uCi1hcmUgc29tZXdoYXQgYXJiaXRyYXJ5LiBJbiBzb21lIGNhc2VzLCB0aGV5IGFyZSByZWxlYXNlIHZlcnNpb25zLAotaW4gb3RoZXIgY2FzZXMgbmlnaHRseSBidWlsZHMuIFdlIGZpbmQgbG90cyBvZiBidWdzIGluIGV2ZXJ5IGxhcmdlIGNvZGUKLWJhc2Ugd2UgZXhhbWluZTsgdGhlc2UgYXBwbGljYXRpb25zIGFyZSBjZXJ0YWlubHkgbm90IHRoZSB3b3JzdCB3ZSBoYXZlIHNlZW4uCi1JIGhhdmUgYmVlbiBhbGxvd2VkIHRvIGNvbmZpZGVudGlhbGx5IGV4YW1pbmUgdGhlIHJlc3VsdHMgb2YgcnVubmluZyBGaW5kQnVncwotYWdhaW5zdCBzZXZlcmFsIGNsb3NlZCBjb21tZXJjaWFsIGNvZGUgYmFzZXMgYnkgd2VsbCByZXNwZWN0ZWQgY29tcGFuaWVzOwotdGhlIHJlc3VsdHMgSSd2ZSBzZWVuIHRoZXJlIGFyZSBub3Qgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgZnJvbQotd2hhdCBJJ3ZlIG9ic2VydmVkIGluIG9wZW4gc291cmNlIGNvZGUgYmFzZXMuIAotCi0KLTwvcD48cD48ZW0+RXhwZXJpbWVudGFsIGRldGFpbHM8L2VtPjogVGhlc2UgcmVzdWx0cyBhcmUgZnJvbSBydW5uaW5nCi1GaW5kQnVncyAxLjIuMCBhdCBzdGFuZGFyZCBlZmZvcnQgbGV2ZWwuIE91ciByZXN1bHRzIGRvIG5vdCBpbmNsdWRlCi1hbnkgbG93IHByaW9yaXR5IHdhcm5pbmdzIG9yIGFueSB3YXJuaW5ncyBhYm91dCB2dWxuZXJhYmlsaXRpZXMgdG8gCi1tYWxpY2lvdXMgY29kZS4gQWx0aG91Z2ggd2UgaGF2ZSAocmVwZWF0ZWRseSkgbWFudWFsbHkgYXVkaXRlZCB0aGUgcmVzdWx0cywKLXdlIGhhdmVuJ3QgbWFudWFsbHkgZmlsdGVyZWQgb3V0IGZhbHNlIHBvc2l0aXZlcyBmcm9tIHRoZXNlIHdhcm5pbmdzLAotc28gdGhhdCB5b3UgY2FuIGdldCBhIGZlZWxpbmcgZm9yIHRoZSBxdWFsaXR5IG9mIHRoZSB3YXJuaW5ncyBnZW5lcmF0ZWQKLWJ5IEZpbmRCdWdzLgotPC9wPjxwPlNvbWUgb2YgdGhlIGJ1Z3MgY29udGFpbiBhdWRpdCBjb21tZW50czogdGhleSBhcmUgbWFya2VkIGFzIHRvIHdoZXRoZXIKLXdlIHRob3VnaHQgdGhlIHdhcm5pbmcgaW5kaWNhdGVkIGEgYnVnIHRoYXQgc2hvdWxkIG9yIG11c3QgYmUgZml4ZWQsIG9yIHdoZXRoZXIgaXQgd2FzIG5vdCwgaW4gZmFjdCwgYSBidWcuCi08L3A+PHA+SW4gdGhlIHdlYnN0YXJ0IHZlcnNpb25zLCB3ZSd2ZSBvbmx5IGluY2x1ZGVkIHRoZSBidWdzIGZvciB3aGljaAotd2Ugd2VyZSBhYmxlIHRvIGlkZW50aWZ5IHNvdXJjZSBmaWxlcy4gVGhlIG51bWJlciBvZiBsaW5lcyBvZiBub24tY29tbWVudGluZyBzb3VyY2UKLXN0YXRlbWVudHMgaW4gdGhlIHRhYmxlIGJlbG93IChLTkNTUykgaXMgZGVyaXZlZCBmcm9tIHRoZSBzYW1lIGZpbGVzCi10aGF0IHdlIGFuYWx5emVkIGFuZCBpbiB3aGljaCB3ZSByZXBvcnQgYnVnczsgd2UgYWN0dWFsbHkgY29tcHV0ZQotS05DU1MgZnJvbSB0aGUgY2xhc3NmaWxlcywgbm90IHRoZSBzb3VyY2UgZmlsZXMuCi0KLTwvcD48cD48ZW0+VnVsbmVyYWJpbGl0eSBkaXNjbG9zdXJlPC9lbT46IFRoYW5rZnVsbHksIEphdmEgaXNuJ3QgQyBvciBDKysuIERlcmVmZXJlbmNpbmcKLWEgbnVsbCBwb2ludGVyIG9yIGFjY2Vzc2luZyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgYW4gYXJyYXkgZ2VuZXJhdGVzIGEgcnVudGltZQotZXhjZXB0aW9uIHJhdGhlciB0aGFuIGEgc2hlbGwgZXhwbG9pdC4gV2UgZG8gbm90IGJlbGlldmUgdGhhdCBhbnkgb2YgdGhlCi13YXJuaW5ncyBoZXJlIHJlcHJlc2VudHMgYSBzZWN1cml0eSB2dWxuZXJhYmlsaXR5LCBhbHRob3VnaCB3ZSBoYXZlIG5vdCBhdWRpdGVkCi10aGVtIHRvIHZlcmlmeSB0aGF0LiBUaGVzZSBwcm9qZWN0cyBhcmUgYWxsIGF3YXJlIG9mIHRoZSBleGlzdGVuY2Ugb2YKLUZpbmRCdWdzLCBhbmQgIEZpbmRCdWdzIGlzIGFscmVhZHkgb3BlbiBzb3VyY2UgYW5kIGF2YWlsYWJsZQotZm9yIHVzZSBib3RoIGJ5IGRldmVsb3BlcnMgYW5kIGF0dGFja2Vycywgd2UgZG9uJ3QgYmVsaWV2ZSB0aGF0IG1ha2luZwotdGhlc2UgcmVzdWx0cyBhdmFpbGFibGUgY29uc3RpdHV0ZXMgYSByZWNrbGVzcyBkaXNjbG9zdXJlLgotCi0KLTwvcD48cD48ZW0+UmVjb21tZW5kYXRpb25zPC9lbT46IEZpcnN0LCByZXZpZXcgdGhlIGNvcnJlY3RuZXNzIHdhcm5pbmdzLgotIFdlIGZlZWwgY29uZmlkZW50IHRoYXQgZGV2ZWxvcGVycwotd291bGQgd2FudCB0byBmaXggbW9zdCBvZiB0aGUgaGlnaCBhbmQgbWVkaXVtIHByaW9yaXR5IGNvcnJlY3RuZXNzIHdhcm5pbmdzIHdlIHJlcG9ydC4KLU9uY2UgeW91J3ZlIHJldmlld2VkIHRob3NlLAoteW91IG1pZ2h0IHdhbnQgdG8gbG9vayBhdCBzb21lIG9mIHRoZSBvdGhlciBjYXRlZ29yaWVzLiAgCi08L3A+PHA+Ci1JbiBvdGhlciBjYXRlZ29yaWVzLAotc3VjaCBhcyBCYWQgcHJhY3RpY2UgYW5kIERvZGd5IGNvZGUsIHdlIGFjY2VwdCBtb3JlIGZhbHNlIHBvc2l0aXZlcy4gWW91Ci1taWdodCBkZWNpZGUgdGhhdCBhIHBhdHRlcm4gYnVnIHBhdHRlcm4gaXNuJ3QgcmVsZXZhbnQgZm9yIHlvdXIgY29kZQotYmFzZSAoZS5nLiwgIHlvdSBuZXZlciB1c2UgU2VyaWFsaXphdGlvbiBmb3IgcGVyc2lzdGVudCBzdG9yYWdlLAotc28geW91IG5ldmVyICBjYXJlIGFib3V0IHRoZSBmYWN0IHRoYXQgeW91IGRpZG4ndCBkZWZpbmUgYSBzZXJpYWxpemF0aW9uVUlEKSwKLWFuZCBldmVuIGZvciB0aGUgYnVnIHBhdHRlcm5zIHJlbGV2YW50IHRvIHlvdXIgY29kZSBiYXNlLAotcGVyaGFwcyBvbmx5IGEgbWlub3JpdHkgd2lsbCByZWZsZWN0IHByb2JsZW1zIHNlcmlvdXMgZW5vdWdoIHRvCi1jb252aW5jZSB5b3UgdG8gY2hhbmdlIHlvdXIgY29kZS4KLQotPC9wPjxwPjxlbT5QbGVhc2UgYmUgcGF0aWVudDwvZW0+IFRoZSBXZWIgc3RhcnQgIHZlcnNpb25zIG5vdCBvbmx5IGhhdmUgdG8gZG93bmxvYWQgdGhlIGFwcGxpY2F0aW9ucywKLQl0aGV5IG5lZWQgdG8gZG93bmxvYWQgYWJvdXQgMTAgbWVnYWJ5dGVzIG9mIGRhdGEgYW5kIHNvdXJjZSBmaWxlcy4gUGxlYXNlCi0JYmUgcGF0aWVudC4gU29ycnkgd2UgZG9uJ3QgaGF2ZSBhIHByb2dyZXNzIGJhciBmb3IgdGhlIGRhdGEgYW5kIHNvdXJjZSBkb3dubG9hZDsKLQl0aGUgYWJpbGl0eSB0byByZW1vdGVseSBkb3dubG9hZCBhIGRhdGEgYW5kIHNvdXJjZSBhcmNoaXZlIGlzIGEgbGl0dGxlIGJpdCBvZiAKLQlhIGhhY2suIFdlJ3ZlIHByb3ZpZGVkIHNtYWxsIHZlcnNpb25zIG9mIHNvbWUgb2YgdGhlIGRhdGEgc2V0cyB0aGF0IGluY2x1ZGUKLQlvbmx5IHRoZSBjb3JyZWN0bmVzcyBidWdzIGFuZCB0aGUgc291cmNlIGZpbGVzIGNvbnRhaW5pbmcgdGhvc2Ugd2FybmluZ3MuIFRoZSBzbWFsbAotCWRhdGFzZXRzIGFyZSBhYm91dCBhIHF1YXJ0ZXIgb2YgdGhlIHNpemVzIG9mIHRoZSBmdWxsIGRhdGFzZXRzLgotCTwvcD4KLTxwPgotPC9wPjx0YWJsZSBib3JkZXI9IjIiPgotPHRyPjx0aCByb3dzcGFuPSIyIj5BcHBsaWNhdGlvbjwvdGg+PHRoIGNvbHNwYW49IjIiPkRldGFpbHM8L3RoPjx0aCBjb2xzcGFuPSIyIj5Db3JyZWN0bmVzcyBidWdzPC90aD48dGggcm93c3Bhbj0iMiI+QmFkIFByYWN0aWNlPC90aD48dGggcm93c3Bhbj0iMiI+RG9kZ3k8L3RoPjx0aCByb3dzcGFuPSIyIj5LTkNTUwotPC90aD48L3RyPjx0cj48dGg+SFRNTDwvdGg+PHRoPldlYlN0YXJ0PC90aD48dGg+TlAgYnVnczwvdGg+PHRoPk90aGVyCi08L3RoPjwvdHI+PHRyPjx0ZCBhbGlnbj0icmlnaHQiPlN1biBKREsgMS43LjAtYjEyPC90ZD48dGQgYWxpZ249InJpZ2h0Ij4KLQkJCQkJPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZGVtby9qZGs3L2luZGV4Lmh0bWwiPkFsbDwvYT4gCi0JCQk8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPgotCQkJCQk8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9kZW1vL2pkazcvaW5kZXguam5scCI+QWxsPC9hPiAKLQkJCQkJCTxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2RlbW8vamRrNy9zbWFsbC5qbmxwIj5TbWFsbDwvYT4gCi0JPC90ZD48dGQgYWxpZ249InJpZ2h0Ij42ODwvdGQ+PHRkIGFsaWduPSJyaWdodCI+MTgwPC90ZD48dGQgYWxpZ249InJpZ2h0Ij45NTQ8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPjY1NDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+NTk3Ci0KLTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJyaWdodCI+ZWNsaXBzZS1TREstMy4zTTctc29sYXJpcy1ndGs8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPgotCQkJCQk8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9kZW1vL2VjbGlwc2UvaW5kZXguaHRtbCI+QWxsPC9hPgotCQkJPC90ZD48dGQgYWxpZ249InJpZ2h0Ij4KLQkJCQkJPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZGVtby9lY2xpcHNlL2luZGV4LmpubHAiPkFsbDwvYT4KLQkJCQkJPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZGVtby9lY2xpcHNlL3NtYWxsLmpubHAiPlNtYWxsPC9hPgotCTwvdGQ+PHRkIGFsaWduPSJyaWdodCI+MTQ2PC90ZD48dGQgYWxpZ249InJpZ2h0Ij4yNTk8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPjEsMDc5PC90ZD48dGQgYWxpZ249InJpZ2h0Ij42NDM8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPjEsNDQ3Ci0KLTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJyaWdodCI+bmV0YmVhbnMtNl8wLW04PC90ZD48dGQgYWxpZ249InJpZ2h0Ij4KLQkJCQkJPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZGVtby9uZXRiZWFucy9pbmRleC5odG1sIj5BbGw8L2E+Ci0JCQk8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPgotCQkJCQk8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9kZW1vL25ldGJlYW5zL2luZGV4LmpubHAiPkFsbDwvYT4KLQkJCQkJPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZGVtby9uZXRiZWFucy9zbWFsbC5qbmxwIj5TbWFsbDwvYT4KLQk8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPjE4OTwvdGQ+PHRkIGFsaWduPSJyaWdodCI+MzA1PC90ZD48dGQgYWxpZ249InJpZ2h0Ij4zLDAxMDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+MSwxMTI8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPjEsMDIyCi0KLTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJyaWdodCI+Z2xhc3NmaXNoLXYyLWI0MzwvdGQ+PHRkIGFsaWduPSJyaWdodCI+Ci0JCQkJCTxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2RlbW8vZ2xhc3NmaXNoL2luZGV4Lmh0bWwiPkFsbDwvYT4KLQkJCTwvdGQ+PHRkIGFsaWduPSJyaWdodCI+Ci0JCQkJCTxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2RlbW8vZ2xhc3NmaXNoL2luZGV4LmpubHAiPkFsbDwvYT4KLQkJCQkJPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZGVtby9nbGFzc2Zpc2gvc21hbGwuam5scCI+U21hbGw8L2E+Ci0JPC90ZD48dGQgYWxpZ249InJpZ2h0Ij4xNDY8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPjE1NDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+OTY0PC90ZD48dGQgYWxpZ249InJpZ2h0Ij4xLDIyMjwvdGQ+PHRkIGFsaWduPSJyaWdodCI+MiwxNzYKLQotPC90ZD48L3RyPjx0cj48dGQgYWxpZ249InJpZ2h0Ij5qYm9zcy00LjAuNTwvdGQ+PHRkIGFsaWduPSJyaWdodCI+Ci0JCQkJCTxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2RlbW8vamJvc3MvaW5kZXguaHRtbCI+QWxsPC9hPgotCQkJPC90ZD48dGQgYWxpZ249InJpZ2h0Ij4KLQkJCQkJPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZGVtby9qYm9zcy9pbmRleC5qbmxwIj5BbGw8L2E+Ci0JCQkJCTxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2RlbW8vamJvc3Mvc21hbGwuam5scCI+U21hbGw8L2E+Ci0JPC90ZD48dGQgYWxpZ249InJpZ2h0Ij4zMDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+NTc8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPjI2MzwvdGQ+PHRkIGFsaWduPSJyaWdodCI+MjE0PC90ZD48dGQgYWxpZ249InJpZ2h0Ij4xNzgKLQotPC90ZD48L3RyPjwvdGFibGU+Ci08cD48ZW0+S05DU1M8L2VtPiAgLSBUaG91c2FuZHMgb2YgbGluZXMgb2Ygbm9uLWNvbW1lbnRpbmcgc291cmNlIHN0YXRlbWVudHMKLQotPC9wPjxoMj5CdWcgY2F0ZWdvcmllczwvaDI+Ci08ZGw+Ci08ZHQ+Q29ycmVjdG5lc3MgYnVnCi08L2R0PjxkZD5Qcm9iYWJsZSBidWcgLSBhbiBhcHBhcmVudCBjb2RpbmcgbWlzdGFrZQotICAgICAgICAgICAgcmVzdWx0aW5nIGluIGNvZGUgdGhhdCB3YXMgcHJvYmFibHkgbm90IHdoYXQgdGhlCi0gICAgICAgICAgICBkZXZlbG9wZXIgaW50ZW5kZWQuIFdlIHN0cml2ZSBmb3IgYSBsb3cgZmFsc2UgcG9zaXRpdmUgcmF0ZS4KLTwvZGQ+PGR0PkJhZCBQcmFjdGljZQotPC9kdD48ZGQ+Ci1WaW9sYXRpb25zIG9mIHJlY29tbWVuZGVkIGFuZCBlc3NlbnRpYWwKLSAgICAgICAgICAgIGNvZGluZyBwcmFjdGljZS4gRXhhbXBsZXMgaW5jbHVkZSBoYXNoIGNvZGUgYW5kIGVxdWFscwotICAgICAgICAgICAgcHJvYmxlbXMsIGNsb25lYWJsZSBpZGlvbSwgZHJvcHBlZCBleGNlcHRpb25zLAotICAgICAgICAgICAgc2VyaWFsaXphYmxlIHByb2JsZW1zLCBhbmQgbWlzdXNlIG9mIGZpbmFsaXplLgotICAgICAgICAgICAgV2Ugc3RyaXZlIHRvIG1ha2UgdGhpcyBhbmFseXNpcyBhY2N1cmF0ZSwKLSAgICAgICAgICAgICAgICBhbHRob3VnaCBzb21lIGdyb3VwcyBtYXkKLSAgICAgICAgICAgIG5vdCBjYXJlIGFib3V0IHNvbWUgb2YgdGhlIGJhZCBwcmFjdGljZXMuCi08L2RkPjxkdD5Eb2RneQotPC9kdD48ZGQ+Ci1Db2RlIHRoYXQgaXMgY29uZnVzaW5nLCBhbm9tYWxvdXMsIG9yCi0gICAgICAgICAgICB3cml0dGVuIGluIGEgd2F5IHRoYXQgbGVhZHMgaXRzZWxmIHRvIGVycm9ycy4KLSAgICAgICAgICAgIEV4YW1wbGVzIGluY2x1ZGUgZGVhZCBsb2NhbCBzdG9yZXMsIHN3aXRjaCBmYWxsIHRocm91Z2gsCi0gICAgICAgICAgICB1bmNvbmZpcm1lZCBjYXN0cywgYW5kIHJlZHVuZGFudCBudWxsIGNoZWNrIG9mIHZhbHVlCi0gICAgICAgICAgICBrbm93biB0byBiZSBudWxsLgotICAgICAgICAgICAgTW9yZSBmYWxzZSBwb3NpdGl2ZXMgYWNjZXB0ZWQuCi0gICAgICAgICAgICBJbiBwcmV2aW91cyB2ZXJzaW9ucyBvZiBGaW5kQnVncywgdGhpcyBjYXRlZ29yeSB3YXMga25vd24gYXMgU3R5bGUuCi08L2RsPgotCi0KLTxocj4gPHA+IAotPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gCi08IS0tLS8vaGlkZSBzY3JpcHQgZnJvbSBvbGQgYnJvd3NlcnMgCi1kb2N1bWVudC53cml0ZSggIkxhc3QgdXBkYXRlZCAiKyBkb2N1bWVudC5sYXN0TW9kaWZpZWQgKyAiLiIgKTsgCi0vL2VuZCBoaWRpbmcgY29udGVudHMgLS0tPiAKLTwvc2NyaXB0PiAKLTxwPiBTZW5kIGNvbW1lbnRzIHRvIDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsdG86ZmluZGJ1Z3NAY3MudW1kLmVkdSI+ZmluZGJ1Z3NAY3MudW1kLmVkdTwvYT4gCi08cD4gCi08QSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0Ij48SU1HIHNyYz0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9zZmxvZ28ucGhwP2dyb3VwX2lkPTk2NDA1JmFtcDt0eXBlPTUiIHdpZHRoPSIyMTAiIGhlaWdodD0iNjIiIGJvcmRlcj0iMCIgYWx0PSJTb3VyY2VGb3JnZS5uZXQgTG9nbyIgLz48L0E+PC90ZD48L3RyPjwvdGFibGU+Ci0KLTwvYm9keT4KLTwvaHRtbD4KLQotCi0KLQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2Rvd25sb2Fkcy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2Rvd25sb2Fkcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOGJkNjM5Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9kb3dubG9hZHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExOCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkZpbmRCdWdzIERvd25sb2FkczwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJmaW5kYnVncy5jc3MiPgotCi08L2hlYWQ+Ci08Ym9keT4KLQotPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Ci0KLQotPHRkIGJnY29sb3I9IiNiOWI5ZmUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgd2lkdGg9IjIwJSI+IAotPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4gCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idW1kRmluZGJ1Z3MucG5nIiBhbHQ9IkZpbmRCdWdzIj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RG9jcyBhbmQgSW5mbzwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZpbmRidWdzMi5odG1sIj5GaW5kQnVncyAyLjA8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZGVtby5odG1sIj5EZW1vIGFuZCBkYXRhPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InVzZXJzLmh0bWwiPlVzZXJzIGFuZCBzdXBwb3J0ZXJzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5ibG9nc3BvdC5jb20vIj5GaW5kQnVncyBibG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZhY3RTaGVldC5odG1sIj5GYWN0IHNoZWV0PC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5NYW51YWw8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iamEvbWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbChqYS8mIzI2MDg1OyYjMjY0MTI7JiMzNTQ4NjspPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYnVnRGVzY3JpcHRpb25zLmh0bWwiPkJ1ZyBkZXNjcmlwdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbGluZ0xpc3RzLmh0bWwiPk1haWxpbmcgbGlzdHM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icHVibGljYXRpb25zLmh0bWwiPkRvY3VtZW50cyBhbmQgUHVibGljYXRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImxpbmtzLmh0bWwiPkxpbmtzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZG93bmxvYWRzLmh0bWwiPjxiPkRvd25sb2FkczwvYj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly93d3cuY2FmZXNob3BzLmNvbS9maW5kYnVncyI+PGI+RmluZEJ1Z3MgU3dhZzwvYj48L2E+PC90ZD48L3RyPgotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5EZXZlbG9wbWVudDwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9OTY0MDUiPk9wZW4gYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJyZXBvcnRpbmdCdWdzLmh0bWwiPlJlcG9ydGluZyBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImNvbnRyaWJ1dGluZy5odG1sIj5Db250cmlidXRpbmc8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idGVhbS5odG1sIj5EZXYgdGVhbTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvaW5kZXguaHRtbCI+QVBJPC9hPiA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+W25vIGZyYW1lc108L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iQ2hhbmdlcy5odG1sIj5DaGFuZ2UgbG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZmluZGJ1Z3MiPlNGIHByb2plY3QgcGFnZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2Jyb3dzZS8iPkJyb3dzZSBzb3VyY2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9saXN0Ij5MYXRlc3QgY29kZSBjaGFuZ2VzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPC90YWJsZT4gCi08L3RkPgotCi08dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KLQotPGgxPkZpbmRCdWdzIGRvd25sb2FkczwvaDE+Ci0KLTxwPiBUaGlzIHBhZ2UgY29udGFpbnMgbGlua3MgdG8gZG93bmxvYWRzCi1vZiBGaW5kQnVncyB2ZXJzaW9uIDIuMC4zLAotcmVsZWFzZWQgb24gMTc6MTY6MTUgRVNULCAyMiBOb3ZlbWJlciwgMjAxMy4gRG93bmxvYWQgbGlua3MKLWZvciBhbGwgRmluZEJ1Z3MgdmVyc2lvbnMgYW5kIGZpbGVzCi1hcmUgPGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3Nob3dmaWxlcy5waHA/Z3JvdXBfaWQ9OTY0MDUiPmF2YWlsYWJsZQotb24gdGhlIHNvdXJjZWZvcmdlIGRvd25sb2FkIHBhZ2U8L2E+LgotCi08dWw+Ci0gIDxsaT4KLSAgICBGaW5kQnVncyB0b29sIChzdGFuZGFyZCB2ZXJzaW9uIHdpdGggY29tbWFuZCBsaW5lLCBhbnQsIGFuZCBTd2luZyBpbnRlcmZhY2VzKQotICAgIDx1bD4KLSAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2ZpbmRidWdzL2ZpbmRidWdzLTIuMC4zLnRhci5nej9kb3dubG9hZCI+ZmluZGJ1Z3MtMi4wLjMudGFyLmd6PC9hPjwvbGk+Ci0gICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9maW5kYnVncy0yLjAuMy56aXA/ZG93bmxvYWQiPmZpbmRidWdzLTIuMC4zLnppcDwvYT48L2xpPgotICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvZmluZGJ1Z3MvZmluZGJ1Z3MtMi4wLjMtc291cmNlLnppcD9kb3dubG9hZCI+ZmluZGJ1Z3MtMi4wLjMtc291cmNlLnppcDwvYT48L2xpPgotICAgIDwvdWw+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICBUaGUgZm9sbG93aW5nIHZlcnNpb25zIG9mIEZpbmRCdWdzIGFyZSBwcmUtY29uZmlndXJlZCB0byBkaXNhYmxlIDxhIGhyZWY9InVwZGF0ZUNoZWNraW5nLmh0bWwiPmNoZWNrcyBmb3IgdXBkYXRlZCB2ZXJzaW9uczwvYT4KLSAgICBvZiBGaW5kQnVncywgYW5kCi0gICAgdGhlIHBsdWdpbiB0aGF0IGFsbG93cyBjb21tdW5pY2F0aW9uIHdpdGggdGhlIEZpbmRCdWdzIGNvbW11bml0eSBjbG91ZCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LgotICAgIFN1Y2ggY29uZmlndXJhdGlvbnMgYXJlIGFwcHJvcHJpYXRlIGluIHNpdHVhdGlvbnMgd2hlcmUgaXQgaXMgaW1wb3J0YW50IHRoYXQgbm8gaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZSBvZiBGaW5kQnVncwotICAgIGJlIGRpc2Nsb3NlZCBvdXRzaWRlIG9mIHRoZSBvcmdhbml6YXRpb24gd2hlcmUgaXQgaXMgdXNlZC4KLSAgICA8dWw+Ci0gICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9maW5kYnVncy1ub1VwZGF0ZUNoZWNrcy0yLjAuMy50YXIuZ3o/ZG93bmxvYWQiPmZpbmRidWdzLTIuMC4zLnRhci5nejwvYT48L2xpPgotICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvZmluZGJ1Z3MvZmluZGJ1Z3Mtbm9VcGRhdGVDaGVja3MtMi4wLjMuemlwP2Rvd25sb2FkIj5maW5kYnVncy0yLjAuMy56aXA8L2E+PC9saT4KLSAgICA8L3VsPgotICA8L2xpPgotICA8bGk+RWNsaXBzZSBwbHVnaW4gZm9yIEZpbmRCdWdzIHZlcnNpb24gMi4wLjMuMjAxMzExMjIgKHJlcXVpcmVzIEVjbGlwc2UgMy42IG9yIGxhdGVyKQotICAgIDx1bD4KLTxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzL2ZpbGVzL2ZpbmRidWdzJTIwZWNsaXBzZSUyMHBsdWdpbi8yLjAuMy9lZHUudW1kLmNzLmZpbmRidWdzLnBsdWdpbi5lY2xpcHNlXzIuMC4zLjIwMTMxMTIyLTE1MDIwLnppcC9kb3dubG9hZCI+ZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW4uZWNsaXBzZV8yLjAuMy4yMDEzMTEyMi0xNTAyMC56aXA8L2E+Ci08bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9maW5kYnVncy9maWxlcy9maW5kYnVncyUyMGVjbGlwc2UlMjBwbHVnaW4vMi4wLjMvZWNsaXBzZVBsdWdpbi0yLjAuMy4yMDEzMTEyMi0xNTAyMC1zb3VyY2UuemlwL2Rvd25sb2FkIj4KLWVjbGlwc2VQbHVnaW4tMi4wLjMuMjAxMzExMjItMTUwMjAtc291cmNlLnppcC9kb3dubG9hZDwvYT4KLSAgICA8L3VsPgotICA8L2xpPgotPC91bD4KLQotVGhlIEVjbGlwc2UgcGx1Z2luIG1heSBhbHNvIGJlIG9idGFpbmVkIGZyb20gb25lIG9mIHRoZSBGaW5kQnVncyBFY2xpcHNlIHBsdWdpbiB1cGRhdGUgc2l0ZXM6Ci08dWw+Ci0gIDxsaT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlIj5odHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlPC9hPiB1cGRhdGUgc2l0ZSBmb3IgPGI+b2ZmaWNpYWw8L2I+IHJlbGVhc2VzPC9saT4KLSAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UtY2FuZGlkYXRlIj5odHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLWNhbmRpZGF0ZTwvYT4gdXBkYXRlIHNpdGUgZm9yIDxiPmNhbmRpZGF0ZTwvYj4gcmVsZWFzZXMgYW5kIG9mZmljaWFsIHJlbGVhc2VzPC9saT4KLSAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UtZGFpbHkiPmh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UtZGFpbHk8L2E+IHVwZGF0ZSBzaXRlIGZvciA8Yj5hbGw8L2I+IHJlbGVhc2VzLCBpbmNsdWRpbmcgZGV2ZWxvcG1lbnRhbCBvbmVzPC9saT4KLTwvdWw+Ci0KLQotPGhyPiA8cD4gCi08c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiAKLTwhLS0tLy9oaWRlIHNjcmlwdCBmcm9tIG9sZCBicm93c2VycyAKLWRvY3VtZW50LndyaXRlKCAiTGFzdCB1cGRhdGVkICIrIGRvY3VtZW50Lmxhc3RNb2RpZmllZCArICIuIiApOyAKLS8vZW5kIGhpZGluZyBjb250ZW50cyAtLS0+IAotPC9zY3JpcHQ+IAotPHA+IFNlbmQgY29tbWVudHMgdG8gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWx0bzpmaW5kYnVnc0Bjcy51bWQuZWR1Ij5maW5kYnVnc0Bjcy51bWQuZWR1PC9hPiAKLTxwPiAKLTxBIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQiPjxJTUcgc3JjPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3NmbG9nby5waHA/Z3JvdXBfaWQ9OTY0MDUmYW1wO3R5cGU9NSIgd2lkdGg9IjIxMCIgaGVpZ2h0PSI2MiIgYm9yZGVyPSIwIiBhbHQ9IlNvdXJjZUZvcmdlLm5ldCBMb2dvIiAvPjwvQT4KLQotPC90ZD4KLQotPC90cj48L3RhYmxlPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvZWNsaXBzZS1maWx0ZXJzLWljb24ucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2VjbGlwc2UtZmlsdGVycy1pY29uLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWVhMDI0Ny4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvZWNsaXBzZS1maWx0ZXJzLWljb24ucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2ZhY3RTaGVldC5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2ZhY3RTaGVldC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjljZDE4Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9mYWN0U2hlZXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyOCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkZpbmRCdWdzJnRyYWRlOyBGYWN0IFNoZWV0PC90aXRsZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImZpbmRidWdzLmNzcyI+Ci0KLTwvaGVhZD4KLTxib2R5PgotCi08dGFibGUgd2lkdGg9IjEwMCUiPjx0cj4KLQotCi08dGQgYmdjb2xvcj0iI2I5YjlmZSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiB3aWR0aD0iMjAlIj4gCi08dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiPiAKLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1bWRGaW5kYnVncy5wbmciIGFsdD0iRmluZEJ1Z3MiPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5Eb2NzIGFuZCBJbmZvPC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmluZGJ1Z3MyLmh0bWwiPkZpbmRCdWdzIDIuMDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkZW1vLmh0bWwiPkRlbW8gYW5kIGRhdGE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idXNlcnMuaHRtbCI+VXNlcnMgYW5kIHN1cHBvcnRlcnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmJsb2dzcG90LmNvbS8iPkZpbmRCdWdzIGJsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmFjdFNoZWV0Lmh0bWwiPkZhY3Qgc2hlZXQ8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJqYS9tYW51YWwvaW5kZXguaHRtbCI+TWFudWFsKGphLyYjMjYwODU7JiMyNjQxMjsmIzM1NDg2Oyk8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iRkFRLmh0bWwiPkZBUTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJidWdEZXNjcmlwdGlvbnMuaHRtbCI+QnVnIGRlc2NyaXB0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsaW5nTGlzdHMuaHRtbCI+TWFpbGluZyBsaXN0czwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJwdWJsaWNhdGlvbnMuaHRtbCI+RG9jdW1lbnRzIGFuZCBQdWJsaWNhdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibGlua3MuaHRtbCI+TGlua3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkb3dubG9hZHMuaHRtbCI+PGI+RG93bmxvYWRzPC9iPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3d3dy5jYWZlc2hvcHMuY29tL2ZpbmRidWdzIj48Yj5GaW5kQnVncyBTd2FnPC9iPjwvYT48L3RkPjwvdHI+Ci0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRldmVsb3BtZW50PC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD05NjQwNSI+T3BlbiBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InJlcG9ydGluZ0J1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iY29udHJpYnV0aW5nLmh0bWwiPkNvbnRyaWJ1dGluZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ0ZWFtLmh0bWwiPkRldiB0ZWFtPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9pbmRleC5odG1sIj5BUEk8L2E+IDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvb3ZlcnZpZXctc3VtbWFyeS5odG1sIj5bbm8gZnJhbWVzXTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJDaGFuZ2VzLmh0bWwiPkNoYW5nZSBsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9maW5kYnVncyI+U0YgcHJvamVjdCBwYWdlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlLyI+QnJvd3NlIHNvdXJjZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2xpc3QiPkxhdGVzdCBjb2RlIGNoYW5nZXM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08L3RhYmxlPiAKLTwvdGQ+Ci0KLTx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgotCi08aDE+RmluZEJ1Z3MmdHJhZGU7IEZhY3QgU2hlZXQ8L2gxPgotCi08cD4gRmluZEJ1Z3MgbG9va3MgZm9yIGJ1Z3MgaW4gSmF2YSBwcm9ncmFtcy4mbmJzcDsgSXQgaXMgYmFzZWQKLW9uIHRoZSBjb25jZXB0IG9mIDxpPmJ1ZyBwYXR0ZXJuczwvaT4uJm5ic3A7IEEgYnVnIHBhdHRlcm4gaXMgYSBjb2RlCi1pZGlvbSB0aGF0IGlzIG9mdGVuIGFuIGVycm9yLiZuYnNwOyBCdWcgcGF0dGVybnMgYXJpc2UgZm9yIGEgdmFyaWV0eQotb2YgcmVhc29uczoKLTwvcD4KLQotPHVsPgotPGxpPiBEaWZmaWN1bHQgbGFuZ3VhZ2UgZmVhdHVyZXMKLTxsaT4gTWlzdW5kZXJzdG9vZCBBUEkgbWV0aG9kcwotPGxpPiBNaXN1bmRlcnN0b29kIGludmFyaWFudHMgd2hlbiBjb2RlIGlzIG1vZGlmaWVkIGR1cmluZyBtYWludGVuYW5jZQotPGxpPiBHYXJkZW4gdmFyaWV0eSBtaXN0YWtlczogdHlwb3MsIHVzZSBvZiB0aGUgd3JvbmcgYm9vbGVhbiBvcGVyYXRvcgotPC91bD4KLQotPHA+IEZpbmRCdWdzIHVzZXMgPGk+c3RhdGljIGFuYWx5c2lzPC9pPiB0byBpbnNwZWN0IEphdmEgYnl0ZWNvZGUKLWZvciBvY2N1cnJlbmNlcyBvZiBidWcgcGF0dGVybnMuJm5ic3A7Ci1TdGF0aWMgYW5hbHlzaXMgbWVhbnMgdGhhdCBGaW5kQnVncyBjYW4gZmluZCBidWdzIGJ5IHNpbXBseSBpbnNwZWN0aW5nCi1hIHByb2dyYW0ncyBjb2RlOiBleGVjdXRpbmcgdGhlIHByb2dyYW0gaXMgbm90IG5lY2Vzc2FyeS4mbmJzcDsKLVRoaXMgbWFrZXMgRmluZEJ1Z3MgdmVyeSBlYXN5IHRvIHVzZTogaW4gZ2VuZXJhbCwgeW91IHNob3VsZCBiZQotYWJsZSB0byB1c2UgaXQgdG8gbG9vayBmb3IgYnVncyBpbiB5b3VyIGNvZGUgd2l0aGluIGEgZmV3IG1pbnV0ZXMgb2YgZG93bmxvYWRpbmcgaXQuJm5ic3A7Ci1GaW5kQnVncyB3b3JrcyBieSBhbmFseXppbmcgSmF2YSBieXRlY29kZSAoY29tcGlsZWQgY2xhc3MgZmlsZXMpLAotc28geW91IGRvbid0IGV2ZW4gbmVlZCB0aGUgcHJvZ3JhbSdzIHNvdXJjZSBjb2RlIHRvIHVzZSBpdC4mbmJzcDsKLUJlY2F1c2UgaXRzIGFuYWx5c2lzIGlzCi1zb21ldGltZXMgaW1wcmVjaXNlLCBGaW5kQnVncyBjYW4gcmVwb3J0IDxpPmZhbHNlIHdhcm5pbmdzPC9pPiwKLXdoaWNoIGFyZSB3YXJuaW5ncyB0aGF0IGRvIG5vdCBpbmRpY2F0ZSByZWFsIGVycm9ycy4mbmJzcDsgCi1JbiBwcmFjdGljZSwgdGhlIHJhdGUgb2YgZmFsc2Ugd2FybmluZ3MgcmVwb3J0ZWQgYnkgRmluZEJ1Z3MKLWlzIGxlc3MgdGhhbiA1MCUuCi08L3A+Ci0KLTxwPgotRmluZEJ1Z3Mgc3VwcG9ydHMgYSBwbHVnaW4gYXJjaGl0ZWN0dXJlIGFsbG93aW5nIGFueW9uZSB0byBhZGQgbmV3Ci1idWcgZGV0ZWN0b3JzLiZuYnNwOyBUaGUgPGEgaHJlZj0icHVibGljYXRpb25zLmh0bWwiPnB1YmxpY2F0aW9ucyBwYWdlPC9hPgotY29udGFpbnMgbGlua3MgdG8gYXJ0aWNsZXMgZGVzY3JpYmluZyBob3cgdG8gd3JpdGUgYSBuZXcgZGV0ZWN0b3IKLWZvciBGaW5kQnVncy4mbmJzcDsgSWYgeW91IGFyZSBmYW1pbGlhciB3aXRoIEphdmEgYnl0ZWNvZGUKLXlvdSBjYW4gd3JpdGUgYSBuZXcgRmluZEJ1Z3MgZGV0ZWN0b3IgaW4gYXMgbGl0dGxlIGFzIGEgZmV3IG1pbnV0ZXMuCi08L3A+Ci0KLTxwPiBGaW5kQnVncyBpcyBmcmVlIHNvZnR3YXJlLCBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQotPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2xlc3Nlci5odG1sIj5MZXNzZXIgR05VIFB1YmxpYyBMaWNlbnNlPC9hPi4mbmJzcDsKLUl0IGlzIHdyaXR0ZW4gaW4gSmF2YSwgYW5kIGNhbiBiZSBydW4gd2l0aCBhbnkgdmlydHVhbCBtYWNoaW5lIGNvbXBhdGlibGUKLXdpdGggU3VuJ3MgSkRLIDEuNS4mbmJzcDsgSXQgY2FuIGFuYWx5emUgcHJvZ3JhbXMgd3JpdHRlbiBmb3IgYW55IHZlcnNpb24KLW9mIEphdmEuJm5ic3A7IEZpbmRCdWdzIHdhcyBvcmlnaW5hbGx5IGRldmVsb3BlZCBieSBCaWxsIFB1Z2ggYW5kIERhdmlkIEhvdmVtZXllci4mbmJzcDsKLUl0IGlzIG1haW50YWluZWQgYnkgIEJpbGwgUHVnaCwgYW5kCi1hIDxhIGhyZWY9InRlYW0uaHRtbCI+dGVhbSBvZiB2b2x1bnRlZXJzPC9hPi4KLTwvcD4KLQotPHA+IEZpbmRCdWdzIHVzZXMgPGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy9iY2VsLyI+QkNFTDwvYT4gdG8KLWFuYWx5emUgSmF2YSBieXRlY29kZS4mbmJzcDsKLUFzIG9mIHZlcnNpb24gMS4xLCBGaW5kQnVncyBhbHNvIHN1cHBvcnRzIGJ1ZyBkZXRlY3RvcnMgd3JpdHRlbiB1c2luZwotdGhlIDxhIGhyZWY9Imh0dHA6Ly9hc20ub2JqZWN0d2ViLm9yZy8iPkFTTTwvYT4gYnl0ZWNvZGUgZnJhbWV3b3JrLiZuYnNwOwotRmluZEJ1Z3MgdXNlcyA8YSBocmVmPSJodHRwOi8vZG9tNGoub3JnLyI+ZG9tNGo8L2E+Ci1mb3IgWE1MIG1hbmlwdWxhdGlvbi4KLTwvcD4KLQotCi08aHI+IDxwPiAKLTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+IAotPCEtLS0vL2hpZGUgc2NyaXB0IGZyb20gb2xkIGJyb3dzZXJzIAotZG9jdW1lbnQud3JpdGUoICJMYXN0IHVwZGF0ZWQgIisgZG9jdW1lbnQubGFzdE1vZGlmaWVkICsgIi4iICk7IAotLy9lbmQgaGlkaW5nIGNvbnRlbnRzIC0tLT4gCi08L3NjcmlwdD4gCi08cD4gU2VuZCBjb21tZW50cyB0byA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+IAotPHA+IAotPEEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldCI+PElNRyBzcmM9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvc2Zsb2dvLnBocD9ncm91cF9pZD05NjQwNSZhbXA7dHlwZT01IiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjYyIiBib3JkZXI9IjAiIGFsdD0iU291cmNlRm9yZ2UubmV0IExvZ28iIC8+PC9BPgotCi08L3RkPgotCi08L3RyPjwvdGFibGU+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9maW5kYnVncy5jc3MgYi90b29scy9maW5kYnVncy9kb2MvZmluZGJ1Z3MuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjAxNjk1Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9maW5kYnVncy5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1CT0RZIHsKLSAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKLX0KLQotQS5wbGFpbiB7Ci0gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwotfQotCi1BLnNpZGViYXIgewotICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKLX0KLQotQS5zaWRlYmFyOmhvdmVyLCBBLnNpZGViYXI6YWN0aXZlIHsKLSAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKLX0KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9maW5kYnVnczIuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9maW5kYnVnczIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmM0MDY2ZC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvZmluZGJ1Z3MyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyODMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5GaW5kQnVncyAyJnRyYWRlOyAtIEZpbmQgQnVncyBpbiBKYXZhIFByb2dyYW1zPC90aXRsZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImZpbmRidWdzLmNzcyIgLz4KLQotPC9oZWFkPgotCi08Ym9keT4KLQotICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+Ci0gICAgICAgIDx0cj4KLQotICAgICAgICAgICAgCi08dGQgYmdjb2xvcj0iI2I5YjlmZSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiB3aWR0aD0iMjAlIj4gCi08dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiPiAKLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1bWRGaW5kYnVncy5wbmciIGFsdD0iRmluZEJ1Z3MiPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5Eb2NzIGFuZCBJbmZvPC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmluZGJ1Z3MyLmh0bWwiPkZpbmRCdWdzIDIuMDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkZW1vLmh0bWwiPkRlbW8gYW5kIGRhdGE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idXNlcnMuaHRtbCI+VXNlcnMgYW5kIHN1cHBvcnRlcnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmJsb2dzcG90LmNvbS8iPkZpbmRCdWdzIGJsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmFjdFNoZWV0Lmh0bWwiPkZhY3Qgc2hlZXQ8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJqYS9tYW51YWwvaW5kZXguaHRtbCI+TWFudWFsKGphLyYjMjYwODU7JiMyNjQxMjsmIzM1NDg2Oyk8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iRkFRLmh0bWwiPkZBUTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJidWdEZXNjcmlwdGlvbnMuaHRtbCI+QnVnIGRlc2NyaXB0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsaW5nTGlzdHMuaHRtbCI+TWFpbGluZyBsaXN0czwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJwdWJsaWNhdGlvbnMuaHRtbCI+RG9jdW1lbnRzIGFuZCBQdWJsaWNhdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibGlua3MuaHRtbCI+TGlua3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkb3dubG9hZHMuaHRtbCI+PGI+RG93bmxvYWRzPC9iPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3d3dy5jYWZlc2hvcHMuY29tL2ZpbmRidWdzIj48Yj5GaW5kQnVncyBTd2FnPC9iPjwvYT48L3RkPjwvdHI+Ci0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRldmVsb3BtZW50PC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD05NjQwNSI+T3BlbiBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InJlcG9ydGluZ0J1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iY29udHJpYnV0aW5nLmh0bWwiPkNvbnRyaWJ1dGluZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ0ZWFtLmh0bWwiPkRldiB0ZWFtPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9pbmRleC5odG1sIj5BUEk8L2E+IDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvb3ZlcnZpZXctc3VtbWFyeS5odG1sIj5bbm8gZnJhbWVzXTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJDaGFuZ2VzLmh0bWwiPkNoYW5nZSBsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9maW5kYnVncyI+U0YgcHJvamVjdCBwYWdlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlLyI+QnJvd3NlIHNvdXJjZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2xpc3QiPkxhdGVzdCBjb2RlIGNoYW5nZXM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08L3RhYmxlPiAKLTwvdGQ+Ci0KLSAgICAgICAgICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgotCi0gICAgICAgICAgICAgICAgPHA+PC9wPgotICAgICAgICAgICAgICAgIDx0YWJsZT4KLSAgICAgICAgICAgICAgICAgICAgPHRyPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0LyI+PGltZyBzcmM9ImJ1Z2d5LXNtLnBuZyIgYWx0PSJGaW5kQnVncyBsb2dvIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI9IjAiIC8+IDwvYT48L3RkPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vd3d3LnVtZC5lZHUvIj48aW1nIHNyYz0iaW5mb3JtYWwucG5nIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IlVNRCBsb2dvIiBib3JkZXI9IjAiIC8+IDwvYT48L3RkPgotICAgICAgICAgICAgICAgICAgICA8L3RyPgotICAgICAgICAgICAgICAgIDwvdGFibGU+Ci0KLSAgICAgICAgICAgICAgICA8aDE+RmluZEJ1Z3MgMjwvaDE+Ci0KLSAgICAgICAgICAgICAgICA8cD5UaGlzIHBhZ2UgZGVzY3JpYmVzIHRoZSBtYWpvciBjaGFuZ2VzIGluIEZpbmRCdWdzIDIuIFdlIGFyZSB3ZWxsIGF3YXJlIHRoYXQgdGhlIGRvY3VtZW50YXRpb24gb24KLSAgICAgICAgICAgICAgICAgICAgdGhlIG5ldyBmZWF0dXJlcyBpbiBGaW5kQnVncyAyLjAgaGF2ZSBub3Qga2VwdCB1cCB3aXRoIHRoZSBpbXBsZW1lbnRhdGlvbi4gV2Ugd2lsbCBiZSB3b3JraW5nIHRvCi0gICAgICAgICAgICAgICAgICAgIGltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24sIGJ1dCBkb24ndCB3YW50IHRvIGhvbGQgdXAgdGhlIHJlbGVhc2UgYW55IGxvbmdlciB0byBpbXByb3ZlIHRoZQotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudGF0aW9uLjwvcD4KLSAgICAgICAgICAgICAgICA8cD5BbnlvbmUgY3VycmVudGx5IHVzaW5nIEZpbmRCdWdzIDEuMy45IHNob3VsZCBmaW5kIEZpbmRCdWdzIDIuMCB0byBsYXJnZWx5IGJlIGEgZHJvcC1pbgotICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudCB0aGF0IG9mZmVycyBiZXR0ZXIgYWNjdXJhY3kgYW5kIHBlcmZvcm1hbmNlLjwvcD4KLQotCi0gICAgICAgICAgICAgICAgPHA+Ci0gICAgICAgICAgICAgICAgICAgIEFsc28gY2hlY2sgb3V0IDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy93L2xpc3QiPmh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy93L2xpc3Q8L2E+Ci0gICAgICAgICAgICAgICAgICAgIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNvbWUgcmVjZW50IGZlYXR1cmVzL2NoYW5nZXMgaW4gRmluZEJ1Z3MuCi0gICAgICAgICAgICAgICAgPC9wPgotCi0gICAgICAgICAgICAgICAgPHA+VGhlIG1ham9yIG5ldyBmZWF0dXJlcyBpbiBGaW5kQnVncyAyIGFyZSBhcyBmb2xsb3dzOjwvcD4KLSAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT5CdWcgUmFuayAtIGJ1Z3MgYXJlIGdpdmVuIGEgcmFuayAxLTIwLCBhbmQgZ3JvdXBlZCBpbnRvIHRoZSBjYXRlZ29yaWVzIHNjYXJpZXN0IChyYW5rIDEtNCksCi0gICAgICAgICAgICAgICAgICAgICAgICBzY2FyeSAocmFuayA1LTkpLCB0cm91YmxpbmcgKHJhbmsgMTAtMTQpLCBhbmQgb2YgY29uY2VybiAocmFuayAxNS0yMCkuCi0gICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnByaW9yaXR5IHJlbmFtZWQgY29uZmlkZW5jZSAtIG1hbnkgcGVvcGxlIHdlcmUgY29uZnVzZWQgYnkgdGhlIHByaW9yaXR5IHJlcG9ydGVkIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRCdWdzLCBhbmQgY29uc2lkZXJlZCBhbGwgSElHSCBwcmlvcml0eSBpc3N1ZXMgdG8gYmUgaW1wb3J0YW50LiBUbyByZWZsZWN0IHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxseSBtZWFuaW5nIG9mIHRoaXMgYXR0cmlidXRlIG9mIGlzc3VlcywgaXQgaGFzIGJlZW4gcmVuYW1lZCBjb25maWRlbmNlLiBJc3N1ZXMgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW50IGJ1ZyBwYXR0ZXJucyBzaG91bGQgYmUgY29tcGFyZWQgYnkgdGhlcmUgcmFuaywgbm90IHRoZWlyIGNvbmZpZGVuY2UuPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNjbG91ZCI+Q2xvdWQgc3RvcmFnZTwvYT4gLSBoYXZpbmcgYSBjb252ZW50IHdheSBmb3IgZGV2ZWxvcGVycyB0byBzaGFyZQotICAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtYXRpb24gYWJvdXQgd2hlbiBhbiBpc3N1ZSB3YXMgZmlyc3Qgc2VlbiwgYW5kIHdoZXRoZXIgaXQgaXMgYmVsaWV2ZWQgdG8gYmUgYSBzZXJpb3VzCi0gICAgICAgICAgICAgICAgICAgICAgICBwcm9ibGVtLCBpcyBpbXBvcnRhbnQgdG8gc3VjY2Vzc2Z1bCBhbmQgY29zdC1lZmZlY3RpdmUgZGVwbG95bWVudCBvZiBzdGF0aWMgYW5hbHlzaXMgaW4gYSBsYXJnZQotICAgICAgICAgICAgICAgICAgICAgICAgc29mdHdhcmUgcHJvamVjdC48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3VwZGF0ZUNoZWNrcyI+dXBkYXRlIGNoZWNrczwvYT4gLSBGaW5kQnVncyB3aWxsIGNoZWNrIGZvciByZWxlYXNlcyBvZiBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb25zIG9mIEZpbmRCdWdzLiBOb3RlOiB3ZSBsZXZlcmFnZSB0aGlzIGNhcGFiaWxpdHkgdG8gY291bnQgdGhlIG51bWJlciBvZiBGaW5kQnVncyB1c2Vycy4KLSAgICAgICAgICAgICAgICAgICAgICAgIFRoZXNlIHVwZGF0ZSBjaGVja3MgY2FuIGVhc2lseSBiZSBkaXNhYmxlZC48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI3BsdWdpbnMiPlBsdWdpbnM8L2E+IC0gRmluZEJ1Z3MgMi4wIG1ha2VzIGl0IG11Y2ggZWFzaWVyIHRvIGRlZmluZSBwbHVnaW5zIHRoYXQKLSAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGUgdmFyaW91cyBjYXBhYmlsaXRpZXMsIGFuZCBpbnN0YWxsIHRoZXNlIHBsdWdpbnMgZWl0aGVyIG9uIGEgcGVyIHVzZXIgb3IgcGVyIGluc3RhbGxhdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgYmFzaXMuPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxjb2RlPmZiPC9jb2RlPiBjb21tYW5kIC0gcmF0aGVyIHRoYW4gdXNpbmcgdGhlIHJhdGhlciBoYXBoYXphcmQgY29sbGVjdGlvbiBvZiBjb21tYW5kIGxpbmUKLSAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdHMgZGV2ZWxvcGVkIG92ZXIgdGhlIHllYXJzIGZvciBydW5uaW5nIHZhcmlvdXMgRmluZEJ1Z3MgY29tbWFuZHMsIHlvdSBjYW4gbm93IHVzZSBqdXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICBvbmU6IDxjb2RlPmZiPC9jb2RlPi4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGNvZGU+ZmIgYW5hbHl6ZTwvY29kZT4gLSBpbnZva2VzIHRoZSBGaW5kQnVncyBhbmFseXNpczwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxjb2RlPmZiIGd1aTwvY29kZT4gLSBsYXVuY2hlcyB0aGUgRmluZEJ1Z3MgR1VJCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxjb2RlPmZiIGxpc3Q8L2NvZGU+IC0gbGlzdHMgdGhlIGlzc3VlcyBmcm9tIGEgRmluZEJ1Z3MgYW5hbHlzaXMgZmlsZTwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxjb2RlPmZiIGhlbHA8L2NvZGU+IC0gbGlzdHMgdGhlIGNvbW1hbmQgYXZhaWxhYmxlLjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbHVnaW5zIGNhbiBiZSB1c2VkIHRvIGV4dGVuZCB0aGUgY29tbWFuZHMgdGhhdCBjYW4gYmUgaW52b2tlZCB2aWEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGU+ZmI8L2NvZGU+LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KLSAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjbmV3QnVnUGF0dGVybnMiPk5ldyBidWcgcGF0dGVybnMgYW5kIGRldGVjdG9yczwvYT4sCi0gICAgICAgICAgICAgICAgICAgIGFuZCBpbXByb3ZlZCBhY2N1cmFjeQotICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNwZXJmb3JtYW5jZSI+SW1wcm92ZWQgcGVyZm9ybWFuY2U8L2E+OiBvdmVyYWxsLCB3ZSd2ZSBzZWVuIGFuIGF2ZXJhZ2UgMTAlCi0gICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBvdmVyIGEgbGFyZ2UgcmFuZ2Ugb2YgYmVuY2htYXJrcywgYWx0aG91Z2ggYSBmZXcgdXNlcnMgaGF2ZSBleHBlcmllbmNlZAotICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UgcmVncmVzc2lvbnMgd2UgYXJlIHN0aWxsIHRyeWluZyB0byB1bmRlcnN0YW5kLjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iZ3VhdmEiPkd1YXZhIHN1cHBvcnQgLSB3b3JraW5nIHdpdGggS2V2aW4gQm91cnJpbGxpb24sIHdlIGhhdmUgcHJvdmlkZWQgYWRkaXRpb25hbCBzdXBwb3J0IGZvciB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9ndWF2YS1saWJyYXJpZXMvIj5HdWF2YSBsaWJyYXJ5PC9hPiwgcmVjb2duaXppbmcgbWFueSBjb21tb24KLSAgICAgICAgICAgICAgICAgICAgICAgIG1pc3VzZSBwYXR0ZXJucy4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpIGlkPSJqc3IzMDUiPkpTUi0zMDUgc3VwcG9ydCAtIGltcHJvdmVkIGRldGVjdGlvbiBvZiBwcm9ibGVtcyBpZGVudGlmaWVkIGJ5IEpTUi0zMDUgYW5ub3RhdGlvbnMuIEluCi0gICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWN1bGFyLCB3ZSd2ZSBzaWduaWZpY2FudGx5IGltcHJvdmVkIGJvdGggdGhlIGFjY3VyYWN5IGFuZCBwZXJmb3JtYW5jZSBvZiB0aGUgYW5hbHlzaXMgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgcXVhbGlmaWVycy48L2xpPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0KLSAgICAgICAgICAgICAgICA8aDIgaWQ9ImNsb3VkIj5DbG91ZCBzdG9yYWdlIG9mIGlzc3VlIGV2YWx1YXRpb25zPC9oMj4KLSAgICAgICAgICAgICAgICA8cD5Gb3IgbWFueSB5ZWFycywgeW91IGNvdWxkIHN0b3JlIGV2YWx1YXRpb25zIG9mIEZpbmRCdWdzIGlzc3VlcyB3aXRoaW4gdGhlIFhNTCBjb250YWluaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICBhbmFseXNpcyByZXN1bHRzLiBIb3dldmVyLCB0aGlzIGFwcHJvYWNoIGRpZCBub3Qgd29yayB3ZWxsIGZvciBhIHRlYW0gb2YgZGlzdHJpYnV0ZWQgZGV2ZWxvcGVycy4KLSAgICAgICAgICAgICAgICAgICAgSW5zdGVhZCwgd2Ugbm93IHByb3ZpZGUgYSBjbG91ZCBiYXNlZCBtZWNoYW5pc20gZm9yIHN0b3JpbmcgdGhpcyBpbmZvcm1hdGlvbi4gV2UgYXJlIHByb3ZpZGluZyBhCi0gICAgICAgICAgICAgICAgICAgIGZyZWUgY29tbXVuYWwgY2xvdWQgKGhvc3RpZWQgYnkgR29vZ2xlIGFwcGVuZ2luZSkgZm9yIHN0b3JpbmcgZXZhbHVhdGlvbnMgb2YgRmluZEJ1Z3MgaXNzdWVzLiBZb3UKLSAgICAgICAgICAgICAgICAgICAgY2FuIHNldCB1cCB5b3VyIG93biBwcml2YXRlIGNsb3VkIGZvciBzdG9yaW5nIGlzc3VlcywgYnV0IGF0IHRoZSBtb21lbnQgdGhpcyBjaGVja2luZyBvdXQgYSBjb3B5IG9mCi0gICAgICAgICAgICAgICAgICAgIEZpbmRCdWdzLCBtYWtpbmcgc29tZSBtb2RpZmljYXRpb25zIGFuZCBidWlsZGluZyB0aGUgY2xvdWQgc3RvcmFnZSBwbHVnaW4gZnJvbSBzb3VyY2UuIFdlIGhvcGUgdG8KLSAgICAgICAgICAgICAgICAgICAgbWFrZSBpdCBlYXNpZXIgdG8gaGF2ZSB5b3VyIG93biBwcml2YXRlIGNsb3VkIGluIEZpbmRCdWdzIDIuMC4xLjwvcD4KLSAgICAgICAgICAgICAgICA8cD5XZSBoYXZlIGFuYWx5emVkIHNldmVyYWwgbGFyZ2Ugb3BlbiBzb3VyY2UgcHJvamVjdHMsIGFuZCBwcm92aWRlIEphdmEgd2ViIHN0YXJ0IGxpbmtzIHRvIGFsbG93Ci0gICAgICAgICAgICAgICAgICAgIHlvdSB0byB2aWV3IHRoZSByZXN1bHRzLiBXZSdkIGJlIGhhcHB5IHRvIHdvcmsgd2l0aCBwcm9qZWN0cyB0byBtYWtlIHRoZSByZXN1bHRzIGF2YWlsYWJsZSBmcm9tIGEKLSAgICAgICAgICAgICAgICAgICAgY29udGludW91cyBidWlsZDo8L3A+Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvY2xvdWQvamRrLmpubHAiPlN1bidzIEpESyA4PC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9jbG91ZC9lY2xpcHNlLmpubHAiPkVjbGlwc2UgMy44PC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9jbG91ZC90b21jYXQuam5scCI+QXBhY2hlIFRvbWNhdCA3LjA8L2E+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2Nsb3VkL2ludGVsbGlqLmpubHAiPkludGVsbGlKIElERUE8L2E+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2Nsb3VkL2pib3NzLmpubHAiPkpCb3NzPC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgPC91bD4KLQotICAgICAgICAgICAgICAgIDxoMiBpZD0idXBkYXRlQ2hlY2tzIj5GaW5kQnVncyB1cGRhdGUgY2hlY2tzPC9oMj4KLSAgICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAgICAgICAgRmluZEJ1Z3Mgbm93IGNoZWNrcyB0byBzZWUgaWYgYSBuZXcgdmVyc2lvbiBvZiBGaW5kQnVncyBvciBhIHBsdWdpbiBoYXMgYmVlbiByZWxlYXNlZC4gV2UgbWFrZSB1c2UKLSAgICAgICAgICAgICAgICAgICAgb2YgdGhpcyBjaGVjayB0byBjb2xsZWN0IHN0YXRpc3RpY3Mgb24gdGhlIG9wZXJhdGluZyBzeXN0ZW0sIGphdmEgdmVyc2lvbiwgbG9jYWxlIGFuZCBGaW5kQnVncyBlbnRyeQotICAgICAgICAgICAgICAgICAgICBwb2ludCAoZS5nLiwgYW50LCBjb21tYW5kIGxpbmUsIEdVSSkuIDxhIGhyZWY9InVwZGF0ZUNoZWNraW5nLmh0bWwiPk1vcmUgaW5mb3JtYXRpb24gaXMKLSAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZTwvYT4sIGluY2x1ZGluZyBpbmZvcm1hdGlvbiBhYm91dCBob3cgdG8gZGlzYWJsZSB1cGRhdGUgY2hlY2tzIGlmIHlvdXIgb3JnYW5pemF0aW9uIGhhcyBhCi0gICAgICAgICAgICAgICAgICAgIHBvbGljeSBhZ2FpbnN0IGFsbG93aW5nIHRoZSBjb2xsZWN0aW9uIG9mIHN1Y2ggaW5mb3JtYXRpb24uIE5vIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb2RlIGJlaW5nCi0gICAgICAgICAgICAgICAgICAgIGFuYWx5emVkIGlzIHJlcG9ydGVkLgotCi0gICAgICAgICAgICAgICAgPC9wPgotCi0gICAgICAgICAgICAgICAgPGgyIGlkPSJwbHVnaW5zIj5QbHVnaW5zPC9oMj4KLSAgICAgICAgICAgICAgICA8cD5GaW5kQnVncyAyLjAgbWFrZXMgaXQgbXVjaCBlYXNpZXIgdG8gY3VzdG9taXplIEZpbmRCdWdzIHdpdGggcGx1Z2lucy48L3A+Ci0gICAgICAgICAgICAgICAgPHA+RmluZEJ1Z3MgbG9va3MgZm9yIHBsdWdpbnMgaW4gdHdvIHBsYWNlczogeW91ciBwZXJzb25hbCBob21lIGRpcmVjdG9yeSwgYW5kIGluIEZpbmRCdWdzIGhvbWUKLSAgICAgICAgICAgICAgICAgICAgKHBsdWdpbnMgaW5zdGFsbGVkIGluIHlvdXIgaG9tZSBkaXJlY3RvcnkgdGFrZSBwcmVjZWRlbmNlKS4gSW4gYm90aCBwbGFjZXMsIGl0IGxvb2tzIGluIHR3byBwbGFjZXM6Ci0gICAgICAgICAgICAgICAgICAgIHRoZSBwbHVnaW4gZGlyZWN0b3J5LCB3aGljaCBjb250YWlucyBwbHVnaW5zIHRoYXQgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCwgYW5kIHRoZSBvcHRpb25hbFBsdWdpbgotICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnksIHdoaWNoIGNvbnRhaW5zIHBsdWdpbnMgdGhhdCBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCBidXQgY2FuIGJlIGVuYWJsZWQgZm9yIGEgcGFydGljdWxhcgotICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LjwvcD4KLSAgICAgICAgICAgICAgICA8cD5UaGUgRmluZEJ1Z3MgcHJvamVjdCBpbmNsdWRlcyBzZXZlcmFsIHBsdWdpbnM6PC9wPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxpPkNsb3VkIHBsdWdpbnM8L2k+OiBUaGVzZSBwbHVnaW5zIHByb3ZpZGUgd2F5cyB0byBwZXJzaXN0IGFuZCBzaGFyZSBpbmZvcm1hdGlvbiBhYm91dAotICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWVzIHNlZW4gaW4gYW4gYW5hbHlzaXMgKGUuZy4sIHdoZW4gd2FzIHRoaXMgaXNzdWUgZmlyc3Qgc2VlbiwgYW5kIGFueSBldmFsdWF0aW9ucyBhcyB0bwotICAgICAgICAgICAgICAgICAgICAgICAgd2hldGhlciB0aGlzIGlzIGhhcm1sZXNzIG9yIGEgbXVzdCBmaXggaXNzdWUsIGFzIHdlbGwgYXMgY29tbWVudHMgYWJvdXQgdGhlIGlzc3VlIGZyb20KLSAgICAgICAgICAgICAgICAgICAgICAgIGRldmVsb3BlcnMpCi0gICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxjb2RlPmJ1Z0NvbGxlY3Rpb25DbG91ZDwvY29kZT4gLSBzdG9yZXMgaXNzdWUgZXZhbHVhdGlvbnMgaW4gdGhlIFhNTC4gVGhlIHdheQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSBldmFsdWF0aW9ucyB3ZXJlIGFsd2F5cyBzdG9yZWQgYmVmb3JlIEZpbmRCdWdzIDIuMC4gRGlzdHJpYnV0ZWQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsUGx1Z2luIGRpcmVjdG9yeS48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Y29kZT5maW5kYnVnc0NvbW11bmFsQ2xvdWQ8L2NvZGU+IFN0b3JlcyBpc3N1ZSBldmFsdWF0aW9ucyBpbiB0aGUgY29tbXVuYWwgY2xvdWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdGVkIGF0IGZpbmRidWdzLmFwcHNwb3QuY29tLiBEaXN0cmlidXRlZCBpbiB0aGUgcGx1Z2luIGRpcmVjdG9yeS48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Y29kZT5qZGJjQ2xvdWRDbGllbnQ8L2NvZGU+IGFuIG9sZGVyLCBkZXByZWNhdGVkIGNsb3VkIHRoYXQgc3RvcmVkIGluZm9ybWF0aW9uIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuIFNRTCBkYXRhYmFzZS4gTm90IGRpc3RyaWJ1dGVkLCBtb3N0IGJlIGJ1aWx0IGZyb20gc291cmNlLjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48Y29kZT5ub1VwZGF0ZUNoZWNrczwvY29kZT4gLSBEaXNhYmxlcyBjaGVja3MgZm9yIHVwZGF0ZWQgdmVyc2lvbnMgYW5kIHVzYWdlIGNvdW50aW5nLgotICAgICAgICAgICAgICAgICAgICAgICAgRGlzdHJpYnV0ZWQgaW4gdGhlIG9wdGlvbmFsUGx1Z2luIGRpcmVjdG9yeS48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGNvZGU+cG93ZXJ1c2VyPC9jb2RlPiAtIHByb3ZpZGVzIGEgbnVtYmVyIG9mIGFkZGl0aW9uYWwgY29tbWFuZHMgZm9yIHRoZSA8Y29kZT5mYjwvY29kZT4KLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuIEl0IGlzIGJlbGlldmVkIG1vc3Qgb2YgdGhlc2UgY29tbWFuZHMgYXJlIHVzZWQgYnkgZmV3IHBlb3BsZSBvdXRzaWRlIG9mIHRoZSBGaW5kQnVncwotICAgICAgICAgICAgICAgICAgICAgICAgZGV2ZWxvcG1lbnQgdGVhbS4gRGlzdHJpYnV0ZWQgaW4gdGhlIG9wdGlvbmFsUGx1Z2luIGRpcmVjdG9yeS48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGk+QnVnIGZpbGluZyBwbHVnaW5zPC9pPjogdGhlc2UgcGx1Z2lucyBhc3Npc3QgaW4gdGhlIGZpbGluZyBvZiBGaW5kQnVncyBpc3N1ZXMgaW4gYnVpbHQKLSAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrZXJzLiBUaGUgYnVnIGZpbGluZyBmcmFtZXdvcmsgaXMgZGVzaWduZWQgdG8gYmUgZXh0ZW5zaWJsZSB0byBvdGhlciBidWcgZmlsaW5nIHN5c3RlbXMuIEF0Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGUgbW9tZW50LCB0aGVzZSBwbHVnaW5zIGFyZSBub3Qgc3VwcG9ydGVkLCBhbmQgbXVzdCBiZSBidWlsdCBmcm9tIHNvdXJjZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGNvZGU+amlyYTwvY29kZT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Y29kZT5nb29nbGUgY29kZTwvY29kZT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2xpPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgPGgyIGlkPSJwZXJmb3JtYW5jZSI+UGVyZm9ybWFuY2UgSW1wcm92ZW1lbnRzL3JlZ3Jlc3Npb25zPC9oMj4KLSAgICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAgICAgICAgSW4gb3VyIG93biB0ZXN0aW5nLCA8YSBocmVmPSJwZXJmb3JtYW5jZS5odG1sIj53ZSd2ZSBzZWVuIGFuIG92ZXJhbGwgaW1wcm92ZW1lbnQgb2YgOSUgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRCdWdzIHBlcmZvcm1hbmNlIGZyb20gMS4zLjkgdG8gMi4wLjAsIHdpdGggdGhlIG1ham9yaXR5IG9mIGJlbmNobWFya3Mgc2VlaW5nIGltcHJvdmVtZW50czwvYT4uIEEKLSAgICAgICAgICAgICAgICAgICAgZmV3IHVzZXJzIGhhdmUgcmVwb3J0ZWQgc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgcmVncmVzc2lvbnMgYW5kIHdlIGFyZSA8YSBocmVmPSJwZXJmb3JtYW5jZS5odG1sIj5hc2tpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBtb3JlIGluZm9ybWF0aW9uIGZyb20gYW55b25lIHNlZWluZyBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSByZWdyZXNzaW9uczwvYT4uCi0KLSAgICAgICAgICAgICAgICA8L3A+Ci0gICAgICAgICAgICAgICAgPGgyIGlkPSJuZXdCdWdQYXR0ZXJucyI+TmV3IEJ1ZyBwYXR0ZXJuczwvaDI+Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjQVRfT1BFUkFUSU9OX1NFUVVFTkNFX09OX0NPTkNVUlJFTlRfQUJTVFJBQ1RJT04iPkFUX09QRVJBVElPTl9TRVFVRU5DRV9PTl9DT05DVVJSRU5UX0FCU1RSQUNUSU9OPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjQlhfVU5CT1hJTkdfSU1NRURJQVRFTFlfUkVCT1hFRCI+QlhfVU5CT1hJTkdfSU1NRURJQVRFTFlfUkVCT1hFRDwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0NPX0NPTVBBUkVUT19SRVNVTFRTX01JTl9WQUxVRSI+Q09fQ09NUEFSRVRPX1JFU1VMVFNfTUlOX1ZBTFVFPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRExTX0RFQURfTE9DQUxfU1RPUkVfU0hBRE9XU19GSUVMRCI+RExTX0RFQURfTE9DQUxfU1RPUkVfU0hBRE9XU19GSUVMRDwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRE1JX0FSR1VNRU5UU19XUk9OR19PUkRFUiI+RE1JX0FSR1VNRU5UU19XUk9OR19PUkRFUjwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0RNSV9CSUdERUNJTUFMX0NPTlNUUlVDVEVEX0ZST01fRE9VQkxFIj5ETUlfQklHREVDSU1BTF9DT05TVFJVQ1RFRF9GUk9NX0RPVUJMRTwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRE1JX0RPSCI+RE1JX0RPSDwvYT48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjRE1JX0VOVFJZX1NFVFNfTUFZX1JFVVNFX0VOVFJZX09CSkVDVFMiPkRNSV9FTlRSWV9TRVRTX01BWV9SRVVTRV9FTlRSWV9PQkpFQ1RTPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNETV9ERUZBVUxUX0VOQ09ESU5HIj5ETV9ERUZBVUxUX0VOQ09ESU5HPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNJQ0FTVF9JTlRfMl9MT05HX0FTX0lOU1RBTlQiPklDQVNUX0lOVF8yX0xPTkdfQVNfSU5TVEFOVDwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI0lOVF9CQURfQ09NUEFSSVNPTl9XSVRIX0lOVF9WQUxVRSI+SU5UX0JBRF9DT01QQVJJU09OX1dJVEhfSU5UX1ZBTFVFPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjSk1MX0pTUjE2Nl9DQUxMSU5HX1dBSVRfUkFUSEVSX1RIQU5fQVdBSVQiPkpNTF9KU1IxNjZfQ0FMTElOR19XQUlUX1JBVEhFUl9USEFOX0FXQUlUPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjTlBfVU5XUklUVEVOX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQiPk5QX1VOV1JJVFRFTl9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjT0JMX1VOU0FUSVNGSUVEX09CTElHQVRJT05fRVhDRVBUSU9OX0VER0UiPk9CTF9VTlNBVElTRklFRF9PQkxJR0FUSU9OX0VYQ0VQVElPTl9FREdFPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjUFpfRE9OVF9SRVVTRV9FTlRSWV9PQkpFQ1RTX0lOX0lURVJBVE9SUyI+UFpfRE9OVF9SRVVTRV9FTlRSWV9PQkpFQ1RTX0lOX0lURVJBVE9SUzwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1JWX0NIRUNLX0NPTVBBUkVUT19GT1JfU1BFQ0lGSUNfUkVUVVJOX1ZBTFVFIj5SVl9DSEVDS19DT01QQVJFVE9fRk9SX1NQRUNJRklDX1JFVFVSTl9WQUxVRTwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1JWX05FR0FUSU5HX1JFU1VMVF9PRl9DT01QQVJFVE8iPlJWX05FR0FUSU5HX1JFU1VMVF9PRl9DT01QQVJFVE88L2E+Ci0gICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YQotICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNSVl9SRVRVUk5fVkFMVUVfSUdOT1JFRF9JTkZFUlJFRCI+UlZfUkVUVVJOX1ZBTFVFX0lHTk9SRURfSU5GRVJSRUQ8L2E+Ci0gICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YQotICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNTQV9MT0NBTF9TRUxGX0FTU0lHTk1FTlRfSU5TVEVBRF9PRl9GSUVMRCI+U0FfTE9DQUxfU0VMRl9BU1NJR05NRU5UX0lOU1RFQURfT0ZfRklFTEQ8L2E+Ci0gICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YQotICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNVUkZfVU5SRUFEX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQiPlVSRl9VTlJFQURfUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRDwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1VVRl9VTlVTRURfUFVCTElDX09SX1BST1RFQ1RFRF9GSUVMRCI+VVVGX1VOVVNFRF9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvYnVnRGVzY3JpcHRpb25zLmh0bWwjVVdGX1VOV1JJVFRFTl9QVUJMSUNfT1JfUFJPVEVDVEVEX0ZJRUxEIj5VV0ZfVU5XUklUVEVOX1BVQkxJQ19PUl9QUk9URUNURURfRklFTEQ8L2E+Ci0gICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YQotICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9idWdEZXNjcmlwdGlvbnMuaHRtbCNWQV9GT1JNQVRfU1RSSU5HX1VTRVNfTkVXTElORSI+VkFfRk9STUFUX1NUUklOR19VU0VTX05FV0xJTkU8L2E+Ci0gICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2J1Z0Rlc2NyaXB0aW9ucy5odG1sI1ZPX1ZPTEFUSUxFX0lOQ1JFTUVOVCI+Vk9fVk9MQVRJTEVfSU5DUkVNRU5UPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0KLSAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgPC90YWJsZT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2d1YXJhbnRlZWREZXJlZmVyZW5jZS5wbmcgYi90b29scy9maW5kYnVncy9kb2MvZ3VhcmFudGVlZERlcmVmZXJlbmNlLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDA2NzZmMC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvZ3VhcmFudGVlZERlcmVmZXJlbmNlLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9pbmRleC5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2luZGV4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMWY2ZWYuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2luZGV4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNDAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5GaW5kQnVncyZ0cmFkZTsgLSBGaW5kIEJ1Z3MgaW4gSmF2YSBQcm9ncmFtczwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJmaW5kYnVncy5jc3MiIC8+Ci0KLTwvaGVhZD4KLQotPGJvZHk+Ci0KLSAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgotICAgICAgICA8dHI+Ci0KLSAgICAgICAgICAgIAotPHRkIGJnY29sb3I9IiNiOWI5ZmUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgd2lkdGg9IjIwJSI+IAotPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4gCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idW1kRmluZGJ1Z3MucG5nIiBhbHQ9IkZpbmRCdWdzIj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RG9jcyBhbmQgSW5mbzwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZpbmRidWdzMi5odG1sIj5GaW5kQnVncyAyLjA8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZGVtby5odG1sIj5EZW1vIGFuZCBkYXRhPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InVzZXJzLmh0bWwiPlVzZXJzIGFuZCBzdXBwb3J0ZXJzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5ibG9nc3BvdC5jb20vIj5GaW5kQnVncyBibG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZhY3RTaGVldC5odG1sIj5GYWN0IHNoZWV0PC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5NYW51YWw8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iamEvbWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbChqYS8mIzI2MDg1OyYjMjY0MTI7JiMzNTQ4NjspPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYnVnRGVzY3JpcHRpb25zLmh0bWwiPkJ1ZyBkZXNjcmlwdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbGluZ0xpc3RzLmh0bWwiPk1haWxpbmcgbGlzdHM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icHVibGljYXRpb25zLmh0bWwiPkRvY3VtZW50cyBhbmQgUHVibGljYXRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImxpbmtzLmh0bWwiPkxpbmtzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZG93bmxvYWRzLmh0bWwiPjxiPkRvd25sb2FkczwvYj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly93d3cuY2FmZXNob3BzLmNvbS9maW5kYnVncyI+PGI+RmluZEJ1Z3MgU3dhZzwvYj48L2E+PC90ZD48L3RyPgotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5EZXZlbG9wbWVudDwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9OTY0MDUiPk9wZW4gYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJyZXBvcnRpbmdCdWdzLmh0bWwiPlJlcG9ydGluZyBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImNvbnRyaWJ1dGluZy5odG1sIj5Db250cmlidXRpbmc8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idGVhbS5odG1sIj5EZXYgdGVhbTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvaW5kZXguaHRtbCI+QVBJPC9hPiA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+W25vIGZyYW1lc108L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iQ2hhbmdlcy5odG1sIj5DaGFuZ2UgbG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZmluZGJ1Z3MiPlNGIHByb2plY3QgcGFnZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2Jyb3dzZS8iPkJyb3dzZSBzb3VyY2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9saXN0Ij5MYXRlc3QgY29kZSBjaGFuZ2VzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPC90YWJsZT4gCi08L3RkPgotCi0gICAgICAgICAgICA8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KLQotICAgICAgICAgICAgICAgIDxwPjwvcD4KLSAgICAgICAgICAgICAgICA8dGFibGU+Ci0gICAgICAgICAgICAgICAgICAgIDx0cj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC8iPjxpbWcgc3JjPSJidWdneS1zbS5wbmciIGFsdD0iRmluZEJ1Z3MgbG9nbyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyPSIwIiAvPiA8L2E+PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL3d3dy51bWQuZWR1LyI+PGltZyBzcmM9ImluZm9ybWFsLnBuZyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJVTUQgbG9nbyIgYm9yZGVyPSIwIiAvPiA8L2E+PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICA8L3RhYmxlPgotCi0gICAgICAgICAgICAgICAgPGgxPkZpbmRCdWdzJnRyYWRlOyAtIEZpbmQgQnVncyBpbiBKYXZhIFByb2dyYW1zPC9oMT4KLQotICAgICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSB3ZWIgcGFnZSBmb3IgRmluZEJ1Z3MsIGEgcHJvZ3JhbSB3aGljaCB1c2VzIHN0YXRpYyBhbmFseXNpcyB0byBsb29rIGZvciBidWdzIGluIEphdmEKLSAgICAgICAgICAgICAgICAgICAgY29kZS4mbmJzcDsgSXQgaXMgZnJlZSBzb2Z0d2FyZSwgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8YQotICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xncGwuaHRtbCI+TGVzc2VyIEdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFRoZSBuYW1lCi0gICAgICAgICAgICAgICAgICAgIEZpbmRCdWdzJnRyYWRlOyBhbmQgdGhlIDxhIGhyZWY9ImJ1Z2d5LXNtLnBuZyI+RmluZEJ1Z3MgbG9nbzwvYT4gYXJlIHRyYWRlbWFya2VkIGJ5IDxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LnVtZC5lZHUiPlRoZSBVbml2ZXJzaXR5IG9mIE1hcnlsYW5kPC9hPi4gRmluZEJ1Z3MgaGFzIGJlZW4gZG93bmxvYWRlZCBtb3JlIHRoYW4KLSAgICAgICAgICAgICAgICAgICAgYSBtaWxsaW9uIHRpbWVzLgotICAgICAgICAgICAgICAgIDwvcD4KLQotICAgICAgICAgICAgICAgIDxwPlRoZSBjdXJyZW50IHZlcnNpb24gb2YgRmluZEJ1Z3MgaXMgMi4wLjMuPC9wPgotCi0gICAgICAgICAgICAgICAgPHA+Ci0gICAgICAgICAgICAgICAgICAgIEZpbmRCdWdzIHJlcXVpcmVzIEpSRSAob3IgSkRLKSAxLjUuMCBvciBsYXRlciB0byBydW4uJm5ic3A7IEhvd2V2ZXIsIGl0IGNhbiBhbmFseXplIHByb2dyYW1zCi0gICAgICAgICAgICAgICAgICAgIGNvbXBpbGVkIGZvciBhbnkgdmVyc2lvbiBvZiBKYXZhLCBmcm9tIDEuMCB0byAxLjcuIFNvbWUgY2xhc3NmaWxlcyBjb21waWxlZCBmb3IgSmF2YSAxLjggZ2l2ZSAKLSAgICAgICAgICAgICAgICAgICAgRmluZEJ1Z3MgcHJvYmxlbXMsIHRoZSBuZXh0IG1ham9yIHJlbGVhc2Ugb2YgRmluZEJ1Z3Mgd2lsbCBoYW5kbGUgSmF2YSAxLjggY2xhc3NmaWxlcy4KLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgPHA+IFRoZSBjdXJyZW50IHZlcnNpb24gb2YgRmluZEJ1Z3MgaXMgMi4wLjMsCi0KLSAgICAgICAgICAgICAgICAgICAgcmVsZWFzZWQgb24gMTc6MTY6MTUgRVNULCAyMiBOb3ZlbWJlciwgMjAxMy4gPGEgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5XZSBhcmUgdmVyeSBpbnRlcmVzdGVkIGluIGdldHRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgIGZlZWRiYWNrIG9uIGhvdyB0byBpbXByb3ZlIEZpbmRCdWdzPC9hPi4gRmlsZSBidWcgcmVwb3J0cyBvbiA8YQotICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9mdW5jPWJyb3dzZSZhbXA7Z3JvdXBfaWQ9OTY0MDUmYW1wO2F0aWQ9NjE0NjkzIj4gb3VyCi0gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Vmb3JnZSBidWcgdHJhY2tlcjwvYT4KLSAgICAgICAgICAgICAgICA8L3A+Ci0gICAgICAgICAgICAgICAgPHA+VGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBGaW5kQnVncyBtYXkgZW5jb3VudGVyIGVycm9ycyB3aGVuIGFuYWx5emluZyAKLSAgICAgICAgICAgICAgICBKYXZhIDEuOCBieXRlY29kZSwgZHVlIHRvIGNoYW5nZXMgaW4gdGhlIGNsYXNzZmlsZSBmb3JtYXQuIEFmdGVyIEZpbmRCdWdzIDIuMC4zCi0gICAgICAgICAgICAgICAgaXMgcmVsZWFzZWQsIHdvcmsgd2lsbCBzdGFydCBvbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlIG9mIEZpbmRCdWdzLCB3aGljaCB3aWxsCi0gICAgICAgICAgICAgICAgYmUgYWJsZSB0byBhbmFseXplIEphdmEgMS44IChhbmQgd2lsbCByZXF1aXJlIEphdmEgMS43IHRvIGNvbXBpbGUgYW5kIHJ1bikuCi0gICAgICAgICAgICAgICAgCi0KLSAgICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI2NoYW5nZXMiPkNoYW5nZXM8L2E+IHwgPGEgaHJlZj0iI3RhbGtzIj5UYWxrczwvYT4gfCA8YSBocmVmPSIjcGFwZXJzIj5QYXBlcnMgPC9hPiB8IDxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIjc3BvbnNvcnMiPlNwb25zb3JzPC9hPiB8IDxhIGhyZWY9IiNzdXBwb3J0Ij5TdXBwb3J0PC9hPgotICAgICAgICAgICAgICAgIDwvcD4KLQotICAgICAgICAgICAgICAgIDxoMT5GaW5kQnVncyAyLjAuMyBSZWxlYXNlPC9oMT4KLSAgICAgICAgICAgICAgICA8cD5GaW5kQnVncyAyLjAuMyBpcyBpbnRlbmRlZCB0byBiZSBhIG1pbm9yIGJ1ZyBmaXggcmVsZWFzZSBvdmVyCi0gICAgICAgICAgICAgICAgRmluZEJ1Z3MgMi4wLjIuIEFsdGhvdWdoIHRoYW4gc29tZSBpbXByb3ZlbWVudHMgdG8gZXhpc3RpbmcgYnVnIGRldGVjdG9ycwotICAgICAgICAgICAgICAgIGFuZCBhbmFseXNpcyBlbmdpbmVzLCBhbmQgYSBmZXcgbmV3IGJ1ZyBwYXR0ZXJucywgYW5kIHNvbWUgCi0gICAgICAgICAgICAgICAgaW1wb3J0YW50IGJ1ZyBmaXhlcyB0byB0aGUgRWNsaXBzZSBwbHVnaW4sIG5vIHNpZ25pZmljYW50IGNoYW5nZXMKLSAgICAgICAgICAgICAgICBzaG91bGQgYmUgb2JzZXJ2ZWQuIENvbnN1bHQgdGhlIDxhIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT4KLSAgICAgICAgICAgICAgICBmb3IgbW9yZSBkZXRhaWxzLjwvcD4KLQotICAgICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICAgICAgICBBbHNvIGNoZWNrIG91dCA8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvdy9saXN0Ij5odHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvdy9saXN0PC9hPgotICAgICAgICAgICAgICAgICAgICBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzb21lIHJlY2VudCBmZWF0dXJlcy9jaGFuZ2VzIGluIEZpbmRCdWdzLgotICAgICAgICAgICAgICAgIDwvcD4KLQotCi0gICAgICAgICAgICAgICAgPGgzPgotICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJmaW5kYnVnczIuaHRtbCI+TWFqb3IgY2hhbmdlcyBpbiBGaW5kQnVncyAyLjAgKGZyb20gRmluZEJ1Z3MgMS4zLngpPC9hPgotICAgICAgICAgICAgICAgIDwvaDM+Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmluZGJ1Z3MyLmh0bWwjY2xvdWQiPkZpbmRCdWdzIENvbW11bmFsIGNsb3VkPC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJmaW5kYnVnczIuaHRtbCN1cGRhdGVDaGVja3MiPmNoZWNrcyBmb3IgdXBkYXRlZCB2ZXJzaW9ucyBvZiBGaW5kQnVnczwvYT48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmluZGJ1Z3MyLmh0bWwjcGx1Z2lucyI+UG93ZXJmdWwgcGx1Z2luIGNhcGFiaWxpdGllczwvYT48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmluZGJ1Z3MyLmh0bWwjbmV3QnVnUGF0dGVybnMiPm5ldyBidWcgcGF0dGVybnM8L2E+LAotICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkaW5nIG5ldy9pbXByb3ZlZCBzdXBwb3J0IGZvciA8YSBocmVmPSJmaW5kYnVnczIuaHRtbCNndWF2YSI+R3VhdmE8L2E+Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbmQgPGEgaHJlZj0iZmluZGJ1Z3MyLmh0bWwjanNyMzA1Ij5KU1ItMzA1PC9hPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmluZGJ1Z3MyLmh0bWwjcGVyZm9ybWFuY2UiPmltcHJvdmVkIHBlcmZvcm1hbmNlPC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgPC91bD4KLQotCi0gICAgICAgICAgICAgICAgPGgyPldheXMgdG8gcnVuIEZpbmRCdWdzPC9oMj4KLSAgICAgICAgICAgICAgICA8cD5IZXJlIGFyZSB2YXJpb3VzIHdheXMgdG8gcnVuIEZpbmRCdWdzLiBGb3IgcGx1Z2lucyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBGaW5kQnVncyB0ZWFtLCBjaGVjayB0bwotICAgICAgICAgICAgICAgICAgICBzZWUgd2hhdCB2ZXJzaW9uIG9mIEZpbmRCdWdzIHRoZXkgcHJvdmlkZTsgaXQgbWlnaHQgdGFrZSBhIGxpdHRsZSB3aGlsZSBmb3IgdGhlIHBsdWdpbnMgdG8gdXBkYXRlIHRvCi0gICAgICAgICAgICAgICAgICAgIEZpbmRCdWdzIDIuMC48L3A+Ci0gICAgICAgICAgICAgICAgPGRsPgotICAgICAgICAgICAgICAgICAgICA8ZHQ+Q29tbWFuZCBsaW5lLCBhbnQsIEdVSTwvZHQ+Ci0gICAgICAgICAgICAgICAgICAgIDxkZD5Qcm92aWRlZCBpbiBGaW5kQnVncyBkb3dubG9hZDwvZGQ+Ci0gICAgICAgICAgICAgICAgICAgIDxkdD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvIj5FY2xpcHNlPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2R0PgotICAgICAgICAgICAgICAgICAgICA8ZGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICBVcGRhdGUgc2l0ZSBmb3IgRWNsaXBzZSBwbHVnaW46IDxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UiPmh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2U8L2E+LgotICAgICAgICAgICAgICAgICAgICAgICAgU3VwcG9ydGVkIGJ5IHRoZSBGaW5kQnVncyBwcm9qZWN0LgotICAgICAgICAgICAgICAgICAgICA8L2RkPgotICAgICAgICAgICAgICAgICAgICA8ZHQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy8iPk1hdmVuPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2R0PgotICAgICAgICAgICAgICAgICAgICA8ZGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbW9qby5jb2RlaGF1cy5vcmcvZmluZGJ1Z3MtbWF2ZW4tcGx1Z2luLyI+aHR0cDovL21vam8uY29kZWhhdXMub3JnL2ZpbmRidWdzLW1hdmVuLXBsdWdpbi88L2E+Ci0gICAgICAgICAgICAgICAgICAgIDwvZGQ+Ci0gICAgICAgICAgICAgICAgICAgIDxkdD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9uZXRiZWFucy5vcmcvIj5OZXRiZWFuczwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9kdD4KLSAgICAgICAgICAgICAgICAgICAgPGRkPgotICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2tlbmFpLmNvbS9wcm9qZWN0cy9zcWUvcGFnZXMvSG9tZSI+U1FFOiBTb2Z0d2FyZSBRdWFsaXR5IEVudmlyb25tZW50PC9hPgotICAgICAgICAgICAgICAgICAgICA8L2RkPgotICAgICAgICAgICAgICAgICAgICA8ZHQ+PGEgaHJlZj0iaHR0cHM6Ly93aWtpLmplbmtpbnMtY2kub3JnL2Rpc3BsYXkvSkVOS0lOUyI+SmVua2luczwvYT48L2R0PgotICAgICAgICAgICAgICAgICAgICA8ZGQ+IDxhIGhyZWY9Imh0dHBzOi8vd2lraS5qZW5raW5zLWNpLm9yZy9kaXNwbGF5L0pFTktJTlMvRmluZEJ1Z3MrUGx1Z2luIj5KZW5raW5zIEZpbmRCdWdzIFBsdWdpbjwvYT4KLSAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIDxkdD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93aWtpLmh1ZHNvbi1jaS5vcmcvZGlzcGxheS9IVURTT04vSG9tZSI+SHVkc29uPC9hPgotICAgICAgICAgICAgICAgICAgICA8L2R0PgotICAgICAgICAgICAgICAgICAgICA8ZGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vd2lraS5odWRzb24tY2kub3JnL2Rpc3BsYXkvSFVEU09OL0ZpbmRCdWdzK1BsdWdpbiI+IEhVRFNPTiBGaW5kQnVncyBQbHVnaW48L2E+Ci0gICAgICAgICAgICAgICAgICAgIDwvZGQ+Ci0gICAgICAgICAgICAgICAgICAgIDxkdD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuamV0YnJhaW5zLmNvbS9pZGVhLyI+SW50ZWxsaUo8L2E+Ci0gICAgICAgICAgICAgICAgICAgIDwvZHQ+Ci0gICAgICAgICAgICAgICAgICAgIDxkZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIFNldmVyYWwgcGx1Z2lucywgc2VlIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy93aWtpL0ludGVsbGlqRmluZEJ1Z3NQbHVnaW5zIj5odHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvd2lraS9JbnRlbGxpakZpbmRCdWdzUGx1Z2luczwvYT4KLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBhIGRlc2NyaXB0aW9uLgotCi0gICAgICAgICAgICAgICAgICAgIDwvZGQ+Ci0gICAgICAgICAgICAgICAgPC9kbD4KLQotCi0gICAgICAgICAgICAgICAgPGgxPk5ldzwvaDE+Ci0gICAgICAgICAgICAgICAgPHVsPgotCi0gICAgICAgICAgICAgICAgPGxpPmpGb3JtYXRTdHJpbmcgbGlicmFyeSByZXB1Ymxpc2hlZCBhdCAKLSAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3Avai1mb3JtYXQtc3RyaW5nIj5odHRwOi8vY29kZS5nb29nbGUuY29tL3Avai1mb3JtYXQtc3RyaW5nPC9hPi4KLSAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSBsaWJyYXJ5IHdlIHVzZSBmb3IgY29tcGlsZSB0aW1lIGNoZWNraW5nIG9mIGZvcm1hdCBzdHJpbmdzLiBJdCBpcyBzZXBhcmF0ZWx5IHB1Ymxpc2hlZCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgPGxpPldlJ3JlIHJlbGVhc2luZyBGaW5kQnVncyAyLjAuMy4KLQotICAgICAgICAgICAgICAgICAgICBNb3N0bHkgc21hbGwgY2hhbmdlcyB0byBhZGRyZXNzIGZhbHNlIHBvc2l0aXZlcywgd2l0aCBvbmUgaW1wb3J0YW50IGZpeCB0byB0aGUgRWNsaXBzZSBwbHVnaW4KLSAgICAgICAgICAgICAgICAgICAgdG8gZml4IGEgcHJvYmxlbSB0aGF0IGhhZCBwcmV2ZW50ZWQgdGhlIHBsdWdpbiBmcm9tIHJ1bm5pbmcgaW4gc29tZSB2ZXJzaW9ucyBvZiBFY2xpcHNlLgotICAgICAgICAgICAgICAgICAgICAgICAgQ2hlY2sgdGhlIDxhIGhyZWY9IkNoYW5nZXMuaHRtbCI+Y2hhbmdlIGxvZzwvYT4gZm9yIG1vcmUgZGV0YWlscy4KLQotICAgICAgICAgICAgICAgICAgICA8bGk+V2UndmUgcmVsZWFzZWQgPGEgaHJlZj0iZmluZGJ1Z3MyLmh0bWwiPkZpbmRCdWdzIDIuMDwvYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPkZpbmRCdWdzIGNvbW11bmFsIGNsb3VkIGFuZCBKYXZhIHdlYiBzdGFydCBsaW5rczouIFdlIGhhdmUgYW5hbHl6ZWQgc2V2ZXJhbCBsYXJnZSBvcGVuCi0gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgcHJvamVjdHMsIGFuZCBwcm92aWRlIEphdmEgd2ViIHN0YXJ0IGxpbmtzIHRvIGFsbG93IHlvdSB0byB2aWV3IHRoZSByZXN1bHRzLiBXZSdkIGJlCi0gICAgICAgICAgICAgICAgICAgICAgICBoYXBweSB0byB3b3JrIHdpdGggcHJvamVjdHMgdG8gbWFrZSB0aGUgcmVzdWx0cyBhdmFpbGFibGUgZnJvbSBhIGNvbnRpbnVvdXMgYnVpbGQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICA8cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2Nsb3VkL2pkay5qbmxwIj5TdW4ncyBKREsgODwvYT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9jbG91ZC9lY2xpcHNlLmpubHAiPkVjbGlwc2UgMy44PC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2Nsb3VkL3RvbWNhdC5qbmxwIj5BcGFjaGUgVG9tY2F0IDcuMDwvYT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9jbG91ZC9pbnRlbGxpai5qbmxwIj5JbnRlbGxpSiBJREVBPC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2Nsb3VkL2pib3NzLmpubHAiPkpCb3NzPC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0KLQotCi0gICAgICAgICAgICAgICAgPGgxPkV4cGVyaWVuY2Ugd2l0aCBGaW5kQnVnczwvaDE+Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgIDxsaT48Yj5Hb29nbGUgRmluZEJ1Z3MgRml4aXQ8L2I+OiBHb29nbGUgaGFzIGEgdHJhZGl0aW9uIG9mIDxhCi0gICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cubnl0aW1lcy5jb20vMjAwNy8xMC8yMS9qb2JzLzIxcHJlLmh0bWwiPmVuZ2luZWVyaW5nIGZpeGl0czwvYT4sIHNwZWNpYWwgZGF5cyB3aGVyZQotICAgICAgICAgICAgICAgICAgICB0aGV5IHRyeSB0byBnZXQgYWxsIG9mIHRoZWlyIGVuZ2luZWVycyBmb2N1c2VkIG9uIHNvbWUgc3BlY2lmaWMgcHJvYmxlbSBvciB0ZWNobmlxdWUgZm9yIGltcHJvdmluZwotICAgICAgICAgICAgICAgICAgICB0aGUgc3lzdGVtcyBhdCBHb29nbGUuIEEgZml4aXQgbWlnaHQgd29yayB0byBpbXByb3ZlIHdlYiBhY2Nlc3NpYmlsaXR5LCBpbnRlcm5hbCB0ZXN0aW5nLCByZW1vdmluZwotICAgICAgICAgICAgICAgICAgICBUT0RPJ3MgZnJvbSBpbnRlcm5hbCBzb2Z0d2FyZSwgZXRjLgotCi0gICAgICAgICAgICAgICAgICAgIDxwPkluIDIwMDksIEdvb2dsZSBoZWxkIGEgZ2xvYmFsIGZpeGl0IGZvciBVTUQncyBGaW5kQnVncyB0b29sIGEgc3RhdGljIGFuYWx5c2lzIHRvb2wgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICBmaW5kaW5nIGNvZGluZyBtaXN0YWtlcyBpbiBKYXZhIHNvZnR3YXJlLiBUaGUgZm9jdXMgb2YgdGhlIGZpeGl0IHdhcyB0byBnZXQgZmVlZGJhY2sgb24gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICA0LDAwMCBoaWdoZXN0IGNvbmZpZGVuY2UgaXNzdWVzIGZvdW5kIGJ5IEZpbmRCdWdzIGF0IEdvb2dsZSwgYW5kIGxldCBHb29nbGUgZW5naW5lZXJzIGRlY2lkZQotICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggaXNzdWVzLCBpZiBhbnksIG5lZWRlZCBmaXhpbmcuPC9wPgotICAgICAgICAgICAgICAgICAgICA8cD5Nb3JlIHRoYW4gNzAwIGVuZ2luZWVycyByYW4gRmluZEJ1Z3MgZnJvbSBkb3plbnMgb2Ygb2ZmaWNlcy4gTW9yZSB0aGFuIDI1MCBvZiB0aGVtIGVudGVyZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vcmUgdGhhbiA4LDAwMCByZXZpZXdzIG9mIHRoZSBpc3N1ZXMuIEEgcmV2aWV3IGlzIGEgY2xhc3NpZmljYXRpb24gb2YgYW4gaXNzdWUgYXMgbXVzdC1maXgsCi0gICAgICAgICAgICAgICAgICAgICAgICBzaG91bGQtZml4LCBtb3N0bHktaGFybWxlc3MsIG5vdC1hLWJ1ZywgYW5kIHNldmVyYWwgb3RoZXIgY2F0ZWdvcmllcy4gTW9yZSB0aGFuIDc1JSBvZiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldmlld3MgY2xhc3NpZmllZCBpc3N1ZXMgYXMgbXVzdCBmaXgsIHNob3VsZCBmaXggb3IgSSB3aWxsIGZpeC4gTWFueSBvZiB0aGUgc2Nhcmllc3QgaXNzdWVzCi0gICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZCBtb3JlIHRoYW4gMTAgcmV2aWV3cyBlYWNoLjwvcD4KLSAgICAgICAgICAgICAgICAgICAgPHA+RW5naW5lZXJzIGhhdmUgYWxyZWFkeSBzdWJtaXR0ZWQgY2hhbmdlcyB0aGF0IG1hZGUgbW9yZSB0aGFuIDEsMTAwIG9mIHRoZSAzLDgwMCBpc3N1ZXMgZ28KLSAgICAgICAgICAgICAgICAgICAgICAgIGF3YXkuIEVuZ2luZWVycyBmaWxlZCBtb3JlIHRoYW4gMSw3MDAgYnVnIHJlcG9ydHMsIG9mIHdoaWNoIDYwMCBoYXZlIGFscmVhZHkgYmVlbiBtYXJrZWQgYXMKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkIFdvcmsgY29udGludWVzIG9uIGFkZHJlc3NpbmcgdGhlIGlzc3VlcyByYWlzZWQgYnkgdGhlIGZpeGl0LCBhbmQgb24gc3VwcG9ydGluZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgIGludGVncmF0aW9uIG9mIEZpbmRCdWdzIGludG8gdGhlIHNvZnR3YXJlIGRldmVsb3BtZW50IHByb2Nlc3MgYXQgR29vZ2xlLjwvcD4KLSAgICAgICAgICAgICAgICAgICAgPHA+VGhlIGZpeGl0IGF0IEdvb2dsZSBzaG93Y2FzZWQgbmV3IGNhcGFiaWxpdGllcyBvZiBGaW5kQnVncyB0aGF0IHByb3ZpZGUgYSBjbG91ZCBjb21wdXRpbmcgLwotICAgICAgICAgICAgICAgICAgICAgICAgc29jaWFsIG5ldHdvcmtpbmcgYmFja2Ryb3AuIFJldmlld3Mgb2YgaXNzdWVzIGFyZSBpbW1lZGlhdGVseSBwZXJzaXN0ZWQgaW50byBhIGNlbnRyYWwgc3RvcmUsCi0gICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSB0aGV5IGNhbiBiZSBzZWVuIGJ5IG90aGVyIGRldmVsb3BlcnMsIGFuZCBGaW5kQnVncyBpcyBpbnRlZ3JhdGVkIGludG8gdGhlIGludGVybmFsIEdvb2dsZQotICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHMgZm9yIGZpbGluZyBhbmQgdmlld2luZyBidWcgcmVwb3J0cyBhbmQgZm9yIHZpZXdpbmcgdGhlIHZlcnNpb24gY29udHJvbCBoaXN0b3J5IG9mIHNvdXJjZQotICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMuIEZvciB0aGUgRml4aXQsIEZpbmRCdWdzIHdhcyBjb25maWd1cmVkIGluIGEgbW9kZSB3aGVyZSBlbmdpbmVlcnMgY291bGQgbm90IHNlZSByZXZpZXdzCi0gICAgICAgICAgICAgICAgICAgICAgICBmcm9tIG90aGVyIGVuZ2luZWVycyB1bnRpbCB0aGV5IGhhZCBlbnRlcmVkIHRoZWlyIG93bjsgYWZ0ZXIgdGhlIGZpeGl0LCB0aGUgY29uZmlndXJhdGlvbiB3aWxsCi0gICAgICAgICAgICAgICAgICAgICAgICBiZSBjaGFuZ2VkIHRvIGEgbW9yZSBvcGVuIGNvbmZpZ3VyYXRpb24gd2hlcmUgZW5naW5lZXJzIGNhbiBzZWUgcmV2aWV3cyBmcm9tIG90aGVycyB3aXRob3V0Ci0gICAgICAgICAgICAgICAgICAgICAgICBoYXZpbmcgdG8gcHJvdmlkZSB0aGVpciBvd24gcmV2aWV3IGZpcnN0LiBUaGVzZSBjYXBhYmlsaXRpZXMgaGF2ZSBhbGwgYmVlbiBjb250cmlidXRlZCB0byBVTUQncwotICAgICAgICAgICAgICAgICAgICAgICAgb3BlbiBzb3VyY2UgRmluZEJ1Z3MgdG9vbCwgYWx0aG91Z2ggYSBmYWlyIGJpdCBvZiBlbmdpbmVlcmluZyByZW1haW5zIHRvIHByZXBhcmUgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICBjYXBhYmlsaXRpZXMgZm9yIGdlbmVyYWwgcmVsZWFzZSBhbmQgbWFrZSBzdXJlIHRoZXkgY2FuIGludGVncmF0ZSBpbnRvIHN5c3RlbXMgb3V0c2lkZSBvZgotICAgICAgICAgICAgICAgICAgICAgICAgR29vZ2xlLiBUaGUgbmV3IGNhcGFiaWxpdGllcyBhcmUgZXhwZWN0ZWQgdG8gYmUgcmVhZHkgZm9yIGdlbmVyYWwgcmVsZWFzZSBpbiBGYWxsIDIwMDkuPC9wPgotICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICA8L3VsPgotCi0gICAgICAgICAgICAgICAgPGgyPgotICAgICAgICAgICAgICAgICAgICA8YSBuYW1lPSJ0YWxrcyI+VGFsa3MgYWJvdXQgRmluZEJ1Z3M8L2E+Ci0gICAgICAgICAgICAgICAgPC9oMj4KLSAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuY3MudW1kLmVkdS9+cHVnaC9NaXN0YWtlc1RoYXRNYXR0ZXIucGRmIj5NaXN0YWtlcyBUaGF0IE1hdHRlcjwvYT4sIEphdmFPbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAyMDA5Ci0gICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8veW91dHUuYmUvamZsUVNGaFlURW8/aGQ9MSI+WW91dHViZSB2aWRlbzwvYT4gc2hvd2luZyBvZiBkZW1vCi0gICAgICAgICAgICAgICAgICAgICAgICBvZiBvdXIgMi4wIEVjbGlwc2UgcGx1Z2luICg1IG1pbnV0ZXMpPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L3RhbGtzL2ZpbmRidWdzLm1vdiI+UXVpY2t0aW1lIG1vdmllPC9hPiBzaG93aW5nIG9mIGRlbW8KLSAgICAgICAgICAgICAgICAgICAgICAgIG9mIG91ciBuZXcgR1VJIHRvIHZpZXcgc29tZSBvZiB0aGUgbnVsbCBwb2ludGVyIGJ1Z3MgaW4gRWNsaXBzZSAoQmlnIGZpbGUgd2FybmluZzogMjMgTWVnYWJ5dGVzKTwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS90YWxrcy9KYXZhT25lMjAwNy1UUzIwMDcucGRmIj5KYXZhT25lIDIwMDcgdGFsayBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltcHJvdmluZyBTb2Z0d2FyZSBRdWFsaXR5IFVzaW5nIFN0YXRpYyBBbmFseXNpczwvYT48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvdGFsa3MvZmItc2RicC0yMDA2LnBkZiI+VGFsazwvYT4gQmlsbCBQdWdoIGdhdmUgYXQgPGEKLSAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuc2RleHBvLmNvbS8yMDA2L3NkYnAvIj5TRCBCZXN0IFByYWN0aWNlczwvYT4sIFNlcHQgMTR0aCAobW9yZSBvZiBhIGhhbmRsZSBvbgotICAgICAgICAgICAgICAgICAgICAgICAgdHV0b3JpYWwgYWJvdXQgdXNpbmcgRmluZEJ1Z3MpPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L3RhbGtzL2ZiLVNlcHQxMjEzLTIwMDYucGRmIj5UYWxrPC9hPiBCaWxsIFB1Z2ggZ2F2ZSBhdAotICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2l0YXNvZnR3YXJlLmNvbS8iPklUQSBTb2Z0d2FyZTwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly93d3cuY3NhaWwubWl0LmVkdS8iPk1JVDwvYT4sCi0gICAgICAgICAgICAgICAgICAgICAgICBTZXB0IDEydGggYW5kIDEzdGggKG1vcmUgb2YgYSByZXNlYXJjaCBmb2N1cyk8L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3ZpZGVvLmdvb2dsZS5jb20vdmlkZW9wbGF5P2RvY2lkPS04MTUwNzUxMDcwMjMwMjY0NjA5Ij5WaWRlbyBvZiB0YWxrPC9hPgotICAgICAgICAgICAgICAgICAgICAgICAgQmlsbCBQdWdoIGdhdmUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tIj5Hb29nbGU8L2E+LCBKdWx5IDZ0aCwgMjAwNjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vamF2YXBvc3NlLmNvbS9pbmRleC5waHA/cG9zdF9pZD05NTc4MCI+SmF2YSBQb3NzZSBwb2RjYXN0IGludGVydmlldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggQmlsbCBQdWdoIGFuZCBCcmlhbiBHb2V0ejwvYT48L2xpPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgPGgyPgotICAgICAgICAgICAgICAgICAgICA8YSBuYW1lPSJwYXBlcnMiPlBhcGVycyBhYm91dCBGaW5kQnVnczwvYT4KLSAgICAgICAgICAgICAgICA8L2gyPgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L3BhcGVycy9Nb3JlTnVsbFBvaW50ZXJCdWdzMDcucGRmIj5GaW5kaW5nIE1vcmUgTnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvaW50ZXIgQnVncywgQnV0IE5vdCBUb28gTWFueTwvYT4sIGJ5IDxhIGhyZWY9Imh0dHA6Ly9mYWN1bHR5LnljcC5lZHUvfmRob3ZlbWV5LyI+RGF2aWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3ZlbWV5ZXI8L2E+LCBZb3JrIENvbGxlZ2Ugb2YgUGVubnN5bHZhbmlhIGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LmNzLnVtZC5lZHUvfnB1Z2gvIj5XaWxsaWFtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVnaDwvYT4sIFVuaXYuIG9mIE1hcnlsYW5kLCA8YSBocmVmPSJodHRwOi8vcGFzdGUwNy5jcy53YXNoaW5ndG9uLmVkdS8iPjd0aCBBQ00KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSUdQTEFOLVNJR1NPRlQgV29ya3Nob3Agb24gUHJvZ3JhbSBBbmFseXNpcyBmb3IgU29mdHdhcmUgVG9vbHMgYW5kIEVuZ2luZWVyaW5nPC9hPiwgSnVuZSwgMjAwNzwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9wYXBlcnMvRmluZEJ1Z3NFeHBlcmllbmNlczA3LnBkZiI+RXZhbHVhdGluZyBTdGF0aWMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmFseXNpcyBEZWZlY3QgV2FybmluZ3MgT24gUHJvZHVjdGlvbiBTb2Z0d2FyZSw8L2E+IDxhIGhyZWY9Imh0dHA6Ly93d3cuY3MudW1kLmVkdS9+bmF0LyI+TmF0aGFuaWVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXlld2FoPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL3d3dy5jcy51bWQuZWR1L35wdWdoLyI+V2lsbGlhbSBQdWdoPC9hPiwgVW5pdi4gb2YgTWFyeWxhbmQsIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEouIERhdmlkIE1vcmdlbnRoYWxlciwgSm9obiBQZW5peCBhbmQgWXVRaWFuIFpob3UsIEdvb2dsZSwgSW5jLiwgPGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vcGFzdGUwNy5jcy53YXNoaW5ndG9uLmVkdS8iPjd0aCBBQ00gU0lHUExBTi1TSUdTT0ZUIFdvcmtzaG9wIG9uIFByb2dyYW0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5hbHlzaXMgZm9yIFNvZnR3YXJlIFRvb2xzIGFuZCBFbmdpbmVlcmluZzwvYT4sIEp1bmUsIDIwMDcKLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICA8L3VsPgotCi0gICAgICAgICAgICAgICAgPGgxPgotICAgICAgICAgICAgICAgICAgICA8YSBuYW1lPSJzcG9uc29ycyI+Q29udHJpYnV0b3JzIGFuZCBTcG9uc29yczwvYT4KLSAgICAgICAgICAgICAgICA8L2gxPgotICAgICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICAgICAgICBUaGUgPGEgaHJlZj0idGVhbS5odG1sIj5jdXJyZW50IGRldmVsb3BtZW50IHRlYW08L2E+IGNvbnNpc3RzIG9mIDxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LmNzLnVtZC5lZHUvfnB1Z2giPkJpbGwgUHVnaDwvYT4gYW5kIDxhCi0gICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vYW5kcmVpLmdteGhvbWUuZGUvcHJpdmF0Lmh0bWwiPkFuZHJleSBMb3NrdXRvdjwvYT4uCi0gICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDxwPlRoZSBtb3N0IHJlY2VudCBmdW5kaW5nIGZvciBGaW5kQnVncyBjb21lcyBmcm9tIGEgR29vZ2xlIEZhY3VsdHkgUmVzZWFyY2ggQXdhcmRzLjwvcD4KLSAgICAgICAgICAgICAgICA8aDI+Ci0gICAgICAgICAgICAgICAgICAgIDxhIG5hbWU9InN1cHBvcnQiPkFkZGl0aW9uYWwgU3VwcG9ydDwvYT4KLSAgICAgICAgICAgICAgICA8L2gyPgotICAgICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICAgICAgICBOdW1lcm91cyA8YSA9aHJlZj0idGVhbS5odG1sIj5wZW9wbGU8L2E+IGhhdmUgbWFkZSBzaWduaWZpY2FudCBjb250cmlidXRpb25zIHRvIHRoZSBGaW5kQnVncwotICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LCBpbmNsdWRpbmcgZm91bmRpbmcgd29yayBieSA8YSBocmVmPSJodHRwOi8vZ29vc2UueWNwLmVkdS9+ZGhvdmVtZXkvIj5EYXZpZCBIb3ZlbWV5ZXI8L2E+Ci0gICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgd2ViIGNsb3VkIGluZnJhc3RydWN0dXJlIGJ5IEtlaXRoIExlYS4KLSAgICAgICAgICAgICAgICA8L3A+Ci0gICAgICAgICAgICAgICAgPHA+Ci0gICAgICAgICAgICAgICAgICAgIFlvdXJLaXQgaXMga2luZGx5IHN1cHBvcnRpbmcgb3BlbiBzb3VyY2UgcHJvamVjdHMgd2l0aCBpdHMgZnVsbC1mZWF0dXJlZCBKYXZhIFByb2ZpbGVyLiBZb3VyS2l0LCBMTEMKLSAgICAgICAgICAgICAgICAgICAgaXMgY3JlYXRvciBvZiBpbm5vdmF0aXZlIGFuZCBpbnRlbGxpZ2VudCB0b29scyBmb3IgcHJvZmlsaW5nIEphdmEgYW5kIC5ORVQgYXBwbGljYXRpb25zLiBUYWtlIGEgbG9vawotICAgICAgICAgICAgICAgICAgICBhdCBZb3VyS2l0J3MgbGVhZGluZyBzb2Z0d2FyZSBwcm9kdWN0czogPGEgaHJlZj0iaHR0cDovL3d3dy55b3Vya2l0LmNvbS9qYXZhL3Byb2ZpbGVyL2luZGV4LmpzcCI+WW91cktpdAotICAgICAgICAgICAgICAgICAgICAgICAgSmF2YSBQcm9maWxlcjwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly93d3cueW91cmtpdC5jb20vLm5ldC9wcm9maWxlci9pbmRleC5qc3AiPllvdXJLaXQgLk5FVAotICAgICAgICAgICAgICAgICAgICAgICAgUHJvZmlsZXI8L2E+LgotICAgICAgICAgICAgICAgIDwvcD4KLSAgICAgICAgICAgICAgICA8cD4KLSAgICAgICAgICAgICAgICAgICAgVGhlIEZpbmRCdWdzIHByb2plY3QgYWxzbyB1c2VzIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXRsYXNzaWFuLmNvbS9zb2Z0d2FyZS9maXNoZXllLyI+RmlzaEV5ZTwvYT4gYW5kCi0gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXRsYXNzaWFuLmNvbS9zb2Z0d2FyZS9jbG92ZXIvIj5DbG92ZXI8L2E+LCB3aGljaCBhcmUgZ2VuZXJvdXNseSBwcm92aWRlZCBieSA8YQotICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5jZW5xdWEuY29tLyI+Q2VucXVhL0F0bGFzc2lhbjwvYT4uCi0gICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDxwPgotICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsIGZpbmFuY2lhbCBzdXBwb3J0IGZvciB0aGUgRmluZEJ1Z3MgcHJvamVjdCB3YXMgcHJvdmlkZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5uc2YuZ292Ij5OYXRpb25hbAotICAgICAgICAgICAgICAgICAgICAgICAgU2NpZW5jZSBGb3VuZGF0aW9uPC9hPiBncmFudHMgQVNDOTcyMDE5OSBhbmQgQ0NSLTAwOTgxNjIsCi0gICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgIDxwPkFueSBvcGluaW9ucywgZmluZGluZ3MgYW5kIGNvbmNsdXNpb25zIG9yIHJlY29tbWVuZGF0aW9ucyBleHByZXNzZWQgaW4gdGhpcyBtYXRlcmlhbCBhcmUgdGhvc2Ugb2YKLSAgICAgICAgICAgICAgICAgICAgdGhlIGF1dGhvcihzKSBhbmQgZG8gbm90IG5lY2Vzc2FyaWx5IHJlZmxlY3QgdGhlIHZpZXdzIG9mIHRoZSBOYXRpb25hbCBTY2llbmNlIEZvdW5kYXRpb24gKE5TRikuCi0gICAgICAgICAgICAgICAgICA8L3A+Ci0gICAgICAgICAgICAgICAgICAgIAotPGhyPiA8cD4gCi08c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiAKLTwhLS0tLy9oaWRlIHNjcmlwdCBmcm9tIG9sZCBicm93c2VycyAKLWRvY3VtZW50LndyaXRlKCAiTGFzdCB1cGRhdGVkICIrIGRvY3VtZW50Lmxhc3RNb2RpZmllZCArICIuIiApOyAKLS8vZW5kIGhpZGluZyBjb250ZW50cyAtLS0+IAotPC9zY3JpcHQ+IAotPHA+IFNlbmQgY29tbWVudHMgdG8gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWx0bzpmaW5kYnVnc0Bjcy51bWQuZWR1Ij5maW5kYnVnc0Bjcy51bWQuZWR1PC9hPiAKLTxwPiAKLTxBIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQiPjxJTUcgc3JjPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3NmbG9nby5waHA/Z3JvdXBfaWQ9OTY0MDUmYW1wO3R5cGU9NSIgd2lkdGg9IjIxMCIgaGVpZ2h0PSI2MiIgYm9yZGVyPSIwIiBhbHQ9IlNvdXJjZUZvcmdlLm5ldCBMb2dvIiAvPjwvQT4KLSAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgPC90YWJsZT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2luZmluaXRlUmVjdXJzaXZlTG9vcHMucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2luZmluaXRlUmVjdXJzaXZlTG9vcHMucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Y2FjZDZiLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9pbmZpbml0ZVJlY3Vyc2l2ZUxvb3BzLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9pbmZvcm1hbC5wbmcgYi90b29scy9maW5kYnVncy9kb2MvaW5mb3JtYWwucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGJhNmIzLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9pbmZvcm1hbC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2Fja25vd2xlZGdtZW50cy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9hY2tub3dsZWRnbWVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQ0ZWU1OC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2Fja25vd2xlZGdtZW50cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+JiMzMTUzMjsxNCYjMzE0NTY7ICYjMzU2MTM7JiMzNjc2Njs8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJsaWNlbnNlLmh0bWwiIHRpdGxlPSImIzMxNTMyOzEzJiMzMTQ1NjsgJiMxMjUyMTsmIzEyNDUyOyYjMTI0NzU7JiMxMjUzMTsmIzEyNDczOyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+JiMzMTUzMjsxNCYjMzE0NTY7ICYjMzU2MTM7JiMzNjc2Njs8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWNlbnNlLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IiYjMzE1MzI7MTQmIzMxNDU2OyAmIzM1NjEzOyYjMzY3NjY7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJhY2tub3dsZWRnbWVudHMiPjwvYT4mIzMxNTMyOzE0JiMzMTQ1NjsgJiMzNTYxMzsmIzM2NzY2OzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj4mIzMwNDQ2OyYjMjc0MjU7PC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYWNrbm93bGVkZ21lbnRzLmh0bWwjZDBlMzQzOCI+MS4gJiMzNjAwMjsmIzI5NDg2OyYjMzI3NzM7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFja25vd2xlZGdtZW50cy5odG1sI2QwZTM1NjEiPjIuICYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMTI0Nzc7JiMxMjUwMTsmIzEyNDg4OyYjMTI0NTQ7JiMxMjQ1NTsmIzEyNDUwOzwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMS4gJiMzNjAwMjsmIzI5NDg2OyYjMzI3NzM7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTM0MzgiPjwvYT4xLiAmIzM2MDAyOyYjMjk0ODY7JiMzMjc3Mzs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYnkgQmlsbCBQdWdoICg8Y29kZSBjbGFzcz0iZW1haWwiPiZsdDs8YSBjbGFzcz0iZW1haWwiIGhyZWY9Im1haWx0bzpwdWdoQGNzLnVtZC5lZHUiPnB1Z2hAY3MudW1kLmVkdTwvYT4mZ3Q7PC9jb2RlPikuCi1EYXZpZCBIb3ZlbWV5ZXIgKDxjb2RlIGNsYXNzPSJlbWFpbCI+Jmx0OzxhIGNsYXNzPSJlbWFpbCIgaHJlZj0ibWFpbHRvOmRhdmVob0Bjcy51bWQuZWR1Ij5kYXZlaG9AY3MudW1kLmVkdTwvYT4mZ3Q7PC9jb2RlPikgaW1wbGVtZW50ZWQgc29tZSBvZiB0aGUKLWRldGVjdG9ycywgYWRkZWQgdGhlIFN3aW5nIEdVSSwgYW5kIGlzIGEgY28tbWFpbnRhaW5lci48L3A+PHA+TWlrZSBGYWdhbiAoPGNvZGUgY2xhc3M9ImVtYWlsIj4mbHQ7PGEgY2xhc3M9ImVtYWlsIiBocmVmPSJtYWlsdG86bWZhZ2FuQHRkZS5jb20iPm1mYWdhbkB0ZGUuY29tPC9hPiZndDs8L2NvZGU+KSBjb250cmlidXRlZCB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+IGJ1aWxkIHNjcmlwdCwKLXRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gdGFzaywgYW5kIHNldmVyYWwgZW5oYW5jZW1lbnRzIGFuZCBidWcgZml4ZXMgdG8gdGhlIEdVSS48L3A+PHA+R2VybWFubyBMZWljaHNlbnJpbmcgY29udHJpYnV0ZWQgSmFwYW5lc2UgdHJhbnNsYXRpb25zIG9mIHRoZSBidWcKLXN1bW1hcmllcy48L3A+PHA+RGF2aWQgTGkgY29udHJpYnV0ZWQgdGhlIEVtYWNzIGJ1ZyByZXBvcnQgZm9ybWF0LjwvcD48cD5QZXRlciBELiBTdG91dCBjb250cmlidXRlZCByZWN1cnNpdmUgZGV0ZWN0aW9uIG9mIENsYXNzLVBhdGgKLWF0dHJpYnV0ZXMgaW4gYW5hbHl6ZWQgSmFyIGZpbGVzLCBHZXJtYW4gdHJhbnNsYXRpb25zIG9mCi10ZXh0IHVzZWQgaW4gdGhlIFN3aW5nIEdVSSwgYW5kIG90aGVyIGZpeGVzLjwvcD48cD5QZXRlciBGcmllc2Ugd3JvdGUgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IEVjbGlwc2UgcGx1Z2luLjwvcD48cD5Sb2hhbiBMbG95ZCBjb250cmlidXRlZCBzZXZlcmFsIE1hYyBPUyBYIGVuaGFuY2VtZW50cywKLWJ1ZyBkZXRlY3RvciBpbXByb3ZlbWVudHMsCi1hbmQgbWFpbnRhaW5zIHRoZSBGaW5rIHBhY2thZ2UgZm9yIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+LjwvcD48cD5IaXJvc2hpIE9rdWdhd2EgdHJhbnNsYXRlZCB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gbWFudWFsIGFuZAotbW9yZSBvZiB0aGUgYnVnIHN1bW1hcmllcyBpbnRvIEphcGFuZXNlLjwvcD48cD5QaGlsIENyb3NieSBlbmhhbmNlZCB0aGUgRWNsaXBzZSBwbHVnaW4gdG8gYWRkIGEgdmlldwotdG8gZGlzcGxheSB0aGUgYnVnIGRldGFpbHMuPC9wPjxwPkRhdmUgQnJvc2l1cyBmaXhlZCBhIG51bWJlciBvZiBidWdzLCBhZGRlZCB1c2VyIHByZWZlcmVuY2VzCi10byB0aGUgU3dpbmcgR1VJLCBpbXByb3ZlZCBzZXZlcmFsIGJ1ZyBkZXRlY3RvcnMsIGFuZAotY29udHJpYnV0ZWQgdGhlIHN0cmluZyBjb25jYXRlbmF0aW9uIGRldGVjdG9yLjwvcD48cD5UaG9tYXMgS2xhZWdlciBjb250cmlidXRlZCBhIG51bWJlciBvZiBidWcgZml4ZXMgYW5kCi1idWcgZGV0ZWN0b3IgaW1wcm92ZW1lbnRzLjwvcD48cD5BbmRyZWkgTG9za3V0b3YgbWFkZSBhIG51bWJlciBvZiBpbXByb3ZlbWVudHMgdG8gdGhlCi1FY2xpcHNlIHBsdWdpbi48L3A+PHA+QnJpYW4gR29ldHogY29udHJpYnV0ZWQgYSBtYWpvciByZWZhY3RvcmluZyBvZiB0aGUKLXZpc2l0b3IgY2xhc3NlcyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCB1bmRlcnN0YW5kYWJpbGl0eS48L3A+PHA+IFBldGUgQW5nc3RhZHQgZml4ZWQgc2V2ZXJhbCBwcm9ibGVtcyBpbiB0aGUgU3dpbmcgR1VJLjwvcD48cD5GcmFuY2lzIExhbG9uZGUgcHJvdmlkZWQgYSB0YXNrIHJlc291cmNlIGZpbGUgZm9yIHRoZQotRmluZEJ1Z3MgQW50IHRhc2suPC9wPjxwPkdhcnZpbiBMZUNsYWlyZSBjb250cmlidXRlZCBzdXBwb3J0IGZvciBvdXRwdXQgaW4KLVhkb2NzIGZvcm1hdCwgZm9yIHVzZSBieSBNYXZlbi48L3A+PHA+SG9sZ2VyIFN0ZW56aG9ybiBjb250cmlidXRlZCBpbXByb3ZlZCBHZXJtYW4gdHJhbnNsYXRpb25zIG9mIGl0ZW1zCi1pbiB0aGUgU3dpbmcgR1VJLjwvcD48cD5KdWhhIEtudXV0aWxhIGNvbnRyaWJ1dGVkIEZpbm5pc2ggdHJhbnNsYXRpb25zIG9mIGl0ZW1zCi1pbiB0aGUgU3dpbmcgR1VJLjwvcD48cD5UYW5lbCBMZWJlZGV2IGNvbnRyaWJ1dGVkIEVzdG9uaWFuIHRyYW5zbGF0aW9ucyBvZiBpdGVtcwotaW4gdGhlIFN3aW5nIEdVSS48L3A+PHA+SGFuYWkgU2hpc2VpIChydWltbykgY29udHJpYnV0ZWQgZnVsbCBKYXBhbmVzZSB0cmFuc2xhdGlvbnMgb2YKLWJ1ZyBtZXNzYWdlcywgYW5kIHRleHQgdXNlZCBpbiB0aGUgU3dpbmcgR1VJLjwvcD48cD5EYXZpZCBDb3R0b24gY29udHJpYnV0ZWQgRnJlc2ggdHJhbnNsYXRpb25zIGZvciBidWcKLW1lc3NhZ2VzIGFuZCBmb3IgdGhlIFN3aW5nIEdVSS48L3A+PHA+TWljaGFlbCBUYW1tIGNvbnRyaWJ1dGVkIHN1cHBvcnQgZm9yIHRoZSAiZXJyb3JQcm9wZXJ0eSIgYXR0cmlidXRlCi1pbiB0aGUgQW50IHRhc2suPC9wPjxwPlRob21hcyBLdWVobmUgaW1wcm92ZWQgdGhlIEdlcm1hbiB0cmFuc2xhdGlvbiBvZiB0aGUgU3dpbmcgR1VJLjwvcD48cD5MZW4gVHJpZ2cgaW1wcm92ZWQgc291cmNlIGZpbGUgc3VwcG9ydCBmb3IgdGhlIEVtYWNzIG91dHB1dCBtb2RlLjwvcD48cD5HcmVnIEJlbnR6IHByb3ZpZGVkIGEgZml4IGZvciB0aGUgaGFzaGNvZGUvZXF1YWxzIGRldGVjdG9yLjwvcD48cD5LLiBIYXNoaW1vdG8gY29udHJpYnV0ZWQgaW50ZXJuYXRpb25hbGl6YXRpb24gZml4ZXMgYW5kIHNldmVyYWwgb3RoZXIKLSAgICBidWcgZml4ZXMuPC9wPjxwPgotICAgIEdsZW5uIEJveXNrbyBjb250cmlidXRlZCBzdXBwb3J0IGZvciBpZ25vcmluZyBzcGVjaWZpZWQgbG9jYWwKLSAgICB2YXJpYWJsZXMgaW4gdGhlIGRlYWQgbG9jYWwgc3RvcmUgZGV0ZWN0b3IuCi08L3A+PHA+Ci0gICAgSmF5IER1bm5pbmcgY29udHJpYnV0ZWQgYSBkZXRlY3RvciB0byBmaW5kIGVxdWFsaXR5IGNvbXBhcmlzb25zCi0gICAgb2YgZmxvYXRpbmctcG9pbnQgdmFsdWVzLCBhbmQgb3ZlcmhhdWxlZCB0aGUgYW5hbHlzaXMgc3VtbWFyeQotICAgIHJlcG9ydCBhbmQgaXRzIHJlcHJlc2VudGF0aW9uIGluIHRoZSBzYXZlZCBYTUwgZm9ybWF0LgotPC9wPjxwPgotICAgIE9saXZpZXIgUGFyZW50IGNvbnRyaWJ1dGVkIHVwZGF0ZWQgRnJlbmNoIHRyYW5zbGF0aW9ucyBmb3IgYnVnIGRlc2NyaXB0aW9ucyBhbmQKLSAgICBTd2luZyBHVUkuCi08L3A+PHA+Ci0gICAgQ2hyaXMgTmFwcGluIGNvbnRyaWJ1dGVkIHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPnBsYWluLnhzbDwvY29kZT4KLSAgICBzdHlsZXNoZWV0LgotPC9wPjxwPgotICAgIEV0aWVubmUgR2lyYXVkeSBjb250cmlidXRlZCB0aGUgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5mYW5jeS54c2w8L2NvZGU+IGFuZCAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5mYW5jeS1oaXN0LnhzbDwvY29kZT4KLSAgICBzdHlsZXNoZWV0cywgYW5kIG1hZGUgaW1wcm92ZW1lbnRzIHRvIHRoZSA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4teG1sOndpdGhNZXNzYWdlczwvc3Ryb25nPjwvc3Bhbj4KLSAgICBvcHRpb24uCi08L3A+PHA+Ci0gICAgVGFrYXNoaSBPa2Ftb3RvIGZpeGVkIGJ1Z3MgaW4gdGhlIHByb2plY3QgcHJlZmVyZW5jZXMgZGlhbG9nCi0gICAgaW4gdGhlIEVjbGlwc2UgcGx1Z2luLCBhbmQgY29udHJpYnV0ZWQgdG8gaXRzIGludGVybmF0aW9uYWxpemF0aW9uIGFuZCBsb2NhbGl6YXRpb24uCi08L3A+PHA+VGhvbWFzIEVpbndhbGxlciBmaXhlZCBidWdzIGluIHRoZSBwcm9qZWN0IHByZWZlcmVuY2VzIGRpYWxvZyBpbiB0aGUgRWNsaXBzZSBwbHVnaW4uPC9wPjxwPkplZmYgS25veCBjb250cmlidXRlZCBzdXBwb3J0IGZvciB0aGUgd2FybmluZ3NQcm9wZXJ0eSBhdHRyaWJ1dGUKLWluIHRoZSBBbnQgdGFzay48L3A+PHA+UGV0ZXIgSGVuZHJpa3MgZXh0ZW5kZWQgdGhlIEVjbGlwc2UgcGx1Z2luIHByZWZlcmVuY2VzLAotYW5kIGZpeGVkIGEgYnVnIHJlbGF0ZWQgdG8gcmVuYW1pbmcgdGhlIEVjbGlwc2UgcGx1Z2luIElELjwvcD48cD5NYXJrIE1jS2F5IGNvbnRyaWJ1dGVkIGFuIEFudCB0YXNrIHRvIGxhdW5jaCB0aGUgZmluZGJ1Z3MgZnJhbWUuPC9wPjxwPkRpZXRlciB2b24gSG9sdGVuIChkdmhvbHRlbikgY29udHJpYnV0ZWQKLXNvbWUgR2VybWFuIGltcHJvdmVtZW50cyB0byBmaW5kYnVnc19kZS5wcm9wZXJ0aWVzLjwvcD48cD5JZiB5b3UgaGF2ZSBjb250cmlidXRlZCB0byA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiwgYnV0IGFyZW4ndCBtZW50aW9uZWQgYWJvdmUsCi1wbGVhc2Ugc2VuZCBlbWFpbCB0byA8Y29kZSBjbGFzcz0iZW1haWwiPiZsdDs8YSBjbGFzcz0iZW1haWwiIGhyZWY9Im1haWx0bzpmaW5kYnVnc0Bjcy51bWQuZWR1Ij5maW5kYnVnc0Bjcy51bWQuZWR1PC9hPiZndDs8L2NvZGU+IChhbmQgYWxzbyBhY2NlcHQKLW91ciBodW1ibGUgYXBvbG9naWVzKS48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIyLiAmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDc3OyYjMTI1MDE7JiMxMjQ4ODsmIzEyNDU0OyYjMTI0NTU7JiMxMjQ1MDsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMzU2MSI+PC9hPjIuICYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMTI0Nzc7JiMxMjUwMTsmIzEyNDg4OyYjMTI0NTQ7JiMxMjQ1NTsmIzEyNDUwOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5OTsmIzEyMjg5OyYjMTIzNTY7JiMxMjM2NzsmIzEyMzg4OyYjMTIzNjM7JiMxMjM5ODsmIzEyNDU4OyYjMTI1NDA7JiMxMjUwMzsmIzEyNTMxOyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTI0Nzc7JiMxMjUwMTsmIzEyNDg4OyYjMTI0NTQ7JiMxMjQ1NTsmIzEyNDUwOyYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTI0Mjg7JiMxMjQyNTsmIzEyMzY0OyYjMTIzOTQ7JiMxMjM2OTsmIzEyNDI4OyYjMTI0MDA7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzM4MjgzOyYjMzAzMzA7JiMxMjM5OTsmIzEyMjg5OyYjMTI0MjQ7JiMxMjQyNjsmIzE5OTY4OyYjMjM2NTI7JiMyMjI1NjsmIzM4NjI3OyYjMTIzOTQ7JiMxMjQxODsmIzEyMzk4OyYjMTIzOTU7JiMxMjM5NDsmIzEyMzg3OyYjMTIzODM7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjM3NTsmIzEyNDIzOyYjMTIzNTg7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjEuIEJDRUwiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImQwZTM1NzEiPjwvYT4yLjEuIEJDRUw8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24KLSg8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iIHRhcmdldD0iX3RvcCI+aHR0cDovL3d3dy5hcGFjaGUub3JnLzwvYT4pLgotU3BlY2lmaWNhbGx5LCBpdCB1c2VzIHRoZSA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcvYmNlbC8iIHRhcmdldD0iX3RvcCI+Qnl0ZSBDb2RlCi1FbmdpbmVlcmluZyBMaWJyYXJ5PC9hPi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjIuIEFTTSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZDBlMzU4NCI+PC9hPjIuMi4gQVNNPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiB1c2VzIHRoZSA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9hc20ub2JqZWN0d2ViLm9yZy8iIHRhcmdldD0iX3RvcCI+QVNNPC9hPgotYnl0ZWNvZGUgZnJhbWV3b3JrLCB3aGljaCBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgZm9sbG93aW5nIGxpY2Vuc2U6PC9wPjxkaXYgY2xhc3M9ImJsb2NrcXVvdGUiPjxibG9ja3F1b3RlIGNsYXNzPSJibG9ja3F1b3RlIj48cD4KLUNvcHlyaWdodCAoYykgMjAwMC0yMDA1IElOUklBLCBGcmFuY2UgVGVsZWNvbQotQWxsIHJpZ2h0cyByZXNlcnZlZC4KLTwvcD48cD4KLVJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi1hcmUgbWV0OgotPC9wPjxkaXYgY2xhc3M9Im9yZGVyZWRsaXN0Ij48b2wgY2xhc3M9Im9yZGVyZWRsaXN0IiB0eXBlPSIxIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlcnMgbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICA8L3A+PC9saT48L29sPjwvZGl2PjxwPgotVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCi1BTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi1JTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFCi1MSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi1DT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi1JTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLUFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLVRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLTwvcD48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjMuIERPTTRKIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJkMGUzNjExIj48L2E+Mi4zLiBET000SjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gdXNlcyA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9kb200ai5vcmciIHRhcmdldD0iX3RvcCI+RE9NNEo8L2E+LCB3aGljaCBpcwotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBsaWNlbnNlOjwvcD48ZGl2IGNsYXNzPSJibG9ja3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0iYmxvY2txdW90ZSI+PHA+Ci1Db3B5cmlnaHQgMjAwMSAoQykgTWV0YVN0dWZmLCBMdGQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi08L3A+PHA+Ci1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbgotKCJTb2Z0d2FyZSIpLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQKLXRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgotPC9wPjxkaXYgY2xhc3M9Im9yZGVyZWRsaXN0Ij48b2wgY2xhc3M9Im9yZGVyZWRsaXN0IiB0eXBlPSIxIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiBjb3B5cmlnaHQgc3RhdGVtZW50cyBhbmQKLSAgIG5vdGljZXMuIFJlZGlzdHJpYnV0aW9ucyBtdXN0IGFsc28gY29udGFpbiBhIGNvcHkgb2YgdGhpcyBkb2N1bWVudC4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBUaGUgbmFtZSAiRE9NNEoiIG11c3Qgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCi0gICBkZXJpdmVkIGZyb20gdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbgotICAgb2YgTWV0YVN0dWZmLCBMdGQuIEZvciB3cml0dGVuIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0Ci0gICA8Y29kZSBjbGFzcz0iZW1haWwiPiZsdDs8YSBjbGFzcz0iZW1haWwiIGhyZWY9Im1haWx0bzpkb200ai1pbmZvQG1ldGFzdHVmZi5jb20iPmRvbTRqLWluZm9AbWV0YXN0dWZmLmNvbTwvYT4mZ3Q7PC9jb2RlPi4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBQcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBTb2Z0d2FyZSBtYXkgbm90IGJlIGNhbGxlZCAiRE9NNEoiIG5vciBtYXkKLSAgICJET000SiIgYXBwZWFyIGluIHRoZWlyIG5hbWVzIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIG9mCi0gICBNZXRhU3R1ZmYsIEx0ZC4gRE9NNEogaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFyayBvZiBNZXRhU3R1ZmYsIEx0ZC4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBEdWUgY3JlZGl0IHNob3VsZCBiZSBnaXZlbiB0byB0aGUgRE9NNEogUHJvamVjdCAoPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZG9tNGoub3JnLyIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vZG9tNGoub3JnLzwvYT4pLgotICA8L3A+PC9saT48L29sPjwvZGl2PjxwPgotVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBNRVRBU1RVRkYsIExURC4gQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLUFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi1USEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi1QVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBNRVRBU1RVRkYsIExURC4gT1IgSVRTCi1DT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLUVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLVBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgotTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKLU5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi08L3A+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGljZW5zZS5odG1sIj4mIzI1MTQ3OyYjMTI0Mjc7PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4mIzMxNTMyOzEzJiMzMTQ1NjsgJiMxMjUyMTsmIzEyNDUyOyYjMTI0NzU7JiMxMjUzMTsmIzEyNDczOyZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+JiMxMjUwNzsmIzEyNTQwOyYjMTI1MTI7PC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwOzwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9hbmFseXNpc3Byb3BzLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2FuYWx5c2lzcHJvcHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRjZGMzZi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2FuYWx5c2lzcHJvcHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT4mIzMxNTMyOzkmIzMxNDU2OyAmIzIwOTk4OyYjMjY1MTI7JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7PC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc2LjEiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyAmIzEyNTEwOyYjMTI0OTE7JiMxMjUxNzsmIzEyNDUwOyYjMTI1MjM7Ij48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iZmlsdGVyLmh0bWwiIHRpdGxlPSImIzMxNTMyOzgmIzMxNDU2OyAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYW5ub3RhdGlvbnMuaHRtbCIgdGl0bGU9IiYjMzE1MzI7MTAmIzMxNDU2OyAmIzEyNDUwOyYjMTI0OTQ7JiMxMjQ4NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+JiMzMTUzMjs5JiMzMTQ1NjsgJiMyMDk5ODsmIzI2NTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImZpbHRlci5odG1sIj4mIzI1MTQ3OyYjMTI0Mjc7PC9hPiZuYnNwOzwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJhbm5vdGF0aW9ucy5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iJiMzMTUzMjs5JiMzMTQ1NjsgJiMyMDk5ODsmIzI2NTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iYW5hbHlzaXNwcm9wcyI+PC9hPiYjMzE1MzI7OSYjMzE0NTY7ICYjMjA5OTg7JiMyNjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTk7JiMyMDk5ODsmIzI2NTEyOyYjMTIzNzc7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5NTsmIzEyMzU2OyYjMTIzNjc7JiMxMjM4ODsmIzEyMzYzOyYjMTIzOTg7JiMzNTI1MTsmIzI4ODU3OyYjMTI0MzQ7JiMyNTM0NTsmIzEyMzg3OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzgxOyYjMTIzNzU7JiMxMjM5MDsmIzEyMjg5OyYjMzUyNTE7JiMyODg1NzsmIzEyNDM0OyYjMTI0NTk7JiMxMjQ3MzsmIzEyNDc5OyYjMTI1MTA7JiMxMjQ1MjsmIzEyNDc0OyYjMTIzNzU7JiMxMjM5MDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDcxOyYjMTI0NzM7JiMxMjQ4NjsmIzEyNTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOyYjMTI0MzQ7JiMyMDM1MTsmIzEyMzg3OyYjMTIzOTA7JiMxMjI4OTsmIzEyMzgxOyYjMTI0Mjg7JiMxMjQyNTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjM5ODsmIzMxNDU2OyYjMTIzOTE7JiMxMjM5OTsmIzEyMjg5OyYjMjA5OTg7JiMyNjUxMjsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5ODsmIzM1MzczOyYjMjM0NTA7JiMyNjA0MTsmIzI3ODYxOyYjMTI0MzQ7JiMzNTUwMDsmIzI2MTI2OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMjA5OTg7JiMyNjUxMjsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5ODsmIzIwMDI3OyYjMTIzOTQ7JiMzMDQ0NjsmIzMwMzQwOyYjMTIzOTk7JiMxMjI4OTsgMiAmIzEyMzg4OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsxICYjMzAwNTg7JiMzMDQ0NjsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTU7JiMyMzU1MDsmIzEyMzc1OyYjMTIzOTA7JiMyMDk5ODsmIzI2NTEyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMTI0NTA7JiMxMjUwMzsmIzEyNTIyOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyYjMTI1MTM7JiMxMjQ3NzsmIzEyNDgzOyYjMTI0ODk7JiMxMjM5ODsmIzI0ODQ3OyYjMjE2MTk7JiMxMjQzNDsmIzIwMjUzOyYjMTIzNjA7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMxMjM4MTsmIzEyMzU4OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM2NDsmIzEyNDI0OyYjMTI0MjY7JiMyNzQ5MTsmIzMwOTA2OyYjMTIzOTQ7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMyMDk4NjsmIzEyMzc3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyMjg5OyYjMzU0OTI7JiMyNjkwODsmIzIwOTg2OyYjMTI0MzQ7JiMyODE4NzsmIzEyNDI1OyYjMTIzNzc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzIgJiMzMDA1ODsmIzMwNDQ2OyYjMTIzOTU7JiMxMjI4OTsmIzIwOTk4OyYjMjY1MTI7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTg7JiMxMjM5NTsmIzI0NDAzOyYjMTIzODM7JiMxMjQyNjsmIzEyMzgxOyYjMTIzOTg7JiMzMTkzNDsmIzI0MjMwOyYjMTI0MzQ7JiMzNTM3MzsmIzIzNDUwOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDI3OyYjMTI0MjQ7JiMxMjM1ODsmIzEyMzk1OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyMDk5ODsmIzI2NTEyOyYjMTIzOTg7JiMzMTkzNDsmIzI0MjMwOyYjMTI0MzQ7JiMzMzg1MzsmIzEyMzkyOyYjMTIzNzc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjI4OTsmIzEyNTEzOyYjMTI1MTQ7JiMxMjUyMjsmIzIwMzUxOyYjMjk5OTI7JiMzNzMyNzsmIzEyMzkyOyYjMjA5OTg7JiMyNjUxMjsmIzI2MTc4OyYjMzgyOTE7JiMxMjQzNDsmIzI4MTg3OyYjMTI0MjU7JiMxMjM3NzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM4MzsmIzEyMzg0OyYjMTIzNzU7JiMxMjI4OTsmIzI2NDEyOyYjMjQ0MDM7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQzNDsmIzM1MjExOyYjMzY4Njc7JiMxMjM3NTsmIzEyMzgzOyYjMTI0MjY7JiMxMjI4OTsmIzM1NDkyOyYjMjY5MDg7JiMyMDk4NjsmIzEyMzk4OyYjMjU5Njg7JiMxMjM2NDsmIzIyNjc5OyYjMTIzNjA7JiMxMjQyNzsmIzEyMzkyOyYjMTIzNTY7JiMxMjM1ODsmIzIwMTk1OyYjMjA3Njc7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tcHJvcGVydHk8L3N0cm9uZz48L3NwYW4+ICYjMTI0MzQ7JiMyMDM1MTsmIzEyMzg3OyYjMTIzOTA7JiMxMjI4OTsmIzIwOTk4OyYjMjY1MTI7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyNzQyNTsmIzEyMzk1OyYjMTIyODk7JiMyMDM2MzsmIzEyNDM0OyYjMzEwMzQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7OjwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotPGNvZGUgY2xhc3M9InByb21wdCI+JCA8L2NvZGU+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZmluZGJ1Z3MgLXRleHR1aSAtcHJvcGVydHkgImNmZy5ub3BydW5lPXRydWUiIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm15QXBwLmphcjwvY29kZT48L2VtPjwvc3Ryb25nPjwvc3Bhbj4KLTwvcHJlPjxwPgotPC9wPjxwPiYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0Mjc7JiMyMDk5ODsmIzI2NTEyOyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyYjMTk5Njg7JiMzNTIzOTsmIzEyNDM0OyA8YSBjbGFzcz0ieHJlZiIgaHJlZj0iYW5hbHlzaXNwcm9wcy5odG1sI2FuYWx5c2lzcHJvcHRhYmxlIiB0aXRsZT0iJiMzNDkyMDs5LjEgJiMzNTM3MzsmIzIzNDUwOyYjMjE0ODc7JiMzMzAyMTsmIzEyMzk0OyYjMjA5OTg7JiMyNjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsiPiYjMzQ5MjA7OS4xJiMxMjMwMDsmIzM1MzczOyYjMjM0NTA7JiMyMTQ4NzsmIzMzMDIxOyYjMTIzOTQ7JiMyMDk5ODsmIzI2NTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOyYjMTIzMDE7PC9hPiAmIzEyMzk1OyYjMzEwMzQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0idGFibGUiPjxhIG5hbWU9ImFuYWx5c2lzcHJvcHRhYmxlIj48L2E+PHAgY2xhc3M9InRpdGxlIj48Yj4mIzM0OTIwOzkuMSAmIzM1MzczOyYjMjM0NTA7JiMyMTQ4NzsmIzMzMDIxOyYjMTIzOTQ7JiMyMDk5ODsmIzI2NTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOzwvYj48L3A+PGRpdiBjbGFzcz0idGFibGUtY29udGVudHMiPjx0YWJsZSBzdW1tYXJ5PSImIzM1MzczOyYjMjM0NTA7JiMyMTQ4NzsmIzMzMDIxOyYjMTIzOTQ7JiMyMDk5ODsmIzI2NTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOyIgYm9yZGVyPSIxIj48Y29sZ3JvdXA+PGNvbD48Y29sPjxjb2w+PC9jb2xncm91cD48dGhlYWQ+PHRyPjx0aCBhbGlnbj0ibGVmdCI+JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7JiMyMTUxNzs8L3RoPjx0aCBhbGlnbj0ibGVmdCI+JiMzNTM3MzsmIzIzNDUwOyYjMjA1MTY7PC90aD48dGggYWxpZ249ImxlZnQiPiYjMzA0NDY7JiMzMDM0MDs8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+ZmluZGJ1Z3MuYXNzZXJ0aW9ubWV0aG9kczwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNDY3OyYjMTI1MzE7JiMxMjUxMDsmIzIxMzA2OyYjMjA5OTk7JiMxMjQyNjsmIzEyMzk4OyYjMjM0MzY7JiMyMDg0MDsmIzIwNDYyOyYjMzkxNjY7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzIxNTE3OyYjMTI1MjI7JiMxMjQ3MzsmIzEyNDg4OyA6ICYjMjAzNjM7JiMxMjI4OTsgImNvbS5mb28uTXlDbGFzcy5jaGVja0Fzc2VydGlvbiI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjM3MTsmIzEyMzk4OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDY0OyYjMTI1MjE7JiMxMjUxMjsmIzEyMzY0OyYjMjc0OTE7JiMxMjM3NTsmIzEyMzU2OyYjMTIzNzE7JiMxMjM5MjsmIzEyNDM0OyYjMTI0ODE7JiMxMjQ1NTsmIzEyNDgzOyYjMTI0NjM7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODM7JiMxMjQxNzsmIzEyMzk1OyYjMjAzNTE7JiMxMjQzMTsmIzEyNDI4OyYjMTI0Mjc7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjQyODsmIzEyNDI1OyYjMTIzOTg7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjI4OTsgJiMxMjQ4MTsmIzEyNDU1OyYjMTI0ODM7JiMxMjQ2MzsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIzOTE7JiMzMDkwNjsmIzM1NDY5OyYjMTIzNzU7JiMxMjM4MzsmIzIwNTE2OyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc3OyYjMTI0Mjc7IG51bGwgJiMyMTQ0MjsmIzI5MDMxOyYjMTI0NTA7JiMxMjQ2MzsmIzEyNDc1OyYjMTI0NzM7JiMxMjQ4NzsmIzEyNDUxOyYjMTI0ODY7JiMxMjQ2MzsmIzEyNDc5OyYjMTIzOTg7JiMzNTQ5MjsmIzI2OTA4OyYjMjA5ODY7JiMxMjQzNDsmIzIyMjM4OyYjMzY5OTE7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5maW5kYnVncy5kZS5jb21tZW50PC90ZD48dGQgYWxpZ249ImxlZnQiPnRydWUgJiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7IGZhbHNlPC90ZD48dGQgYWxpZ249ImxlZnQiPnRydWUgJiMxMjM5NTsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsgRHJvcHBlZEV4Y2VwdGlvbiAoJiMyODk2MTsmIzM1MjIyOyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMjAzNjM7JiMyMjgwNjspICYjMTI0ODc7JiMxMjQ1MTsmIzEyNDg2OyYjMTI0NjM7JiMxMjQ3OTsmIzEyMzk5OyYjMzEzNTQ7JiMxMjM5ODsgY2F0Y2ggJiMxMjUwMjsmIzEyNTI1OyYjMTI0ODM7JiMxMjQ2MzsgJiMxMjM5NTsmIzEyNDY3OyYjMTI1MTM7JiMxMjUzMTsmIzEyNDg4OyYjMTIzNjQ7JiMyODk2MTsmIzEyMzU2OyYjMTIzNjM7JiMyNTUwNjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzODE7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMxMjQ2NzsmIzEyNTEzOyYjMTI1MzE7JiMxMjQ4ODsmIzEyMzY0OyYjMTI0MTU7JiMxMjM4ODsmIzEyMzYzOyYjMTIzODc7JiMxMjM4MzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5NTsmIzEyMzk5OyYjMzU2ODY7JiMyMTU3ODsmIzEyMzY0OyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+ZmluZGJ1Z3MubWFza2VkZmllbGRzLmxvY2FsczwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij50cnVlICYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyBmYWxzZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij50cnVlICYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMxMjUwMTsmIzEyNDUxOyYjMTI1NDA7JiMxMjUyMzsmIzEyNDg5OyYjMTI0MzQ7JiMzODU2MDsmIzM0MTA5OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjUyNTsmIzEyNTQwOyYjMTI0NTk7JiMxMjUyMzsmIzIyNzkzOyYjMjU5Njg7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzU7JiMxMjM5MDsmIzIwNzc4OyYjMjA4MDg7JiMyNDIzMDsoJiMyMDMwMjspJiMxMjM5ODsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM2NDsmIzMwMzMwOyYjMzQ4OTI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzk5OyYjMTIyODk7IGZhbHNlICYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5maW5kYnVncy5udWxsZGVyZWYuYXNzdW1lbnNwPC90ZD48dGQgYWxpZ249ImxlZnQiPnRydWUgJiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7IGZhbHNlPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjAzNTE7JiMyOTk5MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDsgKCYjMjQ4NDc7JiMyMjI1OTsgOiB0cnVlICYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7bnVsbCAmIzIxNDQyOyYjMjkwMzE7JiMxMjQ1MDsmIzEyNDYzOyYjMTI0NzU7JiMxMjQ3MzsmIzEyNDg3OyYjMTI0NTE7JiMxMjQ4NjsmIzEyNDYzOyYjMTI0Nzk7JiMxMjM5OTsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIzNjM7JiMxMjQyNTsmIzEyMzk4OyYjMjUxNDc7JiMxMjQyNjsmIzIwNTE2OyYjMTIyODk7JiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7JiMxMjI4OTsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIzOTU7JiMyMTQ2MzsmIzEyMzY5OyYjMjgxOTM7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMyNDM0MTsmIzI1OTY4OyYjMTI0MzQ7IG51bGwgJiMxMjM5MTsmIzEyMzU0OyYjMTI0Mjc7JiMxMjM5MjsmIzIwMjA2OyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMxMjM5OTsmIzEyMjg5OyBmYWxzZSAmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTIzOTg7JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7JiMxMjQzNDsmIzI2Mzc3OyYjMjExNzc7JiMxMjM5NTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMjI4MjM7JiMzNzMyNzsmIzEyMzk4OyYjMzU0OTI7JiMyNjkwODsmIzIwOTg2OyYjMTIzNjQ7JiMyOTk4MzsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMTIzOTE7JiMxMjM1NDsmIzEyNDI5OyYjMTIzNTg7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTU7JiMyNzg4MDsmIzI0ODQ3OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7KTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5maW5kYnVncy5yZWZjb21wLnJlcG9ydEFsbDwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij50cnVlICYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyBmYWxzZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij50cnVlICYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7ICA9PSAmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgIT0gJiMyODQzNjsmIzMxNjM5OyYjMjMzNzY7JiMxMjQzNDsmIzIwMzUxOyYjMTIzODc7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMzMDA5NzsmIzEyNDMxOyYjMTIzNzU7JiMxMjM1NjsmIzIxNDQyOyYjMjkwMzE7JiMyNzYwNDsmIzM2NjExOyYjMTIzNjQ7JiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsgZmFsc2UgJiMxMjM5NTsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsmIzIxNTE2OyYjMjcwOTY7JiMxMjM5ODsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5OTsgMSAmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIzOTU7JiMxMjM4ODsmIzEyMzY1OyAxICYjMTIzODg7JiMxMjM3NTsmIzEyMzYzOyYjMzAzMzA7JiMzNDg5MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDsmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMxMjM5OTsmIzEyMjg5OyBmYWxzZSAmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+ZmluZGJ1Z3Muc2YuY29tbWVudDwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij50cnVlICYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyBmYWxzZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij50cnVlICYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7IFN3aXRjaEZhbGx0aHJvdWdoICYjMTI0ODc7JiMxMjQ1MTsmIzEyNDg2OyYjMTI0NjM7JiMxMjQ3OTsmIzEyMzk5OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTI0Njc7JiMxMjU0MDsmIzEyNDg5OyYjMTIzOTU7JiMxMjMwMDtmYWxsJiMxMjMwMTsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyMzAwO25vYnJlYWsmIzEyMzAxOyYjMTIzOTI7JiMxMjM1NjsmIzEyMzU4OyYjMjEzMzY7JiMzNTQ4NjsmIzEyNDM0OyYjMjE1NDc7JiMxMjQzNTsmIzEyMzg0OyYjMTI0Njc7JiMxMjUxMzsmIzEyNTMxOyYjMTI0ODg7JiMxMjQzNDsmIzM1MzUyOyYjMzY2MTc7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjM5NDsmIzEyMzU2OyBjYXNlJiMxMjUyMTsmIzEyNTA1OyYjMTI1MjM7ICYjMTIzOTU7JiMzODQ4MDsmIzEyNDI2OyYjMzU2ODY7JiMyMTU3ODsmIzEyNDM0OyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOygmIzEyMzcxOyYjMTIzOTg7JiMyNzIzMTsmIzMzMDIxOyYjMTIzNjQ7JiMyNzQ5MTsmIzEyMzc1OyYjMTIzNjc7JiMyMTIwNTsmIzIwMzE2OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzgzOyYjMTI0MTc7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7JiMyNzQ5MTsmIzMwOTA2OyYjMTIzOTQ7JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjQ5NzsmIzEyNDczOyYjMTIzNjQ7JiMyNDUxNzsmIzM1MjAxOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOykgJiMxMjM3MTsmIzEyNDI4OyYjMTIzOTU7JiMxMjQyNDsmIzEyNDI2OyYjMTIyODk7JiMyNDg0NzsmIzIyMjU5OyYjMzAzNDA7JiMxMjM5MTsmIzEyMzk5OyYjMTIzOTQ7JiMxMjM1Njsgc3dpdGNoICYjMjU5OTE7JiMxMjM5ODsgZmFsbHRocm91Z2ggJiMxMjQzNDsmIzMwMzMwOyYjMzUyMTE7JiMxMjM3NTsmIzI2MTMxOyYjMTIzNjc7JiMxMjM5NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJ0YWJsZS1icmVhayI+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJmaWx0ZXIuaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYW5ub3RhdGlvbnMuaHRtbCI+JiMyNzQyNTsmIzEyNDA4OzwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPiYjMzE1MzI7OCYjMzE0NTY7ICYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+JiMxMjUwNzsmIzEyNTQwOyYjMTI1MTI7PC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwOyYjMzE1MzI7MTAmIzMxNDU2OyAmIzEyNDUwOyYjMTI0OTQ7JiMxMjQ4NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOzwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9hbm5vdGF0aW9ucy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9hbm5vdGF0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTQ0Y2M2Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvYW5ub3RhdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+JiMzMTUzMjsxMCYjMzE0NTY7ICYjMTI0NTA7JiMxMjQ5NDsmIzEyNDg2OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7PC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc2LjEiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyAmIzEyNTEwOyYjMTI0OTE7JiMxMjUxNzsmIzEyNDUwOyYjMTI1MjM7Ij48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iYW5hbHlzaXNwcm9wcy5odG1sIiB0aXRsZT0iJiMzMTUzMjs5JiMzMTQ1NjsgJiMyMDk5ODsmIzI2NTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOyI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJyZWphckZvckFuYWx5c2lzLmh0bWwiIHRpdGxlPSImIzMxNTMyOzExJiMzMTQ1NjsgcmVqYXJGb3JBbmFseXNpcyAmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj4mIzMxNTMyOzEwJiMzMTQ1NjsgJiMxMjQ1MDsmIzEyNDk0OyYjMTI0ODY7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTs8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCI+JiMyNzQyNTsmIzEyNDA4OzwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IiYjMzE1MzI7MTAmIzMxNDU2OyAmIzEyNDUwOyYjMTI0OTQ7JiMxMjQ4NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iYW5ub3RhdGlvbnMiPjwvYT4mIzMxNTMyOzEwJiMzMTQ1NjsgJiMxMjQ1MDsmIzEyNDk0OyYjMTI0ODY7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTk7JiMxMjM1NjsmIzEyMzY3OyYjMTIzODg7JiMxMjM2MzsmIzEyMzk4OyYjMTI0NTA7JiMxMjQ5NDsmIzEyNDg2OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzEyNDY5OyYjMTI1MDk7JiMxMjU0MDsmIzEyNDg4OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMzgyODM7JiMzMDMzMDsmIzMyNzczOyYjMTIzOTg7JiMyNDg0NzsmIzIyMjU5OyYjMTI0MzQ7JiMyNjEyNjsmIzMwOTA2OyYjMTIzOTU7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIyODk7IEZpbmRCdWdzICYjMTIzOTk7JiMxMjQyNDsmIzEyNDI2OyYjMzAzNDA7JiMzMDkwNjsmIzEyMzk1OyYjMzU2ODY7JiMyMTU3ODsmIzEyNDM0OyYjMzAzMzA7JiMzNDg5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0NTA7JiMxMjQ5NDsmIzEyNDg2OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODM7JiMxMjQxNzsmIzEyMzk1OyYjMTIzOTk7IEphdmEgNSAmIzEyMzY0OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzkxOyYjMTIzNTQ7JiMxMjQyNjsmIzEyMjg5OyBhbm5vdGF0aW9ucy5qYXIgJiMxMjM2MjsmIzEyNDI0OyYjMTI0MDM7IGpzcjMwNS5qYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMTI0Njc7JiMxMjUzMTsmIzEyNDk3OyYjMTI0NTI7JiMxMjUyMzsmIzI2MTc4OyYjMTIzOTg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQ5NzsmIzEyNDczOyYjMTIzOTU7JiMyMTU0NzsmIzEyNDE3OyYjMTI0Mjc7JiMyNDUxNzsmIzM1MjAxOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuQ2hlY2tGb3JOdWxsPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bVGFyZ2V0XTwvc3Ryb25nPjwvc3Bhbj4gRmllbGQsIE1ldGhvZCwgUGFyYW1ldGVyCi0gICAgPHA+JiMxMjQ1MDsmIzEyNDk0OyYjMTI0ODY7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMTIzODg7JiMxMjM2OTsmIzEyMzgzOyYjMzUyMDE7JiMzMjAzMjsmIzEyMzk5OyYjMTIyODk7IG51bGwgJiMxMjM5MTsmIzEyMzU0OyYjMTI0Mjc7JiMyMTQ4NzsmIzMzMDIxOyYjMjQ2MTU7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3NTsmIzEyMzgzOyYjMTIzNjQ7JiMxMjM4NzsmIzEyMzkwOyYjMTIyODk7JiMyNDQwMzsmIzM1NDQyOyYjMzUyMDE7JiMzMjAzMjsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMzODU1NTsmIzEyMzk5OyBudWxsICYjMTI0ODE7JiMxMjQ1NTsmIzEyNDgzOyYjMTI0NjM7JiMxMjQzNDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQwOTsmIzEyMzY1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjM5ODsmIzEyNDUwOyYjMTI0OTQ7JiMxMjQ4NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyMzk1OyYjMzY5Njk7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMTI1MTM7JiMxMjQ3NzsmIzEyNDgzOyYjMTI0ODk7JiMxMjM5ODsmIzI1MTQ3OyYjMTI0MjY7JiMyMDUxNjsmIzEyMzk1OyYjMzY5Njk7JiMyOTk5MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkNoZWNrUmV0dXJuVmFsdWU8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBNZXRob2QsIENvbnN0cnVjdG9yCi0gICAgPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bUGFyYW1ldGVyXTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnByaW9yaXR5Ojwvc3Ryb25nPjwvc3Bhbj4gJiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7IChISUdILCBNRURJVU0sIExPVywgSUdOT1JFKSAmIzEyMjkwOyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzIwNTE2OyA6TUVESVVNJiMxMjI5MDs8L3A+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmV4cGxhbmF0aW9uOjwvc3Ryb25nPjwvc3Bhbj4mIzI1MTQ3OyYjMTI0MjY7JiMyMDUxNjsmIzEyNDM0OyYjMTI0ODE7JiMxMjQ1NTsmIzEyNDgzOyYjMTI0NjM7JiMxMjM3NTsmIzEyMzk0OyYjMTIzNjk7JiMxMjQwMDsmIzEyMzk0OyYjMTI0MjU7JiMxMjM5NDsmIzEyMzU2OyYjMjk3MDI7JiMzMDAwMTsmIzEyNDM0OyYjMTI0ODY7JiMxMjQ2MTsmIzEyNDczOyYjMTI0ODg7JiMxMjM5MTsmIzM1NTAwOyYjMjYxMjY7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMyMDUxNjsgOiIiJiMxMjI5MDs8L3A+PC9kZD48L2RsPjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDUwOyYjMTI0OTQ7JiMxMjQ4NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMjg5OyYjMjE2Mjg7JiMyMDk4NjsmIzEyMzc1OyYjMjQ0NjA7JiMxMjM5NTsmIzI1MTQ3OyYjMTI0MjY7JiMyMDUxNjsmIzEyNDM0OyYjMTI0ODE7JiMxMjQ1NTsmIzEyNDgzOyYjMTI0NjM7JiMxMjM3NzsmIzEyNDA5OyYjMTIzNjU7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyNDM0OyYjMzQ5MjA7JiMxMjM3NzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkRlZmF1bHRBbm5vdGF0aW9uPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bVGFyZ2V0XTwvc3Ryb25nPjwvc3Bhbj4gVHlwZSwgUGFja2FnZQotICAgIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1BhcmFtZXRlcl08L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz52YWx1ZTo8L3N0cm9uZz48L3NwYW4+JiMxMjQ1MDsmIzEyNDk0OyYjMTI0ODY7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk4O2NsYXNzJiMxMjQ1ODsmIzEyNTAyOyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjI5MDsmIzM1MDc5OyYjMjU5Njg7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cHJpb3JpdHk6PC9zdHJvbmc+PC9zcGFuPiYjMzA0NjU7JiMzMDA1MzsmIzI2MTc4OyYjMTIzOTg7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7IChISUdILCBNRURJVU0sIExPVywgSUdOT1JFKSAmIzEyMjkwOyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzIwNTE2OyA6TUVESVVNJiMxMjI5MDs8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotSW5kaWNhdGVzIHRoYXQgYWxsIG1lbWJlcnMgb2YgdGhlIGNsYXNzIG9yIHBhY2thZ2Ugc2hvdWxkIGJlIGFubm90YXRlZCB3aXRoIHRoZSBkZWZhdWx0Ci12YWx1ZSBvZiB0aGUgc3VwcGxpZWQgYW5ub3RhdGlvbiBjbGFzc2VzLiBUaGlzIHdvdWxkIGJlIHVzZWQgZm9yIGJlaGF2aW9yIGFubm90YXRpb25zCi1zdWNoIGFzIEBOb25OdWxsLCBAQ2hlY2tGb3JOdWxsLCBvciBAQ2hlY2tSZXR1cm5WYWx1ZS4gSW4gcGFydGljdWxhciwgeW91IGNhbiB1c2UKLUBEZWZhdWx0QW5ub3RhdGlvbihOb25OdWxsLmNsYXNzKSBvbiBhIGNsYXNzIG9yIHBhY2thZ2UsIGFuZCB0aGVuIHVzZSBATnVsbGFibGUgb25seQotb24gdGhvc2UgcGFyYW1ldGVycywgbWV0aG9kcyBvciBmaWVsZHMgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBiZSBudWxsLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkRlZmF1bHRBbm5vdGF0aW9uRm9yRmllbGRzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bVGFyZ2V0XTwvc3Ryb25nPjwvc3Bhbj4gVHlwZSwgUGFja2FnZQotICAgIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1BhcmFtZXRlcl08L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz52YWx1ZTo8L3N0cm9uZz48L3NwYW4+JiMxMjQ1MDsmIzEyNDk0OyYjMTI0ODY7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk4O2NsYXNzJiMxMjQ1ODsmIzEyNTAyOyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjI5MDsmIzM1MDc5OyYjMjU5Njg7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cHJpb3JpdHk6PC9zdHJvbmc+PC9zcGFuPiYjMzA0NjU7JiMzMDA1MzsmIzI2MTc4OyYjMTIzOTg7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7IChISUdILCBNRURJVU0sIExPVywgSUdOT1JFKSAmIzEyMjkwOyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzIwNTE2OyA6TUVESVVNJiMxMjI5MDs8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotVGhpcyBpcyBzYW1lIGFzIHRoZSBEZWZhdWx0QW5ub3RhdGlvbiBleGNlcHQgaXQgb25seSBhcHBseXMgdG8gZmllbGRzLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkRlZmF1bHRBbm5vdGF0aW9uRm9yTWV0aG9kczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1RhcmdldF08L3N0cm9uZz48L3NwYW4+IFR5cGUsIFBhY2thZ2UKLSAgICA8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltQYXJhbWV0ZXJdPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dmFsdWU6PC9zdHJvbmc+PC9zcGFuPiYjMTI0NTA7JiMxMjQ5NDsmIzEyNDg2OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5ODtjbGFzcyYjMTI0NTg7JiMxMjUwMjsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMTIyOTA7JiMzNTA3OTsmIzI1OTY4OyYjMTIzOTg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnByaW9yaXR5Ojwvc3Ryb25nPjwvc3Bhbj4mIzMwNDY1OyYjMzAwNTM7JiMyNjE3ODsmIzEyMzk4OyYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyAoSElHSCwgTUVESVVNLCBMT1csIElHTk9SRSkgJiMxMjI5MDsmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMyMDUxNjsgOk1FRElVTSYjMTIyOTA7PC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KLVRoaXMgaXMgc2FtZSBhcyB0aGUgRGVmYXVsdEFubm90YXRpb24gZXhjZXB0IGl0IG9ubHkgYXBwbHlzIHRvIG1ldGhvZHMuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuRGVmYXVsdEFubm90YXRpb25Gb3JQYXJhbWV0ZXJzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bVGFyZ2V0XTwvc3Ryb25nPjwvc3Bhbj4gVHlwZSwgUGFja2FnZQotICAgIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1BhcmFtZXRlcl08L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz52YWx1ZTo8L3N0cm9uZz48L3NwYW4+JiMxMjQ1MDsmIzEyNDk0OyYjMTI0ODY7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk4O2NsYXNzJiMxMjQ1ODsmIzEyNTAyOyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjI5MDsmIzM1MDc5OyYjMjU5Njg7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cHJpb3JpdHk6PC9zdHJvbmc+PC9zcGFuPiYjMzA0NjU7JiMzMDA1MzsmIzI2MTc4OyYjMTIzOTg7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7IChISUdILCBNRURJVU0sIExPVywgSUdOT1JFKSAmIzEyMjkwOyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzIwNTE2OyA6TUVESVVNJiMxMjI5MDs8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotVGhpcyBpcyBzYW1lIGFzIHRoZSBEZWZhdWx0QW5ub3RhdGlvbiBleGNlcHQgaXQgb25seSBhcHBseXMgdG8gbWV0aG9kIHBhcmFtZXRlcnMuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuTm9uTnVsbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1RhcmdldF08L3N0cm9uZz48L3NwYW4+IEZpZWxkLCBNZXRob2QsIFBhcmFtZXRlcgotICAgIDxwPiYjMTI0NTA7JiMxMjQ5NDsmIzEyNDg2OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzEyMzg4OyYjMTIzNjk7JiMxMjM4MzsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5OTsmIzEyMjg5OyBudWxsICYjMTIzOTE7JiMxMjM1NDsmIzEyMzg3OyYjMTIzOTA7JiMxMjM5OTsmIzEyMzU2OyYjMTIzNjk7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDsmIzEyNDUwOyYjMTI0OTQ7JiMxMjQ4NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMxMjM4ODsmIzEyMzY5OyYjMTIzODM7JiMxMjUwMTsmIzEyNDUxOyYjMTI1NDA7JiMxMjUyMzsmIzEyNDg5OyYjMTIzOTk7JiMxMjI4OTsmIzI3MDgzOyYjMzE2ODk7JiMyMzQzNjsmIzIwMTAyOyYjMjQ0NjA7IG51bGwgJiMxMjM5MTsmIzEyMzU0OyYjMTIzODc7JiMxMjM5MDsmIzEyMzk5OyYjMTIzNTY7JiMxMjM2OTsmIzEyNDE0OyYjMTIzNzk7JiMxMjQzNTsmIzEyMjkwOyYjMTI0NTA7JiMxMjQ5NDsmIzEyNDg2OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzEyMzg4OyYjMTIzNjk7JiMxMjM4MzsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIzOTk7JiMxMjI4OTsgbnVsbCAmIzEyMzkxOyYjMTIzOTk7JiMxMjM5NDsmIzEyMzU2OyYjMjA1MTY7JiMxMjQzNDsmIzI1MTQ3OyYjMTI0MjY7JiMyMDUxNjsmIzEyMzkyOyYjMTIzNzU7JiMxMjM5NDsmIzEyMzY5OyYjMTI0Mjg7JiMxMjQwMDsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuTnVsbGFibGU8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8cD4mIzEyNDUwOyYjMTI0OTQ7JiMxMjQ4NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMxMjM4ODsmIzEyMzY5OyYjMTIzODM7JiMzNTIwMTsmIzMyMDMyOyYjMTIzOTk7JiMxMjI4OTsgbnVsbCAmIzEyMzkxOyYjMTIzNTQ7JiMxMjM4NzsmIzEyMzkwOyYjMTIzOTk7JiMxMjM1NjsmIzEyMzY5OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OyYjMTIyOTA7SW4gZ2VuZXJhbCwgdGhpcyBtZWFucyBkZXZlbG9wZXJzIHdpbGwgaGF2ZSB0byByZWFkIHRoZSBkb2N1bWVudGF0aW9uIHRvIGRldGVybWluZSB3aGVuIGEgbnVsbCB2YWx1ZSBpcyBhY2NlcHRhYmxlIGFuZCB3aGV0aGVyIGl0IGlzIG5lY2Nlc3NhcnkgdG8gY2hlY2sgZm9yIGEgbnVsbCB2YWx1ZS4gRmluZEJ1Z3Mgd2lsbCB0cmVhdCB0aGUgYW5ub3RhdGVkIGl0ZW1zIGFzIHRob3VnaCB0aGV5IGhhZCBubyBhbm5vdGF0aW9uLjwvcD48cD4KLUluIHByYXRpY2UgdGhpcyBhbm5vdGF0aW9uIGlzIHVzZWZ1bCBvbmx5IGZvciBvdmVycmlkaW5nIGFuIG92ZXJhcmNoaW5nIE5vbk51bGwKLWFubm90YXRpb24uCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuT3ZlcnJpZGVNdXN0SW52b2tlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bVGFyZ2V0XTwvc3Ryb25nPjwvc3Bhbj4gTWV0aG9kCi0gICAgPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bUGFyYW1ldGVyXTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnZhbHVlOjwvc3Ryb25nPjwvc3Bhbj5TcGVjaWZ5IHdoZW4gdGhlIHN1cGVyIGludm9jYXRpb24gc2hvdWxkIGJlCi0gICAgICAgICAgICAgIHBlcmZvcm1lZCAoRklSU1QsIEFOWVRJTUUsIExBU1QpLiBEZWZhdWx0IHZhbHVlOkFOWVRJTUUuCi0gICAgICAgICAgICA8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotVXNlZCB0byBhbm5vdGF0ZSBhIG1ldGhvZCB0aGF0LCBpZiBvdmVycmlkZGVuLCBtdXN0IChvciBzaG91bGQpIGJlIGludm9rZSBzdXBlcgotaW4gdGhlIG92ZXJyaWRpbmcgbWV0aG9kLiBFeGFtcGxlcyBvZiBzdWNoIG1ldGhvZHMgaW5jbHVkZSBmaW5hbGl6ZSgpIGFuZCBjbG9uZSgpLgotVGhlIGFyZ3VtZW50IHRvIHRoZSBtZXRob2QgaW5kaWNhdGVzIHdoZW4gdGhlIHN1cGVyIGludm9jYXRpb24gc2hvdWxkIG9jY3VyOgotYXQgYW55IHRpbWUsIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG92ZXJyaWRpbmcgbWV0aG9kLCBvciBhdCB0aGUgZW5kIG9mIHRoZSBvdmVycmlkaW5nIG1ldGhvZC4KLShUaGlzIGFub3RhdGlvbiBpcyBub3QgaW1wbG1lbWVudGVkIGluIEZpbmRCdWdzIGFzIG9mIFNlcHRlbWJlciA4LCAyMDA2KS4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5Qb3NzaWJseU51bGw8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotVGhpcyBhbm5vdGF0aW9uIGlzIGRlcHJlY2F0ZWQuIFVzZSBDaGVja0Zvck51bGwgaW5zdGVhZC4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5TdXBwcmVzc1dhcm5pbmdzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bVGFyZ2V0XTwvc3Ryb25nPjwvc3Bhbj4gVHlwZSwgRmllbGQsIE1ldGhvZCwgUGFyYW1ldGVyLCBDb25zdHJ1Y3RvciwgUGFja2FnZQotICAgIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1BhcmFtZXRlcl08L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz52YWx1ZTo8L3N0cm9uZz48L3NwYW4+VGhlIG5hbWUgb2YgdGhlIHdhcm5pbmcuIE1vcmUgdGhhbiBvbmUgbmFtZSBjYW4gYmUgc3BlY2lmaWVkLgotICAgICAgICAgICAgPC9wPjxwPgotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5qdXN0aWZpY2F0aW9uOjwvc3Ryb25nPjwvc3Bhbj5SZWFzb24gd2h5IHRoZSB3YXJuaW5nIHNob3VsZCBiZSBpZ25vcmVkLiAmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMyMDUxNjsgOiIiJiMxMjI5MDs8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotVGhlIHNldCBvZiB3YXJuaW5ncyB0aGF0IGFyZSB0byBiZSBzdXBwcmVzc2VkIGJ5IHRoZSBjb21waWxlciBpbiB0aGUgYW5ub3RhdGVkIGVsZW1lbnQuCi1EdXBsaWNhdGUgbmFtZXMgYXJlIHBlcm1pdHRlZC4gIFRoZSBzZWNvbmQgYW5kIHN1Y2Nlc3NpdmUgb2NjdXJyZW5jZXMgb2YgYSBuYW1lIGFyZSBpZ25vcmVkLgotVGhlIHByZXNlbmNlIG9mIHVucmVjb2duaXplZCB3YXJuaW5nIG5hbWVzIGlzIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPm5vdDwvZW0+PC9zcGFuPiBhbiBlcnJvcjogQ29tcGlsZXJzCi1tdXN0IGlnbm9yZSBhbnkgd2FybmluZyBuYW1lcyB0aGV5IGRvIG5vdCByZWNvZ25pemUuIFRoZXkgYXJlLCBob3dldmVyLCBmcmVlIHRvIGVtaXQgYQotd2FybmluZyBpZiBhbiBhbm5vdGF0aW9uIGNvbnRhaW5zIGFuIHVucmVjb2duaXplZCB3YXJuaW5nIG5hbWUuIENvbXBpbGVyIHZlbmRvcnMgc2hvdWxkCi1kb2N1bWVudCB0aGUgd2FybmluZyBuYW1lcyB0aGV5IHN1cHBvcnQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGlzIGFubm90YXRpb24gdHlwZS4gVGhleQotYXJlIGVuY291cmFnZWQgdG8gY29vcGVyYXRlIHRvIGVuc3VyZSB0aGF0IHRoZSBzYW1lIG5hbWVzIHdvcmsgYWNyb3NzIG11bHRpcGxlIGNvbXBpbGVycy4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5Vbmtub3duTnVsbG5lc3M8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8cD4KLVVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgbnVsbG5lc3Mgb2YgdGhlIHRhcmdldCBpcyB1bmtub3duLCBvciBteSB2YXJ5IGluIHVua25vd24gd2F5cyBpbiBzdWJjbGFzc2VzLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLlVua25vd25OdWxsbmVzczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1RhcmdldF08L3N0cm9uZz48L3NwYW4+IEZpZWxkLCBNZXRob2QsIFBhcmFtZXRlcgotICAgIDxwPgotVXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBudWxsbmVzcyBvZiB0aGUgdGFyZ2V0IGlzIHVua25vd24sIG9yIG15IHZhcnkgaW4gdW5rbm93biB3YXlzIGluIHN1YmNsYXNzZXMuCi0gICAgICA8L3A+PC9kZD48L2RsPjwvZGl2PjxwPiYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTI0NTA7JiMxMjQ5NDsmIzEyNDg2OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQxODsmIzEyNDY5OyYjMTI1MDk7JiMxMjU0MDsmIzEyNDg4OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyA6PC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPm5ldC5qY2lwLmFubm90YXRpb25zLkd1YXJkZWRCeTwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+bmV0LmpjaXAuYW5ub3RhdGlvbnMuSW1tdXRhYmxlPC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj5uZXQuamNpcC5hbm5vdGF0aW9ucy5Ob3RUaHJlYWRTYWZlPC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj5uZXQuamNpcC5hbm5vdGF0aW9ucy5UaHJlYWRTYWZlPC9saT48L3VsPjwvZGl2PjxwPgotPC9wPjxwPjxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2pjaXAubmV0LyIgdGFyZ2V0PSJfdG9wIj5KYXZhIENvbmN1cnJlbmN5IGluIFByYWN0aWNlPC9hPiAmIzEyMzk4OyA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9qY2lwLm5ldC9hbm5vdGF0aW9ucy9kb2MvaW5kZXguaHRtbCIgdGFyZ2V0PSJfdG9wIj4gQVBJICYjMTI0ODk7JiMxMjQ2MTsmIzEyNTE3OyYjMTI1MTM7JiMxMjUzMTsmIzEyNDg4OzwvYT4gJiMxMjQzNDsmIzIxNDQyOyYjMjkwMzE7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDs8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCI+JiMyNzQyNTsmIzEyNDA4OzwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPiYjMzE1MzI7OSYjMzE0NTY7ICYjMjA5OTg7JiMyNjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPiYjMTI1MDc7JiMxMjU0MDsmIzEyNTEyOzwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDsmIzMxNTMyOzExJiMzMTQ1NjsgcmVqYXJGb3JBbmFseXNpcyAmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2FudHRhc2suaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvYW50dGFzay5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTkwMTllLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvYW50dGFzay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT4mIzMxNTMyOzYmIzMxNDU2OyBGaW5kQnVncyYjODQ4MjsgQW50ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJndWkuaHRtbCIgdGl0bGU9IiYjMzE1MzI7NSYjMzE0NTY7IEZpbmRCdWdzIEdVSSAmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7Ij48bGluayByZWw9Im5leHQiIGhyZWY9ImVjbGlwc2UuaHRtbCIgdGl0bGU9IiYjMzE1MzI7NyYjMzE0NTY7IEZpbmRCdWdzJiM4NDgyOyBFY2xpcHNlICYjMTI1MDM7JiMxMjUyMTsmIzEyNDY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj4mIzMxNTMyOzYmIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJndWkuaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZWNsaXBzZS5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iJiMzMTUzMjs2JiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7IEFudCAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJhbnR0YXNrIj48L2E+JiMzMTUzMjs2JiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPiYjMzA0NDY7JiMyNzQyNTs8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJhbnR0YXNrLmh0bWwjZDBlMTE3MyI+MS4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFudHRhc2suaHRtbCNkMGUxMjA5Ij4yLiBidWlsZC54bWwgJiMxMjM5ODsmIzI2MzYwOyYjMTIzNjU7JiMyNjA0MTs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYW50dGFzay5odG1sI2QwZTEyNzgiPjMuICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJhbnR0YXNrLmh0bWwjZDBlMTMwMyI+NC4gJiMxMjQ5NzsmIzEyNTIxOyYjMTI1MTM7JiMxMjU0MDsmIzEyNDc5OyYjMTI1NDA7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kaXY+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMzE0NTY7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0MzQ7IDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2FudC5hcGFjaGUub3JnLyIgdGFyZ2V0PSJfdG9wIj48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj48L2E+ICYjMTIzOTg7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTIzOTU7JiMzMjA2ODsmIzEyNDE1OyYjMjA4Mzc7JiMxMjQyODsmIzEyNDI3OyYjMjYwNDE7JiMyNzg2MTsmIzEyMzk1OyYjMTIzODg7JiMxMjM1NjsmIzEyMzkwOyYjMzU1MDA7JiMyNjEyNjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy8iIHRhcmdldD0iX3RvcCI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+PC9hPiAmIzEyMzk5OyYjMTIyODk7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjQyMDsmIzM3MTk3OyYjMjA2MzM7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTg7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0Mjc7IEphdmEgJiMxMjM5MTsmIzEyNDI0OyYjMTIzNjc7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMTI0ODQ7JiMxMjU0MDsmIzEyNTIzOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyAmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsmIzEyNDczOyYjMTI0NjM7JiMxMjUyMjsmIzEyNTAzOyYjMTI0ODg7JiMxMjQzNDsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3NTsmIzEyMzkwOyYjMjcyMzE7JiMyNjgwMDsmIzMwMzQwOyYjMTIzOTU7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTU7JiMxMjQyNDsmIzEyNDI3OyBKYXZhICYjMTI0Njc7JiMxMjU0MDsmIzEyNDg5OyYjMTIzOTg7JiMyMDk5ODsmIzI2NTEyOyYjMTI0MzQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTIzNzE7JiMxMjM5ODsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTk7JiMxMjI4OTsgTWlrZSBGYWdhbiAmIzI3NjYzOyYjMTIzOTg7JiMyMjgxMDsmIzIyODIzOyYjMTIzOTQ7JiMzNjAwMjsmIzI5NDg2OyYjMTIzOTU7JiMxMjQyNDsmIzEyNDI3OyYjMTI0MTg7JiMxMjM5ODsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiBBbnQgJiMxMjQ3OTsmIzEyNDczOyYjMTI0NjM7JiMxMjM5ODsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1NDA7JiMxMjUyMzsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTE3MyI+PC9hPjEuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiRGSU5EQlVHU19IT01FPC9jb2RlPjwvZW0+L2xpYi9maW5kYnVncy1hbnQuamFyPC9jb2RlPiAmIzEyNDM0OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gJiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk4Ozxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bGliPC9jb2RlPiAmIzEyNDY5OyYjMTI1MDI7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk1OyYjMTI0Njc7JiMxMjUwMDsmIzEyNTQwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzg0OyYjMTIzNjk7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9Im5vdGUiIHRpdGxlPSImIzI3ODgwOyYjMzUzNTI7IiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyBtYXJnaW4tcmlnaHQ6IDAuNWluOyI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iTm90ZSI+PHRyPjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iWyYjMjc4ODA7JiMzNTM1MjtdIiBzcmM9Im5vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+JiMyNzg4MDsmIzM1MzUyOzwvdGg+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTI7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMjY0MTI7JiMyMDMwNzsmIzEyMzk5OyYjMTIyODk7JiMyMTUxNjsmIzI2ODAxOyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjM4MzsmIzIxNTE2OyYjMTIzNzY7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTg7JiMxMjQxODsmIzEyMzk4OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQzNDsmIzI0Mzc1OyYjMTIzNjc7JiMyNTUxMjsmIzIyODg4OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMTAyOTsmIzEyMzk4OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk1OyYjMjE1NDc7JiMxMjQxNDsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyMzgzOyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gJiMxMjQ3OTsmIzEyNDczOyYjMTI0NjM7IEphciAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTE7JiMxMjM5ODsmIzIxMjA1OyYjMjAzMTY7JiMxMjM5OTsmIzIwNDQ1OyYjMzUzODg7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzk7JiMxMjQzNTsmIzEyMjkwOzwvcD48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48cD4KLTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjIuIGJ1aWxkLnhtbCAmIzEyMzk4OyYjMjYzNjA7JiMxMjM2NTsmIzI2MDQxOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxMjA5Ij48L2E+Mi4gYnVpbGQueG1sICYjMTIzOTg7JiMyNjM2MDsmIzEyMzY1OyYjMjYwNDE7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDM0OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJ1aWxkLnhtbDwvY29kZT4gKDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsmIzEyNDczOyYjMTI0NjM7JiMxMjUyMjsmIzEyNTAzOyYjMTI0ODg7KSAmIzEyMzk1OyYjMzIwNjg7JiMxMjQxNTsmIzIwODM3OyYjMTI0Mjg7JiMxMjQyNzsmIzEyMzgzOyYjMTI0MTc7JiMxMjM5NTsmIzEyMzk5OyYjMTI0MTQ7JiMxMjM3ODsmIzEyMjg5OyYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMjM0NTA7JiMzMjY4MTsmIzEyNDM0OyYjMzUzNTI7JiMzNjg0ODsmIzEyMzc3OyYjMTI0Mjc7JiMyNDUxNzsmIzM1MjAxOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMjM0NTA7JiMzMjY4MTsmIzEyMzk5OyYjMjc0MjU7JiMxMjM5ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NTsmIzM1MzUyOyYjMzY4NDg7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci0gICZsdDt0YXNrZGVmIG5hbWU9ImZpbmRidWdzIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5GaW5kQnVnc1Rhc2siLyZndDsKLTwvcHJlPjxwPiYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMjM0NTA7JiMzMjY4MTsmIzEyMzk5OyYjMTIyODk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5maW5kYnVnczwvY29kZT4gJiMzNTIwMTsmIzMyMDMyOyYjMTI0MzQ7IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+YnVpbGQueG1sPC9jb2RlPiAmIzE5OTc4OyYjMTIzOTU7JiMzNTM1MjsmIzM2ODQ4OyYjMTIzNzU7JiMxMjM4MzsmIzEyMzkyOyYjMTIzNjU7JiMxMjI4OTsmIzEyMzgxOyYjMTIzOTg7JiMxMjQ3OTsmIzEyNDczOyYjMTI0NjM7JiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM5NTsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+JiMxMjQ3OTsmIzEyNDczOyYjMTI0NjM7JiMyMzQ1MDsmIzMyNjgxOyYjMTIzOTg7JiMzNTM1MjsmIzM2ODQ4OyYjMTI0MzQ7JiMxMjM3NzsmIzEyNDI4OyYjMTI0MDA7JiMxMjI4OTs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZmluZGJ1Z3M8L2NvZGU+ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTI0MzQ7JiMyMDM1MTsmIzEyMzg3OyYjMTIzOTA7JiMxMjQ3OTsmIzEyNTQwOyYjMTI0NjY7JiMxMjQ4MzsmIzEyNDg4OyYjMTI0MzQ7JiMyMzQ1MDsmIzMyNjgxOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTIzOTg7JiMxMjM5OTsmIzEyMjg5OyBBcGFjaGUgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnL2JjZWwvIiB0YXJnZXQ9Il90b3AiPkJDRUw8L2E+ICYjMTI1MjE7JiMxMjQ1MjsmIzEyNTAyOyYjMTI1MjE7JiMxMjUyMjsmIzEyNTQwOyYjMTI0MzQ7JiMyMDk5ODsmIzI2NTEyOyYjMTIzNzc7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjQzNDsmIzI0ODE5OyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJ1aWxkLnhtbDwvY29kZT4gJiMxMjM5ODsmIzM1MzUyOyYjMzY4NDg7JiMyMDM2MzsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLSAgJmx0O3Byb3BlcnR5IG5hbWU9ImZpbmRidWdzLmhvbWUiIHZhbHVlPSIvZXhwb3J0L2hvbWUvZGF2ZWhvL3dvcmsvZmluZGJ1Z3MiIC8mZ3Q7Ci0KLSAgJmx0O3RhcmdldCBuYW1lPSJmaW5kYnVncyIgZGVwZW5kcz0iamFyIiZndDsKLSAgICAmbHQ7ZmluZGJ1Z3MgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgb3V0cHV0PSJ4bWwiCi0gICAgICAgICAgICAgIG91dHB1dEZpbGU9ImJjZWwtZmIueG1sIiAmZ3Q7Ci0gICAgICAmbHQ7YXV4Q2xhc3NwYXRoIHBhdGg9IiR7YmFzZWRpcn0vbGliL1JlZ2V4LmphciIgLyZndDsKLSAgICAgICZsdDtzb3VyY2VQYXRoIHBhdGg9IiR7YmFzZWRpcn0vc3JjL2phdmEiIC8mZ3Q7Ci0gICAgICAmbHQ7Y2xhc3MgbG9jYXRpb249IiR7YmFzZWRpcn0vYmluL2JjZWwuamFyIiAvJmd0OwotICAgICZsdDsvZmluZGJ1Z3MmZ3Q7Ci0gICZsdDsvdGFyZ2V0Jmd0OwotPC9wcmU+PHA+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmZpbmRidWdzPC9jb2RlPiAmIzM1MjAxOyYjMzIwMzI7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5ob21lPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM2NDsmIzI0NTE3OyYjMzg5MjA7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzc3OyYjMTIzOTQ7JiMxMjQzMTsmIzEyMzg1OyA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4kRklOREJVR1NfSE9NRTwvY29kZT48L2VtPiAmIzEyMzk4OyYjMjA1MTY7JiMxMjQzNDsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8YSBjbGFzcz0ieHJlZiIgaHJlZj0iaW5zdGFsbGluZy5odG1sIiB0aXRsZT0iJiMzMTUzMjsyJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7Ij4yJiMzMTQ1Njs8aT48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgJiMxMjM5ODsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1NDA7JiMxMjUyMzs8L2k+PC9hPiAmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48cD4mIzEyMzcxOyYjMTIzOTg7JiMxMjQ3OTsmIzEyNTQwOyYjMTI0NjY7JiMxMjQ4MzsmIzEyNDg4OyYjMTIzOTk7IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+YmNlbC5qYXI8L2NvZGU+ICYjMTIzOTU7JiMyMzU1MDsmIzEyMzc1OyYjMTIzOTA7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0MzQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzk4OyBKYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk5OyYjMTIyODk7IEJDRUwgJiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTIzOTU7JiMxMjQyNDsmIzEyMzg3OyYjMTIzOTA7JiMyMDMxNjsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMTI0MTg7JiMxMjM5ODsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsoJiMxOTk3ODsmIzM1MzUyOyYjMTIzOTg7JiMxMjQ3OTsmIzEyNTQwOyYjMTI0NjY7JiMxMjQ4MzsmIzEyNDg4OyYjMTIzNjQ7JiMxMjMwMDtqYXImIzEyMzAxOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNDY2OyYjMTI0ODM7JiMxMjQ4ODsmIzEyMzk1OyYjMjAzODE7JiMyMzM4NDsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyAoZGVwZW5kcykgJiMxMjM5MjsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzk1OyYjMTI0MjQ7JiMxMjQyNjsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzY0OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzIxMDY5OyYjMTIzOTU7JiMyNDQwMzsmIzM1NDQyOyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTAyOyYjMTI1MjE7JiMxMjUyMjsmIzEyNTQwOyYjMTIzNjQ7JiMyMzQzNjsmIzIwODQwOyYjMTIzOTU7JiMxMjQ2NzsmIzEyNTMxOyYjMTI0OTc7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQzNDsmIzIwNDQ1OyYjMzUzODg7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7KSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzk5OyYjMTIyODk7IFhNTCAmIzI0NDE4OyYjMjQzMzU7JiMxMjM5MTsgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5iY2VsLWZiLnhtbDwvY29kZT4gJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk1OyYjMjA0NDU7JiMyMzM4NDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMzNTAzNjsmIzIxMTYxOyBKYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5SZWdleC5qYXI8L2NvZGU+ICYjMTI0MzQ7IGF1eCBjbGFzc3BhdGggJiMxMjM5NTsmIzM1MzUyOyYjMzY4NDg7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM5NDsmIzEyMzgwOyYjMTIzOTQ7JiMxMjQyNTsmIzEyMjg5OyYjMjQ0MDM7JiMzNTQ0MjsgSmFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM2NDsgQkNFTCAmIzEyNTEzOyYjMTI0NTI7JiMxMjUzMTsmIzY1MzgxOyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTAyOyYjMTI1MjE7JiMxMjUyMjsmIzEyNTQwOyYjMTIzNjM7JiMxMjQyNTsmIzIxNDQyOyYjMjkwMzE7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjM2MzsmIzEyNDI1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwO3NvdXJjZSBwYXRoICYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsmIzEyMjg5OyYjMjA0NDU7JiMyMzM4NDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjM5NTsgQkNFTCAmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDY3OyYjMTI1NDA7JiMxMjQ4OTsmIzEyNDA4OyYjMTIzOTg7JiMyNzQ5MTsmIzMwOTA2OyYjMTIzOTQ7JiMyMTQ0MjsmIzI5MDMxOyYjMTIzNjQ7JiMzNTM1MjsmIzM2ODQ4OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIzLiAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTI3OCI+PC9hPjMuICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyMzYzOyYjMTI0MjU7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDM0OyYjMzYyMTU7JiMyMTIwNTsmIzEyMzc3OyYjMTI0Mjc7JiMyMDM2MzsmIzEyNDM0OyYjMjc0MjU7JiMxMjM5NTsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMTA2OTsmIzM2ODQ4OyYjMTIzOTg7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5maW5kYnVnczwvY29kZT4gJiMxMjQ3OTsmIzEyNTQwOyYjMTI0NjY7JiMxMjQ4MzsmIzEyNDg4OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotICA8Y29kZSBjbGFzcz0icHJvbXB0Ij5bZGF2ZWhvQG5vaXJdJDwvY29kZT4gPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+YW50IGZpbmRidWdzPC9zdHJvbmc+PC9zcGFuPgotICBCdWlsZGZpbGU6IGJ1aWxkLnhtbAotCi0gIGluaXQ6Ci0KLSAgY29tcGlsZToKLQotICBleGFtcGxlczoKLQotICBqYXI6Ci0KLSAgZmluZGJ1Z3M6Ci0gICBbZmluZGJ1Z3NdIFJ1bm5pbmcgRmluZEJ1Z3MuLi4KLSAgIFtmaW5kYnVnc10gQnVncyB3ZXJlIGZvdW5kCi0gICBbZmluZGJ1Z3NdIE91dHB1dCBzYXZlZCB0byBiY2VsLWZiLnhtbAotCi0gIEJVSUxEIFNVQ0NFU1NGVUwKLSAgVG90YWwgdGltZTogMzUgc2Vjb25kcwotPC9wcmU+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMjAxMDc7JiMyMDM2MzsmIzEyMzk1OyYjMTIzNjI7JiMxMjM1NjsmIzEyMzkwOyYjMTIzOTk7JiMxMjI4OTtYTUwgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzkxOyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMyMDQ0NTsmIzIzMzg0OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjM5ODsmIzEyMzkxOyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IEdVSSAmIzEyNDM0OyYjMjAzNTE7JiMxMjM4NzsmIzEyMzkwOyYjMzIwODA7JiMyNjUyNDsmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyA8YSBjbGFzcz0ieHJlZiIgaHJlZj0icnVubmluZy5odG1sIiB0aXRsZT0iJiMzMTUzMjs0JiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOyI+NCYjMzE0NTY7PGk+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvaT48L2E+ICYjMTI0MzQ7JiMyMTQ0MjsmIzI5MDMxOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iNC4gJiMxMjQ5NzsmIzEyNTIxOyYjMTI1MTM7JiMxMjU0MDsmIzEyNDc5OyYjMTI1NDA7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTEzMDMiPjwvYT40LiAmIzEyNDk3OyYjMTI1MjE7JiMxMjUxMzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjU0MDs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDc1OyYjMTI0NjM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzM4NTU1OyYjMTIzOTU7JiMxMjI4OTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDI3OyYjMTI0OTc7JiMxMjUyMTsmIzEyNTEzOyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTQwOyYjMTIzOTU7JiMxMjM4ODsmIzEyMzU2OyYjMTIzOTA7JiMzNTUwMDsmIzI2MTI2OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNsYXNzPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzIwOTk4OyYjMjY1MTI7JiMxMjM5ODsmIzIzNTUwOyYjMzU5Mzc7JiMxMjM5MjsmIzEyMzk0OyYjMTI0Mjc7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMzMjY3NjsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTg7JiMxMjQ5MzsmIzEyNDczOyYjMTI0ODg7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMzNTIwMTsmIzMyMDMyOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzxjb2RlIGNsYXNzPSJsaXRlcmFsIj5jbGFzczwvY29kZT4gJiMzNTIwMTsmIzMyMDMyOyYjMTIzOTU7JiMxMjM5OTsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmxvY2F0aW9uPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5ODsmIzI1MzUxOyYjMjM0NTA7JiMxMjM2NDsmIzI0NTE3OyYjMzg5MjA7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyMDk5ODsmIzI2NTEyOyYjMjM1NTA7JiMzNTkzNzsmIzEyMzkyOyYjMTIzOTQ7JiMxMjQyNzsmIzEyNDUwOyYjMTI1NDA7JiMxMjQ1OTsmIzEyNDUyOyYjMTI1MDI7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsgKGphciwgemlwLCAmIzIwMTgyOykmIzEyMjg5OyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk4OyYjMjE1MTc7JiMyMTA2OTsmIzEyNDM0OyYjMzUzNTI7JiMzNjg0ODsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzEgJiMxMjM4ODsmIzEyMzk4OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZmluZGJ1Z3M8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMzNTA3OTsmIzI1OTY4OyYjMTIzOTg7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5jbGFzczwvY29kZT4gJiMyMzM3NjsmIzM1MjAxOyYjMzIwMzI7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5hdXhDbGFzc3BhdGg8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzEyNDkzOyYjMTI0NzM7JiMxMjQ4ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyMDk5ODsmIzI2NTEyOyYjMjM1NTA7JiMzNTkzNzsmIzEyMzk4OyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTAyOyYjMTI1MjE7JiMxMjUyMjsmIzEyNTQwOyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyYjMTI0NTA7JiMxMjUwMzsmIzEyNTIyOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk1OyYjMTI0MjQ7JiMxMjM4NzsmIzEyMzkwOyYjMjAzNTE7JiMyOTk5MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjM2NDsmIzIwOTk4OyYjMjY1MTI7JiMxMjM5ODsmIzIzNTUwOyYjMzU5Mzc7JiMxMjM5NTsmIzEyMzk5OyYjMTIzNzU7JiMxMjM4MzsmIzEyMzY3OyYjMTIzOTQ7JiMxMjM1NjsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMjE1NDc7JiMxMjQzNTsmIzEyMzkxOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDk3OyYjMTI0NzM7IChKYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOykgJiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsgIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyMzk4OyBKYXZhICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTU7JiMxMjM1NDsmIzEyNDI3OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Y2xhc3NwYXRoPC9jb2RlPiAmIzM1MjAxOyYjMzIwMzI7ICYjMTIzOTI7JiMyMTUxNjsmIzEyMzc2OyYjMjYwNDE7JiMyNzg2MTsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnNvdXJjZVBhdGg8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzEyNDkzOyYjMTI0NzM7JiMxMjQ4ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyMDk5ODsmIzI2NTEyOyYjMjM1NTA7JiMzNTkzNzsgSmF2YSAmIzEyNDY3OyYjMTI1NDA7JiMxMjQ4OTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUzMTsmIzEyNDk3OyYjMTI0NTI7JiMxMjUyMzsmIzI2MTc4OyYjMTIzOTU7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM4MzsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MzQ7JiMyMTU0NzsmIzEyNDM1OyYjMTIzOTE7JiMxMjM1NjsmIzEyNDI3OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjQwODsmIzEyMzk4OyYjMTI0OTc7JiMxMjQ3MzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTI0OTc7JiMxMjQ3MzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTU7JiMxMjQyNDsmIzEyNDI2OyYjMTIyODk7JiMyOTk4MzsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyBYTUwgJiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMyMDk4NjsmIzIxMTQ3OyYjMzIwODA7JiMyNjUyNDsmIzEyMzk1OyYjMjM0MzY7JiMyMDg0MDsmIzEyMzk0OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMjQ3NzM7JiMyMjU3NzsmIzEyNDM0OyYjMTI0MTg7JiMxMjM4MzsmIzEyMzc5OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTIyODk7JiMyNDQ2MDsmIzEyMzk1OyYjMTIzOTQ7JiMxMjM4NzsmIzEyMzkwOyBHVUkgJiMxMjM5MTsmIzIxNDQyOyYjMjkwMzE7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5ob21lPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzI0NTE3OyYjMzg5MjA7JiMyMzY0NjsmIzI0NjE1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzNjQ7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7JiMxMjM3MzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMyMTUxNzsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnF1aWV0RXJyb3JzPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzIwMjE5OyYjMjQ4NDc7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTg7JiMxMjUwMjsmIzEyNTQwOyYjMTI1MjM7JiMyMDUxNjsmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7dHJ1ZSAmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMjgxNDU7JiMyMTA1MTsmIzEyMzk0OyYjMjA5OTg7JiMyNjUxMjsmIzEyNDU2OyYjMTI1MjE7JiMxMjU0MDsmIzMwMzMwOyYjMjk5ODM7JiMxMjQyMDsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzY0OyYjMTI0MTU7JiMxMjM4ODsmIzEyMzYzOyYjMTI0MjU7JiMxMjM5NDsmIzEyMzU2OyYjMTIzOTI7JiMxMjM1NjsmIzEyMzg3OyYjMTIzODM7JiMyNDc3MzsmIzIyNTc3OyYjMTIzNjQ7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMjA5ODY7JiMyMTE0NzsmIzEyMzk1OyYjMzUzNTI7JiMzNzY4MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDsmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMxMjM5OTsmIzEyMjg5OyBmYWxzZSAmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5yZXBvcnRMZXZlbDwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyMDIxOTsmIzI0ODQ3OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzk4OyYjMjM2NDY7JiMyNDYxNTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsmIzIyNTc3OyYjMjE1Nzg7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzOTg7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7JiMxMjM5ODsmIzEyMzc1OyYjMTIzNjU7JiMxMjM1NjsmIzIwNTE2OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjMwMDtsb3cmIzEyMzAxOyYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM2NDsmIzIyNTc3OyYjMjE1Nzg7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzMDA7bWVkaXVtJiMxMjMwMTsgKCYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODspICYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7ICgmIzIwMDEzOykmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzIwNzc4OyYjMjA4MDg7JiMyNDIzMDsgKCYjMzk2NDA7KSYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzNjQ7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzAwO2hpZ2gmIzEyMzAxOyYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7ICgmIzM5NjQwOykgJiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5ODsmIzEyNDE1OyYjMTIzNjQ7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5vdXRwdXQ8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyMDk4NjsmIzIxMTQ3OyYjMjQ0MTg7JiMyNDMzNTsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzMDA7eG1sJiMxMjMwMTsgKCYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODspICYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMyMDk4NjsmIzIxMTQ3OyYjMTIzOTk7IFhNTCAmIzI0NDE4OyYjMjQzMzU7JiMxMjM5NTsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjMwMDt4bWw6d2l0aE1lc3NhZ2VzJiMxMjMwMTsgJiMxMjM5NTsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsmIzIwOTg2OyYjMjExNDc7JiMxMjM5OTsmIzIwMTU0OyYjMzgyOTE7JiMxMjM2NDsmIzM1NTAxOyYjMTI0MTc7JiMxMjQyNzsmIzEyNTEzOyYjMTI0ODM7JiMxMjQ3NTsmIzEyNTQwOyYjMTI0NzI7ICYjMTIzNjQ7JiMzNjg2MTsmIzIxMTUyOyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyBYTUwgJiMyNDQxODsmIzI0MzM1OyYjMTIzOTU7JiMxMjM5NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyhYU0wgJiMxMjQ3MzsmIzEyNDc5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ4ODsmIzEyNDM0OyYjMjAzNTE7JiMxMjM4NzsmIzEyMzkwOyYjMTI1MjQ7JiMxMjUwOTsmIzEyNTQwOyYjMTI0ODg7JiMxMjQzNDsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyNDM0OyYjMzUzMzY7JiMzMDAxMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIzNzE7JiMxMjM5ODsmIzI0NDE4OyYjMjQzMzU7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDspICYjMTIzMDA7aHRtbCYjMTIzMDE7JiMxMjM5NTsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsmIzIwOTg2OyYjMjExNDc7JiMxMjM5OTsgSFRNTCAmIzI0NDE4OyYjMjQzMzU7KCYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzk4OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQ3MTsmIzEyNTQwOyYjMTI0ODg7JiMxMjM5OTsgZGVmYXVsdC54c2wpICYjMTIzOTU7JiMxMjM5NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyAmIzEyMzAwO3RleHQmIzEyMzAxOyYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMyMDk4NjsmIzIxMTQ3OyYjMTIzOTk7JiMyOTMwNTsmIzIxMDI5OyYjMTIzOTQ7JiMxMjQ4NjsmIzEyNDYxOyYjMTI0NzM7JiMxMjQ4ODsmIzI0NDE4OyYjMjQzMzU7JiMxMjM5NTsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjMwMDtlbWFjcyYjMTIzMDE7JiMxMjM5NTsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsmIzIwOTg2OyYjMjExNDc7JiMxMjM5OTsgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIiB0YXJnZXQ9Il90b3AiPkVtYWNzPC9hPiAmIzEyNDU2OyYjMTI1MjE7JiMxMjU0MDsmIzEyNTEzOyYjMTI0ODM7JiMxMjQ3NTsmIzEyNTQwOyYjMTI0NzI7JiMyNDQxODsmIzI0MzM1OyYjMTIzOTU7JiMxMjM5NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzMDA7eGRvY3MmIzEyMzAxOyYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMyMDk4NjsmIzIxMTQ3OyYjMTIzOTk7IEFwYWNoZSBNYXZlbiAmIzEyMzkxOyYjMjAzNTE7JiMyOTk5MjsmIzEyMzkxOyYjMTIzNjU7JiMxMjQyNzsgeGRvYyBYTUwgJiMxMjM5NTsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+c3R5bGVzaGVldDwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyMDIxOTsmIzI0ODQ3OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzk4OyYjMjM2NDY7JiMyNDYxNTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDtvdXRwdXQgJiMyMzY0NjsmIzI0NjE1OyAmIzEyMzk1OyBodG1sICYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5NTsmIzEyMjg5OyBIVE1MICYjMjA5ODY7JiMyMTE0NzsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM5NTsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjQ3MzsmIzEyNDc5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ4ODsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwO0ZpbmRCdWdzICYjMzcxOTc7JiMyNDA2NzsmIzI5Mjg5OyYjMTIzOTU7JiMyMTU0NzsmIzEyNDE0OyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ3MzsmIzEyNDc5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ4ODsmIzEyMzk5OyYjMTIyODk7IGRlZmF1bHQueHNsJiMxMjI4OTsgZmFuY3kueHNsICYjMTIyODk7IGZhbmN5LWhpc3QueHNsICYjMTIyODk7IHBsYWluLnhzbCAmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgc3VtbWFyeS54c2wgJiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMxMjQ4NzsmIzEyNTAxOyYjMTI0NTc7JiMxMjUyMzsmIzEyNDg4OyYjMjA1MTY7JiMxMjM5OTsgZGVmYXVsdC54c2wgJiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+c29ydDwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyMDIxOTsmIzI0ODQ3OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzk4OyYjMjM2NDY7JiMyNDYxNTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+b3V0cHV0PC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5NTsmIzEyMzAwO3RleHQmIzEyMzAxOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5NTsmIzEyMjg5OyYjMTI0OTY7JiMxMjQ2NDsmIzEyMzk4OyYjMjI1Nzc7JiMyMTU3ODsmIzEyNDM0OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMzg5MTg7JiMxMjM5NTsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ4ODsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM2MzsmIzEyMzkzOyYjMTIzNTg7JiMxMjM2MzsmIzEyNDM0OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+c29ydDwvY29kZT4gJiMyMzY0NjsmIzI0NjE1OyYjMTIzOTE7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjQ4NzsmIzEyNTAxOyYjMTI0NTc7JiMxMjUyMzsmIzEyNDg4OyYjMTIzOTk7JiMxMjI4OTsgdHJ1ZSAmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5vdXRwdXRGaWxlPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzIwMjE5OyYjMjQ4NDc7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTg7JiMyMzY0NjsmIzI0NjE1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMyMjU4MDsmIzIxNTEyOyYjMTIyODk7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzIwOTg2OyYjMjExNDc7JiMxMjM5OTsmIzEyMzgxOyYjMTIzOTg7JiMyMTUxNzsmIzIxMDY5OyYjMTIzOTg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDA4OyYjMTIzOTI7JiMyMDQ0NTsmIzIzMzg0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzMwNDY1OyYjMzAwNTM7JiMyNjE3ODsmIzEyMjg5OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzk5OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gJiMxMjM5NTsmIzEyNDI0OyYjMTIzODc7JiMxMjM5MDsmIzMwNDUyOyYjMjU1MDk7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5kZWJ1ZzwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyMDIxOTsmIzI0ODQ3OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzk4OyYjMTI1MDI7JiMxMjU0MDsmIzEyNTIzOyYjMjA1MTY7JiMyMzY0NjsmIzI0NjE1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwO3RydWUgJiMxMjM5NTsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5OTsgJiMzNTM4NjsmIzI2MDI5OyYjMjQ3NzM7JiMyMjU3NzsmIzEyNDM0OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzOTM7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMjA5OTg7JiMyNjUxMjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMTIzNjM7JiMxMjI4OTsmIzEyMzkzOyYjMTIzOTg7JiMxMjQ5NzsmIzEyNDY0OyYjMTI0OTc7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MzE7JiMxMjQ4NzsmIzEyNDUxOyYjMTI0ODY7JiMxMjQ2MzsmIzEyNDc5OyYjMTIzNjQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyMzYzOyYjMTIyODk7JiMxMjM5MjsmIzEyMzU2OyYjMTIzNTg7JiMyNDc3MzsmIzIyNTc3OyYjMTIzNjQ7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMxMjM5OTsmIzEyMjg5OyBmYWxzZSAmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5lZmZvcnQ8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjA5OTg7JiMyNjUxMjsmIzEyMzk4OyYjMjc5NjM7JiMyMTIwNTsmIzEyNTI0OyYjMTI1MDU7JiMxMjUyMzsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxjb2RlIGNsYXNzPSJsaXRlcmFsIj5taW48L2NvZGU+ICYjMTIyODk7PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmRlZmF1bHQ8L2NvZGU+ICYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bWF4PC9jb2RlPiAmIzEyMzk4OyYjMTIzNTY7JiMxMjM3ODsmIzEyNDI4OyYjMTIzNjM7JiMxMjM5ODsmIzIwNTE2OyYjMTI0MzQ7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMyMDk5ODsmIzI2NTEyOyYjMTI1MjQ7JiMxMjUwNTsmIzEyNTIzOyYjMTIzOTg7JiMzNTM3MzsmIzIzNDUwOyYjMTIzOTU7JiMzODMwNjsmIzEyMzc3OyYjMTI0Mjc7JiMzNTQ0MzsmIzMyMDQ4OyYjMjQ3NzM7JiMyMjU3NzsmIzEyMzk5OyYjMTIyODk7IDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJydW5uaW5nLmh0bWwjY29tbWFuZExpbmVPcHRpb25zIiB0aXRsZT0iMy4gJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7Ij4mIzEyMzAwOyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTIzMDE7PC9hPiAmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNvbnNlcnZlU3BhY2U8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPmVmZm9ydD0ibWluIiAmIzEyMzkyOyYjMjE1MTY7JiMzMjY4MTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj53b3JrSGFyZDwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+ZWZmb3J0PSJtYXgiICYjMTIzOTI7JiMyMTUxNjsmIzMyNjgxOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnZpc2l0b3JzPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzIwMjE5OyYjMjQ4NDc7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTg7JiMyMzY0NjsmIzI0NjE1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMTIzOTM7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQ4NzsmIzEyNDUxOyYjMTI0ODY7JiMxMjQ2MzsmIzEyNDc5OyYjMTI0MzQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzYzOyYjMTI0MzQ7JiMxMjQ2NzsmIzEyNTMxOyYjMTI1MTA7JiMyMTMwNjsmIzIwOTk5OyYjMTI0MjY7JiMxMjM5ODsmIzEyNTIyOyYjMTI0NzM7JiMxMjQ4ODsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI0NTE7JiMxMjQ4NjsmIzEyNDYzOyYjMTI0Nzk7JiMxMjM5OTsmIzEyNDk3OyYjMTI0ODM7JiMxMjQ2NTsmIzEyNTQwOyYjMTI0NzI7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTQ7JiMxMjM3NTsmIzEyMzk4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMjE1MTc7JiMxMjM5MTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzMwNDY1OyYjMzAwNTM7JiMyNjE3ODsmIzEyMjg5OyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzkxOyYjMjg5NjE7JiMyMTE3NzsmIzIxMjcwOyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDE4OyYjMTIzOTg7JiMxMjQzNDsmIzM4NTAwOyYjMTIzNjc7JiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMxMjM5ODsmIzEyNDg3OyYjMTI0NTE7JiMxMjQ4NjsmIzEyNDYzOyYjMTI0Nzk7JiMxMjM2NDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPm9taXRWaXNpdG9yczwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyMDIxOTsmIzI0ODQ3OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzk4OyYjMjM2NDY7JiMyNDYxNTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+dmlzaXRvcnM8L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTsmIzEyMzkyOyYjMjAyODQ7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMzY0OyYjMTIyODk7JiMxMjM3MTsmIzEyMzg1OyYjMTI0MjU7JiMxMjM5OTsgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzM7JiMxMjQyODsmIzEyMzk0OyYjMTIzNTY7PC9lbT48L3NwYW4+ICYjMTI0ODc7JiMxMjQ1MTsmIzEyNDg2OyYjMTI0NjM7JiMxMjQ3OTsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmV4Y2x1ZGVGaWx0ZXI8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMyMTUxNzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzYzOyYjMTI0MjU7JiMzODUwMDsmIzIyODA2OyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxhIGNsYXNzPSJ4cmVmIiBocmVmPSJmaWx0ZXIuaHRtbCIgdGl0bGU9IiYjMzE1MzI7OCYjMzE0NTY7ICYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyI+OCYjMzE0NTY7PGk+JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7PC9pPjwvYT4gJiMxMjQzNDsmIzIxNDQyOyYjMjkwMzE7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5pbmNsdWRlRmlsdGVyPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzIwMjE5OyYjMjQ4NDc7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTg7JiMyMzY0NjsmIzI0NjE1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMjE1MTc7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzIyNTc3OyYjMjE1Nzg7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PGEgY2xhc3M9InhyZWYiIGhyZWY9ImZpbHRlci5odG1sIiB0aXRsZT0iJiMzMTUzMjs4JiMzMTQ1NjsgJiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7Ij44JiMzMTQ1Njs8aT4mIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzs8L2k+PC9hPiAmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnByb2plY3RGaWxlPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzIwMjE5OyYjMjQ4NDc7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTg7JiMyMzY0NjsmIzI0NjE1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMyMTUxNzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5OTsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBHVUkgJiMxMjM5MTsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjI4OTsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzEyMjg5OyYjMzUwMzY7JiMyMTE2MTsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDk3OyYjMTI0NzM7JiMxMjI4OTsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzNjQ7JiMzNTM1MjsmIzIwODM3OyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5jbGFzczwvY29kZT4gJiMzNTIwMTsmIzMyMDMyOyYjMTI1Mzk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5hdXhDbGFzc3BhdGg8L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnNvdXJjZVBhdGg8L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMyNDUxNzsmIzM1MjAxOyYjMTIzOTk7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OyYjMTIyOTA7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjM5ODsmIzIwMzE2OyYjMjUxMDQ7JiMyNjA0MTsmIzI3ODYxOyYjMTIzOTk7JiMxMjI4OTsgPGEgY2xhc3M9InhyZWYiIGhyZWY9InJ1bm5pbmcuaHRtbCIgdGl0bGU9IiYjMzE1MzI7NCYjMzE0NTY7IEZpbmRCdWdzJiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsiPjQmIzMxNDU2OzxpPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L2k+PC9hPiAmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmp2bWFyZ3M8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsgSmF2YSAmIzIwMjA2OyYjMjQ4MTk7JiMxMjUxMDsmIzEyNDcxOyYjMTI1MzE7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzU7JiMxMjM5MDsmIzIxNDYzOyYjMTIzNjk7JiMyODE5MzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzI0MzQxOyYjMjU5Njg7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzI0MDQwOyYjMjI4MjM7JiMxMjM5NDsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ2NDsmIzEyNTIxOyYjMTI1MTI7JiMxMjQzNDsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3NzsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk1OyYjMTIyODk7IEpWTSAmIzEyMzY0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjUxMzsmIzEyNTE0OyYjMTI1MjI7JiMyMzQ4MTsmIzM3MzI3OyYjMTI0MzQ7JiMyMjY3OTsmIzEyNDIwOyYjMTIzNzc7JiMyNTM1MTsmIzIzNDUwOyYjMTI0MzQ7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODM7JiMxMjQxNzsmIzEyMzk1OyYjMTIzNzE7JiMxMjM5ODsmIzI0MzQxOyYjMjU5Njg7JiMxMjQzNDsmIzIxMDMzOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNzsmIzEyMzYzOyYjMTI0MTg7JiMxMjM3NTsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+c3lzdGVtUHJvcGVydHk8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzEyNDkzOyYjMTI0NzM7JiMxMjQ4ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzIyNTgwOyYjMjE1MTI7JiMxMjI4OTtKYXZhICYjMTI0NzE7JiMxMjQ3MzsmIzEyNDg2OyYjMTI1MTI7JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7JiMxMjQzNDsmIzIzNDUwOyYjMzI2ODE7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bmFtZTwvY29kZT4gJiMyMzY0NjsmIzI0NjE1OyYjMTIzOTU7JiMxMjM5OTsmIzEyNDcxOyYjMTI0NzM7JiMxMjQ4NjsmIzEyNTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOyYjMTIzOTg7JiMyMTUxNzsmIzIxMDY5OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM4MTsmIzEyMzc1OyYjMTIzOTA7JiMxMjI4OTsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnZhbHVlPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5NTsmIzEyMzk5OyYjMTI0NzE7JiMxMjQ3MzsmIzEyNDg2OyYjMTI1MTI7JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTIzOTg7JiMyMDUxNjsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnRpbWVvdXQ8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsgSmF2YSAmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3NTsmIzEyNDczOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsmIzM1Mzc3OyYjMjM0ODE7JiMyNjE3ODsmIzM4MjkxOyYjMTI0MzQ7JiMxMjUxMTsmIzEyNTIyOyYjMzExODY7JiMyMTMzNjsmIzIwMzAxOyYjMTIzOTE7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyNjE3ODsmIzM4MjkxOyYjMTI0MzQ7JiMzNjIyOTsmIzM2OTQyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTI0OTU7JiMxMjUzMTsmIzEyNDY0OyYjMTI0NTA7JiMxMjQ4MzsmIzEyNTAzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjM5MjsmIzIxMDI4OyYjMjYwMjk7JiMxMjM3NTsmIzEyMzkwOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDc1OyYjMTI0NzM7JiMxMjM2NDsmIzMyMDY2OyYjMjAxMDI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzk5OyYjMTIyODk7IDYwMCwwMDAgJiMxMjUxMTsmIzEyNTIyOyYjMzExODY7ICgxMCAmIzIwOTk4OykgJiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyNDA0MDsmIzIyODIzOyYjMTIzOTQ7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NjQ7JiMxMjUyMTsmIzEyNTEyOyYjMTIzOTg7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM2NDsmIzIwOTk4OyYjMjY1MTI7JiMxMjQzNDsmIzIzNDM2OyYjMjAxMDI7JiMxMjM3NzsmIzEyNDI3OyYjMTI0MTQ7JiMxMjM5MTsmIzEyMzk1OyAxMCAmIzIwOTk4OyAmIzIwMTk3OyYjMTk5Nzg7JiMyNTQ5OTsmIzEyMzYzOyYjMTI0Mjc7JiMyMTQ4NzsmIzMzMDIxOyYjMjQ2MTU7JiMxMjM2NDsmIzEyMzU0OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTU7JiMyNzg4MDsmIzI0ODQ3OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZmFpbE9uRXJyb3I8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzEyNTAyOyYjMTI1NDA7JiMxMjUyMzsmIzIwNTE2OyYjMjM2NDY7JiMyNDYxNTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsmIzIwMDEzOyYjMTIzOTU7JiMxMjQ1NjsmIzEyNTIxOyYjMTI1NDA7JiMxMjM2NDsmIzEyMzU0OyYjMTIzODc7JiMxMjM4MzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5NTsmIzEyMjg5OyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDc1OyYjMTI0NzM7JiMzMzI1ODsmIzIwMzA3OyYjMTI0MzQ7JiMyNTE3MTsmIzEyMzg1OyYjMjA5OTk7JiMxMjM4NzsmIzEyMzkwOyYjMzAwNjQ7JiMyNDEyMDsmIzMyMDY2OyYjMjAxMDI7JiMxMjM3MzsmIzEyMzc5OyYjMTI0Mjc7JiMxMjM2MzsmIzEyMzkzOyYjMTIzNTg7JiMxMjM2MzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzk5OyYjMTIyODk7JiMxMjMwMDtmYWxzZSYjMTIzMDE7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZXJyb3JQcm9wZXJ0eTwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyMDIxOTsmIzI0ODQ3OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzk4OyYjMjM2NDY7JiMyNDYxNTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsmIzIwMDEzOyYjMTIzOTU7JiMxMjQ1NjsmIzEyNTIxOyYjMTI1NDA7JiMxMjM2NDsmIzMwMzMwOyYjMjk5ODM7JiMxMjM3NTsmIzEyMzgzOyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk1OyYjMTIyODk7JiMxMjMwMDt0cnVlJiMxMjMwMTsmIzEyMzY0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsmIzEyMzk4OyYjMjE1MTc7JiMyMTA2OTsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPndhcm5pbmdzUHJvcGVydHk8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjAyMTk7JiMyNDg0NzsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5ODsmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM2NDsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3NTsmIzEyMzgzOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDY0OyYjMTI1MjE7JiMxMjUxMjsmIzEyMzk1OyYjMTI0OTY7JiMxMjQ2NDsmIzIyNTc3OyYjMjE1Nzg7JiMxMjM2NDsgMSAmIzIwMjE0OyYjMTIzOTE7JiMxMjQxODsmIzEyMzU0OyYjMTI0Mjc7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTU7JiMxMjI4OTsmIzEyMzAwO3RydWUmIzEyMzAxOyYjMTIzNjQ7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOyYjMTIzOTg7JiMyMTUxNzsmIzIxMDY5OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KLQotCi08L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJndWkuaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZWNsaXBzZS5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+JiMzMTUzMjs1JiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPiYjMTI1MDc7JiMxMjU0MDsmIzEyNTEyOzwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDsmIzMxNTMyOzcmIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgRWNsaXBzZSAmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOzwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9idWlsZGluZy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9idWlsZGluZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTkyNjRmLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvYnVpbGRpbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+JiMzMTUzMjszJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMxMjQ3NzsmIzEyNTQwOyYjMTI1MjM7JiMxMjM2MzsmIzEyNDI1OyYjMTIzOTg7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7PC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc2LjEiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyAmIzEyNTEwOyYjMTI0OTE7JiMxMjUxNzsmIzEyNDUwOyYjMTI1MjM7Ij48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iaW5zdGFsbGluZy5odG1sIiB0aXRsZT0iJiMzMTUzMjsyJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7Ij48bGluayByZWw9Im5leHQiIGhyZWY9InJ1bm5pbmcuaHRtbCIgdGl0bGU9IiYjMzE1MzI7NCYjMzE0NTY7IEZpbmRCdWdzJiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPiYjMzE1MzI7MyYjMzE0NTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNTIzOyYjMTIzNjM7JiMxMjQyNTsmIzEyMzk4OyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9Imluc3RhbGxpbmcuaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0icnVubmluZy5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iJiMzMTUzMjszJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMxMjQ3NzsmIzEyNTQwOyYjMTI1MjM7JiMxMjM2MzsmIzEyNDI1OyYjMTIzOTg7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJidWlsZGluZyI+PC9hPiYjMzE1MzI7MyYjMzE0NTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNTIzOyYjMTIzNjM7JiMxMjQyNTsmIzEyMzk4OyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj4mIzMwNDQ2OyYjMjc0MjU7PC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYnVpbGRpbmcuaHRtbCNkMGUxNzUiPjEuICYjMjEwNjk7JiMyNTU1MjsmIzI2NDY1OyYjMjAyMTQ7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlMjU4Ij4yLiAmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk4OyYjMjM2Mzc7JiMzODI4Mzs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYnVpbGRpbmcuaHRtbCNkMGUyNzEiPjMuIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bG9jYWwucHJvcGVydGllczwvY29kZT4gJiMxMjM5ODsmIzIwNDYyOyYjMjc0OTE7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlMzI2Ij40LiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlNDIwIj41LiAmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzNjM7JiMxMjQyNTsmIzEyMzk4OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kaXY+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMzE0NTY7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0MzQ7JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjQ2NzsmIzEyNTQwOyYjMTI0ODk7JiMxMjM2MzsmIzEyNDI1OyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OyYjMTIzNzc7JiMxMjQyNzsmIzI2MDQxOyYjMjc4NjE7JiMxMjQzNDsmIzM1NTAwOyYjMjYxMjY7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDM0OyYjMjA0NjI7JiMyNzQ5MTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTU7JiMzMzI4ODsmIzIxNjE5OyYjMTIzNjQ7JiMxMjM5NDsmIzEyMzU2OyYjMTIzOTg7JiMxMjM5MTsmIzEyMzU0OyYjMTI0Mjg7JiMxMjQwMDsmIzEyMjg5OyA8YSBjbGFzcz0ibGluayIgaHJlZj0icnVubmluZy5odG1sIiB0aXRsZT0iJiMzMTUzMjs0JiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOyI+JiMyNzQyNTsmIzEyMzk4OyYjMzE0NTY7PC9hPiAmIzEyMzk1OyYjMzY5MTQ7JiMxMjQzNTsmIzEyMzkxOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiAmIzIxMDY5OyYjMjU1NTI7JiMyNjQ2NTsmIzIwMjE0OyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxNzUiPjwvYT4xLiAmIzIxMDY5OyYjMjU1NTI7JiMyNjQ2NTsmIzIwMjE0OzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjM2MzsmIzEyNDI1OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDM0OyYjMTI0Njc7JiMxMjUzMTsmIzEyNDk3OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyYjMjAxOTc7JiMxOTk3OTsmIzEyMzk4OyYjMTI0MTg7JiMxMjM5ODsmIzEyMzY0OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+PGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2ZpbmRidWdzL2ZpbmRidWdzLTIuMC4zLXNvdXJjZS56aXA/ZG93bmxvYWQiIHRhcmdldD0iX3RvcCI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTs8L2E+Ci0gICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICAgICA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9qYXZhLnN1bi5jb20vajJzZS8iIHRhcmdldD0iX3RvcCI+SkRLIDEuNS4wICYjMTI1MDU7JiMxMjU0MDsmIzEyNDc5OyAmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyMzgxOyYjMTI0Mjg7JiMyMDE5NzsmIzM4NDc3OzwvYT4KLSAgICA8L3A+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2FudC5hcGFjaGUub3JnLyIgdGFyZ2V0PSJfdG9wIj5BcGFjaGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+PC9hPiwgJiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyAxLjYuMyAmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyMzgxOyYjMTI0Mjg7JiMyMDE5NzsmIzM4NDc3OzwvcD48L2xpPjwvdWw+PC9kaXY+PHA+Ci08L3A+PGRpdiBjbGFzcz0id2FybmluZyIgdGl0bGU9IiYjMzU2ODY7JiMyMTU3ODsiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJXYXJuaW5nIj48dHI+PHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbJiMzNTY4NjsmIzIxNTc4O10iIHNyYz0id2FybmluZy5wbmciPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij4mIzM1Njg2OyYjMjE1Nzg7PC90aD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48cD5SZWRoYXQgTGludXggJiMxMjQ3MTsmIzEyNDczOyYjMTI0ODY7JiMxMjUxMjsmIzEyMzk4OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPi91c3IvYmluL2FudDwvY29kZT4gJiMxMjM5NTsmIzIxNTE2OyYjMjY4MDE7JiMxMjM3MzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gJiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMxMjQ2NzsmIzEyNTMxOyYjMTI0OTc7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTk7PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+JiMxMjM1ODsmIzEyNDE0OyYjMTIzNjc7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OzwvZW0+PC9zcGFuPiYjMTIyOTA7PGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB3ZWIgJiMxMjQ2OTsmIzEyNDUyOyYjMTI0ODg7PC9hPiYjMTIzNjM7JiMxMjQyNTsmIzEyNDk2OyYjMTI0NTI7JiMxMjQ5MDsmIzEyNTIyOyYjMzcxOTc7JiMyNDA2NzsmIzI5Mjg5OyYjMTI0MzQ7JiMxMjQ4MDsmIzEyNDU0OyYjMTI1MzE7JiMxMjUyNTsmIzEyNTQwOyYjMTI0ODk7JiMxMjM3NTsmIzEyMzkwOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQzNDsmIzI1NTEyOyYjMjI4ODg7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gJiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NzsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7ICYjMjk4NzI7JiMyMjY1OTsmIzIyNzkzOyYjMjU5Njg7IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPkpBVkFfSE9NRTwvY29kZT48L2VtPiAmIzEyMzY0OyAgSkRLIDEuNSAoJiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7JiMxMjM4MTsmIzEyNDI4OyYjMjAxOTc7JiMzODQ3NzspJiMxMjQzNDsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1NDA7JiMxMjUyMzsmIzEyMzc1OyYjMTIzODM7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyNDM0OyYjMjUzNTE7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQzNDsmIzMwOTA2OyYjMzU0Njk7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDs8L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+JiMyMDMwNzsmIzM1MDA5OyYjMTIzOTg7JiMyNTk3MjsmIzEyMzg3OyYjMTIzODM7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMxMjQ4OTsmIzEyNDYxOyYjMTI1MTc7JiMxMjUxMzsmIzEyNTMxOyYjMTI0ODg7JiMxMjQzNDsmIzI5OTgzOyYjMjUxMDQ7JiMxMjM3NTsmIzEyMzgzOyYjMTIzNTY7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsmIzIwMTk3OyYjMTk5Nzk7JiMxMjM5ODsmIzEyNDc3OyYjMTI1MDE7JiMxMjQ4ODsmIzEyNDU0OyYjMTI0NTU7JiMxMjQ1MDsmIzEyNDE4OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzkyOyYjMTIzOTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7OjwvcD48ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD48YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy94c2wvaW5kZXguaHRtbCIgdGFyZ2V0PSJfdG9wIj5Eb2NCb29rIFhTTCAmIzEyNDczOyYjMTI0Nzk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0NzE7JiMxMjU0MDsmIzEyNDg4OzwvYT4mIzEyMjkwOzxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyYjMTI0MzQ7IEhUTUwgJiMxMjM5NTsmIzIyNzkzOyYjMjU1NjM7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTg7JiMxMjM5NTsmIzI0NTE3OyYjMzUyMDE7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+PGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vc2F4b24uc291cmNlZm9yZ2UubmV0LyIgdGFyZ2V0PSJfdG9wIj48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPlNheG9uPC9zcGFuPiBYU0xUICYjMTI1MDM7JiMxMjUyNTsmIzEyNDc1OyYjMTI0ODM7JiMxMjQ2OTsmIzEyNTQwOzwvYT4mIzEyMjkwOygmIzIxNTE2OyYjMjcwOTY7JiMxMjM5NTsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsmIzEyNDM0OyBIVE1MICYjMTIzOTU7JiMyMjc5MzsmIzI1NTYzOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzk4OyYjMTIzOTU7JiMyNDUxNzsmIzM1MjAxOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyk8L3A+PC9saT48L3VsPjwvZGl2PjxwPgotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMi4gJiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMzNzE5NzsmIzI0MDY3OyYjMjkyODk7JiMxMjM5ODsmIzIzNjM3OyYjMzgyODM7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTI1OCI+PC9hPjIuICYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMzcxOTc7JiMyNDA2NzsmIzI5Mjg5OyYjMTIzOTg7JiMyMzYzNzsmIzM4MjgzOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMzNzE5NzsmIzI0MDY3OyYjMjkyODk7JiMxMjQzNDsmIzEyNDgwOyYjMTI0NTQ7JiMxMjUzMTsmIzEyNTI1OyYjMTI1NDA7JiMxMjQ4OTsmIzEyMzc1OyYjMTIzODM7JiMyNDQ2MDsmIzEyMzk1OyYjMTIyODk7JiMxMjM4MTsmIzEyNDI4OyYjMTI0MzQ7JiMyMDMxNjsmIzI2OTg5OyYjMjk5OTI7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk1OyYjMjM2Mzc7JiMzODI4MzsmIzEyMzc3OyYjMTI0Mjc7JiMyNDUxNzsmIzM1MjAxOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMzY4OTA7JiMyNDEyMDsmIzEyMzk5OyYjMTIyODk7JiMyNzQyNTsmIzEyMzk4OyYjMTI0MjQ7JiMxMjM1ODsmIzEyMzk0OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5MTsmIzIzNjM3OyYjMzgyODM7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3Ozo8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLTxjb2RlIGNsYXNzPSJwcm9tcHQiPiQgPC9jb2RlPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnVuemlwIGZpbmRidWdzLTIuMC4zLXNvdXJjZS56aXA8L3N0cm9uZz48L3NwYW4+Ci08L3ByZT48cD4KLQotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMy4gbG9jYWwucHJvcGVydGllcyAmIzEyMzk4OyYjMjA0NjI7JiMyNzQ5MTsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMjcxIj48L2E+My4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5sb2NhbC5wcm9wZXJ0aWVzPC9jb2RlPiAmIzEyMzk4OyYjMjA0NjI7JiMyNzQ5MTs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPkZpbmRCdWdzICYjMTIzOTg7JiMxMjQ4OTsmIzEyNDYxOyYjMTI1MTc7JiMxMjUxMzsmIzEyNTMxOyYjMTI0ODg7JiMxMjQzNDsmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmxvY2FsLnByb3BlcnRpZXM8L2NvZGU+ICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzIwNDYyOyYjMjc0OTE7JiMxMjM3NzsmIzEyNDI3OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTIzOTg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0MzQ7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjM3NzsmIzEyNDI3OyYjMzg1NTU7JiMxMjM5NTsgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPjwvYT4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5idWlsZC54bWw8L2NvZGU+ICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM2NDsmIzIxNDQyOyYjMjkwMzE7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDtGaW5kQnVncyAmIzEyMzk4OyYjMTI0ODk7JiMxMjQ2MTsmIzEyNTE3OyYjMTI1MTM7JiMxMjUzMTsmIzEyNDg4OyYjMTI0MzQ7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjM3NTsmIzEyMzk0OyYjMTIzNTY7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsmIzEyMzcxOyYjMTIzOTg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk5OyYjMjg5NjE7JiMzNTIyMjsmIzEyMzc1OyYjMTIzOTA7JiMxMjQxODsmIzEyMzYzOyYjMTI0MTQ7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzk7JiMxMjQzNTsmIzEyMjkwOzwvcD48cD48Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmxvY2FsLnByb3BlcnRpZXM8L2NvZGU+ICYjMTIzOTE7JiMxMjM5ODsmIzIzNDUwOyYjMzI2ODE7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJ1aWxkLnByb3BlcnRpZXM8L2NvZGU+ICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5MTsmIzEyMzk4OyYjMjM0NTA7JiMzMjY4MTsmIzEyMzk1OyYjMjA3Nzg7JiMyMDgwODsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+YnVpbGQucHJvcGVydGllczwvY29kZT4gJiMxMjM5OTsmIzI3NDI1OyYjMTIzOTg7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTQ7JiMyMDg2OTsmIzIzNDgxOyYjMTIzOTE7JiMxMjM3Nzs6PC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotIyBVc2VyIENvbmZpZ3VyYXRpb246Ci0jIFRoaXMgc2VjdGlvbiBtdXN0IGJlIG1vZGlmaWVkIHRvIHJlZmxlY3QgeW91ciBzeXN0ZW0uCi0KLWxvY2FsLnNvZnR3YXJlLmhvbWUgICAgID0vZXhwb3J0L2hvbWUvZGF2ZWhvL2xpbnV4Ci0KLSMgU2V0IHRoaXMgdG8gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBEb2NCb29rIE1vZHVsYXIgWFNMIFN0eWxlc2hlZXRzCi0jICBmcm9tIGh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy94c2wvCi0KLXhzbC5zdHlsZXNoZWV0LmhvbWUgICAgID0ke2xvY2FsLnNvZnR3YXJlLmhvbWV9L2RvY2Jvb2svZG9jYm9vay14c2wtMS43MS4xCi0KLSMgU2V0IHRoaXMgdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSBTYXhvbiAoaHR0cDovL3NheG9uLnNvdXJjZWZvcmdlLm5ldC8pCi0jIGlzIGluc3RhbGxlZC4KLQotc2F4b24uaG9tZSAgICAgICAgICAgICAgPSR7bG9jYWwuc29mdHdhcmUuaG9tZX0vamF2YS9zYXhvbi02LjUuNQotCi08L3ByZT48cD4KLTwvcD48cD48Y29kZSBjbGFzcz0idmFybmFtZSI+eHNsLnN0eWxlc2hlZXQuaG9tZTwvY29kZT4gJiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7PGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZG9jYm9vay5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMveHNsLyIgdGFyZ2V0PSJfdG9wIj5Eb2NCb29rIE1vZHVsYXIgWFNMICYjMTI0NzM7JiMxMjQ3OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQ3MTsmIzEyNTQwOyYjMTI0ODg7PC9hPiYjMTIzNjQ7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTQ7JiMxMjQyNzsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzOTg7JiMzMjExODsmIzIzNTUwOyYjMTI0OTc7JiMxMjQ3MzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0ODk7JiMxMjQ2MTsmIzEyNTE3OyYjMTI1MTM7JiMxMjUzMTsmIzEyNDg4OyYjMTI0MzQ7JiMyOTk4MzsmIzI1MTA0OyYjMTIzNzU7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTI7JiMzMjc3MTsmIzEyMzYwOyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk1OyYjMTIzOTg7JiMxMjQxNTsmIzEyMjg5OyYjMTIzNzE7JiMxMjM5ODsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMyNDUxNzsmIzM1MjAxOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD48Y29kZSBjbGFzcz0idmFybmFtZSI+c2F4b24uaG9tZTwvY29kZT4gJiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7PGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vc2F4b24uc291cmNlZm9yZ2UubmV0LyIgdGFyZ2V0PSJfdG9wIj48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPlNheG9uPC9zcGFuPiBYU0xUICYjMTI1MDM7JiMxMjUyNTsmIzEyNDc1OyYjMTI0ODM7JiMxMjQ2OTsmIzEyNTQwOzwvYT4mIzEyMzY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU0OyYjMTI0Mjc7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk4OyYjMzIxMTg7JiMyMzU1MDsmIzEyNDk3OyYjMTI0NzM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDg5OyYjMTI0NjE7JiMxMjUxNzsmIzEyNTEzOyYjMTI1MzE7JiMxMjQ4ODsmIzEyNDM0OyYjMjk5ODM7JiMyNTEwNDsmIzEyMzc1OyYjMTI0MjQ7JiMxMjM1ODsmIzEyMzkyOyYjMzI3NzE7JiMxMjM2MDsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5NTsmIzEyMzk4OyYjMTI0MTU7JiMxMjI4OTsmIzEyMzcxOyYjMTIzOTg7JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSI0LiBBbnQgJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTMyNiI+PC9hPjQuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMzcxOTc7JiMyNDA2NzsmIzI5Mjg5OyYjMTIzOTg7JiMyMzYzNzsmIzM4MjgzOyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyMzk4OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyYjMTIyODk7PGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5idWlsZC5wcm9wZXJ0aWVzPC9jb2RlPig8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmxvY2FsLnByb3BlcnRpZXM8L2NvZGU+KSAmIzEyMzk4OyYjMjA0NjI7JiMyNzQ5MTsgKCYjMTIzNzE7JiMxMjQyODsmIzEyMzk5OyYjMjAyMTk7JiMyNDg0NzspICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyYjMTI0ODQ7JiMxMjU0MDsmIzEyNTIzOyAoPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5TYXhvbjwvc3Bhbj4gJiMxMjM5NDsmIzEyMzkzOykmIzEyMzk4OyYjMjk4NzI7JiMyMjY1OTsmIzI3MDgzOyYjMzE2ODk7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQyODsmIzEyNDAwOyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0MzQ7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODM7JiMxMjQxNzsmIzEyMzk4OyYjMjgzMTA7JiMyMDYzMzsmIzEyMzk5OyYjMjM0MzY7JiMyMDEwMjsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gJiMxMjM5ODsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NzsmIzEyNDI3OyYjMjYwNDE7JiMyNzg2MTsmIzEyMzk5OyYjMTIyODk7JiMyMTMzNjsmIzEyMzk1OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODQ7JiMxMjM2OTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLTxjb2RlIGNsYXNzPSJwcm9tcHQiPiQgPC9jb2RlPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmFudCA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT50YXJnZXQ8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+Ci08L3ByZT48cD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT50YXJnZXQ8L2NvZGU+PC9lbT4gJiMxMjM5NTsmIzEyMzk5OyYjMjAxOTc7JiMxOTk3OTsmIzEyMzk4OyYjMTIzNTY7JiMxMjM3ODsmIzEyNDI4OyYjMTIzNjM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7OiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5idWlsZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNDY2OyYjMTI0ODM7JiMxMjQ4ODsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMxMjQ2NzsmIzEyNTQwOyYjMTI0ODk7JiMxMjQzNDsmIzEyNDY3OyYjMTI1MzE7JiMxMjQ5NzsmIzEyNDUyOyYjMTI1MjM7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTI0Mjg7JiMxMjM5OTsmIzEyMjg5OyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzk4OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNDY2OyYjMTI0ODM7JiMxMjQ4ODsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmRvY3M8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDc5OyYjMTI1NDA7JiMxMjQ2NjsmIzEyNDgzOyYjMTI0ODg7JiMxMjM5OTsmIzEyMjg5OyYjMTI0ODk7JiMxMjQ2MTsmIzEyNTE3OyYjMTI1MTM7JiMxMjUzMTsmIzEyNDg4OyYjMTIzOTg7JiMyNTk3MjsmIzI0NDE4OyYjMTI0MzQ7JiMzNDg5MjsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsoJiMxMjQxNDsmIzEyMzgzOyYjMTIyODk7JiMyMTEwMzsmIzIwMzE2OyYjMjk5OTI7JiMxMjM5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyMzY3OyYjMTIzODg7JiMxMjM2MzsmIzEyMzk4OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTMxOyYjMTI0OTc7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MTg7JiMzNDg5MjsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyk8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnJ1bmp1bml0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4mIzEyMzcxOyYjMTIzOTg7JiMxMjQ3OTsmIzEyNTQwOyYjMTI0NjY7JiMxMjQ4MzsmIzEyNDg4OyYjMTIzOTk7JiMxMjI4OTsmIzEyNDY3OyYjMTI1MzE7JiMxMjQ5NzsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzNjQ7JiMyNTM0NTsmIzEyMzg3OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyBKVW5pdCAmIzEyNDg2OyYjMTI0NzM7JiMxMjQ4ODsmIzEyNDM0OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MTg7JiMxMjQ5MTsmIzEyNDgzOyYjMTI0ODg7JiMxMjQ4NjsmIzEyNDczOyYjMTI0ODg7JiMxMjM2NDsmIzIyODMzOyYjMjU5NDM7JiMxMjM3NTsmIzEyMzgzOyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7JiMxMjQ1NjsmIzEyNTIxOyYjMTI1NDA7JiMxMjUxMzsmIzEyNDgzOyYjMTI0NzU7JiMxMjU0MDsmIzEyNDcyOyYjMTIzNjQ7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmJpbmRpc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMxMjQ5NjsmIzEyNDUyOyYjMTI0OTA7JiMxMjUyMjsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyNDM0OyYjMjcwODM7JiMzMTY4OTsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjM5ODsmIzEyNDc5OyYjMTI1NDA7JiMxMjQ2NjsmIzEyNDgzOyYjMTI0ODg7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPi56aXA8L2NvZGU+ICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPi50YXIuZ3o8L2NvZGU+ICYjMTIzOTg7JiMxMjQ1MDsmIzEyNTQwOyYjMTI0NTk7JiMxMjQ1MjsmIzEyNTAyOyYjMTI0MzQ7JiMxMjM4MTsmIzEyNDI4OyYjMTIzODI7JiMxMjQyODsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotPC9wPjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOyYjMjQ0NjA7JiMxMjI4OTsmIzI3NDI1OyYjMTIzOTg7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTQ7JiMyMDk4NjsmIzIxMTQ3OyYjMTIzNjQ7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMTIzOTk7JiMxMjM3ODsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsgKCYjMTIzNzE7JiMxMjM5ODsmIzIxMDY5OyYjMTIzOTU7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyMzY0OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc1OyYjMTIzODM7JiMxMjQ3OTsmIzEyNDczOyYjMTI0NjM7JiMxMjM5NTsmIzM4MzA2OyYjMTIzNzc7JiMxMjQyNzsmIzEyNTEzOyYjMTI0ODM7JiMxMjQ3NTsmIzEyNTQwOyYjMTI0NzI7JiMxMjQxODsmIzEyMzU2OyYjMTIzNjc7JiMxMjQyNTsmIzEyMzYzOyYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7KTo8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLTxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+Ci1CVUlMRCBTVUNDRVNTRlVMCi1Ub3RhbCB0aW1lOiAxNyBzZWNvbmRzCi08L2NvZGU+Ci08L3ByZT48cD4KLTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjUuICYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjM2MzsmIzEyNDI1OyYjMTIzOTg7IEZpbmRCdWdzJiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlNDIwIj48L2E+NS4gJiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzYzOyYjMTI0MjU7JiMxMjM5ODsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+YnVpbGQ8L3N0cm9uZz48L3NwYW4+ICYjMTI0Nzk7JiMxMjU0MDsmIzEyNDY2OyYjMTI0ODM7JiMxMjQ4ODsmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzY0OyYjMzIwNjY7JiMyMDEwMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMTI0OTY7JiMxMjQ1MjsmIzEyNDkwOyYjMTI1MjI7JiMzNzE5NzsmIzI0MDY3OyYjMjkyODk7JiMxMjM5MjsmIzIxNTE2OyYjMjcwOTY7JiMxMjM5ODsmIzI5MzY2OyYjMjQ5MDc7JiMxMjM2NDsmIzIwMzE2OyYjMjY5ODk7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk1OyYjMjcwODM7JiMzMTY4OTsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODs8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gJiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTIzOTk7JiMzNTM1MjsmIzM2ODQ4OyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3NTsmIzEyMzgzOyYjMTIzNjQ7JiMxMjM4NzsmIzEyMzkwOyYjMTIyODk7PGEgY2xhc3M9InhyZWYiIGhyZWY9InJ1bm5pbmcuaHRtbCIgdGl0bGU9IiYjMzE1MzI7NCYjMzE0NTY7IEZpbmRCdWdzJiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsiPjQmIzMxNDU2OzxpPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L2k+PC9hPiAmIzEyMzk4OyAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM5NTsmIzM4MzA2OyYjMTIzNzc7JiMxMjQyNzsmIzI0NzczOyYjMjI1Nzc7JiMxMjM5OTsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk4OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk1OyYjMTI0MTg7JiMyNDU0MDsmIzI5OTkyOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJpbnN0YWxsaW5nLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9InJ1bm5pbmcuaHRtbCI+JiMyNzQyNTsmIzEyNDA4OzwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPiYjMzE1MzI7MiYjMzE0NTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+JiMxMjUwNzsmIzEyNTQwOyYjMTI1MTI7PC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwOyYjMzE1MzI7NCYjMzE0NTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZGF0YW1pbmluZy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9kYXRhbWluaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxYjk3ZjkuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9kYXRhbWluaW5nLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyODAgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT4mIzMxNTMyOzEyJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTU7JiMxMjQyNDsmIzEyNDI3OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1Mzk7JiMxMjUxMDsmIzEyNDUyOyYjMTI0OTE7JiMxMjUzMTsmIzEyNDY0OzwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43Ni4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyAmIzEyNTEwOyYjMTI0OTE7JiMxMjUxNzsmIzEyNDUwOyYjMTI1MjM7Ij48bGluayByZWw9InByZXYiIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCIgdGl0bGU9IiYjMzE1MzI7MTEmIzMxNDU2OyByZWphckZvckFuYWx5c2lzICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTsiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0ibGljZW5zZS5odG1sIiB0aXRsZT0iJiMzMTUzMjsxMyYjMzE0NTY7ICYjMTI1MjE7JiMxMjQ1MjsmIzEyNDc1OyYjMTI1MzE7JiMxMjQ3MzsiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPiYjMzE1MzI7MTImIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgJiMxMjM5NTsmIzEyNDI0OyYjMTI0Mjc7JiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjUzOTsmIzEyNTEwOyYjMTI0NTI7JiMxMjQ5MTsmIzEyNTMxOyYjMTI0NjQ7PC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0icmVqYXJGb3JBbmFseXNpcy5odG1sIj4mIzI1MTQ3OyYjMTI0Mjc7PC9hPiZuYnNwOzwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWNlbnNlLmh0bWwiPiYjMjc0MjU7JiMxMjQwODs8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImNoYXB0ZXIiIHRpdGxlPSImIzMxNTMyOzEyJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTU7JiMxMjQyNDsmIzEyNDI3OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1Mzk7JiMxMjUxMDsmIzEyNDUyOyYjMTI0OTE7JiMxMjUzMTsmIzEyNDY0OyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZGF0YW1pbmluZyI+PC9hPiYjMzE1MzI7MTImIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgJiMxMjM5NTsmIzEyNDI0OyYjMTI0Mjc7JiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjUzOTsmIzEyNTEwOyYjMTI0NTI7JiMxMjQ5MTsmIzEyNTMxOyYjMTI0NjQ7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPiYjMzA0NDY7JiMyNzQyNTs8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjY29tbWFuZHMiPjEuICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNleGFtcGxlcyI+Mi4gJiMyMDM2Mzs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZGF0YW1pbmluZy5odG1sI2FudGV4YW1wbGUiPjMuIEFudCAmIzEyMzk4OyYjMjAzNjM7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kaXY+PHA+JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTI0MDg7JiMxMjM5ODsmIzM5NjQwOyYjMjcyMzE7JiMzMzAyMTsmIzEyMzk4OyYjMjE4Mzk7JiMxMjM1NjsmIzIxNTEyOyYjMTI0MzE7JiMxMjM3OTsmIzI3MjMxOyYjMzMwMjE7JiMxMjI4OTsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzEyMjg5OyYjMzU1MTk7JiMyNjYxOTsmIzIzNTUwOyYjMzU5Mzc7JiMxMjM5ODsmIzEyNDY3OyYjMTI1NDA7JiMxMjQ4OTsmIzEyMzk4OyYjMzUwNzk7JiMyNTk2ODsmIzEyMzk4OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk1OyYjMTI0MzE7JiMxMjM4MzsmIzEyNDI3OyYjMzU2ODY7JiMyMTU3ODsmIzEyMzk4OyYjMzY4NjE7JiMzNjMyMTsmIzM1MzUyOyYjMzc2ODI7JiMyNzIzMTsmIzMzMDIxOyYjMTI0MzQ7JiMxMjI4OTsgRmluZEJ1Z3MgJiMxMjM5OTsmIzIwODY5OyYjMzQxMDE7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyNDI4OyYjMTI0MjU7JiMxMjQzNDsmIzIwMzUxOyYjMTIzODc7JiMxMjM5MDsmIzI3NDI1OyYjMTIzOTg7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTQ7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzc7JiMxMjM5NDsmIzEyNDMxOyYjMTIzODU7JiMxMjI4OTsmIzEyMzU2OyYjMTIzODg7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzNjQ7JiMyNjM2ODsmIzIxMDIxOyYjMjUzNDU7JiMxMjM4NTsmIzM2Nzk2OyYjMTI0MTQ7JiMxMjQyODsmIzEyMzgzOyYjMTIzNjM7JiMxMjQzNDsmIzI1NDM2OyYjMTIzNzU7JiMyMDk4NjsmIzEyMzc3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMjg5OyYjMjYzNjg7JiMzMjA2NjsmIzEyNTIyOyYjMTI1MjI7JiMxMjU0MDsmIzEyNDczOyYjMjAxOTc7JiMyNDQ2MDsmIzI1MzQ1OyYjMTIzODU7JiMzNjc5NjsmIzEyNDE0OyYjMTI0Mjg7JiMxMjM4MzsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzIwOTk4OyYjMjY1MTI7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTg7JiMxMjM3MTsmIzEyMzkyOyYjMTIyODk7JiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7JiMxMjI4OTsmIzI4OTYxOyYjMzg0ODA7JiMyMDg3NzsmIzM2MjE1OyYjMTI1MjM7JiMxMjU0MDsmIzEyNTAzOyYjMTIzOTg7JiMyNTk2ODsmIzEyNDM0OyYjMjYxNzg7JiMzODI5MTsmIzM2NjAwOyYjMTIzOTE7JiMxMjQ2NDsmIzEyNTIxOyYjMTI1MDE7JiMxMjM5NTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzEyMzcxOyYjMTI0Mjg7JiMxMjQyNTsmIzEyMzk4OyYjMjUyMTY7JiMzNDg5OTsmIzEyMzk5OyYjMTIyODk7IEZpbmRCdWdzICYjMTIzNjQ7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMyMDQ0NTsmIzIzMzg0OyYjMTIzOTU7JiMyMDM1MTsmIzEyMzU4OyBYTUwgJiMyNjM2MDsmIzI0MzM1OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyNDI4OyYjMTI0MjU7JiMxMjM5ODsgWE1MICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5OTsmIzEyMjg5OyYjMzY4OTA7JiMyNDEyMDsmIzEyMjg5OyYjMjkzMDU7JiMyMzQ1MDsmIzEyMzk4OyAxICYjMjA5OTg7JiMyNjUxMjsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NzsmIzEyNDI3OyYjMzU2ODY7JiMyMTU3ODsmIzEyMzY0OyYjMjA4Mzc7JiMxMjQyODsmIzEyNDI1OyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzU7JiMxMjM2MzsmIzEyMzc1OyYjMTIzODE7JiMxMjQyODsmIzEyNDI1OyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyYjMTk5Njg7JiMzNjg5OTsmIzEyMzk4OyYjMTI0Nzc7JiMxMjUwMTsmIzEyNDg4OyYjMTI0NTQ7JiMxMjQ1NTsmIzEyNDUwOyYjMTIzOTg7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjQyMDsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsmIzIwOTk4OyYjMjY1MTI7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMyNjY4NDsmIzMyMDEzOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQxODsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIzOTg7IEZpbmRCdWdzIFhNTCAmIzEyNDk2OyYjMTI0NjQ7JiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjUwNTsmIzEyNTQwOyYjMTI0NzM7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMjE1MTc7JiMxMjM5MjsmIzEyNDc5OyYjMTI0NTI7JiMxMjUxMjsmIzEyNTM5OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNTMxOyYjMTI1MDM7ICYjMTIzNjQ7JiMyMDgzNzsmIzEyNDI4OyYjMTI0MjU7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7RmluZEJ1Z3MgJiMxMjM5OTsmIzIwOTk4OyYjMjY1MTI7JiMxMjM2NDsmIzM0ODkyOyYjMTI0MzE7JiMxMjQyODsmIzEyNDI3OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5ODsmIzI2MzU2OyYjMjYwMzI7JiMyNjE3ODsmIzIxMDUxOyYjMTIzNjM7JiMxMjQyNTsmIzEyNDc5OyYjMTI0NTI7JiMxMjUxMjsmIzEyNTM5OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNTMxOyYjMTI1MDM7JiMxMjQzNDsmIzM1MzM2OyYjMzE2Mzk7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7ICgmIzIwMzYzOyYjMTIzNjA7JiMxMjQwMDsmIzEyMjg5OyYjMTI0Nzk7JiMxMjQ1MjsmIzEyNTEyOyYjMTI1Mzk7JiMxMjQ3MzsmIzEyNDc5OyYjMTI1MzE7JiMxMjUwMzsmIzEyMzk5OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5ODsmIzI5OTgzOyYjMjUxMDQ7JiMyNjE3ODsmIzIxMDUxOyYjMTIzOTU7JiMxMjM5NDsmIzEyNDI3OyYjMTI0MjQ7JiMxMjM1ODsmIzEyMzk1OyYjMTIzOTQ7JiMxMjM4NzsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMDk5ODsmIzI2NTEyOyYjMTIzNjQ7JiMzNDg5MjsmIzEyNDMxOyYjMTI0Mjg7JiMxMjM4MzsmIzI2MTc4OyYjMjEwNTE7JiMxMjM5MTsmIzEyMzk5OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzk7JiMxMjQzNTspICYjMTIyOTA7JiMyMTUwODsmIzEyMjkzOyYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzIxNTE3OyYjMTI0MTg7JiMyMDgzNzsmIzEyNDI4OyYjMTI0MjU7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMjE1MTc7JiMxMjM5MjsmIzEyNDc5OyYjMTI0NTI7JiMxMjUxMjsmIzEyNTM5OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNTMxOyYjMTI1MDM7JiMxMjM5OTsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5zZXRCdWdEYXRhYmFzZUluZm88L3N0cm9uZz48L3NwYW4+ICg8YSBjbGFzcz0ieHJlZiIgaHJlZj0iZGF0YW1pbmluZy5odG1sI3NldEJ1Z0RhdGFiYXNlSW5mbyIgdGl0bGU9IjEuNy4gc2V0QnVnRGF0YWJhc2VJbmZvIj4mIzEyMzAwO3NldEJ1Z0RhdGFiYXNlSW5mbyYjMTIzMDE7PC9hPikgJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMyNTE2MzsmIzIxMjA1OyYjMTIzOTE7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQxODsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMzUwNzk7JiMyNTk2ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzI2Njg0OyYjMzIwMTM7JiMxMjM3NzsmIzEyNDI3OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk1OyYjMTIzNjI7JiMxMjM1NjsmIzEyMzkwOyYjMTIzOTk7JiMxMjI4OTsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjQ2NzsmIzEyNTQwOyYjMTI0ODk7JiMxMjM5ODsmIzIxNTA4OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzcyOyYjMTIzOTI7JiMxMjM5NTsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ2NTsmIzEyNTMxOyYjMTI0NzM7JiMzMDA1ODsmIzIxNDk1OyYjMTIzNjQ7JiMyMTEwNjsmIzEyNDI2OyYjMjQ0MDM7JiMxMjM5MDsmIzEyNDI1OyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyNDI4OyYjMTI0MjU7JiMxMjM5ODsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ2NTsmIzEyNTMxOyYjMTI0NzM7JiMzMDA1ODsmIzIxNDk1OyYjMTIzOTk7JiMyMTMzNjsmIzEyMzk1OyAwICYjMTIzNjM7JiMxMjQyNTsmIzIyOTg3OyYjMTI0MTQ7JiMxMjQyNzsmIzM2ODk5OyYjMzIxNTQ7JiMxMjM3NzsmIzEyNDI3OyYjMjU5NzI7JiMyNTk2ODsmIzIwNTE2OyYjMTIzOTE7JiMxMjM3NzsgKCYjMjAzNjM7JiMxMjM2MDsmIzEyNDAwOyYjMTIyODk7IDQgJiMxMjM4ODsmIzEyMzk4OyYjMTI0Njc7JiMxMjU0MDsmIzEyNDg5OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMjY2ODQ7JiMzMjAxMzsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsgMH4zICYjMTIzNjQ7JiMyMDgzNzsmIzEyNDI4OyYjMTI0MjU7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7KSAmIzEyMjkwOyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk1OyYjMTIzOTk7JiMxMjQxNDsmIzEyMzgzOyYjMTIyODk7JiMyMTUwODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5ODsmIzIxNTE3OyYjMjEwNjk7JiMxMjM5MjsmIzEyNDc5OyYjMTI0NTI7JiMxMjUxMjsmIzEyNTM5OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNTMxOyYjMTI1MDM7JiMxMjM2NDsmIzEyMzgxOyYjMTI0Mjg7JiMxMjM4MjsmIzEyNDI4OyYjMzUzNTI7JiMzNzY4MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZmlsdGVyQnVnczwvc3Ryb25nPjwvc3Bhbj4gJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMTI0NzE7JiMxMjU0MDsmIzEyNDY1OyYjMTI1MzE7JiMxMjQ3MzsmIzMwMDU4OyYjMjE0OTU7JiMxMjI4OTsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMyMTUxNzsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyNDc5OyYjMTI0NTI7JiMxMjUxMjsmIzEyNTM5OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNTMxOyYjMTI1MDM7JiMxMjM2MzsmIzEyNDI1OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4xICYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMjY2ODQ7JiMzMjAxMzsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTg7JiMzODU5ODsmIzIxNTEyOyYjMTIzNjM7JiMxMjQyNTsmIzEyMjg5OyAxICYjMjA0OTE7JiMxMjM5ODsmIzM1MDc5OyYjMjU5Njg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDM0OyYjMjAzMTY7JiMyNTEwNDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyYjMzUwNzk7JiMyNTk2ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc1OyYjMTIzOTA7JiMxMjI4OTsmIzEyMzgxOyYjMTI0Mjg7JiMyMDE5NzsmIzI0NDYwOyYjMTIzOTU7JiMyMDMxNjsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyAxICYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDM0OyYjMzIwODA7JiMyMTUxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzEyMzcxOyYjMTI0Mjg7JiMxMjQyNTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyMzU2OyYjMTIzNjc7JiMxMjM4ODsmIzEyMzYzOyYjMTIzOTk7JiMxMjI4OTsgYW50ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTI7JiMxMjM3NTsmIzEyMzkwOyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMyNjA0MTsmIzI3ODYxOyYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyYjMjM2NDY7JiMyNDYxNTsmIzEyNTM5OyYjMjQzNDE7JiMyNTk2ODsmIzEyMzk4OyYjMzU0NDM7JiMzMjA0ODsmIzEyMzk5OyYjMTIyODk7JiMyMDE5NzsmIzE5OTc5OyYjMTI0MzQ7JiMyMTQ0MjsmIzI5MDMxOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMyMDE5NzsmIzE5OTc5OyYjMTIzOTg7JiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMxMjM5ODsmIzIwMzYzOyYjMTIzOTU7JiMxMjM2MjsmIzEyMzU2OyYjMTIzOTA7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZmluZGJ1Z3MubGliPC9jb2RlPiA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cmVmaWQ8L2NvZGU+ICYjMTIzNjQ7JiMyNzQ5MTsmIzEyMzc1OyYjMTIzNjc7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQzNDsmIzIxMDY5OyYjMjU1NTI7JiMxMjM5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzM1MzczOyYjMjM0NTA7JiMyNjA0MTsmIzI3ODYxOyYjMTIzOTg7JiMxOTk2ODsmIzIwMzYzOyYjMTI0MzQ7JiMyNzQyNTsmIzEyMzk1OyYjMzEwMzQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7IDo8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0gICAmbHQ7IS0tIGZpbmRidWdzICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMjM0NTA7JiMzMjY4MTsgLS0mZ3Q7Ci0gICAmbHQ7cHJvcGVydHkgbmFtZT0iZmluZGJ1Z3MuaG9tZSIgdmFsdWU9Ii95b3VyL3BhdGgvdG8vZmluZGJ1Z3MiIC8mZ3Q7Ci0gICAmbHQ7cGF0aCBpZD0iZmluZGJ1Z3MubGliIiZndDsKLSAgICAgICZsdDtmaWxlc2V0IGRpcj0iJHtmaW5kYnVncy5ob21lfS9saWIiJmd0OwotICAgICAgICAgJmx0O2luY2x1ZGUgbmFtZT0iZmluZGJ1Z3MtYW50LmphciIvJmd0OwotICAgICAgJmx0Oy9maWxlc2V0Jmd0OwotICAgJmx0Oy9wYXRoJmd0OwotCi08L3ByZT48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjEuICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImNvbW1hbmRzIj48L2E+MS4gJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPkZpbmRCdWdzICYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1Mzk7JiMxMjUxMDsmIzEyNDUyOyYjMTI0OTE7JiMxMjUzMTsmIzEyNDY0OyAmIzEyNDg0OyYjMTI1NDA7JiMxMjUyMzsmIzEyMzk5OyYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjM2MzsmIzEyNDI1OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyYjMTIzNTY7JiMxMjM2NzsmIzEyMzg4OyYjMTIzNjM7JiMxMjM5ODsmIzEyNDI0OyYjMTI0MjY7JiMyNjM3NzsmIzI5OTkyOyYjMTIzOTQ7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyMzk5OyYjMTIyODk7IGFudCAmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzNjM7JiMxMjQyNTsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDg0OyYjMTI1NDA7JiMxMjUyMzsmIzEyMzk1OyYjMTIzODg7JiMxMjM1NjsmIzEyMzkwOyYjMzE3Nzc7JiMyMTMzNjsmIzEyMzk1OyYjMzU1MDA7JiMyNjEyNjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsgOjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkYXRhbWluaW5nLmh0bWwjdW5pb25CdWdzIiB0aXRsZT0iMS4xLiB1bmlvbkJ1Z3MiPnVuaW9uQnVnczwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjEwMjk7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NzsmIzEyNDI3OyYjMjEwMjk7JiMyMDQ5MTsmIzEyMzk4OyYjMjA5OTg7JiMyNjUxMjsmIzMyMDgwOyYjMjY1MjQ7JiMxMjQzNDsmIzMyMDgwOyYjMjE1MTI7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkYXRhbWluaW5nLmh0bWwjY29tcHV0ZUJ1Z0hpc3RvcnkiIHRpdGxlPSIxLjIuIGNvbXB1dGVCdWdIaXN0b3J5Ij5jb21wdXRlQnVnSGlzdG9yeTwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMzUwNzk7JiMyNTk2ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM2MzsmIzEyNDI1OyYjMjQ0NzE7JiMxMjQyNTsmIzEyNDI4OyYjMTIzODM7JiMzNTA3OTsmIzI1OTY4OyYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMzU2ODY7JiMyMTU3ODsmIzEyNDM0OyYjMTIyODk7JiMxMjUxMDsmIzEyNTQwOyYjMTI0NzI7JiMxMjM3NTsmIzEyMzkwOyAxICYjMjA0OTE7JiMxMjM5ODsmIzM1MDc5OyYjMjU5Njg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk1OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyNDI4OyYjMTI0MzQ7JiMyMDM1MTsmIzEyMzg3OyYjMTIzOTA7JiMxMjI4OTsmIzI2MDgyOyYjMjMzODQ7JiMxMjM5ODsmIzM1MDc5OyYjMjU5Njg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk1OyYjMjYzNTY7JiMxMjM5NTsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzM2ODYxOyYjMjExNTI7JiMxMjM3NTsmIzEyMzgzOyYjMTI0MjY7JiMxMjI4OTsgMSAmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzI2Njg0OyYjMzIwMTM7JiMxMjM3NzsmIzEyNDI3OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk4OyYjMzg1OTg7JiMyMTUxMjsmIzEyMzYzOyYjMTI0MjU7IDEgJiMyMDQ5MTsmIzEyMzk4OyYjMzUwNzk7JiMyNTk2ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTI0MzQ7JiMyMDMxNjsmIzI1MTA0OyYjMTIzNzU7JiMxMjM4MzsmIzEyNDI2OyYjMTIyODk7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNzZXRCdWdEYXRhYmFzZUluZm8iIHRpdGxlPSIxLjcuIHNldEJ1Z0RhdGFiYXNlSW5mbyI+c2V0QnVnRGF0YWJhc2VJbmZvPC9hPjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjUyMjsmIzEyNDk5OyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMjE1MTc7JiMxMjQyMDsmIzEyNDc5OyYjMTI0NTI7JiMxMjUxMjsmIzEyNTM5OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNTMxOyYjMTI1MDM7JiMxMjM5NDsmIzEyMzkzOyYjMTIzOTg7JiMyNDc3MzsmIzIyNTc3OyYjMTI0MzQ7IFhNTCAmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk1OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNsaXN0QnVnRGF0YWJhc2VJbmZvIiB0aXRsZT0iMS44LiBsaXN0QnVnRGF0YWJhc2VJbmZvIj5saXN0QnVnRGF0YWJhc2VJbmZvPC9hPjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+WE1MICYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTU7JiMxMjM1NDsmIzEyNDI3OyYjMTI1MjI7JiMxMjQ5OTsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzIxNTE3OyYjMTI0MjA7JiMxMjQ3OTsmIzEyNDUyOyYjMTI1MTI7JiMxMjUzOTsmIzEyNDczOyYjMTI0Nzk7JiMxMjUzMTsmIzEyNTAzOyYjMTIzOTQ7JiMxMjM5MzsmIzEyMzk4OyYjMjQ3NzM7JiMyMjU3NzsmIzEyNDM0OyYjMTk5Njg7JiMzNTIzOTsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkYXRhbWluaW5nLmh0bWwjZmlsdGVyQnVncyIgdGl0bGU9IjEuMy4gZmlsdGVyQnVncyI+ZmlsdGVyQnVnczwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMTI0OTY7JiMxMjQ2NDsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk4OyYjMzcwOTY7JiMyMDk5ODsmIzM4NTk4OyYjMjE1MTI7JiMxMjQzNDsmIzM2OTg0OyYjMjUyNDY7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkYXRhbWluaW5nLmh0bWwjbWluZUJ1Z0hpc3RvcnkiIHRpdGxlPSIxLjQuIG1pbmVCdWdIaXN0b3J5Ij5taW5lQnVnSGlzdG9yeTwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMzUwNzk7JiMyNTk2ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTg7JiMyMTUwODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMyNzU5ODsmIzEyMzk4OyYjMzU2ODY7JiMyMTU3ODsmIzI1OTY4OyYjMTI0MzQ7JiMxOTk2ODsmIzM1MjM5OyYjMTIzOTU7JiMxMjM3NTsmIzEyMzgzOyYjMzQ5MjA7JiMxMjQzNDsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkYXRhbWluaW5nLmh0bWwjZGVmZWN0RGVuc2l0eSIgdGl0bGU9IjEuNS4gZGVmZWN0RGVuc2l0eSI+ZGVmZWN0RGVuc2l0eTwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMjA4NDA7JiMyMDMwNzsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzI3NTk4OyYjMTI1Mzk7JiMxMjQ5NzsmIzEyNDgzOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcyOyYjMjc1OTg7JiMxMjM5ODsmIzE5OTgxOyYjMzMzOTE7JiMyMzQ5NDsmIzI0MjMwOyAoMTAwMCBOQ1NTICYjMjc1OTg7JiMxMjM5ODsmIzM1Njg2OyYjMjE1Nzg7JiMyNTk2ODspICYjMTIzOTU7JiMzODMwNjsmIzEyMzc3OyYjMTI0Mjc7JiMyNDc3MzsmIzIyNTc3OyYjMTI0MzQ7JiMxOTk2ODsmIzM1MjM5OyYjMzQ5MjA7JiMzMTAzNDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNjb252ZXJ0WG1sVG9UZXh0IiB0aXRsZT0iMS42LiBjb252ZXJ0WG1sVG9UZXh0Ij5jb252ZXJ0WG1sVG9UZXh0PC9hPjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+WE1MICYjMjQ0MTg7JiMyNDMzNTsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzM1Njg2OyYjMjE1Nzg7JiMxMjQzNDsmIzEyMjg5OyAxICYjMzQ4OTI7IDEgJiMxMjQ5NjsmIzEyNDY0OyYjMTIzOTg7JiMxMjQ4NjsmIzEyNDYxOyYjMTI0NzM7JiMxMjQ4ODsmIzI0NDE4OyYjMjQzMzU7JiMxMjI4OTsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyMjg5O0hUTUwmIzI0NDE4OyYjMjQzMzU7JiMxMjM5NTsmIzIyNzkzOyYjMjU1NjM7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48L2RsPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QyIiB0aXRsZT0iMS4xLiB1bmlvbkJ1Z3MiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9InVuaW9uQnVncyI+PC9hPjEuMS4gdW5pb25CdWdzPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD4mIzIwOTk4OyYjMjY1MTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTg7JiMxMjM5NTsmIzEyNDUwOyYjMTI1MDM7JiMxMjUyMjsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5ODsgamFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzIwOTk4OyYjMjExMDY7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjI4OTsmIzEyMzcxOyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjI4OTsmIzIxMDI5OyYjMjA0OTE7JiMxMjM5NTsmIzI5OTgzOyYjMjUxMDQ7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7IFhNTCAmIzEyNDk2OyYjMTI0NjQ7JiMzNTY4NjsmIzIxNTc4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzEyMzc3OyYjMTI0MDk7JiMxMjM5MDsmIzEyMzk4OyYjMzU2ODY7JiMyMTU3ODsmIzEyNDM0OyYjMjE1NDc7JiMxMjQzNTsmIzEyMzkxOyYjMTIzNTY7JiMxMjQyNzsgMSAmIzEyMzg4OyYjMTIzOTg7ICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5NTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzIxNTE2OyYjMTIzNzY7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk4OyYjMzAwNjQ7JiMxMjM5NDsmIzEyNDI3OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMjA5OTg7JiMyNjUxMjsmIzEyMzc1OyYjMTIzODM7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMzMjA4MDsmIzIxNTEyOyYjMTIzNzc7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5OTsmIzEyMjg5OyYjMTIzNzE7JiMxMjM5ODsmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI0MzQ7PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5NDsmIzEyMzU2OyYjMTIzOTE7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1Njs8L2VtPjwvc3Bhbj4mIzEyMjkwOyYjMjAxOTU7JiMxMjQzMTsmIzEyNDI2OyYjMTIzOTU7IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmNvbXB1dGVCdWdIaXN0b3J5PC9zdHJvbmc+PC9zcGFuPiAmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48cD5YTUwgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk5OyYjMTIyODk7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyYjMzIwODA7JiMyNjUyNDsmIzEyMzk5OyYjMTIyODk7JiMyNzE2MTsmIzI4MzEwOyYjMjA5ODY7JiMyMTE0NzsmIzEyMzk1OyYjMzY4NjU7JiMxMjQyNTsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjEuMi4gY29tcHV0ZUJ1Z0hpc3RvcnkiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImNvbXB1dGVCdWdIaXN0b3J5Ij48L2E+MS4yLiBjb21wdXRlQnVnSGlzdG9yeTwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIyODk7JiMyMDk5ODsmIzI2NTEyOyYjMTIzNzc7JiMxMjQyNzsmIzEyNDc3OyYjMTI1MDE7JiMxMjQ4ODsmIzEyNDU0OyYjMTI0NTU7JiMxMjQ1MDsmIzEyMzk4OyYjMzAwNjQ7JiMxMjM5NDsmIzEyNDI3OyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyYjMjQ3NzM7JiMyMjU3NzsmIzEyNDM0OyYjMjE1NDc7JiMxMjQxNjsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjUwNTsmIzEyNTQwOyYjMTI0NzM7JiMxMjQzNDsmIzI5OTgzOyYjMjUxMDQ7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMyMDgzNzsmIzIxMTQ3OyYjMTIzOTI7JiMxMjM3NTsmIzEyMzkwOyYjMjU1NTI7JiMyMDM3OTsmIzEyMzc1OyYjMTIzODM7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk4OyAxICYjMzAwNTg7JiMzMDQ0NjsmIzEyMzk4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM2MzsmIzEyNDI1OyYjMjM2NTM7JiMyNzUwODsmIzEyMzY0OyYjMjE0NjI7JiMyNDQ3MTsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyNDQ2MDsmIzEyMzk1OyYjMzIxNTQ7JiMxMjM2NzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTk7IDEgJiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTE7JiMxMjM1NDsmIzEyNDI3OyYjMTI0MjQ7JiMxMjM1ODsmIzEyMzk1OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyAoJiMxMjQxODsmIzEyMzc1OyYjMTIyODk7JiMyMzY1MzsmIzI3NTA4OyYjMTI0MzQ7JiMyNTM0NTsmIzEyMzg3OyYjMTIzOTA7JiMxMjM1NjsmIzEyMzgzOyYjMTIzOTI7JiMxMjM3NTsmIzEyMzkwOyYjMTI0MTg7JiMyODk2MTsmIzM1MjIyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7KSAmIzEyMjkwOzwvcD48cD4mIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7JiMzMjA4MDsmIzI2NTI0OyYjMTIzOTk7JiMyNzE2MTsmIzI4MzEwOyYjMjA5ODY7JiMyMTE0NzsmIzEyMzk1OyYjMzY4NjU7JiMxMjQyNTsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzEyMzcxOyYjMTIzOTg7JiMyNzIzMTsmIzMzMDIxOyYjMTIzOTk7JiMxMjI4OTsgYW50ICYjMTIzNjM7JiMxMjQyNTsmIzEyNDE4OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0MTQ7JiMxMjM3ODsmIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTI0MjQ7JiMxMjM1ODsmIzEyMzk1OyYjMTIyODk7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk1OyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5jb21wdXRlQnVnSGlzdG9yeTwvc3Ryb25nPjwvc3Bhbj4gJiMxMjQzNDsgdGFza2RlZiAmIzEyMzkxOyYjMjM0NTA7JiMzMjY4MTsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsgOjwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSZsdDt0YXNrZGVmIG5hbWU9ImNvbXB1dGVCdWdIaXN0b3J5IiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5Db21wdXRlQnVnSGlzdG9yeVRhc2siJmd0OwotICAgICZsdDtjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLyZndDsKLSZsdDsvdGFza2RlZiZndDsKLQotPC9wcmU+PHA+JiMxMjM3MTsmIzEyMzk4OyBhbnQgJiMxMjQ3OTsmIzEyNDczOyYjMTI0NjM7JiMxMjM5NTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5MTsmIzEyMzY1OyYjMTI0Mjc7JiMyMzY0NjsmIzI0NjE1OyYjMTI0MzQ7JiMxMjI4OTsmIzE5OTc5OyYjMzQ5MjA7JiMxMjM5NTsmIzE5OTY4OyYjMzUyMzk7JiMxMjM5MTsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMDgzNzsmIzIxMTQ3OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O2RhdGFmaWxlJmd0OzwvY29kZT4gJiMzNTIwMTsmIzMyMDMyOyYjMTI0MzQ7JiMyMDgzNzsmIzEyNDI4OyYjMjMzNzY7JiMxMjM5NTsmIzEyMzc1OyYjMTIzOTA7JiMyMDgzNzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyYjMjc0MjU7JiMxMjM5NTsmIzEyMjg5OyYjMjAzNjM7JiMxMjQzNDsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3Ozo8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7Y29tcHV0ZUJ1Z0hpc3RvcnkgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIgLi4uJmd0OwotICAgICZsdDtkYXRhZmlsZSBuYW1lPSJhbmFseXplMS54bWwiLyZndDsKLSAgICAmbHQ7ZGF0YWZpbGUgbmFtZT0iYW5hbHl6ZTIueG1sIi8mZ3Q7Ci0mbHQ7L2NvbXB1dGVCdWdIaXN0b3J5Jmd0OwotCi08L3ByZT48ZGl2IGNsYXNzPSJ0YWJsZSI+PGEgbmFtZT0iY29tcHV0ZUJ1Z0hpc3RvcnlUYWJsZSI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+JiMzNDkyMDsxMi4xIGNvbXB1dGVCdWdIaXN0b3J5ICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OzwvYj48L3A+PGRpdiBjbGFzcz0idGFibGUtY29udGVudHMiPjx0YWJsZSBzdW1tYXJ5PSJjb21wdXRlQnVnSGlzdG9yeSAmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTIzOTg7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTk5Njg7JiMzNTIzOTsiIGJvcmRlcj0iMSI+PGNvbGdyb3VwPjxjb2w+PGNvbD48Y29sPjwvY29sZ3JvdXA+PHRoZWFkPjx0cj48dGggYWxpZ249ImxlZnQiPiYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOzwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5BbnQgJiMyMzY0NjsmIzI0NjE1OzwvdGg+PHRoIGFsaWduPSJsZWZ0Ij4mIzMwNDQ2OyYjMzAzNDA7PC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgYWxpZ249ImxlZnQiPi1vdXRwdXQgJmx0O2ZpbGUmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPm91dHB1dD0iJmx0O2ZpbGUmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIwOTg2OyYjMjExNDc7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMyMDQ0NTsmIzIzMzg0OyYjMTIzNzc7JiMxMjQyNzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMjE1MTc7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsgKCYjMjE1MTY7JiMyNjE3ODsmIzEyMzk1OyYjMjA4Mzc7JiMyMTE0NzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTU7JiMxMjQxODsmIzEyMzk0OyYjMTI0MjY7JiMxMjM2MDsmIzEyNDE0OyYjMTIzNzc7KTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tb3ZlcnJpZGVSZXZpc2lvbk5hbWVzWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+b3ZlcnJpZGVSZXZpc2lvbk5hbWVzPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMyMTUxNzsmIzEyMzYzOyYjMTI0MjU7JiMzMTYzOTsmIzIwOTg2OyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMTIzODE7JiMxMjQyODsmIzEyMzgyOyYjMTI0Mjg7JiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMyMTUxNzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzIyNzkzOyYjMjYzNTY7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LW5vUGFja2FnZU1vdmVzWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+bm9QYWNrYWdlTW92ZXM9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjQ5NzsmIzEyNDgzOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcyOyYjMTI0MzQ7JiMzMTIyNzsmIzIxMjA1OyYjMTIzNzU7JiMxMjM4MzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjI4OTsmIzI0NDAzOyYjMzU0NDI7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5ODsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5OTsmIzIxMDI5OyYjMTIzOTg7JiMyMzM4NDsmIzIyMzEyOyYjMTIzOTI7JiMxMjM3NTsmIzEyMzkwOyYjMjUyMDE7JiMxMjQzMTsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tcHJlY2lzZU1hdGNoWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cHJlY2lzZU1hdGNoPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI0OTY7JiMxMjQ2NDsmIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMTIzNjQ7JiMyNzQ5MTsmIzMwOTA2OyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQzNDsmIzM1MjAxOyYjMjc3MTQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXByZWNpc2VQcmlvcml0eU1hdGNoWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cHJlY2lzZVByaW9yaXR5TWF0Y2g9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7JiMxMjM2NDsmIzI3NDkxOyYjMzA5MDY7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3NTsmIzEyMzgzOyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk4OyYjMTI0MTU7JiMzNTY4NjsmIzIxNTc4OyYjMTIzNjQ7JiMyMTUxNjsmIzE5OTY4OyYjMTIzOTE7JiMxMjM1NDsmIzEyNDI3OyYjMTIzOTI7JiMyMTAyODsmIzI2MDI5OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXF1aWV0Wzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cXVpZXQ9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjQ1NjsmIzEyNTIxOyYjMTI1NDA7JiMxMjM2NDsmIzMwMzMwOyYjMjk5ODM7JiMxMjM3NTsmIzEyMzk0OyYjMTIzNTY7JiMzODQ4MDsmIzEyNDI2OyYjMTIyODk7JiMyNzE2MTsmIzI4MzEwOyYjMjA5ODY7JiMyMTE0NzsmIzEyMzk1OyYjMTIzOTk7JiMyMDMwOTsmIzEyNDE4OyYjMzQ5MjA7JiMzMTAzNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXdpdGhNZXNzYWdlc1s6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPndpdGhNZXNzYWdlcz0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIwOTg2OyYjMjExNDc7IFhNTCAmIzEyMzk1OyYjMjAxNTQ7JiMzODI5MTsmIzEyMzY0OyYjMzU1MDE7JiMxMjQxNjsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQyNzsmIzEyNDk2OyYjMTI0NjQ7JiMxMjUxMzsmIzEyNDgzOyYjMTI0NzU7JiMxMjU0MDsmIzEyNDcyOyYjMTIzNjQ7JiMyMTU0NzsmIzEyNDE0OyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48YnIgY2xhc3M9InRhYmxlLWJyZWFrIj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjEuMy4gZmlsdGVyQnVncyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZmlsdGVyQnVncyI+PC9hPjEuMy4gZmlsdGVyQnVnczwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIyODk7IEZpbmRCdWdzIFhNTCAmIzM1Njg2OyYjMjE1Nzg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzYzOyYjMTI0MjU7JiMxOTk2ODsmIzM3MDk2OyYjMjA5OTg7JiMxMjQzNDsmIzM2OTg0OyYjMTI0MDM7JiMyMDk4NjsmIzEyMzc1OyYjMTIzOTA7JiMyNjAzMjsmIzM1MjE1OyBGaW5kQnVncyAmIzM1Njg2OyYjMjE1Nzg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk1OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzczOyYjMTI0Mjg7JiMxMjM4MzsmIzM3MDk2OyYjMjA5OTg7JiMxMjQzNDsmIzI2MzYwOyYjMTIzNjU7JiMzNjc5NjsmIzEyNDE2OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMzI2NzY7JiMxMjM5NTsmIzMyMTU0OyYjMTIzNTY7JiMxMjM5MDsgMCAmIzIwNDkxOyYjMTIzNjM7JiMxMjQyNTsgMiAmIzIwNDkxOyYjMTIzOTg7IGZpbmRidWdzIHhtbCAmIzEyNDk2OyYjMTI0NjQ7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMjE1MTc7JiMxMjQzNDsmIzEyNDAyOyYjMTIzOTI7JiMxMjM4ODsmIzEyNDE4OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzOTQ7JiMxMjM1NjsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5OTsmIzEyMjg5OyYjMjcxNjE7JiMyODMxMDsmIzIwODM3OyYjMjExNDc7JiMxMjM2MzsmIzEyNDI1OyYjMzU1MDE7JiMxMjQzNTsmIzEyMzkxOyYjMjcxNjE7JiMyODMxMDsmIzIwOTg2OyYjMjExNDc7JiMxMjM5NTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMyMTUxNzsmIzEyNDM0OyAxICYjMjA0OTE7ICYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM2MzsmIzEyNDI1OyYjMzU1MDE7JiMxMjQzNTsmIzEyMzkxOyYjMjcxNjE7JiMyODMxMDsmIzIwOTg2OyYjMjExNDc7JiMxMjM5NTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMyMTUxNzsmIzEyNDM0OyAyICYjMjA0OTE7ICYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsgMSAmIzMwMDU4OyYjMzA0NDY7JiMxMjM5NTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM2MzsmIzEyNDI1OyYjMzU1MDE7JiMxMjQzNTsmIzEyMzkxOyAyICYjMzAwNTg7JiMzMDQ0NjsmIzEyMzk1OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk1OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTIzNzE7JiMxMjM5ODsmIzI3MjMxOyYjMzMwMjE7JiMxMjM5OTsmIzEyMjg5OyBhbnQgJiMxMjM2MzsmIzEyNDI1OyYjMTI0MTg7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjQxNDsmIzEyMzc4OyYjMjc0MjU7JiMxMjM5NTsmIzMxMDM0OyYjMTIzNzc7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTU7JiMxMjI4OTsmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTU7IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZpbHRlckJ1Z3M8L3N0cm9uZz48L3NwYW4+ICYjMTI0MzQ7IHRhc2tkZWYgJiMxMjM5MTsmIzIzNDUwOyYjMzI2ODE7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7IDo8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7dGFza2RlZiBuYW1lPSJmaWx0ZXJCdWdzIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5GaWx0ZXJCdWdzVGFzayImZ3Q7Ci0gICAgJmx0O2NsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvJmd0OwotJmx0Oy90YXNrZGVmJmd0OwotCi08L3ByZT48cD4mIzEyMzcxOyYjMTIzOTg7IGFudCAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk1OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQyNzsmIzIzNjQ2OyYjMjQ2MTU7JiMxMjQzNDsmIzEyMjg5OyYjMTk5Nzk7JiMzNDkyMDsmIzEyMzk1OyYjMTk5Njg7JiMzNTIzOTsmIzEyMzkxOyYjMzEwMzQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzIwODM3OyYjMjExNDc7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5pbnB1dDwvY29kZT4gICYjMjM2NDY7JiMyNDYxNTsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM2MzsmIzEyMjg5OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O2RhdGFmaWxlJmd0OzwvY29kZT4gJiMzNTIwMTsmIzMyMDMyOyYjMTI0MzQ7JiMyMDgzNzsmIzEyNDI4OyYjMjMzNzY7JiMxMjM5NTsmIzEyMzc1OyYjMTIzOTA7JiMyMDgzNzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyYjMjc0MjU7JiMxMjM5NTsmIzEyMjg5OyYjMjAzNjM7JiMxMjQzNDsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3Ozo8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7ZmlsdGVyQnVncyBob21lPSIke2ZpbmRidWdzLmhvbWV9IiAuLi4mZ3Q7Ci0gICAgJmx0O2RhdGFmaWxlIG5hbWU9ImFuYWx5emUueG1sIi8mZ3Q7Ci0mbHQ7L2ZpbHRlckJ1Z3MmZ3Q7Ci0KLTwvcHJlPjxkaXYgY2xhc3M9InRhYmxlIj48YSBuYW1lPSJmaWx0ZXJPcHRpb25zVGFibGUiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPiYjMzQ5MjA7MTIuMiBmaWx0ZXJCdWdzICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OzwvYj48L3A+PGRpdiBjbGFzcz0idGFibGUtY29udGVudHMiPjx0YWJsZSBzdW1tYXJ5PSJmaWx0ZXJCdWdzICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OyIgYm9yZGVyPSIxIj48Y29sZ3JvdXA+PGNvbD48Y29sPjxjb2w+PC9jb2xncm91cD48dGhlYWQ+PHRyPjx0aCBhbGlnbj0ibGVmdCI+JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7PC90aD48dGggYWxpZ249ImxlZnQiPkFudCAmIzIzNjQ2OyYjMjQ2MTU7PC90aD48dGggYWxpZ249ImxlZnQiPiYjMzA0NDY7JiMzMDM0MDs8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD48dGQgYWxpZ249ImxlZnQiPmlucHV0PSImbHQ7ZmlsZSZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjA4Mzc7JiMyMTE0NzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5vdXRwdXQ9IiZsdDtmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyMDk4NjsmIzIxMTQ3OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LW5vdDwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5ub3Q9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTIzOTg7JiMxMjQ3MzsmIzEyNDUyOyYjMTI0ODM7JiMxMjQ4MTsmIzEyNDM0OyYjMjE0NTM7JiMzNjU3ODsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4td2l0aFNvdXJjZVs6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPndpdGhTb3VyY2U9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjM2NDsmIzIwODM3OyYjMjUxNjM7JiMyMTQ4NzsmIzMzMDIxOyYjMTIzOTQ7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tZXhjbHVkZSAmbHQ7ZmlsdGVyIGZpbGUmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmV4Y2x1ZGU9IiZsdDtmaWx0ZXIgZmlsZSZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyMzk1OyYjMTk5Njg7JiMzMzI2ODsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzNjQ7JiMzODUwMDsmIzIyODA2OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LWluY2x1ZGUgJmx0O2ZpbHRlciBmaWxlJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5pbmNsdWRlPSImbHQ7ZmlsdGVyIGZpbGUmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3NzsmIzEyNDI3OyYjMTI0OTY7JiMxMjQ2NDsmIzEyMzk4OyYjMTI0MTU7JiMxMjQzNDsmIzIxNTQ3OyYjMTI0MTQ7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LWFubm90YXRpb24gJmx0O3RleHQmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmFubm90YXRpb249IiZsdDt0ZXh0Jmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyNTE2MzsmIzEyMzkxOyYjMjA4Mzc7JiMyMTE0NzsmIzEyMzc1OyYjMTIzODM7JiMyNzg4MDsmIzM3MzIwOyYjMTIzOTU7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzI1OTkxOyYjMzUzMjg7JiMxMjQzNDsmIzIxNTQ3OyYjMTI0MTY7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tYWZ0ZXIgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmFmdGVyPSImbHQ7d2hlbiZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MjQ7JiMxMjQyNjsmIzI0NDYwOyYjMTIzOTU7JiMyMTAyMTsmIzEyNDE3OyYjMTIzOTA7JiMyMDk4NjsmIzI5Njk0OyYjMTIzNzU7JiMxMjM4MzsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzEyNDE1OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1iZWZvcmUgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmJlZm9yZT0iJmx0O3doZW4mZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDI0OyYjMTI0MjY7JiMyMTA2OTsmIzEyMzk1OyYjMjEwMjE7JiMxMjQxNzsmIzEyMzkwOyYjMjA5ODY7JiMyOTY5NDsmIzEyMzc1OyYjMTIzODM7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tZmlyc3QgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmZpcnN0PSImbHQ7d2hlbiZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTU7JiMyMTAyMTsmIzEyNDE3OyYjMTIzOTA7JiMyMDk4NjsmIzI5Njk0OyYjMTIzNzU7JiMxMjM4MzsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzEyNDE1OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1sYXN0ICZsdDt3aGVuJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5sYXN0PSImbHQ7d2hlbiZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzNjQ7JiMyMDk4NjsmIzI5Njk0OyYjMTIzNzU7JiMxMjM4MzsmIzI2MzY4OyYjMjQ0NjA7JiMxMjM5MTsmIzEyMzU0OyYjMTI0Mjc7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tZml4ZWQgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmZpeGVkPSImbHQ7d2hlbiZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTg7JiMyMTA2OTsmIzIyMjM4OyYjMTIzOTg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzNjQ7JiMyMDk4NjsmIzI5Njk0OyYjMTIzNzU7JiMxMjM4MzsmIzI2MzY4OyYjMjQ0NjA7JiMxMjM5MTsmIzEyMzU0OyYjMTI0Mjc7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyAoPGNvZGUgY2xhc3M9Im9wdGlvbiI+LWxhc3Q8L2NvZGU+ICYjMTIzOTU7JiMyMDc3ODsmIzIwODA4OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OykmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tcHJlc2VudCAmbHQ7d2hlbiZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cHJlc2VudD0iJmx0O3doZW4mZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk1OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc3OyYjMTI0Mjc7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tYWJzZW50ICZsdDt3aGVuJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hYnNlbnQ9IiZsdDt3aGVuJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5NTsmIzIzMzg0OyYjMjIzMTI7JiMxMjM3NTsmIzEyMzk0OyYjMTIzNTY7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tYWN0aXZlWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YWN0aXZlPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjYzNjg7JiMzMjA2NjsmIzM2ODkwOyYjMzAwNTg7JiMxMjM5NTsmIzIzMzg0OyYjMjIzMTI7JiMxMjM3NzsmIzEyNDI3OyYjMzU2ODY7JiMyMTU3ODsmIzEyMzk4OyYjMTI0MTU7JiMyMDk4NjsmIzIxMTQ3OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LWludHJvZHVjZWRCeUNoYW5nZVs6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPmludHJvZHVjZWRCeUNoYW5nZT0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIzMzg0OyYjMjIzMTI7JiMxMjM3NzsmIzEyNDI3OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTg7JiMyMjc5MzsmIzI2MzU2OyYjMTIzOTU7JiMxMjQyNDsmIzEyMzg3OyYjMTIzOTA7JiMxMjQxODsmIzEyMzgzOyYjMTI0MjU7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tcmVtb3ZlZEJ5Q2hhbmdlWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cmVtb3ZlZEJ5Q2hhbmdlPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjMzODQ7JiMyMjMxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5ODsmIzIyNzkzOyYjMjYzNTY7JiMxMjM5NTsmIzEyNDI0OyYjMTIzODc7JiMxMjM5MDsmIzM4NTAwOyYjMjE0MzU7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tbmV3Q29kZVs6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPm5ld0NvZGU9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyNjAzMjsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk4OyYjMzY4NjE7JiMyMTE1MjsmIzEyMzk1OyYjMTI0MjQ7JiMxMjM4NzsmIzEyMzkwOyYjMTI0MTg7JiMxMjM4MzsmIzEyNDI1OyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMzU2ODY7JiMyMTU3ODsmIzEyMzk4OyYjMTI0MTU7JiMyMDk4NjsmIzIxMTQ3OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXJlbW92ZWRDb2RlWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cmVtb3ZlZENvZGU9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5ODsmIzIxMDY2OyYjMzg1MDA7JiMxMjM5NTsmIzEyNDI0OyYjMTIzODc7JiMxMjM5MDsmIzM4NTAwOyYjMjE0MzU7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tcHJpb3JpdHkgJmx0O2xldmVsJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5wcmlvcml0eT0iJmx0O2xldmVsJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzIwNzc4OyYjMjA4MDg7JiMyNDIzMDsmIzIwMTk3OyYjMTk5Nzg7JiMxMjM5ODsmIzIwNzc4OyYjMjA4MDg7JiMyNDIzMDsmIzEyNDM0OyYjMTI0MTg7JiMxMjM4ODsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzEyNDE1OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1jbGFzcyAmbHQ7cGF0dGVybiZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+Y2xhc3M9IiZsdDtjbGFzcyZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjQ5NzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUzMTsmIzEyMzk1OyYjMTk5Njg7JiMzMzI2ODsmIzEyMzc3OyYjMTI0Mjc7JiMyMDAyNzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMTI0MTg7JiMxMjM4ODsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzEyNDE1OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1idWdQYXR0ZXJuICZsdDtwYXR0ZXJuJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5idWdQYXR0ZXJuPSImbHQ7cGF0dGVybiZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjQ5NzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUzMTsmIzEyMzk1OyYjMTk5Njg7JiMzMzI2ODsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ5NjsmIzEyNDY0OyYjMzEyNzg7JiMyMTAyOTsmIzEyNDM0OyYjMTI0MTg7JiMxMjM4ODsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzEyNDE1OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1jYXRlZ29yeSAmbHQ7Y2F0ZWdvcnkmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmNhdGVnb3J5PSImbHQ7Y2F0ZWdvcnkmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMjU5OTE7JiMyMzM4MzsmIzIxMDE1OyYjMTIzOTE7JiMyMjk4NzsmIzEyNDE0OyYjMTI0Mjc7JiMxMjQ1OTsmIzEyNDg2OyYjMTI0Njg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzOTg7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tZGVzaWduYXRpb24gJmx0O2Rlc2lnbmF0aW9uJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5kZXNpZ25hdGlvbj0iJmx0O2Rlc2lnbmF0aW9uJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzEyNDk2OyYjMTI0NjQ7JiMyMDk5ODsmIzM5MDA2OyYjMjUzNTE7JiMyMzQ1MDsmIzEyNDM0OyYjMTI0MTg7JiMxMjM4ODsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzEyNDE1OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7ICgmIzIwMzYzOyYjMTIyODk7IC1kZXNpZ25hdGlvbiBTSE9VTERfRklYKTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4td2l0aE1lc3NhZ2VzWzp0cnV0aF0gPC90ZD48dGQgYWxpZ249ImxlZnQiPndpdGhNZXNzYWdlcz0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNDg2OyYjMTI0NjE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1MTM7JiMxMjQ4MzsmIzEyNDc1OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNDM0OyYjMjE1NDc7JiMxMjQzNTsmIzEyMzg0OyBYTUwgJiMxMjM2NDsmIzI5OTgzOyYjMjUxMDQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJ0YWJsZS1icmVhayI+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIxLjQuIG1pbmVCdWdIaXN0b3J5Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJtaW5lQnVnSGlzdG9yeSI+PC9hPjEuNC4gbWluZUJ1Z0hpc3Rvcnk8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsmIzEyMjg5OyYjMzUwNzk7JiMyNTk2ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTg7JiMyMTUwODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMyNzU5ODsmIzEyMzk4OyYjMzU2ODY7JiMyMTU3ODsmIzI1OTY4OyYjMTI0MzQ7JiMxOTk2ODsmIzM1MjM5OyYjMTIzOTU7JiMxMjM3NTsmIzEyMzgzOyYjMzQ5MjA7JiMxMjQzNDsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMjcyMzE7JiMzMzAyMTsmIzEyMzk5OyYjMTIyODk7IGFudCAmIzEyMzYzOyYjMTI0MjU7JiMxMjQxODsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDE0OyYjMTIzNzg7JiMyNzQyNTsmIzEyMzk1OyYjMzEwMzQ7JiMxMjM3NzsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NTsmIzEyMjg5OyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5NTsgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+bWluZUJ1Z0hpc3Rvcnk8L3N0cm9uZz48L3NwYW4+ICYjMTI0MzQ7IHRhc2tkZWYgJiMxMjM5MTsmIzIzNDUwOyYjMzI2ODE7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7IDo8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7dGFza2RlZiBuYW1lPSJtaW5lQnVnSGlzdG9yeSIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suTWluZUJ1Z0hpc3RvcnlUYXNrIiZndDsKLSAgICAmbHQ7Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8mZ3Q7Ci0mbHQ7L3Rhc2tkZWYmZ3Q7Ci0KLTwvcHJlPjxwPiYjMTIzNzE7JiMxMjM5ODsgYW50ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTU7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDI3OyYjMjM2NDY7JiMyNDYxNTsmIzEyNDM0OyYjMTIyODk7JiMxOTk3OTsmIzM0OTIwOyYjMTIzOTU7JiMxOTk2ODsmIzM1MjM5OyYjMTIzOTE7JiMzMTAzNDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjA4Mzc7JiMyMTE0NzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmlucHV0PC9jb2RlPiAgJiMyMzY0NjsmIzI0NjE1OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzYzOyYjMTIyODk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7ZGF0YWZpbGUmZ3Q7PC9jb2RlPiAmIzM1MjAxOyYjMzIwMzI7JiMxMjQzNDsmIzIwODM3OyYjMTI0Mjg7JiMyMzM3NjsmIzEyMzk1OyYjMTIzNzU7JiMxMjM5MDsmIzIwODM3OyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMyNzQyNTsmIzEyMzk1OyYjMTIyODk7JiMyMDM2MzsmIzEyNDM0OyYjMzEwMzQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7OjwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSZsdDttaW5lQnVnSGlzdG9yeSBob21lPSIke2ZpbmRidWdzLmhvbWV9IiAuLi4mZ3Q7Ci0gICAgJmx0O2RhdGFmaWxlIG5hbWU9ImFuYWx5emUueG1sIi8mZ3Q7Ci0mbHQ7L21pbmVCdWdIaXN0b3J5Jmd0OwotCi08L3ByZT48ZGl2IGNsYXNzPSJ0YWJsZSI+PGEgbmFtZT0ibWluZUJ1Z0hpc3RvcnlPcHRpb25zVGFibGUiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPiYjMzQ5MjA7MTIuMyBtaW5lQnVnSGlzdG9yeSAmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTIzOTg7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTk5Njg7JiMzNTIzOTs8L2I+PC9wPjxkaXYgY2xhc3M9InRhYmxlLWNvbnRlbnRzIj48dGFibGUgc3VtbWFyeT0ibWluZUJ1Z0hpc3RvcnkgJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzE5OTY4OyYjMzUyMzk7IiBib3JkZXI9IjEiPjxjb2xncm91cD48Y29sPjxjb2w+PGNvbD48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJsZWZ0Ij4mIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTs8L3RoPjx0aCBhbGlnbj0ibGVmdCI+QW50ICYjMjM2NDY7JiMyNDYxNTs8L3RoPjx0aCBhbGlnbj0ibGVmdCI+JiMzMDQ0NjsmIzMwMzQwOzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+aW5wdXQ9IiZsdDtmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyMDgzNzsmIzIxMTQ3OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD48dGQgYWxpZ249ImxlZnQiPm91dHB1dD0iJmx0O2ZpbGUmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIwOTg2OyYjMjExNDc7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tZm9ybWF0RGF0ZXM8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+Zm9ybWF0RGF0ZXM9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjM2NDsmIzEyNDg2OyYjMTI0NjE7JiMxMjQ3MzsmIzEyNDg4OyYjMjQ0MTg7JiMyNDMzNTsmIzEyMzkxOyYjMjU1NTE7JiMzMDAxMTsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1ub1RhYnM8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+bm9UYWJzPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI0Nzk7JiMxMjUwMjsmIzEyMzk4OyYjMjAxOTU7JiMxMjQzMTsmIzEyNDI2OyYjMTIzOTU7JiMzNTA3OTsmIzI1OTY4OyYjMTI0NzM7JiMxMjUwNjsmIzEyNTQwOyYjMTI0NzM7JiMxMjM5MTsmIzEyNDU5OyYjMTI1MjE7JiMxMjUxMjsmIzEyMzY0OyYjMjEzMDY7JiMyMDk5OTsmIzEyNDI1OyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyAoJiMxOTk3OTsmIzM1MzUyOyYjMjE0NDI7JiMyOTAzMTspJiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXN1bW1hcnk8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+c3VtbWFyeT0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzI2MzY4OyYjMjYwMzI7IDEwICYjMjAyMTQ7JiMxMjM5ODsmIzIyNzkzOyYjMjYzNTY7JiMxMjM5ODsmIzM1MjAxOyYjMzIwMDQ7JiMxMjM2NDsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJ0YWJsZS1icmVhayI+PHA+PGNvZGUgY2xhc3M9Im9wdGlvbiI+LW5vVGFiczwvY29kZT4gJiMyMDk4NjsmIzIxMTQ3OyYjMTI0MzQ7JiMyMDM1MTsmIzEyMzU4OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIyODk7JiMyMjI2NjsmIzIzNDUwOyYjMjQxMzM7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MzE7JiMxMjQ4ODsmIzEyMzk4OyYjMTI0NzE7JiMxMjQ1NTsmIzEyNTIzOyYjMTIzOTE7JiMzNTUwMTsmIzEyNDE1OyYjMjYxMzE7JiMxMjM2NzsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyNTk2ODsmIzIwNTE2OyYjMTI0NTk7JiMxMjUyMTsmIzEyNTEyOyYjMTIzOTk7JiMyMTQ5MTsmIzIzNDkyOyYjMTIzNzk7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjM5ODsmIzEyMzkxOyYjMTIyODk7JiMxMjQ3MzsmIzEyNTA2OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzY0OyYjMTI0NTk7JiMxMjUyMTsmIzEyNTEyOyYjMjA1MTY7JiMxMjM5ODsmIzIxMDY5OyYjMTIzOTU7JiMyNTQwNzsmIzIwODM3OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDE0OyYjMTIzODM7JiMxMjI4OTsmIzEyMzcxOyYjMTIzOTg7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM4MzsmIzIyNTgwOyYjMjE1MTI7JiMxMjI4OTsgPGNvZGUgY2xhc3M9Im9wdGlvbiI+LWZvcm1hdERhdGVzPC9jb2RlPiAmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjM5MjsmIzEyMzY1OyYjMTIzOTU7JiMzNTIwMTsmIzMyMDA0OyYjMTIzOTg7JiMyNjA4NTsmIzIwMTg0OyYjMTI0MzQ7JiMyNTU1MTsmIzMwMDExOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzk4OyYjMTIzOTU7JiMzMTM1NDsmIzMwMzMzOyYjMTIzNjQ7JiMyMjQ3NTsmIzEyNDE3OyYjMzY3OTY7JiMxMjQxNDsmIzEyNDI4OyYjMTIzOTQ7JiMxMjM2NzsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMjA5ODY7JiMyMTE0NzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzM0OTIwOyYjMTIzOTk7JiMxMjI4OTsgKDxjb2RlIGNsYXNzPSJvcHRpb24iPi1ub1RhYnM8L2NvZGU+ICYjMTIzNjQ7JiMyODk2MTsmIzEyMzY5OyYjMTI0Mjg7JiMxMjQwMDspICYjMTI0Nzk7JiMxMjUwMjsmIzIxMzA2OyYjMjA5OTk7JiMxMjQyNjsmIzEyMzkxOyYjMjc0MjU7JiMxMjM5NTsmIzMxMDM0OyYjMTIzNzc7JiMxMjQ1OTsmIzEyNTIxOyYjMTI1MTI7JiMxMjM2MzsmIzEyNDI1OyYjMjUxMDQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7IDo8L3A+PGRpdiBjbGFzcz0idGFibGUiPjxhIG5hbWU9Im1pbmVCdWdIaXN0b3J5Q29sdW1ucyI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+JiMzNDkyMDsxMi40IG1pbmVCdWdIaXN0b3J5ICYjMjA5ODY7JiMyMTE0NzsmIzEyMzk4OyYjMTI0NTk7JiMxMjUyMTsmIzEyNTEyOyYjMTk5Njg7JiMzNTIzOTs8L2I+PC9wPjxkaXYgY2xhc3M9InRhYmxlLWNvbnRlbnRzIj48dGFibGUgc3VtbWFyeT0ibWluZUJ1Z0hpc3RvcnkgJiMyMDk4NjsmIzIxMTQ3OyYjMTIzOTg7JiMxMjQ1OTsmIzEyNTIxOyYjMTI1MTI7JiMxOTk2ODsmIzM1MjM5OyIgYm9yZGVyPSIxIj48Y29sZ3JvdXA+PGNvbD48Y29sPjwvY29sZ3JvdXA+PHRoZWFkPjx0cj48dGggYWxpZ249ImxlZnQiPiYjMzQ5MjA7JiMzODk4ODs8L3RoPjx0aCBhbGlnbj0ibGVmdCI+JiMzMDQ0NjsmIzMwMzQwOzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJsZWZ0Ij5zZXE8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjQ3MTsmIzEyNTQwOyYjMTI0NjU7JiMxMjUzMTsmIzEyNDczOyYjMzAwNTg7JiMyMTQ5NTsgKDAgJiMyMjk4NzsmIzEyNDE0OyYjMTI0MjY7JiMxMjM5ODsmIzM2ODk5OyYjMzIxNTQ7JiMxMjM3NTsmIzEyMzgzOyYjMjU5NzI7JiMyNTk2ODsmIzIwNTE2Oyk8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+dmVyc2lvbjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMyMTUxNzs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+dGltZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNTIyOyYjMTI1MjI7JiMxMjU0MDsmIzEyNDczOyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMjYwODU7JiMyNjE3ODs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Y2xhc3NlczwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIwOTk4OyYjMjY1MTI7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMyNTk2ODs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+TkNTUzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNDY3OyYjMTI1MTM7JiMxMjUzMTsmIzEyNDg4OyYjMjU5OTE7JiMxMjQzNDsmIzM4NTAwOyYjMTIzNTY7JiMxMjM4MzsmIzIxNjI5OyYjMjAxOTY7JiMyNTk2ODsgKE5vbiBDb21tZW50aW5nIFNvdXJjZSBTdGF0ZW1lbnRzKTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5hZGRlZDwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIxMDY5OyYjMjIyMzg7JiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5NTsmIzIzMzg0OyYjMjIzMTI7JiMxMjM3NTsmIzEyMzgzOyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTU7JiMxMjM2MjsmIzEyMzY5OyYjMTI0Mjc7JiMyNjAzMjsmIzM1MjE1OyYjMzU2ODY7JiMyMTU3ODsmIzI1OTY4OzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5uZXdDb2RlPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjEwNjk7JiMyMjIzODsmIzEyMzk4OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk1OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc1OyYjMTIzOTQ7JiMxMjM2MzsmIzEyMzg3OyYjMTIzODM7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5NTsmIzEyMzYyOyYjMTIzNjk7JiMxMjQyNzsmIzI2MDMyOyYjMzUyMTU7JiMzNTY4NjsmIzIxNTc4OyYjMjU5Njg7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmZpeGVkPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjk2OTQ7JiMyMjMxMjsmIzEyMzk4OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk1OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5NTsmIzEyMzYyOyYjMTIzNjk7JiMxMjQyNzsmIzM4NTAwOyYjMjE0MzU7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMzNTY4NjsmIzIxNTc4OyYjMjU5Njg7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnJlbW92ZWQ8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyOTY5NDsmIzIyMzEyOyYjMTIzOTg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTU7JiMyMzM4NDsmIzIyMzEyOyYjMTIzNzU7JiMxMjM5NDsmIzEyMzU2OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTg7JiMyMTA2OTsmIzIyMjM4OyYjMTIzOTg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTU7JiMxMjM2MjsmIzEyMzY5OyYjMTI0Mjc7JiMzNTY4NjsmIzIxNTc4OyYjMjU5Njg7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnJldGFpbmVkPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjk2OTQ7JiMyMjMxMjsmIzEyMzk4OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzkyOyYjMjEwNjk7JiMyMjIzODsmIzEyMzk4OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyYjMjAwMDE7JiMyNjA0MTsmIzEyMzk1OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc3OyYjMTI0Mjc7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMyNTk2ODs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+ZGVhZDwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIwMTk3OyYjMjEwNjk7JiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5NTsmIzIzMzg0OyYjMjIzMTI7JiMxMjM3NTsmIzEyMzgzOyYjMTIzNjQ7JiMyOTY5NDsmIzIyMzEyOyYjMTIzOTg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTU7JiMxMjQxODsmIzMwNDUyOyYjMjEwNjk7JiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5NTsmIzEyNDE4OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc1OyYjMTIzOTQ7JiMxMjM1NjsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzI1OTY4OzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5hY3RpdmU8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyOTY5NDsmIzIyMzEyOyYjMTIzOTg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTU7JiMyMzM4NDsmIzIyMzEyOyYjMTIzNzc7JiMxMjQyNzsmIzM1Njg2OyYjMjE1Nzg7JiMzMjIwNzsmIzI1OTY4OzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJ0YWJsZS1icmVhayI+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIxLjUuIGRlZmVjdERlbnNpdHkiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImRlZmVjdERlbnNpdHkiPjwvYT4xLjUuIGRlZmVjdERlbnNpdHk8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsmIzEyMjg5OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMjA4NDA7JiMyMDMwNzsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzI3NTk4OyYjMTI1Mzk7JiMxMjQ5NzsmIzEyNDgzOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcyOyYjMjc1OTg7JiMxMjM5ODsmIzE5OTgxOyYjMzMzOTE7JiMyMzQ5NDsmIzI0MjMwOyAoMTAwMCBOQ1NTICYjMjc1OTg7JiMxMjM5ODsmIzM1Njg2OyYjMjE1Nzg7JiMyNTk2ODspICYjMTIzOTU7JiMzODMwNjsmIzEyMzc3OyYjMTI0Mjc7JiMyNDc3MzsmIzIyNTc3OyYjMTI0MzQ7JiMxOTk2ODsmIzM1MjM5OyYjMzQ5MjA7JiMzMTAzNDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyNzE2MTsmIzI4MzEwOyYjMjA4Mzc7JiMyMTE0NzsmIzEyMzYzOyYjMTI0MjU7JiMzNTUwMTsmIzEyNDE1OyYjMzY3OTY7JiMxMjQxNjsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5OTsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzk0OyYjMTIzNzU7JiMxMjM5MTsmIzEyMjg5OyYjMTIzODE7JiMxMjM1ODsmIzEyMzkxOyYjMTIzOTQ7JiMxMjM2OTsmIzEyNDI4OyYjMTI0MDA7JiMxMjI4OTsmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTMxOyYjMTIzOTE7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzOTA7JiMxMjI4OTsmIzEyMzcxOyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNDM0OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMzNDkyMDsmIzEyMzk5OyYjMTIyODk7JiMyNzQyNTsmIzEyMzk1OyYjMzEwMzQ7JiMxMjM3NzsmIzEyNDU5OyYjMTI1MjE7JiMxMjUxMjsmIzEyMzYzOyYjMTI0MjU7JiMyNTEwNDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMjA4NDA7JiMyMDMwNzsmIzI0NzczOyYjMjI1Nzc7JiMxMjM5ODsmIzM0ODkyOyYjMTIyODk7JiMxMjM2MjsmIzEyNDI0OyYjMTI0MDM7JiMxMjI4OTs0ICYjMjA0OTE7JiMyMDE5NzsmIzE5OTc4OyYjMTIzOTg7JiMzNTY4NjsmIzIxNTc4OyYjMTI0MzQ7JiMyMTU0NzsmIzEyNDM1OyYjMTIzOTE7JiMxMjM1NjsmIzEyNDI3OyYjMjE1MDg7JiMxMjQ5NzsmIzEyNDgzOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcyOyYjMjQ3NzM7JiMyMjU3NzsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzIxNTA4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMjQ3NzM7JiMyMjU3NzsmIzEyMzk4OyYjMzQ4OTI7JiMxMjQxODsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48ZGl2IGNsYXNzPSJ0YWJsZSI+PGEgbmFtZT0iZGVmZWN0RGVuc2l0eUNvbHVtbnMiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPiYjMzQ5MjA7MTIuNSBkZWZlY3REZW5zaXR5ICYjMjA5ODY7JiMyMTE0NzsmIzEyMzk4OyYjMTI0NTk7JiMxMjUyMTsmIzEyNTEyOyYjMTk5Njg7JiMzNTIzOTs8L2I+PC9wPjxkaXYgY2xhc3M9InRhYmxlLWNvbnRlbnRzIj48dGFibGUgc3VtbWFyeT0iZGVmZWN0RGVuc2l0eSAmIzIwOTg2OyYjMjExNDc7JiMxMjM5ODsmIzEyNDU5OyYjMTI1MjE7JiMxMjUxMjsmIzE5OTY4OyYjMzUyMzk7IiBib3JkZXI9IjEiPjxjb2xncm91cD48Y29sPjxjb2w+PC9jb2xncm91cD48dGhlYWQ+PHRyPjx0aCBhbGlnbj0ibGVmdCI+JiMzNDkyMDsmIzM4OTg4OzwvdGg+PHRoIGFsaWduPSJsZWZ0Ij4mIzMwNDQ2OyYjMzAzNDA7PC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgYWxpZ249ImxlZnQiPmtpbmQ8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7IChwcm9qZWN0KSYjMTIyODk7JiMxMjQ5NzsmIzEyNDgzOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcyOyAocGFja2FnZSkgJiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7IChjbGFzcyk8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+bmFtZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzEyMjg5OyYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk4OyYjMjE1MTc7JiMyMTA2OTs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+ZGVuc2l0eTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4gMTAwMCBOQ1NTICYjMjc1OTg7JiMxMjM5ODsmIzM1Njg2OyYjMjE1Nzg7JiMyNTk2ODs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+YnVnczwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzM1Njg2OyYjMjE1Nzg7JiMyNTk2ODs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+TkNTUzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNDY3OyYjMTI1MTM7JiMxMjUzMTsmIzEyNDg4OyYjMjU5OTE7JiMxMjQzNDsmIzM4NTAwOyYjMTIzNTY7JiMxMjM4MzsmIzIxNjI5OyYjMjAxOTY7JiMyNTk2ODsgKE5vbiBDb21tZW50aW5nIFNvdXJjZSBTdGF0ZW1lbnRzKSA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QyIiB0aXRsZT0iMS42LiBjb252ZXJ0WG1sVG9UZXh0Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJjb252ZXJ0WG1sVG9UZXh0Ij48L2E+MS42LiBjb252ZXJ0WG1sVG9UZXh0PC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD4mIzEyMzcxOyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjI4OTtYTUwgJiMyNDQxODsmIzI0MzM1OyYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMzU2ODY7JiMyMTU3ODsmIzEyNDM0OyYjMTIyODk7IDEgJiMzNDg5MjsgMSAmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5ODsmIzEyNDg2OyYjMTI0NjE7JiMxMjQ3MzsmIzEyNDg4OyYjMjQ0MTg7JiMyNDMzNTsmIzEyMjg5OyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyYjMTIyODk7SFRNTCYjMjQ0MTg7JiMyNDMzNTsmIzEyMzk1OyYjMjI3OTM7JiMyNTU2MzsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzEyMzcxOyYjMTIzOTg7JiMyNzIzMTsmIzMzMDIxOyYjMTIzOTk7JiMxMjI4OTsgYW50ICYjMTIzNjM7JiMxMjQyNTsmIzEyNDE4OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0MTQ7JiMxMjM3ODsmIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTI0MjQ7JiMxMjM1ODsmIzEyMzk1OyYjMTIyODk7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk1OyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5jb252ZXJ0WG1sVG9UZXh0PC9zdHJvbmc+PC9zcGFuPiAmIzEyNDM0OyB0YXNrZGVmICYjMTIzOTE7JiMyMzQ1MDsmIzMyNjgxOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotJmx0O3Rhc2tkZWYgbmFtZT0iY29udmVydFhtbFRvVGV4dCIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suQ29udmVydFhtbFRvVGV4dFRhc2siJmd0OwotICAgICZsdDtjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLyZndDsKLSZsdDsvdGFza2RlZiZndDsKLQotPC9wcmU+PHA+JiMxMjM3MTsmIzEyMzk4OyBhbnQgJiMxMjQ3OTsmIzEyNDczOyYjMTI0NjM7JiMxMjM5NTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM5MTsmIzEyMzY1OyYjMTI0Mjc7JiMyMzY0NjsmIzI0NjE1OyYjMTI0MzQ7JiMxMjI4OTsmIzE5OTc5OyYjMzQ5MjA7JiMxMjM5NTsmIzE5OTY4OyYjMzUyMzk7JiMxMjM5MTsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9InRhYmxlIj48YSBuYW1lPSJjb252ZXJ0WG1sVG9UZXh0VGFibGUiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPiYjMzQ5MjA7MTIuNiBjb252ZXJ0WG1sVG9UZXh0ICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OzwvYj48L3A+PGRpdiBjbGFzcz0idGFibGUtY29udGVudHMiPjx0YWJsZSBzdW1tYXJ5PSJjb252ZXJ0WG1sVG9UZXh0ICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OyIgYm9yZGVyPSIxIj48Y29sZ3JvdXA+PGNvbD48Y29sPjxjb2w+PC9jb2xncm91cD48dGhlYWQ+PHRyPjx0aCBhbGlnbj0ibGVmdCI+JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7PC90aD48dGggYWxpZ249ImxlZnQiPkFudCAmIzIzNjQ2OyYjMjQ2MTU7PC90aD48dGggYWxpZ249ImxlZnQiPiYjMzA0NDY7JiMzMDM0MDs8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD48dGQgYWxpZ249ImxlZnQiPmlucHV0PSImbHQ7ZmlsZW5hbWUmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIwODM3OyYjMjExNDc7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+b3V0cHV0PSImbHQ7ZmlsZW5hbWUmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzIwOTg2OyYjMjExNDc7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tbG9uZ0J1Z0NvZGVzPC90ZD48dGQgYWxpZ249ImxlZnQiPmxvbmdCdWdDb2Rlcz0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4yICYjMjU5OTE7JiMyMzM4MzsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzMwMDUzOyYjMzEyMTY7JiMxMjM5ODsmIzIwMTk1OyYjMTI0MzE7JiMxMjQyNjsmIzEyMzk1OyYjMTIyODk7JiMzMDQ2NTsmIzMwMDUzOyYjMTIzOTQ7JiMxMjM3NTsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMTI0Njc7JiMxMjU0MDsmIzEyNDg5OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5mb3JtYXQ9InRleHQiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI1MDM7JiMxMjUyNDsmIzEyNTQwOyYjMTI1MzE7JiMxMjQ4NjsmIzEyNDYxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyMzk4OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzY0OyYjMjAzMTY7JiMyNTEwNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7MSAmIzM0ODkyOyYjMTIzOTU7JiMxMjM4ODsmIzEyMzY1OyAxICYjMTIzODg7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM2NDsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMyNjE3ODsmIzEyMzk4OyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LWh0bWxbOnN0eWxlc2hlZXRdPC90ZD48dGQgYWxpZ249ImxlZnQiPmZvcm1hdD0iaHRtbDombHQ7c3R5bGVzaGVldCZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjUzNTE7JiMyMzQ1MDsmIzEyMzczOyYjMTI0Mjg7JiMxMjM4MzsmIzEyNDczOyYjMTI0Nzk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0NzE7JiMxMjU0MDsmIzEyNDg4OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzIwOTg2OyYjMjExNDc7JiMxMjM2NDsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsgKCYjMTk5Nzk7JiMzNTM1MjsmIzIxNDQyOyYjMjkwMzE7KSAmIzEyMjkwOyYjMzA0NjU7JiMzMDA1MzsmIzEyMzc1OyYjMTIzODM7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsgZGVmYXVsdC54c2wgJiMxMjM2NDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJ0YWJsZS1icmVhayI+PHA+LWh0bWwvZm9ybWF0ICYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTtwbGFpbi54c2wgJiMxMjI4OTsgZGVmYXVsdC54c2wgJiMxMjI4OTsgZmFuY3kueHNsICYjMTIyODk7IGZhbmN5LWhpc3QueHNsICYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyAmIzEyNTE4OyYjMTI1NDA7JiMxMjQ3MDsmIzMzMjU4OyYjMzY1MjM7JiMxMjM2NDsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3NTsmIzEyMzgzOyBYU0wgJiMxMjQ3MzsmIzEyNDc5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ4ODsmIzEyMzk4OyYjMTIzNTY7JiMxMjM3ODsmIzEyNDI4OyYjMTIzNjM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMyMTUxNzsmIzEyNDM0OyYjMTI0MjQ7JiMxMjM4MTsmIzEyMzk1OyYjMTIyODk7IGh0bWwgJiMyMDE5NzsmIzIyODA2OyYjMTIzOTg7JiMyNDQxODsmIzI0MzM1OyYjMTI0MzQ7JiMyMDk4NjsmIzIxMTQ3OyYjMTIzNzc7JiMxMjQyNzsmIzEyNDczOyYjMTI0Nzk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0NzE7JiMxMjU0MDsmIzEyNDg4OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQxODsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7RmluZEJ1Z3MgJiMxMjM5NTsmIzIxNTQ3OyYjMTI0MTQ7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDczOyYjMTI0Nzk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0NzE7JiMxMjU0MDsmIzEyNDg4OygmIzE5OTc4OyYjMzY4NDg7KSYjMjAxOTc7JiMyMjgwNjsmIzEyMzk4OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQ3MTsmIzEyNTQwOyYjMTI0ODg7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyAtaHRtbC9mb3JtYXQgJiMxMjM5MTsmIzI0NDAzOyYjMzU0NDI7JiMxMjQ3MzsmIzEyNDc5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ4ODsmIzEyNDA4OyYjMTIzOTg7JiMxMjQ5NzsmIzEyNDczOyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyBVUkwgJiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDs8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIxLjcuIHNldEJ1Z0RhdGFiYXNlSW5mbyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ic2V0QnVnRGF0YWJhc2VJbmZvIj48L2E+MS43LiBzZXRCdWdEYXRhYmFzZUluZm88L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsmIzEyMjg5OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjQ5NjsmIzEyNDY0OyYjMzU2ODY7JiMyMTU3ODsmIzEyMzk1OyYjMTI1MTM7JiMxMjQ3OTsmIzI0NzczOyYjMjI1Nzc7JiMxMjQzNDsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyMzk1OyYjMTIzOTk7JiMyNzQyNTsmIzEyMzk1OyYjMzEwMzQ7JiMxMjM3NzsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3Ozo8L3A+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMjcyMzE7JiMzMzAyMTsmIzEyMzk5OyYjMTIyODk7IGFudCAmIzEyMzYzOyYjMTI0MjU7JiMxMjQxODsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDE0OyYjMTIzNzg7JiMyNzQyNTsmIzEyMzk1OyYjMzEwMzQ7JiMxMjM3NzsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NTsmIzEyMjg5OyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5NTsgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+c2V0QnVnRGF0YWJhc2VJbmZvPC9zdHJvbmc+PC9zcGFuPiAmIzEyNDM0OyB0YXNrZGVmICYjMTIzOTE7JiMyMzQ1MDsmIzMyNjgxOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotJmx0O3Rhc2tkZWYgbmFtZT0ic2V0QnVnRGF0YWJhc2VJbmZvIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5TZXRCdWdEYXRhYmFzZUluZm9UYXNrIiZndDsKLSAgICAmbHQ7Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8mZ3Q7Ci0mbHQ7L3Rhc2tkZWYmZ3Q7Ci0KLTwvcHJlPjxwPiYjMTIzNzE7JiMxMjM5ODsgYW50ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTU7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDI3OyYjMjM2NDY7JiMyNDYxNTsmIzEyNDM0OyYjMTIyODk7JiMxOTk3OTsmIzM0OTIwOyYjMTIzOTU7JiMxOTk2ODsmIzM1MjM5OyYjMTIzOTE7JiMzMTAzNDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjA4Mzc7JiMyMTE0NzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmlucHV0PC9jb2RlPiAgJiMyMzY0NjsmIzI0NjE1OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzYzOyYjMTIyODk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7ZGF0YWZpbGUmZ3Q7PC9jb2RlPiAmIzM1MjAxOyYjMzIwMzI7JiMxMjQzNDsmIzIwODM3OyYjMTI0Mjg7JiMyMzM3NjsmIzEyMzk1OyYjMTIzNzU7JiMxMjM5MDsmIzIwODM3OyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMyNzQyNTsmIzEyMzk1OyYjMTIyODk7JiMyMDM2MzsmIzEyNDM0OyYjMzEwMzQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7OjwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSZsdDtzZXRCdWdEYXRhYmFzZUluZm8gaG9tZT0iJHtmaW5kYnVncy5ob21lfSIgLi4uJmd0OwotICAgICZsdDtkYXRhZmlsZSBuYW1lPSJhbmFseXplLnhtbCIvJmd0OwotJmx0Oy9zZXRCdWdEYXRhYmFzZUluZm8mZ3Q7Ci0KLTwvcHJlPjxkaXYgY2xhc3M9InRhYmxlIj48YSBuYW1lPSJzZXRCdWdEYXRhYmFzZUluZm9PcHRpb25zIj48L2E+PHAgY2xhc3M9InRpdGxlIj48Yj4mIzM0OTIwOzEyLjcgc2V0QnVnRGF0YWJhc2VJbmZvICYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzE5OTY4OyYjMzUyMzk7PC9iPjwvcD48ZGl2IGNsYXNzPSJ0YWJsZS1jb250ZW50cyI+PHRhYmxlIHN1bW1hcnk9InNldEJ1Z0RhdGFiYXNlSW5mbyAmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OyIgYm9yZGVyPSIxIj48Y29sZ3JvdXA+PGNvbD48Y29sPjxjb2w+PC9jb2xncm91cD48dGhlYWQ+PHRyPjx0aCBhbGlnbj0ibGVmdCI+JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7PC90aD48dGggYWxpZ249ImxlZnQiPkFudCAmIzIzNjQ2OyYjMjQ2MTU7PC90aD48dGggYWxpZ249ImxlZnQiPiYjMzA0NDY7JiMzMDM0MDs8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD48dGQgYWxpZ249ImxlZnQiPmlucHV0PSImbHQ7ZmlsZSZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjA4Mzc7JiMyMTE0NzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5vdXRwdXQ9IiZsdDtmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyMDk4NjsmIzIxMTQ3OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LW5hbWUgJmx0O25hbWUmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPm5hbWU9IiZsdDtuYW1lJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyNjM2ODsmIzI2MDMyOyYjMTI1MjI7JiMxMjQ5OTsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyYjMjE1MTc7JiMyMTA2OTsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tdGltZXN0YW1wICZsdDt3aGVuJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij50aW1lc3RhbXA9IiZsdDt3aGVuJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyNjM2ODsmIzI2MDMyOyYjMTI1MjI7JiMxMjQ5OTsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyYjMTI0Nzk7JiMxMjQ1MjsmIzEyNTEyOyYjMTI1Mzk7JiMxMjQ3MzsmIzEyNDc5OyYjMTI1MzE7JiMxMjUwMzsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tc291cmNlICZsdDtkaXJlY3RvcnkmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPnNvdXJjZT0iJmx0O2RpcmVjdG9yeSZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTI0MzQ7JiMyNjkwODsmIzMyMDM0OyYjMTIzNzc7JiMxMjQyNzsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTI0MzQ7JiMzNjg2MTsmIzIxMTUyOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tZmluZFNvdXJjZSAmbHQ7ZGlyZWN0b3J5Jmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5maW5kU291cmNlPSImbHQ7ZGlyZWN0b3J5Jmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMjA4Njk7JiMxMjQzNDsmIzI2OTA4OyYjMzIwMzQ7JiMxMjM3NTsmIzEyMzkwOyYjMzgzMDY7JiMzNjg5OTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjM5ODsmIzIyNTgwOyYjMjUxNTI7JiMxMjQzNDsmIzM2ODYxOyYjMjExNTI7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXN1cHByZXNzICZsdDtmaWx0ZXIgZmlsZSZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+c3VwcHJlc3M9IiZsdDtmaWx0ZXIgZmlsZSZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk1OyYjMTk5Njg7JiMzMzI2ODsmIzEyMzc3OyYjMTI0Mjc7JiMzNTY4NjsmIzIxNTc4OyYjMTI0MzQ7JiMyNTIzMzsmIzI3NDkwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyAoJiMyMDE5NzsmIzIxMDY5OyYjMTIzOTU7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzI1MjMzOyYjMjc0OTA7JiMzNTM3MzsmIzIzNDUwOyYjMTIzOTk7JiMzMjYyMjsmIzEyMzY1OyYjMjU1NjM7JiMxMjM2MDsmIzEyNDI1OyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OykmIzEyMjkwOzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4td2l0aE1lc3NhZ2VzPC90ZD48dGQgYWxpZ249ImxlZnQiPndpdGhNZXNzYWdlcz0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5YTUwmIzEyMzk1OyYjMTI0ODY7JiMxMjQ2MTsmIzEyNDczOyYjMTI0ODg7JiMxMjUxMzsmIzEyNDgzOyYjMTI0NzU7JiMxMjU0MDsmIzEyNDcyOyYjMTI0MzQ7JiMzNjg2MTsmIzIxMTUyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1yZXNldFNvdXJjZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5yZXNldFNvdXJjZT0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzI2OTA4OyYjMzIwMzQ7JiMxMjQ5NzsmIzEyNDczOyYjMTI0MzQ7JiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMyMTA2NjsmIzM4NTAwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48YnIgY2xhc3M9InRhYmxlLWJyZWFrIj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjEuOC4gbGlzdEJ1Z0RhdGFiYXNlSW5mbyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ibGlzdEJ1Z0RhdGFiYXNlSW5mbyI+PC9hPjEuOC4gbGlzdEJ1Z0RhdGFiYXNlSW5mbzwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM5NTsmIzEyMzYyOyYjMTIzNTY7JiMxMjM5MDsmIzEyMzk5OyYjMTIyODk7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyMzkxOyAwICYjMjA0OTE7JiMyMDE5NzsmIzE5OTc4OyYjMTIzOTg7IHhtbCAmIzEyNDk2OyYjMTI0NjQ7JiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjUwNTsmIzEyNTQwOyYjMTI0NzM7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzIxNTE3OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzIxNTE3OyYjMTI0MzQ7MSYjMTIzODg7JiMxMjQxODsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzk0OyYjMTIzNjk7JiMxMjQyODsmIzEyNDAwOyYjMTIyODk7JiMyNzE2MTsmIzI4MzEwOyYjMjA5ODY7JiMyMTE0NzsmIzEyMzYzOyYjMTI0MjU7JiMzNTUwMTsmIzEyNDE1OyYjMzY3OTY7JiMxMjQxNTsmIzEyNDM0OyYjMzQ4OTI7JiMxMjM1NjsmIzEyNDg2OyYjMTI1NDA7JiMxMjUwMjsmIzEyNTIzOyYjMTIzOTg7JiMxMjUwNDsmIzEyNDgzOyYjMTI0ODA7JiMxMjU0MDsmIzEyMzk5OyYjMjk5ODM7JiMyNTEwNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDs8L3A+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5NTsmIzEyMzk5OyAxICYjMTIzODg7JiMxMjM4NDsmIzEyMzY5OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7IDogPGNvZGUgY2xhc3M9Im9wdGlvbiI+LWZvcm1hdERhdGVzPC9jb2RlPiAmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyNDg2OyYjMTI0NjE7JiMxMjQ3MzsmIzEyNDg4OyYjMjQ0MTg7JiMyNDMzNTsmIzEyMzkxOyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTIzNjQ7JiMyNTU1MTsmIzMwMDExOyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+JiMyMDk4NjsmIzIxMTQ3OyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMzQ5MjA7JiMxMjM5OTsmIzEyMjg5OyYjMjE1MDg7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1MDU7JiMxMjU0MDsmIzEyNDczOyYjMTIzNzI7JiMxMjM5MjsmIzEyMzk1OyYjMzQ4OTI7JiMxMjQzNDsmIzI1MzQ1OyYjMTIzODU7JiMxMjI4OTsmIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTI0NTk7JiMxMjUyMTsmIzEyNTEyOyYjMTIzNjM7JiMxMjQyNTsmIzI1MTA0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxkaXYgY2xhc3M9InRhYmxlIj48YSBuYW1lPSJsaXN0QnVnRGF0YWJhc2VJbmZvQ29sdW1ucyI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+JiMzNDkyMDsxMi44IGxpc3RCdWdEYXRhYmFzZUluZm8gJiMxMjQ1OTsmIzEyNTIxOyYjMTI1MTI7JiMxOTk2ODsmIzM1MjM5OzwvYj48L3A+PGRpdiBjbGFzcz0idGFibGUtY29udGVudHMiPjx0YWJsZSBzdW1tYXJ5PSJsaXN0QnVnRGF0YWJhc2VJbmZvICYjMTI0NTk7JiMxMjUyMTsmIzEyNTEyOyYjMTk5Njg7JiMzNTIzOTsiIGJvcmRlcj0iMSI+PGNvbGdyb3VwPjxjb2w+PGNvbD48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJsZWZ0Ij4mIzEyNDU5OyYjMTI1MjE7JiMxMjUxMjs8L3RoPjx0aCBhbGlnbj0ibGVmdCI+JiMzMDQ0NjsmIzMwMzQwOzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJsZWZ0Ij52ZXJzaW9uPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzIxNTE3OzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij50aW1lPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI1MjI7JiMxMjUyMjsmIzEyNTQwOyYjMTI0NzM7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMyNjA4NTsmIzI2MTc4OzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5jbGFzc2VzPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjA5OTg7JiMyNjUxMjsmIzEyMzczOyYjMTI0Mjg7JiMxMjM4MzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzI1OTY4OzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5OQ1NTPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMTI0Njc7JiMxMjUxMzsmIzEyNTMxOyYjMTI0ODg7JiMyNTk5MTsmIzEyNDM0OyYjMzg1MDA7JiMxMjM1NjsmIzEyMzgzOyYjMjE2Mjk7JiMyMDE5NjsmIzI1OTY4OyAoTm9uIENvbW1lbnRpbmcgU291cmNlIFN0YXRlbWVudHMpPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnRvdGFsPC90ZD48dGQgYWxpZ249ImxlZnQiPiYjMjA4NDA7JiMzNTY4NjsmIzIxNTc4OyYjMjU5Njg7PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmhpZ2g8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7KCYjMzk2NDA7KSYjMTIzOTg7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMzMjIwNzsmIzI1OTY4OzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5tZWRpdW08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7KCYjMjAwMTM7KSYjMTIzOTg7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMzMjIwNzsmIzI1OTY4OzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5sb3c8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7KCYjMjAzMDI7KSYjMTIzOTg7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMzMjIwNzsmIzI1OTY4OzwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5maWxlbmFtZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij4mIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTA1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMyMTUxNzs8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMi4gJiMyMDM2MzsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZXhhbXBsZXMiPjwvYT4yLiAmIzIwMzYzOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjEuICYjMjU1NTI7JiMyMDM3OTsmIzEyMzczOyYjMTI0Mjg7JiMxMjM4MzsmIzEyNDcxOyYjMTI0NTU7JiMxMjUyMzsmIzEyNTM5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyNTIyOyYjMTI1MDM7JiMxMjQ4ODsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM5ODsmIzIzNjUzOyYjMjc1MDg7JiMxMjUxMDsmIzEyNDUyOyYjMTI0OTE7JiMxMjUzMTsmIzEyNDY0OyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0idW5peHNjcmlwdHNleGFtcGxlcyI+PC9hPjIuMS4gJiMyNTU1MjsmIzIwMzc5OyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMTI0NzE7JiMxMjQ1NTsmIzEyNTIzOyYjMTI1Mzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzk4OyYjMjM2NTM7JiMyNzUwODsmIzEyNTEwOyYjMTI0NTI7JiMxMjQ5MTsmIzEyNTMxOyYjMTI0NjQ7PC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD4mIzIwMTk3OyYjMTk5Nzk7JiMxMjM5OTsmIzEyMzc3OyYjMTI0MDk7JiMxMjM5MDsmIzEyMjg5OyBqZGsxLjYuMC1iMTIsIGpkazEuNi4wLWIxMywgLi4uLCBqZGsxLjYuMC1iNjAgJiMxMjM5ODsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NTsmIzEyMzkwOyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMjAxOTc7JiMxOTk3OTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTI0MTU7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci1jb21wdXRlQnVnSGlzdG9yeSBqZGsxLjYuMC1iKiB8IGZpbHRlckJ1Z3MgLWJ1Z1BhdHRlcm4gSUxfIHwgbWluZUJ1Z0hpc3RvcnkgLWZvcm1hdERhdGVzCi08L3ByZT48cD4mIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMjc0MjU7JiMxMjM5ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NDsmIzIwOTg2OyYjMjExNDc7JiMxMjM2NDsmIzM0ODkyOyYjMTI0MzE7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7IDo8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLXNlcQl2ZXJzaW9uCXRpbWUJY2xhc3NlcwlOQ1NTCWFkZGVkCW5ld0NvZGUJZml4ZWQJcmVtb3ZlZAlyZXRhaW5lZAlkZWFkCWFjdGl2ZQotMAlqZGsxLjYuMC1iMTIJIlRodSBOb3YgMTEgMDk6MDc6MjAgRVNUIDIwMDQiCTEzMTI4CTgxMTU2OQkwCTQJMAkwCTAJMAk0Ci0xCWpkazEuNi4wLWIxMwkiVGh1IE5vdiAxOCAwNjowMjowNiBFU1QgMjAwNCIJMTMxMjgJODExNTcwCTAJMAkwCTAJNAkwCTQKLTIJamRrMS42LjAtYjE0CSJUaHUgRGVjIDAyIDA2OjEyOjI2IEVTVCAyMDA0IgkxMzE0NQk4MTE3ODYJMAkwCTIJMAkyCTAJMgotMwlqZGsxLjYuMC1iMTUJIlRodSBEZWMgMDkgMDY6MDc6MDQgRVNUIDIwMDQiCTEzMTc0CTgxMTY5MwkwCTAJMQkwCTEJMgkxCi00CWpkazEuNi4wLWIxNgkiVGh1IERlYyAxNiAwNjoyMToyOCBFU1QgMjAwNCIJMTMxNzUJODExNzE1CTAJMAkwCTAJMQkzCTEKLTUJamRrMS42LjAtYjE3CSJUaHUgRGVjIDIzIDA2OjI3OjIyIEVTVCAyMDA0IgkxMzE3Ngk4MTE5NzQJMAkwCTAJMAkxCTMJMQotNglqZGsxLjYuMC1iMTkJIlRodSBKYW4gMTMgMDY6NDE6MTYgRVNUIDIwMDUiCTEzMTc2CTgxMjAxMQkwCTAJMAkwCTEJMwkxCi03CWpkazEuNi4wLWIyMQkiVGh1IEphbiAyNyAwNTo1Nzo1MiBFU1QgMjAwNSIJMTMxNzcJODEyMTczCTAJMAkwCTAJMQkzCTEKLTgJamRrMS42LjAtYjIzCSJUaHUgRmViIDEwIDA1OjQ0OjM2IEVTVCAyMDA1IgkxMzE3OQk4MTIxODgJMAkwCTAJMAkxCTMJMQotOQlqZGsxLjYuMC1iMjYJIlRodSBNYXIgMDMgMDY6MDQ6MDIgRVNUIDIwMDUiCTEzMTk5CTgxMTc3MAkwCTAJMAkwCTEJMwkxCi0xMAlqZGsxLjYuMC1iMjcJIlRodSBNYXIgMTAgMDQ6NDg6MzggRVNUIDIwMDUiCTEzMTg5CTgxMjQ0MAkwCTAJMAkwCTEJMwkxCi0xMQlqZGsxLjYuMC1iMjgJIlRodSBNYXIgMTcgMDI6NTQ6MjIgRVNUIDIwMDUiCTEzMTg1CTgxMjA1NgkwCTAJMAkwCTEJMwkxCi0xMglqZGsxLjYuMC1iMjkJIlRodSBNYXIgMjQgMDM6MDk6MjAgRVNUIDIwMDUiCTEzMTE3CTgwOTQ2OAkwCTAJMAkwCTEJMwkxCi0xMwlqZGsxLjYuMC1iMzAJIlRodSBNYXIgMzEgMDI6NTM6MzIgRVNUIDIwMDUiCTEzMTE4CTgwOTUwMQkwCTAJMAkwCTEJMwkxCi0xNAlqZGsxLjYuMC1iMzEJIlRodSBBcHIgMDcgMDM6MDA6MTQgRURUIDIwMDUiCTEzMTE3CTgwOTU3MgkwCTAJMAkwCTEJMwkxCi0xNQlqZGsxLjYuMC1iMzIJIlRodSBBcHIgMTQgMDI6NTY6NTYgRURUIDIwMDUiCTEzMTY5CTgxMTA5NgkwCTAJMAkwCTEJMwkxCi0xNglqZGsxLjYuMC1iMzMJIlRodSBBcHIgMjEgMDI6NDY6MjIgRURUIDIwMDUiCTEzMTg3CTgxMTk0MgkwCTAJMAkwCTEJMwkxCi0xNwlqZGsxLjYuMC1iMzQJIlRodSBBcHIgMjggMDI6NDk6MDAgRURUIDIwMDUiCTEzMTk1CTgxMzQ4OAkwCTEJMAkwCTEJMwkyCi0xOAlqZGsxLjYuMC1iMzUJIlRodSBNYXkgMDUgMDI6NDk6MDQgRURUIDIwMDUiCTEzNDU3CTgyOTgzNwkwCTAJMAkwCTIJMwkyCi0xOQlqZGsxLjYuMC1iMzYJIlRodSBNYXkgMTIgMDI6NTk6NDYgRURUIDIwMDUiCTEzNDYyCTgzMTI3OAkwCTAJMAkwCTIJMwkyCi0yMAlqZGsxLjYuMC1iMzcJIlRodSBNYXkgMTkgMDI6NTU6MDggRURUIDIwMDUiCTEzNDY0CTgzMTk3MQkwCTAJMAkwCTIJMwkyCi0yMQlqZGsxLjYuMC1iMzgJIlRodSBNYXkgMjYgMDM6MDg6MTYgRURUIDIwMDUiCTEzNTY0CTgzNjU2NQkwCTAJMAkwCTIJMwkyCi0yMglqZGsxLjYuMC1iMzkJIkZyaSBKdW4gMDMgMDM6MTA6NDggRURUIDIwMDUiCTEzODU2CTg0OTk5MgkwCTEJMAkwCTIJMwkzCi0yMwlqZGsxLjYuMC1iNDAJIlRodSBKdW4gMDkgMDM6MzA6MjggRURUIDIwMDUiCTE1OTcyCTk1OTYxOQkwCTIJMAkwCTMJMwk1Ci0yNAlqZGsxLjYuMC1iNDEJIlRodSBKdW4gMTYgMDM6MTk6MjIgRURUIDIwMDUiCTE1OTcyCTk1OTYxOQkwCTAJMAkwCTUJMwk1Ci0yNQlqZGsxLjYuMC1iNDIJIkZyaSBKdW4gMjQgMDM6Mzg6NTQgRURUIDIwMDUiCTE1OTY2CTk1ODU4MQkwCTAJMAkwCTUJMwk1Ci0yNglqZGsxLjYuMC1iNDMJIlRodSBKdWwgMTQgMDM6MDk6MzQgRURUIDIwMDUiCTE2MDQxCTk2MDU0NAkwCTAJMAkwCTUJMwk1Ci0yNwlqZGsxLjYuMC1iNDQJIlRodSBKdWwgMjEgMDM6MDU6NTQgRURUIDIwMDUiCTE2MDQxCTk2MDU0NwkwCTAJMAkwCTUJMwk1Ci0yOAlqZGsxLjYuMC1iNDUJIlRodSBKdWwgMjggMDM6MjY6MTAgRURUIDIwMDUiCTE2MDM3CTk2MDYwNgkwCTAJMQkwCTQJMwk0Ci0yOQlqZGsxLjYuMC1iNDYJIlRodSBBdWcgMDQgMDM6MDI6NDggRURUIDIwMDUiCTE1OTM2CTk1MTM1NQkwCTAJMAkwCTQJNAk0Ci0zMAlqZGsxLjYuMC1iNDcJIlRodSBBdWcgMTEgMDM6MTg6NTYgRURUIDIwMDUiCTE1OTY0CTk1MjM4NwkwCTAJMQkwCTMJNAkzCi0zMQlqZGsxLjYuMC1iNDgJIlRodSBBdWcgMTggMDg6MTA6NDAgRURUIDIwMDUiCTE1OTcwCTk1MzQyMQkwCTAJMAkwCTMJNQkzCi0zMglqZGsxLjYuMC1iNDkJIlRodSBBdWcgMjUgMDM6MjQ6MzggRURUIDIwMDUiCTE2MDQ4CTk1ODk0MAkwCTAJMAkwCTMJNQkzCi0zMwlqZGsxLjYuMC1iNTAJIlRodSBTZXAgMDEgMDE6NTI6NDAgRURUIDIwMDUiCTE2Mjg3CTk3NDkzNwkxCTAJMAkwCTMJNQk0Ci0zNAlqZGsxLjYuMC1iNTEJIlRodSBTZXAgMDggMDE6NTU6MzYgRURUIDIwMDUiCTE2MzYyCTk3OTM3NwkwCTAJMAkwCTQJNQk0Ci0zNQlqZGsxLjYuMC1iNTIJIlRodSBTZXAgMTUgMDI6MDQ6MDggRURUIDIwMDUiCTE2NDc3CTk3OTM5OQkwCTAJMAkwCTQJNQk0Ci0zNglqZGsxLjYuMC1iNTMJIlRodSBTZXAgMjIgMDI6MDA6MjggRURUIDIwMDUiCTE2MDE5CTk1NzkwMAkwCTAJMQkwCTMJNQkzCi0zNwlqZGsxLjYuMC1iNTQJIlRodSBTZXAgMjkgMDE6NTQ6MzQgRURUIDIwMDUiCTE2MDE5CTk1NzkwMAkwCTAJMAkwCTMJNgkzCi0zOAlqZGsxLjYuMC1iNTUJIlRodSBPY3QgMDYgMDE6NTQ6MTQgRURUIDIwMDUiCTE2MDUxCTk1OTAxNAkwCTAJMAkwCTMJNgkzCi0zOQlqZGsxLjYuMC1iNTYJIlRodSBPY3QgMTMgMDE6NTQ6MTIgRURUIDIwMDUiCTE2MjExCTk3MDgzNQkwCTAJMAkwCTMJNgkzCi00MAlqZGsxLjYuMC1iNTcJIlRodSBPY3QgMjAgMDE6NTU6MjYgRURUIDIwMDUiCTE2Mjc5CTk3MTYyNwkwCTAJMAkwCTMJNgkzCi00MQlqZGsxLjYuMC1iNTgJIlRodSBPY3QgMjcgMDE6NTY6MzAgRURUIDIwMDUiCTE2MjgzCTk3MTk0NQkwCTAJMAkwCTMJNgkzCi00MglqZGsxLjYuMC1iNTkJIlRodSBOb3YgMDMgMDE6NTY6NTggRVNUIDIwMDUiCTE2MjMyCTk3MjE5MwkwCTAJMAkwCTMJNgkzCi00MwlqZGsxLjYuMC1iNjAJIlRodSBOb3YgMTAgMDE6NTQ6MTggRVNUIDIwMDUiCTE2MjM1CTk3MjM0NgkwCTAJMAkwCTMJNgkzCi08L3ByZT48cD4mIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTtkYi54bWwgJiMyMDAxMzsmIzM4MjkxOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzI5OTgzOyYjMjUxMDQ7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzk0OyYjMTIzNjc7JiMzMDQ1MjsmIzI1NTA5OyYjMjE1MTY7JiMxMjM3NjsmIzI0NzczOyYjMjI1Nzc7JiMxMjQzNDsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotY29tcHV0ZUJ1Z0hpc3RvcnkgIGpkazEuNi4wLWIqL2pyZS9saWIvcnQueG1sIHwgZmlsdGVyQnVncyAtYnVnUGF0dGVybiBJTF8gZGIueG1sIHwgbWluZUJ1Z0hpc3RvcnkgLWZvcm1hdERhdGVzCi08L3ByZT48cD4mIzEyMzcxOyYjMTIzOTg7JiMyNDc3MzsmIzIyNTc3OyYjMTI0MzQ7JiMyMDM1MTsmIzEyMzg3OyYjMTIzOTA7JiMxMjI4OTsgU3VuIEpESzEuNi4wICYjMTIzOTg7JiMyMTUwODsmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsmIzEyMzk1OyYjMTIzNjI7JiMxMjM1NjsmIzEyMzkwOyBGaW5kQnVncyAmIzEyMzk1OyYjMTI0MjQ7JiMxMjM4NzsmIzEyMzkwOyYjMzAzMzA7JiMzNTIxMTsmIzEyMzczOyYjMTI0Mjg7JiMxMjM4MzsmIzI4OTYxOyYjMzg0ODA7JiMyMDg3NzsmIzM2MjE1OyYjMTI1MjM7JiMxMjU0MDsmIzEyNTAzOyYjMTIzOTg7JiMyNTk2ODsmIzEyNDM0OyYjMzQ5MjA7JiMxMjM3NzsmIzEyNDY0OyYjMTI1MjE7JiMxMjUwMTsmIzEyNDM0OyYjMzQ5MjA7JiMzMTAzNDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMzg3Mzg7JiMzMzM5NDsmIzEyMzk4OyYjMzg5MzY7JiMyMjQ5NTsmIzEyMzk5OyYjMTIyODk7JiMyNDQwMzsmIzM1NDQyOyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OyYjMTIzOTU7JiMxMjM2MjsmIzEyMzY5OyYjMTI0Mjc7JiMyODk2MTsmIzM4NDgwOyYjMjA4Nzc7JiMzNjIxNTsmIzEyNTIzOyYjMTI1NDA7JiMxMjUwMzsmIzEyMzk4OyYjMjU5Njg7JiMxMjQzNDsmIzM0OTIwOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzODE7JiMxMjM5ODsmIzE5OTc4OyYjMTIzOTU7JiMyNTU1MTsmIzEyMzYzOyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMzNjE5NjsmIzMzMzk0OyYjMTIzOTg7JiMzODkzNjsmIzIyNDk1OyYjMTIzOTk7JiMxMjI4OTsmIzIwMTk3OyYjMjEwNjk7JiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5NTsmIzEyMzk5OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc1OyYjMTIzODM7JiMxMjM2NDsmIzI0NDAzOyYjMzU0NDI7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTE7JiMxMjM5OTsmIzM4NTAwOyYjMjE0MzU7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMyODk2MTsmIzM4NDgwOyYjMjA4Nzc7JiMzNjIxNTsmIzEyNTIzOyYjMTI1NDA7JiMxMjUwMzsmIzEyMzk4OyYjMjU5Njg7JiMxMjQzNDsmIzM0OTIwOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyAoJiMxMjM3NTsmIzEyMzgzOyYjMTIzNjQ7JiMxMjM4NzsmIzEyMzkwOyYjMTIyODk7JiMzNjE5NjsmIzMzMzk0OyYjMTIzOTg7JiMzODkzNjsmIzIyNDk1OyYjMTIzOTI7JiMzODczODsmIzMzMzk0OyYjMTIzOTg7JiMzODkzNjsmIzIyNDk1OyYjMTI0MzQ7JiMzNjI3NTsmIzEyMzc1OyYjMjE1MTI7JiMxMjQzMTsmIzEyMzc5OyYjMTIzODM7JiMzOTY0MDsmIzEyMzczOyYjMTIzOTk7JiMyNzc3MDsmIzEyMzc1OyYjMTIzOTA7JiMyODE4NzsmIzIzNTY5OyYjMTIzNzU7JiMxMjM5NDsmIzEyMzU2OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMjA0NDU7JiMzNTM4ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzODE7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMyNjAzMjsmIzEyMzgzOyYjMTIzOTU7JiMyODk2MTsmIzM4NDgwOyYjMjA4Nzc7JiMzNjIxNTsmIzEyNTIzOyYjMTI1NDA7JiMxMjUwMzsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzEyMzY0OyYjMjUzNDU7JiMxMjM4NTsmIzM2Nzk2OyYjMTI0MTQ7JiMxMjQyODsmIzEyMzgzOyYjMjYxNzg7JiMyODg1NzsmIzEyMzkxOyYjMjI2Nzk7JiMyMTE1MjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzspICYjMTIyOTA7JiMzNjE5NjsmIzMzMzk0OyYjMTIzOTg7JiMzODkzNjsmIzIyNDk1OyYjMTIzOTg7JiMzOTY0MDsmIzEyMzczOyYjMTIzOTk7JiMxMjI4OTsmIzI0NDAzOyYjMzU0NDI7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTU7JiMxMjM2MjsmIzEyMzU2OyYjMTIzOTA7JiMyMDQ2MjsmIzI3NDkxOyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyYjMjEwNjY7JiMzODUwMDsmIzEyMzczOyYjMTI0Mjg7JiMxMjM4MzsmIzEyNDk2OyYjMTI0NjQ7JiMyNTk2ODsmIzEyMzk4OyYjMjE1MTI7JiMzNTMzNjsmIzEyMzkxOyYjMzE2Mzk7JiMyMDk4NjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyAxMyAmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgMTQgJiMxMjM5NTsmIzEyMzYyOyYjMTIzNTY7JiMxMjM5MDsmIzM1MjExOyYjMTI0MjU7JiMxMjQyODsmIzEyNDI3OyYjMjgxODc7JiMyMzU2OTsmIzEyMzk5OyYjMTIyODk7IEZpbmRCdWdzICYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzM1MjExOyYjMTIzODg7JiMxMjM2MzsmIzEyMzg3OyYjMTIzODM7IEpESyAmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzEyMzk4OyYjMjI1Nzc7JiMyMTU3ODsmIzEyNDM0OyBTdW4gJiMxMjM2NDsmIzIxNDYzOyYjMTIzNjk7JiMyMTQ2MjsmIzEyMzg3OyYjMTIzODM7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTU7JiMxMjQyNDsmIzEyNDI3OyYjMTI0MTg7JiMxMjM5ODsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0ibWVkaWFvYmplY3QiPjxpbWcgc3JjPSJpbmZpbml0ZVJlY3Vyc2l2ZUxvb3BzLnBuZyI+PC9kaXY+PHA+ZGIueG1sICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5OTsmIzEyMjg5OyBqZGsxLjYuMCAmIzEyMzk4OyYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIzOTg7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMyMDQ0NTsmIzI1MzQ1OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzU7JiMxMjM4MzsmIzEyMzY0OyYjMTIzODc7JiMxMjM5MDsmIzEyMjg5OyYjMjc0MjU7JiMxMjM5NTsmIzMxMDM0OyYjMTIzNzc7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNDM0OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjI4OTsmIzIwNzc4OyYjMjA4MDg7JiMyNDIzMDsoJiMzOTY0MDspJiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7KCYjMjAzMDI7KSYjMTIzOTg7JiMyNzQ5MTsmIzMwOTA2OyYjMjQ2MTU7JiMxMjM5NTsmIzM4MzA2OyYjMTIzNzc7JiMxMjQyNzsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5ODsmIzIzNjUzOyYjMjc1MDg7JiMxMjM2NDsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsgOjwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotZmlsdGVyQnVncyAtcHJpb3JpdHkgTSAtY2F0ZWdvcnkgQyBkYi54bWwgfCBtaW5lQnVnSGlzdG9yeSAtZm9ybWF0RGF0ZXMKLTwvcHJlPjxwPiYjMjAzMTY7JiMyNTEwNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzM0OTIwOyYjMTIzOTg7JiMyMDM2MzsgOjwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotc2VxCXZlcnNpb24JdGltZQljbGFzc2VzCU5DU1MJYWRkZWQJbmV3Q29kZQlmaXhlZAlyZW1vdmVkCXJldGFpbmVkCWRlYWQJYWN0aXZlCi0wCWpkazEuNi4wLWIxMgkiVGh1IE5vdiAxMSAwOTowNzoyMCBFU1QgMjAwNCIJMTMxMjgJODExNTY5CTAJMTA3NQkwCTAJMAkwCTEwNzUKLTEJamRrMS42LjAtYjEzCSJUaHUgTm92IDE4IDA2OjAyOjA2IEVTVCAyMDA0IgkxMzEyOAk4MTE1NzAJMAkwCTAJMAkxMDc1CTAJMTA3NQotMglqZGsxLjYuMC1iMTQJIlRodSBEZWMgMDIgMDY6MTI6MjYgRVNUIDIwMDQiCTEzMTQ1CTgxMTc4NgkzCTAJNgkwCTEwNjkJMAkxMDcyCi0zCWpkazEuNi4wLWIxNQkiVGh1IERlYyAwOSAwNjowNzowNCBFU1QgMjAwNCIJMTMxNzQJODExNjkzCTIJMQkzCTAJMTA2OQk2CTEwNzIKLTQJamRrMS42LjAtYjE2CSJUaHUgRGVjIDE2IDA2OjIxOjI4IEVTVCAyMDA0IgkxMzE3NQk4MTE3MTUJMAkwCTEJMAkxMDcxCTkJMTA3MQotNQlqZGsxLjYuMC1iMTcJIlRodSBEZWMgMjMgMDY6Mjc6MjIgRVNUIDIwMDQiCTEzMTc2CTgxMTk3NAkwCTAJMQkwCTEwNzAJMTAJMTA3MAotNglqZGsxLjYuMC1iMTkJIlRodSBKYW4gMTMgMDY6NDE6MTYgRVNUIDIwMDUiCTEzMTc2CTgxMjAxMQkwCTAJMAkwCTEwNzAJMTEJMTA3MAotNwlqZGsxLjYuMC1iMjEJIlRodSBKYW4gMjcgMDU6NTc6NTIgRVNUIDIwMDUiCTEzMTc3CTgxMjE3MwkwCTAJMQkwCTEwNjkJMTEJMTA2OQotOAlqZGsxLjYuMC1iMjMJIlRodSBGZWIgMTAgMDU6NDQ6MzYgRVNUIDIwMDUiCTEzMTc5CTgxMjE4OAkwCTAJMAkwCTEwNjkJMTIJMTA2OQotOQlqZGsxLjYuMC1iMjYJIlRodSBNYXIgMDMgMDY6MDQ6MDIgRVNUIDIwMDUiCTEzMTk5CTgxMTc3MAkwCTAJMgkxCTEwNjYJMTIJMTA2NgotMTAJamRrMS42LjAtYjI3CSJUaHUgTWFyIDEwIDA0OjQ4OjM4IEVTVCAyMDA1IgkxMzE4OQk4MTI0NDAJMQkwCTEJMQkxMDY0CTE1CTEwNjUKLTExCWpkazEuNi4wLWIyOAkiVGh1IE1hciAxNyAwMjo1NDoyMiBFU1QgMjAwNSIJMTMxODUJODEyMDU2CTAJMAkwCTAJMTA2NQkxNwkxMDY1Ci0xMglqZGsxLjYuMC1iMjkJIlRodSBNYXIgMjQgMDM6MDk6MjAgRVNUIDIwMDUiCTEzMTE3CTgwOTQ2OAkzCTAJOAkyNgkxMDMxCTE3CTEwMzQKLTEzCWpkazEuNi4wLWIzMAkiVGh1IE1hciAzMSAwMjo1MzozMiBFU1QgMjAwNSIJMTMxMTgJODA5NTAxCTAJMAkwCTAJMTAzNAk1MQkxMDM0Ci0xNAlqZGsxLjYuMC1iMzEJIlRodSBBcHIgMDcgMDM6MDA6MTQgRURUIDIwMDUiCTEzMTE3CTgwOTU3MgkwCTAJMAkwCTEwMzQJNTEJMTAzNAotMTUJamRrMS42LjAtYjMyCSJUaHUgQXByIDE0IDAyOjU2OjU2IEVEVCAyMDA1IgkxMzE2OQk4MTEwOTYJMQkxCTAJMQkxMDMzCTUxCTEwMzUKLTE2CWpkazEuNi4wLWIzMwkiVGh1IEFwciAyMSAwMjo0NjoyMiBFRFQgMjAwNSIJMTMxODcJODExOTQyCTMJMAkyCTEJMTAzMgk1MgkxMDM1Ci0xNwlqZGsxLjYuMC1iMzQJIlRodSBBcHIgMjggMDI6NDk6MDAgRURUIDIwMDUiCTEzMTk1CTgxMzQ4OAkwCTEJMAkwCTEwMzUJNTUJMTAzNgotMTgJamRrMS42LjAtYjM1CSJUaHUgTWF5IDA1IDAyOjQ5OjA0IEVEVCAyMDA1IgkxMzQ1Nwk4Mjk4MzcJMAkzNgkyCTAJMTAzNAk1NQkxMDcwCi0xOQlqZGsxLjYuMC1iMzYJIlRodSBNYXkgMTIgMDI6NTk6NDYgRURUIDIwMDUiCTEzNDYyCTgzMTI3OAkwCTAJMAkwCTEwNzAJNTcJMTA3MAotMjAJamRrMS42LjAtYjM3CSJUaHUgTWF5IDE5IDAyOjU1OjA4IEVEVCAyMDA1IgkxMzQ2NAk4MzE5NzEJMAkxCTEJMAkxMDY5CTU3CTEwNzAKLTIxCWpkazEuNi4wLWIzOAkiVGh1IE1heSAyNiAwMzowODoxNiBFRFQgMjAwNSIJMTM1NjQJODM2NTY1CTEJNwkyCTYJMTA2Mgk1OAkxMDcwCi0yMglqZGsxLjYuMC1iMzkJIkZyaSBKdW4gMDMgMDM6MTA6NDggRURUIDIwMDUiCTEzODU2CTg0OTk5Mgk2CTM5CTUJMAkxMDY1CTY2CTExMTAKLTIzCWpkazEuNi4wLWI0MAkiVGh1IEp1biAwOSAwMzozMDoyOCBFRFQgMjAwNSIJMTU5NzIJOTU5NjE5CTcJMTQ3CTExCTAJMTA5OQk3MQkxMjUzCi0yNAlqZGsxLjYuMC1iNDEJIlRodSBKdW4gMTYgMDM6MTk6MjIgRURUIDIwMDUiCTE1OTcyCTk1OTYxOQkwCTAJMAkwCTEyNTMJODIJMTI1MwotMjUJamRrMS42LjAtYjQyCSJGcmkgSnVuIDI0IDAzOjM4OjU0IEVEVCAyMDA1IgkxNTk2Ngk5NTg1ODEJMwkwCTEJMgkxMjUwCTgyCTEyNTMKLTI2CWpkazEuNi4wLWI0MwkiVGh1IEp1bCAxNCAwMzowOTozNCBFRFQgMjAwNSIJMTYwNDEJOTYwNTQ0CTUJMTEJMTUJOAkxMjMwCTg1CTEyNDYKLTI3CWpkazEuNi4wLWI0NAkiVGh1IEp1bCAyMSAwMzowNTo1NCBFRFQgMjAwNSIJMTYwNDEJOTYwNTQ3CTAJMAkwCTAJMTI0NgkxMDgJMTI0NgotMjgJamRrMS42LjAtYjQ1CSJUaHUgSnVsIDI4IDAzOjI2OjEwIEVEVCAyMDA1IgkxNjAzNwk5NjA2MDYJMTkJMAkyCTAJMTI0NAkxMDgJMTI2MwotMjkJamRrMS42LjAtYjQ2CSJUaHUgQXVnIDA0IDAzOjAyOjQ4IEVEVCAyMDA1IgkxNTkzNgk5NTEzNTUJMTMJMQkxCTMyCTEyMzAJMTEwCTEyNDQKLTMwCWpkazEuNi4wLWI0NwkiVGh1IEF1ZyAxMSAwMzoxODo1NiBFRFQgMjAwNSIJMTU5NjQJOTUyMzg3CTE2Mwk4CTcJMjAJMTIxNwkxNDMJMTM4OAotMzEJamRrMS42LjAtYjQ4CSJUaHUgQXVnIDE4IDA4OjEwOjQwIEVEVCAyMDA1IgkxNTk3MAk5NTM0MjEJMAkwCTAJMAkxMzg4CTE3MAkxMzg4Ci0zMglqZGsxLjYuMC1iNDkJIlRodSBBdWcgMjUgMDM6MjQ6MzggRURUIDIwMDUiCTE2MDQ4CTk1ODk0MAkxCTExCTEJMAkxMzg3CTE3MAkxMzk5Ci0zMwlqZGsxLjYuMC1iNTAJIlRodSBTZXAgMDEgMDE6NTI6NDAgRURUIDIwMDUiCTE2Mjg3CTk3NDkzNwkxOQkyNwkxNgk3CTEzNzYJMTcxCTE0MjIKLTM0CWpkazEuNi4wLWI1MQkiVGh1IFNlcCAwOCAwMTo1NTozNiBFRFQgMjAwNSIJMTYzNjIJOTc5Mzc3CTEJMTUJMwkwCTE0MTkJMTk0CTE0MzUKLTM1CWpkazEuNi4wLWI1MgkiVGh1IFNlcCAxNSAwMjowNDowOCBFRFQgMjAwNSIJMTY0NzcJOTc5Mzk5CTAJMAkxCTEJMTQzMwkxOTcJMTQzMwotMzYJamRrMS42LjAtYjUzCSJUaHUgU2VwIDIyIDAyOjAwOjI4IEVEVCAyMDA1IgkxNjAxOQk5NTc5MDAJMTMJMTIJMTYJMjAJMTM5NwkxOTkJMTQyMgotMzcJamRrMS42LjAtYjU0CSJUaHUgU2VwIDI5IDAxOjU0OjM0IEVEVCAyMDA1IgkxNjAxOQk5NTc5MDAJMAkwCTAJMAkxNDIyCTIzNQkxNDIyCi0zOAlqZGsxLjYuMC1iNTUJIlRodSBPY3QgMDYgMDE6NTQ6MTQgRURUIDIwMDUiCTE2MDUxCTk1OTAxNAkxCTQJNwkwCTE0MTUJMjM1CTE0MjAKLTM5CWpkazEuNi4wLWI1NgkiVGh1IE9jdCAxMyAwMTo1NDoxMiBFRFQgMjAwNSIJMTYyMTEJOTcwODM1CTYJOAkzNwkwCTEzODMJMjQyCTEzOTcKLTQwCWpkazEuNi4wLWI1NwkiVGh1IE9jdCAyMCAwMTo1NToyNiBFRFQgMjAwNSIJMTYyNzkJOTcxNjI3CTAJMAkwCTAJMTM5NwkyNzkJMTM5NwotNDEJamRrMS42LjAtYjU4CSJUaHUgT2N0IDI3IDAxOjU2OjMwIEVEVCAyMDA1IgkxNjI4Mwk5NzE5NDUJMAkxCTEJMAkxMzk2CTI3OQkxMzk3Ci00MglqZGsxLjYuMC1iNTkJIlRodSBOb3YgMDMgMDE6NTY6NTggRVNUIDIwMDUiCTE2MjMyCTk3MjE5Mwk2CTAJNQkwCTEzOTIJMjgwCTEzOTgKLTQzCWpkazEuNi4wLWI2MAkiVGh1IE5vdiAxMCAwMTo1NDoxOCBFU1QgMjAwNSIJMTYyMzUJOTcyMzQ2CTAJMAkwCTAJMTM5OAkyODUJMTM5OAotNDQJamRrMS42LjAtYjYxCSJUaHUgTm92IDE3IDAxOjU4OjQyIEVTVCAyMDA1IgkxNjIwMgk5NzExMzQJMgkwCTQJMAkxMzk0CTI4NQkxMzk2Ci08L3ByZT48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjIuMi4gJiMyMjY3OTsmIzIwOTk4OyYjMjM2NTM7JiMyNzUwODsmIzEyNTEzOyYjMTI1MzE7JiMxMjQ4NjsmIzEyNDkwOyYjMTI1MzE7JiMxMjQ3MzsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImluY3JlbWVudGFsaGlzdG9yeSI+PC9hPjIuMi4gJiMyMjY3OTsmIzIwOTk4OyYjMjM2NTM7JiMyNzUwODsmIzEyNTEzOyYjMTI1MzE7JiMxMjQ4NjsmIzEyNDkwOyYjMTI1MzE7JiMxMjQ3Mzs8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMjAyMDY7JiMxMjM5NTsmIzEyMjg5OyBkYi54bWwgJiMxMjM2NDsmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsgYjEyIC0gYjYwICYjMTIzOTU7JiMyMzU1MDsmIzEyMzc3OyYjMTI0Mjc7IGZpbmRidWdzICYjMjM0NTU7JiMzNDg5MjsmIzMyMDgwOyYjMjY1MjQ7JiMxMjQzNDsmIzIwNDQ1OyYjMjUzNDU7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjI4OTsmIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIyODk7IGRiLnhtbCAmIzEyMzk1OyBiNjEgJiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsmIzIzNDU1OyYjMzQ4OTI7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMzNjg2MTsmIzIxMTUyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci1jb21wdXRlQnVnSGlzdG9yeSAtb3V0cHV0IGRiLnhtbCBkYi54bWwgamRrMS42LjAtYjYxL2pyZS9saWIvcnQueG1sCi08L3ByZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjMuIEFudCAmIzEyMzk4OyYjMjAzNjM7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImFudGV4YW1wbGUiPjwvYT4zLiBBbnQgJiMxMjM5ODsmIzIwMzYzOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+ZmluZGJ1Z3MgJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM5MjsmIzEyMzgxOyYjMTIzOTg7JiMyNDQ2MDsmIzEyMzk4OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1Mzk7JiMxMjUxMDsmIzEyNDUyOyYjMTI0OTE7JiMxMjUzMTsmIzEyNDY0OyYjMTI0ODQ7JiMxMjU0MDsmIzEyNTIzOyYjMTIzOTg7JiMyNzk2MzsmIzI5OTkyOyYjMTIzOTg7JiMyMDAwMTsmIzI2MDQxOyYjMTI0MzQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7IGFudCAmIzEyNDczOyYjMTI0NjM7JiMxMjUyMjsmIzEyNTAzOyYjMTI0ODg7JiMxMjM5ODsmIzIzNDM2OyYjMjA4NDA7JiMxMjM5NDsmIzIwMzYzOyYjMTI0MzQ7JiMyMDE5NzsmIzE5OTc5OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsgOjwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotCi0mbHQ7cHJvamVjdCBuYW1lPSJhbmFseXplX2FzbV91dGlsIiBkZWZhdWx0PSJmaW5kYnVncyImZ3Q7Ci0gICAmbHQ7IS0tIGZpbmRidWdzICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMjM0NTA7JiMzMjY4MTsgLS0mZ3Q7Ci0gICAmbHQ7cHJvcGVydHkgbmFtZT0iZmluZGJ1Z3MuaG9tZSIgdmFsdWU9Ii9Vc2Vycy9iZW4vRG9jdW1lbnRzL3dvcmtzcGFjZS9maW5kYnVncy9maW5kYnVncyIgLyZndDsKLSAgICZsdDtwcm9wZXJ0eSBuYW1lPSJqdm1hcmdzIiB2YWx1ZT0iLXNlcnZlciAtWHNzMW0gLVhteDgwMG0gLUR1c2VyLmxhbmd1YWdlPWVuIC1EdXNlci5yZWdpb249RU4gLURmaW5kYnVncy5ob21lPSR7ZmluZGJ1Z3MuaG9tZX0iIC8mZ3Q7Ci0KLSAgICAmbHQ7cGF0aCBpZD0iZmluZGJ1Z3MubGliIiZndDsKLSAgICAgICZsdDtmaWxlc2V0IGRpcj0iJHtmaW5kYnVncy5ob21lfS9saWIiJmd0OwotICAgICAgICAgJmx0O2luY2x1ZGUgbmFtZT0iZmluZGJ1Z3MtYW50LmphciIvJmd0OwotICAgICAgJmx0Oy9maWxlc2V0Jmd0OwotICAgJmx0Oy9wYXRoJmd0OwotCi0gICAmbHQ7dGFza2RlZiBuYW1lPSJmaW5kYnVncyIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suRmluZEJ1Z3NUYXNrIiZndDsKLSAgICAgICZsdDtjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLyZndDsKLSAgICZsdDsvdGFza2RlZiZndDsKLQotICAgJmx0O3Rhc2tkZWYgbmFtZT0iY29tcHV0ZUJ1Z0hpc3RvcnkiIGNsYXNzbmFtZT0iZWR1LnVtZC5jcy5maW5kYnVncy5hbnR0YXNrLkNvbXB1dGVCdWdIaXN0b3J5VGFzayImZ3Q7Ci0gICAgICAmbHQ7Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8mZ3Q7Ci0gICAmbHQ7L3Rhc2tkZWYmZ3Q7Ci0KLSAgICZsdDt0YXNrZGVmIG5hbWU9InNldEJ1Z0RhdGFiYXNlSW5mbyIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suU2V0QnVnRGF0YWJhc2VJbmZvVGFzayImZ3Q7Ci0gICAgICAmbHQ7Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8mZ3Q7Ci0gICAmbHQ7L3Rhc2tkZWYmZ3Q7Ci0KLSAgICZsdDt0YXNrZGVmIG5hbWU9Im1pbmVCdWdIaXN0b3J5IiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5NaW5lQnVnSGlzdG9yeVRhc2siJmd0OwotICAgICAgJmx0O2NsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvJmd0OwotICAgJmx0Oy90YXNrZGVmJmd0OwotCi0gICAmbHQ7IS0tIGZpbmRidWdzICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMjM0NTA7JiMzMjY4MTsgLS0mZ3Q7Ci0gICAmbHQ7dGFyZ2V0IG5hbWU9ImZpbmRidWdzIiZndDsKLSAgICAgICZsdDthbnRjYWxsIHRhcmdldD0iYW5hbHl6ZSIgLyZndDsKLSAgICAgICZsdDthbnRjYWxsIHRhcmdldD0ibWluZSIgLyZndDsKLSAgICZsdDsvdGFyZ2V0Jmd0OwotCi0gICAmbHQ7IS0tICYjMjA5OTg7JiMyNjUxMjsmIzEyNDM0OyYjMzQ4OTI7JiMxMjM1ODsmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzstLSZndDsKLSAgICZsdDt0YXJnZXQgbmFtZT0iYW5hbHl6ZSImZ3Q7Ci0gICAgICAmbHQ7IS0tIGFzbS11dGlsICYjMTIzOTU7JiMyMzU1MDsmIzEyMzc1OyYjMTIzOTA7IGZpbmRidWdzICYjMTI0MzQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzc7JiMxMjQyNzsgLS0mZ3Q7Ci0gICAgICAmbHQ7ZmluZGJ1Z3MgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgICBvdXRwdXQ9InhtbDp3aXRoTWVzc2FnZXMiCi0gICAgICAgICAgICAgICAgdGltZW91dD0iOTAwMDAwMDAiCi0gICAgICAgICAgICAgICAgcmVwb3J0TGV2ZWw9ImV4cGVyaW1lbnRhbCIKLSAgICAgICAgICAgICAgICB3b3JrSGFyZD0idHJ1ZSIKLSAgICAgICAgICAgICAgICBlZmZvcnQ9Im1heCIKLSAgICAgICAgICAgICAgICBhZGp1c3RFeHBlcmltZW50YWw9InRydWUiCi0gICAgICAgICAgICAgICAganZtYXJncz0iJHtqdm1hcmdzfSIKLSAgICAgICAgICAgICAgICBmYWlsT25FcnJvcj0idHJ1ZSIKLSAgICAgICAgICAgICAgICBvdXRwdXRGaWxlPSJvdXQueG1sIgotICAgICAgICAgICAgICAgIHByb2plY3ROYW1lPSJGaW5kYnVncyIKLSAgICAgICAgICAgICAgICBkZWJ1Zz0iZmFsc2UiJmd0OwotICAgICAgICAgJmx0O2NsYXNzIGxvY2F0aW9uPSJhc20tdXRpbC0zLjAuamFyIiAvJmd0OwotICAgICAgJmx0Oy9maW5kYnVncyZndDsKLSAgICZsdDsvdGFyZ2V0Jmd0OwotCi0gICAmbHQ7dGFyZ2V0IG5hbWU9Im1pbmUiJmd0OwotCi0gICAgICAmbHQ7IS0tICYjMjYzNjg7JiMyNjAzMjsmIzEyMzk4OyYjMjA5OTg7JiMyNjUxMjsmIzMyMDgwOyYjMjY1MjQ7JiMxMjM5NTsmIzI0NzczOyYjMjI1Nzc7JiMxMjQzNDsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyAtLSZndDsKLSAgICAgICZsdDtzZXRCdWdEYXRhYmFzZUluZm8gaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoTWVzc2FnZXM9InRydWUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iYXNtLXV0aWwtMy4wLmphciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dD0ib3V0LnhtbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQ9Im91dC1yZWwueG1sIi8mZ3Q7Ci0KLSAgICAgICZsdDshLS0gJiMyMzY1MzsmIzI3NTA4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7IChvdXQtaGlzdC54bWwpICYjMTIzNjQ7JiMyNjA4MjsmIzEyMzk1OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM2MzsmIzEyMzkzOyYjMTIzNTg7JiMxMjM2MzsmIzEyNDM0OyYjMzA5MDY7JiMzNTQ2OTsmIzEyMzc3OyYjMTI0Mjc7IC0tJmd0OwotICAgICAgJmx0O2NvbmRpdGlvbiBwcm9wZXJ0eT0ibWluaW5nLmhpc3RvcnlmaWxlLmF2YWlsYWJsZSImZ3Q7Ci0gICAgICAgICAmbHQ7YXZhaWxhYmxlIGZpbGU9Im91dC1oaXN0LnhtbCIvJmd0OwotICAgICAgJmx0Oy9jb25kaXRpb24mZ3Q7Ci0gICAgICAmbHQ7Y29uZGl0aW9uIHByb3BlcnR5PSJtaW5pbmcuaGlzdG9yeWZpbGUubm90YXZhaWxhYmxlIiZndDsKLSAgICAgICAgICZsdDtub3QmZ3Q7Ci0gICAgICAgICAgICAmbHQ7YXZhaWxhYmxlIGZpbGU9Im91dC1oaXN0LnhtbCIvJmd0OwotICAgICAgICAgJmx0Oy9ub3QmZ3Q7Ci0gICAgICAmbHQ7L2NvbmRpdGlvbiZndDsKLQotICAgICAgJmx0OyEtLSAmIzEyMzcxOyYjMTIzOTg7JiMxMjQ3OTsmIzEyNTQwOyYjMTI0NjY7JiMxMjQ4MzsmIzEyNDg4OyYjMTIzOTk7JiMxMjI4OTsmIzIzNjUzOyYjMjc1MDg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzY0OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc1OyYjMTIzOTQ7JiMxMjM1NjsmIzEyMzkyOyYjMTIzNjU7ICgmIzIxMDIxOyYjMjIyMzg7KSAmIzEyMzg0OyYjMTIzNjk7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7IC0tJmd0OwotICAgICAgJmx0O2FudGNhbGwgdGFyZ2V0PSJoaXN0b3J5LWluaXQiJmd0OwotICAgICAgICAmbHQ7cGFyYW0gbmFtZT0iZGF0YS5maWxlIiB2YWx1ZT0ib3V0LXJlbC54bWwiIC8mZ3Q7Ci0gICAgICAgICZsdDtwYXJhbSBuYW1lPSJoaXN0LmZpbGUiIHZhbHVlPSJvdXQtaGlzdC54bWwiIC8mZ3Q7Ci0gICAgICAmbHQ7L2FudGNhbGwmZ3Q7Ci0gICAgICAmbHQ7IS0tICYjMTk5Nzg7JiMzNTM1MjsmIzIwMTk3OyYjMjI4MDY7JiMxMjM5ODsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5NTsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsgLS0mZ3Q7Ci0gICAgICAmbHQ7YW50Y2FsbCB0YXJnZXQ9Imhpc3RvcnkiJmd0OwotICAgICAgICAmbHQ7cGFyYW0gbmFtZT0iZGF0YS5maWxlIiAgICAgICAgIHZhbHVlPSJvdXQtcmVsLnhtbCIgLyZndDsKLSAgICAgICAgJmx0O3BhcmFtIG5hbWU9Imhpc3QuZmlsZSIgICAgICAgICB2YWx1ZT0ib3V0LWhpc3QueG1sIiAvJmd0OwotICAgICAgICAmbHQ7cGFyYW0gbmFtZT0iaGlzdC5zdW1tYXJ5LmZpbGUiIHZhbHVlPSJvdXQtaGlzdC50eHQiIC8mZ3Q7Ci0gICAgICAmbHQ7L2FudGNhbGwmZ3Q7Ci0gICAmbHQ7L3RhcmdldCZndDsKLQotICAgJmx0OyEtLSAmIzIzNjUzOyYjMjc1MDg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjEwMjE7JiMyNjM5OTsmIzIxMjcwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyAtLSZndDsKLSAgICZsdDt0YXJnZXQgbmFtZT0iaGlzdG9yeS1pbml0IiBpZj0ibWluaW5nLmhpc3RvcnlmaWxlLm5vdGF2YWlsYWJsZSImZ3Q7Ci0gICAgICAmbHQ7Y29weSBmaWxlPSIke2RhdGEuZmlsZX0iIHRvZmlsZT0iJHtoaXN0LmZpbGV9IiAvJmd0OwotICAgJmx0Oy90YXJnZXQmZ3Q7Ci0KLSAgICZsdDshLS0gJiMxMjQ5NjsmIzEyNDY0OyYjMjM2NTM7JiMyNzUwODsmIzEyNDM0OyYjMzE2Mzk7JiMyMDk4NjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsgLS0mZ3Q7Ci0gICAmbHQ7dGFyZ2V0IG5hbWU9Imhpc3RvcnkiIGlmPSJtaW5pbmcuaGlzdG9yeWZpbGUuYXZhaWxhYmxlIiZndDsKLSAgICAgICZsdDshLS0gJHtkYXRhLmZpbGV9ICYjMTI0MzQ7ICR7aGlzdC5maWxlfSAmIzEyMzk1OyYjMTI1MTA7JiMxMjU0MDsmIzEyNDcyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyAtLSZndDsKLSAgICAgICZsdDtjb21wdXRlQnVnSGlzdG9yeSBob21lPSIke2ZpbmRidWdzLmhvbWV9IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aE1lc3NhZ2VzPSJ0cnVlIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0PSIke2hpc3QuZmlsZX0iJmd0OwotICAgICAgICAgICAgJmx0O2RhdGFGaWxlIG5hbWU9IiR7aGlzdC5maWxlfSIvJmd0OwotICAgICAgICAgICAgJmx0O2RhdGFGaWxlIG5hbWU9IiR7ZGF0YS5maWxlfSIvJmd0OwotICAgICAgJmx0Oy9jb21wdXRlQnVnSGlzdG9yeSZndDsKLQotICAgICAgJmx0OyEtLSAmIzIzNjUzOyYjMjc1MDg7JiMxMjQzNDsmIzMxNjM5OyYjMjA5ODY7JiMxMjM3NTsmIzEyMzkwOyAke2hpc3Quc3VtbWFyeS5maWxlfSAmIzEyMzk1OyYjMjA5ODY7JiMyMTE0NzsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsgLS0mZ3Q7Ci0gICAgICAmbHQ7bWluZUJ1Z0hpc3RvcnkgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdERhdGVzPSJ0cnVlIgotICAgICAgICAgICAgICAgICAgICAgIG5vVGFicz0idHJ1ZSIKLSAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0PSIke2hpc3QuZmlsZX0iCi0gICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQ9IiR7aGlzdC5zdW1tYXJ5LmZpbGV9Ii8mZ3Q7Ci0gICAmbHQ7L3RhcmdldCZndDsKLQotJmx0Oy9wcm9qZWN0Jmd0OwotCi08L3ByZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGljZW5zZS5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+JiMzMTUzMjsxMSYjMzE0NTY7IHJlamFyRm9yQW5hbHlzaXMgJiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+JiMxMjUwNzsmIzEyNTQwOyYjMTI1MTI7PC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwOyYjMzE1MzI7MTMmIzMxNDU2OyAmIzEyNTIxOyYjMTI0NTI7JiMxMjQ3NTsmIzEyNTMxOyYjMTI0NzM7PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2VjbGlwc2UuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZWNsaXBzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWJjN2YxLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZWNsaXBzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi08aHRtbD48aGVhZD4KLSAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgotICAgPHRpdGxlPiYjMzE1MzI7NyYjMzE0NTY7IEZpbmRCdWdzJiM4NDgyOyBFY2xpcHNlICYjMTI1MDM7JiMxMjUyMTsmIzEyNDY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc2LjEiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyAmIzEyNTEwOyYjMTI0OTE7JiMxMjUxNzsmIzEyNDUwOyYjMTI1MjM7Ij48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iYW50dGFzay5odG1sIiB0aXRsZT0iJiMzMTUzMjs2JiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7IEFudCAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7Ij48bGluayByZWw9Im5leHQiIGhyZWY9ImZpbHRlci5odG1sIiB0aXRsZT0iJiMzMTUzMjs4JiMzMTQ1NjsgJiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj4mIzMxNTMyOzcmIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgRWNsaXBzZSAmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFudHRhc2suaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZmlsdGVyLmh0bWwiPiYjMjc0MjU7JiMxMjQwODs8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImNoYXB0ZXIiIHRpdGxlPSImIzMxNTMyOzcmIzMxNDU2OyBGaW5kQnVncyYjODQ4MjsgRWNsaXBzZSAmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZWNsaXBzZSI+PC9hPiYjMzE1MzI7NyYjMzE0NTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyBFY2xpcHNlICYjMTI1MDM7JiMxMjUyMTsmIzEyNDY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPiYjMzA0NDY7JiMyNzQyNTs8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJlY2xpcHNlLmh0bWwjZDBlMTYwNCI+MS4gJiMyNDUxNzsmIzM1MjAxOyYjMjY0NjU7JiMyMDIxNDs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZWNsaXBzZS5odG1sI2QwZTE2MTEiPjIuICYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJlY2xpcHNlLmh0bWwjZDBlMTY1OCI+My4gJiMxMjUwMzsmIzEyNTIxOyYjMTI0NjQ7JiMxMjQ1MjsmIzEyNTMxOyYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZWNsaXBzZS5odG1sI2QwZTE2ODEiPjQuICYjMTI0ODg7JiMxMjUyMTsmIzEyNTAyOyYjMTI1MjM7JiMxMjQ3MTsmIzEyNTE3OyYjMTI1NDA7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1MzE7JiMxMjQ2NDs8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2Rpdj48cD5GaW5kQnVncyBFY2xpcHNlICYjMTI1MDM7JiMxMjUyMTsmIzEyNDY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTU7JiMxMjQyNDsmIzEyMzg3OyYjMTIzOTA7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjQzNDsgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnLyIgdGFyZ2V0PSJfdG9wIj5FY2xpcHNlPC9hPiBJREUgJiMxMjM5MTsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDI3OyYjMTI0MjQ7JiMxMjM1ODsmIzEyMzk1OyYjMTIzOTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTIzOTg7RmluZEJ1Z3MgRWNsaXBzZSAmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5OTsmIzEyMjg5OyBQZXRlciBGcmllc2UgJiMyNzY2MzsmIzEyMzk4OyYjMjI4MTA7JiMyMjgyMzsmIzEyMzk0OyYjMzYwMDI7JiMyOTQ4NjsmIzEyMzk1OyYjMTI0MjQ7JiMxMjQyNzsmIzEyNDE4OyYjMTIzOTg7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7UGhpbCBDcm9zYnkgJiMyNzY2MzsgJiMxMjM5MjsgQW5kcmVpIExvc2t1dG92ICYjMjc2NjM7JiMxMjM5OTsmIzEyMjg5OyYjMTI1MDM7JiMxMjUyMTsmIzEyNDY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzk4OyYjMzczMjU7JiMzNTIwMTsmIzEyMzk0OyYjMjU5MTM7JiMzMzM5MTsmIzEyMzk1OyYjMzYwMDI7JiMyOTQ4NjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NTsmIzEyMzgzOyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMS4gJiMyNDUxNzsmIzM1MjAxOyYjMjY0NjU7JiMyMDIxNDsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTYwNCI+PC9hPjEuICYjMjQ1MTc7JiMzNTIwMTsmIzI2NDY1OyYjMjAyMTQ7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBFY2xpcHNlIFBsdWdpbiAmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyBFY2xpcHNlIDMuMyAmIzEyMzU0OyYjMTI0Mjc7JiMxMjM1NjsmIzEyMzk5OyYjMTIzODE7JiMxMjQyODsmIzIwMTk3OyYjMzg0Nzc7JiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjI4OTsmIzEyNDE0OyYjMTIzODM7JiMxMjI4OTsgSlJFL0pESyAxLjUgJiMxMjM1NDsmIzEyNDI3OyYjMTIzNTY7JiMxMjM5OTsmIzEyMzgxOyYjMTI0Mjg7JiMyMDE5NzsmIzM4NDc3OyYjMTIzOTg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzNjQ7JiMyNDUxNzsmIzM1MjAxOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjIuICYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxNjExIj48L2E+Mi4gJiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4mIzI2MzU2OyYjMjYwMzI7JiMxMjQ2OTsmIzEyNDUyOyYjMTI0ODg7JiMxMjM2NDsmIzI1NTUyOyYjMjAzNzk7JiMxMjM3MzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzI2MzU2OyYjMjYwMzI7JiMxMjQ2OTsmIzEyNDUyOyYjMTI0ODg7JiMxMjQzNDsmIzIxMDMzOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMyNzIzMTsmIzI2ODAwOyYjMzAzNDA7JiMxMjM5NTsgRmluZEJ1Z3MgJiMxMjQzNDsgRWNsaXBzZSAmIzEyMzk1OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDE0OyYjMTIzODM7JiMzMzI1ODsmIzIxMjA1OyYjMzAzNDA7JiMxMjM5NTsmIzEyMjg5OyYjMjYzNjg7JiMyNjAzMjsmIzI5MjU2OyYjMTIzOTg7JiMxMjQ1MDsmIzEyNDgzOyYjMTI1MDM7JiMxMjQ4NzsmIzEyNTQwOyYjMTI0ODg7JiMxMjQzNDsmIzI5MDMxOyYjMjAyNTA7JiMxMjM3NTsmIzEyMzkwOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjQxODsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMDg2OTsmIzIzNDgxOyYjMTIzOTg7JiMzMDA2NDsmIzEyMzk0OyYjMTI0Mjc7IDMgJiMxMjM4ODsmIzEyMzk4OyYjMjYzNTY7JiMyNjAzMjsmIzEyNDY5OyYjMTI0NTI7JiMxMjQ4ODsmIzEyMzY0OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiIHRpdGxlPSJGaW5kQnVncyBFY2xpcHNlICYjMjYzNTY7JiMyNjAzMjsmIzEyNDY5OyYjMTI0NTI7JiMxMjQ4ODsmIzE5OTY4OyYjMzUyMzk7Ij48cCBjbGFzcz0idGl0bGUiPjxiPkZpbmRCdWdzIEVjbGlwc2UgJiMyNjM1NjsmIzI2MDMyOyYjMTI0Njk7JiMxMjQ1MjsmIzEyNDg4OyYjMTk5Njg7JiMzNTIzOTs8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZWNsaXBzZS8iIHRhcmdldD0iX3RvcCI+aHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZWNsaXBzZS88L2E+PC9zcGFuPjwvZHQ+PGRkPjxwPkZpbmRCdWdzICYjMTIzOTg7JiMyMDg0NDsmIzI0MzM1OyYjMTI1MjI7JiMxMjUyMjsmIzEyNTQwOyYjMTI0NzM7JiMyOTI4OTsmIzEyNDM0OyYjMjU1NTI7JiMyMDM3OTsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLWNhbmRpZGF0ZS8iIHRhcmdldD0iX3RvcCI+aHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZWNsaXBzLWNhbmRpZGF0ZS88L2E+PC9zcGFuPjwvZHQ+PGRkPjxwPkZpbmRCdWdzJiMxMjM5ODsmIzIwODQ0OyYjMjQzMzU7JiMxMjUyMjsmIzEyNTIyOyYjMTI1NDA7JiMxMjQ3MzsmIzI5Mjg5OyYjMTIzOTU7JiMyMTE1MjsmIzEyMzYwOyYjMTIzOTA7JiMxMjI4OTsmIzIwODQ0OyYjMjQzMzU7JiMxMjUyMjsmIzEyNTIyOyYjMTI1NDA7JiMxMjQ3MzsmIzIwNTA1OyYjMzUwMzY7JiMyOTI1NjsmIzEyNDM0OyYjMjU1NTI7JiMyMDM3OTsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLWRhaWx5LyIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLWRhaWx5LzwvYT48L3NwYW4+PC9kdD48ZGQ+PHA+RmluZEJ1Z3MmIzEyMzk4OyYjMjYwODU7JiMyNzQyNTsmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsmIzI5Mjg5OyYjMTI0MzQ7JiMyNTU1MjsmIzIwMzc5OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjQ2NzsmIzEyNTMxOyYjMTI0OTc7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMjAxOTc7JiMxOTk3ODsmIzEyMzk4OyYjMTI0ODY7JiMxMjQ3MzsmIzEyNDg4OyYjMTIzOTk7JiMzNDg5MjsmIzEyNDMxOyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OyYjMTIyOTA7PC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4mIzEyNDE0OyYjMTIzODM7JiMxMjI4OTsmIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTI1MjI7JiMxMjUzMTsmIzEyNDYzOyYjMTIzNjM7JiMxMjQyNTsmIzI1MTYzOyYjMjEyMDU7JiMxMjM5MTsmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjQzNDsmIzEyNDgwOyYjMTI0NTQ7JiMxMjUzMTsmIzEyNTI1OyYjMTI1NDA7JiMxMjQ4OTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTI0MTg7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsgOiA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvZmluZGJ1Z3MvZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW4uZWNsaXBzZV8yLjAuMy4yMDEzMTEyMi56aXA/ZG93bmxvYWQiIHRhcmdldD0iX3RvcCI+aHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9lZHUudW1kLmNzLmZpbmRidWdzLnBsdWdpbi5lY2xpcHNlXzIuMC4zLjIwMTMxMTIyLnppcD9kb3dubG9hZDwvYT4uICYjMjM2Mzc7JiMzODI4MzsmIzEyMzc1OyYjMTIzOTA7IEVjbGlwc2UgJiMxMjM5ODsmIzEyMzAwO3BsdWdpbnMmIzEyMzAxOyYjMTI0Njk7JiMxMjUwMjsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzOTU7JiMyMDgzNzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOygmIzEyMzgxOyYjMTIzNTg7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsgJmx0O2VjbGlwc2UgJiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsgJmd0Oy9wbHVnaW5zL2VkdS51bWQuY3MuZmluZGJ1Z3MucGx1Z2luLmVjbGlwc2VfMi4wLjMuMjAxMzExMjIvZmluZGJ1Z3MucG5nICYjMTIzNjQ7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMxMjUyNTsmIzEyNDY4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQwODsmIzEyMzk4OyYjMTI0OTc7JiMxMjQ3MzsmIzEyMzk1OyYjMTIzOTQ7JiMxMjQyNzsmIzEyMzk5OyYjMTIzNzg7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7KTwvcD48cD4mIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5ODsmIzIzNjM3OyYjMzgyODM7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjM4MzsmIzEyNDI1OyYjMTIyODk7IEVjbGlwc2UgJiMxMjQzNDsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NTsmIzEyMzkwOyA8c3BhbiBjbGFzcz0iZ3VpbWVudSI+SGVscDwvc3Bhbj4gJiM4NTk0OyA8c3BhbiBjbGFzcz0iZ3VpbWVudWl0ZW0iPkFib3V0IEVjbGlwc2UgUGxhdGZvcm08L3NwYW4+ICYjODU5NDsgPHNwYW4gY2xhc3M9Imd1aW1lbnVpdGVtIj5QbHVnLWluIERldGFpbHM8L3NwYW4+ICYjMTI0MzQ7JiMzNjk4NDsmIzI1MjQ2OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMxMjMwMDtGaW5kQnVncyBQcm9qZWN0JiMxMjMwMTsmIzEyMzYzOyYjMTI0MjU7JiMyNTU1MjsmIzIwMzc5OyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMTIzMDA7RmluZEJ1Z3MgUGx1Zy1pbiYjMTIzMDE7JiMxMjM5MjsmIzEyMzU2OyYjMTIzNTg7JiMxMjUwMzsmIzEyNTIxOyYjMTI0NjQ7JiMxMjQ1MjsmIzEyNTMxOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyNDM0OyYjMzA5MDY7JiMzNTQ2OTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjMuICYjMTI1MDM7JiMxMjUyMTsmIzEyNDY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTE2NTgiPjwvYT4zLiAmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTsgSmF2YSAmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzE5OTc4OyYjMTIzOTE7JiMyMTQ5MTsmIzEyNDYzOyYjMTI1MjI7JiMxMjQ4MzsmIzEyNDYzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzAwO0ZpbmQgQnVncyYjMTIzMDE7JiMxMjQzNDsmIzM2OTg0OyYjMjUyNDY7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzY0OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjM5MDsmIzEyMjg5OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMTIzOTg7JiMyMzQ1NTsmIzIwMzYzOyYjMTIzOTg7JiMyMTQ4NzsmIzMzMDIxOyYjMjQ2MTU7JiMxMjM2NDsmIzEyMzU0OyYjMTI0Mjc7JiMxMjM5MjsmIzM1NjcyOyYjMjEwMjk7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMxMjQ2NzsmIzEyNTQwOyYjMTI0ODk7JiMzMTYyMzsmIzI1MTUyOyYjMTIzOTU7JiMyMTgzOTsmIzM4OTg4OyYjMTI1MTA7JiMxMjU0MDsmIzEyNDU5OyYjMTI1NDA7JiMxMjM2NDsmIzEyMzg4OyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7ICgmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzMwMDExOyYjMzg3NTQ7JiMxMjM2MjsmIzEyNDI0OyYjMTI0MDM7IEVjbGlwc2UgJiMyMTgzOTsmIzM4OTg4OyYjMTI0OTk7JiMxMjUxNzsmIzEyNTQwOyYjMTIzOTU7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDspPC9wPjxwPkphdmEgJiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjM5ODsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsmIzEyNDgwOyYjMTI0NTI7JiMxMjQ1MDsmIzEyNTI1OyYjMTI0NjQ7JiMxMjQzNDsmIzM4MjgzOyYjMTIzNTY7JiMxMjM5MDsmIzEyMzAwO0ZpbmRidWdzJiMxMjMwMTsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsmIzEyNTA2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNDM0OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzIxMjA1OyYjMjAzMTY7JiMxMjQzNDsmIzEyNDU5OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNTEwOyYjMTI0NTI7JiMxMjQ3NDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzkxOyYjMTIzNjU7JiMxMjQyNzsmIzM4OTE3OyYjMzA0NDY7JiMxMjM5NTsmIzEyMzk5OyYjMjc0MjU7JiMxMjM5ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NDsmIzEyNDE4OyYjMTIzOTg7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPiYjMTIzMDA7UnVuIEZpbmRCdWdzIEF1dG9tYXRpY2FsbHkmIzEyMzAxOyYjMTI0ODE7JiMxMjQ1NTsmIzEyNDgzOyYjMTI0NjM7JiMxMjUwODsmIzEyNDgzOyYjMTI0NjM7JiMxMjQ3MzsmIzEyMzk4OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMjkwOyYjMTI0ODE7JiMxMjQ1NTsmIzEyNDgzOyYjMTI0NjM7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzIwODY5OyYjMTIzOTg7IEphdmEgJiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM2NDsmIzIwNDYyOyYjMjc0OTE7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjM4MzsmIzEyNDAzOyYjMTIzOTU7IEZpbmRCdWdzICYjMTIzNjQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4mIzIwNzc4OyYjMjA4MDg7JiMyNDIzMDsmIzEyMzkyOyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDU5OyYjMTI0ODY7JiMxMjQ2ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjM5ODsmIzM2OTg0OyYjMjUyNDY7JiMxMjI5MDsmIzEyMzcxOyYjMTI0Mjg7JiMxMjQyNTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk5OyYjMTIyODk7JiMxMjM5MzsmIzEyMzk4OyYjMzU2ODY7JiMyMTU3ODsmIzEyNDM0OyYjMzQ5MjA7JiMzMTAzNDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM2MzsmIzEyNDM0OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjAzNjM7JiMxMjM2MDsmIzEyNDAwOyYjMTIyODk7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7JiMxMjM5MTsgJiMxMjMwMDtNZWRpdW0mIzEyMzAxOyAmIzEyNDM0OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOyAoJiMyMDAxMzspICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOyAoJiMzOTY0MDspICYjMTIzOTg7JiMzNTY4NjsmIzIxNTc4OyYjMTIzOTg7JiMxMjQxNTsmIzEyMzY0OyYjMzQ5MjA7JiMzMTAzNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMTUxNjsmIzI3MDk2OyYjMTIzOTU7JiMxMjI4OTsmIzEyMzAwO1N0eWxlJiMxMjMwMTsmIzEyNDgxOyYjMTI0NTU7JiMxMjQ4MzsmIzEyNDYzOyYjMTI1MDg7JiMxMjQ4MzsmIzEyNDYzOyYjMTI0NzM7JiMxMjM5ODsmIzEyNDgxOyYjMTI0NTU7JiMxMjQ4MzsmIzEyNDYzOyYjMTI1MTA7JiMxMjU0MDsmIzEyNDYzOyYjMTI0MzQ7JiMyMjgwNjsmIzEyMzc3OyYjMTIzOTI7JiMxMjI4OTtTdHlsZSAmIzEyNDU5OyYjMTI0ODY7JiMxMjQ2ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjM5NTsmIzIzNjQ2OyYjMTIzNzc7JiMxMjQyNzsmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5OTsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OyYjMTIyOTA7PC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+JiMxMjQ4NzsmIzEyNDUxOyYjMTI0ODY7JiMxMjQ2MzsmIzEyNDc5OyYjMTIzOTg7JiMzNjk4NDsmIzI1MjQ2OyYjMTIyOTA7JiMzNDkyMDsmIzEyMzYzOyYjMTI0MjU7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjM5MTsmIzI2Mzc3OyYjMjExNzc7JiMxMjM5NTsmIzEyMzc1OyYjMTIzODM7JiMxMjM1NjsmIzEyNDg3OyYjMTI0NTE7JiMxMjQ4NjsmIzEyNDYzOyYjMTI0Nzk7JiMxMjQzNDsmIzM2OTg0OyYjMjUyNDY7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9saT48L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iNC4gJiMxMjQ4ODsmIzEyNTIxOyYjMTI1MDI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1MTc7JiMxMjU0MDsmIzEyNDg2OyYjMTI0NTE7JiMxMjUzMTsmIzEyNDY0OyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxNjgxIj48L2E+NC4gJiMxMjQ4ODsmIzEyNTIxOyYjMTI1MDI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1MTc7JiMxMjU0MDsmIzEyNDg2OyYjMTI0NTE7JiMxMjUzMTsmIzEyNDY0OzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gRWNsaXBzZSAmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5OTsmIzEyMjg5OyYjMTI0MTQ7JiMxMjM4NDsmIzIzNDU1OyYjMzk0NDM7JiMyNzU3MzsmIzM4NTQyOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjM5ODsmIzEyNDc1OyYjMTI0NjM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7JiMxMjUwMzsmIzEyNTIxOyYjMTI0NjQ7JiMxMjQ1MjsmIzEyNTMxOyYjMTIzOTU7JiMzODMwNjsmIzEyMzc3OyYjMTI0Mjc7JiMxOTk2ODsmIzMzMzI0OyYjMzAzNDA7JiMxMjM5NDsmIzIxODM5OyYjMzg5ODg7JiMxMjM5MjsgKCYjMjEwMjg7JiMyNjEyNjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI4OyYjMTI0MDA7KSAmIzEyMzgxOyYjMTI0Mjg7JiMxMjQyNTsmIzEyMzk4OyYjMjE4Mzk7JiMzODk4ODsmIzEyMzk4OyYjMzUyOTk7JiMyNzc3MDsmIzI2MDQxOyYjMjc4NjE7JiMxMjQzNDsmIzM1MzUyOyYjMzY4NDg7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMyMTgzOTsmIzM4OTg4OyYjMTI1MTA7JiMxMjU0MDsmIzEyNDU5OyYjMTI1NDA7JiMxMjM2NDsgKCYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMzAwMTE7JiMzODc1NDsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzIxODM5OyYjMzg5ODg7JiMxMjQ5OTsmIzEyNTE3OyYjMTI1NDA7JiMxMjM5NTspICYjMzQ5MjA7JiMzMTAzNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjM5NDsmIzEyMzU2OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7JiMyMTgzOTsmIzM4OTg4OyYjMTI0OTk7JiMxMjUxNzsmIzEyNTQwOyYjMTIzOTg7JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMzUzNzM7JiMyMzQ1MDsmIzEyNDM0OyYjMjI3OTM7JiMyNjM1NjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyYjMzU0NDM7JiMzMjA0ODsmIzI0NzczOyYjMjI1Nzc7JiMxMjM5OTsgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L0ZBUS5odG1sI3E3IiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvRkFRLmh0bWwjcTc8L2E+ICYjMTI0MzQ7JiMyMTQ0MjsmIzI5MDMxOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFudHRhc2suaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZmlsdGVyLmh0bWwiPiYjMjc0MjU7JiMxMjQwODs8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4mIzMxNTMyOzYmIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+ICYjMTI0Nzk7JiMxMjQ3MzsmIzEyNDYzOyYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPiYjMTI1MDc7JiMxMjU0MDsmIzEyNTEyOzwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDsmIzMxNTMyOzgmIzMxNDU2OyAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzs8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZXhhbXBsZS1jb2RlLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZXhhbXBsZS1jb2RlLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmUwMWYzMS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2V4YW1wbGUtY29kZS5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2V4YW1wbGUtZGV0YWlscy5wbmcgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2V4YW1wbGUtZGV0YWlscy5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhZGRmOTMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9leGFtcGxlLWRldGFpbHMucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9leGFtcGxlLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZXhhbXBsZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4OWI4OTcuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9leGFtcGxlLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZmlsdGVyLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2ZpbHRlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTFkZWVkLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZmlsdGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNjggKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT4mIzMxNTMyOzgmIzMxNDU2OyAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzs8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJlY2xpcHNlLmh0bWwiIHRpdGxlPSImIzMxNTMyOzcmIzMxNDU2OyBGaW5kQnVncyYjODQ4MjsgRWNsaXBzZSAmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiIHRpdGxlPSImIzMxNTMyOzkmIzMxNDU2OyAmIzIwOTk4OyYjMjY1MTI7JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj4mIzMxNTMyOzgmIzMxNDU2OyAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzs8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJlY2xpcHNlLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFuYWx5c2lzcHJvcHMuaHRtbCI+JiMyNzQyNTsmIzEyNDA4OzwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IiYjMzE1MzI7OCYjMzE0NTY7ICYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZmlsdGVyIj48L2E+JiMzMTUzMjs4JiMzMTQ1NjsgJiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPiYjMzA0NDY7JiMyNzQyNTs8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJmaWx0ZXIuaHRtbCNkMGUxNzA5Ij4xLiAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk4OyYjMjcwMTA7JiMzNTIwMTs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMTc1OSI+Mi4gJiMxMjUxMDsmIzEyNDgzOyYjMTI0ODE7JiMxMjUzMTsmIzEyNDY0OyYjMjY0NjU7JiMyMDIxNDsmIzEyMzk4OyYjMzEyNzg7JiMzOTAwNjs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMTk1OCI+My4gSmF2YSAmIzM1MjAxOyYjMzIwMzI7JiMyMTUxNzsmIzEyNTEwOyYjMTI0ODM7JiMxMjQ4MTsmIzEyNTMxOyYjMTI0NjQ7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTE5ODIiPjQuICYjMzAwNDE7JiMyNDg0NzsmIzIwMTA3OyYjMzg5MTc7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTIwMTIiPjUuICYjMjAzNjM7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTIwNjUiPjYuICYjMjM0MzY7JiMyMDg0MDsmIzEyMzk0OyYjMjAzNjM7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kaXY+PHA+JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIyODk7JiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQyMDsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTI0MzQ7JiMxMjQ5NjsmIzEyNDY0OyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzk1OyYjMjE1NDc7JiMxMjQxNzsmIzEyMzgzOyYjMTI0MjY7JiMxMjQ5NjsmIzEyNDY0OyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzYzOyYjMTI0MjU7JiMzODUwMDsmIzIyODA2OyYjMTIzNzU7JiMxMjM4MzsmIzEyNDI2OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzk4OyYjMzE0NTY7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyYjMTI0MzQ7JiMzNTUwMDsmIzI2MTI2OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9Im5vdGUiIHRpdGxlPSImIzM1MzM2OyYjMzAwMTE7JiMxMjM3MzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMjcyMzE7JiMzMzAyMTsiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlOiAmIzM1MzM2OyYjMzAwMTE7JiMxMjM3MzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMjcyMzE7JiMzMzAyMTsiPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IlsmIzI3ODgwOyYjMzUzNTI7XSIgc3JjPSJub3RlLnBuZyI+PC90ZD48dGggYWxpZ249ImxlZnQiPiYjMzUzMzY7JiMzMDAxMTsmIzEyMzczOyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMyNzIzMTsmIzMzMDIxOzwvdGg+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTIzOTk7JiMyOTY5NDsmIzIyMzEyOyYjMTIyODk7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3OTsmIzEyNTAxOyYjMTI0NTU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTE7JiMxMjM5ODsmIzEyNDE1OyYjMTI0Njk7JiMxMjUwOTsmIzEyNTQwOyYjMTI0ODg7JiMxMjM3MzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzI2MzY4OyYjMzIwNjY7JiMzMDM0MDsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTsmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjM5ODsmIzEyNDY5OyYjMTI1MDk7JiMxMjU0MDsmIzEyNDg4OyYjMTIzOTk7IEdVSSAmIzEyMzk1OyYjMTI0MTg7JiMzNjg2MTsmIzIxMTUyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMjAxMDQ7JiMyMzQ1MDsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+Ci08L3A+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk4OyYjMjcwMTA7JiMzNTIwMTsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTcwOSI+PC9hPjEuICYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTg7JiMyNzAxMDsmIzM1MjAxOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMyNzAxMDsmIzI0NTY1OyYjMzAzNDA7JiMxMjM5NTsmIzM1MzI4OyYjMTIzNjA7JiMxMjQwMDsmIzEyMjg5OyYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyMzk5OyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMxMjM1NDsmIzEyNDI3OyYjMjI1MjI7JiMyODMxMDsmIzEyMzkyOyYjMjkwMzE7JiMyMTUxMjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNDM0OyYjMjM0NTA7JiMzMjY4MTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTE7JiMxMjI4OTsgJiMyOTMwNTsmIzIxMDI5OyYjMTIzOTQ7JiMyMTQ2MjsmIzEyNDI2OyYjMjUyMDE7JiMxMjM1NjsmIzEyNDM0OyYjMTIzNzc7JiMxMjQyNzsmIzEyNDk2OyYjMTI0NjQ7JiMyNjkwODsmIzMyMDM0OyYjMzIwODA7JiMyNjUyNDsmIzEyNDM0OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjAzNjM7JiMxMjM2MDsmIzEyNDAwOyYjMTIyODk7JiMxMjM1NDsmIzEyNDI3OyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMxMjQ5NjsmIzEyNDY0OyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzk1OyYjMjE1NDc7JiMxMjQxNzsmIzEyMzgzOyYjMTI0MjY7JiMxMjI4OTsmIzEyNDk2OyYjMTI0NjQ7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNjM7JiMxMjQyNTsmIzM4NTAwOyYjMjI4MDY7JiMxMjM3NTsmIzEyMzgzOyYjMTI0MjY7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5OTsmIzEyMjg5OyA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8iIHRhcmdldD0iX3RvcCI+WE1MPC9hPiAmIzI1OTkxOyYjMjYzNjA7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyNjM2ODsmIzE5OTc4OyYjMjAzMDE7JiMzNTIwMTsmIzMyMDMyOyYjMTIzNjQ7JiMxMjI4ODs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+RmluZEJ1Z3NGaWx0ZXI8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsgJiMxMjM5MTsmIzEyMzU0OyYjMTI0MjY7JiMxMjI4OTsmIzEyMzgxOyYjMTIzOTg7JiMyMzM3NjsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5MjsmIzEyMzc1OyYjMTIzOTA7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4gJiMzNTIwMTsmIzMyMDMyOyYjMTI0MzQ7JiMzNTA3OTsmIzI1OTY4OyYjMjA0OTE7JiMyMzQ1MDsmIzMyNjgxOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM4MTsmIzEyNDI4OyYjMTIzODI7JiMxMjQyODsmIzEyMzk4OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWF0Y2g8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsmIzEyMzk5OyYjMTIyODk7JiMyOTk4MzsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTIzOTU7JiMzNjk2OTsmIzI5OTkyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDI3OyYjMzY4NDg7JiMzNzA5NjsmIzEyMzk1OyYjMTIzNTQ7JiMxMjM4MzsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMzY4OTA7JiMyNDEyMDsmIzEyMjg5OyYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyMzk5OyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMzODUwMDsmIzIyODA2OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzgzOyYjMTI0MTc7JiMxMjM5NTsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzI3NDI1OyYjMTIzOTU7JiMxMjI4OTsmIzIwMzYzOyYjMTI0MzQ7JiMzMTAzNDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3Nzs6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij4kIDwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maW5kYnVncyAtdGV4dHVpIC1leGNsdWRlIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm15RXhjbHVkZUZpbHRlci54bWw8L2NvZGU+PC9lbT4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bXlBcHAuamFyPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+JiMxMjQxNDsmIzEyMzgzOyYjMTk5Njg7JiMyNjA0MTsmIzEyMzkxOyYjMTIyODk7JiMzMDM0MDsmIzEyNDM0OyYjMTIzNzU7JiMxMjQxMjsmIzEyMzg3OyYjMTIzODM7JiMyMjU3NzsmIzIxNTc4OyYjMTI0MzQ7JiMyNDQ3MTsmIzEyNDI3OyYjMTIzODM7JiMxMjQxNzsmIzEyMzk1OyYjMTI0OTY7JiMxMjQ2NDsmIzIyNTc3OyYjMjE1Nzg7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMzNjk4NDsmIzI1MjQ2OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzgzOyYjMTI0MTc7JiMxMjM5NTsmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyNDE4OyYjMzI3NzE7JiMxMjM2MDsmIzEyNDI1OyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij4kIDwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maW5kYnVncyAtdGV4dHVpIC1pbmNsdWRlIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm15SW5jbHVkZUZpbHRlci54bWw8L2NvZGU+PC9lbT4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bXlBcHAuamFyPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci08L3A+PHA+Ci08Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWF0Y2g8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsmIzEyMzk5OyYjMjMzNzY7JiMzNTIwMTsmIzMyMDMyOyYjMTI0MzQ7JiMyNTM0NTsmIzEyMzg1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzODE7JiMxMjQyODsmIzEyNDI1OyYjMTIzOTg7JiMyMzM3NjsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5OTsmIzM1NTQyOyYjMjk3MDI7JiMzMTMwOTsmIzEyMzkxOyYjMzY4NDg7JiMzNzA5NjsmIzEyMzk1OyYjMTIzOTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzg4OyYjMTI0MTQ7JiMxMjQyNjsmIzEyMjg5OyYjMzY4NDg7JiMzNzA5NjsmIzEyMzY0OyYjMzA0OTU7JiMxMjM5MTsmIzEyMzU0OyYjMTI0Mjc7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIzOTg7JiMyMzM3NjsmIzM1MjAxOyYjMzIwMzI7JiMxMjM2NDsmIzMwNDk1OyYjMTIzOTE7JiMxMjM1NDsmIzEyNDI3OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIyLiAmIzEyNTEwOyYjMTI0ODM7JiMxMjQ4MTsmIzEyNTMxOyYjMTI0NjQ7JiMyNjQ2NTsmIzIwMjE0OyYjMTIzOTg7JiMzMTI3ODsmIzM5MDA2OyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxNzU5Ij48L2E+Mi4gJiMxMjUxMDsmIzEyNDgzOyYjMTI0ODE7JiMxMjUzMTsmIzEyNDY0OyYjMjY0NjU7JiMyMDIxNDsmIzEyMzk4OyYjMzEyNzg7JiMzOTAwNjs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtCdWcmZ3Q7PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzEyMzcxOyYjMTIzOTg7JiMzNTIwMTsmIzMyMDMyOyYjMTIzOTk7JiMxMjI4OTsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQ5NzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUzMTsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzOTA7JiMyOTAzMTsmIzIxNTEyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnBhdHRlcm48L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTsmIzEyNDY3OyYjMTI1MzE7JiMxMjUxMDsmIzIxMzA2OyYjMjA5OTk7JiMxMjQyNjsmIzEyMzkxOyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMzkwMDY7JiMyMjQxMTsmIzEyMzk4OyYjMTI1MjI7JiMxMjQ3MzsmIzEyNDg4OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM5MzsmIzEyMzk4OyYjMzU2ODY7JiMyMTU3ODsmIzEyMzY0OyYjMTIzOTM7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQ5NzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUzMTsmIzM5MDA2OyYjMjI0MTE7JiMxMjM5NTsmIzEyMzU0OyYjMTIzODM7JiMxMjQyNzsmIzEyMzYzOyYjMTIzOTk7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LXhtbDwvc3Ryb25nPjwvc3Bhbj4gJiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMxMjM4ODsmIzEyMzYzOyYjMTIzODc7JiMxMjM5MDsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMxMjQxODsmIzEyMzk4OyAoPGNvZGUgY2xhc3M9ImxpdGVyYWwiPkJ1Z0luc3RhbmNlPC9jb2RlPiAmIzM1MjAxOyYjMzIwMzI7JiMxMjM5ODsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnR5cGU8L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTspICYjMTI0MzQ7JiMzNTIxMTsmIzEyNDI3OyYjMTIzNjM7JiMxMjI4OTsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyMjg5OyA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Ii4uLy4uL2J1Z0Rlc2NyaXB0aW9ucy5odG1sIiB0YXJnZXQ9Il90b3AiPiYjMTI0OTY7JiMxMjQ2NDsmIzM1Mjk5OyYjMzU1MDA7JiMxMjQ4OTsmIzEyNDYxOyYjMTI1MTc7JiMxMjUxMzsmIzEyNTMxOyYjMTI0ODg7PC9hPiYjMTI0MzQ7JiMyMTQ0MjsmIzI5MDMxOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjxwPiYjMTI0MTg7JiMxMjM4NzsmIzEyMzkyOyYjMzE4OTA7JiMyNDIzMDsmIzEyMzk4OyYjMzE4OTU7JiMxMjM1NjsmIzI5MDMxOyYjMjE1MTI7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTY7JiMxMjM4MzsmIzEyMzU2OyYjMTIzOTI7JiMxMjM2NTsmIzEyMzk5OyYjMTIyODk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5jb2RlPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDsmIzEyNDk2OyYjMTI0NjQ7JiMzMDA1MzsmIzMxMjE2OyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTMxOyYjMTI1MTA7JiMyMTMwNjsmIzIwOTk5OyYjMTI0MjY7JiMxMjM5ODsmIzEyNTIyOyYjMTI0NzM7JiMxMjQ4ODsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MzsmIzEyNDI1OyYjMTIzOTU7JiMzMTg5MDsmIzI0MjMwOyYjMTIzOTg7JiMzMTg5NTsmIzEyMzU2OyYjMjkwMzE7JiMyMTUxMjsmIzEyNDM0OyYjMzQ4OTI7JiMxMjM1NjsmIzEyMzgzOyYjMTIzNTY7JiMxMjM5MjsmIzEyMzY1OyYjMTIzOTk7JiMxMjI4OTsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNhdGVnb3J5PC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDsmIzI3NDI1OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc3OyYjMTIyODk7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0NTk7JiMxMjQ4NjsmIzEyNDY4OyYjMTI1MjI7JiMxMjU0MDsmIzIxNTE3OyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTMxOyYjMTI1MTA7JiMyMTMwNjsmIzIwOTk5OyYjMTI0MjY7JiMxMjM5ODsmIzEyNTIyOyYjMTI0NzM7JiMxMjQ4ODsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyA6IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5DT1JSRUNUTkVTUzwvY29kZT4sIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NVF9DT1JSRUNUTkVTUzwvY29kZT4sIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5CQURfUFJBQ1RJQ0lDRTwvY29kZT4sIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5QRVJGT1JNQU5DRTwvY29kZT4sIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5TVFlMRTwvY29kZT4uPC9wPjxwPiYjMjE1MTY7JiMxMjM3NjsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtCdWcmZ3Q7PC9jb2RlPiAmIzM1MjAxOyYjMzIwMzI7JiMxMjM5NTsmIzE5OTc4OyYjMzUzNTI7JiMxMjM5ODsmIzIzNjQ2OyYjMjQ2MTU7JiMxMjQzNDsmIzM1MDc5OyYjMjU5Njg7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5OTsmIzEyMjg5OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMjE1MTc7JiMxMjI4OTsmIzEyNDk2OyYjMTI0NjQ7JiMzMDA1MzsmIzMxMjE2OyYjMTIyODk7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0NTk7JiMxMjQ4NjsmIzEyNDY4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk4OyYjMTIzNTY7JiMxMjM3ODsmIzEyNDI4OyYjMTIzNjM7MSYjMTIzODg7JiMxMjM5MTsmIzEyNDE4OyYjMzU0NDI7JiMyNDQwMzsmIzEyMzc3OyYjMTI0Mjg7JiMxMjQwMDsmIzEyMjg5OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMTIzOTk7JiMyMTUxMjsmIzMzMjY4OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMjEwMjg7JiMyMzQ1MDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTk5Nzk7JiMyMDMwMTsmIzIwMTE0OyYjMjU1NjM7JiMyNDYxNTsmIzEyNDM0OyYjMjUzNDU7JiMxMjM4MzsmIzEyMzc5OyYjMTIzODM7JiMxMjM1NjsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O0J1ZyZndDs8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsmIzEyMzk4OyYjMjAxOTU7JiMxMjQzMTsmIzEyNDI2OyYjMTIzOTU7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7QnVnUGF0dGVybiZndDs8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtCdWdDb2RlJmd0OzwvY29kZT4gJiMzNTIwMTsmIzMyMDMyOyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMxMjM3MTsmIzEyNDI4OyYjMTI0MjU7JiMxMjM5ODsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5OTsmIzEyMzgxOyYjMTI0Mjg7JiMxMjM4MjsmIzEyNDI4OyYjMTIyODk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5uYW1lPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5MTsmIzIwNTE2OyYjMTIzOTg7JiMxMjUyMjsmIzEyNDczOyYjMTI0ODg7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTI0Mjg7JiMxMjQyNTsmIzEyMzk4OyYjMzUyMDE7JiMzMjAzMjsmIzEyMzk5OyYjMTIyODk7JiMyMzU1ODsmIzI2NDY5OyYjMTI0Njk7JiMxMjUwOTsmIzEyNTQwOyYjMTI0ODg7JiMxMjM3MzsmIzEyNDI4OyYjMTIzOTQ7JiMxMjM2NzsmIzEyMzk0OyYjMTI0Mjc7JiMyMTQ4NzsmIzMzMDIxOyYjMjQ2MTU7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O1ByaW9yaXR5Jmd0OzwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMzUyMDE7JiMzMjAzMjsmIzEyMzk5OyYjMTIyODk7JiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMyMDc3ODsmIzIwODA4OyYjMjQyMzA7JiMxMjQzNDsmIzEyNDE4OyYjMTIzODg7JiMzNTY4NjsmIzIxNTc4OyYjMTI0MzQ7JiMyOTAzMTsmIzIxNTEyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnZhbHVlPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7JiMyNTk3MjsmIzI1OTY4OyYjMjA1MTY7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7IDogMSAmIzEyMzk5OyYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOygmIzM5NjQwOykmIzEyMjg5OyYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyAyICAmIzEyMzk5OyYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOygmIzIwMDEzOykgJiMxMjI4OTsgMyAmIzEyMzk5OyYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOygmIzIwMzAyOykgJiMxMjQzNDsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O1BhY2thZ2UmZ3Q7PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzEyMzcxOyYjMTIzOTg7JiMzNTIwMTsmIzMyMDMyOyYjMTIzOTk7JiMxMjI4OTsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPm5hbWU8L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMxMjQ5NzsmIzEyNDgzOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcyOyYjMjA4Njk7JiMxMjM5NTsmIzEyMzU0OyYjMTI0Mjc7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5NTsmIzM4MzA2OyYjMzY4OTk7JiMxMjM3NTsmIzEyMzgzOyYjMzU2ODY7JiMyMTU3ODsmIzEyNDM0OyYjMjkwMzE7JiMyMTUxMjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjA4Mzc7JiMxMjQyODsmIzIzMzc2OyYjMTIzOTg7JiMxMjQ5NzsmIzEyNDgzOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcyOyYjMTIzOTk7JiMyMTU0NzsmIzEyNDE0OyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7IChKYXZhIGltcG9ydCAmIzI1OTkxOyYjMTIzOTU7JiMyNDQ2NzsmIzEyMzg3OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7KSAmIzEyMjkwOyYjMTIzNzU7JiMxMjM2MzsmIzEyMzc1OyYjMTIzOTQ7JiMxMjM2NDsmIzEyNDI1OyYjMTIyODk7JiMyNzQ5MTsmIzM1MjE1OyYjMzQ5MjA7JiMyOTY5NDsmIzEyNDM0OyYjMjAzNTE7JiMxMjM1ODsmIzEyMzkyOyYjMzUwNzk7JiMyNTk2ODsmIzEyNDk3OyYjMTI0ODM7JiMxMjQ2NTsmIzEyNTQwOyYjMTI0NzI7JiMxMjM5NTsmIzEyNTEwOyYjMTI0ODM7JiMxMjQ4MTsmIzEyMzczOyYjMTIzNzk7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5OTsmIzMxNzc3OyYjMjEzMzY7JiMxMjM5NTsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O0NsYXNzJmd0OzwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMzUyMDE7JiMzMjAzMjsmIzEyMzk5OyYjMTIyODk7JiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5NTsmIzM4MzA2OyYjMzY4OTk7JiMxMjM3NTsmIzEyMzgzOyYjMzU2ODY7JiMyMTU3ODsmIzEyNDM0OyYjMjkwMzE7JiMyMTUxMjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxjb2RlIGNsYXNzPSJsaXRlcmFsIj5uYW1lPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMyOTAzMTsmIzIxNTEyOyYjMTIzNzc7JiMxMjQyNzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzIxNTE3OyYjMTI0MzQ7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMyMTUxNzsmIzEyMzgxOyYjMTIzOTg7JiMxMjQxODsmIzEyMzk4OyYjMTIzNjM7JiMxMjI4OTsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyMjg5OyYjMjc0OTE7JiMzNTIxNTsmIzM0OTIwOyYjMjk2OTQ7JiMxMjM5MTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+JiMxOTk3OTsmIzIwMzAxOyYjMjAxMTQ7JiMyNTU2MzsmIzI0NjE1OyYjMTI0MzQ7JiMyNTM0NTsmIzEyMzgzOyYjMTIzNzk7JiMxMjM4MzsmIzEyMzU2OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7JiMxMjM3MTsmIzEyMzk4OyYjMzUyMDE7JiMzMjAzMjsmIzEyMzk4OyYjMjAxOTU7JiMxMjQzMTsmIzEyNDI2OyYjMTIzOTU7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4gJiMzNTIwMTsmIzMyMDMyOyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMyMTUxNzsmIzEyMzgxOyYjMTIzOTg7JiMxMjQxODsmIzEyMzk4OyYjMTIzOTg7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5jbGFzczwvY29kZT4gJiMyMzY0NjsmIzI0NjE1OyYjMTI0MzQ7JiMxMjI4OTsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzIxNTE3OyYjMTI0MzQ7JiMyNzQ5MTsmIzM1MjE1OyYjMzQ5MjA7JiMyOTY5NDsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5jbGFzc3JlZ2V4PC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjQzNDsmIzEyMzgxOyYjMTI0Mjg7JiMxMjM4MjsmIzEyNDI4OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1Njs8L3A+PHA+JiMxMjQxODsmIzEyMzc1OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWF0Y2g8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsmIzEyMzk1OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Q2xhc3M8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsmIzEyMzY0OyYjMjg5NjE7JiMxMjM2MzsmIzEyMzg3OyYjMTIzODM7JiMxMjQyNjsmIzEyMjg5OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Y2xhc3M8L2NvZGU+IC8gPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNsYXNzcmVnZXg8L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTsmIzEyMzY0OyYjMjg5NjE7JiMxMjM2MzsmIzEyMzg3OyYjMTIzODM7JiMxMjQyNjsmIzEyMzc1OyYjMTIzODM7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsmIzEyMzc3OyYjMTI0MDk7JiMxMjM5MDsmIzEyMzk4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTU7JiMzNjk2OTsmIzI5OTkyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzgxOyYjMTIzOTg7JiMyMjU4MDsmIzIxNTEyOyYjMTIyODk7JiMyNDgxOTsmIzIzNDUwOyYjMjI4MDY7JiMxMjM5NTsmIzIyODEwOyYjMTIzNjc7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMyNjkwODsmIzMyMDM0OyYjMzIwODA7JiMyNjUyNDsmIzEyMzY0OyYjMTk5Njg7JiMzMzI2ODsmIzEyMzc1OyYjMTIzOTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNTg7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMjQ0NzE7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM4MTsmIzEyMzk4OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7JiMzNjk2OTsmIzI0NDAzOyYjMTIzOTQ7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyNDIwOyYjMTI1MDE7JiMxMjQ1MTsmIzEyNTQwOyYjMTI1MjM7JiMxMjQ4OTsmIzEyMzkxOyYjMzIwOTQ7JiMxMjQyNjsmIzM2Nzk2OyYjMTI0MzU7JiMxMjM5MTsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O01ldGhvZCZndDs8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMTIzNzE7JiMxMjM5ODsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5OTsmIzEyMjg5OyYjMTI1MTM7JiMxMjQ3NzsmIzEyNDgzOyYjMTI0ODk7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bmFtZTwvY29kZT4gJiMyMzY0NjsmIzI0NjE1OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMjg5OyYjMjkwMzE7JiMyMTUxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzIxNTE3OyYjMTI0MzQ7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzIxNTE3OyYjMTIzODE7JiMxMjM5ODsmIzEyNDE4OyYjMTIzOTg7JiMxMjM2MzsmIzEyMjg5OyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyYjMTIyODk7JiMyNzQ5MTsmIzM1MjE1OyYjMzQ5MjA7JiMyOTY5NDsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxjb2RlIGNsYXNzPSJsaXRlcmFsIj5wYXJhbXM8L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTsmIzEyNDY3OyYjMTI1MzE7JiMxMjUxMDsmIzIxMzA2OyYjMjA5OTk7JiMxMjQyNjsmIzEyMzkxOyYjMTI1MTM7JiMxMjQ3NzsmIzEyNDgzOyYjMTI0ODk7JiMyNDM0MTsmIzI1OTY4OyYjMTIzOTg7JiMyMjQxMTsmIzEyMzk4OyYjMTI1MjI7JiMxMjQ3MzsmIzEyNDg4OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnJldHVybnM8L2NvZGU+ICYjMjM2NDY7JiMyNDYxNTsmIzEyMzk1OyYjMTIzOTk7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyMzk4OyYjMjUxNDc7JiMxMjQyNjsmIzIwNTE2OyYjMTIzOTg7JiMyMjQxMTsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxjb2RlIGNsYXNzPSJsaXRlcmFsIj5wYXJhbXM8L2NvZGU+ICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cmV0dXJuczwvY29kZT4gJiMxMjM5NTsmIzEyMzYyOyYjMTIzNTY7JiMxMjM5MDsmIzEyMzk5OyYjMTIyODk7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMyMTUxNzsmIzEyMzk5OyYjMjM0MzY7JiMyMDg0MDsmIzIwNDYyOyYjMzkxNjY7JiMyMTUxNzsmIzEyMzkxOyYjMTIzNTQ7JiMxMjQyNzsmIzI0NTE3OyYjMzUyMDE7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7KCYjMjAzNjM7JiMxMjM2MDsmIzEyNDAwOyYjMTIyODk7JiMyMTMzNjsmIzEyMzk1OyAiU3RyaW5nIiAmIzEyMzkxOyYjMTIzOTk7JiMxMjM5NDsmIzEyMzY3OyAiamF2YS5sYW5nLlN0cmluZyIgJiMxMjM5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOykgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnBhcmFtczwvY29kZT4gPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnJldHVybnM8L2NvZGU+ICYjMTIzOTg7JiMxMjM5MzsmIzEyMzg1OyYjMTI0MjU7JiMxMjM2MzsmIzE5OTY4OyYjMjYwNDE7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7JiMxMjQxODsmIzEyMzU4OyYjMTk5Njg7JiMyNjA0MTsmIzEyMzk4OyYjMjM2NDY7JiMyNDYxNTsmIzEyMzk4OyYjMjUzNTE7JiMyMzQ1MDsmIzEyNDE4OyYjMjQ1MTc7JiMzODkyMDsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsmIzEyMzk0OyYjMTIzODA7JiMxMjM5NDsmIzEyNDI1OyYjMTI0MDA7JiMxMjI4OTsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTI0NzE7JiMxMjQ2NDsmIzEyNDkxOyYjMTI0ODE7JiMxMjUxNTsmIzEyNTQwOyYjMTI0MzQ7JiMyNzA4MzsmIzMxNjg5OyYjMTIzOTg7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTU7JiMyNDUxNzsmIzM1MjAxOyYjMTIzODQ7JiMxMjM2MzsmIzEyNDI1OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzxjb2RlIGNsYXNzPSJsaXRlcmFsIj5uYW1lPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjI4OTs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cGFyYW1zPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7ICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cmV0dXJuczwvY29kZT4gJiMyMzY0NjsmIzI0NjE1OyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyAzICYjMTIzODg7JiMxMjM5ODsgJiMyMzY0NjsmIzI0NjE1OyYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIyODk7JiMxMjM5ODsmIzEyMzkzOyYjMTI0Mjg7JiMxMjM2MzsmIzEyNDM0OyYjMjY0NjU7JiMyMDIxNDsmIzEyMzkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsmIzEyMzY1OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTI0MzQ7JiMyNDg0NzsmIzIxNjE5OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjM5ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NTsmIzEyMjg5OyYjMjE1MTc7JiMyMTA2OTsmIzEyMzkyOyYjMTI0NzE7JiMxMjQ2NDsmIzEyNDkxOyYjMTI0ODE7JiMxMjUxNTsmIzEyNTQwOyYjMTIzOTU7JiMyMjUyMjsmIzEyMzg5OyYjMTIzNjc7JiMyNzA5NjsmIzEyMjkzOyYjMTIzOTQ7JiMzMTI3ODsmIzM5MDA2OyYjMTIzOTg7JiMyNjQ2NTsmIzIwMjE0OyYjMTI0MzQ7JiMzNTIxNTsmIzIzNDUwOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7RmllbGQmZ3Q7PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4mIzEyMzcxOyYjMTIzOTg7JiMzNTIwMTsmIzMyMDMyOyYjMTIzOTk7JiMxMjI4OTsmIzEyNTAxOyYjMTI0NTE7JiMxMjU0MDsmIzEyNTIzOyYjMTI0ODk7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bmFtZTwvY29kZT4gJiMyMzY0NjsmIzI0NjE1OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMjg5OyYjMjkwMzE7JiMyMTUxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjUwMTsmIzEyNDUxOyYjMTI1NDA7JiMxMjUyMzsmIzEyNDg5OyYjMjE1MTc7JiMxMjQzNDsmIzEyNTAxOyYjMTI0NTE7JiMxMjU0MDsmIzEyNTIzOyYjMTI0ODk7JiMyMTUxNzsmIzEyMzgxOyYjMTIzOTg7JiMxMjQxODsmIzEyMzk4OyYjMTIzNjM7JiMxMjI4OTsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyMjg5OyYjMjc0OTE7JiMzNTIxNTsmIzM0OTIwOyYjMjk2OTQ7JiMxMjM5MTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDE0OyYjMTIzODM7JiMxMjI4OTsmIzEyNTAxOyYjMTI0NTE7JiMxMjU0MDsmIzEyNTIzOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDcxOyYjMTI0NjQ7JiMxMjQ5MTsmIzEyNDgxOyYjMTI1MTU7JiMxMjU0MDsmIzEyMzk1OyYjMjkwMzE7JiMxMjQyNTsmIzEyMzc1OyYjMTIzODM7JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTIyOyYjMTI1MzE7JiMxMjQ2NDsmIzEyNDM0OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj50eXBlPC9jb2RlPiAmIzIzNjQ2OyYjMjQ2MTU7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMxMjUwMTsmIzEyNDUxOyYjMTI1NDA7JiMxMjUyMzsmIzEyNDg5OyYjMTIzOTg7JiMyMjQxMTsmIzEyNDM0OyYjMjM0MzY7JiMyMDg0MDsmIzIwNDYyOyYjMzkxNjY7JiMyMTUxNzsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyYjMjE1MTc7JiMyMTA2OTsmIzEyMzkyOyYjMTI0NzE7JiMxMjQ2NDsmIzEyNDkxOyYjMTI0ODE7JiMxMjUxNTsmIzEyNTQwOyYjMTIzOTU7JiMyMjUyMjsmIzEyMzg5OyYjMTIzNjc7JiMyNjQ2NTsmIzIwMjE0OyYjMTI0MzQ7JiMzNTIxNTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzgzOyYjMTI0MTc7JiMxMjM5NTsmIzEyMjg5OyYjMTIzODE7JiMxMjM5ODsyJiMxMjM4ODsmIzEyMzk4OyYjMjM2NDY7JiMyNDYxNTsmIzEyNDM0OyYjMjAwMDE7JiMyNjA0MTsmIzEyMzkyOyYjMTI0MTg7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O0xvY2FsJmd0OzwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMzUyMDE7JiMzMjAzMjsmIzEyMzk5OyYjMTIyODk7JiMxMjUyNTsmIzEyNTQwOyYjMTI0NTk7JiMxMjUyMzsmIzIyNzkzOyYjMjU5Njg7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bmFtZTwvY29kZT4gJiMyMzY0NjsmIzI0NjE1OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMjg5OyYjMjkwMzE7JiMyMTUxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjUyNTsmIzEyNTQwOyYjMTI0NTk7JiMxMjUyMzsmIzIyNzkzOyYjMjU5Njg7JiMyMTUxNzsmIzEyNDM0OyYjMTI1MjU7JiMxMjU0MDsmIzEyNDU5OyYjMTI1MjM7JiMyMjc5MzsmIzI1OTY4OyYjMjE1MTc7JiMxMjM4MTsmIzEyMzk4OyYjMTI0MTg7JiMxMjM5ODsmIzEyMzYzOyYjMTIyODk7JiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7JiMxMjI4OTsmIzI3NDkxOyYjMzUyMTU7JiMzNDkyMDsmIzI5Njk0OyYjMTIzOTE7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjUyNTsmIzEyNTQwOyYjMTI0NTk7JiMxMjUyMzsmIzIyNzkzOyYjMjU5Njg7JiMxMjM5MjsmIzEyMzk5OyYjMTIyODk7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzIwODY5OyYjMTIzOTE7JiMyMzQ1MDsmIzMyNjgxOyYjMTIzNzU7JiMxMjM4MzsmIzIyNzkzOyYjMjU5Njg7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O09yJmd0OzwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMzUyMDE7JiMzMjAzMjsmIzEyMzk5OyYjMTIyODk7JiMzNTU0MjsmIzI5NzAyOyYjMjE2NDQ7JiMxMjM5MjsmIzEyMzc1OyYjMTIzOTA7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4gJiMyNjQ2NTsmIzM4OTE3OyYjMTI0MzQ7JiMzMjA4MDsmIzIxNTEyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3NzsmIzEyMzk0OyYjMTI0MzE7JiMxMjM4NTsmIzEyMjg5OzImIzEyMzg4OyYjMTIzOTg7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NZXRob2Q8L2NvZGU+ICYjMzUyMDE7JiMzMjAzMjsmIzEyNDM0OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+T3I8L2NvZGU+ICYjMjY0NjU7JiMzODkxNzsmIzEyMzk1OyYjMjA4Mzc7JiMxMjQyODsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIyODk7JiMxMjM5MzsmIzEyMzg1OyYjMTI0MjU7JiMxMjM2MzsmIzE5OTY4OyYjMjYwNDE7JiMxMjM5ODsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIzOTE7JiMxMjUxMDsmIzEyNDgzOyYjMTI0ODE7JiMxMjM3MzsmIzEyMzc5OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIzLiBKYXZhICYjMzUyMDE7JiMzMjAzMjsmIzIxNTE3OyYjMTI1MTA7JiMxMjQ4MzsmIzEyNDgxOyYjMTI1MzE7JiMxMjQ2NDsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTk1OCI+PC9hPjMuIEphdmEgJiMzNTIwMTsmIzMyMDMyOyYjMjE1MTc7JiMxMjUxMDsmIzEyNDgzOyYjMTI0ODE7JiMxMjUzMTsmIzEyNDY0OzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPkNsYXNzPC9jb2RlPiAmIzEyMjg5OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWV0aG9kPC9jb2RlPiAmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPkZpZWxkPC9jb2RlPiAmIzEyMzk4OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bmFtZTwvY29kZT4gJiMyMzY0NjsmIzI0NjE1OyYjMTIzNjQ7JiMyNTk5MTsmIzIzMzgzOyB+ICYjMTIzOTE7JiMyMjk4NzsmIzEyNDE0OyYjMTIzODc7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsmIzIzNjQ2OyYjMjQ2MTU7JiMyMDUxNjsmIzEyMzk4OyYjMjc1MzE7JiMxMjQyNjsmIzEyMzk4OyYjMzcwOTY7JiMyMDk5ODsmIzEyNDM0OyBKYXZhICYjMTIzOTg7JiMyNzQ5MTsmIzM1MjE1OyYjMzQ5MjA7JiMyOTY5NDsmIzEyMzkyOyYjMTIzNzU7JiMxMjM5MDsmIzM1Mjk5OyYjMzczMjA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzgxOyYjMTIzNTg7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMyNDQwMzsmIzM1NDQyOyBKYXZhICYjMzUyMDE7JiMzMjAzMjsmIzEyMzk4OyYjMjE1MTc7JiMyMTA2OTsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NTsmIzEyMzkwOyYjMTIzOTg7JiMyOTAzMTsmIzIxNTEyOyYjMTIzNjQ7JiMzNDg5MjsmIzEyNDMxOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTI0OTc7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MzE7JiMxMjM5ODsmIzI5MDMxOyYjMjE1MTI7JiMxMjM5OTsmIzM1MjAxOyYjMzIwMzI7JiMxMjM5ODsmIzIxNTE3OyYjMjEwNjk7JiMyMDg0MDsmIzIwMzA3OyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc1OyYjMTIzOTA7JiMzNDg5MjsmIzEyNDMxOyYjMTI0Mjg7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5NTsmIzI3ODgwOyYjMjQ4NDc7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDsmIzEyMzgxOyYjMTIzOTg7JiMxMjM4MzsmIzEyNDE3OyYjMTIyODk7JiMzNzA5NjsmIzIwOTk4OyYjMTk5Njg7JiMzMzI2ODsmIzI5MDMxOyYjMjE1MTI7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTY7JiMxMjM4MzsmIzEyMzU2OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTI0OTc7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MzE7JiMyNTk5MTsmIzIzMzgzOyYjMjEwMTU7JiMxMjM5ODsmIzIxMDY5OyYjMjQ0NjA7JiMxMjM5NTsgLiogJiMxMjQzNDsmIzIwMTg0OyYjMjExNTI7JiMxMjM3NTsmIzEyMzkwOyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMyNDUxNzsmIzM1MjAxOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMTIzOTg7JiMyNzA4MzsmIzI1OTkxOyYjMzUyMTU7JiMyMTA2MzsmIzEyMzk1OyYjMzgzMDY7JiMxMjM3NTsmIzEyMzkwOyYjMTIzOTk7JiMxMjI4OTsgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL2oyc2UvMS41LjAvamEvZG9jcy9qYS9hcGkvamF2YS91dGlsL3JlZ2V4L1BhdHRlcm4uaHRtbCIgdGFyZ2V0PSJfdG9wIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+amF2YS51dGlsLnJlZ2V4LlBhdHRlcm48L2NvZGU+PC9hPiAmIzEyMzk4OyYjMTI0ODk7JiMxMjQ2MTsmIzEyNTE3OyYjMTI1MTM7JiMxMjUzMTsmIzEyNDg4OyYjMTI0MzQ7JiMyMTQ0MjsmIzI5MDMxOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iNC4gJiMzMDA0MTsmIzI0ODQ3OyYjMjAxMDc7JiMzODkxNzsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTk4MiI+PC9hPjQuICYjMzAwNDE7JiMyNDg0NzsmIzIwMTA3OyYjMzg5MTc7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLTxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4gJiMyNjQ2NTsmIzM4OTE3OyYjMTIzOTk7JiMxMjI4OTsmIzEyNDk2OyYjMTI0NjQ7JiMyNjkwODsmIzMyMDM0OyYjMzIwODA7JiMyNjUyNDsmIzEyMzk1OyYjMjM0NTU7JiMzODU1NTsmIzEyMzk1OyYjMjE1NDc7JiMxMjQxNDsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMjQ3NzM7JiMyMjU3NzsmIzEyMzk1OyYjMTIzOTg7JiMxMjQxNTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzc3OyYjMTI0MDk7JiMxMjM5MDsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTIzOTk7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQzNDsmIzI1MzQ1OyYjMTIzODc7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzU7JiMxMjM4MzsmIzEyMzY0OyYjMTIzODc7JiMxMjM5MDsmIzEyMjg5OyYjMTk5Njg7JiMzMzMyNDsmIzMwMzQwOyYjMTIzOTU7JiMzNTMyODsmIzEyMzg3OyYjMTIzOTA7JiMxMjI4OTsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQzNDsmIzM4NTAwOyYjMjI4MDY7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODM7JiMxMjQxNzsmIzEyMzk1OyYjMTIzOTk7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQzNDsmIzI5OTkyOyYjMTIzNTY7JiMxMjM5MDsmIzM0ODkyOyYjMTIzNTg7JiMxMjM5MjsmIzEyMzU4OyYjMTI0MTQ7JiMxMjM2NzsmIzEyMzU2OyYjMTIzNjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMyMjgxMDsmIzEyMzU2OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzEyNDk2OyYjMTI0NjQ7JiMyNjkwODsmIzMyMDM0OyYjMzIwODA7JiMyNjUyNDsmIzEyMzk4OyYjMjAwMTM7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7MiYjMjA0OTE7JiMyMDE5NzsmIzE5OTc4OyYjMTIzOTg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQzNDsmIzIwNDQ1OyYjMjUzNDU7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDE4OyYjMTIzOTg7JiMxMjQxODsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMDM2MzsmIzEyMzYwOyYjMTI0MDA7JiMxMjI4OTsgREUgKGRyb3BwZWQgZXhjZXB0aW9uIDogJiMyMDM2MzsmIzIyODA2OyYjMTIzOTg7JiMyODk2MTsmIzM1MjIyOykgJiMxMjQ5NjsmIzEyNDY0OyYjMTIzOTk7JiMxMjI4OTsgJiMyMDM2MzsmIzIyODA2OyYjMTIzOTg7JiMyODk2MTsmIzM1MjIyOyYjMTIzNjQ7JiMzMDMzMDsmIzI5OTgzOyYjMTIzNzU7JiMxMjM4MzsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTI0MzQ7JiMyNTM0NTsmIzEyMzg3OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTI7JiMxMjI4OTsgJiMyODk2MTsmIzM1MjIyOyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMjAzNjM7JiMyMjgwNjsmIzEyMzk4OyYjMjI0MTE7JiMxMjQzNDsmIzM0OTIwOyYjMTIzNzc7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5ODsmIzIwMDAxOyYjMjYwNDE7JiMxMjQzNDsmIzIxNTQ3OyYjMTI0MzU7JiMxMjM4NDsmIzI0NDE4OyYjMTIzOTE7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWF0Y2g8L2NvZGU+ICYjMjY0NjU7JiMzODkxNzsmIzEyMzkyOyYjMTIzOTk7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+MSYjMzAwNTg7JiMzMDQ0Njs8L2VtPjwvc3Bhbj4gKCYjMjAwMjc7KSAmIzEyMzk4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTg7JiMxMjQxNTsmIzEyMzY0OyYjMjkwMzE7JiMyMTUxMjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3NTsmIzEyMzgzOyYjMTIzNjQ7JiMxMjM4NzsmIzEyMzkwOyYjMTIyODk7JiMyMDM2MzsmIzEyMzYwOyYjMTI0MDA7JiMxMjI4OTsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsgImNvbS5mb29iYXIuQSIgJiMxMjI4OTsgImNvbS5mb29iYXIuQiIgJiMzODI5MTsmIzEyMzkxOyYjMTIzOTg7IElDIChpbml0aWFsaXphdGlvbiBjaXJjdWxhcml0eSA6ICYjMjEwMjE7JiMyNjM5OTsmIzIxMjcwOyYjMjYxNzg7JiMxMjM5ODsmIzIwOTY2OyYjMjk3MDI7JiMyNDQ5MDsmIzI5ODcyOykgJiMxMjQ5NjsmIzEyNDY0OyYjMjI1Nzc7JiMyMTU3ODsmIzEyNDM0OyYjMjUyMzM7JiMyNzQ5MDsmIzEyMzc1OyYjMTIzODM7JiMxMjM1NjsmIzIyNTgwOyYjMjE1MTI7JiMxMjI4OTsmIzIwMTk3OyYjMTk5Nzk7JiMxMjM5NTsmIzMxMDM0OyYjMTIzNzc7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTU7IDImIzEyMzg4OyYjMTIzOTg7IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4gJiMyNjQ2NTsmIzM4OTE3OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLSAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLkEiIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIGNvZGU9IklDIiAvJmd0OwotICAgJmx0Oy9NYXRjaCZndDsKLQotICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O0NsYXNzIG5hbWU9ImNvbS5mb29iYXIuQiIgLyZndDsKLSAgICAgICZsdDtCdWcgY29kZT0iSUMiIC8mZ3Q7Ci0gICAmbHQ7L01hdGNoJmd0OwotPC9wcmU+PHA+JiMyNjEyNjsmIzMxMDM0OyYjMzAzNDA7JiMxMjM5NTsmIzIwMDAxOyYjMjYwNDE7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzkxOyYjMjkwMzE7JiMyMTUxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzOTU7JiMxMjQyNDsmIzEyMzg3OyYjMTIzOTA7JiMxMjI4OTsmIzI0NDkwOyYjMjk4NzI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyMzkzOyYjMTIzODU7JiMxMjQyNTsmIzEyMzk4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzNjQ7JiMxMjQ5NjsmIzEyNDY0OyYjMjY5MDg7JiMzMjAzNDsmIzMyMDgwOyYjMjY1MjQ7JiMxMjM5ODsgMSAmIzMwMDU4OyYjMzA0NDY7JiMxMjM5NTsmIzEyMzk0OyYjMTIzODc7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjM2MzsmIzEyMzk1OyYjMzgzMDY7JiMyMDQxODsmIzEyMzk0OyYjMTIzNjc7JiMxOTk2ODsmIzMzMjY4OyYjMTIzNzM7JiMxMjM3OTsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsoJiMxMjQxODsmIzEyMzg1OyYjMTI0Mjk7JiMxMjQzNTsmIzEyMzcxOyYjMTIzOTg7JiMyNjA0MTsmIzI3ODYxOyYjMTIzOTk7JiMxMjI4OTsmIzIwOTY2OyYjMjk3MDI7JiMyNDQ5MDsmIzI5ODcyOyYjMTIzNjQ7ICJjb20uZm9vYmFyLkEiICYjMTIyODk7ICJjb20uZm9vYmFyLkIiICYjMTIzOTU7JiMyMTE1MjsmIzEyMzYwOyYjMTIzOTA7MyYjMzAwNTg7JiMzMDQ0NjsmIzEyMzk4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTI0MTg7JiMyMTU0NzsmIzEyNDM1OyYjMTIzOTE7JiMxMjM1NjsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMjIyNTk7JiMxMjQyNTsmIzEyMzc4OyYjMTI0MTg7JiMyMjgzMzsmIzI1OTQzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM1ODsmIzI0NjU2OyYjMTI0Mjg7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7KTwvcD48cD4mIzIyODEwOyYjMTIzNjc7JiMxMjM5ODsmIzMxMjc4OyYjMzkwMDY7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMyMjU3NzsmIzIxNTc4OyYjMTIzOTk7JiMxMjI4OTsmIzMzMjU4OyYjMzY1MjM7JiMxMjM2NDsmIzIwOTg2OyYjMjk2OTQ7JiMxMjM3NTsmIzEyMzgzOyYjMTI1MTM7JiMxMjQ3NzsmIzEyNDgzOyYjMTI0ODk7JiMxMjQzNDsmIzIyNTc3OyYjMjE1Nzg7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzgxOyYjMTI0Mjg7JiMxMjQyNTsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc1OyYjMTIzOTA7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWV0aG9kPC9jb2RlPiAmIzI2NDY1OyYjMzg5MTc7JiMxMjQzNDsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPk1hdGNoPC9jb2RlPiAmIzM1MjAxOyYjMzIwMzI7JiMxMjM5NTsmIzIxMTUyOyYjMTIzNjA7JiMxMjQyNzsmIzEyMzkyOyYjMjYzOTk7JiMyNDQ1MzsmIzM2ODkwOyYjMTI0MjY7JiMxMjM5ODsmIzIxMjA1OyYjMjAzMTY7JiMxMjQzNDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MTsmIzEyMzc1OyYjMTI0MjM7JiMxMjM1ODsmIzEyMjkwOzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjUuICYjMjAzNjM7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTIwMTIiPjwvYT41LiAmIzIwMzYzOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+MS4gJiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzc3OyYjMTI0MDk7JiMxMjM5MDsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzIyNTc3OyYjMjE1Nzg7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3MzsmIzEyMzc5OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAgJmx0O01hdGNoJmd0OwotICAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLk15Q2xhc3MiIC8mZ3Q7Ci0gICAgICZsdDsvTWF0Y2gmZ3Q7Ci0KLTwvcHJlPjxwPgotCi08L3A+PHA+Mi4gJiMxMjQ5NjsmIzEyNDY0OyYjMzAwNTM7JiMzMTIxNjsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzOTA7JiMxMjI4OTsmIzI5MzA1OyYjMjM0NTA7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NzsmIzEyNDI3OyYjMjkzMDU7JiMyMzQ1MDsmIzEyMzk4OyYjMjY5MDg7JiMyNjYxOTsmIzM4OTE3OyYjMzA0NDY7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3MzsmIzEyMzc5OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAgJmx0O01hdGNoJmd0OwotICAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLk15Q2xhc3MiLyAmZ3Q7Ci0gICAgICAgJmx0O0J1ZyBjb2RlPSJERSxVckYsU0lDIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4zLiAmIzEyNDk2OyYjMTI0NjQ7JiMzMDA1MzsmIzMxMjE2OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM5MDsmIzEyMjg5OyYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIzOTg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsmIzI5MzA1OyYjMjM0NTA7JiMxMjM5ODsmIzI2OTA4OyYjMjY2MTk7JiMzODkxNzsmIzMwNDQ2OyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIzNzM7JiMxMjM3OTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0gICAgICZsdDtNYXRjaCZndDsKLSAgICAgICAmbHQ7QnVnIGNvZGU9IkRFLFVyRixTSUMiIC8mZ3Q7Ci0gICAgICZsdDsvTWF0Y2gmZ3Q7Ci0KLTwvcHJlPjxwPgotPC9wPjxwPjQuICYjMTI0OTY7JiMxMjQ2NDsmIzEyNDU5OyYjMTI0ODY7JiMxMjQ2ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NzsmIzEyNDI3OyYjMjkzMDU7JiMyMzQ1MDsmIzEyMzk4OyYjMjY5MDg7JiMyNjYxOTsmIzM4OTE3OyYjMzA0NDY7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3MzsmIzEyMzc5OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAgJmx0O01hdGNoJmd0OwotICAgICAgICZsdDtCdWcgY2F0ZWdvcnk9IlBFUkZPUk1BTkNFIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD41LiAmIzEyNDk2OyYjMTI0NjQ7JiMzMDA1MzsmIzMxMjE2OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM5MDsmIzEyMjg5OyYjMjkzMDU7JiMyMzQ1MDsmIzEyMzk4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTg7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMTI1MTM7JiMxMjQ3NzsmIzEyNDgzOyYjMTI0ODk7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsmIzI5MzA1OyYjMjM0NTA7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMzMTI3ODsmIzIxMDI5OyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIzNzM7JiMxMjM3OTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0gICAgICZsdDtNYXRjaCZndDsKLSAgICAgICAmbHQ7Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5NeUNsYXNzIiAvJmd0OwotICAgICAgICZsdDtPciZndDsKLSAgICAgICAgICZsdDtNZXRob2QgbmFtZT0iZnJvYiIgcGFyYW1zPSJpbnQsamF2YS5sYW5nLlN0cmluZyIgcmV0dXJucz0idm9pZCIgLyZndDsKLSAgICAgICAgICZsdDtNZXRob2QgbmFtZT0iYmxhdCIgcGFyYW1zPSIiIHJldHVybnM9ImJvb2xlYW4iIC8mZ3Q7Ci0gICAgICAgJmx0Oy9PciZndDsKLSAgICAgICAmbHQ7QnVnIGNvZGU9IkRDIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD42LiAmIzI5MzA1OyYjMjM0NTA7JiMxMjM5ODsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc3OyYjMTI0Mjc7JiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0OTc7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MzE7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3MzsmIzEyMzc5OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAmbHQ7IS0tIG9wZW4gc3RyZWFtICYjMTIzOTU7JiMzODMwNjsmIzEyMzc3OyYjMTI0Mjc7JiMzNTQ5MjsmIzI2OTA4OyYjMjA5ODY7JiMxMjM2NDsmIzEyMzU0OyYjMTI0Mjc7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyMjkwOy0tJmd0OwotICAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLk15Q2xhc3MiIC8mZ3Q7Ci0gICAgICAmbHQ7TWV0aG9kIG5hbWU9IndyaXRlRGF0YVRvRmlsZSIgLyZndDsKLSAgICAgICZsdDtCdWcgcGF0dGVybj0iT1NfT1BFTl9TVFJFQU0iIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLQotPC9wcmU+PHA+Ci08L3A+PHA+Ny4gJiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NzsmIzEyNDI3OyYjMjkzMDU7JiMyMzQ1MDsmIzEyMzk4OyYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOyYjMTI0MzQ7JiMyMDE4NDsmIzE5OTgyOyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMjkzMDU7JiMyMzQ1MDsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIzNzM7JiMxMjM3OTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0gICAgJmx0OyEtLSBkZWFkIGxvY2FsIHN0b3JlICgmIzIwNzc4OyYjMjA4MDg7JiMyNDIzMDsgKCYjMjAwMTM7KSkgJiMxMjM5NTsmIzM4MzA2OyYjMTIzNzc7JiMxMjQyNzsmIzM1NDkyOyYjMjY5MDg7JiMyMDk4NjsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNzsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIyOTA7LS0mZ3Q7Ci0gICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O0NsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLyZndDsKLSAgICAgICZsdDtNZXRob2QgbmFtZT0ic29tZU1ldGhvZCIgLyZndDsKLSAgICAgICZsdDtCdWcgcGF0dGVybj0iRExTX0RFQURfTE9DQUxfU1RPUkUiIC8mZ3Q7Ci0gICAgICAmbHQ7UHJpb3JpdHkgdmFsdWU9IjIiIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLQotPC9wcmU+PHA+Ci08L3A+PHA+OC4gQXNwZWN0SiAmIzEyNDY3OyYjMTI1MzE7JiMxMjQ5NzsmIzEyNDUyOyYjMTI1MjE7JiMxMjU0MDsmIzEyMzk1OyYjMTI0MjQ7JiMxMjM4NzsmIzEyMzkwOyYjMjQzNDE7JiMxMjM2NTsmIzM2MjE1OyYjMTIzNzE7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjUxMDsmIzEyNDUyOyYjMTI0OTA7JiMxMjU0MDsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3MzsmIzEyMzc5OyYjMTI0MTQ7JiMxMjM3NzsgKEFzcGVjdEogJiMxMjM5ODsmIzM4MjgzOyYjMzAzMzA7JiMzMjc3MzsmIzEyMzkxOyYjMTI0MTg7JiMxMjM5NDsmIzEyMzU2OyYjMzg0ODA7JiMxMjQyNjsmIzEyMjg5OyYjMTIzODE7JiMxMjQyODsmIzEyNDI1OyYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzOTU7JiMzODMwNjsmIzI0NTE1OyYjMTI0MzQ7JiMyNTM0NTsmIzEyMzg4OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzk5OyYjMTIzOTQ7JiMxMjM1NjsmIzEyMzkyOyYjMzI3NzE7JiMxMjM2MDsmIzEyNDE0OyYjMTIzNzc7KSYjMTIyOTA7PC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotICAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtDbGFzcyBuYW1lPSJ+LipcJEFqY0Nsb3N1cmVcZCsiIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIHBhdHRlcm49IkRMU19ERUFEX0xPQ0FMX1NUT1JFIiAvJmd0OwotICAgICAgJmx0O01ldGhvZCBuYW1lPSJydW4iIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLSAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAmbHQ7QnVnIHBhdHRlcm49IlVVRl9VTlVTRURfRklFTEQiIC8mZ3Q7Ci0gICAgICAmbHQ7RmllbGQgbmFtZT0ifmFqY1wkLioiIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLQotPC9wcmU+PHA+Ci08L3A+PHA+OS4gJiMyMjUyMjsmIzMwNDM2OyYjMTI0Njc7JiMxMjU0MDsmIzEyNDg5OyYjMTIzOTg7JiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMzNzA5NjsmIzIwOTk4OyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIzNzM7JiMxMjM3OTsmIzEyNDE0OyYjMTIzNzc7PC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotICAgICZsdDshLS0gJiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMxMjM5ODsmIzEyNDk3OyYjMTI0ODM7JiMxMjQ2NTsmIzEyNTQwOyYjMTI0NzI7JiMxMjM5NTsmIzEyMzU0OyYjMTI0Mjc7IE1lc3NhZ2VzICYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc3OyYjMTI0Mjc7IHVudXNlZCBmaWVsZHMgJiMzNTY4NjsmIzIxNTc4OyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIyOTA7IC0tJmd0OwotICAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtDbGFzcyBuYW1lPSJ+LipcLk1lc3NhZ2VzIiAvJmd0OwotICAgICAgJmx0O0J1ZyBjb2RlPSJVVUYiIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLSAgICAmbHQ7IS0tICYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIzOTg7IGludGVybmFsICYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzIwODY5OyYjMTIzOTg7IG11dGFibGUgc3RhdGljcyAmIzM1Njg2OyYjMjE1Nzg7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjI5MDsgLS0mZ3Q7Ci0gICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O1BhY2thZ2UgbmFtZT0ifi4qXC5pbnRlcm5hbCIgLyZndDsKLSAgICAgICZsdDtCdWcgY29kZT0iTVMiIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLSAgICAmbHQ7IS0tIHVpICYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzM4NTQyOyYjMjM2NTI7JiMyMDg2OTsmIzEyMzk4OyBhbm9ueW1vb3VzIGlubmVyIGNsYXNzZXMgJiMzNTY4NjsmIzIxNTc4OyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIyOTA7IC0tJmd0OwotICAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtQYWNrYWdlIG5hbWU9In5jb21cLmZvb2JhclwuZm9vcHJvamVjdFwudWkuKiIgLyZndDsKLSAgICAgICZsdDtCdWcgcGF0dGVybj0iU0lDX0lOTkVSX1NIT1VMRF9CRV9TVEFUSUNfQU5PTiIgLyZndDsKLSAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4xMC4gJiMyOTMwNTsmIzIzNDUwOyYjMTIzOTg7JiMxMjQ3MTsmIzEyNDY0OyYjMTI0OTE7JiMxMjQ4MTsmIzEyNTE1OyYjMTI1NDA7JiMxMjQzNDsmIzI1MzQ1OyYjMTIzODg7JiMxMjUwMTsmIzEyNDUxOyYjMTI1NDA7JiMxMjUyMzsmIzEyNDg5OyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyYjMTI1MTM7JiMxMjQ3NzsmIzEyNDgzOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3MzsmIzEyMzc5OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAmbHQ7IS0tICYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIzOTg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5ODsgbWFpbihTdHJpbmdbXSkgJiMxMjUxMzsmIzEyNDc3OyYjMTI0ODM7JiMxMjQ4OTsmIzEyMzk1OyYjMjM1NTA7JiMxMjM3NzsmIzEyNDI3OyBTeXN0ZW0uZXhpdCguLi4pIHVzYWdlICYjMzU2ODY7JiMyMTU3ODsmIzEyMzk1OyYjMTk5Njg7JiMzMzI2ODsmIzEyMjkwOyAtLSZndDsKLSAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAmbHQ7TWV0aG9kIHJldHVybnM9InZvaWQiIG5hbWU9Im1haW4iIHBhcmFtcz0iamF2YS5sYW5nLlN0cmluZ1tdIiAvJmd0OwotICAgICAgJmx0O01ldGhvZCBwYXR0ZXJuPSJETV9FWElUIiAvJmd0OwotICAgICZsdDsvTWF0Y2gmZ3Q7Ci0gICAgJmx0OyEtLSAmIzEyMzc3OyYjMTI0MDk7JiMxMjM5MDsmIzEyMzk4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTg7IGNvbS5mb29iYXIuRGVidWdJbmZvICYjMjI0MTE7JiMxMjM5ODsmIzEyNTAxOyYjMTI0NTE7JiMxMjU0MDsmIzEyNTIzOyYjMTI0ODk7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsgVXVGICYjMzU2ODY7JiMyMTU3ODsmIzEyMzk1OyYjMTk5Njg7JiMzMzI2ODsmIzEyMjkwOyAtLSZndDsKLSAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAmbHQ7RmllbGQgdHlwZT0iY29tLmZvb2Jhci5EZWJ1Z0luZm8iIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIGNvZGU9IlV1RiIgLyZndDsKLSAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLQotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iNi4gJiMyMzQzNjsmIzIwODQwOyYjMTIzOTQ7JiMyMDM2MzsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMjA2NSI+PC9hPjYuICYjMjM0MzY7JiMyMDg0MDsmIzEyMzk0OyYjMjAzNjM7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSZsdDtGaW5kQnVnc0ZpbHRlciZndDsKLSAgICAgJmx0O01hdGNoJmd0OwotICAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLkNsYXNzTm90VG9CZUFuYWx5emVkIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi0gICAgICZsdDtNYXRjaCZndDsKLSAgICAgICAmbHQ7Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5DbGFzc1dpdGhTb21lQnVnc01hdGNoZWQiIC8mZ3Q7Ci0gICAgICAgJmx0O0J1ZyBjb2RlPSJERSxVckYsU0lDIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi0gICAgICZsdDshLS0gWFlaICYjMzY5NDk7JiMyMTQ1MzsmIzEyMzk1OyYjMTk5Njg7JiMzMzI2ODsmIzEyMjkwOy0tJmd0OwotICAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAgJmx0O0J1ZyBjb2RlPSJYWVoiIC8mZ3Q7Ci0gICAgICZsdDsvTWF0Y2gmZ3Q7Ci0KLSAgICAgJmx0OyEtLSAiQW5vdGhlckNsYXNzIiAmIzEyMzk4OyYjMjkzMDU7JiMyMzQ1MDsmIzEyMzk4OyYjMTI1MTM7JiMxMjQ3NzsmIzEyNDgzOyYjMTI0ODk7JiMxMjM5ODsgZG91YmxlY2hlY2sgJiMzNjk0OTsmIzIxNDUzOyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIyOTA7LS0mZ3Q7Ci0gICAgICZsdDtNYXRjaCZndDsKLSAgICAgICAmbHQ7Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5Bbm90aGVyQ2xhc3MiIC8mZ3Q7Ci0gICAgICAgJmx0O09yJmd0OwotICAgICAgICAgJmx0O01ldGhvZCBuYW1lPSJub25PdmVybG9hZGVkTWV0aG9kIiAvJmd0OwotICAgICAgICAgJmx0O01ldGhvZCBuYW1lPSJmcm9iIiBwYXJhbXM9ImludCxqYXZhLmxhbmcuU3RyaW5nIiByZXR1cm5zPSJ2b2lkIiAvJmd0OwotICAgICAgICAgJmx0O01ldGhvZCBuYW1lPSJibGF0IiBwYXJhbXM9IiIgcmV0dXJucz0iYm9vbGVhbiIgLyZndDsKLSAgICAgICAmbHQ7L09yJmd0OwotICAgICAgICZsdDtCdWcgY29kZT0iREMiIC8mZ3Q7Ci0gICAgICZsdDsvTWF0Y2gmZ3Q7Ci0KLSAgICAgJmx0OyEtLSBkZWFkIGxvY2FsIHN0b3JlICgmIzIwNzc4OyYjMjA4MDg7JiMyNDIzMDsgKCYjMjAwMTM7KSkgJiMxMjM5NTsmIzM4MzA2OyYjMTIzNzc7JiMxMjQyNzsmIzM1NDkyOyYjMjY5MDg7JiMyMDk4NjsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNzsmIzEyNTEzOyYjMTI0Nzc7JiMxMjQ4MzsmIzEyNDg5OyYjMTIyOTA7LS0mZ3Q7Ci0gICAgICZsdDtNYXRjaCZndDsKLSAgICAgICAmbHQ7Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5NeUNsYXNzIiAvJmd0OwotICAgICAgICZsdDtNZXRob2QgbmFtZT0ic29tZU1ldGhvZCIgLyZndDsKLSAgICAgICAmbHQ7QnVnIHBhdHRlcm49IkRMU19ERUFEX0xPQ0FMX1NUT1JFIiAvJmd0OwotICAgICAgICZsdDtQcmlvcml0eSB2YWx1ZT0iMiIgLyZndDsKLSAgICAgJmx0Oy9NYXRjaCZndDsKLSZsdDsvRmluZEJ1Z3NGaWx0ZXImZ3Q7Ci0KLTwvcHJlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iZWNsaXBzZS5odG1sIj4mIzI1MTQ3OyYjMTI0Mjc7PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiPiYjMjc0MjU7JiMxMjQwODs8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4mIzMxNTMyOzcmIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgRWNsaXBzZSAmIzEyNTAzOyYjMTI1MjE7JiMxMjQ2NDsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+JiMxMjUwNzsmIzEyNTQwOyYjMTI1MTI7PC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwOyYjMzE1MzI7OSYjMzE0NTY7ICYjMjA5OTg7JiMyNjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDs8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZ3VpLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2d1aS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzcwODhmLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvZ3VpLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+JiMzMTUzMjs1JiMzMTQ1NjsgRmluZEJ1Z3MgR1VJICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJydW5uaW5nLmh0bWwiIHRpdGxlPSImIzMxNTMyOzQmIzMxNDU2OyBGaW5kQnVncyYjODQ4MjsgJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7Ij48bGluayByZWw9Im5leHQiIGhyZWY9ImFudHRhc2suaHRtbCIgdGl0bGU9IiYjMzE1MzI7NiYjMzE0NTY7IEZpbmRCdWdzJiM4NDgyOyBBbnQgJiMxMjQ3OTsmIzEyNDczOyYjMTI0NjM7JiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+JiMzMTUzMjs1JiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJydW5uaW5nLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFudHRhc2suaHRtbCI+JiMyNzQyNTsmIzEyNDA4OzwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IiYjMzE1MzI7NSYjMzE0NTY7IEZpbmRCdWdzIEdVSSAmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJndWkiPjwvYT4mIzMxNTMyOzUmIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBHVUkgJiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj4mIzMwNDQ2OyYjMjc0MjU7PC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZ3VpLmh0bWwjZDBlMTA1OCI+MS4gJiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjM5ODsmIzIwMzE2OyYjMjUxMDQ7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9Imd1aS5odG1sI2QwZTEwOTkiPjIuICYjMjA5OTg7JiMyNjUxMjsmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZ3VpLmh0bWwjZDBlMTEwNCI+My4gJiMzMjA4MDsmIzI2NTI0OyYjMTIzOTg7JiMzODMyMjsmIzM1MjM5OzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJndWkuaHRtbCNkMGUxMTE5Ij40LiAmIzIwNDQ1OyYjMjMzODQ7JiMxMjM5MjsmIzM1NTAxOyYjMTI0MTU7JiMzNjc5NjsmIzEyNDE1OzwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM5ODsmIzMxNDU2OyYjMTIzOTE7JiMxMjM5OTsmIzEyMjg5OzxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0NjQ7JiMxMjUyMTsmIzEyNTAxOyYjMTI0NTE7JiMxMjQ1OTsmIzEyNTIzOyYjMTI1MTg7JiMxMjU0MDsmIzEyNDcwOyYjMTI1NDA7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0Nzk7JiMxMjUwMTsmIzEyNDU1OyYjMTI1NDA7JiMxMjQ3MzsgKEdVSSkgJiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyYjMTI0MzQ7JiMzNTUwMDsmIzI2MTI2OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMS4gJiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjM5ODsmIzIwMzE2OyYjMjUxMDQ7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTEwNTgiPjwvYT4xLiAmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzEyMzk4OyYjMjAzMTY7JiMyNTEwNDs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZpbmRidWdzPC9zdHJvbmc+PC9zcGFuPiAgJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyMzkxOyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDM0OyYjMzYyMTU7JiMyMTIwNTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2MzsmIzEyNDI1OyYjMTIyODk7JiMxMjUxMzsmIzEyNDkxOyYjMTI1MTc7JiMxMjU0MDsmIzEyMzkxOyA8c3BhbiBjbGFzcz0iZ3VpbWVudSI+RmlsZTwvc3Bhbj4gJiM4NTk0OyA8c3BhbiBjbGFzcz0iZ3VpbWVudWl0ZW0iPk5ldyBQcm9qZWN0PC9zcGFuPiAmIzEyNDM0OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyYjMTIzODE7JiMxMjM1ODsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMjc0MjU7JiMxMjM5ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NDsmIzEyNDgwOyYjMTI0NTI7JiMxMjQ1MDsmIzEyNTI1OyYjMTI0NjQ7JiMxMjM2NDsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3Nzs6PC9wPjxkaXYgY2xhc3M9Im1lZGlhb2JqZWN0Ij48aW1nIHNyYz0icHJvamVjdC1kaWFsb2cucG5nIj48L2Rpdj48cD4KLTwvcD48cD4mIzEyMzAwO0NsYXNzIGFyY2hpdmVzIGFuZCBkaXJlY3RvcmllcyB0byBhbmFseXplJiMxMjMwMTsmIzEyNDg2OyYjMTI0NjE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1MDE7JiMxMjQ1MTsmIzEyNTQwOyYjMTI1MjM7JiMxMjQ4OTsmIzEyMzk4OyYjMjcxNzg7JiMxMjM5NTsmIzEyMzU0OyYjMTI0Mjc7ICYjMTIzMDA7QWRkJiMxMjMwMTsmIzEyNTA4OyYjMTI0Nzk7JiMxMjUzMTsmIzEyNDM0OyYjMjUyNzY7JiMxMjM3NzsmIzEyMzkyOyYjMTIyODk7JiMxMjQ5NjsmIzEyNDY0OyYjMTI0MzQ7JiMyMDk5ODsmIzI2NTEyOyYjMTIzNzc7JiMxMjQyNzsgamF2YSAmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMjE1NDc7JiMxMjQzNTsmIzEyMzkxOyYjMTIzNTY7JiMxMjQyNzsgSmF2YSAmIzEyNDUwOyYjMTI1NDA7JiMxMjQ1OTsmIzEyNDUyOyYjMTI1MDI7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsgKHppcCwgamFyLCBlYXIsIG9yIHdhciBmaWxlKSAmIzEyNDM0OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzc1OyYjMTIzOTA7JiMyNTM1MTsmIzIzNDUwOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzM1MDc5OyYjMjU5Njg7JiMxMjM5ODsgJiMxMjQ1MDsmIzEyNTQwOyYjMTI0NTk7JiMxMjQ1MjsmIzEyNTAyOy8mIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTI0MzQ7JiMzNjg2MTsmIzIxMTUyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzIxNDg3OyYjMzMwMjE7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyYjMjA5OTg7JiMyNjUxMjsmIzEyNDM0OyYjMzQ4OTI7JiMxMjM1ODsgSmF2YSAmIzEyNDUwOyYjMTI1NDA7JiMxMjQ1OTsmIzEyNDUyOyYjMTI1MDI7JiMxMjM5ODsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDY3OyYjMTI1NDA7JiMxMjQ4OTsmIzEyNDM0OyYjMjE1NDc7JiMxMjQzNTsmIzEyMzg0OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyNDE4OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzgxOyYjMTIzNTg7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5ODsmIzIxNDg3OyYjMzMwMjE7JiMyNDYxNTsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNzsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDY3OyYjMTI1NDA7JiMxMjQ4OTsmIzEyMzk4OyYjMjI1ODA7JiMyNTE1MjsmIzEyMzY0OyYjMTIyODk7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxOTk3ODsmIzEyMzkxOyYjMTI0OTU7JiMxMjQ1MjsmIzEyNTIxOyYjMTI0NTI7JiMxMjQ4ODsmIzEyMzc1OyYjMTIzOTA7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzOTk7JiMxMjI4OTtKYXZhICYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzM4NTQyOyYjMjM2NTI7JiMxMjM5ODsmIzEyNTIzOyYjMTI1NDA7JiMxMjQ4ODsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzI0NTE3OyYjMzUyMDE7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMDM2MzsmIzEyMzYwOyYjMTI0MDA7JiMxMjI4OTsmIzEyNTE4OyYjMTI1NDA7JiMxMjQ3MDsmIzEyMzk4OyYjMTI0NTA7JiMxMjUwMzsmIzEyNTIyOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzY0OyA8Y29kZSBjbGFzcz0idmFybmFtZSI+b3JnLmZvb2Jhci5teWFwcDwvY29kZT4gJiMxMjQ5NzsmIzEyNDgzOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcyOyYjMTIzOTg7JiMyMDAxMzsmIzEyMzk1OyYjMTIzNTQ7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPm9yZzwvY29kZT4gJiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk4OyYjMzUyNDI7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyNDM0OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjUyMjsmIzEyNDczOyYjMTI0ODg7JiMxMjM5NTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+JiMxMjQxODsmIzEyMzU4OyYjMTI0MDI7JiMxMjM5MjsmIzEyMzg4OyYjMTIyODk7JiMyMDIxOTsmIzI0ODQ3OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzk4OyYjMjUxNjM7JiMzODkxODsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzgxOyYjMTI0Mjg7JiMxMjM5OTsmIzEyMjg5OyYjMzUwMzY7JiMyMTE2MTsmIzI5OTkyOyYjMTIzOTg7IEphciAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjQzNDsgJiMxMjMwMDtBdXhpbGlhcnkgY2xhc3NwYXRoIGxvY2F0aW9ucyYjMTIzMDE7JiMxMjM5ODsmIzEyNDU2OyYjMTI1MzE7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjM5NTsmIzM2ODYxOyYjMjExNTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3NzsmIzEyNDI3OyYjMTI0NTA7JiMxMjU0MDsmIzEyNDU5OyYjMTI0NTI7JiMxMjUwMjsvJiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk1OyYjMTI0MTg7JiMyNzE2MTsmIzI4MzEwOyYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOyYjMjYxNzg7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQ5NzsmIzEyNDczOyYjMTIzOTU7JiMxMjQxODsmIzIxNTQ3OyYjMTI0MTQ7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjM5NDsmIzEyMzU2OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTI0MzQ7JiMxMjI4OTsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3NzsmIzEyNDI3OyYjMTI0NTA7JiMxMjU0MDsmIzEyNDU5OyYjMTI0NTI7JiMxMjUwMjsvJiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzY0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7JiMxMjM3MTsmIzEyMzk4OyYjMzg5MTc7JiMzMDQ0NjsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMyNjA0MTsmIzEyMzY0OyYjMTIzNTY7JiMxMjM1NjsmIzEyMzkxOyYjMTIzNzU7JiMxMjQyMzsmIzEyMzU4OyYjMTIyOTA7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMzODU0MjsmIzIzNjUyOyYjMTIzOTU7JiMzODMwNjsmIzEyMzc3OyYjMTI0Mjc7JiMyNDc3MzsmIzIyNTc3OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQ4NzsmIzEyNDUxOyYjMTI0ODY7JiMxMjQ2MzsmIzEyNDc5OyYjMTIzNjQ7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5NTsmIzEyMzk5OyYjMTIzNTY7JiMxMjM2NzsmIzEyMzg4OyYjMTIzNjM7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzU7JiMxMjM4MzsmIzEyMzY0OyYjMTIzODc7JiMxMjM5MDsmIzEyMjg5OzxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzNjQ7JiMyMDk5ODsmIzI2NTEyOyYjMTI0MzQ7JiMzNDg5MjsmIzEyMzU4OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTg7JiMyMzQzNjsmIzIwODQwOyYjMTIzOTQ7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMzODU0MjsmIzIzNjUyOyYjMTI0MzQ7JiMyMTQ0MjsmIzI5MDMxOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDI4OyYjMTI0MDA7JiMxMjI4OTsmIzEyNDI0OyYjMTI0MjY7JiMyNzQ5MTsmIzMwOTA2OyYjMTIzOTQ7JiMyMDk5ODsmIzI2NTEyOyYjMzIwODA7JiMyNjUyNDsmIzEyNDM0OyYjMjE0NjI7JiMyNDQ3MTsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjIuICYjMjA5OTg7JiMyNjUxMjsmIzEyMzk4OyYjMjM0NTU7JiMzNDg5MjsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTA5OSI+PC9hPjIuICYjMjA5OTg7JiMyNjUxMjsmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTI0NTA7JiMxMjU0MDsmIzEyNDU5OyYjMTI0NTI7JiMxMjUwMjsmIzEyMjg5OyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjM2MjsmIzEyNDI0OyYjMTI0MDM7JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzk4OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDI4OyYjMTI0MDA7JiMxMjI4OTsmIzEyMzAwO0ZpbmlzaCYjMTIzMDE7JiMxMjUwODsmIzEyNDc5OyYjMTI1MzE7JiMxMjQzNDsmIzI1Mjc2OyYjMTIzNzU7JiMxMjM5MDsgSmFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5NTsmIzIxNTQ3OyYjMTI0MTQ7JiMxMjQyODsmIzEyNDI3OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc3OyYjMTI0Mjc7JiMyMDk5ODsmIzI2NTEyOyYjMTI0MzQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyNDA0MDsmIzIyODIzOyYjMTIzOTQ7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjQzNDsmIzIxNDc2OyYjMTIzNTY7JiMxMjQ2NzsmIzEyNTMxOyYjMTI1MDA7JiMxMjUxNzsmIzEyNTQwOyYjMTI0Nzk7JiMxOTk3ODsmIzEyMzkxOyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMTIzNjM7JiMxMjM5NDsmIzEyNDI2OyYjMTIzOTg7JiMyNjE3ODsmIzM4MjkxOygmIzI1OTY4OyYjMjEzMTM7JiMyMDk5ODspJiMxMjM2NDsmIzEyMzYzOyYjMTIzNjM7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5NTsmIzI3ODgwOyYjMjQ4NDc7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDsmIzIyODIzOyYjMjM0ODE7JiMzNzMyNzsmIzEyNTEzOyYjMTI1MTQ7JiMxMjUyMjsmIzEyMzkxOyYjMTIzNTQ7JiMxMjQyNzsmIzI2MzY4OyYjMzY4MTc7JiMxMjM5ODsmIzEyNDY3OyYjMTI1MzE7JiMxMjUwMDsmIzEyNTE3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyMzk0OyYjMTI0MjU7JiMxMjI4OTsmIzIyODIzOyYjMTIzNjU7JiMxMjM5NDsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ2NDsmIzEyNTIxOyYjMTI1MTI7JiMxMjM5MTsmIzEyMzU0OyYjMTIzODc7JiMxMjM5MDsmIzEyNDE4OyYjMjU5Njg7JiMyMDk5ODsmIzMxMjQzOyYjMjQyMzA7JiMxMjM5MTsmIzIwOTk4OyYjMjY1MTI7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjMuICYjMzIwODA7JiMyNjUyNDsmIzEyMzk4OyYjMzgzMjI7JiMzNTIzOTsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTEwNCI+PC9hPjMuICYjMzIwODA7JiMyNjUyNDsmIzEyMzk4OyYjMzgzMjI7JiMzNTIzOTs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMjA5OTg7JiMyNjUxMjsmIzEyMzY0OyYjMjM0MzY7JiMyMDEwMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMjc0MjU7JiMxMjM5ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NDsmIzMwMDExOyYjMzg3NTQ7JiMxMjM2NDsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsgOjwvcD48ZGl2IGNsYXNzPSJtZWRpYW9iamVjdCI+PGltZyBzcmM9ImV4YW1wbGUtZGV0YWlscy5wbmciPjwvZGl2PjxwPgotPC9wPjxwPiYjMjQwMzg7JiMxOTk3ODsmIzEyMzk4OyYjMTI1MDY7JiMxMjQ1MjsmIzEyNTMxOyYjMTIzOTU7JiMxMjM5OTsmIzEyNDk2OyYjMTI0NjQ7JiMzODU0MjsmIzIzNjUyOyYjMTI0ODQ7JiMxMjUyMjsmIzEyNTQwOyYjMTIzNjQ7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTI0Mjg7JiMxMjM5OTsmIzEyMjg5OyYjMjA5OTg7JiMyNjUxMjsmIzEyMzkxOyYjMTI0MTU7JiMxMjM4ODsmIzEyMzYzOyYjMTIzODc7JiMxMjM4MzsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5ODsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTIzNjQ7JiMzODU0MjsmIzIzNjUyOyYjMzAzNDA7JiMxMjM5NTsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3MzsmIzEyNDI4OyYjMTIzODM7JiMxMjQxODsmIzEyMzk4OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD4mIzE5OTc4OyYjMzcwOTY7JiMxMjM5ODsmIzEyNTA2OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzkxOyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTI0MzQ7JiMzNjk4NDsmIzI1MjQ2OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMxOTk3OTsmIzM3MDk2OyYjMTIzOTg7JiMxMjMwMDtEZXRhaWxzJiMxMjMwMTsmIzEyNTA2OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzk1OyYjMTI0OTY7JiMxMjQ2NDsmIzEyMzk4OyYjMzU0NDM7JiMzMjA0ODsmIzM1NTAwOyYjMjYxMjY7JiMxMjM2NDsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjYzNTY7JiMxMjM5NTsmIzEyMjg5OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMTIzNjQ7JiMxMjQxNTsmIzEyMzg4OyYjMTIzNjM7JiMxMjQyODsmIzEyNDAwOyYjMTIyODk7JiMyMTQ5MTsmIzE5OTc4OyYjMTIzOTg7JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjQ2NzsmIzEyNTQwOyYjMTI0ODk7JiMxMjUwNjsmIzEyNDUyOyYjMTI1MzE7JiMxMjM5NTsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5ODsmIzIwOTg2OyYjMjk2OTQ7JiMzMTYyMzsmIzI1MTUyOyYjMTIzOTU7JiMzNTQ0MjsmIzI0NDAzOyYjMTIzNzc7JiMxMjQyNzsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDY3OyYjMTI1NDA7JiMxMjQ4OTsmIzEyMzY0OyYjMzQ5MjA7JiMzMTAzNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxOTk3ODsmIzIyMjU5OyYjMTIzOTg7JiMyMDM2MzsmIzEyMzkxOyYjMzQ5MjA7JiMzMTAzNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzOTk7JiMxMjI4OTsmIzEyNDczOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTI1MTI7JiMxMjQ1ODsmIzEyNTAyOyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjM2NDsmIzEyNDYzOyYjMTI1MjU7JiMxMjU0MDsmIzEyNDc0OyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjM5NDsmIzEyMzU2OyYjMTIzOTI7JiMxMjM1NjsmIzEyMzU4OyYjMTI0MTg7JiMxMjM5ODsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDY3OyYjMTI1NDA7JiMxMjQ4OTsmIzEyNTM5OyYjMTI0NTQ7JiMxMjQ1MTsmIzEyNTMxOyYjMTI0ODk7JiMxMjQ1NDsmIzEyMzk1OyYjMTIzNjI7JiMxMjM1NjsmIzEyMzkwOyYjMjQ0MDM7JiMzNTQ0MjsmIzEyNDczOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTI1MTI7JiMxMjQ1ODsmIzEyNTAyOyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjQzNDsmIzI5OTgzOyYjMjUxMDQ7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzM0ODkyOyYjMTIzNjQ7JiMxMjQ5NTsmIzEyNDUyOyYjMTI1MjE7JiMxMjQ1MjsmIzEyNDg4OyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTI0OTY7JiMxMjQ2NDsmIzEyMzk4OyYjMjY5MDg7JiMzMjAzNDsmIzMyMDgwOyYjMjY1MjQ7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzU7JiMxMjM5MDsmIzEyNDg2OyYjMTI0NjE7JiMxMjQ3MzsmIzEyNDg4OyYjMTIzOTE7JiMyNzg4MDsmIzM3MzIwOyYjMTI0MzQ7JiMyMDgzNzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMzg1NDI7JiMyMzY1MjsmIzEyNDg0OyYjMTI1MjI7JiMxMjU0MDsmIzIyMjU5OyYjMTIzOTg7JiMxMjM3NzsmIzEyMzY4OyYjMTk5Nzk7JiMxMjM5NTsmIzEyMzU0OyYjMTI0Mjc7JiMxMjQ4NjsmIzEyNDYxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTA4OyYjMTI0ODM7JiMxMjQ2MzsmIzEyNDczOyYjMTIzOTU7JiMyNzg4MDsmIzM3MzIwOyYjMTI0MzQ7JiMyMDgzNzsmIzIxMTQ3OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMzNTM1MjsmIzM3NjgyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzYyOyYjMTIzNjU7JiMxMjM4MzsmIzEyMzU2OyYjMjQ3NzM7JiMyMjU3NzsmIzEyNDM0OyYjMjAzMDk7JiMxMjM5MTsmIzEyNDE4OyYjMzMyNTg7JiMzMDAwMTsmIzEyMzk1OyYjMjA4Mzc7JiMyMTE0NzsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0OTY7JiMxMjQ2NDsmIzMyMDgwOyYjMjY1MjQ7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk4OyYjMjA0NDU7JiMyMzM4NDsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzM1NTAxOyYjMTI0MTU7JiMzNjc5NjsmIzEyNDE1OyYjMTI0MzQ7JiMzNDg5MjsmIzEyMzg3OyYjMTIzODM7JiMxMjM5MjsmIzEyMzY1OyYjMTIzOTU7JiMxMjI4OTsmIzI3ODgwOyYjMzczMjA7JiMxMjQxODsmIzIwNDQ1OyYjMjMzODQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjQuICYjMjA0NDU7JiMyMzM4NDsmIzEyMzkyOyYjMzU1MDE7JiMxMjQxNTsmIzM2Nzk2OyYjMTI0MTU7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTExMTkiPjwvYT40LiAmIzIwNDQ1OyYjMjMzODQ7JiMxMjM5MjsmIzM1NTAxOyYjMTI0MTU7JiMzNjc5NjsmIzEyNDE1OzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMxMjUxMzsmIzEyNDkxOyYjMTI1MTc7JiMxMjU0MDsmIzM4OTE3OyYjMzA0NDY7JiMxMjM2MzsmIzEyNDI1OyA8c3BhbiBjbGFzcz0iZ3VpbWVudSI+RmlsZTwvc3Bhbj4gJiM4NTk0OyA8c3BhbiBjbGFzcz0iZ3VpbWVudWl0ZW0iPlNhdmUgYXMuLi48L3NwYW4+ICYjMTI0MzQ7JiMzNjk4NDsmIzI1MjQ2OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMxMjUxODsmIzEyNTQwOyYjMTI0NzA7JiMxMjU0MDsmIzEyMzk4OyYjMjAzMTY7JiMyNjk4OTsmIzMyMDgwOyYjMjY1MjQ7JiMxMjQzNDsmIzIwNDQ1OyYjMjMzODQ7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzAwO1NhdmUgYXMuLi4mIzEyMzAxOyYjMTI0ODA7JiMxMjQ1MjsmIzEyNDUwOyYjMTI1MjU7JiMxMjQ2NDsmIzEyMzk1OyYjMTIzNTQ7JiMxMjQyNzsmIzEyNDg5OyYjMTI1MjU7JiMxMjQ4MzsmIzEyNTAzOyYjMTI0ODA7JiMxMjQ1NDsmIzEyNTMxOyYjMTI1Mzk7JiMxMjUyMjsmIzEyNDczOyYjMTI0ODg7JiMxMjM5ODsmIzIwMDEzOyYjMTIzNjM7JiMxMjQyNTsmIzEyMzAwO0ZpbmRCdWdzIGFuYWx5c2lzIHJlc3VsdHMgKC54bWwpJiMxMjMwMTsmIzEyNDM0OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzcxOyYjMTIzOTI7JiMxMjM5MTsmIzEyMjg5OyYjMTI1MTg7JiMxMjU0MDsmIzEyNDcwOyYjMTI1NDA7JiMxMjM2NDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyBqYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNTIyOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNDIwOyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTIzOTQ7JiMxMjM5MzsmIzEyMzk4OyYjMjAzMTY7JiMyNjk4OTsmIzMyMDgwOyYjMjY1MjQ7JiMxMjQzNDsmIzIwNDQ1OyYjMjMzODQ7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDE0OyYjMTIzODM7JiMxMjI4OTtqYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNTIyOyYjMTI0NzM7JiMxMjQ4ODsmIzEyMzk4OyYjMTI0MTU7JiMxMjQzNDsmIzIwNDQ1OyYjMjMzODQ7JiMxMjM3NzsmIzEyNDI3OyYjMzY5ODQ7JiMyNTI0NjsmIzMyOTMwOyAoJiMxMjMwMDtGaW5kQnVncyBwcm9qZWN0IGZpbGUgKC5mYnApJiMxMjMwMTspICYjMTI0MjA7JiMxMjQ5NjsmIzEyNDY0OyYjMjY5MDg7JiMzMjAzNDsmIzMyMDgwOyYjMjY1MjQ7JiMxMjM5ODsmIzEyNDE1OyYjMTI0MzQ7JiMyMDQ0NTsmIzIzMzg0OyYjMTIzNzc7JiMxMjQyNzsmIzM2OTg0OyYjMjUyNDY7JiMzMjkzMDsgKCYjMTIzMDA7RmluZEJ1Z3MgYW5hbHlzaXMgZmlsZSAoLmZiYSkmIzEyMzAxOykgJiMxMjQxODsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMDQ0NTsmIzIzMzg0OyYjMTIzNzU7JiMxMjM4MzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTk7JiMxMjI4OTsmIzEyNTEzOyYjMTI0OTE7JiMxMjUxNzsmIzEyNTQwOyYjMzg5MTc7JiMzMDQ0NjsmIzEyMzYzOyYjMTI0MjU7IDxzcGFuIGNsYXNzPSJndWltZW51Ij5GaWxlPC9zcGFuPiAmIzg1OTQ7IDxzcGFuIGNsYXNzPSJndWltZW51aXRlbSI+T3Blbi4uLjwvc3Bhbj4gJiMxMjQzNDsmIzM2OTg0OyYjMjUyNDY7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIyODk7JiMzNTUwMTsmIzEyNDE1OyYjMzY3OTY7JiMxMjQxNjsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0icnVubmluZy5odG1sIj4mIzI1MTQ3OyYjMTI0Mjc7PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJhbnR0YXNrLmh0bWwiPiYjMjc0MjU7JiMxMjQwODs8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4mIzMxNTMyOzQmIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4mIzEyNTA3OyYjMTI1NDA7JiMxMjUxMjs8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+Jm5ic3A7JiMzMTUzMjs2JiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2ltcG9ydGFudC5wbmcgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2ltcG9ydGFudC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyYzkwZjYuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9pbXBvcnRhbnQucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9pbmRleC5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9pbmRleC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDM5MTMwLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvaW5kZXguaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT5GaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOzwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43Ni4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJpbnRyb2R1Y3Rpb24uaHRtbCIgdGl0bGU9IiYjMzE1MzI7MSYjMzE0NTY7ICYjMTIzOTk7JiMxMjM3NjsmIzEyNDE3OyYjMTIzOTU7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwiPiYjMjc0MjU7JiMxMjQwODs8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgbGFuZz0iamEiIGNsYXNzPSJib29rIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMSBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImZpbmRidWdzLW1hbnVhbCI+PC9hPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyNTEwOyYjMTI0OTE7JiMxMjUxNzsmIzEyNDUwOyYjMTI1MjM7PC9oMT48L2Rpdj48ZGl2PjxkaXYgY2xhc3M9ImF1dGhvcmdyb3VwIj48ZGl2IGNsYXNzPSJhdXRob3IiPjxoMyBjbGFzcz0iYXV0aG9yIj48c3BhbiBjbGFzcz0ic3VybmFtZSI+SG92ZW1leWVyPC9zcGFuPiA8c3BhbiBjbGFzcz0iZmlyc3RuYW1lIj5EYXZpZDwvc3Bhbj4gW0ZBTUlMWSBHaXZlbl08L2gzPjwvZGl2PjxkaXYgY2xhc3M9ImF1dGhvciI+PGgzIGNsYXNzPSJhdXRob3IiPjxzcGFuIGNsYXNzPSJzdXJuYW1lIj5QdWdoPC9zcGFuPiA8c3BhbiBjbGFzcz0iZmlyc3RuYW1lIj5XaWxsaWFtPC9zcGFuPiBbRkFNSUxZIEdpdmVuXTwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdj48cCBjbGFzcz0iY29weXJpZ2h0Ij4mIzM1MDY5OyYjMjAzMTY7JiMzMzg3OTsmIzIwMzE2OyAmY29weTsgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBVbml2ZXJzaXR5IG9mIE1hcnlsYW5kPC9wPjwvZGl2PjxkaXY+PGRpdiBjbGFzcz0ibGVnYWxub3RpY2UiIHRpdGxlPSImIzI3ODYxOyYjMjQ0NTk7JiMxOTk3ODsmIzEyMzk4OyYjMzY4OTA7JiMzMDY5MzsiPjxhIG5hbWU9ImQwZTM1Ij48L2E+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsmIzEyMzk5OyYjMTIyODk7JiMxMjQ2MzsmIzEyNTIyOyYjMTI0NTY7JiMxMjQ1MjsmIzEyNDg2OyYjMTI0NTE7JiMxMjUwMjsmIzEyNTM5OyYjMTI0Njc7JiMxMjUxNDsmIzEyNTMxOyYjMTI0NzQ7JiMzNDkyMDsmIzMxMDM0Oy0mIzM4NzUwOyYjMjE5NDI7JiMyMTAzMzstJiMzMjE1MzsmIzI1MjE1OyYjMTIzOTU7JiMyMjUyMjsmIzEyMzg5OyYjMTIzNjc7JiMyMDM1MTsmIzI5OTkyOyYjMzUzNzc7JiMzNTU4MjsmIzEyMzY0OyYjMTIzOTQ7JiMxMjM3MzsmIzEyNDI4OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzIwMzUxOyYjMjk5OTI7JiMzNTM3NzsmIzM1NTgyOyYjMjYzNjA7JiMxMjQzNDsmIzEyMzcyOyYjMzUyMzk7JiMxMjM5NTsmIzEyMzk0OyYjMTI0Mjc7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy1zYS8xLjAvZGVlZC5qYSIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy1zYS8xLjAvPC9hPiAmIzEyMzk1OyYjMTI0NTA7JiMxMjQ2MzsmIzEyNDc1OyYjMTI0NzM7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNjM7JiMxMjI4OTsmIzEyNDYzOyYjMTI1MjI7JiMxMjQ1NjsmIzEyNDUyOyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTAyOyYjMTI1Mzk7JiMxMjQ2NzsmIzEyNTE0OyYjMTI1MzE7JiMxMjQ3NDsoNTU5IE5hdGhhbiBBYmJvdHQgV2F5LCBTdGFuZm9yZCwgQ2FsaWZvcm5pYSA5NDMwNSwgVVNBKSYjMTIzOTU7JiMyNjM2MDsmIzMxNzc3OyYjMTI0MzQ7JiMzNjg2NTsmIzIwMTg0OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjxwPiYjMjE1MTc7JiMzMTIxNjsmIzEyMzAwO0ZpbmRCdWdzJiMxMjMwMTsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgRmluZEJ1Z3MgJiMxMjM5ODsmIzEyNTI1OyYjMTI0Njg7JiMxMjM5OTsmIzEyMjg5OyYjMTI1MTM7JiMxMjUyMjsmIzEyNTQwOyYjMTI1MjE7JiMxMjUzMTsmIzEyNDg5OyYjMjI4MjM7JiMyMzM5ODsmIzEyMzk4OyYjMzAzMzE7JiMzNzY4MjsmIzIxODMwOyYjMjcxNjE7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGl2PjwvZGl2PjxkaXY+PHAgY2xhc3M9InB1YmRhdGUiPjE3OjE2OjE1IEVTVCwgMjIgTm92ZW1iZXIsIDIwMTM8L3A+PC9kaXY+PC9kaXY+PGhyPjwvZGl2PjxkaXYgY2xhc3M9InRvYyI+PHA+PGI+JiMzMDQ0NjsmIzI3NDI1OzwvYj48L3A+PGRsPjxkdD48c3BhbiBjbGFzcz0iY2hhcHRlciI+PGEgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwiPjEuICYjMTIzOTk7JiMxMjM3NjsmIzEyNDE3OyYjMTIzOTU7PC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwjZDBlNzQiPjEuICYjMjQ1MTc7JiMzNTIwMTsmIzI2NDY1OyYjMjAyMTQ7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9Imluc3RhbGxpbmcuaHRtbCI+Mi4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7PC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iaW5zdGFsbGluZy5odG1sI2QwZTEwMiI+MS4gJiMzNzE5NzsmIzI0MDY3OyYjMjkyODk7JiMxMjM5ODsmIzIzNjM3OyYjMzgyODM7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwiPjMuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNTIzOyYjMTIzNjM7JiMxMjQyNTsmIzEyMzk4OyYjMTI0OTk7JiMxMjUyMzsmIzEyNDg5OzwvYT48L3NwYW4+PC9kdD48ZGQ+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlMTc1Ij4xLiAmIzIxMDY5OyYjMjU1NTI7JiMyNjQ2NTsmIzIwMjE0OzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJidWlsZGluZy5odG1sI2QwZTI1OCI+Mi4gJiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMzNzE5NzsmIzI0MDY3OyYjMjkyODk7JiMxMjM5ODsmIzIzNjM3OyYjMzgyODM7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlMjcxIj4zLiA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmxvY2FsLnByb3BlcnRpZXM8L2NvZGU+ICYjMTIzOTg7JiMyMDQ2MjsmIzI3NDkxOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJidWlsZGluZy5odG1sI2QwZTMyNiI+NC4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJidWlsZGluZy5odG1sI2QwZTQyMCI+NS4gJiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzYzOyYjMTI0MjU7JiMxMjM5ODsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJjaGFwdGVyIj48YSBocmVmPSJydW5uaW5nLmh0bWwiPjQuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L2E+PC9zcGFuPjwvZHQ+PGRkPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJydW5uaW5nLmh0bWwjZDBlNDU1Ij4xLiAmIzEyNDYzOyYjMTI0NTI7JiMxMjQ4MzsmIzEyNDYzOyYjMTI1Mzk7JiMxMjQ3MzsmIzEyNDc5OyYjMTI1NDA7JiMxMjQ4ODs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0icnVubmluZy5odG1sI2QwZTQ5MyI+Mi4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzM2MjE1OyYjMjEyMDU7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9InJ1bm5pbmcuaHRtbCNjb21tYW5kTGluZU9wdGlvbnMiPjMuICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOzwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJjaGFwdGVyIj48YSBocmVmPSJndWkuaHRtbCI+NS4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L2E+PC9zcGFuPjwvZHQ+PGRkPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJndWkuaHRtbCNkMGUxMDU4Ij4xLiAmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzEyMzk4OyYjMjAzMTY7JiMyNTEwNDs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZ3VpLmh0bWwjZDBlMTA5OSI+Mi4gJiMyMDk5ODsmIzI2NTEyOyYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJndWkuaHRtbCNkMGUxMTA0Ij4zLiAmIzMyMDgwOyYjMjY1MjQ7JiMxMjM5ODsmIzM4MzIyOyYjMzUyMzk7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9Imd1aS5odG1sI2QwZTExMTkiPjQuICYjMjA0NDU7JiMyMzM4NDsmIzEyMzkyOyYjMzU1MDE7JiMxMjQxNTsmIzM2Nzk2OyYjMTI0MTU7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImFudHRhc2suaHRtbCI+Ni4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYW50dGFzay5odG1sI2QwZTExNzMiPjEuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJhbnR0YXNrLmh0bWwjZDBlMTIwOSI+Mi4gYnVpbGQueG1sICYjMTIzOTg7JiMyNjM2MDsmIzEyMzY1OyYjMjYwNDE7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFudHRhc2suaHRtbCNkMGUxMjc4Ij4zLiAmIzEyNDc5OyYjMTI0NzM7JiMxMjQ2MzsmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYW50dGFzay5odG1sI2QwZTEzMDMiPjQuICYjMTI0OTc7JiMxMjUyMTsmIzEyNTEzOyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTQwOzwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJjaGFwdGVyIj48YSBocmVmPSJlY2xpcHNlLmh0bWwiPjcuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyBFY2xpcHNlICYjMTI1MDM7JiMxMjUyMTsmIzEyNDY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZWNsaXBzZS5odG1sI2QwZTE2MDQiPjEuICYjMjQ1MTc7JiMzNTIwMTsmIzI2NDY1OyYjMjAyMTQ7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImVjbGlwc2UuaHRtbCNkMGUxNjExIj4yLiAmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1NDA7JiMxMjUyMzs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZWNsaXBzZS5odG1sI2QwZTE2NTgiPjMuICYjMTI1MDM7JiMxMjUyMTsmIzEyNDY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImVjbGlwc2UuaHRtbCNkMGUxNjgxIj40LiAmIzEyNDg4OyYjMTI1MjE7JiMxMjUwMjsmIzEyNTIzOyYjMTI0NzE7JiMxMjUxNzsmIzEyNTQwOyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTMxOyYjMTI0NjQ7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImZpbHRlci5odG1sIj44LiAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzs8L2E+PC9zcGFuPjwvZHQ+PGRkPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJmaWx0ZXIuaHRtbCNkMGUxNzA5Ij4xLiAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk4OyYjMjcwMTA7JiMzNTIwMTs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMTc1OSI+Mi4gJiMxMjUxMDsmIzEyNDgzOyYjMTI0ODE7JiMxMjUzMTsmIzEyNDY0OyYjMjY0NjU7JiMyMDIxNDsmIzEyMzk4OyYjMzEyNzg7JiMzOTAwNjs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMTk1OCI+My4gSmF2YSAmIzM1MjAxOyYjMzIwMzI7JiMyMTUxNzsmIzEyNTEwOyYjMTI0ODM7JiMxMjQ4MTsmIzEyNTMxOyYjMTI0NjQ7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTE5ODIiPjQuICYjMzAwNDE7JiMyNDg0NzsmIzIwMTA3OyYjMzg5MTc7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTIwMTIiPjUuICYjMjAzNjM7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTIwNjUiPjYuICYjMjM0MzY7JiMyMDg0MDsmIzEyMzk0OyYjMjAzNjM7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImFuYWx5c2lzcHJvcHMuaHRtbCI+OS4gJiMyMDk5ODsmIzI2NTEyOyYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTQwOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImFubm90YXRpb25zLmh0bWwiPjEwLiAmIzEyNDUwOyYjMTI0OTQ7JiMxMjQ4NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCI+MTEuIHJlamFyRm9yQW5hbHlzaXMgJiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCI+MTIuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk1OyYjMTI0MjQ7JiMxMjQyNzsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTM5OyYjMTI1MTA7JiMxMjQ1MjsmIzEyNDkxOyYjMTI1MzE7JiMxMjQ2NDs8L2E+PC9zcGFuPjwvZHQ+PGRkPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjY29tbWFuZHMiPjEuICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNleGFtcGxlcyI+Mi4gJiMyMDM2Mzs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZGF0YW1pbmluZy5odG1sI2FudGV4YW1wbGUiPjMuIEFudCAmIzEyMzk4OyYjMjAzNjM7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImxpY2Vuc2UuaHRtbCI+MTMuICYjMTI1MjE7JiMxMjQ1MjsmIzEyNDc1OyYjMTI1MzE7JiMxMjQ3Mzs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJjaGFwdGVyIj48YSBocmVmPSJhY2tub3dsZWRnbWVudHMuaHRtbCI+MTQuICYjMzU2MTM7JiMzNjc2Njs8L2E+PC9zcGFuPjwvZHQ+PGRkPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJhY2tub3dsZWRnbWVudHMuaHRtbCNkMGUzNDM4Ij4xLiAmIzM2MDAyOyYjMjk0ODY7JiMzMjc3Mzs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYWNrbm93bGVkZ21lbnRzLmh0bWwjZDBlMzU2MSI+Mi4gJiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ3NzsmIzEyNTAxOyYjMTI0ODg7JiMxMjQ1NDsmIzEyNDU1OyYjMTI0NTA7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48L2RsPjwvZGl2PjxkaXYgY2xhc3M9Imxpc3Qtb2YtdGFibGVzIj48cD48Yj4mIzM0OTIwOyYjMTIzOTg7JiMxOTk2ODsmIzM1MjM5OzwvYj48L3A+PGRsPjxkdD45LjEuIDxhIGhyZWY9ImFuYWx5c2lzcHJvcHMuaHRtbCNhbmFseXNpc3Byb3B0YWJsZSI+JiMzNTM3MzsmIzIzNDUwOyYjMjE0ODc7JiMzMzAyMTsmIzEyMzk0OyYjMjA5OTg7JiMyNjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDs8L2E+PC9kdD48ZHQ+MTIuMS4gPGEgaHJlZj0iZGF0YW1pbmluZy5odG1sI2NvbXB1dGVCdWdIaXN0b3J5VGFibGUiPmNvbXB1dGVCdWdIaXN0b3J5ICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OzwvYT48L2R0PjxkdD4xMi4yLiA8YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjZmlsdGVyT3B0aW9uc1RhYmxlIj5maWx0ZXJCdWdzICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OzwvYT48L2R0PjxkdD4xMi4zLiA8YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjbWluZUJ1Z0hpc3RvcnlPcHRpb25zVGFibGUiPm1pbmVCdWdIaXN0b3J5ICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxOTk2ODsmIzM1MjM5OzwvYT48L2R0PjxkdD4xMi40LiA8YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjbWluZUJ1Z0hpc3RvcnlDb2x1bW5zIj5taW5lQnVnSGlzdG9yeSAmIzIwOTg2OyYjMjExNDc7JiMxMjM5ODsmIzEyNDU5OyYjMTI1MjE7JiMxMjUxMjsmIzE5OTY4OyYjMzUyMzk7PC9hPjwvZHQ+PGR0PjEyLjUuIDxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNkZWZlY3REZW5zaXR5Q29sdW1ucyI+ZGVmZWN0RGVuc2l0eSAmIzIwOTg2OyYjMjExNDc7JiMxMjM5ODsmIzEyNDU5OyYjMTI1MjE7JiMxMjUxMjsmIzE5OTY4OyYjMzUyMzk7PC9hPjwvZHQ+PGR0PjEyLjYuIDxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNjb252ZXJ0WG1sVG9UZXh0VGFibGUiPmNvbnZlcnRYbWxUb1RleHQgJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzE5OTY4OyYjMzUyMzk7PC9hPjwvZHQ+PGR0PjEyLjcuIDxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNzZXRCdWdEYXRhYmFzZUluZm9PcHRpb25zIj5zZXRCdWdEYXRhYmFzZUluZm8gJiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTk5Njg7JiMzNTIzOTs8L2E+PC9kdD48ZHQ+MTIuOC4gPGEgaHJlZj0iZGF0YW1pbmluZy5odG1sI2xpc3RCdWdEYXRhYmFzZUluZm9Db2x1bW5zIj5saXN0QnVnRGF0YWJhc2VJbmZvICYjMTI0NTk7JiMxMjUyMTsmIzEyNTEyOyYjMTk5Njg7JiMzNTIzOTs8L2E+PC9kdD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJpbnRyb2R1Y3Rpb24uaHRtbCI+JiMyNzQyNTsmIzEyNDA4OzwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwOyYjMzE1MzI7MSYjMzE0NTY7ICYjMTIzOTk7JiMxMjM3NjsmIzEyNDE3OyYjMTIzOTU7PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2luZmluaXRlUmVjdXJzaXZlTG9vcHMucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9pbmZpbml0ZVJlY3Vyc2l2ZUxvb3BzLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQzMGRmMi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2luZmluaXRlUmVjdXJzaXZlTG9vcHMucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9pbnN0YWxsaW5nLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2luc3RhbGxpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWYzZjJiNC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2luc3RhbGxpbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT4mIzMxNTMyOzImIzMxNDU2OyBGaW5kQnVncyYjODQ4MjsgJiMxMjM5ODsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1NDA7JiMxMjUyMzs8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJpbnRyb2R1Y3Rpb24uaHRtbCIgdGl0bGU9IiYjMzE1MzI7MSYjMzE0NTY7ICYjMTIzOTk7JiMxMjM3NjsmIzEyNDE3OyYjMTIzOTU7Ij48bGluayByZWw9Im5leHQiIGhyZWY9ImJ1aWxkaW5nLmh0bWwiIHRpdGxlPSImIzMxNTMyOzMmIzMxNDU2OyBGaW5kQnVncyYjODQ4MjsgJiMxMjM5ODsmIzEyNDc3OyYjMTI1NDA7JiMxMjUyMzsmIzEyMzYzOyYjMTI0MjU7JiMxMjM5ODsmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPiYjMzE1MzI7MiYjMzE0NTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImludHJvZHVjdGlvbi5odG1sIj4mIzI1MTQ3OyYjMTI0Mjc7PC9hPiZuYnNwOzwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJidWlsZGluZy5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iJiMzMTUzMjsyJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpbnN0YWxsaW5nIj48L2E+JiMzMTUzMjsyJiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPiYjMzA0NDY7JiMyNzQyNTs8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJpbnN0YWxsaW5nLmh0bWwjZDBlMTAyIj4xLiAmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk4OyYjMjM2Mzc7JiMzODI4Mzs8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2Rpdj48cD4mIzEyMzcxOyYjMTIzOTg7JiMzMTQ1NjsmIzEyMzkxOyYjMTIzOTk7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1NDA7JiMxMjUyMzsmIzI2MDQxOyYjMjc4NjE7JiMxMjQzNDsmIzM1NTAwOyYjMjYxMjY7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiAmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk4OyYjMjM2Mzc7JiMzODI4MzsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTAyIj48L2E+MS4gJiMzNzE5NzsmIzI0MDY3OyYjMjkyODk7JiMxMjM5ODsmIzIzNjM3OyYjMzgyODM7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDM0OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyYjMTIzNzc7JiMxMjQyNzsmIzI2MzY4OyYjMTI0MTg7JiMzMTc3NzsmIzIxMzM2OyYjMTIzOTQ7JiMyNjA0MTsmIzI3ODYxOyYjMTIzOTk7JiMxMjI4OTsmIzEyNDk2OyYjMTI0NTI7JiMxMjQ5MDsmIzEyNTIyOyYjMzcxOTc7JiMyNDA2NzsmIzI5Mjg5OyYjMTI0MzQ7JiMxMjQ4MDsmIzEyNDU0OyYjMTI1MzE7JiMxMjUyNTsmIzEyNTQwOyYjMTI0ODk7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsgJiMxMjQ5NjsmIzEyNDUyOyYjMTI0OTA7JiMxMjUyMjsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk5OyYjMTIyODk7IDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9maW5kYnVncy0yLjAuMy50YXIuZ3o/ZG93bmxvYWQiIHRhcmdldD0iX3RvcCI+Z3ppcHBlZCB0YXIgJiMyNDQxODsmIzI0MzM1OzwvYT4gJiMxMjM2MjsmIzEyNDI0OyYjMTI0MDM7IDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9maW5kYnVncy0yLjAuMy56aXA/ZG93bmxvYWQiIHRhcmdldD0iX3RvcCI+emlwICYjMjQ0MTg7JiMyNDMzNTs8L2E+ICYjMTIzNjQ7JiMxMjM4MTsmIzEyNDI4OyYjMTIzODI7JiMxMjQyODsmIzIwODM3OyYjMjUxNjM7JiMyMTQ4NzsmIzMzMDIxOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMTI0OTY7JiMxMjQ1MjsmIzEyNDkwOyYjMTI1MjI7JiMzNzE5NzsmIzI0MDY3OyYjMjkyODk7JiMxMjQzNDsmIzEyNDgwOyYjMTI0NTQ7JiMxMjUzMTsmIzEyNTI1OyYjMTI1NDA7JiMxMjQ4OTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NTsmIzEyMzgzOyYjMTI0MjU7JiMxMjI4OTsmIzEyMzgxOyYjMTI0Mjg7JiMxMjQzNDsmIzIwMjE5OyYjMjQ4NDc7JiMxMjM5ODsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzOTU7JiMyMzYzNzsmIzM4MjgzOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPmd6aXBwZWQgdGFyICYjMjQ0MTg7JiMyNDMzNTsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk4OyYjMjM2Mzc7JiMzODI4MzsmIzI2MDQxOyYjMjc4NjE7JiMyMDM2Mzs6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij4kIDwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5ndW56aXAgLWMgZmluZGJ1Z3MtMi4wLjMudGFyLmd6IHwgdGFyIHh2ZiAtPC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci08L3A+PHA+emlwICYjMjQ0MTg7JiMyNDMzNTsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk4OyYjMjM2Mzc7JiMzODI4MzsmIzI2MDQxOyYjMjc4NjE7JiMyMDM2Mzs6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij5DOlxTb2Z0d2FyZSZndDs8L2NvZGU+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dW56aXAgZmluZGJ1Z3MtMi4wLjMuemlwPC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci08L3A+PHA+JiMxMjQ5NjsmIzEyNDUyOyYjMTI0OTA7JiMxMjUyMjsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk4OyYjMjM2Mzc7JiMzODI4MzsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMzY4OTA7JiMyNDEyMDsmIzEyMzk5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmZpbmRidWdzLTIuMC4zPC9jb2RlPiAmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzNjQ7JiMyMDMxNjsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzIwMzYzOyYjMTIzNjA7JiMxMjQwMDsmIzEyMjg5OyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+QzpcU29mdHdhcmU8L2NvZGU+ICYjMTIzOTE7JiMxMjQ5NjsmIzEyNDUyOyYjMTI0OTA7JiMxMjUyMjsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyNDM0OyYjMjM2Mzc7JiMzODI4MzsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+QzpcU29mdHdhcmVcZmluZGJ1Z3MtMi4wLjM8L2NvZGU+ICYjMTIzOTU7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTk7JiMyMzYzNzsmIzM4MjgzOyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTIzOTg7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyMzY0OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMTI1MDc7JiMxMjU0MDsmIzEyNTEyOyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjM5NTsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzk4OyYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsmIzEyMzkxOyYjMTIzOTk7JiMxMjI4OTsmIzEyMzcxOyYjMTIzOTg7JiMxMjUwNzsmIzEyNTQwOyYjMTI1MTI7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsmIzEyNDM0OyA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4kRklOREJVR1NfSE9NRTwvY29kZT48L2VtPiAoV2luZG93cyYjMTIzOTE7JiMxMjM5OTsgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JUZJTkRCVUdTX0hPTUUlPC9jb2RlPjwvZW0+KSAmIzEyNDM0OyYjMjk5OTI7JiMxMjM1NjsmIzEyMzkwOyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImludHJvZHVjdGlvbi5odG1sIj4mIzI1MTQ3OyYjMTI0Mjc7PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJidWlsZGluZy5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+JiMzMTUzMjsxJiMzMTQ1NjsgJiMxMjM5OTsmIzEyMzc2OyYjMTI0MTc7JiMxMjM5NTsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPiYjMTI1MDc7JiMxMjU0MDsmIzEyNTEyOzwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDsmIzMxNTMyOzMmIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgJiMxMjM5ODsmIzEyNDc3OyYjMTI1NDA7JiMxMjUyMzsmIzEyMzYzOyYjMTI0MjU7JiMxMjM5ODsmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTs8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvaW50cm9kdWN0aW9uLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL2ludHJvZHVjdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YmE0NzM2Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvaW50cm9kdWN0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+JiMzMTUzMjsxJiMzMTQ1NjsgJiMxMjM5OTsmIzEyMzc2OyYjMTI0MTc7JiMxMjM5NTs8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iaW5zdGFsbGluZy5odG1sIiB0aXRsZT0iJiMzMTUzMjsyJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTQwOyYjMTI1MjM7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj4mIzMxNTMyOzEmIzMxNDU2OyAmIzEyMzk5OyYjMTIzNzY7JiMxMjQxNzsmIzEyMzk1OzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImluZGV4Lmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9Imluc3RhbGxpbmcuaHRtbCI+JiMyNzQyNTsmIzEyNDA4OzwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IiYjMzE1MzI7MSYjMzE0NTY7ICYjMTIzOTk7JiMxMjM3NjsmIzEyNDE3OyYjMTIzOTU7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpbnRyb2R1Y3Rpb24iPjwvYT4mIzMxNTMyOzEmIzMxNDU2OyAmIzEyMzk5OyYjMTIzNzY7JiMxMjQxNzsmIzEyMzk1OzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj4mIzMwNDQ2OyYjMjc0MjU7PC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwjZDBlNzQiPjEuICYjMjQ1MTc7JiMzNTIwMTsmIzI2NDY1OyYjMjAyMTQ7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTk7JiMxMjI4OTtKYXZhICYjMTI1MDM7JiMxMjUyNTsmIzEyNDY0OyYjMTI1MjE7JiMxMjUxMjsmIzEyMzk4OyYjMjAwMTM7JiMxMjM5ODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjQzNDsmIzM1MjExOyYjMTIzODg7JiMxMjM2OTsmIzEyNDI3OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDY0OyYjMTI1MjE7JiMxMjUxMjsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTIzOTg7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NjQ7JiMxMjUyMTsmIzEyNTEyOyYjMTIzOTk7JiMxMjI4OTsmIzEyMzAwOyYjMTI0OTY7JiMxMjQ2NDsgJiMxMjQ5NzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUzMTsmIzEyMzAxOyYjMTIzOTg7JiMyMzQ1NTsmIzIwMzYzOyYjMTI0MzQ7JiMyNTUwNjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzMDA7JiMxMjQ5NjsmIzEyNDY0OyAmIzEyNDk3OyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTMxOyYjMTIzMDE7JiMxMjM5MjsmIzEyMzk5OyYjMTIyODk7JiMxMjQ1NjsmIzEyNTIxOyYjMTI1NDA7JiMxMjM5MjsmIzEyMzk0OyYjMTI0Mjc7JiMyMTQ4NzsmIzMzMDIxOyYjMjQ2MTU7JiMxMjM5ODsmIzM5NjQwOyYjMTIzNTY7JiMxMjQ2NzsmIzEyNTQwOyYjMTI0ODk7JiMxMjM5ODsmIzIwMTA3OyYjMjAzNjM7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTIzNzE7JiMxMjM5ODsmIzI1OTkxOyYjMjYzNjA7JiMxMjM5OTsmIzEyMjg5OzxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsgMi4wLjMgJiMxMjM5NTsmIzEyMzg4OyYjMTIzNTY7JiMxMjM5MDsmIzM1NTAwOyYjMjYxMjY7JiMxMjM3NTsmIzEyMzkwOyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMzExNjk7JiMxMjM4MzsmIzEyMzg1OyYjMTIzOTk7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyNTAxOyYjMTI0NTE7JiMxMjU0MDsmIzEyNDg5OyYjMTI0OTY7JiMxMjQ4MzsmIzEyNDYzOyYjMTI0MzQ7JiMyNDUxNTsmIzI0NDUzOyYjMTIzODU7JiMxMjM5NTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzkzOyYjMTIzNTg7JiMxMjM4MjsmIzEyMjg5OyA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQiIHRhcmdldD0iX3RvcCI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gV2ViICYjMTI1MDY7JiMxMjU0MDsmIzEyNDcyOzwvYT4gJiMxMjM5NTsmIzEyNDUwOyYjMTI0NjM7JiMxMjQ3NTsmIzEyNDczOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5NTsmIzEyMzg4OyYjMTIzNTY7JiMxMjM5MDsmIzEyMzk4OyYjMjYzNjg7JiMyNjAzMjsmIzI0NzczOyYjMjI1Nzc7JiMxMjI4OTsmIzM2ODk5OyYjMzIwOTc7JiMyMDgwODsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjUxMzsmIzEyNTQwOyYjMTI1MjI7JiMxMjUzMTsmIzEyNDY0OyYjMTI1MjI7JiMxMjQ3MzsmIzEyNDg4OyYjMTIzOTQ7JiMxMjM5MzsmIzEyMzk4OyYjMTI0Njk7JiMxMjUwOTsmIzEyNTQwOyYjMTI0ODg7JiMyNDc3MzsmIzIyNTc3OyYjMTI0MzQ7JiMyMDgzNzsmIzI1MTYzOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMS4gJiMyNDUxNzsmIzM1MjAxOyYjMjY0NjU7JiMyMDIxNDsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlNzQiPjwvYT4xLiAmIzI0NTE3OyYjMzUyMDE7JiMyNjQ2NTsmIzIwMjE0OzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9qYXZhLnN1bi5jb20vajJzZSIgdGFyZ2V0PSJfdG9wIj5KYXZhIDIgU3RhbmRhcmQgRWRpdGlvbjwvYT4sICYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsgMS41ICYjMjAxOTc7JiMzODQ3NzsmIzEyMzk4OyYjMTI0OTY7JiMxMjU0MDsmIzEyNDcyOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzkyOyYjMjAxMTQ7JiMyNTU2MzsmIzI0NjE1OyYjMTIzOTg7JiMxMjM1NDsmIzEyNDI3OyYjMTI1MjE7JiMxMjUzMTsmIzEyNDc5OyYjMTI0NTI7JiMxMjUxMjsmIzI5ODcyOyYjMjI2NTk7JiMxMjM2NDsmIzI0NTE3OyYjMzUyMDE7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5OTsmIzEyMjg5OyYjMTI1MDM7JiMxMjUyMTsmIzEyNDgzOyYjMTI0ODg7JiMxMjUwMTsmIzEyNDU3OyYjMTI1NDA7JiMxMjUxMjsmIzM4NzUwOyYjMjAzODE7JiMyMzM4NDsmIzEyMzkxOyYjMTIzNTQ7JiMxMjQyNjsmIzEyMjg5OyBHTlUvTGludXggJiMxMjI4OTsgV2luZG93cyAmIzEyMjg5OyBNYWNPUyBYICYjMTI1MDM7JiMxMjUyMTsmIzEyNDgzOyYjMTI0ODg7JiMxMjUwMTsmIzEyNDU3OyYjMTI1NDA7JiMxMjUxMjsmIzE5OTc4OyYjMTIzOTE7JiMyMTIwNTsmIzIwMzE2OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzMwNjkzOyYjMTI0MjU7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzgzOyYjMTI0MTc7JiMxMjM5NTsmIzEyMzk5OyYjMTIyODk7JiMyMzU2OTsmIzEyMzk0OyYjMTIzNjc7JiMxMjM5MjsmIzEyNDE4OyA1MTIgTUIgJiMxMjM5ODsmIzEyNTEzOyYjMTI1MTQ7JiMxMjUyMjsmIzEyMzY0OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsmIzI0MDQwOyYjMjI4MjM7JiMxMjM5NDsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNDM0OyYjMzUyOTk7JiMyNjUxMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyYjMTIzODE7JiMxMjQyODsmIzEyNDI0OyYjMTI0MjY7JiMyMjgxMDsmIzEyMzY3OyYjMTIzOTg7JiMxMjUxMzsmIzEyNTE0OyYjMTI1MjI7JiMxMjM2NDsmIzI0NTE3OyYjMzUyMDE7JiMxMjM5MjsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iaW5kZXguaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iaW5zdGFsbGluZy5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPiYjMTI1MDc7JiMxMjU0MDsmIzEyNTEyOzwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDsmIzMxNTMyOzImIzMxNDU2OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgJiMxMjM5ODsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3MzsmIzEyNDg4OyYjMTI1NDA7JiMxMjUyMzs8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvbGljZW5zZS5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9saWNlbnNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1OGRmYzQuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9saWNlbnNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+JiMzMTUzMjsxMyYjMzE0NTY7ICYjMTI1MjE7JiMxMjQ1MjsmIzEyNDc1OyYjMTI1MzE7JiMxMjQ3Mzs8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJkYXRhbWluaW5nLmh0bWwiIHRpdGxlPSImIzMxNTMyOzEyJiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTU7JiMxMjQyNDsmIzEyNDI3OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1Mzk7JiMxMjUxMDsmIzEyNDUyOyYjMTI0OTE7JiMxMjUzMTsmIzEyNDY0OyI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhY2tub3dsZWRnbWVudHMuaHRtbCIgdGl0bGU9IiYjMzE1MzI7MTQmIzMxNDU2OyAmIzM1NjEzOyYjMzY3NjY7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj4mIzMxNTMyOzEzJiMzMTQ1NjsgJiMxMjUyMTsmIzEyNDUyOyYjMTI0NzU7JiMxMjUzMTsmIzEyNDczOzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYWNrbm93bGVkZ21lbnRzLmh0bWwiPiYjMjc0MjU7JiMxMjQwODs8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImNoYXB0ZXIiIHRpdGxlPSImIzMxNTMyOzEzJiMzMTQ1NjsgJiMxMjUyMTsmIzEyNDUyOyYjMTI0NzU7JiMxMjUzMTsmIzEyNDczOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ibGljZW5zZSI+PC9hPiYjMzE1MzI7MTMmIzMxNDU2OyAmIzEyNTIxOyYjMTI0NTI7JiMxMjQ3NTsmIzEyNTMxOyYjMTI0NzM7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4mIzIxNTE3OyYjMzEyMTY7JiMxMjMwMDtGaW5kQnVncyYjMTIzMDE7JiMxMjM2MjsmIzEyNDI0OyYjMTI0MDM7IEZpbmRCdWdzICYjMTIzOTg7JiMxMjUyNTsmIzEyNDY4OyYjMTIzOTk7JiMxMjI4OTsmIzEyNTEzOyYjMTI1MjI7JiMxMjU0MDsmIzEyNTIxOyYjMTI1MzE7JiMxMjQ4OTsmIzIyODIzOyYjMjMzOTg7JiMxMjM5ODsmIzMwMzMxOyYjMzc2ODI7JiMyMTgzMDsmIzI3MTYxOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwO0ZpbmRCdWdzICYjMTIzOTk7JiMxMjUwMTsmIzEyNTIyOyYjMTI1NDA7JiMxMjQ3NzsmIzEyNTAxOyYjMTI0ODg7JiMxMjQ1NDsmIzEyNDU1OyYjMTI0NTA7JiMxMjM5MTsmIzEyMzU0OyYjMTI0MjY7JiMxMjI4OTsgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGdwbC5odG1sIiB0YXJnZXQ9Il90b3AiPkxlc3NlciBHTlUgUHVibGljIExpY2Vuc2U8L2E+ICYjMTIzOTg7JiMyNjQ2NTsmIzIwMjE0OyYjMTIzOTE7JiMzNzE5NzsmIzI0MDY3OyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMDM1MTsmIzI5OTkyOyYjMjUyMTU7JiMzNTU4MjsmIzI2MzYwOyYjMTI0MzQ7JiMyMDgzNzsmIzI1MTYzOyYjMTIzNzU7JiMxMjM4MzsmIzEyMzU2OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMzcxOTc7JiMyNDA2NzsmIzI5Mjg5OyYjMTIzOTU7JiMyMTU0NzsmIzEyNDE0OyYjMTI0Mjg7JiMxMjQyNzsgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5MSUNFTlNFLnR4dDwvY29kZT4gJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48cD4mIzI2MzY4OyYjMjYwMzI7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTg7IEZpbmRCdWdzICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyAmIzEyMzgxOyYjMTIzOTg7JiMxMjQ3NzsmIzEyNTQwOyYjMTI0NzM7JiMxMjQ2NzsmIzEyNTQwOyYjMTI0ODk7JiMxMjM5OTsgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0IiB0YXJnZXQ9Il90b3AiPkZpbmRCdWdzIHdlYiAmIzEyNTA2OyYjMTI1NDA7JiMxMjQ3Mjs8L2E+ICYjMTIzOTE7JiMyMDgzNzsmIzI1MTYzOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJkYXRhbWluaW5nLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFja25vd2xlZGdtZW50cy5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+JiMzMTUzMjsxMiYjMzE0NTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk1OyYjMTI0MjQ7JiMxMjQyNzsmIzEyNDg3OyYjMTI1NDA7JiMxMjQ3OTsmIzEyNTM5OyYjMTI1MTA7JiMxMjQ1MjsmIzEyNDkxOyYjMTI1MzE7JiMxMjQ2NDsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPiYjMTI1MDc7JiMxMjU0MDsmIzEyNTEyOzwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDsmIzMxNTMyOzE0JiMzMTQ1NjsgJiMzNTYxMzsmIzM2NzY2OzwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9ub3RlLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvbm90ZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwYzNjNjQuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9ub3RlLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvcHJvamVjdC1kaWFsb2cucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9wcm9qZWN0LWRpYWxvZy5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMzk3ODMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9wcm9qZWN0LWRpYWxvZy5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL3JlamFyRm9yQW5hbHlzaXMuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvcmVqYXJGb3JBbmFseXNpcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDE5ZWNmLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvcmVqYXJGb3JBbmFseXNpcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi08aHRtbD48aGVhZD4KLSAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgotICAgPHRpdGxlPiYjMzE1MzI7MTEmIzMxNDU2OyByZWphckZvckFuYWx5c2lzICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7ICYjMTI1MTA7JiMxMjQ5MTsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJhbm5vdGF0aW9ucy5odG1sIiB0aXRsZT0iJiMzMTUzMjsxMCYjMzE0NTY7ICYjMTI0NTA7JiMxMjQ5NDsmIzEyNDg2OyYjMTI1NDA7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7Ij48bGluayByZWw9Im5leHQiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCIgdGl0bGU9IiYjMzE1MzI7MTImIzMxNDU2OyBGaW5kQnVncyYjODQ4MjsgJiMxMjM5NTsmIzEyNDI0OyYjMTI0Mjc7JiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjUzOTsmIzEyNTEwOyYjMTI0NTI7JiMxMjQ5MTsmIzEyNTMxOyYjMTI0NjQ7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj4mIzMxNTMyOzExJiMzMTQ1NjsgcmVqYXJGb3JBbmFseXNpcyAmIzEyMzk4OyYjMjAzNTE7JiMyOTk5MjsmIzI2MDQxOyYjMjc4NjE7PC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYW5ub3RhdGlvbnMuaHRtbCI+JiMyNTE0NzsmIzEyNDI3OzwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZGF0YW1pbmluZy5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iJiMzMTUzMjsxMSYjMzE0NTY7IHJlamFyRm9yQW5hbHlzaXMgJiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0icmVqYXJGb3JBbmFseXNpcyI+PC9hPiYjMzE1MzI7MTEmIzMxNDU2OyByZWphckZvckFuYWx5c2lzICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMTIzOTU7JiMyMjgxMDsmIzEyMzY3OyYjMTIzOTg7IGphciAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyAmIzEyMzY0OyYjMTIzNTQ7JiMxMjM4NzsmIzEyMzgzOyYjMTI0MjY7JiMxMjI4OTsgamFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM2NDsmIzIyODEwOyYjMTIzNjc7JiMxMjM5ODsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyMzk1OyYjMjg4NTc7JiMyMjMxMjsmIzEyMzc1OyYjMTIzODM7JiMxMjQyNjsmIzEyMzc3OyYjMTI0Mjc7JiMyMjU4MDsmIzIxNTEyOyYjMTIzOTk7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cmVqYXJGb3JBbmFseXNpcyA8L3N0cm9uZz48L3NwYW4+ICYjMTI0NzM7JiMxMjQ2MzsmIzEyNTIyOyYjMTI1MDM7JiMxMjQ4ODsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsgRmluZEJ1Z3MgJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM2NDsmIzI3NjA0OyYjMzY2MTE7JiMzMDM0MDsmIzMxNzc3OyYjMjEzMzY7JiMxMjM5NTsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzk4OyYjMTI0NzM7JiMxMjQ2MzsmIzEyNTIyOyYjMTI1MDM7JiMxMjQ4ODsmIzEyMzk5OyYjMTIyODk7JiMyNTk2ODsmIzIyODEwOyYjMTIzNTY7IGphciAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MzQ7JiMzODU5ODsmIzEyNDE3OyYjMTIzOTA7IDEgJiMxMjM4ODsmIzEyMzk4OyYjMjI4MjM7JiMxMjM2NTsmIzEyMzk0OyBqYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk1OyYjMzIwODA7JiMyMTUxMjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzODE7JiMxMjM1ODsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMjg5OyYjMjA5OTg7JiMyNjUxMjsmIzI2MTc4OyYjMTIzOTU7RmluZEJ1Z3MgJiMxMjM5NTsgamFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMjc2MDQ7JiMzNjYxMTsmIzMwMzQwOyYjMzE3Nzc7JiMyMTMzNjsmIzEyMzk1OyYjMTIzOTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTIzOTg7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTIzOTk7JiMxMjI4OTsgdW5peCAmIzEyNDcxOyYjMTI0NzM7JiMxMjQ4NjsmIzEyNTEyOyYjMTIzOTg7ICdmaW5kJyAmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTIzOTI7JiMzMjA2ODsmIzEyNDE1OyYjMjE1MTI7JiMxMjQzMTsmIzEyMzc5OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMzkyOyYjMTI0MjY7JiMxMjQzMTsmIzEyMzY5OyYjMjYzNzc7JiMyOTk5MjsmIzEyMzk1OyYjMTIzOTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7IDsgJiMyNzQyNTsmIzEyMzk1OyYjMjAzNjM7JiMxMjQzNDsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZpbmQgLiAtbmFtZSAnKi5qYXInIHwgeGFyZ3MgcmVqYXJGb3JBbmFseXNpcyA8L3N0cm9uZz48L3NwYW4+LjwvcD48cD4mIzEyNDE0OyYjMTIzODM7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cmVqYXJGb3JBbmFseXNpczwvc3Ryb25nPjwvc3Bhbj4gJiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTIzOTk7JiMyNDA0MDsmIzIyODIzOyYjMTIzOTQ7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjQzNDsmIzM1MDc5OyYjMjU5Njg7JiMxMjM5ODsgamFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5NTsmIzIwOTk4OyYjMjExMDY7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzk1OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTk7JiMxMjI4OTsmIzM1MDc5OyYjMjU5Njg7JiMxMjM5ODsgamFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5NTsmIzIyMzQzOyYjMzE1NjE7JiMxMjM5NTsmIzM3MTk3OyYjMjA5OTg7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjQyODsmIzEyMzk5OyYjMTIyODk7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NzI7JiMxMjQ1NTsmIzEyNDYzOyYjMTI0ODg7JiMyMDg0MDsmIzIwMzA3OyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc1OyYjMTIzOTA7IEZpbmRCdWdzICYjMTI0MzQ7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMjYxNzg7JiMzODI5MTsmIzEyMzkyOyYjMTI1MTM7JiMxMjUxNDsmIzEyNTIyOyYjMjgwNDA7JiMzNjAyNzsmIzEyMzY0OyYjMzM4Nzk7JiMxMjM3NTsmIzEyMzU2OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk1OyYjMjYzNzc7JiMyOTk5MjsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzIwODQwOyYjMjAzMDc7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzU7JiMxMjM5MDsgRmluZEJ1Z3MgJiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NzsmIzEyNDI3OyYjMjAxOTU7JiMxMjQzMTsmIzEyNDI2OyYjMTIzOTU7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+IHJlamFyRm9yQW5hbHlzaXM8L3N0cm9uZz48L3NwYW4+ICYjMTIzOTE7JiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMjE1NDc7JiMxMjQxNjsmIzIyODIzOyYjMTIzNjU7JiMxMjM5NDsgamFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzI3MDgzOyYjMzE2ODk7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzMyMTU0OyYjMTIzNTY7JiMxMjM5MDsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5yZWphckZvckFuYWx5c2lzPC9zdHJvbmc+PC9zcGFuPiAmIzEyNDM0OyYjMjA4Nzc7JiMxMjQwMzsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NTsmIzEyMzkwOyYjMzUwNzk7JiMyNTk2ODsmIzEyMzk4OyBqYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk1OyYjMjA5OTg7JiMyMTEwNjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzODE7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMyMTUwODsmIzEyMjkzOyYjMTIzOTg7IGphciAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc1OyYjMTIzOTA7JiMzODkxODsmIzEyMzk1OyBGaW5kQnVncyAmIzEyNDM0OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzODE7JiMxMjM5ODsmIzM4NTU1OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1hdXhjbGFzc3BhdGg8L3N0cm9uZz48L3NwYW4+ICYjMTIzOTU7JiMyNjM2ODsmIzIxMDIxOyYjMTIzOTU7IDEgJiMxMjM4ODsmIzEyMzk1OyYjMTI0MTQ7JiMxMjM5MjsmIzEyNDE3OyYjMTIzODM7IGphciAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjxwPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnJlamFyRm9yQW5hbHlzaXM8L3N0cm9uZz48L3NwYW4+ICYjMTI0NzM7JiMxMjQ2MzsmIzEyNTIyOyYjMTI1MDM7JiMxMjQ4ODsmIzEyMzk1OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0Mjc7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMyMDE5NzsmIzE5OTc5OyYjMTIzOTU7JiMzMTAzNDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsgOjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1tYXhBZ2U8L3N0cm9uZz48L3NwYW4+IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiYjMjYwODU7JiMyNTk2ODs8L2NvZGU+PC9lbT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyNjM2ODsmIzI0NDYwOyYjMTIzOTU7JiMyNjM1NjsmIzI2MDMyOyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyYjMjYwODU7JiMxMjM2MzsmIzEyNDI1OyYjMTIzOTg7JiMzMjA3NjsmIzM2OTQyOyYjMjYxNzg7JiMzODI5MTsmIzEyNDM0OyYjMjYwODU7JiMyMTMzNjsmIzIwMzAxOyYjMTIzOTE7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyAoJiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzI2MDg1OyYjMjU5Njg7JiMxMjQyNDsmIzEyNDI2OyYjMjE0NzY7JiMxMjM1NjsgamFyICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5OTsmIzI4OTYxOyYjMzUyMjI7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzspJiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1pbnB1dEZpbGVMaXN0PC9zdHJvbmc+PC9zcGFuPiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMjE1MTc7PC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPmphciAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMjE1MTc7JiMxMjQzNDsmIzM1MzUyOyYjMzY2MTc7JiMxMjM3NTsmIzEyMzgzOyYjMTI0ODY7JiMxMjQ2MTsmIzEyNDczOyYjMTI0ODg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LW1heENsYXNzZXM8L3N0cm9uZz48L3NwYW4+IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMjU5Njg7PC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPmFuYWx5c2lzKi5qYXIgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsgMSAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTU7JiMyMzU1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjM5ODsmIzI2MzY4OyYjMjI4MjM7JiMyNTk2ODsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LXByZWZpeDwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JiMxMjUwMzsmIzEyNTI0OyYjMTI1MDE7JiMxMjQ1MTsmIzEyNDgzOyYjMTI0NjM7JiMxMjQ3Mzs8L2NvZGU+PC9lbT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyMDk5ODsmIzI2NTEyOyYjMTIzNzc7JiMxMjQyNzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzIxNTE3OyYjMTIzOTg7JiMxMjUwMzsmIzEyNTI0OyYjMTI1MDE7JiMxMjQ1MTsmIzEyNDgzOyYjMTI0NjM7JiMxMjQ3MzsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsgICgmIzIwMzYzOyYjMTIyODk7IGVkdS51bWQuY3MuKSAmIzEyMjkwOzwvcD48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhbm5vdGF0aW9ucy5odG1sIj4mIzI1MTQ3OyYjMTI0Mjc7PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJkYXRhbWluaW5nLmh0bWwiPiYjMjc0MjU7JiMxMjQwODs8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4mIzMxNTMyOzEwJiMzMTQ1NjsgJiMxMjQ1MDsmIzEyNDk0OyYjMTI0ODY7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPiYjMTI1MDc7JiMxMjU0MDsmIzEyNTEyOzwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDsmIzMxNTMyOzEyJiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTU7JiMxMjQyNDsmIzEyNDI3OyYjMTI0ODc7JiMxMjU0MDsmIzEyNDc5OyYjMTI1Mzk7JiMxMjUxMDsmIzEyNDUyOyYjMTI0OTE7JiMxMjUzMTsmIzEyNDY0OzwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL2phL21hbnVhbC9ydW5uaW5nLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL3J1bm5pbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGVlZDAzMi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL3J1bm5pbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+JiMzMTUzMjs0JiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43Ni4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgJiMxMjUxMDsmIzEyNDkxOyYjMTI1MTc7JiMxMjQ1MDsmIzEyNTIzOyI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyAmIzEyNTEwOyYjMTI0OTE7JiMxMjUxNzsmIzEyNDUwOyYjMTI1MjM7Ij48bGluayByZWw9InByZXYiIGhyZWY9ImJ1aWxkaW5nLmh0bWwiIHRpdGxlPSImIzMxNTMyOzMmIzMxNDU2OyBGaW5kQnVncyYjODQ4MjsgJiMxMjM5ODsmIzEyNDc3OyYjMTI1NDA7JiMxMjUyMzsmIzEyMzYzOyYjMTI0MjU7JiMxMjM5ODsmIzEyNDk5OyYjMTI1MjM7JiMxMjQ4OTsiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iZ3VpLmh0bWwiIHRpdGxlPSImIzMxNTMyOzUmIzMxNDU2OyBGaW5kQnVncyBHVUkgJiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+JiMzMTUzMjs0JiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImJ1aWxkaW5nLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9Imd1aS5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iJiMzMTUzMjs0JiMzMTQ1NjsgRmluZEJ1Z3MmIzg0ODI7ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0icnVubmluZyI+PC9hPiYjMzE1MzI7NCYjMzE0NTY7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyAmIzEyMzk4OyYjMjM0NTU7JiMzNDg5Mjs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InRvYyI+PHA+PGI+JiMzMDQ0NjsmIzI3NDI1OzwvYj48L3A+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9InJ1bm5pbmcuaHRtbCNkMGU0NTUiPjEuICYjMTI0NjM7JiMxMjQ1MjsmIzEyNDgzOyYjMTI0NjM7JiMxMjUzOTsmIzEyNDczOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNDg4OzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJydW5uaW5nLmh0bWwjZDBlNDkzIj4yLiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMzYyMTU7JiMyMTIwNTs8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0icnVubmluZy5odG1sI2NvbW1hbmRMaW5lT3B0aW9ucyI+My4gJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5NTsmIzEyMzk5OzImIzEyMzg4OyYjMTIzOTg7JiMxMjUxODsmIzEyNTQwOyYjMTI0NzA7JiMxMjU0MDsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3OTsmIzEyNTAxOyYjMTI0NTU7JiMxMjU0MDsmIzEyNDczOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzc7JiMxMjM5NDsmIzEyNDMxOyYjMTIzODU7JiMxMjI4OTsmIzEyNDY0OyYjMTI1MjE7JiMxMjUwMTsmIzEyNDUxOyYjMTI0NTk7JiMxMjUyMzsmIzEyNTE4OyYjMTI1NDA7JiMxMjQ3MDsmIzEyNTQwOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDc5OyYjMTI1MDE7JiMxMjQ1NTsmIzEyNTQwOyYjMTI0NzM7IChHVUkpICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyAmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDc5OyYjMTI1MDE7JiMxMjQ1NTsmIzEyNTQwOyYjMTI0NzM7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzk4OyYjMzE0NTY7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7JiMxMjM4MTsmIzEyNDI4OyYjMTIzODI7JiMxMjQyODsmIzEyMzk4OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDc5OyYjMTI1MDE7JiMxMjQ1NTsmIzEyNTQwOyYjMTI0NzM7JiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMyNjA0MTsmIzI3ODYxOyYjMTIzOTU7JiMxMjM4ODsmIzEyMzU2OyYjMTIzOTA7JiMzNTUwMDsmIzI2MTI2OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9Indhcm5pbmciIHRpdGxlPSImIzM1Njg2OyYjMjE1Nzg7IiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyBtYXJnaW4tcmlnaHQ6IDAuNWluOyI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iV2FybmluZyI+PHRyPjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iWyYjMzU2ODY7JiMyMTU3ODtdIiBzcmM9Indhcm5pbmcucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+JiMzNTY4NjsmIzIxNTc4OzwvdGg+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMzE0NTY7JiMxMjM5OTsmIzEyMjg5OyYjMjk2OTQ7JiMyMjMxMjsmIzI2MzYwOyYjMTIzNjU7JiMzMDQ1MjsmIzEyMzc1OyYjMjAwMTM7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyNjM2MDsmIzEyMzY1OyYjMzA0NTI7JiMxMjM3NTsmIzEyMzk5OyYjMTI0MTQ7JiMxMjM4NDsmIzIzNDM2OyYjMjAxMDI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDs8L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiAmIzEyNDYzOyYjMTI0NTI7JiMxMjQ4MzsmIzEyNDYzOyYjMTI1Mzk7JiMxMjQ3MzsmIzEyNDc5OyYjMTI1NDA7JiMxMjQ4ODsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlNDU1Ij48L2E+MS4gJiMxMjQ2MzsmIzEyNDUyOyYjMTI0ODM7JiMxMjQ2MzsmIzEyNTM5OyYjMTI0NzM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI0ODg7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD5XaW5kb3dzICYjMTI0NzE7JiMxMjQ3MzsmIzEyNDg2OyYjMTI1MTI7JiMxMjM5MTsgIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0MzQ7JiMzNjIxNTsmIzIxMjA1OyYjMTIzNzc7JiMxMjQyNzsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiVGSU5EQlVHU19IT01FJTwvY29kZT48L2VtPlxsaWJcZmluZGJ1Z3MuamFyPC9jb2RlPiAmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0MzQ7JiMxMjQ4MDsmIzEyNTAyOyYjMTI1MjM7JiMxMjQ2MzsmIzEyNTIyOyYjMTI0ODM7JiMxMjQ2MzsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBHVUkgJiMxMjM2NDsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+VW5peCAmIzEyMjg5OyBMaW51eCAmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsgTWFjIE9TIFggJiMxMjQ3MTsmIzEyNDczOyYjMTI0ODY7JiMxMjUxMjsmIzEyMzk4OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7PGNvZGUgY2xhc3M9ImZpbGVuYW1lIj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4kRklOREJVR1NfSE9NRTwvY29kZT48L2VtPi9iaW4vZmluZGJ1Z3M8L2NvZGU+ICYjMTI0NzM7JiMxMjQ2MzsmIzEyNTIyOyYjMTI1MDM7JiMxMjQ4ODsmIzEyNDM0OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM2MzsmIzEyMjg5OyYjMjAxOTc7JiMxOTk3OTsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjQzNDsmIzIzNDU1OyYjMzQ4OTI7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLTxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmphdmEgLWphciA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4kRklOREJVR1NfSE9NRTwvY29kZT48L2VtPi9saWIvZmluZGJ1Z3MuamFyPC9zdHJvbmc+PC9zcGFuPjwvcHJlPjxwPiYjMTIzNzE7JiMxMjQyODsmIzEyMzkxOyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IEdVSSAmIzEyMzY0OyYjMzYyMTU7JiMyMTIwNTsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cD5HVUkgJiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyYjMTIzOTU7JiMxMjM4ODsmIzEyMzU2OyYjMTIzOTA7JiMxMjM5OTsmIzEyMjg5OyA8YSBjbGFzcz0ieHJlZiIgaHJlZj0iZ3VpLmh0bWwiIHRpdGxlPSImIzMxNTMyOzUmIzMxNDU2OyBGaW5kQnVncyBHVUkgJiMxMjM5ODsmIzIwMzUxOyYjMjk5OTI7JiMyNjA0MTsmIzI3ODYxOyI+NSYjMzE0NTY7PGk+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L2k+PC9hPiAmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjIuIEZpbmRCdWdzICYjMTIzOTg7JiMzNjIxNTsmIzIxMjA1OyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGU0OTMiPjwvYT4yLiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMzYyMTU7JiMyMTIwNTs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDc1OyYjMTI0NjM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMzNjIxNTsmIzIxMjA1OyYjMjYwNDE7JiMyNzg2MTsmIzEyNDM0OyYjMzU1MDA7JiMyNjEyNjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI0MzQ7JiMzNjIxNTsmIzIxMjA1OyYjMTIzNzc7JiMxMjQyNzsmIzEyMzk1OyYjMTIzOTk7MiYjMTIzODg7JiMxMjM5ODsmIzI2MDQxOyYjMjc4NjE7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3NzsmIzEyMzk0OyYjMTI0MzE7JiMxMjM4NTsmIzEyMjg5OyYjMzA0NTI7JiMyNTUwOTsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NzsmIzEyNDI3OyYjMjYwNDE7JiMyNzg2MTsmIzEyMjg5OyYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyYjMTIyODk7JiMxMjUyMTsmIzEyNDgzOyYjMTI1MDM7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDczOyYjMTI0NjM7JiMxMjUyMjsmIzEyNTAzOyYjMTI0ODg7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMjYwNDE7JiMyNzg2MTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjEuIEZpbmRCdWdzICYjMTIzOTg7JiMzMDQ1MjsmIzI1NTA5OyYjMzYyMTU7JiMyMTIwNTsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImRpcmVjdEludm9jYXRpb24iPjwvYT4yLjEuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMzMDQ1MjsmIzI1NTA5OyYjMzYyMTU7JiMyMTIwNTs8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMjYzNjg7JiMyMTAyMTsmIzEyMzk1OyYjMzY4NDg7JiMxMjQwOTsmIzEyNDI3OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMzYyMTU7JiMyMTIwNTsmIzI2MDQxOyYjMjc4NjE7JiMxMjM5OTsmIzEyMjg5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiRGSU5EQlVHU19IT01FPC9jb2RlPjwvZW0+L2xpYi9maW5kYnVncy5qYXI8L2NvZGU+ICYjMTI0MzQ7JiMzMDQ1MjsmIzI1NTA5OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc3OyYjMTI0Mjc7JiMyNjA0MTsmIzI3ODYxOyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwO0pWTSAoPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+amF2YTwvc3Ryb25nPjwvc3Bhbj4pICYjMjM0NTU7JiMzNDg5MjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ2NDsmIzEyNTIxOyYjMTI1MTI7JiMxMjM5ODsgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWphcjwvc3Ryb25nPjwvc3Bhbj4gJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0NTI7JiMxMjQ4MzsmIzEyNDgxOyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7KDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMxMjM2NDsgMS4zLjUgJiMxMjQyNDsmIzEyNDI2OyYjMjEwNjk7JiMxMjM5ODsmIzIyNTgwOyYjMjE1MTI7JiMxMjM5OTsmIzEyMjg5OyYjMTI1MjE7JiMxMjQ4MzsmIzEyNTAzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzI0NTE3OyYjMzUyMDE7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7KTwvcD48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDM0OyYjMzA0NTI7JiMyNTUwOTsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODM7JiMxMjQxNzsmIzEyMzk4OyYjMTIyODk7JiMxOTk2ODsmIzMzMzI0OyYjMzAzNDA7JiMxMjM5NDsmIzI3MDgzOyYjMjU5OTE7JiMxMjM5OTsmIzIwMTk3OyYjMTk5Nzk7JiMxMjM5ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NTsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci0gICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+amF2YSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5bSlZNICYjMjQzNDE7JiMyNTk2ODtdPC9jb2RlPjwvZW0+IC1qYXIgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JEZJTkRCVUdTX0hPTUU8L2NvZGU+PC9lbT4vbGliL2ZpbmRidWdzLmphciA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiM4MjMwOzwvY29kZT48L2VtPjwvc3Ryb25nPjwvc3Bhbj4KLTwvcHJlPjxwPgotICAgICAgICA8L3A+PGRpdiBjbGFzcz0ic2VjdDMiIHRpdGxlPSIyLjEuMS4gJiMxMjUxODsmIzEyNTQwOyYjMTI0NzA7JiMxMjU0MDsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3OTsmIzEyNTAxOyYjMTI0NTU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTg7JiMzNjk4NDsmIzI1MjQ2OyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGg0IGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iY2hvb3NlVUkiPjwvYT4yLjEuMS4gICYjMTI1MTg7JiMxMjU0MDsmIzEyNDcwOyYjMTI1NDA7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0Nzk7JiMxMjUwMTsmIzEyNDU1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk4OyYjMzY5ODQ7JiMyNTI0Njs8L2g0PjwvZGl2PjwvZGl2PjwvZGl2PjxwPjEgJiMzMDA1ODsmIzMwNDQ2OyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5OTsmIzEyMjg5OyYjMzYyMTU7JiMyMTIwNTsmIzEyMzc3OyYjMTI0Mjc7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTI1MTg7JiMxMjU0MDsmIzEyNDcwOyYjMTI1NDA7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0Nzk7JiMxMjUwMTsmIzEyNDU1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyNDM0OyYjMzY5ODQ7JiMyNTI0NjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTg7JiMxMjQxODsmIzEyMzk4OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMjUzNTE7JiMyMzQ1MDsmIzIxNDg3OyYjMzMwMjE7JiMxMjM5NDsmIzIwNTE2OyYjMTIzOTk7JiMyNzQyNTsmIzEyMzk4OyYjMzY4OTA7JiMxMjQyNjsmIzEyMzkxOyYjMTIzNzc7OjwvcD48ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tZ3VpPC9zdHJvbmc+PC9zcGFuPjogJiMxMjQ2NDsmIzEyNTIxOyYjMTI1MDE7JiMxMjQ1MTsmIzEyNDU5OyYjMTI1MjM7JiMxMjUxODsmIzEyNTQwOyYjMTI0NzA7JiMxMjU0MDsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3OTsmIzEyNTAxOyYjMTI0NTU7JiMxMjU0MDsmIzEyNDczOyAoR1VJKSAmIzEyNDM0OyYjMzYyMTU7JiMyMTIwNTsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tdGV4dHVpPC9zdHJvbmc+PC9zcGFuPjogJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3OTsmIzEyNTAxOyYjMTI0NTU7JiMxMjU0MDsmIzEyNDczOyYjMTI0MzQ7JiMzNjIxNTsmIzIxMjA1OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi12ZXJzaW9uPC9zdHJvbmc+PC9zcGFuPjogPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzEyNDk2OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNTE5OyYjMTI1MzE7JiMzMDA1ODsmIzIxNDk1OyYjMTI0MzQ7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1oZWxwPC9zdHJvbmc+PC9zcGFuPjogPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3OTsmIzEyNTAxOyYjMTI0NTU7JiMxMjU0MDsmIzEyNDczOyYjMTIzOTg7JiMxMjUwNDsmIzEyNTIzOyYjMTI1MDM7JiMyNDc3MzsmIzIyNTc3OyYjMTI0MzQ7JiMzNDkyMDsmIzMxMDM0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1ndWkxPC9zdHJvbmc+PC9zcGFuPjogJiMyNjM2ODsmIzIxMDIxOyYjMTIzOTU7JiMyMDMxNjsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDY0OyYjMTI1MjE7JiMxMjUwMTsmIzEyNDUxOyYjMTI0NTk7JiMxMjUyMzsmIzEyNTE4OyYjMTI1NDA7JiMxMjQ3MDsmIzEyNTQwOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDc5OyYjMTI1MDE7JiMxMjQ1NTsmIzEyNTQwOyYjMTI0NzM7KCYjMTIzNzc7JiMxMjM5MTsmIzEyMzk1OyYjMjQyNTk7JiMyNzQ5MDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQ2OTsmIzEyNTA5OyYjMTI1NDA7JiMxMjQ4ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjM5MDsmIzEyMzU2OyYjMTIzOTQ7JiMxMjM1NjspJiMxMjQzNDsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9saT48L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QzIiB0aXRsZT0iMi4xLjIuIEphdmEgJiMyMDIwNjsmIzI0ODE5OyYjMTI1MTA7JiMxMjQ3MTsmIzEyNTMxOyAoSlZNKSAmIzI0MzQxOyYjMjU5Njg7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDQgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJqdm1BcmdzIj48L2E+Mi4xLjIuIEphdmEgJiMyMDIwNjsmIzI0ODE5OyYjMTI1MTA7JiMxMjQ3MTsmIzEyNTMxOyAoSlZNKSAmIzI0MzQxOyYjMjU5Njg7PC9oND48L2Rpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyNDM0OyYjMzYyMTU7JiMyMTIwNTsmIzEyMzc3OyYjMTI0Mjc7JiMzODU1NTsmIzEyMzk1OyYjMjYzNzc7JiMyOTk5MjsmIzEyMzk0OyBKYXZhICYjMjAyMDY7JiMyNDgxOTsmIzEyNTEwOyYjMTI0NzE7JiMxMjUzMTsgJiMyNDM0MTsmIzI1OTY4OyYjMTI0MzQ7JiMxMjM1NjsmIzEyMzY3OyYjMTIzODg7JiMxMjM2MzsmIzMyMDU3OyYjMjAxNzE7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tWG14PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Tk48L2NvZGU+PC9lbT5tPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD5KYXZhICYjMTI0OTg7JiMxMjU0MDsmIzEyNTAzOyYjMTI0Njk7JiMxMjQ1MjsmIzEyNDc0OyYjMTIzOTg7JiMyNjM2ODsmIzIyODIzOyYjMjA1MTY7JiMxMjQzNDsgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Tk48L2NvZGU+PC9lbT4gJiMxMjUxMzsmIzEyNDYwOyYjMTI0OTY7JiMxMjQ1MjsmIzEyNDg4OyYjMTIzOTU7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5OTsmIzE5OTY4OyYjMzMzMjQ7JiMzMDM0MDsmIzEyMzk1OyYjMjI4MjM7JiMyMzQ4MTsmIzM3MzI3OyYjMTIzOTg7JiMxMjUxMzsmIzEyNTE0OyYjMTI1MjI7JiMxMjQ2OTsmIzEyNDUyOyYjMTI0NzQ7JiMxMjQzNDsmIzI0NTE3OyYjMzUyMDE7JiMxMjM5MjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjI4MjM7JiMxMjM2NTsmIzEyMzk0OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMTIzOTE7JiMxMjM5OTsmIzEyMjg5OyAxNTAwICYjMTI1MTM7JiMxMjQ2MDsmIzEyNDk2OyYjMTI0NTI7JiMxMjQ4ODsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTI0MTg7JiMyOTY0NTsmIzEyMzc1OyYjMTIzNjc7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tRDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm5hbWU8L2NvZGU+PC9lbT49PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPkphdmEgJiMxMjQ3MTsmIzEyNDczOyYjMTI0ODY7JiMxMjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjAzNjM7JiMxMjM2MDsmIzEyNDAwOyYjMTIyODk7JiMyNDM0MTsmIzI1OTY4OyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tRHVzZXIubGFuZ3VhZ2U9amE8L3N0cm9uZz48L3NwYW4+ICYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyBHVUkgJiMyNTk5MTsmIzM1MzI4OyYjMTIzNjQ7JiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7JiMxMjM5MTsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjIuICYjMTI1MjE7JiMxMjQ4MzsmIzEyNTAzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM4MzsgRmluZEJ1Z3MgJiMxMjM5ODsmIzM2MjE1OyYjMjEyMDU7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJ3cmFwcGVyU2NyaXB0Ij48L2E+Mi4yLiAmIzEyNTIxOyYjMTI0ODM7JiMxMjUwMzsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyNDI3OyYjMTI0NzM7JiMxMjQ2MzsmIzEyNTIyOyYjMTI1MDM7JiMxMjQ4ODsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzODM7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMzNjIxNTsmIzIxMjA1OzwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjQzNDsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NzsmIzEyNDI3OyYjMTI0MTg7JiMxMjM1ODsmIzEyNDAyOyYjMTIzOTI7JiMxMjM4ODsmIzEyMzk4OyYjMjYwNDE7JiMyNzg2MTsmIzEyMzk5OyYjMTIyODk7JiMxMjUyMTsmIzEyNDgzOyYjMTI1MDM7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDczOyYjMTI0NjM7JiMxMjUyMjsmIzEyNTAzOyYjMTI0ODg7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMjYwNDE7JiMyNzg2MTsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PHA+VW5peCAmIzMxOTk1OyYjMTIzOTg7JiMxMjQ3MTsmIzEyNDczOyYjMTI0ODY7JiMxMjUxMjsmIzEyMzk1OyYjMTIzNjI7JiMxMjM1NjsmIzEyMzkwOyYjMTIzOTk7JiMxMjI4OTsmIzI3NDI1OyYjMTIzOTg7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTQ7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyMzkxOyYjMTI1MjE7JiMxMjQ4MzsmIzEyNTAzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTI0MzQ7JiMzNjIxNTsmIzIxMjA1OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyA6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij4kIDwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4kRklOREJVR1NfSE9NRTwvY29kZT48L2VtPi9iaW4vZmluZGJ1Z3MgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjODIzMDs8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+Ci08L3ByZT48cD4KLTwvcD48cD5XaW5kb3dzICYjMTI0NzE7JiMxMjQ3MzsmIzEyNDg2OyYjMTI1MTI7JiMxMjM5NTsmIzEyMzYyOyYjMTIzNTY7JiMxMjM5MDsmIzEyMzk5OyYjMTIyODk7JiMxMjUyMTsmIzEyNDgzOyYjMTI1MDM7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDczOyYjMTI0NjM7JiMxMjUyMjsmIzEyNTAzOyYjMTI0ODg7JiMxMjQzNDsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NzsmIzEyNDI3OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjM5OTsmIzI3NDI1OyYjMTIzOTg7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTU7JiMxMjM5NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotPGNvZGUgY2xhc3M9InByb21wdCI+QzpcTXkgRGlyZWN0b3J5Jmd0OzwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4lRklOREJVR1NfSE9NRSU8L2NvZGU+PC9lbT5cYmluXGZpbmRidWdzLmJhdCA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiM4MjMwOzwvY29kZT48L2VtPjwvc3Ryb25nPjwvc3Bhbj4KLTwvcHJlPjxwPgotPC9wPjxwPlVuaXggJiMzMTk5NTsmIzEyNDcxOyYjMTI0NzM7JiMxMjQ4NjsmIzEyNTEyOyAmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgV2luZG93cyAmIzEyNDcxOyYjMTI0NzM7JiMxMjQ4NjsmIzEyNTEyOyYjMTIzOTg7JiMxMjM5MzsmIzEyMzg1OyYjMTI0MjU7JiMxMjM5NTsmIzEyMzYyOyYjMTIzNTY7JiMxMjM5MDsmIzEyNDE4OyYjMTIyODk7JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDsgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JEZJTkRCVUdTX0hPTUU8L2NvZGU+PC9lbT4vYmluPC9jb2RlPiAmIzEyNDM0OyYjMjk4NzI7JiMyMjY1OTsmIzIyNzkzOyYjMjU5Njg7IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+UEFUSDwvY29kZT4gJiMxMjM5NTsmIzM2ODYxOyYjMjExNTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODQ7JiMxMjM2OTsmIzEyMzkxOyYjMTIyODk7IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZpbmRidWdzPC9zdHJvbmc+PC9zcGFuPiAmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsgRmluZEJ1Z3MgJiMxMjQzNDsmIzM2MjE1OyYjMjEyMDU7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0ic2VjdDMiIHRpdGxlPSIyLjIuMS4gJiMxMjUyMTsmIzEyNDgzOyYjMTI1MDM7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDczOyYjMTI0NjM7JiMxMjUyMjsmIzEyNTAzOyYjMTI0ODg7JiMxMjM5ODsmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoNCBjbGFzcz0idGl0bGUiPjxhIG5hbWU9IndyYXBwZXJPcHRpb25zIj48L2E+Mi4yLjEuICYjMTI1MjE7JiMxMjQ4MzsmIzEyNTAzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7PC9oND48L2Rpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMTI1MjE7JiMxMjQ4MzsmIzEyNTAzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTIzOTk7JiMxMjI4OTsmIzI3NDI1OyYjMTIzOTg7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTQ7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzEyNDY5OyYjMTI1MDk7JiMxMjU0MDsmIzEyNDg4OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjQyODsmIzEyNDI1OyYjMTIzOTg7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjUwMzsmIzEyNTI1OyYjMTI0NjQ7JiMxMjUyMTsmIzEyNTEyOyAmIzMzMjU4OyYjMjAzMDc7JiMxMjM2NDsmIzI1ODA1OyYjMjAzMTY7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTg7JiMxMjM5MTsmIzEyMzk5OzxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPiYjMTIzOTQ7JiMxMjM2Nzs8L2VtPjwvc3Bhbj4mIzEyMjg5OyYjMTIzOTM7JiMxMjM4NTsmIzEyNDI1OyYjMTIzNjM7JiMxMjM5MjsmIzEyMzU2OyYjMTIzNjA7JiMxMjQwMDsmIzEyMjg5OyYjMTI1MjE7JiMxMjQ4MzsmIzEyNTAzOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzU2OyYjMTI0Mjc7JiMxMjQ3MzsmIzEyNDYzOyYjMTI1MjI7JiMxMjUwMzsmIzEyNDg4OyYjMTIzOTg7JiMyNjA0MTsmIzEyMzY0OyYjMjA5NjY7JiMyOTcwMjsmIzEyNDM0OyYjMzQ4OTI7JiMxMjM1NjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tanZtQXJncyA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mIzI0MzQxOyYjMjU5Njg7PC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD5KVk0gJiMxMjM5NTsmIzIxNDYzOyYjMTIzNjk7JiMyODE5MzsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzI0MzQxOyYjMjU5Njg7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzIwMzYzOyYjMTIzNjA7JiMxMjQwMDsmIzEyMjg5OyYjMjc0MjU7JiMxMjM5ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NDsgSlZNICYjMTI1MDM7JiMxMjUyNTsmIzEyNDk3OyYjMTI0ODY7JiMxMjQ1MTsmIzEyMzY0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3Ozo8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLTxjb2RlIGNsYXNzPSJwcm9tcHQiPiQgPC9jb2RlPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZpbmRidWdzIC10ZXh0dWkgLWp2bUFyZ3MgIi1EdXNlci5sYW5ndWFnZT1qYSIgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bXlBcHAuamFyPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tamF2YWhvbWUgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JiMxMjQ4NzsmIzEyNDUxOyYjMTI1MjQ7JiMxMjQ2MzsmIzEyNDg4OyYjMTI1MjI7JiMxMjU0MDs8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTg7JiMyMzQ1NTsmIzM0ODkyOyYjMTIzOTU7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzc7JiMxMjQyNzsgSlJFIChKYXZhICYjMTI1MjE7JiMxMjUzMTsmIzEyNDc5OyYjMTI0NTI7JiMxMjUxMjsmIzI5ODcyOyYjMjI2NTk7KSAmIzEyMzY0OyYjMTI0NTI7JiMxMjUzMTsmIzEyNDczOyYjMTI0ODg7JiMxMjU0MDsmIzEyNTIzOyYjMTIzNzM7JiMxMjQyODsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tbWF4SGVhcCA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mIzEyNDY5OyYjMTI0NTI7JiMxMjQ3NDs8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPkphdmEgJiMxMjQ5ODsmIzEyNTQwOyYjMTI1MDM7JiMxMjQ2OTsmIzEyNDUyOyYjMTI0NzQ7JiMxMjM5ODsmIzI2MzY4OyYjMjI4MjM7JiMyMDUxNjsmIzEyNDM0OyYjMTI1MTM7JiMxMjQ2MDsmIzEyNDk2OyYjMTI0NTI7JiMxMjQ4ODsmIzIxMzM2OyYjMjAzMDE7JiMxMjM5MTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMxMjM5OTsmIzEyMjg5OyAyNTYgJiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyNDA0MDsmIzIyODIzOyYjMTIzOTQ7JiMxMjUwMzsmIzEyNTI1OyYjMTI0NjQ7JiMxMjUyMTsmIzEyNTEyOyYjMTI0MjA7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MDI7JiMxMjUyMTsmIzEyNTIyOyYjMTI0MzQ7JiMyMDk5ODsmIzI2NTEyOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTsmIzEyNDE4OyYjMTIzODc7JiMxMjM5MjsmIzIyODIzOyYjMTIzNjU7JiMxMjM5NDsmIzEyNTEzOyYjMTI1MTQ7JiMxMjUyMjsmIzEyNTQwOyYjMjM0ODE7JiMzNzMyNzsmIzEyMzY0OyYjMjQ1MTc7JiMzNTIwMTsmIzEyMzk1OyYjMTIzOTQ7JiMxMjQyNzsmIzIxNDg3OyYjMzMwMjE7JiMyNDYxNTsmIzEyMzY0OyYjMTIzNTQ7JiMxMjQyNjsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1kZWJ1Zzwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjQ4NzsmIzEyNDUxOyYjMTI0ODY7JiMxMjQ2MzsmIzEyNDc5OyYjMjM0NTU7JiMzNDg5MjsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzIwOTk4OyYjMjY1MTI7JiMxMjM5ODsmIzEyNDg4OyYjMTI1MjQ7JiMxMjU0MDsmIzEyNDczOyYjMjQ3NzM7JiMyMjU3NzsmIzEyMzY0OyYjMjcxNjE7JiMyODMxMDsmIzIwOTg2OyYjMjExNDc7JiMxMjM5NTsmIzIwOTg2OyYjMjExNDc7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjA5OTg7JiMyNjUxMjsmIzEyMzY0OyYjMjAxMDQ7JiMyNjM5OTsmIzEyMzc5OyYjMTIzNzg7JiMyMjgzMzsmIzI1OTQzOyYjMTIzNzU7JiMxMjM4MzsmIzM4NTU1OyYjMTIzOTg7JiMxMjI4OTsmIzEyNDg4OyYjMTI1MjE7JiMxMjUwMjsmIzEyNTIzOyYjMTI0NzE7JiMxMjUxNzsmIzEyNTQwOyYjMTI0ODY7JiMxMjQ1MTsmIzEyNTMxOyYjMTI0NjQ7JiMxMjM5NTsmIzI2Mzc3OyYjMjk5OTI7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tcHJvcGVydHk8L3N0cm9uZz48L3NwYW4+IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm5hbWU9dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjM3MTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjQ3MTsmIzEyNDczOyYjMTI0ODY7JiMxMjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk5OyYjMTI0NzE7JiMxMjQ3MzsmIzEyNDg2OyYjMTI1MTI7JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI1NDA7JiMxMjQzNDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzkwOyYjMjA5OTg7JiMyNjUxMjsmIzI5MzA1OyYjMjQ2MTU7JiMxMjM5ODsmIzM1MzczOyYjMjM0NTA7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PGEgY2xhc3M9InhyZWYiIGhyZWY9ImFuYWx5c2lzcHJvcHMuaHRtbCIgdGl0bGU9IiYjMzE1MzI7OSYjMzE0NTY7ICYjMjA5OTg7JiMyNjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDsiPjkmIzMxNDU2OzxpPiYjMjA5OTg7JiMyNjUxMjsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ5NzsmIzEyNDg2OyYjMTI0NTE7JiMxMjU0MDs8L2k+PC9hPiAmIzEyNDM0OyYjMjE0NDI7JiMyOTAzMTsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyYjMTIzNzE7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzM1MDc5OyYjMjU5Njg7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM5MDsmIzEyMjg5OyYjMzUwNzk7JiMyNTk2ODsmIzEyMzk4OyYjMTI0NzE7JiMxMjQ3MzsmIzEyNDg2OyYjMTI1MTI7JiMxMjUwMzsmIzEyNTI1OyYjMTI0OTc7JiMxMjQ4NjsmIzEyNDUxOyYjMTI0MzQ7JiMzNTM3MzsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzIxNDg3OyYjMzMwMjE7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7JiMyNzg4MDs6ICBXaW5kb3dzICYjMTIzOTg7JiMyMjgxMDsmIzEyMzY3OyYjMTIzOTg7JiMxMjQ5NjsmIzEyNTQwOyYjMTI0NzI7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTE7JiMxMjM5OTsmIzEyMjg5OyA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5uYW1lPXZhbHVlPC9jb2RlPjwvZW0+ICYjMjU5OTE7JiMyMzM4MzsmIzIxMDE1OyYjMTI0MzQ7JiMyNDM0MTsmIzI5OTkyOyYjMzE1MjY7JiMxMjM5MTsmIzIyMjU4OyYjMTI0MTY7JiMyNDUxNzsmIzM1MjAxOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIzLiAmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iY29tbWFuZExpbmVPcHRpb25zIj48L2E+My4gJiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4mIzEyMzcxOyYjMTIzOTg7JiMxMjQ3NTsmIzEyNDYzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTE7JiMxMjM5OTsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzY0OyYjMTI0Njk7JiMxMjUwOTsmIzEyNTQwOyYjMTI0ODg7JiMxMjM3NzsmIzEyNDI3OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTU7JiMxMjM4ODsmIzEyMzU2OyYjMTIzOTA7JiMzNTUwMDsmIzI2MTI2OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzcxOyYjMTIzOTE7JiMzMTAzNDsmIzEyMzc3OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTIzOTk7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMzMDQ1MjsmIzI1NTA5OyYjMzYyMTU7JiMyMTIwNTsmIzEyMjg5OyYjMTI0MTQ7JiMxMjM4MzsmIzEyMzk5OyYjMTIyODk7JiMxMjUyMTsmIzEyNDgzOyYjMTI1MDM7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNTY7JiMxMjQyNzsmIzEyNDczOyYjMTI0NjM7JiMxMjUyMjsmIzEyNTAzOyYjMTI0ODg7JiMxMjM5NTsmIzEyNDI0OyYjMTI0Mjc7JiMzNjIxNTsmIzIxMjA1OyYjMTIzOTE7JiMyMDM1MTsmIzI5OTkyOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIzLjEuICYjMjA4NDk7JiMzNjg5MDsmIzEyMzk4OyYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZDBlNzc4Ij48L2E+My4xLiAmIzIwODQ5OyYjMzY4OTA7JiMxMjM5ODsmIzEyNDY3OyYjMTI1MTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI1MjE7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTs8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM3MTsmIzEyMzkxOyYjMzEwMzQ7JiMxMjM3NzsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5OTsmIzEyMjg5OyBHVUkgJiMxMjM2MjsmIzEyNDI0OyYjMTI0MDM7ICYjMTI0Njc7JiMxMjUxMDsmIzEyNTMxOyYjMTI0ODk7JiMxMjUyMTsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0Nzk7JiMxMjUwMTsmIzEyNDU1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzk4OyYjMjAwMDE7JiMyNjA0MTsmIzEyMzkxOyYjMjAzNTE7JiMyOTk5MjsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWVmZm9ydDptaW48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsmIzMxOTM0OyYjMjQyMzA7JiMxMjQzNDsmIzE5OTc4OyYjMTIzNzA7JiMxMjQyNzsmIzEyMzgzOyYjMTI0MTc7JiMxMjM5NTsmIzIyODIzOyYjMzczMjc7JiMxMjM5ODsmIzEyNTEzOyYjMTI1MTQ7JiMxMjUyMjsmIzEyNTQwOyYjMTI0MzQ7JiMyODA0MDsmIzM2MDI3OyYjMTIzNzc7JiMxMjQyNzsmIzIwOTk4OyYjMjY1MTI7JiMxMjM2NDsmIzI4OTYxOyYjMjExNzc7JiMxMjM5NTsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gJiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMyNjE3ODsmIzEyMzk1OyYjMTI1MTM7JiMxMjUxNDsmIzEyNTIyOyYjMTI1NDA7JiMxOTk4MTsmIzM2Mjc1OyYjMTIzOTU7JiMxMjM5NDsmIzEyMzg3OyYjMTIzODM7JiMxMjQyNjsmIzEyMjg5OyYjMjA5OTg7JiMyNjUxMjsmIzEyNDM0OyYjMjM0MzY7JiMyMDEwMjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjQxNDsmIzEyMzkxOyYjMTIzOTU7JiMzMDA2NDsmIzI0MTIwOyYjMTIzOTU7JiMzODI2MzsmIzEyMzU2OyYjMjYxNzg7JiMzODI5MTsmIzEyMzY0OyYjMTIzNjM7JiMxMjM2MzsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk1OyYjMzU0MzA7JiMxMjM3NTsmIzEyMzkwOyYjMTI0MTU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tZWZmb3J0Om1heDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+JiMzMTkzNDsmIzI0MjMwOyYjMTIzNjQ7JiMzOTY0MDsmIzEyMzY3OyYjMTIyODk7JiMxMjQyNDsmIzEyNDI2OyYjMjI4MTA7JiMxMjM2NzsmIzEyMzk4OyYjMTI0OTY7JiMxMjQ2NDsmIzEyNDM0OyYjMjY5MDg7JiMyMDk4NjsmIzEyMzc3OyYjMTI0Mjc7JiMyMDk5ODsmIzI2NTEyOyYjMTI0MzQ7JiMyNjM3NzsmIzIxMTc3OyYjMTIzOTU7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzgzOyYjMTIzODQ7JiMxMjM3NTsmIzEyMjg5OyYjMjI4MTA7JiMxMjM2NzsmIzEyMzk4OyYjMTI1MTM7JiMxMjUxNDsmIzEyNTIyOyYjMTI1NDA7JiMyMzQ4MTsmIzM3MzI3OyYjMTI0MzQ7JiMyNDUxNzsmIzM1MjAxOyYjMTIzOTI7JiMxMjM3NTsmIzEyMjg5OyYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyYjMjM0MzY7JiMyMDEwMjsmIzEyNDE0OyYjMTIzOTE7JiMxMjM5ODsmIzI2MTc4OyYjMzgyOTE7JiMxMjM2NDsmIzIyODEwOyYjMTIzNjc7JiMxMjM2MzsmIzEyMzYzOyYjMTI0Mjc7JiMyMTQ4NzsmIzMzMDIxOyYjMjQ2MTU7JiMxMjM2NDsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tcHJvamVjdDwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cHJvamVjdDwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4mIzIwOTk4OyYjMjY1MTI7JiMxMjM3NzsmIzEyNDI3OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDcyOyYjMTI0NTU7JiMxMjQ2MzsmIzEyNDg4OyYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMTIzOTU7JiMxMjM5OTsmIzEyMjg5OyBHVUkgJiMxMjQzNDsmIzIwMzUxOyYjMTIzODc7JiMxMjM5MDsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3NTsmIzEyMzgzOyYjMTI0MTg7JiMxMjM5ODsmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5ODsmIzI1MzEzOyYjMjQzNzM7JiMyMzM3NjsmIzEyMzk5OyYjMTIyODk7JiMxOTk2ODsmIzMzMzI0OyYjMzAzNDA7JiMxMjM5NTsmIzEyMzk5OyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPi5mYjwvY29kZT4gJiMxMjQxNDsmIzEyMzgzOyYjMTIzOTk7IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+LmZicDwvY29kZT4gJiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjMuMi4gR1VJICYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImQwZTgxOCI+PC9hPjMuMi4gR1VJICYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTs8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPiYjMTIzNzE7JiMxMjM3MTsmIzEyMzkxOyYjMzEwMzQ7JiMxMjM3NzsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5OTsmIzEyMjg5OyYjMTI0NjQ7JiMxMjUyMTsmIzEyNTAxOyYjMTI0NTE7JiMxMjQ1OTsmIzEyNTIzOyYjMTI1MTg7JiMxMjU0MDsmIzEyNDcwOyYjMTI1NDA7JiMxMjQ1MjsmIzEyNTMxOyYjMTI0Nzk7JiMxMjUwMTsmIzEyNDU1OyYjMTI1NDA7JiMxMjQ3MzsmIzEyMzkxOyYjMTIzOTg7JiMxMjQxNTsmIzIwMzUxOyYjMjk5OTI7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1sb29rOjwvc3Ryb25nPjwvc3Bhbj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5wbGFzdGljfGd0a3xuYXRpdmU8L2NvZGU+PC9lbT48L3NwYW4+PC9kdD48ZGQ+PHA+U3dpbmcgJiMxMjM5ODsmIzEyNTIzOyYjMTI0ODM7JiMxMjQ2MzsmIzEyNTM5OyYjMTI0NTA7JiMxMjUzMTsmIzEyNDg5OyYjMTI1Mzk7JiMxMjUwMTsmIzEyNDUxOyYjMTI1NDA7JiMxMjUyMzsmIzEyNDM0OyYjMzUzNzM7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjwvZGw+PC9kaXY+PHA+Ci08L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIzLjMuICYjMTI0ODY7JiMxMjQ2MTsmIzEyNDczOyYjMTI0ODg7JiMxMjUxODsmIzEyNTQwOyYjMTI0NzA7JiMxMjU0MDsmIzEyNDUyOyYjMTI1MzE7JiMxMjQ3OTsmIzEyNTAxOyYjMTI0NTU7JiMxMjU0MDsmIzEyNDczOyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImQwZTgzNCI+PC9hPjMuMy4gJiMxMjQ4NjsmIzEyNDYxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTE4OyYjMTI1NDA7JiMxMjQ3MDsmIzEyNTQwOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDc5OyYjMTI1MDE7JiMxMjQ1NTsmIzEyNTQwOyYjMTI0NzM7JiMxMjQ1ODsmIzEyNTAzOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOzwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+JiMxMjM3MTsmIzEyMzcxOyYjMTIzOTE7JiMzMTAzNDsmIzEyMzc3OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk5OyYjMTIyODk7JiMxMjQ4NjsmIzEyNDYxOyYjMTI0NzM7JiMxMjQ4ODsmIzEyNTE4OyYjMTI1NDA7JiMxMjQ3MDsmIzEyNTQwOyYjMTI0NTI7JiMxMjUzMTsmIzEyNDc5OyYjMTI1MDE7JiMxMjQ1NTsmIzEyNTQwOyYjMTI0NzM7JiMxMjM5MTsmIzEyMzk4OyYjMTI0MTU7JiMyMDM1MTsmIzI5OTkyOyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tc29ydEJ5Q2xhc3M8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjI1Nzc7JiMyMTU3ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjQyNzsmIzEyNDk2OyYjMTI0NjQ7JiMyNjkwODsmIzMyMDM0OyYjMzIwODA7JiMyNjUyNDsmIzEyNDM0OyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMjE1MTc7JiMxMjM5MTsmIzEyNDc3OyYjMTI1NDA7JiMxMjQ4ODsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWluY2x1ZGU8L3N0cm9uZz48L3NwYW4+IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZpbHRlckZpbGUueG1sPC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZpbHRlckZpbGUueG1sPC9jb2RlPjwvZW0+ICYjMTIzOTE7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjM5NTsmIzE5OTY4OyYjMzMyNjg7JiMxMjM3NTsmIzEyMzgzOyYjMTI0OTY7JiMxMjQ2NDsmIzI2OTA4OyYjMzIwMzQ7JiMzMjA4MDsmIzI2NTI0OyYjMTIzOTg7JiMxMjQxNTsmIzIyNTc3OyYjMjE1Nzg7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzxhIGNsYXNzPSJ4cmVmIiBocmVmPSJmaWx0ZXIuaHRtbCIgdGl0bGU9IiYjMzE1MzI7OCYjMzE0NTY7ICYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyI+OCYjMzE0NTY7PGk+JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7PC9pPjwvYT4gJiMxMjQzNDsmIzIxNDQyOyYjMjkwMzE7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1leGNsdWRlPC9zdHJvbmc+PC9zcGFuPiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5maWx0ZXJGaWxlLnhtbDwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5maWx0ZXJGaWxlLnhtbDwvY29kZT48L2VtPiAmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTIzODM7JiMxMjUwMTsmIzEyNDUxOyYjMTI1MjM7JiMxMjQ3OTsmIzEyNTQwOyYjMTIzOTU7JiMxOTk2ODsmIzMzMjY4OyYjMTIzNzU7JiMxMjM4MzsmIzEyNDk2OyYjMTI0NjQ7JiMyNjkwODsmIzMyMDM0OyYjMzIwODA7JiMyNjUyNDsmIzEyMzk5OyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc5OyYjMTI0MzU7JiMxMjI5MDs8YSBjbGFzcz0ieHJlZiIgaHJlZj0iZmlsdGVyLmh0bWwiIHRpdGxlPSImIzMxNTMyOzgmIzMxNDU2OyAmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1NDA7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsiPjgmIzMxNDU2OzxpPiYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOzwvaT48L2E+ICYjMTI0MzQ7JiMyMTQ0MjsmIzI5MDMxOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tb25seUFuYWx5emU8L3N0cm9uZz48L3NwYW4+IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmNvbS5mb29iYXIuTXlDbGFzcyxjb20uZm9vYmFyLm15cGtnLio8L2NvZGU+PC9lbT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjQ2NzsmIzEyNTMxOyYjMTI1MTA7JiMyMTMwNjsmIzIwOTk5OyYjMTI0MjY7JiMxMjM5MTsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzEyMzk4OyYjMTI0MTU7JiMxMjM5NTsmIzM4NDgwOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzkwOyYjMTIyODk7JiMxMjQ5NjsmIzEyNDY0OyYjMjY5MDg7JiMyMDk4NjsmIzEyMzk4OyYjMjA5OTg7JiMyNjUxMjsmIzEyNDM0OyYjMzQ4OTI7JiMxMjM1ODsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NTsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI1MDE7JiMxMjQ1MTsmIzEyNTIzOyYjMTI0Nzk7JiMxMjU0MDsmIzEyMzkyOyYjMzY5NDk7JiMxMjM4NzsmIzEyMzkwOyYjMTIyODk7JiMxMjM3MTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMjAzNTE7JiMxMjM1ODsmIzEyMzkyOyYjMTk5Njg7JiMzMzI2ODsmIzEyMzc1OyYjMTIzOTQ7JiMxMjM1NjsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsmIzEyNDk3OyYjMTI0ODM7JiMxMjQ2NTsmIzEyNTQwOyYjMTI0NzI7JiMxMjM5NTsmIzIzNTUwOyYjMTIzNzc7JiMxMjQyNzsmIzIwOTk4OyYjMjY1MTI7JiMxMjM5ODsmIzIzNDU1OyYjMzQ4OTI7JiMxMjQzNDsmIzIyMjM4OyYjMzY5OTE7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzIyODIzOyYjMTIzNjU7JiMxMjM5NDsmIzEyNTAzOyYjMTI1MjU7JiMxMjQ3MjsmIzEyNDU1OyYjMTI0NjM7JiMxMjQ4ODsmIzEyMzk1OyYjMTIzNjI7JiMxMjM1NjsmIzEyMzkwOyYjMTIyODk7JiMxMjM3MTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDM0OyYjMjc5NjM7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzIwOTk4OyYjMjY1MTI7JiMxMjM5NTsmIzEyMzYzOyYjMTIzNjM7JiMxMjQyNzsmIzI2MTc4OyYjMzgyOTE7JiMxMjQzNDsmIzIyODIzOyYjMTIzNjU7JiMxMjM2NzsmIzIxMDY2OyYjMjgxODc7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyMzY0OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDI3OyYjMjE0ODc7JiMzMzAyMTsmIzI0NjE1OyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOygmIzEyMzc1OyYjMTIzNjM7JiMxMjM3NTsmIzEyMzk0OyYjMTIzNjQ7JiMxMjQyNTsmIzEyMjg5OyYjMTI0NTA7JiMxMjUwMzsmIzEyNTIyOyYjMTI0NjU7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk4OyYjMjA4NDA7JiMyMDMwNzsmIzEyMzkxOyYjMjM0NTU7JiMzNDg5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM1NjsmIzEyMzk0OyYjMTIzNTY7JiMxMjM4MzsmIzEyNDE3OyYjMTIzOTU7JiMxOTk4MTsmIzI3NDkxOyYjMzA5MDY7JiMxMjM5NDsmIzMyMDgwOyYjMjY1MjQ7JiMxMjQzNDsmIzIwOTg2OyYjMTIzNzU7JiMxMjM5MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM1ODsmIzEyNDg3OyYjMTI0NTE7JiMxMjQ4NjsmIzEyNDYzOyYjMTI0Nzk7JiMxMjM2NDsmIzEyMzU0OyYjMTI0Mjc7JiMyMTQ4NzsmIzMzMDIxOyYjMjQ2MTU7JiMxMjQxODsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7KSAmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk5OyYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNDE4OyYjMjE1NDc7JiMxMjQzNTsmIzEyMzg0OyYjMjM0MzY7JiMyMDg0MDsmIzEyMzk0OyYjMjE1MTc7JiMyMTA2OTsmIzEyNDM0OyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc3OyYjMTI0Mjc7JiMyNDUxNzsmIzM1MjAxOyYjMTIzNjQ7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzEyMzk5OyYjMTIyODk7IEphdmEgJiMxMjM5ODsgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmltcG9ydDwvY29kZT4gJiMyNTk5MTsmIzEyMzkxOyYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzE5OTc5OyYjMTIzOTg7JiMxMjM3NzsmIzEyNDA5OyYjMTIzOTA7JiMxMjM5ODsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDM0OyYjMTI0NTI7JiMxMjUzMTsmIzEyNTA5OyYjMTI1NDA7JiMxMjQ4ODsmIzEyMzc3OyYjMTI0Mjc7JiMxMjM5MjsmIzEyMzY1OyYjMTIzOTI7JiMyMTUxNjsmIzEyMzc2OyYjMjYwNDE7JiMyNzg2MTsmIzEyMzkxOyYjMjUzNTE7JiMyMzQ1MDsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyAoJiMxMjM3NzsmIzEyMzk0OyYjMTI0MzE7JiMxMjM4NTsmIzEyMjg5OyYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzEyMzk4OyYjMjM0MzY7JiMyMDg0MDsmIzEyMzk0OyYjMjE1MTc7JiMyMTA2OTsmIzEyMzk1OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Lio8L2NvZGU+ICYjMTI0MzQ7JiMyMDE4NDsmIzEyMzY5OyYjMjExNTI7JiMxMjM2MDsmIzEyMzgzOyYjMjQ0MTg7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7KTxjb2RlIGNsYXNzPSJsaXRlcmFsIj4uKjwvY29kZT4gJiMxMjM5ODsmIzIwMTk1OyYjMTI0MzE7JiMxMjQyNjsmIzEyMzk1OyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Li08L2NvZGU+ICYjMTI0MzQ7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzc7JiMxMjQyNzsmIzEyMzkyOyYjMTIyODk7JiMxMjQ2OTsmIzEyNTAyOyYjMTI0OTc7JiMxMjQ4MzsmIzEyNDY1OyYjMTI1NDA7JiMxMjQ3MjsmIzEyNDE4OyYjMjE1NDc7JiMxMjQxNzsmIzEyMzkwOyYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIzNjQ7JiMyMDk5ODsmIzI2NTEyOyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1sb3c8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMTIzNzc7JiMxMjQwOTsmIzEyMzkwOyYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzNjQ7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1tZWRpdW08L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOyAoJiMyMDAxMzspICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOyAoJiMzOTY0MDspICYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzNjQ7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTI0Mjg7JiMxMjM5OTsmIzEyMjg5OyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzk4OyYjMzUzNzM7JiMyMzQ1MDsmIzIwNTE2OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWhpZ2g8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMjA3Nzg7JiMyMDgwODsmIzI0MjMwOyAoJiMzOTY0MDspICYjMTIzOTg7JiMxMjQ5NjsmIzEyNDY0OyYjMTIzOTg7JiMxMjQxNTsmIzEyMzY0OyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tcmVsYXhlZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyNTE2MzsmIzI1MjQ0OyYjMTIzNjU7JiMyMjU3NzsmIzIxNTc4OyYjMTI1MTQ7JiMxMjU0MDsmIzEyNDg5OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzE7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7JiMxMjI4OTsmIzIyODEwOyYjMTIzNjc7JiMxMjM5ODsmIzEyNDg3OyYjMTI0NTE7JiMxMjQ4NjsmIzEyNDYzOyYjMTI0Nzk7JiMxMjM5NTsmIzEyMzYyOyYjMTIzNTY7JiMxMjM5MDsgJiMzNTQ5MjsmIzI2OTA4OyYjMjA5ODY7JiMxMjQzNDsmIzIyMjM4OyYjMzY5OTE7JiMxMjM3NzsmIzEyNDI3OyYjMTIzODM7JiMxMjQxNzsmIzEyMzk4OyYjMTI0OTg7JiMxMjUxNzsmIzEyNTQwOyYjMTI1MjI7JiMxMjQ3MzsmIzEyNDg2OyYjMTI0NTE7JiMxMjQ4MzsmIzEyNDYzOyYjMjcyMzE7JiMzMzAyMTsmIzEyMzY0OyYjMjUyMzM7JiMyNzQ5MDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4teG1sPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4mIzEyNDk2OyYjMTI0NjQ7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNjQ7IFhNTCAmIzEyMzkxOyYjMjAzMTY7JiMyNTEwNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMyMDMxNjsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyMzgzOyBYTUwgJiMxMjQ4NzsmIzEyNTQwOyYjMTI0Nzk7JiMxMjM5OTsgJiMxMjI4OTsmIzI0NDYwOyYjMTIzOTE7IEdVSSAmIzEyMzkxOyYjMzUyMTE7JiMxMjQyNzsmIzEyMzcxOyYjMTIzOTI7JiMxMjM2NDsmIzEyMzkxOyYjMTIzNjU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk5OyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4teG1sOndpdGhNZXNzYWdlczwvc3Ryb25nPjwvc3Bhbj4gJiMxMjM5MjsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNzE7JiMxMjM5MjsmIzEyNDE4OyYjMTIzOTE7JiMxMjM2NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyMzcxOyYjMTIzNTg7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTI7ICYjMjA5ODY7JiMyMTE0NzsgWE1MICYjMTIzOTU7JiMxMjM5OTsgJiMyMTUwODsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5NTsmIzM4MzA2OyYjMTIzNzU7JiMxMjM5MDsmIzIwMTU0OyYjMzgyOTE7JiMxMjM5NTsmIzM1NTAxOyYjMTI0MTY7JiMxMjM3MTsmIzEyMzkyOyYjMTIzNjQ7JiMxMjM5MTsmIzEyMzY1OyYjMTI0Mjc7JiMxMjUxMzsmIzEyNDgzOyYjMTI0NzU7JiMxMjU0MDsmIzEyNDcyOyYjMTIzNjQ7JiMyMTU0NzsmIzEyNDE0OyYjMTI0Mjg7JiMxMjQyNzsmIzEyNDI0OyYjMTIzNTg7JiMxMjM5NTsmIzEyMzk0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzkxOyYjMjAzMTY7JiMyNTEwNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjM4MzsgWE1MICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5OTsgJiMyMjU3NzsmIzIxNTc4OyYjMjYzNjA7JiMxMjM5NTsmIzIyNzkzOyYjMjU1NjM7JiMxMjM3NzsmIzEyNDI3OyYjMTIzOTg7JiMxMjM2NDsmIzMxNzc3OyYjMjEzMzY7JiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4taHRtbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+SFRNTCAmIzIwOTg2OyYjMjExNDc7JiMxMjM2NDsmIzI5OTgzOyYjMjUxMDQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0ODc7JiMxMjUwMTsmIzEyNDU3OyYjMTI1MjM7JiMxMjQ4ODsmIzEyMzkxOyYjMTIzOTk7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+ICYjMTIzOTk7IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+ZGVmYXVsdC54c2w8L2NvZGU+IDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCIgdGFyZ2V0PSJfdG9wIj5YU0xUPC9hPiAmIzEyNDczOyYjMTI0Nzk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0NzE7JiMxMjU0MDsmIzEyNDg4OyYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsgSFRNTCAmIzIwOTg2OyYjMjExNDc7JiMxMjQzNDsmIzI5OTgzOyYjMjUxMDQ7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7OiAmIzEyMzcxOyYjMTIzOTg7JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyMzk5OyYjMTIyODk7IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+ZmluZGJ1Z3MuamFyPC9jb2RlPiAmIzEyMzk4OyYjMjAwMTM7JiMxMjI4OTsmIzEyNDE0OyYjMTIzODM7JiMxMjM5OTsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiAmIzEyMzk4OyYjMTI0Nzc7JiMxMjU0MDsmIzEyNDczOyYjMzcxOTc7JiMyNDA2NzsmIzI5Mjg5OyYjMTI0MTg7JiMxMjM3NTsmIzEyMzY3OyYjMTIzOTk7JiMxMjQ5NjsmIzEyNDUyOyYjMTI0OTA7JiMxMjUyMjsmIzM3MTk3OyYjMjQwNjc7JiMyOTI4OTsmIzEyMzk4OyYjMjAwMTM7JiMxMjM5NTsmIzEyMzU0OyYjMTI0MjY7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzk4OyYjMTI0NTg7JiMxMjUwMzsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyMzk1OyYjMTIzOTk7JiMxMjI4OTsmIzI3NDI1OyYjMTIzOTg7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTQ7JiMxMjQ5NjsmIzEyNTIyOyYjMTI0NTY7JiMxMjU0MDsmIzEyNDcxOyYjMTI1MTk7JiMxMjUzMTsmIzEyNDE4OyYjMjMzODQ7JiMyMjMxMjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTIzNzc7JiMxMjM5NDsmIzEyNDMxOyYjMTIzODU7JiMxMjI4OTsgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWh0bWw6cGxhaW4ueHNsPC9zdHJvbmc+PC9zcGFuPiAmIzEyMjg5OyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4taHRtbDpmYW5jeS54c2w8L3N0cm9uZz48L3NwYW4+ICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4taHRtbDpmYW5jeS1oaXN0LnhzbDwvc3Ryb25nPjwvc3Bhbj4gJiMxMjM5MTsmIzEyMzc3OyYjMTIyOTA7PGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5wbGFpbi54c2w8L2NvZGU+ICYjMTI0NzM7JiMxMjQ3OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQ3MTsmIzEyNTQwOyYjMTI0ODg7JiMxMjM5OTsgSmF2YXNjcmlwdCAmIzEyNDIwOyBET00gJiMxMjQzNDsmIzIxMDMzOyYjMjk5OTI7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzk7JiMxMjQzNTsmIzEyMjkwOyYjMTIzNzU7JiMxMjM4MzsmIzEyMzY0OyYjMTIzODc7JiMxMjM5MDsmIzEyMjg5OyYjMjE0NzY7JiMxMjM1NjtXZWIgJiMxMjUwMjsmIzEyNTIxOyYjMTI0NTQ7JiMxMjQ3MDsmIzIwMzUxOyYjMjk5OTI7JiMyNjE3ODsmIzEyNDIwOyYjMjEzNjA7JiMyMTA0NzsmIzI2MTc4OyYjMTIzOTU7JiMxMjQxODsmIzI3NjA0OyYjMzY2MTE7JiMzMDM0MDsmIzEyMzU4OyYjMTI0MTQ7JiMxMjM2NzsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0Mjc7JiMxMjM5MTsmIzEyMzc1OyYjMTI0MjM7JiMxMjM1ODsmIzEyMjkwOzxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+ZmFuY3kueHNsPC9jb2RlPiAmIzEyNDczOyYjMTI0Nzk7JiMxMjQ1MjsmIzEyNTIzOyYjMTI0NzE7JiMxMjU0MDsmIzEyNDg4OyYjMTIzOTk7IERPTSAmIzEyMzkyOyBKYXZhc2NyaXB0ICYjMTI0MzQ7JiMyMTAzMzsmIzI5OTkyOyYjMTIzNzU7JiMxMjM5MDsmIzEyNDkwOyYjMTI0OTk7JiMxMjQ2NjsmIzEyNTQwOyYjMTI0NzE7JiMxMjUxOTsmIzEyNTMxOyYjMTI0MzQ7JiMzNDg5MjsmIzEyMzU2OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMTI0MTQ7JiMxMjM4MzsmIzEyMjg5OyYjMTI0OTk7JiMxMjQ3MjsmIzEyNTE3OyYjMTI0NTA7JiMxMjUyMzsmIzM0OTIwOyYjMzEwMzQ7JiMxMjM5NTsgQ1NTICYjMTI0MzQ7JiMyMDM1MTsmIzI5OTkyOyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZmFuY3ktaGlzdC54c2w8L3N0cm9uZz48L3NwYW4+ICYjMTIzOTk7IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZhbmN5LnhzbDwvc3Ryb25nPjwvc3Bhbj4gJiMxMjQ3MzsmIzEyNDc5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ4ODsmIzEyNDM0OyYjMjYzNTY7JiMxMjM5NTsmIzM2OTE0OyYjMjEyNzA7JiMxMjM3MzsmIzEyMzc5OyYjMTIzODM7JiMxMjQxODsmIzEyMzk4OyYjMTIzOTE7JiMxMjM3NzsmIzEyMjkwO0RPTSAmIzEyNDIwOyBKYXZhc2NyaXB0ICYjMTI0MzQ7JiMxMjQwNTsmIzEyNDM1OyYjMTIzODQ7JiMxMjQzNTsmIzEyMzk1OyYjMzkzNjY7JiMyMDM1MTsmIzEyMzc1OyYjMTIzOTA7JiMxMjI4OTsmIzEyNDk2OyYjMTI0NjQ7JiMxMjM5ODsmIzE5OTY4OyYjMzUyMzk7JiMxMjQzNDsmIzIxMjA1OyYjMzAzNDA7JiMxMjM5NTsmIzEyNTAxOyYjMTI0NTE7JiMxMjUyMzsmIzEyNDc5OyYjMTI1MjI7JiMxMjUzMTsmIzEyNDY0OyYjMTIzNzU7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7PC9wPjxwPiYjMTI1MTg7JiMxMjU0MDsmIzEyNDcwOyYjMTI1NDA7JiMzMzI1ODsmIzM2NTIzOyYjMTIzOTg7IFhTTFQgJiMxMjQ3MzsmIzEyNDc5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ4ODsmIzEyNDM0OyYjMjk5OTI7JiMxMjM1NjsmIzEyMzkwOyBIVE1MICYjMTI0MDg7JiMxMjM5ODsmIzIyNzkzOyYjMjU1NjM7JiMxMjQzNDsmIzM0ODkyOyYjMTIzNTY7JiMxMjM4MzsmIzEyMzU2OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1odG1sOjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm15U3R5bGVzaGVldC54c2w8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+ICYjMTIzOTg7JiMxMjQyNDsmIzEyMzU4OyYjMTIzOTU7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM5MDsmIzEyMzY3OyYjMTIzODQ7JiMxMjM3MzsmIzEyMzU2OyYjMTIyOTA7JiMxMjM3MTsmIzEyMzcxOyYjMTIzOTE7JiMxMjI4OTsgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bXlTdHlsZXNoZWV0LnhzbDwvY29kZT48L2VtPiAmIzEyMzk5OyYjMTI1MTg7JiMxMjU0MDsmIzEyNDcwOyYjMTI1NDA7JiMxMjM2NDsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NTsmIzEyMzgzOyYjMTIzNTY7JiMxMjQ3MzsmIzEyNDc5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDcxOyYjMTI1NDA7JiMxMjQ4ODsmIzEyMzk4OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMyMTUxNzsmIzEyMzkxOyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1lbWFjczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+JiMxMjQ5NjsmIzEyNDY0OyYjMjI1Nzc7JiMyMTU3ODsmIzEyMzY0OyBFbWFjcyAmIzI0NDE4OyYjMjQzMzU7JiMxMjM5MTsmIzIwMzE2OyYjMjUxMDQ7JiMxMjM3MzsmIzEyNDI4OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LXhkb2NzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4mIzEyNDk2OyYjMTI0NjQ7JiMyMjU3NzsmIzIxNTc4OyYjMTIzNjQ7IHhkb2MgWE1MICYjMjQ0MTg7JiMyNDMzNTsmIzEyMzkxOyYjMjAzMTY7JiMyNTEwNDsmIzEyMzczOyYjMTI0Mjg7JiMxMjQxNDsmIzEyMzc3OyYjMTIyOTA7QXBhY2hlIE1hdmVuJiMxMjM5MTsmIzIwMzUxOyYjMjk5OTI7JiMxMjM5MTsmIzEyMzY1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LW91dHB1dDwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzIxNTE3OzwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4mIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzgzOyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5NTsmIzIwOTg2OyYjMjExNDc7JiMzMjA4MDsmIzI2NTI0OyYjMTIzNjQ7JiMyMDMxNjsmIzI1MTA0OyYjMTIzNzM7JiMxMjQyODsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1vdXRwdXRGaWxlPC9zdHJvbmc+PC9zcGFuPiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mIzEyNTAxOyYjMTI0NDk7JiMxMjQ1MjsmIzEyNTIzOyYjMjE1MTc7PC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMTIzNzE7JiMxMjM5ODsmIzI0MzQxOyYjMjU5Njg7JiMxMjM5OTsmIzEyMjg5OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0MDk7JiMxMjM2NTsmIzEyMzkxOyYjMTIzOTk7JiMxMjM1NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OyYjMTIyOTA7JiMyMDE5NTsmIzEyNDMxOyYjMTI0MjY7JiMxMjM5NTsmIzEyMjg5OyA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tb3V0cHV0PC9zdHJvbmc+PC9zcGFuPiAmIzEyNDM0OyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc1OyYjMTIzOTA7JiMxMjM2NzsmIzEyMzg0OyYjMTIzNzM7JiMxMjM1NjsmIzEyMjkwOzwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LW5lc3RlZDwvc3Ryb25nPjwvc3Bhbj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5bOnRydWV8ZmFsc2VdPC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPiYjMTIzNzE7JiMxMjM5ODsmIzEyNDU4OyYjMTI1MDM7JiMxMjQ3MTsmIzEyNTE5OyYjMTI1MzE7JiMxMjM5OTsmIzEyMjg5OyYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQyMDsmIzEyNDg3OyYjMTI0NTE7JiMxMjUyNDsmIzEyNDYzOyYjMTI0ODg7JiMxMjUyMjsmIzEyNTQwOyYjMTIzOTg7JiMyMDAxMzsmIzEyMzkxOyYjMjA4Mzc7JiMxMjQyODsmIzIzMzc2OyYjMTIzOTU7JiMxMjM5NDsmIzEyMzg3OyYjMTIzODM7IGphciAmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgemlwICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjQzNDsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3NzsmIzEyNDI3OyYjMTIzNjM7JiMxMjM5MzsmIzEyMzU4OyYjMTIzNjM7JiMxMjQzNDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzEyNDg3OyYjMTI1MDE7JiMxMjQ1NzsmIzEyNTIzOyYjMTI0ODg7JiMxMjM5MTsmIzEyMzk5OyYjMTIyODk7JiMyMDgzNzsmIzEyNDI4OyYjMjMzNzY7JiMxMjM5NTsmIzEyMzk0OyYjMTIzODc7JiMxMjM4MzsgamFyICYjMTIzNjI7JiMxMjQyNDsmIzEyNDAzOyB6aXAgJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDE4OyYjMjA5OTg7JiMyNjUxMjsmIzEyMzc1OyYjMTI0MTQ7JiMxMjM3NzsmIzEyMjkwOyYjMjA4Mzc7JiMxMjQyODsmIzIzMzc2OyYjMTIzOTU7JiMxMjM5NDsmIzEyMzg3OyYjMTIzODM7IGphciAmIzEyMzYyOyYjMTI0MjQ7JiMxMjQwMzsgemlwICYjMTI1MDE7JiMxMjQ0OTsmIzEyNDUyOyYjMTI1MjM7JiMxMjM5ODsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3NzsmIzEyNDI3OyYjMTI0MzQ7JiMyODk2MTsmIzIxMTc3OyYjMTIzOTU7JiMxMjM3NzsmIzEyNDI3OyYjMjI1ODA7JiMyMTUxMjsmIzEyMzk5OyYjMTIyODk7IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1uZXN0ZWQ6ZmFsc2U8L3N0cm9uZz48L3NwYW4+ICYjMTI0MzQ7JiMxMjQ2NzsmIzEyNTEwOyYjMTI1MzE7JiMxMjQ4OTsmIzEyNTIxOyYjMTI0NTI7JiMxMjUzMTsmIzI0MzQxOyYjMjU5Njg7JiMxMjM5NTsmIzM2ODYxOyYjMjExNTI7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDs8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1hdXhjbGFzc3BhdGg8L3N0cm9uZz48L3NwYW4+IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTI0OTc7JiMxMjQ3Mzs8L2NvZGU+PC9lbT48L3NwYW4+PC9kdD48ZGQ+PHA+JiMyMDk5ODsmIzI2NTEyOyYjMjYxNzg7JiMxMjM5NTsmIzIwMzUxOyYjMjk5OTI7JiMxMjM3NzsmIzEyNDI3OyYjMzUwMzY7JiMyMTE2MTsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyNDk3OyYjMTI0NzM7JiMxMjQzNDsmIzM1MzczOyYjMjM0NTA7JiMxMjM3NTsmIzEyNDE0OyYjMTIzNzc7JiMxMjI5MDsmIzIwOTk4OyYjMjY1MTI7JiMxMjM3NzsmIzEyNDI3OyYjMTI1MDM7JiMxMjUyNTsmIzEyNDY0OyYjMTI1MjE7JiMxMjUxMjsmIzEyMzkxOyYjMjAzNTE7JiMyOTk5MjsmIzEyMzc3OyYjMTI0Mjc7amFyJiMxMjUwMTsmIzEyNDQ5OyYjMTI0NTI7JiMxMjUyMzsmIzEyNDIwOyYjMTI0NjM7JiMxMjUyMTsmIzEyNDczOyYjMTI0ODc7JiMxMjQ1MTsmIzEyNTI0OyYjMTI0NjM7JiMxMjQ4ODsmIzEyNTIyOyYjMTI1NDA7JiMxMjQzNDsmIzEyMzc3OyYjMTI0MDk7JiMxMjM5MDsmIzI1MzUxOyYjMjM0NTA7JiMxMjM3NTsmIzEyMzkwOyYjMTIzNjc7JiMxMjM4NDsmIzEyMzczOyYjMTIzNTY7JiMxMjI5MDsmIzM1MDM2OyYjMjExNjE7JiMxMjQ2MzsmIzEyNTIxOyYjMTI0NzM7JiMxMjQ5NzsmIzEyNDczOyYjMTIzOTU7JiMyNTM1MTsmIzIzNDUwOyYjMTIzNzU7JiMxMjM4MzsmIzEyNDYzOyYjMTI1MjE7JiMxMjQ3MzsmIzEyMzk5OyYjMjA5OTg7JiMyNjUxMjsmIzEyMzk4OyYjMjM1NTA7JiMzNTkzNzsmIzEyMzk1OyYjMTIzOTk7JiMxMjM5NDsmIzEyNDI2OyYjMTI0MTQ7JiMxMjM3OTsmIzEyNDM1OyYjMTIyOTA7PC9wPjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImJ1aWxkaW5nLmh0bWwiPiYjMjUxNDc7JiMxMjQyNzs8L2E+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9Imd1aS5odG1sIj4mIzI3NDI1OyYjMTI0MDg7PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+JiMzMTUzMjszJiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7ICYjMTIzOTg7JiMxMjQ3NzsmIzEyNTQwOyYjMTI1MjM7JiMxMjM2MzsmIzEyNDI1OyYjMTIzOTg7JiMxMjQ5OTsmIzEyNTIzOyYjMTI0ODk7Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4mIzEyNTA3OyYjMTI1NDA7JiMxMjUxMjs8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+Jm5ic3A7JiMzMTUzMjs1JiMzMTQ1NjsgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJICYjMTIzOTg7JiMyMDM1MTsmIzI5OTkyOyYjMjYwNDE7JiMyNzg2MTs8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvd2FybmluZy5wbmcgYi90b29scy9maW5kYnVncy9kb2MvamEvbWFudWFsL3dhcm5pbmcucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYzMzZGI4Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9qYS9tYW51YWwvd2FybmluZy5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvbGlua3MuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9saW5rcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Nzg4NGI4Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9saW5rcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RmluZEJ1Z3MgTGlua3M8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iZmluZGJ1Z3MuY3NzIj4KLQotPC9oZWFkPgotPGJvZHk+Ci0KLTx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyPgotCi0KLTx0ZCBiZ2NvbG9yPSIjYjliOWZlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIHdpZHRoPSIyMCUiPiAKLTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+IAotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVtZEZpbmRidWdzLnBuZyIgYWx0PSJGaW5kQnVncyI+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRvY3MgYW5kIEluZm88L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmaW5kYnVnczIuaHRtbCI+RmluZEJ1Z3MgMi4wPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRlbW8uaHRtbCI+RGVtbyBhbmQgZGF0YTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ1c2Vycy5odG1sIj5Vc2VycyBhbmQgc3VwcG9ydGVyczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuYmxvZ3Nwb3QuY29tLyI+RmluZEJ1Z3MgYmxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmYWN0U2hlZXQuaHRtbCI+RmFjdCBzaGVldDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYW51YWwvaW5kZXguaHRtbCI+TWFudWFsPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImphL21hbnVhbC9pbmRleC5odG1sIj5NYW51YWwoamEvJiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7KTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5CdWcgZGVzY3JpcHRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWxpbmdMaXN0cy5odG1sIj5NYWlsaW5nIGxpc3RzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InB1YmxpY2F0aW9ucy5odG1sIj5Eb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJsaW5rcy5odG1sIj5MaW5rczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRvd25sb2Fkcy5odG1sIj48Yj5Eb3dubG9hZHM8L2I+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vd3d3LmNhZmVzaG9wcy5jb20vZmluZGJ1Z3MiPjxiPkZpbmRCdWdzIFN3YWc8L2I+PC9hPjwvdGQ+PC90cj4KLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RGV2ZWxvcG1lbnQ8L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTk2NDA1Ij5PcGVuIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5SZXBvcnRpbmcgYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJjb250cmlidXRpbmcuaHRtbCI+Q29udHJpYnV0aW5nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InRlYW0uaHRtbCI+RGV2IHRlYW08L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiPkFQSTwvYT4gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPltubyBmcmFtZXNdPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzIj5TRiBwcm9qZWN0IHBhZ2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvIj5Ccm93c2Ugc291cmNlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvbGlzdCI+TGF0ZXN0IGNvZGUgY2hhbmdlczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTwvdGFibGU+IAotPC90ZD4KLQotPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Ci0KLTxoMT5GaW5kQnVncyBMaW5rczwvaDE+Ci0KLTxwPiBUaGlzIHBhZ2UgY29udGFpbnMgbGlua3MgdG8gcmVsYXRlZCBwcm9qZWN0cywKLWluY2x1ZGluZyB0b29scyB0aGF0IGFyZSBzaW1pbGFyIHRvIEZpbmRCdWdzLgotCi08aDI+RmluZEJ1Z3MgQWRkLU9uczwvaDI+Ci0KLTx1bD4KLTxsaT4gPGEgaHJlZj0iaHR0cDovL2ZiLWNvbnRyaWIuc291cmNlZm9yZ2UubmV0LyI+ZmItY29udHJpYjwvYT46IGFkZGl0aW9uYWwgYnVnIGRldGVjdG9ycyBmb3IgdXNlIHdpdGgKLSAgICAgRmluZEJ1Z3MuIFRoZSBsZWFkIEZpbmRCdWdzIHRlYW0gZG9lcyBub3Qgdm91Y2ggZm9yIHRoZSByZWxldmFuY2UsIGFjY3VyYWN5IG9yIHdpc2RvbSBvZiB0aGUgd2FybmluZ3MKLSAgICAgZ2VuZXJhdGVkIGJ5IGFueSB0aGlyZC1wYXJ0eSBwbHVnaW4uIAotPGxpPiA8YSBocmVmPSJodHRwOi8vd3d3LnRvYmplY3QuZGUvZGV2ZWxvcG1lbnQvZmluZGJ1Z3MuaHRtbCI+RmluZEJ1Z3MgRWNsaXBzZSBwbHVnaW48L2E+LiZuYnNwOwotICAgICBUaGlzIGlzIG5vdyBpbmNsdWRlZCBhcyBwYXJ0IG9mIEZpbmRCdWdzLgotPCEtLTxsaT4gPGEgaHJlZj0iaHR0cDovL21hdmVuLXBsdWdpbnMuc291cmNlZm9yZ2UubmV0L21hdmVuLWZpbmRidWdzLXBsdWdpbi9pbmRleC5odG1sIj5NYXZlbiBGaW5kQnVncyBwbHVnaW48L2E+LiZuYnNwOy0tPgotICAgICAgPCEtLU1hdmVuIGlzIGEgSmF2YSBwcm9qZWN0IG1hbmFnZW1lbnQgYW5kIHByb2plY3QgY29tcHJlaGVuc2lvbiB0b29sLiZuYnNwOy0tPgotICAgICAgPCEtLVRoZSBNYXZlbiBGaW5kQnVncyBwbHVnaW4gYWxsb3dzIEZpbmRCdWdzIHJlcG9ydHMgdG8gYmUgZ2VuZXJhdGVkLS0+Ci0gICAgICA8IS0tZnJvbSB3aXRoaW4gTWF2ZW4uLS0+Ci08bGk+IDxhIGhyZWY9Imh0dHA6Ly9tb2pvLmNvZGVoYXVzLm9yZy9maW5kYnVncy1tYXZlbi1wbHVnaW4vIj5NYXZlbjIgRmluZEJ1Z3MgcGx1Z2luPC9hPi4mbmJzcDsKLSAgICAgIE1hdmVuMiBpcyB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIEphdmEgcHJvamVjdCBtYW5hZ2VtZW50IGFuZCBwcm9qZWN0IGNvbXByZWhlbnNpb24gdG9vbC4mbmJzcDsKLSAgICAgIFRoZSBNYXZlbjIgRmluZEJ1Z3MgcGx1Z2luIGFsbG93cyBGaW5kQnVncyByZXBvcnRzIHRvIGJlIGdlbmVyYXRlZAotICAgICAgZnJvbSB3aXRoaW4gTWF2ZW4uCi08bGk+IDxhIGhyZWY9Imh0dHA6Ly9xYWxhYi5zb3VyY2Vmb3JnZS5uZXQvIj5RQUxhYjwvYT4gcmVjb3JkcyBhbmQgYWdncmVnYXRlcwotICAgICB0aGUgcmVzdWx0cyBvZiBzdGF0aWMgYW5hbHlzaXMgKGluY2x1ZGluZyBGaW5kQnVncyByZXN1bHRzKQotICAgICBvdmVyIHRpbWUuJm5ic3A7IEZlYXR1cmVzIGluY2x1ZGUgY2hhcnRzIG9mIHdhcm5pbmdzIG92ZXIgdGltZQotICAgICBhbmQgc3VtbWFyeSByZXBvcnRzIHNob3dpbmcgaG90IHNwb3RzIGluIHRoZSBzb3VyY2UgY29kZS48L2xpPgotPC91bD4KLQotPGgyPlNpbWlsYXIgVG9vbHM8L2gyPgotCi08aDM+T3BlbiBzb3VyY2UgdG9vbHM8L2gzPgotCi08dWw+Ci08bGk+IDxhIGhyZWY9Imh0dHA6Ly9hcnRoby5jb20vamxpbnQvaW5kZXguc2h0bWwiPkpMaW50PC9hPi4mbmJzcDsgQSBzdGF0aWMgYW5hbHlzaXMgdG9vbAotICAgICB0byBmaW5kIHJhY2UgY29uZGl0aW9ucywgbG9ja2luZyBlcnJvcnMsIG51bGwgcG9pbnRlciB1c2VzLAotICAgICBhbmQgYSBudW1iZXIgb2Ygb3RoZXIgcHJvYmxlbXMgaW4gSmF2YSBwcm9ncmFtcy4KLTxsaT4gPGEgaHJlZj0iaHR0cDovL3BtZC5zb3VyY2Vmb3JnZS5uZXQvIj5QTUQ8L2E+LiZuYnNwOyBQTUQgc2NhbnMgSmF2YQotICAgICBzb3VyY2UgY29kZSBmb3IgcG90ZW50aWFsIHByb2JsZW1zLgotPGxpPiA8YSBocmVmPSJodHRwOi8vY2hlY2tzdHlsZS5zb3VyY2Vmb3JnZS5uZXQvIj5DaGVja3N0eWxlPC9hPi4mbmJzcDsKLSAgICAgQ2hlY2tzdHlsZSBpcyBhIHN0eWxlIGNoZWNrZXIgZm9yIEphdmEuCi08L3VsPgotCi08aDM+Q29tbWVyY2lhbCB0b29scyBhbmQgc2VydmljZXM8L2gzPgotCi08dWw+Ci08bGk+IDxhIGhyZWY9Imh0dHA6Ly93d3cuanV0aWxzLmNvbSI+bGludDRqPC9hPjogbGludCB0b29sIGZvciBKYXZhIHByb2dyYW1zCi08bGk+IDxhIGhyZWY9Imh0dHA6Ly93d3cucGFyYXNvZnQuY29tLyI+SlRlc3Q8L2E+OiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcwotICAgICA8YSBocmVmPSJodHRwOi8vanVuaXQub3JnLyI+SlVuaXQ8L2E+IHRlc3RzIGZvciBKYXZhIGNsYXNzZXMuJm5ic3A7Ci0gICAgIEFsc28gY2hlY2tzIGZvciBtYW55IGtpbmRzIG9mIGNvZGluZyBlcnJvcnMuCi08bGk+IDxhIGhyZWY9Imh0dHA6Ly93d3cuc3VyZXNob3Rzb2Z0d2FyZS5jb20vamF2YWxpbnQvIj5KaXZlTGludDwvYT4uJm5ic3A7IEFub3RoZXIKLSAgICAgbGludCB1dGlsaXR5IGZvciBKYXZhIHByb2dyYW1zLiZuYnNwOyBGaW5kcyBoYXNoY29kZS9lcXVhbHMgcHJvYmxlbXMsCi0gICAgIHN0cmluZyByZWZlcmVuY2UgY29tcGFyaXNvbnMsIGFuZCBtb3JlLiZuYnNwOyBGcmVlIDE1IGRheSBkZW1vLgotPC91bD4KLQotCi08aHI+IDxwPiAKLTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+IAotPCEtLS0vL2hpZGUgc2NyaXB0IGZyb20gb2xkIGJyb3dzZXJzIAotZG9jdW1lbnQud3JpdGUoICJMYXN0IHVwZGF0ZWQgIisgZG9jdW1lbnQubGFzdE1vZGlmaWVkICsgIi4iICk7IAotLy9lbmQgaGlkaW5nIGNvbnRlbnRzIC0tLT4gCi08L3NjcmlwdD4gCi08cD4gU2VuZCBjb21tZW50cyB0byA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+IAotPHA+IAotPEEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldCI+PElNRyBzcmM9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvc2Zsb2dvLnBocD9ncm91cF9pZD05NjQwNSZhbXA7dHlwZT01IiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjYyIiBib3JkZXI9IjAiIGFsdD0iU291cmNlRm9yZ2UubmV0IExvZ28iIC8+PC9BPgotCi08L3RkPgotCi08L3RyPjwvdGFibGU+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYWlsaW5nTGlzdHMuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYWlsaW5nTGlzdHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM2MTljOS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFpbGluZ0xpc3RzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkZpbmRCdWdzIE1haWxpbmcgTGlzdHM8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iZmluZGJ1Z3MuY3NzIj4KLQotPC9oZWFkPgotPGJvZHk+Ci0KLTx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyPgotCi0KLTx0ZCBiZ2NvbG9yPSIjYjliOWZlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIHdpZHRoPSIyMCUiPiAKLTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+IAotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVtZEZpbmRidWdzLnBuZyIgYWx0PSJGaW5kQnVncyI+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRvY3MgYW5kIEluZm88L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmaW5kYnVnczIuaHRtbCI+RmluZEJ1Z3MgMi4wPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRlbW8uaHRtbCI+RGVtbyBhbmQgZGF0YTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ1c2Vycy5odG1sIj5Vc2VycyBhbmQgc3VwcG9ydGVyczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuYmxvZ3Nwb3QuY29tLyI+RmluZEJ1Z3MgYmxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmYWN0U2hlZXQuaHRtbCI+RmFjdCBzaGVldDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYW51YWwvaW5kZXguaHRtbCI+TWFudWFsPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImphL21hbnVhbC9pbmRleC5odG1sIj5NYW51YWwoamEvJiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7KTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5CdWcgZGVzY3JpcHRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWxpbmdMaXN0cy5odG1sIj5NYWlsaW5nIGxpc3RzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InB1YmxpY2F0aW9ucy5odG1sIj5Eb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJsaW5rcy5odG1sIj5MaW5rczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRvd25sb2Fkcy5odG1sIj48Yj5Eb3dubG9hZHM8L2I+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vd3d3LmNhZmVzaG9wcy5jb20vZmluZGJ1Z3MiPjxiPkZpbmRCdWdzIFN3YWc8L2I+PC9hPjwvdGQ+PC90cj4KLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RGV2ZWxvcG1lbnQ8L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTk2NDA1Ij5PcGVuIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5SZXBvcnRpbmcgYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJjb250cmlidXRpbmcuaHRtbCI+Q29udHJpYnV0aW5nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InRlYW0uaHRtbCI+RGV2IHRlYW08L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiPkFQSTwvYT4gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPltubyBmcmFtZXNdPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzIj5TRiBwcm9qZWN0IHBhZ2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvIj5Ccm93c2Ugc291cmNlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvbGlzdCI+TGF0ZXN0IGNvZGUgY2hhbmdlczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTwvdGFibGU+IAotPC90ZD4KLQotPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Ci0KLTxoMT5GaW5kQnVncyBNYWlsaW5nIExpc3RzPC9oMT4KLQotPHA+IFRoZXJlIGFyZSB0d28gbWFpbGluZyBsaXN0cyBmb3IgRmluZEJ1Z3MuCi08dWw+Ci08bGk+IDxhIGhyZWY9Imh0dHA6Ly93d3cuY3MudW1kLmVkdS9tYWlsbWFuL2xpc3RpbmZvL2ZpbmRidWdzLWFubm91bmNlIj5GaW5kYnVncy1hbm5vdW5jZTwvYT4KLWlzIGEgbG93IHZvbHVtZSAobW9kZXJhdGVkKSBsaXN0IGZvciBhbm5vdW5jZW1lbnRzIG9mIG5ldyByZWxlYXNlcy4KLTwvbGk+PGxpPiA8YSBocmVmPSJodHRwOi8vd3d3LmNzLnVtZC5lZHUvbWFpbG1hbi9saXN0aW5mby9maW5kYnVncy1kaXNjdXNzIj5GaW5kYnVncy1kaXNjdXNzPC9hPgotaXMgZm9yIGRpc2N1c3Npb24gb2YgcGxhbm5lZCBmZWF0dXJlcywgYnVncywgZGV2ZWxvcG1lbnQgaXNzdWVzLCBldGMuJm5ic3A7IE5vdGUKLXRoYXQgeW91IG11c3QgYmUgYSBzdWJzY3JpYmVyIGluIG9yZGVyIHRvIHBvc3QgbWVzc2FnZXMgdG8gdGhlIGxpc3QuCi08L2xpPgotPC91bD4KLQotCi08aHI+IDxwPiAKLTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+IAotPCEtLS0vL2hpZGUgc2NyaXB0IGZyb20gb2xkIGJyb3dzZXJzIAotZG9jdW1lbnQud3JpdGUoICJMYXN0IHVwZGF0ZWQgIisgZG9jdW1lbnQubGFzdE1vZGlmaWVkICsgIi4iICk7IAotLy9lbmQgaGlkaW5nIGNvbnRlbnRzIC0tLT4gCi08L3NjcmlwdD4gCi08cD4gU2VuZCBjb21tZW50cyB0byA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+IAotPHA+IAotPEEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldCI+PElNRyBzcmM9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvc2Zsb2dvLnBocD9ncm91cF9pZD05NjQwNSZhbXA7dHlwZT01IiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjYyIiBib3JkZXI9IjAiIGFsdD0iU291cmNlRm9yZ2UubmV0IExvZ28iIC8+PC9BPgotCi08L3RkPgotCi08L3RyPjwvdGFibGU+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwtZm8ueHNsIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC1mby54c2wKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmMjk5MTguLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC1mby54c2wKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPScxLjAnPz4KLTx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIKLSAgICAgICAgICAgICAgICB2ZXJzaW9uPScxLjAnCi0gICAgICAgICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiCi0gICAgICAgICAgICAgICAgZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXM9IiNkZWZhdWx0Ij4KLQotPCEtLSBidWlsZC54bWwgd2lsbCBzdWJzdGl0dXRlIHRoZSByZWFsIHBhdGggdG8gZm8vZG9jYm9vay54c2wgaGVyZS4gLS0+Ci08eHNsOmltcG9ydCBocmVmPSIvVXNlcnMvcHVnaC90b29scy9kb2Nib29rLXhzbC0xLjc2LjEvZm8vZG9jYm9vay54c2wiLz4KLQotPCEtLSBFbnVtZXJhdGUgc2VjdGlvbnMuIC0tPgotPHhzbDp2YXJpYWJsZSBuYW1lPSJzZWN0aW9uLmF1dG9sYWJlbCI+MTwveHNsOnZhcmlhYmxlPgotCi08IS0tIFVzZSBncmFwaGljcyBpbiBhZG1vbml0aW9ucyAtLT4KLTx4c2w6dmFyaWFibGUgbmFtZT0iYWRtb24uZ3JhcGhpY3MiPjE8L3hzbDp2YXJpYWJsZT4KLQotPCEtLSBBZG1vbml0aW9uIGdyYXBoaWNzIGFyZSBpbiB0aGUgIm1hbnVhbCIgc3ViZGlyZWN0b3J5LiAtLT4KLTx4c2w6dmFyaWFibGUgbmFtZT0iYWRtb24uZ3JhcGhpY3MucGF0aCI+bWFudWFsLzwveHNsOnZhcmlhYmxlPgotCi08IS0tIEluY2x1ZGVkIGdyYXBoaWNzIGFyZSBhbHNvIGluIHRoZSAibWFudWFsIiBzdWJkaXJlY3RvcnkuIC0tPgotPHhzbDp2YXJpYWJsZSBuYW1lPSJpbWcuc3JjLnBhdGgiPm1hbnVhbC88L3hzbDp2YXJpYWJsZT4KLQotPCEtLSBEZWZhdWx0IGltYWdlIHdpZHRoIGlzIDUgaW5jaGVzIC0gb3RoZXJ3aXNlLCB0aGV5IGJlY29tZSBtdWNoIHRvbyBsYXJnZS4KLSAgICAgRklYTUU6IGZvciBzb21lIHJlYXNvbiwgdGhpcyBpc24ndCBob25vcmVkLiAgQmxlY2guCi0tLT4KLTx4c2w6dmFyaWFibGUgbmFtZT0iZGVmYXVsdC5pbWFnZS53aWR0aCI+NWluPC94c2w6dmFyaWFibGU+Ci0KLTwhLS0gSnVzdCBwdXQgY2hhcHRlcnMgYW5kIHNlY3QxcyBpbiB0aGUgVE9DLiAtLT4KLTx4c2w6dmFyaWFibGUgbmFtZT0idG9jLnNlY3Rpb24uZGVwdGgiPjE8L3hzbDp2YXJpYWJsZT4KLQotPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwueG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC54bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzNmRiOWQuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC54bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOTkwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiIHN0YW5kYWxvbmU9Im5vIj8+Ci08IURPQ1RZUEUgYm9vayBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMi8vRU4iCi0gICAgICAgICAgICAgICAgICAgICJmaWxlOi4uL2V0Yy9kb2Nib29rL2RvY2Jvb2t4LmR0ZCIgWwotPCFFTlRJVFkgRmluZEJ1Z3MgIjxhcHBsaWNhdGlvbj5GaW5kQnVnczwvYXBwbGljYXRpb24+Ij4KLTwhRU5USVRZIEFudCAiPGFwcGxpY2F0aW9uPkFudDwvYXBwbGljYXRpb24+Ij4KLTwhRU5USVRZIFNheG9uICI8YXBwbGljYXRpb24+U2F4b248L2FwcGxpY2F0aW9uPiI+Ci08IUVOVElUWSBGQkhvbWUgIjxyZXBsYWNlYWJsZT4kRklOREJVR1NfSE9NRTwvcmVwbGFjZWFibGU+Ij4KLTwhRU5USVRZIEZCSG9tZVdpbiAiPHJlcGxhY2VhYmxlPiYjeDI1O0ZJTkRCVUdTX0hPTUUmI3gyNTs8L3JlcGxhY2VhYmxlPiI+Ci08IUVOVElUWSBuYnNwICImIzE2MDsiPgotXT4KLQotPGJvb2sgbGFuZz0iZW4iIGlkPSJmaW5kYnVncy1tYW51YWwiPgotCi08Ym9va2luZm8+Ci08dGl0bGU+JkZpbmRCdWdzOyZ0cmFkZTsgTWFudWFsPC90aXRsZT4KLQotPGF1dGhvcmdyb3VwPgotICA8YXV0aG9yPgotICAgIDxmaXJzdG5hbWU+RGF2aWQ8L2ZpcnN0bmFtZT4KLSAgICA8b3RoZXJuYW1lPkguPC9vdGhlcm5hbWU+Ci0gICAgPHN1cm5hbWU+SG92ZW1leWVyPC9zdXJuYW1lPgotICA8L2F1dGhvcj4KLSAgICA8YXV0aG9yPgotICAgICAgICA8Zmlyc3RuYW1lPldpbGxpYW08L2ZpcnN0bmFtZT4KLSAgICAgICAgPG90aGVybmFtZT5XLjwvb3RoZXJuYW1lPgotICAgICAgICA8c3VybmFtZT5QdWdoPC9zdXJuYW1lPgotICAgIDwvYXV0aG9yPgotPC9hdXRob3Jncm91cD4KLQotPGNvcHlyaWdodD4KLSAgPHllYXI+MjAwMyAtIDIwMTI8L3llYXI+Ci0gIDxob2xkZXI+VW5pdmVyc2l0eSBvZiBNYXJ5bGFuZDwvaG9sZGVyPgotPC9jb3B5cmlnaHQ+Ci0KLTxsZWdhbG5vdGljZT4KLTxwYXJhPgotVGhpcyBtYW51YWwgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbC1TaGFyZUFsaWtlIExpY2Vuc2UuCi1UbyB2aWV3IGEgY29weSBvZiB0aGlzIGxpY2Vuc2UsIHZpc2l0Ci08dWxpbmsgdXJsPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy1zYS8xLjAvIj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy1zYS8xLjAvPC91bGluaz4KLW9yIHNlbmQgYSBsZXR0ZXIgdG8gQ3JlYXRpdmUgQ29tbW9ucywgNTU5IE5hdGhhbiBBYmJvdHQgV2F5LCBTdGFuZm9yZCwgQ2FsaWZvcm5pYSA5NDMwNSwgVVNBLgotPC9wYXJhPgotPHBhcmE+Ci1UaGUgbmFtZSBGaW5kQnVncyBhbmQgdGhlIEZpbmRCdWdzIGxvZ28gYXJlIHRyYWRlbWFya2VkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mIE1hcnlsYW5kLgotPC9wYXJhPgotPC9sZWdhbG5vdGljZT4KLQotPGVkaXRpb24+Mi4wLjM8L2VkaXRpb24+Ci0KLTxwdWJkYXRlPjE3OjE2OjE1IEVTVCwgMjIgTm92ZW1iZXIsIDIwMTM8L3B1YmRhdGU+Ci0KLTwvYm9va2luZm8+Ci0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBJbnRyb2R1Y3Rpb24KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tLT4KLQotPGNoYXB0ZXIgaWQ9ImludHJvZHVjdGlvbiI+Ci08dGl0bGU+SW50cm9kdWN0aW9uPC90aXRsZT4KLQotPHBhcmE+ICZGaW5kQnVnczsmdHJhZGU7IGlzIGEgcHJvZ3JhbSB0byBmaW5kIGJ1Z3MgaW4gSmF2YSBwcm9ncmFtcy4gIEl0IGxvb2tzIGZvciBpbnN0YW5jZXMKLW9mICJidWcgcGF0dGVybnMiIC0tLSBjb2RlIGluc3RhbmNlcyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgZXJyb3JzLjwvcGFyYT4KLQotPHBhcmE+IFRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIHZlcnNpb24gMi4wLjMgb2YgJkZpbmRCdWdzOy5XZQotYXJlIHZlcnkgaW50ZXJlc3RlZCBpbiBnZXR0aW5nIHlvdXIgZmVlZGJhY2sgb24gJkZpbmRCdWdzOy4gUGxlYXNlIHZpc2l0Ci10aGUgPHVsaW5rIHVybD0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldCI+JkZpbmRCdWdzOyB3ZWIgcGFnZTwvdWxpbms+IGZvcgotdGhlIGxhdGVzdCBpbmZvcm1hdGlvbiBvbiAmRmluZEJ1Z3M7LCBjb250YWN0IGluZm9ybWF0aW9uLCBhbmQgc3VwcG9ydCByZXNvdXJjZXMgc3VjaAotYXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlICZGaW5kQnVnczsgbWFpbGluZyBsaXN0cy48L3BhcmE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5SZXF1aXJlbWVudHM8L3RpdGxlPgotPHBhcmE+IFRvIHVzZSAmRmluZEJ1Z3M7LCB5b3UgbmVlZCBhIHJ1bnRpbWUgZW52aXJvbm1lbnQgY29tcGF0aWJsZSB3aXRoCi08dWxpbmsgdXJsPSJodHRwOi8vamF2YS5zdW4uY29tL2oyc2UiPkphdmEgMiBTdGFuZGFyZCBFZGl0aW9uPC91bGluaz4sIHZlcnNpb24gMS41IG9yIGxhdGVyLgotJkZpbmRCdWdzOyBpcyBwbGF0Zm9ybSBpbmRlcGVuZGVudCwgYW5kIGlzIGtub3duIHRvIHJ1biBvbiBHTlUvTGludXgsIFdpbmRvd3MsIGFuZAotTWFjT1MgWCBwbGF0Zm9ybXMuPC9wYXJhPgotCi08cGFyYT5Zb3Ugc2hvdWxkIGhhdmUgYXQgbGVhc3QgNTEyIE1CIG9mIG1lbW9yeSB0byB1c2UgJkZpbmRCdWdzOy4KLVRvIGFuYWx5emUgdmVyeSBsYXJnZSBwcm9qZWN0cywgbW9yZSBtZW1vcnkgbWF5IGJlIG5lZWRlZC48L3BhcmE+Ci08L3NlY3QxPgotCi08L2NoYXB0ZXI+Ci0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBJbnN0YWxsaW5nIEZpbmRCdWdzCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJpbnN0YWxsaW5nIj4KLTx0aXRsZT5JbnN0YWxsaW5nICZGaW5kQnVnczsmdHJhZGU7PC90aXRsZT4KLQotPHBhcmE+Ci1UaGlzIGNoYXB0ZXIgZXhwbGFpbnMgaG93IHRvIGluc3RhbGwgJkZpbmRCdWdzOy4KLTwvcGFyYT4KLQotPHNlY3QxPgotPHRpdGxlPkV4dHJhY3RpbmcgdGhlIERpc3RyaWJ1dGlvbjwvdGl0bGU+Ci0KLTxwYXJhPgotVGhlIGVhc2llc3Qgd2F5IHRvIGluc3RhbGwgJkZpbmRCdWdzOyBpcyB0byBkb3dubG9hZCBhIGJpbmFyeSBkaXN0cmlidXRpb24uCi1CaW5hcnkgZGlzdHJpYnV0aW9ucyBhcmUgYXZhaWxhYmxlIGluCi08dWxpbmsgdXJsPSJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2ZpbmRidWdzL2ZpbmRidWdzLTIuMC4zLnRhci5nej9kb3dubG9hZCI+Z3ppcHBlZCB0YXIgZm9ybWF0PC91bGluaz4gYW5kCi08dWxpbmsgdXJsPSJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2ZpbmRidWdzL2ZpbmRidWdzLTIuMC4zLnppcD9kb3dubG9hZCI+emlwIGZvcm1hdDwvdWxpbms+LgotT25jZSB5b3UgaGF2ZSBkb3dubG9hZGVkIGEgYmluYXJ5IGRpc3RyaWJ1dGlvbiwgZXh0cmFjdCBpdCBpbnRvIGEgZGlyZWN0b3J5IG9mIHlvdXIgY2hvaWNlLgotPC9wYXJhPgotCi08cGFyYT4KLUV4dHJhY3RpbmcgYSBnemlwcGVkIHRhciBmb3JtYXQgZGlzdHJpYnV0aW9uOgotPHNjcmVlbj4KLTxwcm9tcHQ+JCA8L3Byb21wdD48Y29tbWFuZD5ndW56aXAgLWMgZmluZGJ1Z3MtMi4wLjMudGFyLmd6IHwgdGFyIHh2ZiAtPC9jb21tYW5kPgotPC9zY3JlZW4+Ci08L3BhcmE+Ci0KLTxwYXJhPgotRXh0cmFjdGluZyBhIHppcCBmb3JtYXQgZGlzdHJpYnV0aW9uOgotPHNjcmVlbj4KLTxwcm9tcHQ+QzpcU29mdHdhcmU+PC9wcm9tcHQ+PGNvbW1hbmQ+dW56aXAgZmluZGJ1Z3MtMi4wLjMuemlwPC9jb21tYW5kPgotPC9zY3JlZW4+Ci08L3BhcmE+Ci0KLTxwYXJhPgotVXN1YWxseSwgZXh0cmFjdGluZyBhIGJpbmFyeSBkaXN0cmlidXRpb24gd2lsbCBjcmVhdGUgYSBkaXJlY3RvcnkgZW5kaW5nIGluCi08ZmlsZW5hbWUgY2xhc3M9ImRpcmVjdG9yeSI+ZmluZGJ1Z3MtMi4wLjM8L2ZpbGVuYW1lPi4gRm9yIGV4YW1wbGUsIGlmIHlvdSBleHRyYWN0ZWQKLXRoZSBiaW5hcnkgZGlzdHJpYnV0aW9uIGZyb20gdGhlIDxmaWxlbmFtZSBjbGFzcz0iZGlyZWN0b3J5Ij5DOlxTb2Z0d2FyZTwvZmlsZW5hbWU+Ci1kaXJlY3RvcnksIHRoZW4gdGhlICZGaW5kQnVnczsgc29mdHdhcmUgd2lsbCBiZSBleHRyYWN0ZWQgaW50byB0aGUgZGlyZWN0b3J5Ci08ZmlsZW5hbWUgY2xhc3M9ImRpcmVjdG9yeSI+QzpcU29mdHdhcmVcZmluZGJ1Z3MtMi4wLjM8L2ZpbGVuYW1lPi4KLVRoaXMgZGlyZWN0b3J5IGlzIHRoZSAmRmluZEJ1Z3M7IGhvbWUgZGlyZWN0b3J5LiAgV2UnbGwgcmVmZXIgdG8gaXQgYXMKLSZGQkhvbWU7IChvciAmRkJIb21lV2luOyBmb3IgV2luZG93cykgdGhyb3VnaG91dCB0aGlzIG1hbnVhbC4KLTwvcGFyYT4KLTwvc2VjdDE+Ci0KLTwvY2hhcHRlcj4KLQotPCEtLQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgIENvbXBpbGluZyBGaW5kQnVncyBmcm9tIFNvdXJjZQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS0tPgotCi08Y2hhcHRlciBpZD0iYnVpbGRpbmciPgotPHRpdGxlPkJ1aWxkaW5nICZGaW5kQnVnczsmdHJhZGU7IGZyb20gU291cmNlPC90aXRsZT4KLQotPHBhcmE+Ci1UaGlzIGNoYXB0ZXIgZGVzY3JpYmVzIGhvdyB0byBidWlsZCAmRmluZEJ1Z3M7IGZyb20gc291cmNlIGNvZGUuICBVbmxlc3MgeW91IGFyZQotaW50ZXJlc3RpbmcgaW4gbW9kaWZ5aW5nICZGaW5kQnVnczssIHlvdSB3aWxsIHByb2JhYmx5IHdhbnQgdG8gc2tpcCB0byB0aGUKLTxsaW5rIGxpbmtlbmQ9InJ1bm5pbmciPm5leHQgY2hhcHRlcjwvbGluaz4uCi08L3BhcmE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5QcmVyZXF1aXNpdGVzPC90aXRsZT4KLQotPHBhcmE+Ci1UbyBjb21waWxlICZGaW5kQnVnczsgZnJvbSBzb3VyY2UsIHlvdSB3aWxsIG5lZWQgdGhlIGZvbGxvd2luZzoKLTxpdGVtaXplZGxpc3Q+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICAgIFRoZSA8dWxpbmsgdXJsPSJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2ZpbmRidWdzL2ZpbmRidWdzLTIuMC4zLXNvdXJjZS56aXA/ZG93bmxvYWQiCi0gICAgICA+JkZpbmRCdWdzOyBzb3VyY2UgZGlzdHJpYnV0aW9uPC91bGluaz4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICAgIDx1bGluayB1cmw9Imh0dHA6Ly9qYXZhLnN1bi5jb20vajJzZS8iPkpESyAxLjUuMCBvciBsYXRlcjwvdWxpbms+Ci0gICAgPC9wYXJhPgotICA8L2xpc3RpdGVtPgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+Ci0gICAgICA8dWxpbmsgdXJsPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIj5BcGFjaGUgJkFudDs8L3VsaW5rPiwgdmVyc2lvbiAxLjYuMyBvciBsYXRlcgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLTwvaXRlbWl6ZWRsaXN0PgotPC9wYXJhPgotCi08d2FybmluZz4KLSAgICA8cGFyYT4KLSAgICAgICAgVGhlIHZlcnNpb24gb2YgJkFudDsgaW5jbHVkZWQgYXMgPGZpbGVuYW1lPi91c3IvYmluL2FudDwvZmlsZW5hbWU+IG9uCi0gICAgICAgIFJlZGhhdCBMaW51eCBzeXN0ZW1zIHdpbGwgPGVtcGhhc2lzPm5vdDwvZW1waGFzaXM+IHdvcmsgZm9yIGNvbXBpbGluZwotICAgICAgICAmRmluZEJ1Z3M7LiAgV2UgcmVjb21tZW5kIHlvdSBpbnN0YWxsIGEgYmluYXJ5IGRpc3RyaWJ1dGlvbiBvZiAmQW50OwotICAgICAgICBkb3dubG9hZGVkIGZyb20gdGhlIDx1bGluayB1cmw9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy8iPiZBbnQ7IHdlYnNpdGU8L3VsaW5rPi4KLSAgICAgICAgTWFrZSBzdXJlIHRoYXQgd2hlbiB5b3UgcnVuICZBbnQ7IHlvdXIgPHJlcGxhY2VhYmxlPkpBVkFfSE9NRTwvcmVwbGFjZWFibGU+Ci0gICAgICAgIGVudmlyb25tZW50IHZhcmlhYmxlIHBvaW50cyB0byB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHlvdSBpbnN0YWxsZWQKLSAgICAgICAgSkRLIDEuNSAob3IgbGF0ZXIpLgotICAgIDwvcGFyYT4KLTwvd2FybmluZz4KLQotPHBhcmE+Ci1JZiB5b3Ugd2FudCB0byBiZSBhYmxlIHRvIGdlbmVyYXRlIGZvcm1hdHRlZCB2ZXJzaW9ucyBvZiB0aGUgJkZpbmRCdWdzOyBkb2N1bWVudGF0aW9uLAoteW91IHdpbGwgYWxzbyBuZWVkIHRoZSBmb2xsb3dpbmcgc29mdHdhcmU6Ci08aXRlbWl6ZWRsaXN0PgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+Ci0gICAgVGhlIDx1bGluayB1cmw9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy94c2wvaW5kZXguaHRtbCI+RG9jQm9vayBYU0wgU3R5bGVzaGVldHM8L3VsaW5rPi4KLSAgICBUaGVzZSBhcmUgcmVxdWlyZWQgdG8gY29udmVydCB0aGUgJkZpbmRCdWdzOyBtYW51YWwgaW50byBIVE1MIGZvcm1hdC4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICAgIFRoZSA8dWxpbmsgdXJsPSJodHRwOi8vc2F4b24uc291cmNlZm9yZ2UubmV0LyI+JlNheG9uOyBYU0xUIFByb2Nlc3NvcjwvdWxpbms+LgotICAgICAgKEFsc28gcmVxdWlyZWQgZm9yIGNvbnZlcnRpbmcgdGhlICZGaW5kQnVnczsgbWFudWFsIHRvIEhUTUwuKQotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLTwhLS0KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLS0tPgotPC9pdGVtaXplZGxpc3Q+Ci08L3BhcmE+Ci0KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5FeHRyYWN0aW5nIHRoZSBTb3VyY2UgRGlzdHJpYnV0aW9uPC90aXRsZT4KLTxwYXJhPgotQWZ0ZXIgeW91IGRvd25sb2FkIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uLCB5b3UnbGwgbmVlZCB0byBleHRyYWN0IGl0IGludG8KLWEgd29ya2luZyBkaXJlY3RvcnkuICBBIHR5cGljYWwgY29tbWFuZCB0byBkbyB0aGlzIGlzOgotCi08c2NyZWVuPgotPHByb21wdD4kIDwvcHJvbXB0Pjxjb21tYW5kPnVuemlwIGZpbmRidWdzLTIuMC4zLXNvdXJjZS56aXA8L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLQotPC9wYXJhPgotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPk1vZGlmeWluZyA8ZmlsZW5hbWU+bG9jYWwucHJvcGVydGllczwvZmlsZW5hbWU+PC90aXRsZT4KLTxwYXJhPgotSWYgeW91IGludGVuZCB0byBidWlsZCB0aGUgRmluZEJ1Z3MgZG9jdW1lbnRhdGlvbiwKLXlvdSB3aWxsIG5lZWQgdG8gbW9kaWZ5IHRoZSA8ZmlsZW5hbWU+bG9jYWwucHJvcGVydGllczwvZmlsZW5hbWU+IGZpbGUKLXVzZWQgYnkgdGhlIDx1bGluayB1cmw9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy8iPiZBbnQ7PC91bGluaz4KLTxmaWxlbmFtZT5idWlsZC54bWw8L2ZpbGVuYW1lPiBmaWxlIHRvIGJ1aWxkICZGaW5kQnVnczsuCi1JZiB5b3UgZG8gbm90IHdhbnQgdG8gYnVpbGQgdGhlIEZpbmRCdWdzIGRvY3VtZW50YXRpb24sIHRoZW4geW91Ci1jYW4gaWdub3JlIHRoaXMgZmlsZS4KLTwvcGFyYT4KLQotPHBhcmE+Ci1UaGUgPGZpbGVuYW1lPmxvY2FsLnByb3BlcnRpZXM8L2ZpbGVuYW1lPiBvdmVycmlkZXMgZGVmaW5pdGlvbnMKLWluIHRoZSA8ZmlsZW5hbWU+YnVpbGQucHJvcGVydGllczwvZmlsZW5hbWU+IGZpbGUuCi1UaGUgPGZpbGVuYW1lPmJ1aWxkLnByb3BlcnRpZXM8L2ZpbGVuYW1lPiBmaWxlIGxvb2tzIHNvbWV0aGluZyBsaWtlIHRoaXM6Ci08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLSMgVXNlciBDb25maWd1cmF0aW9uOgotIyBUaGlzIHNlY3Rpb24gbXVzdCBiZSBtb2RpZmllZCB0byByZWZsZWN0IHlvdXIgc3lzdGVtLgotCi1sb2NhbC5zb2Z0d2FyZS5ob21lICAgICA9L2V4cG9ydC9ob21lL2RhdmVoby9saW51eAotCi0jIFNldCB0aGlzIHRvIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgRG9jQm9vayBNb2R1bGFyIFhTTCBTdHlsZXNoZWV0cwotIyAgZnJvbSBodHRwOi8vZG9jYm9vay5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMveHNsLwotCi14c2wuc3R5bGVzaGVldC5ob21lICAgICA9JHtsb2NhbC5zb2Z0d2FyZS5ob21lfS9kb2Nib29rL2RvY2Jvb2steHNsLTEuNzEuMQotCi0jIFNldCB0aGlzIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgU2F4b24gKGh0dHA6Ly9zYXhvbi5zb3VyY2Vmb3JnZS5uZXQvKQotIyBpcyBpbnN0YWxsZWQuCi0KLXNheG9uLmhvbWUgICAgICAgICAgICAgID0ke2xvY2FsLnNvZnR3YXJlLmhvbWV9L2phdmEvc2F4b24tNi41LjUKLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLTwvcGFyYT4KLQotPHBhcmE+Ci1UaGUgPHZhcm5hbWU+eHNsLnN0eWxlc2hlZXQuaG9tZTwvdmFybmFtZT4gcHJvcGVydHkgc3BlY2lmaWVzIHRoZSBmdWxsCi1wYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91IGhhdmUgaW5zdGFsbGVkIHRoZQotPHVsaW5rIHVybD0iaHR0cDovL2RvY2Jvb2suc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3hzbC8iPkRvY0Jvb2sgTW9kdWxhciBYU0wKLVN0eWxlc2hlZXRzPC91bGluaz4uICBZb3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB5b3Ugd2lsbCBiZQotZ2VuZXJhdGluZyB0aGUgJkZpbmRCdWdzOyBkb2N1bWVudGF0aW9uLgotPC9wYXJhPgotCi08cGFyYT4KLVRoZSA8dmFybmFtZT5zYXhvbi5ob21lPC92YXJuYW1lPiBwcm9wZXJ0eSBpcyB0aGUgZnVsbCBwYXRoIHRvIHRoZQotZGlyZWN0b3J5IHdoZXJlIHlvdSBpbnN0YWxsZWQgdGhlIDx1bGluayB1cmw9Imh0dHA6Ly9zYXhvbi5zb3VyY2Vmb3JnZS5uZXQvIj4mU2F4b247IFhTTFQgUHJvY2Vzc29yPC91bGluaz4uCi1Zb3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB5b3Ugd2lsbCBiZQotZ2VuZXJhdGluZyB0aGUgJkZpbmRCdWdzOyBkb2N1bWVudGF0aW9uLgotPC9wYXJhPgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+UnVubmluZyAmQW50OzwvdGl0bGU+Ci0KLTxwYXJhPgotT25jZSB5b3UgaGF2ZSBleHRyYWN0ZWQgdGhlIHNvdXJjZSBkaXN0cmlidXRpb24sCi1tYWRlIHN1cmUgdGhhdCAmQW50OyBpcyBpbnN0YWxsZWQsCi1tb2RpZmllZCA8ZmlsZW5hbWU+YnVpbGQucHJvcGVydGllczwvZmlsZW5hbWU+IChvcHRpb25hbCksCi1hbmQgY29uZmlndXJlZCB0aGUgdG9vbHMgKHN1Y2ggYXMgJlNheG9uOyksCi15b3UgYXJlIHJlYWR5IHRvIGJ1aWxkICZGaW5kQnVnczsuICBJbnZva2luZyAmQW50OyBpcyBhIHNpbXBsZSBtYXR0ZXIKLW9mIHJ1bm5pbmcgdGhlIGNvbW1hbmQKLTxzY3JlZW4+Ci08cHJvbXB0PiQgPC9wcm9tcHQ+PGNvbW1hbmQ+YW50IDxyZXBsYWNlYWJsZT50YXJnZXQ8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD4KLTwvc2NyZWVuPgotd2hlcmUgPHJlcGxhY2VhYmxlPnRhcmdldDwvcmVwbGFjZWFibGU+IGlzIG9uZSBvZiB0aGUgZm9sbG93aW5nOgotPHZhcmlhYmxlbGlzdD4KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5idWlsZDwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPgotICAgICAgICAgVGhpcyB0YXJnZXQgY29tcGlsZXMgdGhlIGNvZGUgZm9yICZGaW5kQnVnczsuIEl0IGlzIHRoZSBkZWZhdWx0IHRhcmdldC4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5kb2NzPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgVGhpcyB0YXJnZXQgZm9ybWF0cyB0aGUgZG9jdW1lbnRhdGlvbi4gIChJdCBhbHNvIGNvbXBpbGVzIHNvbWUgb2YKLSAgICAgICB0aGUgc291cmNlIGNvZGUgYXMgYSBzaWRlLWVmZmVjdC4pCi0gICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+cnVuanVuaXQ8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICBUaGlzIHRhcmdldCBjb21waWxlcyBhbmQgcnVucyB0aGUgaW50ZXJuYWwgSlVuaXQgdGVzdHMgaW5jbHVkZWQKLSAgICAgICAgICAgIGluICZGaW5kQnVnczsuICBJdCB3aWxsIHByaW50IGFuIGVycm9yIG1lc3NhZ2UgaWYgYW55IHVuaXQKLSAgICAgICAgICAgIHRlc3RzIGZhaWwuCi0gICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmJpbmRpc3Q8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICBCdWlsZHMgYSBiaW5hcnkgZGlzdHJpYnV0aW9uIG9mICZGaW5kQnVnczsuCi0gICAgICAgICAgICBUaGUgdGFyZ2V0IGNyZWF0ZXMgYm90aCA8ZmlsZW5hbWU+LnppcDwvZmlsZW5hbWU+IGFuZAotICAgICAgICAgICAgPGZpbGVuYW1lPi50YXIuZ3o8L2ZpbGVuYW1lPiBhcmNoaXZlcy4KLSAgICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotPC92YXJpYWJsZWxpc3Q+Ci08L3BhcmE+Ci0KLTxwYXJhPgotQWZ0ZXIgcnVubmluZyBhbiAmQW50OyBjb21tYW5kLCB5b3Ugc2hvdWxkIHNlZSBvdXRwdXQgc2ltaWxhciB0bwotdGhlIGZvbGxvd2luZyAoYWZ0ZXIgc29tZSBvdGhlciBtZXNzYWdlcyByZWdhcmRpbmcgdGhlIHRhc2tzIHRoYXQKLSZBbnQ7IGlzIHJ1bm5pbmcpOgotPHNjcmVlbj4KLTxjb21wdXRlcm91dHB1dD4KLUJVSUxEIFNVQ0NFU1NGVUwKLVRvdGFsIHRpbWU6IDE3IHNlY29uZHMKLTwvY29tcHV0ZXJvdXRwdXQ+Ci08L3NjcmVlbj4KLTwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPlJ1bm5pbmcgJkZpbmRCdWdzOyZ0cmFkZTsgZnJvbSBhIHNvdXJjZSBkaXJlY3Rvcnk8L3RpdGxlPgotPHBhcmE+Ci1UaGUgJkFudDsgYnVpbGQgc2NyaXB0IGZvciAmRmluZEJ1Z3M7IGlzIHdyaXR0ZW4gc3VjaCB0aGF0IGFmdGVyCi1idWlsZGluZyB0aGUgPGNvbW1hbmQ+YnVpbGQ8L2NvbW1hbmQ+IHRhcmdldCwgdGhlIHdvcmtpbmcgZGlyZWN0b3J5Ci1pcyBzZXQgdXAganVzdCBsaWtlIGEgYmluYXJ5IGRpc3RyaWJ1dGlvbi4gIFNvLCB0aGUgaW5mb3JtYXRpb24gYWJvdXQKLXJ1bm5pbmcgJkZpbmRCdWdzOyBpbiA8eHJlZiBsaW5rZW5kPSJydW5uaW5nIiAvPgotYXBwbGllcyB0byBzb3VyY2UgZGlzdHJpYnV0aW9ucywgdG9vLgotPC9wYXJhPgotPC9zZWN0MT4KLQotPC9jaGFwdGVyPgotCi0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBSdW5uaW5nIEZpbmRCdWdzCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJydW5uaW5nIj4KLTx0aXRsZT5SdW5uaW5nICZGaW5kQnVnczsmdHJhZGU7PC90aXRsZT4KLQotPHBhcmE+Ci0mRmluZEJ1Z3M7IGhhcyB0d28gdXNlciBpbnRlcmZhY2VzOiBhIGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZSAoR1VJKSBhbmQgYQotY29tbWFuZCBsaW5lIHVzZXIgaW50ZXJmYWNlLiAgVGhpcyBjaGFwdGVyIGRlc2NyaWJlcwotaG93IHRvIHJ1biBlYWNoIG9mIHRoZXNlIHVzZXIgaW50ZXJmYWNlcy4KLTwvcGFyYT4KLQotICAgIDx3YXJuaW5nPgotICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgIFRoaXMgY2hhcHRlciBpcyBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZyByZS13cml0dGVuLgotICAgICAgICAgICAgVGhlIHJld3JpdGUgaXMgbm90IGNvbXBsZXRlIHlldC4KLSAgICAgICAgPC9wYXJhPgotICAgIDwvd2FybmluZz4KLQotPCEtLQotPHNlY3QxPgotPHRpdGxlPkV4ZWN1dGluZyB0aGUgJkZpbmRCdWdzOyZ0cmFkZTsgR1VJPC90aXRsZT4KLTwvc2VjdDE+Ci0tLT4KLQotPHNlY3QxPgotICAgIDx0aXRsZT5RdWljayBTdGFydDwvdGl0bGU+Ci0gICAgPHBhcmE+Ci0gICAgICAgIElmIHlvdSBhcmUgcnVubmluZyAmRmluZEJ1Z3M7IG9uIGEgIFdpbmRvd3Mgc3lzdGVtLAotICAgICAgICBkb3VibGUtY2xpY2sgb24gdGhlIGZpbGUgPGZpbGVuYW1lPiZGQkhvbWVXaW47XGxpYlxmaW5kYnVncy5qYXI8L2ZpbGVuYW1lPiB0byBzdGFydCB0aGUgJkZpbmRCdWdzOyBHVUkuCi0gICAgPC9wYXJhPgotCi0gICAgPHBhcmE+Ci0gICAgICAgIE9uIGEgVW5peCwgTGludXgsIG9yIE1hYyBPUyBYIHN5c3RlbSwgcnVuIHRoZSA8ZmlsZW5hbWU+JkZCSG9tZTsvYmluL2ZpbmRidWdzPC9maWxlbmFtZT4KLSAgICAgICAgc2NyaXB0LCBvciBydW4gdGhlIGNvbW1hbmQgPHNjcmVlbj4KLTxjb21tYW5kPmphdmEgLWphciAmRkJIb21lOy9saWIvZmluZGJ1Z3MuamFyPC9jb21tYW5kPjwvc2NyZWVuPgotICAgIHRvIHJ1biB0aGUgJkZpbmRCdWdzOyBHVUkuCi0gICAgPC9wYXJhPgotCi0gICAgPHBhcmE+Ci0gICAgUmVmZXIgdG8gPHhyZWYgbGlua2VuZD0iZ3VpIi8+IGZvciBpbmZvcm1hdGlvbiBvbiBob3cgdG8gdXNlIHRoZSBHVUkuCi0gICAgPC9wYXJhPgotPC9zZWN0MT4KLQotPHNlY3QxPgotCi0gICAgPHRpdGxlPkV4ZWN1dGluZyAmRmluZEJ1Z3M7PC90aXRsZT4KLQotICAgIDxwYXJhPgotICAgICAgICBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIGhvdyB0byBpbnZva2UgdGhlICZGaW5kQnVnczsgcHJvZ3JhbS4KLSAgICAgICAgVGhlcmUgYXJlIHR3byB3YXlzIHRvIGludm9rZSAmRmluZEJ1Z3M7OiBkaXJlY3RseSwgb3IgdXNpbmcgYQotICAgICAgICB3cmFwcGVyIHNjcmlwdC4KLSAgICA8L3BhcmE+Ci0KLQotICAgIDxzZWN0MiBpZD0iZGlyZWN0SW52b2NhdGlvbiI+Ci0gICAgICAgIDx0aXRsZT5EaXJlY3QgaW52b2NhdGlvbiBvZiAmRmluZEJ1Z3M7PC90aXRsZT4KLQotICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgIFRoZSBwcmVmZXJyZWQgbWV0aG9kIG9mIHJ1bm5pbmcgJkZpbmRCdWdzOyBpcyB0byBkaXJlY3RseSBleGVjdXRlCi0gICAgICAgICAgICA8ZmlsZW5hbWU+JkZCSG9tZTsvbGliL2ZpbmRidWdzLmphcjwvZmlsZW5hbWU+IHVzaW5nIHRoZSA8Y29tbWFuZD4tamFyPC9jb21tYW5kPgotICAgICAgICAgICAgY29tbWFuZCBsaW5lIHN3aXRjaCBvZiB0aGUgSlZNICg8Y29tbWFuZD5qYXZhPC9jb21tYW5kPikgZXhlY3V0YWJsZS4KLSAgICAgICAgICAgIChWZXJzaW9ucyBvZiAmRmluZEJ1Z3M7IHByaW9yIHRvIDEuMy41IHJlcXVpcmVkIGEgd3JhcHBlciBzY3JpcHQKLSAgICAgICAgICAgIHRvIGludm9rZSAmRmluZEJ1Z3M7LikKLSAgICAgICAgPC9wYXJhPgotCi0gICAgICAgIDxwYXJhPgotICAgICAgICAgICAgVGhlIGdlbmVyYWwgc3ludGF4IG9mIGludm9raW5nICZGaW5kQnVnczsgZGlyZWN0bHkgaXMgdGhlIGZvbGxvd2luZzoKLTxzY3JlZW4+Ci0gICAgPGNvbW1hbmQ+amF2YSA8cmVwbGFjZWFibGU+W0pWTSBhcmd1bWVudHNdPC9yZXBsYWNlYWJsZT4gLWphciAmRkJIb21lOy9saWIvZmluZGJ1Z3MuamFyIDxyZXBsYWNlYWJsZT5vcHRpb25zLi4uPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLSAgICAgICAgPC9wYXJhPgotCi08IS0tCi0gICAgICAgIDxwYXJhPgotICAgICAgICAgICAgQnkgZGVmYXVsdCwgZXhlY3V0aW5nIDxmaWxlbmFtZT5maW5kYnVncy5qYXI8L2ZpbGVuYW1lPiBydW5zIHRoZQotICAgICAgICAgICAgJkZpbmRCdWdzOyBncmFwaGljYWwgdXNlciBpbnRlcmZhY2UgKEdVSSkuICBPbiB3aW5kb3dzIHN5c3RlbXMsCi0gICAgICAgICAgICB5b3UgY2FuIGRvdWJsZS1jbGljayBvbiA8ZmlsZW5hbWU+ZmluZGJ1Z3MuamFyPC9maWxlbmFtZT4gdG8gbGF1bmNoCi0gICAgICAgICAgICB0aGUgR1VJLiAgRnJvbSBhIGNvbW1hbmQgbGluZSwgdGhlIGNvbW1hbmQKLSAgICAgICAgICAgIDxzY3JlZW4+Ci1qYXZhIC1qYXIgPHJlcGxhY2VhYmxlPiZGQkhvbWU7PC9yZXBsYWNlYWJsZT4vbGliL2ZpbmRidWdzLmphcjwvc2NyZWVuPgotICAgICAgICAgICAgd2lsbCBsYXVuY2ggdGhlIEdVSS4KLSAgICAgICAgPC9wYXJhPgotLS0+Ci0KLSAgICAgICAgPHNlY3QzIGlkPSJjaG9vc2VVSSI+Ci0gICAgICAgICAgICA8dGl0bGU+Q2hvb3NpbmcgdGhlIFVzZXIgSW50ZXJmYWNlPC90aXRsZT4KLQotICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgIFRoZSBmaXJzdCBjb21tYW5kIGxpbmUgb3B0aW9uIGNob29zZXMgdGhlICZGaW5kQnVnczsgdXNlciBpbnRlcmZhY2UgdG8gZXhlY3V0ZS4KLSAgICAgICAgICAgIFBvc3NpYmxlIHZhbHVlcyBhcmU6Ci0gICAgICAgIDwvcGFyYT4KLSAgICAgICAgPGl0ZW1pemVkbGlzdD4KLSAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICA8Y29tbWFuZD4tZ3VpPC9jb21tYW5kPjogcnVucyB0aGUgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIChHVUkpCi0gICAgICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgICAgPC9saXN0aXRlbT4KLQotICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8Y29tbWFuZD4tdGV4dHVpPC9jb21tYW5kPjogcnVucyB0aGUgY29tbWFuZCBsaW5lIHVzZXIgaW50ZXJmYWNlCi0gICAgICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgICAgPC9saXN0aXRlbT4KLQotICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8Y29tbWFuZD4tdmVyc2lvbjwvY29tbWFuZD46IGRpc3BsYXlzIHRoZSAmRmluZEJ1Z3M7IHZlcnNpb24gbnVtYmVyCi0gICAgICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgICAgPC9saXN0aXRlbT4KLQotICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8Y29tbWFuZD4taGVscDwvY29tbWFuZD46IGRpc3BsYXlzIGhlbHAgaW5mb3JtYXRpb24gZm9yIHRoZQotICAgICAgICAgICAgICAgICAgICAmRmluZEJ1Z3M7IGNvbW1hbmQgbGluZSB1c2VyIGludGVyZmFjZQotICAgICAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0KLSAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGNvbW1hbmQ+LWd1aTE8L2NvbW1hbmQ+OiBleGVjdXRlcyB0aGUgb3JpZ2luYWwgKG9ic29sZXRlKQotICAgICAgICAgICAgICAgICAgICAmRmluZEJ1Z3M7IGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZQotICAgICAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgIDwvaXRlbWl6ZWRsaXN0PgotCi0gICAgICAgIDwvc2VjdDM+Ci0KLSAgICAgICAgPHNlY3QzIGlkPSJqdm1BcmdzIj4KLSAgICAgICAgICAgIDx0aXRsZT5KYXZhIFZpcnR1YWwgTWFjaGluZSAoSlZNKSBhcmd1bWVudHM8L3RpdGxlPgotCi0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICBTZXZlcmFsIEphdmEgVmlydHVhbCBNYWNoaW5lIGFyZ3VtZW50cyBhcmUgdXNlZnVsIHdoZW4gaW52b2tpbmcKLSAgICAgICAgICAgICAgICAmRmluZEJ1Z3M7LgotICAgICAgICAgICAgPC9wYXJhPgotCi0gICAgICAgICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPi1YbXg8cmVwbGFjZWFibGU+Tk48L3JlcGxhY2VhYmxlPm08L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgdGhlIG1heGltdW0gSmF2YSBoZWFwIHNpemUgdG8gPHJlcGxhY2VhYmxlPk5OPC9yZXBsYWNlYWJsZT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWdhYnl0ZXMuICAmRmluZEJ1Z3M7IGdlbmVyYWxseSByZXF1aXJlcyBhIGxhcmdlIGFtb3VudCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeS4gIEZvciBhIHZlcnkgbGFyZ2UgcHJvamVjdCwgdXNpbmcgMTUwMCBtZWdhYnl0ZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBub3QgdW51c3VhbC4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLQotICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPi1EPHJlcGxhY2VhYmxlPm5hbWU8L3JlcGxhY2VhYmxlPj08cmVwbGFjZWFibGU+dmFsdWU8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNldCBhIEphdmEgc3lzdGVtIHByb3BlcnR5LiAgRm9yIGV4YW1wbGUsIHlvdSBtaWdodCB1c2UgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQgPGNvbW1hbmQ+LUR1c2VyLmxhbmd1YWdlPWphPC9jb21tYW5kPiB0byBkaXNwbGF5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgR1VJIG1lc3NhZ2VzIGluIEphcGFuZXNlLgotICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotCi0gICAgICAgICAgICAgICAgPCEtLQotICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDx0ZXJtPjwvdGVybT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgLS0+Ci0gICAgICAgICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICAgICAgPC9zZWN0Mz4KLQotICAgIDwvc2VjdDI+Ci0KLSAgICA8c2VjdDIgaWQ9IndyYXBwZXJTY3JpcHQiPgotICAgICAgICA8dGl0bGU+SW52b2NhdGlvbiBvZiAmRmluZEJ1Z3M7IHVzaW5nIGEgd3JhcHBlciBzY3JpcHQ8L3RpdGxlPgotCi0gICAgICAgIDxwYXJhPgotICAgICAgICAgICAgQW5vdGhlciB3YXkgdG8gcnVuICZGaW5kQnVnczsgaXMgdG8gdXNlIGEgd3JhcHBlciBzY3JpcHQuCi0gICAgICAgIDwvcGFyYT4KLQotPHBhcmE+Ci1PbiBVbml4LWxpa2Ugc3lzdGVtcywgdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZCB0byBpbnZva2UgdGhlIHdyYXBwZXIgc2NyaXB0OgotPHNjcmVlbj4KLTxwcm9tcHQ+JCA8L3Byb21wdD48Y29tbWFuZD4mRkJIb21lOy9iaW4vZmluZGJ1Z3MgPHJlcGxhY2VhYmxlPm9wdGlvbnMuLi48L3JlcGxhY2VhYmxlPjwvY29tbWFuZD4KLTwvc2NyZWVuPgotPC9wYXJhPgotCi08cGFyYT4KLU9uIFdpbmRvd3Mgc3lzdGVtcywgdGhlIGNvbW1hbmQgdG8gaW52b2tlIHRoZSB3cmFwcGVyIHNjcmlwdCBpcwotPHNjcmVlbj4KLTxwcm9tcHQ+QzpcTXkgRGlyZWN0b3J5PjwvcHJvbXB0Pjxjb21tYW5kPiZGQkhvbWVXaW47XGJpblxmaW5kYnVncy5iYXQgPHJlcGxhY2VhYmxlPm9wdGlvbnMuLi48L3JlcGxhY2VhYmxlPjwvY29tbWFuZD4KLTwvc2NyZWVuPgotPC9wYXJhPgotCi08cGFyYT4KLU9uIGJvdGggVW5peC1saWtlIGFuZCBXaW5kb3dzIHN5c3RlbXMsIHlvdSBjYW4gc2ltcGx5IGFkZCB0aGUgPGZpbGVuYW1lPjxyZXBsYWNlYWJsZT4kRklOREJVR1NfSE9NRTwvcmVwbGFjZWFibGU+L2JpbjwvZmlsZW5hbWU+Ci1kaXJlY3RvcnkgdG8geW91ciA8ZmlsZW5hbWU+UEFUSDwvZmlsZW5hbWU+IGVudmlyb25tZW50IHZhcmlhYmxlIGFuZCB0aGVuIGludm9rZQotRmluZEJ1Z3MgdXNpbmcgdGhlIDxjb21tYW5kPmZpbmRidWdzPC9jb21tYW5kPiBjb21tYW5kLgotPC9wYXJhPgotCi0gICAgPHNlY3QzIGlkPSJ3cmFwcGVyT3B0aW9ucyI+Ci0gICAgICAgIDx0aXRsZT5XcmFwcGVyIHNjcmlwdCBjb21tYW5kIGxpbmUgb3B0aW9uczwvdGl0bGU+Ci0gICAgICAgIDxwYXJhPlRoZSAmRmluZEJ1Z3M7IHdyYXBwZXIgc2NyaXB0cyBzdXBwb3J0IHRoZSBmb2xsb3dpbmcgY29tbWFuZC1saW5lIG9wdGlvbnMuCi0gICAgICAgIE5vdGUgdGhhdCB0aGVzZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBhcmUgPGVtcGhhc2lzPm5vdDwvZW1waGFzaXM+IGhhbmRsZWQgYnkKLSAgICAgICAgdGhlICZGaW5kQnVnczsgcHJvZ3JhbSBwZXIgc2U7IHJhdGhlciwgdGhleSBhcmUgaGFuZGxlZCBieSB0aGUgd3JhcHBlcgotICAgICAgICBzY3JpcHQuCi0gICAgICAgIDwvcGFyYT4KLSAgICA8dmFyaWFibGVsaXN0PgotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1qdm1BcmdzIDxyZXBsYWNlYWJsZT5hcmdzPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICAgIFNwZWNpZmllcyBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgSlZNLiAgRm9yIGV4YW1wbGUsIHlvdSBtaWdodCB3YW50Ci0gICAgICAgICB0byBzZXQgYSBKVk0gcHJvcGVydHk6Ci08c2NyZWVuPgotPHByb21wdD4kIDwvcHJvbXB0Pjxjb21tYW5kPmZpbmRidWdzIC10ZXh0dWkgLWp2bUFyZ3MgIi1EdXNlci5sYW5ndWFnZT1qYSIgPHJlcGxhY2VhYmxlPm15QXBwLmphcjwvcmVwbGFjZWFibGU+PC9jb21tYW5kPgotPC9zY3JlZW4+Ci0gICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LWphdmFob21lIDxyZXBsYWNlYWJsZT5kaXJlY3Rvcnk8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci0gICAgICAgIFNwZWNpZmllcyB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIEpSRSAoSmF2YSBSdW50aW1lIEVudmlyb25tZW50KSB0bwotICAgICAgICB1c2UgdG8gZXhlY3V0ZSAmRmluZEJ1Z3M7LgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LW1heEhlYXAgPHJlcGxhY2VhYmxlPnNpemU8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci0gICAgICBTcGVjaWZpZXMgdGhlIG1heGltdW0gSmF2YSBoZWFwIHNpemUgaW4gbWVnYWJ5dGVzLiBUaGUgZGVmYXVsdCBpcyAyNTYuCi0gICAgICBNb3JlIG1lbW9yeSBtYXkgYmUgcmVxdWlyZWQgdG8gYW5hbHl6ZSB2ZXJ5IGxhcmdlIHByb2dyYW1zIG9yIGxpYnJhcmllcy4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1kZWJ1ZzwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci0gICAgICBQcmludHMgYSB0cmFjZSBvZiBkZXRlY3RvcnMgcnVuIGFuZCBjbGFzc2VzIGFuYWx5emVkIHRvIHN0YW5kYXJkIG91dHB1dC4KLSAgICAgIFVzZWZ1bCBmb3IgdHJvdWJsZXNob290aW5nIHVuZXhwZWN0ZWQgYW5hbHlzaXMgZmFpbHVyZXMuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tcHJvcGVydHk8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5uYW1lPXZhbHVlPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci0gICAgICBUaGlzIG9wdGlvbiBzZXRzIGEgc3lzdGVtIHByb3BlcnR5LiZuYnNwOyAmRmluZEJ1Z3M7IHVzZXMgc3lzdGVtIHByb3BlcnRpZXMKLSAgICAgIHRvIGNvbmZpZ3VyZSBhbmFseXNpcyBvcHRpb25zLiAgU2VlIDx4cmVmIGxpbmtlbmQ9ImFuYWx5c2lzcHJvcHMiLz4uCi0gICAgICBZb3UgY2FuIHVzZSB0aGlzIG9wdGlvbiBtdWx0aXBsZSB0aW1lcyBpbiBvcmRlciB0byBzZXQgbXVsdGlwbGUgcHJvcGVydGllcy4KLSAgICAgIE5vdGU6IEluIG1vc3QgdmVyc2lvbnMgb2YgV2luZG93cywgdGhlIDxyZXBsYWNlYWJsZT5uYW1lPXZhbHVlPC9yZXBsYWNlYWJsZT4KLSAgICAgIHN0cmluZyBtdXN0IGJlIGluIHF1b3Rlcy4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICAgIDwvdmFyaWFibGVsaXN0PgotCi0gICAgPC9zZWN0Mz4KLQotPC9zZWN0Mj4KLQotPC9zZWN0MT4KLQotPHNlY3QxIGlkPSJjb21tYW5kTGluZU9wdGlvbnMiPgotPHRpdGxlPkNvbW1hbmQtbGluZSBPcHRpb25zPC90aXRsZT4KLQotPCEtLQotPHBhcmE+Ci0KLVRoZXJlIGFyZSB0d28gd2F5cyB0byBpbnZva2UgJkZpbmRCdWdzOy4gIFRoZSBmaXJzdCBpbnZva2VzIHRoZSB0aGUgR3JhcGhpY2FsIFVzZXIgSW50ZXJmYWNlIChHVUkpOgotCi08c2NyZWVuPgotPHByb21wdD4kIDwvcHJvbXB0Pjxjb21tYW5kPmZpbmRidWdzIDxyZXBsYWNlYWJsZT5bc3RhbmRhcmQgb3B0aW9uc108L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGU+W0dVSSBvcHRpb25zXTwvcmVwbGFjZWFibGU+PC9jb21tYW5kPgotPC9zY3JlZW4+Ci0KLVRoZSBzZWNvbmQgaW52b2tlcyB0aGUgQ29tbWFuZCBMaW5lIEludGVyZmFjZSAoVGV4dCBVSSk6Ci0KLTxzY3JlZW4+Ci08cHJvbXB0PiQgPC9wcm9tcHQ+PGNvbW1hbmQ+ZmluZGJ1Z3MgLXRleHR1aSA8cmVwbGFjZWFibGU+W3N0YW5kYXJkIG9wdGlvbnNdPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlPltUZXh0IFVJIG9wdGlvbnNdPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLTwvcGFyYT4KLS0tPgotCi08cGFyYT4KLSAgICBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBzdXBwb3J0ZWQgYnkgJkZpbmRCdWdzOy4KLSAgICBUaGVzZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBtYXkgYmUgdXNlZCB3aGVuIGludm9raW5nICZGaW5kQnVnczsgZGlyZWN0bHksCi0gICAgb3Igd2hlbiB1c2luZyBhIHdyYXBwZXIgc2NyaXB0LgotPC9wYXJhPgotCi08c2VjdDI+Ci08dGl0bGU+Q29tbW9uIGNvbW1hbmQtbGluZSBvcHRpb25zPC90aXRsZT4KLQotPHBhcmE+Ci1UaGVzZSBvcHRpb25zIG1heSBiZSB1c2VkIHdpdGggYm90aCB0aGUgR1VJIGFuZCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlcy4KLTwvcGFyYT4KLQotPHZhcmlhYmxlbGlzdD4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1lZmZvcnQ6bWluPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAgICAgIFRoaXMgb3B0aW9uIGRpc2FibGVzIGFuYWx5c2VzIHRoYXQgaW5jcmVhc2UgcHJlY2lzaW9uIGJ1dCBhbHNvCi0gICAgICBpbmNyZWFzZSBtZW1vcnkgY29uc3VtcHRpb24uICBZb3UgbWF5IHdhbnQgdG8gdHJ5IHRoaXMgb3B0aW9uIGlmCi0gICAgICB5b3UgZmluZCB0aGF0ICZGaW5kQnVnczsgcnVucyBvdXQgb2YgbWVtb3J5LCBvciB0YWtlcyBhbiB1bnVzdWFsbHkKLSAgICAgIGxvbmcgdGltZSB0byBjb21wbGV0ZSBpdHMgYW5hbHlzaXMuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1lZmZvcnQ6bWF4PC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAgICAgICAgRW5hYmxlIGFuYWx5c2VzIHdoaWNoIGluY3JlYXNlIHByZWNpc2lvbiBhbmQgZmluZCBtb3JlIGJ1Z3MsIGJ1dCB3aGljaAotICAgICAgICBtYXkgcmVxdWlyZSBtb3JlIG1lbW9yeSBhbmQgdGFrZSBtb3JlIHRpbWUgdG8gY29tcGxldGUuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LXByb2plY3Q8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5wcm9qZWN0PC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBTcGVjaWZ5IGEgcHJvamVjdCB0byBiZSBhbmFseXplZC4gIFRoZSBwcm9qZWN0IGZpbGUgeW91IHNwZWNpZnkgc2hvdWxkCi0gICAgYmUgb25lIHRoYXQgd2FzIGNyZWF0ZWQgdXNpbmcgdGhlIEdVSSBpbnRlcmZhY2UuICBJdCB3aWxsIHR5cGljYWxseSBlbmQKLSAgICBpbiB0aGUgZXh0ZW5zaW9uIDxmaWxlbmFtZT4uZmI8L2ZpbGVuYW1lPiBvciA8ZmlsZW5hbWU+LmZicDwvZmlsZW5hbWU+LgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPCEtLQotICA8dmFybGlzdGVudHJ5PgotICAgICAgPHRlcm0+PGNvbW1hbmQ+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICA8cGFyYT4KLQotICAgICAgICAgIDwvcGFyYT4KLSAgICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotICAtLT4KLQotPC92YXJpYWJsZWxpc3Q+Ci0KLTwvc2VjdDI+Ci0KLTxzZWN0Mj4KLTx0aXRsZT5HVUkgT3B0aW9uczwvdGl0bGU+Ci0KLTxwYXJhPgotVGhlc2Ugb3B0aW9ucyBhcmUgb25seSBhY2NlcHRlZCBieSB0aGUgR3JhcGhpY2FsIFVzZXIgSW50ZXJmYWNlLgotCi08dmFyaWFibGVsaXN0PgotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1sb29rOjwvY29tbWFuZD48cmVwbGFjZWFibGU+cGxhc3RpY3xndGt8bmF0aXZlPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPgotICAgICAgICBTZXQgU3dpbmcgbG9vayBhbmQgZmVlbC4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLTwvdmFyaWFibGVsaXN0PgotPC9wYXJhPgotPC9zZWN0Mj4KLQotPHNlY3QyPgotPHRpdGxlPlRleHQgVUkgT3B0aW9uczwvdGl0bGU+Ci0KLTxwYXJhPgotVGhlc2Ugb3B0aW9ucyBhcmUgb25seSBhY2NlcHRlZCBieSB0aGUgVGV4dCBVc2VyIEludGVyZmFjZS4KLTwvcGFyYT4KLQotPHZhcmlhYmxlbGlzdD4KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tc29ydEJ5Q2xhc3M8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBTb3J0IHJlcG9ydGVkIGJ1ZyBpbnN0YW5jZXMgYnkgY2xhc3MgbmFtZS4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZCA+LWluY2x1ZGU8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5maWx0ZXJGaWxlLnhtbDwvcmVwbGFjZWFibGU+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBPbmx5IHJlcG9ydCBidWcgaW5zdGFuY2VzIHRoYXQgbWF0Y2ggdGhlIGZpbHRlciBzcGVjaWZpZWQgYnkgPHJlcGxhY2VhYmxlPmZpbHRlckZpbGUueG1sPC9yZXBsYWNlYWJsZT4uCi0gICAgICAgU2VlIDx4cmVmIGxpbmtlbmQ9ImZpbHRlciIgLz4uCi0gICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQgPi1leGNsdWRlPC9jb21tYW5kPiA8cmVwbGFjZWFibGU+ZmlsdGVyRmlsZS54bWw8L3JlcGxhY2VhYmxlPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgUmVwb3J0IGFsbCBidWcgaW5zdGFuY2VzIGV4Y2VwdCB0aG9zZSBtYXRjaGluZyB0aGUgZmlsdGVyIHNwZWNpZmllZCBieSA8cmVwbGFjZWFibGU+ZmlsdGVyRmlsZS54bWw8L3JlcGxhY2VhYmxlPi4KLSAgICAgICBTZWUgPHhyZWYgbGlua2VuZD0iZmlsdGVyIiAvPi4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tb25seUFuYWx5emU8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5jb20uZm9vYmFyLk15Q2xhc3MsY29tLmZvb2Jhci5teXBrZy4qPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci0gICAgICBSZXN0cmljdCBhbmFseXNpcyB0byBmaW5kIGJ1Z3MgdG8gZ2l2ZW4gY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YKLSAgICAgIGNsYXNzZXMgYW5kIHBhY2thZ2VzLgotICAgICAgVW5saWtlIGZpbHRlcmluZywgdGhpcyBvcHRpb24gYXZvaWRzIHJ1bm5pbmcgYW5hbHlzaXMgb24KLSAgICAgIGNsYXNzZXMgYW5kIHBhY2thZ2VzIHRoYXQgYXJlIG5vdCBleHBsaWNpdGx5IG1hdGNoZWQ6Ci0gICAgICBmb3IgbGFyZ2UgcHJvamVjdHMsIHRoaXMgbWF5IGdyZWF0bHkgcmVkdWNlIHRoZSBhbW91bnQgb2YgdGltZQotICAgICAgbmVlZGVkIHRvIHJ1biB0aGUgYW5hbHlzaXMuICAoSG93ZXZlciwgc29tZSBkZXRlY3RvcnMgbWF5IHByb2R1Y2UKLSAgICAgIGluYWNjdXJhdGUgcmVzdWx0cyBpZiB0aGV5IGFyZW4ndCBydW4gb24gdGhlIGVudGlyZSBhcHBsaWNhdGlvbi4pCi0gICAgICBDbGFzc2VzIHNob3VsZCBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlaXIgZnVsbCBjbGFzc25hbWVzIChpbmNsdWRpbmcKLSAgICAgIHBhY2thZ2UpLCBhbmQgcGFja2FnZXMgc2hvdWxkIGJlIHNwZWNpZmllZCBpbiB0aGUgc2FtZSB3YXkKLSAgICAgIHRoZXkgd291bGQgaW4gYSBKYXZhIDxsaXRlcmFsPmltcG9ydDwvbGl0ZXJhbD4gc3RhdGVtZW50IHRvCi0gICAgICBpbXBvcnQgYWxsIGNsYXNzZXMgaW4gdGhlIHBhY2thZ2UgKGkuZS4sIGFkZCA8bGl0ZXJhbD4uKjwvbGl0ZXJhbD4KLSAgICAgIHRvIHRoZSBmdWxsIG5hbWUgb2YgdGhlIHBhY2thZ2UpLgotICAgICAgUmVwbGFjZSA8bGl0ZXJhbD4uKjwvbGl0ZXJhbD4gd2l0aCA8bGl0ZXJhbD4uLTwvbGl0ZXJhbD4gdG8gYWxzbwotICAgICAgYW5hbHl6ZSBhbGwgc3VicGFja2FnZXMuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LWxvdzwvY29tbWFuZD48L3Rlcm0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBSZXBvcnQgYWxsIGJ1Z3MuCi0gICAgPC9wYXJhPgotICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICA8dGVybT48Y29tbWFuZD4tbWVkaXVtPC9jb21tYW5kPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIFJlcG9ydCBtZWRpdW0gYW5kIGhpZ2ggcHJpb3JpdHkgYnVncy4gIFRoaXMgaXMgdGhlIGRlZmF1bHQgc2V0dGluZy4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gIDx0ZXJtPjxjb21tYW5kPi1oaWdoPC9jb21tYW5kPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIFJlcG9ydCBvbmx5IGhpZ2ggcHJpb3JpdHkgYnVncy4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LXJlbGF4ZWQ8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICBSZWxheGVkIHJlcG9ydGluZyBtb2RlLiAgRm9yIG1hbnkgZGV0ZWN0b3JzLCB0aGlzIG9wdGlvbgotICAgICAgICAgICAgc3VwcHJlc3NlcyB0aGUgaGV1cmlzdGljcyB1c2VkIHRvIGF2b2lkIHJlcG9ydGluZyBmYWxzZSBwb3NpdGl2ZXMuCi0gICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICA8dGVybT48Y29tbWFuZD4teG1sPC9jb21tYW5kPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIFByb2R1Y2UgdGhlIGJ1ZyByZXBvcnRzIGFzIFhNTC4gIFRoZSBYTUwgZGF0YSBwcm9kdWNlZCBtYXkgYmUKLSAgICB2aWV3ZWQgaW4gdGhlIEdVSSBhdCBhIGxhdGVyIHRpbWUuICBZb3UgbWF5IGFsc28gc3BlY2lmeSB0aGlzCi0gICAgb3B0aW9uIGFzIDxjb21tYW5kPi14bWw6d2l0aE1lc3NhZ2VzPC9jb21tYW5kPjsgd2hlbiB0aGlzIHZhcmlhbnQKLSAgICBvZiB0aGUgb3B0aW9uIGlzIHVzZWQsIHRoZSBYTUwgb3V0cHV0IHdpbGwgY29udGFpbiBodW1hbi1yZWFkYWJsZQotICAgIG1lc3NhZ2VzIGRlc2NyaWJpbmcgdGhlIHdhcm5pbmdzIGNvbnRhaW5lZCBpbiB0aGUgZmlsZS4KLSAgICBYTUwgZmlsZXMgZ2VuZXJhdGVkIHRoaXMgd2F5IGFyZSBlYXN5IHRvIHRyYW5zZm9ybSBpbnRvIHJlcG9ydHMuCi0gICAgPC9wYXJhPgotICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICA8dGVybT48Y29tbWFuZD4taHRtbDwvY29tbWFuZD48L3Rlcm0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBHZW5lcmF0ZSBIVE1MIG91dHB1dC4gIEJ5IGRlZmF1bHQsICZGaW5kQnVnczsgd2lsbCB1c2UgdGhlIDxmaWxlbmFtZT5kZWZhdWx0LnhzbDwvZmlsZW5hbWU+Ci0gICAgPHVsaW5rIHVybD0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCI+WFNMVDwvdWxpbms+Ci0gICAgc3R5bGVzaGVldCB0byBnZW5lcmF0ZSB0aGUgSFRNTDogeW91IGNhbiBmaW5kIHRoaXMgZmlsZSBpbiA8ZmlsZW5hbWU+ZmluZGJ1Z3MuamFyPC9maWxlbmFtZT4sCi0gICAgb3IgaW4gdGhlICZGaW5kQnVnczsgc291cmNlIG9yIGJpbmFyeSBkaXN0cmlidXRpb25zLiAgVmFyaWFudHMgb2YgdGhpcyBvcHRpb24gaW5jbHVkZQotICAgIDxjb21tYW5kPi1odG1sOnBsYWluLnhzbDwvY29tbWFuZD4sIDxjb21tYW5kPi1odG1sOmZhbmN5LnhzbDwvY29tbWFuZD4gYW5kIDxjb21tYW5kPi1odG1sOmZhbmN5LWhpc3QueHNsPC9jb21tYW5kPi4KLSAgICBUaGUgPGZpbGVuYW1lPnBsYWluLnhzbDwvZmlsZW5hbWU+IHN0eWxlc2hlZXQgZG9lcyBub3QgdXNlIEphdmFzY3JpcHQgb3IgRE9NLAotICAgIGFuZCBtYXkgd29yayBiZXR0ZXIgd2l0aCBvbGRlciB3ZWIgYnJvd3NlcnMsIG9yIGZvciBwcmludGluZy4gIFRoZSA8ZmlsZW5hbWU+ZmFuY3kueHNsPC9maWxlbmFtZT4KLSAgICBzdHlsZXNoZWV0IHVzZXMgRE9NIGFuZCBKYXZhc2NyaXB0IGZvciBuYXZpZ2F0aW9uIGFuZCBDU1MgZm9yCi0gICAgdmlzdWFsIHByZXNlbnRhdGlvbi4gVGhlIDxjb21tYW5kPmZhbmN5LWhpc3QueHNsPC9jb21tYW5kPiBhbiBldm9sdXRpb24gb2YgPGNvbW1hbmQ+ZmFuY3kueHNsPC9jb21tYW5kPiBzdHlsZXNoZWV0LgotICAgIEl0IG1ha2VzIGFuIGV4dGVuc2l2ZSB1c2Ugb2YgRE9NIGFuZCBKYXZhc2NyaXB0IGZvciBkeW5hbWljYWxseSBmaWx0ZXJpbmcgdGhlIGxpc3RzIG9mIGJ1Z3MuCi0gICAgPC9wYXJhPgotCi0gICAgPHBhcmE+Ci0gICAgICBJZiB5b3Ugd2FudCB0byBzcGVjaWZ5IHlvdXIgb3duCi0gICAgWFNMVCBzdHlsZXNoZWV0IHRvIHBlcmZvcm0gdGhlIHRyYW5zZm9ybWF0aW9uIHRvIEhUTUwsIHNwZWNpZnkgdGhlIG9wdGlvbiBhcwotICAgIDxjb21tYW5kPi1odG1sOjxyZXBsYWNlYWJsZT5teVN0eWxlc2hlZXQueHNsPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+LAotICAgIHdoZXJlIDxyZXBsYWNlYWJsZT5teVN0eWxlc2hlZXQueHNsPC9yZXBsYWNlYWJsZT4gaXMgdGhlIGZpbGVuYW1lIG9mIHRoZQotICAgIHN0eWxlc2hlZXQgeW91IHdhbnQgdG8gdXNlLgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LWVtYWNzPC9jb21tYW5kPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIFByb2R1Y2UgdGhlIGJ1ZyByZXBvcnRzIGluIEVtYWNzIGZvcm1hdC4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gIDx0ZXJtPjxjb21tYW5kPi14ZG9jczwvY29tbWFuZD48L3Rlcm0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBQcm9kdWNlIHRoZSBidWcgcmVwb3J0cyBpbiB4ZG9jIFhNTCBmb3JtYXQgZm9yIHVzZSB3aXRoIEFwYWNoZSBNYXZlbi4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LW91dHB1dDwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPmZpbGVuYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPgotICAgICAgIFByb2R1Y2UgdGhlIG91dHB1dCBpbiB0aGUgc3BlY2lmaWVkIGZpbGUuCi0gICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LW91dHB1dEZpbGU8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5maWxlbmFtZTwvcmVwbGFjZWFibGU+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBUaGlzIGFyZ3VtZW50IGlzIGRlcHJlY2F0ZWQuICBVc2UgPGNvbW1hbmQ+LW91dHB1dDwvY29tbWFuZD4gaW5zdGVhZC4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LW5lc3RlZDwvY29tbWFuZD48cmVwbGFjZWFibGU+Wzp0cnVlfGZhbHNlXTwvcmVwbGFjZWFibGU+PC90ZXJtPgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+Ci0gICAgVGhpcyBvcHRpb24gZW5hYmxlcyBvciBkaXNhYmxlcyBzY2FubmluZyBvZiBuZXN0ZWQgamFyIGFuZCB6aXAgZmlsZXMgZm91bmQgaW4KLSAgICB0aGUgbGlzdCBvZiBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdG8gYmUgYW5hbHl6ZWQuCi0gICAgQnkgZGVmYXVsdCwgc2Nhbm5pbmcgb2YgbmVzdGVkIGphci96aXAgZmlsZXMgaXMgZW5hYmxlZC4KLSAgICBUbyBkaXNhYmxlIGl0LCBhZGQgPGNvbW1hbmQ+LW5lc3RlZDpmYWxzZTwvY29tbWFuZD4gdG8gdGhlIGNvbW1hbmQgbGluZQotICAgIGFyZ3VtZW50cy4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gIDx0ZXJtPjxjb21tYW5kPi1hdXhjbGFzc3BhdGg8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5jbGFzc3BhdGg8L3JlcGxhY2VhYmxlPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIFNldCB0aGUgYXV4aWxpYXJ5IGNsYXNzcGF0aCBmb3IgYW5hbHlzaXMuICBUaGlzIGNsYXNzcGF0aCBzaG91bGQgaW5jbHVkZSBhbGwKLSAgICBqYXIgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgY2xhc3NlcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBwcm9ncmFtCi0gICAgYmVpbmcgYW5hbHl6ZWQgYnV0IHlvdSBkbyBub3Qgd2FudCB0byBoYXZlIGFuYWx5emVkIGZvciBidWdzLgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LXVzZXJQcmVmczwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPmVkdS51bWQuY3MuZmluZGJ1Z3MuY29yZS5wcmVmczwvcmVwbGFjZWFibGU+PC90ZXJtPgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+Ci0gICAgU2V0IHRoZSBwYXRoIG9mIHRoZSB1c2VyIHByZWZlcmVuY2VzIGZpbGUgdG8gdXNlLCB3aGljaCBtaWdodCBvdmVycmlkZSBzb21lIG9mIHRoZSBvcHRpb25zIGFib2JlLgotICAgIFNwZWNpZnlpbmcgPGxpdGVyYWw+dXNlclByZWZzPC9saXRlcmFsPiBhcyBmaXJzdCBhcmd1bWVudCB3b3VsZCBtZWFuIHNvbWUgbGF0ZXIKLSAgICBvcHRpb25zIHdpbGwgb3ZlcnJpZGUgdGhlbSwgYXMgbGFzdCBhcmd1bWVudCB3b3VsZCBtZWFuIHRoZXkgd2lsbCBvdmVycmlkZSBzb21lIHByZXZpb3VzIG9wdGlvbnMpLgotICAgIFRoaXMgcmF0aW9uYWxlIGJlaGluZCB0aGlzIG9wdGlvbiBpcyB0byByZXVzZSBGaW5kQnVncyBFY2xpcHNlIHByb2plY3Qgc2V0dGluZ3MgZm9yIGNvbW1hbmQKLSAgICBsaW5lIGV4ZWN1dGlvbi4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi08IS0tCi0gIDx2YXJsaXN0ZW50cnk+Ci0gIDx0ZXJtPjxjb21tYW5kPjwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPjwvcmVwbGFjZWFibGU+PC90ZXJtPgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+Ci0gICAgPC9wYXJhPgotICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLS0tPgotCi08L3ZhcmlhYmxlbGlzdD4KLQotPC9zZWN0Mj4KLTwvc2VjdDE+Ci0KLQotPC9jaGFwdGVyPgotCi08Y2hhcHRlciBpZD0iZ3VpIj4KLSAgICA8dGl0bGU+VXNpbmcgdGhlICZGaW5kQnVnczsgR1VJPC90aXRsZT4KLQotICAgIDxwYXJhPgotICAgICAgICBUaGlzIGNoYXB0ZXIgZGVzY3JpYmVzIGhvdyB0byB1c2UgdGhlICZGaW5kQnVnczsgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIChHVUkpLgotICAgIDwvcGFyYT4KLQotPHNlY3QxPgotPHRpdGxlPkNyZWF0aW5nIGEgUHJvamVjdDwvdGl0bGU+Ci08cGFyYT4KLUFmdGVyIHlvdSBoYXZlIHN0YXJ0ZWQgJkZpbmRCdWdzOyB1c2luZyB0aGUgPGNvbW1hbmQ+ZmluZGJ1Z3M8L2NvbW1hbmQ+IGNvbW1hbmQsCi1jaG9vc2UgdGhlIDxtZW51Y2hvaWNlPjxndWltZW51PkZpbGU8L2d1aW1lbnU+PGd1aW1lbnVpdGVtPk5ldyBQcm9qZWN0PC9ndWltZW51aXRlbT48L21lbnVjaG9pY2U+Ci1tZW51IGl0ZW0uICBZb3Ugd2lsbCBzZWUgYSBkaWFsb2cgd2hpY2ggbG9va3MgbGlrZSB0aGlzOgotPG1lZGlhb2JqZWN0PgotPGltYWdlb2JqZWN0PgotPGltYWdlZGF0YSBmaWxlcmVmPSJwcm9qZWN0LWRpYWxvZy5wbmciICAvPgotPC9pbWFnZW9iamVjdD4KLTwvbWVkaWFvYmplY3Q+Ci08L3BhcmE+Ci0KLTxwYXJhPgotVXNlIHRoZSAiQWRkIiBidXR0b24gbmV4dCB0byAiQ2xhc3NwYXRoIHRvIGFuYWx5emUiIHRvIHNlbGVjdCBhIEphdmEgYXJjaGl2ZQotZmlsZSAoemlwLCBqYXIsIGVhciwgb3Igd2FyIGZpbGUpIG9yIGRpcmVjdG9yeSBjb250YWluaW5nIGphdmEgY2xhc3NlcyB0byBhbmFseXplIGZvciBidWdzLiAgWW91IG1heSBhZGQgbXVsdGlwbGUKLWFyY2hpdmVzL2RpcmVjdG9yaWVzLgotPC9wYXJhPgotCi08cGFyYT4KLVlvdSBjYW4gYWxzbyBhZGQgdGhlIHNvdXJjZSBkaXJlY3RvcmllcyB3aGljaCBjb250YWluCi10aGUgc291cmNlIGNvZGUgZm9yIHRoZSBKYXZhIGFyY2hpdmVzIHlvdSBhcmUgYW5hbHl6aW5nLiAgVGhpcyB3aWxsIGVuYWJsZQotJkZpbmRCdWdzOyB0byBoaWdobGlnaHQgdGhlIHNvdXJjZSBjb2RlIHdoaWNoIGNvbnRhaW5zIGEgcG9zc2libGUgZXJyb3IuCi1UaGUgc291cmNlIGRpcmVjdG9yaWVzIHlvdSBhZGQgc2hvdWxkIGJlIHRoZSByb290cyBvZiB0aGUgSmF2YQotcGFja2FnZSBoaWVyYXJjaHkuICBGb3IgZXhhbXBsZSwgaWYgeW91ciBhcHBsaWNhdGlvbiBpcyBjb250YWluZWQgaW4gdGhlCi08dmFybmFtZT5vcmcuZm9vYmFyLm15YXBwPC92YXJuYW1lPiBwYWNrYWdlLCB5b3Ugc2hvdWxkIGFkZCB0aGUKLXBhcmVudCBkaXJlY3Rvcnkgb2YgdGhlIDxmaWxlbmFtZSBjbGFzcz0iZGlyZWN0b3J5Ij5vcmc8L2ZpbGVuYW1lPiBkaXJlY3RvcnkKLXRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5IGxpc3QgZm9yIHRoZSBwcm9qZWN0LgotPC9wYXJhPgotCi08cGFyYT4KLUFub3RoZXIgb3B0aW9uYWwgc3RlcCBpcyB0byBhZGQgYWRkaXRpb25hbCBKYXIgZmlsZXMgb3IgZGlyZWN0b3JpZXMgYXMKLSJBdXhpbGlhcnkgY2xhc3NwYXRoIGxvY2F0aW9ucyIgZW50cmllcy4gIFlvdSBzaG91bGQgZG8gdGhpcyBpZiB0aGUgYXJjaGl2ZXMgYW5kIGRpcmVjdG9yaWVzIHlvdSBhcmUgYW5hbHl6aW5nCi1oYXZlIHJlZmVyZW5jZXMgdG8gb3RoZXIgY2xhc3NlcyB3aGljaCBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBhbmFseXplZAotYXJjaGl2ZXMvZGlyZWN0b3JpZXMgYW5kIGFyZSBub3QgaW4gdGhlIHN0YW5kYXJkIHJ1bnRpbWUgY2xhc3NwYXRoLiAgU29tZSBvZiB0aGUgYnVnCi1wYXR0ZXJuIGRldGVjdG9ycyBpbiAmRmluZEJ1Z3M7IG1ha2UgdXNlIG9mIGNsYXNzIGhpZXJhcmNoeSBpbmZvcm1hdGlvbiwKLXNvIHlvdSB3aWxsIGdldCBtb3JlIGFjY3VyYXRlIHJlc3VsdHMgaWYgdGhlIGVudGlyZSBjbGFzcyBoaWVyYXJjaHkgaXMKLWF2YWlsYWJsZSB3aGljaCAmRmluZEJ1Z3M7IHBlcmZvcm1zIGl0cyBhbmFseXNpcy4KLTwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPlJ1bm5pbmcgdGhlIEFuYWx5c2lzPC90aXRsZT4KLTxwYXJhPgotT25jZSB5b3UgaGF2ZSBhZGRlZCBhbGwgb2YgdGhlIGFyY2hpdmVzLCBkaXJlY3RvcmllcywgYW5kIHNvdXJjZSBkaXJlY3RvcmllcywKLWNsaWNrIHRoZSAiQW5hbHl6ZSIgYnV0dG9uIHRvIGFuYWx5emUgdGhlIGNsYXNzZXMgY29udGFpbmVkIGluIHRoZQotSmFyIGZpbGVzLiAgTm90ZSB0aGF0IGZvciBhIHZlcnkgbGFyZ2UgcHJvZ3JhbSBvbiBhbiBvbGRlciBjb21wdXRlciwKLXRoaXMgbWF5IHRha2UgcXVpdGUgYSB3aGlsZSAodGVucyBvZiBtaW51dGVzKS4gIEEgcmVjZW50IGNvbXB1dGVyIHdpdGgKLWFtcGxlIG1lbW9yeSB3aWxsIHR5cGljYWxseSBiZSBhYmxlIHRvIGFuYWx5emUgYSBsYXJnZSBwcm9ncmFtIGluIG9ubHkgYQotZmV3IG1pbnV0ZXMuCi08L3BhcmE+Ci08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+QnJvd3NpbmcgUmVzdWx0czwvdGl0bGU+Ci0KLTxwYXJhPgotV2hlbiB0aGUgYW5hbHlzaXMgY29tcGxldGVzLCB5b3Ugd2lsbCBzZWUgYSBzY3JlZW4gbGlrZSB0aGUgZm9sbG93aW5nOgotPG1lZGlhb2JqZWN0PgotICA8aW1hZ2VvYmplY3Q+Ci0gICAgPGltYWdlZGF0YSBmaWxlcmVmPSJleGFtcGxlLWRldGFpbHMucG5nIiAgLz4KLSAgPC9pbWFnZW9iamVjdD4KLTwvbWVkaWFvYmplY3Q+Ci08L3BhcmE+Ci0KLTxwYXJhPgotVGhlIHVwcGVyIGxlZnQtaGFuZCBwYW5lIG9mIHRoZSB3aW5kb3cgc2hvd3MgdGhlIGJ1ZyB0cmVlOyB0aGlzIGlzIGEgaGllcmFyY2hpY2FsCi1yZXByZXNlbnRhdGlvbiBvZiBhbGwgb2YgdGhlIHBvdGVudGlhbCBidWdzIGRldGVjdGVkIGluIHRoZSBhbmFseXplZAotSmFyIGZpbGVzLgotPC9wYXJhPgotCi08cGFyYT4KLVdoZW4geW91IHNlbGVjdCBhIHBhcnRpY3VsYXIgYnVnIGluc3RhbmNlIGluIHRoZSB0b3AgcGFuZSwgeW91IHdpbGwKLXNlZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBidWcgaW4gdGhlICJEZXRhaWxzIiB0YWIgb2YgdGhlIGJvdHRvbSBwYW5lLgotSW4gYWRkaXRpb24sIHRoZSBzb3VyY2UgY29kZSBwYW5lIG9uIHRoZSB1cHBlci1yaWdodCB3aWxsIHNob3cgdGhlCi1wcm9ncmFtIHNvdXJjZSBjb2RlIHdoZXJlIHRoZSBwb3RlbnRpYWwgYnVnIG9jY3VycywgaWYgc291cmNlIGlzIGF2YWlsYWJsZS4KLUluIHRoZSBhYm92ZSBleGFtcGxlLCB0aGUgYnVnIGlzIGEgc3RyZWFtIG9iamVjdCB0aGF0IGlzIG5vdCBjbG9zZWQuICBUaGUKLXNvdXJjZSBjb2RlIHdpbmRvdyBoaWdobGlnaHRzIHRoZSBsaW5lIHdoZXJlIHRoZSBzdHJlYW0gb2JqZWN0IGlzIGNyZWF0ZWQuCi08L3BhcmE+Ci0KLTxwYXJhPgotWW91IG1heSBhZGQgYSB0ZXh0dWFsIGFubm90YXRpb25zIHRvIGJ1ZyBpbnN0YW5jZXMuICBUbyBkbyBzbywgdHlwZSB0aGVtCi1pbnRvIHRoZSB0ZXh0IGJveCBqdXN0IGJlbG93IHRoZSBoaWVyYXJjaGljYWwgdmlldy4gIFlvdSBjYW4gdHlwZSBhbnkKLWluZm9ybWF0aW9uIHdoaWNoIHlvdSB3b3VsZCBsaWtlIHRvIHJlY29yZC4gIFdoZW4geW91IGxvYWQgYW5kIHNhdmUgYnVnCi1yZXN1bHRzIGZpbGVzLCB0aGUgYW5ub3RhdGlvbnMgYXJlIHByZXNlcnZlZC4KLTwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPlNhdmluZyBhbmQgT3BlbmluZzwvdGl0bGU+Ci0KLTxwYXJhPgotWW91IG1heSB1c2UgdGhlIDxtZW51Y2hvaWNlPjxndWltZW51PkZpbGU8L2d1aW1lbnU+PGd1aW1lbnVpdGVtPlNhdmUgYXMuLi48L2d1aW1lbnVpdGVtPjwvbWVudWNob2ljZT4KLW1lbnUgb3B0aW9uIHRvIHNhdmUgeW91ciB3b3JrLiAgVG8gc2F2ZSB5b3VyIHdvcmssIGluY2x1ZGluZyB0aGUgamFyCi1maWxlIGxpc3RzIHlvdSBzcGVjaWZpZWQgYW5kIGFsbCBidWcgcmVzdWx0cywgY2hvb3NlCi0iRmluZEJ1Z3MgYW5hbHlzaXMgcmVzdWx0cyAoLnhtbCkiIGZyb20gdGhlIGRyb3AtZG93biBsaXN0IGluIHRoZQotIlNhdmUgYXMuLi4iIGRpYWxvZy4gIFRoZXJlIGFyZSBhbHNvIG9wdGlvbnMgZm9yIHNhdmluZyBqdXN0IHRoZSBqYXIKLWZpbGUgbGlzdHMgKCJGaW5kQnVncyBwcm9qZWN0IGZpbGUgKC5mYnApIikgb3IganVzdCB0aGUgcmVzdWx0cwotKCJGaW5kQnVncyBhbmFseXNpcyBmaWxlICguZmJhKSIpLgotQSBzYXZlZCBmaWxlIG1heSBiZSBsb2FkZWQgd2l0aCB0aGUKLTxtZW51Y2hvaWNlPjxndWltZW51PkZpbGU8L2d1aW1lbnU+PGd1aW1lbnVpdGVtPk9wZW4uLi48L2d1aW1lbnVpdGVtPjwvbWVudWNob2ljZT4KLW1lbnUgb3B0aW9uLgotPC9wYXJhPgotCi08L3NlY3QxPgotCi08IS0tCi08c2VjdDEgaWQ9InRleHR1aSI+Ci08dGl0bGU+VXNpbmcgdGhlICZGaW5kQnVnczsmdHJhZGU7IENvbW1hbmQgTGluZSBJbnRlcmZhY2U8L3RpdGxlPgotCi08cGFyYT4KLVRoZSAmRmluZEJ1Z3M7IENvbW1hbmQgTGluZSBJbnRlcmZhY2UgKG9yIFRleHQgVUkpIGNhbiBiZSB1c2VkIHRvCi1hbmFseXplIGFuIGFwcGxpY2F0aW9uIGZvciBidWdzIG5vbi1pbnRlcmFjdGl2ZWx5LiAgRWFjaCBidWcgaW5zdGFuY2Ugd2lsbCBiZQotcmVwb3J0ZWQgb24gYSBzaW5nbGUgbGluZS4gIEFsbCBvdXRwdXQgaXMgd3JpdHRlbiB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IGZpbGUgZGVzY3JpcHRvci4KLTx4cmVmIGxpbmtlbmQ9ImZpbHRlciIgLz4gZXhwbGFpbnMgaG93IGJ1ZyByZXBvcnRzIG1heSBiZSBmaWx0ZXJlZCBpbiBvcmRlcgotdG8gZ2V0IG9ubHkgdGhlIG91dHB1dCB5b3UncmUgaW50ZXJlc3RlZCBpbi4KLTwvcGFyYT4KLQotPHBhcmE+Ci1TZWUgPHhyZWYgbGlua2VuZD0iY29tbWFuZExpbmVPcHRpb25zIiAvPiBmb3IgYSBkZXNjcmlwdGlvbiBvZiBob3cgdG8gaW52b2tlIHRoZQotQ29tbWFuZCBMaW5lIEludGVyZmFjZS4KLTwvcGFyYT4KLTwvc2VjdDE+Ci0tLT4KLQotPC9jaGFwdGVyPgotCi08IS0tCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAgVXNpbmcgdGhlIEZpbmRCdWdzIEFudCB0YXNrCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJhbnR0YXNrIj4KLTx0aXRsZT5Vc2luZyB0aGUgJkZpbmRCdWdzOyZ0cmFkZTsgJkFudDsgdGFzazwvdGl0bGU+Ci0KLTxwYXJhPgotVGhpcyBjaGFwdGVyIGRlc2NyaWJlcyBob3cgdG8gaW50ZWdyYXRlICZGaW5kQnVnczsgaW50byBhIGJ1aWxkIHNjcmlwdAotZm9yIDx1bGluayB1cmw9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy8iPiZBbnQ7PC91bGluaz4sIHdoaWNoIGlzIGEgcG9wdWxhciBKYXZhIGJ1aWxkCi1hbmQgZGVwbG95bWVudCB0b29sLiAgVXNpbmcgdGhlICZGaW5kQnVnczsgJkFudDsgdGFzaywgeW91ciBidWlsZCBzY3JpcHQgY2FuCi1hdXRvbWF0aWNhbGx5IHJ1biAmRmluZEJ1Z3M7IG9uIHlvdXIgSmF2YSBjb2RlLgotPC9wYXJhPgotCi08cGFyYT4KLVRoZSAmQW50OyB0YXNrIHdhcyBnZW5lcm91c2x5IGNvbnRyaWJ1dGVkIGJ5IE1pa2UgRmFnYW4uCi08L3BhcmE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5JbnN0YWxsaW5nIHRoZSAmQW50OyB0YXNrPC90aXRsZT4KLQotPHBhcmE+Ci1UbyBpbnN0YWxsIHRoZSAmQW50OyB0YXNrLCBzaW1wbHkgY29weSA8ZmlsZW5hbWU+JkZCSG9tZTsvbGliL2ZpbmRidWdzLWFudC5qYXI8L2ZpbGVuYW1lPgotaW50byB0aGUgPGZpbGVuYW1lPmxpYjwvZmlsZW5hbWU+IHN1YmRpcmVjdG9yeSBvZiB5b3VyICZBbnQ7IGluc3RhbGxhdGlvbi4KLQotPG5vdGU+Ci08cGFyYT5JdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0aGF0IHlvdSB1c2UgdGhlICZBbnQ7IHRhc2sgd2l0aCB0aGUgdmVyc2lvbgotb2YgJkZpbmRCdWdzOyBpdCB3YXMgaW5jbHVkZWQgd2l0aC4gIFdlIGRvIG5vdCBndWFyYW50ZWUgdGhhdCB0aGUgJkFudDsgdGFzayBKYXIgZmlsZQotd2lsbCB3b3JrIHdpdGggYW55IHZlcnNpb24gb2YgJkZpbmRCdWdzOyBvdGhlciB0aGFuIHRoZSBvbmUgaXQgd2FzIGluY2x1ZGVkIHdpdGguPC9wYXJhPgotPC9ub3RlPgotPC9wYXJhPgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+TW9kaWZ5aW5nIGJ1aWxkLnhtbDwvdGl0bGU+Ci0KLTxwYXJhPgotVG8gaW5jb3Jwb3JhdGUgJkZpbmRCdWdzOyBpbnRvIDxmaWxlbmFtZT5idWlsZC54bWw8L2ZpbGVuYW1lPiAodGhlIGJ1aWxkIHNjcmlwdAotZm9yICZBbnQ7KSwgeW91IGZpcnN0IG5lZWQgdG8gYWRkIGEgdGFzayBkZWZpbml0aW9uLiAgVGhpcyBzaG91bGQgYXBwZWFyIGFzIGZvbGxvd3M6Ci0KLTxzY3JlZW4+Ci0gICZsdDt0YXNrZGVmIG5hbWU9ImZpbmRidWdzIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5GaW5kQnVnc1Rhc2siLyZndDsKLTwvc2NyZWVuPgotCi1UaGUgdGFzayBkZWZpbml0aW9uIHNwZWNpZmllcyB0aGF0IHdoZW4gYSA8bGl0ZXJhbD5maW5kYnVnczwvbGl0ZXJhbD4gZWxlbWVudCBpcwotc2VlbiBpbiA8ZmlsZW5hbWU+YnVpbGQueG1sPC9maWxlbmFtZT4sIGl0IHNob3VsZCB1c2UgdGhlIGluZGljYXRlZCBjbGFzcyB0byBleGVjdXRlIHRoZSB0YXNrLgotPC9wYXJhPgotCi08cGFyYT4KLUFmdGVyIHlvdSBoYXZlIGFkZGVkIHRoZSB0YXNrIGRlZmluaXRpb24sIHlvdSBjYW4gZGVmaW5lIGEgdGFyZ2V0Ci13aGljaCB1c2VzIHRoZSA8bGl0ZXJhbD5maW5kYnVnczwvbGl0ZXJhbD4gdGFzay4gIEhlcmUgaXMgYW4gZXhhbXBsZQotd2hpY2ggY291bGQgYmUgYWRkZWQgdG8gdGhlIDxmaWxlbmFtZT5idWlsZC54bWw8L2ZpbGVuYW1lPiBmb3IgdGhlCi1BcGFjaGUgPHVsaW5rIHVybD0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy9iY2VsLyI+QkNFTDwvdWxpbms+IGxpYnJhcnkuCi0KLTxzY3JlZW4+Ci0gICZsdDtwcm9wZXJ0eSBuYW1lPSJmaW5kYnVncy5ob21lIiB2YWx1ZT0iL2V4cG9ydC9ob21lL2RhdmVoby93b3JrL2ZpbmRidWdzIiAvJmd0OwotCi0gICZsdDt0YXJnZXQgbmFtZT0iZmluZGJ1Z3MiIGRlcGVuZHM9ImphciImZ3Q7Ci0gICAgJmx0O2ZpbmRidWdzIGhvbWU9IiR7ZmluZGJ1Z3MuaG9tZX0iCi0gICAgICAgICAgICAgIG91dHB1dD0ieG1sIgotICAgICAgICAgICAgICBvdXRwdXRGaWxlPSJiY2VsLWZiLnhtbCIgJmd0OwotICAgICAgJmx0O2F1eENsYXNzcGF0aCBwYXRoPSIke2Jhc2VkaXJ9L2xpYi9SZWdleC5qYXIiIC8mZ3Q7Ci0gICAgICAmbHQ7c291cmNlUGF0aCBwYXRoPSIke2Jhc2VkaXJ9L3NyYy9qYXZhIiAvJmd0OwotICAgICAgJmx0O2NsYXNzIGxvY2F0aW9uPSIke2Jhc2VkaXJ9L2Jpbi9iY2VsLmphciIgLyZndDsKLSAgICAmbHQ7L2ZpbmRidWdzJmd0OwotICAmbHQ7L3RhcmdldCZndDsKLTwvc2NyZWVuPgotCi1UaGUgPGxpdGVyYWw+ZmluZGJ1Z3M8L2xpdGVyYWw+IGVsZW1lbnQgbXVzdCBoYXZlIHRoZSA8bGl0ZXJhbD5ob21lPC9saXRlcmFsPgotYXR0cmlidXRlIHNldCB0byB0aGUgZGlyZWN0b3J5IGluIHdoaWNoICZGaW5kQnVnczsgaXMgaW5zdGFsbGVkOyBpbiBvdGhlciB3b3JkcywKLSZGQkhvbWU7LiAgU2VlIDx4cmVmIGxpbmtlbmQ9Imluc3RhbGxpbmciIC8+LgotPC9wYXJhPgotCi08cGFyYT4KLVRoaXMgdGFyZ2V0IHdpbGwgZXhlY3V0ZSAmRmluZEJ1Z3M7IG9uIDxmaWxlbmFtZT5iY2VsLmphcjwvZmlsZW5hbWU+LCB3aGljaCBpcyB0aGUKLUphciBmaWxlIHByb2R1Y2VkIGJ5IEJDRUwncyBidWlsZCBzY3JpcHQuICAoQnkgbWFraW5nIGl0IGRlcGVuZCBvbiB0aGUgImphciIKLXRhcmdldCwgd2UgZW5zdXJlIHRoYXQgdGhlIGxpYnJhcnkgaXMgZnVsbHkgY29tcGlsZWQgYmVmb3JlIHJ1bm5pbmcgJkZpbmRCdWdzOyBvbiBpdC4pCi1UaGUgb3V0cHV0IG9mICZGaW5kQnVnczsgd2lsbCBiZSBzYXZlZCBpbiBYTUwgZm9ybWF0IHRvIGEgZmlsZSBjYWxsZWQKLTxmaWxlbmFtZT5iY2VsLWZiLnhtbDwvZmlsZW5hbWU+LgotQW4gYXV4aWxpYXJ5IEphciBmaWxlLCA8ZmlsZW5hbWU+UmVnZXguamFyPC9maWxlbmFtZT4sIGlzIGFkZGVkIHRvIHRoZSBhdXggY2xhc3NwYXRoLAotYmVjYXVzZSBpdCBpcyByZWZlcmVuY2VkIGJ5IHRoZSBtYWluIEJDRUwgbGlicmFyeS4gIEEgc291cmNlIHBhdGggaXMgc3BlY2lmaWVkCi1zbyB0aGF0IHRoZSBzYXZlZCBidWcgZGF0YSB3aWxsIGhhdmUgYWNjdXJhdGUgcmVmZXJlbmNlcyB0byB0aGUgQkNFTCBzb3VyY2UgY29kZS4KLTwvcGFyYT4KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5FeGVjdXRpbmcgdGhlIHRhc2s8L3RpdGxlPgotCi08cGFyYT4KLUhlcmUgaXMgYW4gZXhhbXBsZSBvZiBpbnZva2luZyAmQW50OyBmcm9tIHRoZSBjb21tYW5kIGxpbmUsIHVzaW5nIHRoZSA8bGl0ZXJhbD5maW5kYnVnczwvbGl0ZXJhbD4KLXRhcmdldCBkZWZpbmVkIGFib3ZlLgotCi08c2NyZWVuPgotICA8cHJvbXB0PltkYXZlaG9Abm9pcl0kPC9wcm9tcHQ+IDxjb21tYW5kPmFudCBmaW5kYnVnczwvY29tbWFuZD4KLSAgQnVpbGRmaWxlOiBidWlsZC54bWwKLQotICBpbml0OgotCi0gIGNvbXBpbGU6Ci0KLSAgZXhhbXBsZXM6Ci0KLSAgamFyOgotCi0gIGZpbmRidWdzOgotICAgW2ZpbmRidWdzXSBSdW5uaW5nIEZpbmRCdWdzLi4uCi0gICBbZmluZGJ1Z3NdIEJ1Z3Mgd2VyZSBmb3VuZAotICAgW2ZpbmRidWdzXSBPdXRwdXQgc2F2ZWQgdG8gYmNlbC1mYi54bWwKLQotICBCVUlMRCBTVUNDRVNTRlVMCi0gIFRvdGFsIHRpbWU6IDM1IHNlY29uZHMKLTwvc2NyZWVuPgotCi1JbiB0aGlzIGNhc2UsIGJlY2F1c2Ugd2Ugc2F2ZWQgdGhlIGJ1ZyByZXN1bHRzIGluIGFuIFhNTCBmaWxlLCB3ZSBjYW4KLXVzZSB0aGUgJkZpbmRCdWdzOyBHVUkgdG8gdmlldyB0aGUgcmVzdWx0czsgc2VlIDx4cmVmIGxpbmtlbmQ9InJ1bm5pbmciLz4uCi08L3BhcmE+Ci0KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5QYXJhbWV0ZXJzPC90aXRsZT4KLQotPHBhcmE+VGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgcGFyYW1ldGVycyB0aGF0IG1heSBiZSBzcGVjaWZpZWQgd2hlbgotdXNpbmcgdGhlICZGaW5kQnVnczsgdGFzay4KLQotPHZhcmlhYmxlbGlzdD4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPmNsYXNzPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgQSBvcHRpb25hbCBuZXN0ZWQgZWxlbWVudCBzcGVjaWZ5aW5nIHdoaWNoIGNsYXNzZXMgdG8gYW5hbHl6ZS4gIFRoZSA8bGl0ZXJhbD5jbGFzczwvbGl0ZXJhbD4KLSAgICAgICBlbGVtZW50IG11c3Qgc3BlY2lmeSBhIDxsaXRlcmFsPmxvY2F0aW9uPC9saXRlcmFsPiBhdHRyaWJ1dGUgd2hpY2ggbmFtZXMgdGhlCi0gICAgICAgYXJjaGl2ZSBmaWxlIChqYXIsIHppcCwgZXRjLiksIGRpcmVjdG9yeSwgb3IgY2xhc3MgZmlsZSB0byBiZSBhbmFseXplZC4gIE11bHRpcGxlIDxsaXRlcmFsPmNsYXNzPC9saXRlcmFsPgotICAgICAgIGVsZW1lbnRzIG1heSBiZSBzcGVjaWZpZWQgYXMgY2hpbGRyZW4gb2YgYSBzaW5nbGUgPGxpdGVyYWw+ZmluZGJ1Z3M8L2xpdGVyYWw+IGVsZW1lbnQuCi0gICAgICAgPC9wYXJhPgotICAgICAgIDxwYXJhPkluIGFkZGl0aW9uIHRvIG9yIGluc3RlYWQgb2Ygc3BlY2lmeWluZyBhIDxsaXRlcmFsPmNsYXNzPC9saXRlcmFsPiBlbGVtZW50LAotICAgICAgIHRoZSAgJkZpbmRCdWdzOyB0YXNrIGNhbiBjb250YWluIG9uZSBvciBtb3JlIDxsaXRlcmFsPmZpbGVzZXQ8L2xpdGVyYWw+IGVsZW1lbnQocykgdGhhdAotICAgICAgIHNwZWNpZnkgZmlsZXMgdG8gYmUgYW5hbHl6ZWQuCi0gICAgICAgRm9yIGV4YW1wbGUsIHlvdSBtaWdodCB1c2UgYSBmaWxlc2V0IHRvIHNwZWNpZnkgdGhhdCBhbGwgb2YgdGhlIGphciBmaWxlcyBpbiBhIGRpcmVjdG9yeQotICAgICAgIHNob3VsZCBiZSBhbmFseXplZC4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5hdXhDbGFzc3BhdGg8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBBbiBvcHRpb25hbCBuZXN0ZWQgZWxlbWVudCB3aGljaCBzcGVjaWZpZXMgYSBjbGFzc3BhdGggKEphciBmaWxlcyBvciBkaXJlY3RvcmllcykKLSAgICAgICBjb250YWluaW5nIGNsYXNzZXMgdXNlZCBieSB0aGUgYW5hbHl6ZWQgbGlicmFyeSBvciBhcHBsaWNhdGlvbiwgYnV0IHdoaWNoCi0gICAgICAgeW91IGRvbid0IHdhbnQgdG8gYW5hbHl6ZS4gIEl0IGlzIHNwZWNpZmllZCB0aGUgc2FtZSB3YXkgYXMKLSAgICAgICAmQW50OydzIDxsaXRlcmFsPmNsYXNzcGF0aDwvbGl0ZXJhbD4gZWxlbWVudCBmb3IgdGhlIEphdmEgdGFzay4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5zb3VyY2VQYXRoPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgQW4gb3B0aW9uYWwgbmVzdGVkIGVsZW1lbnQgd2hpY2ggc3BlY2lmaWVzIGEgc291cmNlIGRpcmVjdG9yeSBwYXRoCi0gICAgICAgY29udGFpbmluZyBzb3VyY2UgZmlsZXMgdXNlZCB0byBjb21waWxlIHRoZSBKYXZhIGNvZGUgYmVpbmcgYW5hbHl6ZWQuCi0gICAgICAgQnkgc3BlY2lmeWluZyBhIHNvdXJjZSBwYXRoLCBhbnkgZ2VuZXJhdGVkIFhNTCBidWcgb3V0cHV0IHdpbGwgaGF2ZQotICAgICAgIGNvbXBsZXRlIHNvdXJjZSBpbmZvcm1hdGlvbiwgd2hpY2ggYWxsb3dzIGxhdGVyIHZpZXdpbmcgaW4gdGhlCi0gICAgICAgR1VJLgotICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPmhvbWU8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBBIHJlcXVpcmVkIGF0dHJpYnV0ZS4KLSAgICAgICBJdCBtdXN0IGJlIHNldCB0byB0aGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHdoZXJlICZGaW5kQnVnczsgaXMgaW5zdGFsbGVkLgotICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPnF1aWV0RXJyb3JzPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgQW4gb3B0aW9uYWwgYm9vbGVhbiBhdHRyaWJ1dGUuCi0gICAgICAgSWYgdHJ1ZSwgcmVwb3J0cyBvZiBzZXJpb3VzIGFuYWx5c2lzIGVycm9ycyBhbmQgbWlzc2luZyBjbGFzc2VzIHdpbGwKLSAgICAgICBiZSBzdXBwcmVzc2VkIGluIHRoZSAmRmluZEJ1Z3M7IG91dHB1dC4gIERlZmF1bHQgaXMgZmFsc2UuCi0gICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+cmVwb3J0TGV2ZWw8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBBbiBvcHRpb25hbCBhdHRyaWJ1dGUuICBJdCBzcGVjaWZpZXMKLSAgICAgICB0aGUgY29uZmlkZW5jZS9wcmlvcml0eSB0aHJlc2hvbGQgZm9yIHJlcG9ydGluZyBpc3N1ZXMuICBJZiBzZXQgdG8gImxvdyIsIGNvbmZpZGVuY2UgaXMgbm90IHVzZWQgdG8gZmlsdGVyIGJ1Z3MuCi0gICAgICAgSWYgc2V0IHRvICJtZWRpdW0iICh0aGUgZGVmYXVsdCksIGxvdyBjb25maWRlbmNlIGlzc3VlcyBhcmUgc3VwcmVzc2VkLgotICAgICAgIElmIHNldCB0byAiaGlnaCIsIG9ubHkgaGlnaCBjb25maWRlbmNlIGJ1Z3MgYXJlIHJlcG9ydGVkLgotICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPm91dHB1dDwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPgotICAgICAgIE9wdGlvbmFsIGF0dHJpYnV0ZS4KLSAgICAgICBJdCBzcGVjaWZpZXMgdGhlIG91dHB1dCBmb3JtYXQuICBJZiBzZXQgdG8gInhtbCIgKHRoZSBkZWZhdWx0KSwgb3V0cHV0Ci0gICAgICAgaXMgaW4gWE1MIGZvcm1hdC4KLSAgICAgICBJZiBzZXQgdG8gInhtbDp3aXRoTWVzc2FnZXMiLCBvdXRwdXQgaXMgaW4gWE1MIGZvcm1hdCBhdWdtZW50ZWQgd2l0aAotICAgICAgIGh1bWFuLXJlYWRhYmxlIG1lc3NhZ2VzLiAgKFlvdSBzaG91bGQgdXNlIHRoaXMgZm9ybWF0IGlmIHlvdSBwbGFuCi0gICAgICAgIHRvIGdlbmVyYXRlIGEgcmVwb3J0IHVzaW5nIGFuIFhTTCBzdHlsZXNoZWV0LikKLSAgICAgICBJZiBzZXQgdG8gImh0bWwiLCBvdXRwdXQgaXMgaW4gSFRNTCBmb3JtYXR0ZWQgKGRlZmF1bHQgc3R5bGVzaGVldCBpcyBkZWZhdWx0LnhzbCkuCi0gICAgICAgIElmIHNldCB0byAidGV4dCIsIG91dHB1dCBpcyBpbiBhZC1ob2MgdGV4dCBmb3JtYXQuCi0gICAgICAgSWYgc2V0IHRvICJlbWFjcyIsIG91dHB1dCBpcyBpbiA8dWxpbmsgdXJsPSJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIj5FbWFjczwvdWxpbms+IGVycm9yIG1lc3NhZ2UgZm9ybWF0LgotICAgICAgIElmIHNldCB0byAieGRvY3MiLCBvdXRwdXQgaXMgeGRvYyBYTUwgZm9yIHVzZSB3aXRoIEFwYWNoZSBNYXZlbi4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0gPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5zdHlsZXNoZWV0PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLgotICAgICAgSXQgc3BlY2lmaWVzIHRoZSBzdHlsZXNoZWV0IHRvIHVzZSB0byBnZW5lcmF0ZSBodG1sIG91dHB1dCB3aGVuIHRoZSBvdXRwdXQgaXMgc2V0IHRvIGh0bWwuCi0gICAgICBTdHlsZXNoZWV0cyBpbmNsdWRlZCBpbiB0aGUgRmluZEJ1Z3MgZGlzdHJpYnV0aW9uIGluY2x1ZGUgZGVmYXVsdC54c2wsIGZhbmN5LnhzbCwgZmFuY3ktaGlzdC54c2wsIHBsYWluLnhzbCwgYW5kIHN1bW1hcnkueHNsLgotICAgICAgIFRoZSBkZWZhdWx0IHZhbHVlLCBpZiBubyBzdHlsZXNoZWV0IGF0dHJpYnV0ZSBpcyBwcm92aWRlZCwgaXMgZGVmYXVsdC54c2wuCi0KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5zb3J0PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLiAgSWYgdGhlIDxsaXRlcmFsPm91dHB1dDwvbGl0ZXJhbD4gYXR0cmlidXRlCi0gICAgICAgaXMgc2V0IHRvICJ0ZXh0IiwgdGhlbiB0aGUgPGxpdGVyYWw+c29ydDwvbGl0ZXJhbD4gYXR0cmlidXRlIHNwZWNpZmllcwotICAgICAgIHdoZXRoZXIgb3Igbm90IHJlcG9ydGVkIGJ1Z3MgYXJlIHNvcnRlZCBieSBjbGFzcy4gIERlZmF1bHQgaXMgdHJ1ZS4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5vdXRwdXRGaWxlPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLiAgSWYgc3BlY2lmaWVkLCBuYW1lcyB0aGUgb3V0cHV0IGZpbGUgaW4gd2hpY2ggdGhlCi0gICAgICAgJkZpbmRCdWdzOyBvdXRwdXQgd2lsbCBiZSBzYXZlZC4gIEJ5IGRlZmF1bHQsIHRoZSBvdXRwdXQgaXMgZGlzcGxheWVkCi0gICAgICAgZGlyZWN0bHkgYnkgJkFudDsuCi0gICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+ZGVidWc8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgIE9wdGlvbmFsIGJvb2xlYW4gYXR0cmlidXRlLiAgSWYgc2V0IHRvIHRydWUsICZGaW5kQnVnczsgcHJpbnRzIGRpYWdub3N0aWMKLSAgICAgIGluZm9ybWF0aW9uIGFib3V0IHdoaWNoIGNsYXNzZXMgYXJlIGJlaW5nIGFuYWx5emVkLCBhbmQgd2hpY2ggYnVnIHBhdHRlcm4KLSAgICAgIGRldGVjdG9ycyBhcmUgYmVpbmcgcnVuLiAgRGVmYXVsdCBpcyBmYWxzZS4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICAgIDx0ZXJtPjxsaXRlcmFsPmVmZm9ydDwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIFNldCB0aGUgYW5hbHlzaXMgZWZmb3J0IGxldmVsLiAgVGhlIHZhbHVlIHNwZWNpZmllZCBzaG91bGQgYmUKLSAgICAgICAgICAgICAgb25lIG9mIDxsaXRlcmFsPm1pbjwvbGl0ZXJhbD4sIDxsaXRlcmFsPmRlZmF1bHQ8L2xpdGVyYWw+LAotICAgICAgICAgICAgICBvciA8bGl0ZXJhbD5tYXg8L2xpdGVyYWw+LiAgU2VlIDx4cmVmIGxpbmtlbmQ9ImNvbW1hbmRMaW5lT3B0aW9ucyIvPgotICAgICAgICAgICAgICBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzZXR0aW5nIHRoZSBhbmFseXNpcyBsZXZlbC4KLSAgICAgICAgICA8L3BhcmE+Ci0gICAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPmNvbnNlcnZlU3BhY2U8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT5TeW5vbnltIGZvciBlZmZvcnQ9Im1pbiIuPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+d29ya0hhcmQ8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT5TeW5vbnltIGZvciBlZmZvcnQ9Im1heCIuPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+dmlzaXRvcnM8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUuICBJdCBzcGVjaWZpZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBidWcgZGV0ZWN0b3JzCi0gICAgICAgd2hpY2ggc2hvdWxkIGJlIHJ1bi4gIFRoZSBidWcgZGV0ZWN0b3JzIGFyZSBzcGVjaWZpZWQgYnkgdGhlaXIgY2xhc3MgbmFtZXMsCi0gICAgICAgd2l0aG91dCBhbnkgcGFja2FnZSBxdWFsaWZpY2F0aW9uLiAgQnkgZGVmYXVsdCwgYWxsIGRldGVjdG9ycyB3aGljaCBhcmUKLSAgICAgICBub3QgZGlzYWJsZWQgYnkgZGVmYXVsdCBhcmUgcnVuLgotICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPm9taXRWaXNpdG9yczwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPgotICAgICAgIE9wdGlvbmFsIGF0dHJpYnV0ZS4gIEl0IGlzIGxpa2UgdGhlIDxsaXRlcmFsPnZpc2l0b3JzPC9saXRlcmFsPiBhdHRyaWJ1dGUsCi0gICAgICAgZXhjZXB0IGl0IHNwZWNpZmllcyBkZXRlY3RvcnMgd2hpY2ggd2lsbCA8ZW1waGFzaXM+bm90PC9lbXBoYXNpcz4gYmUgcnVuLgotICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPmV4Y2x1ZGVGaWx0ZXI8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUuICBJdCBzcGVjaWZpZXMgdGhlIGZpbGVuYW1lIG9mIGEgZmlsdGVyIHNwZWNpZnlpbmcgYnVncwotICAgICAgIHRvIGV4Y2x1ZGUgZnJvbSBiZWluZyByZXBvcnRlZC4gIFNlZSA8eHJlZiBsaW5rZW5kPSJmaWx0ZXIiIC8+LgotICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPmluY2x1ZGVGaWx0ZXI8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUuICBJdCBzcGVjaWZpZXMgdGhlIGZpbGVuYW1lIG9mIGEgZmlsdGVyIHNwZWNpZnlpbmcKLSAgICAgICB3aGljaCBidWdzIGFyZSByZXBvcnRlZC4gIFNlZSA8eHJlZiBsaW5rZW5kPSJmaWx0ZXIiIC8+LgotICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPnByb2plY3RGaWxlPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLiAgSXQgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIGEgcHJvamVjdCBmaWxlLgotICAgICAgIFByb2plY3QgZmlsZXMgYXJlIGNyZWF0ZWQgYnkgdGhlICZGaW5kQnVnczsgR1VJLCBhbmQgc3BlY2lmeSBjbGFzc2VzLAotICAgICAgIGF1eCBjbGFzc3BhdGggZW50cmllcywgYW5kIHNvdXJjZSBkaXJlY3Rvcmllcy4gIEJ5IG5hbWluZyBhIHByb2plY3QsCi0gICAgICAgeW91IGRvbid0IG5lZWQgdG8gc3BlY2lmeSBhbnkgPGxpdGVyYWw+Y2xhc3M8L2xpdGVyYWw+IGVsZW1lbnRzLAotICAgICAgIG5vciBkbyB5b3UgbmVlZCB0byBzcGVjaWZ5IDxsaXRlcmFsPmF1eENsYXNzcGF0aDwvbGl0ZXJhbD4gb3IKLSAgICAgICA8bGl0ZXJhbD5zb3VyY2VQYXRoPC9saXRlcmFsPiBhdHRyaWJ1dGVzLgotICAgICAgIFNlZSA8eHJlZiBsaW5rZW5kPSJydW5uaW5nIi8+IGZvciBob3cgdG8gY3JlYXRlIGEgcHJvamVjdC4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5qdm1hcmdzPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLiAgSXQgc3BlY2lmaWVzIGFueSBhcmd1bWVudHMgdGhhdCBzaG91bGQgYmUgcGFzc2VkCi0gICAgICAgdG8gdGhlIEphdmEgdmlydHVhbCBtYWNoaW5lIHVzZWQgdG8gcnVuICZGaW5kQnVnczsuICBZb3UgbWF5IG5lZWQgdG8KLSAgICAgICB1c2UgdGhpcyBhdHRyaWJ1dGUgdG8gc3BlY2lmeSBmbGFncyB0byBpbmNyZWFzZSB0aGUgYW1vdW50IG9mIG1lbW9yeQotICAgICAgIHRoZSBKVk0gbWF5IHVzZSBpZiB5b3UgYXJlIGFuYWx5emluZyBhIHZlcnkgbGFyZ2UgcHJvZ3JhbS4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5zeXN0ZW1Qcm9wZXJ0eTwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci0gICAgICBPcHRpb25hbCBuZXN0ZWQgZWxlbWVudC4gIElmIHNwZWNpZmllZCwgZGVmaW5lcyBhIHN5c3RlbSBwcm9wZXJ0eS4KLSAgICAgIFRoZSA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZQotICAgICAgc3lzdGVtIHByb3BlcnR5LCBhbmQgdGhlIDxsaXRlcmFsPnZhbHVlPC9saXRlcmFsPiBhdHRyaWJ1dGUgc3BlY2lmaWVzCi0gICAgICB0aGUgdmFsdWUgb2YgdGhlIHN5c3RlbSBwcm9wZXJ0eS4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPnRpbWVvdXQ8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUuICBJdCBzcGVjaWZpZXMgdGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsCi0gICAgICAgdGhhdCB0aGUgSmF2YSBwcm9jZXNzIGV4ZWN1dGluZyAmRmluZEJ1Z3M7IG1heSBydW4gYmVmb3JlIGl0IGlzCi0gICAgICAgYXNzdW1lZCB0byBiZSBodW5nIGFuZCBpcyB0ZXJtaW5hdGVkLiAgVGhlIGRlZmF1bHQgaXMgNjAwLDAwMAotICAgICAgIG1pbGxpc2Vjb25kcywgd2hpY2ggaXMgdGVuIG1pbnV0ZXMuICBOb3RlIHRoYXQgZm9yIHZlcnkgbGFyZ2UKLSAgICAgICBwcm9ncmFtcywgJkZpbmRCdWdzOyBtYXkgcmVxdWlyZSBtb3JlIHRoYW4gdGVuIG1pbnV0ZXMgdG8gY29tcGxldGUgaXRzCi0gICAgICAgYW5hbHlzaXMuCi0gICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+ZmFpbE9uRXJyb3I8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBPcHRpb25hbCBib29sZWFuIGF0dHJpYnV0ZS4gIFdoZXRoZXIgdG8gYWJvcnQgdGhlIGJ1aWxkIHByb2Nlc3MgaWYgdGhlcmUgaXMgYW4KLSAgICAgICBlcnJvciBydW5uaW5nICZGaW5kQnVnczsuIERlZmF1bHRzIHRvICJmYWxzZSIKLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5lcnJvclByb3BlcnR5PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+Ci0gICAgICAgT3B0aW9uYWwgYXR0cmlidXRlIHdoaWNoIHNwZWNpZmllcyB0aGUgbmFtZSBvZiBhIHByb3BlcnR5IHRoYXQKLSAgICAgICB3aWxsIGJlIHNldCB0byAidHJ1ZSIgaWYgYW4gZXJyb3Igb2NjdXJzIHdoaWxlIHJ1bm5pbmcgJkZpbmRCdWdzOy4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICAgIDx0ZXJtPjxsaXRlcmFsPndhcm5pbmdzUHJvcGVydHk8L2xpdGVyYWw+PC90ZXJtPgotICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUgd2hpY2ggc3BlY2lmaWVzIHRoZSBuYW1lIG9mIGEgcHJvcGVydHkKLSAgICAgICAgICAgICAgdGhhdCB3aWxsIGJlIHNldCB0byAidHJ1ZSIgaWYgYW55IHdhcm5pbmdzIGFyZSByZXBvcnRlZCBieQotICAgICAgICAgICAgICAmRmluZEJ1Z3M7IG9uIHRoZSBhbmFseXplZCBwcm9ncmFtLgotICAgICAgICAgIDwvcGFyYT4KLSAgICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgICA8dGVybT48bGl0ZXJhbD51c2VyUHJlZmVyZW5jZXNGaWxlPC9saXRlcmFsPjwvdGVybT4KLSAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLiBTZXQgdGhlIHBhdGggb2YgdGhlIHVzZXIgcHJlZmVyZW5jZXMgZmlsZSB0byB1c2UsIHdoaWNoIG1pZ2h0IG92ZXJyaWRlIHNvbWUgb2YgdGhlIG9wdGlvbnMgYWJvYmUuCi0gICAgICAgICAgICAgIFNwZWNpZnlpbmcgPGxpdGVyYWw+dXNlclByZWZlcmVuY2VzRmlsZTwvbGl0ZXJhbD4gYXMgZmlyc3QgYXJndW1lbnQgd291bGQgbWVhbiBzb21lIGxhdGVyCi0gICAgICAgICAgICAgIG9wdGlvbnMgd2lsbCBvdmVycmlkZSB0aGVtLCBhcyBsYXN0IGFyZ3VtZW50IHdvdWxkIG1lYW4gdGhleSB3aWxsIG92ZXJyaWRlIHNvbWUgcHJldmlvdXMgb3B0aW9ucykuCi0gICAgICAgICAgICAgIFRoaXMgcmF0aW9uYWxlIGJlaGluZCB0aGlzIG9wdGlvbiBpcyB0byByZXVzZSBGaW5kQnVncyBFY2xpcHNlIHByb2plY3Qgc2V0dGluZ3MgZm9yIGNvbW1hbmQKLSAgICAgICAgICAgICAgbGluZSBleGVjdXRpb24uCi0gICAgICAgICAgICA8L3BhcmE+Ci0gICAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotPC92YXJpYWJsZWxpc3Q+Ci0KLQotPC9wYXJhPgotCi08IS0tCi0KLS0tPgotCi08L3NlY3QxPgotCi08L2NoYXB0ZXI+Ci0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBVc2luZyB0aGUgRmluZEJ1Z3MgRWNsaXBzZSBwbHVnaW4KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tLT4KLQotPGNoYXB0ZXIgaWQ9ImVjbGlwc2UiPgotPHRpdGxlPlVzaW5nIHRoZSAmRmluZEJ1Z3M7JnRyYWRlOyBFY2xpcHNlIHBsdWdpbjwvdGl0bGU+Ci0KLTxwYXJhPgotVGhlIEZpbmRCdWdzIEVjbGlwc2UgcGx1Z2luIGFsbG93cyAmRmluZEJ1Z3M7IHRvIGJlIHVzZWQgd2l0aGluCi10aGUgPHVsaW5rIHVybD0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy8iPkVjbGlwc2U8L3VsaW5rPiBJREUuCi1UaGUgRmluZEJ1Z3MgRWNsaXBzZSBwbHVnaW4gd2FzIGdlbmVyb3VzbHkgY29udHJpYnV0ZWQgYnkgUGV0ZXIgRnJpZXNlLgotUGhpbCBDcm9zYnkgYW5kIEFuZHJlaSBMb3NrdXRvdiBjb250cmlidXRlZCBtYWpvciBpbXByb3ZlbWVudHMKLXRvIHRoZSBwbHVnaW4uCi08L3BhcmE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5SZXF1aXJlbWVudHM8L3RpdGxlPgotCi08cGFyYT4KLVRvIHVzZSB0aGUgJkZpbmRCdWdzOyBQbHVnaW4gZm9yIEVjbGlwc2UsIHlvdSBuZWVkIEVjbGlwc2UgMy4zIG9yIGxhdGVyLAotYW5kIEpSRS9KREsgMS41IG9yIGxhdGVyLgotPC9wYXJhPgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+SW5zdGFsbGF0aW9uPC90aXRsZT4KLQotPHBhcmE+Ci0gIFdlIHByb3ZpZGUgdXBkYXRlIHNpdGVzIHRoYXQgYWxsb3cgeW91IHRvIGF1dG9tYXRpY2FsbHkgaW5zdGFsbCBGaW5kQnVncyBpbnRvIEVjbGlwc2UgYW5kIGFsc28gcXVlcnkgYW5kIGluc3RhbGwgdXBkYXRlcy4KLSAgVGhlcmUgYXJlIHRocmVlIGRpZmZlcmVudCB1cGRhdGUgc2l0ZXM8L3BhcmE+Ci0KLSAgPHZhcmlhYmxlbGlzdD48dGl0bGU+RmluZEJ1Z3MgRWNsaXBzZSB1cGRhdGUgc2l0ZXM8L3RpdGxlPgotICAgIDx2YXJsaXN0ZW50cnk+PHRlcm0+PHVsaW5rIHVybD0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZWNsaXBzZS8iPmh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UvPC91bGluaz48L3Rlcm0+Ci0KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAgICAgICBPbmx5IHByb3ZpZGVzIG9mZmljaWFsIHJlbGVhc2VzIG9mIEZpbmRCdWdzLgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgICA8dmFybGlzdGVudHJ5Pjx0ZXJtPjx1bGluayB1cmw9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UtY2FuZGlkYXRlLyI+aHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZWNsaXBzZS1jYW5kaWRhdGUvPC91bGluaz48L3Rlcm0+Ci0KLSAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgUHJvdmlkZXMgb2ZmaWNpYWwgcmVsZWFzZXMgYW5kIHJlbGVhc2UgY2FuZGlkYXRlcyBvZiBGaW5kQnVncy4KLSAgICAgICAgPC9wYXJhPgotICAgICAgPC9saXN0aXRlbT4KLSAgICA8L3Zhcmxpc3RlbnRyeT4KLQotICAgIDx2YXJsaXN0ZW50cnk+PHRlcm0+PHVsaW5rIHVybD0iaHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZWNsaXBzZS1kYWlseS8iPmh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UtZGFpbHkvPC91bGluaz48L3Rlcm0+Ci0KLSAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICBQcm92aWRlcyB0aGUgZGFpbHkgYnVpbGQgb2YgRmluZEJ1Z3MuIE5vIHRlc3Rpbmcgb3RoZXIgdGhhbiB0aGF0IGl0IGNvbXBpbGVzLgotICAgICAgICA8L3BhcmE+Ci0gICAgICA8L2xpc3RpdGVtPgotICAgIDwvdmFybGlzdGVudHJ5PgotICAgIDwvdmFyaWFibGVsaXN0PgotCi08cGFyYT5Zb3UgY2FuIGFsc28gbWFudWFsbHkKLWRvd25sb2FkIHRoZSBwbHVnaW4gZnJvbSB0aGUgZm9sbG93aW5nIGxpbms6Ci08dWxpbmsgdXJsPSJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2ZpbmRidWdzL2VkdS51bWQuY3MuZmluZGJ1Z3MucGx1Z2luLmVjbGlwc2VfMi4wLjMuMjAxMzExMjIuemlwP2Rvd25sb2FkIgotPmh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvZmluZGJ1Z3MvZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW4uZWNsaXBzZV8yLjAuMy4yMDEzMTEyMi56aXA/ZG93bmxvYWQ8L3VsaW5rPi4KLUV4dHJhY3QgaXQgaW4gRWNsaXBzZSdzICJwbHVnaW5zIiBzdWJkaXJlY3RvcnkuCi0oU28gJmx0O2VjbGlwc2VfaW5zdGFsbF9kaXImZ3Q7L3BsdWdpbnMvZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW4uZWNsaXBzZV8yLjAuMy4yMDEzMTEyMi9maW5kYnVncy5wbmcKLXNob3VsZCBiZSB0aGUgcGF0aCB0byB0aGUgJkZpbmRCdWdzOyBsb2dvLikKLQotPC9wYXJhPgotCi08cGFyYT4KLU9uY2UgdGhlIHBsdWdpbiBpcyBleHRyYWN0ZWQsIHN0YXJ0IEVjbGlwc2UgYW5kIGNob29zZQotPG1lbnVjaG9pY2U+Ci0gIDxndWltZW51PkhlbHA8L2d1aW1lbnU+Ci0gIDxndWltZW51aXRlbT5BYm91dCBFY2xpcHNlIFBsYXRmb3JtPC9ndWltZW51aXRlbT4KLSAgPGd1aW1lbnVpdGVtPlBsdWctaW4gRGV0YWlsczwvZ3VpbWVudWl0ZW0+Ci08L21lbnVjaG9pY2U+LgotWW91IHNob3VsZCBmaW5kIGEgcGx1Z2luIGNhbGxlZCAiRmluZEJ1Z3MgUGx1Zy1pbiIgcHJvdmlkZWQgYnkgIkZpbmRCdWdzIFByb2plY3QiLgotPC9wYXJhPgotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPlVzaW5nIHRoZSBQbHVnaW48L3RpdGxlPgotCi08cGFyYT4KLVRvIGdldCBzdGFydGVkLCByaWdodCBjbGljayBvbiBhIEphdmEgcHJvamVjdCBpbiBQYWNrYWdlIEV4cGxvcmVyLAotYW5kIHNlbGVjdCB0aGUgb3B0aW9uIGxhYmVsZWQgIkZpbmQgQnVncyIuCi0mRmluZEJ1Z3M7IHdpbGwgcnVuLCBhbmQgcHJvYmxlbSBtYXJrZXJzIChkaXNwbGF5ZWQgaW4gc291cmNlCi13aW5kb3dzLCBhbmQgYWxzbyBpbiB0aGUgRWNsaXBzZSBQcm9ibGVtcyB2aWV3KSB3aWxsIHBvaW50IHRvCi1sb2NhdGlvbnMgaW4geW91ciBjb2RlIHdoaWNoIGhhdmUgYmVlbiBpZGVudGlmaWVkIGFzIHBvdGVudGlhbCBpbnN0YW5jZXMKLW9mIGJ1ZyBwYXR0ZXJucy4KLTwvcGFyYT4KLTxwYXJhPgotWW91IGNhbiBhbHNvIHJ1biAmRmluZEJ1Z3M7IG9uIGV4aXN0aW5nIGphdmEgYXJjaGl2ZXMgKGphciwgZWFyLCB6aXAsIHdhciBldGMpLiBTaW1wbHkKLWNyZWF0ZSBhbiBlbXB0eSBKYXZhIHByb2plY3QgYW5kIGF0dGFjaCBhcmNoaXZlcyB0byB0aGUgcHJvamVjdCBjbGFzc3BhdGguIEhhdmluZyB0aGF0LCB5b3UKLWNhbiBub3cgcmlnaHQgY2xpY2sgdGhlIGFyY2hpdmUgbm9kZSBpbiBQYWNrYWdlIEV4cGxvcmVyIGFuZCBzZWxlY3QgdGhlIG9wdGlvbiBsYWJlbGVkCi0iRmluZCBCdWdzIi4gSWYgeW91IGFkZGl0aW9uYWxseSBjb25maWd1cmUgdGhlIHNvdXJjZSBjb2RlIGxvY2F0aW9ucyBmb3IgdGhlIGJpbmFyaWVzLAotJkZpbmRCdWdzOyB3aWxsIGFsc28gbGluayB0aGUgZ2VuZXJhdGVkIHdhcm5pbmdzIHRvIHRoZSByaWdodCBzb3VyY2UgZmlsZXMuCi08L3BhcmE+Ci08cGFyYT4KLVlvdSBtYXkgY3VzdG9taXplIGhvdyAmRmluZEJ1Z3M7IHJ1bnMgYnkgb3BlbmluZyB0aGUgUHJvcGVydGllcwotZGlhbG9nIGZvciBhIEphdmEgcHJvamVjdCwgYW5kIGNob29zaW5nIHRoZSAiRmluZGJ1Z3MiIHByb3BlcnR5IHBhZ2UuCi1PcHRpb25zIHlvdSBtYXkgY2hvb3NlIGluY2x1ZGU6Ci08L3BhcmE+Ci0KLTxpdGVtaXplZGxpc3Q+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBFbmFibGUgb3IgZGlzYWJsZSB0aGUgIlJ1biBGaW5kQnVncyBBdXRvbWF0aWNhbGx5IiBjaGVja2JveC4KLSAgICBXaGVuIGVuYWJsZWQsIEZpbmRCdWdzIHdpbGwgcnVuIGV2ZXJ5IHRpbWUgeW91IG1vZGlmeSBhIEphdmEgY2xhc3MKLSAgICB3aXRoaW4gdGhlIHByb2plY3QuCi0gICAgPC9wYXJhPgotICA8L2xpc3RpdGVtPgotCi0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBDaG9vc2UgbWluaW11bSB3YXJuaW5nIHByaW9yaXR5IGFuZCBlbmFibGVkIGJ1ZyBjYXRlZ29yaWVzLgotICAgIFRoZXNlIG9wdGlvbnMgd2lsbCBjaG9vc2Ugd2hpY2ggd2FybmluZ3MgYXJlIHNob3duLgotICAgIEZvciBleGFtcGxlLCBpZiB5b3Ugc2VsZWN0IHRoZSAiTWVkaXVtIiB3YXJuaW5nIHByaW9yaXR5LAotICAgIG9ubHkgTWVkaXVtIGFuZCBIaWdoIHByaW9yaXR5IHdhcm5pbmdzIHdpbGwgYmUgc2hvd24uCi0gICAgU2ltaWxhcmx5LCBpZiB5b3UgdW5jaGVjayB0aGUgIlN0eWxlIiBjaGVja2JveCwgbm8gd2FybmluZ3MKLSAgICBpbiB0aGUgU3R5bGUgY2F0ZWdvcnkgd2lsbCBiZSBkaXNwbGF5ZWQuCi0gICAgPC9wYXJhPgotICA8L2xpc3RpdGVtPgotCi0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBTZWxlY3QgZGV0ZWN0b3JzLiAgVGhlIHRhYmxlIGFsbG93cyB5b3UgdG8gc2VsZWN0IHdoaWNoIGRldGVjdG9ycwotICAgIHlvdSB3YW50IHRvIGVuYWJsZSBmb3IgeW91ciBwcm9qZWN0LgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLTwvaXRlbWl6ZWRsaXN0PgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+RXh0ZW5kaW5nIHRoZSBFY2xpcHNlIFBsdWdpbiAoc2luY2UgMi4wLjApPC90aXRsZT4KLTxwYXJhPgotRWNsaXBzZSBwbHVnaW4gc3VwcG9ydHMgY29udHJpYnV0aW9uIG9mIGN1c3RvbSAmRmluZEJ1Z3M7IGRldGVjdG9ycyAoc2VlIGFsc28KLTx1bGluayB1cmw9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlL3RydW5rL2ZpbmRidWdzL3NyYy9kb2MvQWRkaW5nRGV0ZWN0b3JzLnR4dCI+QWRkaW5nRGV0ZWN0b3JzLnR4dDwvdWxpbms+Ci1mb3IgbW9yZSBpbmZvcm1hdGlvbikuIFRoZXJlIGFyZSB0d28gd2F5cyB0byBjb250cmlidXRlIGN1c3RvbSBwbHVnaW5zIHRvIHRoZSBFY2xpcHNlOgotPC9wYXJhPgotPGl0ZW1pemVkbGlzdD4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIEV4aXN0aW5nIHN0YW5kYXJkICZGaW5kQnVnczsgZGV0ZWN0b3IgcGFja2FnZXMgY2FuIGJlIGNvbmZpZ3VyZWQgdmlhCi0gICAgPG1lbnVjaG9pY2U+Ci0gICAgICAgIDxndWltZW51PldpbmRvdzwvZ3VpbWVudT4KLSAgICAgICAgPGd1aW1lbnVpdGVtPlByZWZlcmVuY2VzPC9ndWltZW51aXRlbT4KLSAgICAgICAgPGd1aW1lbnVpdGVtPkphdmE8L2d1aW1lbnVpdGVtPgotICAgICAgICA8Z3VpbWVudWl0ZW0+JkZpbmRCdWdzOzwvZ3VpbWVudWl0ZW0+Ci0gICAgICAgIDxndWltZW51aXRlbT5NaXNjLiBTZXR0aW5nczwvZ3VpbWVudWl0ZW0+Ci0gICAgICAgIDxndWltZW51aXRlbT5DdXN0b20gRGV0ZWN0b3JzPC9ndWltZW51aXRlbT4KLSAgICA8L21lbnVjaG9pY2U+LgotICAgIFNpbXBseSBzcGVjaWZ5IHRoZXJlIGxvY2F0aW9ucyBvZiBhbnkgYWRkaXRpb25hbCBwbHVnaW4gbGlicmFyaWVzLgotICAgIDwvcGFyYT4KLQotICAgIDxwYXJhPgotICAgIFRoZSBiZW5lZml0IG9mIHRoaXMgc29sdXRpb24gaXMgdGhhdCBhbHJlYWR5IGV4aXN0aW5nIGRldGVjdG9yIHBhY2thZ2VzIGNhbiBiZQotICAgIHVzZWQgImFzIGlzIiwgYW5kIHRoYXQgeW91IGNhbiBxdWlja2x5IHZlcmlmeSB0aGUgcXVhbGl0eSBvZiB0aGlyZCBwYXJ0eSBkZXRlY3RvcnMuCi0gICAgVGhlIGRyYXdiYWNrIGlzIHRoYXQgeW91IGhhdmUgdG8gYXBwbHkgdGhpcyBzZXR0aW5ncyBpbiBlYWNoCi0gICAgbmV3IEVjbGlwc2Ugd29ya3NwYWNlLCBhbmQgdGhpcyBzZXR0aW5ncyBjYW4ndCBiZSBzaGFyZWQgYmV0d2VlbiB0ZWFtIG1lbWJlcnMuCi0gICAgPC9wYXJhPgotICA8L2xpc3RpdGVtPgotCi0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBJdCBpcyBwb3NzaWJsZSB0byBjb250cmlidXRlIGN1c3RvbSBkZXRlY3RvcnMgdmlhIHN0YW5kYXJkIEVjbGlwc2UgZXh0ZW5zaW9ucyBtZWNoYW5pc20uCi0gICAgPC9wYXJhPgotCi0gICAgPHBhcmE+Ci0gICAgUGxlYXNlIGNoZWNrIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZQotICAgIDx1bGluayB1cmw9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlL3RydW5rL2VjbGlwc2VQbHVnaW4vc2NoZW1hL2RldGVjdG9yUGx1Z2lucy5leHNkIj4KLSAgICBmaW5kQnVnc0VjbGlwc2VQbHVnaW4vc2NoZW1hL2RldGVjdG9yUGx1Z2lucy5leHNkPC91bGluaz4KLSAgICBleHRlbnNpb24gcG9pbnQgaG93IHRvIHVwZGF0ZSB0aGUgcGx1Z2luLnhtbC4gRXhpc3RpbmcgJkZpbmRCdWdzOyBkZXRlY3RvciBwbHVnaW5zIGNhbgotICAgIGJlIGVhc2lseSAiZXh0ZW5kZWQiIHRvIGJlIGZ1bGwgZmVhdHVyZWQgJkZpbmRCdWdzOyBBTkQgRWNsaXBzZSBkZXRlY3RvciBwbHVnaW5zLgotICAgIFVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBhZGQgTUVUQS1JTkYvTUFOSUZFU1QuTUYgYW5kIHBsdWdpbi54bWwgdG8gdGhlIGphciBhbmQKLSAgICB1cGRhdGUgeW91ciBidWlsZCBzY3JpcHRzIHRvIG5vdCB0byBvdmVycmlkZSB0aGUgTUFOSUZFU1QuTUYgZHVyaW5nIHRoZSBidWlsZC4KLSAgICA8L3BhcmE+Ci0KLSAgICA8cGFyYT4KLSAgICBUaGUgYmVuZWZpdCBvZiB0aGlzIHNvbHV0aW9uIGlzIHRoYXQgZm9yIGdpdmVuIChzaGFyZWQpIEVjbGlwc2UgaW5zdGFsbGF0aW9uCi0gICAgZWFjaCB0ZWFtIG1lbWJlciBoYXMgZXhhY3RseSBzYW1lIGRldGVjdG9ycyBzZXQsIGFuZCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbmZpZ3VyZQotICAgIGFueXRoaW5nIGFueW1vcmUuIFRoZSAocmVhbGx5IHNtYWxsKSBwcmVjb25kaXRpb24KLSAgICBpcyB0aGF0IHlvdSBoYXZlIHRvIGNvbnZlcnQgeW91ciBleGlzdGluZyBkZXRlY3RvcnMgcGFja2FnZSB0byB0aGUgdmFsaWQKLSAgICBFY2xpcHNlIHBsdWdpbi4gWW91IGNhbiBkbyB0aGlzIGV2ZW4gZm9yIHRoaXJkLXBhcnR5IGRldGVjdG9yIHBhY2thZ2VzLgotICAgIEFub3RoZXIgbWFqb3IgZGlmZmVyZW50aWF0b3IgaXMgdGhlIGFiaWxpdHkgdG8gZXh0ZW5kIHRoZSBkZWZhdWx0IEZpbmRCdWdzCi0gICAgY2xhc3NwYXRoIGF0IHJ1bnRpbWUgd2l0aCByZXF1aXJlZCB0aGlyZCBwYXJ0eSBsaWJyYXJpZXMgKHNlZQotICAgIDx1bGluayB1cmw9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlL3RydW5rL2ZpbmRidWdzL3NyYy9kb2MvQWRkaW5nRGV0ZWN0b3JzLnR4dCI+QWRkaW5nRGV0ZWN0b3JzLnR4dDwvdWxpbms+Ci0gICAgZm9yIG1vcmUgaW5mb3JtYXRpb24pLgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLQotPC9pdGVtaXplZGxpc3Q+Ci0KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5Ucm91Ymxlc2hvb3Rpbmc8L3RpdGxlPgotCi08cGFyYT4KLVRoaXMgc2VjdGlvbiBsaXN0cyBjb21tb24gcHJvYmxlbXMgd2l0aCB0aGUgcGx1Z2luIGFuZCAoaWYga25vd24pIGhvdyB0byByZXNvbHZlIHRoZW0uCi08L3BhcmE+Ci0KLTxpdGVtaXplZGxpc3Q+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICBJZiB5b3Ugc2VlIE91dE9mTWVtb3J5IGVycm9yIGRpYWxvZ3MgYWZ0ZXIgc3RhcnRpbmcgJkZpbmRCdWdzOyBhbmFseXNpcyBpbiBFY2xpcHNlLAotICAgIHBsZWFzZSBpbmNyZWFzZSBKVk0gYXZhaWxhYmxlIG1lbW9yeTogY2hhbmdlIGVjbGlwc2UuaW5pIGFuZCBhZGQgdGhlIGxpbmVzIGJlbG93Ci0gICAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZToKLSAgICA8cHJvZ3JhbWxpc3Rpbmc+Ci0gICAgLXZtYXJncwotICAgIC1YbXgxMDAwbQotICAgIDwvcHJvZ3JhbWxpc3Rpbmc+Ci0gICAgSW1wb3J0YW50OiB0aGUgY29uZmlndXJhdGlvbiBhcmd1bWVudHMgc3RhcnRpbmcgd2l0aCB0aGUgbGluZSAiLXZtYXJncyIgbXVzdAotICAgIGJlIGxhc3QgbGluZXMgaW4gdGhlIGVjbGlwc2UuaW5pIGZpbGUsIGFuZCBvbmx5IG9uZSBhcmd1bWVudCBwZXIgbGluZSBpcyBhbGxvd2VkIQotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIElmIHlvdSBkbyBub3Qgc2VlIGFueSAmRmluZEJ1Z3M7IHByb2JsZW0gbWFya2VycyAoaW4geW91ciBzb3VyY2UKLSAgICB3aW5kb3dzIG9yIGluIHRoZSBQcm9ibGVtcyBWaWV3KSwgeW91IG1heSBuZWVkIHRvIGNoYW5nZSB5b3VyCi0gICAgUHJvYmxlbXMgVmlldyBmaWx0ZXIgc2V0dGluZ3MuICBTZWUKLSAgICA8dWxpbmsgdXJsPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L0ZBUS5odG1sI3E3Ij5odHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L0ZBUS5odG1sI3E3PC91bGluaz4gZm9yIG1vcmUgaW5mb3JtYXRpb24uCi0gICAgPC9wYXJhPgotICA8L2xpc3RpdGVtPgotCi08L2l0ZW1pemVkbGlzdD4KLQotPC9zZWN0MT4KLQotCi08L2NoYXB0ZXI+Ci0KLQotPCEtLQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgIEZpbHRlciBmaWxlcwotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS0tPgotCi08Y2hhcHRlciBpZD0iZmlsdGVyIj4KLTx0aXRsZT5GaWx0ZXIgRmlsZXM8L3RpdGxlPgotCi08cGFyYT4KLUZpbHRlciBmaWxlcyBtYXkgYmUgdXNlZCB0byBpbmNsdWRlIG9yIGV4Y2x1ZGUgYnVnIHJlcG9ydHMgZm9yIHBhcnRpY3VsYXIgY2xhc3NlcwotYW5kIG1ldGhvZHMuICBUaGlzIGNoYXB0ZXIgZXhwbGFpbnMgaG93IHRvIHVzZSBmaWx0ZXIgZmlsZXMuCi0KLTxub3RlPgotPHRpdGxlPlBsYW5uZWQgRmVhdHVyZXM8L3RpdGxlPgotPHBhcmE+Ci0gIEZpbHRlcnMgYXJlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBieSB0aGUgQ29tbWFuZCBMaW5lIGludGVyZmFjZS4KLSAgRXZlbnR1YWxseSwgZmlsdGVyIHN1cHBvcnQgd2lsbCBiZSBhZGRlZCB0byB0aGUgR1VJLgotPC9wYXJhPgotPC9ub3RlPgotPC9wYXJhPgotCi0KLTxzZWN0MT4KLTx0aXRsZT5JbnRyb2R1Y3Rpb24gdG8gRmlsdGVyIEZpbGVzPC90aXRsZT4KLQotPHBhcmE+Ci1Db25jZXB0dWFsbHksIGEgZmlsdGVyIG1hdGNoZXMgYnVnIGluc3RhbmNlcyBhZ2FpbnN0IGEgc2V0IG9mIGNyaXRlcmlhLgotQnkgZGVmaW5pbmcgYSBmaWx0ZXIsIHlvdSBjYW4gc2VsZWN0IGJ1ZyBpbnN0YW5jZXMgZm9yIHNwZWNpYWwgdHJlYXRtZW50OwotZm9yIGV4YW1wbGUsIHRvIGV4Y2x1ZGUgb3IgaW5jbHVkZSB0aGVtIGluIGEgcmVwb3J0LgotPC9wYXJhPgotCi08cGFyYT4KLUEgZmlsdGVyIGZpbGUgaXMgYW4gPHVsaW5rIHVybD0iaHR0cDovL3d3dy53My5vcmcvWE1MLyI+WE1MPC91bGluaz4gZG9jdW1lbnQgd2l0aCBhIHRvcC1sZXZlbCA8bGl0ZXJhbD5GaW5kQnVnc0ZpbHRlcjwvbGl0ZXJhbD4gZWxlbWVudAotd2hpY2ggaGFzIHNvbWUgbnVtYmVyIG9mIDxsaXRlcmFsPk1hdGNoPC9saXRlcmFsPiBlbGVtZW50cyBhcyBjaGlsZHJlbi4gIEVhY2ggPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+Ci1lbGVtZW50IHJlcHJlc2VudHMgYSBwcmVkaWNhdGUgd2hpY2ggaXMgYXBwbGllZCB0byBnZW5lcmF0ZWQgYnVnIGluc3RhbmNlcy4KLVVzdWFsbHksIGEgZmlsdGVyIHdpbGwgYmUgdXNlZCB0byBleGNsdWRlIGJ1ZyBpbnN0YW5jZXMuICBGb3IgZXhhbXBsZToKLQotPHNjcmVlbj4KLTxwcm9tcHQ+JCA8L3Byb21wdD48Y29tbWFuZD5maW5kYnVncyAtdGV4dHVpIC1leGNsdWRlIDxyZXBsYWNlYWJsZT5teUV4Y2x1ZGVGaWx0ZXIueG1sPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlPm15QXBwLmphcjwvcmVwbGFjZWFibGU+PC9jb21tYW5kPgotPC9zY3JlZW4+Ci0KLUhvd2V2ZXIsIGEgZmlsdGVyIGNvdWxkIGFsc28gYmUgdXNlZCB0byBzZWxlY3QgYnVnIGluc3RhbmNlcyB0byBzcGVjaWZpY2FsbHkKLXJlcG9ydDoKLQotPHNjcmVlbj4KLTxwcm9tcHQ+JCA8L3Byb21wdD48Y29tbWFuZD5maW5kYnVncyAtdGV4dHVpIC1pbmNsdWRlIDxyZXBsYWNlYWJsZT5teUluY2x1ZGVGaWx0ZXIueG1sPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlPm15QXBwLmphcjwvcmVwbGFjZWFibGU+PC9jb21tYW5kPgotPC9zY3JlZW4+Ci08L3BhcmE+Ci0KLTxwYXJhPgotPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IGVsZW1lbnRzIGNvbnRhaW4gY2hpbGRyZW4sIHdoaWNoIGFyZSBjb25qdW5jdHMgb2YgdGhlIHByZWRpY2F0ZS4KLUluIG90aGVyIHdvcmRzLCBlYWNoIG9mIHRoZSBjaGlsZHJlbiBtdXN0IGJlIHRydWUgZm9yIHRoZSBwcmVkaWNhdGUgdG8gYmUgdHJ1ZS4KLTwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPlR5cGVzIG9mIE1hdGNoIGNsYXVzZXM8L3RpdGxlPgotCi08dmFyaWFibGVsaXN0PgotIDx2YXJsaXN0ZW50cnk+Ci0gICA8dGVybT48bGl0ZXJhbD4mbHQ7QnVnJmd0OzwvbGl0ZXJhbD48L3Rlcm0+Ci0gICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICBUaGlzIGVsZW1lbnQgc3BlY2lmaWVzIGEgcGFydGljdWxhciBidWcgcGF0dGVybiBvciBwYXR0ZXJucyB0byBtYXRjaC4KLSAgICAgICAgICAgIFRoZSA8bGl0ZXJhbD5wYXR0ZXJuPC9saXRlcmFsPiBhdHRyaWJ1dGUgaXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZgotICAgICAgICAgICAgYnVnIHBhdHRlcm4gdHlwZXMuICBZb3UgY2FuIGZpbmQgdGhlIGJ1ZyBwYXR0ZXJuIHR5cGVzIGZvciBwYXJ0aWN1bGFyCi0gICAgICAgICAgICB3YXJuaW5ncyBieSBsb29raW5nIGF0IHRoZSBvdXRwdXQgcHJvZHVjZWQgYnkgdGhlIDxjb21tYW5kPi14bWw8L2NvbW1hbmQ+Ci0gICAgICAgICAgICBvdXRwdXQgb3B0aW9uICh0aGUgPGxpdGVyYWw+dHlwZTwvbGl0ZXJhbD4gYXR0cmlidXRlIG9mIDxsaXRlcmFsPkJ1Z0luc3RhbmNlPC9saXRlcmFsPgotICAgICAgICAgICAgZWxlbWVudHMpLCBvciBmcm9tIHRoZSA8dWxpbmsgdXJsPSIuLi9idWdEZXNjcmlwdGlvbnMuaHRtbCI+YnVnCi0gICAgICAgICAgICBkZXNjcmlwdGlvbnMgZG9jdW1lbnQ8L3VsaW5rPi4KLSAgIDwvcGFyYT48cGFyYT4KLSAgICAgICAgICAgICAgIEZvciBtb3JlIGNvYXJzZS1ncmFpbmVkIG1hdGNoaW5nLCB1c2UgPGxpdGVyYWw+Y29kZTwvbGl0ZXJhbD4gYXR0cmlidXRlLiBJdCB0YWtlcwotICAgICAgICAgICAgICAgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBidWcgYWJicmV2aWF0aW9ucy4gRm9yIG1vc3QtY29hcnNlIGdyYWluZWQgbWF0Y2hpbmcgdXNlCi0gICAgICAgICAgICAgICA8bGl0ZXJhbD5jYXRlZ29yeTwvbGl0ZXJhbD4gYXR0cml1dGUsIHRoYXQgdGFrZXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidWcgY2F0ZWdvcnkgbmFtZXM6Ci0gICAgICAgICAgICAgICA8bGl0ZXJhbD5DT1JSRUNUTkVTUzwvbGl0ZXJhbD4sIDxsaXRlcmFsPk1UX0NPUlJFQ1RORVNTPC9saXRlcmFsPiwKLSAgICAgICAgICAgICAgIDxsaXRlcmFsPkJBRF9QUkFDVElDSUNFPC9saXRlcmFsPiwgPGxpdGVyYWw+UEVSRk9STUFOQ0U8L2xpdGVyYWw+LCA8bGl0ZXJhbD5TVFlMRTwvbGl0ZXJhbD4uCi0gICA8L3BhcmE+PHBhcmE+Ci0gICAgICAgICAgICAgICBJZiBtb3JlIHRoYW4gb25lIG9mIHRoZSBhdHRyaWJ1dGVzIG1lbnRpb25lZCBhYm92ZSBhcmUgc3BlY2lmaWVkIG9uIHRoZSBzYW1lCi0gICAgICAgICAgICAgICA8bGl0ZXJhbD4mbHQ7QnVnJmd0OzwvbGl0ZXJhbD4gZWxlbWVudCwgYWxsIGJ1ZyBwYXR0ZXJucyB0aGF0IG1hdGNoIGVpdGhlciBvbmUgb2Ygc3BlY2lmaWVkCi0gICAgICAgICAgICAgICBwYXR0ZXJuIG5hbWVzLCBvciBhYnJldmlhdGlvbnMsIG9yIGNhdGVnb3JpZXMgd2lsbCBiZSBtYXRjaGVkLgotICAgPC9wYXJhPjxwYXJhPgotICAgICAgICAgICAgICAgQXMgYSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBtZWFzdXJlLCA8bGl0ZXJhbD4mbHQ7QnVnUGF0dGVybiZndDs8L2xpdGVyYWw+IGFuZAotICAgICAgICAgICAgICAgPGxpdGVyYWw+Jmx0O0J1Z0NvZGUmZ3Q7PC9saXRlcmFsPiBlbGVtZW50cyBtYXkgYmUgdXNlZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICA8bGl0ZXJhbD4mbHQ7QnVnJmd0OzwvbGl0ZXJhbD4gZWxlbWVudC4gRWFjaCBvZiB0aGVzZSB1c2VzIGEKLSAgICAgICAgICAgICAgIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IGF0dHJpYnV0ZSBmb3Igc3BlY2lmeWluZyBhY2NlcHRlZCB2YWx1ZXMgbGlzdC4gU3VwcG9ydCBmb3IgdGhlc2UKLSAgICAgICAgICAgICAgIGVsZW1lbnRzIG1heSBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuCi0gICA8L3BhcmE+PC9saXN0aXRlbT4KLSA8L3Zhcmxpc3RlbnRyeT4KLQotIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+Jmx0O0NvbmZpZGVuY2UmZ3Q7PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgIDxwYXJhPgotICAgICAgICAgICAgVGhpcyBlbGVtZW50IG1hdGNoZXMgd2FybmluZ3Mgd2l0aCBhIHBhcnRpY3VsYXIgYnVnIGNvbmZpZGVuY2UuCi0gICAgICAgICAgICBUaGUgPGxpdGVyYWw+dmFsdWU8L2xpdGVyYWw+IGF0dHJpYnV0ZSBzaG91bGQgYmUgYW4gaW50ZWdlciB2YWx1ZToKLSAgICAgICAgICAgIDEgdG8gbWF0Y2ggaGlnaC1jb25maWRlbmNlIHdhcm5pbmdzLCAyIHRvIG1hdGNoIG5vcm1hbC1jb25maWRlbmNlIHdhcm5pbmdzLAotICAgICAgICAgICAgb3IgMyB0byBtYXRjaCBsb3ctY29uZmlkZW5jZSB3YXJuaW5ncy4gJmx0O0NvbmZpZGVuY2UmZ3Q7IHJlcGxhY2VkCi0gICAgICAgICAgICAmbHQ7UHJpb3JpdHkmZ3Q7IGluIDIuMC4wIHJlbGVhc2UuCi0gICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotCi0gPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD4mbHQ7UHJpb3JpdHkmZ3Q7PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgIDxwYXJhPgotICAgICAgICAgICAgU2FtZSBhcyA8bGl0ZXJhbD4mbHQ7Q29uZmlkZW5jZSZndDs8L2xpdGVyYWw+LCBleGlzdHMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCi0gICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotCi0gPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD4mbHQ7UmFuayZndDs8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICBUaGlzIGVsZW1lbnQgbWF0Y2hlcyB3YXJuaW5ncyB3aXRoIGEgcGFydGljdWxhciBidWcgcmFuay4KLSAgICAgICAgICAgIFRoZSA8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4gYXR0cmlidXRlIHNob3VsZCBiZSBhbiBpbnRlZ2VyIHZhbHVlCi0gICAgICAgICAgICBiZXR3ZWVuIDEgYW5kIDIwLCB3aGVyZSAxIHRvIDQgYXJlIHNjYXJpZXN0LCA1IHRvIDkgc2NhcnksIDEwIHRvIDE0IHRyb3VibGluZywKLSAgICAgICAgICAgIGFuZCAxNSB0byAyMCBvZiBjb25jZXJuIGJ1Z3MuCi0gICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotCi0gPHZhcmxpc3RlbnRyeT4KLSAgIDx0ZXJtPjxsaXRlcmFsPiZsdDtQYWNrYWdlJmd0OzwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgIFRoaXMgZWxlbWVudCBtYXRjaGVzIHdhcm5pbmdzIGFzc29jaWF0ZWQgd2l0aCBjbGFzc2VzIHdpdGhpbiB0aGUgcGFja2FnZSBzcGVjaWZpZWQKLSAgICAgICAgICAgIHVzaW5nIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IGF0dHJpYnV0ZS4gTmVzdGVkIHBhY2thZ2VzIGFyZSBub3QgaW5jbHVkZWQgKGFsb25nIHRoZQotICAgICAgICAgICAgbGluZXMgb2YgSmF2YSBpbXBvcnQgc3RhdGVtZW50KS4gSG93ZXZlciBtYXRjaGluZyBtdWx0aXBsZSBwYWNrYWdlcyBjYW4gYmUgYWNoaWV2ZWQKLSAgICAgICAgICAgIGVhc2lseSB1c2luZyByZWdleCBuYW1lIG1hdGNoLgotICAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSA8dmFybGlzdGVudHJ5PgotICAgPHRlcm0+PGxpdGVyYWw+Jmx0O0NsYXNzJmd0OzwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgIFRoaXMgZWxlbWVudCBtYXRjaGVzIHdhcm5pbmdzIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgY2xhc3MuIFRoZQotICAgICAgICAgICAgPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4gYXR0cmlidXRlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgZXhhY3Qgb3IgcmVnZXggbWF0Y2ggcGF0dGVybgotICAgICAgICAgICAgZm9yIHRoZSBjbGFzcyBuYW1lLgotICAgICAgICA8L3BhcmE+Ci0KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICBBcyBhIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgbWVhc3VyZSwgaW5zdGVhZCBvZiBlbGVtZW50IG9mIHRoaXMgdHlwZSwgeW91IGNhbiB1c2UKLSAgICAgICAgICAgICA8bGl0ZXJhbD5jbGFzczwvbGl0ZXJhbD4gYXR0cmlidXRlIG9uIGEgPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IGVsZW1lbnQgdG8gc3BlY2lmeQotICAgICAgICAgICAgIGV4YWN0IGFuIGNsYXNzIG5hbWUgb3IgPGxpdGVyYWw+Y2xhc3NyZWdleDwvbGl0ZXJhbD4gYXR0cmlidXRlIHRvIHNwZWNpZnkgYSByZWd1bGFyCi0gICAgICAgICAgICAgZXhwcmVzc2lvbiB0byBtYXRjaCB0aGUgY2xhc3MgbmFtZSBhZ2FpbnN0LgotICAgICAgICA8L3BhcmE+Ci0KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICBJZiB0aGUgPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IGVsZW1lbnQgY29udGFpbnMgbmVpdGhlciBhIDxsaXRlcmFsPkNsYXNzPC9saXRlcmFsPiBlbGVtZW50LAotICAgICAgICAgICAgbm9yIGEgPGxpdGVyYWw+Y2xhc3M8L2xpdGVyYWw+IC8gPGxpdGVyYWw+Y2xhc3NyZWdleDwvbGl0ZXJhbD4gYXR0cmlidXRlLCB0aGUgcHJlZGljYXRlIHdpbGwgYXBwbHkKLSAgICAgICAgICAgIHRvIGFsbCBjbGFzc2VzLiBTdWNoIHByZWRpY2F0ZSBpcyBsaWtlbHkgdG8gbWF0Y2ggbW9yZSBidWcgaW5zdGFuY2VzIHRoYW4geW91IHdhbnQsIHVubGVzcyBpdCBpcwotICAgICAgICAgICAgcmVmaW5lZCBmdXJ0aGVyIGRvd24gd2l0aCBhcHJvcHJpYXRlIG1ldGhvZCBvciBmaWVsZCBwcmVkaWNhdGVzLgotICAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSA8L3Zhcmxpc3RlbnRyeT4KLQotIDx2YXJsaXN0ZW50cnk+Ci0gICA8dGVybT48bGl0ZXJhbD4mbHQ7TWV0aG9kJmd0OzwvbGl0ZXJhbD48L3Rlcm0+Ci0KLSAgIDxsaXN0aXRlbT48cGFyYT5UaGlzIGVsZW1lbnQgc3BlY2lmaWVzIGEgbWV0aG9kLiAgVGhlIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IGlzIHVzZWQgdG8gc3BlY2lmeQotICAgdGhlIGV4YWN0IG9yIHJlZ2V4IG1hdGNoIHBhdHRlcm4gZm9yIHRoZSBtZXRob2QgbmFtZS4KLSAgIFRoZSA8bGl0ZXJhbD5wYXJhbXM8L2xpdGVyYWw+IGF0dHJpYnV0ZSBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0Ci0gICBvZiB0aGUgdHlwZXMgb2YgdGhlIG1ldGhvZCdzIHBhcmFtZXRlcnMuICBUaGUgPGxpdGVyYWw+cmV0dXJuczwvbGl0ZXJhbD4gYXR0cmlidXRlIGlzCi0gICB0aGUgbWV0aG9kJ3MgcmV0dXJuIHR5cGUuICBJbiA8bGl0ZXJhbD5wYXJhbXM8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5yZXR1cm5zPC9saXRlcmFsPiwgY2xhc3MgbmFtZXMKLSAgIG11c3QgYmUgZnVsbHkgcXVhbGlmaWVkLiAoRS5nLiwgImphdmEubGFuZy5TdHJpbmciIGluc3RlYWQgb2YganVzdAotICAgIlN0cmluZyIuKSBJZiBvbmUgb2YgdGhlIGxhdHRlciBhdHRyaWJ1dGVzIGlzIHNwZWNpZmllZCB0aGUgb3RoZXIgaXMgcmVxdWlyZWQgZm9yIGNyZWF0aW5nIGEgbWV0aG9kIHNpZ25hdHVyZS4KLSAgIE5vdGUgdGhhdCB5b3UgY2FuIHByb3ZpZGUgZWl0aGVyIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IGF0dHJpYnV0ZSBvciA8bGl0ZXJhbD5wYXJhbXM8L2xpdGVyYWw+Ci0gICBhbmQgPGxpdGVyYWw+cmV0dXJuczwvbGl0ZXJhbD4gYXR0cmlidXRlcyBvciBhbGwgdGhyZWUgb2YgdGhlbS4gVGhpcyB3YXkgeW91IGNhbiBwcm92aWRlIHZhcmlvdXMga2luZHMgb2YKLSAgIG5hbWUgYW5kIHNpZ25hdHVyZSBiYXNlZCBtYXRjaGVzLgotICAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gPC92YXJsaXN0ZW50cnk+Ci0KLSA8dmFybGlzdGVudHJ5PgotICAgPHRlcm0+PGxpdGVyYWw+Jmx0O0ZpZWxkJmd0OzwvbGl0ZXJhbD48L3Rlcm0+Ci0KLSAgIDxsaXN0aXRlbT48cGFyYT5UaGlzIGVsZW1lbnQgc3BlY2lmaWVzIGEgZmllbGQuIFRoZSA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBhdHRyaWJ1dGUgaXMgaXMgdXNlZCB0byBzcGVjaWZ5Ci0gICB0aGUgZXhhY3Qgb3IgcmVnZXggbWF0Y2ggcGF0dGVybiBmb3IgdGhlIGZpZWxkIG5hbWUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgZmllbGRzIGFjY29yZGluZyB0byB0aGVpciBzaWduYXR1cmUgLQotICAgdXNlIDxsaXRlcmFsPnR5cGU8L2xpdGVyYWw+IGF0dHJpYnV0ZSB0byBzcGVjaWZ5IGZ1bGx5IHF1YWxpZmllZCB0eXBlIG9mIHRoZSBmaWVsZC4gWW91IGNhbiBzcGVjaWZ5IGVpdGVyIG9yIGJvdGgKLSAgIG9mIHRoZXNlIGF0dHJpYnV0ZXMgaW4gb3JkZXIgdG8gcGVyZm9ybSBuYW1lIC8gc2lnbmF0dXJlIGJhc2VkIG1hdGNoZXMuCi0gICA8L3BhcmE+PC9saXN0aXRlbT4KLSA8L3Zhcmxpc3RlbnRyeT4KLQotICAgPHZhcmxpc3RlbnRyeT4KLSAgIDx0ZXJtPjxsaXRlcmFsPiZsdDtMb2NhbCZndDs8L2xpdGVyYWw+PC90ZXJtPgotCi0gICA8bGlzdGl0ZW0+PHBhcmE+VGhpcyBlbGVtZW50IHNwZWNpZmllcyBhIGxvY2FsIHZhcmlhYmxlLiBUaGUgPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4gYXR0cmlidXRlIGlzIGlzIHVzZWQgdG8gc3BlY2lmeQotICAgdGhlIGV4YWN0IG9yIHJlZ2V4IG1hdGNoIHBhdHRlcm4gZm9yIHRoZSBsb2NhbCB2YXJpYWJsZSBuYW1lLiBMb2NhbCB2YXJpYWJsZXMgYXJlIHZhcmlhYmxlcyBkZWZpbmVkIHdpdGhpbiBhIG1ldGhvZC4KLSAgIDwvcGFyYT48L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotCi0gPHZhcmxpc3RlbnRyeT4KLSAgIDx0ZXJtPjxsaXRlcmFsPiZsdDtPciZndDs8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgIFRoaXMgZWxlbWVudCBjb21iaW5lcyA8bGl0ZXJhbD5NYXRjaDwvbGl0ZXJhbD4gY2xhdXNlcyBhcyBkaXNqdW5jdHMuICBJLmUuLCB5b3UgY2FuIHB1dCB0d28KLSAgIDxsaXRlcmFsPk1ldGhvZDwvbGl0ZXJhbD4gZWxlbWVudHMgaW4gYW4gPGxpdGVyYWw+T3I8L2xpdGVyYWw+IGNsYXVzZSBpbiBvcmRlciB0byBtYXRjaCBlaXRoZXIgbWV0aG9kLgotICAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gPC92YXJsaXN0ZW50cnk+Ci0gPHZhcmxpc3RlbnRyeT4KLSAgIDx0ZXJtPjxsaXRlcmFsPiZsdDtBbmQmZ3Q7PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICBUaGlzIGVsZW1lbnQgY29tYmluZXMgPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IGNsYXVzZXMgd2hpY2ggYm90aCBtdXN0IGV2YWx1YXRlIHRvIHRydWUuICBJLmUuLCB5b3UgY2FuIHB1dAotICAgPGxpdGVyYWw+QnVnPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+UHJpb3JpdHk8L2xpdGVyYWw+IGVsZW1lbnRzIGluIGFuIDxsaXRlcmFsPkFuZDwvbGl0ZXJhbD4gY2xhdXNlIGluIG9yZGVyCi0gICB0byBtYXRjaCBzcGVjaWZpYyBidWdzIHdpdGggZ2l2ZW4gcHJpb3JpdHkgb25seS4KLSAgIDwvcGFyYT48L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotIDx2YXJsaXN0ZW50cnk+Ci0gICA8dGVybT48bGl0ZXJhbD4mbHQ7Tm90Jmd0OzwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPjxwYXJhPgotICAgVGhpcyBlbGVtZW50IGludmVydHMgdGhlIGluY2x1ZGVkIGNoaWxkIDxsaXRlcmFsPk1hdGNoPC9saXRlcmFsPi4gSS5lLiwgeW91IGNhbiBwdXQgYQotICAgPGxpdGVyYWw+QnVnPC9saXRlcmFsPiBlbGVtZW50IGluIGEgPGxpdGVyYWw+Tm90PC9saXRlcmFsPiBjbGF1c2UgaW4gb3JkZXIgdG8gbWF0Y2ggYW55IGJ1ZwotICAgZXhjbHVkaW5nIHRoZSBnaXZlbiBvbmUuCi0gICA8L3BhcmE+PC9saXN0aXRlbT4KLSA8L3Zhcmxpc3RlbnRyeT4KLTwvdmFyaWFibGVsaXN0PgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+SmF2YSBlbGVtZW50IG5hbWUgbWF0Y2hpbmc8L3RpdGxlPgotCi08cGFyYT4KLUlmIHRoZSA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBhdHRyaWJ1dGUgb2YgPGxpdGVyYWw+Q2xhc3M8L2xpdGVyYWw+LCA8bGl0ZXJhbD5NZXRob2Q8L2xpdGVyYWw+IG9yCi08bGl0ZXJhbD5GaWVsZDwvbGl0ZXJhbD4gc3RhcnRzIHdpdGggdGhlIH4gY2hhcmFjdGVyIHRoZSByZXN0IG9mIGF0dHJpYnV0ZSBjb250ZW50IGlzIGludGVycHJldGVkIGFzCi1hIEphdmEgcmVndWxhciBleHByZXNzaW9uIHRoYXQgaXMgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBuYW1lcyBvZiB0aGUgSmF2YSBlbGVtZW50IGluIHF1ZXN0aW9uLgotPC9wYXJhPgotCi08cGFyYT4KLU5vdGUgdGhhdCB0aGUgcGF0dGVybiBpcyBtYXRjaGVkIGFnYWluc3Qgd2hvbGUgZWxlbWVudCBuYW1lIGFuZCB0aGVyZWZvcmUgLiogY2xhdXNlcyBuZWVkIHRvIGJlIHVzZWQKLWF0IHBhdHRlcm4gYmVnaW5uaW5nIGFuZC9vciBlbmQgdG8gcGVyZm9ybSBzdWJzdHJpbmcgbWF0Y2hpbmcuCi08L3BhcmE+Ci0KLTxwYXJhPgotU2VlIDx1bGluayB1cmw9Imh0dHA6Ly9qYXZhLnN1bi5jb20vajJzZS8xLjUuMC9kb2NzL2FwaS9qYXZhL3V0aWwvcmVnZXgvUGF0dGVybi5odG1sIj48bGl0ZXJhbD5qYXZhLnV0aWwucmVnZXguUGF0dGVybjwvbGl0ZXJhbD48L3VsaW5rPgotZG9jdW1lbnRhdGlvbiBmb3IgcGF0dGVybiBzeW50YXguCi08L3BhcmE+Ci08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+Q2F2ZWF0czwvdGl0bGU+Ci0KLTxwYXJhPgotPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IGNsYXVzZXMgY2FuIG9ubHkgbWF0Y2ggaW5mb3JtYXRpb24gdGhhdCBpcyBhY3R1YWxseSBjb250YWluZWQgaW4gdGhlCi1idWcgaW5zdGFuY2VzLiAgRXZlcnkgYnVnIGluc3RhbmNlIGhhcyBhIGNsYXNzLCBzbyBpbiBnZW5lcmFsLCBleGNsdWRpbmcKLWJ1Z3MgYnkgY2xhc3Mgd2lsbCB3b3JrLgotPC9wYXJhPgotCi08cGFyYT4KLVNvbWUgYnVnIGluc3RhbmNlcyBoYXZlIHR3byAob3IgbW9yZSkgY2xhc3Nlcy4gIEZvciBleGFtcGxlLCB0aGUgREUgKGRyb3BwZWQgZXhjZXB0aW9uKQotYnVncyByZXBvcnQgYm90aCB0aGUgY2xhc3MgY29udGFpbmluZyB0aGUgbWV0aG9kIHdoZXJlIHRoZSBkcm9wcGVkIGV4Y2VwdGlvbgotaGFwcGVucywgYW5kIHRoZSBjbGFzcyB3aGljaCByZXByZXNlbnRzIHRoZSB0eXBlIG9mIHRoZSBkcm9wcGVkIGV4Y2VwdGlvbi4KLU9ubHkgdGhlIDxlbXBoYXNpcz5maXJzdDwvZW1waGFzaXM+IChwcmltYXJ5KSBjbGFzcyBpcyBtYXRjaGVkIGFnYWluc3QgPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IGNsYXVzZXMuCi1TbywgZm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHRvIHN1cHByZXNzIElDIChpbml0aWFsaXphdGlvbiBjaXJjdWxhcml0eSkKLXJlcG9ydHMgZm9yIGNsYXNzZXMgImNvbS5mb29iYXIuQSIgYW5kICJjb20uZm9vYmFyLkIiLCB5b3Ugd291bGQgdXNlCi10d28gPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IGNsYXVzZXM6Ci0KLTxwcm9ncmFtbGlzdGluZz4KLSAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLkEiIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIGNvZGU9IklDIiAvJmd0OwotICAgJmx0Oy9NYXRjaCZndDsKLQotICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O0NsYXNzIG5hbWU9ImNvbS5mb29iYXIuQiIgLyZndDsKLSAgICAgICZsdDtCdWcgY29kZT0iSUMiIC8mZ3Q7Ci0gICAmbHQ7L01hdGNoJmd0OwotPC9wcm9ncmFtbGlzdGluZz4KLQotQnkgZXhwbGljaXRseSBtYXRjaGluZyBib3RoIGNsYXNzZXMsIHlvdSBlbnN1cmUgdGhhdCB0aGUgSUMgYnVnIGluc3RhbmNlIHdpbGwgYmUKLW1hdGNoZWQgcmVnYXJkbGVzcyBvZiB3aGljaCBjbGFzcyBpbnZvbHZlZCBpbiB0aGUgY2lyY3VsYXJpdHkgaGFwcGVucyB0byBiZQotbGlzdGVkIGZpcnN0IGluIHRoZSBidWcgaW5zdGFuY2UuICAoT2YgY291cnNlLCB0aGlzIGFwcHJvYWNoIG1pZ2h0IGFjY2lkZW50YWxseQotc3VwcmVzcyBjaXJjdWxhcml0aWVzIGludm9sdmluZyAiY29tLmZvb2Jhci5BIiBvciAiY29tLmZvb2Jhci5CIiBhbmQgYSB0aGlyZAotY2xhc3MuKQotPC9wYXJhPgotCi08cGFyYT4KLU1hbnkga2luZHMgb2YgYnVncyByZXBvcnQgd2hhdCBtZXRob2QgdGhleSBvY2N1ciBpbi4gIEZvciB0aG9zZSBidWcgaW5zdGFuY2VzLAoteW91IGNhbiBwdXQgPGxpdGVyYWw+TWV0aG9kPC9saXRlcmFsPiBjbGF1c2VzIGluIHRoZSA8bGl0ZXJhbD5NYXRjaDwvbGl0ZXJhbD4gZWxlbWVudCBhbmQgdGhleSBzaG91bGQgd29yawotYXMgZXhwZWN0ZWQuCi08L3BhcmE+Ci0KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5FeGFtcGxlczwvdGl0bGU+Ci0KLTxwYXJhPgotICAxLiBNYXRjaCBhbGwgYnVnIHJlcG9ydHMgZm9yIGEgY2xhc3MuCi0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgICA8TWF0Y2g+Ci0gICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLz4KLSAgICAgPC9NYXRjaD4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLQotPC9wYXJhPgotCi08cGFyYT4KLSAgMi4gTWF0Y2ggY2VydGFpbiB0ZXN0cyBmcm9tIGEgY2xhc3MgYnkgc3BlY2lmeWluZyB0aGVpciBhYmJyZXZpYXRpb25zLgotPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi0gICAgIDxNYXRjaD4KLSAgICAgICA8Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5NeUNsYXNzIi8gPgotICAgICAgIDxCdWcgY29kZT0iREUsVXJGLFNJQyIgLz4KLSAgICAgPC9NYXRjaD4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLTwvcGFyYT4KLQotPHBhcmE+Ci0gIDMuIE1hdGNoIGNlcnRhaW4gdGVzdHMgZnJvbSBhbGwgY2xhc3NlcyBieSBzcGVjaWZ5aW5nIHRoZWlyIGFiYnJldmlhdGlvbnMuCi0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgICA8TWF0Y2g+Ci0gICAgICAgPEJ1ZyBjb2RlPSJERSxVckYsU0lDIiAvPgotICAgICA8L01hdGNoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotPC9wYXJhPgotCi08cGFyYT4KLSAgNC4gTWF0Y2ggY2VydGFpbiB0ZXN0cyBmcm9tIGFsbCBjbGFzc2VzIGJ5IHNwZWNpZnlpbmcgdGhlaXIgY2F0ZWdvcnkuCi0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgICA8TWF0Y2g+Ci0gICAgICAgPEJ1ZyBjYXRlZ29yeT0iUEVSRk9STUFOQ0UiIC8+Ci0gICAgIDwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLTxwYXJhPgotICA1LiBNYXRjaCBidWcgdHlwZXMgZnJvbSBzcGVjaWZpZWQgbWV0aG9kcyBvZiBhIGNsYXNzIGJ5IHRoZWlyIGFiYnJldmlhdGlvbnMuCi0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgICA8TWF0Y2g+Ci0gICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLz4KLSAgICAgICA8T3I+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9ImZyb2IiIHBhcmFtcz0iaW50LGphdmEubGFuZy5TdHJpbmciIHJldHVybnM9InZvaWQiIC8+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9ImJsYXQiIHBhcmFtcz0iIiByZXR1cm5zPSJib29sZWFuIiAvPgotICAgICAgIDwvT3I+Ci0gICAgICAgPEJ1ZyBjb2RlPSJEQyIgLz4KLSAgICAgPC9NYXRjaD4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLTwvcGFyYT4KLQotPHBhcmE+Ci0gICAgNi4gTWF0Y2ggYSBwYXJ0aWN1bGFyIGJ1ZyBwYXR0ZXJuIGluIGEgcGFydGljdWxhciBtZXRob2QuCi0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgIDwhLS0gQSBtZXRob2Qgd2l0aCBhbiBvcGVuIHN0cmVhbSBmYWxzZSBwb3NpdGl2ZS4gLS0+Ci0gICAgPE1hdGNoPgotICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLz4KLSAgICAgIDxNZXRob2QgbmFtZT0id3JpdGVEYXRhVG9GaWxlIiAvPgotICAgICAgPEJ1ZyBwYXR0ZXJuPSJPU19PUEVOX1NUUkVBTSIgLz4KLSAgICA8L01hdGNoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotPC9wYXJhPgotCi08cGFyYT4KLSAgICA3LiBNYXRjaCBhIHBhcnRpY3VsYXIgYnVnIHBhdHRlcm4gd2l0aCBhIGdpdmVuIHByaW9yaXR5IGluIGEgcGFydGljdWxhciBtZXRob2QuCi0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgIDwhLS0gQSBtZXRob2Qgd2l0aCBhIGRlYWQgbG9jYWwgc3RvcmUgZmFsc2UgcG9zaXRpdmUgKG1lZGl1bSBwcmlvcml0eSkuIC0tPgotICAgIDxNYXRjaD4KLSAgICAgIDxDbGFzcyBuYW1lPSJjb20uZm9vYmFyLk15Q2xhc3MiIC8+Ci0gICAgICA8TWV0aG9kIG5hbWU9InNvbWVNZXRob2QiIC8+Ci0gICAgICA8QnVnIHBhdHRlcm49IkRMU19ERUFEX0xPQ0FMX1NUT1JFIiAvPgotICAgICAgPFByaW9yaXR5IHZhbHVlPSIyIiAvPgotICAgIDwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLTxwYXJhPgotICAgIDguIE1hdGNoIG1pbm9yIGJ1Z3MgaW50cm9kdWNlZCBieSBBc3BlY3RKIGNvbXBpbGVyICh5b3UgYXJlIHByb2JhYmx5IG5vdCBpbnRlcmVzdGVkIGluIHRoZXNlIHVubGVzcwotICAgIHlvdSBhcmUgYW4gQXNwZWN0SiBkZXZlbG9wZXIpLgotCi08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLSAgICA8TWF0Y2g+Ci0gICAgICA8Q2xhc3MgbmFtZT0ifi4qXCRBamNDbG9zdXJlXGQrIiAvPgotICAgICAgPEJ1ZyBwYXR0ZXJuPSJETFNfREVBRF9MT0NBTF9TVE9SRSIgLz4KLSAgICAgIDxNZXRob2QgbmFtZT0icnVuIiAvPgotICAgIDwvTWF0Y2g+Ci0gICAgPE1hdGNoPgotICAgICAgPEJ1ZyBwYXR0ZXJuPSJVVUZfVU5VU0VEX0ZJRUxEIiAvPgotICAgICAgPEZpZWxkIG5hbWU9In5hamNcJC4qIiAvPgotICAgIDwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLTxwYXJhPgotICAgIDkuIE1hdGNoIGJ1Z3MgaW4gc3BlY2lmaWMgcGFydHMgb2YgdGhlIGNvZGUgYmFzZQotCi08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLSAgICA8IS0tIG1hdGNoIHVudXNlZCBmaWVsZHMgd2FybmluZ3MgaW4gTWVzc2FnZXMgY2xhc3NlcyBpbiBhbGwgcGFja2FnZXMgLS0+Ci0gICAgPE1hdGNoPgotICAgICAgPENsYXNzIG5hbWU9In4uKlwuTWVzc2FnZXMiIC8+Ci0gICAgICA8QnVnIGNvZGU9IlVVRiIgLz4KLSAgICA8L01hdGNoPgotICAgIDwhLS0gbWF0Y2ggbXV0YWJsZSBzdGF0aWNzIHdhcm5pbmdzIGluIGFsbCBpbnRlcm5hbCBwYWNrYWdlcyAtLT4KLSAgICA8TWF0Y2g+Ci0gICAgICA8UGFja2FnZSBuYW1lPSJ+LipcLmludGVybmFsIiAvPgotICAgICAgPEJ1ZyBjb2RlPSJNUyIgLz4KLSAgICA8L01hdGNoPgotICAgIDwhLS0gbWF0Y2ggYW5vbnltb291cyBpbm5lciBjbGFzc2VzIHdhcm5pbmdzIGluIHVpIHBhY2thZ2UgaGllcmFyY2h5IC0tPgotICAgIDxNYXRjaD4KLSAgICAgIDxQYWNrYWdlIG5hbWU9In5jb21cLmZvb2JhclwuZm9vcHJvamVjdFwudWkuKiIgLz4KLSAgICAgIDxCdWcgcGF0dGVybj0iU0lDX0lOTkVSX1NIT1VMRF9CRV9TVEFUSUNfQU5PTiIgLz4KLSAgICA8L01hdGNoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotPC9wYXJhPgotCi08cGFyYT4KLSAgICAxMC4gTWF0Y2ggYnVncyBvbiBmaWVsZHMgb3IgbWV0aG9kcyB3aXRoIHNwZWNpZmljIHNpZ25hdHVyZXMKLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgIDwhLS0gbWF0Y2ggU3lzdGVtLmV4aXQoLi4uKSB1c2FnZSB3YXJuaW5ncyBpbiB2b2lkIG1haW4oU3RyaW5nW10pIG1ldGhvZHMgaW4gYWxsIGNsYXNzZXMgLS0+Ci0gICAgPE1hdGNoPgotICAgICAgPE1ldGhvZCByZXR1cm5zPSJ2b2lkIiBuYW1lPSJtYWluIiBwYXJhbXM9ImphdmEubGFuZy5TdHJpbmdbXSIgLz4KLSAgICAgIDxCdWcgcGF0dGVybj0iRE1fRVhJVCIgLz4KLSAgICA8L01hdGNoPgotICAgIDwhLS0gbWF0Y2ggVXVGIHdhcm5pbmdzIG9uIGZpZWxkcyBvZiB0eXBlIGNvbS5mb29iYXIuRGVidWdJbmZvIG9uIGFsbCBjbGFzc2VzIC0tPgotICAgIDxNYXRjaD4KLSAgICAgIDxGaWVsZCB0eXBlPSJjb20uZm9vYmFyLkRlYnVnSW5mbyIgLz4KLSAgICAgIDxCdWcgY29kZT0iVXVGIiAvPgotICAgIDwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLQotPHBhcmE+Ci0gICAgMTEuIE1hdGNoIGJ1Z3MgdXNpbmcgdGhlIE5vdCBmaWx0ZXIgb3BlcmF0b3IKLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotPCEtLSBpZ25vcmUgYWxsIGJ1Z3MgaW4gdGVzdCBjbGFzc2VzLCBleGNlcHQgZm9yIHRob3NlIGJ1Z3Mgc3BlY2lmaWNhbGx5IHJlbGF0aW5nIHRvIEpVbml0IHRlc3RzIC0tPgotPCEtLSBpLmUuIGZpbHRlciBidWcgaWYgKCBjbGFzc0lzSlVuaXRUZXN0ICYmICEgYnVnSXNSZWxhdGVkVG9KVW5pdCApIC0tPgotPE1hdGNoPgotICA8IS0tIHRoZSBNYXRjaCBmaWx0ZXIgaXMgZXF1aXZhbGVudCB0byBhIGxvZ2ljYWwgJ0FuZCcgLS0+Ci0KLSAgPENsYXNzIG5hbWU9In4uKlwuKlRlc3QiIC8+Ci0gIDwhLS0gdGVzdCBjbGFzc2VzIGFyZSBzdWZmaXhlZCBieSAnVGVzdCcgLS0+Ci0KLSAgPE5vdD4KLSAgICAgIDxCdWcgY29kZT0iSUpVIiAvPiA8IS0tICdJSlUnIGlzIHRoZSBjb2RlIGZvciBidWdzIHJlbGF0ZWQgdG8gSlVuaXQgdGVzdCBjb2RlIC0tPgotICA8L05vdD4KLTwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5Db21wbGV0ZSBFeGFtcGxlPC90aXRsZT4KLQotPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi08RmluZEJ1Z3NGaWx0ZXI+Ci0gICAgIDxNYXRjaD4KLSAgICAgICA8Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5DbGFzc05vdFRvQmVBbmFseXplZCIgLz4KLSAgICAgPC9NYXRjaD4KLQotICAgICA8TWF0Y2g+Ci0gICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuQ2xhc3NXaXRoU29tZUJ1Z3NNYXRjaGVkIiAvPgotICAgICAgIDxCdWcgY29kZT0iREUsVXJGLFNJQyIgLz4KLSAgICAgPC9NYXRjaD4KLQotICAgICA8IS0tIE1hdGNoIGFsbCBYWVogdmlvbGF0aW9ucy4gLS0+Ci0gICAgIDxNYXRjaD4KLSAgICAgICA8QnVnIGNvZGU9IlhZWiIgLz4KLSAgICAgPC9NYXRjaD4KLQotICAgICA8IS0tIE1hdGNoIGFsbCBkb3VibGVjaGVjayB2aW9sYXRpb25zIGluIHRoZXNlIG1ldGhvZHMgb2YgIkFub3RoZXJDbGFzcyIuIC0tPgotICAgICA8TWF0Y2g+Ci0gICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuQW5vdGhlckNsYXNzIiAvPgotICAgICAgIDxPcj4KLSAgICAgICAgIDxNZXRob2QgbmFtZT0ibm9uT3ZlcmxvYWRlZE1ldGhvZCIgLz4KLSAgICAgICAgIDxNZXRob2QgbmFtZT0iZnJvYiIgcGFyYW1zPSJpbnQsamF2YS5sYW5nLlN0cmluZyIgcmV0dXJucz0idm9pZCIgLz4KLSAgICAgICAgIDxNZXRob2QgbmFtZT0iYmxhdCIgcGFyYW1zPSIiIHJldHVybnM9ImJvb2xlYW4iIC8+Ci0gICAgICAgPC9Pcj4KLSAgICAgICA8QnVnIGNvZGU9IkRDIiAvPgotICAgICA8L01hdGNoPgotCi0gICAgIDwhLS0gQSBtZXRob2Qgd2l0aCBhIGRlYWQgbG9jYWwgc3RvcmUgZmFsc2UgcG9zaXRpdmUgKG1lZGl1bSBwcmlvcml0eSkuIC0tPgotICAgICA8TWF0Y2g+Ci0gICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLz4KLSAgICAgICA8TWV0aG9kIG5hbWU9InNvbWVNZXRob2QiIC8+Ci0gICAgICAgPEJ1ZyBwYXR0ZXJuPSJETFNfREVBRF9MT0NBTF9TVE9SRSIgLz4KLSAgICAgICA8UHJpb3JpdHkgdmFsdWU9IjIiIC8+Ci0gICAgIDwvTWF0Y2g+Ci0KLSAgICAgPCEtLSBBbGwgYnVncyBpbiB0ZXN0IGNsYXNzZXMsIGV4Y2VwdCBmb3IgSlVuaXQtc3BlY2lmaWMgYnVncyAtLT4KLSAgICAgPE1hdGNoPgotICAgICAgPENsYXNzIG5hbWU9In4uKlwuKlRlc3QiIC8+Ci0gICAgICA8Tm90PgotICAgICAgICAgIDxCdWcgY29kZT0iSUpVIiAvPgotICAgICAgPC9Ob3Q+Ci0gICAgIDwvTWF0Y2g+Ci0KLTwvRmluZEJ1Z3NGaWx0ZXI+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci0KLTwvc2VjdDE+Ci0KLQotPC9jaGFwdGVyPgotCi0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBBbmFseXNpcyBwcm9wZXJ0aWVzCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJhbmFseXNpc3Byb3BzIj4KLTx0aXRsZT5BbmFseXNpcyBQcm9wZXJ0aWVzPC90aXRsZT4KLQotPHBhcmE+Ci0mRmluZEJ1Z3M7IGFsbG93cyBzZXZlcmFsIGFzcGVjdHMgb2YgdGhlIGFuYWx5c2VzIGl0IHBlcmZvcm1zIHRvIGJlCi1jdXN0b21pemVkLiAgU3lzdGVtIHByb3BlcnRpZXMgYXJlIHVzZWQgdG8gY29uZmlndXJlIHRoZXNlIG9wdGlvbnMuCi1UaGlzIGNoYXB0ZXIgZGVzY3JpYmVzIHRoZSBjb25maWd1cmFibGUgYW5hbHlzaXMgb3B0aW9ucy4KLTwvcGFyYT4KLQotPHBhcmE+Ci1UaGUgYW5hbHlzaXMgb3B0aW9ucyBoYXZlIHR3byBtYWluIHB1cnBvc2VzLiAgRmlyc3QsIHRoZXkgYWxsb3cgeW91Ci10byBpbmZvcm0gJkZpbmRCdWdzOyBhYm91dCB0aGUgbWVhbmluZyBvZiBtZXRob2RzIGluIHlvdXIgYXBwbGljYXRpb24sCi1zbyB0aGF0IGl0IGNhbiBwcm9kdWNlIG1vcmUgYWNjdXJhdGUgcmVzdWx0cywgb3IgcHJvZHVjZSBmZXdlcgotZmFsc2Ugd2FybmluZ3MuICBTZWNvbmQsIHRoZXkgYWxsb3cgeW91IHRvIGNvbmZpZ3VyZSB0aGUgcHJlY2lzaW9uCi1vZiB0aGUgYW5hbHlzaXMgcGVyZm9ybWVkLiAgUmVkdWNpbmcgYW5hbHlzaXMgcHJlY2lzaW9uIGNhbiBzYXZlCi1tZW1vcnkgYW5kIGFuYWx5c2lzIHRpbWUsIGF0IHRoZSBleHBlbnNlIG9mIG1pc3Npbmcgc29tZSByZWFsIGJ1Z3MsCi1vciBwcm9kdWNpbmcgbW9yZSBmYWxzZSB3YXJuaW5ncy4KLTwvcGFyYT4KLQotPHBhcmE+Ci1UaGUgYW5hbHlzaXMgb3B0aW9ucyBhcmUgc2V0IHVzaW5nIHRoZSA8Y29tbWFuZD4tcHJvcGVydHk8L2NvbW1hbmQ+Ci1jb21tYW5kIGxpbmUgb3B0aW9uLiAgRm9yIGV4YW1wbGU6Ci08c2NyZWVuPgotPHByb21wdD4kIDwvcHJvbXB0Pjxjb21tYW5kPmZpbmRidWdzIC10ZXh0dWkgLXByb3BlcnR5ICJjZmcubm9wcnVuZT10cnVlIiA8cmVwbGFjZWFibGU+bXlBcHAuamFyPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLTwvcGFyYT4KLQotPHBhcmE+Ci1UaGUgbGlzdCBvZiBjb25maWd1cmFibGUgYW5hbHlzaXMgcHJvcGVydGllcyBpcyBzaG93biBpbgotPHhyZWYgbGlua2VuZD0iYW5hbHlzaXNwcm9wdGFibGUiLz4uCi08L3BhcmE+Ci0KLTx0YWJsZSBpZD0iYW5hbHlzaXNwcm9wdGFibGUiPgotPHRpdGxlPkNvbmZpZ3VyYWJsZSBBbmFseXNpcyBQcm9wZXJ0aWVzPC90aXRsZT4KLTx0Z3JvdXAgY29scz0iMyIgYWxpZ249ImxlZnQiPgotICA8dGhlYWQ+Ci0gICAgPHJvdz4KLSAgICAgIDxlbnRyeT5Qcm9wZXJ0eSBOYW1lPC9lbnRyeT4KLSAgICAgIDxlbnRyeT5WYWx1ZTwvZW50cnk+Ci0gICAgICA8ZW50cnk+TWVhbmluZzwvZW50cnk+Ci0gICAgPC9yb3c+Ci0gIDwvdGhlYWQ+Ci0gIDx0Ym9keT4KLTwhLS0KLSAgICA8cm93PgotICAgICAgPGVudHJ5PmNmZy5ub3BydW5lPC9lbnRyeT4KLSAgICAgIDxlbnRyeT50cnVlIG9yIGZhbHNlPC9lbnRyeT4KLSAgICAgIDxlbnRyeT5JZiB0cnVlLCBpbmZlYXNpYmxlIGV4Y2VwdGlvbiBlZGdlcyBhcmUgbm90IHBydW5lZCBmcm9tCi0gICAgICB0aGUgY29udHJvbCBmbG93IGdyYXBocyBvZiBhbmFseXplZCBtZXRob2RzLiAgVGhpcyBvcHRpb24KLSAgICAgIGluY3JlYXNlcyB0aGUgc3BlZWQgb2YgdGhlIGFuYWx5c2lzIChieSBhYm91dCAyMCUtMzAlKSwKLSAgICAgIGJ1dCBjYXVzZXMgc29tZSBkZXRlY3RvcnMgdG8gcHJvZHVjZSBtb3JlIGZhbHNlIHdhcm5pbmdzLjwvZW50cnk+Ci0gICAgPC9yb3c+Ci0tLT4KLSAgICA8cm93PgotICAgICAgPGVudHJ5PmZpbmRidWdzLmFzc2VydGlvbm1ldGhvZHM8L2VudHJ5PgotICAgICAgPGVudHJ5PkNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGZ1bGx5IHF1YWxpZmllZCBtZXRob2QgbmFtZXM6Ci0gICAgICBlLmcuLCAiY29tLmZvby5NeUNsYXNzLmNoZWNrQXNzZXJ0aW9uIjwvZW50cnk+Ci0gICAgICA8ZW50cnk+VGhpcyBwcm9wZXJ0eSBzcGVjaWZpZXMgdGhlIG5hbWVzIG9mIG1ldGhvZHMgdGhhdCBhcmUgdXNlZAotICAgICAgdG8gY2hlY2sgcHJvZ3JhbSBhc3NlcnRpb25zLiAgU3BlY2lmeWluZyB0aGVzZSBtZXRob2RzIGFsbG93cwotICAgICAgdGhlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBidWcgZGV0ZWN0b3IgdG8gYXZvaWQgcmVwb3J0aW5nCi0gICAgICBmYWxzZSB3YXJuaW5ncyBmb3IgdmFsdWVzIHdoaWNoIGFyZSBjaGVja2VkIGJ5IGFzc2VydGlvbgotICAgICAgbWV0aG9kcy48L2VudHJ5PgotICAgIDwvcm93PgotICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ZmluZGJ1Z3MuZGUuY29tbWVudDwvZW50cnk+Ci0gICAgICA8ZW50cnk+dHJ1ZSBvciBmYWxzZTwvZW50cnk+Ci0gICAgICA8ZW50cnk+SWYgdHJ1ZSwgdGhlIERyb3BwZWRFeGNlcHRpb24gZGV0ZWN0b3Igc2NhbnMgc291cmNlIGNvZGUKLSAgICAgICAgZm9yIGVtcHR5IGNhdGNoIGJsb2NrcyBmb3IgYSBjb21tZW50LCBhbmQgaWYgb25lIGlzIGZvdW5kLCBkb2VzCi0gICAgICAgIG5vdCByZXBvcnQgYSB3YXJuaW5nLjwvZW50cnk+Ci0gICAgPC9yb3c+Ci0gICAgPHJvdz4KLSAgICAgIDxlbnRyeT5maW5kYnVncy5tYXNrZWRmaWVsZHMubG9jYWxzPC9lbnRyeT4KLSAgICAgIDxlbnRyeT50cnVlIG9yIGZhbHNlPC9lbnRyeT4KLSAgICAgIDxlbnRyeT5JZiB0cnVlLCBlbWl0IGxvdyBwcmlvcml0eSB3YXJuaW5ncyBmb3IgbG9jYWwgdmFyaWFibGVzCi0gICAgICB3aGljaCBvYnNjdXJlIGZpZWxkcy4gIERlZmF1bHQgaXMgZmFsc2UuPC9lbnRyeT4KLSAgICA8L3Jvdz4KLSAgICA8cm93PgotICAgICAgPGVudHJ5PmZpbmRidWdzLm51bGxkZXJlZi5hc3N1bWVuc3A8L2VudHJ5PgotICAgICAgPGVudHJ5PnRydWUgb3IgZmFsc2U8L2VudHJ5PgotICAgICAgPGVudHJ5Pm5vdCB1c2VkCi0gICAgICAoaW50ZW50aW9uOiBJZiB0cnVlLCB0aGUgbnVsbCBkZXJlZmVyZW5jZSBkZXRlY3RvciBhc3N1bWVzIHRoYXQgYW55Ci0gICAgICByZWZlcmVuY2UgdmFsdWUgcmV0dXJuZWQgZnJvbSBhIG1ldGhvZCBvciBwYXNzZWQgdG8gYSBtZXRob2QKLSAgICAgIGluIGEgcGFyYW1ldGVyIG1pZ2h0IGJlIG51bGwuICBEZWZhdWx0IGlzIGZhbHNlLiAgTm90ZSB0aGF0Ci0gICAgICBlbmFibGluZyB0aGlzIHByb3BlcnR5IHdpbGwgdmVyeSBsaWtlbHkgY2F1c2UgYSBsYXJnZSBudW1iZXIKLSAgICAgIG9mIGZhbHNlIHdhcm5pbmdzIHRvIGJlIHByb2R1Y2VkLik8L2VudHJ5PgotICAgIDwvcm93PgotICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ZmluZGJ1Z3MucmVmY29tcC5yZXBvcnRBbGw8L2VudHJ5PgotICAgICAgPGVudHJ5PnRydWUgb3IgZmFsc2U8L2VudHJ5PgotICAgICAgPGVudHJ5PklmIHRydWUsIGFsbCBzdXNwaWNpb3VzIHJlZmVyZW5jZSBjb21wYXJpc29ucwotICAgICAgICB1c2luZyB0aGUgPT0gYW5kICE9IG9wZXJhdG9ycyBhcmUgcmVwb3J0ZWQuJm5ic3A7IElmIGZhbHNlLAotICAgICAgICBvbmx5IG9uZSBzdWNoIHdhcm5pbmcgaXMgaXNzdWVkIHBlciBtZXRob2QuJm5ic3A7IERlZmF1bHQKLSAgICAgICAgaXMgZmFsc2UuPC9lbnRyeT4KLSAgICA8L3Jvdz4KLSAgICA8cm93PgotICAgICAgPGVudHJ5PmZpbmRidWdzLnNmLmNvbW1lbnQ8L2VudHJ5PgotICAgICAgPGVudHJ5PnRydWUgb3IgZmFsc2U8L2VudHJ5PgotICAgICAgPGVudHJ5PklmIHRydWUsIHRoZSBTd2l0Y2hGYWxsdGhyb3VnaCBkZXRlY3RvciB3aWxsIG9ubHkgcmVwb3J0Ci0gICAgICB3YXJuaW5ncyBmb3IgY2FzZXMgd2hlcmUgdGhlIHNvdXJjZSBjb2RlIGRvZXMgbm90IGhhdmUgYSBjb21tZW50Ci0gICAgICBjb250YWluaW5nIHRoZSB3b3JkcyAiZmFsbCIgb3IgIm5vYnJlYWsiLiAgKEFuIGFjY3VyYXRlIHNvdXJjZQotICAgICAgcGF0aCBtdXN0IGJlIHVzZWQgZm9yIHRoaXMgZmVhdHVyZSB0byB3b3JrIGNvcnJlY3RseS4pCi0gICAgICBUaGlzIGhlbHBzIGZpbmQgY2FzZXMgd2hlcmUgdGhlIHN3aXRjaCBmYWxsdGhyb3VnaCBpcyBsaWtlbHkKLSAgICAgIHRvIGJlIHVuaW50ZW50aW9uYWwuPC9lbnRyeT4KLSAgICA8L3Jvdz4KLTwhLS0gc2VlIG90aGVycyBhdCBzcmMvZG9jL21hbnVhbC9zeXNwcm9wcy5odG1sCi0gICAgPHJvdz4KLSAgICAgIDxlbnRyeT48L2VudHJ5PgotICAgICAgPGVudHJ5PjwvZW50cnk+Ci0gICAgICA8ZW50cnk+PC9lbnRyeT4KLSAgICA8L3Jvdz4KLS0tPgotICA8L3Rib2R5PgotPC90Z3JvdXA+Ci08L3RhYmxlPgotCi08L2NoYXB0ZXI+Ci0KLTwhLS0KLSAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAgQW5ub3RhdGlvbnMKLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJhbm5vdGF0aW9ucyI+Ci08dGl0bGU+QW5ub3RhdGlvbnM8L3RpdGxlPgotCi08cGFyYT4KLSZGaW5kQnVnczsgc3VwcG9ydHMgc2V2ZXJhbCBhbm5vdGF0aW9ucyB0byBleHByZXNzIHRoZSBkZXZlbG9wZXIncyBpbnRlbnQKLXNvIHRoYXQgRmluZEJ1Z3MgY2FuIGlzc3VlIHdhcm5pbmdzIG1vcmUgYXBwcm9wcmlhdGVseS4gWW91IG5lZWQgdG8gdXNlCi1KYXZhIDUgdG8gdXNlIGFubm90YXRpb25zLCBhbmQgbXVzdCBwbGFjZSB0aGUgYW5ub3RhdGlvbnMuamFyIGFuZCBqc3IzMDUuamFyCi1maWxlcyBpbiB0aGUgY2xhc3NwYXRoIHdoaWxlIGNvbXBpbGluZyB5b3VyIHByb2dyYW0uCi08L3BhcmE+Ci0KLTx2YXJpYWJsZWxpc3Q+Ci0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5DaGVja0Zvck51bGw8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLTxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVGhlIGFubm90YXRlZCBlbGVtZW50IG1pZ2h0IGJlIG51bGwsIGFuZCB1c2VzIG9mIHRoZSBlbGVtZW50IHNob3VsZCBjaGVjayBmb3IgbnVsbC4KLVdoZW4gdGhpcyBhbm5vdGF0aW9uIGlzIGFwcGxpZWQgdG8gYSBtZXRob2QgaXQgYXBwbGllcyB0byB0aGUgbWV0aG9kIHJldHVybiB2YWx1ZS4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuQ2hlY2tSZXR1cm5WYWx1ZTwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPGNvbW1hbmQ+W1RhcmdldF08L2NvbW1hbmQ+IE1ldGhvZCwgQ29uc3RydWN0b3IKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDx2YXJpYWJsZWxpc3Q+Ci0gICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+W1BhcmFtZXRlcl08L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICA8Y29tbWFuZD5wcmlvcml0eTo8L2NvbW1hbmQ+VGhlIHByaW9yaXR5IG9mIHRoZSB3YXJuaW5nIChISUdILCBNRURJVU0sIExPVywgSUdOT1JFKS4gRGVmYXVsdCB2YWx1ZTpNRURJVU0uCi0gICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+ZXhwbGFuYXRpb246PC9jb21tYW5kPkEgdGV4dHVhbCBleHBsYWluYXRpb24gb2Ygd2h5IHRoZSByZXR1cm4gdmFsdWUgc2hvdWxkIGJlIGNoZWNrZWQuIERlZmF1bHQgdmFsdWU6IiIuCi0gICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVGhpcyBhbm5vdGF0aW9uIGlzIHVzZWQgdG8gZGVub3RlIGEgbWV0aG9kIHdob3NlIHJldHVybiB2YWx1ZSBzaG91bGQgYWx3YXlzIGJlIGNoZWNrZWQgYWZ0ZXIgaW52b2tpbmcgdGhlIG1ldGhvZC4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuRGVmYXVsdEFubm90YXRpb248L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBUeXBlLCBQYWNrYWdlCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPltQYXJhbWV0ZXJdPC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+dmFsdWU6PC9jb21tYW5kPkFubm90YXRpb24gY2xhc3Mgb2JqZWN0cy4gTW9yZSB0aGFuIG9uZSBjbGFzcyBjYW4gYmUgc3BlY2lmaWVkLgotICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIDxjb21tYW5kPnByaW9yaXR5OjwvY29tbWFuZD5EZWZhdWx0IHByaW9yaXR5KEhJR0gsIE1FRElVTSwgTE9XLCBJR05PUkUpLiBEZWZhdWx0IHZhbHVlOk1FRElVTS4KLSAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgIDwvdmFyaWFibGVsaXN0PgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci1JbmRpY2F0ZXMgdGhhdCBhbGwgbWVtYmVycyBvZiB0aGUgY2xhc3Mgb3IgcGFja2FnZSBzaG91bGQgYmUgYW5ub3RhdGVkIHdpdGggdGhlIGRlZmF1bHQKLXZhbHVlIG9mIHRoZSBzdXBwbGllZCBhbm5vdGF0aW9uIGNsYXNzZXMuIFRoaXMgd291bGQgYmUgdXNlZCBmb3IgYmVoYXZpb3IgYW5ub3RhdGlvbnMKLXN1Y2ggYXMgQE5vbk51bGwsIEBDaGVja0Zvck51bGwsIG9yIEBDaGVja1JldHVyblZhbHVlLiBJbiBwYXJ0aWN1bGFyLCB5b3UgY2FuIHVzZQotQERlZmF1bHRBbm5vdGF0aW9uKE5vbk51bGwuY2xhc3MpIG9uIGEgY2xhc3Mgb3IgcGFja2FnZSwgYW5kIHRoZW4gdXNlIEBOdWxsYWJsZSBvbmx5Ci1vbiB0aG9zZSBwYXJhbWV0ZXJzLCBtZXRob2RzIG9yIGZpZWxkcyB0aGF0IHlvdSB3YW50IHRvIGFsbG93IHRvIGJlIG51bGwuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkRlZmF1bHRBbm5vdGF0aW9uRm9yRmllbGRzPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8Y29tbWFuZD5bVGFyZ2V0XTwvY29tbWFuZD4gVHlwZSwgUGFja2FnZQotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHZhcmlhYmxlbGlzdD4KLSAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICA8dGVybT48Y29tbWFuZD5bUGFyYW1ldGVyXTwvY29tbWFuZD48L3Rlcm0+Ci0gICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIDxjb21tYW5kPnZhbHVlOjwvY29tbWFuZD5Bbm5vdGF0aW9uIGNsYXNzIG9iamVjdHMuIE1vcmUgdGhhbiBvbmUgY2xhc3MgY2FuIGJlIHNwZWNpZmllZC4KLSAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICA8Y29tbWFuZD5wcmlvcml0eTo8L2NvbW1hbmQ+RGVmYXVsdCBwcmlvcml0eShISUdILCBNRURJVU0sIExPVywgSUdOT1JFKS4gRGVmYXVsdCB2YWx1ZTpNRURJVU0uCi0gICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVGhpcyBpcyBzYW1lIGFzIHRoZSBEZWZhdWx0QW5ub3RhdGlvbiBleGNlcHQgaXQgb25seSBhcHBseXMgdG8gZmllbGRzLgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5EZWZhdWx0QW5ub3RhdGlvbkZvck1ldGhvZHM8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBUeXBlLCBQYWNrYWdlCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPltQYXJhbWV0ZXJdPC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+dmFsdWU6PC9jb21tYW5kPkFubm90YXRpb24gY2xhc3Mgb2JqZWN0cy4gTW9yZSB0aGFuIG9uZSBjbGFzcyBjYW4gYmUgc3BlY2lmaWVkLgotICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIDxjb21tYW5kPnByaW9yaXR5OjwvY29tbWFuZD5EZWZhdWx0IHByaW9yaXR5KEhJR0gsIE1FRElVTSwgTE9XLCBJR05PUkUpLiBEZWZhdWx0IHZhbHVlOk1FRElVTS4KLSAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgIDwvdmFyaWFibGVsaXN0PgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci1UaGlzIGlzIHNhbWUgYXMgdGhlIERlZmF1bHRBbm5vdGF0aW9uIGV4Y2VwdCBpdCBvbmx5IGFwcGx5cyB0byBtZXRob2RzLgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5EZWZhdWx0QW5ub3RhdGlvbkZvclBhcmFtZXRlcnM8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBUeXBlLCBQYWNrYWdlCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPltQYXJhbWV0ZXJdPC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+dmFsdWU6PC9jb21tYW5kPkFubm90YXRpb24gY2xhc3Mgb2JqZWN0cy4gTW9yZSB0aGFuIG9uZSBjbGFzcyBjYW4gYmUgc3BlY2lmaWVkLgotICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIDxjb21tYW5kPnByaW9yaXR5OjwvY29tbWFuZD5EZWZhdWx0IHByaW9yaXR5KEhJR0gsIE1FRElVTSwgTE9XLCBJR05PUkUpLiBEZWZhdWx0IHZhbHVlOk1FRElVTS4KLSAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgIDwvdmFyaWFibGVsaXN0PgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci1UaGlzIGlzIHNhbWUgYXMgdGhlIERlZmF1bHRBbm5vdGF0aW9uIGV4Y2VwdCBpdCBvbmx5IGFwcGx5cyB0byBtZXRob2QgcGFyYW1ldGVycy4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuTm9uTnVsbDwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPGNvbW1hbmQ+W1RhcmdldF08L2NvbW1hbmQ+IEZpZWxkLCBNZXRob2QsIFBhcmFtZXRlcgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci1UaGUgYW5ub3RhdGVkIGVsZW1lbnQgbXVzdCBub3QgYmUgbnVsbC4KLUFubm90YXRlZCBmaWVsZHMgbXVzdCBub3QgYmUgbnVsbCBhZnRlciBjb25zdHJ1Y3Rpb24gaGFzIGNvbXBsZXRlZC4gQW5ub3RhdGVkIG1ldGhvZHMgbXVzdCBoYXZlIG5vbi1udWxsIHJldHVybiB2YWx1ZXMuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLk51bGxhYmxlPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8Y29tbWFuZD5bVGFyZ2V0XTwvY29tbWFuZD4gRmllbGQsIE1ldGhvZCwgUGFyYW1ldGVyCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLVRoZSBhbm5vdGF0ZWQgZWxlbWVudCBjb3VsZCBiZSBudWxsIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcy4gSW4gZ2VuZXJhbCwgdGhpcyBtZWFucwotZGV2ZWxvcGVycyB3aWxsIGhhdmUgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiB0byBkZXRlcm1pbmUgd2hlbiBhIG51bGwgdmFsdWUgaXMKLWFjY2VwdGFibGUgYW5kIHdoZXRoZXIgaXQgaXMgbmVjY2Vzc2FyeSB0byBjaGVjayBmb3IgYSBudWxsIHZhbHVlLiAgRmluZEJ1Z3Mgd2lsbAotdHJlYXQgdGhlIGFubm90YXRlZCBpdGVtcyBhcyB0aG91Z2ggdGhleSBoYWQgbm8gYW5ub3RhdGlvbi4KLSAgICAgIDwvcGFyYT4KLSAgICAgIDxwYXJhPgotSW4gcHJhdGljZSB0aGlzIGFubm90YXRpb24gaXMgdXNlZnVsIG9ubHkgZm9yIG92ZXJyaWRpbmcgYW4gb3ZlcmFyY2hpbmcgTm9uTnVsbAotYW5ub3RhdGlvbi4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuT3ZlcnJpZGVNdXN0SW52b2tlPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8Y29tbWFuZD5bVGFyZ2V0XTwvY29tbWFuZD4gTWV0aG9kCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPltQYXJhbWV0ZXJdPC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+dmFsdWU6PC9jb21tYW5kPlNwZWNpZnkgd2hlbiB0aGUgc3VwZXIgaW52b2NhdGlvbiBzaG91bGQgYmUKLSAgICAgICAgICAgICAgcGVyZm9ybWVkIChGSVJTVCwgQU5ZVElNRSwgTEFTVCkuIERlZmF1bHQgdmFsdWU6QU5ZVElNRS4KLSAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgIDwvdmFyaWFibGVsaXN0PgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci1Vc2VkIHRvIGFubm90YXRlIGEgbWV0aG9kIHRoYXQsIGlmIG92ZXJyaWRkZW4sIG11c3QgKG9yIHNob3VsZCkgYmUgaW52b2tlIHN1cGVyCi1pbiB0aGUgb3ZlcnJpZGluZyBtZXRob2QuIEV4YW1wbGVzIG9mIHN1Y2ggbWV0aG9kcyBpbmNsdWRlIGZpbmFsaXplKCkgYW5kIGNsb25lKCkuCi1UaGUgYXJndW1lbnQgdG8gdGhlIG1ldGhvZCBpbmRpY2F0ZXMgd2hlbiB0aGUgc3VwZXIgaW52b2NhdGlvbiBzaG91bGQgb2NjdXI6Ci1hdCBhbnkgdGltZSwgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgb3ZlcnJpZGluZyBtZXRob2QsIG9yIGF0IHRoZSBlbmQgb2YgdGhlIG92ZXJyaWRpbmcgbWV0aG9kLgotKFRoaXMgYW5vdGF0aW9uIGlzIG5vdCBpbXBsbWVtZW50ZWQgaW4gRmluZEJ1Z3MgYXMgb2YgU2VwdGVtYmVyIDgsIDIwMDYpLgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5Qb3NzaWJseU51bGw8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVGhpcyBhbm5vdGF0aW9uIGlzIGRlcHJlY2F0ZWQuIFVzZSBDaGVja0Zvck51bGwgaW5zdGVhZC4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuU3VwcHJlc3NXYXJuaW5nczwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPGNvbW1hbmQ+W1RhcmdldF08L2NvbW1hbmQ+IFR5cGUsIEZpZWxkLCBNZXRob2QsIFBhcmFtZXRlciwgQ29uc3RydWN0b3IsIFBhY2thZ2UKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDx2YXJpYWJsZWxpc3Q+Ci0gICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+W1BhcmFtZXRlcl08L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICA8Y29tbWFuZD52YWx1ZTo8L2NvbW1hbmQ+VGhlIG5hbWUgb2YgdGhlIHdhcm5pbmcuIE1vcmUgdGhhbiBvbmUgbmFtZSBjYW4gYmUgc3BlY2lmaWVkLgotICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIDxjb21tYW5kPmp1c3RpZmljYXRpb246PC9jb21tYW5kPlJlYXNvbiB3aHkgdGhlIHdhcm5pbmcgc2hvdWxkIGJlIGlnbm9yZWQuIERlZmF1bHQgdmFsdWU6IiIuCi0gICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVGhlIHNldCBvZiB3YXJuaW5ncyB0aGF0IGFyZSB0byBiZSBzdXBwcmVzc2VkIGJ5IHRoZSBjb21waWxlciBpbiB0aGUgYW5ub3RhdGVkIGVsZW1lbnQuCi1EdXBsaWNhdGUgbmFtZXMgYXJlIHBlcm1pdHRlZC4gIFRoZSBzZWNvbmQgYW5kIHN1Y2Nlc3NpdmUgb2NjdXJyZW5jZXMgb2YgYSBuYW1lIGFyZSBpZ25vcmVkLgotVGhlIHByZXNlbmNlIG9mIHVucmVjb2duaXplZCB3YXJuaW5nIG5hbWVzIGlzIDxlbXBoYXNpcz5ub3Q8L2VtcGhhc2lzPiBhbiBlcnJvcjogQ29tcGlsZXJzCi1tdXN0IGlnbm9yZSBhbnkgd2FybmluZyBuYW1lcyB0aGV5IGRvIG5vdCByZWNvZ25pemUuIFRoZXkgYXJlLCBob3dldmVyLCBmcmVlIHRvIGVtaXQgYQotd2FybmluZyBpZiBhbiBhbm5vdGF0aW9uIGNvbnRhaW5zIGFuIHVucmVjb2duaXplZCB3YXJuaW5nIG5hbWUuIENvbXBpbGVyIHZlbmRvcnMgc2hvdWxkCi1kb2N1bWVudCB0aGUgd2FybmluZyBuYW1lcyB0aGV5IHN1cHBvcnQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGlzIGFubm90YXRpb24gdHlwZS4gVGhleQotYXJlIGVuY291cmFnZWQgdG8gY29vcGVyYXRlIHRvIGVuc3VyZSB0aGF0IHRoZSBzYW1lIG5hbWVzIHdvcmsgYWNyb3NzIG11bHRpcGxlIGNvbXBpbGVycy4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuVW5rbm93bk51bGxuZXNzPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8Y29tbWFuZD5bVGFyZ2V0XTwvY29tbWFuZD4gRmllbGQsIE1ldGhvZCwgUGFyYW1ldGVyCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLVVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgbnVsbG5lc3Mgb2YgdGhlIHRhcmdldCBpcyB1bmtub3duLCBvciBteSB2YXJ5IGluIHVua25vd24gd2F5cyBpbiBzdWJjbGFzc2VzLgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5Vbmtub3duTnVsbG5lc3M8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBudWxsbmVzcyBvZiB0aGUgdGFyZ2V0IGlzIHVua25vd24sIG9yIG15IHZhcnkgaW4gdW5rbm93biB3YXlzIGluIHN1YmNsYXNzZXMuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci08L3ZhcmlhYmxlbGlzdD4KLQotPHBhcmE+Ci0gJkZpbmRCdWdzOyBhbHNvIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgYW5ub3RhdGlvbnM6Ci08aXRlbWl6ZWRsaXN0PgotICA8bGlzdGl0ZW0+bmV0LmpjaXAuYW5ub3RhdGlvbnMuR3VhcmRlZEJ5PC9saXN0aXRlbT4KLSAgPGxpc3RpdGVtPm5ldC5qY2lwLmFubm90YXRpb25zLkltbXV0YWJsZTwvbGlzdGl0ZW0+Ci0gIDxsaXN0aXRlbT5uZXQuamNpcC5hbm5vdGF0aW9ucy5Ob3RUaHJlYWRTYWZlPC9saXN0aXRlbT4KLSAgPGxpc3RpdGVtPm5ldC5qY2lwLmFubm90YXRpb25zLlRocmVhZFNhZmU8L2xpc3RpdGVtPgotPC9pdGVtaXplZGxpc3Q+Ci08L3BhcmE+Ci08cGFyYT4KLVlvdSBjYW4gcmVmZXIgdGhlIEpDSVAgYW5ub3RhdGlvbiA8dWxpbmsgdXJsPSJodHRwOi8vamNpcC5uZXQvYW5ub3RhdGlvbnMvZG9jL2luZGV4Lmh0bWwiPgotQVBJIGRvY3VtZW50YXRpb248L3VsaW5rPiBhdCA8dWxpbmsgdXJsPSJodHRwOi8vamNpcC5uZXQvIj5KYXZhIENvbmN1cnJlbmN5IGluIFByYWN0aWNlPC91bGluaz4uCi08L3BhcmE+Ci08L2NoYXB0ZXI+Ci0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBVc2luZyByZWphckZvckFuYWx5c2lzCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJyZWphckZvckFuYWx5c2lzIj4KLTx0aXRsZT5Vc2luZyByZWphckZvckFuYWx5c2lzPC90aXRsZT4KLQotPHBhcmE+Ci1JZiB5b3VyIHByb2plY3QgY29uc2lzdHMgb2YgbWFueSBqYXJmaWxlcyBvciB0aGUgamFyZmlsZXMgYXJlIHNjYXR0ZXJlZAotb3ZlciBtYW55IGRpcmVjdG9yaWVzLCB5b3UgbWF5IHdpc2ggdG8gdXNlIHRoZSA8Y29tbWFuZD5yZWphckZvckFuYWx5c2lzCi08L2NvbW1hbmQ+IHNjcmlwdCB0byBtYWtlCi1GaW5kQnVncyBpbnZvY2F0aW9uIGVhc2llci4gIFRoZSBzY3JpcHQgY29sbGVjdHMgbWFueSBqYXJmaWxlcyBhbmQgY29tYmluZXMgdGhlbQotaW50byBhIHNpbmdsZSwgbGFyZ2UgamFyZmlsZSB0aGF0IGNhbiB0aGVuIGJlIGVhc2lseSBwYXNzZWQgdG8gRmluZEJ1Z3MgZm9yCi1hbmFseXNpcy4gIFRoaXMgY2FuIGJlIHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgJ2ZpbmQnIGNvbW1hbmQKLW9uIHVuaXggc3lzdGVtczsgZS5nLiA8Y29tbWFuZD5maW5kIC4gLW5hbWUgJyouamFyJyB8IHhhcmdzIHJlamFyRm9yQW5hbHlzaXMKLTwvY29tbWFuZD4uCi08L3BhcmE+Ci0KLTxwYXJhPgotVGhlIDxjb21tYW5kPnJlamFyRm9yQW5hbHlzaXM8L2NvbW1hbmQ+IHNjcmlwdAotY2FuIGFsc28gYmUgdXNlZCB0byBzcGxpdCBhIHZlcnkgbGFyZ2UgcHJvamVjdCB1cCBpbnRvIGEgc2V0IG9mIGphcmZpbGVzIHdpdGgKLXRoZSBwcm9qZWN0IGNsYXNzZmlsZXMgZXZlbmx5IGRpdmlkZWQgYmV0d2VlbiB0aGVtLiAgVGhpcyBpcyB1c2VmdWwgd2hlbiBydW5uaW5nCi1GaW5kQnVncyBvbiB0aGUgZW50aXJlIHByb2plY3QgaXMgbm90IHByYWN0aWNhbCBkdWUgdG8gdGltZSBvciBtZW1vcnkgY29uc3VtcHRpb24uCi1JbnN0ZWFkIG9mIHJ1bm5pbmcgRmluZEJ1Z3Mgb24gdGhlIGVudGlyZSBwcm9qZWN0LCB5b3UgbWF5IHVzZSA8Y29tbWFuZD4KLXJlamFyRm9yQW5hbHlzaXM8L2NvbW1hbmQ+IGJ1aWxkIG9uZSBsYXJnZSwgYWxsLWluY2x1c2l2ZSBqYXJmaWxlCi1jb250YWluaW5nIGFsbCBjbGFzc2VzLCBpbnZva2UgPGNvbW1hbmQ+cmVqYXJGb3JBbmFseXNpczwvY29tbWFuZD4KLWFnYWluIHRvIHNwbGl0IHRoZSBwcm9qZWN0IGludG8gbXVsdGlwbGUgamFyZmlsZXMsIHRoZW4gcnVuIEZpbmRCdWdzCi1vbiBlYWNoIGRpdmlkZWQgamFyZmlsZXMgaW4gdHVybiwgc3BlY2lmeWluZyB0aGUgdGhlIGFsbC1pbmNsdXNpdmUgamFyZmlsZSBpbgotdGhlIDxjb21tYW5kPi1hdXhjbGFzc3BhdGg8L2NvbW1hbmQ+LgotPC9wYXJhPgotCi08cGFyYT4KLVRoZXNlIGFyZSB0aGUgb3B0aW9ucyBhY2NlcHRlZCBieSB0aGUgPGNvbW1hbmQ+cmVqYXJGb3JBbmFseXNpczwvY29tbWFuZD4gc2NyaXB0OgotPC9wYXJhPgotCi08dmFyaWFibGVsaXN0PgotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1tYXhBZ2U8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5kYXlzPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPgotICAgICAgIE1heGltdW0gYWdlIGluIGRheXMgKGlnbm9yZSBqYXIgZmlsZXMgb2xkZXIgdGhhbiB0aGlzKS4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LWlucHV0RmlsZUxpc3Q8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5maWxlbmFtZTwvcmVwbGFjZWFibGU+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT4KLSAgICAgICBUZXh0IGZpbGUgY29udGFpbmluZyBuYW1lcyBvZiBqYXIgZmlsZXMuCi0gICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1tYXhDbGFzc2VzPC9jb21tYW5kPiA8cmVwbGFjZWFibGU+bnVtPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPgotICAgICAgIE1heGltdW0gbnVtYmVyIG9mIGNsYXNzZXMgcGVyIGFuYWx5c2lzKi5qYXIgZmlsZS4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LXByZWZpeDwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPmNsYXNzIG5hbWUgcHJlZml4PC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPgotICAgICAgIFByZWZpeCBvZiBjbGFzcyBuYW1lcyB0aGF0IHNob3VsZCBiZSBhbmFseXplZCAoZS5nLiwgZWR1LnVtZC5jcy4pLgotICAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLTwvdmFyaWFibGVsaXN0PgotPC9jaGFwdGVyPgotCi08IS0tCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAgRGF0YSBtaW5pbmcKLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tLT4KLQotPGNoYXB0ZXIgaWQ9ImRhdGFtaW5pbmciPgotICAgIDx0aXRsZT5EYXRhIG1pbmluZyBvZiBidWdzIHdpdGggJkZpbmRCdWdzOyZ0cmFkZTs8L3RpdGxlPgotCi08cGFyYT4KLUZpbmRCdWdzIGluY29ycG9yYXRlcyBhbiBhYmlsaXR5IHRvIHBlcmZvcm0gc29waGlzdGljYXRlZCBxdWVyaWVzIG9uIGJ1ZwotZGF0YWJhc2VzIGFuZCB0cmFjayB3YXJuaW5ncyBhY3Jvc3MgbXVsdGlwbGUgdmVyc2lvbnMgb2YgY29kZSBiZWluZwotc3R1ZGllZCwgYWxsb3dpbmcgeW91IHRvIGRvIHRoaW5ncyBzdWNoIGFzIHNlZWluZyB3aGVuIGEgYnVnIHdhcyBmaXJzdCBpbnRyb2R1Y2VkLCBleGFtaW5pbmcKLWp1c3QgdGhlIHdhcm5pbmdzIHRoYXQgaGF2ZSBiZWVuIGludHJvZHVjZWQgc2luY2UgdGhlIGxhc3QgcmVsZWFzZSwgb3IgZ3JhcGhpbmcgdGhlIG51bWJlcgotb2YgaW5maW5pdGUgcmVjdXJzaXZlIGxvb3BzIGluIHlvdXIgY29kZSBvdmVyIHRpbWUuPC9wYXJhPgotCi08cGFyYT4KLVRoZXNlIHRlY2huaXF1ZXMgYWxsIGRlcGVuZCB1cG9uIHRoZSBYTUwgZm9ybWF0IHVzZWQgYnkgRmluZEJ1Z3MgZm9yIHN0b3Jpbmcgd2FybmluZ3MuCi1UaGVzZSBYTUwgZmlsZXMgdXN1YWxseSBjb250YWluIGp1c3QgdGhlIHdhcm5pbmdzIGZyb20gb25lIHBhcnRpY3VsYXIgYW5hbHlzaXMgcnVuLCBidXQKLXRoZXkgY2FuIGFsc28gc3RvcmUgdGhlIHJlc3VsdHMgZnJvbSBhbmFseXppbmcgYSBzZXF1ZW5jZSBvZiBzb2Z0d2FyZSBidWlsZHMgb3IgdmVyc2lvbnMuCi0gICAgPC9wYXJhPgotCi08cGFyYT4KLUFueSBGaW5kQnVncyBYTUwgYnVnIGRhdGFiYXNlIGNvbnRhaW5zIGEgdmVyc2lvbiBuYW1lIGFuZCB0aW1lc3RhbXAuCi1GaW5kQnVncyB0cmllcyB0byBjb21wdXRlIGEgdGltZXN0YW1wIGZyb20gdGhlIHRpbWVzdGFtcHMgb2YgdGhlIGZpbGVzIHRoYXQKLWFyZSBhbmFseXplZCAoZS5nLiwgdGhlIHRpbWVzdGFtcCBpcyBpbnRlbmRlZCB0byBiZSB0aGUgdGltZSB0aGUgY2xhc3MgZmlsZXMKLXdlcmUgZ2VuZXJhdGVkLCBub3QgYW5hbHl6ZWQpLiBFYWNoIGJ1ZyBkYXRhYmFzZSBhbHNvIGNvbnRhaW5zIGEgdmVyc2lvbiBuYW1lLgotQm90aCB0aGUgdmVyc2lvbiBuYW1lIGFuZCB0aW1lc3RhbXAgY2FuIGJlIHNldCBtYW51YWxseSB1c2luZyB0aGUKLTxjb21tYW5kPnNldEJ1Z0RhdGFiYXNlSW5mbzwvY29tbWFuZD4gKDx4cmVmIGxpbmtlbmQ9InNldEJ1Z0RhdGFiYXNlSW5mbyIgLz4pIGNvbW1hbmQuCi0gICAgPC9wYXJhPgotCi08cGFyYT5BIG11bHRpdmVyc2lvbiBidWcgZGF0YWJhc2UgYXNzaWducyBhIHNlcXVlbmNlIG51bWJlciB0byBlYWNoIHZlcnNpb24gb2YKLXRoZSBhbmFseXplZCBjb2RlLiBUaGVzZSBzZXF1ZW5jZSBudW1iZXJzIGFyZSBzaW1wbHkgc3VjY2Vzc2l2ZSBpbnRlZ2VycywKLXN0YXJ0aW5nIGF0IDAgKGUuZy4sIGEgYnVnIGRhdGFiYXNlIGZvciA0IHZlcnNpb25zIG9mIHRoZSBjb2RlIHdpbGwgY29udGFpbgotdmVyc2lvbnMgMC4uMykuIFRoZSBidWcgZGF0YWJhc2Ugd2lsbCBhbHNvIHJlY29yZCB0aGUgbmFtZSBhbmQgdGltZXN0YW1wIGZvcgotZWFjaCB2ZXJzaW9uLiBUaGUgPGNvbW1hbmQ+ZmlsdGVyQnVnczwvY29tbWFuZD4gY29tbWFuZCBhbGxvd3MgeW91IHRvIHJlZmVyCi10byBhIHZlcnNpb24gYnkgc2VxdWVuY2UgbnVtYmVyLCBuYW1lIG9yIHRpbWVzdGFtcC48L3BhcmE+Ci0KLTxwYXJhPgotWW91IGNhbiB0YWtlIGEgc2VxdWVuY2UgKG9yIHBhaXIpIG9mIHNpbmdsZSB2ZXJzaW9uIGJ1ZyBkYXRhYmFzZXMgYW5kIGNyZWF0ZQotZnJvbSB0aGVtIGEgbXVsdGl2ZXJzaW9uIGJ1ZyBkYXRhYmFzZSwgb3IgY29tYmluZSBhIG11bHRpdmVyc2lvbiBidWcgZGF0YWJhc2UKLXdpdGggYSBzZXF1ZW5jZSBvZiBsYXRlciBzaW5nbGUtdmVyc2lvbiBidWcgZGF0YWJhc2VzLjwvcGFyYT4KLQotPHBhcmE+Ci1Tb21lIG9mIHRoZXNlIGNvbW1hbmRzIGNhbiBiZSBpbnZva2VkIGFzIGFudCB0YXNrcy4gIFNlZSBiZWxvdyBmb3Igc3BlY2lmaWNzCi1vbiBob3cgdG8gaW52b2tlIHRoZW0gYW5kIHdoYXQgYXR0cmlidXRlcyBhbmQgYXJndW1lbnRzIHRoZXkgdGFrZS4gIEFsbCBvZgotdGhlIGV4YW1wbGVzIGFzc3VtZSB0aGF0IHRoZSA8bGl0ZXJhbD5maW5kYnVncy5saWI8L2xpdGVyYWw+Ci08bGl0ZXJhbD5yZWZpZDwvbGl0ZXJhbD4gaXMgc2V0IGNvcnJlY3RseS4gIEhlcmUgaXMgb25lIHdheSB0byBzZXQgaXQ6Ci08L3BhcmE+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgPCEtLSBmaW5kYnVncyB0YXNrIGRlZmluaXRpb24gLS0+Ci0gICA8cHJvcGVydHkgbmFtZT0iZmluZGJ1Z3MuaG9tZSIgdmFsdWU9Ii95b3VyL3BhdGgvdG8vZmluZGJ1Z3MiIC8+Ci0gICA8cGF0aCBpZD0iZmluZGJ1Z3MubGliIj4KLSAgICAgIDxmaWxlc2V0IGRpcj0iJHtmaW5kYnVncy5ob21lfS9saWIiPgotICAgICAgICAgPGluY2x1ZGUgbmFtZT0iZmluZGJ1Z3MtYW50LmphciIvPgotICAgICAgPC9maWxlc2V0PgotICAgPC9wYXRoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi0gICAgPHNlY3QxIGlkPSJjb21tYW5kcyI+Ci0gICAgICAgIDx0aXRsZT5Db21tYW5kczwvdGl0bGU+Ci0KLSAgICAgICAgPHBhcmE+Ci1BbGwgdG9vbHMgZm9yIEZpbmRCdWdzIGRhdGEgbWluaW5nIGFyZSBjYW4gYmUgaW52b2tlZCBmcm9tIHRoZSBjb21tYW5kIGxpbmUsCi1hbmQgc29tZSBvZiB0aGUgbW9yZSB1c2VmdWwgdG9vbHMgY2FuIGFsc28gYmUgaW52b2tlZCBmcm9tIGFuCi1hbnQgYnVpbGQgZmlsZS48L3BhcmE+Ci0KLTxwYXJhPgotQnJpZWZseSwgdGhlIGNvbW1hbmQtbGluZSB0b29scyBhcmU6PC9wYXJhPgotCi0gICAgICAgIDx2YXJpYWJsZWxpc3Q+Ci0gICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPjxsaW5rIGxpbmtlbmQ9InVuaW9uQnVncyI+dW5pb25CdWdzPC9saW5rPjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5lIHRoZSByZXN1bHRzIGZyb20gc2VwYXJhdGUgYW5hbHlzaXMgb2YgZGlzam9pbnQKLSAgICAgICAgY2xhc3NlcwotICAgICAgICAgICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICA8dGVybT48Y29tbWFuZD48bGluayBsaW5rZW5kPSJjb21wdXRlQnVnSGlzdG9yeSI+Y29tcHV0ZUJ1Z0hpc3Rvcnk8L2xpbms+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxwYXJhPk1lcmdlIGJ1ZyB3YXJuaW5ncyBmcm9tIG11bHRpcGxlIHZlcnNpb25zIG9mCi0gICAgICAgICAgICBhbmFseXplZCBjb2RlIGludG8KLSAgICAgICAgICAgIGEgc2luZ2xlIG11bHRpdmVyc2lvbiBidWcgZGF0YWJhc2UuIFRoaXMgY2FuIGVpdGhlciBiZSB1c2VkCi0gICAgICAgICAgICB0byBhZGQgbW9yZSB2ZXJzaW9ucyB0byBhbiBleGlzdGluZyBtdWx0aXZlcnNpb24gZGF0YWJhc2UsCi0gICAgICAgICAgICBvciB0byBjcmVhdGUgYSBtdWx0aXZlcnNpb24gZGF0YWJhc2UgZnJvbSBhIHNlcXVlbmNlIG9mIHNpbmdsZSB2ZXJzaW9uCi0gICAgICAgICAgICBidWcgd2FybmluZyBkYXRhYmFzZXMuPC9wYXJhPgotICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+PGxpbmsgbGlua2VuZD0ic2V0QnVnRGF0YWJhc2VJbmZvIj5zZXRCdWdEYXRhYmFzZUluZm88L2xpbms+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxwYXJhPlNldCBpbmZvcm1hdGlvbiBzdWNoIGFzIHRoZSByZXZpc2lvbiBuYW1lIG9yCi10aW1lc3RhbXAgaW4gYW4gWE1MIGJ1ZyBkYXRhYmFzZTwvcGFyYT4KLSAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPjxsaW5rIGxpbmtlbmQ9Imxpc3RCdWdEYXRhYmFzZUluZm8iPmxpc3RCdWdEYXRhYmFzZUluZm88L2xpbms+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxwYXJhPkxpc3QgaW5mb3JtYXRpb24gc3VjaCBhcyB0aGUgcmV2aXNpb24gbmFtZSBhbmQKLXRpbWVzdGFtcCBmb3IgYSBsaXN0IG9mIFhNTCBidWcgZGF0YWJhc2VzPC9wYXJhPgotICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+PGxpbmsgbGlua2VuZD0iZmlsdGVyQnVncyI+ZmlsdGVyQnVnczwvbGluaz48L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPHBhcmE+U2VsZWN0IGEgc3Vic2V0IG9mIGEgYnVnIGRhdGFiYXNlPC9wYXJhPgotICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+PGxpbmsgbGlua2VuZD0ibWluZUJ1Z0hpc3RvcnkiPm1pbmVCdWdIaXN0b3J5PC9saW5rPjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8cGFyYT5HZW5lcmF0ZSBhIHRhYnVsYXIgbGlzdGluZyBvZiB0aGUgbnVtYmVyIG9mIHdhcm5pbmdzIGluIGVhY2gKLSAgICAgICAgdmVyc2lvbiBvZiBhIG11bHRpdmVyc2lvbiBidWcgZGF0YWJhc2U8L3BhcmE+Ci0gICAgICAgICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICA8dGVybT48Y29tbWFuZD48bGluayBsaW5rZW5kPSJkZWZlY3REZW5zaXR5Ij5kZWZlY3REZW5zaXR5PC9saW5rPjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8cGFyYT5MaXN0IGluZm9ybWF0aW9uIGFib3V0IGRlZmVjdCBkZW5zaXR5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgKHdhcm5pbmdzIHBlciAxMDAwIE5DU1MpCi0gICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBlbnRpcmUgcHJvamVjdCBhbmQgZWFjaCBjbGFzcyBhbmQgcGFja2FnZTwvcGFyYT4KLSAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPjxsaW5rIGxpbmtlbmQ9ImNvbnZlcnRYbWxUb1RleHQiPmNvbnZlcnRYbWxUb1RleHQ8L2xpbms+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxwYXJhPkNvbnZlcnQgYnVnIHdhcm5pbmdzIGluIFhNTCBmb3JtYXQgdG8KLSAgICAgICAgICAgICAgICAgICAgYSB0ZXh0dWFsIG9uZS1saW5lLXBlci1idWcgZm9ybWF0LCBvciB0byBIVE1MPC9wYXJhPgotICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgPC92YXJpYWJsZWxpc3Q+Ci0KLQotICAgICAgICA8c2VjdDIgaWQ9InVuaW9uQnVncyI+Ci0gICAgICAgICAgICA8dGl0bGU+dW5pb25CdWdzPC90aXRsZT4KLQotICAgICAgICA8cGFyYT4KLSAgICAgICAgSWYgeW91IGhhdmUsIGZvciBleGFtcGxlLCBzZXBhcmF0ZWx5IGFuYWx5emluZyBlYWNoIGphciBmaWxlIHVzZWQgaW4gYW4gYXBwbGljYXRpb24sCi0gICAgICAgIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCB0byBjb21iaW5lIHRoZSBzZXBhcmF0ZWx5IGdlbmVyYXRlZCB4bWwgYnVnIHdhcm5pbmcgZmlsZXMgaW50bwotICAgICAgICBhIHNpbmdsZSBmaWxlIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSB3YXJuaW5ncy48L3BhcmE+Ci0KLSAgICAgICAgICAgIDxwYXJhPkRvIDxlbXBoYXNpcz5ub3Q8L2VtcGhhc2lzPiB1c2UgdGhpcyBjb21tYW5kIHRvIGNvbWJpbmUgcmVzdWx0cyBmcm9tIGFuYWx5emluZyBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgdGhlIHNhbWUKLSAgICAgICAgICAgIGZpbGU7IHVzZSA8Y29tbWFuZD5jb21wdXRlQnVnSGlzdG9yeTwvY29tbWFuZD4gaW5zdGVhZC48L3BhcmE+Ci0KLSAgICAgICAgICAgIDxwYXJhPlNwZWNpZnkgdGhlIHhtbCBmaWxlcyBvbiB0aGUgY29tbWFuZCBsaW5lLiBUaGUgcmVzdWx0IGlzIHNlbnQgdG8gc3RhbmRhcmQgb3V0cHV0LjwvcGFyYT4KLSAgICAgICAgPC9zZWN0Mj4KLQotICAgICAgICA8c2VjdDIgaWQ9ImNvbXB1dGVCdWdIaXN0b3J5Ij4KLSAgICAgICAgICAgIDx0aXRsZT5jb21wdXRlQnVnSGlzdG9yeTwvdGl0bGU+Ci0KLTxwYXJhPlVzZSB0aGlzIGNvbW1hbmQgdG8gZ2VuZXJhdGUgYSBidWcgZGF0YWJhc2UgY29udGFpbmluZyBpbmZvcm1hdGlvbiBmcm9tIGRpZmZlcmVudCBidWlsZHMgb3IgdmVyc2lvbnMKLW9mIHNvZnR3YXJlIHlvdSBhcmUgYW5hbHl6aW5nLgotSGlzdG9yeSBpcyB0YWtlbiBmcm9tIHRoZSBmaXJzdCBmaWxlIHByb3ZpZGVkIGFzIGlucHV0OyBhbnkgZm9sbG93aW5nCi1maWxlcyBzaG91bGQgYmUgc2luZ2xlIHZlcnNpb24gYnVnIGRhdGFiYXNlcyAoaWYgdGhleSBjb250YWluIGhpc3RvcnksIHRoZSBoaXN0b3J5IGluIHRob3NlCi1maWxlcyB3aWxsIGJlIGlnbm9yZWQpLjwvcGFyYT4KLTxwYXJhPkJ5IGRlZmF1bHQsIG91dHB1dCBpcyB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuCi08L3BhcmE+Ci0KLTxwYXJhPlRoaXMgZnVuY3Rpb25hbGl0eSBtYXkgYWxzbyBjYW4gYmUgYWNjZXNzZWQgZnJvbSBhbnQuCi1GaXJzdCBjcmVhdGUgYSB0YXNrZGVmIGZvciA8Y29tbWFuZD5jb21wdXRlQnVnSGlzdG9yeTwvY29tbWFuZD4gaW4geW91cgotYnVpbGQgZmlsZToKLTwvcGFyYT4KLQotPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi08dGFza2RlZiBuYW1lPSJjb21wdXRlQnVnSGlzdG9yeSIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suQ29tcHV0ZUJ1Z0hpc3RvcnlUYXNrIj4KLSAgICA8Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8+Ci08L3Rhc2tkZWY+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci0KLTxwYXJhPkF0dHJpYnV0ZXMgZm9yIHRoaXMgYW50IHRhc2sgYXJlIGxpc3RlZCBpbiB0aGUgZm9sbG93aW5nIHRhYmxlLgotVG8gc3BlY2lmeSBpbnB1dCBmaWxlcywgbmVzdCB0aGVtIGluc2lkZSB3aXRoIGEKLTxsaXRlcmFsPiZsdDtkYXRhZmlsZSZndDs8L2xpdGVyYWw+IGVsZW1lbnQuICBGb3IgZXhhbXBsZToKLTwvcGFyYT4KLQotPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi08Y29tcHV0ZUJ1Z0hpc3RvcnkgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIgLi4uPgotICAgIDxkYXRhZmlsZSBuYW1lPSJhbmFseXplMS54bWwiLz4KLSAgICA8ZGF0YWZpbGUgbmFtZT0iYW5hbHl6ZTIueG1sIi8+Ci08L2NvbXB1dGVCdWdIaXN0b3J5PgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi0gICAgICAgIDx0YWJsZSBpZD0iY29tcHV0ZUJ1Z0hpc3RvcnlUYWJsZSI+Ci0gICAgICAgICAgICA8dGl0bGU+T3B0aW9ucyBmb3IgY29tcHV0ZUJ1Z0hpc3RvcnkgY29tbWFuZDwvdGl0bGU+Ci0gICAgICAgICAgICA8dGdyb3VwIGNvbHM9IjMiIGFsaWduPSJsZWZ0Ij4KLSAgICAgICAgICAgICAgICAgIDx0aGVhZD4KLSAgICAgICAgICAgICAgICAgICAgPHJvdz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PkNvbW1hbmQtbGluZSBvcHRpb248L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+QW50IGF0dHJpYnV0ZTwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5NZWFuaW5nPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KLSAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLTxyb3c+PGVudHJ5Pi1vdXRwdXQgJmx0O2ZpbGUmZ3Q7PC9lbnRyeT4gICAgICAgICAgIDxlbnRyeT5vdXRwdXQ9IiZsdDtmaWxlJmd0OyI8L2VudHJ5PiAgICAgICAgICAgPGVudHJ5PnNhdmUgb3V0cHV0IGluIHRoZSBuYW1lZCBmaWxlIChtYXkgYWxzbyBiZSBhbiBpbnB1dCBmaWxlKTwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tb3ZlcnJpZGVSZXZpc2lvbk5hbWVzWzp0cnV0aF08L2VudHJ5PiA8ZW50cnk+b3ZlcnJpZGVSZXZpc2lvbk5hbWVzPSJbdHJ1ZXxmYWxzZV0iPC9lbnRyeT48ZW50cnk+b3ZlcnJpZGUgcmV2aXNpb24gbmFtZXMgZm9yIGVhY2ggdmVyc2lvbiB3aXRoIG5hbWVzIGNvbXB1dGVkIGZyb20gdGhlIGZpbGVuYW1lczwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tbm9QYWNrYWdlTW92ZXNbOnRydXRoXTwvZW50cnk+ICAgICAgICA8ZW50cnk+bm9QYWNrYWdlTW92ZXM9Ilt0cnVlfGZhbHNlXSI8L2VudHJ5PjxlbnRyeT5pZiBhIGNsYXNzIGhhcyBtb3ZlZCB0byBhbm90aGVyIHBhY2thZ2UsIHRyZWF0IHdhcm5pbmdzIGluIHRoYXQgY2xhc3MgYXMgc2VwZXJhdGU8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXByZWNpc2VNYXRjaFs6dHJ1dGhdPC9lbnRyeT4gICAgICAgICAgPGVudHJ5PnByZWNpc2VNYXRjaD0iW3RydWV8ZmFsc2VdIjwvZW50cnk+PGVudHJ5PnJlcXVpcmUgYnVnIHBhdHRlcm5zIHRvIG1hdGNoIHByZWNpc2VseTwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tcHJlY2lzZVByaW9yaXR5TWF0Y2hbOnRydXRoXTwvZW50cnk+ICA8ZW50cnk+cHJlY2lzZVByaW9yaXR5TWF0Y2g9Ilt0cnVlfGZhbHNlXSI8L2VudHJ5PjxlbnRyeT5jb25zaWRlciB0d28gd2FybmluZ3MgYXMgdGhlIHNhbWUgb25seSBpZiBwcmlvcml0aWVzIG1hdGNoIGV4YWN0bHk8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXF1aWV0Wzp0cnV0aF08L2VudHJ5PiAgICAgICAgICAgICAgICAgPGVudHJ5PnF1aWV0PSJbdHJ1ZXxmYWxzZV0iPC9lbnRyeT48ZW50cnk+ZG9uJ3QgZ2VuZXJhdGUgYW55IG91dHB1dCB0byBzdGFuZGFyZCBvdXQgdW5sZXNzIHRoZXJlIGlzIGFuIGVycm9yPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi13aXRoTWVzc2FnZXNbOnRydXRoXTwvZW50cnk+ICAgICAgICAgIDxlbnRyeT53aXRoTWVzc2FnZXM9Ilt0cnVlfGZhbHNlXSI8L2VudHJ5PjxlbnRyeT5pbmNsdWRlIGh1bWFuLXJlYWRhYmxlIG1lc3NhZ2VzIGRlc2NyaWJpbmcgdGhlIHdhcm5pbmdzIGluIFhNTCBvdXRwdXQ8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICA8L3Rncm91cD4KLSAgICAgICAgPC90YWJsZT4KLQotICAgICAgICA8L3NlY3QyPgotICAgICAgICA8c2VjdDIgaWQ9ImZpbHRlckJ1Z3MiPgotICAgICAgICAgICAgPHRpdGxlPmZpbHRlckJ1Z3M8L3RpdGxlPgotPHBhcmE+VGhpcyBjb21tYW5kIGlzIHVzZWQgdG8gc2VsZWN0IGEgc3Vic2V0IG9mIHdhcm5pbmdzIGZyb20gYSBGaW5kQnVncyBYTUwgd2FybmluZyBmaWxlCi1hbmQgd3JpdGUgdGhlIHNlbGVjdGVkIHN1YnNldCB0byBhIG5ldyBGaW5kQnVncyB3YXJuaW5nIGZpbGUuPC9wYXJhPgotPHBhcmE+Ci1UaGlzIGNvbW1hbmQgdGFrZXMgYSBzZXF1ZW5jZSBvZiBvcHRpb25zLCBhbmQgZWl0aGVyIHplcm8sIG9uZSBvciB0d28KLWZpbGVuYW1lcyBvZiBmaW5kYnVncyB4bWwgYnVnIGZpbGVzIG9uIHRoZSBjb21tYW5kIGxpbmUuPC9wYXJhPgotPHBhcmE+SWYgbm8gZmlsZSBuYW1lcyBhcmUgcHJvdmlkZWQsIHRoZSBjb21tYW5kIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQKLWFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0LiBJZiBvbmUgZmlsZSBuYW1lIGlzIHByb3ZpZGVkLAotaXQgcmVhZHMgZnJvbSB0aGUgZmlsZSBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dC4KLUlmIHR3byBmaWxlIG5hbWVzIGFyZSBwcm92aWRlZCwgaXQgcmVhZHMgZnJvbSB0aGUgZmlyc3QgYW5kIHdyaXRlcyB0aGUgb3V0cHV0Ci10byB0aGUgc2Vjb25kIGZpbGUgbmFtZS48L3BhcmE+Ci0KLTxwYXJhPlRoaXMgZnVuY3Rpb25hbGl0eSBtYXkgYWxzbyBjYW4gYmUgYWNjZXNzZWQgZnJvbSBhbnQuCi1GaXJzdCBjcmVhdGUgYSB0YXNrZGVmIGZvciA8Y29tbWFuZD5maWx0ZXJCdWdzPC9jb21tYW5kPiBpbiB5b3VyCi1idWlsZCBmaWxlOgotPC9wYXJhPgotCi08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLTx0YXNrZGVmIG5hbWU9ImZpbHRlckJ1Z3MiIGNsYXNzbmFtZT0iZWR1LnVtZC5jcy5maW5kYnVncy5hbnR0YXNrLkZpbHRlckJ1Z3NUYXNrIj4KLSAgICA8Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8+Ci08L3Rhc2tkZWY+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci0KLTxwYXJhPkF0dHJpYnV0ZXMgZm9yIHRoaXMgYW50IHRhc2sgYXJlIGxpc3RlZCBpbiB0aGUgZm9sbG93aW5nIHRhYmxlLgotVG8gc3BlY2lmeSBhbiBpbnB1dCBmaWxlIGVpdGhlciB1c2UgdGhlIGlucHV0IGF0dHJpYnV0ZSBvciBuZXN0IGl0IGluc2lkZQotdGhlIGFudCBjYWxsIHdpdGggYSA8bGl0ZXJhbD4mbHQ7ZGF0YWZpbGUmZ3Q7PC9saXRlcmFsPiBlbGVtZW50LiAgRm9yIGV4YW1wbGU6Ci08L3BhcmE+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotPGZpbHRlckJ1Z3MgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIgLi4uPgotICAgIDxkYXRhZmlsZSBuYW1lPSJhbmFseXplLnhtbCIvPgotPC9maWx0ZXJCdWdzPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi0gICAgICAgIDx0YWJsZSBpZD0iZmlsdGVyT3B0aW9uc1RhYmxlIj4KLSAgICAgICAgICAgIDx0aXRsZT5PcHRpb25zIGZvciBmaWx0ZXJCdWdzIGNvbW1hbmQ8L3RpdGxlPgotICAgICAgICAgICAgPHRncm91cCBjb2xzPSIzIiBhbGlnbj0ibGVmdCI+Ci0gICAgICAgICAgICAgICAgICA8dGhlYWQ+Ci0gICAgICAgICAgICAgICAgICAgIDxyb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5Db21tYW5kLWxpbmUgb3B0aW9uPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PkFudCBhdHRyaWJ1dGU8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+TWVhbmluZzwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+Ci0gICAgICAgICAgICAgICAgICA8dGJvZHk+Ci08cm93PjxlbnRyeT48L2VudHJ5PiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+aW5wdXQ9IiZsdDtmaWxlJmd0OyI8L2VudHJ5PiAgICAgICAgICAgICA8ZW50cnk+dXNlIGZpbGUgYXMgaW5wdXQ8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+PC9lbnRyeT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5Pm91dHB1dD0iJmx0O2ZpbGUmZ3Q7IjwvZW50cnk+ICAgICAgICAgICAgPGVudHJ5Pm91dHB1dCByZXN1bHRzIHRvIGZpbGU8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LW5vdDwvZW50cnk+ICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5Pm5vdD0iW3RydWV8ZmFsc2VdIjwvZW50cnk+ICAgICAgICAgICAgICAgPGVudHJ5PnJldmVyc2UgKGFsbCkgc3dpdGNoZXMgZm9yIHRoZSBmaWx0ZXI8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXdpdGhTb3VyY2VbOnRydXRoXTwvZW50cnk+ICAgICAgICAgPGVudHJ5PndpdGhTb3VyY2U9Ilt0cnVlfGZhbHNlXSI8L2VudHJ5PiAgICAgICAgPGVudHJ5Pm9ubHkgd2FybmluZ3MgZm9yIHN3aXRjaCBzb3VyY2UgaXMgYXZhaWxhYmxlPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1leGNsdWRlICZsdDtmaWx0ZXIgZmlsZSZndDs8L2VudHJ5PjxlbnRyeT5leGNsdWRlPSImbHQ7ZmlsdGVyIGZpbGUmZ3Q7IjwvZW50cnk+ICAgIDxlbnRyeT5leGNsdWRlIGJ1Z3MgbWF0Y2hpbmcgZ2l2ZW4gZmlsdGVyPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1pbmNsdWRlICZsdDtmaWx0ZXIgZmlsZSZndDs8L2VudHJ5PjxlbnRyeT5pbmNsdWRlPSImbHQ7ZmlsdGVyIGZpbGUmZ3Q7IjwvZW50cnk+ICAgIDxlbnRyeT5pbmNsdWRlIG9ubHkgYnVncyBtYXRjaGluZyBnaXZlbiBmaWx0ZXI8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWFubm90YXRpb24gJmx0O3RleHQmZ3Q7PC9lbnRyeT4gICAgPGVudHJ5PmFubm90YXRpb249IiZsdDt0ZXh0Jmd0OyI8L2VudHJ5PiAgICAgICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3MgY29udGFpbmluZyB0aGlzIHRleHQgaW4gYSBtYW51YWwgYW5ub3RhdGlvbjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tYWZ0ZXIgJmx0O3doZW4mZ3Q7PC9lbnRyeT4gICAgICAgICA8ZW50cnk+YWZ0ZXI9IiZsdDt3aGVuJmd0OyI8L2VudHJ5PiAgICAgICAgICAgICA8ZW50cnk+YWxsb3cgb25seSB3YXJuaW5ncyB0aGF0IGZpcnN0IG9jY3VycmVkIGFmdGVyIHRoaXMgdmVyc2lvbjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tYmVmb3JlICZsdDt3aGVuJmd0OzwvZW50cnk+ICAgICAgICA8ZW50cnk+YmVmb3JlPSImbHQ7d2hlbiZndDsiPC9lbnRyeT4gICAgICAgICAgICA8ZW50cnk+YWxsb3cgb25seSB3YXJuaW5ncyB0aGF0IGZpcnN0IG9jY3VycmVkIGJlZm9yZSB0aGlzIHZlcnNpb248L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWZpcnN0ICZsdDt3aGVuJmd0OzwvZW50cnk+ICAgICAgICAgPGVudHJ5PmZpcnN0PSImbHQ7d2hlbiZndDsiPC9lbnRyeT4gICAgICAgICAgICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3MgdGhhdCBmaXJzdCBvY2N1cnJlZCBpbiB0aGlzIHZlcnNpb248L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWxhc3QgJmx0O3doZW4mZ3Q7PC9lbnRyeT4gICAgICAgICAgPGVudHJ5Pmxhc3Q9IiZsdDt3aGVuJmd0OyI8L2VudHJ5PiAgICAgICAgICAgICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3MgdGhhdCBsYXN0IG9jY3VycmVkIGluIHRoaXMgdmVyc2lvbjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tZml4ZWQgJmx0O3doZW4mZ3Q7PC9lbnRyeT4gICAgICAgICA8ZW50cnk+Zml4ZWQ9IiZsdDt3aGVuJmd0OyI8L2VudHJ5PiAgICAgICAgICAgICA8ZW50cnk+YWxsb3cgb25seSB3YXJuaW5ncyB0aGF0IGxhc3Qgb2NjdXJyZWQgaW4gdGhlIHByZXZpb3VzIHZlcnNpb24gKGNsb2JiZXJzIDxvcHRpb24+LWxhc3Q8L29wdGlvbj4pPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1wcmVzZW50ICZsdDt3aGVuJmd0OzwvZW50cnk+ICAgICAgIDxlbnRyeT5wcmVzZW50PSImbHQ7d2hlbiZndDsiPC9lbnRyeT4gICAgICAgICAgIDxlbnRyeT5hbGxvdyBvbmx5IHdhcm5pbmdzIHByZXNlbnQgaW4gdGhpcyB2ZXJzaW9uPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1hYnNlbnQgJmx0O3doZW4mZ3Q7PC9lbnRyeT4gICAgICAgIDxlbnRyeT5hYnNlbnQ9IiZsdDt3aGVuJmd0OyI8L2VudHJ5PiAgICAgICAgICAgIDxlbnRyeT5hbGxvdyBvbmx5IHdhcm5pbmdzIGFic2VudCBpbiB0aGlzIHZlcnNpb248L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWFjdGl2ZVs6dHJ1dGhdPC9lbnRyeT4gICAgICAgICAgICAgPGVudHJ5PmFjdGl2ZT0iW3RydWV8ZmFsc2VdIjwvZW50cnk+ICAgICAgICAgICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3MgYWxpdmUgaW4gdGhlIGxhc3Qgc2VxdWVuY2UgbnVtYmVyPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1pbnRyb2R1Y2VkQnlDaGFuZ2VbOnRydXRoXTwvZW50cnk+IDxlbnRyeT5pbnRyb2R1Y2VkQnlDaGFuZ2U9Ilt0cnVlfGZhbHNlXSI8L2VudHJ5PjxlbnRyeT5hbGxvdyBvbmx5IHdhcm5pbmdzIGludHJvZHVjZWQgYnkgYSBjaGFuZ2Ugb2YgYW4gZXhpc3RpbmcgY2xhc3M8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXJlbW92ZWRCeUNoYW5nZVs6dHJ1dGhdPC9lbnRyeT4gICAgPGVudHJ5PnJlbW92ZWRCeUNoYW5nZT0iW3RydWV8ZmFsc2VdIjwvZW50cnk+ICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3MgcmVtb3ZlZCBieSBhIGNoYW5nZSBvZiBhIHBlcnNpc3RpbmcgY2xhc3M8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LW5ld0NvZGVbOnRydXRoXTwvZW50cnk+ICAgICAgICAgICAgPGVudHJ5Pm5ld0NvZGU9Ilt0cnVlfGZhbHNlXSI8L2VudHJ5PiAgICAgICAgICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3MgaW50cm9kdWNlZCBieSB0aGUgYWRkaXRpb24gb2YgYSBuZXcgY2xhc3M8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXJlbW92ZWRDb2RlWzp0cnV0aF08L2VudHJ5PiAgICAgICAgPGVudHJ5PnJlbW92ZWRDb2RlPSJbdHJ1ZXxmYWxzZV0iPC9lbnRyeT4gICAgICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3MgcmVtb3ZlZCBieSByZW1vdmFsIG9mIGEgY2xhc3M8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXByaW9yaXR5ICZsdDtsZXZlbCZndDs8L2VudHJ5PiAgICAgPGVudHJ5PnByaW9yaXR5PSImbHQ7bGV2ZWwmZ3Q7IjwvZW50cnk+ICAgICAgICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3Mgd2l0aCB0aGlzIHByaW9yaXR5IG9yIGhpZ2hlcjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tbWF4UmFuayAmbHQ7cmFuayZndDs8L2VudHJ5PiAgICAgICA8ZW50cnk+cmFuaz0iWzEuLjIwXSI8L2VudHJ5PiAgICAgICAgICAgICAgICAgICA8ZW50cnk+YWxsb3cgb25seSB3YXJuaW5ncyB3aXRoIHRoaXMgcmFuayBvciBsb3dlcjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tY2xhc3MgJmx0O3BhdHRlcm4mZ3Q7PC9lbnRyeT4gICAgICA8ZW50cnk+Y2xhc3M9IiZsdDtjbGFzcyZndDsiPC9lbnRyeT4gICAgICAgICAgICA8ZW50cnk+YWxsb3cgb25seSBidWdzIHdob3NlIHByaW1hcnkgY2xhc3MgbmFtZSBtYXRjaGVzIHRoaXMgcGF0dGVybjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tYnVnUGF0dGVybiAmbHQ7cGF0dGVybiZndDs8L2VudHJ5PiA8ZW50cnk+YnVnUGF0dGVybj0iJmx0O3BhdHRlcm4mZ3Q7IjwvZW50cnk+ICAgICA8ZW50cnk+YWxsb3cgb25seSBidWdzIHdob3NlIHR5cGUgbWF0Y2hlcyB0aGlzIHBhdHRlcm48L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWNhdGVnb3J5ICZsdDtjYXRlZ29yeSZndDs8L2VudHJ5PiAgPGVudHJ5PmNhdGVnb3J5PSImbHQ7Y2F0ZWdvcnkmZ3Q7IjwvZW50cnk+ICAgICAgPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3Mgd2l0aCBhIGNhdGVnb3J5IHRoYXQgc3RhcnRzIHdpdGggdGhpcyBzdHJpbmc8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWRlc2lnbmF0aW9uICZsdDtkZXNpZ25hdGlvbiZndDs8L2VudHJ5PiA8ZW50cnk+ZGVzaWduYXRpb249IiZsdDtkZXNpZ25hdGlvbiZndDsiPC9lbnRyeT4gPGVudHJ5PmFsbG93IG9ubHkgd2FybmluZ3Mgd2l0aCB0aGlzIGRlc2lnbmF0aW9uIChlLmcuLCAtZGVzaWduYXRpb24gU0hPVUxEX0ZJWCk8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXdpdGhNZXNzYWdlc1s6dHJ1dGhdIDwvZW50cnk+ICAgICAgPGVudHJ5PndpdGhNZXNzYWdlcz0iW3RydWV8ZmFsc2VdIjwvZW50cnk+ICAgICAgPGVudHJ5PnRoZSBnZW5lcmF0ZWQgWE1MIHNob3VsZCBjb250YWluIHRleHR1YWwgbWVzc2FnZXM8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICA8L3Rncm91cD4KLSAgICAgICAgPC90YWJsZT4KLQotICAgICAgICA8L3NlY3QyPgotCi0gICAgICAgIDxzZWN0MiBpZD0ibWluZUJ1Z0hpc3RvcnkiPgotICAgICAgICAgICAgPHRpdGxlPm1pbmVCdWdIaXN0b3J5PC90aXRsZT4KLTxwYXJhPlRoaXMgY29tbWFuZCBnZW5lcmF0ZXMgYSB0YWJsZSBjb250YWluaW5nIGNvdW50cyBvZiB0aGUgbnVtYmVycyBvZiB3YXJuaW5ncwotaW4gZWFjaCB2ZXJzaW9uIG9mIGEgbXVsdGl2ZXJzaW9uIGJ1ZyBkYXRhYmFzZS48L3BhcmE+Ci0KLQotPHBhcmE+VGhpcyBmdW5jdGlvbmFsaXR5IG1heSBhbHNvIGNhbiBiZSBhY2Nlc3NlZCBmcm9tIGFudC4KLUZpcnN0IGNyZWF0ZSBhIHRhc2tkZWYgZm9yIDxjb21tYW5kPm1pbmVCdWdIaXN0b3J5PC9jb21tYW5kPiBpbiB5b3VyCi1idWlsZCBmaWxlOgotPC9wYXJhPgotCi08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLTx0YXNrZGVmIG5hbWU9Im1pbmVCdWdIaXN0b3J5IiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5NaW5lQnVnSGlzdG9yeVRhc2siPgotICAgIDxjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLz4KLTwvdGFza2RlZj4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLQotPHBhcmE+QXR0cmlidXRlcyBmb3IgdGhpcyBhbnQgdGFzayBhcmUgbGlzdGVkIGluIHRoZSBmb2xsb3dpbmcgdGFibGUuCi1UbyBzcGVjaWZ5IGFuIGlucHV0IGZpbGUgZWl0aGVyIHVzZSB0aGUgPGxpdGVyYWw+aW5wdXQ8L2xpdGVyYWw+Ci1hdHRyaWJ1dGUgb3IgbmVzdCBpdCBpbnNpZGUgdGhlIGFudCBjYWxsIHdpdGggYQotPGxpdGVyYWw+Jmx0O2RhdGFmaWxlJmd0OzwvbGl0ZXJhbD4gZWxlbWVudC4gIEZvciBleGFtcGxlOgotPC9wYXJhPgotCi08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLTxtaW5lQnVnSGlzdG9yeSBob21lPSIke2ZpbmRidWdzLmhvbWV9IiAuLi4+Ci0gICAgPGRhdGFmaWxlIG5hbWU9ImFuYWx5emUueG1sIi8+Ci08L21pbmVCdWdIaXN0b3J5PgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi0gICAgICAgIDx0YWJsZSBpZD0ibWluZUJ1Z0hpc3RvcnlPcHRpb25zVGFibGUiPgotICAgICAgICAgICAgPHRpdGxlPk9wdGlvbnMgZm9yIG1pbmVCdWdIaXN0b3J5IGNvbW1hbmQ8L3RpdGxlPgotICAgICAgICAgICAgPHRncm91cCBjb2xzPSIzIiBhbGlnbj0ibGVmdCI+Ci0gICAgICAgICAgICAgICAgICA8dGhlYWQ+Ci0gICAgICAgICAgICAgICAgICAgIDxyb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5Db21tYW5kLWxpbmUgb3B0aW9uPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PkFudCBhdHRyaWJ1dGU8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+TWVhbmluZzwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDwvcm93PgotICAgICAgICAgICAgICAgICAgPC90aGVhZD4KLSAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLTxyb3c+PGVudHJ5PjwvZW50cnk+ICAgICAgICAgICAgICAgPGVudHJ5PmlucHV0PSImbHQ7ZmlsZSZndDsiPC9lbnRyeT4gICAgICAgICAgICAgPGVudHJ5PnVzZSBmaWxlIGFzIGlucHV0PC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5PjwvZW50cnk+ICAgICAgICAgICAgICAgPGVudHJ5Pm91dHB1dD0iJmx0O2ZpbGUmZ3Q7IjwvZW50cnk+ICAgICAgICAgICAgPGVudHJ5PndyaXRlIG91dHB1dCB0byBmaWxlPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1mb3JtYXREYXRlczwvZW50cnk+ICAgPGVudHJ5PmZvcm1hdERhdGVzPSJbdHJ1ZXxmYWxzZV0iPC9lbnRyeT4gICAgICAgPGVudHJ5PnJlbmRlciBkYXRlcyBpbiB0ZXh0dWFsIGZvcm08L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LW5vVGFiczwvZW50cnk+ICAgICAgICA8ZW50cnk+bm9UYWJzPSJbdHJ1ZXxmYWxzZV0iPC9lbnRyeT4gICAgICAgICAgICA8ZW50cnk+ZGVsaW1pdCBjb2x1bW5zIHdpdGggZ3JvdXBzIG9mIHNwYWNlcyBpbnN0ZWFkIG9mIHRhYnMgKHNlZSBiZWxvdyk8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXN1bW1hcnk8L2VudHJ5PiAgICAgICA8ZW50cnk+c3VtbWFyeT0iW3RydWV8ZmFsc2VdIjwvZW50cnk+ICAgICAgICAgICA8ZW50cnk+b3V0cHV0IHRlcnNlIHN1bW1hcnkgb2YgY2hhbmdlcyBvdmVyIHRoZSBsYXN0IHRlbiBlbnRyaWVzPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgPC90Z3JvdXA+Ci0gICAgICAgIDwvdGFibGU+Ci0KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgIFRoZSA8b3B0aW9uPi1ub1RhYnM8L29wdGlvbj4gb3V0cHV0IGNhbiBiZSBlYXNpZXIgdG8gcmVhZCBmcm9tIGEgc2hlbGwKLSAgICAgICAgd2l0aCBhIGZpeGVkLXdpZHRoIGZvbnQuCi0gICAgICAgIEJlY2F1c2UgbnVtZXJpYyBjb2x1bW5zIGFyZSByaWdodC1qdXN0aWZpZWQsIHNwYWNlcyBtYXkgcHJlY2VkZSB0aGUKLSAgICAgICAgZmlyc3QgY29sdW1uIHZhbHVlLiBUaGlzIG9wdGlvbiBhbHNvIGNhdXNlcyA8b3B0aW9uPi1mb3JtYXREYXRlczwvb3B0aW9uPgotICAgICAgICB0byByZW5kZXIgZGF0ZXMgaW4gdGVyc2VyIGZvcm1hdCB3aXRob3V0IGVtYmVkZGVkIHdoaXRlc3BhY2UuCi0gICAgICAgIDwvcGFyYT4KLQotICAgICAgICA8cGFyYT5UaGUgdGFibGUgaXMgYSB0YWItc2VwYXJhdGVkIChiYXJyaW5nIDxvcHRpb24+LW5vVGFiczwvb3B0aW9uPikKLSAgICAgICAgdGFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGNvbHVtbnM6PC9wYXJhPgotCi0gICAgICAgIDx0YWJsZSBpZD0ibWluZUJ1Z0hpc3RvcnlDb2x1bW5zIj4KLSAgICAgICAgICAgIDx0aXRsZT5Db2x1bW5zIGluIG1pbmVCdWdIaXN0b3J5IG91dHB1dDwvdGl0bGU+Ci0gICAgICAgICAgICA8dGdyb3VwIGNvbHM9IjIiIGFsaWduPSJsZWZ0Ij4KLSAgICAgICAgICAgICAgICAgIDx0aGVhZD4KLSAgICAgICAgICAgICAgICAgICAgPHJvdz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PlRpdGxlPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5Pk1lYW5pbmc8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICA8L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgotICAgICAgICAgICAgICAgICAgPHRib2R5PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PnNlcTwvZW50cnk+PGVudHJ5PlNlcXVlbmNlIG51bWJlciAoc3VjY2Vzc2l2ZSBpbnRlZ2Vycywgc3RhcnRpbmcgYXQgMCk8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PnZlcnNpb248L2VudHJ5PjxlbnRyeT5WZXJzaW9uIG5hbWU8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PnRpbWU8L2VudHJ5PjxlbnRyeT5SZWxlYXNlIHRpbWVzdGFtcDwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+Y2xhc3NlczwvZW50cnk+PGVudHJ5Pk51bWJlciBvZiBjbGFzc2VzIGFuYWx5emVkPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5OQ1NTPC9lbnRyeT48ZW50cnk+Tm9uIENvbW1lbnRpbmcgU291cmNlIFN0YXRlbWVudHM8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PmFkZGVkPC9lbnRyeT48ZW50cnk+Q291bnQgb2YgbmV3IHdhcm5pbmdzIGZvciBhIGNsYXNzIHRoYXQgZXhpc3RlZCBpbiB0aGUgcHJldmlvdXMgdmVyc2lvbjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+bmV3Q29kZTwvZW50cnk+PGVudHJ5PkNvdW50IG9mIG5ldyB3YXJuaW5ncyBmb3IgYSBjbGFzcyB0aGF0IGRpZCBub3QgZXhpc3QgaW4gdGhlIHByZXZpb3VzIHZlcnNpb248L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PmZpeGVkPC9lbnRyeT48ZW50cnk+Q291bnQgb2Ygd2FybmluZ3MgcmVtb3ZlZCBmcm9tIGEgY2xhc3MgdGhhdCByZW1haW5zIGluIHRoZSBjdXJyZW50IHZlcnNpb248L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PnJlbW92ZWQ8L2VudHJ5PjxlbnRyeT5Db3VudCBvZiB3YXJuaW5ncyBpbiB0aGUgcHJldmlvdXMgdmVyc2lvbiBmb3IgYSBjbGFzcyB0aGF0IGlzIG5vdCBwcmVzZW50IGluIHRoZSBjdXJyZW50IHZlcnNpb248L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PnJldGFpbmVkPC9lbnRyeT48ZW50cnk+Q291bnQgb2Ygd2FybmluZ3MgdGhhdCB3ZXJlIGluIGJvdGggdGhlIHByZXZpb3VzIGFuZCBjdXJyZW50IHZlcnNpb248L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PmRlYWQ8L2VudHJ5PjxlbnRyeT5XYXJuaW5ncyB0aGF0IHdlcmUgcHJlc2VudCBpbiBlYXJsaWVyIHZlcnNpb25zIGJ1dCBpbiBuZWl0aGVyIHRoZSBjdXJyZW50IHZlcnNpb24gb3IgdGhlIGltbWVkaWF0ZWx5IHByZWNlZWRpbmcgdmVyc2lvbjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+YWN0aXZlPC9lbnRyeT48ZW50cnk+VG90YWwgd2FybmluZ3MgcHJlc2VudCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgICAgIDwvdGdyb3VwPgotICAgICAgICA8L3RhYmxlPgotICAgICAgICA8L3NlY3QyPgotCi0gICAgICAgIDxzZWN0MiBpZD0iZGVmZWN0RGVuc2l0eSI+Ci0gICAgICAgICAgICA8dGl0bGU+ZGVmZWN0RGVuc2l0eTwvdGl0bGU+Ci08cGFyYT4KLVRoaXMgY29tbWFuZCBsaXN0cyBpbmZvcm1hdGlvbiBhYm91dCBkZWZlY3QgZGVuc2l0eSAod2FybmluZ3MgcGVyIDEwMDAgTkNTUykgZm9yIHRoZSBlbnRpcmUgcHJvamVjdCBhbmQgZWFjaCBjbGFzcyBhbmQgcGFja2FnZS4KLUl0IGNhbiBlaXRoZXIgYmUgaW52b2tlZCB3aXRoIG5vIGZpbGVzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lIChpbiB3aGljaCBjYXNlIGl0IHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQpCi1vciB3aXRoIG9uZSBmaWxlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLjwvcGFyYT4KLTxwYXJhPkl0IGdlbmVyYXRlcyBhIHRhYmxlIHdpdGggdGhlIGZvbGxvd2luZyBjb2x1bW5zLCBhbmQgd2l0aCBvbmUKLXJvdyBmb3IgdGhlIGVudGlyZSBwcm9qZWN0LCBhbmQgb25lIHJvdyBmb3IgZWFjaCBwYWNrYWdlIG9yIGNsYXNzIHRoYXQgY29udGFpbnMgYXQgbGVhc3QKLTQgd2FybmluZ3MuPC9wYXJhPgotICAgICAgICA8dGFibGUgaWQ9ImRlZmVjdERlbnNpdHlDb2x1bW5zIj4KLSAgICAgICAgICAgIDx0aXRsZT5Db2x1bW5zIGluIGRlZmVjdERlbnNpdHkgb3V0cHV0PC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMiIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+VGl0bGU8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+TWVhbmluZzwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+Ci0gICAgICAgICAgICAgICAgICA8dGJvZHk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+a2luZDwvZW50cnk+PGVudHJ5PnByb2plY3QsIHBhY2thZ2Ugb3IgY2xhc3M8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pm5hbWU8L2VudHJ5PjxlbnRyeT5UaGUgbmFtZSBvZiB0aGUgcHJvamVjdCwgcGFja2FnZSBvciBjbGFzczwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+ZGVuc2l0eTwvZW50cnk+PGVudHJ5Pk51bWJlciBvZiB3YXJuaW5ncyBnZW5lcmF0ZWQgcGVyIDEwMDAgbGluZXMgb2YgTkNTUy48L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PmJ1Z3M8L2VudHJ5PjxlbnRyeT5OdW1iZXIgb2Ygd2FybmluZ3M8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pk5DU1M8L2VudHJ5PjxlbnRyeT5DYWxjdWxhdGVkIG51bWJlciBvZiBOQ1NTPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgICAgIDwvdGdyb3VwPgotICAgICAgICAgICAgPC90YWJsZT4KLSAgICAgICAgPC9zZWN0Mj4KLQotICAgICAgICA8c2VjdDIgaWQ9ImNvbnZlcnRYbWxUb1RleHQiPgotICAgICAgICAgICAgPHRpdGxlPmNvbnZlcnRYbWxUb1RleHQ8L3RpdGxlPgotCi0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICBUaGlzIGNvbW1hbmQgY29udmVydHMgYSB3YXJuaW5nIGNvbGxlY3Rpb24gaW4gWE1MIGZvcm1hdCB0byBhIHRleHQKLSAgICAgICAgICAgICAgICBmb3JtYXQgd2l0aCBvbmUgbGluZSBwZXIgd2FybmluZywgb3IgdG8gSFRNTC4KLSAgICAgICAgICAgIDwvcGFyYT4KLQotPHBhcmE+VGhpcyBmdW5jdGlvbmFsaXR5IG1heSBhbHNvIGNhbiBiZSBhY2Nlc3NlZCBmcm9tIGFudC4KLUZpcnN0IGNyZWF0ZSBhIHRhc2tkZWYgZm9yIDxjb21tYW5kPmNvbnZlcnRYbWxUb1RleHQ8L2NvbW1hbmQ+IGluIHlvdXIKLWJ1aWxkIGZpbGU6Ci08L3BhcmE+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotPHRhc2tkZWYgbmFtZT0iY29udmVydFhtbFRvVGV4dCIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suQ29udmVydFhtbFRvVGV4dFRhc2siPgotICAgIDxjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLz4KLTwvdGFza2RlZj4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLQotPHBhcmE+QXR0cmlidXRlcyBmb3IgdGhpcyBhbnQgdGFzayBhcmUgbGlzdGVkIGluIHRoZSBmb2xsb3dpbmcgdGFibGUuPC9wYXJhPgotCi0gICAgICAgICAgICA8dGFibGUgaWQ9ImNvbnZlcnRYbWxUb1RleHRUYWJsZSI+Ci0gICAgICAgICAgICA8dGl0bGU+T3B0aW9ucyBmb3IgY29udmVydFhtbFRvVGV4dCBjb21tYW5kPC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMyIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+Q29tbWFuZC1saW5lIG9wdGlvbjwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5BbnQgYXR0cmlidXRlPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5Pk1lYW5pbmc8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICA8L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgotICAgICAgICAgICAgICAgICAgPHRib2R5PgotPHJvdz48ZW50cnk+PC9lbnRyeT4gICAgICAgICAgICAgICAgICAgPGVudHJ5PmlucHV0PSImbHQ7ZmlsZW5hbWUmZ3Q7IjwvZW50cnk+ICAgICAgICAgPGVudHJ5PnVzZSBmaWxlIGFzIGlucHV0PC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5PjwvZW50cnk+ICAgICAgICAgICAgICAgICAgIDxlbnRyeT5vdXRwdXQ9IiZsdDtmaWxlbmFtZSZndDsiPC9lbnRyeT4gICAgICAgIDxlbnRyeT5vdXRwdXQgcmVzdWx0cyB0byBmaWxlPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1sb25nQnVnQ29kZXM8L2VudHJ5PiAgICAgIDxlbnRyeT5sb25nQnVnQ29kZXM9Ilt0cnVlfGZhbHNlXSI8L2VudHJ5PiAgICAgIDxlbnRyeT51c2UgdGhlIGZ1bGwgYnVnIHBhdHRlcm4gY29kZSBpbnN0ZWFkIG9mIHR3by1sZXR0ZXIgYWJicmV2aWF0aW9uPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5PjwvZW50cnk+ICAgICAgICAgICAgICAgICAgIDxlbnRyeT5mb3JtYXQ9InRleHQiPC9lbnRyeT4gICAgICAgICAgICAgICAgICAgIDxlbnRyeT5nZW5lcmF0ZSBwbGFpbiB0ZXh0IG91dHB1dCB3aXRoIG9uZSBidWcgcGVyIGxpbmUgKGNvbW1hbmQtbGluZSBkZWZhdWx0KTwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4taHRtbFs6c3R5bGVzaGVldF08L2VudHJ5PiA8ZW50cnk+Zm9ybWF0PSJodG1sOiZsdDtzdHlsZXNoZWV0Jmd0OyI8L2VudHJ5PiA8ZW50cnk+Z2VuZXJhdGUgb3V0cHV0IHdpdGggc3BlY2lmaWVkIHN0eWxlc2hlZXQgKHNlZSBiZWxvdyksIG9yIGRlZmF1bHQueHNsIGlmIHVuc3BlY2lmaWVkPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgPC90Z3JvdXA+Ci0gICAgICAgICAgICA8L3RhYmxlPgotCi0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgIFlvdSBtYXkgc3BlY2lmeSBwbGFpbi54c2wsIGRlZmF1bHQueHNsLCBmYW5jeS54c2wsIGZhbmN5LWhpc3QueHNsLAotICAgICAgICAgICAgb3IgeW91ciBvd24gWFNMIHN0eWxlc2hlZXQgZm9yIHRoZSAtaHRtbC9mb3JtYXQgb3B0aW9uLgotICAgICAgICAgICAgRGVzcGl0ZSB0aGUgbmFtZSBvZiB0aGlzIG9wdGlvbiwgeW91IG1heSBzcGVjaWZ5Ci0gICAgICAgICAgICBhIHN0eWxlc2hlZXQgdGhhdCBlbWl0cyBzb21ldGhpbmcgb3RoZXIgdGhhbiBodG1sLgotICAgICAgICAgICAgV2hlbiBhcHBseWluZyBhIHN0eWxlc2hlZXQgb3RoZXIgdGhhbiB0aG9zZSBpbmNsdWRlZAotICAgICAgICAgICAgd2l0aCBGaW5kQnVncyAobGlzdGVkIGFib3ZlKSwgdGhlIC1odG1sL2Zvcm1hdCBvcHRpb24gc2hvdWxkIGJlIHVzZWQKLSAgICAgICAgICAgIHdpdGggYSBwYXRoIG9yIFVSTCB0byB0aGUgc3R5bGVzaGVldC4KLSAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgPC9zZWN0Mj4KLQotICAgICAgICA8c2VjdDIgaWQ9InNldEJ1Z0RhdGFiYXNlSW5mbyI+Ci0gICAgICAgICAgICA8dGl0bGU+c2V0QnVnRGF0YWJhc2VJbmZvPC90aXRsZT4KLQotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgICAgVGhpcyBjb21tYW5kIHNldHMgbWV0YS1pbmZvcm1hdGlvbiBpbiBhIHNwZWNpZmllZCB3YXJuaW5nIGNvbGxlY3Rpb24uCi0gICAgICAgICAgICAgICAgSXQgdGFrZXMgdGhlIGZvbGxvd2luZyBvcHRpb25zOgotICAgICAgICAgICAgPC9wYXJhPgotCi08cGFyYT5UaGlzIGZ1bmN0aW9uYWxpdHkgbWF5IGFsc28gY2FuIGJlIGFjY2Vzc2VkIGZyb20gYW50LgotRmlyc3QgY3JlYXRlIGEgdGFza2RlZiBmb3IgPGNvbW1hbmQ+c2V0QnVnRGF0YWJhc2VJbmZvPC9jb21tYW5kPiBpbiB5b3VyCi1idWlsZCBmaWxlOgotPC9wYXJhPgotCi08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLTx0YXNrZGVmIG5hbWU9InNldEJ1Z0RhdGFiYXNlSW5mbyIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suU2V0QnVnRGF0YWJhc2VJbmZvVGFzayI+Ci0gICAgPGNsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvPgotPC90YXNrZGVmPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi08cGFyYT5BdHRyaWJ1dGVzIGZvciB0aGlzIGFudCB0YXNrIGFyZSBsaXN0ZWQgaW4gdGhlIGZvbGxvd2luZyB0YWJsZS4KLVRvIHNwZWNpZnkgYW4gaW5wdXQgZmlsZSBlaXRoZXIgdXNlIHRoZSA8bGl0ZXJhbD5pbnB1dDwvbGl0ZXJhbD4KLWF0dHJpYnV0ZSBvciBuZXN0IGl0IGluc2lkZSB0aGUgYW50IGNhbGwgd2l0aCBhCi08bGl0ZXJhbD4mbHQ7ZGF0YWZpbGUmZ3Q7PC9saXRlcmFsPiBlbGVtZW50LiAgRm9yIGV4YW1wbGU6Ci08L3BhcmE+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotPHNldEJ1Z0RhdGFiYXNlSW5mbyBob21lPSIke2ZpbmRidWdzLmhvbWV9IiAuLi4+Ci0gICAgPGRhdGFmaWxlIG5hbWU9ImFuYWx5emUueG1sIi8+Ci08L3NldEJ1Z0RhdGFiYXNlSW5mbz4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLQotICAgICAgICA8dGFibGUgaWQ9InNldEJ1Z0RhdGFiYXNlSW5mb09wdGlvbnMiPgotICAgICAgICAgICAgPHRpdGxlPnNldEJ1Z0RhdGFiYXNlSW5mbyBPcHRpb25zPC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMyIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+Q29tbWFuZC1saW5lIG9wdGlvbjwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5BbnQgYXR0cmlidXRlPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5Pk1lYW5pbmc8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICA8L3Jvdz4KLSAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+Ci0gICAgICAgICAgICAgICAgICA8dGJvZHk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+aW5wdXQ9IiZsdDtmaWxlJmd0OyI8L2VudHJ5PiAgICAgICAgICAgPGVudHJ5PnVzZSBmaWxlIGFzIGlucHV0PC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT48L2VudHJ5PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5vdXRwdXQ9IiZsdDtmaWxlJmd0OyI8L2VudHJ5PiAgICAgICAgICA8ZW50cnk+d3JpdGUgb3V0cHV0IHRvIGZpbGU8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pi1uYW1lICZsdDtuYW1lJmd0OzwvZW50cnk+ICAgICAgICAgICAgPGVudHJ5Pm5hbWU9IiZsdDtuYW1lJmd0OyI8L2VudHJ5PiAgICAgICAgICAgIDxlbnRyeT5zZXQgbmFtZSBmb3IgKGxhc3QpIHJldmlzaW9uPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT4tdGltZXN0YW1wICZsdDt3aGVuJmd0OzwvZW50cnk+ICAgICAgIDxlbnRyeT50aW1lc3RhbXA9IiZsdDt3aGVuJmd0OyI8L2VudHJ5PiAgICAgICA8ZW50cnk+c2V0IHRpbWVzdGFtcCBmb3IgKGxhc3QpIHJldmlzaW9uPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT4tc291cmNlICZsdDtkaXJlY3RvcnkmZ3Q7PC9lbnRyeT4gICAgIDxlbnRyeT5zb3VyY2U9IiZsdDtkaXJlY3RvcnkmZ3Q7IjwvZW50cnk+ICAgICA8ZW50cnk+YWRkIHNwZWNpZmllZCBkaXJlY3RvcnkgdG8gdGhlIHNvdXJjZSBzZWFyY2ggcGF0aDwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+LWZpbmRTb3VyY2UgJmx0O2RpcmVjdG9yeSZndDs8L2VudHJ5PiA8ZW50cnk+ZmluZFNvdXJjZT0iJmx0O2RpcmVjdG9yeSZndDsiPC9lbnRyeT4gPGVudHJ5PmZpbmQgYW5kIGFkZCBhbGwgcmVsZXZhbnQgc291cmNlIGRpcmVjdGlvbnMgY29udGFpbmVkIHdpdGhpbiBzcGVjaWZpZWQgZGlyZWN0b3J5PC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT4tc3VwcHJlc3MgJmx0O2ZpbHRlciBmaWxlJmd0OzwvZW50cnk+IDxlbnRyeT5zdXBwcmVzcz0iJmx0O2ZpbHRlciBmaWxlJmd0OyI8L2VudHJ5PiA8ZW50cnk+c3VwcHJlc3Mgd2FybmluZ3MgbWF0Y2hlZCBieSB0aGlzIGZpbGUgKHJlcGxhY2VzIHByZXZpb3VzIHN1cHByZXNzaW9ucyk8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pi13aXRoTWVzc2FnZXM8L2VudHJ5PiAgICAgICAgICAgICAgICAgPGVudHJ5PndpdGhNZXNzYWdlcz0iW3RydWV8ZmFsc2VdIjwvZW50cnk+ICAgIDxlbnRyeT5hZGQgdGV4dHVhbCBtZXNzYWdlcyB0byBYTUw8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pi1yZXNldFNvdXJjZTwvZW50cnk+ICAgICAgICAgICAgICAgICAgPGVudHJ5PnJlc2V0U291cmNlPSJbdHJ1ZXxmYWxzZV0iPC9lbnRyeT4gICAgIDxlbnRyeT5yZW1vdmUgYWxsIHNvdXJjZSBzZWFyY2ggcGF0aHM8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgICAgIDwvdGdyb3VwPgotICAgICAgICAgICAgPC90YWJsZT4KLSAgICAgICAgPC9zZWN0Mj4KLQotICAgICAgICA8c2VjdDIgaWQ9Imxpc3RCdWdEYXRhYmFzZUluZm8iPgotICAgICAgICAgICAgPHRpdGxlPmxpc3RCdWdEYXRhYmFzZUluZm88L3RpdGxlPgotCi0gICAgICAgICAgICA8cGFyYT5UaGlzIGNvbW1hbmQgdGFrZXMgYSBsaXN0IG9mIHplcm8gb3IgbW9yZSB4bWwgYnVnIGRhdGFiYXNlIGZpbGVuYW1lcyBvbiB0aGUgY29tbWFuZCBsaW5lLgotSWYgemVybyBmaWxlIG5hbWVzIGFyZSBwcm92aWRlZCwgaXQgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgZG9lcyBub3QgZ2VuZXJhdGUKLWEgdGFibGUgaGVhZGVyLjwvcGFyYT4KLQotPHBhcmE+VGhlcmUgaXMgb25seSBvbmUgb3B0aW9uOiA8b3B0aW9uPi1mb3JtYXREYXRlczwvb3B0aW9uPiByZW5kZXJzIGRhdGVzCi0gICAgaW4gdGV4dHVhbCBmb3JtLgotICAgIDwvcGFyYT4KLQotPHBhcmE+VGhlIG91dHB1dCBpcyBhIHRhYmxlIG9uZSByb3cgcGVyIGJ1ZyBkYXRhYmFzZSBhbmQgdGhlIGZvbGxvd2luZyBjb2x1bW5zOjwvcGFyYT4KLSAgICAgICAgPHRhYmxlIGlkPSJsaXN0QnVnRGF0YWJhc2VJbmZvQ29sdW1ucyI+Ci0gICAgICAgICAgICA8dGl0bGU+bGlzdEJ1Z0RhdGFiYXNlSW5mbyBDb2x1bW5zPC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMiIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+Q29sdW1uPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5Pk1lYW5pbmc8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICA8L3Jvdz4KLSAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+Ci0gICAgICAgICAgICAgICAgICA8dGJvZHk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+dmVyc2lvbjwvZW50cnk+PGVudHJ5PnZlcnNpb24gbmFtZTwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+dGltZTwvZW50cnk+PGVudHJ5PlJlbGVhc2UgdGltZXN0YW1wPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5jbGFzc2VzPC9lbnRyeT48ZW50cnk+TnVtYmVyIG9mIGNsYXNzZXMgYW5hbHl6ZWQ8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pk5DU1M8L2VudHJ5PjxlbnRyeT5Ob24gQ29tbWVudGluZyBTb3VyY2UgU3RhdGVtZW50cyBhbmFseXplZDwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+dG90YWw8L2VudHJ5PjxlbnRyeT5Ub3RhbCBudW1iZXIgb2Ygd2FybmluZ3Mgb2YgYWxsIGtpbmRzPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5oaWdoPC9lbnRyeT48ZW50cnk+VG90YWwgbnVtYmVyIG9mIGhpZ2ggcHJpb3JpdHkgd2FybmluZ3Mgb2YgYWxsIGtpbmRzPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5tZWRpdW08L2VudHJ5PjxlbnRyeT5Ub3RhbCBudW1iZXIgb2YgbWVkaXVtL25vcm1hbCBwcmlvcml0eSB3YXJuaW5ncyBvZiBhbGwga2luZHM8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PmxvdzwvZW50cnk+PGVudHJ5PlRvdGFsIG51bWJlciBvZiBsb3cgcHJpb3JpdHkgd2FybmluZ3Mgb2YgYWxsIGtpbmRzPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5maWxlbmFtZTwvZW50cnk+PGVudHJ5PmZpbGVuYW1lIG9mIGRhdGFiYXNlPC9lbnRyeT48L3Jvdz4KLTwhLS0KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT48L2VudHJ5PjxlbnRyeT48L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PjwvZW50cnk+PGVudHJ5PjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48ZW50cnk+PC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT48L2VudHJ5PjxlbnRyeT48L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PjwvZW50cnk+PGVudHJ5PjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48ZW50cnk+PC9lbnRyeT48L3Jvdz4KLS0tPgotICAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgICAgIDwvdGdyb3VwPgotICAgICAgICAgICAgPC90YWJsZT4KLQotICAgICAgICA8L3NlY3QyPgotCi0gICAgPC9zZWN0MT4KLQotICAgIDxzZWN0MSBpZD0iZXhhbXBsZXMiPgotICAgICAgICA8dGl0bGU+RXhhbXBsZXM8L3RpdGxlPgotPHNlY3QyIGlkPSJ1bml4c2NyaXB0c2V4YW1wbGVzIj4KLSAgIDx0aXRsZT5NaW5pbmcgaGlzdG9yeSB1c2luZyBwcm92ZWRlZCBzaGVsbCBzY3JpcHM8L3RpdGxlPgotPHBhcmE+SW4gYWxsIG9mIHRoZSBmb2xsb3dpbmcsIHRoZSBjb21tYW5kcyBhcmUgZ2l2ZW4gaW4gYSBkaXJlY3RvcnkgdGhhdCBjb250YWlucwotZGlyZWN0b3JpZXMgamRrMS42LjAtYjEyLCBqZGsxLjYuMC1iMTMsIC4uLiwgamRrMS42LjAtYjYwLjwvcGFyYT4KLQotPHBhcmE+WW91IGNhbiB1c2UgdGhlIGNvbW1hbmQ6PC9wYXJhPgotPHNjcmVlbj4KLWNvbXB1dGVCdWdIaXN0b3J5IGpkazEuNi4wLWIqIHwgZmlsdGVyQnVncyAtYnVnUGF0dGVybiBJTF8gfCBtaW5lQnVnSGlzdG9yeSAtZm9ybWF0RGF0ZXMKLTwvc2NyZWVuPgotPHBhcmE+dG8gZ2VuZXJhdGUgdGhlIGZvbGxvd2luZyBvdXRwdXQ6PC9wYXJhPgotCi08c2NyZWVuPgotc2VxCXZlcnNpb24JdGltZQljbGFzc2VzCU5DU1MJYWRkZWQJbmV3Q29kZQlmaXhlZAlyZW1vdmVkCXJldGFpbmVkCWRlYWQJYWN0aXZlCi0wCWpkazEuNi4wLWIxMgkiVGh1IE5vdiAxMSAwOTowNzoyMCBFU1QgMjAwNCIJMTMxMjgJODExNTY5CTAJNAkwCTAJMAkwCTQKLTEJamRrMS42LjAtYjEzCSJUaHUgTm92IDE4IDA2OjAyOjA2IEVTVCAyMDA0IgkxMzEyOAk4MTE1NzAJMAkwCTAJMAk0CTAJNAotMglqZGsxLjYuMC1iMTQJIlRodSBEZWMgMDIgMDY6MTI6MjYgRVNUIDIwMDQiCTEzMTQ1CTgxMTc4NgkwCTAJMgkwCTIJMAkyCi0zCWpkazEuNi4wLWIxNQkiVGh1IERlYyAwOSAwNjowNzowNCBFU1QgMjAwNCIJMTMxNzQJODExNjkzCTAJMAkxCTAJMQkyCTEKLTQJamRrMS42LjAtYjE2CSJUaHUgRGVjIDE2IDA2OjIxOjI4IEVTVCAyMDA0IgkxMzE3NQk4MTE3MTUJMAkwCTAJMAkxCTMJMQotNQlqZGsxLjYuMC1iMTcJIlRodSBEZWMgMjMgMDY6Mjc6MjIgRVNUIDIwMDQiCTEzMTc2CTgxMTk3NAkwCTAJMAkwCTEJMwkxCi02CWpkazEuNi4wLWIxOQkiVGh1IEphbiAxMyAwNjo0MToxNiBFU1QgMjAwNSIJMTMxNzYJODEyMDExCTAJMAkwCTAJMQkzCTEKLTcJamRrMS42LjAtYjIxCSJUaHUgSmFuIDI3IDA1OjU3OjUyIEVTVCAyMDA1IgkxMzE3Nwk4MTIxNzMJMAkwCTAJMAkxCTMJMQotOAlqZGsxLjYuMC1iMjMJIlRodSBGZWIgMTAgMDU6NDQ6MzYgRVNUIDIwMDUiCTEzMTc5CTgxMjE4OAkwCTAJMAkwCTEJMwkxCi05CWpkazEuNi4wLWIyNgkiVGh1IE1hciAwMyAwNjowNDowMiBFU1QgMjAwNSIJMTMxOTkJODExNzcwCTAJMAkwCTAJMQkzCTEKLTEwCWpkazEuNi4wLWIyNwkiVGh1IE1hciAxMCAwNDo0ODozOCBFU1QgMjAwNSIJMTMxODkJODEyNDQwCTAJMAkwCTAJMQkzCTEKLTExCWpkazEuNi4wLWIyOAkiVGh1IE1hciAxNyAwMjo1NDoyMiBFU1QgMjAwNSIJMTMxODUJODEyMDU2CTAJMAkwCTAJMQkzCTEKLTEyCWpkazEuNi4wLWIyOQkiVGh1IE1hciAyNCAwMzowOToyMCBFU1QgMjAwNSIJMTMxMTcJODA5NDY4CTAJMAkwCTAJMQkzCTEKLTEzCWpkazEuNi4wLWIzMAkiVGh1IE1hciAzMSAwMjo1MzozMiBFU1QgMjAwNSIJMTMxMTgJODA5NTAxCTAJMAkwCTAJMQkzCTEKLTE0CWpkazEuNi4wLWIzMQkiVGh1IEFwciAwNyAwMzowMDoxNCBFRFQgMjAwNSIJMTMxMTcJODA5NTcyCTAJMAkwCTAJMQkzCTEKLTE1CWpkazEuNi4wLWIzMgkiVGh1IEFwciAxNCAwMjo1Njo1NiBFRFQgMjAwNSIJMTMxNjkJODExMDk2CTAJMAkwCTAJMQkzCTEKLTE2CWpkazEuNi4wLWIzMwkiVGh1IEFwciAyMSAwMjo0NjoyMiBFRFQgMjAwNSIJMTMxODcJODExOTQyCTAJMAkwCTAJMQkzCTEKLTE3CWpkazEuNi4wLWIzNAkiVGh1IEFwciAyOCAwMjo0OTowMCBFRFQgMjAwNSIJMTMxOTUJODEzNDg4CTAJMQkwCTAJMQkzCTIKLTE4CWpkazEuNi4wLWIzNQkiVGh1IE1heSAwNSAwMjo0OTowNCBFRFQgMjAwNSIJMTM0NTcJODI5ODM3CTAJMAkwCTAJMgkzCTIKLTE5CWpkazEuNi4wLWIzNgkiVGh1IE1heSAxMiAwMjo1OTo0NiBFRFQgMjAwNSIJMTM0NjIJODMxMjc4CTAJMAkwCTAJMgkzCTIKLTIwCWpkazEuNi4wLWIzNwkiVGh1IE1heSAxOSAwMjo1NTowOCBFRFQgMjAwNSIJMTM0NjQJODMxOTcxCTAJMAkwCTAJMgkzCTIKLTIxCWpkazEuNi4wLWIzOAkiVGh1IE1heSAyNiAwMzowODoxNiBFRFQgMjAwNSIJMTM1NjQJODM2NTY1CTAJMAkwCTAJMgkzCTIKLTIyCWpkazEuNi4wLWIzOQkiRnJpIEp1biAwMyAwMzoxMDo0OCBFRFQgMjAwNSIJMTM4NTYJODQ5OTkyCTAJMQkwCTAJMgkzCTMKLTIzCWpkazEuNi4wLWI0MAkiVGh1IEp1biAwOSAwMzozMDoyOCBFRFQgMjAwNSIJMTU5NzIJOTU5NjE5CTAJMgkwCTAJMwkzCTUKLTI0CWpkazEuNi4wLWI0MQkiVGh1IEp1biAxNiAwMzoxOToyMiBFRFQgMjAwNSIJMTU5NzIJOTU5NjE5CTAJMAkwCTAJNQkzCTUKLTI1CWpkazEuNi4wLWI0MgkiRnJpIEp1biAyNCAwMzozODo1NCBFRFQgMjAwNSIJMTU5NjYJOTU4NTgxCTAJMAkwCTAJNQkzCTUKLTI2CWpkazEuNi4wLWI0MwkiVGh1IEp1bCAxNCAwMzowOTozNCBFRFQgMjAwNSIJMTYwNDEJOTYwNTQ0CTAJMAkwCTAJNQkzCTUKLTI3CWpkazEuNi4wLWI0NAkiVGh1IEp1bCAyMSAwMzowNTo1NCBFRFQgMjAwNSIJMTYwNDEJOTYwNTQ3CTAJMAkwCTAJNQkzCTUKLTI4CWpkazEuNi4wLWI0NQkiVGh1IEp1bCAyOCAwMzoyNjoxMCBFRFQgMjAwNSIJMTYwMzcJOTYwNjA2CTAJMAkxCTAJNAkzCTQKLTI5CWpkazEuNi4wLWI0NgkiVGh1IEF1ZyAwNCAwMzowMjo0OCBFRFQgMjAwNSIJMTU5MzYJOTUxMzU1CTAJMAkwCTAJNAk0CTQKLTMwCWpkazEuNi4wLWI0NwkiVGh1IEF1ZyAxMSAwMzoxODo1NiBFRFQgMjAwNSIJMTU5NjQJOTUyMzg3CTAJMAkxCTAJMwk0CTMKLTMxCWpkazEuNi4wLWI0OAkiVGh1IEF1ZyAxOCAwODoxMDo0MCBFRFQgMjAwNSIJMTU5NzAJOTUzNDIxCTAJMAkwCTAJMwk1CTMKLTMyCWpkazEuNi4wLWI0OQkiVGh1IEF1ZyAyNSAwMzoyNDozOCBFRFQgMjAwNSIJMTYwNDgJOTU4OTQwCTAJMAkwCTAJMwk1CTMKLTMzCWpkazEuNi4wLWI1MAkiVGh1IFNlcCAwMSAwMTo1Mjo0MCBFRFQgMjAwNSIJMTYyODcJOTc0OTM3CTEJMAkwCTAJMwk1CTQKLTM0CWpkazEuNi4wLWI1MQkiVGh1IFNlcCAwOCAwMTo1NTozNiBFRFQgMjAwNSIJMTYzNjIJOTc5Mzc3CTAJMAkwCTAJNAk1CTQKLTM1CWpkazEuNi4wLWI1MgkiVGh1IFNlcCAxNSAwMjowNDowOCBFRFQgMjAwNSIJMTY0NzcJOTc5Mzk5CTAJMAkwCTAJNAk1CTQKLTM2CWpkazEuNi4wLWI1MwkiVGh1IFNlcCAyMiAwMjowMDoyOCBFRFQgMjAwNSIJMTYwMTkJOTU3OTAwCTAJMAkxCTAJMwk1CTMKLTM3CWpkazEuNi4wLWI1NAkiVGh1IFNlcCAyOSAwMTo1NDozNCBFRFQgMjAwNSIJMTYwMTkJOTU3OTAwCTAJMAkwCTAJMwk2CTMKLTM4CWpkazEuNi4wLWI1NQkiVGh1IE9jdCAwNiAwMTo1NDoxNCBFRFQgMjAwNSIJMTYwNTEJOTU5MDE0CTAJMAkwCTAJMwk2CTMKLTM5CWpkazEuNi4wLWI1NgkiVGh1IE9jdCAxMyAwMTo1NDoxMiBFRFQgMjAwNSIJMTYyMTEJOTcwODM1CTAJMAkwCTAJMwk2CTMKLTQwCWpkazEuNi4wLWI1NwkiVGh1IE9jdCAyMCAwMTo1NToyNiBFRFQgMjAwNSIJMTYyNzkJOTcxNjI3CTAJMAkwCTAJMwk2CTMKLTQxCWpkazEuNi4wLWI1OAkiVGh1IE9jdCAyNyAwMTo1NjozMCBFRFQgMjAwNSIJMTYyODMJOTcxOTQ1CTAJMAkwCTAJMwk2CTMKLTQyCWpkazEuNi4wLWI1OQkiVGh1IE5vdiAwMyAwMTo1Njo1OCBFU1QgMjAwNSIJMTYyMzIJOTcyMTkzCTAJMAkwCTAJMwk2CTMKLTQzCWpkazEuNi4wLWI2MAkiVGh1IE5vdiAxMCAwMTo1NDoxOCBFU1QgMjAwNSIJMTYyMzUJOTcyMzQ2CTAJMAkwCTAJMwk2CTMKLTwvc2NyZWVuPgotCi08cGFyYT4KLVdlIGNvdWxkIGFsc28gZ2VuZXJhdGUgdGhhdCBpbmZvcm1hdGlvbiBkaXJlY3RseSwgd2l0aG91dCBjcmVhdGluZyBhbiBpbnRlcm1lZGlhdGUgZGIueG1sIGZpbGUsIHVzaW5nIHRoZSBjb21tYW5kCi08L3BhcmE+Ci0KLTxzY3JlZW4+Ci1jb21wdXRlQnVnSGlzdG9yeSAgamRrMS42LjAtYiovanJlL2xpYi9ydC54bWwgfCBmaWx0ZXJCdWdzIC1idWdQYXR0ZXJuIElMXyBkYi54bWwgfCBtaW5lQnVnSGlzdG9yeSAtZm9ybWF0RGF0ZXMKLTwvc2NyZWVuPgotCi08cGFyYT5XZSBjYW4gdGhlbiB1c2UgdGhhdCBpbmZvcm1hdGlvbiB0byBkaXNwbGF5IGEgZ3JhcGggc2hvd2luZyB0aGUgbnVtYmVyIG9mIGluZmluaXRlIHJlY3Vyc2l2ZSBsb29wcwotZm91bmQgYnkgRmluZEJ1Z3MgaW4gZWFjaCBidWlsZCBvZiBTdW4ncyBKREsxLjYuMC4gVGhlIGJsdWUgYXJlYSBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBpbmZpbml0ZQotcmVjdXJzaXZlIGxvb3BzIGluIHRoYXQgYnVpbGQsIHRoZSByZWQgYXJlYSBhYm92ZSBpdCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBpbmZpbml0ZSByZWN1cnNpdmUgbG9vcHMgdGhhdCBleGlzdGVkCi1pbiBzb21lIHByZXZpb3VzIHZlcnNpb24gYnV0IG5vdCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uICh0aHVzLCB0aGUgY29tYmluZWQgaGVpZ2h0IG9mIHRoZSByZWQgYW5kIGJsdWUgYXJlYXMKLWlzIGd1YXJhbnRlZWQgdG8gbmV2ZXIgZGVjcmVhc2UsIGFuZCBnb2VzIHVwIHdoZW5ldmVyIGEgbmV3IGluZmluaXRlIHJlY3Vyc2l2ZSBsb29wIGJ1ZyBpcyBpbnRyb2R1Y2VkKS4gVGhlIGhlaWdodAotb2YgdGhlIHJlZCBhcmVhIGlzIGNvbXB1dGVkIGFzIHRoZSBzdW0gb2YgdGhlIGZpeGVkLCByZW1vdmVkIGFuZCBkZWFkIHZhbHVlcyBmb3IgZWFjaCB2ZXJzaW9uLgotVGhlIHJlZHVjdGlvbnMgaW4gYnVpbGRzIDEzIGFuZCAxNCBjYW1lIGFmdGVyIFN1biB3YXMgbm90aWZpZWQgYWJvdXQgdGhlIGJ1Z3MgZm91bmQgYnkgRmluZEJ1Z3MgaW4gdGhlIEpESy4KLSAgICA8L3BhcmE+Ci08bWVkaWFvYmplY3Q+Ci08aW1hZ2VvYmplY3Q+Ci08aW1hZ2VkYXRhIGZpbGVyZWY9ImluZmluaXRlUmVjdXJzaXZlTG9vcHMucG5nIiAgLz4KLTwvaW1hZ2VvYmplY3Q+Ci08L21lZGlhb2JqZWN0PgotCi08cGFyYT4KLUdpdmVuIHRoZSBkYi54bWwgZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSByZXN1bHRzIGZvciBhbGwgdGhlIGpkazEuNi4wIGJ1aWxkcywgdGhlIGZvbGxvd2luZyBjb21tYW5kIHdpbGwgc2hvdyB0aGUgaGlzdG9yeSBvZiBoaWdoIGFuZCBtZWRpdW0gcHJpb3JpdHkgY29ycmVjdG5lc3Mgd2FybmluZ3M6Ci08L3BhcmE+Ci0KLTxzY3JlZW4+Ci1maWx0ZXJCdWdzIC1wcmlvcml0eSBNIC1jYXRlZ29yeSBDIGRiLnhtbCB8IG1pbmVCdWdIaXN0b3J5IC1mb3JtYXREYXRlcwotPC9zY3JlZW4+Ci0KLTxwYXJhPgotZ2VuZXJhdGluZyB0aGUgdGFibGU6Ci08L3BhcmE+Ci0KLTxzY3JlZW4+Ci1zZXEJdmVyc2lvbgl0aW1lCWNsYXNzZXMJTkNTUwlhZGRlZAluZXdDb2RlCWZpeGVkCXJlbW92ZWQJcmV0YWluZWQJZGVhZAlhY3RpdmUKLTAJamRrMS42LjAtYjEyCSJUaHUgTm92IDExIDA5OjA3OjIwIEVTVCAyMDA0IgkxMzEyOAk4MTE1NjkJMAkxMDc1CTAJMAkwCTAJMTA3NQotMQlqZGsxLjYuMC1iMTMJIlRodSBOb3YgMTggMDY6MDI6MDYgRVNUIDIwMDQiCTEzMTI4CTgxMTU3MAkwCTAJMAkwCTEwNzUJMAkxMDc1Ci0yCWpkazEuNi4wLWIxNAkiVGh1IERlYyAwMiAwNjoxMjoyNiBFU1QgMjAwNCIJMTMxNDUJODExNzg2CTMJMAk2CTAJMTA2OQkwCTEwNzIKLTMJamRrMS42LjAtYjE1CSJUaHUgRGVjIDA5IDA2OjA3OjA0IEVTVCAyMDA0IgkxMzE3NAk4MTE2OTMJMgkxCTMJMAkxMDY5CTYJMTA3MgotNAlqZGsxLjYuMC1iMTYJIlRodSBEZWMgMTYgMDY6MjE6MjggRVNUIDIwMDQiCTEzMTc1CTgxMTcxNQkwCTAJMQkwCTEwNzEJOQkxMDcxCi01CWpkazEuNi4wLWIxNwkiVGh1IERlYyAyMyAwNjoyNzoyMiBFU1QgMjAwNCIJMTMxNzYJODExOTc0CTAJMAkxCTAJMTA3MAkxMAkxMDcwCi02CWpkazEuNi4wLWIxOQkiVGh1IEphbiAxMyAwNjo0MToxNiBFU1QgMjAwNSIJMTMxNzYJODEyMDExCTAJMAkwCTAJMTA3MAkxMQkxMDcwCi03CWpkazEuNi4wLWIyMQkiVGh1IEphbiAyNyAwNTo1Nzo1MiBFU1QgMjAwNSIJMTMxNzcJODEyMTczCTAJMAkxCTAJMTA2OQkxMQkxMDY5Ci04CWpkazEuNi4wLWIyMwkiVGh1IEZlYiAxMCAwNTo0NDozNiBFU1QgMjAwNSIJMTMxNzkJODEyMTg4CTAJMAkwCTAJMTA2OQkxMgkxMDY5Ci05CWpkazEuNi4wLWIyNgkiVGh1IE1hciAwMyAwNjowNDowMiBFU1QgMjAwNSIJMTMxOTkJODExNzcwCTAJMAkyCTEJMTA2NgkxMgkxMDY2Ci0xMAlqZGsxLjYuMC1iMjcJIlRodSBNYXIgMTAgMDQ6NDg6MzggRVNUIDIwMDUiCTEzMTg5CTgxMjQ0MAkxCTAJMQkxCTEwNjQJMTUJMTA2NQotMTEJamRrMS42LjAtYjI4CSJUaHUgTWFyIDE3IDAyOjU0OjIyIEVTVCAyMDA1IgkxMzE4NQk4MTIwNTYJMAkwCTAJMAkxMDY1CTE3CTEwNjUKLTEyCWpkazEuNi4wLWIyOQkiVGh1IE1hciAyNCAwMzowOToyMCBFU1QgMjAwNSIJMTMxMTcJODA5NDY4CTMJMAk4CTI2CTEwMzEJMTcJMTAzNAotMTMJamRrMS42LjAtYjMwCSJUaHUgTWFyIDMxIDAyOjUzOjMyIEVTVCAyMDA1IgkxMzExOAk4MDk1MDEJMAkwCTAJMAkxMDM0CTUxCTEwMzQKLTE0CWpkazEuNi4wLWIzMQkiVGh1IEFwciAwNyAwMzowMDoxNCBFRFQgMjAwNSIJMTMxMTcJODA5NTcyCTAJMAkwCTAJMTAzNAk1MQkxMDM0Ci0xNQlqZGsxLjYuMC1iMzIJIlRodSBBcHIgMTQgMDI6NTY6NTYgRURUIDIwMDUiCTEzMTY5CTgxMTA5NgkxCTEJMAkxCTEwMzMJNTEJMTAzNQotMTYJamRrMS42LjAtYjMzCSJUaHUgQXByIDIxIDAyOjQ2OjIyIEVEVCAyMDA1IgkxMzE4Nwk4MTE5NDIJMwkwCTIJMQkxMDMyCTUyCTEwMzUKLTE3CWpkazEuNi4wLWIzNAkiVGh1IEFwciAyOCAwMjo0OTowMCBFRFQgMjAwNSIJMTMxOTUJODEzNDg4CTAJMQkwCTAJMTAzNQk1NQkxMDM2Ci0xOAlqZGsxLjYuMC1iMzUJIlRodSBNYXkgMDUgMDI6NDk6MDQgRURUIDIwMDUiCTEzNDU3CTgyOTgzNwkwCTM2CTIJMAkxMDM0CTU1CTEwNzAKLTE5CWpkazEuNi4wLWIzNgkiVGh1IE1heSAxMiAwMjo1OTo0NiBFRFQgMjAwNSIJMTM0NjIJODMxMjc4CTAJMAkwCTAJMTA3MAk1NwkxMDcwCi0yMAlqZGsxLjYuMC1iMzcJIlRodSBNYXkgMTkgMDI6NTU6MDggRURUIDIwMDUiCTEzNDY0CTgzMTk3MQkwCTEJMQkwCTEwNjkJNTcJMTA3MAotMjEJamRrMS42LjAtYjM4CSJUaHUgTWF5IDI2IDAzOjA4OjE2IEVEVCAyMDA1IgkxMzU2NAk4MzY1NjUJMQk3CTIJNgkxMDYyCTU4CTEwNzAKLTIyCWpkazEuNi4wLWIzOQkiRnJpIEp1biAwMyAwMzoxMDo0OCBFRFQgMjAwNSIJMTM4NTYJODQ5OTkyCTYJMzkJNQkwCTEwNjUJNjYJMTExMAotMjMJamRrMS42LjAtYjQwCSJUaHUgSnVuIDA5IDAzOjMwOjI4IEVEVCAyMDA1IgkxNTk3Mgk5NTk2MTkJNwkxNDcJMTEJMAkxMDk5CTcxCTEyNTMKLTI0CWpkazEuNi4wLWI0MQkiVGh1IEp1biAxNiAwMzoxOToyMiBFRFQgMjAwNSIJMTU5NzIJOTU5NjE5CTAJMAkwCTAJMTI1Mwk4MgkxMjUzCi0yNQlqZGsxLjYuMC1iNDIJIkZyaSBKdW4gMjQgMDM6Mzg6NTQgRURUIDIwMDUiCTE1OTY2CTk1ODU4MQkzCTAJMQkyCTEyNTAJODIJMTI1MwotMjYJamRrMS42LjAtYjQzCSJUaHUgSnVsIDE0IDAzOjA5OjM0IEVEVCAyMDA1IgkxNjA0MQk5NjA1NDQJNQkxMQkxNQk4CTEyMzAJODUJMTI0NgotMjcJamRrMS42LjAtYjQ0CSJUaHUgSnVsIDIxIDAzOjA1OjU0IEVEVCAyMDA1IgkxNjA0MQk5NjA1NDcJMAkwCTAJMAkxMjQ2CTEwOAkxMjQ2Ci0yOAlqZGsxLjYuMC1iNDUJIlRodSBKdWwgMjggMDM6MjY6MTAgRURUIDIwMDUiCTE2MDM3CTk2MDYwNgkxOQkwCTIJMAkxMjQ0CTEwOAkxMjYzCi0yOQlqZGsxLjYuMC1iNDYJIlRodSBBdWcgMDQgMDM6MDI6NDggRURUIDIwMDUiCTE1OTM2CTk1MTM1NQkxMwkxCTEJMzIJMTIzMAkxMTAJMTI0NAotMzAJamRrMS42LjAtYjQ3CSJUaHUgQXVnIDExIDAzOjE4OjU2IEVEVCAyMDA1IgkxNTk2NAk5NTIzODcJMTYzCTgJNwkyMAkxMjE3CTE0MwkxMzg4Ci0zMQlqZGsxLjYuMC1iNDgJIlRodSBBdWcgMTggMDg6MTA6NDAgRURUIDIwMDUiCTE1OTcwCTk1MzQyMQkwCTAJMAkwCTEzODgJMTcwCTEzODgKLTMyCWpkazEuNi4wLWI0OQkiVGh1IEF1ZyAyNSAwMzoyNDozOCBFRFQgMjAwNSIJMTYwNDgJOTU4OTQwCTEJMTEJMQkwCTEzODcJMTcwCTEzOTkKLTMzCWpkazEuNi4wLWI1MAkiVGh1IFNlcCAwMSAwMTo1Mjo0MCBFRFQgMjAwNSIJMTYyODcJOTc0OTM3CTE5CTI3CTE2CTcJMTM3NgkxNzEJMTQyMgotMzQJamRrMS42LjAtYjUxCSJUaHUgU2VwIDA4IDAxOjU1OjM2IEVEVCAyMDA1IgkxNjM2Mgk5NzkzNzcJMQkxNQkzCTAJMTQxOQkxOTQJMTQzNQotMzUJamRrMS42LjAtYjUyCSJUaHUgU2VwIDE1IDAyOjA0OjA4IEVEVCAyMDA1IgkxNjQ3Nwk5NzkzOTkJMAkwCTEJMQkxNDMzCTE5NwkxNDMzCi0zNglqZGsxLjYuMC1iNTMJIlRodSBTZXAgMjIgMDI6MDA6MjggRURUIDIwMDUiCTE2MDE5CTk1NzkwMAkxMwkxMgkxNgkyMAkxMzk3CTE5OQkxNDIyCi0zNwlqZGsxLjYuMC1iNTQJIlRodSBTZXAgMjkgMDE6NTQ6MzQgRURUIDIwMDUiCTE2MDE5CTk1NzkwMAkwCTAJMAkwCTE0MjIJMjM1CTE0MjIKLTM4CWpkazEuNi4wLWI1NQkiVGh1IE9jdCAwNiAwMTo1NDoxNCBFRFQgMjAwNSIJMTYwNTEJOTU5MDE0CTEJNAk3CTAJMTQxNQkyMzUJMTQyMAotMzkJamRrMS42LjAtYjU2CSJUaHUgT2N0IDEzIDAxOjU0OjEyIEVEVCAyMDA1IgkxNjIxMQk5NzA4MzUJNgk4CTM3CTAJMTM4MwkyNDIJMTM5NwotNDAJamRrMS42LjAtYjU3CSJUaHUgT2N0IDIwIDAxOjU1OjI2IEVEVCAyMDA1IgkxNjI3OQk5NzE2MjcJMAkwCTAJMAkxMzk3CTI3OQkxMzk3Ci00MQlqZGsxLjYuMC1iNTgJIlRodSBPY3QgMjcgMDE6NTY6MzAgRURUIDIwMDUiCTE2MjgzCTk3MTk0NQkwCTEJMQkwCTEzOTYJMjc5CTEzOTcKLTQyCWpkazEuNi4wLWI1OQkiVGh1IE5vdiAwMyAwMTo1Njo1OCBFU1QgMjAwNSIJMTYyMzIJOTcyMTkzCTYJMAk1CTAJMTM5MgkyODAJMTM5OAotNDMJamRrMS42LjAtYjYwCSJUaHUgTm92IDEwIDAxOjU0OjE4IEVTVCAyMDA1IgkxNjIzNQk5NzIzNDYJMAkwCTAJMAkxMzk4CTI4NQkxMzk4Ci00NAlqZGsxLjYuMC1iNjEJIlRodSBOb3YgMTcgMDE6NTg6NDIgRVNUIDIwMDUiCTE2MjAyCTk3MTEzNAkyCTAJNAkwCTEzOTQJMjg1CTEzOTYKLTwvc2NyZWVuPgotPC9zZWN0Mj4KLQotPHNlY3QyIGlkPSJpbmNyZW1lbnRhbGhpc3RvcnkiPgotICAgIDx0aXRsZT5JbmNyZW1lbnRhbCBoaXN0b3J5IG1haW50ZW5hbmNlPC90aXRsZT4KLQotPHBhcmE+Ci1JZiBkYi54bWwgY29udGFpbnMgdGhlIHJlc3VsdHMgb2YgcnVubmluZyBmaW5kYnVncyBvdmVyIGJ1aWxkcyBiMTIgLSBiNjAsIHdlIGNhbiB1cGRhdGUgZGIueG1sIHRvIGluY2x1ZGUgdGhlIHJlc3VsdHMgb2YgYW5hbHl6aW5nIGI2MSB3aXRoIHRoZSBjb21tYW5kczoKLTwvcGFyYT4KLTxzY3JlZW4+Ci1jb21wdXRlQnVnSGlzdG9yeSAtb3V0cHV0IGRiLnhtbCBkYi54bWwgamRrMS42LjAtYjYxL2pyZS9saWIvcnQueG1sCi08L3NjcmVlbj4KLTwvc2VjdDI+Ci0KLSAgICAgICAgICAgIDwvc2VjdDE+Ci0KLSAgICAgICAgIDxzZWN0MSBpZD0iYW50ZXhhbXBsZSI+Ci0gICAgICAgICAgICA8dGl0bGU+QW50IGV4YW1wbGU8L3RpdGxlPgotPHBhcmE+Ci1IZXJlIGlzIGEgY29tcGxldGUgYW50IHNjcmlwdCBleGFtcGxlIGZvciBib3RoIHJ1bm5pbmcgZmluZGJ1Z3MgYW5kIHJ1bm5pbmcgYSBjaGFpbiBvZiBkYXRhLW1pbmluZyB0b29scyBhZnRlcndhcmQ6Ci08L3BhcmE+Ci08c2NyZWVuPgotPCFbQ0RBVEFbCi08cHJvamVjdCBuYW1lPSJhbmFseXplX2FzbV91dGlsIiBkZWZhdWx0PSJmaW5kYnVncyI+Ci0gICA8IS0tIGZpbmRidWdzIHRhc2sgZGVmaW5pdGlvbiAtLT4KLSAgIDxwcm9wZXJ0eSBuYW1lPSJmaW5kYnVncy5ob21lIiB2YWx1ZT0iL1VzZXJzL2Jlbi9Eb2N1bWVudHMvd29ya3NwYWNlL2ZpbmRidWdzL2ZpbmRidWdzIiAvPgotICAgPHByb3BlcnR5IG5hbWU9Imp2bWFyZ3MiIHZhbHVlPSItc2VydmVyIC1Yc3MxbSAtWG14ODAwbSAtRHVzZXIubGFuZ3VhZ2U9ZW4gLUR1c2VyLnJlZ2lvbj1FTiAtRGZpbmRidWdzLmhvbWU9JHtmaW5kYnVncy5ob21lfSIgLz4KLQotICAgIDxwYXRoIGlkPSJmaW5kYnVncy5saWIiPgotICAgICAgPGZpbGVzZXQgZGlyPSIke2ZpbmRidWdzLmhvbWV9L2xpYiI+Ci0gICAgICAgICA8aW5jbHVkZSBuYW1lPSJmaW5kYnVncy1hbnQuamFyIi8+Ci0gICAgICA8L2ZpbGVzZXQ+Ci0gICA8L3BhdGg+Ci0KLSAgIDx0YXNrZGVmIG5hbWU9ImZpbmRidWdzIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5GaW5kQnVnc1Rhc2siPgotICAgICAgPGNsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvPgotICAgPC90YXNrZGVmPgotCi0gICA8dGFza2RlZiBuYW1lPSJjb21wdXRlQnVnSGlzdG9yeSIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suQ29tcHV0ZUJ1Z0hpc3RvcnlUYXNrIj4KLSAgICAgIDxjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLz4KLSAgIDwvdGFza2RlZj4KLQotICAgPHRhc2tkZWYgbmFtZT0ic2V0QnVnRGF0YWJhc2VJbmZvIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5TZXRCdWdEYXRhYmFzZUluZm9UYXNrIj4KLSAgICAgIDxjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLz4KLSAgIDwvdGFza2RlZj4KLQotICAgPHRhc2tkZWYgbmFtZT0ibWluZUJ1Z0hpc3RvcnkiIGNsYXNzbmFtZT0iZWR1LnVtZC5jcy5maW5kYnVncy5hbnR0YXNrLk1pbmVCdWdIaXN0b3J5VGFzayI+Ci0gICAgICA8Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8+Ci0gICA8L3Rhc2tkZWY+Ci0KLSAgIDwhLS0gZmluZGJ1Z3MgdGFzayBkZWZpbml0aW9uIC0tPgotICAgPHRhcmdldCBuYW1lPSJmaW5kYnVncyI+Ci0gICAgICA8YW50Y2FsbCB0YXJnZXQ9ImFuYWx5emUiIC8+Ci0gICAgICA8YW50Y2FsbCB0YXJnZXQ9Im1pbmUiIC8+Ci0gICA8L3RhcmdldD4KLQotICAgPCEtLSBhbmFseXplIHRhc2sgLS0+Ci0gICA8dGFyZ2V0IG5hbWU9ImFuYWx5emUiPgotICAgICAgPCEtLSBydW4gZmluZGJ1Z3MgYWdhaW5zdCBhc20tdXRpbCAtLT4KLSAgICAgIDxmaW5kYnVncyBob21lPSIke2ZpbmRidWdzLmhvbWV9IgotICAgICAgICAgICAgICAgIG91dHB1dD0ieG1sOndpdGhNZXNzYWdlcyIKLSAgICAgICAgICAgICAgICB0aW1lb3V0PSI5MDAwMDAwMCIKLSAgICAgICAgICAgICAgICByZXBvcnRMZXZlbD0iZXhwZXJpbWVudGFsIgotICAgICAgICAgICAgICAgIHdvcmtIYXJkPSJ0cnVlIgotICAgICAgICAgICAgICAgIGVmZm9ydD0ibWF4IgotICAgICAgICAgICAgICAgIGFkanVzdEV4cGVyaW1lbnRhbD0idHJ1ZSIKLSAgICAgICAgICAgICAgICBqdm1hcmdzPSIke2p2bWFyZ3N9IgotICAgICAgICAgICAgICAgIGZhaWxPbkVycm9yPSJ0cnVlIgotICAgICAgICAgICAgICAgIG91dHB1dEZpbGU9Im91dC54bWwiCi0gICAgICAgICAgICAgICAgcHJvamVjdE5hbWU9IkZpbmRidWdzIgotICAgICAgICAgICAgICAgIGRlYnVnPSJmYWxzZSI+Ci0gICAgICAgICA8Y2xhc3MgbG9jYXRpb249ImFzbS11dGlsLTMuMC5qYXIiIC8+Ci0gICAgICA8L2ZpbmRidWdzPgotICAgPC90YXJnZXQ+Ci0KLSAgIDx0YXJnZXQgbmFtZT0ibWluZSI+Ci0KLSAgICAgIDwhLS0gU2V0IGluZm8gdG8gdGhlIGxhdGVzdCBhbmFseXNpcyAtLT4KLSAgICAgIDxzZXRCdWdEYXRhYmFzZUluZm8gaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoTWVzc2FnZXM9InRydWUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iYXNtLXV0aWwtMy4wLmphciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dD0ib3V0LnhtbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQ9Im91dC1yZWwueG1sIi8+Ci0KLSAgICAgIDwhLS0gQ2hlY2tpbmcgaWYgaGlzdG9yeSBmaWxlIGFscmVhZHkgZXhpc3RzIChvdXQtaGlzdC54bWwpIC0tPgotICAgICAgPGNvbmRpdGlvbiBwcm9wZXJ0eT0ibWluaW5nLmhpc3RvcnlmaWxlLmF2YWlsYWJsZSI+Ci0gICAgICAgICA8YXZhaWxhYmxlIGZpbGU9Im91dC1oaXN0LnhtbCIvPgotICAgICAgPC9jb25kaXRpb24+Ci0gICAgICA8Y29uZGl0aW9uIHByb3BlcnR5PSJtaW5pbmcuaGlzdG9yeWZpbGUubm90YXZhaWxhYmxlIj4KLSAgICAgICAgIDxub3Q+Ci0gICAgICAgICAgICA8YXZhaWxhYmxlIGZpbGU9Im91dC1oaXN0LnhtbCIvPgotICAgICAgICAgPC9ub3Q+Ci0gICAgICA8L2NvbmRpdGlvbj4KLQotICAgICAgPCEtLSB0aGlzIHRhcmdldCBpcyBleGVjdXRlZCBpZiB0aGUgaGlzdG9yeSBmaWxlIGRvIG5vdCBleGlzdCAoZmlyc3QgcnVuKSAtLT4KLSAgICAgIDxhbnRjYWxsIHRhcmdldD0iaGlzdG9yeS1pbml0Ij4KLSAgICAgICAgPHBhcmFtIG5hbWU9ImRhdGEuZmlsZSIgdmFsdWU9Im91dC1yZWwueG1sIiAvPgotICAgICAgICA8cGFyYW0gbmFtZT0iaGlzdC5maWxlIiB2YWx1ZT0ib3V0LWhpc3QueG1sIiAvPgotICAgICAgPC9hbnRjYWxsPgotICAgICAgPCEtLSBlbHNlIHRoaXMgb25lIGlzIGV4ZWN1dGVkIC0tPgotICAgICAgPGFudGNhbGwgdGFyZ2V0PSJoaXN0b3J5Ij4KLSAgICAgICAgPHBhcmFtIG5hbWU9ImRhdGEuZmlsZSIgICAgICAgICB2YWx1ZT0ib3V0LXJlbC54bWwiIC8+Ci0gICAgICAgIDxwYXJhbSBuYW1lPSJoaXN0LmZpbGUiICAgICAgICAgdmFsdWU9Im91dC1oaXN0LnhtbCIgLz4KLSAgICAgICAgPHBhcmFtIG5hbWU9Imhpc3Quc3VtbWFyeS5maWxlIiB2YWx1ZT0ib3V0LWhpc3QudHh0IiAvPgotICAgICAgPC9hbnRjYWxsPgotICAgPC90YXJnZXQ+Ci0KLSAgIDwhLS0gSW5pdGlhbGl6aW5nIGhpc3RvcnkgZmlsZSAtLT4KLSAgIDx0YXJnZXQgbmFtZT0iaGlzdG9yeS1pbml0IiBpZj0ibWluaW5nLmhpc3RvcnlmaWxlLm5vdGF2YWlsYWJsZSI+Ci0gICAgICA8Y29weSBmaWxlPSIke2RhdGEuZmlsZX0iIHRvZmlsZT0iJHtoaXN0LmZpbGV9IiAvPgotICAgPC90YXJnZXQ+Ci0KLSAgIDwhLS0gQ29tcHV0aW5nIGJ1ZyBoaXN0b3J5IC0tPgotICAgPHRhcmdldCBuYW1lPSJoaXN0b3J5IiBpZj0ibWluaW5nLmhpc3RvcnlmaWxlLmF2YWlsYWJsZSI+Ci0gICAgICA8IS0tIE1lcmdpbmcgJHtkYXRhLmZpbGV9IGludG8gJHtoaXN0LmZpbGV9IC0tPgotICAgICAgPGNvbXB1dGVCdWdIaXN0b3J5IGhvbWU9IiR7ZmluZGJ1Z3MuaG9tZX0iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoTWVzc2FnZXM9InRydWUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQ9IiR7aGlzdC5maWxlfSI+Ci0gICAgICAgICAgICA8ZGF0YUZpbGUgbmFtZT0iJHtoaXN0LmZpbGV9Ii8+Ci0gICAgICAgICAgICA8ZGF0YUZpbGUgbmFtZT0iJHtkYXRhLmZpbGV9Ii8+Ci0gICAgICA8L2NvbXB1dGVCdWdIaXN0b3J5PgotCi0gICAgICA8IS0tIENvbXB1dGUgaGlzdG9yeSBpbnRvICR7aGlzdC5zdW1tYXJ5LmZpbGV9IC0tPgotICAgICAgPG1pbmVCdWdIaXN0b3J5IGhvbWU9IiR7ZmluZGJ1Z3MuaG9tZX0iCi0gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXREYXRlcz0idHJ1ZSIKLSAgICAgICAgICAgICAgICAgICAgICBub1RhYnM9InRydWUiCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dD0iJHtoaXN0LmZpbGV9IgotICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0PSIke2hpc3Quc3VtbWFyeS5maWxlfSIvPgotICAgPC90YXJnZXQ+Ci0KLTwvcHJvamVjdD4KLV1dPgotPC9zY3JlZW4+Ci0gICAgICAgICA8L3NlY3QxPgotPC9jaGFwdGVyPgotCi0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBMaWNlbnNlCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJsaWNlbnNlIj4KLTx0aXRsZT5MaWNlbnNlPC90aXRsZT4KLQotPHBhcmE+Ci1UaGUgbmFtZSBGaW5kQnVncyBhbmQgdGhlIEZpbmRCdWdzIGxvZ28gaXMgdHJhZGVtYXJrZWQgYnkgdGhlIFVuaXZlcnNpdHkKLW9mIE1hcnlsYW5kLgotRmluZEJ1Z3MgaXMgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCi08dWxpbmsgdXJsPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGdwbC5odG1sIj5MZXNzZXIgR05VIFB1YmxpYyBMaWNlbnNlPC91bGluaz4uCi1Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGluIHRoZSBmaWxlIDxmaWxlbmFtZT5MSUNFTlNFLnR4dDwvZmlsZW5hbWU+Ci1pbiB0aGUgJkZpbmRCdWdzOyBkaXN0cmlidXRpb24uCi08L3BhcmE+Ci0KLTxwYXJhPgotWW91IGNhbiBmaW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBGaW5kQnVncywgYWxvbmcgd2l0aCBpdHMgc291cmNlIGNvZGUsIGZyb20gdGhlCi08dWxpbmsgdXJsPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0Ij5GaW5kQnVncyB3ZWIgcGFnZTwvdWxpbms+LgotPC9wYXJhPgotCi08L2NoYXB0ZXI+Ci0KLQotPCEtLQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgIEFja25vd2xlZGdtZW50cwotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS0tPgotPGNoYXB0ZXIgaWQ9ImFja25vd2xlZGdtZW50cyI+Ci08dGl0bGU+QWNrbm93bGVkZ21lbnRzPC90aXRsZT4KLQotPHNlY3QxPgotPHRpdGxlPkNvbnRyaWJ1dG9yczwvdGl0bGU+Ci0KLTxwYXJhPiZGaW5kQnVnczsgd2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBieSBCaWxsIFB1Z2ggKDxlbWFpbD5wdWdoQGNzLnVtZC5lZHU8L2VtYWlsPikuCi1EYXZpZCBIb3ZlbWV5ZXIgKDxlbWFpbD5kYXZlaG9AY3MudW1kLmVkdTwvZW1haWw+KSBpbXBsZW1lbnRlZCBzb21lIG9mIHRoZQotZGV0ZWN0b3JzLCBhZGRlZCB0aGUgU3dpbmcgR1VJLCBhbmQgaXMgYSBjby1tYWludGFpbmVyLjwvcGFyYT4KLQotPHBhcmE+TWlrZSBGYWdhbiAoPGVtYWlsPm1mYWdhbkB0ZGUuY29tPC9lbWFpbD4pIGNvbnRyaWJ1dGVkIHRoZSAmQW50OyBidWlsZCBzY3JpcHQsCi10aGUgJkFudDsgdGFzaywgYW5kIHNldmVyYWwgZW5oYW5jZW1lbnRzIGFuZCBidWcgZml4ZXMgdG8gdGhlIEdVSS48L3BhcmE+Ci0KLTxwYXJhPkdlcm1hbm8gTGVpY2hzZW5yaW5nIGNvbnRyaWJ1dGVkIEphcGFuZXNlIHRyYW5zbGF0aW9ucyBvZiB0aGUgYnVnCi1zdW1tYXJpZXMuPC9wYXJhPgotCi08cGFyYT5EYXZpZCBMaSBjb250cmlidXRlZCB0aGUgRW1hY3MgYnVnIHJlcG9ydCBmb3JtYXQuPC9wYXJhPgotCi08cGFyYT5QZXRlciBELiBTdG91dCBjb250cmlidXRlZCByZWN1cnNpdmUgZGV0ZWN0aW9uIG9mIENsYXNzLVBhdGgKLWF0dHJpYnV0ZXMgaW4gYW5hbHl6ZWQgSmFyIGZpbGVzLCBHZXJtYW4gdHJhbnNsYXRpb25zIG9mCi10ZXh0IHVzZWQgaW4gdGhlIFN3aW5nIEdVSSwgYW5kIG90aGVyIGZpeGVzLjwvcGFyYT4KLQotPHBhcmE+UGV0ZXIgRnJpZXNlIHdyb3RlIHRoZSAmRmluZEJ1Z3M7IEVjbGlwc2UgcGx1Z2luLjwvcGFyYT4KLQotPHBhcmE+Um9oYW4gTGxveWQgY29udHJpYnV0ZWQgc2V2ZXJhbCBNYWMgT1MgWCBlbmhhbmNlbWVudHMsCi1idWcgZGV0ZWN0b3IgaW1wcm92ZW1lbnRzLAotYW5kIG1haW50YWlucyB0aGUgRmluayBwYWNrYWdlIGZvciAmRmluZEJ1Z3M7LjwvcGFyYT4KLQotPHBhcmE+SGlyb3NoaSBPa3VnYXdhIHRyYW5zbGF0ZWQgdGhlICZGaW5kQnVnczsgbWFudWFsIGFuZAotbW9yZSBvZiB0aGUgYnVnIHN1bW1hcmllcyBpbnRvIEphcGFuZXNlLjwvcGFyYT4KLQotPHBhcmE+UGhpbCBDcm9zYnkgZW5oYW5jZWQgdGhlIEVjbGlwc2UgcGx1Z2luIHRvIGFkZCBhIHZpZXcKLXRvIGRpc3BsYXkgdGhlIGJ1ZyBkZXRhaWxzLjwvcGFyYT4KLQotPHBhcmE+RGF2ZSBCcm9zaXVzIGZpeGVkIGEgbnVtYmVyIG9mIGJ1Z3MsIGFkZGVkIHVzZXIgcHJlZmVyZW5jZXMKLXRvIHRoZSBTd2luZyBHVUksIGltcHJvdmVkIHNldmVyYWwgYnVnIGRldGVjdG9ycywgYW5kCi1jb250cmlidXRlZCB0aGUgc3RyaW5nIGNvbmNhdGVuYXRpb24gZGV0ZWN0b3IuPC9wYXJhPgotCi08cGFyYT5UaG9tYXMgS2xhZWdlciBjb250cmlidXRlZCBhIG51bWJlciBvZiBidWcgZml4ZXMgYW5kCi1idWcgZGV0ZWN0b3IgaW1wcm92ZW1lbnRzLjwvcGFyYT4KLQotPHBhcmE+QW5kcmVpIExvc2t1dG92IG1hZGUgYSBudW1iZXIgb2YgaW1wcm92ZW1lbnRzIHRvIHRoZQotRWNsaXBzZSBwbHVnaW4uPC9wYXJhPgotCi08cGFyYT5CcmlhbiBHb2V0eiBjb250cmlidXRlZCBhIG1ham9yIHJlZmFjdG9yaW5nIG9mIHRoZQotdmlzaXRvciBjbGFzc2VzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIHVuZGVyc3RhbmRhYmlsaXR5LjwvcGFyYT4KLQotPHBhcmE+IFBldGUgQW5nc3RhZHQgZml4ZWQgc2V2ZXJhbCBwcm9ibGVtcyBpbiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+RnJhbmNpcyBMYWxvbmRlIHByb3ZpZGVkIGEgdGFzayByZXNvdXJjZSBmaWxlIGZvciB0aGUKLUZpbmRCdWdzIEFudCB0YXNrLjwvcGFyYT4KLQotPHBhcmE+R2FydmluIExlQ2xhaXJlIGNvbnRyaWJ1dGVkIHN1cHBvcnQgZm9yIG91dHB1dCBpbgotWGRvY3MgZm9ybWF0LCBmb3IgdXNlIGJ5IE1hdmVuLjwvcGFyYT4KLQotPHBhcmE+SG9sZ2VyIFN0ZW56aG9ybiBjb250cmlidXRlZCBpbXByb3ZlZCBHZXJtYW4gdHJhbnNsYXRpb25zIG9mIGl0ZW1zCi1pbiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+SnVoYSBLbnV1dGlsYSBjb250cmlidXRlZCBGaW5uaXNoIHRyYW5zbGF0aW9ucyBvZiBpdGVtcwotaW4gdGhlIFN3aW5nIEdVSS48L3BhcmE+Ci0KLTxwYXJhPlRhbmVsIExlYmVkZXYgY29udHJpYnV0ZWQgRXN0b25pYW4gdHJhbnNsYXRpb25zIG9mIGl0ZW1zCi1pbiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+SGFuYWkgU2hpc2VpIChydWltbykgY29udHJpYnV0ZWQgZnVsbCBKYXBhbmVzZSB0cmFuc2xhdGlvbnMgb2YKLWJ1ZyBtZXNzYWdlcywgYW5kIHRleHQgdXNlZCBpbiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+RGF2aWQgQ290dG9uIGNvbnRyaWJ1dGVkIEZyZXNoIHRyYW5zbGF0aW9ucyBmb3IgYnVnCi1tZXNzYWdlcyBhbmQgZm9yIHRoZSBTd2luZyBHVUkuPC9wYXJhPgotCi08cGFyYT5NaWNoYWVsIFRhbW0gY29udHJpYnV0ZWQgc3VwcG9ydCBmb3IgdGhlICJlcnJvclByb3BlcnR5IiBhdHRyaWJ1dGUKLWluIHRoZSBBbnQgdGFzay48L3BhcmE+Ci0KLTxwYXJhPlRob21hcyBLdWVobmUgaW1wcm92ZWQgdGhlIEdlcm1hbiB0cmFuc2xhdGlvbiBvZiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+TGVuIFRyaWdnIGltcHJvdmVkIHNvdXJjZSBmaWxlIHN1cHBvcnQgZm9yIHRoZSBFbWFjcyBvdXRwdXQgbW9kZS48L3BhcmE+Ci0KLTxwYXJhPkdyZWcgQmVudHogcHJvdmlkZWQgYSBmaXggZm9yIHRoZSBoYXNoY29kZS9lcXVhbHMgZGV0ZWN0b3IuPC9wYXJhPgotCi08cGFyYT5LLiBIYXNoaW1vdG8gY29udHJpYnV0ZWQgaW50ZXJuYXRpb25hbGl6YXRpb24gZml4ZXMgYW5kIHNldmVyYWwgb3RoZXIKLSAgICBidWcgZml4ZXMuPC9wYXJhPgotCi08cGFyYT4KLSAgICBHbGVubiBCb3lza28gY29udHJpYnV0ZWQgc3VwcG9ydCBmb3IgaWdub3Jpbmcgc3BlY2lmaWVkIGxvY2FsCi0gICAgdmFyaWFibGVzIGluIHRoZSBkZWFkIGxvY2FsIHN0b3JlIGRldGVjdG9yLgotPC9wYXJhPgotCi08cGFyYT4KLSAgICBKYXkgRHVubmluZyBjb250cmlidXRlZCBhIGRldGVjdG9yIHRvIGZpbmQgZXF1YWxpdHkgY29tcGFyaXNvbnMKLSAgICBvZiBmbG9hdGluZy1wb2ludCB2YWx1ZXMsIGFuZCBvdmVyaGF1bGVkIHRoZSBhbmFseXNpcyBzdW1tYXJ5Ci0gICAgcmVwb3J0IGFuZCBpdHMgcmVwcmVzZW50YXRpb24gaW4gdGhlIHNhdmVkIFhNTCBmb3JtYXQuCi08L3BhcmE+Ci0KLTxwYXJhPgotICAgIE9saXZpZXIgUGFyZW50IGNvbnRyaWJ1dGVkIHVwZGF0ZWQgRnJlbmNoIHRyYW5zbGF0aW9ucyBmb3IgYnVnIGRlc2NyaXB0aW9ucyBhbmQKLSAgICBTd2luZyBHVUkuCi08L3BhcmE+Ci0KLTxwYXJhPgotICAgIENocmlzIE5hcHBpbiBjb250cmlidXRlZCB0aGUgPGZpbGVuYW1lPnBsYWluLnhzbDwvZmlsZW5hbWU+Ci0gICAgc3R5bGVzaGVldC4KLTwvcGFyYT4KLQotPHBhcmE+Ci0gICAgRXRpZW5uZSBHaXJhdWR5IGNvbnRyaWJ1dGVkIHRoZSA8ZmlsZW5hbWU+ZmFuY3kueHNsPC9maWxlbmFtZT4gYW5kICA8ZmlsZW5hbWU+ZmFuY3ktaGlzdC54c2w8L2ZpbGVuYW1lPgotICAgIHN0eWxlc2hlZXRzLCBhbmQgbWFkZSBpbXByb3ZlbWVudHMgdG8gdGhlIDxjb21tYW5kPi14bWw6d2l0aE1lc3NhZ2VzPC9jb21tYW5kPgotICAgIG9wdGlvbi4KLTwvcGFyYT4KLQotPHBhcmE+Ci0gICAgVGFrYXNoaSBPa2Ftb3RvIGZpeGVkIGJ1Z3MgaW4gdGhlIHByb2plY3QgcHJlZmVyZW5jZXMgZGlhbG9nCi0gICAgaW4gdGhlIEVjbGlwc2UgcGx1Z2luLCBhbmQgY29udHJpYnV0ZWQgdG8gaXRzIGludGVybmF0aW9uYWxpemF0aW9uIGFuZCBsb2NhbGl6YXRpb24uCi08L3BhcmE+Ci0KLTxwYXJhPlRob21hcyBFaW53YWxsZXIgZml4ZWQgYnVncyBpbiB0aGUgcHJvamVjdCBwcmVmZXJlbmNlcyBkaWFsb2cgaW4gdGhlIEVjbGlwc2UgcGx1Z2luLjwvcGFyYT4KLQotPHBhcmE+SmVmZiBLbm94IGNvbnRyaWJ1dGVkIHN1cHBvcnQgZm9yIHRoZSB3YXJuaW5nc1Byb3BlcnR5IGF0dHJpYnV0ZQotaW4gdGhlIEFudCB0YXNrLjwvcGFyYT4KLQotPHBhcmE+UGV0ZXIgSGVuZHJpa3MgZXh0ZW5kZWQgdGhlIEVjbGlwc2UgcGx1Z2luIHByZWZlcmVuY2VzLAotYW5kIGZpeGVkIGEgYnVnIHJlbGF0ZWQgdG8gcmVuYW1pbmcgdGhlIEVjbGlwc2UgcGx1Z2luIElELjwvcGFyYT4KLQotPHBhcmE+TWFyayBNY0theSBjb250cmlidXRlZCBhbiBBbnQgdGFzayB0byBsYXVuY2ggdGhlIGZpbmRidWdzIGZyYW1lLjwvcGFyYT4KLQotPHBhcmE+RGlldGVyIHZvbiBIb2x0ZW4gKGR2aG9sdGVuKSBjb250cmlidXRlZAotc29tZSBHZXJtYW4gaW1wcm92ZW1lbnRzIHRvIGZpbmRidWdzX2RlLnByb3BlcnRpZXMuPC9wYXJhPgotCi0KLTxwYXJhPklmIHlvdSBoYXZlIGNvbnRyaWJ1dGVkIHRvICZGaW5kQnVnczssIGJ1dCBhcmVuJ3QgbWVudGlvbmVkIGFib3ZlLAotcGxlYXNlIHNlbmQgZW1haWwgdG8gPGVtYWlsPmZpbmRidWdzQGNzLnVtZC5lZHU8L2VtYWlsPiAoYW5kIGFsc28gYWNjZXB0Ci1vdXIgaHVtYmxlIGFwb2xvZ2llcykuPC9wYXJhPgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+U29mdHdhcmUgVXNlZDwvdGl0bGU+Ci0KLTxwYXJhPiZGaW5kQnVnczsgdXNlcyBzZXZlcmFsIG9wZW4tc291cmNlIHNvZnR3YXJlIHBhY2thZ2VzLCB3aXRob3V0IHdoaWNoIGl0cwotZGV2ZWxvcG1lbnQgd291bGQgaGF2ZSBiZWVuIG11Y2ggbW9yZSBkaWZmaWN1bHQuPC9wYXJhPgotCi08c2VjdDI+Ci08dGl0bGU+QkNFTDwvdGl0bGU+Ci08cGFyYT4mRmluZEJ1Z3M7IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24KLSg8dWxpbmsgdXJsPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvPC91bGluaz4pLgotU3BlY2lmaWNhbGx5LCBpdCB1c2VzIHRoZSA8dWxpbmsgdXJsPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnL2JjZWwvIj5CeXRlIENvZGUKLUVuZ2luZWVyaW5nIExpYnJhcnk8L3VsaW5rPi48L3BhcmE+Ci08L3NlY3QyPgotCi08c2VjdDI+Ci08dGl0bGU+QVNNPC90aXRsZT4KLTxwYXJhPiZGaW5kQnVnczsgdXNlcyB0aGUgPHVsaW5rIHVybD0iaHR0cDovL2FzbS5vYmplY3R3ZWIub3JnLyI+QVNNPC91bGluaz4KLWJ5dGVjb2RlIGZyYW1ld29yaywgd2hpY2ggaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBsaWNlbnNlOjwvcGFyYT4KLQotPGJsb2NrcXVvdGU+Ci08cGFyYT4KLUNvcHlyaWdodCAoYykgMjAwMC0yMDA1IElOUklBLCBGcmFuY2UgVGVsZWNvbQotQWxsIHJpZ2h0cyByZXNlcnZlZC4KLTwvcGFyYT4KLQotPHBhcmE+Ci1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotYXJlIG1ldDoKLTwvcGFyYT4KLQotPG9yZGVyZWRsaXN0IG51bWVyYXRpb249ImFyYWJpYyI+Ci0gICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgIDxsaXN0aXRlbT48cGFyYT4KLSAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgIDxsaXN0aXRlbT48cGFyYT4KLSAgIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXJzIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci08L29yZGVyZWRsaXN0PgotCi08cGFyYT4KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgotQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLUFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRQotTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLVNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLUNPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi1BUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi1USEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi08L3BhcmE+Ci08L2Jsb2NrcXVvdGU+Ci08L3NlY3QyPgotCi08c2VjdDI+Ci08dGl0bGU+RE9NNEo8L3RpdGxlPgotPHBhcmE+JkZpbmRCdWdzOyB1c2VzIDx1bGluayB1cmw9Imh0dHA6Ly9kb200ai5vcmciPkRPTTRKPC91bGluaz4sIHdoaWNoIGlzCi1kaXN0cmlidXRlZCB1bmRlciB0aGUgZm9sbG93aW5nIGxpY2Vuc2U6PC9wYXJhPgotCi08YmxvY2txdW90ZT4KLTxwYXJhPgotQ29weXJpZ2h0IDIwMDEgKEMpIE1ldGFTdHVmZiwgTHRkLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotPC9wYXJhPgotCi08cGFyYT4KLVJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ugb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uCi0oIlNvZnR3YXJlIiksIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdAotdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci08L3BhcmE+Ci0KLTxvcmRlcmVkbGlzdCBudW1lcmF0aW9uPSJhcmFiaWMiPgotICAgPGxpc3RpdGVtPjxwYXJhPgotICAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIGNvcHlyaWdodCBzdGF0ZW1lbnRzIGFuZAotICAgbm90aWNlcy4gUmVkaXN0cmlidXRpb25zIG11c3QgYWxzbyBjb250YWluIGEgY29weSBvZiB0aGlzIGRvY3VtZW50LgotICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgIDxsaXN0aXRlbT48cGFyYT4KLSAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgIDxsaXN0aXRlbT48cGFyYT4KLSAgIFRoZSBuYW1lICJET000SiIgbXVzdCBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKLSAgIGRlcml2ZWQgZnJvbSB0aGlzIFNvZnR3YXJlIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uCi0gICBvZiBNZXRhU3R1ZmYsIEx0ZC4gRm9yIHdyaXR0ZW4gcGVybWlzc2lvbiwgcGxlYXNlIGNvbnRhY3QKLSAgIDxlbWFpbD5kb200ai1pbmZvQG1ldGFzdHVmZi5jb208L2VtYWlsPi4KLSAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICBQcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBTb2Z0d2FyZSBtYXkgbm90IGJlIGNhbGxlZCAiRE9NNEoiIG5vciBtYXkKLSAgICJET000SiIgYXBwZWFyIGluIHRoZWlyIG5hbWVzIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIG9mCi0gICBNZXRhU3R1ZmYsIEx0ZC4gRE9NNEogaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFyayBvZiBNZXRhU3R1ZmYsIEx0ZC4KLSAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICBEdWUgY3JlZGl0IHNob3VsZCBiZSBnaXZlbiB0byB0aGUgRE9NNEogUHJvamVjdCAoPHVsaW5rIHVybD0iaHR0cDovL2RvbTRqLm9yZy8iPmh0dHA6Ly9kb200ai5vcmcvPC91bGluaz4pLgotICA8L3BhcmE+PC9saXN0aXRlbT4KLTwvb3JkZXJlZGxpc3Q+Ci0KLTxwYXJhPgotVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBNRVRBU1RVRkYsIExURC4gQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLUFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi1USEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi1QVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBNRVRBU1RVRkYsIExURC4gT1IgSVRTCi1DT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLUVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLVBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgotTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKLU5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi08L3BhcmE+Ci08L2Jsb2NrcXVvdGU+Ci0KLTwvc2VjdDI+Ci0KLTwvc2VjdDE+Ci0KLTwvY2hhcHRlcj4KLQotCi08L2Jvb2s+CmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsLnhzbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwueHNsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTdiM2I3Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwueHNsCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0nMS4wJz8+Ci08eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iCi0gICAgICAgICAgICAgICAgdmVyc2lvbj0nMS4wJwotICAgICAgICAgICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIgotICAgICAgICAgICAgICAgIGV4Y2x1ZGUtcmVzdWx0LXByZWZpeGVzPSIjZGVmYXVsdCI+Ci0KLTwhLS0gYnVpbGQueG1sIHdpbGwgc3Vic3RpdHV0ZSB0aGUgcmVhbCBwYXRoIHRvIGNodW5rLnhzbCBoZXJlLiAtLT4KLTx4c2w6aW1wb3J0IGhyZWY9Ii9Vc2Vycy9wdWdoL3Rvb2xzL2RvY2Jvb2steHNsLTEuNzYuMS9odG1sL2NodW5rLnhzbCIvPgotCi08eHNsOnRlbXBsYXRlIG5hbWU9InVzZXIuaGVhZGVyLmNvbnRlbnQiPgotCi08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLSBUaGlzIGNhdXNlcyB0aGUgc3R5bGVzaGVldCB0byBwdXQgY2hhcHRlcnMgaW4gYSBzaW5nbGUgSFRNTCBmaWxlLAotICAgICByYXRoZXIgdGhhbiBwdXR0aW5nIGluZGl2aWR1YWwgc2VjdGlvbnMgaW50byBzZXBhcmF0ZSBmaWxlcy4gLS0+Ci08eHNsOnZhcmlhYmxlIG5hbWU9ImNodW5rLnNlY3Rpb24uZGVwdGgiPjA8L3hzbDp2YXJpYWJsZT4KLQotPCEtLSBQdXQgdGhlIEhUTUwgaW4gdGhlICJtYW51YWwiIGRpcmVjdG9yeS4gLS0+Ci08eHNsOnZhcmlhYmxlIG5hbWU9ImJhc2UuZGlyIj5tYW51YWwvPC94c2w6dmFyaWFibGU+Ci0KLTwhLS0gRW51bWVyYXRlIHNlY3Rpb25zLiAtLT4KLTx4c2w6dmFyaWFibGUgbmFtZT0ic2VjdGlvbi5hdXRvbGFiZWwiPjE8L3hzbDp2YXJpYWJsZT4KLQotPCEtLSBOYW1lIHRoZSBIVE1MIGZpbGVzIGJhc2VkIG9uIHRoZSBpZCBvZiB0aGUgZG9jdW1lbnQgZWxlbWVudHMuIC0tPgotPHhzbDp2YXJpYWJsZSBuYW1lPSJ1c2UuaWQuYXMuZmlsZW5hbWUiPjE8L3hzbDp2YXJpYWJsZT4KLQotPCEtLSBVc2UgZ3JhcGhpY3MgaW4gYWRtb25pdGlvbnMgLS0+Ci08eHNsOnZhcmlhYmxlIG5hbWU9ImFkbW9uLmdyYXBoaWNzIj4xPC94c2w6dmFyaWFibGU+Ci0KLTwhLS0gQWRtb25pdGlvbiBncmFwaGljcyBhcmUgaW4gdGhlIHNhbWUgcGxhY2UgYXMgdGhlIGdlbmVyYXRlZCBIVE1MLiAtLT4KLTx4c2w6dmFyaWFibGUgbmFtZT0iYWRtb24uZ3JhcGhpY3MucGF0aCI+PC94c2w6dmFyaWFibGU+Ci0KLTwhLS0gSnVzdCBwdXQgY2hhcHRlcnMgYW5kIHNlY3QxcyBpbiB0aGUgVE9DLiAtLT4KLTx4c2w6dmFyaWFibGUgbmFtZT0idG9jLnNlY3Rpb24uZGVwdGgiPjE8L3hzbDp2YXJpYWJsZT4KLQotPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvYWNrbm93bGVkZ21lbnRzLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2Fja25vd2xlZGdtZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMmFjNDU0Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvYWNrbm93bGVkZ21lbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT5DaGFwdGVyJm5ic3A7MTQuJm5ic3A7QWNrbm93bGVkZ21lbnRzPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc2LjEiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgTWFudWFsIj48bGluayByZWw9InByZXYiIGhyZWY9ImxpY2Vuc2UuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxMy4mbmJzcDtMaWNlbnNlIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7MTQuJm5ic3A7QWNrbm93bGVkZ21lbnRzPC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGljZW5zZS5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImNoYXB0ZXIiIHRpdGxlPSJDaGFwdGVyJm5ic3A7MTQuJm5ic3A7QWNrbm93bGVkZ21lbnRzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJhY2tub3dsZWRnbWVudHMiPjwvYT5DaGFwdGVyJm5ic3A7MTQuJm5ic3A7QWNrbm93bGVkZ21lbnRzPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPlRhYmxlIG9mIENvbnRlbnRzPC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYWNrbm93bGVkZ21lbnRzLmh0bWwjZDBlMzYyOSI+MS4gQ29udHJpYnV0b3JzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFja25vd2xlZGdtZW50cy5odG1sI2QwZTM3NTIiPjIuIFNvZnR3YXJlIFVzZWQ8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjEuJm5ic3A7Q29udHJpYnV0b3JzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTM2MjkiPjwvYT4xLiZuYnNwO0NvbnRyaWJ1dG9yczwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gd2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBieSBCaWxsIFB1Z2ggKDxjb2RlIGNsYXNzPSJlbWFpbCI+Jmx0OzxhIGNsYXNzPSJlbWFpbCIgaHJlZj0ibWFpbHRvOnB1Z2hAY3MudW1kLmVkdSI+cHVnaEBjcy51bWQuZWR1PC9hPiZndDs8L2NvZGU+KS4KLURhdmlkIEhvdmVtZXllciAoPGNvZGUgY2xhc3M9ImVtYWlsIj4mbHQ7PGEgY2xhc3M9ImVtYWlsIiBocmVmPSJtYWlsdG86ZGF2ZWhvQGNzLnVtZC5lZHUiPmRhdmVob0Bjcy51bWQuZWR1PC9hPiZndDs8L2NvZGU+KSBpbXBsZW1lbnRlZCBzb21lIG9mIHRoZQotZGV0ZWN0b3JzLCBhZGRlZCB0aGUgU3dpbmcgR1VJLCBhbmQgaXMgYSBjby1tYWludGFpbmVyLjwvcD48cD5NaWtlIEZhZ2FuICg8Y29kZSBjbGFzcz0iZW1haWwiPiZsdDs8YSBjbGFzcz0iZW1haWwiIGhyZWY9Im1haWx0bzptZmFnYW5AdGRlLmNvbSI+bWZhZ2FuQHRkZS5jb208L2E+Jmd0OzwvY29kZT4pIGNvbnRyaWJ1dGVkIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gYnVpbGQgc2NyaXB0LAotdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrLCBhbmQgc2V2ZXJhbCBlbmhhbmNlbWVudHMgYW5kIGJ1ZyBmaXhlcyB0byB0aGUgR1VJLjwvcD48cD5HZXJtYW5vIExlaWNoc2VucmluZyBjb250cmlidXRlZCBKYXBhbmVzZSB0cmFuc2xhdGlvbnMgb2YgdGhlIGJ1Zwotc3VtbWFyaWVzLjwvcD48cD5EYXZpZCBMaSBjb250cmlidXRlZCB0aGUgRW1hY3MgYnVnIHJlcG9ydCBmb3JtYXQuPC9wPjxwPlBldGVyIEQuIFN0b3V0IGNvbnRyaWJ1dGVkIHJlY3Vyc2l2ZSBkZXRlY3Rpb24gb2YgQ2xhc3MtUGF0aAotYXR0cmlidXRlcyBpbiBhbmFseXplZCBKYXIgZmlsZXMsIEdlcm1hbiB0cmFuc2xhdGlvbnMgb2YKLXRleHQgdXNlZCBpbiB0aGUgU3dpbmcgR1VJLCBhbmQgb3RoZXIgZml4ZXMuPC9wPjxwPlBldGVyIEZyaWVzZSB3cm90ZSB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gRWNsaXBzZSBwbHVnaW4uPC9wPjxwPlJvaGFuIExsb3lkIGNvbnRyaWJ1dGVkIHNldmVyYWwgTWFjIE9TIFggZW5oYW5jZW1lbnRzLAotYnVnIGRldGVjdG9yIGltcHJvdmVtZW50cywKLWFuZCBtYWludGFpbnMgdGhlIEZpbmsgcGFja2FnZSBmb3IgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4uPC9wPjxwPkhpcm9zaGkgT2t1Z2F3YSB0cmFuc2xhdGVkIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBtYW51YWwgYW5kCi1tb3JlIG9mIHRoZSBidWcgc3VtbWFyaWVzIGludG8gSmFwYW5lc2UuPC9wPjxwPlBoaWwgQ3Jvc2J5IGVuaGFuY2VkIHRoZSBFY2xpcHNlIHBsdWdpbiB0byBhZGQgYSB2aWV3Ci10byBkaXNwbGF5IHRoZSBidWcgZGV0YWlscy48L3A+PHA+RGF2ZSBCcm9zaXVzIGZpeGVkIGEgbnVtYmVyIG9mIGJ1Z3MsIGFkZGVkIHVzZXIgcHJlZmVyZW5jZXMKLXRvIHRoZSBTd2luZyBHVUksIGltcHJvdmVkIHNldmVyYWwgYnVnIGRldGVjdG9ycywgYW5kCi1jb250cmlidXRlZCB0aGUgc3RyaW5nIGNvbmNhdGVuYXRpb24gZGV0ZWN0b3IuPC9wPjxwPlRob21hcyBLbGFlZ2VyIGNvbnRyaWJ1dGVkIGEgbnVtYmVyIG9mIGJ1ZyBmaXhlcyBhbmQKLWJ1ZyBkZXRlY3RvciBpbXByb3ZlbWVudHMuPC9wPjxwPkFuZHJlaSBMb3NrdXRvdiBtYWRlIGEgbnVtYmVyIG9mIGltcHJvdmVtZW50cyB0byB0aGUKLUVjbGlwc2UgcGx1Z2luLjwvcD48cD5CcmlhbiBHb2V0eiBjb250cmlidXRlZCBhIG1ham9yIHJlZmFjdG9yaW5nIG9mIHRoZQotdmlzaXRvciBjbGFzc2VzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIHVuZGVyc3RhbmRhYmlsaXR5LjwvcD48cD4gUGV0ZSBBbmdzdGFkdCBmaXhlZCBzZXZlcmFsIHByb2JsZW1zIGluIHRoZSBTd2luZyBHVUkuPC9wPjxwPkZyYW5jaXMgTGFsb25kZSBwcm92aWRlZCBhIHRhc2sgcmVzb3VyY2UgZmlsZSBmb3IgdGhlCi1GaW5kQnVncyBBbnQgdGFzay48L3A+PHA+R2FydmluIExlQ2xhaXJlIGNvbnRyaWJ1dGVkIHN1cHBvcnQgZm9yIG91dHB1dCBpbgotWGRvY3MgZm9ybWF0LCBmb3IgdXNlIGJ5IE1hdmVuLjwvcD48cD5Ib2xnZXIgU3Rlbnpob3JuIGNvbnRyaWJ1dGVkIGltcHJvdmVkIEdlcm1hbiB0cmFuc2xhdGlvbnMgb2YgaXRlbXMKLWluIHRoZSBTd2luZyBHVUkuPC9wPjxwPkp1aGEgS251dXRpbGEgY29udHJpYnV0ZWQgRmlubmlzaCB0cmFuc2xhdGlvbnMgb2YgaXRlbXMKLWluIHRoZSBTd2luZyBHVUkuPC9wPjxwPlRhbmVsIExlYmVkZXYgY29udHJpYnV0ZWQgRXN0b25pYW4gdHJhbnNsYXRpb25zIG9mIGl0ZW1zCi1pbiB0aGUgU3dpbmcgR1VJLjwvcD48cD5IYW5haSBTaGlzZWkgKHJ1aW1vKSBjb250cmlidXRlZCBmdWxsIEphcGFuZXNlIHRyYW5zbGF0aW9ucyBvZgotYnVnIG1lc3NhZ2VzLCBhbmQgdGV4dCB1c2VkIGluIHRoZSBTd2luZyBHVUkuPC9wPjxwPkRhdmlkIENvdHRvbiBjb250cmlidXRlZCBGcmVzaCB0cmFuc2xhdGlvbnMgZm9yIGJ1ZwotbWVzc2FnZXMgYW5kIGZvciB0aGUgU3dpbmcgR1VJLjwvcD48cD5NaWNoYWVsIFRhbW0gY29udHJpYnV0ZWQgc3VwcG9ydCBmb3IgdGhlICJlcnJvclByb3BlcnR5IiBhdHRyaWJ1dGUKLWluIHRoZSBBbnQgdGFzay48L3A+PHA+VGhvbWFzIEt1ZWhuZSBpbXByb3ZlZCB0aGUgR2VybWFuIHRyYW5zbGF0aW9uIG9mIHRoZSBTd2luZyBHVUkuPC9wPjxwPkxlbiBUcmlnZyBpbXByb3ZlZCBzb3VyY2UgZmlsZSBzdXBwb3J0IGZvciB0aGUgRW1hY3Mgb3V0cHV0IG1vZGUuPC9wPjxwPkdyZWcgQmVudHogcHJvdmlkZWQgYSBmaXggZm9yIHRoZSBoYXNoY29kZS9lcXVhbHMgZGV0ZWN0b3IuPC9wPjxwPksuIEhhc2hpbW90byBjb250cmlidXRlZCBpbnRlcm5hdGlvbmFsaXphdGlvbiBmaXhlcyBhbmQgc2V2ZXJhbCBvdGhlcgotICAgIGJ1ZyBmaXhlcy48L3A+PHA+Ci0gICAgR2xlbm4gQm95c2tvIGNvbnRyaWJ1dGVkIHN1cHBvcnQgZm9yIGlnbm9yaW5nIHNwZWNpZmllZCBsb2NhbAotICAgIHZhcmlhYmxlcyBpbiB0aGUgZGVhZCBsb2NhbCBzdG9yZSBkZXRlY3Rvci4KLTwvcD48cD4KLSAgICBKYXkgRHVubmluZyBjb250cmlidXRlZCBhIGRldGVjdG9yIHRvIGZpbmQgZXF1YWxpdHkgY29tcGFyaXNvbnMKLSAgICBvZiBmbG9hdGluZy1wb2ludCB2YWx1ZXMsIGFuZCBvdmVyaGF1bGVkIHRoZSBhbmFseXNpcyBzdW1tYXJ5Ci0gICAgcmVwb3J0IGFuZCBpdHMgcmVwcmVzZW50YXRpb24gaW4gdGhlIHNhdmVkIFhNTCBmb3JtYXQuCi08L3A+PHA+Ci0gICAgT2xpdmllciBQYXJlbnQgY29udHJpYnV0ZWQgdXBkYXRlZCBGcmVuY2ggdHJhbnNsYXRpb25zIGZvciBidWcgZGVzY3JpcHRpb25zIGFuZAotICAgIFN3aW5nIEdVSS4KLTwvcD48cD4KLSAgICBDaHJpcyBOYXBwaW4gY29udHJpYnV0ZWQgdGhlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+cGxhaW4ueHNsPC9jb2RlPgotICAgIHN0eWxlc2hlZXQuCi08L3A+PHA+Ci0gICAgRXRpZW5uZSBHaXJhdWR5IGNvbnRyaWJ1dGVkIHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmZhbmN5LnhzbDwvY29kZT4gYW5kICA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmZhbmN5LWhpc3QueHNsPC9jb2RlPgotICAgIHN0eWxlc2hlZXRzLCBhbmQgbWFkZSBpbXByb3ZlbWVudHMgdG8gdGhlIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi14bWw6d2l0aE1lc3NhZ2VzPC9zdHJvbmc+PC9zcGFuPgotICAgIG9wdGlvbi4KLTwvcD48cD4KLSAgICBUYWthc2hpIE9rYW1vdG8gZml4ZWQgYnVncyBpbiB0aGUgcHJvamVjdCBwcmVmZXJlbmNlcyBkaWFsb2cKLSAgICBpbiB0aGUgRWNsaXBzZSBwbHVnaW4sIGFuZCBjb250cmlidXRlZCB0byBpdHMgaW50ZXJuYXRpb25hbGl6YXRpb24gYW5kIGxvY2FsaXphdGlvbi4KLTwvcD48cD5UaG9tYXMgRWlud2FsbGVyIGZpeGVkIGJ1Z3MgaW4gdGhlIHByb2plY3QgcHJlZmVyZW5jZXMgZGlhbG9nIGluIHRoZSBFY2xpcHNlIHBsdWdpbi48L3A+PHA+SmVmZiBLbm94IGNvbnRyaWJ1dGVkIHN1cHBvcnQgZm9yIHRoZSB3YXJuaW5nc1Byb3BlcnR5IGF0dHJpYnV0ZQotaW4gdGhlIEFudCB0YXNrLjwvcD48cD5QZXRlciBIZW5kcmlrcyBleHRlbmRlZCB0aGUgRWNsaXBzZSBwbHVnaW4gcHJlZmVyZW5jZXMsCi1hbmQgZml4ZWQgYSBidWcgcmVsYXRlZCB0byByZW5hbWluZyB0aGUgRWNsaXBzZSBwbHVnaW4gSUQuPC9wPjxwPk1hcmsgTWNLYXkgY29udHJpYnV0ZWQgYW4gQW50IHRhc2sgdG8gbGF1bmNoIHRoZSBmaW5kYnVncyBmcmFtZS48L3A+PHA+RGlldGVyIHZvbiBIb2x0ZW4gKGR2aG9sdGVuKSBjb250cmlidXRlZAotc29tZSBHZXJtYW4gaW1wcm92ZW1lbnRzIHRvIGZpbmRidWdzX2RlLnByb3BlcnRpZXMuPC9wPjxwPklmIHlvdSBoYXZlIGNvbnRyaWJ1dGVkIHRvIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+LCBidXQgYXJlbid0IG1lbnRpb25lZCBhYm92ZSwKLXBsZWFzZSBzZW5kIGVtYWlsIHRvIDxjb2RlIGNsYXNzPSJlbWFpbCI+Jmx0OzxhIGNsYXNzPSJlbWFpbCIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+Jmd0OzwvY29kZT4gKGFuZCBhbHNvIGFjY2VwdAotb3VyIGh1bWJsZSBhcG9sb2dpZXMpLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjIuJm5ic3A7U29mdHdhcmUgVXNlZCI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUzNzUyIj48L2E+Mi4mbmJzcDtTb2Z0d2FyZSBVc2VkPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiB1c2VzIHNldmVyYWwgb3Blbi1zb3VyY2Ugc29mdHdhcmUgcGFja2FnZXMsIHdpdGhvdXQgd2hpY2ggaXRzCi1kZXZlbG9wbWVudCB3b3VsZCBoYXZlIGJlZW4gbXVjaCBtb3JlIGRpZmZpY3VsdC48L3A+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjEuJm5ic3A7QkNFTCI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZDBlMzc1OSI+PC9hPjIuMS4mbmJzcDtCQ0VMPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCi0oPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly93d3cuYXBhY2hlLm9yZy88L2E+KS4KLVNwZWNpZmljYWxseSwgaXQgdXNlcyB0aGUgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnL2JjZWwvIiB0YXJnZXQ9Il90b3AiPkJ5dGUgQ29kZQotRW5naW5lZXJpbmcgTGlicmFyeTwvYT4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QyIiB0aXRsZT0iMi4yLiZuYnNwO0FTTSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZDBlMzc3MiI+PC9hPjIuMi4mbmJzcDtBU008L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHVzZXMgdGhlIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2FzbS5vYmplY3R3ZWIub3JnLyIgdGFyZ2V0PSJfdG9wIj5BU008L2E+Ci1ieXRlY29kZSBmcmFtZXdvcmssIHdoaWNoIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZTo8L3A+PGRpdiBjbGFzcz0iYmxvY2txdW90ZSI+PGJsb2NrcXVvdGUgY2xhc3M9ImJsb2NrcXVvdGUiPjxwPgotQ29weXJpZ2h0IChjKSAyMDAwLTIwMDUgSU5SSUEsIEZyYW5jZSBUZWxlY29tCi1BbGwgcmlnaHRzIHJlc2VydmVkLgotPC9wPjxwPgotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6Ci08L3A+PGRpdiBjbGFzcz0ib3JkZXJlZGxpc3QiPjxvbCBjbGFzcz0ib3JkZXJlZGxpc3QiIHR5cGU9IjEiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVycyBub3IgdGhlIG5hbWVzIG9mIGl0cwotICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gIDwvcD48L2xpPjwvb2w+PC9kaXY+PHA+Ci1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKLUFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLUlNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi1BUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUKLUxJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLUNPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi1TVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLUlOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi1DT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotPC9wPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjIuMy4mbmJzcDtET000SiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZDBlMzc5OSI+PC9hPjIuMy4mbmJzcDtET000SjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gdXNlcyA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9kb200ai5vcmciIHRhcmdldD0iX3RvcCI+RE9NNEo8L2E+LCB3aGljaCBpcwotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBsaWNlbnNlOjwvcD48ZGl2IGNsYXNzPSJibG9ja3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0iYmxvY2txdW90ZSI+PHA+Ci1Db3B5cmlnaHQgMjAwMSAoQykgTWV0YVN0dWZmLCBMdGQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi08L3A+PHA+Ci1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbgotKCJTb2Z0d2FyZSIpLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQKLXRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgotPC9wPjxkaXYgY2xhc3M9Im9yZGVyZWRsaXN0Ij48b2wgY2xhc3M9Im9yZGVyZWRsaXN0IiB0eXBlPSIxIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiBjb3B5cmlnaHQgc3RhdGVtZW50cyBhbmQKLSAgIG5vdGljZXMuIFJlZGlzdHJpYnV0aW9ucyBtdXN0IGFsc28gY29udGFpbiBhIGNvcHkgb2YgdGhpcyBkb2N1bWVudC4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBUaGUgbmFtZSAiRE9NNEoiIG11c3Qgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCi0gICBkZXJpdmVkIGZyb20gdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbgotICAgb2YgTWV0YVN0dWZmLCBMdGQuIEZvciB3cml0dGVuIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0Ci0gICA8Y29kZSBjbGFzcz0iZW1haWwiPiZsdDs8YSBjbGFzcz0iZW1haWwiIGhyZWY9Im1haWx0bzpkb200ai1pbmZvQG1ldGFzdHVmZi5jb20iPmRvbTRqLWluZm9AbWV0YXN0dWZmLmNvbTwvYT4mZ3Q7PC9jb2RlPi4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBQcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBTb2Z0d2FyZSBtYXkgbm90IGJlIGNhbGxlZCAiRE9NNEoiIG5vciBtYXkKLSAgICJET000SiIgYXBwZWFyIGluIHRoZWlyIG5hbWVzIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIG9mCi0gICBNZXRhU3R1ZmYsIEx0ZC4gRE9NNEogaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFyayBvZiBNZXRhU3R1ZmYsIEx0ZC4KLSAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICBEdWUgY3JlZGl0IHNob3VsZCBiZSBnaXZlbiB0byB0aGUgRE9NNEogUHJvamVjdCAoPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZG9tNGoub3JnLyIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vZG9tNGoub3JnLzwvYT4pLgotICA8L3A+PC9saT48L29sPjwvZGl2PjxwPgotVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBNRVRBU1RVRkYsIExURC4gQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLUFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi1USEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi1QVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBNRVRBU1RVRkYsIExURC4gT1IgSVRTCi1DT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLUVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLVBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgotTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKLU5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi08L3A+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGljZW5zZS5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5DaGFwdGVyJm5ic3A7MTMuJm5ic3A7TGljZW5zZSZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDs8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvYW5hbHlzaXNwcm9wcy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9hbmFseXNpc3Byb3BzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzZmU5M2MuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9hbmFseXNpc3Byb3BzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi08aHRtbD48aGVhZD4KLSAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgotICAgPHRpdGxlPkNoYXB0ZXImbmJzcDs5LiZuYnNwO0FuYWx5c2lzIFByb3BlcnRpZXM8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iZmlsdGVyLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7OC4mbmJzcDtGaWx0ZXIgRmlsZXMiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYW5ub3RhdGlvbnMuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxMC4mbmJzcDtBbm5vdGF0aW9ucyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+Q2hhcHRlciZuYnNwOzkuJm5ic3A7QW5hbHlzaXMgUHJvcGVydGllczwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImZpbHRlci5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJhbm5vdGF0aW9ucy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzkuJm5ic3A7QW5hbHlzaXMgUHJvcGVydGllcyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iYW5hbHlzaXNwcm9wcyI+PC9hPkNoYXB0ZXImbmJzcDs5LiZuYnNwO0FuYWx5c2lzIFByb3BlcnRpZXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gYWxsb3dzIHNldmVyYWwgYXNwZWN0cyBvZiB0aGUgYW5hbHlzZXMgaXQgcGVyZm9ybXMgdG8gYmUKLWN1c3RvbWl6ZWQuICBTeXN0ZW0gcHJvcGVydGllcyBhcmUgdXNlZCB0byBjb25maWd1cmUgdGhlc2Ugb3B0aW9ucy4KLVRoaXMgY2hhcHRlciBkZXNjcmliZXMgdGhlIGNvbmZpZ3VyYWJsZSBhbmFseXNpcyBvcHRpb25zLgotPC9wPjxwPgotVGhlIGFuYWx5c2lzIG9wdGlvbnMgaGF2ZSB0d28gbWFpbiBwdXJwb3Nlcy4gIEZpcnN0LCB0aGV5IGFsbG93IHlvdQotdG8gaW5mb3JtIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGFib3V0IHRoZSBtZWFuaW5nIG9mIG1ldGhvZHMgaW4geW91ciBhcHBsaWNhdGlvbiwKLXNvIHRoYXQgaXQgY2FuIHByb2R1Y2UgbW9yZSBhY2N1cmF0ZSByZXN1bHRzLCBvciBwcm9kdWNlIGZld2VyCi1mYWxzZSB3YXJuaW5ncy4gIFNlY29uZCwgdGhleSBhbGxvdyB5b3UgdG8gY29uZmlndXJlIHRoZSBwcmVjaXNpb24KLW9mIHRoZSBhbmFseXNpcyBwZXJmb3JtZWQuICBSZWR1Y2luZyBhbmFseXNpcyBwcmVjaXNpb24gY2FuIHNhdmUKLW1lbW9yeSBhbmQgYW5hbHlzaXMgdGltZSwgYXQgdGhlIGV4cGVuc2Ugb2YgbWlzc2luZyBzb21lIHJlYWwgYnVncywKLW9yIHByb2R1Y2luZyBtb3JlIGZhbHNlIHdhcm5pbmdzLgotPC9wPjxwPgotVGhlIGFuYWx5c2lzIG9wdGlvbnMgYXJlIHNldCB1c2luZyB0aGUgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LXByb3BlcnR5PC9zdHJvbmc+PC9zcGFuPgotY29tbWFuZCBsaW5lIG9wdGlvbi4gIEZvciBleGFtcGxlOgotPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij4kIDwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maW5kYnVncyAtdGV4dHVpIC1wcm9wZXJ0eSAiY2ZnLm5vcHJ1bmU9dHJ1ZSIgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bXlBcHAuamFyPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci08L3A+PHA+Ci1UaGUgbGlzdCBvZiBjb25maWd1cmFibGUgYW5hbHlzaXMgcHJvcGVydGllcyBpcyBzaG93biBpbgotPGEgY2xhc3M9InhyZWYiIGhyZWY9ImFuYWx5c2lzcHJvcHMuaHRtbCNhbmFseXNpc3Byb3B0YWJsZSIgdGl0bGU9IlRhYmxlJm5ic3A7OS4xLiZuYnNwO0NvbmZpZ3VyYWJsZSBBbmFseXNpcyBQcm9wZXJ0aWVzIj5UYWJsZSZuYnNwOzkuMSwgJiM4MjIwO0NvbmZpZ3VyYWJsZSBBbmFseXNpcyBQcm9wZXJ0aWVzJiM4MjIxOzwvYT4uCi08L3A+PGRpdiBjbGFzcz0idGFibGUiPjxhIG5hbWU9ImFuYWx5c2lzcHJvcHRhYmxlIj48L2E+PHAgY2xhc3M9InRpdGxlIj48Yj5UYWJsZSZuYnNwOzkuMS4mbmJzcDtDb25maWd1cmFibGUgQW5hbHlzaXMgUHJvcGVydGllczwvYj48L3A+PGRpdiBjbGFzcz0idGFibGUtY29udGVudHMiPjx0YWJsZSBzdW1tYXJ5PSJDb25maWd1cmFibGUgQW5hbHlzaXMgUHJvcGVydGllcyIgYm9yZGVyPSIxIj48Y29sZ3JvdXA+PGNvbD48Y29sPjxjb2w+PC9jb2xncm91cD48dGhlYWQ+PHRyPjx0aCBhbGlnbj0ibGVmdCI+UHJvcGVydHkgTmFtZTwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5WYWx1ZTwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5NZWFuaW5nPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgYWxpZ249ImxlZnQiPmZpbmRidWdzLmFzc2VydGlvbm1ldGhvZHM8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+Q29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgZnVsbHkgcXVhbGlmaWVkIG1ldGhvZCBuYW1lczoKLSAgICAgIGUuZy4sICJjb20uZm9vLk15Q2xhc3MuY2hlY2tBc3NlcnRpb24iPC90ZD48dGQgYWxpZ249ImxlZnQiPlRoaXMgcHJvcGVydHkgc3BlY2lmaWVzIHRoZSBuYW1lcyBvZiBtZXRob2RzIHRoYXQgYXJlIHVzZWQKLSAgICAgIHRvIGNoZWNrIHByb2dyYW0gYXNzZXJ0aW9ucy4gIFNwZWNpZnlpbmcgdGhlc2UgbWV0aG9kcyBhbGxvd3MKLSAgICAgIHRoZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgYnVnIGRldGVjdG9yIHRvIGF2b2lkIHJlcG9ydGluZwotICAgICAgZmFsc2Ugd2FybmluZ3MgZm9yIHZhbHVlcyB3aGljaCBhcmUgY2hlY2tlZCBieSBhc3NlcnRpb24KLSAgICAgIG1ldGhvZHMuPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmZpbmRidWdzLmRlLmNvbW1lbnQ8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+dHJ1ZSBvciBmYWxzZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5JZiB0cnVlLCB0aGUgRHJvcHBlZEV4Y2VwdGlvbiBkZXRlY3RvciBzY2FucyBzb3VyY2UgY29kZQotICAgICAgICBmb3IgZW1wdHkgY2F0Y2ggYmxvY2tzIGZvciBhIGNvbW1lbnQsIGFuZCBpZiBvbmUgaXMgZm91bmQsIGRvZXMKLSAgICAgICAgbm90IHJlcG9ydCBhIHdhcm5pbmcuPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmZpbmRidWdzLm1hc2tlZGZpZWxkcy5sb2NhbHM8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+dHJ1ZSBvciBmYWxzZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5JZiB0cnVlLCBlbWl0IGxvdyBwcmlvcml0eSB3YXJuaW5ncyBmb3IgbG9jYWwgdmFyaWFibGVzCi0gICAgICB3aGljaCBvYnNjdXJlIGZpZWxkcy4gIERlZmF1bHQgaXMgZmFsc2UuPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmZpbmRidWdzLm51bGxkZXJlZi5hc3N1bWVuc3A8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+dHJ1ZSBvciBmYWxzZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5ub3QgdXNlZAotICAgICAgKGludGVudGlvbjogSWYgdHJ1ZSwgdGhlIG51bGwgZGVyZWZlcmVuY2UgZGV0ZWN0b3IgYXNzdW1lcyB0aGF0IGFueQotICAgICAgcmVmZXJlbmNlIHZhbHVlIHJldHVybmVkIGZyb20gYSBtZXRob2Qgb3IgcGFzc2VkIHRvIGEgbWV0aG9kCi0gICAgICBpbiBhIHBhcmFtZXRlciBtaWdodCBiZSBudWxsLiAgRGVmYXVsdCBpcyBmYWxzZS4gIE5vdGUgdGhhdAotICAgICAgZW5hYmxpbmcgdGhpcyBwcm9wZXJ0eSB3aWxsIHZlcnkgbGlrZWx5IGNhdXNlIGEgbGFyZ2UgbnVtYmVyCi0gICAgICBvZiBmYWxzZSB3YXJuaW5ncyB0byBiZSBwcm9kdWNlZC4pPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmZpbmRidWdzLnJlZmNvbXAucmVwb3J0QWxsPC90ZD48dGQgYWxpZ249ImxlZnQiPnRydWUgb3IgZmFsc2U8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+SWYgdHJ1ZSwgYWxsIHN1c3BpY2lvdXMgcmVmZXJlbmNlIGNvbXBhcmlzb25zCi0gICAgICAgIHVzaW5nIHRoZSA9PSBhbmQgIT0gb3BlcmF0b3JzIGFyZSByZXBvcnRlZC4mbmJzcDsgSWYgZmFsc2UsCi0gICAgICAgIG9ubHkgb25lIHN1Y2ggd2FybmluZyBpcyBpc3N1ZWQgcGVyIG1ldGhvZC4mbmJzcDsgRGVmYXVsdAotICAgICAgICBpcyBmYWxzZS48L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+ZmluZGJ1Z3Muc2YuY29tbWVudDwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij50cnVlIG9yIGZhbHNlPC90ZD48dGQgYWxpZ249ImxlZnQiPklmIHRydWUsIHRoZSBTd2l0Y2hGYWxsdGhyb3VnaCBkZXRlY3RvciB3aWxsIG9ubHkgcmVwb3J0Ci0gICAgICB3YXJuaW5ncyBmb3IgY2FzZXMgd2hlcmUgdGhlIHNvdXJjZSBjb2RlIGRvZXMgbm90IGhhdmUgYSBjb21tZW50Ci0gICAgICBjb250YWluaW5nIHRoZSB3b3JkcyAiZmFsbCIgb3IgIm5vYnJlYWsiLiAgKEFuIGFjY3VyYXRlIHNvdXJjZQotICAgICAgcGF0aCBtdXN0IGJlIHVzZWQgZm9yIHRoaXMgZmVhdHVyZSB0byB3b3JrIGNvcnJlY3RseS4pCi0gICAgICBUaGlzIGhlbHBzIGZpbmQgY2FzZXMgd2hlcmUgdGhlIHN3aXRjaCBmYWxsdGhyb3VnaCBpcyBsaWtlbHkKLSAgICAgIHRvIGJlIHVuaW50ZW50aW9uYWwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48YnIgY2xhc3M9InRhYmxlLWJyZWFrIj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImZpbHRlci5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJhbm5vdGF0aW9ucy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Q2hhcHRlciZuYnNwOzguJm5ic3A7RmlsdGVyIEZpbGVzJm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwO0NoYXB0ZXImbmJzcDsxMC4mbmJzcDtBbm5vdGF0aW9uczwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9hbm5vdGF0aW9ucy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9hbm5vdGF0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTkwOWY5Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvYW5ub3RhdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi08aHRtbD48aGVhZD4KLSAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgotICAgPHRpdGxlPkNoYXB0ZXImbmJzcDsxMC4mbmJzcDtBbm5vdGF0aW9uczwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43Ni4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgTWFudWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7OS4mbmJzcDtBbmFseXNpcyBQcm9wZXJ0aWVzIj48bGluayByZWw9Im5leHQiIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxMS4mbmJzcDtVc2luZyByZWphckZvckFuYWx5c2lzIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7MTAuJm5ic3A7QW5ub3RhdGlvbnM8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxMC4mbmJzcDtBbm5vdGF0aW9ucyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iYW5ub3RhdGlvbnMiPjwvYT5DaGFwdGVyJm5ic3A7MTAuJm5ic3A7QW5ub3RhdGlvbnM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gc3VwcG9ydHMgc2V2ZXJhbCBhbm5vdGF0aW9ucyB0byBleHByZXNzIHRoZSBkZXZlbG9wZXIncyBpbnRlbnQKLXNvIHRoYXQgRmluZEJ1Z3MgY2FuIGlzc3VlIHdhcm5pbmdzIG1vcmUgYXBwcm9wcmlhdGVseS4gWW91IG5lZWQgdG8gdXNlCi1KYXZhIDUgdG8gdXNlIGFubm90YXRpb25zLCBhbmQgbXVzdCBwbGFjZSB0aGUgYW5ub3RhdGlvbnMuamFyIGFuZCBqc3IzMDUuamFyCi1maWxlcyBpbiB0aGUgY2xhc3NwYXRoIHdoaWxlIGNvbXBpbGluZyB5b3VyIHByb2dyYW0uCi08L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkNoZWNrRm9yTnVsbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1RhcmdldF08L3N0cm9uZz48L3NwYW4+IEZpZWxkLCBNZXRob2QsIFBhcmFtZXRlcgotICAgIDxwPgotVGhlIGFubm90YXRlZCBlbGVtZW50IG1pZ2h0IGJlIG51bGwsIGFuZCB1c2VzIG9mIHRoZSBlbGVtZW50IHNob3VsZCBjaGVjayBmb3IgbnVsbC4KLVdoZW4gdGhpcyBhbm5vdGF0aW9uIGlzIGFwcGxpZWQgdG8gYSBtZXRob2QgaXQgYXBwbGllcyB0byB0aGUgbWV0aG9kIHJldHVybiB2YWx1ZS4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5DaGVja1JldHVyblZhbHVlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bVGFyZ2V0XTwvc3Ryb25nPjwvc3Bhbj4gTWV0aG9kLCBDb25zdHJ1Y3RvcgotICAgIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1BhcmFtZXRlcl08L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5wcmlvcml0eTo8L3N0cm9uZz48L3NwYW4+VGhlIHByaW9yaXR5IG9mIHRoZSB3YXJuaW5nIChISUdILCBNRURJVU0sIExPVywgSUdOT1JFKS4gRGVmYXVsdCB2YWx1ZTpNRURJVU0uCi0gICAgICAgICAgICA8L3A+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmV4cGxhbmF0aW9uOjwvc3Ryb25nPjwvc3Bhbj5BIHRleHR1YWwgZXhwbGFpbmF0aW9uIG9mIHdoeSB0aGUgcmV0dXJuIHZhbHVlIHNob3VsZCBiZSBjaGVja2VkLiBEZWZhdWx0IHZhbHVlOiIiLgotICAgICAgICAgICAgPC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KLVRoaXMgYW5ub3RhdGlvbiBpcyB1c2VkIHRvIGRlbm90ZSBhIG1ldGhvZCB3aG9zZSByZXR1cm4gdmFsdWUgc2hvdWxkIGFsd2F5cyBiZSBjaGVja2VkIGFmdGVyIGludm9raW5nIHRoZSBtZXRob2QuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuRGVmYXVsdEFubm90YXRpb248L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBUeXBlLCBQYWNrYWdlCi0gICAgPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bUGFyYW1ldGVyXTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnZhbHVlOjwvc3Ryb25nPjwvc3Bhbj5Bbm5vdGF0aW9uIGNsYXNzIG9iamVjdHMuIE1vcmUgdGhhbiBvbmUgY2xhc3MgY2FuIGJlIHNwZWNpZmllZC4KLSAgICAgICAgICAgIDwvcD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cHJpb3JpdHk6PC9zdHJvbmc+PC9zcGFuPkRlZmF1bHQgcHJpb3JpdHkoSElHSCwgTUVESVVNLCBMT1csIElHTk9SRSkuIERlZmF1bHQgdmFsdWU6TUVESVVNLgotICAgICAgICAgICAgPC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KLUluZGljYXRlcyB0aGF0IGFsbCBtZW1iZXJzIG9mIHRoZSBjbGFzcyBvciBwYWNrYWdlIHNob3VsZCBiZSBhbm5vdGF0ZWQgd2l0aCB0aGUgZGVmYXVsdAotdmFsdWUgb2YgdGhlIHN1cHBsaWVkIGFubm90YXRpb24gY2xhc3Nlcy4gVGhpcyB3b3VsZCBiZSB1c2VkIGZvciBiZWhhdmlvciBhbm5vdGF0aW9ucwotc3VjaCBhcyBATm9uTnVsbCwgQENoZWNrRm9yTnVsbCwgb3IgQENoZWNrUmV0dXJuVmFsdWUuIEluIHBhcnRpY3VsYXIsIHlvdSBjYW4gdXNlCi1ARGVmYXVsdEFubm90YXRpb24oTm9uTnVsbC5jbGFzcykgb24gYSBjbGFzcyBvciBwYWNrYWdlLCBhbmQgdGhlbiB1c2UgQE51bGxhYmxlIG9ubHkKLW9uIHRob3NlIHBhcmFtZXRlcnMsIG1ldGhvZHMgb3IgZmllbGRzIHRoYXQgeW91IHdhbnQgdG8gYWxsb3cgdG8gYmUgbnVsbC4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5EZWZhdWx0QW5ub3RhdGlvbkZvckZpZWxkczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1RhcmdldF08L3N0cm9uZz48L3NwYW4+IFR5cGUsIFBhY2thZ2UKLSAgICA8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltQYXJhbWV0ZXJdPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dmFsdWU6PC9zdHJvbmc+PC9zcGFuPkFubm90YXRpb24gY2xhc3Mgb2JqZWN0cy4gTW9yZSB0aGFuIG9uZSBjbGFzcyBjYW4gYmUgc3BlY2lmaWVkLgotICAgICAgICAgICAgPC9wPjxwPgotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5wcmlvcml0eTo8L3N0cm9uZz48L3NwYW4+RGVmYXVsdCBwcmlvcml0eShISUdILCBNRURJVU0sIExPVywgSUdOT1JFKS4gRGVmYXVsdCB2YWx1ZTpNRURJVU0uCi0gICAgICAgICAgICA8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotVGhpcyBpcyBzYW1lIGFzIHRoZSBEZWZhdWx0QW5ub3RhdGlvbiBleGNlcHQgaXQgb25seSBhcHBseXMgdG8gZmllbGRzLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkRlZmF1bHRBbm5vdGF0aW9uRm9yTWV0aG9kczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1RhcmdldF08L3N0cm9uZz48L3NwYW4+IFR5cGUsIFBhY2thZ2UKLSAgICA8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltQYXJhbWV0ZXJdPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dmFsdWU6PC9zdHJvbmc+PC9zcGFuPkFubm90YXRpb24gY2xhc3Mgb2JqZWN0cy4gTW9yZSB0aGFuIG9uZSBjbGFzcyBjYW4gYmUgc3BlY2lmaWVkLgotICAgICAgICAgICAgPC9wPjxwPgotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5wcmlvcml0eTo8L3N0cm9uZz48L3NwYW4+RGVmYXVsdCBwcmlvcml0eShISUdILCBNRURJVU0sIExPVywgSUdOT1JFKS4gRGVmYXVsdCB2YWx1ZTpNRURJVU0uCi0gICAgICAgICAgICA8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotVGhpcyBpcyBzYW1lIGFzIHRoZSBEZWZhdWx0QW5ub3RhdGlvbiBleGNlcHQgaXQgb25seSBhcHBseXMgdG8gbWV0aG9kcy4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5EZWZhdWx0QW5ub3RhdGlvbkZvclBhcmFtZXRlcnM8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBUeXBlLCBQYWNrYWdlCi0gICAgPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bUGFyYW1ldGVyXTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnZhbHVlOjwvc3Ryb25nPjwvc3Bhbj5Bbm5vdGF0aW9uIGNsYXNzIG9iamVjdHMuIE1vcmUgdGhhbiBvbmUgY2xhc3MgY2FuIGJlIHNwZWNpZmllZC4KLSAgICAgICAgICAgIDwvcD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cHJpb3JpdHk6PC9zdHJvbmc+PC9zcGFuPkRlZmF1bHQgcHJpb3JpdHkoSElHSCwgTUVESVVNLCBMT1csIElHTk9SRSkuIERlZmF1bHQgdmFsdWU6TUVESVVNLgotICAgICAgICAgICAgPC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KLVRoaXMgaXMgc2FtZSBhcyB0aGUgRGVmYXVsdEFubm90YXRpb24gZXhjZXB0IGl0IG9ubHkgYXBwbHlzIHRvIG1ldGhvZCBwYXJhbWV0ZXJzLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLk5vbk51bGw8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8cD4KLVRoZSBhbm5vdGF0ZWQgZWxlbWVudCBtdXN0IG5vdCBiZSBudWxsLgotQW5ub3RhdGVkIGZpZWxkcyBtdXN0IG5vdCBiZSBudWxsIGFmdGVyIGNvbnN0cnVjdGlvbiBoYXMgY29tcGxldGVkLiBBbm5vdGF0ZWQgbWV0aG9kcyBtdXN0IGhhdmUgbm9uLW51bGwgcmV0dXJuIHZhbHVlcy4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5OdWxsYWJsZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1RhcmdldF08L3N0cm9uZz48L3NwYW4+IEZpZWxkLCBNZXRob2QsIFBhcmFtZXRlcgotICAgIDxwPgotVGhlIGFubm90YXRlZCBlbGVtZW50IGNvdWxkIGJlIG51bGwgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzLiBJbiBnZW5lcmFsLCB0aGlzIG1lYW5zCi1kZXZlbG9wZXJzIHdpbGwgaGF2ZSB0byByZWFkIHRoZSBkb2N1bWVudGF0aW9uIHRvIGRldGVybWluZSB3aGVuIGEgbnVsbCB2YWx1ZSBpcwotYWNjZXB0YWJsZSBhbmQgd2hldGhlciBpdCBpcyBuZWNjZXNzYXJ5IHRvIGNoZWNrIGZvciBhIG51bGwgdmFsdWUuICBGaW5kQnVncyB3aWxsCi10cmVhdCB0aGUgYW5ub3RhdGVkIGl0ZW1zIGFzIHRob3VnaCB0aGV5IGhhZCBubyBhbm5vdGF0aW9uLgotICAgICAgPC9wPjxwPgotSW4gcHJhdGljZSB0aGlzIGFubm90YXRpb24gaXMgdXNlZnVsIG9ubHkgZm9yIG92ZXJyaWRpbmcgYW4gb3ZlcmFyY2hpbmcgTm9uTnVsbAotYW5ub3RhdGlvbi4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5PdmVycmlkZU11c3RJbnZva2U8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBNZXRob2QKLSAgICA8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltQYXJhbWV0ZXJdPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dmFsdWU6PC9zdHJvbmc+PC9zcGFuPlNwZWNpZnkgd2hlbiB0aGUgc3VwZXIgaW52b2NhdGlvbiBzaG91bGQgYmUKLSAgICAgICAgICAgICAgcGVyZm9ybWVkIChGSVJTVCwgQU5ZVElNRSwgTEFTVCkuIERlZmF1bHQgdmFsdWU6QU5ZVElNRS4KLSAgICAgICAgICAgIDwvcD48L2RkPjwvZGw+PC9kaXY+PHA+Ci1Vc2VkIHRvIGFubm90YXRlIGEgbWV0aG9kIHRoYXQsIGlmIG92ZXJyaWRkZW4sIG11c3QgKG9yIHNob3VsZCkgYmUgaW52b2tlIHN1cGVyCi1pbiB0aGUgb3ZlcnJpZGluZyBtZXRob2QuIEV4YW1wbGVzIG9mIHN1Y2ggbWV0aG9kcyBpbmNsdWRlIGZpbmFsaXplKCkgYW5kIGNsb25lKCkuCi1UaGUgYXJndW1lbnQgdG8gdGhlIG1ldGhvZCBpbmRpY2F0ZXMgd2hlbiB0aGUgc3VwZXIgaW52b2NhdGlvbiBzaG91bGQgb2NjdXI6Ci1hdCBhbnkgdGltZSwgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgb3ZlcnJpZGluZyBtZXRob2QsIG9yIGF0IHRoZSBlbmQgb2YgdGhlIG92ZXJyaWRpbmcgbWV0aG9kLgotKFRoaXMgYW5vdGF0aW9uIGlzIG5vdCBpbXBsbWVtZW50ZWQgaW4gRmluZEJ1Z3MgYXMgb2YgU2VwdGVtYmVyIDgsIDIwMDYpLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLlBvc3NpYmx5TnVsbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci1UaGlzIGFubm90YXRpb24gaXMgZGVwcmVjYXRlZC4gVXNlIENoZWNrRm9yTnVsbCBpbnN0ZWFkLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLlN1cHByZXNzV2FybmluZ3M8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBUeXBlLCBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIsIENvbnN0cnVjdG9yLCBQYWNrYWdlCi0gICAgPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5bUGFyYW1ldGVyXTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnZhbHVlOjwvc3Ryb25nPjwvc3Bhbj5UaGUgbmFtZSBvZiB0aGUgd2FybmluZy4gTW9yZSB0aGFuIG9uZSBuYW1lIGNhbiBiZSBzcGVjaWZpZWQuCi0gICAgICAgICAgICA8L3A+PHA+Ci0gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmp1c3RpZmljYXRpb246PC9zdHJvbmc+PC9zcGFuPlJlYXNvbiB3aHkgdGhlIHdhcm5pbmcgc2hvdWxkIGJlIGlnbm9yZWQuIERlZmF1bHQgdmFsdWU6IiIuCi0gICAgICAgICAgICA8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotVGhlIHNldCBvZiB3YXJuaW5ncyB0aGF0IGFyZSB0byBiZSBzdXBwcmVzc2VkIGJ5IHRoZSBjb21waWxlciBpbiB0aGUgYW5ub3RhdGVkIGVsZW1lbnQuCi1EdXBsaWNhdGUgbmFtZXMgYXJlIHBlcm1pdHRlZC4gIFRoZSBzZWNvbmQgYW5kIHN1Y2Nlc3NpdmUgb2NjdXJyZW5jZXMgb2YgYSBuYW1lIGFyZSBpZ25vcmVkLgotVGhlIHByZXNlbmNlIG9mIHVucmVjb2duaXplZCB3YXJuaW5nIG5hbWVzIGlzIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPm5vdDwvZW0+PC9zcGFuPiBhbiBlcnJvcjogQ29tcGlsZXJzCi1tdXN0IGlnbm9yZSBhbnkgd2FybmluZyBuYW1lcyB0aGV5IGRvIG5vdCByZWNvZ25pemUuIFRoZXkgYXJlLCBob3dldmVyLCBmcmVlIHRvIGVtaXQgYQotd2FybmluZyBpZiBhbiBhbm5vdGF0aW9uIGNvbnRhaW5zIGFuIHVucmVjb2duaXplZCB3YXJuaW5nIG5hbWUuIENvbXBpbGVyIHZlbmRvcnMgc2hvdWxkCi1kb2N1bWVudCB0aGUgd2FybmluZyBuYW1lcyB0aGV5IHN1cHBvcnQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGlzIGFubm90YXRpb24gdHlwZS4gVGhleQotYXJlIGVuY291cmFnZWQgdG8gY29vcGVyYXRlIHRvIGVuc3VyZSB0aGF0IHRoZSBzYW1lIG5hbWVzIHdvcmsgYWNyb3NzIG11bHRpcGxlIGNvbXBpbGVycy4KLSAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5Vbmtub3duTnVsbG5lc3M8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPltUYXJnZXRdPC9zdHJvbmc+PC9zcGFuPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8cD4KLVVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgbnVsbG5lc3Mgb2YgdGhlIHRhcmdldCBpcyB1bmtub3duLCBvciBteSB2YXJ5IGluIHVua25vd24gd2F5cyBpbiBzdWJjbGFzc2VzLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLlVua25vd25OdWxsbmVzczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+W1RhcmdldF08L3N0cm9uZz48L3NwYW4+IEZpZWxkLCBNZXRob2QsIFBhcmFtZXRlcgotICAgIDxwPgotVXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBudWxsbmVzcyBvZiB0aGUgdGFyZ2V0IGlzIHVua25vd24sIG9yIG15IHZhcnkgaW4gdW5rbm93biB3YXlzIGluIHN1YmNsYXNzZXMuCi0gICAgICA8L3A+PC9kZD48L2RsPjwvZGl2PjxwPgotIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGFsc28gc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBhbm5vdGF0aW9uczoKLTwvcD48ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Imxpc3RpdGVtIj5uZXQuamNpcC5hbm5vdGF0aW9ucy5HdWFyZGVkQnk8L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPm5ldC5qY2lwLmFubm90YXRpb25zLkltbXV0YWJsZTwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+bmV0LmpjaXAuYW5ub3RhdGlvbnMuTm90VGhyZWFkU2FmZTwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+bmV0LmpjaXAuYW5ub3RhdGlvbnMuVGhyZWFkU2FmZTwvbGk+PC91bD48L2Rpdj48cD4KLTwvcD48cD4KLVlvdSBjYW4gcmVmZXIgdGhlIEpDSVAgYW5ub3RhdGlvbiA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9qY2lwLm5ldC9hbm5vdGF0aW9ucy9kb2MvaW5kZXguaHRtbCIgdGFyZ2V0PSJfdG9wIj4KLUFQSSBkb2N1bWVudGF0aW9uPC9hPiBhdCA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9qY2lwLm5ldC8iIHRhcmdldD0iX3RvcCI+SmF2YSBDb25jdXJyZW5jeSBpbiBQcmFjdGljZTwvYT4uCi08L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPkNoYXB0ZXImbmJzcDs5LiZuYnNwO0FuYWx5c2lzIFByb3BlcnRpZXMmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+Jm5ic3A7Q2hhcHRlciZuYnNwOzExLiZuYnNwO1VzaW5nIHJlamFyRm9yQW5hbHlzaXM8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvYW50dGFzay5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9hbnR0YXNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2MDFlMWYuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9hbnR0YXNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMTQgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT5DaGFwdGVyJm5ic3A7Ni4mbmJzcDtVc2luZyB0aGUgRmluZEJ1Z3MmIzg0ODI7IEFudCB0YXNrPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc2LjEiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgTWFudWFsIj48bGluayByZWw9InByZXYiIGhyZWY9Imd1aS5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzUuJm5ic3A7VXNpbmcgdGhlIEZpbmRCdWdzIEdVSSI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJlY2xpcHNlLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7Ny4mbmJzcDtVc2luZyB0aGUgRmluZEJ1Z3MmIzg0ODI7IEVjbGlwc2UgcGx1Z2luIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7Ni4mbmJzcDtVc2luZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrPC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iZ3VpLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImVjbGlwc2UuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IkNoYXB0ZXImbmJzcDs2LiZuYnNwO1VzaW5nIHRoZSBGaW5kQnVncyYjODQ4MjsgQW50IHRhc2siPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImFudHRhc2siPjwvYT5DaGFwdGVyJm5ic3A7Ni4mbmJzcDtVc2luZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPlRhYmxlIG9mIENvbnRlbnRzPC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYW50dGFzay5odG1sI2QwZTEyMDUiPjEuIEluc3RhbGxpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFudHRhc2suaHRtbCNkMGUxMjQzIj4yLiBNb2RpZnlpbmcgYnVpbGQueG1sPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFudHRhc2suaHRtbCNkMGUxMzE0Ij4zLiBFeGVjdXRpbmcgdGhlIHRhc2s8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYW50dGFzay5odG1sI2QwZTEzMzkiPjQuIFBhcmFtZXRlcnM8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2Rpdj48cD4KLVRoaXMgY2hhcHRlciBkZXNjcmliZXMgaG93IHRvIGludGVncmF0ZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBpbnRvIGEgYnVpbGQgc2NyaXB0Ci1mb3IgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPjwvYT4sIHdoaWNoIGlzIGEgcG9wdWxhciBKYXZhIGJ1aWxkCi1hbmQgZGVwbG95bWVudCB0b29sLiAgVXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrLCB5b3VyIGJ1aWxkIHNjcmlwdCBjYW4KLWF1dG9tYXRpY2FsbHkgcnVuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IG9uIHlvdXIgSmF2YSBjb2RlLgotPC9wPjxwPgotVGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrIHdhcyBnZW5lcm91c2x5IGNvbnRyaWJ1dGVkIGJ5IE1pa2UgRmFnYW4uCi08L3A+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiZuYnNwO0luc3RhbGxpbmcgdGhlIEFudCB0YXNrIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTEyMDUiPjwvYT4xLiZuYnNwO0luc3RhbGxpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLVRvIGluc3RhbGwgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrLCBzaW1wbHkgY29weSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiRGSU5EQlVHU19IT01FPC9jb2RlPjwvZW0+L2xpYi9maW5kYnVncy1hbnQuamFyPC9jb2RlPgotaW50byB0aGUgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5saWI8L2NvZGU+IHN1YmRpcmVjdG9yeSBvZiB5b3VyIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiBpbnN0YWxsYXRpb24uCi0KLTwvcD48ZGl2IGNsYXNzPSJub3RlIiB0aXRsZT0iTm90ZSIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ik5vdGUiPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltOb3RlXSIgc3JjPSJub3RlLnBuZyI+PC90ZD48dGggYWxpZ249ImxlZnQiPk5vdGU8L3RoPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjxwPkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRoYXQgeW91IHVzZSB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+IHRhc2sgd2l0aCB0aGUgdmVyc2lvbgotb2YgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gaXQgd2FzIGluY2x1ZGVkIHdpdGguICBXZSBkbyBub3QgZ3VhcmFudGVlIHRoYXQgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrIEphciBmaWxlCi13aWxsIHdvcmsgd2l0aCBhbnkgdmVyc2lvbiBvZiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBvdGhlciB0aGFuIHRoZSBvbmUgaXQgd2FzIGluY2x1ZGVkIHdpdGguPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMi4mbmJzcDtNb2RpZnlpbmcgYnVpbGQueG1sIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTEyNDMiPjwvYT4yLiZuYnNwO01vZGlmeWluZyBidWlsZC54bWw8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotVG8gaW5jb3Jwb3JhdGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gaW50byA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJ1aWxkLnhtbDwvY29kZT4gKHRoZSBidWlsZCBzY3JpcHQKLWZvciA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4pLCB5b3UgZmlyc3QgbmVlZCB0byBhZGQgYSB0YXNrIGRlZmluaXRpb24uICBUaGlzIHNob3VsZCBhcHBlYXIgYXMgZm9sbG93czoKLQotPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci0gICZsdDt0YXNrZGVmIG5hbWU9ImZpbmRidWdzIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5GaW5kQnVnc1Rhc2siLyZndDsKLTwvcHJlPjxwPgotCi1UaGUgdGFzayBkZWZpbml0aW9uIHNwZWNpZmllcyB0aGF0IHdoZW4gYSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZmluZGJ1Z3M8L2NvZGU+IGVsZW1lbnQgaXMKLXNlZW4gaW4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5idWlsZC54bWw8L2NvZGU+LCBpdCBzaG91bGQgdXNlIHRoZSBpbmRpY2F0ZWQgY2xhc3MgdG8gZXhlY3V0ZSB0aGUgdGFzay4KLTwvcD48cD4KLUFmdGVyIHlvdSBoYXZlIGFkZGVkIHRoZSB0YXNrIGRlZmluaXRpb24sIHlvdSBjYW4gZGVmaW5lIGEgdGFyZ2V0Ci13aGljaCB1c2VzIHRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZmluZGJ1Z3M8L2NvZGU+IHRhc2suICBIZXJlIGlzIGFuIGV4YW1wbGUKLXdoaWNoIGNvdWxkIGJlIGFkZGVkIHRvIHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJ1aWxkLnhtbDwvY29kZT4gZm9yIHRoZQotQXBhY2hlIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy9iY2VsLyIgdGFyZ2V0PSJfdG9wIj5CQ0VMPC9hPiBsaWJyYXJ5LgotCi08L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLSAgJmx0O3Byb3BlcnR5IG5hbWU9ImZpbmRidWdzLmhvbWUiIHZhbHVlPSIvZXhwb3J0L2hvbWUvZGF2ZWhvL3dvcmsvZmluZGJ1Z3MiIC8mZ3Q7Ci0KLSAgJmx0O3RhcmdldCBuYW1lPSJmaW5kYnVncyIgZGVwZW5kcz0iamFyIiZndDsKLSAgICAmbHQ7ZmluZGJ1Z3MgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgb3V0cHV0PSJ4bWwiCi0gICAgICAgICAgICAgIG91dHB1dEZpbGU9ImJjZWwtZmIueG1sIiAmZ3Q7Ci0gICAgICAmbHQ7YXV4Q2xhc3NwYXRoIHBhdGg9IiR7YmFzZWRpcn0vbGliL1JlZ2V4LmphciIgLyZndDsKLSAgICAgICZsdDtzb3VyY2VQYXRoIHBhdGg9IiR7YmFzZWRpcn0vc3JjL2phdmEiIC8mZ3Q7Ci0gICAgICAmbHQ7Y2xhc3MgbG9jYXRpb249IiR7YmFzZWRpcn0vYmluL2JjZWwuamFyIiAvJmd0OwotICAgICZsdDsvZmluZGJ1Z3MmZ3Q7Ci0gICZsdDsvdGFyZ2V0Jmd0OwotPC9wcmU+PHA+Ci0KLVRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZmluZGJ1Z3M8L2NvZGU+IGVsZW1lbnQgbXVzdCBoYXZlIHRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+aG9tZTwvY29kZT4KLWF0dHJpYnV0ZSBzZXQgdG8gdGhlIGRpcmVjdG9yeSBpbiB3aGljaCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBpcyBpbnN0YWxsZWQ7IGluIG90aGVyIHdvcmRzLAotPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JEZJTkRCVUdTX0hPTUU8L2NvZGU+PC9lbT4uICBTZWUgPGEgY2xhc3M9InhyZWYiIGhyZWY9Imluc3RhbGxpbmcuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsyLiZuYnNwO0luc3RhbGxpbmcgRmluZEJ1Z3MmIzg0ODI7Ij5DaGFwdGVyJm5ic3A7MiwgPGk+SW5zdGFsbGluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4Mjs8L2k+PC9hPi4KLTwvcD48cD4KLVRoaXMgdGFyZ2V0IHdpbGwgZXhlY3V0ZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBvbiA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJjZWwuamFyPC9jb2RlPiwgd2hpY2ggaXMgdGhlCi1KYXIgZmlsZSBwcm9kdWNlZCBieSBCQ0VMJ3MgYnVpbGQgc2NyaXB0LiAgKEJ5IG1ha2luZyBpdCBkZXBlbmQgb24gdGhlICJqYXIiCi10YXJnZXQsIHdlIGVuc3VyZSB0aGF0IHRoZSBsaWJyYXJ5IGlzIGZ1bGx5IGNvbXBpbGVkIGJlZm9yZSBydW5uaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IG9uIGl0LikKLVRoZSBvdXRwdXQgb2YgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gd2lsbCBiZSBzYXZlZCBpbiBYTUwgZm9ybWF0IHRvIGEgZmlsZSBjYWxsZWQKLTxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+YmNlbC1mYi54bWw8L2NvZGU+LgotQW4gYXV4aWxpYXJ5IEphciBmaWxlLCA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPlJlZ2V4LmphcjwvY29kZT4sIGlzIGFkZGVkIHRvIHRoZSBhdXggY2xhc3NwYXRoLAotYmVjYXVzZSBpdCBpcyByZWZlcmVuY2VkIGJ5IHRoZSBtYWluIEJDRUwgbGlicmFyeS4gIEEgc291cmNlIHBhdGggaXMgc3BlY2lmaWVkCi1zbyB0aGF0IHRoZSBzYXZlZCBidWcgZGF0YSB3aWxsIGhhdmUgYWNjdXJhdGUgcmVmZXJlbmNlcyB0byB0aGUgQkNFTCBzb3VyY2UgY29kZS4KLTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjMuJm5ic3A7RXhlY3V0aW5nIHRoZSB0YXNrIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTEzMTQiPjwvYT4zLiZuYnNwO0V4ZWN1dGluZyB0aGUgdGFzazwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci1IZXJlIGlzIGFuIGV4YW1wbGUgb2YgaW52b2tpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+IGZyb20gdGhlIGNvbW1hbmQgbGluZSwgdXNpbmcgdGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5maW5kYnVnczwvY29kZT4KLXRhcmdldCBkZWZpbmVkIGFib3ZlLgotCi08L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLSAgPGNvZGUgY2xhc3M9InByb21wdCI+W2RhdmVob0Bub2lyXSQ8L2NvZGU+IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmFudCBmaW5kYnVnczwvc3Ryb25nPjwvc3Bhbj4KLSAgQnVpbGRmaWxlOiBidWlsZC54bWwKLQotICBpbml0OgotCi0gIGNvbXBpbGU6Ci0KLSAgZXhhbXBsZXM6Ci0KLSAgamFyOgotCi0gIGZpbmRidWdzOgotICAgW2ZpbmRidWdzXSBSdW5uaW5nIEZpbmRCdWdzLi4uCi0gICBbZmluZGJ1Z3NdIEJ1Z3Mgd2VyZSBmb3VuZAotICAgW2ZpbmRidWdzXSBPdXRwdXQgc2F2ZWQgdG8gYmNlbC1mYi54bWwKLQotICBCVUlMRCBTVUNDRVNTRlVMCi0gIFRvdGFsIHRpbWU6IDM1IHNlY29uZHMKLTwvcHJlPjxwPgotCi1JbiB0aGlzIGNhc2UsIGJlY2F1c2Ugd2Ugc2F2ZWQgdGhlIGJ1ZyByZXN1bHRzIGluIGFuIFhNTCBmaWxlLCB3ZSBjYW4KLXVzZSB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJIHRvIHZpZXcgdGhlIHJlc3VsdHM7IHNlZSA8YSBjbGFzcz0ieHJlZiIgaHJlZj0icnVubmluZy5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzQuJm5ic3A7UnVubmluZyBGaW5kQnVncyYjODQ4MjsiPkNoYXB0ZXImbmJzcDs0LCA8aT5SdW5uaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvaT48L2E+LgotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iNC4mbmJzcDtQYXJhbWV0ZXJzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTEzMzkiPjwvYT40LiZuYnNwO1BhcmFtZXRlcnM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPlRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIHBhcmFtZXRlcnMgdGhhdCBtYXkgYmUgc3BlY2lmaWVkIHdoZW4KLXVzaW5nIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiB0YXNrLgotCi08L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Y2xhc3M8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIEEgb3B0aW9uYWwgbmVzdGVkIGVsZW1lbnQgc3BlY2lmeWluZyB3aGljaCBjbGFzc2VzIHRvIGFuYWx5emUuICBUaGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNsYXNzPC9jb2RlPgotICAgICAgIGVsZW1lbnQgbXVzdCBzcGVjaWZ5IGEgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmxvY2F0aW9uPC9jb2RlPiBhdHRyaWJ1dGUgd2hpY2ggbmFtZXMgdGhlCi0gICAgICAgYXJjaGl2ZSBmaWxlIChqYXIsIHppcCwgZXRjLiksIGRpcmVjdG9yeSwgb3IgY2xhc3MgZmlsZSB0byBiZSBhbmFseXplZC4gIE11bHRpcGxlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5jbGFzczwvY29kZT4KLSAgICAgICBlbGVtZW50cyBtYXkgYmUgc3BlY2lmaWVkIGFzIGNoaWxkcmVuIG9mIGEgc2luZ2xlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5maW5kYnVnczwvY29kZT4gZWxlbWVudC4KLSAgICAgICA8L3A+PHA+SW4gYWRkaXRpb24gdG8gb3IgaW5zdGVhZCBvZiBzcGVjaWZ5aW5nIGEgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNsYXNzPC9jb2RlPiBlbGVtZW50LAotICAgICAgIHRoZSAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gdGFzayBjYW4gY29udGFpbiBvbmUgb3IgbW9yZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZmlsZXNldDwvY29kZT4gZWxlbWVudChzKSB0aGF0Ci0gICAgICAgc3BlY2lmeSBmaWxlcyB0byBiZSBhbmFseXplZC4KLSAgICAgICBGb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHVzZSBhIGZpbGVzZXQgdG8gc3BlY2lmeSB0aGF0IGFsbCBvZiB0aGUgamFyIGZpbGVzIGluIGEgZGlyZWN0b3J5Ci0gICAgICAgc2hvdWxkIGJlIGFuYWx5emVkLgotICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmF1eENsYXNzcGF0aDwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgQW4gb3B0aW9uYWwgbmVzdGVkIGVsZW1lbnQgd2hpY2ggc3BlY2lmaWVzIGEgY2xhc3NwYXRoIChKYXIgZmlsZXMgb3IgZGlyZWN0b3JpZXMpCi0gICAgICAgY29udGFpbmluZyBjbGFzc2VzIHVzZWQgYnkgdGhlIGFuYWx5emVkIGxpYnJhcnkgb3IgYXBwbGljYXRpb24sIGJ1dCB3aGljaAotICAgICAgIHlvdSBkb24ndCB3YW50IHRvIGFuYWx5emUuICBJdCBpcyBzcGVjaWZpZWQgdGhlIHNhbWUgd2F5IGFzCi0gICAgICAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+J3MgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNsYXNzcGF0aDwvY29kZT4gZWxlbWVudCBmb3IgdGhlIEphdmEgdGFzay4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5zb3VyY2VQYXRoPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBBbiBvcHRpb25hbCBuZXN0ZWQgZWxlbWVudCB3aGljaCBzcGVjaWZpZXMgYSBzb3VyY2UgZGlyZWN0b3J5IHBhdGgKLSAgICAgICBjb250YWluaW5nIHNvdXJjZSBmaWxlcyB1c2VkIHRvIGNvbXBpbGUgdGhlIEphdmEgY29kZSBiZWluZyBhbmFseXplZC4KLSAgICAgICBCeSBzcGVjaWZ5aW5nIGEgc291cmNlIHBhdGgsIGFueSBnZW5lcmF0ZWQgWE1MIGJ1ZyBvdXRwdXQgd2lsbCBoYXZlCi0gICAgICAgY29tcGxldGUgc291cmNlIGluZm9ybWF0aW9uLCB3aGljaCBhbGxvd3MgbGF0ZXIgdmlld2luZyBpbiB0aGUKLSAgICAgICBHVUkuCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+aG9tZTwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgQSByZXF1aXJlZCBhdHRyaWJ1dGUuCi0gICAgICAgSXQgbXVzdCBiZSBzZXQgdG8gdGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB3aGVyZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBpcyBpbnN0YWxsZWQuCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cXVpZXRFcnJvcnM8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIEFuIG9wdGlvbmFsIGJvb2xlYW4gYXR0cmlidXRlLgotICAgICAgIElmIHRydWUsIHJlcG9ydHMgb2Ygc2VyaW91cyBhbmFseXNpcyBlcnJvcnMgYW5kIG1pc3NpbmcgY2xhc3NlcyB3aWxsCi0gICAgICAgYmUgc3VwcHJlc3NlZCBpbiB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gb3V0cHV0LiAgRGVmYXVsdCBpcyBmYWxzZS4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5yZXBvcnRMZXZlbDwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgQW4gb3B0aW9uYWwgYXR0cmlidXRlLiAgSXQgc3BlY2lmaWVzCi0gICAgICAgdGhlIGNvbmZpZGVuY2UvcHJpb3JpdHkgdGhyZXNob2xkIGZvciByZXBvcnRpbmcgaXNzdWVzLiAgSWYgc2V0IHRvICJsb3ciLCBjb25maWRlbmNlIGlzIG5vdCB1c2VkIHRvIGZpbHRlciBidWdzLgotICAgICAgIElmIHNldCB0byAibWVkaXVtIiAodGhlIGRlZmF1bHQpLCBsb3cgY29uZmlkZW5jZSBpc3N1ZXMgYXJlIHN1cHJlc3NlZC4KLSAgICAgICBJZiBzZXQgdG8gImhpZ2giLCBvbmx5IGhpZ2ggY29uZmlkZW5jZSBidWdzIGFyZSByZXBvcnRlZC4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5vdXRwdXQ8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIE9wdGlvbmFsIGF0dHJpYnV0ZS4KLSAgICAgICBJdCBzcGVjaWZpZXMgdGhlIG91dHB1dCBmb3JtYXQuICBJZiBzZXQgdG8gInhtbCIgKHRoZSBkZWZhdWx0KSwgb3V0cHV0Ci0gICAgICAgaXMgaW4gWE1MIGZvcm1hdC4KLSAgICAgICBJZiBzZXQgdG8gInhtbDp3aXRoTWVzc2FnZXMiLCBvdXRwdXQgaXMgaW4gWE1MIGZvcm1hdCBhdWdtZW50ZWQgd2l0aAotICAgICAgIGh1bWFuLXJlYWRhYmxlIG1lc3NhZ2VzLiAgKFlvdSBzaG91bGQgdXNlIHRoaXMgZm9ybWF0IGlmIHlvdSBwbGFuCi0gICAgICAgIHRvIGdlbmVyYXRlIGEgcmVwb3J0IHVzaW5nIGFuIFhTTCBzdHlsZXNoZWV0LikKLSAgICAgICBJZiBzZXQgdG8gImh0bWwiLCBvdXRwdXQgaXMgaW4gSFRNTCBmb3JtYXR0ZWQgKGRlZmF1bHQgc3R5bGVzaGVldCBpcyBkZWZhdWx0LnhzbCkuCi0gICAgICAgIElmIHNldCB0byAidGV4dCIsIG91dHB1dCBpcyBpbiBhZC1ob2MgdGV4dCBmb3JtYXQuCi0gICAgICAgSWYgc2V0IHRvICJlbWFjcyIsIG91dHB1dCBpcyBpbiA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iIHRhcmdldD0iX3RvcCI+RW1hY3M8L2E+IGVycm9yIG1lc3NhZ2UgZm9ybWF0LgotICAgICAgIElmIHNldCB0byAieGRvY3MiLCBvdXRwdXQgaXMgeGRvYyBYTUwgZm9yIHVzZSB3aXRoIEFwYWNoZSBNYXZlbi4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5zdHlsZXNoZWV0PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUuCi0gICAgICBJdCBzcGVjaWZpZXMgdGhlIHN0eWxlc2hlZXQgdG8gdXNlIHRvIGdlbmVyYXRlIGh0bWwgb3V0cHV0IHdoZW4gdGhlIG91dHB1dCBpcyBzZXQgdG8gaHRtbC4KLSAgICAgIFN0eWxlc2hlZXRzIGluY2x1ZGVkIGluIHRoZSBGaW5kQnVncyBkaXN0cmlidXRpb24gaW5jbHVkZSBkZWZhdWx0LnhzbCwgZmFuY3kueHNsLCBmYW5jeS1oaXN0LnhzbCwgcGxhaW4ueHNsLCBhbmQgc3VtbWFyeS54c2wuCi0gICAgICAgVGhlIGRlZmF1bHQgdmFsdWUsIGlmIG5vIHN0eWxlc2hlZXQgYXR0cmlidXRlIGlzIHByb3ZpZGVkLCBpcyBkZWZhdWx0LnhzbC4KLQotICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnNvcnQ8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIE9wdGlvbmFsIGF0dHJpYnV0ZS4gIElmIHRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+b3V0cHV0PC9jb2RlPiBhdHRyaWJ1dGUKLSAgICAgICBpcyBzZXQgdG8gInRleHQiLCB0aGVuIHRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+c29ydDwvY29kZT4gYXR0cmlidXRlIHNwZWNpZmllcwotICAgICAgIHdoZXRoZXIgb3Igbm90IHJlcG9ydGVkIGJ1Z3MgYXJlIHNvcnRlZCBieSBjbGFzcy4gIERlZmF1bHQgaXMgdHJ1ZS4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5vdXRwdXRGaWxlPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUuICBJZiBzcGVjaWZpZWQsIG5hbWVzIHRoZSBvdXRwdXQgZmlsZSBpbiB3aGljaCB0aGUKLSAgICAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBvdXRwdXQgd2lsbCBiZSBzYXZlZC4gIEJ5IGRlZmF1bHQsIHRoZSBvdXRwdXQgaXMgZGlzcGxheWVkCi0gICAgICAgZGlyZWN0bHkgYnkgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+LgotICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmRlYnVnPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgIE9wdGlvbmFsIGJvb2xlYW4gYXR0cmlidXRlLiAgSWYgc2V0IHRvIHRydWUsIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHByaW50cyBkaWFnbm9zdGljCi0gICAgICBpbmZvcm1hdGlvbiBhYm91dCB3aGljaCBjbGFzc2VzIGFyZSBiZWluZyBhbmFseXplZCwgYW5kIHdoaWNoIGJ1ZyBwYXR0ZXJuCi0gICAgICBkZXRlY3RvcnMgYXJlIGJlaW5nIHJ1bi4gIERlZmF1bHQgaXMgZmFsc2UuCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZWZmb3J0PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgICAgU2V0IHRoZSBhbmFseXNpcyBlZmZvcnQgbGV2ZWwuICBUaGUgdmFsdWUgc3BlY2lmaWVkIHNob3VsZCBiZQotICAgICAgICAgICAgICBvbmUgb2YgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPm1pbjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5kZWZhdWx0PC9jb2RlPiwKLSAgICAgICAgICAgICAgb3IgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPm1heDwvY29kZT4uICBTZWUgPGEgY2xhc3M9InhyZWYiIGhyZWY9InJ1bm5pbmcuaHRtbCNjb21tYW5kTGluZU9wdGlvbnMiIHRpdGxlPSIzLiZuYnNwO0NvbW1hbmQtbGluZSBPcHRpb25zIj5TZWN0aW9uJm5ic3A7MywgJiM4MjIwO0NvbW1hbmQtbGluZSBPcHRpb25zJiM4MjIxOzwvYT4KLSAgICAgICAgICAgICAgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2V0dGluZyB0aGUgYW5hbHlzaXMgbGV2ZWwuCi0gICAgICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Y29uc2VydmVTcGFjZTwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+U3lub255bSBmb3IgZWZmb3J0PSJtaW4iLjwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPndvcmtIYXJkPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD5TeW5vbnltIGZvciBlZmZvcnQ9Im1heCIuPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+dmlzaXRvcnM8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIE9wdGlvbmFsIGF0dHJpYnV0ZS4gIEl0IHNwZWNpZmllcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGJ1ZyBkZXRlY3RvcnMKLSAgICAgICB3aGljaCBzaG91bGQgYmUgcnVuLiAgVGhlIGJ1ZyBkZXRlY3RvcnMgYXJlIHNwZWNpZmllZCBieSB0aGVpciBjbGFzcyBuYW1lcywKLSAgICAgICB3aXRob3V0IGFueSBwYWNrYWdlIHF1YWxpZmljYXRpb24uICBCeSBkZWZhdWx0LCBhbGwgZGV0ZWN0b3JzIHdoaWNoIGFyZQotICAgICAgIG5vdCBkaXNhYmxlZCBieSBkZWZhdWx0IGFyZSBydW4uCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+b21pdFZpc2l0b3JzPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUuICBJdCBpcyBsaWtlIHRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+dmlzaXRvcnM8L2NvZGU+IGF0dHJpYnV0ZSwKLSAgICAgICBleGNlcHQgaXQgc3BlY2lmaWVzIGRldGVjdG9ycyB3aGljaCB3aWxsIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPm5vdDwvZW0+PC9zcGFuPiBiZSBydW4uCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+ZXhjbHVkZUZpbHRlcjwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLiAgSXQgc3BlY2lmaWVzIHRoZSBmaWxlbmFtZSBvZiBhIGZpbHRlciBzcGVjaWZ5aW5nIGJ1Z3MKLSAgICAgICB0byBleGNsdWRlIGZyb20gYmVpbmcgcmVwb3J0ZWQuICBTZWUgPGEgY2xhc3M9InhyZWYiIGhyZWY9ImZpbHRlci5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzguJm5ic3A7RmlsdGVyIEZpbGVzIj5DaGFwdGVyJm5ic3A7OCwgPGk+RmlsdGVyIEZpbGVzPC9pPjwvYT4uCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+aW5jbHVkZUZpbHRlcjwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLiAgSXQgc3BlY2lmaWVzIHRoZSBmaWxlbmFtZSBvZiBhIGZpbHRlciBzcGVjaWZ5aW5nCi0gICAgICAgd2hpY2ggYnVncyBhcmUgcmVwb3J0ZWQuICBTZWUgPGEgY2xhc3M9InhyZWYiIGhyZWY9ImZpbHRlci5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzguJm5ic3A7RmlsdGVyIEZpbGVzIj5DaGFwdGVyJm5ic3A7OCwgPGk+RmlsdGVyIEZpbGVzPC9pPjwvYT4uCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cHJvamVjdEZpbGU8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIE9wdGlvbmFsIGF0dHJpYnV0ZS4gIEl0IHNwZWNpZmllcyB0aGUgbmFtZSBvZiBhIHByb2plY3QgZmlsZS4KLSAgICAgICBQcm9qZWN0IGZpbGVzIGFyZSBjcmVhdGVkIGJ5IHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBHVUksIGFuZCBzcGVjaWZ5IGNsYXNzZXMsCi0gICAgICAgYXV4IGNsYXNzcGF0aCBlbnRyaWVzLCBhbmQgc291cmNlIGRpcmVjdG9yaWVzLiAgQnkgbmFtaW5nIGEgcHJvamVjdCwKLSAgICAgICB5b3UgZG9uJ3QgbmVlZCB0byBzcGVjaWZ5IGFueSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Y2xhc3M8L2NvZGU+IGVsZW1lbnRzLAotICAgICAgIG5vciBkbyB5b3UgbmVlZCB0byBzcGVjaWZ5IDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5hdXhDbGFzc3BhdGg8L2NvZGU+IG9yCi0gICAgICAgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnNvdXJjZVBhdGg8L2NvZGU+IGF0dHJpYnV0ZXMuCi0gICAgICAgU2VlIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJydW5uaW5nLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7NC4mbmJzcDtSdW5uaW5nIEZpbmRCdWdzJiM4NDgyOyI+Q2hhcHRlciZuYnNwOzQsIDxpPlJ1bm5pbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7PC9pPjwvYT4gZm9yIGhvdyB0byBjcmVhdGUgYSBwcm9qZWN0LgotICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmp2bWFyZ3M8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIE9wdGlvbmFsIGF0dHJpYnV0ZS4gIEl0IHNwZWNpZmllcyBhbnkgYXJndW1lbnRzIHRoYXQgc2hvdWxkIGJlIHBhc3NlZAotICAgICAgIHRvIHRoZSBKYXZhIHZpcnR1YWwgbWFjaGluZSB1c2VkIHRvIHJ1biA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPi4gIFlvdSBtYXkgbmVlZCB0bwotICAgICAgIHVzZSB0aGlzIGF0dHJpYnV0ZSB0byBzcGVjaWZ5IGZsYWdzIHRvIGluY3JlYXNlIHRoZSBhbW91bnQgb2YgbWVtb3J5Ci0gICAgICAgdGhlIEpWTSBtYXkgdXNlIGlmIHlvdSBhcmUgYW5hbHl6aW5nIGEgdmVyeSBsYXJnZSBwcm9ncmFtLgotICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPnN5c3RlbVByb3BlcnR5PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgIE9wdGlvbmFsIG5lc3RlZCBlbGVtZW50LiAgSWYgc3BlY2lmaWVkLCBkZWZpbmVzIGEgc3lzdGVtIHByb3BlcnR5LgotICAgICAgVGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5uYW1lPC9jb2RlPiBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZQotICAgICAgc3lzdGVtIHByb3BlcnR5LCBhbmQgdGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj52YWx1ZTwvY29kZT4gYXR0cmlidXRlIHNwZWNpZmllcwotICAgICAgdGhlIHZhbHVlIG9mIHRoZSBzeXN0ZW0gcHJvcGVydHkuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj50aW1lb3V0PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUuICBJdCBzcGVjaWZpZXMgdGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsCi0gICAgICAgdGhhdCB0aGUgSmF2YSBwcm9jZXNzIGV4ZWN1dGluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBtYXkgcnVuIGJlZm9yZSBpdCBpcwotICAgICAgIGFzc3VtZWQgdG8gYmUgaHVuZyBhbmQgaXMgdGVybWluYXRlZC4gIFRoZSBkZWZhdWx0IGlzIDYwMCwwMDAKLSAgICAgICBtaWxsaXNlY29uZHMsIHdoaWNoIGlzIHRlbiBtaW51dGVzLiAgTm90ZSB0aGF0IGZvciB2ZXJ5IGxhcmdlCi0gICAgICAgcHJvZ3JhbXMsIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IG1heSByZXF1aXJlIG1vcmUgdGhhbiB0ZW4gbWludXRlcyB0byBjb21wbGV0ZSBpdHMKLSAgICAgICBhbmFseXNpcy4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj5mYWlsT25FcnJvcjwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgT3B0aW9uYWwgYm9vbGVhbiBhdHRyaWJ1dGUuICBXaGV0aGVyIHRvIGFib3J0IHRoZSBidWlsZCBwcm9jZXNzIGlmIHRoZXJlIGlzIGFuCi0gICAgICAgZXJyb3IgcnVubmluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPi4gRGVmYXVsdHMgdG8gImZhbHNlIgotICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmVycm9yUHJvcGVydHk8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIE9wdGlvbmFsIGF0dHJpYnV0ZSB3aGljaCBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgYSBwcm9wZXJ0eSB0aGF0Ci0gICAgICAgd2lsbCBiZSBzZXQgdG8gInRydWUiIGlmIGFuIGVycm9yIG9jY3VycyB3aGlsZSBydW5uaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+LgotICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPndhcm5pbmdzUHJvcGVydHk8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgICBPcHRpb25hbCBhdHRyaWJ1dGUgd2hpY2ggc3BlY2lmaWVzIHRoZSBuYW1lIG9mIGEgcHJvcGVydHkKLSAgICAgICAgICAgICAgdGhhdCB3aWxsIGJlIHNldCB0byAidHJ1ZSIgaWYgYW55IHdhcm5pbmdzIGFyZSByZXBvcnRlZCBieQotICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBvbiB0aGUgYW5hbHl6ZWQgcHJvZ3JhbS4KLSAgICAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj51c2VyUHJlZmVyZW5jZXNGaWxlPC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgICAgT3B0aW9uYWwgYXR0cmlidXRlLiBTZXQgdGhlIHBhdGggb2YgdGhlIHVzZXIgcHJlZmVyZW5jZXMgZmlsZSB0byB1c2UsIHdoaWNoIG1pZ2h0IG92ZXJyaWRlIHNvbWUgb2YgdGhlIG9wdGlvbnMgYWJvYmUuCi0gICAgICAgICAgICAgIFNwZWNpZnlpbmcgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnVzZXJQcmVmZXJlbmNlc0ZpbGU8L2NvZGU+IGFzIGZpcnN0IGFyZ3VtZW50IHdvdWxkIG1lYW4gc29tZSBsYXRlcgotICAgICAgICAgICAgICBvcHRpb25zIHdpbGwgb3ZlcnJpZGUgdGhlbSwgYXMgbGFzdCBhcmd1bWVudCB3b3VsZCBtZWFuIHRoZXkgd2lsbCBvdmVycmlkZSBzb21lIHByZXZpb3VzIG9wdGlvbnMpLgotICAgICAgICAgICAgICBUaGlzIHJhdGlvbmFsZSBiZWhpbmQgdGhpcyBvcHRpb24gaXMgdG8gcmV1c2UgRmluZEJ1Z3MgRWNsaXBzZSBwcm9qZWN0IHNldHRpbmdzIGZvciBjb21tYW5kCi0gICAgICAgICAgICAgIGxpbmUgZXhlY3V0aW9uLgotICAgICAgICAgICAgPC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KLQotCi08L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJndWkuaHRtbCI+UHJldjwvYT4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZWNsaXBzZS5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Q2hhcHRlciZuYnNwOzUuJm5ic3A7VXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IEdVSSZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDtDaGFwdGVyJm5ic3A7Ny4mbmJzcDtVc2luZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IEVjbGlwc2UgcGx1Z2luPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2J1aWxkaW5nLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2J1aWxkaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkM2ZjYjIuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9idWlsZGluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+Q2hhcHRlciZuYnNwOzMuJm5ic3A7QnVpbGRpbmcgRmluZEJ1Z3MmIzg0ODI7IGZyb20gU291cmNlPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc2LjEiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgTWFudWFsIj48bGluayByZWw9InByZXYiIGhyZWY9Imluc3RhbGxpbmcuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsyLiZuYnNwO0luc3RhbGxpbmcgRmluZEJ1Z3MmIzg0ODI7Ij48bGluayByZWw9Im5leHQiIGhyZWY9InJ1bm5pbmcuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDs0LiZuYnNwO1J1bm5pbmcgRmluZEJ1Z3MmIzg0ODI7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7My4mbmJzcDtCdWlsZGluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgZnJvbSBTb3VyY2U8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJpbnN0YWxsaW5nLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9InJ1bm5pbmcuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IkNoYXB0ZXImbmJzcDszLiZuYnNwO0J1aWxkaW5nIEZpbmRCdWdzJiM4NDgyOyBmcm9tIFNvdXJjZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iYnVpbGRpbmciPjwvYT5DaGFwdGVyJm5ic3A7My4mbmJzcDtCdWlsZGluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgZnJvbSBTb3VyY2U8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InRvYyI+PHA+PGI+VGFibGUgb2YgQ29udGVudHM8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJidWlsZGluZy5odG1sI2QwZTE3MyI+MS4gUHJlcmVxdWlzaXRlczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJidWlsZGluZy5odG1sI2QwZTI2MiI+Mi4gRXh0cmFjdGluZyB0aGUgU291cmNlIERpc3RyaWJ1dGlvbjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJidWlsZGluZy5odG1sI2QwZTI3NSI+My4gTW9kaWZ5aW5nIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bG9jYWwucHJvcGVydGllczwvY29kZT48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYnVpbGRpbmcuaHRtbCNkMGUzMzMiPjQuIFJ1bm5pbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlNDI3Ij41LiBSdW5uaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyBmcm9tIGEgc291cmNlIGRpcmVjdG9yeTwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGl2PjxwPgotVGhpcyBjaGFwdGVyIGRlc2NyaWJlcyBob3cgdG8gYnVpbGQgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gZnJvbSBzb3VyY2UgY29kZS4gIFVubGVzcyB5b3UgYXJlCi1pbnRlcmVzdGluZyBpbiBtb2RpZnlpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4sIHlvdSB3aWxsIHByb2JhYmx5IHdhbnQgdG8gc2tpcCB0byB0aGUKLTxhIGNsYXNzPSJsaW5rIiBocmVmPSJydW5uaW5nLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7NC4mbmJzcDtSdW5uaW5nIEZpbmRCdWdzJiM4NDgyOyI+bmV4dCBjaGFwdGVyPC9hPi4KLTwvcD48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjEuJm5ic3A7UHJlcmVxdWlzaXRlcyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxNzMiPjwvYT4xLiZuYnNwO1ByZXJlcXVpc2l0ZXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotVG8gY29tcGlsZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBmcm9tIHNvdXJjZSwgeW91IHdpbGwgbmVlZCB0aGUgZm9sbG93aW5nOgotPC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgICAgVGhlIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9maW5kYnVncy0yLjAuMy1zb3VyY2UuemlwP2Rvd25sb2FkIiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHNvdXJjZSBkaXN0cmlidXRpb248L2E+Ci0gICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICAgICA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9qYXZhLnN1bi5jb20vajJzZS8iIHRhcmdldD0iX3RvcCI+SkRLIDEuNS4wIG9yIGxhdGVyPC9hPgotICAgIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgICAgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIiB0YXJnZXQ9Il90b3AiPkFwYWNoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj48L2E+LCB2ZXJzaW9uIDEuNi4zIG9yIGxhdGVyCi0gICAgPC9wPjwvbGk+PC91bD48L2Rpdj48cD4KLTwvcD48ZGl2IGNsYXNzPSJ3YXJuaW5nIiB0aXRsZT0iV2FybmluZyIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ildhcm5pbmciPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltXYXJuaW5nXSIgc3JjPSJ3YXJuaW5nLnBuZyI+PC90ZD48dGggYWxpZ249ImxlZnQiPldhcm5pbmc8L3RoPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjxwPgotICAgICAgICBUaGUgdmVyc2lvbiBvZiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gaW5jbHVkZWQgYXMgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4vdXNyL2Jpbi9hbnQ8L2NvZGU+IG9uCi0gICAgICAgIFJlZGhhdCBMaW51eCBzeXN0ZW1zIHdpbGwgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+bm90PC9lbT48L3NwYW4+IHdvcmsgZm9yIGNvbXBpbGluZwotICAgICAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPi4gIFdlIHJlY29tbWVuZCB5b3UgaW5zdGFsbCBhIGJpbmFyeSBkaXN0cmlidXRpb24gb2YgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+Ci0gICAgICAgIGRvd25sb2FkZWQgZnJvbSB0aGUgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB3ZWJzaXRlPC9hPi4KLSAgICAgICAgTWFrZSBzdXJlIHRoYXQgd2hlbiB5b3UgcnVuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB5b3VyIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPkpBVkFfSE9NRTwvY29kZT48L2VtPgotICAgICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZSBwb2ludHMgdG8gdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB5b3UgaW5zdGFsbGVkCi0gICAgICAgIEpESyAxLjUgKG9yIGxhdGVyKS4KLSAgICA8L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+Ci1JZiB5b3Ugd2FudCB0byBiZSBhYmxlIHRvIGdlbmVyYXRlIGZvcm1hdHRlZCB2ZXJzaW9ucyBvZiB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gZG9jdW1lbnRhdGlvbiwKLXlvdSB3aWxsIGFsc28gbmVlZCB0aGUgZm9sbG93aW5nIHNvZnR3YXJlOgotPC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgIFRoZSA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy94c2wvaW5kZXguaHRtbCIgdGFyZ2V0PSJfdG9wIj5Eb2NCb29rIFhTTCBTdHlsZXNoZWV0czwvYT4uCi0gICAgVGhlc2UgYXJlIHJlcXVpcmVkIHRvIGNvbnZlcnQgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IG1hbnVhbCBpbnRvIEhUTUwgZm9ybWF0LgotICAgIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgICAgVGhlIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3NheG9uLnNvdXJjZWZvcmdlLm5ldC8iIHRhcmdldD0iX3RvcCI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5TYXhvbjwvc3Bhbj4gWFNMVCBQcm9jZXNzb3I8L2E+LgotICAgICAgKEFsc28gcmVxdWlyZWQgZm9yIGNvbnZlcnRpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IG1hbnVhbCB0byBIVE1MLikKLSAgICA8L3A+PC9saT48L3VsPjwvZGl2PjxwPgotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMi4mbmJzcDtFeHRyYWN0aW5nIHRoZSBTb3VyY2UgRGlzdHJpYnV0aW9uIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTI2MiI+PC9hPjIuJm5ic3A7RXh0cmFjdGluZyB0aGUgU291cmNlIERpc3RyaWJ1dGlvbjwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci1BZnRlciB5b3UgZG93bmxvYWQgdGhlIHNvdXJjZSBkaXN0cmlidXRpb24sIHlvdSdsbCBuZWVkIHRvIGV4dHJhY3QgaXQgaW50bwotYSB3b3JraW5nIGRpcmVjdG9yeS4gIEEgdHlwaWNhbCBjb21tYW5kIHRvIGRvIHRoaXMgaXM6Ci0KLTwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotPGNvZGUgY2xhc3M9InByb21wdCI+JCA8L2NvZGU+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dW56aXAgZmluZGJ1Z3MtMi4wLjMtc291cmNlLnppcDwvc3Ryb25nPjwvc3Bhbj4KLTwvcHJlPjxwPgotCi08L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIzLiZuYnNwO01vZGlmeWluZyBsb2NhbC5wcm9wZXJ0aWVzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTI3NSI+PC9hPjMuJm5ic3A7TW9kaWZ5aW5nIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bG9jYWwucHJvcGVydGllczwvY29kZT48L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotSWYgeW91IGludGVuZCB0byBidWlsZCB0aGUgRmluZEJ1Z3MgZG9jdW1lbnRhdGlvbiwKLXlvdSB3aWxsIG5lZWQgdG8gbW9kaWZ5IHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmxvY2FsLnByb3BlcnRpZXM8L2NvZGU+IGZpbGUKLXVzZWQgYnkgdGhlIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2FudC5hcGFjaGUub3JnLyIgdGFyZ2V0PSJfdG9wIj48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj48L2E+Ci08Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJ1aWxkLnhtbDwvY29kZT4gZmlsZSB0byBidWlsZCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPi4KLUlmIHlvdSBkbyBub3Qgd2FudCB0byBidWlsZCB0aGUgRmluZEJ1Z3MgZG9jdW1lbnRhdGlvbiwgdGhlbiB5b3UKLWNhbiBpZ25vcmUgdGhpcyBmaWxlLgotPC9wPjxwPgotVGhlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bG9jYWwucHJvcGVydGllczwvY29kZT4gb3ZlcnJpZGVzIGRlZmluaXRpb25zCi1pbiB0aGUgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5idWlsZC5wcm9wZXJ0aWVzPC9jb2RlPiBmaWxlLgotVGhlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+YnVpbGQucHJvcGVydGllczwvY29kZT4gZmlsZSBsb29rcyBzb21ldGhpbmcgbGlrZSB0aGlzOgotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotIyBVc2VyIENvbmZpZ3VyYXRpb246Ci0jIFRoaXMgc2VjdGlvbiBtdXN0IGJlIG1vZGlmaWVkIHRvIHJlZmxlY3QgeW91ciBzeXN0ZW0uCi0KLWxvY2FsLnNvZnR3YXJlLmhvbWUgICAgID0vZXhwb3J0L2hvbWUvZGF2ZWhvL2xpbnV4Ci0KLSMgU2V0IHRoaXMgdG8gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBEb2NCb29rIE1vZHVsYXIgWFNMIFN0eWxlc2hlZXRzCi0jICBmcm9tIGh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy94c2wvCi0KLXhzbC5zdHlsZXNoZWV0LmhvbWUgICAgID0ke2xvY2FsLnNvZnR3YXJlLmhvbWV9L2RvY2Jvb2svZG9jYm9vay14c2wtMS43MS4xCi0KLSMgU2V0IHRoaXMgdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSBTYXhvbiAoaHR0cDovL3NheG9uLnNvdXJjZWZvcmdlLm5ldC8pCi0jIGlzIGluc3RhbGxlZC4KLQotc2F4b24uaG9tZSAgICAgICAgICAgICAgPSR7bG9jYWwuc29mdHdhcmUuaG9tZX0vamF2YS9zYXhvbi02LjUuNQotCi08L3ByZT48cD4KLTwvcD48cD4KLVRoZSA8Y29kZSBjbGFzcz0idmFybmFtZSI+eHNsLnN0eWxlc2hlZXQuaG9tZTwvY29kZT4gcHJvcGVydHkgc3BlY2lmaWVzIHRoZSBmdWxsCi1wYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91IGhhdmUgaW5zdGFsbGVkIHRoZQotPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZG9jYm9vay5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMveHNsLyIgdGFyZ2V0PSJfdG9wIj5Eb2NCb29rIE1vZHVsYXIgWFNMCi1TdHlsZXNoZWV0czwvYT4uICBZb3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB5b3Ugd2lsbCBiZQotZ2VuZXJhdGluZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gZG9jdW1lbnRhdGlvbi4KLTwvcD48cD4KLVRoZSA8Y29kZSBjbGFzcz0idmFybmFtZSI+c2F4b24uaG9tZTwvY29kZT4gcHJvcGVydHkgaXMgdGhlIGZ1bGwgcGF0aCB0byB0aGUKLWRpcmVjdG9yeSB3aGVyZSB5b3UgaW5zdGFsbGVkIHRoZSA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9zYXhvbi5zb3VyY2Vmb3JnZS5uZXQvIiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+U2F4b248L3NwYW4+IFhTTFQgUHJvY2Vzc29yPC9hPi4KLVlvdSBvbmx5IG5lZWQgdG8gc3BlY2lmeSB0aGlzIHByb3BlcnR5IGlmIHlvdSB3aWxsIGJlCi1nZW5lcmF0aW5nIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBkb2N1bWVudGF0aW9uLgotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iNC4mbmJzcDtSdW5uaW5nIEFudCI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUzMzMiPjwvYT40LiZuYnNwO1J1bm5pbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+PC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLU9uY2UgeW91IGhhdmUgZXh0cmFjdGVkIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uLAotbWFkZSBzdXJlIHRoYXQgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+IGlzIGluc3RhbGxlZCwKLW1vZGlmaWVkIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+YnVpbGQucHJvcGVydGllczwvY29kZT4gKG9wdGlvbmFsKSwKLWFuZCBjb25maWd1cmVkIHRoZSB0b29scyAoc3VjaCBhcyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPlNheG9uPC9zcGFuPiksCi15b3UgYXJlIHJlYWR5IHRvIGJ1aWxkIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+LiAgSW52b2tpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+IGlzIGEgc2ltcGxlIG1hdHRlcgotb2YgcnVubmluZyB0aGUgY29tbWFuZAotPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij4kIDwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5hbnQgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFyZ2V0PC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci13aGVyZSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT50YXJnZXQ8L2NvZGU+PC9lbT4gaXMgb25lIG9mIHRoZSBmb2xsb3dpbmc6Ci08L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5idWlsZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICBUaGlzIHRhcmdldCBjb21waWxlcyB0aGUgY29kZSBmb3IgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4uIEl0IGlzIHRoZSBkZWZhdWx0IHRhcmdldC4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmRvY3M8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIFRoaXMgdGFyZ2V0IGZvcm1hdHMgdGhlIGRvY3VtZW50YXRpb24uICAoSXQgYWxzbyBjb21waWxlcyBzb21lIG9mCi0gICAgICAgdGhlIHNvdXJjZSBjb2RlIGFzIGEgc2lkZS1lZmZlY3QuKQotICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cnVuanVuaXQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgVGhpcyB0YXJnZXQgY29tcGlsZXMgYW5kIHJ1bnMgdGhlIGludGVybmFsIEpVbml0IHRlc3RzIGluY2x1ZGVkCi0gICAgICAgICAgICBpbiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPi4gIEl0IHdpbGwgcHJpbnQgYW4gZXJyb3IgbWVzc2FnZSBpZiBhbnkgdW5pdAotICAgICAgICAgICAgdGVzdHMgZmFpbC4KLSAgICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5iaW5kaXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgIEJ1aWxkcyBhIGJpbmFyeSBkaXN0cmlidXRpb24gb2YgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4uCi0gICAgICAgICAgICBUaGUgdGFyZ2V0IGNyZWF0ZXMgYm90aCA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPi56aXA8L2NvZGU+IGFuZAotICAgICAgICAgICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4udGFyLmd6PC9jb2RlPiBhcmNoaXZlcy4KLSAgICAgICAgPC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KLTwvcD48cD4KLUFmdGVyIHJ1bm5pbmcgYW4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+IGNvbW1hbmQsIHlvdSBzaG91bGQgc2VlIG91dHB1dCBzaW1pbGFyIHRvCi10aGUgZm9sbG93aW5nIChhZnRlciBzb21lIG90aGVyIG1lc3NhZ2VzIHJlZ2FyZGluZyB0aGUgdGFza3MgdGhhdAotPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5BbnQ8L3NwYW4+IGlzIHJ1bm5pbmcpOgotPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPgotQlVJTEQgU1VDQ0VTU0ZVTAotVG90YWwgdGltZTogMTcgc2Vjb25kcwotPC9jb2RlPgotPC9wcmU+PHA+Ci08L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSI1LiZuYnNwO1J1bm5pbmcgRmluZEJ1Z3MmIzg0ODI7IGZyb20gYSBzb3VyY2UgZGlyZWN0b3J5Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTQyNyI+PC9hPjUuJm5ic3A7UnVubmluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgZnJvbSBhIHNvdXJjZSBkaXJlY3Rvcnk8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotVGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiBidWlsZCBzY3JpcHQgZm9yIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGlzIHdyaXR0ZW4gc3VjaCB0aGF0IGFmdGVyCi1idWlsZGluZyB0aGUgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+YnVpbGQ8L3N0cm9uZz48L3NwYW4+IHRhcmdldCwgdGhlIHdvcmtpbmcgZGlyZWN0b3J5Ci1pcyBzZXQgdXAganVzdCBsaWtlIGEgYmluYXJ5IGRpc3RyaWJ1dGlvbi4gIFNvLCB0aGUgaW5mb3JtYXRpb24gYWJvdXQKLXJ1bm5pbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gaW4gPGEgY2xhc3M9InhyZWYiIGhyZWY9InJ1bm5pbmcuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDs0LiZuYnNwO1J1bm5pbmcgRmluZEJ1Z3MmIzg0ODI7Ij5DaGFwdGVyJm5ic3A7NCwgPGk+UnVubmluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4Mjs8L2k+PC9hPgotYXBwbGllcyB0byBzb3VyY2UgZGlzdHJpYnV0aW9ucywgdG9vLgotPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iaW5zdGFsbGluZy5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJydW5uaW5nLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5DaGFwdGVyJm5ic3A7Mi4mbmJzcDtJbnN0YWxsaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDtDaGFwdGVyJm5ic3A7NC4mbmJzcDtSdW5uaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9kYXRhbWluaW5nLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2RhdGFtaW5pbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM0ODAxYS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2RhdGFtaW5pbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyMSArMCwwIEBACi08aHRtbD48aGVhZD4KLSAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgotICAgPHRpdGxlPkNoYXB0ZXImbmJzcDsxMi4mbmJzcDtEYXRhIG1pbmluZyBvZiBidWdzIHdpdGggRmluZEJ1Z3MmIzg0ODI7PC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc2LjEiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgTWFudWFsIj48bGluayByZWw9InByZXYiIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxMS4mbmJzcDtVc2luZyByZWphckZvckFuYWx5c2lzIj48bGluayByZWw9Im5leHQiIGhyZWY9ImxpY2Vuc2UuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxMy4mbmJzcDtMaWNlbnNlIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7MTIuJm5ic3A7RGF0YSBtaW5pbmcgb2YgYnVncyB3aXRoIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9InJlamFyRm9yQW5hbHlzaXMuaHRtbCI+UHJldjwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGljZW5zZS5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzEyLiZuYnNwO0RhdGEgbWluaW5nIG9mIGJ1Z3Mgd2l0aCBGaW5kQnVncyYjODQ4MjsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImRhdGFtaW5pbmciPjwvYT5DaGFwdGVyJm5ic3A7MTIuJm5ic3A7RGF0YSBtaW5pbmcgb2YgYnVncyB3aXRoIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj5UYWJsZSBvZiBDb250ZW50czwvYj48L3A+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNjb21tYW5kcyI+MS4gQ29tbWFuZHM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZGF0YW1pbmluZy5odG1sI2V4YW1wbGVzIj4yLiBFeGFtcGxlczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjYW50ZXhhbXBsZSI+My4gQW50IGV4YW1wbGU8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2Rpdj48cD4KLUZpbmRCdWdzIGluY29ycG9yYXRlcyBhbiBhYmlsaXR5IHRvIHBlcmZvcm0gc29waGlzdGljYXRlZCBxdWVyaWVzIG9uIGJ1ZwotZGF0YWJhc2VzIGFuZCB0cmFjayB3YXJuaW5ncyBhY3Jvc3MgbXVsdGlwbGUgdmVyc2lvbnMgb2YgY29kZSBiZWluZwotc3R1ZGllZCwgYWxsb3dpbmcgeW91IHRvIGRvIHRoaW5ncyBzdWNoIGFzIHNlZWluZyB3aGVuIGEgYnVnIHdhcyBmaXJzdCBpbnRyb2R1Y2VkLCBleGFtaW5pbmcKLWp1c3QgdGhlIHdhcm5pbmdzIHRoYXQgaGF2ZSBiZWVuIGludHJvZHVjZWQgc2luY2UgdGhlIGxhc3QgcmVsZWFzZSwgb3IgZ3JhcGhpbmcgdGhlIG51bWJlcgotb2YgaW5maW5pdGUgcmVjdXJzaXZlIGxvb3BzIGluIHlvdXIgY29kZSBvdmVyIHRpbWUuPC9wPjxwPgotVGhlc2UgdGVjaG5pcXVlcyBhbGwgZGVwZW5kIHVwb24gdGhlIFhNTCBmb3JtYXQgdXNlZCBieSBGaW5kQnVncyBmb3Igc3RvcmluZyB3YXJuaW5ncy4KLVRoZXNlIFhNTCBmaWxlcyB1c3VhbGx5IGNvbnRhaW4ganVzdCB0aGUgd2FybmluZ3MgZnJvbSBvbmUgcGFydGljdWxhciBhbmFseXNpcyBydW4sIGJ1dAotdGhleSBjYW4gYWxzbyBzdG9yZSB0aGUgcmVzdWx0cyBmcm9tIGFuYWx5emluZyBhIHNlcXVlbmNlIG9mIHNvZnR3YXJlIGJ1aWxkcyBvciB2ZXJzaW9ucy4KLSAgICA8L3A+PHA+Ci1BbnkgRmluZEJ1Z3MgWE1MIGJ1ZyBkYXRhYmFzZSBjb250YWlucyBhIHZlcnNpb24gbmFtZSBhbmQgdGltZXN0YW1wLgotRmluZEJ1Z3MgdHJpZXMgdG8gY29tcHV0ZSBhIHRpbWVzdGFtcCBmcm9tIHRoZSB0aW1lc3RhbXBzIG9mIHRoZSBmaWxlcyB0aGF0Ci1hcmUgYW5hbHl6ZWQgKGUuZy4sIHRoZSB0aW1lc3RhbXAgaXMgaW50ZW5kZWQgdG8gYmUgdGhlIHRpbWUgdGhlIGNsYXNzIGZpbGVzCi13ZXJlIGdlbmVyYXRlZCwgbm90IGFuYWx5emVkKS4gRWFjaCBidWcgZGF0YWJhc2UgYWxzbyBjb250YWlucyBhIHZlcnNpb24gbmFtZS4KLUJvdGggdGhlIHZlcnNpb24gbmFtZSBhbmQgdGltZXN0YW1wIGNhbiBiZSBzZXQgbWFudWFsbHkgdXNpbmcgdGhlCi08c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5zZXRCdWdEYXRhYmFzZUluZm88L3N0cm9uZz48L3NwYW4+ICg8YSBjbGFzcz0ieHJlZiIgaHJlZj0iZGF0YW1pbmluZy5odG1sI3NldEJ1Z0RhdGFiYXNlSW5mbyIgdGl0bGU9IjEuNy4mbmJzcDtzZXRCdWdEYXRhYmFzZUluZm8iPlNlY3Rpb24mbmJzcDsxLjcsICYjODIyMDtzZXRCdWdEYXRhYmFzZUluZm8mIzgyMjE7PC9hPikgY29tbWFuZC4KLSAgICA8L3A+PHA+QSBtdWx0aXZlcnNpb24gYnVnIGRhdGFiYXNlIGFzc2lnbnMgYSBzZXF1ZW5jZSBudW1iZXIgdG8gZWFjaCB2ZXJzaW9uIG9mCi10aGUgYW5hbHl6ZWQgY29kZS4gVGhlc2Ugc2VxdWVuY2UgbnVtYmVycyBhcmUgc2ltcGx5IHN1Y2Nlc3NpdmUgaW50ZWdlcnMsCi1zdGFydGluZyBhdCAwIChlLmcuLCBhIGJ1ZyBkYXRhYmFzZSBmb3IgNCB2ZXJzaW9ucyBvZiB0aGUgY29kZSB3aWxsIGNvbnRhaW4KLXZlcnNpb25zIDAuLjMpLiBUaGUgYnVnIGRhdGFiYXNlIHdpbGwgYWxzbyByZWNvcmQgdGhlIG5hbWUgYW5kIHRpbWVzdGFtcCBmb3IKLWVhY2ggdmVyc2lvbi4gVGhlIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZpbHRlckJ1Z3M8L3N0cm9uZz48L3NwYW4+IGNvbW1hbmQgYWxsb3dzIHlvdSB0byByZWZlcgotdG8gYSB2ZXJzaW9uIGJ5IHNlcXVlbmNlIG51bWJlciwgbmFtZSBvciB0aW1lc3RhbXAuPC9wPjxwPgotWW91IGNhbiB0YWtlIGEgc2VxdWVuY2UgKG9yIHBhaXIpIG9mIHNpbmdsZSB2ZXJzaW9uIGJ1ZyBkYXRhYmFzZXMgYW5kIGNyZWF0ZQotZnJvbSB0aGVtIGEgbXVsdGl2ZXJzaW9uIGJ1ZyBkYXRhYmFzZSwgb3IgY29tYmluZSBhIG11bHRpdmVyc2lvbiBidWcgZGF0YWJhc2UKLXdpdGggYSBzZXF1ZW5jZSBvZiBsYXRlciBzaW5nbGUtdmVyc2lvbiBidWcgZGF0YWJhc2VzLjwvcD48cD4KLVNvbWUgb2YgdGhlc2UgY29tbWFuZHMgY2FuIGJlIGludm9rZWQgYXMgYW50IHRhc2tzLiAgU2VlIGJlbG93IGZvciBzcGVjaWZpY3MKLW9uIGhvdyB0byBpbnZva2UgdGhlbSBhbmQgd2hhdCBhdHRyaWJ1dGVzIGFuZCBhcmd1bWVudHMgdGhleSB0YWtlLiAgQWxsIG9mCi10aGUgZXhhbXBsZXMgYXNzdW1lIHRoYXQgdGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5maW5kYnVncy5saWI8L2NvZGU+Ci08Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cmVmaWQ8L2NvZGU+IGlzIHNldCBjb3JyZWN0bHkuICBIZXJlIGlzIG9uZSB3YXkgdG8gc2V0IGl0OgotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotICAgJmx0OyEtLSBmaW5kYnVncyB0YXNrIGRlZmluaXRpb24gLS0mZ3Q7Ci0gICAmbHQ7cHJvcGVydHkgbmFtZT0iZmluZGJ1Z3MuaG9tZSIgdmFsdWU9Ii95b3VyL3BhdGgvdG8vZmluZGJ1Z3MiIC8mZ3Q7Ci0gICAmbHQ7cGF0aCBpZD0iZmluZGJ1Z3MubGliIiZndDsKLSAgICAgICZsdDtmaWxlc2V0IGRpcj0iJHtmaW5kYnVncy5ob21lfS9saWIiJmd0OwotICAgICAgICAgJmx0O2luY2x1ZGUgbmFtZT0iZmluZGJ1Z3MtYW50LmphciIvJmd0OwotICAgICAgJmx0Oy9maWxlc2V0Jmd0OwotICAgJmx0Oy9wYXRoJmd0OwotCi08L3ByZT48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjEuJm5ic3A7Q29tbWFuZHMiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iY29tbWFuZHMiPjwvYT4xLiZuYnNwO0NvbW1hbmRzPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLUFsbCB0b29scyBmb3IgRmluZEJ1Z3MgZGF0YSBtaW5pbmcgYXJlIGNhbiBiZSBpbnZva2VkIGZyb20gdGhlIGNvbW1hbmQgbGluZSwKLWFuZCBzb21lIG9mIHRoZSBtb3JlIHVzZWZ1bCB0b29scyBjYW4gYWxzbyBiZSBpbnZva2VkIGZyb20gYW4KLWFudCBidWlsZCBmaWxlLjwvcD48cD4KLUJyaWVmbHksIHRoZSBjb21tYW5kLWxpbmUgdG9vbHMgYXJlOjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkYXRhbWluaW5nLmh0bWwjdW5pb25CdWdzIiB0aXRsZT0iMS4xLiZuYnNwO3VuaW9uQnVncyI+dW5pb25CdWdzPC9hPjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgY29tYmluZSB0aGUgcmVzdWx0cyBmcm9tIHNlcGFyYXRlIGFuYWx5c2lzIG9mIGRpc2pvaW50Ci0gICAgICAgIGNsYXNzZXMKLSAgICAgICAgICAgICAgICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz48YSBjbGFzcz0ibGluayIgaHJlZj0iZGF0YW1pbmluZy5odG1sI2NvbXB1dGVCdWdIaXN0b3J5IiB0aXRsZT0iMS4yLiZuYnNwO2NvbXB1dGVCdWdIaXN0b3J5Ij5jb21wdXRlQnVnSGlzdG9yeTwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPk1lcmdlIGJ1ZyB3YXJuaW5ncyBmcm9tIG11bHRpcGxlIHZlcnNpb25zIG9mCi0gICAgICAgICAgICBhbmFseXplZCBjb2RlIGludG8KLSAgICAgICAgICAgIGEgc2luZ2xlIG11bHRpdmVyc2lvbiBidWcgZGF0YWJhc2UuIFRoaXMgY2FuIGVpdGhlciBiZSB1c2VkCi0gICAgICAgICAgICB0byBhZGQgbW9yZSB2ZXJzaW9ucyB0byBhbiBleGlzdGluZyBtdWx0aXZlcnNpb24gZGF0YWJhc2UsCi0gICAgICAgICAgICBvciB0byBjcmVhdGUgYSBtdWx0aXZlcnNpb24gZGF0YWJhc2UgZnJvbSBhIHNlcXVlbmNlIG9mIHNpbmdsZSB2ZXJzaW9uCi0gICAgICAgICAgICBidWcgd2FybmluZyBkYXRhYmFzZXMuPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz48YSBjbGFzcz0ibGluayIgaHJlZj0iZGF0YW1pbmluZy5odG1sI3NldEJ1Z0RhdGFiYXNlSW5mbyIgdGl0bGU9IjEuNy4mbmJzcDtzZXRCdWdEYXRhYmFzZUluZm8iPnNldEJ1Z0RhdGFiYXNlSW5mbzwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPlNldCBpbmZvcm1hdGlvbiBzdWNoIGFzIHRoZSByZXZpc2lvbiBuYW1lIG9yCi10aW1lc3RhbXAgaW4gYW4gWE1MIGJ1ZyBkYXRhYmFzZTwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNsaXN0QnVnRGF0YWJhc2VJbmZvIiB0aXRsZT0iMS44LiZuYnNwO2xpc3RCdWdEYXRhYmFzZUluZm8iPmxpc3RCdWdEYXRhYmFzZUluZm88L2E+PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD5MaXN0IGluZm9ybWF0aW9uIHN1Y2ggYXMgdGhlIHJldmlzaW9uIG5hbWUgYW5kCi10aW1lc3RhbXAgZm9yIGEgbGlzdCBvZiBYTUwgYnVnIGRhdGFiYXNlczwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNmaWx0ZXJCdWdzIiB0aXRsZT0iMS4zLiZuYnNwO2ZpbHRlckJ1Z3MiPmZpbHRlckJ1Z3M8L2E+PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD5TZWxlY3QgYSBzdWJzZXQgb2YgYSBidWcgZGF0YWJhc2U8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkYXRhbWluaW5nLmh0bWwjbWluZUJ1Z0hpc3RvcnkiIHRpdGxlPSIxLjQuJm5ic3A7bWluZUJ1Z0hpc3RvcnkiPm1pbmVCdWdIaXN0b3J5PC9hPjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+R2VuZXJhdGUgYSB0YWJ1bGFyIGxpc3Rpbmcgb2YgdGhlIG51bWJlciBvZiB3YXJuaW5ncyBpbiBlYWNoCi0gICAgICAgIHZlcnNpb24gb2YgYSBtdWx0aXZlcnNpb24gYnVnIGRhdGFiYXNlPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz48YSBjbGFzcz0ibGluayIgaHJlZj0iZGF0YW1pbmluZy5odG1sI2RlZmVjdERlbnNpdHkiIHRpdGxlPSIxLjUuJm5ic3A7ZGVmZWN0RGVuc2l0eSI+ZGVmZWN0RGVuc2l0eTwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgZGVmZWN0IGRlbnNpdHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAod2FybmluZ3MgcGVyIDEwMDAgTkNTUykKLSAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhlIGVudGlyZSBwcm9qZWN0IGFuZCBlYWNoIGNsYXNzIGFuZCBwYWNrYWdlPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz48YSBjbGFzcz0ibGluayIgaHJlZj0iZGF0YW1pbmluZy5odG1sI2NvbnZlcnRYbWxUb1RleHQiIHRpdGxlPSIxLjYuJm5ic3A7Y29udmVydFhtbFRvVGV4dCI+Y29udmVydFhtbFRvVGV4dDwvYT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPkNvbnZlcnQgYnVnIHdhcm5pbmdzIGluIFhNTCBmb3JtYXQgdG8KLSAgICAgICAgICAgICAgICAgICAgYSB0ZXh0dWFsIG9uZS1saW5lLXBlci1idWcgZm9ybWF0LCBvciB0byBIVE1MPC9wPjwvZGQ+PC9kbD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjEuMS4mbmJzcDt1bmlvbkJ1Z3MiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9InVuaW9uQnVncyI+PC9hPjEuMS4mbmJzcDt1bmlvbkJ1Z3M8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotICAgICAgICBJZiB5b3UgaGF2ZSwgZm9yIGV4YW1wbGUsIHNlcGFyYXRlbHkgYW5hbHl6aW5nIGVhY2ggamFyIGZpbGUgdXNlZCBpbiBhbiBhcHBsaWNhdGlvbiwKLSAgICAgICAgeW91IGNhbiB1c2UgdGhpcyBjb21tYW5kIHRvIGNvbWJpbmUgdGhlIHNlcGFyYXRlbHkgZ2VuZXJhdGVkIHhtbCBidWcgd2FybmluZyBmaWxlcyBpbnRvCi0gICAgICAgIGEgc2luZ2xlIGZpbGUgY29udGFpbmluZyBhbGwgb2YgdGhlIHdhcm5pbmdzLjwvcD48cD5EbyA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5ub3Q8L2VtPjwvc3Bhbj4gdXNlIHRoaXMgY29tbWFuZCB0byBjb21iaW5lIHJlc3VsdHMgZnJvbSBhbmFseXppbmcgZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZSBzYW1lCi0gICAgICAgICAgICBmaWxlOyB1c2UgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Y29tcHV0ZUJ1Z0hpc3Rvcnk8L3N0cm9uZz48L3NwYW4+IGluc3RlYWQuPC9wPjxwPlNwZWNpZnkgdGhlIHhtbCBmaWxlcyBvbiB0aGUgY29tbWFuZCBsaW5lLiBUaGUgcmVzdWx0IGlzIHNlbnQgdG8gc3RhbmRhcmQgb3V0cHV0LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjEuMi4mbmJzcDtjb21wdXRlQnVnSGlzdG9yeSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iY29tcHV0ZUJ1Z0hpc3RvcnkiPjwvYT4xLjIuJm5ic3A7Y29tcHV0ZUJ1Z0hpc3Rvcnk8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPlVzZSB0aGlzIGNvbW1hbmQgdG8gZ2VuZXJhdGUgYSBidWcgZGF0YWJhc2UgY29udGFpbmluZyBpbmZvcm1hdGlvbiBmcm9tIGRpZmZlcmVudCBidWlsZHMgb3IgdmVyc2lvbnMKLW9mIHNvZnR3YXJlIHlvdSBhcmUgYW5hbHl6aW5nLgotSGlzdG9yeSBpcyB0YWtlbiBmcm9tIHRoZSBmaXJzdCBmaWxlIHByb3ZpZGVkIGFzIGlucHV0OyBhbnkgZm9sbG93aW5nCi1maWxlcyBzaG91bGQgYmUgc2luZ2xlIHZlcnNpb24gYnVnIGRhdGFiYXNlcyAoaWYgdGhleSBjb250YWluIGhpc3RvcnksIHRoZSBoaXN0b3J5IGluIHRob3NlCi1maWxlcyB3aWxsIGJlIGlnbm9yZWQpLjwvcD48cD5CeSBkZWZhdWx0LCBvdXRwdXQgaXMgd3JpdHRlbiB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LgotPC9wPjxwPlRoaXMgZnVuY3Rpb25hbGl0eSBtYXkgYWxzbyBjYW4gYmUgYWNjZXNzZWQgZnJvbSBhbnQuCi1GaXJzdCBjcmVhdGUgYSB0YXNrZGVmIGZvciA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5jb21wdXRlQnVnSGlzdG9yeTwvc3Ryb25nPjwvc3Bhbj4gaW4geW91cgotYnVpbGQgZmlsZToKLTwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSZsdDt0YXNrZGVmIG5hbWU9ImNvbXB1dGVCdWdIaXN0b3J5IiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5Db21wdXRlQnVnSGlzdG9yeVRhc2siJmd0OwotICAgICZsdDtjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLyZndDsKLSZsdDsvdGFza2RlZiZndDsKLQotPC9wcmU+PHA+QXR0cmlidXRlcyBmb3IgdGhpcyBhbnQgdGFzayBhcmUgbGlzdGVkIGluIHRoZSBmb2xsb3dpbmcgdGFibGUuCi1UbyBzcGVjaWZ5IGlucHV0IGZpbGVzLCBuZXN0IHRoZW0gaW5zaWRlIHdpdGggYQotPGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtkYXRhZmlsZSZndDs8L2NvZGU+IGVsZW1lbnQuICBGb3IgZXhhbXBsZToKLTwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSZsdDtjb21wdXRlQnVnSGlzdG9yeSBob21lPSIke2ZpbmRidWdzLmhvbWV9IiAuLi4mZ3Q7Ci0gICAgJmx0O2RhdGFmaWxlIG5hbWU9ImFuYWx5emUxLnhtbCIvJmd0OwotICAgICZsdDtkYXRhZmlsZSBuYW1lPSJhbmFseXplMi54bWwiLyZndDsKLSZsdDsvY29tcHV0ZUJ1Z0hpc3RvcnkmZ3Q7Ci0KLTwvcHJlPjxkaXYgY2xhc3M9InRhYmxlIj48YSBuYW1lPSJjb21wdXRlQnVnSGlzdG9yeVRhYmxlIj48L2E+PHAgY2xhc3M9InRpdGxlIj48Yj5UYWJsZSZuYnNwOzEyLjEuJm5ic3A7T3B0aW9ucyBmb3IgY29tcHV0ZUJ1Z0hpc3RvcnkgY29tbWFuZDwvYj48L3A+PGRpdiBjbGFzcz0idGFibGUtY29udGVudHMiPjx0YWJsZSBzdW1tYXJ5PSJPcHRpb25zIGZvciBjb21wdXRlQnVnSGlzdG9yeSBjb21tYW5kIiBib3JkZXI9IjEiPjxjb2xncm91cD48Y29sPjxjb2w+PGNvbD48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJsZWZ0Ij5Db21tYW5kLWxpbmUgb3B0aW9uPC90aD48dGggYWxpZ249ImxlZnQiPkFudCBhdHRyaWJ1dGU8L3RoPjx0aCBhbGlnbj0ibGVmdCI+TWVhbmluZzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tb3V0cHV0ICZsdDtmaWxlJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5vdXRwdXQ9IiZsdDtmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+c2F2ZSBvdXRwdXQgaW4gdGhlIG5hbWVkIGZpbGUgKG1heSBhbHNvIGJlIGFuIGlucHV0IGZpbGUpPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1vdmVycmlkZVJldmlzaW9uTmFtZXNbOnRydXRoXTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5vdmVycmlkZVJldmlzaW9uTmFtZXM9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+b3ZlcnJpZGUgcmV2aXNpb24gbmFtZXMgZm9yIGVhY2ggdmVyc2lvbiB3aXRoIG5hbWVzIGNvbXB1dGVkIGZyb20gdGhlIGZpbGVuYW1lczwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tbm9QYWNrYWdlTW92ZXNbOnRydXRoXTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5ub1BhY2thZ2VNb3Zlcz0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5pZiBhIGNsYXNzIGhhcyBtb3ZlZCB0byBhbm90aGVyIHBhY2thZ2UsIHRyZWF0IHdhcm5pbmdzIGluIHRoYXQgY2xhc3MgYXMgc2VwZXJhdGU8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXByZWNpc2VNYXRjaFs6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPnByZWNpc2VNYXRjaD0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5yZXF1aXJlIGJ1ZyBwYXR0ZXJucyB0byBtYXRjaCBwcmVjaXNlbHk8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXByZWNpc2VQcmlvcml0eU1hdGNoWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cHJlY2lzZVByaW9yaXR5TWF0Y2g9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+Y29uc2lkZXIgdHdvIHdhcm5pbmdzIGFzIHRoZSBzYW1lIG9ubHkgaWYgcHJpb3JpdGllcyBtYXRjaCBleGFjdGx5PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1xdWlldFs6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPnF1aWV0PSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPmRvbid0IGdlbmVyYXRlIGFueSBvdXRwdXQgdG8gc3RhbmRhcmQgb3V0IHVubGVzcyB0aGVyZSBpcyBhbiBlcnJvcjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4td2l0aE1lc3NhZ2VzWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+d2l0aE1lc3NhZ2VzPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPmluY2x1ZGUgaHVtYW4tcmVhZGFibGUgbWVzc2FnZXMgZGVzY3JpYmluZyB0aGUgd2FybmluZ3MgaW4gWE1MIG91dHB1dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJ0YWJsZS1icmVhayI+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIxLjMuJm5ic3A7ZmlsdGVyQnVncyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZmlsdGVyQnVncyI+PC9hPjEuMy4mbmJzcDtmaWx0ZXJCdWdzPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD5UaGlzIGNvbW1hbmQgaXMgdXNlZCB0byBzZWxlY3QgYSBzdWJzZXQgb2Ygd2FybmluZ3MgZnJvbSBhIEZpbmRCdWdzIFhNTCB3YXJuaW5nIGZpbGUKLWFuZCB3cml0ZSB0aGUgc2VsZWN0ZWQgc3Vic2V0IHRvIGEgbmV3IEZpbmRCdWdzIHdhcm5pbmcgZmlsZS48L3A+PHA+Ci1UaGlzIGNvbW1hbmQgdGFrZXMgYSBzZXF1ZW5jZSBvZiBvcHRpb25zLCBhbmQgZWl0aGVyIHplcm8sIG9uZSBvciB0d28KLWZpbGVuYW1lcyBvZiBmaW5kYnVncyB4bWwgYnVnIGZpbGVzIG9uIHRoZSBjb21tYW5kIGxpbmUuPC9wPjxwPklmIG5vIGZpbGUgbmFtZXMgYXJlIHByb3ZpZGVkLCB0aGUgY29tbWFuZCByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0Ci1hbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dC4gSWYgb25lIGZpbGUgbmFtZSBpcyBwcm92aWRlZCwKLWl0IHJlYWRzIGZyb20gdGhlIGZpbGUgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXQuCi1JZiB0d28gZmlsZSBuYW1lcyBhcmUgcHJvdmlkZWQsIGl0IHJlYWRzIGZyb20gdGhlIGZpcnN0IGFuZCB3cml0ZXMgdGhlIG91dHB1dAotdG8gdGhlIHNlY29uZCBmaWxlIG5hbWUuPC9wPjxwPlRoaXMgZnVuY3Rpb25hbGl0eSBtYXkgYWxzbyBjYW4gYmUgYWNjZXNzZWQgZnJvbSBhbnQuCi1GaXJzdCBjcmVhdGUgYSB0YXNrZGVmIGZvciA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maWx0ZXJCdWdzPC9zdHJvbmc+PC9zcGFuPiBpbiB5b3VyCi1idWlsZCBmaWxlOgotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotJmx0O3Rhc2tkZWYgbmFtZT0iZmlsdGVyQnVncyIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suRmlsdGVyQnVnc1Rhc2siJmd0OwotICAgICZsdDtjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLyZndDsKLSZsdDsvdGFza2RlZiZndDsKLQotPC9wcmU+PHA+QXR0cmlidXRlcyBmb3IgdGhpcyBhbnQgdGFzayBhcmUgbGlzdGVkIGluIHRoZSBmb2xsb3dpbmcgdGFibGUuCi1UbyBzcGVjaWZ5IGFuIGlucHV0IGZpbGUgZWl0aGVyIHVzZSB0aGUgaW5wdXQgYXR0cmlidXRlIG9yIG5lc3QgaXQgaW5zaWRlCi10aGUgYW50IGNhbGwgd2l0aCBhIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7ZGF0YWZpbGUmZ3Q7PC9jb2RlPiBlbGVtZW50LiAgRm9yIGV4YW1wbGU6Ci08L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7ZmlsdGVyQnVncyBob21lPSIke2ZpbmRidWdzLmhvbWV9IiAuLi4mZ3Q7Ci0gICAgJmx0O2RhdGFmaWxlIG5hbWU9ImFuYWx5emUueG1sIi8mZ3Q7Ci0mbHQ7L2ZpbHRlckJ1Z3MmZ3Q7Ci0KLTwvcHJlPjxkaXYgY2xhc3M9InRhYmxlIj48YSBuYW1lPSJmaWx0ZXJPcHRpb25zVGFibGUiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPlRhYmxlJm5ic3A7MTIuMi4mbmJzcDtPcHRpb25zIGZvciBmaWx0ZXJCdWdzIGNvbW1hbmQ8L2I+PC9wPjxkaXYgY2xhc3M9InRhYmxlLWNvbnRlbnRzIj48dGFibGUgc3VtbWFyeT0iT3B0aW9ucyBmb3IgZmlsdGVyQnVncyBjb21tYW5kIiBib3JkZXI9IjEiPjxjb2xncm91cD48Y29sPjxjb2w+PGNvbD48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJsZWZ0Ij5Db21tYW5kLWxpbmUgb3B0aW9uPC90aD48dGggYWxpZ249ImxlZnQiPkFudCBhdHRyaWJ1dGU8L3RoPjx0aCBhbGlnbj0ibGVmdCI+TWVhbmluZzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+aW5wdXQ9IiZsdDtmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+dXNlIGZpbGUgYXMgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD48dGQgYWxpZ249ImxlZnQiPm91dHB1dD0iJmx0O2ZpbGUmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5vdXRwdXQgcmVzdWx0cyB0byBmaWxlPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1ub3Q8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+bm90PSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPnJldmVyc2UgKGFsbCkgc3dpdGNoZXMgZm9yIHRoZSBmaWx0ZXI8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXdpdGhTb3VyY2VbOnRydXRoXTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij53aXRoU291cmNlPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPm9ubHkgd2FybmluZ3MgZm9yIHN3aXRjaCBzb3VyY2UgaXMgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1leGNsdWRlICZsdDtmaWx0ZXIgZmlsZSZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+ZXhjbHVkZT0iJmx0O2ZpbHRlciBmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+ZXhjbHVkZSBidWdzIG1hdGNoaW5nIGdpdmVuIGZpbHRlcjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4taW5jbHVkZSAmbHQ7ZmlsdGVyIGZpbGUmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmluY2x1ZGU9IiZsdDtmaWx0ZXIgZmlsZSZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPmluY2x1ZGUgb25seSBidWdzIG1hdGNoaW5nIGdpdmVuIGZpbHRlcjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tYW5ub3RhdGlvbiAmbHQ7dGV4dCZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YW5ub3RhdGlvbj0iJmx0O3RleHQmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IHdhcm5pbmdzIGNvbnRhaW5pbmcgdGhpcyB0ZXh0IGluIGEgbWFudWFsIGFubm90YXRpb248L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LWFmdGVyICZsdDt3aGVuJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hZnRlcj0iJmx0O3doZW4mZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IHdhcm5pbmdzIHRoYXQgZmlyc3Qgb2NjdXJyZWQgYWZ0ZXIgdGhpcyB2ZXJzaW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1iZWZvcmUgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmJlZm9yZT0iJmx0O3doZW4mZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IHdhcm5pbmdzIHRoYXQgZmlyc3Qgb2NjdXJyZWQgYmVmb3JlIHRoaXMgdmVyc2lvbjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tZmlyc3QgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmZpcnN0PSImbHQ7d2hlbiZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPmFsbG93IG9ubHkgd2FybmluZ3MgdGhhdCBmaXJzdCBvY2N1cnJlZCBpbiB0aGlzIHZlcnNpb248L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LWxhc3QgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmxhc3Q9IiZsdDt3aGVuJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YWxsb3cgb25seSB3YXJuaW5ncyB0aGF0IGxhc3Qgb2NjdXJyZWQgaW4gdGhpcyB2ZXJzaW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1maXhlZCAmbHQ7d2hlbiZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+Zml4ZWQ9IiZsdDt3aGVuJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YWxsb3cgb25seSB3YXJuaW5ncyB0aGF0IGxhc3Qgb2NjdXJyZWQgaW4gdGhlIHByZXZpb3VzIHZlcnNpb24gKGNsb2JiZXJzIDxjb2RlIGNsYXNzPSJvcHRpb24iPi1sYXN0PC9jb2RlPik8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXByZXNlbnQgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPnByZXNlbnQ9IiZsdDt3aGVuJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YWxsb3cgb25seSB3YXJuaW5ncyBwcmVzZW50IGluIHRoaXMgdmVyc2lvbjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tYWJzZW50ICZsdDt3aGVuJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hYnNlbnQ9IiZsdDt3aGVuJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YWxsb3cgb25seSB3YXJuaW5ncyBhYnNlbnQgaW4gdGhpcyB2ZXJzaW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1hY3RpdmVbOnRydXRoXTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hY3RpdmU9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YWxsb3cgb25seSB3YXJuaW5ncyBhbGl2ZSBpbiB0aGUgbGFzdCBzZXF1ZW5jZSBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LWludHJvZHVjZWRCeUNoYW5nZVs6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPmludHJvZHVjZWRCeUNoYW5nZT0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IHdhcm5pbmdzIGludHJvZHVjZWQgYnkgYSBjaGFuZ2Ugb2YgYW4gZXhpc3RpbmcgY2xhc3M8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXJlbW92ZWRCeUNoYW5nZVs6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPnJlbW92ZWRCeUNoYW5nZT0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IHdhcm5pbmdzIHJlbW92ZWQgYnkgYSBjaGFuZ2Ugb2YgYSBwZXJzaXN0aW5nIGNsYXNzPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1uZXdDb2RlWzp0cnV0aF08L3RkPjx0ZCBhbGlnbj0ibGVmdCI+bmV3Q29kZT0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IHdhcm5pbmdzIGludHJvZHVjZWQgYnkgdGhlIGFkZGl0aW9uIG9mIGEgbmV3IGNsYXNzPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1yZW1vdmVkQ29kZVs6dHJ1dGhdPC90ZD48dGQgYWxpZ249ImxlZnQiPnJlbW92ZWRDb2RlPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPmFsbG93IG9ubHkgd2FybmluZ3MgcmVtb3ZlZCBieSByZW1vdmFsIG9mIGEgY2xhc3M8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXByaW9yaXR5ICZsdDtsZXZlbCZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cHJpb3JpdHk9IiZsdDtsZXZlbCZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPmFsbG93IG9ubHkgd2FybmluZ3Mgd2l0aCB0aGlzIHByaW9yaXR5IG9yIGhpZ2hlcjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tbWF4UmFuayAmbHQ7cmFuayZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cmFuaz0iWzEuLjIwXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YWxsb3cgb25seSB3YXJuaW5ncyB3aXRoIHRoaXMgcmFuayBvciBsb3dlcjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tY2xhc3MgJmx0O3BhdHRlcm4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmNsYXNzPSImbHQ7Y2xhc3MmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IGJ1Z3Mgd2hvc2UgcHJpbWFyeSBjbGFzcyBuYW1lIG1hdGNoZXMgdGhpcyBwYXR0ZXJuPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1idWdQYXR0ZXJuICZsdDtwYXR0ZXJuJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5idWdQYXR0ZXJuPSImbHQ7cGF0dGVybiZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPmFsbG93IG9ubHkgYnVncyB3aG9zZSB0eXBlIG1hdGNoZXMgdGhpcyBwYXR0ZXJuPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1jYXRlZ29yeSAmbHQ7Y2F0ZWdvcnkmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmNhdGVnb3J5PSImbHQ7Y2F0ZWdvcnkmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IHdhcm5pbmdzIHdpdGggYSBjYXRlZ29yeSB0aGF0IHN0YXJ0cyB3aXRoIHRoaXMgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1kZXNpZ25hdGlvbiAmbHQ7ZGVzaWduYXRpb24mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmRlc2lnbmF0aW9uPSImbHQ7ZGVzaWduYXRpb24mZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hbGxvdyBvbmx5IHdhcm5pbmdzIHdpdGggdGhpcyBkZXNpZ25hdGlvbiAoZS5nLiwgLWRlc2lnbmF0aW9uIFNIT1VMRF9GSVgpPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi13aXRoTWVzc2FnZXNbOnRydXRoXSA8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+d2l0aE1lc3NhZ2VzPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPnRoZSBnZW5lcmF0ZWQgWE1MIHNob3VsZCBjb250YWluIHRleHR1YWwgbWVzc2FnZXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QyIiB0aXRsZT0iMS40LiZuYnNwO21pbmVCdWdIaXN0b3J5Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJtaW5lQnVnSGlzdG9yeSI+PC9hPjEuNC4mbmJzcDttaW5lQnVnSGlzdG9yeTwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+VGhpcyBjb21tYW5kIGdlbmVyYXRlcyBhIHRhYmxlIGNvbnRhaW5pbmcgY291bnRzIG9mIHRoZSBudW1iZXJzIG9mIHdhcm5pbmdzCi1pbiBlYWNoIHZlcnNpb24gb2YgYSBtdWx0aXZlcnNpb24gYnVnIGRhdGFiYXNlLjwvcD48cD5UaGlzIGZ1bmN0aW9uYWxpdHkgbWF5IGFsc28gY2FuIGJlIGFjY2Vzc2VkIGZyb20gYW50LgotRmlyc3QgY3JlYXRlIGEgdGFza2RlZiBmb3IgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+bWluZUJ1Z0hpc3Rvcnk8L3N0cm9uZz48L3NwYW4+IGluIHlvdXIKLWJ1aWxkIGZpbGU6Ci08L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7dGFza2RlZiBuYW1lPSJtaW5lQnVnSGlzdG9yeSIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suTWluZUJ1Z0hpc3RvcnlUYXNrIiZndDsKLSAgICAmbHQ7Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8mZ3Q7Ci0mbHQ7L3Rhc2tkZWYmZ3Q7Ci0KLTwvcHJlPjxwPkF0dHJpYnV0ZXMgZm9yIHRoaXMgYW50IHRhc2sgYXJlIGxpc3RlZCBpbiB0aGUgZm9sbG93aW5nIHRhYmxlLgotVG8gc3BlY2lmeSBhbiBpbnB1dCBmaWxlIGVpdGhlciB1c2UgdGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5pbnB1dDwvY29kZT4KLWF0dHJpYnV0ZSBvciBuZXN0IGl0IGluc2lkZSB0aGUgYW50IGNhbGwgd2l0aCBhCi08Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O2RhdGFmaWxlJmd0OzwvY29kZT4gZWxlbWVudC4gIEZvciBleGFtcGxlOgotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotJmx0O21pbmVCdWdIaXN0b3J5IGhvbWU9IiR7ZmluZGJ1Z3MuaG9tZX0iIC4uLiZndDsKLSAgICAmbHQ7ZGF0YWZpbGUgbmFtZT0iYW5hbHl6ZS54bWwiLyZndDsKLSZsdDsvbWluZUJ1Z0hpc3RvcnkmZ3Q7Ci0KLTwvcHJlPjxkaXYgY2xhc3M9InRhYmxlIj48YSBuYW1lPSJtaW5lQnVnSGlzdG9yeU9wdGlvbnNUYWJsZSI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+VGFibGUmbmJzcDsxMi4zLiZuYnNwO09wdGlvbnMgZm9yIG1pbmVCdWdIaXN0b3J5IGNvbW1hbmQ8L2I+PC9wPjxkaXYgY2xhc3M9InRhYmxlLWNvbnRlbnRzIj48dGFibGUgc3VtbWFyeT0iT3B0aW9ucyBmb3IgbWluZUJ1Z0hpc3RvcnkgY29tbWFuZCIgYm9yZGVyPSIxIj48Y29sZ3JvdXA+PGNvbD48Y29sPjxjb2w+PC9jb2xncm91cD48dGhlYWQ+PHRyPjx0aCBhbGlnbj0ibGVmdCI+Q29tbWFuZC1saW5lIG9wdGlvbjwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5BbnQgYXR0cmlidXRlPC90aD48dGggYWxpZ249ImxlZnQiPk1lYW5pbmc8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD48dGQgYWxpZ249ImxlZnQiPmlucHV0PSImbHQ7ZmlsZSZndDsiPC90ZD48dGQgYWxpZ249ImxlZnQiPnVzZSBmaWxlIGFzIGlucHV0PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5vdXRwdXQ9IiZsdDtmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+d3JpdGUgb3V0cHV0IHRvIGZpbGU8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LWZvcm1hdERhdGVzPC90ZD48dGQgYWxpZ249ImxlZnQiPmZvcm1hdERhdGVzPSJbdHJ1ZXxmYWxzZV0iPC90ZD48dGQgYWxpZ249ImxlZnQiPnJlbmRlciBkYXRlcyBpbiB0ZXh0dWFsIGZvcm08L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LW5vVGFiczwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5ub1RhYnM9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+ZGVsaW1pdCBjb2x1bW5zIHdpdGggZ3JvdXBzIG9mIHNwYWNlcyBpbnN0ZWFkIG9mIHRhYnMgKHNlZSBiZWxvdyk8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXN1bW1hcnk8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+c3VtbWFyeT0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5vdXRwdXQgdGVyc2Ugc3VtbWFyeSBvZiBjaGFuZ2VzIG92ZXIgdGhlIGxhc3QgdGVuIGVudHJpZXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjxwPgotICAgICAgICBUaGUgPGNvZGUgY2xhc3M9Im9wdGlvbiI+LW5vVGFiczwvY29kZT4gb3V0cHV0IGNhbiBiZSBlYXNpZXIgdG8gcmVhZCBmcm9tIGEgc2hlbGwKLSAgICAgICAgd2l0aCBhIGZpeGVkLXdpZHRoIGZvbnQuCi0gICAgICAgIEJlY2F1c2UgbnVtZXJpYyBjb2x1bW5zIGFyZSByaWdodC1qdXN0aWZpZWQsIHNwYWNlcyBtYXkgcHJlY2VkZSB0aGUKLSAgICAgICAgZmlyc3QgY29sdW1uIHZhbHVlLiBUaGlzIG9wdGlvbiBhbHNvIGNhdXNlcyA8Y29kZSBjbGFzcz0ib3B0aW9uIj4tZm9ybWF0RGF0ZXM8L2NvZGU+Ci0gICAgICAgIHRvIHJlbmRlciBkYXRlcyBpbiB0ZXJzZXIgZm9ybWF0IHdpdGhvdXQgZW1iZWRkZWQgd2hpdGVzcGFjZS4KLSAgICAgICAgPC9wPjxwPlRoZSB0YWJsZSBpcyBhIHRhYi1zZXBhcmF0ZWQgKGJhcnJpbmcgPGNvZGUgY2xhc3M9Im9wdGlvbiI+LW5vVGFiczwvY29kZT4pCi0gICAgICAgIHRhYmxlIHdpdGggdGhlIGZvbGxvd2luZyBjb2x1bW5zOjwvcD48ZGl2IGNsYXNzPSJ0YWJsZSI+PGEgbmFtZT0ibWluZUJ1Z0hpc3RvcnlDb2x1bW5zIj48L2E+PHAgY2xhc3M9InRpdGxlIj48Yj5UYWJsZSZuYnNwOzEyLjQuJm5ic3A7Q29sdW1ucyBpbiBtaW5lQnVnSGlzdG9yeSBvdXRwdXQ8L2I+PC9wPjxkaXYgY2xhc3M9InRhYmxlLWNvbnRlbnRzIj48dGFibGUgc3VtbWFyeT0iQ29sdW1ucyBpbiBtaW5lQnVnSGlzdG9yeSBvdXRwdXQiIGJvcmRlcj0iMSI+PGNvbGdyb3VwPjxjb2w+PGNvbD48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJsZWZ0Ij5UaXRsZTwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5NZWFuaW5nPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgYWxpZ249ImxlZnQiPnNlcTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5TZXF1ZW5jZSBudW1iZXIgKHN1Y2Nlc3NpdmUgaW50ZWdlcnMsIHN0YXJ0aW5nIGF0IDApPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnZlcnNpb248L3RkPjx0ZCBhbGlnbj0ibGVmdCI+VmVyc2lvbiBuYW1lPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnRpbWU8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+UmVsZWFzZSB0aW1lc3RhbXA8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Y2xhc3NlczwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5OdW1iZXIgb2YgY2xhc3NlcyBhbmFseXplZDwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5OQ1NTPC90ZD48dGQgYWxpZ249ImxlZnQiPk5vbiBDb21tZW50aW5nIFNvdXJjZSBTdGF0ZW1lbnRzPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmFkZGVkPC90ZD48dGQgYWxpZ249ImxlZnQiPkNvdW50IG9mIG5ldyB3YXJuaW5ncyBmb3IgYSBjbGFzcyB0aGF0IGV4aXN0ZWQgaW4gdGhlIHByZXZpb3VzIHZlcnNpb248L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+bmV3Q29kZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5Db3VudCBvZiBuZXcgd2FybmluZ3MgZm9yIGEgY2xhc3MgdGhhdCBkaWQgbm90IGV4aXN0IGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmZpeGVkPC90ZD48dGQgYWxpZ249ImxlZnQiPkNvdW50IG9mIHdhcm5pbmdzIHJlbW92ZWQgZnJvbSBhIGNsYXNzIHRoYXQgcmVtYWlucyBpbiB0aGUgY3VycmVudCB2ZXJzaW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnJlbW92ZWQ8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+Q291bnQgb2Ygd2FybmluZ3MgaW4gdGhlIHByZXZpb3VzIHZlcnNpb24gZm9yIGEgY2xhc3MgdGhhdCBpcyBub3QgcHJlc2VudCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnJldGFpbmVkPC90ZD48dGQgYWxpZ249ImxlZnQiPkNvdW50IG9mIHdhcm5pbmdzIHRoYXQgd2VyZSBpbiBib3RoIHRoZSBwcmV2aW91cyBhbmQgY3VycmVudCB2ZXJzaW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmRlYWQ8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+V2FybmluZ3MgdGhhdCB3ZXJlIHByZXNlbnQgaW4gZWFybGllciB2ZXJzaW9ucyBidXQgaW4gbmVpdGhlciB0aGUgY3VycmVudCB2ZXJzaW9uIG9yIHRoZSBpbW1lZGlhdGVseSBwcmVjZWVkaW5nIHZlcnNpb248L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+YWN0aXZlPC90ZD48dGQgYWxpZ249ImxlZnQiPlRvdGFsIHdhcm5pbmdzIHByZXNlbnQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJ0YWJsZS1icmVhayI+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIxLjUuJm5ic3A7ZGVmZWN0RGVuc2l0eSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZGVmZWN0RGVuc2l0eSI+PC9hPjEuNS4mbmJzcDtkZWZlY3REZW5zaXR5PC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLVRoaXMgY29tbWFuZCBsaXN0cyBpbmZvcm1hdGlvbiBhYm91dCBkZWZlY3QgZGVuc2l0eSAod2FybmluZ3MgcGVyIDEwMDAgTkNTUykgZm9yIHRoZSBlbnRpcmUgcHJvamVjdCBhbmQgZWFjaCBjbGFzcyBhbmQgcGFja2FnZS4KLUl0IGNhbiBlaXRoZXIgYmUgaW52b2tlZCB3aXRoIG5vIGZpbGVzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lIChpbiB3aGljaCBjYXNlIGl0IHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQpCi1vciB3aXRoIG9uZSBmaWxlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLjwvcD48cD5JdCBnZW5lcmF0ZXMgYSB0YWJsZSB3aXRoIHRoZSBmb2xsb3dpbmcgY29sdW1ucywgYW5kIHdpdGggb25lCi1yb3cgZm9yIHRoZSBlbnRpcmUgcHJvamVjdCwgYW5kIG9uZSByb3cgZm9yIGVhY2ggcGFja2FnZSBvciBjbGFzcyB0aGF0IGNvbnRhaW5zIGF0IGxlYXN0Ci00IHdhcm5pbmdzLjwvcD48ZGl2IGNsYXNzPSJ0YWJsZSI+PGEgbmFtZT0iZGVmZWN0RGVuc2l0eUNvbHVtbnMiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPlRhYmxlJm5ic3A7MTIuNS4mbmJzcDtDb2x1bW5zIGluIGRlZmVjdERlbnNpdHkgb3V0cHV0PC9iPjwvcD48ZGl2IGNsYXNzPSJ0YWJsZS1jb250ZW50cyI+PHRhYmxlIHN1bW1hcnk9IkNvbHVtbnMgaW4gZGVmZWN0RGVuc2l0eSBvdXRwdXQiIGJvcmRlcj0iMSI+PGNvbGdyb3VwPjxjb2w+PGNvbD48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJsZWZ0Ij5UaXRsZTwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5NZWFuaW5nPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgYWxpZ249ImxlZnQiPmtpbmQ8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+cHJvamVjdCwgcGFja2FnZSBvciBjbGFzczwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5uYW1lPC90ZD48dGQgYWxpZ249ImxlZnQiPlRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LCBwYWNrYWdlIG9yIGNsYXNzPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPmRlbnNpdHk8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+TnVtYmVyIG9mIHdhcm5pbmdzIGdlbmVyYXRlZCBwZXIgMTAwMCBsaW5lcyBvZiBOQ1NTLjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5idWdzPC90ZD48dGQgYWxpZ249ImxlZnQiPk51bWJlciBvZiB3YXJuaW5nczwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5OQ1NTPC90ZD48dGQgYWxpZ249ImxlZnQiPkNhbGN1bGF0ZWQgbnVtYmVyIG9mIE5DU1M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QyIiB0aXRsZT0iMS42LiZuYnNwO2NvbnZlcnRYbWxUb1RleHQiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImNvbnZlcnRYbWxUb1RleHQiPjwvYT4xLjYuJm5ic3A7Y29udmVydFhtbFRvVGV4dDwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci0gICAgICAgICAgICAgICAgVGhpcyBjb21tYW5kIGNvbnZlcnRzIGEgd2FybmluZyBjb2xsZWN0aW9uIGluIFhNTCBmb3JtYXQgdG8gYSB0ZXh0Ci0gICAgICAgICAgICAgICAgZm9ybWF0IHdpdGggb25lIGxpbmUgcGVyIHdhcm5pbmcsIG9yIHRvIEhUTUwuCi0gICAgICAgICAgICA8L3A+PHA+VGhpcyBmdW5jdGlvbmFsaXR5IG1heSBhbHNvIGNhbiBiZSBhY2Nlc3NlZCBmcm9tIGFudC4KLUZpcnN0IGNyZWF0ZSBhIHRhc2tkZWYgZm9yIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmNvbnZlcnRYbWxUb1RleHQ8L3N0cm9uZz48L3NwYW4+IGluIHlvdXIKLWJ1aWxkIGZpbGU6Ci08L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7dGFza2RlZiBuYW1lPSJjb252ZXJ0WG1sVG9UZXh0IiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5Db252ZXJ0WG1sVG9UZXh0VGFzayImZ3Q7Ci0gICAgJmx0O2NsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvJmd0OwotJmx0Oy90YXNrZGVmJmd0OwotCi08L3ByZT48cD5BdHRyaWJ1dGVzIGZvciB0aGlzIGFudCB0YXNrIGFyZSBsaXN0ZWQgaW4gdGhlIGZvbGxvd2luZyB0YWJsZS48L3A+PGRpdiBjbGFzcz0idGFibGUiPjxhIG5hbWU9ImNvbnZlcnRYbWxUb1RleHRUYWJsZSI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+VGFibGUmbmJzcDsxMi42LiZuYnNwO09wdGlvbnMgZm9yIGNvbnZlcnRYbWxUb1RleHQgY29tbWFuZDwvYj48L3A+PGRpdiBjbGFzcz0idGFibGUtY29udGVudHMiPjx0YWJsZSBzdW1tYXJ5PSJPcHRpb25zIGZvciBjb252ZXJ0WG1sVG9UZXh0IGNvbW1hbmQiIGJvcmRlcj0iMSI+PGNvbGdyb3VwPjxjb2w+PGNvbD48Y29sPjwvY29sZ3JvdXA+PHRoZWFkPjx0cj48dGggYWxpZ249ImxlZnQiPkNvbW1hbmQtbGluZSBvcHRpb248L3RoPjx0aCBhbGlnbj0ibGVmdCI+QW50IGF0dHJpYnV0ZTwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5NZWFuaW5nPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5pbnB1dD0iJmx0O2ZpbGVuYW1lJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+dXNlIGZpbGUgYXMgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD48dGQgYWxpZ249ImxlZnQiPm91dHB1dD0iJmx0O2ZpbGVuYW1lJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+b3V0cHV0IHJlc3VsdHMgdG8gZmlsZTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tbG9uZ0J1Z0NvZGVzPC90ZD48dGQgYWxpZ249ImxlZnQiPmxvbmdCdWdDb2Rlcz0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij51c2UgdGhlIGZ1bGwgYnVnIHBhdHRlcm4gY29kZSBpbnN0ZWFkIG9mIHR3by1sZXR0ZXIgYWJicmV2aWF0aW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5mb3JtYXQ9InRleHQiPC90ZD48dGQgYWxpZ249ImxlZnQiPmdlbmVyYXRlIHBsYWluIHRleHQgb3V0cHV0IHdpdGggb25lIGJ1ZyBwZXIgbGluZSAoY29tbWFuZC1saW5lIGRlZmF1bHQpPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1odG1sWzpzdHlsZXNoZWV0XTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5mb3JtYXQ9Imh0bWw6Jmx0O3N0eWxlc2hlZXQmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5nZW5lcmF0ZSBvdXRwdXQgd2l0aCBzcGVjaWZpZWQgc3R5bGVzaGVldCAoc2VlIGJlbG93KSwgb3IgZGVmYXVsdC54c2wgaWYgdW5zcGVjaWZpZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjxwPgotICAgICAgICAgICAgWW91IG1heSBzcGVjaWZ5IHBsYWluLnhzbCwgZGVmYXVsdC54c2wsIGZhbmN5LnhzbCwgZmFuY3ktaGlzdC54c2wsCi0gICAgICAgICAgICBvciB5b3VyIG93biBYU0wgc3R5bGVzaGVldCBmb3IgdGhlIC1odG1sL2Zvcm1hdCBvcHRpb24uCi0gICAgICAgICAgICBEZXNwaXRlIHRoZSBuYW1lIG9mIHRoaXMgb3B0aW9uLCB5b3UgbWF5IHNwZWNpZnkKLSAgICAgICAgICAgIGEgc3R5bGVzaGVldCB0aGF0IGVtaXRzIHNvbWV0aGluZyBvdGhlciB0aGFuIGh0bWwuCi0gICAgICAgICAgICBXaGVuIGFwcGx5aW5nIGEgc3R5bGVzaGVldCBvdGhlciB0aGFuIHRob3NlIGluY2x1ZGVkCi0gICAgICAgICAgICB3aXRoIEZpbmRCdWdzIChsaXN0ZWQgYWJvdmUpLCB0aGUgLWh0bWwvZm9ybWF0IG9wdGlvbiBzaG91bGQgYmUgdXNlZAotICAgICAgICAgICAgd2l0aCBhIHBhdGggb3IgVVJMIHRvIHRoZSBzdHlsZXNoZWV0LgotICAgICAgICAgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QyIiB0aXRsZT0iMS43LiZuYnNwO3NldEJ1Z0RhdGFiYXNlSW5mbyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ic2V0QnVnRGF0YWJhc2VJbmZvIj48L2E+MS43LiZuYnNwO3NldEJ1Z0RhdGFiYXNlSW5mbzwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci0gICAgICAgICAgICAgICAgVGhpcyBjb21tYW5kIHNldHMgbWV0YS1pbmZvcm1hdGlvbiBpbiBhIHNwZWNpZmllZCB3YXJuaW5nIGNvbGxlY3Rpb24uCi0gICAgICAgICAgICAgICAgSXQgdGFrZXMgdGhlIGZvbGxvd2luZyBvcHRpb25zOgotICAgICAgICAgICAgPC9wPjxwPlRoaXMgZnVuY3Rpb25hbGl0eSBtYXkgYWxzbyBjYW4gYmUgYWNjZXNzZWQgZnJvbSBhbnQuCi1GaXJzdCBjcmVhdGUgYSB0YXNrZGVmIGZvciA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5zZXRCdWdEYXRhYmFzZUluZm88L3N0cm9uZz48L3NwYW4+IGluIHlvdXIKLWJ1aWxkIGZpbGU6Ci08L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7dGFza2RlZiBuYW1lPSJzZXRCdWdEYXRhYmFzZUluZm8iIGNsYXNzbmFtZT0iZWR1LnVtZC5jcy5maW5kYnVncy5hbnR0YXNrLlNldEJ1Z0RhdGFiYXNlSW5mb1Rhc2siJmd0OwotICAgICZsdDtjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLyZndDsKLSZsdDsvdGFza2RlZiZndDsKLQotPC9wcmU+PHA+QXR0cmlidXRlcyBmb3IgdGhpcyBhbnQgdGFzayBhcmUgbGlzdGVkIGluIHRoZSBmb2xsb3dpbmcgdGFibGUuCi1UbyBzcGVjaWZ5IGFuIGlucHV0IGZpbGUgZWl0aGVyIHVzZSB0aGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmlucHV0PC9jb2RlPgotYXR0cmlidXRlIG9yIG5lc3QgaXQgaW5zaWRlIHRoZSBhbnQgY2FsbCB3aXRoIGEKLTxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7ZGF0YWZpbGUmZ3Q7PC9jb2RlPiBlbGVtZW50LiAgRm9yIGV4YW1wbGU6Ci08L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7c2V0QnVnRGF0YWJhc2VJbmZvIGhvbWU9IiR7ZmluZGJ1Z3MuaG9tZX0iIC4uLiZndDsKLSAgICAmbHQ7ZGF0YWZpbGUgbmFtZT0iYW5hbHl6ZS54bWwiLyZndDsKLSZsdDsvc2V0QnVnRGF0YWJhc2VJbmZvJmd0OwotCi08L3ByZT48ZGl2IGNsYXNzPSJ0YWJsZSI+PGEgbmFtZT0ic2V0QnVnRGF0YWJhc2VJbmZvT3B0aW9ucyI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+VGFibGUmbmJzcDsxMi43LiZuYnNwO3NldEJ1Z0RhdGFiYXNlSW5mbyBPcHRpb25zPC9iPjwvcD48ZGl2IGNsYXNzPSJ0YWJsZS1jb250ZW50cyI+PHRhYmxlIHN1bW1hcnk9InNldEJ1Z0RhdGFiYXNlSW5mbyBPcHRpb25zIiBib3JkZXI9IjEiPjxjb2xncm91cD48Y29sPjxjb2w+PGNvbD48L2NvbGdyb3VwPjx0aGVhZD48dHI+PHRoIGFsaWduPSJsZWZ0Ij5Db21tYW5kLWxpbmUgb3B0aW9uPC90aD48dGggYWxpZ249ImxlZnQiPkFudCBhdHRyaWJ1dGU8L3RoPjx0aCBhbGlnbj0ibGVmdCI+TWVhbmluZzwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+aW5wdXQ9IiZsdDtmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+dXNlIGZpbGUgYXMgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD48dGQgYWxpZ249ImxlZnQiPm91dHB1dD0iJmx0O2ZpbGUmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij53cml0ZSBvdXRwdXQgdG8gZmlsZTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tbmFtZSAmbHQ7bmFtZSZndDs8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+bmFtZT0iJmx0O25hbWUmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5zZXQgbmFtZSBmb3IgKGxhc3QpIHJldmlzaW9uPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi10aW1lc3RhbXAgJmx0O3doZW4mZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPnRpbWVzdGFtcD0iJmx0O3doZW4mZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5zZXQgdGltZXN0YW1wIGZvciAobGFzdCkgcmV2aXNpb248L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXNvdXJjZSAmbHQ7ZGlyZWN0b3J5Jmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5zb3VyY2U9IiZsdDtkaXJlY3RvcnkmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5hZGQgc3BlY2lmaWVkIGRpcmVjdG9yeSB0byB0aGUgc291cmNlIHNlYXJjaCBwYXRoPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1maW5kU291cmNlICZsdDtkaXJlY3RvcnkmZ3Q7PC90ZD48dGQgYWxpZ249ImxlZnQiPmZpbmRTb3VyY2U9IiZsdDtkaXJlY3RvcnkmZ3Q7IjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5maW5kIGFuZCBhZGQgYWxsIHJlbGV2YW50IHNvdXJjZSBkaXJlY3Rpb25zIGNvbnRhaW5lZCB3aXRoaW4gc3BlY2lmaWVkIGRpcmVjdG9yeTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij4tc3VwcHJlc3MgJmx0O2ZpbHRlciBmaWxlJmd0OzwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5zdXBwcmVzcz0iJmx0O2ZpbHRlciBmaWxlJmd0OyI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+c3VwcHJlc3Mgd2FybmluZ3MgbWF0Y2hlZCBieSB0aGlzIGZpbGUgKHJlcGxhY2VzIHByZXZpb3VzIHN1cHByZXNzaW9ucyk8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+LXdpdGhNZXNzYWdlczwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij53aXRoTWVzc2FnZXM9Ilt0cnVlfGZhbHNlXSI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+YWRkIHRleHR1YWwgbWVzc2FnZXMgdG8gWE1MPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPi1yZXNldFNvdXJjZTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5yZXNldFNvdXJjZT0iW3RydWV8ZmFsc2VdIjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5yZW1vdmUgYWxsIHNvdXJjZSBzZWFyY2ggcGF0aHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QyIiB0aXRsZT0iMS44LiZuYnNwO2xpc3RCdWdEYXRhYmFzZUluZm8iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9Imxpc3RCdWdEYXRhYmFzZUluZm8iPjwvYT4xLjguJm5ic3A7bGlzdEJ1Z0RhdGFiYXNlSW5mbzwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+VGhpcyBjb21tYW5kIHRha2VzIGEgbGlzdCBvZiB6ZXJvIG9yIG1vcmUgeG1sIGJ1ZyBkYXRhYmFzZSBmaWxlbmFtZXMgb24gdGhlIGNvbW1hbmQgbGluZS4KLUlmIHplcm8gZmlsZSBuYW1lcyBhcmUgcHJvdmlkZWQsIGl0IHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIGRvZXMgbm90IGdlbmVyYXRlCi1hIHRhYmxlIGhlYWRlci48L3A+PHA+VGhlcmUgaXMgb25seSBvbmUgb3B0aW9uOiA8Y29kZSBjbGFzcz0ib3B0aW9uIj4tZm9ybWF0RGF0ZXM8L2NvZGU+IHJlbmRlcnMgZGF0ZXMKLSAgICBpbiB0ZXh0dWFsIGZvcm0uCi0gICAgPC9wPjxwPlRoZSBvdXRwdXQgaXMgYSB0YWJsZSBvbmUgcm93IHBlciBidWcgZGF0YWJhc2UgYW5kIHRoZSBmb2xsb3dpbmcgY29sdW1uczo8L3A+PGRpdiBjbGFzcz0idGFibGUiPjxhIG5hbWU9Imxpc3RCdWdEYXRhYmFzZUluZm9Db2x1bW5zIj48L2E+PHAgY2xhc3M9InRpdGxlIj48Yj5UYWJsZSZuYnNwOzEyLjguJm5ic3A7bGlzdEJ1Z0RhdGFiYXNlSW5mbyBDb2x1bW5zPC9iPjwvcD48ZGl2IGNsYXNzPSJ0YWJsZS1jb250ZW50cyI+PHRhYmxlIHN1bW1hcnk9Imxpc3RCdWdEYXRhYmFzZUluZm8gQ29sdW1ucyIgYm9yZGVyPSIxIj48Y29sZ3JvdXA+PGNvbD48Y29sPjwvY29sZ3JvdXA+PHRoZWFkPjx0cj48dGggYWxpZ249ImxlZnQiPkNvbHVtbjwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5NZWFuaW5nPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQgYWxpZ249ImxlZnQiPnZlcnNpb248L3RkPjx0ZCBhbGlnbj0ibGVmdCI+dmVyc2lvbiBuYW1lPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnRpbWU8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+UmVsZWFzZSB0aW1lc3RhbXA8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+Y2xhc3NlczwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5OdW1iZXIgb2YgY2xhc3NlcyBhbmFseXplZDwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5OQ1NTPC90ZD48dGQgYWxpZ249ImxlZnQiPk5vbiBDb21tZW50aW5nIFNvdXJjZSBTdGF0ZW1lbnRzIGFuYWx5emVkPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPnRvdGFsPC90ZD48dGQgYWxpZ249ImxlZnQiPlRvdGFsIG51bWJlciBvZiB3YXJuaW5ncyBvZiBhbGwga2luZHM8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+aGlnaDwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5Ub3RhbCBudW1iZXIgb2YgaGlnaCBwcmlvcml0eSB3YXJuaW5ncyBvZiBhbGwga2luZHM8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+bWVkaXVtPC90ZD48dGQgYWxpZ249ImxlZnQiPlRvdGFsIG51bWJlciBvZiBtZWRpdW0vbm9ybWFsIHByaW9yaXR5IHdhcm5pbmdzIG9mIGFsbCBraW5kczwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5sb3c8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+VG90YWwgbnVtYmVyIG9mIGxvdyBwcmlvcml0eSB3YXJuaW5ncyBvZiBhbGwga2luZHM8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+ZmlsZW5hbWU8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+ZmlsZW5hbWUgb2YgZGF0YWJhc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMi4mbmJzcDtFeGFtcGxlcyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJleGFtcGxlcyI+PC9hPjIuJm5ic3A7RXhhbXBsZXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QyIiB0aXRsZT0iMi4xLiZuYnNwO01pbmluZyBoaXN0b3J5IHVzaW5nIHByb3ZlZGVkIHNoZWxsIHNjcmlwcyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0idW5peHNjcmlwdHNleGFtcGxlcyI+PC9hPjIuMS4mbmJzcDtNaW5pbmcgaGlzdG9yeSB1c2luZyBwcm92ZWRlZCBzaGVsbCBzY3JpcHM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPkluIGFsbCBvZiB0aGUgZm9sbG93aW5nLCB0aGUgY29tbWFuZHMgYXJlIGdpdmVuIGluIGEgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMKLWRpcmVjdG9yaWVzIGpkazEuNi4wLWIxMiwgamRrMS42LjAtYjEzLCAuLi4sIGpkazEuNi4wLWI2MC48L3A+PHA+WW91IGNhbiB1c2UgdGhlIGNvbW1hbmQ6PC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci1jb21wdXRlQnVnSGlzdG9yeSBqZGsxLjYuMC1iKiB8IGZpbHRlckJ1Z3MgLWJ1Z1BhdHRlcm4gSUxfIHwgbWluZUJ1Z0hpc3RvcnkgLWZvcm1hdERhdGVzCi08L3ByZT48cD50byBnZW5lcmF0ZSB0aGUgZm9sbG93aW5nIG91dHB1dDo8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLXNlcQl2ZXJzaW9uCXRpbWUJY2xhc3NlcwlOQ1NTCWFkZGVkCW5ld0NvZGUJZml4ZWQJcmVtb3ZlZAlyZXRhaW5lZAlkZWFkCWFjdGl2ZQotMAlqZGsxLjYuMC1iMTIJIlRodSBOb3YgMTEgMDk6MDc6MjAgRVNUIDIwMDQiCTEzMTI4CTgxMTU2OQkwCTQJMAkwCTAJMAk0Ci0xCWpkazEuNi4wLWIxMwkiVGh1IE5vdiAxOCAwNjowMjowNiBFU1QgMjAwNCIJMTMxMjgJODExNTcwCTAJMAkwCTAJNAkwCTQKLTIJamRrMS42LjAtYjE0CSJUaHUgRGVjIDAyIDA2OjEyOjI2IEVTVCAyMDA0IgkxMzE0NQk4MTE3ODYJMAkwCTIJMAkyCTAJMgotMwlqZGsxLjYuMC1iMTUJIlRodSBEZWMgMDkgMDY6MDc6MDQgRVNUIDIwMDQiCTEzMTc0CTgxMTY5MwkwCTAJMQkwCTEJMgkxCi00CWpkazEuNi4wLWIxNgkiVGh1IERlYyAxNiAwNjoyMToyOCBFU1QgMjAwNCIJMTMxNzUJODExNzE1CTAJMAkwCTAJMQkzCTEKLTUJamRrMS42LjAtYjE3CSJUaHUgRGVjIDIzIDA2OjI3OjIyIEVTVCAyMDA0IgkxMzE3Ngk4MTE5NzQJMAkwCTAJMAkxCTMJMQotNglqZGsxLjYuMC1iMTkJIlRodSBKYW4gMTMgMDY6NDE6MTYgRVNUIDIwMDUiCTEzMTc2CTgxMjAxMQkwCTAJMAkwCTEJMwkxCi03CWpkazEuNi4wLWIyMQkiVGh1IEphbiAyNyAwNTo1Nzo1MiBFU1QgMjAwNSIJMTMxNzcJODEyMTczCTAJMAkwCTAJMQkzCTEKLTgJamRrMS42LjAtYjIzCSJUaHUgRmViIDEwIDA1OjQ0OjM2IEVTVCAyMDA1IgkxMzE3OQk4MTIxODgJMAkwCTAJMAkxCTMJMQotOQlqZGsxLjYuMC1iMjYJIlRodSBNYXIgMDMgMDY6MDQ6MDIgRVNUIDIwMDUiCTEzMTk5CTgxMTc3MAkwCTAJMAkwCTEJMwkxCi0xMAlqZGsxLjYuMC1iMjcJIlRodSBNYXIgMTAgMDQ6NDg6MzggRVNUIDIwMDUiCTEzMTg5CTgxMjQ0MAkwCTAJMAkwCTEJMwkxCi0xMQlqZGsxLjYuMC1iMjgJIlRodSBNYXIgMTcgMDI6NTQ6MjIgRVNUIDIwMDUiCTEzMTg1CTgxMjA1NgkwCTAJMAkwCTEJMwkxCi0xMglqZGsxLjYuMC1iMjkJIlRodSBNYXIgMjQgMDM6MDk6MjAgRVNUIDIwMDUiCTEzMTE3CTgwOTQ2OAkwCTAJMAkwCTEJMwkxCi0xMwlqZGsxLjYuMC1iMzAJIlRodSBNYXIgMzEgMDI6NTM6MzIgRVNUIDIwMDUiCTEzMTE4CTgwOTUwMQkwCTAJMAkwCTEJMwkxCi0xNAlqZGsxLjYuMC1iMzEJIlRodSBBcHIgMDcgMDM6MDA6MTQgRURUIDIwMDUiCTEzMTE3CTgwOTU3MgkwCTAJMAkwCTEJMwkxCi0xNQlqZGsxLjYuMC1iMzIJIlRodSBBcHIgMTQgMDI6NTY6NTYgRURUIDIwMDUiCTEzMTY5CTgxMTA5NgkwCTAJMAkwCTEJMwkxCi0xNglqZGsxLjYuMC1iMzMJIlRodSBBcHIgMjEgMDI6NDY6MjIgRURUIDIwMDUiCTEzMTg3CTgxMTk0MgkwCTAJMAkwCTEJMwkxCi0xNwlqZGsxLjYuMC1iMzQJIlRodSBBcHIgMjggMDI6NDk6MDAgRURUIDIwMDUiCTEzMTk1CTgxMzQ4OAkwCTEJMAkwCTEJMwkyCi0xOAlqZGsxLjYuMC1iMzUJIlRodSBNYXkgMDUgMDI6NDk6MDQgRURUIDIwMDUiCTEzNDU3CTgyOTgzNwkwCTAJMAkwCTIJMwkyCi0xOQlqZGsxLjYuMC1iMzYJIlRodSBNYXkgMTIgMDI6NTk6NDYgRURUIDIwMDUiCTEzNDYyCTgzMTI3OAkwCTAJMAkwCTIJMwkyCi0yMAlqZGsxLjYuMC1iMzcJIlRodSBNYXkgMTkgMDI6NTU6MDggRURUIDIwMDUiCTEzNDY0CTgzMTk3MQkwCTAJMAkwCTIJMwkyCi0yMQlqZGsxLjYuMC1iMzgJIlRodSBNYXkgMjYgMDM6MDg6MTYgRURUIDIwMDUiCTEzNTY0CTgzNjU2NQkwCTAJMAkwCTIJMwkyCi0yMglqZGsxLjYuMC1iMzkJIkZyaSBKdW4gMDMgMDM6MTA6NDggRURUIDIwMDUiCTEzODU2CTg0OTk5MgkwCTEJMAkwCTIJMwkzCi0yMwlqZGsxLjYuMC1iNDAJIlRodSBKdW4gMDkgMDM6MzA6MjggRURUIDIwMDUiCTE1OTcyCTk1OTYxOQkwCTIJMAkwCTMJMwk1Ci0yNAlqZGsxLjYuMC1iNDEJIlRodSBKdW4gMTYgMDM6MTk6MjIgRURUIDIwMDUiCTE1OTcyCTk1OTYxOQkwCTAJMAkwCTUJMwk1Ci0yNQlqZGsxLjYuMC1iNDIJIkZyaSBKdW4gMjQgMDM6Mzg6NTQgRURUIDIwMDUiCTE1OTY2CTk1ODU4MQkwCTAJMAkwCTUJMwk1Ci0yNglqZGsxLjYuMC1iNDMJIlRodSBKdWwgMTQgMDM6MDk6MzQgRURUIDIwMDUiCTE2MDQxCTk2MDU0NAkwCTAJMAkwCTUJMwk1Ci0yNwlqZGsxLjYuMC1iNDQJIlRodSBKdWwgMjEgMDM6MDU6NTQgRURUIDIwMDUiCTE2MDQxCTk2MDU0NwkwCTAJMAkwCTUJMwk1Ci0yOAlqZGsxLjYuMC1iNDUJIlRodSBKdWwgMjggMDM6MjY6MTAgRURUIDIwMDUiCTE2MDM3CTk2MDYwNgkwCTAJMQkwCTQJMwk0Ci0yOQlqZGsxLjYuMC1iNDYJIlRodSBBdWcgMDQgMDM6MDI6NDggRURUIDIwMDUiCTE1OTM2CTk1MTM1NQkwCTAJMAkwCTQJNAk0Ci0zMAlqZGsxLjYuMC1iNDcJIlRodSBBdWcgMTEgMDM6MTg6NTYgRURUIDIwMDUiCTE1OTY0CTk1MjM4NwkwCTAJMQkwCTMJNAkzCi0zMQlqZGsxLjYuMC1iNDgJIlRodSBBdWcgMTggMDg6MTA6NDAgRURUIDIwMDUiCTE1OTcwCTk1MzQyMQkwCTAJMAkwCTMJNQkzCi0zMglqZGsxLjYuMC1iNDkJIlRodSBBdWcgMjUgMDM6MjQ6MzggRURUIDIwMDUiCTE2MDQ4CTk1ODk0MAkwCTAJMAkwCTMJNQkzCi0zMwlqZGsxLjYuMC1iNTAJIlRodSBTZXAgMDEgMDE6NTI6NDAgRURUIDIwMDUiCTE2Mjg3CTk3NDkzNwkxCTAJMAkwCTMJNQk0Ci0zNAlqZGsxLjYuMC1iNTEJIlRodSBTZXAgMDggMDE6NTU6MzYgRURUIDIwMDUiCTE2MzYyCTk3OTM3NwkwCTAJMAkwCTQJNQk0Ci0zNQlqZGsxLjYuMC1iNTIJIlRodSBTZXAgMTUgMDI6MDQ6MDggRURUIDIwMDUiCTE2NDc3CTk3OTM5OQkwCTAJMAkwCTQJNQk0Ci0zNglqZGsxLjYuMC1iNTMJIlRodSBTZXAgMjIgMDI6MDA6MjggRURUIDIwMDUiCTE2MDE5CTk1NzkwMAkwCTAJMQkwCTMJNQkzCi0zNwlqZGsxLjYuMC1iNTQJIlRodSBTZXAgMjkgMDE6NTQ6MzQgRURUIDIwMDUiCTE2MDE5CTk1NzkwMAkwCTAJMAkwCTMJNgkzCi0zOAlqZGsxLjYuMC1iNTUJIlRodSBPY3QgMDYgMDE6NTQ6MTQgRURUIDIwMDUiCTE2MDUxCTk1OTAxNAkwCTAJMAkwCTMJNgkzCi0zOQlqZGsxLjYuMC1iNTYJIlRodSBPY3QgMTMgMDE6NTQ6MTIgRURUIDIwMDUiCTE2MjExCTk3MDgzNQkwCTAJMAkwCTMJNgkzCi00MAlqZGsxLjYuMC1iNTcJIlRodSBPY3QgMjAgMDE6NTU6MjYgRURUIDIwMDUiCTE2Mjc5CTk3MTYyNwkwCTAJMAkwCTMJNgkzCi00MQlqZGsxLjYuMC1iNTgJIlRodSBPY3QgMjcgMDE6NTY6MzAgRURUIDIwMDUiCTE2MjgzCTk3MTk0NQkwCTAJMAkwCTMJNgkzCi00MglqZGsxLjYuMC1iNTkJIlRodSBOb3YgMDMgMDE6NTY6NTggRVNUIDIwMDUiCTE2MjMyCTk3MjE5MwkwCTAJMAkwCTMJNgkzCi00MwlqZGsxLjYuMC1iNjAJIlRodSBOb3YgMTAgMDE6NTQ6MTggRVNUIDIwMDUiCTE2MjM1CTk3MjM0NgkwCTAJMAkwCTMJNgkzCi08L3ByZT48cD4KLVdlIGNvdWxkIGFsc28gZ2VuZXJhdGUgdGhhdCBpbmZvcm1hdGlvbiBkaXJlY3RseSwgd2l0aG91dCBjcmVhdGluZyBhbiBpbnRlcm1lZGlhdGUgZGIueG1sIGZpbGUsIHVzaW5nIHRoZSBjb21tYW5kCi08L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLWNvbXB1dGVCdWdIaXN0b3J5ICBqZGsxLjYuMC1iKi9qcmUvbGliL3J0LnhtbCB8IGZpbHRlckJ1Z3MgLWJ1Z1BhdHRlcm4gSUxfIGRiLnhtbCB8IG1pbmVCdWdIaXN0b3J5IC1mb3JtYXREYXRlcwotPC9wcmU+PHA+V2UgY2FuIHRoZW4gdXNlIHRoYXQgaW5mb3JtYXRpb24gdG8gZGlzcGxheSBhIGdyYXBoIHNob3dpbmcgdGhlIG51bWJlciBvZiBpbmZpbml0ZSByZWN1cnNpdmUgbG9vcHMKLWZvdW5kIGJ5IEZpbmRCdWdzIGluIGVhY2ggYnVpbGQgb2YgU3VuJ3MgSkRLMS42LjAuIFRoZSBibHVlIGFyZWEgaW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgaW5maW5pdGUKLXJlY3Vyc2l2ZSBsb29wcyBpbiB0aGF0IGJ1aWxkLCB0aGUgcmVkIGFyZWEgYWJvdmUgaXQgaW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgaW5maW5pdGUgcmVjdXJzaXZlIGxvb3BzIHRoYXQgZXhpc3RlZAotaW4gc29tZSBwcmV2aW91cyB2ZXJzaW9uIGJ1dCBub3QgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiAodGh1cywgdGhlIGNvbWJpbmVkIGhlaWdodCBvZiB0aGUgcmVkIGFuZCBibHVlIGFyZWFzCi1pcyBndWFyYW50ZWVkIHRvIG5ldmVyIGRlY3JlYXNlLCBhbmQgZ29lcyB1cCB3aGVuZXZlciBhIG5ldyBpbmZpbml0ZSByZWN1cnNpdmUgbG9vcCBidWcgaXMgaW50cm9kdWNlZCkuIFRoZSBoZWlnaHQKLW9mIHRoZSByZWQgYXJlYSBpcyBjb21wdXRlZCBhcyB0aGUgc3VtIG9mIHRoZSBmaXhlZCwgcmVtb3ZlZCBhbmQgZGVhZCB2YWx1ZXMgZm9yIGVhY2ggdmVyc2lvbi4KLVRoZSByZWR1Y3Rpb25zIGluIGJ1aWxkcyAxMyBhbmQgMTQgY2FtZSBhZnRlciBTdW4gd2FzIG5vdGlmaWVkIGFib3V0IHRoZSBidWdzIGZvdW5kIGJ5IEZpbmRCdWdzIGluIHRoZSBKREsuCi0gICAgPC9wPjxkaXYgY2xhc3M9Im1lZGlhb2JqZWN0Ij48aW1nIHNyYz0iaW5maW5pdGVSZWN1cnNpdmVMb29wcy5wbmciPjwvZGl2PjxwPgotR2l2ZW4gdGhlIGRiLnhtbCBmaWxlIHRoYXQgY29udGFpbnMgdGhlIHJlc3VsdHMgZm9yIGFsbCB0aGUgamRrMS42LjAgYnVpbGRzLCB0aGUgZm9sbG93aW5nIGNvbW1hbmQgd2lsbCBzaG93IHRoZSBoaXN0b3J5IG9mIGhpZ2ggYW5kIG1lZGl1bSBwcmlvcml0eSBjb3JyZWN0bmVzcyB3YXJuaW5nczoKLTwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotZmlsdGVyQnVncyAtcHJpb3JpdHkgTSAtY2F0ZWdvcnkgQyBkYi54bWwgfCBtaW5lQnVnSGlzdG9yeSAtZm9ybWF0RGF0ZXMKLTwvcHJlPjxwPgotZ2VuZXJhdGluZyB0aGUgdGFibGU6Ci08L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLXNlcQl2ZXJzaW9uCXRpbWUJY2xhc3NlcwlOQ1NTCWFkZGVkCW5ld0NvZGUJZml4ZWQJcmVtb3ZlZAlyZXRhaW5lZAlkZWFkCWFjdGl2ZQotMAlqZGsxLjYuMC1iMTIJIlRodSBOb3YgMTEgMDk6MDc6MjAgRVNUIDIwMDQiCTEzMTI4CTgxMTU2OQkwCTEwNzUJMAkwCTAJMAkxMDc1Ci0xCWpkazEuNi4wLWIxMwkiVGh1IE5vdiAxOCAwNjowMjowNiBFU1QgMjAwNCIJMTMxMjgJODExNTcwCTAJMAkwCTAJMTA3NQkwCTEwNzUKLTIJamRrMS42LjAtYjE0CSJUaHUgRGVjIDAyIDA2OjEyOjI2IEVTVCAyMDA0IgkxMzE0NQk4MTE3ODYJMwkwCTYJMAkxMDY5CTAJMTA3MgotMwlqZGsxLjYuMC1iMTUJIlRodSBEZWMgMDkgMDY6MDc6MDQgRVNUIDIwMDQiCTEzMTc0CTgxMTY5MwkyCTEJMwkwCTEwNjkJNgkxMDcyCi00CWpkazEuNi4wLWIxNgkiVGh1IERlYyAxNiAwNjoyMToyOCBFU1QgMjAwNCIJMTMxNzUJODExNzE1CTAJMAkxCTAJMTA3MQk5CTEwNzEKLTUJamRrMS42LjAtYjE3CSJUaHUgRGVjIDIzIDA2OjI3OjIyIEVTVCAyMDA0IgkxMzE3Ngk4MTE5NzQJMAkwCTEJMAkxMDcwCTEwCTEwNzAKLTYJamRrMS42LjAtYjE5CSJUaHUgSmFuIDEzIDA2OjQxOjE2IEVTVCAyMDA1IgkxMzE3Ngk4MTIwMTEJMAkwCTAJMAkxMDcwCTExCTEwNzAKLTcJamRrMS42LjAtYjIxCSJUaHUgSmFuIDI3IDA1OjU3OjUyIEVTVCAyMDA1IgkxMzE3Nwk4MTIxNzMJMAkwCTEJMAkxMDY5CTExCTEwNjkKLTgJamRrMS42LjAtYjIzCSJUaHUgRmViIDEwIDA1OjQ0OjM2IEVTVCAyMDA1IgkxMzE3OQk4MTIxODgJMAkwCTAJMAkxMDY5CTEyCTEwNjkKLTkJamRrMS42LjAtYjI2CSJUaHUgTWFyIDAzIDA2OjA0OjAyIEVTVCAyMDA1IgkxMzE5OQk4MTE3NzAJMAkwCTIJMQkxMDY2CTEyCTEwNjYKLTEwCWpkazEuNi4wLWIyNwkiVGh1IE1hciAxMCAwNDo0ODozOCBFU1QgMjAwNSIJMTMxODkJODEyNDQwCTEJMAkxCTEJMTA2NAkxNQkxMDY1Ci0xMQlqZGsxLjYuMC1iMjgJIlRodSBNYXIgMTcgMDI6NTQ6MjIgRVNUIDIwMDUiCTEzMTg1CTgxMjA1NgkwCTAJMAkwCTEwNjUJMTcJMTA2NQotMTIJamRrMS42LjAtYjI5CSJUaHUgTWFyIDI0IDAzOjA5OjIwIEVTVCAyMDA1IgkxMzExNwk4MDk0NjgJMwkwCTgJMjYJMTAzMQkxNwkxMDM0Ci0xMwlqZGsxLjYuMC1iMzAJIlRodSBNYXIgMzEgMDI6NTM6MzIgRVNUIDIwMDUiCTEzMTE4CTgwOTUwMQkwCTAJMAkwCTEwMzQJNTEJMTAzNAotMTQJamRrMS42LjAtYjMxCSJUaHUgQXByIDA3IDAzOjAwOjE0IEVEVCAyMDA1IgkxMzExNwk4MDk1NzIJMAkwCTAJMAkxMDM0CTUxCTEwMzQKLTE1CWpkazEuNi4wLWIzMgkiVGh1IEFwciAxNCAwMjo1Njo1NiBFRFQgMjAwNSIJMTMxNjkJODExMDk2CTEJMQkwCTEJMTAzMwk1MQkxMDM1Ci0xNglqZGsxLjYuMC1iMzMJIlRodSBBcHIgMjEgMDI6NDY6MjIgRURUIDIwMDUiCTEzMTg3CTgxMTk0MgkzCTAJMgkxCTEwMzIJNTIJMTAzNQotMTcJamRrMS42LjAtYjM0CSJUaHUgQXByIDI4IDAyOjQ5OjAwIEVEVCAyMDA1IgkxMzE5NQk4MTM0ODgJMAkxCTAJMAkxMDM1CTU1CTEwMzYKLTE4CWpkazEuNi4wLWIzNQkiVGh1IE1heSAwNSAwMjo0OTowNCBFRFQgMjAwNSIJMTM0NTcJODI5ODM3CTAJMzYJMgkwCTEwMzQJNTUJMTA3MAotMTkJamRrMS42LjAtYjM2CSJUaHUgTWF5IDEyIDAyOjU5OjQ2IEVEVCAyMDA1IgkxMzQ2Mgk4MzEyNzgJMAkwCTAJMAkxMDcwCTU3CTEwNzAKLTIwCWpkazEuNi4wLWIzNwkiVGh1IE1heSAxOSAwMjo1NTowOCBFRFQgMjAwNSIJMTM0NjQJODMxOTcxCTAJMQkxCTAJMTA2OQk1NwkxMDcwCi0yMQlqZGsxLjYuMC1iMzgJIlRodSBNYXkgMjYgMDM6MDg6MTYgRURUIDIwMDUiCTEzNTY0CTgzNjU2NQkxCTcJMgk2CTEwNjIJNTgJMTA3MAotMjIJamRrMS42LjAtYjM5CSJGcmkgSnVuIDAzIDAzOjEwOjQ4IEVEVCAyMDA1IgkxMzg1Ngk4NDk5OTIJNgkzOQk1CTAJMTA2NQk2NgkxMTEwCi0yMwlqZGsxLjYuMC1iNDAJIlRodSBKdW4gMDkgMDM6MzA6MjggRURUIDIwMDUiCTE1OTcyCTk1OTYxOQk3CTE0NwkxMQkwCTEwOTkJNzEJMTI1MwotMjQJamRrMS42LjAtYjQxCSJUaHUgSnVuIDE2IDAzOjE5OjIyIEVEVCAyMDA1IgkxNTk3Mgk5NTk2MTkJMAkwCTAJMAkxMjUzCTgyCTEyNTMKLTI1CWpkazEuNi4wLWI0MgkiRnJpIEp1biAyNCAwMzozODo1NCBFRFQgMjAwNSIJMTU5NjYJOTU4NTgxCTMJMAkxCTIJMTI1MAk4MgkxMjUzCi0yNglqZGsxLjYuMC1iNDMJIlRodSBKdWwgMTQgMDM6MDk6MzQgRURUIDIwMDUiCTE2MDQxCTk2MDU0NAk1CTExCTE1CTgJMTIzMAk4NQkxMjQ2Ci0yNwlqZGsxLjYuMC1iNDQJIlRodSBKdWwgMjEgMDM6MDU6NTQgRURUIDIwMDUiCTE2MDQxCTk2MDU0NwkwCTAJMAkwCTEyNDYJMTA4CTEyNDYKLTI4CWpkazEuNi4wLWI0NQkiVGh1IEp1bCAyOCAwMzoyNjoxMCBFRFQgMjAwNSIJMTYwMzcJOTYwNjA2CTE5CTAJMgkwCTEyNDQJMTA4CTEyNjMKLTI5CWpkazEuNi4wLWI0NgkiVGh1IEF1ZyAwNCAwMzowMjo0OCBFRFQgMjAwNSIJMTU5MzYJOTUxMzU1CTEzCTEJMQkzMgkxMjMwCTExMAkxMjQ0Ci0zMAlqZGsxLjYuMC1iNDcJIlRodSBBdWcgMTEgMDM6MTg6NTYgRURUIDIwMDUiCTE1OTY0CTk1MjM4NwkxNjMJOAk3CTIwCTEyMTcJMTQzCTEzODgKLTMxCWpkazEuNi4wLWI0OAkiVGh1IEF1ZyAxOCAwODoxMDo0MCBFRFQgMjAwNSIJMTU5NzAJOTUzNDIxCTAJMAkwCTAJMTM4OAkxNzAJMTM4OAotMzIJamRrMS42LjAtYjQ5CSJUaHUgQXVnIDI1IDAzOjI0OjM4IEVEVCAyMDA1IgkxNjA0OAk5NTg5NDAJMQkxMQkxCTAJMTM4NwkxNzAJMTM5OQotMzMJamRrMS42LjAtYjUwCSJUaHUgU2VwIDAxIDAxOjUyOjQwIEVEVCAyMDA1IgkxNjI4Nwk5NzQ5MzcJMTkJMjcJMTYJNwkxMzc2CTE3MQkxNDIyCi0zNAlqZGsxLjYuMC1iNTEJIlRodSBTZXAgMDggMDE6NTU6MzYgRURUIDIwMDUiCTE2MzYyCTk3OTM3NwkxCTE1CTMJMAkxNDE5CTE5NAkxNDM1Ci0zNQlqZGsxLjYuMC1iNTIJIlRodSBTZXAgMTUgMDI6MDQ6MDggRURUIDIwMDUiCTE2NDc3CTk3OTM5OQkwCTAJMQkxCTE0MzMJMTk3CTE0MzMKLTM2CWpkazEuNi4wLWI1MwkiVGh1IFNlcCAyMiAwMjowMDoyOCBFRFQgMjAwNSIJMTYwMTkJOTU3OTAwCTEzCTEyCTE2CTIwCTEzOTcJMTk5CTE0MjIKLTM3CWpkazEuNi4wLWI1NAkiVGh1IFNlcCAyOSAwMTo1NDozNCBFRFQgMjAwNSIJMTYwMTkJOTU3OTAwCTAJMAkwCTAJMTQyMgkyMzUJMTQyMgotMzgJamRrMS42LjAtYjU1CSJUaHUgT2N0IDA2IDAxOjU0OjE0IEVEVCAyMDA1IgkxNjA1MQk5NTkwMTQJMQk0CTcJMAkxNDE1CTIzNQkxNDIwCi0zOQlqZGsxLjYuMC1iNTYJIlRodSBPY3QgMTMgMDE6NTQ6MTIgRURUIDIwMDUiCTE2MjExCTk3MDgzNQk2CTgJMzcJMAkxMzgzCTI0MgkxMzk3Ci00MAlqZGsxLjYuMC1iNTcJIlRodSBPY3QgMjAgMDE6NTU6MjYgRURUIDIwMDUiCTE2Mjc5CTk3MTYyNwkwCTAJMAkwCTEzOTcJMjc5CTEzOTcKLTQxCWpkazEuNi4wLWI1OAkiVGh1IE9jdCAyNyAwMTo1NjozMCBFRFQgMjAwNSIJMTYyODMJOTcxOTQ1CTAJMQkxCTAJMTM5NgkyNzkJMTM5NwotNDIJamRrMS42LjAtYjU5CSJUaHUgTm92IDAzIDAxOjU2OjU4IEVTVCAyMDA1IgkxNjIzMgk5NzIxOTMJNgkwCTUJMAkxMzkyCTI4MAkxMzk4Ci00MwlqZGsxLjYuMC1iNjAJIlRodSBOb3YgMTAgMDE6NTQ6MTggRVNUIDIwMDUiCTE2MjM1CTk3MjM0NgkwCTAJMAkwCTEzOTgJMjg1CTEzOTgKLTQ0CWpkazEuNi4wLWI2MQkiVGh1IE5vdiAxNyAwMTo1ODo0MiBFU1QgMjAwNSIJMTYyMDIJOTcxMTM0CTIJMAk0CTAJMTM5NAkyODUJMTM5NgotPC9wcmU+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjIuJm5ic3A7SW5jcmVtZW50YWwgaGlzdG9yeSBtYWludGVuYW5jZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaW5jcmVtZW50YWxoaXN0b3J5Ij48L2E+Mi4yLiZuYnNwO0luY3JlbWVudGFsIGhpc3RvcnkgbWFpbnRlbmFuY2U8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotSWYgZGIueG1sIGNvbnRhaW5zIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmcgZmluZGJ1Z3Mgb3ZlciBidWlsZHMgYjEyIC0gYjYwLCB3ZSBjYW4gdXBkYXRlIGRiLnhtbCB0byBpbmNsdWRlIHRoZSByZXN1bHRzIG9mIGFuYWx5emluZyBiNjEgd2l0aCB0aGUgY29tbWFuZHM6Ci08L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLWNvbXB1dGVCdWdIaXN0b3J5IC1vdXRwdXQgZGIueG1sIGRiLnhtbCBqZGsxLjYuMC1iNjEvanJlL2xpYi9ydC54bWwKLTwvcHJlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMy4mbmJzcDtBbnQgZXhhbXBsZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJhbnRleGFtcGxlIj48L2E+My4mbmJzcDtBbnQgZXhhbXBsZTwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci1IZXJlIGlzIGEgY29tcGxldGUgYW50IHNjcmlwdCBleGFtcGxlIGZvciBib3RoIHJ1bm5pbmcgZmluZGJ1Z3MgYW5kIHJ1bm5pbmcgYSBjaGFpbiBvZiBkYXRhLW1pbmluZyB0b29scyBhZnRlcndhcmQ6Ci08L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLQotJmx0O3Byb2plY3QgbmFtZT0iYW5hbHl6ZV9hc21fdXRpbCIgZGVmYXVsdD0iZmluZGJ1Z3MiJmd0OwotICAgJmx0OyEtLSBmaW5kYnVncyB0YXNrIGRlZmluaXRpb24gLS0mZ3Q7Ci0gICAmbHQ7cHJvcGVydHkgbmFtZT0iZmluZGJ1Z3MuaG9tZSIgdmFsdWU9Ii9Vc2Vycy9iZW4vRG9jdW1lbnRzL3dvcmtzcGFjZS9maW5kYnVncy9maW5kYnVncyIgLyZndDsKLSAgICZsdDtwcm9wZXJ0eSBuYW1lPSJqdm1hcmdzIiB2YWx1ZT0iLXNlcnZlciAtWHNzMW0gLVhteDgwMG0gLUR1c2VyLmxhbmd1YWdlPWVuIC1EdXNlci5yZWdpb249RU4gLURmaW5kYnVncy5ob21lPSR7ZmluZGJ1Z3MuaG9tZX0iIC8mZ3Q7Ci0KLSAgICAmbHQ7cGF0aCBpZD0iZmluZGJ1Z3MubGliIiZndDsKLSAgICAgICZsdDtmaWxlc2V0IGRpcj0iJHtmaW5kYnVncy5ob21lfS9saWIiJmd0OwotICAgICAgICAgJmx0O2luY2x1ZGUgbmFtZT0iZmluZGJ1Z3MtYW50LmphciIvJmd0OwotICAgICAgJmx0Oy9maWxlc2V0Jmd0OwotICAgJmx0Oy9wYXRoJmd0OwotCi0gICAmbHQ7dGFza2RlZiBuYW1lPSJmaW5kYnVncyIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suRmluZEJ1Z3NUYXNrIiZndDsKLSAgICAgICZsdDtjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLyZndDsKLSAgICZsdDsvdGFza2RlZiZndDsKLQotICAgJmx0O3Rhc2tkZWYgbmFtZT0iY29tcHV0ZUJ1Z0hpc3RvcnkiIGNsYXNzbmFtZT0iZWR1LnVtZC5jcy5maW5kYnVncy5hbnR0YXNrLkNvbXB1dGVCdWdIaXN0b3J5VGFzayImZ3Q7Ci0gICAgICAmbHQ7Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8mZ3Q7Ci0gICAmbHQ7L3Rhc2tkZWYmZ3Q7Ci0KLSAgICZsdDt0YXNrZGVmIG5hbWU9InNldEJ1Z0RhdGFiYXNlSW5mbyIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suU2V0QnVnRGF0YWJhc2VJbmZvVGFzayImZ3Q7Ci0gICAgICAmbHQ7Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8mZ3Q7Ci0gICAmbHQ7L3Rhc2tkZWYmZ3Q7Ci0KLSAgICZsdDt0YXNrZGVmIG5hbWU9Im1pbmVCdWdIaXN0b3J5IiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5NaW5lQnVnSGlzdG9yeVRhc2siJmd0OwotICAgICAgJmx0O2NsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvJmd0OwotICAgJmx0Oy90YXNrZGVmJmd0OwotCi0gICAmbHQ7IS0tIGZpbmRidWdzIHRhc2sgZGVmaW5pdGlvbiAtLSZndDsKLSAgICZsdDt0YXJnZXQgbmFtZT0iZmluZGJ1Z3MiJmd0OwotICAgICAgJmx0O2FudGNhbGwgdGFyZ2V0PSJhbmFseXplIiAvJmd0OwotICAgICAgJmx0O2FudGNhbGwgdGFyZ2V0PSJtaW5lIiAvJmd0OwotICAgJmx0Oy90YXJnZXQmZ3Q7Ci0KLSAgICZsdDshLS0gYW5hbHl6ZSB0YXNrIC0tJmd0OwotICAgJmx0O3RhcmdldCBuYW1lPSJhbmFseXplIiZndDsKLSAgICAgICZsdDshLS0gcnVuIGZpbmRidWdzIGFnYWluc3QgYXNtLXV0aWwgLS0mZ3Q7Ci0gICAgICAmbHQ7ZmluZGJ1Z3MgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgICBvdXRwdXQ9InhtbDp3aXRoTWVzc2FnZXMiCi0gICAgICAgICAgICAgICAgdGltZW91dD0iOTAwMDAwMDAiCi0gICAgICAgICAgICAgICAgcmVwb3J0TGV2ZWw9ImV4cGVyaW1lbnRhbCIKLSAgICAgICAgICAgICAgICB3b3JrSGFyZD0idHJ1ZSIKLSAgICAgICAgICAgICAgICBlZmZvcnQ9Im1heCIKLSAgICAgICAgICAgICAgICBhZGp1c3RFeHBlcmltZW50YWw9InRydWUiCi0gICAgICAgICAgICAgICAganZtYXJncz0iJHtqdm1hcmdzfSIKLSAgICAgICAgICAgICAgICBmYWlsT25FcnJvcj0idHJ1ZSIKLSAgICAgICAgICAgICAgICBvdXRwdXRGaWxlPSJvdXQueG1sIgotICAgICAgICAgICAgICAgIHByb2plY3ROYW1lPSJGaW5kYnVncyIKLSAgICAgICAgICAgICAgICBkZWJ1Zz0iZmFsc2UiJmd0OwotICAgICAgICAgJmx0O2NsYXNzIGxvY2F0aW9uPSJhc20tdXRpbC0zLjAuamFyIiAvJmd0OwotICAgICAgJmx0Oy9maW5kYnVncyZndDsKLSAgICZsdDsvdGFyZ2V0Jmd0OwotCi0gICAmbHQ7dGFyZ2V0IG5hbWU9Im1pbmUiJmd0OwotCi0gICAgICAmbHQ7IS0tIFNldCBpbmZvIHRvIHRoZSBsYXRlc3QgYW5hbHlzaXMgLS0mZ3Q7Ci0gICAgICAmbHQ7c2V0QnVnRGF0YWJhc2VJbmZvIGhvbWU9IiR7ZmluZGJ1Z3MuaG9tZX0iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aE1lc3NhZ2VzPSJ0cnVlIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFzbS11dGlsLTMuMC5qYXIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ9Im91dC54bWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0PSJvdXQtcmVsLnhtbCIvJmd0OwotCi0gICAgICAmbHQ7IS0tIENoZWNraW5nIGlmIGhpc3RvcnkgZmlsZSBhbHJlYWR5IGV4aXN0cyAob3V0LWhpc3QueG1sKSAtLSZndDsKLSAgICAgICZsdDtjb25kaXRpb24gcHJvcGVydHk9Im1pbmluZy5oaXN0b3J5ZmlsZS5hdmFpbGFibGUiJmd0OwotICAgICAgICAgJmx0O2F2YWlsYWJsZSBmaWxlPSJvdXQtaGlzdC54bWwiLyZndDsKLSAgICAgICZsdDsvY29uZGl0aW9uJmd0OwotICAgICAgJmx0O2NvbmRpdGlvbiBwcm9wZXJ0eT0ibWluaW5nLmhpc3RvcnlmaWxlLm5vdGF2YWlsYWJsZSImZ3Q7Ci0gICAgICAgICAmbHQ7bm90Jmd0OwotICAgICAgICAgICAgJmx0O2F2YWlsYWJsZSBmaWxlPSJvdXQtaGlzdC54bWwiLyZndDsKLSAgICAgICAgICZsdDsvbm90Jmd0OwotICAgICAgJmx0Oy9jb25kaXRpb24mZ3Q7Ci0KLSAgICAgICZsdDshLS0gdGhpcyB0YXJnZXQgaXMgZXhlY3V0ZWQgaWYgdGhlIGhpc3RvcnkgZmlsZSBkbyBub3QgZXhpc3QgKGZpcnN0IHJ1bikgLS0mZ3Q7Ci0gICAgICAmbHQ7YW50Y2FsbCB0YXJnZXQ9Imhpc3RvcnktaW5pdCImZ3Q7Ci0gICAgICAgICZsdDtwYXJhbSBuYW1lPSJkYXRhLmZpbGUiIHZhbHVlPSJvdXQtcmVsLnhtbCIgLyZndDsKLSAgICAgICAgJmx0O3BhcmFtIG5hbWU9Imhpc3QuZmlsZSIgdmFsdWU9Im91dC1oaXN0LnhtbCIgLyZndDsKLSAgICAgICZsdDsvYW50Y2FsbCZndDsKLSAgICAgICZsdDshLS0gZWxzZSB0aGlzIG9uZSBpcyBleGVjdXRlZCAtLSZndDsKLSAgICAgICZsdDthbnRjYWxsIHRhcmdldD0iaGlzdG9yeSImZ3Q7Ci0gICAgICAgICZsdDtwYXJhbSBuYW1lPSJkYXRhLmZpbGUiICAgICAgICAgdmFsdWU9Im91dC1yZWwueG1sIiAvJmd0OwotICAgICAgICAmbHQ7cGFyYW0gbmFtZT0iaGlzdC5maWxlIiAgICAgICAgIHZhbHVlPSJvdXQtaGlzdC54bWwiIC8mZ3Q7Ci0gICAgICAgICZsdDtwYXJhbSBuYW1lPSJoaXN0LnN1bW1hcnkuZmlsZSIgdmFsdWU9Im91dC1oaXN0LnR4dCIgLyZndDsKLSAgICAgICZsdDsvYW50Y2FsbCZndDsKLSAgICZsdDsvdGFyZ2V0Jmd0OwotCi0gICAmbHQ7IS0tIEluaXRpYWxpemluZyBoaXN0b3J5IGZpbGUgLS0mZ3Q7Ci0gICAmbHQ7dGFyZ2V0IG5hbWU9Imhpc3RvcnktaW5pdCIgaWY9Im1pbmluZy5oaXN0b3J5ZmlsZS5ub3RhdmFpbGFibGUiJmd0OwotICAgICAgJmx0O2NvcHkgZmlsZT0iJHtkYXRhLmZpbGV9IiB0b2ZpbGU9IiR7aGlzdC5maWxlfSIgLyZndDsKLSAgICZsdDsvdGFyZ2V0Jmd0OwotCi0gICAmbHQ7IS0tIENvbXB1dGluZyBidWcgaGlzdG9yeSAtLSZndDsKLSAgICZsdDt0YXJnZXQgbmFtZT0iaGlzdG9yeSIgaWY9Im1pbmluZy5oaXN0b3J5ZmlsZS5hdmFpbGFibGUiJmd0OwotICAgICAgJmx0OyEtLSBNZXJnaW5nICR7ZGF0YS5maWxlfSBpbnRvICR7aGlzdC5maWxlfSAtLSZndDsKLSAgICAgICZsdDtjb21wdXRlQnVnSGlzdG9yeSBob21lPSIke2ZpbmRidWdzLmhvbWV9IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aE1lc3NhZ2VzPSJ0cnVlIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0PSIke2hpc3QuZmlsZX0iJmd0OwotICAgICAgICAgICAgJmx0O2RhdGFGaWxlIG5hbWU9IiR7aGlzdC5maWxlfSIvJmd0OwotICAgICAgICAgICAgJmx0O2RhdGFGaWxlIG5hbWU9IiR7ZGF0YS5maWxlfSIvJmd0OwotICAgICAgJmx0Oy9jb21wdXRlQnVnSGlzdG9yeSZndDsKLQotICAgICAgJmx0OyEtLSBDb21wdXRlIGhpc3RvcnkgaW50byAke2hpc3Quc3VtbWFyeS5maWxlfSAtLSZndDsKLSAgICAgICZsdDttaW5lQnVnSGlzdG9yeSBob21lPSIke2ZpbmRidWdzLmhvbWV9IgotICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0RGF0ZXM9InRydWUiCi0gICAgICAgICAgICAgICAgICAgICAgbm9UYWJzPSJ0cnVlIgotICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ9IiR7aGlzdC5maWxlfSIKLSAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dD0iJHtoaXN0LnN1bW1hcnkuZmlsZX0iLyZndDsKLSAgICZsdDsvdGFyZ2V0Jmd0OwotCi0mbHQ7L3Byb2plY3QmZ3Q7Ci0KLTwvcHJlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0icmVqYXJGb3JBbmFseXNpcy5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWNlbnNlLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5DaGFwdGVyJm5ic3A7MTEuJm5ic3A7VXNpbmcgcmVqYXJGb3JBbmFseXNpcyZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDtDaGFwdGVyJm5ic3A7MTMuJm5ic3A7TGljZW5zZTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9lY2xpcHNlLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2VjbGlwc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJhYzhlOS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2VjbGlwc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi08aHRtbD48aGVhZD4KLSAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgotICAgPHRpdGxlPkNoYXB0ZXImbmJzcDs3LiZuYnNwO1VzaW5nIHRoZSBGaW5kQnVncyYjODQ4MjsgRWNsaXBzZSBwbHVnaW48L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iYW50dGFzay5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzYuJm5ic3A7VXNpbmcgdGhlIEZpbmRCdWdzJiM4NDgyOyBBbnQgdGFzayI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJmaWx0ZXIuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDs4LiZuYnNwO0ZpbHRlciBGaWxlcyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+Q2hhcHRlciZuYnNwOzcuJm5ic3A7VXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyBFY2xpcHNlIHBsdWdpbjwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFudHRhc2suaHRtbCI+UHJldjwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZmlsdGVyLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImNoYXB0ZXIiIHRpdGxlPSJDaGFwdGVyJm5ic3A7Ny4mbmJzcDtVc2luZyB0aGUgRmluZEJ1Z3MmIzg0ODI7IEVjbGlwc2UgcGx1Z2luIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJlY2xpcHNlIj48L2E+Q2hhcHRlciZuYnNwOzcuJm5ic3A7VXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyBFY2xpcHNlIHBsdWdpbjwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj5UYWJsZSBvZiBDb250ZW50czwvYj48L3A+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImVjbGlwc2UuaHRtbCNkMGUxNjYyIj4xLiBSZXF1aXJlbWVudHM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZWNsaXBzZS5odG1sI2QwZTE2NzAiPjIuIEluc3RhbGxhdGlvbjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJlY2xpcHNlLmh0bWwjZDBlMTcxNyI+My4gVXNpbmcgdGhlIFBsdWdpbjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJlY2xpcHNlLmh0bWwjZDBlMTc0OCI+NC4gRXh0ZW5kaW5nIHRoZSBFY2xpcHNlIFBsdWdpbiAoc2luY2UgMi4wLjApPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImVjbGlwc2UuaHRtbCNkMGUxODAyIj41LiBUcm91Ymxlc2hvb3Rpbmc8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2Rpdj48cD4KLVRoZSBGaW5kQnVncyBFY2xpcHNlIHBsdWdpbiBhbGxvd3MgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gdG8gYmUgdXNlZCB3aXRoaW4KLXRoZSA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvIiB0YXJnZXQ9Il90b3AiPkVjbGlwc2U8L2E+IElERS4KLVRoZSBGaW5kQnVncyBFY2xpcHNlIHBsdWdpbiB3YXMgZ2VuZXJvdXNseSBjb250cmlidXRlZCBieSBQZXRlciBGcmllc2UuCi1QaGlsIENyb3NieSBhbmQgQW5kcmVpIExvc2t1dG92IGNvbnRyaWJ1dGVkIG1ham9yIGltcHJvdmVtZW50cwotdG8gdGhlIHBsdWdpbi4KLTwvcD48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjEuJm5ic3A7UmVxdWlyZW1lbnRzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTE2NjIiPjwvYT4xLiZuYnNwO1JlcXVpcmVtZW50czwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci1UbyB1c2UgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IFBsdWdpbiBmb3IgRWNsaXBzZSwgeW91IG5lZWQgRWNsaXBzZSAzLjMgb3IgbGF0ZXIsCi1hbmQgSlJFL0pESyAxLjUgb3IgbGF0ZXIuCi08L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIyLiZuYnNwO0luc3RhbGxhdGlvbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxNjcwIj48L2E+Mi4mbmJzcDtJbnN0YWxsYXRpb248L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotICBXZSBwcm92aWRlIHVwZGF0ZSBzaXRlcyB0aGF0IGFsbG93IHlvdSB0byBhdXRvbWF0aWNhbGx5IGluc3RhbGwgRmluZEJ1Z3MgaW50byBFY2xpcHNlIGFuZCBhbHNvIHF1ZXJ5IGFuZCBpbnN0YWxsIHVwZGF0ZXMuCi0gIFRoZXJlIGFyZSB0aHJlZSBkaWZmZXJlbnQgdXBkYXRlIHNpdGVzPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCIgdGl0bGU9IkZpbmRCdWdzIEVjbGlwc2UgdXBkYXRlIHNpdGVzIj48cCBjbGFzcz0idGl0bGUiPjxiPkZpbmRCdWdzIEVjbGlwc2UgdXBkYXRlIHNpdGVzPC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UvIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UvPC9hPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBPbmx5IHByb3ZpZGVzIG9mZmljaWFsIHJlbGVhc2VzIG9mIEZpbmRCdWdzLgotICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UtY2FuZGlkYXRlLyIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLWNhbmRpZGF0ZS88L2E+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgIFByb3ZpZGVzIG9mZmljaWFsIHJlbGVhc2VzIGFuZCByZWxlYXNlIGNhbmRpZGF0ZXMgb2YgRmluZEJ1Z3MuCi0gICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLWRhaWx5LyIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLWRhaWx5LzwvYT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICBQcm92aWRlcyB0aGUgZGFpbHkgYnVpbGQgb2YgRmluZEJ1Z3MuIE5vIHRlc3Rpbmcgb3RoZXIgdGhhbiB0aGF0IGl0IGNvbXBpbGVzLgotICAgICAgICA8L3A+PC9kZD48L2RsPjwvZGl2PjxwPllvdSBjYW4gYWxzbyBtYW51YWxseQotZG93bmxvYWQgdGhlIHBsdWdpbiBmcm9tIHRoZSBmb2xsb3dpbmcgbGluazoKLTxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9lZHUudW1kLmNzLmZpbmRidWdzLnBsdWdpbi5lY2xpcHNlXzIuMC4zLjIwMTMxMTIyLnppcD9kb3dubG9hZCIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2ZpbmRidWdzL2VkdS51bWQuY3MuZmluZGJ1Z3MucGx1Z2luLmVjbGlwc2VfMi4wLjMuMjAxMzExMjIuemlwP2Rvd25sb2FkPC9hPi4KLUV4dHJhY3QgaXQgaW4gRWNsaXBzZSdzICJwbHVnaW5zIiBzdWJkaXJlY3RvcnkuCi0oU28gJmx0O2VjbGlwc2VfaW5zdGFsbF9kaXImZ3Q7L3BsdWdpbnMvZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW4uZWNsaXBzZV8yLjAuMy4yMDEzMTEyMi9maW5kYnVncy5wbmcKLXNob3VsZCBiZSB0aGUgcGF0aCB0byB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gbG9nby4pCi0KLTwvcD48cD4KLU9uY2UgdGhlIHBsdWdpbiBpcyBleHRyYWN0ZWQsIHN0YXJ0IEVjbGlwc2UgYW5kIGNob29zZQotPHNwYW4gY2xhc3M9Imd1aW1lbnUiPkhlbHA8L3NwYW4+ICYjODU5NDsgPHNwYW4gY2xhc3M9Imd1aW1lbnVpdGVtIj5BYm91dCBFY2xpcHNlIFBsYXRmb3JtPC9zcGFuPiAmIzg1OTQ7IDxzcGFuIGNsYXNzPSJndWltZW51aXRlbSI+UGx1Zy1pbiBEZXRhaWxzPC9zcGFuPi4KLVlvdSBzaG91bGQgZmluZCBhIHBsdWdpbiBjYWxsZWQgIkZpbmRCdWdzIFBsdWctaW4iIHByb3ZpZGVkIGJ5ICJGaW5kQnVncyBQcm9qZWN0Ii4KLTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjMuJm5ic3A7VXNpbmcgdGhlIFBsdWdpbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxNzE3Ij48L2E+My4mbmJzcDtVc2luZyB0aGUgUGx1Z2luPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLVRvIGdldCBzdGFydGVkLCByaWdodCBjbGljayBvbiBhIEphdmEgcHJvamVjdCBpbiBQYWNrYWdlIEV4cGxvcmVyLAotYW5kIHNlbGVjdCB0aGUgb3B0aW9uIGxhYmVsZWQgIkZpbmQgQnVncyIuCi08c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiB3aWxsIHJ1biwgYW5kIHByb2JsZW0gbWFya2VycyAoZGlzcGxheWVkIGluIHNvdXJjZQotd2luZG93cywgYW5kIGFsc28gaW4gdGhlIEVjbGlwc2UgUHJvYmxlbXMgdmlldykgd2lsbCBwb2ludCB0bwotbG9jYXRpb25zIGluIHlvdXIgY29kZSB3aGljaCBoYXZlIGJlZW4gaWRlbnRpZmllZCBhcyBwb3RlbnRpYWwgaW5zdGFuY2VzCi1vZiBidWcgcGF0dGVybnMuCi08L3A+PHA+Ci1Zb3UgY2FuIGFsc28gcnVuIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IG9uIGV4aXN0aW5nIGphdmEgYXJjaGl2ZXMgKGphciwgZWFyLCB6aXAsIHdhciBldGMpLiBTaW1wbHkKLWNyZWF0ZSBhbiBlbXB0eSBKYXZhIHByb2plY3QgYW5kIGF0dGFjaCBhcmNoaXZlcyB0byB0aGUgcHJvamVjdCBjbGFzc3BhdGguIEhhdmluZyB0aGF0LCB5b3UKLWNhbiBub3cgcmlnaHQgY2xpY2sgdGhlIGFyY2hpdmUgbm9kZSBpbiBQYWNrYWdlIEV4cGxvcmVyIGFuZCBzZWxlY3QgdGhlIG9wdGlvbiBsYWJlbGVkCi0iRmluZCBCdWdzIi4gSWYgeW91IGFkZGl0aW9uYWxseSBjb25maWd1cmUgdGhlIHNvdXJjZSBjb2RlIGxvY2F0aW9ucyBmb3IgdGhlIGJpbmFyaWVzLAotPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gd2lsbCBhbHNvIGxpbmsgdGhlIGdlbmVyYXRlZCB3YXJuaW5ncyB0byB0aGUgcmlnaHQgc291cmNlIGZpbGVzLgotPC9wPjxwPgotWW91IG1heSBjdXN0b21pemUgaG93IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHJ1bnMgYnkgb3BlbmluZyB0aGUgUHJvcGVydGllcwotZGlhbG9nIGZvciBhIEphdmEgcHJvamVjdCwgYW5kIGNob29zaW5nIHRoZSAiRmluZGJ1Z3MiIHByb3BlcnR5IHBhZ2UuCi1PcHRpb25zIHlvdSBtYXkgY2hvb3NlIGluY2x1ZGU6Ci08L3A+PGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0gICAgRW5hYmxlIG9yIGRpc2FibGUgdGhlICJSdW4gRmluZEJ1Z3MgQXV0b21hdGljYWxseSIgY2hlY2tib3guCi0gICAgV2hlbiBlbmFibGVkLCBGaW5kQnVncyB3aWxsIHJ1biBldmVyeSB0aW1lIHlvdSBtb2RpZnkgYSBKYXZhIGNsYXNzCi0gICAgd2l0aGluIHRoZSBwcm9qZWN0LgotICAgIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgIENob29zZSBtaW5pbXVtIHdhcm5pbmcgcHJpb3JpdHkgYW5kIGVuYWJsZWQgYnVnIGNhdGVnb3JpZXMuCi0gICAgVGhlc2Ugb3B0aW9ucyB3aWxsIGNob29zZSB3aGljaCB3YXJuaW5ncyBhcmUgc2hvd24uCi0gICAgRm9yIGV4YW1wbGUsIGlmIHlvdSBzZWxlY3QgdGhlICJNZWRpdW0iIHdhcm5pbmcgcHJpb3JpdHksCi0gICAgb25seSBNZWRpdW0gYW5kIEhpZ2ggcHJpb3JpdHkgd2FybmluZ3Mgd2lsbCBiZSBzaG93bi4KLSAgICBTaW1pbGFybHksIGlmIHlvdSB1bmNoZWNrIHRoZSAiU3R5bGUiIGNoZWNrYm94LCBubyB3YXJuaW5ncwotICAgIGluIHRoZSBTdHlsZSBjYXRlZ29yeSB3aWxsIGJlIGRpc3BsYXllZC4KLSAgICA8L3A+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgICBTZWxlY3QgZGV0ZWN0b3JzLiAgVGhlIHRhYmxlIGFsbG93cyB5b3UgdG8gc2VsZWN0IHdoaWNoIGRldGVjdG9ycwotICAgIHlvdSB3YW50IHRvIGVuYWJsZSBmb3IgeW91ciBwcm9qZWN0LgotICAgIDwvcD48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSI0LiZuYnNwO0V4dGVuZGluZyB0aGUgRWNsaXBzZSBQbHVnaW4gKHNpbmNlIDIuMC4wKSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxNzQ4Ij48L2E+NC4mbmJzcDtFeHRlbmRpbmcgdGhlIEVjbGlwc2UgUGx1Z2luIChzaW5jZSAyLjAuMCk8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotRWNsaXBzZSBwbHVnaW4gc3VwcG9ydHMgY29udHJpYnV0aW9uIG9mIGN1c3RvbSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBkZXRlY3RvcnMgKHNlZSBhbHNvCi08YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlL3RydW5rL2ZpbmRidWdzL3NyYy9kb2MvQWRkaW5nRGV0ZWN0b3JzLnR4dCIgdGFyZ2V0PSJfdG9wIj5BZGRpbmdEZXRlY3RvcnMudHh0PC9hPgotZm9yIG1vcmUgaW5mb3JtYXRpb24pLiBUaGVyZSBhcmUgdHdvIHdheXMgdG8gY29udHJpYnV0ZSBjdXN0b20gcGx1Z2lucyB0byB0aGUgRWNsaXBzZToKLTwvcD48ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgICBFeGlzdGluZyBzdGFuZGFyZCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBkZXRlY3RvciBwYWNrYWdlcyBjYW4gYmUgY29uZmlndXJlZCB2aWEKLSAgICA8c3BhbiBjbGFzcz0iZ3VpbWVudSI+V2luZG93PC9zcGFuPiAmIzg1OTQ7IDxzcGFuIGNsYXNzPSJndWltZW51aXRlbSI+UHJlZmVyZW5jZXM8L3NwYW4+ICYjODU5NDsgPHNwYW4gY2xhc3M9Imd1aW1lbnVpdGVtIj5KYXZhPC9zcGFuPiAmIzg1OTQ7IDxzcGFuIGNsYXNzPSJndWltZW51aXRlbSI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj48L3NwYW4+ICYjODU5NDsgPHNwYW4gY2xhc3M9Imd1aW1lbnVpdGVtIj5NaXNjLiBTZXR0aW5nczwvc3Bhbj4gJiM4NTk0OyA8c3BhbiBjbGFzcz0iZ3VpbWVudWl0ZW0iPkN1c3RvbSBEZXRlY3RvcnM8L3NwYW4+LgotICAgIFNpbXBseSBzcGVjaWZ5IHRoZXJlIGxvY2F0aW9ucyBvZiBhbnkgYWRkaXRpb25hbCBwbHVnaW4gbGlicmFyaWVzLgotICAgIDwvcD48cD4KLSAgICBUaGUgYmVuZWZpdCBvZiB0aGlzIHNvbHV0aW9uIGlzIHRoYXQgYWxyZWFkeSBleGlzdGluZyBkZXRlY3RvciBwYWNrYWdlcyBjYW4gYmUKLSAgICB1c2VkICJhcyBpcyIsIGFuZCB0aGF0IHlvdSBjYW4gcXVpY2tseSB2ZXJpZnkgdGhlIHF1YWxpdHkgb2YgdGhpcmQgcGFydHkgZGV0ZWN0b3JzLgotICAgIFRoZSBkcmF3YmFjayBpcyB0aGF0IHlvdSBoYXZlIHRvIGFwcGx5IHRoaXMgc2V0dGluZ3MgaW4gZWFjaAotICAgIG5ldyBFY2xpcHNlIHdvcmtzcGFjZSwgYW5kIHRoaXMgc2V0dGluZ3MgY2FuJ3QgYmUgc2hhcmVkIGJldHdlZW4gdGVhbSBtZW1iZXJzLgotICAgIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgIEl0IGlzIHBvc3NpYmxlIHRvIGNvbnRyaWJ1dGUgY3VzdG9tIGRldGVjdG9ycyB2aWEgc3RhbmRhcmQgRWNsaXBzZSBleHRlbnNpb25zIG1lY2hhbmlzbS4KLSAgICA8L3A+PHA+Ci0gICAgUGxlYXNlIGNoZWNrIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZQotICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvdHJ1bmsvZWNsaXBzZVBsdWdpbi9zY2hlbWEvZGV0ZWN0b3JQbHVnaW5zLmV4c2QiIHRhcmdldD0iX3RvcCI+Ci0gICAgZmluZEJ1Z3NFY2xpcHNlUGx1Z2luL3NjaGVtYS9kZXRlY3RvclBsdWdpbnMuZXhzZDwvYT4KLSAgICBleHRlbnNpb24gcG9pbnQgaG93IHRvIHVwZGF0ZSB0aGUgcGx1Z2luLnhtbC4gRXhpc3RpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gZGV0ZWN0b3IgcGx1Z2lucyBjYW4KLSAgICBiZSBlYXNpbHkgImV4dGVuZGVkIiB0byBiZSBmdWxsIGZlYXR1cmVkIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IEFORCBFY2xpcHNlIGRldGVjdG9yIHBsdWdpbnMuCi0gICAgVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIGFkZCBNRVRBLUlORi9NQU5JRkVTVC5NRiBhbmQgcGx1Z2luLnhtbCB0byB0aGUgamFyIGFuZAotICAgIHVwZGF0ZSB5b3VyIGJ1aWxkIHNjcmlwdHMgdG8gbm90IHRvIG92ZXJyaWRlIHRoZSBNQU5JRkVTVC5NRiBkdXJpbmcgdGhlIGJ1aWxkLgotICAgIDwvcD48cD4KLSAgICBUaGUgYmVuZWZpdCBvZiB0aGlzIHNvbHV0aW9uIGlzIHRoYXQgZm9yIGdpdmVuIChzaGFyZWQpIEVjbGlwc2UgaW5zdGFsbGF0aW9uCi0gICAgZWFjaCB0ZWFtIG1lbWJlciBoYXMgZXhhY3RseSBzYW1lIGRldGVjdG9ycyBzZXQsIGFuZCB0aGVyZSBpcyBubyBuZWVkIHRvIGNvbmZpZ3VyZQotICAgIGFueXRoaW5nIGFueW1vcmUuIFRoZSAocmVhbGx5IHNtYWxsKSBwcmVjb25kaXRpb24KLSAgICBpcyB0aGF0IHlvdSBoYXZlIHRvIGNvbnZlcnQgeW91ciBleGlzdGluZyBkZXRlY3RvcnMgcGFja2FnZSB0byB0aGUgdmFsaWQKLSAgICBFY2xpcHNlIHBsdWdpbi4gWW91IGNhbiBkbyB0aGlzIGV2ZW4gZm9yIHRoaXJkLXBhcnR5IGRldGVjdG9yIHBhY2thZ2VzLgotICAgIEFub3RoZXIgbWFqb3IgZGlmZmVyZW50aWF0b3IgaXMgdGhlIGFiaWxpdHkgdG8gZXh0ZW5kIHRoZSBkZWZhdWx0IEZpbmRCdWdzCi0gICAgY2xhc3NwYXRoIGF0IHJ1bnRpbWUgd2l0aCByZXF1aXJlZCB0aGlyZCBwYXJ0eSBsaWJyYXJpZXMgKHNlZQotICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvdHJ1bmsvZmluZGJ1Z3Mvc3JjL2RvYy9BZGRpbmdEZXRlY3RvcnMudHh0IiB0YXJnZXQ9Il90b3AiPkFkZGluZ0RldGVjdG9ycy50eHQ8L2E+Ci0gICAgZm9yIG1vcmUgaW5mb3JtYXRpb24pLgotICAgIDwvcD48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSI1LiZuYnNwO1Ryb3VibGVzaG9vdGluZyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxODAyIj48L2E+NS4mbmJzcDtUcm91Ymxlc2hvb3Rpbmc8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotVGhpcyBzZWN0aW9uIGxpc3RzIGNvbW1vbiBwcm9ibGVtcyB3aXRoIHRoZSBwbHVnaW4gYW5kIChpZiBrbm93bikgaG93IHRvIHJlc29sdmUgdGhlbS4KLTwvcD48ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgICBJZiB5b3Ugc2VlIE91dE9mTWVtb3J5IGVycm9yIGRpYWxvZ3MgYWZ0ZXIgc3RhcnRpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gYW5hbHlzaXMgaW4gRWNsaXBzZSwKLSAgICBwbGVhc2UgaW5jcmVhc2UgSlZNIGF2YWlsYWJsZSBtZW1vcnk6IGNoYW5nZSBlY2xpcHNlLmluaSBhbmQgYWRkIHRoZSBsaW5lcyBiZWxvdwotICAgIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGU6Ci0gICAgPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLSAgICAtdm1hcmdzCi0gICAgLVhteDEwMDBtCi0gICAgPC9wcmU+PHA+Ci0gICAgSW1wb3J0YW50OiB0aGUgY29uZmlndXJhdGlvbiBhcmd1bWVudHMgc3RhcnRpbmcgd2l0aCB0aGUgbGluZSAiLXZtYXJncyIgbXVzdAotICAgIGJlIGxhc3QgbGluZXMgaW4gdGhlIGVjbGlwc2UuaW5pIGZpbGUsIGFuZCBvbmx5IG9uZSBhcmd1bWVudCBwZXIgbGluZSBpcyBhbGxvd2VkIQotICAgIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgIElmIHlvdSBkbyBub3Qgc2VlIGFueSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBwcm9ibGVtIG1hcmtlcnMgKGluIHlvdXIgc291cmNlCi0gICAgd2luZG93cyBvciBpbiB0aGUgUHJvYmxlbXMgVmlldyksIHlvdSBtYXkgbmVlZCB0byBjaGFuZ2UgeW91cgotICAgIFByb2JsZW1zIFZpZXcgZmlsdGVyIHNldHRpbmdzLiAgU2VlCi0gICAgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L0ZBUS5odG1sI3E3IiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvRkFRLmh0bWwjcTc8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLgotICAgIDwvcD48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhbnR0YXNrLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImZpbHRlci5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Q2hhcHRlciZuYnNwOzYuJm5ic3A7VXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gdGFzayZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDtDaGFwdGVyJm5ic3A7OC4mbmJzcDtGaWx0ZXIgRmlsZXM8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvZXhhbXBsZS1jb2RlLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvZXhhbXBsZS1jb2RlLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmUwMWYzMS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2V4YW1wbGUtY29kZS5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2V4YW1wbGUtZGV0YWlscy5wbmcgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2V4YW1wbGUtZGV0YWlscy5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhZGRmOTMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9leGFtcGxlLWRldGFpbHMucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9leGFtcGxlLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvZXhhbXBsZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4OWI4OTcuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9leGFtcGxlLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvZmlsdGVyLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2ZpbHRlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGIyNjRmLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvZmlsdGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNjMgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT5DaGFwdGVyJm5ic3A7OC4mbmJzcDtGaWx0ZXIgRmlsZXM8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iZWNsaXBzZS5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzcuJm5ic3A7VXNpbmcgdGhlIEZpbmRCdWdzJiM4NDgyOyBFY2xpcHNlIHBsdWdpbiI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7OS4mbmJzcDtBbmFseXNpcyBQcm9wZXJ0aWVzIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7OC4mbmJzcDtGaWx0ZXIgRmlsZXM8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJlY2xpcHNlLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFuYWx5c2lzcHJvcHMuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IkNoYXB0ZXImbmJzcDs4LiZuYnNwO0ZpbHRlciBGaWxlcyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZmlsdGVyIj48L2E+Q2hhcHRlciZuYnNwOzguJm5ic3A7RmlsdGVyIEZpbGVzPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPlRhYmxlIG9mIENvbnRlbnRzPC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMTgzOCI+MS4gSW50cm9kdWN0aW9uIHRvIEZpbHRlciBGaWxlczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJmaWx0ZXIuaHRtbCNkMGUxODg4Ij4yLiBUeXBlcyBvZiBNYXRjaCBjbGF1c2VzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTIxMzYiPjMuIEphdmEgZWxlbWVudCBuYW1lIG1hdGNoaW5nPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTIxNjEiPjQuIENhdmVhdHM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMjE5MSI+NS4gRXhhbXBsZXM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMjI0OSI+Ni4gQ29tcGxldGUgRXhhbXBsZTwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGl2PjxwPgotRmlsdGVyIGZpbGVzIG1heSBiZSB1c2VkIHRvIGluY2x1ZGUgb3IgZXhjbHVkZSBidWcgcmVwb3J0cyBmb3IgcGFydGljdWxhciBjbGFzc2VzCi1hbmQgbWV0aG9kcy4gIFRoaXMgY2hhcHRlciBleHBsYWlucyBob3cgdG8gdXNlIGZpbHRlciBmaWxlcy4KLQotPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHRpdGxlPSJQbGFubmVkIEZlYXR1cmVzIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyBtYXJnaW4tcmlnaHQ6IDAuNWluOyI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iTm90ZTogUGxhbm5lZCBGZWF0dXJlcyI+PHRyPjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iW05vdGVdIiBzcmM9Im5vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+UGxhbm5lZCBGZWF0dXJlczwvdGg+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+Ci0gIEZpbHRlcnMgYXJlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBieSB0aGUgQ29tbWFuZCBMaW5lIGludGVyZmFjZS4KLSAgRXZlbnR1YWxseSwgZmlsdGVyIHN1cHBvcnQgd2lsbCBiZSBhZGRlZCB0byB0aGUgR1VJLgotPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgotPC9wPjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMS4mbmJzcDtJbnRyb2R1Y3Rpb24gdG8gRmlsdGVyIEZpbGVzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTE4MzgiPjwvYT4xLiZuYnNwO0ludHJvZHVjdGlvbiB0byBGaWx0ZXIgRmlsZXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotQ29uY2VwdHVhbGx5LCBhIGZpbHRlciBtYXRjaGVzIGJ1ZyBpbnN0YW5jZXMgYWdhaW5zdCBhIHNldCBvZiBjcml0ZXJpYS4KLUJ5IGRlZmluaW5nIGEgZmlsdGVyLCB5b3UgY2FuIHNlbGVjdCBidWcgaW5zdGFuY2VzIGZvciBzcGVjaWFsIHRyZWF0bWVudDsKLWZvciBleGFtcGxlLCB0byBleGNsdWRlIG9yIGluY2x1ZGUgdGhlbSBpbiBhIHJlcG9ydC4KLTwvcD48cD4KLUEgZmlsdGVyIGZpbGUgaXMgYW4gPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvIiB0YXJnZXQ9Il90b3AiPlhNTDwvYT4gZG9jdW1lbnQgd2l0aCBhIHRvcC1sZXZlbCA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+RmluZEJ1Z3NGaWx0ZXI8L2NvZGU+IGVsZW1lbnQKLXdoaWNoIGhhcyBzb21lIG51bWJlciBvZiA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWF0Y2g8L2NvZGU+IGVsZW1lbnRzIGFzIGNoaWxkcmVuLiAgRWFjaCA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWF0Y2g8L2NvZGU+Ci1lbGVtZW50IHJlcHJlc2VudHMgYSBwcmVkaWNhdGUgd2hpY2ggaXMgYXBwbGllZCB0byBnZW5lcmF0ZWQgYnVnIGluc3RhbmNlcy4KLVVzdWFsbHksIGEgZmlsdGVyIHdpbGwgYmUgdXNlZCB0byBleGNsdWRlIGJ1ZyBpbnN0YW5jZXMuICBGb3IgZXhhbXBsZToKLQotPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij4kIDwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maW5kYnVncyAtdGV4dHVpIC1leGNsdWRlIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm15RXhjbHVkZUZpbHRlci54bWw8L2NvZGU+PC9lbT4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bXlBcHAuamFyPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci0KLUhvd2V2ZXIsIGEgZmlsdGVyIGNvdWxkIGFsc28gYmUgdXNlZCB0byBzZWxlY3QgYnVnIGluc3RhbmNlcyB0byBzcGVjaWZpY2FsbHkKLXJlcG9ydDoKLQotPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij4kIDwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maW5kYnVncyAtdGV4dHVpIC1pbmNsdWRlIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm15SW5jbHVkZUZpbHRlci54bWw8L2NvZGU+PC9lbT4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bXlBcHAuamFyPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci08L3A+PHA+Ci08Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWF0Y2g8L2NvZGU+IGVsZW1lbnRzIGNvbnRhaW4gY2hpbGRyZW4sIHdoaWNoIGFyZSBjb25qdW5jdHMgb2YgdGhlIHByZWRpY2F0ZS4KLUluIG90aGVyIHdvcmRzLCBlYWNoIG9mIHRoZSBjaGlsZHJlbiBtdXN0IGJlIHRydWUgZm9yIHRoZSBwcmVkaWNhdGUgdG8gYmUgdHJ1ZS4KLTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjIuJm5ic3A7VHlwZXMgb2YgTWF0Y2ggY2xhdXNlcyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxODg4Ij48L2E+Mi4mbmJzcDtUeXBlcyBvZiBNYXRjaCBjbGF1c2VzPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7QnVnJmd0OzwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICBUaGlzIGVsZW1lbnQgc3BlY2lmaWVzIGEgcGFydGljdWxhciBidWcgcGF0dGVybiBvciBwYXR0ZXJucyB0byBtYXRjaC4KLSAgICAgICAgICAgIFRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cGF0dGVybjwvY29kZT4gYXR0cmlidXRlIGlzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YKLSAgICAgICAgICAgIGJ1ZyBwYXR0ZXJuIHR5cGVzLiAgWW91IGNhbiBmaW5kIHRoZSBidWcgcGF0dGVybiB0eXBlcyBmb3IgcGFydGljdWxhcgotICAgICAgICAgICAgd2FybmluZ3MgYnkgbG9va2luZyBhdCB0aGUgb3V0cHV0IHByb2R1Y2VkIGJ5IHRoZSA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4teG1sPC9zdHJvbmc+PC9zcGFuPgotICAgICAgICAgICAgb3V0cHV0IG9wdGlvbiAodGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj50eXBlPC9jb2RlPiBhdHRyaWJ1dGUgb2YgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPkJ1Z0luc3RhbmNlPC9jb2RlPgotICAgICAgICAgICAgZWxlbWVudHMpLCBvciBmcm9tIHRoZSA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Ii4uL2J1Z0Rlc2NyaXB0aW9ucy5odG1sIiB0YXJnZXQ9Il90b3AiPmJ1ZwotICAgICAgICAgICAgZGVzY3JpcHRpb25zIGRvY3VtZW50PC9hPi4KLSAgIDwvcD48cD4KLSAgICAgICAgICAgICAgIEZvciBtb3JlIGNvYXJzZS1ncmFpbmVkIG1hdGNoaW5nLCB1c2UgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNvZGU8L2NvZGU+IGF0dHJpYnV0ZS4gSXQgdGFrZXMKLSAgICAgICAgICAgICAgIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgYnVnIGFiYnJldmlhdGlvbnMuIEZvciBtb3N0LWNvYXJzZSBncmFpbmVkIG1hdGNoaW5nIHVzZQotICAgICAgICAgICAgICAgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNhdGVnb3J5PC9jb2RlPiBhdHRyaXV0ZSwgdGhhdCB0YWtlcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGJ1ZyBjYXRlZ29yeSBuYW1lczoKLSAgICAgICAgICAgICAgIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5DT1JSRUNUTkVTUzwvY29kZT4sIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NVF9DT1JSRUNUTkVTUzwvY29kZT4sCi0gICAgICAgICAgICAgICA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+QkFEX1BSQUNUSUNJQ0U8L2NvZGU+LCA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+UEVSRk9STUFOQ0U8L2NvZGU+LCA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+U1RZTEU8L2NvZGU+LgotICAgPC9wPjxwPgotICAgICAgICAgICAgICAgSWYgbW9yZSB0aGFuIG9uZSBvZiB0aGUgYXR0cmlidXRlcyBtZW50aW9uZWQgYWJvdmUgYXJlIHNwZWNpZmllZCBvbiB0aGUgc2FtZQotICAgICAgICAgICAgICAgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtCdWcmZ3Q7PC9jb2RlPiBlbGVtZW50LCBhbGwgYnVnIHBhdHRlcm5zIHRoYXQgbWF0Y2ggZWl0aGVyIG9uZSBvZiBzcGVjaWZpZWQKLSAgICAgICAgICAgICAgIHBhdHRlcm4gbmFtZXMsIG9yIGFicmV2aWF0aW9ucywgb3IgY2F0ZWdvcmllcyB3aWxsIGJlIG1hdGNoZWQuCi0gICA8L3A+PHA+Ci0gICAgICAgICAgICAgICBBcyBhIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IG1lYXN1cmUsIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7QnVnUGF0dGVybiZndDs8L2NvZGU+IGFuZAotICAgICAgICAgICAgICAgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtCdWdDb2RlJmd0OzwvY29kZT4gZWxlbWVudHMgbWF5IGJlIHVzZWQgaW5zdGVhZCBvZgotICAgICAgICAgICAgICAgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtCdWcmZ3Q7PC9jb2RlPiBlbGVtZW50LiBFYWNoIG9mIHRoZXNlIHVzZXMgYQotICAgICAgICAgICAgICAgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPm5hbWU8L2NvZGU+IGF0dHJpYnV0ZSBmb3Igc3BlY2lmeWluZyBhY2NlcHRlZCB2YWx1ZXMgbGlzdC4gU3VwcG9ydCBmb3IgdGhlc2UKLSAgICAgICAgICAgICAgIGVsZW1lbnRzIG1heSBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuCi0gICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7Q29uZmlkZW5jZSZndDs8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgVGhpcyBlbGVtZW50IG1hdGNoZXMgd2FybmluZ3Mgd2l0aCBhIHBhcnRpY3VsYXIgYnVnIGNvbmZpZGVuY2UuCi0gICAgICAgICAgICBUaGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnZhbHVlPC9jb2RlPiBhdHRyaWJ1dGUgc2hvdWxkIGJlIGFuIGludGVnZXIgdmFsdWU6Ci0gICAgICAgICAgICAxIHRvIG1hdGNoIGhpZ2gtY29uZmlkZW5jZSB3YXJuaW5ncywgMiB0byBtYXRjaCBub3JtYWwtY29uZmlkZW5jZSB3YXJuaW5ncywKLSAgICAgICAgICAgIG9yIDMgdG8gbWF0Y2ggbG93LWNvbmZpZGVuY2Ugd2FybmluZ3MuICZsdDtDb25maWRlbmNlJmd0OyByZXBsYWNlZAotICAgICAgICAgICAgJmx0O1ByaW9yaXR5Jmd0OyBpbiAyLjAuMCByZWxlYXNlLgotICAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7UHJpb3JpdHkmZ3Q7PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgIFNhbWUgYXMgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtDb25maWRlbmNlJmd0OzwvY29kZT4sIGV4aXN0cyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KLSAgICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O1JhbmsmZ3Q7PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgIFRoaXMgZWxlbWVudCBtYXRjaGVzIHdhcm5pbmdzIHdpdGggYSBwYXJ0aWN1bGFyIGJ1ZyByYW5rLgotICAgICAgICAgICAgVGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj52YWx1ZTwvY29kZT4gYXR0cmlidXRlIHNob3VsZCBiZSBhbiBpbnRlZ2VyIHZhbHVlCi0gICAgICAgICAgICBiZXR3ZWVuIDEgYW5kIDIwLCB3aGVyZSAxIHRvIDQgYXJlIHNjYXJpZXN0LCA1IHRvIDkgc2NhcnksIDEwIHRvIDE0IHRyb3VibGluZywKLSAgICAgICAgICAgIGFuZCAxNSB0byAyMCBvZiBjb25jZXJuIGJ1Z3MuCi0gICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtQYWNrYWdlJmd0OzwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICBUaGlzIGVsZW1lbnQgbWF0Y2hlcyB3YXJuaW5ncyBhc3NvY2lhdGVkIHdpdGggY2xhc3NlcyB3aXRoaW4gdGhlIHBhY2thZ2Ugc3BlY2lmaWVkCi0gICAgICAgICAgICB1c2luZyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bmFtZTwvY29kZT4gYXR0cmlidXRlLiBOZXN0ZWQgcGFja2FnZXMgYXJlIG5vdCBpbmNsdWRlZCAoYWxvbmcgdGhlCi0gICAgICAgICAgICBsaW5lcyBvZiBKYXZhIGltcG9ydCBzdGF0ZW1lbnQpLiBIb3dldmVyIG1hdGNoaW5nIG11bHRpcGxlIHBhY2thZ2VzIGNhbiBiZSBhY2hpZXZlZAotICAgICAgICAgICAgZWFzaWx5IHVzaW5nIHJlZ2V4IG5hbWUgbWF0Y2guCi0gICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtDbGFzcyZndDs8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgVGhpcyBlbGVtZW50IG1hdGNoZXMgd2FybmluZ3MgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxhciBjbGFzcy4gVGhlCi0gICAgICAgICAgICA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bmFtZTwvY29kZT4gYXR0cmlidXRlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgZXhhY3Qgb3IgcmVnZXggbWF0Y2ggcGF0dGVybgotICAgICAgICAgICAgZm9yIHRoZSBjbGFzcyBuYW1lLgotICAgICAgICA8L3A+PHA+Ci0gICAgICAgICAgICBBcyBhIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgbWVhc3VyZSwgaW5zdGVhZCBvZiBlbGVtZW50IG9mIHRoaXMgdHlwZSwgeW91IGNhbiB1c2UKLSAgICAgICAgICAgICA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Y2xhc3M8L2NvZGU+IGF0dHJpYnV0ZSBvbiBhIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4gZWxlbWVudCB0byBzcGVjaWZ5Ci0gICAgICAgICAgICAgZXhhY3QgYW4gY2xhc3MgbmFtZSBvciA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Y2xhc3NyZWdleDwvY29kZT4gYXR0cmlidXRlIHRvIHNwZWNpZnkgYSByZWd1bGFyCi0gICAgICAgICAgICAgZXhwcmVzc2lvbiB0byBtYXRjaCB0aGUgY2xhc3MgbmFtZSBhZ2FpbnN0LgotICAgICAgICA8L3A+PHA+Ci0gICAgICAgICAgICBJZiB0aGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPk1hdGNoPC9jb2RlPiBlbGVtZW50IGNvbnRhaW5zIG5laXRoZXIgYSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Q2xhc3M8L2NvZGU+IGVsZW1lbnQsCi0gICAgICAgICAgICBub3IgYSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Y2xhc3M8L2NvZGU+IC8gPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmNsYXNzcmVnZXg8L2NvZGU+IGF0dHJpYnV0ZSwgdGhlIHByZWRpY2F0ZSB3aWxsIGFwcGx5Ci0gICAgICAgICAgICB0byBhbGwgY2xhc3Nlcy4gU3VjaCBwcmVkaWNhdGUgaXMgbGlrZWx5IHRvIG1hdGNoIG1vcmUgYnVnIGluc3RhbmNlcyB0aGFuIHlvdSB3YW50LCB1bmxlc3MgaXQgaXMKLSAgICAgICAgICAgIHJlZmluZWQgZnVydGhlciBkb3duIHdpdGggYXByb3ByaWF0ZSBtZXRob2Qgb3IgZmllbGQgcHJlZGljYXRlcy4KLSAgICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O01ldGhvZCZndDs8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPlRoaXMgZWxlbWVudCBzcGVjaWZpZXMgYSBtZXRob2QuICBUaGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPm5hbWU8L2NvZGU+IGlzIHVzZWQgdG8gc3BlY2lmeQotICAgdGhlIGV4YWN0IG9yIHJlZ2V4IG1hdGNoIHBhdHRlcm4gZm9yIHRoZSBtZXRob2QgbmFtZS4KLSAgIFRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cGFyYW1zPC9jb2RlPiBhdHRyaWJ1dGUgaXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdAotICAgb2YgdGhlIHR5cGVzIG9mIHRoZSBtZXRob2QncyBwYXJhbWV0ZXJzLiAgVGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5yZXR1cm5zPC9jb2RlPiBhdHRyaWJ1dGUgaXMKLSAgIHRoZSBtZXRob2QncyByZXR1cm4gdHlwZS4gIEluIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5wYXJhbXM8L2NvZGU+IGFuZCA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+cmV0dXJuczwvY29kZT4sIGNsYXNzIG5hbWVzCi0gICBtdXN0IGJlIGZ1bGx5IHF1YWxpZmllZC4gKEUuZy4sICJqYXZhLmxhbmcuU3RyaW5nIiBpbnN0ZWFkIG9mIGp1c3QKLSAgICJTdHJpbmciLikgSWYgb25lIG9mIHRoZSBsYXR0ZXIgYXR0cmlidXRlcyBpcyBzcGVjaWZpZWQgdGhlIG90aGVyIGlzIHJlcXVpcmVkIGZvciBjcmVhdGluZyBhIG1ldGhvZCBzaWduYXR1cmUuCi0gICBOb3RlIHRoYXQgeW91IGNhbiBwcm92aWRlIGVpdGhlciA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+bmFtZTwvY29kZT4gYXR0cmlidXRlIG9yIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5wYXJhbXM8L2NvZGU+Ci0gICBhbmQgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPnJldHVybnM8L2NvZGU+IGF0dHJpYnV0ZXMgb3IgYWxsIHRocmVlIG9mIHRoZW0uIFRoaXMgd2F5IHlvdSBjYW4gcHJvdmlkZSB2YXJpb3VzIGtpbmRzIG9mCi0gICBuYW1lIGFuZCBzaWduYXR1cmUgYmFzZWQgbWF0Y2hlcy4KLSAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPiZsdDtGaWVsZCZndDs8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPlRoaXMgZWxlbWVudCBzcGVjaWZpZXMgYSBmaWVsZC4gVGhlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5uYW1lPC9jb2RlPiBhdHRyaWJ1dGUgaXMgaXMgdXNlZCB0byBzcGVjaWZ5Ci0gICB0aGUgZXhhY3Qgb3IgcmVnZXggbWF0Y2ggcGF0dGVybiBmb3IgdGhlIGZpZWxkIG5hbWUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgZmllbGRzIGFjY29yZGluZyB0byB0aGVpciBzaWduYXR1cmUgLQotICAgdXNlIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj50eXBlPC9jb2RlPiBhdHRyaWJ1dGUgdG8gc3BlY2lmeSBmdWxseSBxdWFsaWZpZWQgdHlwZSBvZiB0aGUgZmllbGQuIFlvdSBjYW4gc3BlY2lmeSBlaXRlciBvciBib3RoCi0gICBvZiB0aGVzZSBhdHRyaWJ1dGVzIGluIG9yZGVyIHRvIHBlcmZvcm0gbmFtZSAvIHNpZ25hdHVyZSBiYXNlZCBtYXRjaGVzLgotICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O0xvY2FsJmd0OzwvY29kZT48L3NwYW4+PC9kdD48ZGQ+PHA+VGhpcyBlbGVtZW50IHNwZWNpZmllcyBhIGxvY2FsIHZhcmlhYmxlLiBUaGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPm5hbWU8L2NvZGU+IGF0dHJpYnV0ZSBpcyBpcyB1c2VkIHRvIHNwZWNpZnkKLSAgIHRoZSBleGFjdCBvciByZWdleCBtYXRjaCBwYXR0ZXJuIGZvciB0aGUgbG9jYWwgdmFyaWFibGUgbmFtZS4gTG9jYWwgdmFyaWFibGVzIGFyZSB2YXJpYWJsZXMgZGVmaW5lZCB3aXRoaW4gYSBtZXRob2QuCi0gICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxjb2RlIGNsYXNzPSJsaXRlcmFsIj4mbHQ7T3ImZ3Q7PC9jb2RlPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgIFRoaXMgZWxlbWVudCBjb21iaW5lcyA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWF0Y2g8L2NvZGU+IGNsYXVzZXMgYXMgZGlzanVuY3RzLiAgSS5lLiwgeW91IGNhbiBwdXQgdHdvCi0gICA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWV0aG9kPC9jb2RlPiBlbGVtZW50cyBpbiBhbiA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+T3I8L2NvZGU+IGNsYXVzZSBpbiBvcmRlciB0byBtYXRjaCBlaXRoZXIgbWV0aG9kLgotICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O0FuZCZndDs8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgVGhpcyBlbGVtZW50IGNvbWJpbmVzIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4gY2xhdXNlcyB3aGljaCBib3RoIG11c3QgZXZhbHVhdGUgdG8gdHJ1ZS4gIEkuZS4sIHlvdSBjYW4gcHV0Ci0gICA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+QnVnPC9jb2RlPiBhbmQgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPlByaW9yaXR5PC9jb2RlPiBlbGVtZW50cyBpbiBhbiA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+QW5kPC9jb2RlPiBjbGF1c2UgaW4gb3JkZXIKLSAgIHRvIG1hdGNoIHNwZWNpZmljIGJ1Z3Mgd2l0aCBnaXZlbiBwcmlvcml0eSBvbmx5LgotICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Jmx0O05vdCZndDs8L2NvZGU+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgVGhpcyBlbGVtZW50IGludmVydHMgdGhlIGluY2x1ZGVkIGNoaWxkIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4uIEkuZS4sIHlvdSBjYW4gcHV0IGEKLSAgIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5CdWc8L2NvZGU+IGVsZW1lbnQgaW4gYSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Tm90PC9jb2RlPiBjbGF1c2UgaW4gb3JkZXIgdG8gbWF0Y2ggYW55IGJ1ZwotICAgZXhjbHVkaW5nIHRoZSBnaXZlbiBvbmUuCi0gICA8L3A+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMy4mbmJzcDtKYXZhIGVsZW1lbnQgbmFtZSBtYXRjaGluZyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUyMTM2Ij48L2E+My4mbmJzcDtKYXZhIGVsZW1lbnQgbmFtZSBtYXRjaGluZzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci1JZiB0aGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPm5hbWU8L2NvZGU+IGF0dHJpYnV0ZSBvZiA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Q2xhc3M8L2NvZGU+LCA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+TWV0aG9kPC9jb2RlPiBvcgotPGNvZGUgY2xhc3M9ImxpdGVyYWwiPkZpZWxkPC9jb2RlPiBzdGFydHMgd2l0aCB0aGUgfiBjaGFyYWN0ZXIgdGhlIHJlc3Qgb2YgYXR0cmlidXRlIGNvbnRlbnQgaXMgaW50ZXJwcmV0ZWQgYXMKLWEgSmF2YSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBpcyBtYXRjaGVkIGFnYWluc3QgdGhlIG5hbWVzIG9mIHRoZSBKYXZhIGVsZW1lbnQgaW4gcXVlc3Rpb24uCi08L3A+PHA+Ci1Ob3RlIHRoYXQgdGhlIHBhdHRlcm4gaXMgbWF0Y2hlZCBhZ2FpbnN0IHdob2xlIGVsZW1lbnQgbmFtZSBhbmQgdGhlcmVmb3JlIC4qIGNsYXVzZXMgbmVlZCB0byBiZSB1c2VkCi1hdCBwYXR0ZXJuIGJlZ2lubmluZyBhbmQvb3IgZW5kIHRvIHBlcmZvcm0gc3Vic3RyaW5nIG1hdGNoaW5nLgotPC9wPjxwPgotU2VlIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9qMnNlLzEuNS4wL2RvY3MvYXBpL2phdmEvdXRpbC9yZWdleC9QYXR0ZXJuLmh0bWwiIHRhcmdldD0iX3RvcCI+PGNvZGUgY2xhc3M9ImxpdGVyYWwiPmphdmEudXRpbC5yZWdleC5QYXR0ZXJuPC9jb2RlPjwvYT4KLWRvY3VtZW50YXRpb24gZm9yIHBhdHRlcm4gc3ludGF4LgotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iNC4mbmJzcDtDYXZlYXRzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTIxNjEiPjwvYT40LiZuYnNwO0NhdmVhdHM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotPGNvZGUgY2xhc3M9ImxpdGVyYWwiPk1hdGNoPC9jb2RlPiBjbGF1c2VzIGNhbiBvbmx5IG1hdGNoIGluZm9ybWF0aW9uIHRoYXQgaXMgYWN0dWFsbHkgY29udGFpbmVkIGluIHRoZQotYnVnIGluc3RhbmNlcy4gIEV2ZXJ5IGJ1ZyBpbnN0YW5jZSBoYXMgYSBjbGFzcywgc28gaW4gZ2VuZXJhbCwgZXhjbHVkaW5nCi1idWdzIGJ5IGNsYXNzIHdpbGwgd29yay4KLTwvcD48cD4KLVNvbWUgYnVnIGluc3RhbmNlcyBoYXZlIHR3byAob3IgbW9yZSkgY2xhc3Nlcy4gIEZvciBleGFtcGxlLCB0aGUgREUgKGRyb3BwZWQgZXhjZXB0aW9uKQotYnVncyByZXBvcnQgYm90aCB0aGUgY2xhc3MgY29udGFpbmluZyB0aGUgbWV0aG9kIHdoZXJlIHRoZSBkcm9wcGVkIGV4Y2VwdGlvbgotaGFwcGVucywgYW5kIHRoZSBjbGFzcyB3aGljaCByZXByZXNlbnRzIHRoZSB0eXBlIG9mIHRoZSBkcm9wcGVkIGV4Y2VwdGlvbi4KLU9ubHkgdGhlIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPmZpcnN0PC9lbT48L3NwYW4+IChwcmltYXJ5KSBjbGFzcyBpcyBtYXRjaGVkIGFnYWluc3QgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPk1hdGNoPC9jb2RlPiBjbGF1c2VzLgotU28sIGZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBzdXBwcmVzcyBJQyAoaW5pdGlhbGl6YXRpb24gY2lyY3VsYXJpdHkpCi1yZXBvcnRzIGZvciBjbGFzc2VzICJjb20uZm9vYmFyLkEiIGFuZCAiY29tLmZvb2Jhci5CIiwgeW91IHdvdWxkIHVzZQotdHdvIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NYXRjaDwvY29kZT4gY2xhdXNlczoKLQotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLSAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLkEiIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIGNvZGU9IklDIiAvJmd0OwotICAgJmx0Oy9NYXRjaCZndDsKLQotICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O0NsYXNzIG5hbWU9ImNvbS5mb29iYXIuQiIgLyZndDsKLSAgICAgICZsdDtCdWcgY29kZT0iSUMiIC8mZ3Q7Ci0gICAmbHQ7L01hdGNoJmd0OwotPC9wcmU+PHA+Ci0KLUJ5IGV4cGxpY2l0bHkgbWF0Y2hpbmcgYm90aCBjbGFzc2VzLCB5b3UgZW5zdXJlIHRoYXQgdGhlIElDIGJ1ZyBpbnN0YW5jZSB3aWxsIGJlCi1tYXRjaGVkIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggY2xhc3MgaW52b2x2ZWQgaW4gdGhlIGNpcmN1bGFyaXR5IGhhcHBlbnMgdG8gYmUKLWxpc3RlZCBmaXJzdCBpbiB0aGUgYnVnIGluc3RhbmNlLiAgKE9mIGNvdXJzZSwgdGhpcyBhcHByb2FjaCBtaWdodCBhY2NpZGVudGFsbHkKLXN1cHJlc3MgY2lyY3VsYXJpdGllcyBpbnZvbHZpbmcgImNvbS5mb29iYXIuQSIgb3IgImNvbS5mb29iYXIuQiIgYW5kIGEgdGhpcmQKLWNsYXNzLikKLTwvcD48cD4KLU1hbnkga2luZHMgb2YgYnVncyByZXBvcnQgd2hhdCBtZXRob2QgdGhleSBvY2N1ciBpbi4gIEZvciB0aG9zZSBidWcgaW5zdGFuY2VzLAoteW91IGNhbiBwdXQgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPk1ldGhvZDwvY29kZT4gY2xhdXNlcyBpbiB0aGUgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPk1hdGNoPC9jb2RlPiBlbGVtZW50IGFuZCB0aGV5IHNob3VsZCB3b3JrCi1hcyBleHBlY3RlZC4KLTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjUuJm5ic3A7RXhhbXBsZXMiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMjE5MSI+PC9hPjUuJm5ic3A7RXhhbXBsZXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotICAxLiBNYXRjaCBhbGwgYnVnIHJlcG9ydHMgZm9yIGEgY2xhc3MuCi0KLTwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAgJmx0O01hdGNoJmd0OwotICAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLk15Q2xhc3MiIC8mZ3Q7Ci0gICAgICZsdDsvTWF0Y2gmZ3Q7Ci0KLTwvcHJlPjxwPgotCi08L3A+PHA+Ci0gIDIuIE1hdGNoIGNlcnRhaW4gdGVzdHMgZnJvbSBhIGNsYXNzIGJ5IHNwZWNpZnlpbmcgdGhlaXIgYWJicmV2aWF0aW9ucy4KLTwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAgJmx0O01hdGNoJmd0OwotICAgICAgICZsdDtDbGFzcyBuYW1lPSJjb20uZm9vYmFyLk15Q2xhc3MiLyAmZ3Q7Ci0gICAgICAgJmx0O0J1ZyBjb2RlPSJERSxVckYsU0lDIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4KLSAgMy4gTWF0Y2ggY2VydGFpbiB0ZXN0cyBmcm9tIGFsbCBjbGFzc2VzIGJ5IHNwZWNpZnlpbmcgdGhlaXIgYWJicmV2aWF0aW9ucy4KLQotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotICAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAgJmx0O0J1ZyBjb2RlPSJERSxVckYsU0lDIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4KLSAgNC4gTWF0Y2ggY2VydGFpbiB0ZXN0cyBmcm9tIGFsbCBjbGFzc2VzIGJ5IHNwZWNpZnlpbmcgdGhlaXIgY2F0ZWdvcnkuCi0KLTwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAgJmx0O01hdGNoJmd0OwotICAgICAgICZsdDtCdWcgY2F0ZWdvcnk9IlBFUkZPUk1BTkNFIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4KLSAgNS4gTWF0Y2ggYnVnIHR5cGVzIGZyb20gc3BlY2lmaWVkIG1ldGhvZHMgb2YgYSBjbGFzcyBieSB0aGVpciBhYmJyZXZpYXRpb25zLgotCi08L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0gICAgICZsdDtNYXRjaCZndDsKLSAgICAgICAmbHQ7Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5NeUNsYXNzIiAvJmd0OwotICAgICAgICZsdDtPciZndDsKLSAgICAgICAgICZsdDtNZXRob2QgbmFtZT0iZnJvYiIgcGFyYW1zPSJpbnQsamF2YS5sYW5nLlN0cmluZyIgcmV0dXJucz0idm9pZCIgLyZndDsKLSAgICAgICAgICZsdDtNZXRob2QgbmFtZT0iYmxhdCIgcGFyYW1zPSIiIHJldHVybnM9ImJvb2xlYW4iIC8mZ3Q7Ci0gICAgICAgJmx0Oy9PciZndDsKLSAgICAgICAmbHQ7QnVnIGNvZGU9IkRDIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4KLSAgICA2LiBNYXRjaCBhIHBhcnRpY3VsYXIgYnVnIHBhdHRlcm4gaW4gYSBwYXJ0aWN1bGFyIG1ldGhvZC4KLQotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotICAgICZsdDshLS0gQSBtZXRob2Qgd2l0aCBhbiBvcGVuIHN0cmVhbSBmYWxzZSBwb3NpdGl2ZS4gLS0mZ3Q7Ci0gICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O0NsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLyZndDsKLSAgICAgICZsdDtNZXRob2QgbmFtZT0id3JpdGVEYXRhVG9GaWxlIiAvJmd0OwotICAgICAgJmx0O0J1ZyBwYXR0ZXJuPSJPU19PUEVOX1NUUkVBTSIgLyZndDsKLSAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4KLSAgICA3LiBNYXRjaCBhIHBhcnRpY3VsYXIgYnVnIHBhdHRlcm4gd2l0aCBhIGdpdmVuIHByaW9yaXR5IGluIGEgcGFydGljdWxhciBtZXRob2QuCi0KLTwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAmbHQ7IS0tIEEgbWV0aG9kIHdpdGggYSBkZWFkIGxvY2FsIHN0b3JlIGZhbHNlIHBvc2l0aXZlIChtZWRpdW0gcHJpb3JpdHkpLiAtLSZndDsKLSAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAmbHQ7Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5NeUNsYXNzIiAvJmd0OwotICAgICAgJmx0O01ldGhvZCBuYW1lPSJzb21lTWV0aG9kIiAvJmd0OwotICAgICAgJmx0O0J1ZyBwYXR0ZXJuPSJETFNfREVBRF9MT0NBTF9TVE9SRSIgLyZndDsKLSAgICAgICZsdDtQcmlvcml0eSB2YWx1ZT0iMiIgLyZndDsKLSAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4KLSAgICA4LiBNYXRjaCBtaW5vciBidWdzIGludHJvZHVjZWQgYnkgQXNwZWN0SiBjb21waWxlciAoeW91IGFyZSBwcm9iYWJseSBub3QgaW50ZXJlc3RlZCBpbiB0aGVzZSB1bmxlc3MKLSAgICB5b3UgYXJlIGFuIEFzcGVjdEogZGV2ZWxvcGVyKS4KLQotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotICAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtDbGFzcyBuYW1lPSJ+LipcJEFqY0Nsb3N1cmVcZCsiIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIHBhdHRlcm49IkRMU19ERUFEX0xPQ0FMX1NUT1JFIiAvJmd0OwotICAgICAgJmx0O01ldGhvZCBuYW1lPSJydW4iIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLSAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAmbHQ7QnVnIHBhdHRlcm49IlVVRl9VTlVTRURfRklFTEQiIC8mZ3Q7Ci0gICAgICAmbHQ7RmllbGQgbmFtZT0ifmFqY1wkLioiIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLQotPC9wcmU+PHA+Ci08L3A+PHA+Ci0gICAgOS4gTWF0Y2ggYnVncyBpbiBzcGVjaWZpYyBwYXJ0cyBvZiB0aGUgY29kZSBiYXNlCi0KLTwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAmbHQ7IS0tIG1hdGNoIHVudXNlZCBmaWVsZHMgd2FybmluZ3MgaW4gTWVzc2FnZXMgY2xhc3NlcyBpbiBhbGwgcGFja2FnZXMgLS0mZ3Q7Ci0gICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O0NsYXNzIG5hbWU9In4uKlwuTWVzc2FnZXMiIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIGNvZGU9IlVVRiIgLyZndDsKLSAgICAmbHQ7L01hdGNoJmd0OwotICAgICZsdDshLS0gbWF0Y2ggbXV0YWJsZSBzdGF0aWNzIHdhcm5pbmdzIGluIGFsbCBpbnRlcm5hbCBwYWNrYWdlcyAtLSZndDsKLSAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAmbHQ7UGFja2FnZSBuYW1lPSJ+LipcLmludGVybmFsIiAvJmd0OwotICAgICAgJmx0O0J1ZyBjb2RlPSJNUyIgLyZndDsKLSAgICAmbHQ7L01hdGNoJmd0OwotICAgICZsdDshLS0gbWF0Y2ggYW5vbnltb291cyBpbm5lciBjbGFzc2VzIHdhcm5pbmdzIGluIHVpIHBhY2thZ2UgaGllcmFyY2h5IC0tJmd0OwotICAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtQYWNrYWdlIG5hbWU9In5jb21cLmZvb2JhclwuZm9vcHJvamVjdFwudWkuKiIgLyZndDsKLSAgICAgICZsdDtCdWcgcGF0dGVybj0iU0lDX0lOTkVSX1NIT1VMRF9CRV9TVEFUSUNfQU5PTiIgLyZndDsKLSAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4KLSAgICAxMC4gTWF0Y2ggYnVncyBvbiBmaWVsZHMgb3IgbWV0aG9kcyB3aXRoIHNwZWNpZmljIHNpZ25hdHVyZXMKLTwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci0KLSAgICAmbHQ7IS0tIG1hdGNoIFN5c3RlbS5leGl0KC4uLikgdXNhZ2Ugd2FybmluZ3MgaW4gdm9pZCBtYWluKFN0cmluZ1tdKSBtZXRob2RzIGluIGFsbCBjbGFzc2VzIC0tJmd0OwotICAgICZsdDtNYXRjaCZndDsKLSAgICAgICZsdDtNZXRob2QgcmV0dXJucz0idm9pZCIgbmFtZT0ibWFpbiIgcGFyYW1zPSJqYXZhLmxhbmcuU3RyaW5nW10iIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIHBhdHRlcm49IkRNX0VYSVQiIC8mZ3Q7Ci0gICAgJmx0Oy9NYXRjaCZndDsKLSAgICAmbHQ7IS0tIG1hdGNoIFV1RiB3YXJuaW5ncyBvbiBmaWVsZHMgb2YgdHlwZSBjb20uZm9vYmFyLkRlYnVnSW5mbyBvbiBhbGwgY2xhc3NlcyAtLSZndDsKLSAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAmbHQ7RmllbGQgdHlwZT0iY29tLmZvb2Jhci5EZWJ1Z0luZm8iIC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIGNvZGU9IlV1RiIgLyZndDsKLSAgICAmbHQ7L01hdGNoJmd0OwotCi08L3ByZT48cD4KLTwvcD48cD4KLSAgICAxMS4gTWF0Y2ggYnVncyB1c2luZyB0aGUgTm90IGZpbHRlciBvcGVyYXRvcgotPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KLQotJmx0OyEtLSBpZ25vcmUgYWxsIGJ1Z3MgaW4gdGVzdCBjbGFzc2VzLCBleGNlcHQgZm9yIHRob3NlIGJ1Z3Mgc3BlY2lmaWNhbGx5IHJlbGF0aW5nIHRvIEpVbml0IHRlc3RzIC0tJmd0OwotJmx0OyEtLSBpLmUuIGZpbHRlciBidWcgaWYgKCBjbGFzc0lzSlVuaXRUZXN0ICZhbXA7JmFtcDsgISBidWdJc1JlbGF0ZWRUb0pVbml0ICkgLS0mZ3Q7Ci0mbHQ7TWF0Y2gmZ3Q7Ci0gICZsdDshLS0gdGhlIE1hdGNoIGZpbHRlciBpcyBlcXVpdmFsZW50IHRvIGEgbG9naWNhbCAnQW5kJyAtLSZndDsKLQotICAmbHQ7Q2xhc3MgbmFtZT0ifi4qXC4qVGVzdCIgLyZndDsKLSAgJmx0OyEtLSB0ZXN0IGNsYXNzZXMgYXJlIHN1ZmZpeGVkIGJ5ICdUZXN0JyAtLSZndDsKLQotICAmbHQ7Tm90Jmd0OwotICAgICAgJmx0O0J1ZyBjb2RlPSJJSlUiIC8mZ3Q7ICZsdDshLS0gJ0lKVScgaXMgdGhlIGNvZGUgZm9yIGJ1Z3MgcmVsYXRlZCB0byBKVW5pdCB0ZXN0IGNvZGUgLS0mZ3Q7Ci0gICZsdDsvTm90Jmd0OwotJmx0Oy9NYXRjaCZndDsKLQotPC9wcmU+PHA+Ci08L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSI2LiZuYnNwO0NvbXBsZXRlIEV4YW1wbGUiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMjI0OSI+PC9hPjYuJm5ic3A7Q29tcGxldGUgRXhhbXBsZTwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgotCi0mbHQ7RmluZEJ1Z3NGaWx0ZXImZ3Q7Ci0gICAgICZsdDtNYXRjaCZndDsKLSAgICAgICAmbHQ7Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5DbGFzc05vdFRvQmVBbmFseXplZCIgLyZndDsKLSAgICAgJmx0Oy9NYXRjaCZndDsKLQotICAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAgJmx0O0NsYXNzIG5hbWU9ImNvbS5mb29iYXIuQ2xhc3NXaXRoU29tZUJ1Z3NNYXRjaGVkIiAvJmd0OwotICAgICAgICZsdDtCdWcgY29kZT0iREUsVXJGLFNJQyIgLyZndDsKLSAgICAgJmx0Oy9NYXRjaCZndDsKLQotICAgICAmbHQ7IS0tIE1hdGNoIGFsbCBYWVogdmlvbGF0aW9ucy4gLS0mZ3Q7Ci0gICAgICZsdDtNYXRjaCZndDsKLSAgICAgICAmbHQ7QnVnIGNvZGU9IlhZWiIgLyZndDsKLSAgICAgJmx0Oy9NYXRjaCZndDsKLQotICAgICAmbHQ7IS0tIE1hdGNoIGFsbCBkb3VibGVjaGVjayB2aW9sYXRpb25zIGluIHRoZXNlIG1ldGhvZHMgb2YgIkFub3RoZXJDbGFzcyIuIC0tJmd0OwotICAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAgJmx0O0NsYXNzIG5hbWU9ImNvbS5mb29iYXIuQW5vdGhlckNsYXNzIiAvJmd0OwotICAgICAgICZsdDtPciZndDsKLSAgICAgICAgICZsdDtNZXRob2QgbmFtZT0ibm9uT3ZlcmxvYWRlZE1ldGhvZCIgLyZndDsKLSAgICAgICAgICZsdDtNZXRob2QgbmFtZT0iZnJvYiIgcGFyYW1zPSJpbnQsamF2YS5sYW5nLlN0cmluZyIgcmV0dXJucz0idm9pZCIgLyZndDsKLSAgICAgICAgICZsdDtNZXRob2QgbmFtZT0iYmxhdCIgcGFyYW1zPSIiIHJldHVybnM9ImJvb2xlYW4iIC8mZ3Q7Ci0gICAgICAgJmx0Oy9PciZndDsKLSAgICAgICAmbHQ7QnVnIGNvZGU9IkRDIiAvJmd0OwotICAgICAmbHQ7L01hdGNoJmd0OwotCi0gICAgICZsdDshLS0gQSBtZXRob2Qgd2l0aCBhIGRlYWQgbG9jYWwgc3RvcmUgZmFsc2UgcG9zaXRpdmUgKG1lZGl1bSBwcmlvcml0eSkuIC0tJmd0OwotICAgICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAgJmx0O0NsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLyZndDsKLSAgICAgICAmbHQ7TWV0aG9kIG5hbWU9InNvbWVNZXRob2QiIC8mZ3Q7Ci0gICAgICAgJmx0O0J1ZyBwYXR0ZXJuPSJETFNfREVBRF9MT0NBTF9TVE9SRSIgLyZndDsKLSAgICAgICAmbHQ7UHJpb3JpdHkgdmFsdWU9IjIiIC8mZ3Q7Ci0gICAgICZsdDsvTWF0Y2gmZ3Q7Ci0KLSAgICAgJmx0OyEtLSBBbGwgYnVncyBpbiB0ZXN0IGNsYXNzZXMsIGV4Y2VwdCBmb3IgSlVuaXQtc3BlY2lmaWMgYnVncyAtLSZndDsKLSAgICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O0NsYXNzIG5hbWU9In4uKlwuKlRlc3QiIC8mZ3Q7Ci0gICAgICAmbHQ7Tm90Jmd0OwotICAgICAgICAgICZsdDtCdWcgY29kZT0iSUpVIiAvJmd0OwotICAgICAgJmx0Oy9Ob3QmZ3Q7Ci0gICAgICZsdDsvTWF0Y2gmZ3Q7Ci0KLSZsdDsvRmluZEJ1Z3NGaWx0ZXImZ3Q7Ci0KLTwvcHJlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iZWNsaXBzZS5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5DaGFwdGVyJm5ic3A7Ny4mbmJzcDtVc2luZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IEVjbGlwc2UgcGx1Z2luJm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPiZuYnNwO0NoYXB0ZXImbmJzcDs5LiZuYnNwO0FuYWx5c2lzIFByb3BlcnRpZXM8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvZ3VpLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2d1aS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjJiMDc0Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvZ3VpLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi08aHRtbD48aGVhZD4KLSAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgotICAgPHRpdGxlPkNoYXB0ZXImbmJzcDs1LiZuYnNwO1VzaW5nIHRoZSBGaW5kQnVncyBHVUk8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0icnVubmluZy5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzQuJm5ic3A7UnVubmluZyBGaW5kQnVncyYjODQ4MjsiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYW50dGFzay5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzYuJm5ic3A7VXNpbmcgdGhlIEZpbmRCdWdzJiM4NDgyOyBBbnQgdGFzayI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+Q2hhcHRlciZuYnNwOzUuJm5ic3A7VXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IEdVSTwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9InJ1bm5pbmcuaHRtbCI+UHJldjwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYW50dGFzay5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzUuJm5ic3A7VXNpbmcgdGhlIEZpbmRCdWdzIEdVSSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZ3VpIj48L2E+Q2hhcHRlciZuYnNwOzUuJm5ic3A7VXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IEdVSTwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj5UYWJsZSBvZiBDb250ZW50czwvYj48L3A+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9Imd1aS5odG1sI2QwZTEwOTIiPjEuIENyZWF0aW5nIGEgUHJvamVjdDwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJndWkuaHRtbCNkMGUxMTM0Ij4yLiBSdW5uaW5nIHRoZSBBbmFseXNpczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJndWkuaHRtbCNkMGUxMTM5Ij4zLiBCcm93c2luZyBSZXN1bHRzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9Imd1aS5odG1sI2QwZTExNTQiPjQuIFNhdmluZyBhbmQgT3BlbmluZzwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGl2PjxwPgotICAgICAgICBUaGlzIGNoYXB0ZXIgZGVzY3JpYmVzIGhvdyB0byB1c2UgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZSAoR1VJKS4KLSAgICA8L3A+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiZuYnNwO0NyZWF0aW5nIGEgUHJvamVjdCI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGUxMDkyIj48L2E+MS4mbmJzcDtDcmVhdGluZyBhIFByb2plY3Q8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotQWZ0ZXIgeW91IGhhdmUgc3RhcnRlZCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiB1c2luZyB0aGUgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZmluZGJ1Z3M8L3N0cm9uZz48L3NwYW4+IGNvbW1hbmQsCi1jaG9vc2UgdGhlIDxzcGFuIGNsYXNzPSJndWltZW51Ij5GaWxlPC9zcGFuPiAmIzg1OTQ7IDxzcGFuIGNsYXNzPSJndWltZW51aXRlbSI+TmV3IFByb2plY3Q8L3NwYW4+Ci1tZW51IGl0ZW0uICBZb3Ugd2lsbCBzZWUgYSBkaWFsb2cgd2hpY2ggbG9va3MgbGlrZSB0aGlzOgotPC9wPjxkaXYgY2xhc3M9Im1lZGlhb2JqZWN0Ij48aW1nIHNyYz0icHJvamVjdC1kaWFsb2cucG5nIj48L2Rpdj48cD4KLTwvcD48cD4KLVVzZSB0aGUgIkFkZCIgYnV0dG9uIG5leHQgdG8gIkNsYXNzcGF0aCB0byBhbmFseXplIiB0byBzZWxlY3QgYSBKYXZhIGFyY2hpdmUKLWZpbGUgKHppcCwgamFyLCBlYXIsIG9yIHdhciBmaWxlKSBvciBkaXJlY3RvcnkgY29udGFpbmluZyBqYXZhIGNsYXNzZXMgdG8gYW5hbHl6ZSBmb3IgYnVncy4gIFlvdSBtYXkgYWRkIG11bHRpcGxlCi1hcmNoaXZlcy9kaXJlY3Rvcmllcy4KLTwvcD48cD4KLVlvdSBjYW4gYWxzbyBhZGQgdGhlIHNvdXJjZSBkaXJlY3RvcmllcyB3aGljaCBjb250YWluCi10aGUgc291cmNlIGNvZGUgZm9yIHRoZSBKYXZhIGFyY2hpdmVzIHlvdSBhcmUgYW5hbHl6aW5nLiAgVGhpcyB3aWxsIGVuYWJsZQotPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gdG8gaGlnaGxpZ2h0IHRoZSBzb3VyY2UgY29kZSB3aGljaCBjb250YWlucyBhIHBvc3NpYmxlIGVycm9yLgotVGhlIHNvdXJjZSBkaXJlY3RvcmllcyB5b3UgYWRkIHNob3VsZCBiZSB0aGUgcm9vdHMgb2YgdGhlIEphdmEKLXBhY2thZ2UgaGllcmFyY2h5LiAgRm9yIGV4YW1wbGUsIGlmIHlvdXIgYXBwbGljYXRpb24gaXMgY29udGFpbmVkIGluIHRoZQotPGNvZGUgY2xhc3M9InZhcm5hbWUiPm9yZy5mb29iYXIubXlhcHA8L2NvZGU+IHBhY2thZ2UsIHlvdSBzaG91bGQgYWRkIHRoZQotcGFyZW50IGRpcmVjdG9yeSBvZiB0aGUgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5vcmc8L2NvZGU+IGRpcmVjdG9yeQotdG8gdGhlIHNvdXJjZSBkaXJlY3RvcnkgbGlzdCBmb3IgdGhlIHByb2plY3QuCi08L3A+PHA+Ci1Bbm90aGVyIG9wdGlvbmFsIHN0ZXAgaXMgdG8gYWRkIGFkZGl0aW9uYWwgSmFyIGZpbGVzIG9yIGRpcmVjdG9yaWVzIGFzCi0iQXV4aWxpYXJ5IGNsYXNzcGF0aCBsb2NhdGlvbnMiIGVudHJpZXMuICBZb3Ugc2hvdWxkIGRvIHRoaXMgaWYgdGhlIGFyY2hpdmVzIGFuZCBkaXJlY3RvcmllcyB5b3UgYXJlIGFuYWx5emluZwotaGF2ZSByZWZlcmVuY2VzIHRvIG90aGVyIGNsYXNzZXMgd2hpY2ggYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgYW5hbHl6ZWQKLWFyY2hpdmVzL2RpcmVjdG9yaWVzIGFuZCBhcmUgbm90IGluIHRoZSBzdGFuZGFyZCBydW50aW1lIGNsYXNzcGF0aC4gIFNvbWUgb2YgdGhlIGJ1ZwotcGF0dGVybiBkZXRlY3RvcnMgaW4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gbWFrZSB1c2Ugb2YgY2xhc3MgaGllcmFyY2h5IGluZm9ybWF0aW9uLAotc28geW91IHdpbGwgZ2V0IG1vcmUgYWNjdXJhdGUgcmVzdWx0cyBpZiB0aGUgZW50aXJlIGNsYXNzIGhpZXJhcmNoeSBpcwotYXZhaWxhYmxlIHdoaWNoIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHBlcmZvcm1zIGl0cyBhbmFseXNpcy4KLTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgdGl0bGU9IjIuJm5ic3A7UnVubmluZyB0aGUgQW5hbHlzaXMiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTEzNCI+PC9hPjIuJm5ic3A7UnVubmluZyB0aGUgQW5hbHlzaXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotT25jZSB5b3UgaGF2ZSBhZGRlZCBhbGwgb2YgdGhlIGFyY2hpdmVzLCBkaXJlY3RvcmllcywgYW5kIHNvdXJjZSBkaXJlY3RvcmllcywKLWNsaWNrIHRoZSAiQW5hbHl6ZSIgYnV0dG9uIHRvIGFuYWx5emUgdGhlIGNsYXNzZXMgY29udGFpbmVkIGluIHRoZQotSmFyIGZpbGVzLiAgTm90ZSB0aGF0IGZvciBhIHZlcnkgbGFyZ2UgcHJvZ3JhbSBvbiBhbiBvbGRlciBjb21wdXRlciwKLXRoaXMgbWF5IHRha2UgcXVpdGUgYSB3aGlsZSAodGVucyBvZiBtaW51dGVzKS4gIEEgcmVjZW50IGNvbXB1dGVyIHdpdGgKLWFtcGxlIG1lbW9yeSB3aWxsIHR5cGljYWxseSBiZSBhYmxlIHRvIGFuYWx5emUgYSBsYXJnZSBwcm9ncmFtIGluIG9ubHkgYQotZmV3IG1pbnV0ZXMuCi08L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIzLiZuYnNwO0Jyb3dzaW5nIFJlc3VsdHMiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTEzOSI+PC9hPjMuJm5ic3A7QnJvd3NpbmcgUmVzdWx0czwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci1XaGVuIHRoZSBhbmFseXNpcyBjb21wbGV0ZXMsIHlvdSB3aWxsIHNlZSBhIHNjcmVlbiBsaWtlIHRoZSBmb2xsb3dpbmc6Ci08L3A+PGRpdiBjbGFzcz0ibWVkaWFvYmplY3QiPjxpbWcgc3JjPSJleGFtcGxlLWRldGFpbHMucG5nIj48L2Rpdj48cD4KLTwvcD48cD4KLVRoZSB1cHBlciBsZWZ0LWhhbmQgcGFuZSBvZiB0aGUgd2luZG93IHNob3dzIHRoZSBidWcgdHJlZTsgdGhpcyBpcyBhIGhpZXJhcmNoaWNhbAotcmVwcmVzZW50YXRpb24gb2YgYWxsIG9mIHRoZSBwb3RlbnRpYWwgYnVncyBkZXRlY3RlZCBpbiB0aGUgYW5hbHl6ZWQKLUphciBmaWxlcy4KLTwvcD48cD4KLVdoZW4geW91IHNlbGVjdCBhIHBhcnRpY3VsYXIgYnVnIGluc3RhbmNlIGluIHRoZSB0b3AgcGFuZSwgeW91IHdpbGwKLXNlZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBidWcgaW4gdGhlICJEZXRhaWxzIiB0YWIgb2YgdGhlIGJvdHRvbSBwYW5lLgotSW4gYWRkaXRpb24sIHRoZSBzb3VyY2UgY29kZSBwYW5lIG9uIHRoZSB1cHBlci1yaWdodCB3aWxsIHNob3cgdGhlCi1wcm9ncmFtIHNvdXJjZSBjb2RlIHdoZXJlIHRoZSBwb3RlbnRpYWwgYnVnIG9jY3VycywgaWYgc291cmNlIGlzIGF2YWlsYWJsZS4KLUluIHRoZSBhYm92ZSBleGFtcGxlLCB0aGUgYnVnIGlzIGEgc3RyZWFtIG9iamVjdCB0aGF0IGlzIG5vdCBjbG9zZWQuICBUaGUKLXNvdXJjZSBjb2RlIHdpbmRvdyBoaWdobGlnaHRzIHRoZSBsaW5lIHdoZXJlIHRoZSBzdHJlYW0gb2JqZWN0IGlzIGNyZWF0ZWQuCi08L3A+PHA+Ci1Zb3UgbWF5IGFkZCBhIHRleHR1YWwgYW5ub3RhdGlvbnMgdG8gYnVnIGluc3RhbmNlcy4gIFRvIGRvIHNvLCB0eXBlIHRoZW0KLWludG8gdGhlIHRleHQgYm94IGp1c3QgYmVsb3cgdGhlIGhpZXJhcmNoaWNhbCB2aWV3LiAgWW91IGNhbiB0eXBlIGFueQotaW5mb3JtYXRpb24gd2hpY2ggeW91IHdvdWxkIGxpa2UgdG8gcmVjb3JkLiAgV2hlbiB5b3UgbG9hZCBhbmQgc2F2ZSBidWcKLXJlc3VsdHMgZmlsZXMsIHRoZSBhbm5vdGF0aW9ucyBhcmUgcHJlc2VydmVkLgotPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iNC4mbmJzcDtTYXZpbmcgYW5kIE9wZW5pbmciPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlMTE1NCI+PC9hPjQuJm5ic3A7U2F2aW5nIGFuZCBPcGVuaW5nPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLVlvdSBtYXkgdXNlIHRoZSA8c3BhbiBjbGFzcz0iZ3VpbWVudSI+RmlsZTwvc3Bhbj4gJiM4NTk0OyA8c3BhbiBjbGFzcz0iZ3VpbWVudWl0ZW0iPlNhdmUgYXMuLi48L3NwYW4+Ci1tZW51IG9wdGlvbiB0byBzYXZlIHlvdXIgd29yay4gIFRvIHNhdmUgeW91ciB3b3JrLCBpbmNsdWRpbmcgdGhlIGphcgotZmlsZSBsaXN0cyB5b3Ugc3BlY2lmaWVkIGFuZCBhbGwgYnVnIHJlc3VsdHMsIGNob29zZQotIkZpbmRCdWdzIGFuYWx5c2lzIHJlc3VsdHMgKC54bWwpIiBmcm9tIHRoZSBkcm9wLWRvd24gbGlzdCBpbiB0aGUKLSJTYXZlIGFzLi4uIiBkaWFsb2cuICBUaGVyZSBhcmUgYWxzbyBvcHRpb25zIGZvciBzYXZpbmcganVzdCB0aGUgamFyCi1maWxlIGxpc3RzICgiRmluZEJ1Z3MgcHJvamVjdCBmaWxlICguZmJwKSIpIG9yIGp1c3QgdGhlIHJlc3VsdHMKLSgiRmluZEJ1Z3MgYW5hbHlzaXMgZmlsZSAoLmZiYSkiKS4KLUEgc2F2ZWQgZmlsZSBtYXkgYmUgbG9hZGVkIHdpdGggdGhlCi08c3BhbiBjbGFzcz0iZ3VpbWVudSI+RmlsZTwvc3Bhbj4gJiM4NTk0OyA8c3BhbiBjbGFzcz0iZ3VpbWVudWl0ZW0iPk9wZW4uLi48L3NwYW4+Ci1tZW51IG9wdGlvbi4KLTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9InJ1bm5pbmcuaHRtbCI+UHJldjwvYT4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYW50dGFzay5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Q2hhcHRlciZuYnNwOzQuJm5ic3A7UnVubmluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+Jm5ic3A7Q2hhcHRlciZuYnNwOzYuJm5ic3A7VXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj4gdGFzazwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9pbXBvcnRhbnQucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9pbXBvcnRhbnQucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmM5MGY2Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvaW1wb3J0YW50LnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvaW5kZXguaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvaW5kZXguaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDI5MjRhNi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2luZGV4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08aHRtbD48aGVhZD4KLSAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgotICAgPHRpdGxlPkZpbmRCdWdzJiM4NDgyOyBNYW51YWw8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJpbnRyb2R1Y3Rpb24uaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxLiZuYnNwO0ludHJvZHVjdGlvbiI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IE1hbnVhbDwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgbGFuZz0iZW4iIGNsYXNzPSJib29rIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgxIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZmluZGJ1Z3MtbWFudWFsIj48L2E+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IE1hbnVhbDwvaDE+PC9kaXY+PGRpdj48ZGl2IGNsYXNzPSJhdXRob3Jncm91cCI+PGRpdiBjbGFzcz0iYXV0aG9yIj48aDMgY2xhc3M9ImF1dGhvciI+PHNwYW4gY2xhc3M9ImZpcnN0bmFtZSI+RGF2aWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJvdGhlcm5hbWUiPkguPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3VybmFtZSI+SG92ZW1leWVyPC9zcGFuPjwvaDM+PC9kaXY+PGRpdiBjbGFzcz0iYXV0aG9yIj48aDMgY2xhc3M9ImF1dGhvciI+PHNwYW4gY2xhc3M9ImZpcnN0bmFtZSI+V2lsbGlhbTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im90aGVybmFtZSI+Vy48L3NwYW4+IDxzcGFuIGNsYXNzPSJzdXJuYW1lIj5QdWdoPC9zcGFuPjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdj48cCBjbGFzcz0iY29weXJpZ2h0Ij5Db3B5cmlnaHQgJmNvcHk7IDIwMDMgLSAyMDEyIFVuaXZlcnNpdHkgb2YgTWFyeWxhbmQ8L3A+PC9kaXY+PGRpdj48ZGl2IGNsYXNzPSJsZWdhbG5vdGljZSIgdGl0bGU9IkxlZ2FsIE5vdGljZSI+PGEgbmFtZT0iZDBlMjciPjwvYT48cD4KLVRoaXMgbWFudWFsIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwtU2hhcmVBbGlrZSBMaWNlbnNlLgotVG8gdmlldyBhIGNvcHkgb2YgdGhpcyBsaWNlbnNlLCB2aXNpdAotPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy1zYS8xLjAvIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzEuMC88L2E+Ci1vciBzZW5kIGEgbGV0dGVyIHRvIENyZWF0aXZlIENvbW1vbnMsIDU1OSBOYXRoYW4gQWJib3R0IFdheSwgU3RhbmZvcmQsIENhbGlmb3JuaWEgOTQzMDUsIFVTQS4KLTwvcD48cD4KLVRoZSBuYW1lIEZpbmRCdWdzIGFuZCB0aGUgRmluZEJ1Z3MgbG9nbyBhcmUgdHJhZGVtYXJrZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YgTWFyeWxhbmQuCi08L3A+PC9kaXY+PC9kaXY+PGRpdj48cCBjbGFzcz0icHViZGF0ZSI+MTc6MTY6MTUgRVNULCAyMiBOb3ZlbWJlciwgMjAxMzwvcD48L2Rpdj48L2Rpdj48aHI+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj5UYWJsZSBvZiBDb250ZW50czwvYj48L3A+PGRsPjxkdD48c3BhbiBjbGFzcz0iY2hhcHRlciI+PGEgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwiPjEuIEludHJvZHVjdGlvbjwvYT48L3NwYW4+PC9kdD48ZGQ+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImludHJvZHVjdGlvbi5odG1sI2QwZTY3Ij4xLiBSZXF1aXJlbWVudHM8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0iY2hhcHRlciI+PGEgaHJlZj0iaW5zdGFsbGluZy5odG1sIj4yLiBJbnN0YWxsaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvYT48L3NwYW4+PC9kdD48ZGQ+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9Imluc3RhbGxpbmcuaHRtbCNkMGU5OCI+MS4gRXh0cmFjdGluZyB0aGUgRGlzdHJpYnV0aW9uPC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwiPjMuIEJ1aWxkaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyBmcm9tIFNvdXJjZTwvYT48L3NwYW4+PC9kdD48ZGQ+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlMTczIj4xLiBQcmVyZXF1aXNpdGVzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlMjYyIj4yLiBFeHRyYWN0aW5nIHRoZSBTb3VyY2UgRGlzdHJpYnV0aW9uPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImJ1aWxkaW5nLmh0bWwjZDBlMjc1Ij4zLiBNb2RpZnlpbmcgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5sb2NhbC5wcm9wZXJ0aWVzPC9jb2RlPjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJidWlsZGluZy5odG1sI2QwZTMzMyI+NC4gUnVubmluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkFudDwvc3Bhbj48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYnVpbGRpbmcuaHRtbCNkMGU0MjciPjUuIFJ1bm5pbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IGZyb20gYSBzb3VyY2UgZGlyZWN0b3J5PC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9InJ1bm5pbmcuaHRtbCI+NC4gUnVubmluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4Mjs8L2E+PC9zcGFuPjwvZHQ+PGRkPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJydW5uaW5nLmh0bWwjZDBlNDY1Ij4xLiBRdWljayBTdGFydDwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJydW5uaW5nLmh0bWwjZDBlNTAzIj4yLiBFeGVjdXRpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0icnVubmluZy5odG1sI2NvbW1hbmRMaW5lT3B0aW9ucyI+My4gQ29tbWFuZC1saW5lIE9wdGlvbnM8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0iY2hhcHRlciI+PGEgaHJlZj0iZ3VpLmh0bWwiPjUuIFVzaW5nIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBHVUk8L2E+PC9zcGFuPjwvZHQ+PGRkPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJndWkuaHRtbCNkMGUxMDkyIj4xLiBDcmVhdGluZyBhIFByb2plY3Q8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZ3VpLmh0bWwjZDBlMTEzNCI+Mi4gUnVubmluZyB0aGUgQW5hbHlzaXM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZ3VpLmh0bWwjZDBlMTEzOSI+My4gQnJvd3NpbmcgUmVzdWx0czwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJndWkuaHRtbCNkMGUxMTU0Ij40LiBTYXZpbmcgYW5kIE9wZW5pbmc8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0iY2hhcHRlciI+PGEgaHJlZj0iYW50dGFzay5odG1sIj42LiBVc2luZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYW50dGFzay5odG1sI2QwZTEyMDUiPjEuIEluc3RhbGxpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+QW50PC9zcGFuPiB0YXNrPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFudHRhc2suaHRtbCNkMGUxMjQzIj4yLiBNb2RpZnlpbmcgYnVpbGQueG1sPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFudHRhc2suaHRtbCNkMGUxMzE0Ij4zLiBFeGVjdXRpbmcgdGhlIHRhc2s8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYW50dGFzay5odG1sI2QwZTEzMzkiPjQuIFBhcmFtZXRlcnM8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0iY2hhcHRlciI+PGEgaHJlZj0iZWNsaXBzZS5odG1sIj43LiBVc2luZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IEVjbGlwc2UgcGx1Z2luPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZWNsaXBzZS5odG1sI2QwZTE2NjIiPjEuIFJlcXVpcmVtZW50czwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJlY2xpcHNlLmh0bWwjZDBlMTY3MCI+Mi4gSW5zdGFsbGF0aW9uPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImVjbGlwc2UuaHRtbCNkMGUxNzE3Ij4zLiBVc2luZyB0aGUgUGx1Z2luPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImVjbGlwc2UuaHRtbCNkMGUxNzQ4Ij40LiBFeHRlbmRpbmcgdGhlIEVjbGlwc2UgUGx1Z2luIChzaW5jZSAyLjAuMCk8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZWNsaXBzZS5odG1sI2QwZTE4MDIiPjUuIFRyb3VibGVzaG9vdGluZzwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJjaGFwdGVyIj48YSBocmVmPSJmaWx0ZXIuaHRtbCI+OC4gRmlsdGVyIEZpbGVzPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMTgzOCI+MS4gSW50cm9kdWN0aW9uIHRvIEZpbHRlciBGaWxlczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJmaWx0ZXIuaHRtbCNkMGUxODg4Ij4yLiBUeXBlcyBvZiBNYXRjaCBjbGF1c2VzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTIxMzYiPjMuIEphdmEgZWxlbWVudCBuYW1lIG1hdGNoaW5nPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImZpbHRlci5odG1sI2QwZTIxNjEiPjQuIENhdmVhdHM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMjE5MSI+NS4gRXhhbXBsZXM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZmlsdGVyLmh0bWwjZDBlMjI0OSI+Ni4gQ29tcGxldGUgRXhhbXBsZTwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJjaGFwdGVyIj48YSBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiPjkuIEFuYWx5c2lzIFByb3BlcnRpZXM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJjaGFwdGVyIj48YSBocmVmPSJhbm5vdGF0aW9ucy5odG1sIj4xMC4gQW5ub3RhdGlvbnM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJjaGFwdGVyIj48YSBocmVmPSJyZWphckZvckFuYWx5c2lzLmh0bWwiPjExLiBVc2luZyByZWphckZvckFuYWx5c2lzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0iY2hhcHRlciI+PGEgaHJlZj0iZGF0YW1pbmluZy5odG1sIj4xMi4gRGF0YSBtaW5pbmcgb2YgYnVncyB3aXRoIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvYT48L3NwYW4+PC9kdD48ZGQ+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNjb21tYW5kcyI+MS4gQ29tbWFuZHM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iZGF0YW1pbmluZy5odG1sI2V4YW1wbGVzIj4yLiBFeGFtcGxlczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjYW50ZXhhbXBsZSI+My4gQW50IGV4YW1wbGU8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0iY2hhcHRlciI+PGEgaHJlZj0ibGljZW5zZS5odG1sIj4xMy4gTGljZW5zZTwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9ImNoYXB0ZXIiPjxhIGhyZWY9ImFja25vd2xlZGdtZW50cy5odG1sIj4xNC4gQWNrbm93bGVkZ21lbnRzPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iYWNrbm93bGVkZ21lbnRzLmh0bWwjZDBlMzYyOSI+MS4gQ29udHJpYnV0b3JzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9ImFja25vd2xlZGdtZW50cy5odG1sI2QwZTM3NTIiPjIuIFNvZnR3YXJlIFVzZWQ8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjwvZGw+PC9kaXY+PGRpdiBjbGFzcz0ibGlzdC1vZi10YWJsZXMiPjxwPjxiPkxpc3Qgb2YgVGFibGVzPC9iPjwvcD48ZGw+PGR0PjkuMS4gPGEgaHJlZj0iYW5hbHlzaXNwcm9wcy5odG1sI2FuYWx5c2lzcHJvcHRhYmxlIj5Db25maWd1cmFibGUgQW5hbHlzaXMgUHJvcGVydGllczwvYT48L2R0PjxkdD4xMi4xLiA8YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjY29tcHV0ZUJ1Z0hpc3RvcnlUYWJsZSI+T3B0aW9ucyBmb3IgY29tcHV0ZUJ1Z0hpc3RvcnkgY29tbWFuZDwvYT48L2R0PjxkdD4xMi4yLiA8YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjZmlsdGVyT3B0aW9uc1RhYmxlIj5PcHRpb25zIGZvciBmaWx0ZXJCdWdzIGNvbW1hbmQ8L2E+PC9kdD48ZHQ+MTIuMy4gPGEgaHJlZj0iZGF0YW1pbmluZy5odG1sI21pbmVCdWdIaXN0b3J5T3B0aW9uc1RhYmxlIj5PcHRpb25zIGZvciBtaW5lQnVnSGlzdG9yeSBjb21tYW5kPC9hPjwvZHQ+PGR0PjEyLjQuIDxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNtaW5lQnVnSGlzdG9yeUNvbHVtbnMiPkNvbHVtbnMgaW4gbWluZUJ1Z0hpc3Rvcnkgb3V0cHV0PC9hPjwvZHQ+PGR0PjEyLjUuIDxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNkZWZlY3REZW5zaXR5Q29sdW1ucyI+Q29sdW1ucyBpbiBkZWZlY3REZW5zaXR5IG91dHB1dDwvYT48L2R0PjxkdD4xMi42LiA8YSBocmVmPSJkYXRhbWluaW5nLmh0bWwjY29udmVydFhtbFRvVGV4dFRhYmxlIj5PcHRpb25zIGZvciBjb252ZXJ0WG1sVG9UZXh0IGNvbW1hbmQ8L2E+PC9kdD48ZHQ+MTIuNy4gPGEgaHJlZj0iZGF0YW1pbmluZy5odG1sI3NldEJ1Z0RhdGFiYXNlSW5mb09wdGlvbnMiPnNldEJ1Z0RhdGFiYXNlSW5mbyBPcHRpb25zPC9hPjwvZHQ+PGR0PjEyLjguIDxhIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCNsaXN0QnVnRGF0YWJhc2VJbmZvQ29sdW1ucyI+bGlzdEJ1Z0RhdGFiYXNlSW5mbyBDb2x1bW5zPC9hPjwvZHQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDtDaGFwdGVyJm5ic3A7MS4mbmJzcDtJbnRyb2R1Y3Rpb248L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvaW5maW5pdGVSZWN1cnNpdmVMb29wcy5wbmcgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2luZmluaXRlUmVjdXJzaXZlTG9vcHMucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDMwZGYyLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvaW5maW5pdGVSZWN1cnNpdmVMb29wcy5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2luc3RhbGxpbmcuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvaW5zdGFsbGluZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTRhNmViLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvaW5zdGFsbGluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT5DaGFwdGVyJm5ic3A7Mi4mbmJzcDtJbnN0YWxsaW5nIEZpbmRCdWdzJiM4NDgyOzwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43Ni4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgTWFudWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJpbnRyb2R1Y3Rpb24uaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxLiZuYnNwO0ludHJvZHVjdGlvbiI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJidWlsZGluZy5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzMuJm5ic3A7QnVpbGRpbmcgRmluZEJ1Z3MmIzg0ODI7IGZyb20gU291cmNlIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7Mi4mbmJzcDtJbnN0YWxsaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImludHJvZHVjdGlvbi5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJidWlsZGluZy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzIuJm5ic3A7SW5zdGFsbGluZyBGaW5kQnVncyYjODQ4MjsiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPjxhIG5hbWU9Imluc3RhbGxpbmciPjwvYT5DaGFwdGVyJm5ic3A7Mi4mbmJzcDtJbnN0YWxsaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9jIj48cD48Yj5UYWJsZSBvZiBDb250ZW50czwvYj48L3A+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9Imluc3RhbGxpbmcuaHRtbCNkMGU5OCI+MS4gRXh0cmFjdGluZyB0aGUgRGlzdHJpYnV0aW9uPC9hPjwvc3Bhbj48L2R0PjwvZGw+PC9kaXY+PHA+Ci1UaGlzIGNoYXB0ZXIgZXhwbGFpbnMgaG93IHRvIGluc3RhbGwgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4uCi08L3A+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiZuYnNwO0V4dHJhY3RpbmcgdGhlIERpc3RyaWJ1dGlvbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGU5OCI+PC9hPjEuJm5ic3A7RXh0cmFjdGluZyB0aGUgRGlzdHJpYnV0aW9uPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLVRoZSBlYXNpZXN0IHdheSB0byBpbnN0YWxsIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGlzIHRvIGRvd25sb2FkIGEgYmluYXJ5IGRpc3RyaWJ1dGlvbi4KLUJpbmFyeSBkaXN0cmlidXRpb25zIGFyZSBhdmFpbGFibGUgaW4KLTxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9maW5kYnVncy0yLjAuMy50YXIuZ3o/ZG93bmxvYWQiIHRhcmdldD0iX3RvcCI+Z3ppcHBlZCB0YXIgZm9ybWF0PC9hPiBhbmQKLTxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9maW5kYnVncy0yLjAuMy56aXA/ZG93bmxvYWQiIHRhcmdldD0iX3RvcCI+emlwIGZvcm1hdDwvYT4uCi1PbmNlIHlvdSBoYXZlIGRvd25sb2FkZWQgYSBiaW5hcnkgZGlzdHJpYnV0aW9uLCBleHRyYWN0IGl0IGludG8gYSBkaXJlY3Rvcnkgb2YgeW91ciBjaG9pY2UuCi08L3A+PHA+Ci1FeHRyYWN0aW5nIGEgZ3ppcHBlZCB0YXIgZm9ybWF0IGRpc3RyaWJ1dGlvbjoKLTwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotPGNvZGUgY2xhc3M9InByb21wdCI+JCA8L2NvZGU+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Z3VuemlwIC1jIGZpbmRidWdzLTIuMC4zLnRhci5neiB8IHRhciB4dmYgLTwvc3Ryb25nPjwvc3Bhbj4KLTwvcHJlPjxwPgotPC9wPjxwPgotRXh0cmFjdGluZyBhIHppcCBmb3JtYXQgZGlzdHJpYnV0aW9uOgotPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci08Y29kZSBjbGFzcz0icHJvbXB0Ij5DOlxTb2Z0d2FyZSZndDs8L2NvZGU+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dW56aXAgZmluZGJ1Z3MtMi4wLjMuemlwPC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci08L3A+PHA+Ci1Vc3VhbGx5LCBleHRyYWN0aW5nIGEgYmluYXJ5IGRpc3RyaWJ1dGlvbiB3aWxsIGNyZWF0ZSBhIGRpcmVjdG9yeSBlbmRpbmcgaW4KLTxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+ZmluZGJ1Z3MtMi4wLjM8L2NvZGU+LiBGb3IgZXhhbXBsZSwgaWYgeW91IGV4dHJhY3RlZAotdGhlIGJpbmFyeSBkaXN0cmlidXRpb24gZnJvbSB0aGUgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5DOlxTb2Z0d2FyZTwvY29kZT4KLWRpcmVjdG9yeSwgdGhlbiB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gc29mdHdhcmUgd2lsbCBiZSBleHRyYWN0ZWQgaW50byB0aGUgZGlyZWN0b3J5Ci08Y29kZSBjbGFzcz0iZmlsZW5hbWUiPkM6XFNvZnR3YXJlXGZpbmRidWdzLTIuMC4zPC9jb2RlPi4KLVRoaXMgZGlyZWN0b3J5IGlzIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBob21lIGRpcmVjdG9yeS4gIFdlJ2xsIHJlZmVyIHRvIGl0IGFzCi08ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4kRklOREJVR1NfSE9NRTwvY29kZT48L2VtPiAob3IgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JUZJTkRCVUdTX0hPTUUlPC9jb2RlPjwvZW0+IGZvciBXaW5kb3dzKSB0aHJvdWdob3V0IHRoaXMgbWFudWFsLgotPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImJ1aWxkaW5nLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5DaGFwdGVyJm5ic3A7MS4mbmJzcDtJbnRyb2R1Y3Rpb24mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+Jm5ic3A7Q2hhcHRlciZuYnNwOzMuJm5ic3A7QnVpbGRpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IGZyb20gU291cmNlPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2ludHJvZHVjdGlvbi5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9pbnRyb2R1Y3Rpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTY1YjQ5OS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2ludHJvZHVjdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT5DaGFwdGVyJm5ic3A7MS4mbmJzcDtJbnRyb2R1Y3Rpb248L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iaW5zdGFsbGluZy5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzIuJm5ic3A7SW5zdGFsbGluZyBGaW5kQnVncyYjODQ4MjsiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPkNoYXB0ZXImbmJzcDsxLiZuYnNwO0ludHJvZHVjdGlvbjwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImluZGV4Lmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9Imluc3RhbGxpbmcuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxLiZuYnNwO0ludHJvZHVjdGlvbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaW50cm9kdWN0aW9uIj48L2E+Q2hhcHRlciZuYnNwOzEuJm5ic3A7SW50cm9kdWN0aW9uPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPlRhYmxlIG9mIENvbnRlbnRzPC9iPjwvcD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0iaW50cm9kdWN0aW9uLmh0bWwjZDBlNjciPjEuIFJlcXVpcmVtZW50czwvYT48L3NwYW4+PC9kdD48L2RsPjwvZGl2PjxwPiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsgaXMgYSBwcm9ncmFtIHRvIGZpbmQgYnVncyBpbiBKYXZhIHByb2dyYW1zLiAgSXQgbG9va3MgZm9yIGluc3RhbmNlcwotb2YgImJ1ZyBwYXR0ZXJucyIgLS0tIGNvZGUgaW5zdGFuY2VzIHRoYXQgYXJlIGxpa2VseSB0byBiZSBlcnJvcnMuPC9wPjxwPiBUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB2ZXJzaW9uIDIuMC4zIG9mIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+LldlCi1hcmUgdmVyeSBpbnRlcmVzdGVkIGluIGdldHRpbmcgeW91ciBmZWVkYmFjayBvbiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPi4gUGxlYXNlIHZpc2l0Ci10aGUgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0IiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHdlYiBwYWdlPC9hPiBmb3IKLXRoZSBsYXRlc3QgaW5mb3JtYXRpb24gb24gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4sIGNvbnRhY3QgaW5mb3JtYXRpb24sIGFuZCBzdXBwb3J0IHJlc291cmNlcyBzdWNoCi1hcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gbWFpbGluZyBsaXN0cy48L3A+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiZuYnNwO1JlcXVpcmVtZW50cyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkMGU2NyI+PC9hPjEuJm5ic3A7UmVxdWlyZW1lbnRzPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4gVG8gdXNlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+LCB5b3UgbmVlZCBhIHJ1bnRpbWUgZW52aXJvbm1lbnQgY29tcGF0aWJsZSB3aXRoCi08YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9qYXZhLnN1bi5jb20vajJzZSIgdGFyZ2V0PSJfdG9wIj5KYXZhIDIgU3RhbmRhcmQgRWRpdGlvbjwvYT4sIHZlcnNpb24gMS41IG9yIGxhdGVyLgotPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gaXMgcGxhdGZvcm0gaW5kZXBlbmRlbnQsIGFuZCBpcyBrbm93biB0byBydW4gb24gR05VL0xpbnV4LCBXaW5kb3dzLCBhbmQKLU1hY09TIFggcGxhdGZvcm1zLjwvcD48cD5Zb3Ugc2hvdWxkIGhhdmUgYXQgbGVhc3QgNTEyIE1CIG9mIG1lbW9yeSB0byB1c2UgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4uCi1UbyBhbmFseXplIHZlcnkgbGFyZ2UgcHJvamVjdHMsIG1vcmUgbWVtb3J5IG1heSBiZSBuZWVkZWQuPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iaW5kZXguaHRtbCI+UHJldjwvYT4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iaW5zdGFsbGluZy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4mIzg0ODI7IE1hbnVhbCZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDtDaGFwdGVyJm5ic3A7Mi4mbmJzcDtJbnN0YWxsaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOzwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9saWNlbnNlLmh0bWwgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2xpY2Vuc2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmZlOWNiMS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL2xpY2Vuc2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTxodG1sPjxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Ci0gICA8dGl0bGU+Q2hhcHRlciZuYnNwOzEzLiZuYnNwO0xpY2Vuc2U8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzYuMSI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkZpbmRCdWdzJiM4NDgyOyBNYW51YWwiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iZGF0YW1pbmluZy5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzEyLiZuYnNwO0RhdGEgbWluaW5nIG9mIGJ1Z3Mgd2l0aCBGaW5kQnVncyYjODQ4MjsiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYWNrbm93bGVkZ21lbnRzLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7MTQuJm5ic3A7QWNrbm93bGVkZ21lbnRzIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7MTMuJm5ic3A7TGljZW5zZTwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCI+UHJldjwvYT4mbmJzcDs8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj4mbmJzcDs8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPiZuYnNwOzxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYWNrbm93bGVkZ21lbnRzLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImNoYXB0ZXIiIHRpdGxlPSJDaGFwdGVyJm5ic3A7MTMuJm5ic3A7TGljZW5zZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ibGljZW5zZSI+PC9hPkNoYXB0ZXImbmJzcDsxMy4mbmJzcDtMaWNlbnNlPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLVRoZSBuYW1lIEZpbmRCdWdzIGFuZCB0aGUgRmluZEJ1Z3MgbG9nbyBpcyB0cmFkZW1hcmtlZCBieSB0aGUgVW5pdmVyc2l0eQotb2YgTWFyeWxhbmQuCi1GaW5kQnVncyBpcyBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKLTxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xncGwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5MZXNzZXIgR05VIFB1YmxpYyBMaWNlbnNlPC9hPi4KLVlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaW4gdGhlIGZpbGUgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5MSUNFTlNFLnR4dDwvY29kZT4KLWluIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBkaXN0cmlidXRpb24uCi08L3A+PHA+Ci1Zb3UgY2FuIGZpbmQgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIEZpbmRCdWdzLCBhbG9uZyB3aXRoIGl0cyBzb3VyY2UgY29kZSwgZnJvbSB0aGUKLTxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldCIgdGFyZ2V0PSJfdG9wIj5GaW5kQnVncyB3ZWIgcGFnZTwvYT4uCi08L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJkYXRhbWluaW5nLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFja25vd2xlZGdtZW50cy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Q2hhcHRlciZuYnNwOzEyLiZuYnNwO0RhdGEgbWluaW5nIG9mIGJ1Z3Mgd2l0aCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4MjsmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+Jm5ic3A7Q2hhcHRlciZuYnNwOzE0LiZuYnNwO0Fja25vd2xlZGdtZW50czwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9ub3RlLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvbm90ZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwYzNjNjQuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9ub3RlLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvcHJvamVjdC1kaWFsb2cucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9wcm9qZWN0LWRpYWxvZy5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMzk3ODMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9wcm9qZWN0LWRpYWxvZy5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL3JlamFyRm9yQW5hbHlzaXMuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvcmVqYXJGb3JBbmFseXNpcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjgyNDFhLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvcmVqYXJGb3JBbmFseXNpcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT5DaGFwdGVyJm5ic3A7MTEuJm5ic3A7VXNpbmcgcmVqYXJGb3JBbmFseXNpczwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43Ni4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgTWFudWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJhbm5vdGF0aW9ucy5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzEwLiZuYnNwO0Fubm90YXRpb25zIj48bGluayByZWw9Im5leHQiIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxMi4mbmJzcDtEYXRhIG1pbmluZyBvZiBidWdzIHdpdGggRmluZEJ1Z3MmIzg0ODI7Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyJm5ic3A7MTEuJm5ic3A7VXNpbmcgcmVqYXJGb3JBbmFseXNpczwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFubm90YXRpb25zLmh0bWwiPlByZXY8L2E+Jm5ic3A7PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij4mbmJzcDs8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImRhdGFtaW5pbmcuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IkNoYXB0ZXImbmJzcDsxMS4mbmJzcDtVc2luZyByZWphckZvckFuYWx5c2lzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJyZWphckZvckFuYWx5c2lzIj48L2E+Q2hhcHRlciZuYnNwOzExLiZuYnNwO1VzaW5nIHJlamFyRm9yQW5hbHlzaXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotSWYgeW91ciBwcm9qZWN0IGNvbnNpc3RzIG9mIG1hbnkgamFyZmlsZXMgb3IgdGhlIGphcmZpbGVzIGFyZSBzY2F0dGVyZWQKLW92ZXIgbWFueSBkaXJlY3RvcmllcywgeW91IG1heSB3aXNoIHRvIHVzZSB0aGUgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cmVqYXJGb3JBbmFseXNpcwotPC9zdHJvbmc+PC9zcGFuPiBzY3JpcHQgdG8gbWFrZQotRmluZEJ1Z3MgaW52b2NhdGlvbiBlYXNpZXIuICBUaGUgc2NyaXB0IGNvbGxlY3RzIG1hbnkgamFyZmlsZXMgYW5kIGNvbWJpbmVzIHRoZW0KLWludG8gYSBzaW5nbGUsIGxhcmdlIGphcmZpbGUgdGhhdCBjYW4gdGhlbiBiZSBlYXNpbHkgcGFzc2VkIHRvIEZpbmRCdWdzIGZvcgotYW5hbHlzaXMuICBUaGlzIGNhbiBiZSBwYXJ0aWN1bGFybHkgdXNlZnVsIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlICdmaW5kJyBjb21tYW5kCi1vbiB1bml4IHN5c3RlbXM7IGUuZy4gPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZmluZCAuIC1uYW1lICcqLmphcicgfCB4YXJncyByZWphckZvckFuYWx5c2lzCi08L3N0cm9uZz48L3NwYW4+LgotPC9wPjxwPgotVGhlIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnJlamFyRm9yQW5hbHlzaXM8L3N0cm9uZz48L3NwYW4+IHNjcmlwdAotY2FuIGFsc28gYmUgdXNlZCB0byBzcGxpdCBhIHZlcnkgbGFyZ2UgcHJvamVjdCB1cCBpbnRvIGEgc2V0IG9mIGphcmZpbGVzIHdpdGgKLXRoZSBwcm9qZWN0IGNsYXNzZmlsZXMgZXZlbmx5IGRpdmlkZWQgYmV0d2VlbiB0aGVtLiAgVGhpcyBpcyB1c2VmdWwgd2hlbiBydW5uaW5nCi1GaW5kQnVncyBvbiB0aGUgZW50aXJlIHByb2plY3QgaXMgbm90IHByYWN0aWNhbCBkdWUgdG8gdGltZSBvciBtZW1vcnkgY29uc3VtcHRpb24uCi1JbnN0ZWFkIG9mIHJ1bm5pbmcgRmluZEJ1Z3Mgb24gdGhlIGVudGlyZSBwcm9qZWN0LCB5b3UgbWF5IHVzZSA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4KLXJlamFyRm9yQW5hbHlzaXM8L3N0cm9uZz48L3NwYW4+IGJ1aWxkIG9uZSBsYXJnZSwgYWxsLWluY2x1c2l2ZSBqYXJmaWxlCi1jb250YWluaW5nIGFsbCBjbGFzc2VzLCBpbnZva2UgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cmVqYXJGb3JBbmFseXNpczwvc3Ryb25nPjwvc3Bhbj4KLWFnYWluIHRvIHNwbGl0IHRoZSBwcm9qZWN0IGludG8gbXVsdGlwbGUgamFyZmlsZXMsIHRoZW4gcnVuIEZpbmRCdWdzCi1vbiBlYWNoIGRpdmlkZWQgamFyZmlsZXMgaW4gdHVybiwgc3BlY2lmeWluZyB0aGUgdGhlIGFsbC1pbmNsdXNpdmUgamFyZmlsZSBpbgotdGhlIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1hdXhjbGFzc3BhdGg8L3N0cm9uZz48L3NwYW4+LgotPC9wPjxwPgotVGhlc2UgYXJlIHRoZSBvcHRpb25zIGFjY2VwdGVkIGJ5IHRoZSA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5yZWphckZvckFuYWx5c2lzPC9zdHJvbmc+PC9zcGFuPiBzY3JpcHQ6Ci08L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tbWF4QWdlPC9zdHJvbmc+PC9zcGFuPiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5kYXlzPC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIE1heGltdW0gYWdlIGluIGRheXMgKGlnbm9yZSBqYXIgZmlsZXMgb2xkZXIgdGhhbiB0aGlzKS4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1pbnB1dEZpbGVMaXN0PC9zdHJvbmc+PC9zcGFuPiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5maWxlbmFtZTwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBUZXh0IGZpbGUgY29udGFpbmluZyBuYW1lcyBvZiBqYXIgZmlsZXMuCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tbWF4Q2xhc3Nlczwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bnVtPC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIE1heGltdW0gbnVtYmVyIG9mIGNsYXNzZXMgcGVyIGFuYWx5c2lzKi5qYXIgZmlsZS4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1wcmVmaXg8L3N0cm9uZz48L3NwYW4+IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmNsYXNzIG5hbWUgcHJlZml4PC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgIFByZWZpeCBvZiBjbGFzcyBuYW1lcyB0aGF0IHNob3VsZCBiZSBhbmFseXplZCAoZS5nLiwgZWR1LnVtZC5jcy4pLgotICAgICAgIDwvcD48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhbm5vdGF0aW9ucy5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJkYXRhbWluaW5nLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5DaGFwdGVyJm5ic3A7MTAuJm5ic3A7QW5ub3RhdGlvbnMmbmJzcDs8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+Jm5ic3A7Q2hhcHRlciZuYnNwOzEyLiZuYnNwO0RhdGEgbWluaW5nIG9mIGJ1Z3Mgd2l0aCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4Mjs8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9tYW51YWwvcnVubmluZy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9ydW5uaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmODNjODUuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC9ydW5uaW5nLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMDkgKzAsMCBAQAotPGh0bWw+PGhlYWQ+Ci0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KLSAgIDx0aXRsZT5DaGFwdGVyJm5ic3A7NC4mbmJzcDtSdW5uaW5nIEZpbmRCdWdzJiM4NDgyOzwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43Ni4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJGaW5kQnVncyYjODQ4MjsgTWFudWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iRmluZEJ1Z3MmIzg0ODI7IE1hbnVhbCI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJidWlsZGluZy5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzMuJm5ic3A7QnVpbGRpbmcgRmluZEJ1Z3MmIzg0ODI7IGZyb20gU291cmNlIj48bGluayByZWw9Im5leHQiIGhyZWY9Imd1aS5odG1sIiB0aXRsZT0iQ2hhcHRlciZuYnNwOzUuJm5ic3A7VXNpbmcgdGhlIEZpbmRCdWdzIEdVSSI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+Q2hhcHRlciZuYnNwOzQuJm5ic3A7UnVubmluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4Mjs8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJidWlsZGluZy5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJndWkuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iY2hhcHRlciIgdGl0bGU9IkNoYXB0ZXImbmJzcDs0LiZuYnNwO1J1bm5pbmcgRmluZEJ1Z3MmIzg0ODI7Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJydW5uaW5nIj48L2E+Q2hhcHRlciZuYnNwOzQuJm5ic3A7UnVubmluZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiYjODQ4Mjs8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InRvYyI+PHA+PGI+VGFibGUgb2YgQ29udGVudHM8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJydW5uaW5nLmh0bWwjZDBlNDY1Ij4xLiBRdWljayBTdGFydDwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJydW5uaW5nLmh0bWwjZDBlNTAzIj4yLiBFeGVjdXRpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0icnVubmluZy5odG1sI2NvbW1hbmRMaW5lT3B0aW9ucyI+My4gQ29tbWFuZC1saW5lIE9wdGlvbnM8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2Rpdj48cD4KLTxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGhhcyB0d28gdXNlciBpbnRlcmZhY2VzOiBhIGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZSAoR1VJKSBhbmQgYQotY29tbWFuZCBsaW5lIHVzZXIgaW50ZXJmYWNlLiAgVGhpcyBjaGFwdGVyIGRlc2NyaWJlcwotaG93IHRvIHJ1biBlYWNoIG9mIHRoZXNlIHVzZXIgaW50ZXJmYWNlcy4KLTwvcD48ZGl2IGNsYXNzPSJ3YXJuaW5nIiB0aXRsZT0iV2FybmluZyIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ildhcm5pbmciPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltXYXJuaW5nXSIgc3JjPSJ3YXJuaW5nLnBuZyI+PC90ZD48dGggYWxpZ249ImxlZnQiPldhcm5pbmc8L3RoPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjxwPgotICAgICAgICAgICAgVGhpcyBjaGFwdGVyIGlzIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIHJlLXdyaXR0ZW4uCi0gICAgICAgICAgICBUaGUgcmV3cml0ZSBpcyBub3QgY29tcGxldGUgeWV0LgotICAgICAgICA8L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIHRpdGxlPSIxLiZuYnNwO1F1aWNrIFN0YXJ0Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImQwZTQ2NSI+PC9hPjEuJm5ic3A7UXVpY2sgU3RhcnQ8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotICAgICAgICBJZiB5b3UgYXJlIHJ1bm5pbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gb24gYSAgV2luZG93cyBzeXN0ZW0sCi0gICAgICAgIGRvdWJsZS1jbGljayBvbiB0aGUgZmlsZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiVGSU5EQlVHU19IT01FJTwvY29kZT48L2VtPlxsaWJcZmluZGJ1Z3MuamFyPC9jb2RlPiB0byBzdGFydCB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJLgotICAgIDwvcD48cD4KLSAgICAgICAgT24gYSBVbml4LCBMaW51eCwgb3IgTWFjIE9TIFggc3lzdGVtLCBydW4gdGhlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JEZJTkRCVUdTX0hPTUU8L2NvZGU+PC9lbT4vYmluL2ZpbmRidWdzPC9jb2RlPgotICAgICAgICBzY3JpcHQsIG9yIHJ1biB0aGUgY29tbWFuZCA8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLTxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmphdmEgLWphciA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4kRklOREJVR1NfSE9NRTwvY29kZT48L2VtPi9saWIvZmluZGJ1Z3MuamFyPC9zdHJvbmc+PC9zcGFuPjwvcHJlPjxwPgotICAgIHRvIHJ1biB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJLgotICAgIDwvcD48cD4KLSAgICBSZWZlciB0byA8YSBjbGFzcz0ieHJlZiIgaHJlZj0iZ3VpLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7NS4mbmJzcDtVc2luZyB0aGUgRmluZEJ1Z3MgR1VJIj5DaGFwdGVyJm5ic3A7NSwgPGk+VXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IEdVSTwvaT48L2E+IGZvciBpbmZvcm1hdGlvbiBvbiBob3cgdG8gdXNlIHRoZSBHVUkuCi0gICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMi4mbmJzcDtFeGVjdXRpbmcgRmluZEJ1Z3MiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZDBlNTAzIj48L2E+Mi4mbmJzcDtFeGVjdXRpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj48L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotICAgICAgICBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIGhvdyB0byBpbnZva2UgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHByb2dyYW0uCi0gICAgICAgIFRoZXJlIGFyZSB0d28gd2F5cyB0byBpbnZva2UgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj46IGRpcmVjdGx5LCBvciB1c2luZyBhCi0gICAgICAgIHdyYXBwZXIgc2NyaXB0LgotICAgIDwvcD48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjIuMS4mbmJzcDtEaXJlY3QgaW52b2NhdGlvbiBvZiBGaW5kQnVncyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZGlyZWN0SW52b2NhdGlvbiI+PC9hPjIuMS4mbmJzcDtEaXJlY3QgaW52b2NhdGlvbiBvZiA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci0gICAgICAgICAgICBUaGUgcHJlZmVycmVkIG1ldGhvZCBvZiBydW5uaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGlzIHRvIGRpcmVjdGx5IGV4ZWN1dGUKLSAgICAgICAgICAgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JEZJTkRCVUdTX0hPTUU8L2NvZGU+PC9lbT4vbGliL2ZpbmRidWdzLmphcjwvY29kZT4gdXNpbmcgdGhlIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1qYXI8L3N0cm9uZz48L3NwYW4+Ci0gICAgICAgICAgICBjb21tYW5kIGxpbmUgc3dpdGNoIG9mIHRoZSBKVk0gKDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmphdmE8L3N0cm9uZz48L3NwYW4+KSBleGVjdXRhYmxlLgotICAgICAgICAgICAgKFZlcnNpb25zIG9mIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHByaW9yIHRvIDEuMy41IHJlcXVpcmVkIGEgd3JhcHBlciBzY3JpcHQKLSAgICAgICAgICAgIHRvIGludm9rZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPi4pCi0gICAgICAgIDwvcD48cD4KLSAgICAgICAgICAgIFRoZSBnZW5lcmFsIHN5bnRheCBvZiBpbnZva2luZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBkaXJlY3RseSBpcyB0aGUgZm9sbG93aW5nOgotPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Ci0gICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+amF2YSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5bSlZNIGFyZ3VtZW50c108L2NvZGU+PC9lbT4gLWphciA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4kRklOREJVR1NfSE9NRTwvY29kZT48L2VtPi9saWIvZmluZGJ1Z3MuamFyIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9wdGlvbnMuLi48L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+Ci08L3ByZT48cD4KLSAgICAgICAgPC9wPjxkaXYgY2xhc3M9InNlY3QzIiB0aXRsZT0iMi4xLjEuJm5ic3A7Q2hvb3NpbmcgdGhlIFVzZXIgSW50ZXJmYWNlIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDQgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJjaG9vc2VVSSI+PC9hPjIuMS4xLiZuYnNwO0Nob29zaW5nIHRoZSBVc2VyIEludGVyZmFjZTwvaDQ+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci0gICAgICAgICAgICBUaGUgZmlyc3QgY29tbWFuZCBsaW5lIG9wdGlvbiBjaG9vc2VzIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiB1c2VyIGludGVyZmFjZSB0byBleGVjdXRlLgotICAgICAgICAgICAgUG9zc2libGUgdmFsdWVzIGFyZToKLSAgICAgICAgPC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1ndWk8L3N0cm9uZz48L3NwYW4+OiBydW5zIHRoZSBncmFwaGljYWwgdXNlciBpbnRlcmZhY2UgKEdVSSkKLSAgICAgICAgICAgICAgICA8L3A+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LXRleHR1aTwvc3Ryb25nPjwvc3Bhbj46IHJ1bnMgdGhlIGNvbW1hbmQgbGluZSB1c2VyIGludGVyZmFjZQotICAgICAgICAgICAgICAgIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tdmVyc2lvbjwvc3Ryb25nPjwvc3Bhbj46IGRpc3BsYXlzIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiB2ZXJzaW9uIG51bWJlcgotICAgICAgICAgICAgICAgIDwvcD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4taGVscDwvc3Ryb25nPjwvc3Bhbj46IGRpc3BsYXlzIGhlbHAgaW5mb3JtYXRpb24gZm9yIHRoZQotICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBjb21tYW5kIGxpbmUgdXNlciBpbnRlcmZhY2UKLSAgICAgICAgICAgICAgICA8L3A+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWd1aTE8L3N0cm9uZz48L3NwYW4+OiBleGVjdXRlcyB0aGUgb3JpZ2luYWwgKG9ic29sZXRlKQotICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBncmFwaGljYWwgdXNlciBpbnRlcmZhY2UKLSAgICAgICAgICAgICAgICA8L3A+PC9saT48L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QzIiB0aXRsZT0iMi4xLjIuJm5ic3A7SmF2YSBWaXJ0dWFsIE1hY2hpbmUgKEpWTSkgYXJndW1lbnRzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDQgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJqdm1BcmdzIj48L2E+Mi4xLjIuJm5ic3A7SmF2YSBWaXJ0dWFsIE1hY2hpbmUgKEpWTSkgYXJndW1lbnRzPC9oND48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLSAgICAgICAgICAgICAgICBTZXZlcmFsIEphdmEgVmlydHVhbCBNYWNoaW5lIGFyZ3VtZW50cyBhcmUgdXNlZnVsIHdoZW4gaW52b2tpbmcKLSAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPi4KLSAgICAgICAgICAgIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1YbXg8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5OTjwvY29kZT48L2VtPm08L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNldCB0aGUgbWF4aW11bSBKYXZhIGhlYXAgc2l6ZSB0byA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5OTjwvY29kZT48L2VtPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZ2FieXRlcy4gIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IGdlbmVyYWxseSByZXF1aXJlcyBhIGxhcmdlIGFtb3VudCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeS4gIEZvciBhIHZlcnkgbGFyZ2UgcHJvamVjdCwgdXNpbmcgMTUwMCBtZWdhYnl0ZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBub3QgdW51c3VhbC4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LUQ8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5uYW1lPC9jb2RlPjwvZW0+PTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgYSBKYXZhIHN5c3RlbSBwcm9wZXJ0eS4gIEZvciBleGFtcGxlLCB5b3UgbWlnaHQgdXNlIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50IDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1EdXNlci5sYW5ndWFnZT1qYTwvc3Ryb25nPjwvc3Bhbj4gdG8gZGlzcGxheQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdVSSBtZXNzYWdlcyBpbiBKYXBhbmVzZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvcD48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIyLjIuJm5ic3A7SW52b2NhdGlvbiBvZiBGaW5kQnVncyB1c2luZyBhIHdyYXBwZXIgc2NyaXB0Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJ3cmFwcGVyU2NyaXB0Ij48L2E+Mi4yLiZuYnNwO0ludm9jYXRpb24gb2YgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gdXNpbmcgYSB3cmFwcGVyIHNjcmlwdDwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+Ci0gICAgICAgICAgICBBbm90aGVyIHdheSB0byBydW4gPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gaXMgdG8gdXNlIGEgd3JhcHBlciBzY3JpcHQuCi0gICAgICAgIDwvcD48cD4KLU9uIFVuaXgtbGlrZSBzeXN0ZW1zLCB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kIHRvIGludm9rZSB0aGUgd3JhcHBlciBzY3JpcHQ6Ci08L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4KLTxjb2RlIGNsYXNzPSJwcm9tcHQiPiQgPC9jb2RlPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPiRGSU5EQlVHU19IT01FPC9jb2RlPjwvZW0+L2Jpbi9maW5kYnVncyA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb25zLi4uPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci08L3A+PHA+Ci1PbiBXaW5kb3dzIHN5c3RlbXMsIHRoZSBjb21tYW5kIHRvIGludm9rZSB0aGUgd3JhcHBlciBzY3JpcHQgaXMKLTwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotPGNvZGUgY2xhc3M9InByb21wdCI+QzpcTXkgRGlyZWN0b3J5Jmd0OzwvY29kZT48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4lRklOREJVR1NfSE9NRSU8L2NvZGU+PC9lbT5cYmluXGZpbmRidWdzLmJhdCA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb25zLi4uPC9jb2RlPjwvZW0+PC9zdHJvbmc+PC9zcGFuPgotPC9wcmU+PHA+Ci08L3A+PHA+Ci1PbiBib3RoIFVuaXgtbGlrZSBhbmQgV2luZG93cyBzeXN0ZW1zLCB5b3UgY2FuIHNpbXBseSBhZGQgdGhlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+JEZJTkRCVUdTX0hPTUU8L2NvZGU+PC9lbT4vYmluPC9jb2RlPgotZGlyZWN0b3J5IHRvIHlvdXIgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5QQVRIPC9jb2RlPiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgdGhlbiBpbnZva2UKLUZpbmRCdWdzIHVzaW5nIHRoZSA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maW5kYnVnczwvc3Ryb25nPjwvc3Bhbj4gY29tbWFuZC4KLTwvcD48ZGl2IGNsYXNzPSJzZWN0MyIgdGl0bGU9IjIuMi4xLiZuYnNwO1dyYXBwZXIgc2NyaXB0IGNvbW1hbmQgbGluZSBvcHRpb25zIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDQgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJ3cmFwcGVyT3B0aW9ucyI+PC9hPjIuMi4xLiZuYnNwO1dyYXBwZXIgc2NyaXB0IGNvbW1hbmQgbGluZSBvcHRpb25zPC9oND48L2Rpdj48L2Rpdj48L2Rpdj48cD5UaGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gd3JhcHBlciBzY3JpcHRzIHN1cHBvcnQgdGhlIGZvbGxvd2luZyBjb21tYW5kLWxpbmUgb3B0aW9ucy4KLSAgICAgICAgTm90ZSB0aGF0IHRoZXNlIGNvbW1hbmQgbGluZSBvcHRpb25zIGFyZSA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5ub3Q8L2VtPjwvc3Bhbj4gaGFuZGxlZCBieQotICAgICAgICB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gcHJvZ3JhbSBwZXIgc2U7IHJhdGhlciwgdGhleSBhcmUgaGFuZGxlZCBieSB0aGUgd3JhcHBlcgotICAgICAgICBzY3JpcHQuCi0gICAgICAgIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1qdm1BcmdzIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFyZ3M8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICAgU3BlY2lmaWVzIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBKVk0uICBGb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHdhbnQKLSAgICAgICAgIHRvIHNldCBhIEpWTSBwcm9wZXJ0eToKLTwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPgotPGNvZGUgY2xhc3M9InByb21wdCI+JCA8L2NvZGU+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZmluZGJ1Z3MgLXRleHR1aSAtanZtQXJncyAiLUR1c2VyLmxhbmd1YWdlPWphIiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5teUFwcC5qYXI8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+Ci08L3ByZT48cD4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1qYXZhaG9tZSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5kaXJlY3Rvcnk8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgICBTcGVjaWZpZXMgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBKUkUgKEphdmEgUnVudGltZSBFbnZpcm9ubWVudCkgdG8KLSAgICAgICAgdXNlIHRvIGV4ZWN1dGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4uCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1tYXhIZWFwIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnNpemU8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgU3BlY2lmaWVzIHRoZSBtYXhpbXVtIEphdmEgaGVhcCBzaXplIGluIG1lZ2FieXRlcy4gVGhlIGRlZmF1bHQgaXMgMjU2LgotICAgICAgTW9yZSBtZW1vcnkgbWF5IGJlIHJlcXVpcmVkIHRvIGFuYWx5emUgdmVyeSBsYXJnZSBwcm9ncmFtcyBvciBsaWJyYXJpZXMuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1kZWJ1Zzwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICBQcmludHMgYSB0cmFjZSBvZiBkZXRlY3RvcnMgcnVuIGFuZCBjbGFzc2VzIGFuYWx5emVkIHRvIHN0YW5kYXJkIG91dHB1dC4KLSAgICAgIFVzZWZ1bCBmb3IgdHJvdWJsZXNob290aW5nIHVuZXhwZWN0ZWQgYW5hbHlzaXMgZmFpbHVyZXMuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1wcm9wZXJ0eTwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bmFtZT12YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgIFRoaXMgb3B0aW9uIHNldHMgYSBzeXN0ZW0gcHJvcGVydHkuJm5ic3A7IDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHVzZXMgc3lzdGVtIHByb3BlcnRpZXMKLSAgICAgIHRvIGNvbmZpZ3VyZSBhbmFseXNpcyBvcHRpb25zLiAgU2VlIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJhbmFseXNpc3Byb3BzLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7OS4mbmJzcDtBbmFseXNpcyBQcm9wZXJ0aWVzIj5DaGFwdGVyJm5ic3A7OSwgPGk+QW5hbHlzaXMgUHJvcGVydGllczwvaT48L2E+LgotICAgICAgWW91IGNhbiB1c2UgdGhpcyBvcHRpb24gbXVsdGlwbGUgdGltZXMgaW4gb3JkZXIgdG8gc2V0IG11bHRpcGxlIHByb3BlcnRpZXMuCi0gICAgICBOb3RlOiBJbiBtb3N0IHZlcnNpb25zIG9mIFdpbmRvd3MsIHRoZSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5uYW1lPXZhbHVlPC9jb2RlPjwvZW0+Ci0gICAgICBzdHJpbmcgbXVzdCBiZSBpbiBxdW90ZXMuCi0gICAgICA8L3A+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiB0aXRsZT0iMy4mbmJzcDtDb21tYW5kLWxpbmUgT3B0aW9ucyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJjb21tYW5kTGluZU9wdGlvbnMiPjwvYT4zLiZuYnNwO0NvbW1hbmQtbGluZSBPcHRpb25zPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLSAgICBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBzdXBwb3J0ZWQgYnkgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4uCi0gICAgVGhlc2UgY29tbWFuZCBsaW5lIG9wdGlvbnMgbWF5IGJlIHVzZWQgd2hlbiBpbnZva2luZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBkaXJlY3RseSwKLSAgICBvciB3aGVuIHVzaW5nIGEgd3JhcHBlciBzY3JpcHQuCi08L3A+PGRpdiBjbGFzcz0ic2VjdDIiIHRpdGxlPSIzLjEuJm5ic3A7Q29tbW9uIGNvbW1hbmQtbGluZSBvcHRpb25zIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJkMGU3OTYiPjwvYT4zLjEuJm5ic3A7Q29tbW9uIGNvbW1hbmQtbGluZSBvcHRpb25zPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLVRoZXNlIG9wdGlvbnMgbWF5IGJlIHVzZWQgd2l0aCBib3RoIHRoZSBHVUkgYW5kIGNvbW1hbmQtbGluZSBpbnRlcmZhY2VzLgotPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWVmZm9ydDptaW48L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgICAgVGhpcyBvcHRpb24gZGlzYWJsZXMgYW5hbHlzZXMgdGhhdCBpbmNyZWFzZSBwcmVjaXNpb24gYnV0IGFsc28KLSAgICAgIGluY3JlYXNlIG1lbW9yeSBjb25zdW1wdGlvbi4gIFlvdSBtYXkgd2FudCB0byB0cnkgdGhpcyBvcHRpb24gaWYKLSAgICAgIHlvdSBmaW5kIHRoYXQgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gcnVucyBvdXQgb2YgbWVtb3J5LCBvciB0YWtlcyBhbiB1bnVzdWFsbHkKLSAgICAgIGxvbmcgdGltZSB0byBjb21wbGV0ZSBpdHMgYW5hbHlzaXMuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1lZmZvcnQ6bWF4PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgRW5hYmxlIGFuYWx5c2VzIHdoaWNoIGluY3JlYXNlIHByZWNpc2lvbiBhbmQgZmluZCBtb3JlIGJ1Z3MsIGJ1dCB3aGljaAotICAgICAgICBtYXkgcmVxdWlyZSBtb3JlIG1lbW9yeSBhbmQgdGFrZSBtb3JlIHRpbWUgdG8gY29tcGxldGUuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1wcm9qZWN0PC9zdHJvbmc+PC9zcGFuPiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5wcm9qZWN0PC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgIFNwZWNpZnkgYSBwcm9qZWN0IHRvIGJlIGFuYWx5emVkLiAgVGhlIHByb2plY3QgZmlsZSB5b3Ugc3BlY2lmeSBzaG91bGQKLSAgICBiZSBvbmUgdGhhdCB3YXMgY3JlYXRlZCB1c2luZyB0aGUgR1VJIGludGVyZmFjZS4gIEl0IHdpbGwgdHlwaWNhbGx5IGVuZAotICAgIGluIHRoZSBleHRlbnNpb24gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4uZmI8L2NvZGU+IG9yIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+LmZicDwvY29kZT4uCi0gICAgPC9wPjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjMuMi4mbmJzcDtHVUkgT3B0aW9ucyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iZDBlODM2Ij48L2E+My4yLiZuYnNwO0dVSSBPcHRpb25zPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD4KLVRoZXNlIG9wdGlvbnMgYXJlIG9ubHkgYWNjZXB0ZWQgYnkgdGhlIEdyYXBoaWNhbCBVc2VyIEludGVyZmFjZS4KLQotPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWxvb2s6PC9zdHJvbmc+PC9zcGFuPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnBsYXN0aWN8Z3RrfG5hdGl2ZTwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICAgU2V0IFN3aW5nIGxvb2sgYW5kIGZlZWwuCi0gICAgICAgPC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KLTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MiIgdGl0bGU9IjMuMy4mbmJzcDtUZXh0IFVJIE9wdGlvbnMiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImQwZTg1MiI+PC9hPjMuMy4mbmJzcDtUZXh0IFVJIE9wdGlvbnM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgotVGhlc2Ugb3B0aW9ucyBhcmUgb25seSBhY2NlcHRlZCBieSB0aGUgVGV4dCBVc2VyIEludGVyZmFjZS4KLTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1zb3J0QnlDbGFzczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgU29ydCByZXBvcnRlZCBidWcgaW5zdGFuY2VzIGJ5IGNsYXNzIG5hbWUuCi0gICAgICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4taW5jbHVkZTwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZmlsdGVyRmlsZS54bWw8L2NvZGU+PC9lbT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgT25seSByZXBvcnQgYnVnIGluc3RhbmNlcyB0aGF0IG1hdGNoIHRoZSBmaWx0ZXIgc3BlY2lmaWVkIGJ5IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZpbHRlckZpbGUueG1sPC9jb2RlPjwvZW0+LgotICAgICAgIFNlZSA8YSBjbGFzcz0ieHJlZiIgaHJlZj0iZmlsdGVyLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7OC4mbmJzcDtGaWx0ZXIgRmlsZXMiPkNoYXB0ZXImbmJzcDs4LCA8aT5GaWx0ZXIgRmlsZXM8L2k+PC9hPi4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1leGNsdWRlPC9zdHJvbmc+PC9zcGFuPiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5maWx0ZXJGaWxlLnhtbDwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBSZXBvcnQgYWxsIGJ1ZyBpbnN0YW5jZXMgZXhjZXB0IHRob3NlIG1hdGNoaW5nIHRoZSBmaWx0ZXIgc3BlY2lmaWVkIGJ5IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZpbHRlckZpbGUueG1sPC9jb2RlPjwvZW0+LgotICAgICAgIFNlZSA8YSBjbGFzcz0ieHJlZiIgaHJlZj0iZmlsdGVyLmh0bWwiIHRpdGxlPSJDaGFwdGVyJm5ic3A7OC4mbmJzcDtGaWx0ZXIgRmlsZXMiPkNoYXB0ZXImbmJzcDs4LCA8aT5GaWx0ZXIgRmlsZXM8L2k+PC9hPi4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1vbmx5QW5hbHl6ZTwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Y29tLmZvb2Jhci5NeUNsYXNzLGNvbS5mb29iYXIubXlwa2cuKjwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgIFJlc3RyaWN0IGFuYWx5c2lzIHRvIGZpbmQgYnVncyB0byBnaXZlbiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZgotICAgICAgY2xhc3NlcyBhbmQgcGFja2FnZXMuCi0gICAgICBVbmxpa2UgZmlsdGVyaW5nLCB0aGlzIG9wdGlvbiBhdm9pZHMgcnVubmluZyBhbmFseXNpcyBvbgotICAgICAgY2xhc3NlcyBhbmQgcGFja2FnZXMgdGhhdCBhcmUgbm90IGV4cGxpY2l0bHkgbWF0Y2hlZDoKLSAgICAgIGZvciBsYXJnZSBwcm9qZWN0cywgdGhpcyBtYXkgZ3JlYXRseSByZWR1Y2UgdGhlIGFtb3VudCBvZiB0aW1lCi0gICAgICBuZWVkZWQgdG8gcnVuIHRoZSBhbmFseXNpcy4gIChIb3dldmVyLCBzb21lIGRldGVjdG9ycyBtYXkgcHJvZHVjZQotICAgICAgaW5hY2N1cmF0ZSByZXN1bHRzIGlmIHRoZXkgYXJlbid0IHJ1biBvbiB0aGUgZW50aXJlIGFwcGxpY2F0aW9uLikKLSAgICAgIENsYXNzZXMgc2hvdWxkIGJlIHNwZWNpZmllZCB1c2luZyB0aGVpciBmdWxsIGNsYXNzbmFtZXMgKGluY2x1ZGluZwotICAgICAgcGFja2FnZSksIGFuZCBwYWNrYWdlcyBzaG91bGQgYmUgc3BlY2lmaWVkIGluIHRoZSBzYW1lIHdheQotICAgICAgdGhleSB3b3VsZCBpbiBhIEphdmEgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPmltcG9ydDwvY29kZT4gc3RhdGVtZW50IHRvCi0gICAgICBpbXBvcnQgYWxsIGNsYXNzZXMgaW4gdGhlIHBhY2thZ2UgKGkuZS4sIGFkZCA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+Lio8L2NvZGU+Ci0gICAgICB0byB0aGUgZnVsbCBuYW1lIG9mIHRoZSBwYWNrYWdlKS4KLSAgICAgIFJlcGxhY2UgPGNvZGUgY2xhc3M9ImxpdGVyYWwiPi4qPC9jb2RlPiB3aXRoIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj4uLTwvY29kZT4gdG8gYWxzbwotICAgICAgYW5hbHl6ZSBhbGwgc3VicGFja2FnZXMuCi0gICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1sb3c8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgIFJlcG9ydCBhbGwgYnVncy4KLSAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1tZWRpdW08L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgIFJlcG9ydCBtZWRpdW0gYW5kIGhpZ2ggcHJpb3JpdHkgYnVncy4gIFRoaXMgaXMgdGhlIGRlZmF1bHQgc2V0dGluZy4KLSAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1oaWdoPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICBSZXBvcnQgb25seSBoaWdoIHByaW9yaXR5IGJ1Z3MuCi0gICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tcmVsYXhlZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgICAgICBSZWxheGVkIHJlcG9ydGluZyBtb2RlLiAgRm9yIG1hbnkgZGV0ZWN0b3JzLCB0aGlzIG9wdGlvbgotICAgICAgICAgICAgc3VwcHJlc3NlcyB0aGUgaGV1cmlzdGljcyB1c2VkIHRvIGF2b2lkIHJlcG9ydGluZyBmYWxzZSBwb3NpdGl2ZXMuCi0gICAgICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LXhtbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgUHJvZHVjZSB0aGUgYnVnIHJlcG9ydHMgYXMgWE1MLiAgVGhlIFhNTCBkYXRhIHByb2R1Y2VkIG1heSBiZQotICAgIHZpZXdlZCBpbiB0aGUgR1VJIGF0IGEgbGF0ZXIgdGltZS4gIFlvdSBtYXkgYWxzbyBzcGVjaWZ5IHRoaXMKLSAgICBvcHRpb24gYXMgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LXhtbDp3aXRoTWVzc2FnZXM8L3N0cm9uZz48L3NwYW4+OyB3aGVuIHRoaXMgdmFyaWFudAotICAgIG9mIHRoZSBvcHRpb24gaXMgdXNlZCwgdGhlIFhNTCBvdXRwdXQgd2lsbCBjb250YWluIGh1bWFuLXJlYWRhYmxlCi0gICAgbWVzc2FnZXMgZGVzY3JpYmluZyB0aGUgd2FybmluZ3MgY29udGFpbmVkIGluIHRoZSBmaWxlLgotICAgIFhNTCBmaWxlcyBnZW5lcmF0ZWQgdGhpcyB3YXkgYXJlIGVhc3kgdG8gdHJhbnNmb3JtIGludG8gcmVwb3J0cy4KLSAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1odG1sPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICBHZW5lcmF0ZSBIVE1MIG91dHB1dC4gIEJ5IGRlZmF1bHQsIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+IHdpbGwgdXNlIHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmRlZmF1bHQueHNsPC9jb2RlPgotICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCIgdGFyZ2V0PSJfdG9wIj5YU0xUPC9hPgotICAgIHN0eWxlc2hlZXQgdG8gZ2VuZXJhdGUgdGhlIEhUTUw6IHlvdSBjYW4gZmluZCB0aGlzIGZpbGUgaW4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5maW5kYnVncy5qYXI8L2NvZGU+LAotICAgIG9yIGluIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkZpbmRCdWdzPC9zcGFuPiBzb3VyY2Ugb3IgYmluYXJ5IGRpc3RyaWJ1dGlvbnMuICBWYXJpYW50cyBvZiB0aGlzIG9wdGlvbiBpbmNsdWRlCi0gICAgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWh0bWw6cGxhaW4ueHNsPC9zdHJvbmc+PC9zcGFuPiwgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWh0bWw6ZmFuY3kueHNsPC9zdHJvbmc+PC9zcGFuPiBhbmQgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWh0bWw6ZmFuY3ktaGlzdC54c2w8L3N0cm9uZz48L3NwYW4+LgotICAgIFRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPnBsYWluLnhzbDwvY29kZT4gc3R5bGVzaGVldCBkb2VzIG5vdCB1c2UgSmF2YXNjcmlwdCBvciBET00sCi0gICAgYW5kIG1heSB3b3JrIGJldHRlciB3aXRoIG9sZGVyIHdlYiBicm93c2Vycywgb3IgZm9yIHByaW50aW5nLiAgVGhlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+ZmFuY3kueHNsPC9jb2RlPgotICAgIHN0eWxlc2hlZXQgdXNlcyBET00gYW5kIEphdmFzY3JpcHQgZm9yIG5hdmlnYXRpb24gYW5kIENTUyBmb3IKLSAgICB2aXN1YWwgcHJlc2VudGF0aW9uLiBUaGUgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZmFuY3ktaGlzdC54c2w8L3N0cm9uZz48L3NwYW4+IGFuIGV2b2x1dGlvbiBvZiA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5mYW5jeS54c2w8L3N0cm9uZz48L3NwYW4+IHN0eWxlc2hlZXQuCi0gICAgSXQgbWFrZXMgYW4gZXh0ZW5zaXZlIHVzZSBvZiBET00gYW5kIEphdmFzY3JpcHQgZm9yIGR5bmFtaWNhbGx5IGZpbHRlcmluZyB0aGUgbGlzdHMgb2YgYnVncy4KLSAgICA8L3A+PHA+Ci0gICAgICBJZiB5b3Ugd2FudCB0byBzcGVjaWZ5IHlvdXIgb3duCi0gICAgWFNMVCBzdHlsZXNoZWV0IHRvIHBlcmZvcm0gdGhlIHRyYW5zZm9ybWF0aW9uIHRvIEhUTUwsIHNwZWNpZnkgdGhlIG9wdGlvbiBhcwotICAgIDxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1odG1sOjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm15U3R5bGVzaGVldC54c2w8L2NvZGU+PC9lbT48L3N0cm9uZz48L3NwYW4+LAotICAgIHdoZXJlIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm15U3R5bGVzaGVldC54c2w8L2NvZGU+PC9lbT4gaXMgdGhlIGZpbGVuYW1lIG9mIHRoZQotICAgIHN0eWxlc2hlZXQgeW91IHdhbnQgdG8gdXNlLgotICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWVtYWNzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICBQcm9kdWNlIHRoZSBidWcgcmVwb3J0cyBpbiBFbWFjcyBmb3JtYXQuCi0gICAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4teGRvY3M8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgIFByb2R1Y2UgdGhlIGJ1ZyByZXBvcnRzIGluIHhkb2MgWE1MIGZvcm1hdCBmb3IgdXNlIHdpdGggQXBhY2hlIE1hdmVuLgotICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LW91dHB1dDwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZmlsZW5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PC9kdD48ZGQ+PHA+Ci0gICAgICAgUHJvZHVjZSB0aGUgb3V0cHV0IGluIHRoZSBzcGVjaWZpZWQgZmlsZS4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1vdXRwdXRGaWxlPC9zdHJvbmc+PC9zcGFuPiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5maWxlbmFtZTwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICAgICBUaGlzIGFyZ3VtZW50IGlzIGRlcHJlY2F0ZWQuICBVc2UgPHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LW91dHB1dDwvc3Ryb25nPjwvc3Bhbj4gaW5zdGVhZC4KLSAgICAgICA8L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi1uZXN0ZWQ8L3N0cm9uZz48L3NwYW4+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Wzp0cnVlfGZhbHNlXTwvY29kZT48L2VtPjwvc3Bhbj48L2R0PjxkZD48cD4KLSAgICBUaGlzIG9wdGlvbiBlbmFibGVzIG9yIGRpc2FibGVzIHNjYW5uaW5nIG9mIG5lc3RlZCBqYXIgYW5kIHppcCBmaWxlcyBmb3VuZCBpbgotICAgIHRoZSBsaXN0IG9mIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0byBiZSBhbmFseXplZC4KLSAgICBCeSBkZWZhdWx0LCBzY2FubmluZyBvZiBuZXN0ZWQgamFyL3ppcCBmaWxlcyBpcyBlbmFibGVkLgotICAgIFRvIGRpc2FibGUgaXQsIGFkZCA8c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4tbmVzdGVkOmZhbHNlPC9zdHJvbmc+PC9zcGFuPiB0byB0aGUgY29tbWFuZCBsaW5lCi0gICAgYXJndW1lbnRzLgotICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LWF1eGNsYXNzcGF0aDwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Y2xhc3NwYXRoPC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgIFNldCB0aGUgYXV4aWxpYXJ5IGNsYXNzcGF0aCBmb3IgYW5hbHlzaXMuICBUaGlzIGNsYXNzcGF0aCBzaG91bGQgaW5jbHVkZSBhbGwKLSAgICBqYXIgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgY2xhc3NlcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBwcm9ncmFtCi0gICAgYmVpbmcgYW5hbHl6ZWQgYnV0IHlvdSBkbyBub3Qgd2FudCB0byBoYXZlIGFuYWx5emVkIGZvciBidWdzLgotICAgIDwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+LXVzZXJQcmVmczwvc3Ryb25nPjwvc3Bhbj4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZWR1LnVtZC5jcy5maW5kYnVncy5jb3JlLnByZWZzPC9jb2RlPjwvZW0+PC9zcGFuPjwvZHQ+PGRkPjxwPgotICAgIFNldCB0aGUgcGF0aCBvZiB0aGUgdXNlciBwcmVmZXJlbmNlcyBmaWxlIHRvIHVzZSwgd2hpY2ggbWlnaHQgb3ZlcnJpZGUgc29tZSBvZiB0aGUgb3B0aW9ucyBhYm9iZS4KLSAgICBTcGVjaWZ5aW5nIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj51c2VyUHJlZnM8L2NvZGU+IGFzIGZpcnN0IGFyZ3VtZW50IHdvdWxkIG1lYW4gc29tZSBsYXRlcgotICAgIG9wdGlvbnMgd2lsbCBvdmVycmlkZSB0aGVtLCBhcyBsYXN0IGFyZ3VtZW50IHdvdWxkIG1lYW4gdGhleSB3aWxsIG92ZXJyaWRlIHNvbWUgcHJldmlvdXMgb3B0aW9ucykuCi0gICAgVGhpcyByYXRpb25hbGUgYmVoaW5kIHRoaXMgb3B0aW9uIGlzIHRvIHJldXNlIEZpbmRCdWdzIEVjbGlwc2UgcHJvamVjdCBzZXR0aW5ncyBmb3IgY29tbWFuZAotICAgIGxpbmUgZXhlY3V0aW9uLgotICAgIDwvcD48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJidWlsZGluZy5odG1sIj5QcmV2PC9hPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+Jm5ic3A7PGEgYWNjZXNza2V5PSJuIiBocmVmPSJndWkuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPkNoYXB0ZXImbmJzcDszLiZuYnNwO0J1aWxkaW5nIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+RmluZEJ1Z3M8L3NwYW4+JiM4NDgyOyBmcm9tIFNvdXJjZSZuYnNwOzwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj4mbmJzcDtDaGFwdGVyJm5ic3A7NS4mbmJzcDtVc2luZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5GaW5kQnVnczwvc3Bhbj4gR1VJPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL3dhcm5pbmcucG5nIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbC93YXJuaW5nLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWMzM2RiOC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsL3dhcm5pbmcucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL21hbnVhbF9qYS54bWwgYi90b29scy9maW5kYnVncy9kb2MvbWFudWFsX2phLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTY2YjZiNC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvbWFudWFsX2phLnhtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4MDYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBib29rIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4yLy9FTiIgImh0dHA6Ly9maW5kYnVncy5nb29nbGVjb2RlLmNvbS9zdm4vdHJ1bmsvZmluZGJ1Z3MvZXRjL2RvY2Jvb2svZG9jYm9va3guZHRkIgotWwotPCFFTlRJVFkgRmluZEJ1Z3MgIjxhcHBsaWNhdGlvbj5GaW5kQnVnczwvYXBwbGljYXRpb24+Ij4KLTwhRU5USVRZIEFudCAiPGFwcGxpY2F0aW9uPkFudDwvYXBwbGljYXRpb24+Ij4KLTwhRU5USVRZIFNheG9uICI8YXBwbGljYXRpb24+U2F4b248L2FwcGxpY2F0aW9uPiI+Ci08IUVOVElUWSBGQkhvbWUgIjxyZXBsYWNlYWJsZT4kRklOREJVR1NfSE9NRTwvcmVwbGFjZWFibGU+Ij4KLTwhRU5USVRZIEZCSG9tZVdpbiAiPHJlcGxhY2VhYmxlPiYjeDI1O0ZJTkRCVUdTX0hPTUUmI3gyNTs8L3JlcGxhY2VhYmxlPiI+Ci08IUVOVElUWSBuYnNwICImIzE2MDsiPgotXT4KLTxib29rIGxhbmc9ImphIiBpZD0iZmluZGJ1Z3MtbWFudWFsIj4KLQotPGJvb2tpbmZvPgotPHRpdGxlPiZGaW5kQnVnczsmdHJhZGU7IOODnuODi+ODpeOCouODqzwvdGl0bGU+Ci0KLTxhdXRob3Jncm91cD4KLSAgPGF1dGhvcj4KLSAgICA8Zmlyc3RuYW1lPkRhdmlkPC9maXJzdG5hbWU+Ci0gICAgPG90aGVybmFtZT5ILjwvb3RoZXJuYW1lPgotICAgIDxzdXJuYW1lPkhvdmVtZXllcjwvc3VybmFtZT4KLSAgPC9hdXRob3I+Ci0gICAgPGF1dGhvcj4KLSAgICAgICAgPGZpcnN0bmFtZT5XaWxsaWFtPC9maXJzdG5hbWU+Ci0gICAgICAgIDxvdGhlcm5hbWU+Vy48L290aGVybmFtZT4KLSAgICAgICAgPHN1cm5hbWU+UHVnaDwvc3VybmFtZT4KLSAgICA8L2F1dGhvcj4KLTwvYXV0aG9yZ3JvdXA+Ci0KLTxjb3B5cmlnaHQ+Ci0gIDx5ZWFyPjIwMDM8L3llYXI+Ci0gIDx5ZWFyPjIwMDQ8L3llYXI+Ci0gIDx5ZWFyPjIwMDU8L3llYXI+Ci0gIDx5ZWFyPjIwMDY8L3llYXI+Ci0gIDx5ZWFyPjIwMDg8L3llYXI+Ci0gIDxob2xkZXI+VW5pdmVyc2l0eSBvZiBNYXJ5bGFuZDwvaG9sZGVyPgotPC9jb3B5cmlnaHQ+Ci0KLTxsZWdhbG5vdGljZT4KLTxwYXJhPuOBk+OBruODnuODi+ODpeOCouODq+OBr+OAgeOCr+ODquOCqOOCpOODhuOCo+ODluODu+OCs+ODouODs+OCuuihqOekui3pnZ7llrbliKkt57aZ5om/44Gr5Z+644Gl44GP5L2/55So6Kix6Ku+44GM44Gq44GV44KM44Gm44GE44G+44GZ44CC5L2/55So6Kix6Ku+5pu444KS44GU6Kan44Gr44Gq44KL5aC05ZCI44Gv44CBIDx1bGluayB1cmw9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzEuMC9kZWVkLmphIj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy1zYS8xLjAvPC91bGluaz4g44Gr44Ki44Kv44K744K544GZ44KL44GL44CB44Kv44Oq44Ko44Kk44OG44Kj44OW44O744Kz44Oi44Oz44K6KDU1OSBOYXRoYW4gQWJib3R0IFdheSwgU3RhbmZvcmQsIENhbGlmb3JuaWEgOTQzMDUsIFVTQSnjgavmm7jnsKHjgpLpgIHku5jjgZfjgabjgY/jgaDjgZXjgYTjgII8L3BhcmE+Ci08cGFyYT7lkI3np7DjgIxGaW5kQnVnc+OAjeOBiuOCiOOBsyBGaW5kQnVncyDjga7jg63jgrTjga/jgIHjg6Hjg6rjg7zjg6njg7Pjg4nlpKflrabjga7nmbvpjLLllYbmqJnjgafjgZnjgII8L3BhcmE+Ci08L2xlZ2Fsbm90aWNlPgotCi08ZWRpdGlvbj4yLjAuMzwvZWRpdGlvbj4KLQotPHB1YmRhdGU+MTc6MTY6MTUgRVNULCAyMiBOb3ZlbWJlciwgMjAxMzwvcHViZGF0ZT4KLQotPC9ib29raW5mbz4KLQotPCEtLQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgIEludHJvZHVjdGlvbgotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS0tPgotCi08Y2hhcHRlciBpZD0iaW50cm9kdWN0aW9uIj4KLTx0aXRsZT7jga/jgZjjgoHjgas8L3RpdGxlPgotCi08cGFyYT4mRmluZEJ1Z3M7JnRyYWRlOyDjga/jgIFKYXZhIOODl+ODreOCsOODqeODoOOBruS4reOBruODkOOCsOOCkuimi+OBpOOBkeOCi+ODl+ODreOCsOODqeODoOOBp+OBmeOAguOBk+OBruODl+ODreOCsOODqeODoOOBr+OAgeOAjOODkOOCsCDjg5Hjgr/jg7zjg7PjgI3jga7lrp/kvovjgpLmjqLjgZfjgb7jgZnjgILjgIzjg5DjgrAg44OR44K/44O844Oz44CN44Go44Gv44CB44Ko44Op44O844Go44Gq44KL5Y+v6IO95oCn44Gu6auY44GE44Kz44O844OJ44Gu5LqL5L6L44Gn44GZ44CCPC9wYXJhPgotCi08cGFyYT7jgZPjga7mlofmm7jjga/jgIEmRmluZEJ1Z3M7IOODkOODvOOCuOODp+ODsyAyLjAuMyDjgavjgaTjgYTjgaboqqzmmI7jgZfjgabjgb7jgZnjgILnp4HjgZ/jgaHjga/jgIEgJkZpbmRCdWdzOyDjgavlr77jgZnjgovjg5XjgqPjg7zjg4njg5Djg4Pjgq/jgpLlv4PlvoXjgaHjgavjgZfjgabjgYTjgb7jgZnjgILjganjgYbjgZ7jgIEgPHVsaW5rIHVybD0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldCI+JkZpbmRCdWdzOyBXZWIg44Oa44O844K4PC91bGluaz4g44Gr44Ki44Kv44K744K544GX44Gm44GP44Gg44GV44GE44CCJkZpbmRCdWdzOyDjgavjgaTjgYTjgabjga7mnIDmlrDmg4XloLHjgIHpgKPntaHlhYjjgYrjgojjgbMgJkZpbmRCdWdzOyDjg6Hjg7zjg6rjg7PjgrDjg6rjgrnjg4jjgarjganjga7jgrXjg53jg7zjg4jmg4XloLHjgpLlhaXmiYvjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0KLTxzZWN0MT4KLTx0aXRsZT7lv4XopoHmnaHku7Y8L3RpdGxlPgotPHBhcmE+JkZpbmRCdWdzOyDjgpLkvb/nlKjjgZnjgovjgavjga/jgIEgPHVsaW5rIHVybD0iaHR0cDovL2phdmEuc3VuLmNvbS9qMnNlIj5KYXZhIDIgU3RhbmRhcmQgRWRpdGlvbjwvdWxpbms+LCDjg5Djg7zjgrjjg6fjg7MgMS41IOS7pemZjeOBruODkOODvOOCuOODp+ODs+OBqOS6kuaPm+aAp+OBruOBguOCi+ODqeODs+OCv+OCpOODoOeSsOWig+OBjOW/heimgeOBp+OBmeOAgiZGaW5kQnVnczsg44Gv44CB44OX44Op44OD44OI44OV44Kp44O844Og6Z2e5L6d5a2Y44Gn44GC44KK44CBIEdOVS9MaW51eCDjgIEgV2luZG93cyDjgIEgTWFjT1MgWCDjg5fjg6njg4Pjg4jjg5Xjgqnjg7zjg6DkuIrjgafli5XkvZzjgZnjgovjgZPjgajjgYznn6XjgonjgozjgabjgYTjgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPiZGaW5kQnVnczsg44KS5L2/55So44GZ44KL44Gf44KB44Gr44Gv44CB5bCR44Gq44GP44Go44KCIDUxMiBNQiDjga7jg6Hjg6Ljg6rjgYzlv4XopoHjgafjgZnjgILlt6jlpKfjgarjg5fjg63jgrjjgqfjgq/jg4jjgpLop6PmnpDjgZnjgovjgZ/jgoHjgavjga/jgIHjgZ3jgozjgojjgorlpJrjgY/jga7jg6Hjg6Ljg6rjgYzlv4XopoHjgajjgZXjgozjgovjgZPjgajjgYzjgYLjgorjgb7jgZnjgII8L3BhcmE+Ci08L3NlY3QxPgotCi08L2NoYXB0ZXI+Ci0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBJbnN0YWxsaW5nIEZpbmRCdWdzCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJpbnN0YWxsaW5nIj4KLTx0aXRsZT4mRmluZEJ1Z3M7JnRyYWRlOyDjga7jgqTjg7Pjgrnjg4jjg7zjg6s8L3RpdGxlPgotCi08cGFyYT7jgZPjga7nq6Djgafjga/jgIEgJkZpbmRCdWdzOyDjga7jgqTjg7Pjgrnjg4jjg7zjg6vmlrnms5XjgpLoqqzmmI7jgZfjgb7jgZnjgII8L3BhcmE+Ci0KLTxzZWN0MT4KLTx0aXRsZT7phY3luIPnianjga7lsZXplos8L3RpdGxlPgotCi08cGFyYT4mRmluZEJ1Z3M7IOOCkuOCpOODs+OCueODiOODvOODq+OBmeOCi+acgOOCguewoeWNmOOBquaWueazleOBr+OAgeODkOOCpOODiuODqumFjeW4g+eJqeOCkuODgOOCpuODs+ODreODvOODieOBmeOCi+OBk+OBqOOBp+OBmeOAgiDjg5DjgqTjg4rjg6rphY3luIPnianjga/jgIEgPHVsaW5rIHVybD0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9maW5kYnVncy0yLjAuMy50YXIuZ3o/ZG93bmxvYWQiPmd6aXBwZWQgdGFyIOW9ouW8jzwvdWxpbms+IOOBiuOCiOOBsyA8dWxpbmsgdXJsPSJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2ZpbmRidWdzL2ZpbmRidWdzLTIuMC4zLnppcD9kb3dubG9hZCI+emlwIOW9ouW8jzwvdWxpbms+IOOBjOOBneOCjOOBnuOCjOWFpeaJi+WPr+iDveOBp+OBmeOAguODkOOCpOODiuODqumFjeW4g+eJqeOCkuODgOOCpuODs+ODreODvOODieOBl+OBpuOBjeOBn+OCieOAgeOBneOCjOOCkuS7u+aEj+OBruODh+OCo+ODrOOCr+ODiOODquODvOOBq+WxlemWi+OBl+OBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+Z3ppcHBlZCB0YXIg5b2i5byP6YWN5biD54mp44Gu5bGV6ZaL5pa55rOV5L6LOjxzY3JlZW4+Ci08cHJvbXB0PiQgPC9wcm9tcHQ+PGNvbW1hbmQ+Z3VuemlwIC1jIGZpbmRidWdzLTIuMC4zLnRhci5neiB8IHRhciB4dmYgLTwvY29tbWFuZD4KLTwvc2NyZWVuPgotPC9wYXJhPgotCi08cGFyYT56aXAg5b2i5byP6YWN5biD54mp44Gu5bGV6ZaL5pa55rOV5L6LOjxzY3JlZW4+Ci08cHJvbXB0PkM6XFNvZnR3YXJlJmd0OzwvcHJvbXB0Pjxjb21tYW5kPnVuemlwIGZpbmRidWdzLTIuMC4zLnppcDwvY29tbWFuZD4KLTwvc2NyZWVuPgotPC9wYXJhPgotCi08cGFyYT7jg5DjgqTjg4rjg6rphY3luIPnianjga7lsZXplovjgZnjgovjgajjgIHpgJrluLjjga8gPGZpbGVuYW1lIGNsYXNzPSJkaXJlY3RvcnkiPmZpbmRidWdzLTIuMC4zPC9maWxlbmFtZT4g44OH44Kj44Os44Kv44OI44Oq44O844GM5L2c5oiQ44GV44KM44G+44GZ44CC5L6L44GI44Gw44CB44OH44Kj44Os44Kv44OI44Oq44O8IDxmaWxlbmFtZSBjbGFzcz0iZGlyZWN0b3J5Ij5DOlxTb2Z0d2FyZTwvZmlsZW5hbWU+IOOBp+ODkOOCpOODiuODqumFjeW4g+eJqeOCkuWxlemWi+OBmeOCi+OBqOOAgeODh+OCo+ODrOOCr+ODiOODquODvCA8ZmlsZW5hbWUgY2xhc3M9ImRpcmVjdG9yeSI+QzpcU29mdHdhcmVcZmluZGJ1Z3MtMi4wLjM8L2ZpbGVuYW1lPiDjgasgJkZpbmRCdWdzOyDjga/lsZXplovjgZXjgozjgb7jgZnjgILjgZPjga7jg4fjgqPjg6zjgq/jg4jjg6rjg7zjgYwgJkZpbmRCdWdzOyDjga7jg5vjg7zjg6Djg4fjgqPjg6zjgq/jg4jjg6rjg7zjgavjgarjgorjgb7jgZnjgILjgZPjga7jg57jg4vjg6XjgqLjg6vjgafjga/jgIHjgZPjga7jg5vjg7zjg6Djg4fjgqPjg6zjgq/jg4jjg6rjg7zjgpIgJkZCSG9tZTsgKFdpbmRvd3Pjgafjga8gJkZCSG9tZVdpbjspIOOCkueUqOOBhOOBpuWPgueFp+OBl+OBvuOBmeOAgjwvcGFyYT4KLTwvc2VjdDE+Ci0KLTwvY2hhcHRlcj4KLQotPCEtLQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgIENvbXBpbGluZyBGaW5kQnVncyBmcm9tIFNvdXJjZQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS0tPgotCi08Y2hhcHRlciBpZD0iYnVpbGRpbmciPgotPHRpdGxlPiZGaW5kQnVnczsmdHJhZGU7IOOBruOCveODvOODq+OBi+OCieOBruODk+ODq+ODiTwvdGl0bGU+Ci0KLTxwYXJhPuOBk+OBrueroOOBp+OBr+OAgSAmRmluZEJ1Z3M7IOOCkuOCveODvOOCueOCs+ODvOODieOBi+OCieODk+ODq+ODieOBmeOCi+aWueazleOCkuiqrOaYjuOBl+OBvuOBmeOAgiZGaW5kQnVnczsg44KS5L+u5q2j44GZ44KL44GT44Go44Gr6IiI5ZGz44GM44Gq44GE44Gu44Gn44GC44KM44Gw44CBIDxsaW5rIGxpbmtlbmQ9InJ1bm5pbmciPuasoeOBrueroDwvbGluaz4g44Gr6YCy44KT44Gn44GP44Gg44GV44GE44CCPC9wYXJhPgotCi08c2VjdDE+Ci08dGl0bGU+5YmN5o+Q5p2h5Lu2PC90aXRsZT4KLQotPHBhcmE+44K944O844K544GL44KJICZGaW5kQnVnczsg44KS44Kz44Oz44OR44Kk44Or44GZ44KL44Gf44KB44Gr44Gv44CB5Lul5LiL44Gu44KC44Gu44GM5b+F6KaB44Gn44GZ44CCPGl0ZW1pemVkbGlzdD4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPjx1bGluayB1cmw9Imh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvZmluZGJ1Z3MvZmluZGJ1Z3MtMi4wLjMtc291cmNlLnppcD9kb3dubG9hZCI+JkZpbmRCdWdzOyDjga7jgr3jg7zjgrnphY3luIPniak8L3VsaW5rPgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgICAgPHVsaW5rIHVybD0iaHR0cDovL2phdmEuc3VuLmNvbS9qMnNlLyI+SkRLIDEuNS4wIOODmeODvOOCvyDjgb7jgZ/jga/jgZ3jgozku6XpmY08L3VsaW5rPgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgICAgPHVsaW5rIHVybD0iaHR0cDovL2FudC5hcGFjaGUub3JnLyI+QXBhY2hlICZBbnQ7PC91bGluaz4sIOODkOODvOOCuOODp+ODsyAxLjYuMyDjgb7jgZ/jga/jgZ3jgozku6XpmY08L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci08L2l0ZW1pemVkbGlzdD4KLTwvcGFyYT4KLQotPHdhcm5pbmc+Ci0gICAgPHBhcmE+UmVkaGF0IExpbnV4IOOCt+OCueODhuODoOOBriA8ZmlsZW5hbWU+L3Vzci9iaW4vYW50PC9maWxlbmFtZT4g44Gr5ZCM5qKx44GV44KM44Gm44GE44KLICZBbnQ7IOOBruODkOODvOOCuOODp+ODs+OBp+OBr+OAgSAmRmluZEJ1Z3M7IOOBruOCs+ODs+ODkeOCpOODq+OBrzxlbXBoYXNpcz7jgYbjgb7jgY/jgafjgY3jgb7jgZvjgpM8L2VtcGhhc2lzPuOAgjx1bGluayB1cmw9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy8iPiZBbnQ7IHdlYiDjgrXjgqTjg4g8L3VsaW5rPuOBi+OCieODkOOCpOODiuODqumFjeW4g+eJqeOCkuODgOOCpuODs+ODreODvOODieOBl+OBpuOCpOODs+OCueODiOODvOODq+OBmeOCi+OBk+OBqOOCkuaOqOWlqOOBl+OBvuOBmeOAgiZBbnQ7IOOCkuWun+ihjOOBmeOCi+WgtOWQiOOBr+OAgSDnkrDlooPlpInmlbAgPHJlcGxhY2VhYmxlPkpBVkFfSE9NRTwvcmVwbGFjZWFibGU+IOOBjCAgSkRLIDEuNSAo44G+44Gf44Gv44Gd44KM5Lul6ZmNKeOCkuOCpOODs+OCueODiOODvOODq+OBl+OBn+ODh+OCo+ODrOOCr+ODiOODquODvOOCkuaMh+OBl+OBpuOBhOOCi+OBk+OBqOOCkueiuuiqjeOBl+OBpuOBj+OBoOOBleOBhOOAgjwvcGFyYT4KLTwvd2FybmluZz4KLQotPHBhcmE+5L2T6KOB44Gu5pW044Gj44GfICZGaW5kQnVnczsg44Gu44OJ44Kt44Ol44Oh44Oz44OI44KS55Sf5oiQ44GX44Gf44GE5aC05ZCI44Gv44CB5Lul5LiL44Gu44K944OV44OI44Km44Kn44Ki44KC5b+F6KaB44Go44Gq44KK44G+44GZOjxpdGVtaXplZGxpc3Q+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT48dWxpbmsgdXJsPSJodHRwOi8vZG9jYm9vay5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMveHNsL2luZGV4Lmh0bWwiPkRvY0Jvb2sgWFNMIOOCueOCv+OCpOODq+OCt+ODvOODiDwvdWxpbms+44CCJkZpbmRCdWdzOyDjga7jg57jg4vjg6XjgqLjg6vjgpIgSFRNTCDjgavlpInmj5vjgZnjgovjga7jgavlv4XopoHjgafjgZnjgII8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT48dWxpbmsgdXJsPSJodHRwOi8vc2F4b24uc291cmNlZm9yZ2UubmV0LyI+JlNheG9uOyBYU0xUIOODl+ODreOCu+ODg+OCteODvDwvdWxpbms+44CCKOWQjOanmOOBq+OAgSAmRmluZEJ1Z3M7IOOBruODnuODi+ODpeOCouODq+OCkiBIVE1MIOOBq+WkieaPm+OBmeOCi+OBruOBq+W/heimgeOBp+OBmeOAgik8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci08IS0tCi0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4KLSAgICA8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0tLT4KLTwvaXRlbWl6ZWRsaXN0PgotPC9wYXJhPgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+44K944O844K56YWN5biD54mp44Gu5bGV6ZaLPC90aXRsZT4KLTxwYXJhPuOCveODvOOCuemFjeW4g+eJqeOCkuODgOOCpuODs+ODreODvOODieOBl+OBn+W+jOOBq+OAgeOBneOCjOOCkuS9nOalreeUqOODh+OCo+ODrOOCr+ODiOODquODvOOBq+WxlemWi+OBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmeOAgumAmuW4uOOBr+OAgeasoeOBruOCiOOBhuOBquOCs+ODnuODs+ODieOBp+WxlemWi+OCkuihjOOBhOOBvuOBmTo8c2NyZWVuPgotPHByb21wdD4kIDwvcHJvbXB0Pjxjb21tYW5kPnVuemlwIGZpbmRidWdzLTIuMC4zLXNvdXJjZS56aXA8L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLQotPC9wYXJhPgotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPjxmaWxlbmFtZT5sb2NhbC5wcm9wZXJ0aWVzPC9maWxlbmFtZT4g44Gu5L+u5q2jPC90aXRsZT4KLTxwYXJhPkZpbmRCdWdzIOOBruODieOCreODpeODoeODs+ODiOOCkuODk+ODq+ODieOBmeOCi+OBn+OCgeOBq+OBr+OAgSA8ZmlsZW5hbWU+bG9jYWwucHJvcGVydGllczwvZmlsZW5hbWU+IOODleOCoeOCpOODq+OCkuS/ruato+OBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmeOAguOBk+OBruODleOCoeOCpOODq+OBr+OAgSAmRmluZEJ1Z3M7IOOCkuODk+ODq+ODieOBmeOCi+mam+OBqyA8dWxpbmsgdXJsPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIj4mQW50OzwvdWxpbms+IDxmaWxlbmFtZT5idWlsZC54bWw8L2ZpbGVuYW1lPiDjg5XjgqHjgqTjg6vjgYzlj4LnhafjgZfjgb7jgZnjgIJGaW5kQnVncyDjga7jg4njgq3jg6Xjg6Hjg7Pjg4jjgpLjg5Pjg6vjg4njgZfjgarjgYTloLTlkIjjga/jgIHjgZPjga7jg5XjgqHjgqTjg6vjga/nhKHoppbjgZfjgabjgoLjgYvjgb7jgYTjgb7jgZvjgpPjgII8L3BhcmE+Ci0KLTxwYXJhPjxmaWxlbmFtZT5sb2NhbC5wcm9wZXJ0aWVzPC9maWxlbmFtZT4g44Gn44Gu5a6a576p44Gv44CBIDxmaWxlbmFtZT5idWlsZC5wcm9wZXJ0aWVzPC9maWxlbmFtZT4g44OV44Kh44Kk44Or44Gn44Gu5a6a576p44Gr5YSq5YWI44GX44G+44GZ44CCPGZpbGVuYW1lPmJ1aWxkLnByb3BlcnRpZXM8L2ZpbGVuYW1lPiDjga/mrKHjga7jgojjgYbjgarlhoXlrrnjgafjgZk6PHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi0jIFVzZXIgQ29uZmlndXJhdGlvbjoKLSMgVGhpcyBzZWN0aW9uIG11c3QgYmUgbW9kaWZpZWQgdG8gcmVmbGVjdCB5b3VyIHN5c3RlbS4KLQotbG9jYWwuc29mdHdhcmUuaG9tZSAgICAgPS9leHBvcnQvaG9tZS9kYXZlaG8vbGludXgKLQotIyBTZXQgdGhpcyB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIERvY0Jvb2sgTW9kdWxhciBYU0wgU3R5bGVzaGVldHMKLSMgIGZyb20gaHR0cDovL2RvY2Jvb2suc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3hzbC8KLQoteHNsLnN0eWxlc2hlZXQuaG9tZSAgICAgPSR7bG9jYWwuc29mdHdhcmUuaG9tZX0vZG9jYm9vay9kb2Nib29rLXhzbC0xLjcxLjEKLQotIyBTZXQgdGhpcyB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIFNheG9uIChodHRwOi8vc2F4b24uc291cmNlZm9yZ2UubmV0LykKLSMgaXMgaW5zdGFsbGVkLgotCi1zYXhvbi5ob21lICAgICAgICAgICAgICA9JHtsb2NhbC5zb2Z0d2FyZS5ob21lfS9qYXZhL3NheG9uLTYuNS41Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLTxwYXJhPjx2YXJuYW1lPnhzbC5zdHlsZXNoZWV0LmhvbWU8L3Zhcm5hbWU+IOODl+ODreODkeODhuOCo+ODvOOBq+OBr+OAgTx1bGluayB1cmw9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy94c2wvIj5Eb2NCb29rIE1vZHVsYXIgWFNMIOOCueOCv+OCpOODq+OCt+ODvOODiDwvdWxpbms+44GM44Kk44Oz44K544OI44O844Or44GX44Gm44GC44KL44OH44Kj44Os44Kv44OI44Oq44O844Gu57W25a++44OR44K544KS5oyH5a6a44GX44G+44GZ44CCJkZpbmRCdWdzOyDjg4njgq3jg6Xjg6Hjg7Pjg4jjgpLnlJ/miJDjgZfjgojjgYbjgajogIPjgYjjgabjgYTjgovloLTlkIjjgavjga7jgb/jgIHjgZPjga7jg5fjg63jg5Hjg4bjgqPjg7zjgpLmjIflrprjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPjx2YXJuYW1lPnNheG9uLmhvbWU8L3Zhcm5hbWU+IOODl+ODreODkeODhuOCo+ODvOOBq+OBr+OAgTx1bGluayB1cmw9Imh0dHA6Ly9zYXhvbi5zb3VyY2Vmb3JnZS5uZXQvIj4mU2F4b247IFhTTFQg44OX44Ot44K744OD44K144O8PC91bGluaz7jgYzjgqTjg7Pjgrnjg4jjg7zjg6vjgZfjgabjgYLjgovjg4fjgqPjg6zjgq/jg4jjg6rjg7zjga7ntbblr77jg5HjgrnjgpLmjIflrprjgZfjgb7jgZnjgIImRmluZEJ1Z3M7IOODieOCreODpeODoeODs+ODiOOCkueUn+aIkOOBl+OCiOOBhuOBqOiAg+OBiOOBpuOBhOOCi+WgtOWQiOOBq+OBruOBv+OAgeOBk+OBruODl+ODreODkeODhuOCo+ODvOOCkuaMh+WumuOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmeOAgjwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPiZBbnQ7IOOBruWun+ihjDwvdGl0bGU+Ci0KLTxwYXJhPuOCveODvOOCuemFjeW4g+eJqeOBruWxlemWi+OAgSAmQW50OyDjga7jgqTjg7Pjgrnjg4jjg7zjg6vjgIE8ZmlsZW5hbWU+YnVpbGQucHJvcGVydGllczwvZmlsZW5hbWU+KDxmaWxlbmFtZT5sb2NhbC5wcm9wZXJ0aWVzPC9maWxlbmFtZT4pIOOBruS/ruatoyAo44GT44KM44Gv5Lu75oSPKSDjgYrjgojjgbPjg4Tjg7zjg6sgKCZTYXhvbjsg44Gq44GpKeOBrueSsOWig+ani+evieOBjOOBp+OBjeOCjOOBsOOAgSAmRmluZEJ1Z3M7IOOCkuODk+ODq+ODieOBmeOCi+OBn+OCgeOBrua6luWCmeOBr+WujOS6huOBp+OBmeOAgiZBbnQ7IOOBrui1t+WLleOBmeOCi+aWueazleOBr+OAgeWNmOOBq+OCs+ODnuODs+ODieOCkuWun+ihjOOBmeOCi+OBoOOBkeOBp+OBmeOAgjxzY3JlZW4+Ci08cHJvbXB0PiQgPC9wcm9tcHQ+PGNvbW1hbmQ+YW50IDxyZXBsYWNlYWJsZT50YXJnZXQ8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD4KLTwvc2NyZWVuPjxyZXBsYWNlYWJsZT50YXJnZXQ8L3JlcGxhY2VhYmxlPiDjgavjga/ku6XkuIvjga7jgYTjgZrjgozjgYvjgpLmjIflrprjgZfjgb7jgZk6IDx2YXJpYWJsZWxpc3Q+IDx2YXJsaXN0ZW50cnk+IDx0ZXJtPjxjb21tYW5kPmJ1aWxkPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+44GT44Gu44K/44O844Ky44OD44OI44Gv44CBICZGaW5kQnVnczsg44Gu44Kz44O844OJ44KS44Kz44Oz44OR44Kk44Or44GX44G+44GZ44CC44GT44KM44Gv44CB44OH44OV44Kp44Or44OI44Gu44K/44O844Ky44OD44OI44Gn44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZG9jczwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPuOBk+OBruOCv+ODvOOCsuODg+ODiOOBr+OAgeODieOCreODpeODoeODs+ODiOOBruaVtOW9ouOCkuihjOOBhOOBvuOBmSjjgb7jgZ/jgIHlia/kvZznlKjjgajjgZfjgabjgYTjgY/jgaTjgYvjga7jgr3jg7zjgrnjga7jgrPjg7Pjg5HjgqTjg6vjgoLooYzjgYTjgb7jgZnjgIIpPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+cnVuanVuaXQ8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+44GT44Gu44K/44O844Ky44OD44OI44Gv44CB44Kz44Oz44OR44Kk44Or44KS6KGM44GEICZGaW5kQnVnczsg44GM5oyB44Gj44Gm44GE44KLIEpVbml0IOODhuOCueODiOOCkuWun+ihjOOBl+OBvuOBmeOAguODpuODi+ODg+ODiOODhuOCueODiOOBjOWkseaVl+OBl+OBn+WgtOWQiOOBr+OAgeOCqOODqeODvOODoeODg+OCu+ODvOOCuOOBjOihqOekuuOBleOCjOOBvuOBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmJpbmRpc3Q8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+JkZpbmRCdWdzOyDjga7jg5DjgqTjg4rjg6rphY3luIPnianjgpLmp4vnr4njgZfjgb7jgZnjgILjgZPjga7jgr/jg7zjgrLjg4Pjg4jjga/jgIEgPGZpbGVuYW1lPi56aXA8L2ZpbGVuYW1lPiDjgYrjgojjgbMgPGZpbGVuYW1lPi50YXIuZ3o8L2ZpbGVuYW1lPiDjga7jgqLjg7zjgqvjgqTjg5bjgpLjgZ3jgozjgZ7jgozkvZzmiJDjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci08L3ZhcmlhYmxlbGlzdD4KLTwvcGFyYT4KLQotPHBhcmE+JkFudDsg44Kz44Oe44Oz44OJ44Gu5a6f6KGM5b6M44CB5qyh44Gu44KI44GG44Gq5Ye65Yqb44GM6KGo56S644GV44KM44KL44Gv44Ga44Gn44GZ44CCICjjgZPjga7liY3jgasgJkFudDsg44GM5a6f6KGM44GX44Gf44K/44K544Kv44Gr6Zai44GZ44KL44Oh44OD44K744O844K444KC44GE44GP44KJ44GL5Ye65Yqb44GV44KM44G+44GZ44CCKTo8c2NyZWVuPgotPGNvbXB1dGVyb3V0cHV0PgotQlVJTEQgU1VDQ0VTU0ZVTAotVG90YWwgdGltZTogMTcgc2Vjb25kcwotPC9jb21wdXRlcm91dHB1dD4KLTwvc2NyZWVuPgotPC9wYXJhPgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+44K944O844K544OH44Kj44Os44Kv44OI44Oq44O844GL44KJ44GuICZGaW5kQnVnczsmdHJhZGU7IOOBruWun+ihjDwvdGl0bGU+Ci08cGFyYT48Y29tbWFuZD5idWlsZDwvY29tbWFuZD4g44K/44O844Ky44OD44OI44Gu5a6f6KGM44GM57WC5LqG44GZ44KL44Go44CB44OQ44Kk44OK44Oq6YWN5biD54mp44Go5ZCM5qeY44Gu54q25oWL44GM5L2c5qWt44OH44Kj44Os44Kv44OI44Oq44O844Gr5qeL56+J44GV44KM44KL44KI44GG44GrICZGaW5kQnVnczsg44GuJkFudDsg44OT44Or44OJ44K544Kv44Oq44OX44OI44Gv6KiY6L+w44GV44KM44Gm44GE44G+44GZ44CC44GX44Gf44GM44Gj44Gm44CBPHhyZWYgbGlua2VuZD0icnVubmluZyIvPiDjga4gICZGaW5kQnVnczsg44Gu5a6f6KGM44Gr6Zai44GZ44KL5oOF5aCx44Gv44K944O844K56YWN5biD54mp44Gu5aC05ZCI44Gr44KC5b+c55So44Gn44GN44G+44GZ44CCPC9wYXJhPgotPC9zZWN0MT4KLQotPC9jaGFwdGVyPgotCi0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBSdW5uaW5nIEZpbmRCdWdzCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJydW5uaW5nIj4KLTx0aXRsZT4mRmluZEJ1Z3M7JnRyYWRlOyDjga7lrp/ooYw8L3RpdGxlPgotCi08cGFyYT4mRmluZEJ1Z3M7IOOBq+OBrzLjgaTjga7jg6bjg7zjgrbjg7zjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnjgYzjgYLjgorjgb7jgZnjgILjgZnjgarjgo/jgaHjgIHjgrDjg6njg5XjgqPjgqvjg6vjg6bjg7zjgrbjg7zjgqTjg7Pjgr/jg5Xjgqfjg7zjgrkgKEdVSSkg44GK44KI44GzIOOCs+ODnuODs+ODieODqeOCpOODs+OCpOODs+OCv+ODleOCp+ODvOOCueOBp+OBmeOAguOBk+OBrueroOOBp+OBr+OAgeOBneOCjOOBnuOCjOOBruOCpOODs+OCv+ODleOCp+ODvOOCueOBruWun+ihjOaWueazleOBq+OBpOOBhOOBpuiqrOaYjuOBl+OBvuOBmeOAgjwvcGFyYT4KLQotICAgIDx3YXJuaW5nPgotICAgICAgICA8cGFyYT7jgZPjga7nq6Djga/jgIHnj77lnKjmm7jjgY3nm7TjgZfkuK3jgafjgZnjgILmm7jjgY3nm7TjgZfjga/jgb7jgaDlrozkuobjgZfjgabjgYTjgb7jgZvjgpPjgII8L3BhcmE+Ci0gICAgPC93YXJuaW5nPgotCi08IS0tCi08c2VjdDE+Ci08dGl0bGU+RXhlY3V0aW5nIHRoZSAmRmluZEJ1Z3M7JnRyYWRlOyBHVUk8L3RpdGxlPgotPC9zZWN0MT4KLS0tPgotCi08c2VjdDE+Ci0gICAgPHRpdGxlPuOCr+OCpOODg+OCr+ODu+OCueOCv+ODvOODiDwvdGl0bGU+Ci0gICAgPHBhcmE+V2luZG93cyDjgrfjgrnjg4bjg6DjgacgICZGaW5kQnVnczsg44KS6LW35YuV44GZ44KL5aC05ZCI44Gv44CBIDxmaWxlbmFtZT4mRkJIb21lV2luO1xsaWJcZmluZGJ1Z3MuamFyPC9maWxlbmFtZT4g44OV44Kh44Kk44Or44KS44OA44OW44Or44Kv44Oq44OD44Kv44GX44Gm44GP44Gg44GV44GE44CCICZGaW5kQnVnczsgR1VJIOOBjOi1t+WLleOBl+OBvuOBmeOAgjwvcGFyYT4KLQotICAgIDxwYXJhPlVuaXgg44CBIExpbnV4IOOBvuOBn+OBryBNYWMgT1MgWCDjgrfjgrnjg4bjg6Djga7loLTlkIjjga/jgIE8ZmlsZW5hbWU+JkZCSG9tZTsvYmluL2ZpbmRidWdzPC9maWxlbmFtZT4g44K544Kv44Oq44OX44OI44KS5a6f6KGM44GZ44KL44GL44CB5Lul5LiL44Gu44Kz44Oe44Oz44OJ44KS5a6f6KGM44GX44G+44GZ44CCPHNjcmVlbj4KLTxjb21tYW5kPmphdmEgLWphciAmRkJIb21lOy9saWIvZmluZGJ1Z3MuamFyPC9jb21tYW5kPjwvc2NyZWVuPuOBk+OCjOOBp+OAgSAmRmluZEJ1Z3M7IEdVSSDjgYzotbfli5XjgZfjgb7jgZnjgII8L3BhcmE+Ci0KLSAgICA8cGFyYT5HVUkg44Gu5L2/55So5pa55rOV44Gr44Gk44GE44Gm44Gv44CBIDx4cmVmIGxpbmtlbmQ9Imd1aSIvPiDjgpLlj4LnhafjgZfjgabjgY/jgaDjgZXjgYTjgII8L3BhcmE+Ci08L3NlY3QxPgotCi08c2VjdDE+Ci0KLSAgICA8dGl0bGU+JkZpbmRCdWdzOyDjga7otbfli5U8L3RpdGxlPgotCi0gICAgPHBhcmE+44GT44Gu44K744Kv44K344On44Oz44Gn44Gv44CBICZGaW5kQnVnczsg44Gu6LW35YuV5pa55rOV44KS6Kqs5piO44GX44G+44GZ44CCJkZpbmRCdWdzOyDjgpLotbfli5XjgZnjgovjgavjga8y44Gk44Gu5pa55rOV44GM44GC44KK44G+44GZ44CC44GZ44Gq44KP44Gh44CB55u05o6l6LW35YuV44GZ44KL5pa55rOV44CB44GK44KI44Gz44CB44Op44OD44OX44GX44Gm44GE44KL44K544Kv44Oq44OX44OI44KS5L2/55So44GZ44KL5pa55rOV44Gn44GZ44CCPC9wYXJhPgotCi0KLSAgICA8c2VjdDIgaWQ9ImRpcmVjdEludm9jYXRpb24iPgotICAgICAgICA8dGl0bGU+JkZpbmRCdWdzOyDjga7nm7TmjqXotbfli5U8L3RpdGxlPgotCi0gICAgICAgIDxwYXJhPuacgOWIneOBq+i/sOOBueOCiyAmRmluZEJ1Z3M7IOOBrui1t+WLleaWueazleOBr+OAgSA8ZmlsZW5hbWU+JkZCSG9tZTsvbGliL2ZpbmRidWdzLmphcjwvZmlsZW5hbWU+IOOCkuebtOaOpeWun+ihjOOBmeOCi+aWueazleOBp+OBmeOAgkpWTSAoPGNvbW1hbmQ+amF2YTwvY29tbWFuZD4pIOWun+ihjOODl+ODreOCsOODqeODoOOBriA8Y29tbWFuZD4tamFyPC9jb21tYW5kPiDjgrPjg57jg7Pjg4njg6njgqTjg7PjgrnjgqTjg4Pjg4HjgpLkvb/nlKjjgZfjgb7jgZnjgIIoJkZpbmRCdWdzO+OBruODkOODvOOCuOODp+ODs+OBjCAxLjMuNSDjgojjgorliY3jga7loLTlkIjjga/jgIHjg6njg4Pjg5fjgZfjgabjgYTjgovjgrnjgq/jg6rjg5fjg4jjgpLkvb/nlKjjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgIIpPC9wYXJhPgotCi0gICAgICAgIDxwYXJhPiZGaW5kQnVnczsg44KS55u05o6l6LW35YuV44GZ44KL44Gf44KB44Gu44CB5LiA6Iis55qE44Gq5qeL5paH44Gv5Lul5LiL44Gu44KI44GG44Gr44Gq44KK44G+44GZ44CCPHNjcmVlbj4KLSAgICA8Y29tbWFuZD5qYXZhIDxyZXBsYWNlYWJsZT5bSlZNIOW8leaVsF08L3JlcGxhY2VhYmxlPiAtamFyICZGQkhvbWU7L2xpYi9maW5kYnVncy5qYXIgPHJlcGxhY2VhYmxlPuOCquODl+OCt+ODp+ODs+KApjwvcmVwbGFjZWFibGU+PC9jb21tYW5kPgotPC9zY3JlZW4+Ci0gICAgICAgIDwvcGFyYT4KLQotPCEtLQotICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgIEJ5IGRlZmF1bHQsIGV4ZWN1dGluZyA8ZmlsZW5hbWU+ZmluZGJ1Z3MuamFyPC9maWxlbmFtZT4gcnVucyB0aGUKLSAgICAgICAgICAgICZGaW5kQnVnczsgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIChHVUkpLiAgT24gd2luZG93cyBzeXN0ZW1zLAotICAgICAgICAgICAgeW91IGNhbiBkb3VibGUtY2xpY2sgb24gPGZpbGVuYW1lPmZpbmRidWdzLmphcjwvZmlsZW5hbWU+IHRvIGxhdW5jaAotICAgICAgICAgICAgdGhlIEdVSS4gIEZyb20gYSBjb21tYW5kIGxpbmUsIHRoZSBjb21tYW5kCi0gICAgICAgICAgICA8c2NyZWVuPgotamF2YSAtamFyIDxyZXBsYWNlYWJsZT4mRkJIb21lOzwvcmVwbGFjZWFibGU+L2xpYi9maW5kYnVncy5qYXI8L3NjcmVlbj4KLSAgICAgICAgICAgIHdpbGwgbGF1bmNoIHRoZSBHVUkuCi0gICAgICAgIDwvcGFyYT4KLS0tPgotCi0gICAgICAgIDxzZWN0MyBpZD0iY2hvb3NlVUkiPgotICAgICAgICAgICAgPHRpdGxlPiDjg6bjg7zjgrbjg7zjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnjga7pgbjmip48L3RpdGxlPgotCi0gICAgICAgIDxwYXJhPjEg55Wq55uu44Gu44Kz44Oe44Oz44OJ44Op44Kk44Oz44Kq44OX44K344On44Oz44Gv44CB6LW35YuV44GZ44KLICZGaW5kQnVnczsg44Om44O844K244O844Kk44Oz44K/44OV44Kn44O844K544KS6YG45oqe44GZ44KL44Gf44KB44Gu44KC44Gu44Gn44GZ44CC5oyH5a6a5Y+v6IO944Gq5YCk44Gv5qyh44Gu6YCa44KK44Gn44GZOjwvcGFyYT4KLSAgICAgICAgPGl0ZW1pemVkbGlzdD4KLSAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICA8Y29tbWFuZD4tZ3VpPC9jb21tYW5kPjog44Kw44Op44OV44Kj44Kr44Or44Om44O844K244O844Kk44Oz44K/44OV44Kn44O844K5IChHVUkpIOOCkui1t+WLleOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0KLSAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGNvbW1hbmQ+LXRleHR1aTwvY29tbWFuZD46IOOCs+ODnuODs+ODieODqeOCpOODs+OCpOODs+OCv+ODleOCp+ODvOOCueOCkui1t+WLleOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0KLSAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGNvbW1hbmQ+LXZlcnNpb248L2NvbW1hbmQ+OiAmRmluZEJ1Z3M7IOOBruODkOODvOOCuOODp+ODs+eVquWPt+OCkuihqOekuuOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0KLSAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGNvbW1hbmQ+LWhlbHA8L2NvbW1hbmQ+OiAmRmluZEJ1Z3M7IOOCs+ODnuODs+ODieODqeOCpOODs+OCpOODs+OCv+ODleOCp+ODvOOCueOBruODmOODq+ODl+aDheWgseOCkuihqOekuuOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0KLSAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGNvbW1hbmQ+LWd1aTE8L2NvbW1hbmQ+OiDmnIDliJ3jgavkvZzmiJDjgZXjgozjgZ8gJkZpbmRCdWdzOyDjgrDjg6njg5XjgqPjgqvjg6vjg6bjg7zjgrbjg7zjgqTjg7Pjgr/jg5Xjgqfjg7zjgrko44GZ44Gn44Gr5buD5q2i44GV44KM44K144Od44O844OI44GV44KM44Gm44GE44Gq44GEKeOCkui1t+WLleOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgIDwvaXRlbWl6ZWRsaXN0PgotCi0gICAgICAgIDwvc2VjdDM+Ci0KLSAgICAgICAgPHNlY3QzIGlkPSJqdm1BcmdzIj4KLSAgICAgICAgICAgIDx0aXRsZT5KYXZhIOS7ruaDs+ODnuOCt+ODsyAoSlZNKSDlvJXmlbA8L3RpdGxlPgotCi0gICAgICAgICAgICA8cGFyYT4mRmluZEJ1Z3M7IOOCkui1t+WLleOBmeOCi+mam+OBq+acieeUqOOBqiBKYXZhIOS7ruaDs+ODnuOCt+ODsyDlvJXmlbDjgpLjgYTjgY/jgaTjgYvntLnku4vjgZfjgb7jgZnjgII8L3BhcmE+Ci0KLSAgICAgICAgICAgIDx2YXJpYWJsZWxpc3Q+Ci0gICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+LVhteDxyZXBsYWNlYWJsZT5OTjwvcmVwbGFjZWFibGU+bTwvY29tbWFuZD48L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPkphdmEg44OS44O844OX44K144Kk44K644Gu5pyA5aSn5YCk44KSIDxyZXBsYWNlYWJsZT5OTjwvcmVwbGFjZWFibGU+IOODoeOCrOODkOOCpOODiOOBq+ioreWumuOBl+OBvuOBmeOAgiZGaW5kQnVnczsg44Gv5LiA6Iis55qE44Gr5aSn5a656YeP44Gu44Oh44Oi44Oq44K144Kk44K644KS5b+F6KaB44Go44GX44G+44GZ44CC5aSn44GN44Gq44OX44Ot44K444Kn44Kv44OI44Gn44Gv44CBIDE1MDAg44Oh44Ks44OQ44Kk44OI44KS5L2/55So44GZ44KL44GT44Go44KC54+N44GX44GP44GC44KK44G+44Gb44KT44CCPC9wYXJhPgotICAgICAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotCi0gICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+LUQ8cmVwbGFjZWFibGU+bmFtZTwvcmVwbGFjZWFibGU+PTxyZXBsYWNlYWJsZT52YWx1ZTwvcmVwbGFjZWFibGU+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICAgICAgPHBhcmE+SmF2YSDjgrfjgrnjg4bjg6Djg5fjg63jg5Hjg4bjgqPjg7zjgpLoqK3lrprjgZfjgb7jgZnjgILkvovjgYjjgbDjgIHlvJXmlbAgPGNvbW1hbmQ+LUR1c2VyLmxhbmd1YWdlPWphPC9jb21tYW5kPiDjgpLkvb/nlKjjgZnjgovjgaggR1VJIOaWh+iogOOBjOaXpeacrOiqnuOBp+ihqOekuuOBleOCjOOBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLQotICAgICAgICAgICAgICAgIDwhLS0KLSAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAgICA8dGVybT48L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgIC0tPgotICAgICAgICAgICAgPC92YXJpYWJsZWxpc3Q+Ci0gICAgICAgIDwvc2VjdDM+Ci0KLSAgICA8L3NlY3QyPgotCi0gICAgPHNlY3QyIGlkPSJ3cmFwcGVyU2NyaXB0Ij4KLSAgICAgICAgPHRpdGxlPuODqeODg+ODl+OBl+OBpuOBhOOCi+OCueOCr+ODquODl+ODiOOCkuS9v+eUqOOBl+OBnyAmRmluZEJ1Z3M7IOOBrui1t+WLlTwvdGl0bGU+Ci0KLSAgICAgICAgPHBhcmE+JkZpbmRCdWdzOyDjgpLotbfli5XjgZnjgovjgoLjgYbjgbLjgajjgaTjga7mlrnms5Xjga/jgIHjg6njg4Pjg5fjgZfjgabjgYTjgovjgrnjgq/jg6rjg5fjg4jjgpLkvb/nlKjjgZnjgovmlrnms5XjgafjgZnjgII8L3BhcmE+Ci0KLTxwYXJhPlVuaXgg57O744Gu44K344K544OG44Og44Gr44GK44GE44Gm44Gv44CB5qyh44Gu44KI44GG44Gq44Kz44Oe44Oz44OJ44Gn44Op44OD44OX44GX44Gm44GE44KL44K544Kv44Oq44OX44OI44KS6LW35YuV44GX44G+44GZIDo8c2NyZWVuPgotPHByb21wdD4kIDwvcHJvbXB0Pjxjb21tYW5kPiZGQkhvbWU7L2Jpbi9maW5kYnVncyA8cmVwbGFjZWFibGU+44Kq44OX44K344On44Oz4oCmPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLTwvcGFyYT4KLQotPHBhcmE+V2luZG93cyDjgrfjgrnjg4bjg6DjgavjgYrjgYTjgabjga/jgIHjg6njg4Pjg5fjgZfjgabjgYTjgovjgrnjgq/jg6rjg5fjg4jjgpLotbfli5XjgZnjgovjgrPjg57jg7Pjg4njga/mrKHjga7jgojjgYbjgavjgarjgorjgb7jgZnjgII8c2NyZWVuPgotPHByb21wdD5DOlxNeSBEaXJlY3RvcnkmZ3Q7PC9wcm9tcHQ+PGNvbW1hbmQ+JkZCSG9tZVdpbjtcYmluXGZpbmRidWdzLmJhdCA8cmVwbGFjZWFibGU+44Kq44OX44K344On44Oz4oCmPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLTwvcGFyYT4KLQotPHBhcmE+VW5peCDns7vjgrfjgrnjg4bjg6Ag44GK44KI44GzIFdpbmRvd3Mg44K344K544OG44Og44Gu44Gp44Gh44KJ44Gr44GK44GE44Gm44KC44CB44OH44Kj44Os44Kv44OI44Oq44O8ICA8ZmlsZW5hbWU+PHJlcGxhY2VhYmxlPiRGSU5EQlVHU19IT01FPC9yZXBsYWNlYWJsZT4vYmluPC9maWxlbmFtZT4g44KS55Kw5aKD5aSJ5pWwIDxmaWxlbmFtZT5QQVRIPC9maWxlbmFtZT4g44Gr6L+95Yqg44GZ44KL44Gg44GR44Gn44CBIDxjb21tYW5kPmZpbmRidWdzPC9jb21tYW5kPiDjgrPjg57jg7Pjg4njgpLkvb/nlKjjgZfjgaYgRmluZEJ1Z3Mg44KS6LW35YuV44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotCi0gICAgPHNlY3QzIGlkPSJ3cmFwcGVyT3B0aW9ucyI+Ci0gICAgICAgIDx0aXRsZT7jg6njg4Pjg5fjgZfjgabjgYTjgovjgrnjgq/jg6rjg5fjg4jjga7jgrPjg57jg7Pjg4njg6njgqTjg7Pjgqrjg5fjgrfjg6fjg7M8L3RpdGxlPgotICAgICAgICA8cGFyYT4mRmluZEJ1Z3M7IOOBruODqeODg+ODl+OBl+OBpuOBhOOCi+OCueOCr+ODquODl+ODiOOBr+OAgeasoeOBruOCiOOBhuOBquOCs+ODnuODs+ODieODqeOCpOODs+OCquODl+OCt+ODp+ODs+OCkuOCteODneODvOODiOOBl+OBpuOBhOOBvuOBmeOAguOBk+OCjOOCieOBruOCs+ODnuODs+ODieODqeOCpOODs+OCquODl+OCt+ODp+ODs+OBryAmRmluZEJ1Z3M7IOODl+ODreOCsOODqeODoCDoh6rkvZPjgYzmk43kvZzjgZnjgovjga7jgafjga88ZW1waGFzaXM+44Gq44GPPC9lbXBoYXNpcz7jgIHjganjgaHjgonjgYvjgajjgYTjgYjjgbDjgIHjg6njg4Pjg5fjgZfjgabjgYTjgovjgrnjgq/jg6rjg5fjg4jjga7mlrnjgYzlh6bnkIbjgpLooYzjgYTjgb7jgZnjgII8L3BhcmE+Ci0gICAgPHZhcmlhYmxlbGlzdD4KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tanZtQXJncyA8cmVwbGFjZWFibGU+5byV5pWwPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT5KVk0g44Gr5Y+X44GR5rih44GV44KM44KL5byV5pWw44KS5oyH5a6a44GX44G+44GZ44CC5L6L44GI44Gw44CB5qyh44Gu44KI44GG44GqIEpWTSDjg5fjg63jg5Hjg4bjgqPjgYzoqK3lrprjgafjgY3jgb7jgZk6PHNjcmVlbj4KLTxwcm9tcHQ+JCA8L3Byb21wdD48Y29tbWFuZD5maW5kYnVncyAtdGV4dHVpIC1qdm1BcmdzICZxdW90Oy1EdXNlci5sYW5ndWFnZT1qYSZxdW90OyA8cmVwbGFjZWFibGU+bXlBcHAuamFyPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLSAgICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tamF2YWhvbWUgPHJlcGxhY2VhYmxlPuODh+OCo+ODrOOCr+ODiOODquODvDwvcmVwbGFjZWFibGU+PC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4mRmluZEJ1Z3M7IOOBruWun+ihjOOBq+S9v+eUqOOBmeOCiyBKUkUgKEphdmEg44Op44Oz44K/44Kk44Og55Kw5aKDKSDjgYzjgqTjg7Pjgrnjg4jjg7zjg6vjgZXjgozjgabjgYTjgovjg4fjgqPjg6zjgq/jg4jjg6rjg7zjgpLmjIflrprjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tbWF4SGVhcCA8cmVwbGFjZWFibGU+44K144Kk44K6PC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPkphdmEg44OS44O844OX44K144Kk44K644Gu5pyA5aSn5YCk44KS44Oh44Ks44OQ44Kk44OI5Y2Y5L2N44Gn5oyH5a6a44GX44G+44GZ44CC44OH44OV44Kp44Or44OI44Gv44CBIDI1NiDjgafjgZnjgILlt6jlpKfjgarjg5fjg63jgrDjg6njg6DjgoTjg6njgqTjg5bjg6njg6rjgpLliIbmnpDjgZnjgovjgavjga/jgIHjgoLjgaPjgajlpKfjgY3jgarjg6Hjg6Ljg6rjg7zlrrnph4/jgYzlv4XopoHjgavjgarjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tZGVidWc8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPuODh+OCo+ODhuOCr+OCv+Wun+ihjOOBiuOCiOOBs+OCr+ODqeOCueWIhuaekOOBruODiOODrOODvOOCueaDheWgseOBjOaomea6luWHuuWKm+OBq+WHuuWKm+OBleOCjOOBvuOBmeOAguWIhuaekOOBjOS6iOacn+OBm+OBmuWkseaVl+OBl+OBn+mam+OBruOAgeODiOODqeODluODq+OCt+ODpeODvOODhuOCo+ODs+OCsOOBq+acieeUqOOBp+OBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1wcm9wZXJ0eTwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPm5hbWU9dmFsdWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT7jgZPjga7jgqrjg5fjgrfjg6fjg7PjgpLkvb/nlKjjgZfjgabjgrfjgrnjg4bjg6Djg5fjg63jg5Hjg4bjgqPjg7zjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgIIgJkZpbmRCdWdzOyDjga/jgrfjgrnjg4bjg6Djg5fjg63jg5Hjg4bjgqPjg7zjgpLkvb/nlKjjgZfjgabliIbmnpDnibnmgKfjga7oqK3lrprjgpLooYzjgYTjgb7jgZnjgII8eHJlZiBsaW5rZW5kPSJhbmFseXNpc3Byb3BzIi8+IOOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAguOBk+OBruOCquODl+OCt+ODp+ODs+OCkuikh+aVsOaMh+WumuOBl+OBpuOAgeikh+aVsOOBruOCt+OCueODhuODoOODl+ODreODkeODhuOCo+OCkuioreWumuOBmeOCi+OBk+OBqOOBjOWPr+iDveOBp+OBmeOAguazqDogIFdpbmRvd3Mg44Gu5aSa44GP44Gu44OQ44O844K444On44Oz44Gn44Gv44CBIDxyZXBsYWNlYWJsZT5uYW1lPXZhbHVlPC9yZXBsYWNlYWJsZT4g5paH5a2X5YiX44KS5byV55So56ym44Gn5Zuy44KA5b+F6KaB44GM44GC44KK44G+44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gICAgPC92YXJpYWJsZWxpc3Q+Ci0KLSAgICA8L3NlY3QzPgotCi08L3NlY3QyPgotCi08L3NlY3QxPgotCi08c2VjdDEgaWQ9ImNvbW1hbmRMaW5lT3B0aW9ucyI+Ci08dGl0bGU+44Kz44Oe44Oz44OJ44Op44Kk44Oz44Kq44OX44K344On44OzPC90aXRsZT4KLQotPCEtLQotPHBhcmE+Ci0KLVRoZXJlIGFyZSB0d28gd2F5cyB0byBpbnZva2UgJkZpbmRCdWdzOy4gIFRoZSBmaXJzdCBpbnZva2VzIHRoZSB0aGUgR3JhcGhpY2FsIFVzZXIgSW50ZXJmYWNlIChHVUkpOgotCi08c2NyZWVuPgotPHByb21wdD4kIDwvcHJvbXB0Pjxjb21tYW5kPmZpbmRidWdzIDxyZXBsYWNlYWJsZT5bc3RhbmRhcmQgb3B0aW9uc108L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGU+W0dVSSBvcHRpb25zXTwvcmVwbGFjZWFibGU+PC9jb21tYW5kPgotPC9zY3JlZW4+Ci0KLVRoZSBzZWNvbmQgaW52b2tlcyB0aGUgQ29tbWFuZCBMaW5lIEludGVyZmFjZSAoVGV4dCBVSSk6Ci0KLTxzY3JlZW4+Ci08cHJvbXB0PiQgPC9wcm9tcHQ+PGNvbW1hbmQ+ZmluZGJ1Z3MgLXRleHR1aSA8cmVwbGFjZWFibGU+W3N0YW5kYXJkIG9wdGlvbnNdPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlPltUZXh0IFVJIG9wdGlvbnNdPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLTwvcGFyYT4KLS0tPgotCi08cGFyYT7jgZPjga7jgrvjgq/jgrfjg6fjg7Pjgafjga/jgIEgJkZpbmRCdWdzOyDjgYzjgrXjg53jg7zjg4jjgZnjgovjgrPjg57jg7Pjg4njg6njgqTjg7Pjgqrjg5fjgrfjg6fjg7PjgavjgaTjgYTjgaboqqzmmI7jgZfjgb7jgZnjgILjgZPjgZPjgafnpLrjgZnjgrPjg57jg7Pjg4njg6njgqTjg7Pjgqrjg5fjgrfjg6fjg7Pjga/jgIEgJkZpbmRCdWdzOyDnm7TmjqXotbfli5XjgIHjgb7jgZ/jga/jgIHjg6njg4Pjg5fjgZfjgabjgYTjgovjgrnjgq/jg6rjg5fjg4jjgavjgojjgovotbfli5Xjgafkvb/nlKjjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0KLTxzZWN0Mj4KLTx0aXRsZT7lhbHpgJrjga7jgrPjg57jg7Pjg4njg6njgqTjg7Pjgqrjg5fjgrfjg6fjg7M8L3RpdGxlPgotCi08cGFyYT7jgZPjgZPjgafnpLrjgZnjgqrjg5fjgrfjg6fjg7Pjga/jgIEgR1VJIOOBiuOCiOOBsyDjgrPjg57jg7Pjg4njg6njgqTjg7PjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnjga7kuKHmlrnjgafkvb/nlKjjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0KLTx2YXJpYWJsZWxpc3Q+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tZWZmb3J0Om1pbjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+44GT44Gu44Kq44OX44K344On44Oz44KS5oyH5a6a44GZ44KL44Go44CB57K+5bqm44KS5LiK44GS44KL44Gf44KB44Gr5aSn6YeP44Gu44Oh44Oi44Oq44O844KS5raI6LK744GZ44KL5YiG5p6Q44GM54Sh5Yq544Gr44Gq44KK44G+44GZ44CCJkZpbmRCdWdzOyDjga7lrp/ooYzmmYLjgavjg6Hjg6Ljg6rjg7zkuI3otrPjgavjgarjgaPjgZ/jgorjgIHliIbmnpDjgpLlrozkuobjgZnjgovjgb7jgafjgavnlbDluLjjgavplbfjgYTmmYLplpPjgYzjgYvjgYvjgovloLTlkIjjgavoqabjgZfjgabjgb/jgabjgY/jgaDjgZXjgYTjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1lZmZvcnQ6bWF4PC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT7nsr7luqbjgYzpq5jjgY/jgIHjgojjgorlpJrjgY/jga7jg5DjgrDjgpLmpJzlh7rjgZnjgovliIbmnpDjgpLmnInlirnjgavjgZfjgb7jgZnjgILjgZ/jgaDjgZfjgIHlpJrjgY/jga7jg6Hjg6Ljg6rjg7zlrrnph4/jgpLlv4XopoHjgajjgZfjgIHjgb7jgZ/jgIHlrozkuobjgb7jgafjga7mmYLplpPjgYzlpJrjgY/jgYvjgYvjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LXByb2plY3Q8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5wcm9qZWN0PC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT7liIbmnpDjgZnjgovjg5fjg63jgrjjgqfjgq/jg4jjgpLmjIflrprjgZfjgb7jgZnjgILmjIflrprjgZnjgovjg5fjg63jgrjjgqfjgq/jg4jjg5XjgqHjgqTjg6vjgavjga/jgIEgR1VJIOOCkuS9v+OBo+OBpuS9nOaIkOOBl+OBn+OCguOBruOCkuS9v+eUqOOBl+OBpuOBj+OBoOOBleOBhOOAguODleOCoeOCpOODq+OBruaLoeW8teWtkOOBr+OAgeS4gOiIrOeahOOBq+OBryA8ZmlsZW5hbWU+LmZiPC9maWxlbmFtZT4g44G+44Gf44GvIDxmaWxlbmFtZT4uZmJwPC9maWxlbmFtZT4g44Gn44GZ44CCPC9wYXJhPgotICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8IS0tCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgICA8dGVybT48Y29tbWFuZD48L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgIDxwYXJhPgotCi0gICAgICAgICAgPC9wYXJhPgotICAgICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0gIC0tPgotCi08L3ZhcmlhYmxlbGlzdD4KLQotPC9zZWN0Mj4KLQotPHNlY3QyPgotPHRpdGxlPkdVSSDjgqrjg5fjgrfjg6fjg7M8L3RpdGxlPgotCi08cGFyYT7jgZPjgZPjgafnpLrjgZnjgqrjg5fjgrfjg6fjg7Pjga/jgIHjgrDjg6njg5XjgqPjgqvjg6vjg6bjg7zjgrbjg7zjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnjgafjga7jgb/kvb/nlKjjgafjgY3jgb7jgZnjgII8dmFyaWFibGVsaXN0PiA8dmFybGlzdGVudHJ5PiA8dGVybT48Y29tbWFuZD4tbG9vazo8L2NvbW1hbmQ+PHJlcGxhY2VhYmxlPnBsYXN0aWN8Z3RrfG5hdGl2ZTwvcmVwbGFjZWFibGU+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT5Td2luZyDjga7jg6vjg4Pjgq/jg7vjgqLjg7Pjg4njg7vjg5XjgqPjg7zjg6vjgpLoqK3lrprjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLTwvdmFyaWFibGVsaXN0PgotPC9wYXJhPgotPC9zZWN0Mj4KLQotPHNlY3QyPgotPHRpdGxlPuODhuOCreOCueODiOODpuODvOOCtuODvOOCpOODs+OCv+ODleOCp+ODvOOCueOCquODl+OCt+ODp+ODszwvdGl0bGU+Ci0KLTxwYXJhPuOBk+OBk+OBp+ekuuOBmeOCquODl+OCt+ODp+ODs+OBr+OAgeODhuOCreOCueODiOODpuODvOOCtuODvOOCpOODs+OCv+ODleOCp+ODvOOCueOBp+OBruOBv+S9v+eUqOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLQotPHZhcmlhYmxlbGlzdD4KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tc29ydEJ5Q2xhc3M8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7loLHlkYrjgZXjgozjgovjg5DjgrDmpJzntKLntZDmnpzjgpLjgq/jg6njgrnlkI3jgafjgr3jg7zjg4jjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4taW5jbHVkZTwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPmZpbHRlckZpbGUueG1sPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPjxyZXBsYWNlYWJsZT5maWx0ZXJGaWxlLnhtbDwvcmVwbGFjZWFibGU+IOOBp+aMh+WumuOBl+OBn+ODleOCo+ODq+OCv+ODvOOBq+S4gOiHtOOBl+OBn+ODkOOCsOaknOe0oue1kOaenOOBruOBv+WgseWRiuOBleOCjOOBvuOBmeOAgjx4cmVmIGxpbmtlbmQ9ImZpbHRlciIvPiDjgpLlj4LnhafjgZfjgabjgY/jgaDjgZXjgYTjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tZXhjbHVkZTwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPmZpbHRlckZpbGUueG1sPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPjxyZXBsYWNlYWJsZT5maWx0ZXJGaWxlLnhtbDwvcmVwbGFjZWFibGU+IOOBp+aMh+WumuOBl+OBn+ODleOCo+ODq+OCv+ODvOOBq+S4gOiHtOOBl+OBn+ODkOOCsOaknOe0oue1kOaenOOBr+WgseWRiuOBleOCjOOBvuOBm+OCk+OAgjx4cmVmIGxpbmtlbmQ9ImZpbHRlciIvPiDjgpLlj4LnhafjgZfjgabjgY/jgaDjgZXjgYTjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tb25seUFuYWx5emU8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT5jb20uZm9vYmFyLk15Q2xhc3MsY29tLmZvb2Jhci5teXBrZy4qPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+44Kz44Oz44Oe5Yy65YiH44KK44Gn5oyH5a6a44GX44Gf44Kv44Op44K544GK44KI44Gz44OR44OD44Kx44O844K444Gu44G/44Gr6ZmQ5a6a44GX44Gm44CB44OQ44Kw5qSc5Ye644Gu5YiG5p6Q44KS6KGM44GG44KI44GG44Gr44GX44G+44GZ44CC44OV44Kj44Or44K/44O844Go6YGV44Gj44Gm44CB44GT44Gu44Kq44OX44K344On44Oz44KS5L2/44GG44Go5LiA6Ie044GX44Gq44GE44Kv44Op44K544GK44KI44Gz44OR44OD44Kx44O844K444Gr5a++44GZ44KL5YiG5p6Q44Gu5a6f6KGM44KS5Zue6YG/44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CC5aSn44GN44Gq44OX44Ot44K444Kn44Kv44OI44Gr44GK44GE44Gm44CB44GT44Gu44Kq44OX44K344On44Oz44KS5rS755So44GZ44KL44Go5YiG5p6Q44Gr44GL44GL44KL5pmC6ZaT44KS5aSn44GN44GP5YmK5rib44GZ44KL44GT44Go44GM44Gn44GN44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZ44CCKOOBl+OBi+OBl+OBquOBjOOCieOAgeOCouODl+ODquOCseODvOOCt+ODp+ODs+OBruWFqOS9k+OBp+Wun+ihjOOBl+OBpuOBhOOBquOBhOOBn+OCgeOBq+S4jeato+eiuuOBque1kOaenOOCkuWHuuOBl+OBpuOBl+OBvuOBhuODh+OCo+ODhuOCr+OCv+OBjOOBguOCi+WPr+iDveaAp+OCguOBguOCiuOBvuOBmeOAgikg44Kv44Op44K544Gv44OR44OD44Kx44O844K444KC5ZCr44KT44Gg5a6M5YWo44Gq5ZCN5YmN44KS5oyH5a6a44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZ44CC44G+44Gf44CB44OR44OD44Kx44O844K444Gv44CBIEphdmEg44GuIDxsaXRlcmFsPmltcG9ydDwvbGl0ZXJhbD4g5paH44Gn44OR44OD44Kx44O844K45LiL44Gu44GZ44G544Gm44Gu44Kv44Op44K544KS44Kk44Oz44Od44O844OI44GZ44KL44Go44GN44Go5ZCM44GY5pa55rOV44Gn5oyH5a6a44GX44G+44GZ44CCICjjgZnjgarjgo/jgaHjgIHjg5Hjg4PjgrHjg7zjgrjjga7lrozlhajjgarlkI3liY3jgasgPGxpdGVyYWw+Lio8L2xpdGVyYWw+IOOCkuS7mOOBkeWKoOOBiOOBn+W9ouOBp+OBmeOAgik8bGl0ZXJhbD4uKjwvbGl0ZXJhbD4g44Gu5Luj44KP44KK44GrIDxsaXRlcmFsPi4tPC9saXRlcmFsPiDjgpLmjIflrprjgZnjgovjgajjgIHjgrXjg5bjg5Hjg4PjgrHjg7zjgrjjgoLlkKvjgoHjgabjgZnjgbnjgabjgYzliIbmnpDjgZXjgozjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LWxvdzwvY29tbWFuZD48L3Rlcm0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT7jgZnjgbnjgabjga7jg5DjgrDjgYzloLHlkYrjgZXjgozjgb7jgZnjgII8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gIDx0ZXJtPjxjb21tYW5kPi1tZWRpdW08L2NvbW1hbmQ+PC90ZXJtPgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+5YSq5YWI5bqmICjkuK0pIOOBiuOCiOOBs+WEquWFiOW6piAo6auYKSDjga7jg5DjgrDjgYzloLHlkYrjgZXjgozjgb7jgZnjgILjgZPjgozjga/jgIHjg4fjg5Xjgqnjg6vjg4jjga7oqK3lrprlgKTjgafjgZnjgII8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gIDx0ZXJtPjxjb21tYW5kPi1oaWdoPC9jb21tYW5kPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPuWEquWFiOW6piAo6auYKSDjga7jg5DjgrDjga7jgb/jgYzloLHlkYrjgZXjgozjgb7jgZnjgII8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LXJlbGF4ZWQ8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+5omL5oqc44GN5aCx5ZGK44Oi44O844OJ44Gn44GZ44CC44GT44Gu44Kq44OX44K344On44Oz44KS5oyH5a6a44GZ44KL44Go44CB5aSa44GP44Gu44OH44Kj44OG44Kv44K/44Gr44GK44GE44GmIOiqpOaknOWHuuOCkuWbnumBv+OBmeOCi+OBn+OCgeOBruODkuODpeODvOODquOCueODhuOCo+ODg+OCr+apn+iDveOBjOaKkeatouOBleOCjOOBvuOBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICA8dGVybT48Y29tbWFuZD4teG1sPC9jb21tYW5kPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPuODkOOCsOWgseWRiuOBjCBYTUwg44Gn5L2c5oiQ44GV44KM44G+44GZ44CC5L2c5oiQ44GV44KM44GfIFhNTCDjg4fjg7zjgr/jga8g44CB5b6M44GnIEdVSSDjgafopovjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgILjgZPjga7jgqrjg5fjgrfjg6fjg7Pjga8gPGNvbW1hbmQ+LXhtbDp3aXRoTWVzc2FnZXM8L2NvbW1hbmQ+IOOBqOaMh+WumuOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmeOAguOBk+OBhuOBmeOCi+OBqCDlh7rlipsgWE1MIOOBq+OBryDlkITjg5DjgrDjgavplqLjgZfjgabkurrplpPjgavoqq3jgoDjgZPjgajjgYzjgafjgY3jgovjg6Hjg4Pjgrvjg7zjgrjjgYzlkKvjgb7jgozjgovjgojjgYbjgavjgarjgorjgb7jgZnjgILjgZPjga7jgqrjg5fjgrfjg6fjg7PjgafkvZzmiJDjgZXjgozjgZ8gWE1MIOODleOCoeOCpOODq+OBryDloLHlkYrmm7jjgavlpInmj5vjgZnjgovjga7jgYznsKHljZjjgafjgZnjgII8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gIDx0ZXJtPjxjb21tYW5kPi1odG1sPC9jb21tYW5kPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPkhUTUwg5Ye65Yqb44GM55Sf5oiQ44GV44KM44G+44GZ44CC44OH44OV44Kp44Or44OI44Gn44GvICZGaW5kQnVnczsg44GvIDxmaWxlbmFtZT5kZWZhdWx0LnhzbDwvZmlsZW5hbWU+IDx1bGluayB1cmw9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQiPlhTTFQ8L3VsaW5rPiDjgrnjgr/jgqTjg6vjgrfjg7zjg4jjgpLkvb/nlKjjgZfjgaYgSFRNTCDlh7rlipvjgpLnlJ/miJDjgZfjgb7jgZk6IOOBk+OBruODleOCoeOCpOODq+OBr+OAgSA8ZmlsZW5hbWU+ZmluZGJ1Z3MuamFyPC9maWxlbmFtZT4g44Gu5Lit44CB44G+44Gf44Gv44CBICZGaW5kQnVnczsg44Gu44K944O844K56YWN5biD54mp44KC44GX44GP44Gv44OQ44Kk44OK44Oq6YWN5biD54mp44Gu5Lit44Gr44GC44KK44G+44GZ44CC44GT44Gu44Kq44OX44K344On44Oz44Gr44Gv44CB5qyh44Gu44KI44GG44Gq44OQ44Oq44Ko44O844K344On44Oz44KC5a2Y5Zyo44GX44G+44GZ44CC44GZ44Gq44KP44Gh44CBIDxjb21tYW5kPi1odG1sOnBsYWluLnhzbDwvY29tbWFuZD4g44CBIDxjb21tYW5kPi1odG1sOmZhbmN5LnhzbDwvY29tbWFuZD4g44GK44KI44GzIDxjb21tYW5kPi1odG1sOmZhbmN5LWhpc3QueHNsPC9jb21tYW5kPiDjgafjgZnjgII8ZmlsZW5hbWU+cGxhaW4ueHNsPC9maWxlbmFtZT4g44K544K/44Kk44Or44K344O844OI44GvIEphdmFzY3JpcHQg44KEIERPTSDjgpLliKnnlKjjgZfjgb7jgZvjgpPjgILjgZfjgZ/jgYzjgaPjgabjgIHlj6TjgYRXZWIg44OW44Op44Km44K25L2/55So5pmC44KE5Y2w5Yi35pmC44Gr44KC5q+U6LyD55qE44GG44G+44GP6KGo56S644GV44KM44KL44Gn44GX44KH44GG44CCPGZpbGVuYW1lPmZhbmN5LnhzbDwvZmlsZW5hbWU+IOOCueOCv+OCpOODq+OCt+ODvOODiOOBryBET00g44GoIEphdmFzY3JpcHQg44KS5Yip55So44GX44Gm44OK44OT44Ky44O844K344On44Oz44KS6KGM44GE44G+44GZ44CC44G+44Gf44CB44OT44K444Ol44Ki44Or6KGo56S644GrIENTUyDjgpLkvb/nlKjjgZfjgb7jgZnjgII8Y29tbWFuZD5mYW5jeS1oaXN0LnhzbDwvY29tbWFuZD4g44GvIDxjb21tYW5kPmZhbmN5LnhzbDwvY29tbWFuZD4g44K544K/44Kk44Or44K344O844OI44KS5pu044Gr6YCy5YyW44GV44Gb44Gf44KC44Gu44Gn44GZ44CCRE9NIOOChCBKYXZhc2NyaXB0IOOCkuOBteOCk+OBoOOCk+OBq+mnhuS9v+OBl+OBpuOAgeODkOOCsOOBruS4gOimp+OCkuWLleeahOOBq+ODleOCo+ODq+OCv+ODquODs+OCsOOBl+OBvuOBmeOAgjwvcGFyYT4KLQotICAgIDxwYXJhPuODpuODvOOCtuODvOiHqui6q+OBriBYU0xUIOOCueOCv+OCpOODq+OCt+ODvOODiOOCkueUqOOBhOOBpiBIVE1MIOOBuOOBruWkieaPm+OCkuihjOOBhOOBn+OBhOWgtOWQiOOBr+OAgSA8Y29tbWFuZD4taHRtbDo8cmVwbGFjZWFibGU+bXlTdHlsZXNoZWV0LnhzbDwvcmVwbGFjZWFibGU+PC9jb21tYW5kPiDjga7jgojjgYbjgavmjIflrprjgZfjgabjgY/jgaDjgZXjgYTjgILjgZPjgZPjgafjgIEgPHJlcGxhY2VhYmxlPm15U3R5bGVzaGVldC54c2w8L3JlcGxhY2VhYmxlPiDjga/jg6bjg7zjgrbjg7zjgYzkvb/nlKjjgZfjgZ/jgYTjgrnjgr/jgqTjg6vjgrfjg7zjg4jjga7jg5XjgqHjgqTjg6vlkI3jgafjgZnjgII8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gIDx0ZXJtPjxjb21tYW5kPi1lbWFjczwvY29tbWFuZD48L3Rlcm0+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT7jg5DjgrDloLHlkYrjgYwgRW1hY3Mg5b2i5byP44Gn5L2c5oiQ44GV44KM44G+44GZ44CCPC9wYXJhPgotICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICA8dGVybT48Y29tbWFuZD4teGRvY3M8L2NvbW1hbmQ+PC90ZXJtPgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+44OQ44Kw5aCx5ZGK44GMIHhkb2MgWE1MIOW9ouW8j+OBp+S9nOaIkOOBleOCjOOBvuOBmeOAgkFwYWNoZSBNYXZlbuOBp+S9v+eUqOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tb3V0cHV0PC9jb21tYW5kPiA8cmVwbGFjZWFibGU+44OV44Kh44Kk44Or5ZCNPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPuaMh+WumuOBl+OBn+ODleOCoeOCpOODq+OBq+WHuuWKm+e1kOaenOOBjOS9nOaIkOOBleOCjOOBvuOBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1vdXRwdXRGaWxlPC9jb21tYW5kPiA8cmVwbGFjZWFibGU+44OV44Kh44Kk44Or5ZCNPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPuOBk+OBruW8leaVsOOBr+OAgeS9v+eUqOOBmeOBueOBjeOBp+OBr+OBguOCiuOBvuOBm+OCk+OAguS7o+OCj+OCiuOBq+OAgSA8Y29tbWFuZD4tb3V0cHV0PC9jb21tYW5kPiDjgpLkvb/nlKjjgZfjgabjgY/jgaDjgZXjgYTjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LW5lc3RlZDwvY29tbWFuZD48cmVwbGFjZWFibGU+Wzp0cnVlfGZhbHNlXTwvcmVwbGFjZWFibGU+PC90ZXJtPgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+44GT44Gu44Kq44OX44K344On44Oz44Gv44CB44OV44Kh44Kk44Or44KE44OH44Kj44Os44Kv44OI44Oq44O844Gu5Lit44Gn5YWl44KM5a2Q44Gr44Gq44Gj44GfIGphciDjgYrjgojjgbMgemlwIOODleOCoeOCpOODq+OCkuWIhuaekOOBmeOCi+OBi+OBqeOBhuOBi+OCkuaMh+WumuOBl+OBvuOBmeOAguODh+ODleOCqeODq+ODiOOBp+OBr+OAgeWFpeOCjOWtkOOBq+OBquOBo+OBnyBqYXIg44GK44KI44GzIHppcCDjg5XjgqHjgqTjg6vjgoLliIbmnpDjgZfjgb7jgZnjgILlhaXjgozlrZDjgavjgarjgaPjgZ8gamFyIOOBiuOCiOOBsyB6aXAg44OV44Kh44Kk44Or44Gu5YiG5p6Q44GZ44KL44KS54Sh5Yq544Gr44GZ44KL5aC05ZCI44Gv44CBIDxjb21tYW5kPi1uZXN0ZWQ6ZmFsc2U8L2NvbW1hbmQ+IOOCkuOCs+ODnuODs+ODieODqeOCpOODs+W8leaVsOOBq+i/veWKoOOBl+OBpuOBj+OBoOOBleOBhOOAgjwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgPHRlcm0+PGNvbW1hbmQ+LWF1eGNsYXNzcGF0aDwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPuOCr+ODqeOCueODkeOCuTwvcmVwbGFjZWFibGU+PC90ZXJtPgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+5YiG5p6Q5pmC44Gr5L2/55So44GZ44KL6KOc5Yqp44Kv44Op44K544OR44K544KS6Kit5a6a44GX44G+44GZ44CC5YiG5p6Q44GZ44KL44OX44Ot44Kw44Op44Og44Gn5L2/55So44GZ44KLamFy44OV44Kh44Kk44Or44KE44Kv44Op44K544OH44Kj44Os44Kv44OI44Oq44O844KS44GZ44G544Gm5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CC6KOc5Yqp44Kv44Op44K544OR44K544Gr5oyH5a6a44GX44Gf44Kv44Op44K544Gv5YiG5p6Q44Gu5a++6LGh44Gr44Gv44Gq44KK44G+44Gb44KT44CCPC9wYXJhPgotICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotPCEtLQotICA8dmFybGlzdGVudHJ5PgotICA8dGVybT48Y29tbWFuZD48L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT48L3JlcGxhY2VhYmxlPjwvdGVybT4KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPgotICAgIDwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0tLT4KLQotPC92YXJpYWJsZWxpc3Q+Ci0KLTwvc2VjdDI+Ci08L3NlY3QxPgotCi0KLTwvY2hhcHRlcj4KLQotPGNoYXB0ZXIgaWQ9Imd1aSI+Ci0gICAgPHRpdGxlPiZGaW5kQnVnczsgR1VJIOOBruS9v+eUqOaWueazlTwvdGl0bGU+Ci0KLSAgICA8cGFyYT7jgZPjga7nq6Djgafjga/jgIEmRmluZEJ1Z3M7IOOCsOODqeODleOCo+OCq+ODq+ODpuODvOOCtuODvOOCpOODs+OCv+ODleOCp+ODvOOCuSAoR1VJKSDjga7kvb/nlKjmlrnms5XjgpLoqqzmmI7jgZfjgb7jgZnjgII8L3BhcmE+Ci0KLTxzZWN0MT4KLTx0aXRsZT7jg5fjg63jgrjjgqfjgq/jg4jjga7kvZzmiJA8L3RpdGxlPgotPHBhcmE+PGNvbW1hbmQ+ZmluZGJ1Z3M8L2NvbW1hbmQ+ICDjgrPjg57jg7Pjg4njgacgJkZpbmRCdWdzOyDjgpLotbfli5XjgZfjgabjgYvjgonjgIHjg6Hjg4vjg6Xjg7zjgacgPG1lbnVjaG9pY2U+PGd1aW1lbnU+RmlsZTwvZ3VpbWVudT48Z3VpbWVudWl0ZW0+TmV3IFByb2plY3Q8L2d1aW1lbnVpdGVtPjwvbWVudWNob2ljZT4g44KS6YG45oqe44GX44Gm44GP44Gg44GV44GE44CC44Gd44GG44GZ44KL44Go44CB5qyh44Gu44KI44GG44Gq44OA44Kk44Ki44Ot44Kw44GM6KGo56S644GV44KM44G+44GZOjxtZWRpYW9iamVjdD4KLTxpbWFnZW9iamVjdD4KLTxpbWFnZWRhdGEgZmlsZXJlZj0icHJvamVjdC1kaWFsb2cucG5nIi8+Ci08L2ltYWdlb2JqZWN0PgotPC9tZWRpYW9iamVjdD4KLTwvcGFyYT4KLQotPHBhcmE+44CMQ2xhc3MgYXJjaGl2ZXMgYW5kIGRpcmVjdG9yaWVzIHRvIGFuYWx5emXjgI3jg4bjgq3jgrnjg4jjg5XjgqPjg7zjg6vjg4njga7mqKrjgavjgYLjgosg44CMQWRk44CN44Oc44K/44Oz44KS5oq844GZ44Go44CB44OQ44Kw44KS5YiG5p6Q44GZ44KLIGphdmEg44Kv44Op44K544KS5ZCr44KT44Gn44GE44KLIEphdmEg44Ki44O844Kr44Kk44OW44OV44Kh44Kk44OrICh6aXAsIGphciwgZWFyLCBvciB3YXIgZmlsZSkg44KS6YG45oqe44GX44Gm5oyH5a6a44Gn44GN44G+44GZ44CC6KSH5pWw44GuIOOCouODvOOCq+OCpOODli/jg4fjgqPjg6zjgq/jg4jjg6rjg7zjgpLov73liqDjgZnjgovjgZPjgajjgYzlj6/og73jgafjgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuOBvuOBn+OAgeWIhuaekOOCkuihjOOBhiBKYXZhIOOCouODvOOCq+OCpOODluOBruOCveODvOOCueOCs+ODvOODieOCkuWQq+OCk+OBoOOCveODvOOCueODh+OCo+ODrOOCr+ODiOODquODvOOCkuaMh+WumuOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmeOAguOBneOBhuOBmeOCi+OBqOOAgeODkOOCsOOBruWPr+iDveaAp+OBjOOBguOCi+OCveODvOOCueOCs+ODvOODieOBruWgtOaJgOOBjOOAgSZGaW5kQnVnczsg5LiK44Gn44OP44Kk44Op44Kk44OI44GX44Gm6KGo56S644GV44KM44G+44GZ44CC44K944O844K544OH44Kj44Os44Kv44OI44Oq44O844Gv44CBSmF2YSDjg5Hjg4PjgrHjg7zjgrjpmo7lsaTjga7jg6vjg7zjg4jjg4fjgqPjg6zjgq/jg4jjg6rjg7zjgpLmjIflrprjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgILkvovjgYjjgbDjgIHjg6bjg7zjgrbjga7jgqLjg5fjg6rjgrHjg7zjgrfjg6fjg7PjgYwgPHZhcm5hbWU+b3JnLmZvb2Jhci5teWFwcDwvdmFybmFtZT4g44OR44OD44Kx44O844K444Gu5Lit44Gr44GC44KL5aC05ZCI44Gv44CBIDxmaWxlbmFtZSBjbGFzcz0iZGlyZWN0b3J5Ij5vcmc8L2ZpbGVuYW1lPiDjg4fjgqPjg6zjgq/jg4jjg6rjg7zjga7opqrjg4fjgqPjg6zjgq/jg4jjg6rjg7zjgpLjgr3jg7zjgrnjg4fjgqPjg6zjgq/jg4jjg6rjg7zjg6rjgrnjg4jjgavmjIflrprjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuOCguOBhuOBsuOBqOOBpOOAgeS7u+aEj+aMh+WumuOBruaJi+mghuOBjOOBguOCiuOBvuOBmeOAguOBneOCjOOBr+OAgeijnOWKqeeUqOOBriBKYXIg44OV44Kh44Kk44Or44GK44KI44Gz44OH44Kj44Os44Kv44OI44Oq44O844KSIOOAjEF1eGlsaWFyeSBjbGFzc3BhdGggbG9jYXRpb25z44CN44Gu44Ko44Oz44OI44Oq44O844Gr6L+95Yqg44GZ44KL44GT44Go44Gn44GZ44CC5YiG5p6Q44GZ44KL44Ki44O844Kr44Kk44OWL+ODh+OCo+ODrOOCr+ODiOODquODvOOBq+OCguaomea6luOBruWun+ihjOaZguOCr+ODqeOCueODkeOCueOBq+OCguWQq+OBvuOCjOOBpuOBhOOBquOBhOOCr+ODqeOCueOCkuOAgeWIhuaekOOBmeOCi+OCouODvOOCq+OCpOODli/jg4fjgqPjg6zjgq/jg4jjg6rjg7zjgYzlj4LnhafjgZfjgabjgYTjgovloLTlkIjjga/jgIHjgZPjga7poIXnm67jgpLoqK3lrprjgZfjgZ/mlrnjgYzjgYTjgYTjgafjgZfjgofjgYbjgILjgq/jg6njgrnpmo7lsaTjgavplqLjgZnjgovmg4XloLHjgpLkvb/nlKjjgZnjgovjg5DjgrDjg4fjgqPjg4bjgq/jgr/jgYzjgIEgJkZpbmRCdWdzOyDjgavjga/jgYTjgY/jgaTjgYvjgYLjgorjgb7jgZnjgILjgZfjgZ/jgYzjgaPjgabjgIEmRmluZEJ1Z3M7IOOBjOWIhuaekOOCkuihjOOBhuOCr+ODqeOCueOBruWujOWFqOOBquOCr+ODqeOCuemajuWxpOOCkuWPgueFp+OBp+OBjeOCjOOBsOOAgeOCiOOCiuato+eiuuOBquWIhuaekOe1kOaenOOCkuWPluW+l+OBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPuWIhuaekOOBruWun+ihjDwvdGl0bGU+Ci08cGFyYT7jgqLjg7zjgqvjgqTjg5bjgIHjg4fjgqPjg6zjgq/jg4jjg6rjg7zjgYrjgojjgbPjgr3jg7zjgrnjg4fjgqPjg6zjgq/jg4jjg6rjg7zjga7mjIflrprjgYzjgafjgY3jgozjgbDjgIHjgIxGaW5pc2jjgI3jg5zjgr/jg7PjgpLmirzjgZfjgaYgSmFyIOODleOCoeOCpOODq+OBq+WQq+OBvuOCjOOCi+OCr+ODqeOCueOBq+WvvuOBmeOCi+WIhuaekOOCkuWun+ihjOOBl+OBvuOBmeOAguW3qOWkp+OBquODl+ODreOCuOOCp+OCr+ODiOOCkuWPpOOBhOOCs+ODs+ODlOODpeODvOOCv+S4iuOBp+Wun+ihjOOBmeOCi+OBqOOAgeOBi+OBquOCiuOBruaZgumWkyjmlbDljYHliIYp44GM44GL44GL44KL44GT44Go44Gr5rOo5oSP44GX44Gm44GP44Gg44GV44GE44CC5aSn5a656YeP44Oh44Oi44Oq44Gn44GC44KL5pyA6L+R44Gu44Kz44Oz44OU44Ol44O844K/44Gq44KJ44CB5aSn44GN44Gq44OX44Ot44Kw44Op44Og44Gn44GC44Gj44Gm44KC5pWw5YiG56iL5bqm44Gn5YiG5p6Q44Gn44GN44G+44GZ44CCPC9wYXJhPgotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPue1kOaenOOBrumWsuimpzwvdGl0bGU+Ci0KLTxwYXJhPuWIhuaekOOBjOWujOS6huOBmeOCi+OBqOOAgeasoeOBruOCiOOBhuOBqueUu+mdouOBjOihqOekuuOBleOCjOOBvuOBmSA6PG1lZGlhb2JqZWN0PgotICA8aW1hZ2VvYmplY3Q+Ci0gICAgPGltYWdlZGF0YSBmaWxlcmVmPSJleGFtcGxlLWRldGFpbHMucG5nIi8+Ci0gIDwvaW1hZ2VvYmplY3Q+Ci08L21lZGlhb2JqZWN0PgotPC9wYXJhPgotCi08cGFyYT7lt6bkuIrjga7jg5rjgqTjg7Pjgavjga/jg5DjgrDpmo7lsaTjg4Tjg6rjg7zjgYzooajnpLrjgZXjgozjgb7jgZnjgILjgZPjgozjga/jgIHliIbmnpDjgafjgb/jgaTjgYvjgaPjgZ/jg5DjgrDjga7mpJzntKLntZDmnpzjgYzpmo7lsaTnmoTjgavooajnpLrjgZXjgozjgZ/jgoLjga7jgafjgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuS4iumDqOOBruODmuOCpOODs+OBp+ODkOOCsOaknOe0oue1kOaenOOCkumBuOaKnuOBmeOCi+OBqOOAgeS4i+mDqOOBruOAjERldGFpbHPjgI3jg5rjgqTjg7Pjgavjg5DjgrDjga7oqbPntLDoqqzmmI7jgYzooajnpLrjgZXjgozjgb7jgZnjgILmm7TjgavjgIHjgr3jg7zjgrnjgYzjgb/jgaTjgYvjgozjgbDjgIHlj7PkuIrjga7jgr3jg7zjgrnjgrPjg7zjg4njg5rjgqTjg7Pjgavjg5DjgrDjga7lh7rnj77nrofmiYDjgavoqbLlvZPjgZnjgovjgr3jg7zjgrnjgrPjg7zjg4njgYzooajnpLrjgZXjgozjgb7jgZnjgILkuIrlm7Pjga7kvovjgafooajnpLrjgZXjgozjgabjgYTjgovjg5DjgrDjga/jgIHjgrnjg4jjg6rjg7zjg6Djgqrjg5bjgrjjgqfjgq/jg4jjgYzjgq/jg63jg7zjgrrjgZXjgozjgabjgYTjgarjgYTjgajjgYTjgYbjgoLjga7jgafjgZnjgILjgr3jg7zjgrnjgrPjg7zjg4njg7vjgqbjgqPjg7Pjg4njgqbjgavjgYrjgYTjgablvZPoqbLjgrnjg4jjg6rjg7zjg6Djgqrjg5bjgrjjgqfjgq/jg4jjgpLnlJ/miJDjgZfjgabjgYTjgovooYzjgYzjg4/jgqTjg6njgqTjg4jjgZXjgozjgabjgYTjgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuODkOOCsOOBruaknOe0oue1kOaenOOBq+WvvuOBl+OBpuODhuOCreOCueODiOOBp+azqOmHiOOCkuWFpeOCjOOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgumajuWxpOODhOODquODvOWbs+OBruOBmeOBkOS4i+OBq+OBguOCi+ODhuOCreOCueODiOODnOODg+OCr+OCueOBq+azqOmHiOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAguiomOmMsuOBl+OBpuOBiuOBjeOBn+OBhOaDheWgseOCkuS9leOBp+OCguiHqueUseOBq+WFpeWKm+OBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguODkOOCsOe1kOaenOODleOCoeOCpOODq+OBruS/neWtmOOBiuOCiOOBs+iqreOBv+i+vOOBv+OCkuihjOOBo+OBn+OBqOOBjeOBq+OAgeazqOmHiOOCguS/neWtmOOBleOCjOOBvuOBmeOAgjwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPuS/neWtmOOBqOiqreOBv+i+vOOBvzwvdGl0bGU+Ci0KLTxwYXJhPuODoeODi+ODpeODvOmgheebruOBi+OCiSA8bWVudWNob2ljZT48Z3VpbWVudT5GaWxlPC9ndWltZW51PjxndWltZW51aXRlbT5TYXZlIGFzLi4uPC9ndWltZW51aXRlbT48L21lbnVjaG9pY2U+IOOCkumBuOaKnuOBmeOCi+OBqOOAgeODpuODvOOCtuODvOOBruS9nOalree1kOaenOOCkuS/neWtmOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOAjFNhdmUgYXMuLi7jgI3jg4DjgqTjgqLjg63jgrDjgavjgYLjgovjg4njg63jg4Pjg5fjg4Djgqbjg7Pjg7vjg6rjgrnjg4jjga7kuK3jgYvjgonjgIxGaW5kQnVncyBhbmFseXNpcyByZXN1bHRzICgueG1sKeOAjeOCkumBuOaKnuOBk+OBqOOBp+OAgeODpuODvOOCtuODvOOBjOaMh+WumuOBl+OBnyBqYXIg44OV44Kh44Kk44Or44Oq44K544OI44KE44OQ44Kw5qSc57Si57WQ5p6c44Gq44Gp44Gu5L2c5qWt57WQ5p6c44KS5L+d5a2Y44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CC44G+44Gf44CBamFyIOODleOCoeOCpOODq+ODquOCueODiOOBruOBv+OCkuS/neWtmOOBmeOCi+mBuOaKnuiCoiAo44CMRmluZEJ1Z3MgcHJvamVjdCBmaWxlICguZmJwKeOAjSkg44KE44OQ44Kw5qSc57Si57WQ5p6c44Gu44G/44KS5L+d5a2Y44GZ44KL6YG45oqe6IKiICjjgIxGaW5kQnVncyBhbmFseXNpcyBmaWxlICguZmJhKeOAjSkg44KC44GC44KK44G+44GZ44CC5L+d5a2Y44GX44Gf44OV44Kh44Kk44Or44Gv44CB44Oh44OL44Ol44O86aCF55uu44GL44KJIDxtZW51Y2hvaWNlPjxndWltZW51PkZpbGU8L2d1aW1lbnU+PGd1aW1lbnVpdGVtPk9wZW4uLi48L2d1aW1lbnVpdGVtPjwvbWVudWNob2ljZT4g44KS6YG45oqe44GZ44KL44GT44Go44Gn44CB6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotCi08L3NlY3QxPgotCi08IS0tCi08c2VjdDEgaWQ9InRleHR1aSI+Ci08dGl0bGU+VXNpbmcgdGhlICZGaW5kQnVnczsmdHJhZGU7IENvbW1hbmQgTGluZSBJbnRlcmZhY2U8L3RpdGxlPgotCi08cGFyYT4KLVRoZSAmRmluZEJ1Z3M7IENvbW1hbmQgTGluZSBJbnRlcmZhY2UgKG9yIFRleHQgVUkpIGNhbiBiZSB1c2VkIHRvCi1hbmFseXplIGFuIGFwcGxpY2F0aW9uIGZvciBidWdzIG5vbi1pbnRlcmFjdGl2ZWx5LiAgRWFjaCBidWcgaW5zdGFuY2Ugd2lsbCBiZQotcmVwb3J0ZWQgb24gYSBzaW5nbGUgbGluZS4gIEFsbCBvdXRwdXQgaXMgd3JpdHRlbiB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IGZpbGUgZGVzY3JpcHRvci4KLTx4cmVmIGxpbmtlbmQ9ImZpbHRlciIgLz4gZXhwbGFpbnMgaG93IGJ1ZyByZXBvcnRzIG1heSBiZSBmaWx0ZXJlZCBpbiBvcmRlcgotdG8gZ2V0IG9ubHkgdGhlIG91dHB1dCB5b3UncmUgaW50ZXJlc3RlZCBpbi4KLTwvcGFyYT4KLQotPHBhcmE+Ci1TZWUgPHhyZWYgbGlua2VuZD0iY29tbWFuZExpbmVPcHRpb25zIiAvPiBmb3IgYSBkZXNjcmlwdGlvbiBvZiBob3cgdG8gaW52b2tlIHRoZQotQ29tbWFuZCBMaW5lIEludGVyZmFjZS4KLTwvcGFyYT4KLTwvc2VjdDE+Ci0tLT4KLQotPC9jaGFwdGVyPgotCi08IS0tCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAgVXNpbmcgdGhlIEZpbmRCdWdzIEFudCB0YXNrCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJhbnR0YXNrIj4KLTx0aXRsZT4mRmluZEJ1Z3M7JnRyYWRlOyAmQW50OyDjgr/jgrnjgq/jga7kvb/nlKjmlrnms5U8L3RpdGxlPgotCi08cGFyYT7jgZPjga7nq6Djgafjga/jgIEgJkZpbmRCdWdzOyDjgpIgPHVsaW5rIHVybD0iaHR0cDovL2FudC5hcGFjaGUub3JnLyI+JkFudDs8L3VsaW5rPiDjga7jg5Pjg6vjg4njgrnjgq/jg6rjg5fjg4jjgavntYTjgb/lhaXjgozjgovmlrnms5XjgavjgaTjgYTjgaboqqzmmI7jgZfjgb7jgZnjgIIgPHVsaW5rIHVybD0iaHR0cDovL2FudC5hcGFjaGUub3JnLyI+JkFudDs8L3VsaW5rPiDjga/jgIHjg5Pjg6vjg4njgoTphY3lgpnjgpLooYzjgYbjgZPjgajjgYzjgafjgY3jgosgSmF2YSDjgafjgojjgY/kvb/nlKjjgZXjgozjgovjg4Tjg7zjg6vjgafjgZnjgIImRmluZEJ1Z3M7ICZBbnQ7IOOCv+OCueOCr+OCkuS9v+eUqOOBmeOCi+OBqOOAgSDjg5Pjg6vjg4njgrnjgq/jg6rjg5fjg4jjgpLkvZzmiJDjgZfjgabmqZ/morDnmoTjgasgJkZpbmRCdWdzOyDjgavjgojjgosgSmF2YSDjgrPjg7zjg4njga7liIbmnpDjgpLlrp/ooYzjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuOBk+OBriAmQW50OyDjgr/jgrnjgq/jga/jgIEgTWlrZSBGYWdhbiDmsI/jga7lpJrlpKfjgarosqLnjK7jgavjgojjgovjgoLjga7jgafjgZnjgII8L3BhcmE+Ci0KLTxzZWN0MT4KLTx0aXRsZT4mQW50OyDjgr/jgrnjgq/jga7jgqTjg7Pjgrnjg4jjg7zjg6s8L3RpdGxlPgotCi08cGFyYT4mQW50OyDjgr/jgrnjgq/jga7jgqTjg7Pjgrnjg4jjg7zjg6vjga/jgIEgPGZpbGVuYW1lPiZGQkhvbWU7L2xpYi9maW5kYnVncy1hbnQuamFyPC9maWxlbmFtZT4g44KSICZBbnQ7IOOCpOODs+OCueODiOODvOODq+ODh+OCo+ODrOOCr+ODiOODquODvOOBrjxmaWxlbmFtZT5saWI8L2ZpbGVuYW1lPiDjgrXjg5bjg4fjgqPjg6zjgq/jg4jjg6rjg7zjgavjgrPjg5Tjg7zjgZnjgovjgaDjgZHjgafjgZnjgII8bm90ZT4KLTxwYXJhPuS9v+eUqOOBmeOCiyAmQW50OyDjgr/jgrnjgq/jgaggJkZpbmRCdWdzOyDmnKzkvZPjga/jgIHlkIzmorHjgZXjgozjgabjgYTjgZ/lkIzjgZjjg5Djg7zjgrjjg6fjg7Pjga7jgoLjga7jgpLkvb/nlKjjgZnjgovjgZPjgajjgpLlvLfjgY/mjqjlpajjgZfjgb7jgZnjgILliKXjga7jg5Djg7zjgrjjg6fjg7Pjga4gJkZpbmRCdWdzOyDjgavlkKvjgb7jgozjgabjgYTjgZ8gJkFudDsg44K/44K544KvIEphciDjg5XjgqHjgqTjg6vjgafjga7li5XkvZzjga/kv53oqLzjgZfjgb7jgZvjgpPjgII8L3BhcmE+Ci08L25vdGU+Ci08L3BhcmE+Ci0KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5idWlsZC54bWwg44Gu5pu444GN5pa5PC90aXRsZT4KLQotPHBhcmE+JkZpbmRCdWdzOyDjgpIgPGZpbGVuYW1lPmJ1aWxkLnhtbDwvZmlsZW5hbWU+ICgmQW50OyDjg5Pjg6vjg4njgrnjgq/jg6rjg5fjg4gpIOOBq+e1hOOBv+WFpeOCjOOCi+OBn+OCgeOBq+OBr+OBvuOBmuOAgeOCv+OCueOCr+Wumue+qeOCkuiomOi/sOOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmeOAguOCv+OCueOCr+Wumue+qeOBr+asoeOBruOCiOOBhuOBq+iomOi/sOOBl+OBvuOBmeOAgjo8c2NyZWVuPgotICAmbHQ7dGFza2RlZiBuYW1lPSZxdW90O2ZpbmRidWdzJnF1b3Q7IGNsYXNzbmFtZT0mcXVvdDtlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suRmluZEJ1Z3NUYXNrJnF1b3Q7LyZndDsKLTwvc2NyZWVuPuOCv+OCueOCr+Wumue+qeOBr+OAgSA8bGl0ZXJhbD5maW5kYnVnczwvbGl0ZXJhbD4g6KaB57Sg44KSIDxmaWxlbmFtZT5idWlsZC54bWw8L2ZpbGVuYW1lPiDkuIrjgavoqJjov7DjgZfjgZ/jgajjgY3jgIHjgZ3jga7jgr/jgrnjgq/jga7lrp/ooYzjgavkvb/nlKjjgZXjgozjgovjgq/jg6njgrnjgpLmjIflrprjgZfjgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuOCv+OCueOCr+Wumue+qeOBruiomOi/sOOCkuOBmeOCjOOBsOOAgTxsaXRlcmFsPmZpbmRidWdzPC9saXRlcmFsPiDjgr/jgrnjgq/jgpLkvb/jgaPjgabjgr/jg7zjgrLjg4Pjg4jjgpLlrprnvqnjgafjgY3jgb7jgZnjgILmrKHjgavnpLrjgZnjga7jga/jgIEgQXBhY2hlIDx1bGluayB1cmw9Imh0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcvYmNlbC8iPkJDRUw8L3VsaW5rPiDjg6njgqTjg5bjg6njg6rjg7zjgpLliIbmnpDjgZnjgovloLTlkIjjgpLmg7PlrprjgZfjgZ8gPGZpbGVuYW1lPmJ1aWxkLnhtbDwvZmlsZW5hbWU+IOOBruiomOi/sOS+i+OBp+OBmeOAgjxzY3JlZW4+Ci0gICZsdDtwcm9wZXJ0eSBuYW1lPSZxdW90O2ZpbmRidWdzLmhvbWUmcXVvdDsgdmFsdWU9JnF1b3Q7L2V4cG9ydC9ob21lL2RhdmVoby93b3JrL2ZpbmRidWdzJnF1b3Q7IC8mZ3Q7Ci0KLSAgJmx0O3RhcmdldCBuYW1lPSZxdW90O2ZpbmRidWdzJnF1b3Q7IGRlcGVuZHM9JnF1b3Q7amFyJnF1b3Q7Jmd0OwotICAgICZsdDtmaW5kYnVncyBob21lPSZxdW90OyR7ZmluZGJ1Z3MuaG9tZX0mcXVvdDsKLSAgICAgICAgICAgICAgb3V0cHV0PSZxdW90O3htbCZxdW90OwotICAgICAgICAgICAgICBvdXRwdXRGaWxlPSZxdW90O2JjZWwtZmIueG1sJnF1b3Q7ICZndDsKLSAgICAgICZsdDthdXhDbGFzc3BhdGggcGF0aD0mcXVvdDske2Jhc2VkaXJ9L2xpYi9SZWdleC5qYXImcXVvdDsgLyZndDsKLSAgICAgICZsdDtzb3VyY2VQYXRoIHBhdGg9JnF1b3Q7JHtiYXNlZGlyfS9zcmMvamF2YSZxdW90OyAvJmd0OwotICAgICAgJmx0O2NsYXNzIGxvY2F0aW9uPSZxdW90OyR7YmFzZWRpcn0vYmluL2JjZWwuamFyJnF1b3Q7IC8mZ3Q7Ci0gICAgJmx0Oy9maW5kYnVncyZndDsKLSAgJmx0Oy90YXJnZXQmZ3Q7Ci08L3NjcmVlbj48bGl0ZXJhbD5maW5kYnVnczwvbGl0ZXJhbD4g6KaB57Sg44Gr44Gv44CBIDxsaXRlcmFsPmhvbWU8L2xpdGVyYWw+IOWxnuaAp+OBjOW/hemgiOOBp+OBmeOAgiAmRmluZEJ1Z3M7IOOBruOCpOODs+OCueODiOODvOODq+ODh+OCo+ODrOOCr+ODiOODquODvOOBmeOBquOCj+OBoSAmRkJIb21lOyDjga7lgKTjgpLoqK3lrprjgZfjgb7jgZnjgII8eHJlZiBsaW5rZW5kPSJpbnN0YWxsaW5nIi8+IOOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAgjwvcGFyYT4KLQotPHBhcmE+44GT44Gu44K/44O844Ky44OD44OI44GvIDxmaWxlbmFtZT5iY2VsLmphcjwvZmlsZW5hbWU+IOOBq+WvvuOBl+OBpiAmRmluZEJ1Z3M7IOOCkuWun+ihjOOBl+OBvuOBmeOAguOBk+OBriBKYXIg44OV44Kh44Kk44Or44Gv44CBIEJDRUwg44OT44Or44OJ44K544Kv44Oq44OX44OI44Gr44KI44Gj44Gm5L2c5oiQ44GV44KM44KL44KC44Gu44Gn44GZ44CCKOS4iuiomOOBruOCv+ODvOOCsuODg+ODiOOBjOOAjGphcuOAjeOCv+ODvOOCsuODg+ODiOOBq+S+neWtmOOBl+OBpuOBhOOCiyAoZGVwZW5kcykg44Go6Kit5a6a44GZ44KL44GT44Go44Gr44KI44KK44CBICZGaW5kQnVnczsg44GM5a6f6KGM44GV44KM44KL5YmN44Gr5b2T6Kmy44Op44Kk44OW44Op44Oq44O844GM5a6M5YWo44Gr44Kz44Oz44OR44Kk44Or44GV44KM44Gm44GE44KL44GT44Go44KS5L+d6Ki844GX44Gm44GE44G+44GZ44CCKSAmRmluZEJ1Z3M7IOOBruWHuuWKm+OBr+OAgSBYTUwg5b2i5byP44GnIDxmaWxlbmFtZT5iY2VsLWZiLnhtbDwvZmlsZW5hbWU+IOODleOCoeOCpOODq+OBq+S/neWtmOOBleOCjOOBvuOBmeOAguijnOWKqSBKYXIg44OV44Kh44Kk44OrIDxmaWxlbmFtZT5SZWdleC5qYXI8L2ZpbGVuYW1lPiDjgpIgYXV4IGNsYXNzcGF0aCDjgavoqJjov7DjgZfjgabjgYTjgb7jgZnjgILjgarjgZzjgarjgonjgIHlvZPoqbIgSmFyIOODleOCoeOCpOODq+OBjCBCQ0VMIOODoeOCpOODs++9peODqeOCpOODluODqeODquODvOOBi+OCieWPgueFp+OBleOCjOOCi+OBi+OCieOBp+OBmeOAgnNvdXJjZSBwYXRoIOOCkuaMh+WumuOBmeOCi+OBk+OBqOOBp+OAgeS/neWtmOOBleOCjOOCi+ODkOOCsOODh+ODvOOCv+OBqyBCQ0VMIOOCveODvOOCueOCs+ODvOODieOBuOOBruato+eiuuOBquWPgueFp+OBjOiomOi/sOOBleOCjOOBvuOBmeOAgjwvcGFyYT4KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT7jgr/jgrnjgq/jga7lrp/ooYw8L3RpdGxlPgotCi08cGFyYT7jgrPjg57jg7Pjg4njg6njgqTjg7PjgYvjgokgJkFudDsg44KS6LW35YuV44GZ44KL5L6L44KS5qyh44Gr56S644GX44G+44GZ44CC5YmN6L+w44GuIDxsaXRlcmFsPmZpbmRidWdzPC9saXRlcmFsPiDjgr/jg7zjgrLjg4Pjg4jjgpLkvb/nlKjjgZfjgabjgYTjgb7jgZnjgII8c2NyZWVuPgotICA8cHJvbXB0PltkYXZlaG9Abm9pcl0kPC9wcm9tcHQ+IDxjb21tYW5kPmFudCBmaW5kYnVnczwvY29tbWFuZD4KLSAgQnVpbGRmaWxlOiBidWlsZC54bWwKLQotICBpbml0OgotCi0gIGNvbXBpbGU6Ci0KLSAgZXhhbXBsZXM6Ci0KLSAgamFyOgotCi0gIGZpbmRidWdzOgotICAgW2ZpbmRidWdzXSBSdW5uaW5nIEZpbmRCdWdzLi4uCi0gICBbZmluZGJ1Z3NdIEJ1Z3Mgd2VyZSBmb3VuZAotICAgW2ZpbmRidWdzXSBPdXRwdXQgc2F2ZWQgdG8gYmNlbC1mYi54bWwKLQotICBCVUlMRCBTVUNDRVNTRlVMCi0gIFRvdGFsIHRpbWU6IDM1IHNlY29uZHMKLTwvc2NyZWVuPuOBk+OBruS6i+S+i+OBq+OBiuOBhOOBpuOBr+OAgVhNTCDjg5XjgqHjgqTjg6vjgafjg5DjgrDmpJzntKLntZDmnpzjgpLkv53lrZjjgZfjgabjgYTjgovjga7jgafjgIEgJkZpbmRCdWdzOyBHVUkg44KS5L2/44Gj44Gm57WQ5p6c44KS5Y+C54Wn44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCIDx4cmVmIGxpbmtlbmQ9InJ1bm5pbmciLz4g44KS5Y+C54Wn44GX44Gm44GP44Gg44GV44GE44CCPC9wYXJhPgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+44OR44Op44Oh44O844K/44O8PC90aXRsZT4KLQotPHBhcmE+44GT44Gu44K744Kv44K344On44Oz44Gn44Gv44CBICZGaW5kQnVnczsg44K/44K544Kv44KS5L2/55So44GZ44KL6Zqb44Gr44CB5oyH5a6a44GZ44KL44GT44Go44GM44Gn44GN44KL44OR44Op44Oh44O844K/44O844Gr44Gk44GE44Gm6Kqs5piO44GX44G+44GZ44CCPHZhcmlhYmxlbGlzdD4gPHZhcmxpc3RlbnRyeT4gPHRlcm0+PGxpdGVyYWw+Y2xhc3M8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7liIbmnpDjga7lr77osaHjgajjgarjgovjgq/jg6njgrnnvqTjgpLmjIflrprjgZnjgovjgZ/jgoHjga7jg43jgrnjg4jjgZXjgozjgovopoHntKDjgafjgZnjgII8bGl0ZXJhbD5jbGFzczwvbGl0ZXJhbD4g6KaB57Sg44Gr44GvIDxsaXRlcmFsPmxvY2F0aW9uPC9saXRlcmFsPiDlsZ7mgKfjga7mjIflrprjgYzlv4XpoIjjgafjgZnjgILliIbmnpDlr77osaHjgajjgarjgovjgqLjg7zjgqvjgqTjg5bjg5XjgqHjgqTjg6sgKGphciwgemlwLCDku5Yp44CB44OH44Kj44Os44Kv44OI44Oq44O844G+44Gf44Gv44Kv44Op44K544OV44Kh44Kk44Or44Gu5ZCN5YmN44KS6KiY6L+w44GX44G+44GZ44CCMSDjgaTjga4gPGxpdGVyYWw+ZmluZGJ1Z3M8L2xpdGVyYWw+IOimgee0oOOBq+WvvuOBl+OBpuOAgeikh+aVsOOBriA8bGl0ZXJhbD5jbGFzczwvbGl0ZXJhbD4g5a2Q6KaB57Sg44KS5oyH5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+YXV4Q2xhc3NwYXRoPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+5Lu75oSP5oyH5a6a44Gu44ON44K544OI44GV44KM44KL6KaB57Sg44Gn44GZ44CC5YiG5p6Q5a++6LGh44Gu44Op44Kk44OW44Op44Oq44O844G+44Gf44Gv44Ki44OX44Oq44Kx44O844K344On44Oz44Gr44KI44Gj44Gm5L2/55So44GV44KM44Gm44GE44KL44GM5YiG5p6Q44Gu5a++6LGh44Gr44Gv44GX44Gf44GP44Gq44GE44Kv44Op44K544KS5ZCr44KT44Gn44GE44KL44Kv44Op44K544OR44K5IChKYXIg44OV44Kh44Kk44Or44G+44Gf44Gv44OH44Kj44Os44Kv44OI44Oq44O8KSDjgpLmjIflrprjgZfjgb7jgZnjgIIgICZBbnQ7IOOBriBKYXZhIOOCv+OCueOCr+OBq+OBguOCiyA8bGl0ZXJhbD5jbGFzc3BhdGg8L2xpdGVyYWw+IOimgee0oCDjgajlkIzjgZjmlrnms5XjgafmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5zb3VyY2VQYXRoPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+5Lu75oSP5oyH5a6a44Gu44ON44K544OI44GV44KM44KL6KaB57Sg44Gn44GZ44CC5YiG5p6Q5a++6LGhIEphdmEg44Kz44O844OJ44Gu44Kz44Oz44OR44Kk44Or5pmC44Gr5L2/55So44GX44Gf44K944O844K544OV44Kh44Kk44Or44KS5ZCr44KT44Gn44GE44KL44K944O844K544OH44Kj44Os44Kv44OI44Oq44O844G444Gu44OR44K544KS5oyH5a6a44GX44G+44GZ44CC44K944O844K544OR44K544KS5oyH5a6a44GZ44KL44GT44Go44Gr44KI44KK44CB55Sf5oiQ44GV44KM44KLIFhNTCDjga7jg5DjgrDlh7rlipvntZDmnpzjgavlrozlhajjgarjgr3jg7zjgrnmg4XloLHjgpLjgoLjgZ/jgZvjgovjgZPjgajjgYzjgafjgY3jgIHlvozjgavjgarjgaPjgaYgR1VJIOOBp+WPgueFp+OBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPmhvbWU8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7lv4XpoIjlsZ7mgKfjgafjgZnjgIImRmluZEJ1Z3M7IOOBjOOCpOODs+OCueODiOODvOODq+OBleOCjOOBpuOBhOOCi+ODh+OCo+ODrOOCr+ODiOODquODvOWQjeOCkuioreWumuOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPnF1aWV0RXJyb3JzPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+5Lu75oSP5oyH5a6a44Gu44OW44O844Or5YCk5bGe5oCn44Gn44GZ44CCdHJ1ZSDjgpLoqK3lrprjgZnjgovjgajjgIHmt7HliLvjgarliIbmnpDjgqjjg6njg7znmbrnlJ/jgoTjgq/jg6njgrnjgYzjgb/jgaTjgYvjgonjgarjgYTjgajjgYTjgaPjgZ/mg4XloLHjgYwgJkZpbmRCdWdzOyDlh7rlipvjgavoqJjpjLLjgZXjgozjgb7jgZvjgpPjgILjg4fjg5Xjgqnjg6vjg4jjga/jgIEgZmFsc2Ug44Gn44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+cmVwb3J0TGV2ZWw8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgILloLHlkYrjgZXjgozjgovjg5DjgrDjga7lhKrlhYjluqbjga7jgZfjgY3jgYTlgKTjgpLmjIflrprjgZfjgb7jgZnjgILjgIxsb3fjgI3jgavoqK3lrprjgZnjgovjgajjgIHjgZnjgbnjgabjga7jg5DjgrDjgYzloLHlkYrjgZXjgozjgb7jgZnjgILjgIxtZWRpdW3jgI0gKOODh+ODleOCqeODq+ODiCkg44Gr6Kit5a6a44GZ44KL44Go44CB5YSq5YWI5bqmICjkuK0p44GK44KI44Gz5YSq5YWI5bqmICjpq5gp44Gu44OQ44Kw44GM5aCx5ZGK44GV44KM44G+44GZ44CC44CMaGlnaOOAjeOBq+ioreWumuOBmeOCi+OBqOOAgeWEquWFiOW6piAo6auYKSDjga7jg5DjgrDjga7jgb/jgYzloLHlkYrjgZXjgozjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5vdXRwdXQ8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgILlh7rlipvlvaLlvI/jgpLmjIflrprjgZfjgb7jgZnjgILjgIx4bWzjgI0gKOODh+ODleOCqeODq+ODiCkg44Gr6Kit5a6a44GZ44KL44Go44CB5Ye65Yqb44GvIFhNTCDlvaLlvI/jgavjgarjgorjgb7jgZnjgILjgIx4bWw6d2l0aE1lc3NhZ2Vz44CNIOOBq+ioreWumuOBmeOCi+OBqOOAgeWHuuWKm+OBr+S6uumWk+OBjOiqreOCgeOCi+ODoeODg+OCu+ODvOOCuCDjgYzov73liqDjgZXjgozjgZ8gWE1MIOW9ouW8j+OBq+OBquOCiuOBvuOBmeOAgihYU0wg44K544K/44Kk44Or44K344O844OI44KS5L2/44Gj44Gm44Os44Od44O844OI44KS5L2c5oiQ44GZ44KL44GT44Go44KS6KiI55S744GX44Gm44GE44KL5aC05ZCI44Gv44GT44Gu5b2i5byP44KS5L2/55So44GX44Gm44GP44Gg44GV44GE44CCKSDjgIxodG1s44CN44Gr6Kit5a6a44GZ44KL44Go44CB5Ye65Yqb44GvIEhUTUwg5b2i5byPKOODh+ODleOCqeODq+ODiOOBruOCueOCv+OCpOODq+OCt+ODvOODiOOBryBkZWZhdWx0LnhzbCkg44Gr44Gq44KK44G+44GZ44CCIOOAjHRleHTjgI3jgavoqK3lrprjgZnjgovjgajjgIHlh7rlipvjga/nibnliKXjgarjg4bjgq3jgrnjg4jlvaLlvI/jgavjgarjgorjgb7jgZnjgILjgIxlbWFjc+OAjeOBq+ioreWumuOBmeOCi+OBqOOAgeWHuuWKm+OBryA8dWxpbmsgdXJsPSJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIj5FbWFjczwvdWxpbms+IOOCqOODqeODvOODoeODg+OCu+ODvOOCuOW9ouW8j+OBq+OBquOCiuOBvuOBmeOAguOAjHhkb2Nz44CN44Gr6Kit5a6a44GZ44KL44Go44CB5Ye65Yqb44GvIEFwYWNoZSBNYXZlbiDjgafkvb/nlKjjgafjgY3jgosgeGRvYyBYTUwg44Gr44Gq44KK44G+44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+c3R5bGVzaGVldDwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPuS7u+aEj+aMh+WumuOBruWxnuaAp+OBp+OBmeOAgm91dHB1dCDlsZ7mgKcg44GrIGh0bWwg44KS5oyH5a6a44GX44Gf5aC05ZCI44Gr44CBIEhUTUwg5Ye65Yqb5L2c5oiQ44Gr5L2/55So44GV44KM44KL44K544K/44Kk44Or44K344O844OI44KS5oyH5a6a44GX44G+44GZ44CCRmluZEJ1Z3Mg6YWN5biD54mp44Gr5ZCr44G+44KM44Gm44GE44KL44K544K/44Kk44Or44K344O844OI44Gv44CBIGRlZmF1bHQueHNs44CBIGZhbmN5LnhzbCDjgIEgZmFuY3ktaGlzdC54c2wg44CBIHBsYWluLnhzbCDjgYrjgojjgbMgc3VtbWFyeS54c2wg44Gn44GZ44CC44OH44OV44Kp44Or44OI5YCk44GvIGRlZmF1bHQueHNsIOOBp+OBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPnNvcnQ8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgII8bGl0ZXJhbD5vdXRwdXQ8L2xpdGVyYWw+IOWxnuaAp+OBq+OAjHRleHTjgI3jgpLmjIflrprjgZfjgZ/loLTlkIjjgavjgIHjg5DjgrDjga7loLHlkYrjgpLjgq/jg6njgrnpoIbjgavjgr3jg7zjg4jjgZnjgovjgYvjganjgYbjgYvjgpIgPGxpdGVyYWw+c29ydDwvbGl0ZXJhbD4g5bGe5oCn44Gn5oyH5a6a44GX44G+44GZ44CC44OH44OV44Kp44Or44OI44Gv44CBIHRydWUg44Gn44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+b3V0cHV0RmlsZTwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPuS7u+aEj+aMh+WumuOBruWxnuaAp+OBp+OBmeOAguaMh+WumuOBl+OBn+WgtOWQiOOAgSZGaW5kQnVnczsg44Gu5Ye65Yqb44Gv44Gd44Gu5ZCN5YmN44Gu44OV44Kh44Kk44Or44G444Go5L+d5a2Y44GV44KM44G+44GZ44CC55yB55Wl5pmC44CB5Ye65Yqb44GvICZBbnQ7IOOBq+OCiOOBo+OBpuebtOaOpeihqOekuuOBleOCjOOBvuOBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPmRlYnVnPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+5Lu75oSP5oyH5a6a44Gu44OW44O844Or5YCk5bGe5oCn44Gn44GZ44CCdHJ1ZSDjgavoqK3lrprjgZnjgovjgajjgIEgJkZpbmRCdWdzOyDjga8g6Ki65pat5oOF5aCx44KS5Ye65Yqb44GX44G+44GZ44CC44Gp44Gu44Kv44Op44K544KS5YiG5p6Q44GX44Gm44GE44KL44GL44CB44Gp44Gu44OR44Kw44OR44K/44O844Oz44OH44Kj44OG44Kv44K/44GM5a6f6KGM44GV44KM44Gm44GE44KL44GL44CB44Go44GE44GG5oOF5aCx44GM6KGo56S644GV44KM44G+44GZ44CC44OH44OV44Kp44Or44OI44Gv44CBIGZhbHNlIOOBp+OBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgICAgPHRlcm0+PGxpdGVyYWw+ZWZmb3J0PC9saXRlcmFsPjwvdGVybT4KLSAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICA8cGFyYT7liIbmnpDjga7mtLvli5Xjg6zjg5njg6vjgpLoqK3lrprjgZfjgb7jgZnjgII8bGl0ZXJhbD5taW48L2xpdGVyYWw+IOOAgTxsaXRlcmFsPmRlZmF1bHQ8L2xpdGVyYWw+IOOBvuOBn+OBryA8bGl0ZXJhbD5tYXg8L2xpdGVyYWw+IOOBruOBhOOBmuOCjOOBi+OBruWApOOCkuioreWumuOBl+OBpuOBj+OBoOOBleOBhOOAguWIhuaekOODrOODmeODq+OBruioreWumuOBq+mWouOBmeOCi+ips+e0sOaDheWgseOBr+OAgSA8eHJlZiBsaW5rZW5kPSJjb21tYW5kTGluZU9wdGlvbnMiLz4g44KS5Y+C54Wn44GX44Gm44GP44Gg44GV44GE44CCPC9wYXJhPgotICAgICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5jb25zZXJ2ZVNwYWNlPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+ZWZmb3J0PSZxdW90O21pbiZxdW90OyDjgajlkIznvqnjgafjgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD53b3JrSGFyZDwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPmVmZm9ydD0mcXVvdDttYXgmcXVvdDsg44Go5ZCM576p44Gn44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+dmlzaXRvcnM8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgILjganjga7jg5DjgrDjg4fjgqPjg4bjgq/jgr/jgpLlrp/ooYzjgZnjgovjgYvjgpLjgrPjg7Pjg57ljLrliIfjgorjga7jg6rjgrnjg4jjgafmjIflrprjgZfjgb7jgZnjgILjg5DjgrDjg4fjgqPjg4bjgq/jgr/jga/jg5Hjg4PjgrHjg7zjgrjmjIflrprjgarjgZfjga7jgq/jg6njgrnlkI3jgafmjIflrprjgZfjgb7jgZnjgILnnIHnlaXmmYLjgIHjg4fjg5Xjgqnjg6vjg4jjgafnhKHlirnljJbjgZXjgozjgabjgYTjgovjgoLjga7jgpLpmaTjgY/jgZnjgbnjgabjga7jg4fjgqPjg4bjgq/jgr/jgYzlrp/ooYzjgZXjgozjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5vbWl0VmlzaXRvcnM8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgII8bGl0ZXJhbD52aXNpdG9yczwvbGl0ZXJhbD4g5bGe5oCn44Go5Ly844Gm44GE44G+44GZ44GM44CB44GT44Gh44KJ44GvIDxlbXBoYXNpcz7lrp/ooYzjgZXjgozjgarjgYQ8L2VtcGhhc2lzPiDjg4fjgqPjg4bjgq/jgr/jgpLmjIflrprjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5leGNsdWRlRmlsdGVyPC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+5Lu75oSP5oyH5a6a44Gu5bGe5oCn44Gn44GZ44CC44OV44Kj44Or44K/44O844OV44Kh44Kk44Or5ZCN44KS5oyH5a6a44GX44G+44GZ44CC5aCx5ZGK44GL44KJ6Zmk5aSW44GV44KM44KL44OQ44Kw44KS5oyH5a6a44GX44G+44GZ44CCPHhyZWYgbGlua2VuZD0iZmlsdGVyIi8+IOOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPmluY2x1ZGVGaWx0ZXI8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgILjg5XjgqPjg6vjgr/jg7zjg5XjgqHjgqTjg6vlkI3jgpLmjIflrprjgZfjgb7jgZnjgILloLHlkYrjgZXjgozjgovjg5DjgrDjgpLmjIflrprjgZfjgb7jgZnjgII8eHJlZiBsaW5rZW5kPSJmaWx0ZXIiLz4g44KS5Y+C54Wn44GX44Gm44GP44Gg44GV44GE44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+cHJvamVjdEZpbGU8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgILjg5fjg63jgrjjgqfjgq/jg4jjg5XjgqHjgqTjg6vlkI3jgpLmjIflrprjgZfjgb7jgZnjgILjg5fjg63jgrjjgqfjgq/jg4jjg5XjgqHjgqTjg6vjga/jgIEgJkZpbmRCdWdzOyBHVUkg44Gn5L2c5oiQ44GX44G+44GZ44CC5YiG5p6Q44GV44KM44KL44Kv44Op44K544CB44GK44KI44Gz44CB6KOc5Yqp44Kv44Op44K544OR44K544CB44K944O844K544OH44Kj44Os44Kv44OI44Oq44O844GM6KiY5YWl44GV44KM44Gm44G+44GZ44CC44OX44Ot44K444Kn44Kv44OI44OV44Kh44Kk44Or44KS5oyH5a6a44GX44Gf5aC05ZCI44Gv44CBIDxsaXRlcmFsPmNsYXNzPC9saXRlcmFsPiDopoHntKDjg7sgPGxpdGVyYWw+YXV4Q2xhc3NwYXRoPC9saXRlcmFsPiDlsZ7mgKfjgYrjgojjgbMgPGxpdGVyYWw+c291cmNlUGF0aDwvbGl0ZXJhbD4g5bGe5oCn44KS6Kit5a6a44GZ44KL5b+F6KaB44Gv44GC44KK44G+44Gb44KT44CC44OX44Ot44K444Kn44Kv44OI44Gu5L2c5oiQ5pa55rOV44Gv44CBIDx4cmVmIGxpbmtlbmQ9InJ1bm5pbmciLz4g44KS5Y+C54Wn44GX44Gm44GP44Gg44GV44GE44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+anZtYXJnczwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPuS7u+aEj+aMh+WumuOBruWxnuaAp+OBp+OBmeOAgiZGaW5kQnVnczsg44KS5a6f6KGM44GX44Gm44GE44KLIEphdmEg5Luu5oOz44Oe44K344Oz44Gr5a++44GX44Gm5Y+X44GR5rih44GV44KM44KL5byV5pWw44KS5oyH5a6a44GX44G+44GZ44CC5beo5aSn44Gq44OX44Ot44Kw44Op44Og44KS5YiG5p6Q44GZ44KL5aC05ZCI44Gr44CBIEpWTSDjgYzkvb/nlKjjgZnjgovjg6Hjg6Ljg6rlrrnph4/jgpLlopfjgoTjgZnmjIflrprjgpLjgZnjgovjgZ/jgoHjgavjgZPjga7lvJXmlbDjgpLliKnnlKjjgZnjgovlv4XopoHjgYzjgYLjgovjgYvjgoLjgZfjgozjgb7jgZvjgpPjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5zeXN0ZW1Qcm9wZXJ0eTwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+5Lu75oSP5oyH5a6a44Gu44ON44K544OI44GV44KM44KL6KaB57Sg44Gn44GZ44CC5oyH5a6a44GX44Gf5aC05ZCI44CBSmF2YSDjgrfjgrnjg4bjg6Djg5fjg63jg5Hjg4bjgqPjg7zjgpLlrprnvqnjgZfjgb7jgZnjgII8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiDlsZ7mgKfjgavjga/jgrfjgrnjg4bjg6Djg5fjg63jg5Hjg4bjgqPjg7zjga7lkI3liY3jgpLmjIflrprjgZfjgb7jgZnjgILjgZ3jgZfjgabjgIEgPGxpdGVyYWw+dmFsdWU8L2xpdGVyYWw+IOWxnuaAp+OBq+OBr+OCt+OCueODhuODoOODl+ODreODkeODhuOCo+OBruWApOOCkuaMh+WumuOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPnRpbWVvdXQ8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgIImRmluZEJ1Z3M7IOOCkuWun+ihjOOBl+OBpuOBhOOCiyBKYXZhIOODl+ODreOCu+OCuSDjga7lrp/ooYzoqLHlrrnmmYLplpPjgpLjg5/jg6rnp5LljZjkvY3jgafmjIflrprjgZfjgb7jgZnjgILmmYLplpPjgpLotoXpgY7jgZnjgovjgajjg4/jg7PjgrDjgqLjg4Pjg5fjgZfjgabjgYTjgovjgajliKTmlq3jgZfjgabjg5fjg63jgrvjgrnjgYzntYLkuobjgZXjgozjgb7jgZnjgILjg4fjg5Xjgqnjg6vjg4jjga/jgIEgNjAwLDAwMCDjg5/jg6rnp5IgKDEwIOWIhikg44Gn44GZ44CC5beo5aSn44Gq44OX44Ot44Kw44Op44Og44Gu5aC05ZCI44Gv44CBICZGaW5kQnVnczsg44GM5YiG5p6Q44KS5a6M5LqG44GZ44KL44G+44Gn44GrIDEwIOWIhiDku6XkuIrmjpvjgYvjgovlj6/og73mgKfjgYzjgYLjgovjgZPjgajjgavms6jmhI/jgZfjgabjgY/jgaDjgZXjgYTjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5mYWlsT25FcnJvcjwvbGl0ZXJhbD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPuS7u+aEj+aMh+WumuOBruODluODvOODq+WApOWxnuaAp+OBp+OBmeOAgiZGaW5kQnVnczsg44Gu5a6f6KGM5Lit44Gr44Ko44Op44O844GM44GC44Gj44Gf5aC05ZCI44Gr44CB44OT44Or44OJ44OX44Ot44K744K56Ieq5L2T44KS5omT44Gh5YiH44Gj44Gm55Ww5bi457WC5LqG44GV44Gb44KL44GL44Gp44GG44GL44KS5oyH5a6a44GX44G+44GZ44CC44OH44OV44Kp44Or44OI44Gv44CB44CMZmFsc2XjgI3jgafjgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD5lcnJvclByb3BlcnR5PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+5Lu75oSP5oyH5a6a44Gu5bGe5oCn44Gn44GZ44CCJkZpbmRCdWdzOyDjga7lrp/ooYzkuK3jgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgZ/loLTlkIjjgavjgIHjgIx0cnVl44CN44GM6Kit5a6a44GV44KM44KL44OX44Ot44OR44OG44Kj44O844Gu5ZCN5YmN44KS5oyH5a6a44GX44G+44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgICA8dGVybT48bGl0ZXJhbD53YXJuaW5nc1Byb3BlcnR5PC9saXRlcmFsPjwvdGVybT4KLSAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICA8cGFyYT7ku7vmhI/mjIflrprjga7lsZ7mgKfjgafjgZnjgIImRmluZEJ1Z3M7IOOBjOWIhuaekOOBl+OBn+ODl+ODreOCsOODqeODoOOBq+ODkOOCsOWgseWRiuOBjCAxIOS7tuOBp+OCguOBguOCi+WgtOWQiOOBq+OAgeOAjHRydWXjgI3jgYzoqK3lrprjgZXjgozjgovjg5fjg63jg5Hjg4bjgqPjg7zjga7lkI3liY3jgpLmjIflrprjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotPC92YXJpYWJsZWxpc3Q+Ci0KLQotPC9wYXJhPgotCi08IS0tCi0KLS0tPgotCi08L3NlY3QxPgotCi08L2NoYXB0ZXI+Ci0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBVc2luZyB0aGUgRmluZEJ1Z3MgRWNsaXBzZSBwbHVnaW4KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tLT4KLQotPGNoYXB0ZXIgaWQ9ImVjbGlwc2UiPgotPHRpdGxlPiZGaW5kQnVnczsmdHJhZGU7IEVjbGlwc2Ug44OX44Op44Kw44Kk44Oz44Gu5L2/55So5pa55rOVPC90aXRsZT4KLQotPHBhcmE+RmluZEJ1Z3MgRWNsaXBzZSDjg5fjg6njgrDjgqTjg7PjgpLkvb/nlKjjgZnjgovjgZPjgajjgavjgojjgaPjgabjgIEgJkZpbmRCdWdzOyDjgpIgPHVsaW5rIHVybD0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy8iPkVjbGlwc2U8L3VsaW5rPiBJREUg44Gn5L2/55So44GZ44KL44GT44Go44GM44Gn44GN44KL44KI44GG44Gr44Gq44KK44G+44GZ44CC44GT44GuRmluZEJ1Z3MgRWNsaXBzZSDjg5fjg6njgrDjgqTjg7Pjga/jgIEgUGV0ZXIgRnJpZXNlIOawj+OBruWkmuWkp+OBquiyoueMruOBq+OCiOOCi+OCguOBruOBp+OBmeOAglBoaWwgQ3Jvc2J5IOawjyDjgaggQW5kcmVpIExvc2t1dG92IOawj+OBr+OAgeODl+ODqeOCsOOCpOODs+OBrumHjeimgeOBquaUueiJr+OBq+iyoueMruOBl+OBvuOBl+OBn+OAgjwvcGFyYT4KLQotPHNlY3QxPgotPHRpdGxlPuW/heimgeadoeS7tjwvdGl0bGU+Ci0KLTxwYXJhPiZGaW5kQnVnczsgRWNsaXBzZSBQbHVnaW4g44KS5L2/55So44GZ44KL44Gf44KB44Gr44Gv44CBIEVjbGlwc2UgMy4zIOOBguOCi+OBhOOBr+OBneOCjOS7pemZjeOBruODkOODvOOCuOODp+ODs+OAgeOBvuOBn+OAgSBKUkUvSkRLIDEuNSDjgYLjgovjgYTjga/jgZ3jgozku6XpmY3jga7jg5Djg7zjgrjjg6fjg7PjgYzlv4XopoHjgafjgZnjgII8L3BhcmE+Ci0KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT7jgqTjg7Pjgrnjg4jjg7zjg6s8L3RpdGxlPgotCi08cGFyYT7mm7TmlrDjgrXjgqTjg4jjgYzmj5DkvpvjgZXjgozjgabjgYTjgb7jgZnjgILmm7TmlrDjgrXjgqTjg4jjgpLliKnnlKjjgZfjgabjgIHmqZ/morDnmoTjgasgRmluZEJ1Z3Mg44KSIEVjbGlwc2Ug44Gr44Kk44Oz44K544OI44O844Or44Gn44GN44G+44GZ44CC44G+44Gf6Ieq5YuV55qE44Gr44CB5pyA5paw54mI44Gu44Ki44OD44OX44OH44O844OI44KS54Wn5Lya44GX44Gm44Kk44Oz44K544OI44O844Or44GZ44KL44GT44Go44KC44Gn44GN44G+44GZ44CC5YaF5a6544Gu55Ww44Gq44KLIDMg44Gk44Gu5pu05paw44K144Kk44OI44GM5a2Y5Zyo44GX44G+44GZ44CCPC9wYXJhPgotCi0gIDx2YXJpYWJsZWxpc3Q+PHRpdGxlPkZpbmRCdWdzIEVjbGlwc2Ug5pu05paw44K144Kk44OI5LiA6KanPC90aXRsZT4KLSAgICA8dmFybGlzdGVudHJ5Pjx0ZXJtPjx1bGluayB1cmw9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UvIj5odHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLzwvdWxpbms+PC90ZXJtPgotCi0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+RmluZEJ1Z3Mg44Gu5YWs5byP44Oq44Oq44O844K554mp44KS5o+Q5L6b44GX44G+44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgICA8dmFybGlzdGVudHJ5Pjx0ZXJtPjx1bGluayB1cmw9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UtY2FuZGlkYXRlLyI+aHR0cDovL2ZpbmRidWdzLmNzLnVtZC5lZHUvZWNsaXBzLWNhbmRpZGF0ZS88L3VsaW5rPjwvdGVybT4KLQotICAgICAgPGxpc3RpdGVtPgotICAgICAgICA8cGFyYT5GaW5kQnVnc+OBruWFrOW8j+ODquODquODvOOCueeJqeOBq+WKoOOBiOOBpuOAgeWFrOW8j+ODquODquODvOOCueWAmeijnOeJiOOCkuaPkOS+m+OBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgICA8dmFybGlzdGVudHJ5Pjx0ZXJtPjx1bGluayB1cmw9Imh0dHA6Ly9maW5kYnVncy5jcy51bWQuZWR1L2VjbGlwc2UtZGFpbHkvIj5odHRwOi8vZmluZGJ1Z3MuY3MudW1kLmVkdS9lY2xpcHNlLWRhaWx5LzwvdWxpbms+PC90ZXJtPgotCi0gICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgIDxwYXJhPkZpbmRCdWdz44Gu5pel5qyh44OT44Or44OJ54mp44KS5o+Q5L6b44GX44G+44GZ44CC44Kz44Oz44OR44Kk44Or44GM44Gn44GN44KL44GT44Go5Lul5LiK44Gu44OG44K544OI44Gv6KGM44KP44KM44Gm44GE44G+44Gb44KT44CCPC9wYXJhPgotICAgICAgPC9saXN0aXRlbT4KLSAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICA8L3ZhcmlhYmxlbGlzdD4KLQotPHBhcmE+44G+44Gf44CB5qyh44Gr56S644GZ44Oq44Oz44Kv44GL44KJ5omL5YuV44Gn44OX44Op44Kw44Kk44Oz44KS44OA44Km44Oz44Ot44O844OJ44GZ44KL44GT44Go44KC44Gn44GN44G+44GZIDogPHVsaW5rIHVybD0iaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9lZHUudW1kLmNzLmZpbmRidWdzLnBsdWdpbi5lY2xpcHNlXzIuMC4zLjIwMTMxMTIyLnppcD9kb3dubG9hZCI+aHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9maW5kYnVncy9lZHUudW1kLmNzLmZpbmRidWdzLnBsdWdpbi5lY2xpcHNlXzIuMC4zLjIwMTMxMTIyLnppcD9kb3dubG9hZDwvdWxpbms+LiDlsZXplovjgZfjgaYgRWNsaXBzZSDjga7jgIxwbHVnaW5z44CN44K144OW44OH44Kj44Os44Kv44OI44Oq44O844Gr5YWl44KM44Gm44GP44Gg44GV44GE44CCKOOBneOBhuOBmeOCi+OBqOOAgSAmbHQ7ZWNsaXBzZSDjgqTjg7Pjgrnjg4jjg7zjg6vjg4fjgqPjg6zjgq/jg4jjg6rjg7wgJmd0Oy9wbHVnaW5zL2VkdS51bWQuY3MuZmluZGJ1Z3MucGx1Z2luLmVjbGlwc2VfMi4wLjMuMjAxMzExMjIvZmluZGJ1Z3MucG5nIOOBjCAmRmluZEJ1Z3M7IOOBruODreOCtOODleOCoeOCpOODq+OBuOOBruODkeOCueOBq+OBquOCi+OBr+OBmuOBp+OBmeOAgik8L3BhcmE+Ci0KLTxwYXJhPuODl+ODqeOCsOOCpOODs+OBruWxlemWi+OBjOOBp+OBjeOBn+OCieOAgSBFY2xpcHNlIOOCkui1t+WLleOBl+OBpiA8bWVudWNob2ljZT4gPGd1aW1lbnU+SGVscDwvZ3VpbWVudT4gPGd1aW1lbnVpdGVtPkFib3V0IEVjbGlwc2UgUGxhdGZvcm08L2d1aW1lbnVpdGVtPiA8Z3VpbWVudWl0ZW0+UGx1Zy1pbiBEZXRhaWxzPC9ndWltZW51aXRlbT4gPC9tZW51Y2hvaWNlPiDjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYTjgILjgIxGaW5kQnVncyBQcm9qZWN044CN44GL44KJ5o+Q5L6b44GV44KM44Gf44CMRmluZEJ1Z3MgUGx1Zy1pbuOAjeOBqOOBhOOBhuODl+ODqeOCsOOCpOODs+OBjOOBguOCi+OBk+OBqOOCkueiuuiqjeOBl+OBpuOBj+OBoOOBleOBhOOAgjwvcGFyYT4KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT7jg5fjg6njgrDjgqTjg7Pjga7kvb/nlKjmlrnms5U8L3RpdGxlPgotCi08cGFyYT7lrp/ooYzjgZnjgovjgavjga/jgIEgSmF2YSDjg5fjg63jgrjjgqfjgq/jg4jkuIrjgaflj7Pjgq/jg6rjg4Pjgq/jgZfjgabjgIxGaW5kIEJ1Z3PjgI3jgpLpgbjmip7jgZfjgb7jgZnjgIImRmluZEJ1Z3M7IOOBjOWun+ihjOOBleOCjOOBpuOAgeODkOOCsOODkeOCv+ODvOODs+OBruWun+S+i+OBruWPr+iDveaAp+OBjOOBguOCi+OBqOitmOWIpeOBleOCjOOBn+OCs+ODvOODieeuh+aJgOOBq+WVj+mhjOODnuODvOOCq+ODvOOBjOOBpOOBjeOBvuOBmeOAgiAo44K944O844K555S76Z2i44GK44KI44GzIEVjbGlwc2Ug5ZWP6aGM44OT44Ol44O844Gr6KGo56S644GV44KM44G+44GZ44CCKTwvcGFyYT4KLQotPHBhcmE+SmF2YSDjg5fjg63jgrjjgqfjgq/jg4jjga7jg5fjg63jg5Hjg4bjgqPjg7zjg4DjgqTjgqLjg63jgrDjgpLplovjgYTjgabjgIxGaW5kYnVnc+OAjeODl+ODreODkeODhuOCo+ODvOODmuODvOOCuOOCkumBuOaKnuOBmeOCi+OBk+OBqOOBp+OAgSAmRmluZEJ1Z3M7IOOBruWLleS9nOOCkuOCq+OCueOCv+ODnuOCpOOCuuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgumBuOaKnuOBp+OBjeOCi+mgheebruOBq+OBr+asoeOBruOCiOOBhuOBquOCguOBruOBjOOBguOCiuOBvuOBmSA6PC9wYXJhPgotCi08aXRlbWl6ZWRsaXN0PgotICA8bGlzdGl0ZW0+Ci0gICAgPHBhcmE+44CMUnVuIEZpbmRCdWdzIEF1dG9tYXRpY2FsbHnjgI3jg4Hjgqfjg4Pjgq/jg5zjg4Pjgq/jgrnjga7oqK3lrprjgILjg4Hjgqfjg4Pjgq/jgZnjgovjgajjgIHjg5fjg63jgrjjgqfjgq/jg4jlhoXjga4gSmF2YSDjgq/jg6njgrnjgYzkv67mraPjgZXjgozjgovjgZ/jgbPjgasgRmluZEJ1Z3Mg44GM5a6f6KGM44GV44KM44G+44GZ44CCPC9wYXJhPgotICA8L2xpc3RpdGVtPgotCi0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT7lhKrlhYjluqbjgajjg5DjgrDjgqvjg4bjgrTjg6rjg7zjga7pgbjmip7jgILjgZPjgozjgonjga7jgqrjg5fjgrfjg6fjg7Pjga/jgIHjganjga7orablkYrjgpLooajnpLrjgZnjgovjgYvjgpLpgbjmip7jgZfjgb7jgZnjgILkvovjgYjjgbDjgIHlhKrlhYjluqbjgacg44CMTWVkaXVt44CNIOOCkumBuOaKnuOBmeOCi+OBqOOAgeWEquWFiOW6piAo5LitKSDjgYrjgojjgbPlhKrlhYjluqYgKOmrmCkg44Gu6K2m5ZGK44Gu44G/44GM6KGo56S644GV44KM44G+44GZ44CC5ZCM5qeY44Gr44CB44CMU3R5bGXjgI3jg4Hjgqfjg4Pjgq/jg5zjg4Pjgq/jgrnjga7jg4Hjgqfjg4Pjgq/jg57jg7zjgq/jgpLlpJbjgZnjgajjgIFTdHlsZSDjgqvjg4bjgrTjg6rjg7zjgavlsZ7jgZnjgovorablkYrjga/ooajnpLrjgZXjgozjgb7jgZvjgpPjgII8L3BhcmE+Ci0gIDwvbGlzdGl0ZW0+Ci0KLSAgPGxpc3RpdGVtPgotICAgIDxwYXJhPuODh+OCo+ODhuOCr+OCv+OBrumBuOaKnuOAguihqOOBi+OCieODl+ODreOCuOOCp+OCr+ODiOOBp+acieWKueOBq+OBl+OBn+OBhOODh+OCo+ODhuOCr+OCv+OCkumBuOaKnuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLTwvaXRlbWl6ZWRsaXN0PgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+44OI44Op44OW44Or44K344Ol44O844OG44Kj44Oz44KwPC90aXRsZT4KLQotPHBhcmE+JkZpbmRCdWdzOyBFY2xpcHNlIOODl+ODqeOCsOOCpOODs+OBr+OAgeOBvuOBoOWun+mok+autemajuOBp+OBmeOAguOBk+OBruOCu+OCr+OCt+ODp+ODs+OBp+OBr+OAgeODl+ODqeOCsOOCpOODs+OBq+mWouOBmeOCi+S4gOiIrOeahOOBquWVj+mhjOOBqCAo5Yik5piO44GX44Gm44GE44KM44GwKSDjgZ3jgozjgonjga7llY/poYzjga7op6Pmsbrmlrnms5XjgpLoqJjov7DjgZfjgb7jgZnjgII8L3BhcmE+Ci0KLTxpdGVtaXplZGxpc3Q+Ci0gIDxsaXN0aXRlbT4KLSAgICA8cGFyYT4mRmluZEJ1Z3M7IOWVj+mhjOODnuODvOOCq+ODvOOBjCAo44K944O844K555S76Z2i44GK44KI44Gz5ZWP6aGM44OT44Ol44O844GrKSDooajnpLrjgZXjgozjgarjgYTloLTlkIjjga/jgIHllY/poYzjg5Pjg6Xjg7zjga7jg5XjgqPjg6vjgr/jg7zoqK3lrprjgpLlpInmm7TjgZfjgabjgY/jgaDjgZXjgYTjgILoqbPntLDmg4XloLHjga8gPHVsaW5rIHVybD0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9GQVEuaHRtbCNxNyI+aHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9GQVEuaHRtbCNxNzwvdWxpbms+IOOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAgjwvcGFyYT4KLSAgPC9saXN0aXRlbT4KLQotPC9pdGVtaXplZGxpc3Q+Ci0KLTwvc2VjdDE+Ci0KLQotPC9jaGFwdGVyPgotCi0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBGaWx0ZXIgZmlsZXMKLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tLT4KLQotPGNoYXB0ZXIgaWQ9ImZpbHRlciI+Ci08dGl0bGU+44OV44Kj44Or44K/44O844OV44Kh44Kk44OrPC90aXRsZT4KLQotPHBhcmE+44OV44Kj44Or44K/44O844OV44Kh44Kk44Or44KS5L2/55So44GZ44KL44GT44Go44Gn44CB54m55a6a44Gu44Kv44Op44K544KE44Oh44K944OD44OJ44KS44OQ44Kw5aCx5ZGK44Gr5ZCr44KB44Gf44KK44OQ44Kw5aCx5ZGK44GL44KJ6Zmk5aSW44GX44Gf44KK44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CC44GT44Gu56ug44Gn44Gv44CB44OV44Kj44Or44K/44O844OV44Kh44Kk44Or44Gu5L2/55So5pa55rOV44KS6Kqs5piO44GX44G+44GZ44CCPG5vdGU+Ci08dGl0bGU+6KiI55S744GV44KM44Gm44GE44KL5qmf6IO9PC90aXRsZT4KLTxwYXJhPuODleOCo+ODq+OCv+ODvOOBr+ePvuWcqOOAgeOCs+ODnuODs+ODieODqeOCpOODs+OCpOODs+OCv+ODleOCp+ODvOOCueOBp+OBruOBv+OCteODneODvOODiOOBleOCjOOBpuOBhOOBvuOBmeOAguacgOe1gueahOOBq+OBr+OAgeODleOCo+ODq+OCv+ODvOOBruOCteODneODvOODiOOBryBHVUkg44Gr44KC6L+95Yqg44GV44KM44KL5LqI5a6a44Gn44GZ44CCPC9wYXJhPgotPC9ub3RlPgotPC9wYXJhPgotCi0KLTxzZWN0MT4KLTx0aXRsZT7jg5XjgqPjg6vjgr/jg7zjg5XjgqHjgqTjg6vjga7mpoLopoE8L3RpdGxlPgotCi08cGFyYT7mpoLlv7XnmoTjgavoqIDjgYjjgbDjgIHjg5XjgqPjg6vjgr/jg7zjga/jg5DjgrDmpJzntKLntZDmnpzjgpLjgYLjgovln7rmupbjgajnhaflkIjjgZfjgb7jgZnjgILjg5XjgqPjg6vjgr/jg7zjgpLlrprnvqnjgZnjgovjgZPjgajjgafjgIEg54m55Yil44Gq5Y+W44KK5omx44GE44KS44GZ44KL44OQ44Kw5qSc57Si57WQ5p6c44KS6YG45oqe44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CC5L6L44GI44Gw44CB44GC44KL44OQ44Kw5qSc57Si57WQ5p6c44KS44OQ44Kw5aCx5ZGK44Gr5ZCr44KB44Gf44KK44CB44OQ44Kw5aCx5ZGK44GL44KJ6Zmk5aSW44GX44Gf44KK44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotCi08cGFyYT7jg5XjgqPjg6vjgr/jg7zjg5XjgqHjgqTjg6vjga/jgIEgPHVsaW5rIHVybD0iaHR0cDovL3d3dy53My5vcmcvWE1MLyI+WE1MPC91bGluaz4g5paH5pu444Gn44GZ44CC5pyA5LiK5L2N6KaB57Sg44GM44CAPGxpdGVyYWw+RmluZEJ1Z3NGaWx0ZXI8L2xpdGVyYWw+IOimgee0oCDjgafjgYLjgorjgIHjgZ3jga7lrZDopoHntKDjgajjgZfjgaYgPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IOimgee0oOOCkuikh+aVsOWAi+Wumue+qeOBl+OBvuOBmeOAguOBneOCjOOBnuOCjOOBriA8bGl0ZXJhbD5NYXRjaDwvbGl0ZXJhbD4g6KaB57Sg44Gv44CB55Sf5oiQ44GV44KM44Gf44OQ44Kw5qSc57Si57WQ5p6c44Gr6YGp55So44GV44KM44KL6L+w6YOo44Gr44GC44Gf44KK44G+44GZ44CC6YCa5bi444CB44OV44Kj44Or44K/44O844Gv44OQ44Kw5qSc57Si57WQ5p6c44KS6Zmk5aSW44GZ44KL44Gf44KB44Gr5L2/55So44GX44G+44GZ44CC5qyh44Gr44CB5L6L44KS56S644GX44G+44GZOjxzY3JlZW4+Ci08cHJvbXB0PiQgPC9wcm9tcHQ+PGNvbW1hbmQ+ZmluZGJ1Z3MgLXRleHR1aSAtZXhjbHVkZSA8cmVwbGFjZWFibGU+bXlFeGNsdWRlRmlsdGVyLnhtbDwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZT5teUFwcC5qYXI8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD4KLTwvc2NyZWVuPuOBvuOBn+S4gOaWueOBp+OAgeeahOOCkuOBl+OBvOOBo+OBn+WgseWRiuOCkuW+l+OCi+OBn+OCgeOBq+ODkOOCsOWgseWRiue1kOaenOOCkumBuOaKnuOBmeOCi+OBn+OCgeOBq+ODleOCo+ODq+OCv+ODvOOCkuS9v+eUqOOBmeOCi+OBk+OBqOOCguiAg+OBiOOCieOCjOOBvuOBmSA6PHNjcmVlbj4KLTxwcm9tcHQ+JCA8L3Byb21wdD48Y29tbWFuZD5maW5kYnVncyAtdGV4dHVpIC1pbmNsdWRlIDxyZXBsYWNlYWJsZT5teUluY2x1ZGVGaWx0ZXIueG1sPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlPm15QXBwLmphcjwvcmVwbGFjZWFibGU+PC9jb21tYW5kPgotPC9zY3JlZW4+Ci08L3BhcmE+Ci0KLTxwYXJhPgotPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IOimgee0oOOBr+WtkOimgee0oOOCkuaMgeOBoeOBvuOBmeOAguOBneOCjOOCieOBruWtkOimgee0oOOBr+irlueQhuepjeOBp+i/sOmDqOOBq+OBquOCiuOBvuOBmeOAguOBpOOBvuOCiuOAgei/sOmDqOOBjOecn+OBp+OBguOCi+OBn+OCgeOBq+OBr+OAgeOBmeOBueOBpuOBruWtkOimgee0oOOBjOecn+OBp+OBguOCi+W/heimgeOBjOOBguOCiuOBvuOBmeOAgjwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPuODnuODg+ODgeODs+OCsOadoeS7tuOBrueorumhnjwvdGl0bGU+Ci0KLTx2YXJpYWJsZWxpc3Q+Ci0gPHZhcmxpc3RlbnRyeT4KLSAgIDx0ZXJtPjxsaXRlcmFsPiZsdDtCdWcmZ3Q7PC9saXRlcmFsPjwvdGVybT4KLSAgIDxsaXN0aXRlbT48cGFyYT7jgZPjga7opoHntKDjga/jgIHjg5DjgrDjg5Hjgr/jg7zjg7PjgpLmjIflrprjgZfjgabnhaflkIjjgZfjgb7jgZnjgII8bGl0ZXJhbD5wYXR0ZXJuPC9saXRlcmFsPiDlsZ7mgKfjgavjga/jgIHjgrPjg7Pjg57ljLrliIfjgorjgafjg5DjgrDjg5Hjgr/jg7zjg7PpoZ7lnovjga7jg6rjgrnjg4jjgpLmjIflrprjgZfjgb7jgZnjgILjganjga7orablkYrjgYzjganjga7jg5DjgrDjg5Hjgr/jg7zjg7PpoZ7lnovjgavjgYLjgZ/jgovjgYvjga/jgIEgPGNvbW1hbmQ+LXhtbDwvY29tbWFuZD4g44Kq44OX44K344On44Oz44KS44Gk44GL44Gj44Gm5Ye65Yqb44GV44KM44Gf44KC44GuICg8bGl0ZXJhbD5CdWdJbnN0YW5jZTwvbGl0ZXJhbD4g6KaB57Sg44GuIDxsaXRlcmFsPnR5cGU8L2xpdGVyYWw+IOWxnuaApykg44KS6KaL44KL44GL44CB44G+44Gf44Gv44CBIDx1bGluayB1cmw9Ii4uLy4uL2J1Z0Rlc2NyaXB0aW9ucy5odG1sIj7jg5DjgrDop6Poqqzjg4njgq3jg6Xjg6Hjg7Pjg4g8L3VsaW5rPuOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAgjwvcGFyYT48cGFyYT7jgoLjgaPjgajnspLluqbjga7nspfjgYTnhaflkIjjgpLooYzjgYTjgZ/jgYTjgajjgY3jga/jgIEgPGxpdGVyYWw+Y29kZTwvbGl0ZXJhbD4g5bGe5oCn44KS5L2/55So44GX44Gm44GP44Gg44GV44GE44CC44OQ44Kw55Wl56ew44Gu44Kz44Oz44Oe5Yy65YiH44KK44Gu44Oq44K544OI44Gn5oyH5a6a44Gn44GN44G+44GZ44CC44GV44KJ44Gr57KS5bqm44Gu57KX44GE54Wn5ZCI44KS6KGM44GE44Gf44GE44Go44GN44Gv44CBIDxsaXRlcmFsPmNhdGVnb3J5PC9saXRlcmFsPiDlsZ7mgKfjgpLkvb/nlKjjgZfjgabjgY/jgaDjgZXjgYTjgILmrKHjgavnpLrjgZnjgIHjg5DjgrDjgqvjg4bjgrTjg6rjg7zlkI3jga7jgrPjg7Pjg57ljLrliIfjgorjga7jg6rjgrnjg4jjgafmjIflrprjgafjgY3jgb7jgZkgOiA8bGl0ZXJhbD5DT1JSRUNUTkVTUzwvbGl0ZXJhbD4sIDxsaXRlcmFsPk1UX0NPUlJFQ1RORVNTPC9saXRlcmFsPiwgPGxpdGVyYWw+QkFEX1BSQUNUSUNJQ0U8L2xpdGVyYWw+LCA8bGl0ZXJhbD5QRVJGT1JNQU5DRTwvbGl0ZXJhbD4sIDxsaXRlcmFsPlNUWUxFPC9saXRlcmFsPi48L3BhcmE+PHBhcmE+5ZCM44GYIDxsaXRlcmFsPiZsdDtCdWcmZ3Q7PC9saXRlcmFsPiDopoHntKDjgavkuIroqJjjga7lsZ7mgKfjgpLopIfmlbDmjIflrprjgZfjgZ/loLTlkIjjga/jgIHjg5DjgrDjg5Hjgr/jg7zjg7PlkI3jgIHjg5DjgrDnlaXnp7DjgIHjg5DjgrDjgqvjg4bjgrTjg6rjg7zjga7jgYTjgZrjgozjgYsx44Gk44Gn44KC6Kmy5b2T44GZ44KM44Gw44CB44OQ44Kw44OR44K/44O844Oz44Gv5ZCI6Ie044GZ44KL44Go5Yik5a6a44GV44KM44G+44GZ44CCPC9wYXJhPjxwYXJhPuS4i+S9jeS6kuaPm+aAp+OCkuaMgeOBn+OBm+OBn+OBhOWgtOWQiOOBr+OAgSA8bGl0ZXJhbD4mbHQ7QnVnJmd0OzwvbGl0ZXJhbD4g6KaB57Sg44Gu5Luj44KP44KK44GrIDxsaXRlcmFsPiZsdDtCdWdQYXR0ZXJuJmd0OzwvbGl0ZXJhbD4g6KaB57Sg44GK44KI44GzIDxsaXRlcmFsPiZsdDtCdWdDb2RlJmd0OzwvbGl0ZXJhbD4g6KaB57Sg44KS5L2/55So44GX44Gm44GP44Gg44GV44GE44CC44GT44KM44KJ44Gu6KaB57Sg44Gv44Gd44KM44Ge44KM44CBIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IOWxnuaAp+OBp+WApOOBruODquOCueODiOOCkuaMh+WumuOBl+OBvuOBmeOAguOBk+OCjOOCieOBruimgee0oOOBr+OAgeWwhuadpeOCteODneODvOODiOOBleOCjOOBquOBj+OBquOCi+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAgjwvcGFyYT48L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotCi0gPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48bGl0ZXJhbD4mbHQ7UHJpb3JpdHkmZ3Q7PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgIDxwYXJhPuOBk+OBruimgee0oOOBr+OAgeeJueWumuOBruWEquWFiOW6puOCkuOCguOBpOitpuWRiuOCkueFp+WQiOOBl+OBvuOBmeOAgjxsaXRlcmFsPnZhbHVlPC9saXRlcmFsPiDlsZ7mgKfjgavjga/jgIHmlbTmlbDlgKTjgpLmjIflrprjgZfjgb7jgZkgOiAxIOOBr+WEquWFiOW6pijpq5gp44CB44G+44Gf44CBIDIgIOOBr+WEquWFiOW6pijkuK0pIOOAgSAzIOOBr+WEquWFiOW6pijkvY4pIOOCkuekuuOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotCi0KLSA8dmFybGlzdGVudHJ5PgotICAgPHRlcm0+PGxpdGVyYWw+Jmx0O1BhY2thZ2UmZ3Q7PC9saXRlcmFsPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgIDxwYXJhPuOBk+OBruimgee0oOOBr+OAgSA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiDlsZ7mgKfjgafmjIflrprjgZfjgZ/nibnlrprjga7jg5Hjg4PjgrHjg7zjgrjlhoXjgavjgYLjgovjgq/jg6njgrnjgavplqLpgKPjgZfjgZ/orablkYrjgpLnhaflkIjjgZfjgb7jgZnjgILlhaXjgozlrZDjga7jg5Hjg4PjgrHjg7zjgrjjga/lkKvjgb7jgozjgb7jgZvjgpMgKEphdmEgaW1wb3J0IOaWh+OBq+W+k+OBo+OBpuOBhOOBvuOBmSkg44CC44GX44GL44GX44Gq44GM44KJ44CB5q2j6KaP6KGo54++44KS5L2/44GG44Go6KSH5pWw44OR44OD44Kx44O844K444Gr44Oe44OD44OB44GV44Gb44KL44GT44Go44Gv57Ch5Y2Y44Gr44Gn44GN44G+44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gPHZhcmxpc3RlbnRyeT4KLSAgIDx0ZXJtPjxsaXRlcmFsPiZsdDtDbGFzcyZndDs8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+44GT44Gu6KaB57Sg44Gv44CB54m55a6a44Gu44Kv44Op44K544Gr6Zai6YCj44GX44Gf6K2m5ZGK44KS54Wn5ZCI44GX44G+44GZ44CCPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4g5bGe5oCn44KS5L2/55So44GX44Gm44CB54Wn5ZCI44GZ44KL44Kv44Op44K55ZCN44KS44Kv44Op44K55ZCN44Gd44Gu44KC44Gu44GL44CB44G+44Gf44Gv44CB5q2j6KaP6KGo54++44Gn5oyH5a6a44GX44G+44GZ44CCPC9wYXJhPgotCi0gICAgICAgIDxwYXJhPuS4i+S9jeS6kuaPm+aAp+OCkuaMgeOBn+OBm+OBn+OBhOWgtOWQiOOBr+OAgeOBk+OBruimgee0oOOBruS7o+OCj+OCiuOBqyA8bGl0ZXJhbD5NYXRjaDwvbGl0ZXJhbD4g6KaB57Sg44KS5L2/55So44GX44Gm44GP44Gg44GV44GE44CC44Kv44Op44K55ZCN44Gd44Gu44KC44Gu44Gu5oyH5a6a44GvIDxsaXRlcmFsPmNsYXNzPC9saXRlcmFsPiDlsZ7mgKfjgpLjgIHjgq/jg6njgrnlkI3jgpLmraPopo/ooajnj77jgafmjIflrprjgZnjgovloLTlkIjjga8gPGxpdGVyYWw+Y2xhc3NyZWdleDwvbGl0ZXJhbD4g5bGe5oCn44KS44Gd44KM44Ge44KM5L2/55So44GX44Gm44GP44Gg44GV44GEPC9wYXJhPgotCi0gICAgICAgIDxwYXJhPuOCguOBlyA8bGl0ZXJhbD5NYXRjaDwvbGl0ZXJhbD4g6KaB57Sg44GrIDxsaXRlcmFsPkNsYXNzPC9saXRlcmFsPiDopoHntKDjgYznhKHjgYvjgaPjgZ/jgorjgIEgPGxpdGVyYWw+Y2xhc3M8L2xpdGVyYWw+IC8gPGxpdGVyYWw+Y2xhc3NyZWdleDwvbGl0ZXJhbD4g5bGe5oCn44GM54Sh44GL44Gj44Gf44KK44GX44Gf5aC05ZCI44Gv44CB44GZ44G544Gm44Gu44Kv44Op44K544Gr6YGp55So44GV44KM44G+44GZ44CC44Gd44Gu5aC05ZCI44CB5oOz5a6a5aSW44Gr5aSa44GP44Gu44OQ44Kw5qSc57Si57WQ5p6c44GM5LiA6Ie044GX44Gm44GX44G+44GG44GT44Go44GM44GC44KK5b6X44G+44GZ44CC44Gd44Gu5aC05ZCI44Gv44CB6YGp5b2T44Gq44Oh44K944OD44OJ44KE44OV44Kj44O844Or44OJ44Gn57We44KK6L6844KT44Gn44GP44Gg44GV44GE44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gPC92YXJsaXN0ZW50cnk+Ci0KLSA8dmFybGlzdGVudHJ5PgotICAgPHRlcm0+PGxpdGVyYWw+Jmx0O01ldGhvZCZndDs8L2xpdGVyYWw+PC90ZXJtPgotCi0gICA8bGlzdGl0ZW0+PHBhcmE+44GT44Gu6KaB57Sg44Gv44CB44Oh44K944OD44OJ44KS5oyH5a6a44GX44G+44GZ44CCPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4g5bGe5oCn44KS5L2/55So44GX44Gm44CB54Wn5ZCI44GZ44KL44Oh44K944OD44OJ5ZCN44KS44Oh44K944OD44OJ5ZCN44Gd44Gu44KC44Gu44GL44CB44G+44Gf44Gv44CB5q2j6KaP6KGo54++44Gn5oyH5a6a44GX44G+44GZ44CCPGxpdGVyYWw+cGFyYW1zPC9saXRlcmFsPiDlsZ7mgKfjgavjga/jgIHjgrPjg7Pjg57ljLrliIfjgorjgafjg6Hjgr3jg4Pjg4nlvJXmlbDjga7lnovjga7jg6rjgrnjg4jjgpLmjIflrprjgZfjgb7jgZnjgII8bGl0ZXJhbD5yZXR1cm5zPC9saXRlcmFsPiDlsZ7mgKfjgavjga/jg6Hjgr3jg4Pjg4njga7miLvjgorlgKTjga7lnovjgpLmjIflrprjgZfjgb7jgZnjgII8bGl0ZXJhbD5wYXJhbXM8L2xpdGVyYWw+IOOBiuOCiOOBsyA8bGl0ZXJhbD5yZXR1cm5zPC9saXRlcmFsPiDjgavjgYrjgYTjgabjga/jgIHjgq/jg6njgrnlkI3jga/lrozlhajkv67po77lkI3jgafjgYLjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgIIo5L6L44GI44Gw44CB5Y2Y44GrICZxdW90O1N0cmluZyZxdW90OyDjgafjga/jgarjgY8gJnF1b3Q7amF2YS5sYW5nLlN0cmluZyZxdW90OyDjgajjgZfjgabjgY/jgaDjgZXjgYTjgIIpIDxsaXRlcmFsPnBhcmFtczwvbGl0ZXJhbD4gPGxpdGVyYWw+cmV0dXJuczwvbGl0ZXJhbD4g44Gu44Gp44Gh44KJ44GL5LiA5pa544KS5oyH5a6a44GX44Gf5aC05ZCI44Gv44CB44KC44GG5LiA5pa544Gu5bGe5oCn44Gu5oyH5a6a44KC5b+F6aCI44Gn44GZ44CC44Gq44Gc44Gq44KJ44Gw44CB44Oh44K944OD44OJ44K344Kw44OL44OB44Oj44O844KS5qeL56+J44Gu44Gf44KB44Gr5b+F6KaB44Gg44GL44KJ44Gn44GZ44CCPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4g5bGe5oCn44CBPGxpdGVyYWw+cGFyYW1zPC9saXRlcmFsPiDlsZ7mgKcg44GK44KI44GzIDxsaXRlcmFsPnJldHVybnM8L2xpdGVyYWw+IOWxnuaAp+OBvuOBn+OBryAzIOOBpOOBriDlsZ7mgKfjgZnjgbnjgabjgIHjga7jganjgozjgYvjgpLmnaHku7bjgajjgZnjgovjgZPjgajjgafjgY3jgovjgZPjgajjgpLmhI/lkbPjgZfjgabjgYTjgb7jgZnjgILjgZPjga7jgojjgYbjgavjgIHlkI3liY3jgajjgrfjgrDjg4vjg4Hjg6Pjg7zjgavln7rjgaXjgY/mp5jjgIXjgarnqK7poZ7jga7mnaHku7bjgpLopo/lrprjgafjgY3jgb7jgZnjgII8L3BhcmE+PC9saXN0aXRlbT4KLSA8L3Zhcmxpc3RlbnRyeT4KLQotIDx2YXJsaXN0ZW50cnk+Ci0gICA8dGVybT48bGl0ZXJhbD4mbHQ7RmllbGQmZ3Q7PC9saXRlcmFsPjwvdGVybT4KLQotICAgPGxpc3RpdGVtPjxwYXJhPuOBk+OBruimgee0oOOBr+OAgeODleOCo+ODvOODq+ODieOCkuaMh+WumuOBl+OBvuOBmeOAgjxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IOWxnuaAp+OCkuS9v+eUqOOBl+OBpuOAgeeFp+WQiOOBmeOCi+ODleOCo+ODvOODq+ODieWQjeOCkuODleOCo+ODvOODq+ODieWQjeOBneOBruOCguOBruOBi+OAgeOBvuOBn+OBr+OAgeato+imj+ihqOePvuOBp+aMh+WumuOBl+OBvuOBmeOAguOBvuOBn+OAgeODleOCo+ODvOODq+ODieOBruOCt+OCsOODi+ODgeODo+ODvOOBq+eFp+OCieOBl+OBn+ODleOCo+ODq+OCv+ODquODs+OCsOOCkuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgiA8bGl0ZXJhbD50eXBlPC9saXRlcmFsPiDlsZ7mgKfjgpLkvb/nlKjjgZfjgabjgIHjg5XjgqPjg7zjg6vjg4njga7lnovjgpLlrozlhajkv67po77lkI3jgafmjIflrprjgZfjgabjgY/jgaDjgZXjgYTjgILlkI3liY3jgajjgrfjgrDjg4vjg4Hjg6Pjg7zjgavln7rjgaXjgY/mnaHku7bjgpLopo/lrprjgZnjgovjgZ/jgoHjgavjgIHjgZ3jga4y44Gk44Gu5bGe5oCn44KS5Lih5pa544Go44KC5oyH5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gPC92YXJsaXN0ZW50cnk+Ci0KLSAgIDx2YXJsaXN0ZW50cnk+Ci0gICA8dGVybT48bGl0ZXJhbD4mbHQ7TG9jYWwmZ3Q7PC9saXRlcmFsPjwvdGVybT4KLQotICAgPGxpc3RpdGVtPjxwYXJhPuOBk+OBruimgee0oOOBr+OAgeODreODvOOCq+ODq+WkieaVsOOCkuaMh+WumuOBl+OBvuOBmeOAgjxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IOWxnuaAp+OCkuS9v+eUqOOBl+OBpuOAgeeFp+WQiOOBmeOCi+ODreODvOOCq+ODq+WkieaVsOWQjeOCkuODreODvOOCq+ODq+WkieaVsOWQjeOBneOBruOCguOBruOBi+OAgeOBvuOBn+OBr+OAgeato+imj+ihqOePvuOBp+aMh+WumuOBl+OBvuOBmeOAguODreODvOOCq+ODq+WkieaVsOOBqOOBr+OAgeODoeOCveODg+ODieWGheOBp+Wumue+qeOBl+OBn+WkieaVsOOBp+OBmeOAgjwvcGFyYT48L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotCi0gPHZhcmxpc3RlbnRyeT4KLSAgIDx0ZXJtPjxsaXRlcmFsPiZsdDtPciZndDs8L2xpdGVyYWw+PC90ZXJtPgotICAgIDxsaXN0aXRlbT48cGFyYT7jgZPjga7opoHntKDjga/jgIHoq5bnkIblkozjgajjgZfjgaYgPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IOadoemgheOCkue1kOWQiOOBl+OBvuOBmeOAguOBmeOBquOCj+OBoeOAgTLjgaTjga4gPGxpdGVyYWw+TWV0aG9kPC9saXRlcmFsPiDopoHntKDjgpIgPGxpdGVyYWw+T3I8L2xpdGVyYWw+IOadoemgheOBq+WFpeOCjOOCi+OBk+OBqOOBp+OAgeOBqeOBoeOCieOBi+S4gOaWueOBruODoeOCveODg+ODieOBp+ODnuODg+ODgeOBleOBm+OCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcGFyYT48L2xpc3RpdGVtPgotIDwvdmFybGlzdGVudHJ5PgotPC92YXJpYWJsZWxpc3Q+Ci0KLTwvc2VjdDE+Ci0KLTxzZWN0MT4KLTx0aXRsZT5KYXZhIOimgee0oOWQjeODnuODg+ODgeODs+OCsDwvdGl0bGU+Ci0KLTxwYXJhPjxsaXRlcmFsPkNsYXNzPC9saXRlcmFsPiDjgIEgPGxpdGVyYWw+TWV0aG9kPC9saXRlcmFsPiDjgb7jgZ/jga8gPGxpdGVyYWw+RmllbGQ8L2xpdGVyYWw+IOOBriA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiDlsZ7mgKfjgYzmloflrZcgfiDjgaflp4vjgb7jgaPjgabjgYTjgovloLTlkIjjga/jgIHlsZ7mgKflgKTjga7mrovjgorjga7pg6jliIbjgpIgSmF2YSDjga7mraPopo/ooajnj77jgajjgZfjgabop6Pph4jjgZfjgb7jgZnjgILjgZ3jgYbjgZfjgabjgIHlvZPoqbIgSmF2YSDopoHntKDjga7lkI3liY3jgavlr77jgZfjgabjga7nhaflkIjjgYzooYzjgo/jgozjgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuODkeOCv+ODvOODs+OBrueFp+WQiOOBr+imgee0oOOBruWQjeWJjeWFqOS9k+OBq+WvvuOBl+OBpuihjOOCj+OCjOOCi+OBk+OBqOOBq+azqOaEj+OBl+OBpuOBj+OBoOOBleOBhOOAguOBneOBruOBn+OCgeOAgemDqOWIhuS4gOiHtOeFp+WQiOOCkuihjOOBhOOBn+OBhOWgtOWQiOOBr+ODkeOCv+ODvOODs+aWh+Wtl+WIl+OBruWJjeW+jOOBqyAuKiDjgpLku5jliqDjgZfjgabkvb/nlKjjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuODkeOCv+ODvOODs+OBruani+aWh+imj+WJh+OBq+mWouOBl+OBpuOBr+OAgSA8dWxpbmsgdXJsPSJodHRwOi8vamF2YS5zdW4uY29tL2oyc2UvMS41LjAvamEvZG9jcy9qYS9hcGkvamF2YS91dGlsL3JlZ2V4L1BhdHRlcm4uaHRtbCI+PGxpdGVyYWw+amF2YS51dGlsLnJlZ2V4LlBhdHRlcm48L2xpdGVyYWw+PC91bGluaz4g44Gu44OJ44Kt44Ol44Oh44Oz44OI44KS5Y+C54Wn44GX44Gm44GP44Gg44GV44GE44CCPC9wYXJhPgotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPueVmeaEj+S6i+mghTwvdGl0bGU+Ci0KLTxwYXJhPgotPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IOadoemgheOBr+OAgeODkOOCsOaknOe0oue1kOaenOOBq+Wun+mam+OBq+WQq+OBvuOCjOOBpuOBhOOCi+aDheWgseOBq+OBruOBv+S4gOiHtOOBl+OBvuOBmeOAguOBmeOBueOBpuOBruODkOOCsOaknOe0oue1kOaenOOBr+OCr+ODqeOCueOCkuaMgeOBo+OBpuOBhOOBvuOBmeOAguOBl+OBn+OBjOOBo+OBpuOAgeS4gOiIrOeahOOBq+iogOOBo+OBpuOAgeODkOOCsOOCkumZpOWkluOBmeOCi+OBn+OCgeOBq+OBr+OCr+ODqeOCueOCkueUqOOBhOOBpuihjOOBhuOBqOOBhuOBvuOBj+OBhOOBj+OBk+OBqOOBjOWkmuOBhOOBp+OBmeOAgjwvcGFyYT4KLQotPHBhcmE+44OQ44Kw5qSc57Si57WQ5p6c44Gu5Lit44Gr44Gv44CBMuWAi+S7peS4iuOBruOCr+ODqeOCueOCkuS/neaMgeOBl+OBpuOBhOOCi+OCguOBruOCguOBguOCiuOBvuOBmeOAguS+i+OBiOOBsOOAgSBERSAoZHJvcHBlZCBleGNlcHRpb24gOiDkvovlpJbjga7nhKHoppYpIOODkOOCsOOBr+OAgSDkvovlpJbjga7nhKHoppbjgYznmbrnlJ/jgZfjgZ/jg6Hjgr3jg4Pjg4njgpLmjIHjgaPjgabjgYTjgovjgq/jg6njgrnjgajjgIEg54Sh6KaW44GV44KM44Gf5L6L5aSW44Gu5Z6L44KS6KGo44GZ44Kv44Op44K544Gu5Lih5pa544KS5ZCr44KT44Gg5b2i44Gn5aCx5ZGK44GV44KM44G+44GZ44CCPGxpdGVyYWw+TWF0Y2g8L2xpdGVyYWw+IOadoemgheOBqOOBr+OAgSA8ZW1waGFzaXM+MeeVquebrjwvZW1waGFzaXM+ICjkuLspIOOBruOCr+ODqeOCueOBruOBv+OBjOeFp+WQiOOBleOCjOOBvuOBmeOAguOBl+OBn+OBjOOBo+OBpuOAgeS+i+OBiOOBsOOAgeOCr+ODqeOCuSAmcXVvdDtjb20uZm9vYmFyLkEmcXVvdDsg44CBICZxdW90O2NvbS5mb29iYXIuQiZxdW90OyDplpPjgafjga4gSUMgKGluaXRpYWxpemF0aW9uIGNpcmN1bGFyaXR5IDog5Yid5pyf5YyW5pmC44Gu5Yem55CG5b6q55KwKSDjg5DjgrDloLHlkYrjgpLmipHmraLjgZfjgZ/jgYTloLTlkIjjgIHku6XkuIvjgavnpLrjgZnjgojjgYbjgasgMuOBpOOBriA8bGl0ZXJhbD5NYXRjaDwvbGl0ZXJhbD4g5p2h6aCF44KS5L2/55So44GX44G+44GZIDo8cHJvZ3JhbWxpc3Rpbmc+Ci0gICAmbHQ7TWF0Y2gmZ3Q7Ci0gICAgICAmbHQ7Q2xhc3MgbmFtZT0mcXVvdDtjb20uZm9vYmFyLkEmcXVvdDsgLyZndDsKLSAgICAgICZsdDtCdWcgY29kZT0mcXVvdDtJQyZxdW90OyAvJmd0OwotICAgJmx0Oy9NYXRjaCZndDsKLQotICAgJmx0O01hdGNoJmd0OwotICAgICAgJmx0O0NsYXNzIG5hbWU9JnF1b3Q7Y29tLmZvb2Jhci5CJnF1b3Q7IC8mZ3Q7Ci0gICAgICAmbHQ7QnVnIGNvZGU9JnF1b3Q7SUMmcXVvdDsgLyZndDsKLSAgICZsdDsvTWF0Y2gmZ3Q7Ci08L3Byb2dyYW1saXN0aW5nPuaYjuekuueahOOBq+S4oeaWueOBruOCr+ODqeOCueOBp+eFp+WQiOOBmeOCi+OBk+OBqOOBq+OCiOOBo+OBpuOAgeW+queSsOOBl+OBpuOBhOOCi+OBqeOBoeOCieOBruOCr+ODqeOCueOBjOODkOOCsOaknOe0oue1kOaenOOBriAxIOeVquebruOBq+OBquOBo+OBpuOBhOOCi+OBi+OBq+mWouS/guOBquOBj+S4gOiHtOOBleOBm+OCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgijjgoLjgaHjgo3jgpPjgZPjga7mlrnms5Xjga/jgIHlh6bnkIblvqrnkrDjgYwgJnF1b3Q7Y29tLmZvb2Jhci5BJnF1b3Q7IOOAgSAmcXVvdDtjb20uZm9vYmFyLkImcXVvdDsg44Gr5Yqg44GI44GmM+eVquebruOBruOCr+ODqeOCueOCguWQq+OCk+OBp+OBhOOCi+WgtOWQiOOBr+Wbs+OCieOBmuOCguWkseaVl+OBl+OBpuOBl+OBvuOBhuaBkOOCjOOBjOOBguOCiuOBvuOBmeOAgik8L3BhcmE+Ci0KLTxwYXJhPuWkmuOBj+OBrueorumhnuOBruODkOOCsOWgseWRiuOBr+OAgeiHqui6q+OBjOWHuuePvuOBl+OBn+ODoeOCveODg+ODieOCkuWgseWRiuOBl+OBvuOBmeOAguOBneOCjOOCieOBruODkOOCsOaknOe0oue1kOaenOOBq+WvvuOBl+OBpuOBr+OAgSA8bGl0ZXJhbD5NZXRob2Q8L2xpdGVyYWw+IOadoemgheOCkiA8bGl0ZXJhbD5NYXRjaDwvbGl0ZXJhbD4g6KaB57Sg44Gr5Yqg44GI44KL44Go5pyf5b6F6YCa44KK44Gu5YuV5L2c44KS44GZ44KL44Gn44GX44KH44GG44CCPC9wYXJhPgotCi08L3NlY3QxPgotCi08c2VjdDE+Ci08dGl0bGU+5L6LPC90aXRsZT4KLQotPHBhcmE+MS4g54m55a6a44Gu44Kv44Op44K544Gr5a++44GZ44KL44GZ44G544Gm44Gu44OQ44Kw5aCx5ZGK44Gr5LiA6Ie044GV44Gb44G+44GZ44CCPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi0gICAgIDxNYXRjaD4KLSAgICAgICA8Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5NeUNsYXNzIiAvPgotICAgICA8L01hdGNoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi08L3BhcmE+Ci0KLTxwYXJhPjIuIOODkOOCsOeVpeensOOCkuaMh+WumuOBl+OBpuOAgeeJueWumuOBruOCr+ODqeOCueOBq+WvvuOBmeOCi+eJueWumuOBruaknOafu+mgheebruOBq+S4gOiHtOOBleOBm+OBvuOBmeOAgjxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgICA8TWF0Y2g+Ci0gICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIvID4KLSAgICAgICA8QnVnIGNvZGU9IkRFLFVyRixTSUMiIC8+Ci0gICAgIDwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLTxwYXJhPjMuIOODkOOCsOeVpeensOOCkuaMh+WumuOBl+OBpuOAgeOBmeOBueOBpuOBruOCr+ODqeOCueOBq+WvvuOBmeOCi+eJueWumuOBruaknOafu+mgheebruOBq+S4gOiHtOOBleOBm+OBvuOBmeOAgjxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgICA8TWF0Y2g+Ci0gICAgICAgPEJ1ZyBjb2RlPSJERSxVckYsU0lDIiAvPgotICAgICA8L01hdGNoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotPC9wYXJhPgotCi08cGFyYT40LiDjg5DjgrDjgqvjg4bjgrTjg6rjg7zjgpLmjIflrprjgZfjgabjgIHjgZnjgbnjgabjga7jgq/jg6njgrnjgavlr77jgZnjgovnibnlrprjga7mpJzmn7vpoIXnm67jgavkuIDoh7TjgZXjgZvjgb7jgZnjgII8cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLSAgICAgPE1hdGNoPgotICAgICAgIDxCdWcgY2F0ZWdvcnk9IlBFUkZPUk1BTkNFIiAvPgotICAgICA8L01hdGNoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotPC9wYXJhPgotCi08cGFyYT41LiDjg5DjgrDnlaXnp7DjgpLmjIflrprjgZfjgabjgIHnibnlrprjga7jgq/jg6njgrnjga7mjIflrprjgZXjgozjgZ/jg6Hjgr3jg4Pjg4njgavlr77jgZnjgovnibnlrprjga7jg5DjgrDnqK7liKXjgavkuIDoh7TjgZXjgZvjgb7jgZnjgII8cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLSAgICAgPE1hdGNoPgotICAgICAgIDxDbGFzcyBuYW1lPSJjb20uZm9vYmFyLk15Q2xhc3MiIC8+Ci0gICAgICAgPE9yPgotICAgICAgICAgPE1ldGhvZCBuYW1lPSJmcm9iIiBwYXJhbXM9ImludCxqYXZhLmxhbmcuU3RyaW5nIiByZXR1cm5zPSJ2b2lkIiAvPgotICAgICAgICAgPE1ldGhvZCBuYW1lPSJibGF0IiBwYXJhbXM9IiIgcmV0dXJucz0iYm9vbGVhbiIgLz4KLSAgICAgICA8L09yPgotICAgICAgIDxCdWcgY29kZT0iREMiIC8+Ci0gICAgIDwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLTxwYXJhPjYuIOeJueWumuOBruODoeOCveODg+ODieOBq+WvvuOBmeOCi+eJueWumuOBruODkOOCsOODkeOCv+ODvOODs+OBq+S4gOiHtOOBleOBm+OBvuOBmeOAgjxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgIDwhLS0gb3BlbiBzdHJlYW0g44Gr6Zai44GZ44KL6Kqk5qSc5Ye644GM44GC44KL44Oh44K944OD44OJ44CCLS0+Ci0gICAgPE1hdGNoPgotICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLz4KLSAgICAgIDxNZXRob2QgbmFtZT0id3JpdGVEYXRhVG9GaWxlIiAvPgotICAgICAgPEJ1ZyBwYXR0ZXJuPSJPU19PUEVOX1NUUkVBTSIgLz4KLSAgICA8L01hdGNoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotPC9wYXJhPgotCi08cGFyYT43LiDnibnlrprjga7jg6Hjgr3jg4Pjg4njgavlr77jgZnjgovnibnlrprjga7lhKrlhYjluqbjgpLku5jkuI7jgZXjgozjgZ/nibnlrprjga7jg5DjgrDjg5Hjgr/jg7zjg7PjgavkuIDoh7TjgZXjgZvjgb7jgZnjgII8cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLSAgICA8IS0tIGRlYWQgbG9jYWwgc3RvcmUgKOWEquWFiOW6piAo5LitKSkg44Gr6Zai44GZ44KL6Kqk5qSc5Ye644GM44GC44KL44Oh44K944OD44OJ44CCLS0+Ci0gICAgPE1hdGNoPgotICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuTXlDbGFzcyIgLz4KLSAgICAgIDxNZXRob2QgbmFtZT0ic29tZU1ldGhvZCIgLz4KLSAgICAgIDxCdWcgcGF0dGVybj0iRExTX0RFQURfTE9DQUxfU1RPUkUiIC8+Ci0gICAgICA8UHJpb3JpdHkgdmFsdWU9IjIiIC8+Ci0gICAgPC9NYXRjaD4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLTwvcGFyYT4KLQotPHBhcmE+OC4gQXNwZWN0SiDjgrPjg7Pjg5HjgqTjg6njg7zjgavjgojjgaPjgablvJXjgY3otbfjgZPjgZXjgozjgovjg57jgqTjg4rjg7zjg5DjgrDjgavkuIDoh7TjgZXjgZvjgb7jgZkgKEFzcGVjdEog44Gu6ZaL55m66ICF44Gn44KC44Gq44GE6ZmQ44KK44CB44Gd44KM44KJ44Gu44OQ44Kw44Gr6Zai5b+D44KS5oyB44Gk44GT44Go44Gv44Gq44GE44Go6ICD44GI44G+44GZKeOAgjxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgIDxNYXRjaD4KLSAgICAgIDxDbGFzcyBuYW1lPSJ+LipcJEFqY0Nsb3N1cmVcZCsiIC8+Ci0gICAgICA8QnVnIHBhdHRlcm49IkRMU19ERUFEX0xPQ0FMX1NUT1JFIiAvPgotICAgICAgPE1ldGhvZCBuYW1lPSJydW4iIC8+Ci0gICAgPC9NYXRjaD4KLSAgICA8TWF0Y2g+Ci0gICAgICA8QnVnIHBhdHRlcm49IlVVRl9VTlVTRURfRklFTEQiIC8+Ci0gICAgICA8RmllbGQgbmFtZT0ifmFqY1wkLioiIC8+Ci0gICAgPC9NYXRjaD4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLTwvcGFyYT4KLQotPHBhcmE+OS4g5Z+655uk44Kz44O844OJ44Gu54m55a6a44Gu6YOo5YiG44Gr5a++44GZ44KL44OQ44Kw44Gr5LiA6Ie044GV44Gb44G+44GZPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi0gICAgPCEtLSDjgZnjgbnjgabjga7jg5Hjg4PjgrHjg7zjgrjjgavjgYLjgosgTWVzc2FnZXMg44Kv44Op44K544Gr5a++44GZ44KLIHVudXNlZCBmaWVsZHMg6K2m5ZGK44Gr5LiA6Ie044CCIC0tPgotICAgIDxNYXRjaD4KLSAgICAgIDxDbGFzcyBuYW1lPSJ+LipcLk1lc3NhZ2VzIiAvPgotICAgICAgPEJ1ZyBjb2RlPSJVVUYiIC8+Ci0gICAgPC9NYXRjaD4KLSAgICA8IS0tIOOBmeOBueOBpuOBriBpbnRlcm5hbCDjg5Hjg4PjgrHjg7zjgrjlhoXjga4gbXV0YWJsZSBzdGF0aWNzIOitpuWRiuOBq+S4gOiHtOOAgiAtLT4KLSAgICA8TWF0Y2g+Ci0gICAgICA8UGFja2FnZSBuYW1lPSJ+LipcLmludGVybmFsIiAvPgotICAgICAgPEJ1ZyBjb2RlPSJNUyIgLz4KLSAgICA8L01hdGNoPgotICAgIDwhLS0gdWkg44OR44OD44Kx44O844K46ZqO5bGk5YaF44GuIGFub255bW9vdXMgaW5uZXIgY2xhc3NlcyDorablkYrjgavkuIDoh7TjgIIgLS0+Ci0gICAgPE1hdGNoPgotICAgICAgPFBhY2thZ2UgbmFtZT0ifmNvbVwuZm9vYmFyXC5mb29wcm9qZWN0XC51aS4qIiAvPgotICAgICAgPEJ1ZyBwYXR0ZXJuPSJTSUNfSU5ORVJfU0hPVUxEX0JFX1NUQVRJQ19BTk9OIiAvPgotICAgIDwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci08L3BhcmE+Ci0KLTxwYXJhPjEwLiDnibnlrprjga7jgrfjgrDjg4vjg4Hjg6Pjg7zjgpLmjIHjgaTjg5XjgqPjg7zjg6vjg4njgb7jgZ/jga/jg6Hjgr3jg4Pjg4njga7jg5DjgrDjgavkuIDoh7TjgZXjgZvjgb7jgZnjgII8cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLSAgICA8IS0tIOOBmeOBueOBpuOBruOCr+ODqeOCueOBriBtYWluKFN0cmluZ1tdKSDjg6Hjgr3jg4Pjg4njgavlr77jgZnjgosgU3lzdGVtLmV4aXQoLi4uKSB1c2FnZSDorablkYrjgavkuIDoh7TjgIIgLS0+Ci0gICAgPE1hdGNoPgotICAgICAgPE1ldGhvZCByZXR1cm5zPSJ2b2lkIiBuYW1lPSJtYWluIiBwYXJhbXM9ImphdmEubGFuZy5TdHJpbmdbXSIgLz4KLSAgICAgIDxNZXRob2QgcGF0dGVybj0iRE1fRVhJVCIgLz4KLSAgICA8L01hdGNoPgotICAgIDwhLS0g44GZ44G544Gm44Gu44Kv44Op44K544GuIGNvbS5mb29iYXIuRGVidWdJbmZvIOWei+OBruODleOCo+ODvOODq+ODieOBq+WvvuOBmeOCiyBVdUYg6K2m5ZGK44Gr5LiA6Ie044CCIC0tPgotICAgIDxNYXRjaD4KLSAgICAgIDxGaWVsZCB0eXBlPSJjb20uZm9vYmFyLkRlYnVnSW5mbyIgLz4KLSAgICAgIDxCdWcgY29kZT0iVXVGIiAvPgotICAgIDwvTWF0Y2g+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci0KLTwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPuWujOWFqOOBquS+izwvdGl0bGU+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotPEZpbmRCdWdzRmlsdGVyPgotICAgICA8TWF0Y2g+Ci0gICAgICAgPENsYXNzIG5hbWU9ImNvbS5mb29iYXIuQ2xhc3NOb3RUb0JlQW5hbHl6ZWQiIC8+Ci0gICAgIDwvTWF0Y2g+Ci0KLSAgICAgPE1hdGNoPgotICAgICAgIDxDbGFzcyBuYW1lPSJjb20uZm9vYmFyLkNsYXNzV2l0aFNvbWVCdWdzTWF0Y2hlZCIgLz4KLSAgICAgICA8QnVnIGNvZGU9IkRFLFVyRixTSUMiIC8+Ci0gICAgIDwvTWF0Y2g+Ci0KLSAgICAgPCEtLSBYWVog6YGV5Y+N44Gr5LiA6Ie044CCLS0+Ci0gICAgIDxNYXRjaD4KLSAgICAgICA8QnVnIGNvZGU9IlhZWiIgLz4KLSAgICAgPC9NYXRjaD4KLQotICAgICA8IS0tICJBbm90aGVyQ2xhc3MiIOOBrueJueWumuOBruODoeOCveODg+ODieOBriBkb3VibGVjaGVjayDpgZXlj43jgavkuIDoh7TjgIItLT4KLSAgICAgPE1hdGNoPgotICAgICAgIDxDbGFzcyBuYW1lPSJjb20uZm9vYmFyLkFub3RoZXJDbGFzcyIgLz4KLSAgICAgICA8T3I+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9Im5vbk92ZXJsb2FkZWRNZXRob2QiIC8+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9ImZyb2IiIHBhcmFtcz0iaW50LGphdmEubGFuZy5TdHJpbmciIHJldHVybnM9InZvaWQiIC8+Ci0gICAgICAgICA8TWV0aG9kIG5hbWU9ImJsYXQiIHBhcmFtcz0iIiByZXR1cm5zPSJib29sZWFuIiAvPgotICAgICAgIDwvT3I+Ci0gICAgICAgPEJ1ZyBjb2RlPSJEQyIgLz4KLSAgICAgPC9NYXRjaD4KLQotICAgICA8IS0tIGRlYWQgbG9jYWwgc3RvcmUgKOWEquWFiOW6piAo5LitKSkg44Gr6Zai44GZ44KL6Kqk5qSc5Ye644GM44GC44KL44Oh44K944OD44OJ44CCLS0+Ci0gICAgIDxNYXRjaD4KLSAgICAgICA8Q2xhc3MgbmFtZT0iY29tLmZvb2Jhci5NeUNsYXNzIiAvPgotICAgICAgIDxNZXRob2QgbmFtZT0ic29tZU1ldGhvZCIgLz4KLSAgICAgICA8QnVnIHBhdHRlcm49IkRMU19ERUFEX0xPQ0FMX1NUT1JFIiAvPgotICAgICAgIDxQcmlvcml0eSB2YWx1ZT0iMiIgLz4KLSAgICAgPC9NYXRjaD4KLTwvRmluZEJ1Z3NGaWx0ZXI+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci0KLTwvc2VjdDE+Ci0KLQotPC9jaGFwdGVyPgotCi0KLTwhLS0KLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBBbmFseXNpcyBwcm9wZXJ0aWVzCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLS0+Ci0KLTxjaGFwdGVyIGlkPSJhbmFseXNpc3Byb3BzIj4KLTx0aXRsZT7liIbmnpDjg5fjg63jg5Hjg4bjgqPjg7w8L3RpdGxlPgotCi08cGFyYT4mRmluZEJ1Z3M7IOOBr+WIhuaekOOBmeOCi+WgtOWQiOOBq+OBhOOBj+OBpOOBi+OBruims+eCueOCkuaMgeOBo+OBpuOBhOOBvuOBmeOAguOBneOBl+OBpuOAgeims+eCueOCkuOCq+OCueOCv+ODnuOCpOOCuuOBl+OBpuWun+ihjOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOCt+OCueODhuODoOODl+ODreODkeODhuOCo+ODvOOCkuS9v+OBo+OBpuOAgeOBneOCjOOCieOBruOCquODl+OCt+ODp+ODs+OCkuioreWumuOBl+OBvuOBmeOAguOBk+OBrueroOOBp+OBr+OAgeWIhuaekOOCquODl+OCt+ODp+ODs+OBruioreWumuaWueazleOCkuiqrOaYjuOBl+OBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+5YiG5p6Q44Kq44OX44K344On44Oz44Gu5Li744Gq55uu55qE44Gv44CBIDIg44Gk44GC44KK44G+44GZ44CCMSDnlarnm67jga/jgIEgJkZpbmRCdWdzOyDjgavlr77jgZfjgabliIbmnpDjgZXjgozjgovjgqLjg5fjg6rjgrHjg7zjgrfjg6fjg7Pjga7jg6Hjgr3jg4Pjg4njga7mhI/lkbPjgpLkvJ3jgYjjgovjgZPjgajjgafjgZnjgILjgZ3jgYbjgZnjgovjgZPjgajjgacgJkZpbmRCdWdzOyDjgYzjgojjgormraPnorrjgarntZDmnpzjgpLlh7rjgZnjgZPjgajjgYzjgafjgY3jgIHoqqTmpJzlh7rjgpLmuJvjgonjgZnjgZPjgajjgYzjgafjgY3jgb7jgZnjgIIyIOeVquebruOBq+OAgeWIhuaekOOCkuihjOOBhuOBq+W9k+OBn+OCiuOBneOBrueyvuW6puOCkuioreWumuOBp+OBjeOCi+OCiOOBhuOBq+OBmeOCi+OBk+OBqOOBp+OBmeOAguWIhuaekOOBrueyvuW6puOCkuiQveOBqOOBmeOBk+OBqOOBp+OAgeODoeODouODquS9v+eUqOmHj+OBqOWIhuaekOaZgumWk+OCkua4m+OCieOBmeOBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOBn+OBoOOBl+OAgeacrOW9k+OBruODkOOCsOOCkuimi+mAg+OBl+OBn+OCiuOAgeiqpOaknOWHuuOBruaVsOOBjOWil+OBiOOCi+OBqOOBhOOBhuS7o+WEn+OBjOOBguOCiuOBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+44Kz44Oe44Oz44OJ44Op44Kk44Oz44Kq44OX44K344On44OzIDxjb21tYW5kPi1wcm9wZXJ0eTwvY29tbWFuZD4g44KS5L2/44Gj44Gm44CB5YiG5p6Q44Kq44OX44K344On44Oz44KS6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CC5qyh44Gr44CB5L6L44KS56S644GX44G+44GZOjxzY3JlZW4+Ci08cHJvbXB0PiQgPC9wcm9tcHQ+PGNvbW1hbmQ+ZmluZGJ1Z3MgLXRleHR1aSAtcHJvcGVydHkgJnF1b3Q7Y2ZnLm5vcHJ1bmU9dHJ1ZSZxdW90OyA8cmVwbGFjZWFibGU+bXlBcHAuamFyPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+Ci08L3NjcmVlbj4KLTwvcGFyYT4KLQotPHBhcmE+6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44KL5YiG5p6Q44Kq44OX44K344On44Oz44Gu5LiA6Kan44KSIDx4cmVmIGxpbmtlbmQ9ImFuYWx5c2lzcHJvcHRhYmxlIi8+IOOBq+ekuuOBl+OBvuOBmeOAgjwvcGFyYT4KLQotPHRhYmxlIGlkPSJhbmFseXNpc3Byb3B0YWJsZSI+Ci08dGl0bGU+6Kit5a6a5Y+v6IO944Gq5YiG5p6Q44OX44Ot44OR44OG44Kj44O8PC90aXRsZT4KLTx0Z3JvdXAgY29scz0iMyIgYWxpZ249ImxlZnQiPgotICA8dGhlYWQ+Ci0gICAgPHJvdz4KLSAgICAgIDxlbnRyeT7jg5fjg63jg5Hjg4bjgqPjg7zlkI08L2VudHJ5PgotICAgICAgPGVudHJ5PuioreWumuWApDwvZW50cnk+Ci0gICAgICA8ZW50cnk+55uu55qEPC9lbnRyeT4KLSAgICA8L3Jvdz4KLSAgPC90aGVhZD4KLSAgPHRib2R5PgotPCEtLQotICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+Y2ZnLm5vcHJ1bmU8L2VudHJ5PgotICAgICAgPGVudHJ5PnRydWUgb3IgZmFsc2U8L2VudHJ5PgotICAgICAgPGVudHJ5PklmIHRydWUsIGluZmVhc2libGUgZXhjZXB0aW9uIGVkZ2VzIGFyZSBub3QgcHJ1bmVkIGZyb20KLSAgICAgIHRoZSBjb250cm9sIGZsb3cgZ3JhcGhzIG9mIGFuYWx5emVkIG1ldGhvZHMuICBUaGlzIG9wdGlvbgotICAgICAgaW5jcmVhc2VzIHRoZSBzcGVlZCBvZiB0aGUgYW5hbHlzaXMgKGJ5IGFib3V0IDIwJS0zMCUpLAotICAgICAgYnV0IGNhdXNlcyBzb21lIGRldGVjdG9ycyB0byBwcm9kdWNlIG1vcmUgZmFsc2Ugd2FybmluZ3MuPC9lbnRyeT4KLSAgICA8L3Jvdz4KLS0tPgotICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ZmluZGJ1Z3MuYXNzZXJ0aW9ubWV0aG9kczwvZW50cnk+Ci0gICAgICA8ZW50cnk+44Kz44Oz44Oe5Yy65YiH44KK44Gu5a6M5YWo5L+u6aO+44Oh44K944OD44OJ5ZCN44Oq44K544OIIDog5L6L44CBICZxdW90O2NvbS5mb28uTXlDbGFzcy5jaGVja0Fzc2VydGlvbiZxdW90OzwvZW50cnk+Ci0gICAgICA8ZW50cnk+44GT44Gu44OX44Ot44OR44OG44Kj44O844Gr44Gv44CB44OX44Ot44Kw44Op44Og44GM5q2j44GX44GE44GT44Go44KS44OB44Kn44OD44Kv44GZ44KL44Gf44KB44Gr5L2/44KP44KM44KL44Oh44K944OD44OJ44KS5oyH5a6a44GX44G+44GZ44CC44GT44KM44KJ44Gu44Oh44K944OD44OJ44KS5oyH5a6a44GZ44KL44GT44Go44Gn44CBIOODgeOCp+ODg+OCr+ODoeOCveODg+ODieOBp+eiuuiqjeOBl+OBn+WApOOBq+WvvuOBmeOCiyBudWxsIOWPgueFp+OCouOCr+OCu+OCueODh+OCo+ODhuOCr+OCv+OBruiqpOaknOWHuuOCkuWbnumBv+OBp+OBjeOBvuOBmeOAgjwvZW50cnk+Ci0gICAgPC9yb3c+Ci0gICAgPHJvdz4KLSAgICAgIDxlbnRyeT5maW5kYnVncy5kZS5jb21tZW50PC9lbnRyeT4KLSAgICAgIDxlbnRyeT50cnVlIOOBvuOBn+OBryBmYWxzZTwvZW50cnk+Ci0gICAgICA8ZW50cnk+dHJ1ZSDjgavoqK3lrprjgZnjgovjgajjgIEgRHJvcHBlZEV4Y2VwdGlvbiAo54Sh6KaW44GV44KM44Gf5L6L5aSWKSDjg4fjgqPjg4bjgq/jgr/jga/nqbrjga4gY2F0Y2gg44OW44Ot44OD44KvIOOBq+OCs+ODoeODs+ODiOOBjOeEoeOBhOOBi+aOouOBl+OBvuOBmeOAguOBneOBl+OBpuOAgeOCs+ODoeODs+ODiOOBjOOBv+OBpOOBi+OBo+OBn+WgtOWQiOOBq+OBr+itpuWRiuOBjOWgseWRiuOBleOCjOOBvuOBm+OCk+OAgjwvZW50cnk+Ci0gICAgPC9yb3c+Ci0gICAgPHJvdz4KLSAgICAgIDxlbnRyeT5maW5kYnVncy5tYXNrZWRmaWVsZHMubG9jYWxzPC9lbnRyeT4KLSAgICAgIDxlbnRyeT50cnVlIOOBvuOBn+OBryBmYWxzZTwvZW50cnk+Ci0gICAgICA8ZW50cnk+dHJ1ZSDjgavoqK3lrprjgZnjgovjgajjgIHjg5XjgqPjg7zjg6vjg4njgpLpmqDolL3jgZfjgabjgYTjgovjg63jg7zjgqvjg6vlpInmlbDjgavlr77jgZfjgablhKrlhYjluqYo5L2OKeOBruitpuWRiuOBjOeZuuihjOOBleOCjOOBvuOBmeOAguODh+ODleOCqeODq+ODiOOBr+OAgSBmYWxzZSDjgafjgZnjgII8L2VudHJ5PgotICAgIDwvcm93PgotICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ZmluZGJ1Z3MubnVsbGRlcmVmLmFzc3VtZW5zcDwvZW50cnk+Ci0gICAgICA8ZW50cnk+dHJ1ZSDjgb7jgZ/jga8gZmFsc2U8L2VudHJ5PgotICAgICAgPGVudHJ5PuS9v+eUqOOBleOCjOOBvuOBm+OCk+OAgiAo5oSP5ZuzIDogdHJ1ZSDjgavoqK3lrprjgZnjgovjgajjgIFudWxsIOWPgueFp+OCouOCr+OCu+OCueODh+OCo+ODhuOCr+OCv+OBr+ODoeOCveODg+ODieOBi+OCieOBruaIu+OCiuWApOOAgeOBvuOBn+OBr+OAgeODoeOCveODg+ODieOBq+WPl+OBkea4oeOBleOCjOOCi+W8leaVsOOCkiBudWxsIOOBp+OBguOCi+OBqOS7ruWumuOBl+OBvuOBmeOAguODh+ODleOCqeODq+ODiOOBr+OAgSBmYWxzZSDjgafjgZnjgILjgZPjga7jg5fjg63jg5Hjg4bjgqPjg7zjgpLmnInlirnjgavjgZnjgovjgajjgIHlpKfph4/jga7oqqTmpJzlh7rjgYznlJ/miJDjgZXjgozjgovjgafjgYLjgo3jgYbjgZPjgajjgavms6jmhI/jgZfjgabjgY/jgaDjgZXjgYTjgIIpPC9lbnRyeT4KLSAgICA8L3Jvdz4KLSAgICA8cm93PgotICAgICAgPGVudHJ5PmZpbmRidWdzLnJlZmNvbXAucmVwb3J0QWxsPC9lbnRyeT4KLSAgICAgIDxlbnRyeT50cnVlIOOBvuOBn+OBryBmYWxzZTwvZW50cnk+Ci0gICAgICA8ZW50cnk+dHJ1ZSDjgavoqK3lrprjgZnjgovjgajjgIEgID09IOOBiuOCiOOBsyAhPSDmvJTnrpflrZDjgpLkvb/jgaPjgabjgYTjgovnlpHjgo/jgZfjgYTlj4Lnhafmr5TovIPjgYzjgZnjgbnjgabloLHlkYrjgZXjgozjgb7jgZnjgIIgZmFsc2Ug44Gr6Kit5a6a44GZ44KL44Go44CB5ZCM5qeY44Gu6K2m5ZGK44GvIDEg44Oh44K944OD44OJ44Gr44Gk44GNIDEg44Gk44GX44GL55m66KGM44GV44KM44G+44Gb44KT44CC44OH44OV44Kp44Or44OI44Gv44CBIGZhbHNlIOOBp+OBmeOAgjwvZW50cnk+Ci0gICAgPC9yb3c+Ci0gICAgPHJvdz4KLSAgICAgIDxlbnRyeT5maW5kYnVncy5zZi5jb21tZW50PC9lbnRyeT4KLSAgICAgIDxlbnRyeT50cnVlIOOBvuOBn+OBryBmYWxzZTwvZW50cnk+Ci0gICAgICA8ZW50cnk+dHJ1ZSDjgavoqK3lrprjgZnjgovjgajjgIEgU3dpdGNoRmFsbHRocm91Z2gg44OH44Kj44OG44Kv44K/44Gv44K944O844K544Kz44O844OJ44Gr44CMZmFsbOOAjeOBvuOBn+OBr+OAjG5vYnJlYWvjgI3jgajjgYTjgYbljZjoqp7jgpLlkKvjgpPjgaDjgrPjg6Hjg7Pjg4jjgpLoqJjovInjgZfjgabjgYTjgarjgYQgY2FzZeODqeODmeODqyDjgavpmZDjgororablkYrjgpLloLHlkYrjgZfjgb7jgZnjgIIo44GT44Gu5qmf6IO944GM5q2j44GX44GP5YuV5L2c44GZ44KL44Gf44KB44Gr44Gv44CB5q2j56K644Gq44K944O844K544OR44K544GM5b+F6KaB44Gn44GZ44CCKSDjgZPjgozjgavjgojjgorjgIHmhI/lm7PnmoTjgafjga/jgarjgYQgc3dpdGNoIOaWh+OBriBmYWxsdGhyb3VnaCDjgpLnmbropovjgZfmmJPjgY/jgarjgorjgb7jgZnjgII8L2VudHJ5PgotICAgIDwvcm93PgotPCEtLSBzZWUgb3RoZXJzIGF0IHNyYy9kb2MvbWFudWFsL3N5c3Byb3BzLmh0bWwKLSAgICA8cm93PgotICAgICAgPGVudHJ5PjwvZW50cnk+Ci0gICAgICA8ZW50cnk+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT48L2VudHJ5PgotICAgIDwvcm93PgotLS0+Ci0gIDwvdGJvZHk+Ci08L3Rncm91cD4KLTwvdGFibGU+Ci0KLTwvY2hhcHRlcj4KLQotPCEtLQotICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICBBbm5vdGF0aW9ucwotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tLT4KLQotPGNoYXB0ZXIgaWQ9ImFubm90YXRpb25zIj4KLTx0aXRsZT7jgqLjg47jg4bjg7zjgrfjg6fjg7M8L3RpdGxlPgotCi08cGFyYT4mRmluZEJ1Z3M7IOOBr+OBhOOBj+OBpOOBi+OBruOCouODjuODhuODvOOCt+ODp+ODs+OCkuOCteODneODvOODiOOBl+OBpuOBhOOBvuOBmeOAgumWi+eZuuiAheOBruaEj+Wbs+OCkuaYjueiuuOBq+OBmeOCi+OBk+OBqOOBp+OAgSBGaW5kQnVncyDjga/jgojjgornmoTnorrjgavorablkYrjgpLnmbrooYzjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgILjgqLjg47jg4bjg7zjgrfjg6fjg7PjgpLkvb/nlKjjgZnjgovjgZ/jgoHjgavjga8gSmF2YSA1IOOBjOW/heimgeOBp+OBguOCiuOAgSBhbm5vdGF0aW9ucy5qYXIg44GK44KI44GzIGpzcjMwNS5qYXIg44OV44Kh44Kk44Or44KS44Kz44Oz44OR44Kk44Or5pmC44Gu44Kv44Op44K544OR44K544Gr5ZCr44KB44KL5b+F6KaB44GM44GC44KK44G+44GZ44CCPC9wYXJhPgotCi08dmFyaWFibGVsaXN0PgotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuQ2hlY2tGb3JOdWxsPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci08Y29tbWFuZD5bVGFyZ2V0XTwvY29tbWFuZD4gRmllbGQsIE1ldGhvZCwgUGFyYW1ldGVyCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT7jgqLjg47jg4bjg7zjgrfjg6fjg7PjgpLjgaTjgZHjgZ/opoHntKDjga/jgIEgbnVsbCDjgafjgYLjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZnjgILjgZfjgZ/jgYzjgaPjgabjgIHlvZPoqbLopoHntKDjgpLkvb/nlKjjgZnjgovpmpvjga8gbnVsbCDjg4Hjgqfjg4Pjgq/jgpLjgZnjgovjgbnjgY3jgafjgZnjgILjgZPjga7jgqLjg47jg4bjg7zjgrfjg6fjg7PjgpLjg6Hjgr3jg4Pjg4njgavpgannlKjjgZnjgovjgajjgIHjg6Hjgr3jg4Pjg4njga7miLvjgorlgKTjgavpgannlKjjgZXjgozjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkNoZWNrUmV0dXJuVmFsdWU8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBNZXRob2QsIENvbnN0cnVjdG9yCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPltQYXJhbWV0ZXJdPC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+cHJpb3JpdHk6PC9jb21tYW5kPiDorablkYrjga7lhKrlhYjluqbjgpLmjIflrprjgZfjgb7jgZkgKEhJR0gsIE1FRElVTSwgTE9XLCBJR05PUkUpIOOAguODh+ODleOCqeODq+ODiOWApCA6TUVESVVN44CCPC9wYXJhPgotICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIDxjb21tYW5kPmV4cGxhbmF0aW9uOjwvY29tbWFuZD7miLvjgorlgKTjgpLjg4Hjgqfjg4Pjgq/jgZfjgarjgZHjgbDjgarjgonjgarjgYTnkIbnlLHjgpLjg4bjgq3jgrnjg4jjgafoqqzmmI7jgZfjgb7jgZnjgILjg4fjg5Xjgqnjg6vjg4jlgKQgOiZxdW90OyZxdW90O+OAgjwvcGFyYT4KLSAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgIDwvdmFyaWFibGVsaXN0PgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+44GT44Gu44Ki44OO44OG44O844K344On44Oz44KS5L2/55So44GX44Gm44CB5ZG85Ye644GX5b6M44Gr5oi744KK5YCk44KS44OB44Kn44OD44Kv44GZ44G544GN44Oh44K944OD44OJ44KS6KGo44GZ44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5EZWZhdWx0QW5ub3RhdGlvbjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPGNvbW1hbmQ+W1RhcmdldF08L2NvbW1hbmQ+IFR5cGUsIFBhY2thZ2UKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDx2YXJpYWJsZWxpc3Q+Ci0gICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+W1BhcmFtZXRlcl08L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICA8Y29tbWFuZD52YWx1ZTo8L2NvbW1hbmQ+44Ki44OO44OG44O844K344On44Oz44Kv44Op44K544GuY2xhc3Pjgqrjg5bjgrjjgqfjgq/jg4jjgILopIfmlbDjga7jgq/jg6njgrnjgpLmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+cHJpb3JpdHk6PC9jb21tYW5kPuecgeeVpeaZguOBruWEquWFiOW6puOCkuaMh+WumuOBl+OBvuOBmSAoSElHSCwgTUVESVVNLCBMT1csIElHTk9SRSkg44CC44OH44OV44Kp44Or44OI5YCkIDpNRURJVU3jgII8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotSW5kaWNhdGVzIHRoYXQgYWxsIG1lbWJlcnMgb2YgdGhlIGNsYXNzIG9yIHBhY2thZ2Ugc2hvdWxkIGJlIGFubm90YXRlZCB3aXRoIHRoZSBkZWZhdWx0Ci12YWx1ZSBvZiB0aGUgc3VwcGxpZWQgYW5ub3RhdGlvbiBjbGFzc2VzLiBUaGlzIHdvdWxkIGJlIHVzZWQgZm9yIGJlaGF2aW9yIGFubm90YXRpb25zCi1zdWNoIGFzIEBOb25OdWxsLCBAQ2hlY2tGb3JOdWxsLCBvciBAQ2hlY2tSZXR1cm5WYWx1ZS4gSW4gcGFydGljdWxhciwgeW91IGNhbiB1c2UKLUBEZWZhdWx0QW5ub3RhdGlvbihOb25OdWxsLmNsYXNzKSBvbiBhIGNsYXNzIG9yIHBhY2thZ2UsIGFuZCB0aGVuIHVzZSBATnVsbGFibGUgb25seQotb24gdGhvc2UgcGFyYW1ldGVycywgbWV0aG9kcyBvciBmaWVsZHMgdGhhdCB5b3Ugd2FudCB0byBhbGxvdyB0byBiZSBudWxsLgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5EZWZhdWx0QW5ub3RhdGlvbkZvckZpZWxkczwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPGNvbW1hbmQ+W1RhcmdldF08L2NvbW1hbmQ+IFR5cGUsIFBhY2thZ2UKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDx2YXJpYWJsZWxpc3Q+Ci0gICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+W1BhcmFtZXRlcl08L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICA8Y29tbWFuZD52YWx1ZTo8L2NvbW1hbmQ+44Ki44OO44OG44O844K344On44Oz44Kv44Op44K544GuY2xhc3Pjgqrjg5bjgrjjgqfjgq/jg4jjgILopIfmlbDjga7jgq/jg6njgrnjgpLmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+cHJpb3JpdHk6PC9jb21tYW5kPuecgeeVpeaZguOBruWEquWFiOW6puOCkuaMh+WumuOBl+OBvuOBmSAoSElHSCwgTUVESVVNLCBMT1csIElHTk9SRSkg44CC44OH44OV44Kp44Or44OI5YCkIDpNRURJVU3jgII8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVGhpcyBpcyBzYW1lIGFzIHRoZSBEZWZhdWx0QW5ub3RhdGlvbiBleGNlcHQgaXQgb25seSBhcHBseXMgdG8gZmllbGRzLgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5EZWZhdWx0QW5ub3RhdGlvbkZvck1ldGhvZHM8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBUeXBlLCBQYWNrYWdlCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPltQYXJhbWV0ZXJdPC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+dmFsdWU6PC9jb21tYW5kPuOCouODjuODhuODvOOCt+ODp+ODs+OCr+ODqeOCueOBrmNsYXNz44Kq44OW44K444Kn44Kv44OI44CC6KSH5pWw44Gu44Kv44Op44K544KS5oyH5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIDxjb21tYW5kPnByaW9yaXR5OjwvY29tbWFuZD7nnIHnlaXmmYLjga7lhKrlhYjluqbjgpLmjIflrprjgZfjgb7jgZkgKEhJR0gsIE1FRElVTSwgTE9XLCBJR05PUkUpIOOAguODh+ODleOCqeODq+ODiOWApCA6TUVESVVN44CCPC9wYXJhPgotICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgPC92YXJpYWJsZWxpc3Q+Ci0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLVRoaXMgaXMgc2FtZSBhcyB0aGUgRGVmYXVsdEFubm90YXRpb24gZXhjZXB0IGl0IG9ubHkgYXBwbHlzIHRvIG1ldGhvZHMuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLkRlZmF1bHRBbm5vdGF0aW9uRm9yUGFyYW1ldGVyczwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPGNvbW1hbmQ+W1RhcmdldF08L2NvbW1hbmQ+IFR5cGUsIFBhY2thZ2UKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDx2YXJpYWJsZWxpc3Q+Ci0gICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+W1BhcmFtZXRlcl08L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICA8Y29tbWFuZD52YWx1ZTo8L2NvbW1hbmQ+44Ki44OO44OG44O844K344On44Oz44Kv44Op44K544GuY2xhc3Pjgqrjg5bjgrjjgqfjgq/jg4jjgILopIfmlbDjga7jgq/jg6njgrnjgpLmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+cHJpb3JpdHk6PC9jb21tYW5kPuecgeeVpeaZguOBruWEquWFiOW6puOCkuaMh+WumuOBl+OBvuOBmSAoSElHSCwgTUVESVVNLCBMT1csIElHTk9SRSkg44CC44OH44OV44Kp44Or44OI5YCkIDpNRURJVU3jgII8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVGhpcyBpcyBzYW1lIGFzIHRoZSBEZWZhdWx0QW5ub3RhdGlvbiBleGNlcHQgaXQgb25seSBhcHBseXMgdG8gbWV0aG9kIHBhcmFtZXRlcnMuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLk5vbk51bGw8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPuOCouODjuODhuODvOOCt+ODp+ODs+OCkuOBpOOBkeOBn+imgee0oOOBr+OAgSBudWxsIOOBp+OBguOBo+OBpuOBr+OBhOOBkeOBvuOBm+OCk+OAguOCouODjuODhuODvOOCt+ODp+ODs+OCkuOBpOOBkeOBn+ODleOCo+ODvOODq+ODieOBr+OAgeani+evieWujOS6huW+jCBudWxsIOOBp+OBguOBo+OBpuOBr+OBhOOBkeOBvuOBm+OCk+OAguOCouODjuODhuODvOOCt+ODp+ODs+OCkuOBpOOBkeOBn+ODoeOCveODg+ODieOBr+OAgSBudWxsIOOBp+OBr+OBquOBhOWApOOCkuaIu+OCiuWApOOBqOOBl+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuTnVsbGFibGU8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPuOCouODjuODhuODvOOCt+ODp+ODs+OCkuOBpOOBkeOBn+imgee0oOOBr+OAgSBudWxsIOOBp+OBguOBo+OBpuOBr+OBhOOBkeOBvuOBm+OCk+OAgkluIGdlbmVyYWwsIHRoaXMgbWVhbnMgZGV2ZWxvcGVycyB3aWxsIGhhdmUgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiB0byBkZXRlcm1pbmUgd2hlbiBhIG51bGwgdmFsdWUgaXMgYWNjZXB0YWJsZSBhbmQgd2hldGhlciBpdCBpcyBuZWNjZXNzYXJ5IHRvIGNoZWNrIGZvciBhIG51bGwgdmFsdWUuIEZpbmRCdWdzIHdpbGwgdHJlYXQgdGhlIGFubm90YXRlZCBpdGVtcyBhcyB0aG91Z2ggdGhleSBoYWQgbm8gYW5ub3RhdGlvbi48L3BhcmE+Ci0gICAgICA8cGFyYT4KLUluIHByYXRpY2UgdGhpcyBhbm5vdGF0aW9uIGlzIHVzZWZ1bCBvbmx5IGZvciBvdmVycmlkaW5nIGFuIG92ZXJhcmNoaW5nIE5vbk51bGwKLWFubm90YXRpb24uCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLk92ZXJyaWRlTXVzdEludm9rZTwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPGNvbW1hbmQ+W1RhcmdldF08L2NvbW1hbmQ+IE1ldGhvZAotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHZhcmlhYmxlbGlzdD4KLSAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICA8dGVybT48Y29tbWFuZD5bUGFyYW1ldGVyXTwvY29tbWFuZD48L3Rlcm0+Ci0gICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIDxjb21tYW5kPnZhbHVlOjwvY29tbWFuZD5TcGVjaWZ5IHdoZW4gdGhlIHN1cGVyIGludm9jYXRpb24gc2hvdWxkIGJlCi0gICAgICAgICAgICAgIHBlcmZvcm1lZCAoRklSU1QsIEFOWVRJTUUsIExBU1QpLiBEZWZhdWx0IHZhbHVlOkFOWVRJTUUuCi0gICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVXNlZCB0byBhbm5vdGF0ZSBhIG1ldGhvZCB0aGF0LCBpZiBvdmVycmlkZGVuLCBtdXN0IChvciBzaG91bGQpIGJlIGludm9rZSBzdXBlcgotaW4gdGhlIG92ZXJyaWRpbmcgbWV0aG9kLiBFeGFtcGxlcyBvZiBzdWNoIG1ldGhvZHMgaW5jbHVkZSBmaW5hbGl6ZSgpIGFuZCBjbG9uZSgpLgotVGhlIGFyZ3VtZW50IHRvIHRoZSBtZXRob2QgaW5kaWNhdGVzIHdoZW4gdGhlIHN1cGVyIGludm9jYXRpb24gc2hvdWxkIG9jY3VyOgotYXQgYW55IHRpbWUsIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG92ZXJyaWRpbmcgbWV0aG9kLCBvciBhdCB0aGUgZW5kIG9mIHRoZSBvdmVycmlkaW5nIG1ldGhvZC4KLShUaGlzIGFub3RhdGlvbiBpcyBub3QgaW1wbG1lbWVudGVkIGluIEZpbmRCdWdzIGFzIG9mIFNlcHRlbWJlciA4LCAyMDA2KS4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLQotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPmVkdS51bWQuY3MuZmluZGJ1Z3MuYW5ub3RhdGlvbnMuUG9zc2libHlOdWxsPC9jb21tYW5kPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLVRoaXMgYW5ub3RhdGlvbiBpcyBkZXByZWNhdGVkLiBVc2UgQ2hlY2tGb3JOdWxsIGluc3RlYWQuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLlN1cHByZXNzV2FybmluZ3M8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBUeXBlLCBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIsIENvbnN0cnVjdG9yLCBQYWNrYWdlCi0gICAgPC9saXN0aXRlbT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPltQYXJhbWV0ZXJdPC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgPGNvbW1hbmQ+dmFsdWU6PC9jb21tYW5kPlRoZSBuYW1lIG9mIHRoZSB3YXJuaW5nLiBNb3JlIHRoYW4gb25lIG5hbWUgY2FuIGJlIHNwZWNpZmllZC4KLSAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICA8Y29tbWFuZD5qdXN0aWZpY2F0aW9uOjwvY29tbWFuZD5SZWFzb24gd2h5IHRoZSB3YXJuaW5nIHNob3VsZCBiZSBpZ25vcmVkLiDjg4fjg5Xjgqnjg6vjg4jlgKQgOiZxdW90OyZxdW90O+OAgjwvcGFyYT4KLSAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgIDwvdmFyaWFibGVsaXN0PgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci1UaGUgc2V0IG9mIHdhcm5pbmdzIHRoYXQgYXJlIHRvIGJlIHN1cHByZXNzZWQgYnkgdGhlIGNvbXBpbGVyIGluIHRoZSBhbm5vdGF0ZWQgZWxlbWVudC4KLUR1cGxpY2F0ZSBuYW1lcyBhcmUgcGVybWl0dGVkLiAgVGhlIHNlY29uZCBhbmQgc3VjY2Vzc2l2ZSBvY2N1cnJlbmNlcyBvZiBhIG5hbWUgYXJlIGlnbm9yZWQuCi1UaGUgcHJlc2VuY2Ugb2YgdW5yZWNvZ25pemVkIHdhcm5pbmcgbmFtZXMgaXMgPGVtcGhhc2lzPm5vdDwvZW1waGFzaXM+IGFuIGVycm9yOiBDb21waWxlcnMKLW11c3QgaWdub3JlIGFueSB3YXJuaW5nIG5hbWVzIHRoZXkgZG8gbm90IHJlY29nbml6ZS4gVGhleSBhcmUsIGhvd2V2ZXIsIGZyZWUgdG8gZW1pdCBhCi13YXJuaW5nIGlmIGFuIGFubm90YXRpb24gY29udGFpbnMgYW4gdW5yZWNvZ25pemVkIHdhcm5pbmcgbmFtZS4gQ29tcGlsZXIgdmVuZG9ycyBzaG91bGQKLWRvY3VtZW50IHRoZSB3YXJuaW5nIG5hbWVzIHRoZXkgc3VwcG9ydCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoaXMgYW5ub3RhdGlvbiB0eXBlLiBUaGV5Ci1hcmUgZW5jb3VyYWdlZCB0byBjb29wZXJhdGUgdG8gZW5zdXJlIHRoYXQgdGhlIHNhbWUgbmFtZXMgd29yayBhY3Jvc3MgbXVsdGlwbGUgY29tcGlsZXJzLgotICAgICAgPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotCi0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+ZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5Vbmtub3duTnVsbG5lc3M8L2NvbW1hbmQ+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxjb21tYW5kPltUYXJnZXRdPC9jb21tYW5kPiBGaWVsZCwgTWV0aG9kLCBQYXJhbWV0ZXIKLSAgICA8L2xpc3RpdGVtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotVXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBudWxsbmVzcyBvZiB0aGUgdGFyZ2V0IGlzIHVua25vd24sIG9yIG15IHZhcnkgaW4gdW5rbm93biB3YXlzIGluIHN1YmNsYXNzZXMuCi0gICAgICA8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD5lZHUudW1kLmNzLmZpbmRidWdzLmFubm90YXRpb25zLlVua25vd25OdWxsbmVzczwvY29tbWFuZD48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPGNvbW1hbmQ+W1RhcmdldF08L2NvbW1hbmQ+IEZpZWxkLCBNZXRob2QsIFBhcmFtZXRlcgotICAgIDwvbGlzdGl0ZW0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci1Vc2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIG51bGxuZXNzIG9mIHRoZSB0YXJnZXQgaXMgdW5rbm93biwgb3IgbXkgdmFyeSBpbiB1bmtub3duIHdheXMgaW4gc3ViY2xhc3Nlcy4KLSAgICAgIDwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLTwvdmFyaWFibGVsaXN0PgotCi08cGFyYT7jgb7jgZ/jgIEgJkZpbmRCdWdzOyDmrKHjgavnpLrjgZnjgqLjg47jg4bjg7zjgrfjg6fjg7PjgoLjgrXjg53jg7zjg4jjgZfjgabjgYTjgb7jgZnjgIIgOjxpdGVtaXplZGxpc3Q+Ci0gIDxsaXN0aXRlbT5uZXQuamNpcC5hbm5vdGF0aW9ucy5HdWFyZGVkQnk8L2xpc3RpdGVtPgotICA8bGlzdGl0ZW0+bmV0LmpjaXAuYW5ub3RhdGlvbnMuSW1tdXRhYmxlPC9saXN0aXRlbT4KLSAgPGxpc3RpdGVtPm5ldC5qY2lwLmFubm90YXRpb25zLk5vdFRocmVhZFNhZmU8L2xpc3RpdGVtPgotICA8bGlzdGl0ZW0+bmV0LmpjaXAuYW5ub3RhdGlvbnMuVGhyZWFkU2FmZTwvbGlzdGl0ZW0+Ci08L2l0ZW1pemVkbGlzdD4KLTwvcGFyYT4KLTxwYXJhPjx1bGluayB1cmw9Imh0dHA6Ly9qY2lwLm5ldC8iPkphdmEgQ29uY3VycmVuY3kgaW4gUHJhY3RpY2U8L3VsaW5rPiDjga4gPHVsaW5rIHVybD0iaHR0cDovL2pjaXAubmV0L2Fubm90YXRpb25zL2RvYy9pbmRleC5odG1sIj4gQVBJIOODieOCreODpeODoeODs+ODiDwvdWxpbms+IOOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAgjwvcGFyYT4KLTwvY2hhcHRlcj4KLQotPCEtLQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgIFVzaW5nIHJlamFyRm9yQW5hbHlzaXMKLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tLT4KLQotPGNoYXB0ZXIgaWQ9InJlamFyRm9yQW5hbHlzaXMiPgotPHRpdGxlPnJlamFyRm9yQW5hbHlzaXMg44Gu5L2/55So5pa55rOVPC90aXRsZT4KLQotPHBhcmE+44OX44Ot44K444Kn44Kv44OI44Gr5aSa44GP44GuIGphciDjg5XjgqHjgqTjg6sg44GM44GC44Gj44Gf44KK44CBIGphciDjg5XjgqHjgqTjg6vjgYzlpJrjgY/jga7jg4fjgqPjg6zjgq/jg4jjg6rjgavngrnlnKjjgZfjgZ/jgorjgZnjgovloLTlkIjjga/jgIEgPGNvbW1hbmQ+cmVqYXJGb3JBbmFseXNpcyA8L2NvbW1hbmQ+IOOCueOCr+ODquODl+ODiOOCkuS9v+eUqOOBmeOCi+OBqCBGaW5kQnVncyDjga7lrp/ooYzjgYzmr5TovIPnmoTnsKHljZjjgavjgarjgorjgb7jgZnjgILjgZPjga7jgrnjgq/jg6rjg5fjg4jjga/jgIHmlbDlpJrjgYQgamFyIOODleOCoeOCpOODq+OCkumbhuOCgeOBpiAxIOOBpOOBruWkp+OBjeOBqiBqYXIg44OV44Kh44Kk44Or44Gr57WQ5ZCI44GX44G+44GZ44CC44Gd44GG44GZ44KL44Go44CB5YiG5p6Q5pmC44GrRmluZEJ1Z3Mg44GrIGphciDjg5XjgqHjgqTjg6vjgpLoqK3lrprjgZnjgovjgZPjgajjgYzmr5TovIPnmoTnsKHljZjjgavjgarjgorjgb7jgZnjgILjgZPjga7jgrnjgq/jg6rjg5fjg4jjga/jgIEgdW5peCDjgrfjgrnjg4bjg6Djga4gJ2ZpbmQnIOOCs+ODnuODs+ODieOBqOe1hOOBv+WQiOOCj+OBm+OCi+OBqOOBqOOCiuOCj+OBkeacieeUqOOBq+OBquOCiuOBvuOBmSA7IOasoeOBq+S+i+OCkuekuuOBl+OBvuOBmeOAgiA8Y29tbWFuZD5maW5kIC4gLW5hbWUgJyouamFyJyB8IHhhcmdzIHJlamFyRm9yQW5hbHlzaXMgPC9jb21tYW5kPi48L3BhcmE+Ci0KLTxwYXJhPuOBvuOBn+OAgSA8Y29tbWFuZD5yZWphckZvckFuYWx5c2lzPC9jb21tYW5kPiDjgrnjgq/jg6rjg5fjg4jjga/lt6jlpKfjgarjg5fjg63jgrjjgqfjgq/jg4jjgpLopIfmlbDjga4gamFyIOODleOCoeOCpOODq+OBq+WIhuWJsuOBmeOCi+OBk+OBqOOBq+S9v+eUqOOBp+OBjeOBvuOBmeOAguODl+ODreOCuOOCp+OCr+ODiOOBruOCr+ODqeOCueODleOCoeOCpOODq+OBr+OAgeikh+aVsOOBriBqYXIg44OV44Kh44Kk44Or44Gr5Z2H562J44Gr6YWN5YiG44GV44KM44G+44GZ44CC44GT44KM44Gv44CB44OX44Ot44K444Kn44Kv44OI5YWo5L2T44Gr5a++44GX44GmIEZpbmRCdWdzIOOCkuWun+ihjOOBmeOCi+OBqOaZgumWk+OBqOODoeODouODqua2iOiyu+OBjOiRl+OBl+OBhOWgtOWQiOOBq+acieeUqOOBp+OBmeOAguODl+ODreOCuOOCp+OCr+ODiOWFqOS9k+OBq+WvvuOBl+OBpiBGaW5kQnVncyDjgpLlrp/ooYzjgZnjgovku6Pjgo/jgorjgavjgIEgPGNvbW1hbmQ+IHJlamFyRm9yQW5hbHlzaXM8L2NvbW1hbmQ+IOOBp+OBmeOBueOBpuOBruOCr+ODqeOCueOCkuWQq+OCgOWkp+OBjeOBqiBqYXIg44OV44Kh44Kk44Or44KS5qeL56+J44GX44G+44GZ44CC57aa44GE44Gm44CBIDxjb21tYW5kPnJlamFyRm9yQW5hbHlzaXM8L2NvbW1hbmQ+IOOCkuWGjeOBs+Wun+ihjOOBl+OBpuikh+aVsOOBriBqYXIg44OV44Kh44Kk44Or44Gr5YiG5Ymy44GX44G+44GZ44CC44Gd44GX44Gm44CB5ZCE44CF44GuIGphciDjg5XjgqHjgqTjg6vjgavlr77jgZfjgabpoIbjgasgRmluZEJ1Z3Mg44KS5a6f6KGM44GX44G+44GZ44CC44Gd44Gu6Zqb44CBIDxjb21tYW5kPi1hdXhjbGFzc3BhdGg8L2NvbW1hbmQ+IOOBq+acgOWIneOBqyAxIOOBpOOBq+OBvuOBqOOCgeOBnyBqYXIg44OV44Kh44Kk44Or44KS5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CCPC9wYXJhPgotCi08cGFyYT48Y29tbWFuZD5yZWphckZvckFuYWx5c2lzPC9jb21tYW5kPiDjgrnjgq/jg6rjg5fjg4jjgavmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgovjgqrjg5fjgrfjg6fjg7PjgpLku6XkuIvjgavnpLrjgZfjgb7jgZkgOjwvcGFyYT4KLQotPHZhcmlhYmxlbGlzdD4KLSAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48Y29tbWFuZD4tbWF4QWdlPC9jb21tYW5kPiA8cmVwbGFjZWFibGU+5pel5pWwPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPuacgOW+jOOBq+abtOaWsOOBleOCjOOBn+aXpeOBi+OCieOBrue1jOmBjuaZgumWk+OCkuaXpeWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmSAo5oyH5a6a44GX44Gf5pel5pWw44KI44KK5Y+k44GEIGphciDjg5XjgqHjgqTjg6vjga/nhKHoppbjgZXjgozjgb7jgZkp44CCPC9wYXJhPgotICAgIDwvbGlzdGl0ZW0+Ci0gIDwvdmFybGlzdGVudHJ5PgotICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxjb21tYW5kPi1pbnB1dEZpbGVMaXN0PC9jb21tYW5kPiA8cmVwbGFjZWFibGU+44OV44Kh44Kk44Or5ZCNPC9yZXBsYWNlYWJsZT48L3Rlcm0+Ci0gICAgPGxpc3RpdGVtPgotICAgICAgIDxwYXJhPmphciDjg5XjgqHjgqTjg6vlkI3jgpLoqJjovInjgZfjgZ/jg4bjgq3jgrnjg4jjg5XjgqHjgqTjg6vjgpLmjIflrprjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LW1heENsYXNzZXM8L2NvbW1hbmQ+IDxyZXBsYWNlYWJsZT7jgq/jg6njgrnmlbA8L3JlcGxhY2VhYmxlPjwvdGVybT4KLSAgICA8bGlzdGl0ZW0+Ci0gICAgICAgPHBhcmE+YW5hbHlzaXMqLmphciDjg5XjgqHjgqTjg6sgMSDjg5XjgqHjgqTjg6vjgavlr77jgZnjgovjgq/jg6njgrnjga7mnIDlpKfmlbDjgpLmjIflrprjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgPC9saXN0aXRlbT4KLSAgPC92YXJsaXN0ZW50cnk+Ci0gIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+PGNvbW1hbmQ+LXByZWZpeDwvY29tbWFuZD4gPHJlcGxhY2VhYmxlPuODl+ODrOODleOCo+ODg+OCr+OCuTwvcmVwbGFjZWFibGU+PC90ZXJtPgotICAgIDxsaXN0aXRlbT4KLSAgICAgICA8cGFyYT7liIbmnpDjgZnjgovjgq/jg6njgrnlkI3jga7jg5fjg6zjg5XjgqPjg4Pjgq/jgrnjgpLmjIflrprjgZfjgb7jgZkgICjkvovjgIEgZWR1LnVtZC5jcy4pIOOAgjwvcGFyYT4KLSAgICA8L2xpc3RpdGVtPgotICA8L3Zhcmxpc3RlbnRyeT4KLTwvdmFyaWFibGVsaXN0PgotPC9jaGFwdGVyPgotCi08IS0tCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAgRGF0YSBtaW5pbmcKLSAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0tLT4KLQotPGNoYXB0ZXIgaWQ9ImRhdGFtaW5pbmciPgotICAgIDx0aXRsZT4mRmluZEJ1Z3M7JnRyYWRlOyDjgavjgojjgovjg4fjg7zjgr/jg7vjg57jgqTjg4vjg7PjgrA8L3RpdGxlPgotCi08cGFyYT7jg5DjgrDjg4fjg7zjgr/jg5njg7zjgrnjgbjjga7pq5jmqZ/og73jga7llY/jgYTlkIjjgo/jgZvmqZ/og73jgIHjgYrjgojjgbPjgIHoqr/mn7vlr77osaHjga7jgrPjg7zjg4njga7opIfmlbDjga7jg5Djg7zjgrjjg6fjg7Pjgavjgo/jgZ/jgovorablkYrjga7ov73ot6HoqJjpjLLmqZ/og73jgpLjgIEgRmluZEJ1Z3Mg44Gv5YaF6JS144GX44Gm44GE44G+44GZ44CC44GT44KM44KJ44KS5L2/44Gj44Gm5qyh44Gu44KI44GG44Gq44GT44Go44GM44Gn44GN44G+44GZ44CC44GZ44Gq44KP44Gh44CB44GE44Gk44OQ44Kw44GM5pyA5Yid5oyB44Gh6L6844G+44KM44Gf44GL44KS5o2c44GX5Ye644GZ44GT44Go44CB5pyA57WC44Oq44Oq44O844K55Lul5b6M5oyB44Gh6L6844G+44KM44Gf6K2m5ZGK44Gu5YiG5p6Q44KS6KGM44GG44GT44Go44CB44G+44Gf44Gv44CB54Sh6ZmQ5YaN6LW344Or44O844OX44Gu5pWw44KS5pmC6ZaT6Lu444Gn44Kw44Op44OV44Gr44GZ44KL44GT44Go44Gn44GZ44CCPC9wYXJhPgotCi08cGFyYT7jgZPjgozjgonjga7mioDooZPjga/jgIEgRmluZEJ1Z3Mg44GM6K2m5ZGK44Gu5L+d5a2Y44Gr5L2/44GGIFhNTCDmm7jlvI/jgpLkvb/nlKjjgZfjgb7jgZnjgILjgZPjgozjgonjga4gWE1MIOODleOCoeOCpOODq+OBr+OAgemAmuW4uOOAgeeJueWumuOBriAxIOWIhuaekOOBq+WvvuOBmeOCi+itpuWRiuOBjOWFpeOCjOOCieOCjOOBpuOBhOOBvuOBmeOAguOBl+OBi+OBl+OBneOCjOOCieOBq+OBr+OAgeS4gOmAo+OBruOCveODleODiOOCpuOCp+OCouOBruODk+ODq+ODieOChOODkOODvOOCuOODp+ODs+OBq+WvvuOBmeOCi+WIhuaekOe1kOaenOOCkuagvOe0jeOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+44GZ44G544Gm44GuIEZpbmRCdWdzIFhNTCDjg5DjgrDjg4fjg7zjgr/jg5njg7zjgrnjgavjga/jgIHjg5Djg7zjgrjjg6fjg7PlkI3jgajjgr/jgqTjg6Djg7vjgrnjgr/jg7Pjg5cg44GM5YWl44KM44KJ44KM44Gm44GE44G+44GZ44CCRmluZEJ1Z3Mg44Gv5YiG5p6Q44GM6KGM44KP44KM44KL44OV44Kh44Kk44Or44Gu5pu05paw5pmC5Yi744GL44KJ44K/44Kk44Og44O744K544K/44Oz44OX44KS6KiI566X44GX44G+44GZICjkvovjgYjjgbDjgIHjgr/jgqTjg6Djg7vjgrnjgr/jg7Pjg5fjga/jgq/jg6njgrnjg5XjgqHjgqTjg6vjga7nlJ/miJDmmYLliLvjgavjgarjgovjgojjgYbjgavjgarjgaPjgabjgYTjgb7jgZnjgILliIbmnpDjgYzooYzjgo/jgozjgZ/mmYLliLvjgafjga/jgYLjgorjgb7jgZvjgpMpIOOAguWQhOOAheOBruODkOOCsOODh+ODvOOCv+ODmeODvOOCueOBq+OBr+OAgeODkOODvOOCuOODp+ODs+WQjeOCguWFpeOCjOOCieOCjOOBpuOBhOOBvuOBmeOAguODkOODvOOCuOODp+ODs+WQjeOBqOOCv+OCpOODoOODu+OCueOCv+ODs+ODl+OBr+OAgSA8Y29tbWFuZD5zZXRCdWdEYXRhYmFzZUluZm88L2NvbW1hbmQ+ICg8eHJlZiBsaW5rZW5kPSJzZXRCdWdEYXRhYmFzZUluZm8iLz4pIOOCs+ODnuODs+ODieOCkuS9v+eUqOOBl+OBpuaJi+WLleOBp+ioreWumuOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+6KSH5pWw44OQ44O844K444On44Oz44KS5qC857SN44GZ44KL44OQ44Kw44OH44O844K/44OZ44O844K544Gr44GK44GE44Gm44Gv44CB5YiG5p6Q44GV44KM44KL44Kz44O844OJ44Gu5ZCE44OQ44O844K444On44Oz44GU44Go44Gr44K344O844Kx44Oz44K555Wq5Y+344GM5Ymy44KK5b2T44Gm44KJ44KM44G+44GZ44CC44GT44KM44KJ44Gu44K344O844Kx44Oz44K555Wq5Y+344Gv5Y2Y44GrIDAg44GL44KJ5aeL44G+44KL6YCj57aa44GZ44KL5pW05pWw5YCk44Gn44GZICjkvovjgYjjgbDjgIEgNCDjgaTjga7jgrPjg7zjg4njg5Djg7zjgrjjg6fjg7PjgpLmoLzntI3jgZnjgovjg5DjgrDjg4fjg7zjgr/jg5njg7zjgrnjgavjga/jgIHjg5Djg7zjgrjjg6fjg7MgMH4zIOOBjOWFpeOCjOOCieOCjOOBvuOBmSkg44CC44OQ44Kw44OH44O844K/44OZ44O844K544Gr44Gv44G+44Gf44CB5ZCE44OQ44O844K444On44Oz44Gu5ZCN5YmN44Go44K/44Kk44Og44O744K544K/44Oz44OX44GM44Gd44KM44Ge44KM6KiY6Yyy44GV44KM44G+44GZ44CCPGNvbW1hbmQ+ZmlsdGVyQnVnczwvY29tbWFuZD4g44Kz44Oe44Oz44OJ44KS5L2/55So44GZ44KL44Go44CB44K344O844Kx44Oz44K555Wq5Y+344CB44OQ44O844K444On44Oz5ZCN44G+44Gf44Gv44K/44Kk44Og44O744K544K/44Oz44OX44GL44KJ44OQ44O844K444On44Oz44KS5Y+C54Wn44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotCi08cGFyYT4xIOODkOODvOOCuOODp+ODs+OCkuagvOe0jeOBmeOCi+ODkOOCsOODh+ODvOOCv+ODmeODvOOCueOBrumbhuWQiOOBi+OCieOAgSAxIOWAi+OBruikh+aVsOODkOODvOOCuOODp+ODs+ODkOOCsOODh+ODvOOCv+ODmeODvOOCueOCkuS9nOaIkOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOBvuOBn+OAgeikh+aVsOODkOODvOOCuOODp+ODs+ODkOOCsOODh+ODvOOCv+ODmeODvOOCueOBq+WvvuOBl+OBpuOAgeOBneOCjOS7peW+jOOBq+S9nOaIkOOBleOCjOOBnyAxIOODkOODvOOCuOODp+ODs+OBruODkOOCsOODh+ODvOOCv+ODmeODvOOCueOCkue1kOWQiOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+44GT44KM44KJ44Gu44Kz44Oe44Oz44OJ44Gu44GE44GP44Gk44GL44Gv44CBIGFudCDjgr/jgrnjgq/jgajjgZfjgablrp/ooYzjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgILjgrPjg57jg7Pjg4njga7lrp/ooYzmlrnms5XjgYrjgojjgbPlsZ7mgKfjg7vlvJXmlbDjga7oqbPntLDjga/jgIHku6XkuIvjgpLlj4LnhafjgZfjgabjgY/jgaDjgZXjgYTjgILku6XkuIvjga7jgZnjgbnjgabjga7kvovjgavjgYrjgYTjgabjga/jgIEgPGxpdGVyYWw+ZmluZGJ1Z3MubGliPC9saXRlcmFsPiA8bGl0ZXJhbD5yZWZpZDwvbGl0ZXJhbD4g44GM5q2j44GX44GP6Kit5a6a44GV44KM44Gm44GE44KL44GT44Go44KS5YmN5o+Q44Go44GX44Gm44GE44G+44GZ44CC6Kit5a6a5pa55rOV44Gu5LiA5L6L44KS5qyh44Gr56S644GX44G+44GZIDo8L3BhcmE+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotICAgPCEtLSBmaW5kYnVncyDjgr/jgrnjgq/lrprnvqkgLS0+Ci0gICA8cHJvcGVydHkgbmFtZT0iZmluZGJ1Z3MuaG9tZSIgdmFsdWU9Ii95b3VyL3BhdGgvdG8vZmluZGJ1Z3MiIC8+Ci0gICA8cGF0aCBpZD0iZmluZGJ1Z3MubGliIj4KLSAgICAgIDxmaWxlc2V0IGRpcj0iJHtmaW5kYnVncy5ob21lfS9saWIiPgotICAgICAgICAgPGluY2x1ZGUgbmFtZT0iZmluZGJ1Z3MtYW50LmphciIvPgotICAgICAgPC9maWxlc2V0PgotICAgPC9wYXRoPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi0gICAgPHNlY3QxIGlkPSJjb21tYW5kcyI+Ci0gICAgICAgIDx0aXRsZT7jgrPjg57jg7Pjg4k8L3RpdGxlPgotCi0gICAgICAgIDxwYXJhPkZpbmRCdWdzIOODh+ODvOOCv+ODu+ODnuOCpOODi+ODs+OCsCDjg4Tjg7zjg6vjga/jgZnjgbnjgabjgrPjg57jg7Pjg4njg6njgqTjg7PjgYvjgonlrp/ooYzjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgILjgb7jgZ/jgIHjgYTjgY/jgaTjgYvjga7jgojjgormnInnlKjjgarjgrPjg57jg7Pjg4njga/jgIEgYW50IOODk+ODq+ODieODleOCoeOCpOODq+OBi+OCieWun+ihjOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+44Kz44Oe44Oz44OJ44Op44Kk44Oz44OE44O844Or44Gr44Gk44GE44Gm57Ch5Y2Y44Gr6Kqs5piO44GX44G+44GZIDo8L3BhcmE+Ci0KLSAgICAgICAgPHZhcmlhYmxlbGlzdD4KLSAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+PGxpbmsgbGlua2VuZD0idW5pb25CdWdzIj51bmlvbkJ1Z3M8L2xpbms+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxwYXJhPuWIpeOBruOCr+ODqeOCueOBq+WvvuOBmeOCi+WIpeWAi+OBruWIhuaekOe1kOaenOOCkue1kOWQiOOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPjxsaW5rIGxpbmtlbmQ9ImNvbXB1dGVCdWdIaXN0b3J5Ij5jb21wdXRlQnVnSGlzdG9yeTwvbGluaz48L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPHBhcmE+6KSH5pWw44OQ44O844K444On44Oz44GL44KJ5b6X44KJ44KM44Gf6KSH5pWw44Gu44OQ44Kw6K2m5ZGK44KS44CB44Oe44O844K444GX44GmIDEg5YCL44Gu6KSH5pWw44OQ44O844K444On44Oz44OQ44Kw44OH44O844K/44OZ44O844K544Gr44GX44G+44GZ44CC44GT44KM44KS5L2/44Gj44Gm44CB5pei5a2Y44Gu6KSH5pWw44OQ44O844K444On44Oz44OQ44Kw44OH44O844K/44OZ44O844K544Gr5pu044Gr44OQ44O844K444On44Oz44KS6L+95Yqg44GX44Gf44KK44CBIDEg44OQ44O844K444On44Oz44KS5qC857SN44GZ44KL44OQ44Kw44OH44O844K/44OZ44O844K544Gu6ZuG5ZCI44GL44KJIDEg5YCL44Gu6KSH5pWw44OQ44O844K444On44Oz44OQ44Kw44OH44O844K/44OZ44O844K544KS5L2c5oiQ44GX44Gf44KK44CB44Gn44GN44G+44GZ44CCPC9wYXJhPgotICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+PGxpbmsgbGlua2VuZD0ic2V0QnVnRGF0YWJhc2VJbmZvIj5zZXRCdWdEYXRhYmFzZUluZm88L2xpbms+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxwYXJhPuODquODk+OCuOODp+ODs+WQjeOChOOCv+OCpOODoOODu+OCueOCv+ODs+ODl+OBquOBqeOBruaDheWgseOCkiBYTUwg44OH44O844K/44OZ44O844K544Gr6Kit5a6a44GX44G+44GZ44CCPC9wYXJhPgotICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+PGxpbmsgbGlua2VuZD0ibGlzdEJ1Z0RhdGFiYXNlSW5mbyI+bGlzdEJ1Z0RhdGFiYXNlSW5mbzwvbGluaz48L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPHBhcmE+WE1MIOODh+ODvOOCv+ODmeODvOOCueOBq+OBguOCi+ODquODk+OCuOODp+ODs+WQjeOChOOCv+OCpOODoOODu+OCueOCv+ODs+ODl+OBquOBqeOBruaDheWgseOCkuS4gOimp+ihqOekuuOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPjxsaW5rIGxpbmtlbmQ9ImZpbHRlckJ1Z3MiPmZpbHRlckJ1Z3M8L2xpbms+PC9jb21tYW5kPjwvdGVybT4KLSAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxwYXJhPuODkOOCsOODh+ODvOOCv+ODmeODvOOCueOBrumDqOWIhumbhuWQiOOCkumBuOaKnuOBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgIDx0ZXJtPjxjb21tYW5kPjxsaW5rIGxpbmtlbmQ9Im1pbmVCdWdIaXN0b3J5Ij5taW5lQnVnSGlzdG9yeTwvbGluaz48L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPHBhcmE+6KSH5pWw44OQ44O844K444On44Oz44OQ44Kw44OH44O844K/44OZ44O844K544Gu5ZCE44OQ44O844K444On44Oz5q+O44Gu6K2m5ZGK5pWw44KS5LiA6Kan44Gr44GX44Gf6KGo44KS5L2c5oiQ44GX44G+44GZ44CCPC9wYXJhPgotICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgPHRlcm0+PGNvbW1hbmQ+PGxpbmsgbGlua2VuZD0iZGVmZWN0RGVuc2l0eSI+ZGVmZWN0RGVuc2l0eTwvbGluaz48L2NvbW1hbmQ+PC90ZXJtPgotICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPHBhcmE+44OX44Ot44K444Kn44Kv44OI5YWo5L2T44GK44KI44Gz44Kv44Op44K55q+O44O744OR44OD44Kx44O844K45q+O44Gu5LiN6Imv5a+G5bqmICgxMDAwIE5DU1Mg5q+O44Gu6K2m5ZGK5pWwKSDjgavplqLjgZnjgovmg4XloLHjgpLkuIDopqfooajnpLrjgZfjgb7jgZnjgII8L3BhcmE+Ci0gICAgICAgICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICA8dGVybT48Y29tbWFuZD48bGluayBsaW5rZW5kPSJjb252ZXJ0WG1sVG9UZXh0Ij5jb252ZXJ0WG1sVG9UZXh0PC9saW5rPjwvY29tbWFuZD48L3Rlcm0+Ci0gICAgICAgICAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8cGFyYT5YTUwg5b2i5byP44Gu44OQ44Kw6K2m5ZGK44KS44CBIDEg6KGMIDEg44OQ44Kw44Gu44OG44Kt44K544OI5b2i5byP44CB44G+44Gf44Gv44CBSFRNTOW9ouW8j+OBq+WkieaPm+OBl+OBvuOBmeOAgjwvcGFyYT4KLSAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgIDwvdmFyaWFibGVsaXN0PgotCi0KLSAgICAgICAgPHNlY3QyIGlkPSJ1bmlvbkJ1Z3MiPgotICAgICAgICAgICAgPHRpdGxlPnVuaW9uQnVnczwvdGl0bGU+Ci0KLSAgICAgICAgPHBhcmE+5YiG5p6Q44GZ44KL44Gu44Gr44Ki44OX44Oq44Kx44O844K344On44Oz44GuIGphciDjg5XjgqHjgqTjg6vjgpLliIblibLjgZfjgabjgYTjgovloLTlkIjjgIHjgZPjga7jgrPjg57jg7Pjg4njgpLkvb/nlKjjgZnjgovjgZPjgajjgafjgIHliKXlgIvjgavnlJ/miJDjgZXjgozjgZ8gWE1MIOODkOOCsOitpuWRiuODleOCoeOCpOODq+OCkuOBmeOBueOBpuOBruitpuWRiuOCkuWQq+OCk+OBp+OBhOOCiyAxIOOBpOOBriDjg5XjgqHjgqTjg6vjgavjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci0KLSAgICAgICAgICAgIDxwYXJhPuWQjOOBmOODleOCoeOCpOODq+OBrueVsOOBquOCi+ODkOODvOOCuOODp+ODs+OCkuWIhuaekOOBl+OBn+e1kOaenOOCkue1kOWQiOOBmeOCi+WgtOWQiOOBr+OAgeOBk+OBruOCs+ODnuODs+ODieOCkjxlbXBoYXNpcz7kvb/nlKjjgZfjgarjgYTjgafjgY/jgaDjgZXjgYQ8L2VtcGhhc2lzPuOAguS7o+OCj+OCiuOBqyA8Y29tbWFuZD5jb21wdXRlQnVnSGlzdG9yeTwvY29tbWFuZD4g44KS5L2/55So44GX44Gm44GP44Gg44GV44GE44CCPC9wYXJhPgotCi0gICAgICAgICAgICA8cGFyYT5YTUwg44OV44Kh44Kk44Or44Gv44CB44Kz44Oe44Oz44OJ44Op44Kk44Oz44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CC57WQ5p6c44Gv44CB5qiZ5rqW5Ye65Yqb44Gr6YCB44KJ44KM44G+44GZ44CCPC9wYXJhPgotICAgICAgICA8L3NlY3QyPgotCi0gICAgICAgIDxzZWN0MiBpZD0iY29tcHV0ZUJ1Z0hpc3RvcnkiPgotICAgICAgICAgICAgPHRpdGxlPmNvbXB1dGVCdWdIaXN0b3J5PC90aXRsZT4KLQotPHBhcmE+44GT44Gu44Kz44Oe44Oz44OJ44KS5L2/55So44GZ44KL44GT44Go44Gn44CB5YiG5p6Q44GZ44KL44K944OV44OI44Km44Kn44Ki44Gu55Ww44Gq44KL44OT44Or44OJ44G+44Gf44Gv44OQ44O844K444On44Oz44Gu5oOF5aCx44KS5ZCr44KA44OQ44Kw44OH44O844K/44OZ44O844K544KS55Sf5oiQ44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ5YWl5Yqb44Go44GX44Gm5o+Q5L6b44GX44Gf44OV44Kh44Kk44Or44GuIDEg55Wq55uu44Gu44OV44Kh44Kk44Or44GL44KJ5bGl5q2044GM5Y+W5b6X44GV44KM44G+44GZ44CC5b6M44Gr57aa44GP44OV44Kh44Kk44Or44GvIDEg44OQ44O844K444On44Oz44Gu44OQ44Kw44OH44O844K/44OZ44O844K544Gn44GC44KL44KI44GG44Gr44GX44Gm44GP44Gg44GV44GEICjjgoLjgZfjgIHlsaXmrbTjgpLmjIHjgaPjgabjgYTjgZ/jgajjgZfjgabjgoLnhKHoppbjgZXjgozjgb7jgZkpIOOAgjwvcGFyYT4KLTxwYXJhPuODh+ODleOCqeODq+ODiOOBp+OBr+OAgee1kOaenOOBr+aomea6luWHuuWKm+OBq+mAgeOCieOCjOOBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+44GT44Gu5qmf6IO944Gv44CBIGFudCDjgYvjgonjgoLkvb/nlKjjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgILjgb7jgZrmrKHjgavnpLrjgZnjgojjgYbjgavjgIHjg5Pjg6vjg4njg5XjgqHjgqTjg6vjgasgPGNvbW1hbmQ+Y29tcHV0ZUJ1Z0hpc3Rvcnk8L2NvbW1hbmQ+IOOCkiB0YXNrZGVmIOOBp+Wumue+qeOBl+OBvuOBmSA6PC9wYXJhPgotCi08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLTx0YXNrZGVmIG5hbWU9ImNvbXB1dGVCdWdIaXN0b3J5IiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5Db21wdXRlQnVnSGlzdG9yeVRhc2siPgotICAgIDxjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLz4KLTwvdGFza2RlZj4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLQotPHBhcmE+44GT44GuIGFudCDjgr/jgrnjgq/jgavmjIflrprjgafjgY3jgovlsZ7mgKfjgpLjgIHkuIvooajjgavkuIDopqfjgafnpLrjgZfjgb7jgZnjgILlhaXlipvjg5XjgqHjgqTjg6vjgpLmjIflrprjgZnjgovjgavjga/jgIEgPGxpdGVyYWw+Jmx0O2RhdGFmaWxlJmd0OzwvbGl0ZXJhbD4g6KaB57Sg44KS5YWl44KM5a2Q44Gr44GX44Gm5YWl44KM44Gm44GP44Gg44GV44GE44CC5qyh44Gr44CB5L6L44KS56S644GX44G+44GZOjwvcGFyYT4KLQotPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi08Y29tcHV0ZUJ1Z0hpc3RvcnkgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIgLi4uPgotICAgIDxkYXRhZmlsZSBuYW1lPSJhbmFseXplMS54bWwiLz4KLSAgICA8ZGF0YWZpbGUgbmFtZT0iYW5hbHl6ZTIueG1sIi8+Ci08L2NvbXB1dGVCdWdIaXN0b3J5PgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi0gICAgICAgIDx0YWJsZSBpZD0iY29tcHV0ZUJ1Z0hpc3RvcnlUYWJsZSI+Ci0gICAgICAgICAgICA8dGl0bGU+Y29tcHV0ZUJ1Z0hpc3Rvcnkg44Kz44Oe44Oz44OJ44Gu44Kq44OX44K344On44Oz5LiA6KanPC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMyIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+44Kz44Oe44Oz44OJ44Op44Kk44Oz44Kq44OX44K344On44OzPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PkFudCDlsZ7mgKc8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+55uu55qEPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KLSAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLTxyb3c+PGVudHJ5Pi1vdXRwdXQgJmx0O2ZpbGUmZ3Q7PC9lbnRyeT4gICAgICAgICAgIDxlbnRyeT5vdXRwdXQ9JnF1b3Q7Jmx0O2ZpbGUmZ3Q7JnF1b3Q7PC9lbnRyeT4gICAgICAgICAgIDxlbnRyeT7lh7rlipvntZDmnpzjgpLkv53lrZjjgZnjgovjg5XjgqHjgqTjg6vlkI3jgpLmjIflrprjgZfjgb7jgZnjgIIgKOWQjOaZguOBq+WFpeWKm+ODleOCoeOCpOODq+OBq+OCguOBquOCiuOBiOOBvuOBmSk8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LW92ZXJyaWRlUmV2aXNpb25OYW1lc1s6dHJ1dGhdPC9lbnRyeT4gPGVudHJ5Pm92ZXJyaWRlUmV2aXNpb25OYW1lcz0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PjxlbnRyeT7jg5XjgqHjgqTjg6vlkI3jgYvjgonnrpflh7rjgZXjgozjgovjgZ3jgozjgZ7jgozjga7jg5Djg7zjgrjjg6fjg7PlkI3jgpLmjIflrprlpInmm7TjgZfjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LW5vUGFja2FnZU1vdmVzWzp0cnV0aF08L2VudHJ5PiAgICAgICAgPGVudHJ5Pm5vUGFja2FnZU1vdmVzPSZxdW90O1t0cnVlfGZhbHNlXSZxdW90OzwvZW50cnk+PGVudHJ5PuODkeODg+OCseODvOOCuOOCkuenu+WLleOBl+OBn+OCr+ODqeOCueOBjOOBguOCi+WgtOWQiOOAgeW9k+ipsuOCr+ODqeOCueOBruitpuWRiuOBr+WIpeOBruWtmOWcqOOBqOOBl+OBpuaJseOCj+OCjOOBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tcHJlY2lzZU1hdGNoWzp0cnV0aF08L2VudHJ5PiAgICAgICAgICA8ZW50cnk+cHJlY2lzZU1hdGNoPSZxdW90O1t0cnVlfGZhbHNlXSZxdW90OzwvZW50cnk+PGVudHJ5PuODkOOCsOODkeOCv+ODvOODs+OBjOato+eiuuOBq+S4gOiHtOOBmeOCi+OBk+OBqOOCkuimgeaxguOBl+OBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tcHJlY2lzZVByaW9yaXR5TWF0Y2hbOnRydXRoXTwvZW50cnk+ICA8ZW50cnk+cHJlY2lzZVByaW9yaXR5TWF0Y2g9JnF1b3Q7W3RydWV8ZmFsc2VdJnF1b3Q7PC9lbnRyeT48ZW50cnk+5YSq5YWI5bqm44GM5q2j56K644Gr5LiA6Ie044GX44Gf5aC05ZCI44Gu44G/6K2m5ZGK44GM5ZCM5LiA44Gn44GC44KL44Go5Yik5pat44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1xdWlldFs6dHJ1dGhdPC9lbnRyeT4gICAgICAgICAgICAgICAgIDxlbnRyeT5xdWlldD0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PjxlbnRyeT7jgqjjg6njg7zjgYznmbrnlJ/jgZfjgarjgYTpmZDjgorjgIHmqJnmupblh7rlipvjgavjga/kvZXjgoLooajnpLrjgZXjgozjgb7jgZvjgpPjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXdpdGhNZXNzYWdlc1s6dHJ1dGhdPC9lbnRyeT4gICAgICAgICAgPGVudHJ5PndpdGhNZXNzYWdlcz0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PjxlbnRyeT7lh7rlipsgWE1MIOOBq+S6uumWk+OBjOiqreOCgOOBk+OBqOOBjOOBp+OBjeOCi+ODkOOCsOODoeODg+OCu+ODvOOCuOOBjOWQq+OBvuOCjOOBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgPC90Ym9keT4KLSAgICAgICAgICAgIDwvdGdyb3VwPgotICAgICAgICA8L3RhYmxlPgotCi0gICAgICAgIDwvc2VjdDI+Ci0gICAgICAgIDxzZWN0MiBpZD0iZmlsdGVyQnVncyI+Ci0gICAgICAgICAgICA8dGl0bGU+ZmlsdGVyQnVnczwvdGl0bGU+Ci08cGFyYT7jgZPjga7jgrPjg57jg7Pjg4njgpLkvb/nlKjjgZnjgovjgZPjgajjgafjgIEgRmluZEJ1Z3MgWE1MIOitpuWRiuODleOCoeOCpOODq+OBi+OCieS4gOmDqOWIhuOCkumBuOOBs+WHuuOBl+OBpuaWsOimjyBGaW5kQnVncyDorablkYrjg5XjgqHjgqTjg6vjgavpgbjmip7jgZXjgozjgZ/pg6jliIbjgpLmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3BhcmE+Ci08cGFyYT7jgZPjga7jgrPjg57jg7Pjg4njgavjga/jgIHjgqrjg5fjgrfjg6fjg7PnvqTjgavntprjgYTjgaYgMCDlgIvjgYvjgokgMiDlgIvjga4gZmluZGJ1Z3MgeG1sIOODkOOCsOODleOCoeOCpOODq+OCkuaMh+WumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLTxwYXJhPuODleOCoeOCpOODq+WQjeOCkuOBsuOBqOOBpOOCguaMh+WumuOBl+OBquOBhOWgtOWQiOOBr+OAgeaomea6luWFpeWKm+OBi+OCieiqreOCk+OBp+aomea6luWHuuWKm+OBq+WHuuWKm+OBleOCjOOBvuOBmeOAguODleOCoeOCpOODq+WQjeOCkiAxIOWAiyDmjIflrprjgZfjgZ/loLTlkIjjga/jgIHmjIflrprjgZfjgZ/jg5XjgqHjgqTjg6vjgYvjgonoqq3jgpPjgafmqJnmupblh7rlipvjgavlh7rlipvjgZXjgozjgb7jgZnjgILjg5XjgqHjgqTjg6vlkI3jgpIgMiDlgIsg5oyH5a6a44GX44Gf5aC05ZCI44Gv44CBIDEg55Wq55uu44Gr5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44GL44KJ6Kqt44KT44GnIDIg55Wq55uu44Gr5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44Gr5Ye65Yqb44GV44KM44G+44GZ44CCPC9wYXJhPgotCi08cGFyYT7jgZPjga7mqZ/og73jga/jgIEgYW50IOOBi+OCieOCguS9v+eUqOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOBvuOBmuasoeOBq+ekuuOBmeOCiOOBhuOBq+OAgeODk+ODq+ODieODleOCoeOCpOODq+OBqyA8Y29tbWFuZD5maWx0ZXJCdWdzPC9jb21tYW5kPiDjgpIgdGFza2RlZiDjgaflrprnvqnjgZfjgb7jgZkgOjwvcGFyYT4KLQotPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi08dGFza2RlZiBuYW1lPSJmaWx0ZXJCdWdzIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5GaWx0ZXJCdWdzVGFzayI+Ci0gICAgPGNsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvPgotPC90YXNrZGVmPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi08cGFyYT7jgZPjga4gYW50IOOCv+OCueOCr+OBq+aMh+WumuOBp+OBjeOCi+WxnuaAp+OCkuOAgeS4i+ihqOOBq+S4gOimp+OBp+ekuuOBl+OBvuOBmeOAguWFpeWKm+ODleOCoeOCpOODq+OCkuaMh+WumuOBmeOCi+OBq+OBr+OAgSA8bGl0ZXJhbD5pbnB1dDwvbGl0ZXJhbD4gIOWxnuaAp+OCkuS9v+eUqOOBmeOCi+OBi+OAgSA8bGl0ZXJhbD4mbHQ7ZGF0YWZpbGUmZ3Q7PC9saXRlcmFsPiDopoHntKDjgpLlhaXjgozlrZDjgavjgZfjgablhaXjgozjgabjgY/jgaDjgZXjgYTjgILmrKHjgavjgIHkvovjgpLnpLrjgZfjgb7jgZk6PC9wYXJhPgotCi08cHJvZ3JhbWxpc3Rpbmc+Ci08IVtDREFUQVsKLTxmaWx0ZXJCdWdzIGhvbWU9IiR7ZmluZGJ1Z3MuaG9tZX0iIC4uLj4KLSAgICA8ZGF0YWZpbGUgbmFtZT0iYW5hbHl6ZS54bWwiLz4KLTwvZmlsdGVyQnVncz4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLQotICAgICAgICA8dGFibGUgaWQ9ImZpbHRlck9wdGlvbnNUYWJsZSI+Ci0gICAgICAgICAgICA8dGl0bGU+ZmlsdGVyQnVncyDjgrPjg57jg7Pjg4njga7jgqrjg5fjgrfjg6fjg7PkuIDopqc8L3RpdGxlPgotICAgICAgICAgICAgPHRncm91cCBjb2xzPSIzIiBhbGlnbj0ibGVmdCI+Ci0gICAgICAgICAgICAgICAgICA8dGhlYWQ+Ci0gICAgICAgICAgICAgICAgICAgIDxyb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT7jgrPjg57jg7Pjg4njg6njgqTjg7Pjgqrjg5fjgrfjg6fjg7M8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+QW50IOWxnuaApzwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT7nm67nmoQ8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICA8L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgotICAgICAgICAgICAgICAgICAgPHRib2R5PgotPHJvdz48ZW50cnkvPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+aW5wdXQ9JnF1b3Q7Jmx0O2ZpbGUmZ3Q7JnF1b3Q7PC9lbnRyeT4gICAgICAgICAgICAgPGVudHJ5PuWFpeWKm+ODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeS8+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5vdXRwdXQ9JnF1b3Q7Jmx0O2ZpbGUmZ3Q7JnF1b3Q7PC9lbnRyeT4gICAgICAgICAgICA8ZW50cnk+5Ye65Yqb44OV44Kh44Kk44Or44KS5oyH5a6a44GX44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1ub3Q8L2VudHJ5PiAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5ub3Q9JnF1b3Q7W3RydWV8ZmFsc2VdJnF1b3Q7PC9lbnRyeT4gICAgICAgICAgICAgICA8ZW50cnk+44OV44Kj44Or44K/44O844Gu44K544Kk44OD44OB44KS5Y+N6Lui44GX44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi13aXRoU291cmNlWzp0cnV0aF08L2VudHJ5PiAgICAgICAgIDxlbnRyeT53aXRoU291cmNlPSZxdW90O1t0cnVlfGZhbHNlXSZxdW90OzwvZW50cnk+ICAgICAgICA8ZW50cnk+44K944O844K544GM5YWl5omL5Y+v6IO944Gq6K2m5ZGK44Gu44G/5Ye65Yqb44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1leGNsdWRlICZsdDtmaWx0ZXIgZmlsZSZndDs8L2VudHJ5PjxlbnRyeT5leGNsdWRlPSZxdW90OyZsdDtmaWx0ZXIgZmlsZSZndDsmcXVvdDs8L2VudHJ5PiAgICA8ZW50cnk+44OV44Kj44Or44K/44O844Gr5LiA6Ie044GZ44KL44OQ44Kw44GM6Zmk5aSW44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1pbmNsdWRlICZsdDtmaWx0ZXIgZmlsZSZndDs8L2VudHJ5PjxlbnRyeT5pbmNsdWRlPSZxdW90OyZsdDtmaWx0ZXIgZmlsZSZndDsmcXVvdDs8L2VudHJ5PiAgICA8ZW50cnk+44OV44Kj44Or44K/44O844Gr5LiA6Ie044GZ44KL44OQ44Kw44Gu44G/44KS5ZCr44G+44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1hbm5vdGF0aW9uICZsdDt0ZXh0Jmd0OzwvZW50cnk+ICAgIDxlbnRyeT5hbm5vdGF0aW9uPSZxdW90OyZsdDt0ZXh0Jmd0OyZxdW90OzwvZW50cnk+ICAgICAgICA8ZW50cnk+5omL44Gn5YWl5Yqb44GX44Gf5rOo6YeI44Gr5oyH5a6a44GX44Gf5paH6KiA44KS5ZCr44KA6K2m5ZGK44Gu44G/5Ye65Yqb44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1hZnRlciAmbHQ7d2hlbiZndDs8L2VudHJ5PiAgICAgICAgIDxlbnRyeT5hZnRlcj0mcXVvdDsmbHQ7d2hlbiZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgICAgICA8ZW50cnk+5oyH5a6a44GX44Gf44OQ44O844K444On44Oz44KI44KK5b6M44Gr5Yid44KB44Gm5Ye654++44GX44Gf6K2m5ZGK44Gu44G/5Ye65Yqb44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1iZWZvcmUgJmx0O3doZW4mZ3Q7PC9lbnRyeT4gICAgICAgIDxlbnRyeT5iZWZvcmU9JnF1b3Q7Jmx0O3doZW4mZ3Q7JnF1b3Q7PC9lbnRyeT4gICAgICAgICAgICA8ZW50cnk+5oyH5a6a44GX44Gf44OQ44O844K444On44Oz44KI44KK5YmN44Gr5Yid44KB44Gm5Ye654++44GX44Gf6K2m5ZGK44Gu44G/5Ye65Yqb44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1maXJzdCAmbHQ7d2hlbiZndDs8L2VudHJ5PiAgICAgICAgIDxlbnRyeT5maXJzdD0mcXVvdDsmbHQ7d2hlbiZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgICAgICA8ZW50cnk+5oyH5a6a44GX44Gf44OQ44O844K444On44Oz44Gr5Yid44KB44Gm5Ye654++44GX44Gf6K2m5ZGK44Gu44G/5Ye65Yqb44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1sYXN0ICZsdDt3aGVuJmd0OzwvZW50cnk+ICAgICAgICAgIDxlbnRyeT5sYXN0PSZxdW90OyZsdDt3aGVuJmd0OyZxdW90OzwvZW50cnk+ICAgICAgICAgICAgICA8ZW50cnk+5oyH5a6a44GX44Gf44OQ44O844K444On44Oz44GM5Ye654++44GX44Gf5pyA5b6M44Gn44GC44KL6K2m5ZGK44Gu44G/5Ye65Yqb44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1maXhlZCAmbHQ7d2hlbiZndDs8L2VudHJ5PiAgICAgICAgIDxlbnRyeT5maXhlZD0mcXVvdDsmbHQ7d2hlbiZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgICAgICA8ZW50cnk+5oyH5a6a44GX44Gf44OQ44O844K444On44Oz44Gu5YmN5Zue44Gu44OQ44O844K444On44Oz44GM5Ye654++44GX44Gf5pyA5b6M44Gn44GC44KL6K2m5ZGK44Gu44G/5Ye65Yqb44GV44KM44G+44GZ44CCICg8b3B0aW9uPi1sYXN0PC9vcHRpb24+IOOBq+WEquWFiOOBl+OBvuOBmSnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXByZXNlbnQgJmx0O3doZW4mZ3Q7PC9lbnRyeT4gICAgICAgPGVudHJ5PnByZXNlbnQ9JnF1b3Q7Jmx0O3doZW4mZ3Q7JnF1b3Q7PC9lbnRyeT4gICAgICAgICAgIDxlbnRyeT7mjIflrprjgZfjgZ/jg5Djg7zjgrjjg6fjg7PjgavlrZjlnKjjgZnjgovorablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWFic2VudCAmbHQ7d2hlbiZndDs8L2VudHJ5PiAgICAgICAgPGVudHJ5PmFic2VudD0mcXVvdDsmbHQ7d2hlbiZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgICAgIDxlbnRyeT7mjIflrprjgZfjgZ/jg5Djg7zjgrjjg6fjg7PjgavlrZjlnKjjgZfjgarjgYTorablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWFjdGl2ZVs6dHJ1dGhdPC9lbnRyeT4gICAgICAgICAgICAgPGVudHJ5PmFjdGl2ZT0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PiAgICAgICAgICAgIDxlbnRyeT7mnIDntYLpgJrnlarjgavlrZjlnKjjgZnjgovorablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWludHJvZHVjZWRCeUNoYW5nZVs6dHJ1dGhdPC9lbnRyeT4gPGVudHJ5PmludHJvZHVjZWRCeUNoYW5nZT0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PjxlbnRyeT7lrZjlnKjjgZnjgovjgq/jg6njgrnjga7lpInmm7TjgavjgojjgaPjgabjgoLjgZ/jgonjgZXjgozjgZ/orablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXJlbW92ZWRCeUNoYW5nZVs6dHJ1dGhdPC9lbnRyeT4gICAgPGVudHJ5PnJlbW92ZWRCeUNoYW5nZT0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PiAgIDxlbnRyeT7lrZjlnKjjgZnjgovjgq/jg6njgrnjga7lpInmm7TjgavjgojjgaPjgabpmaTljrvjgZXjgozjgZ/orablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LW5ld0NvZGVbOnRydXRoXTwvZW50cnk+ICAgICAgICAgICAgPGVudHJ5Pm5ld0NvZGU9JnF1b3Q7W3RydWV8ZmFsc2VdJnF1b3Q7PC9lbnRyeT4gICAgICAgICAgIDxlbnRyeT7mlrDjgq/jg6njgrnjga7ov73liqDjgavjgojjgaPjgabjgoLjgZ/jgonjgZXjgozjgZ/orablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXJlbW92ZWRDb2RlWzp0cnV0aF08L2VudHJ5PiAgICAgICAgPGVudHJ5PnJlbW92ZWRDb2RlPSZxdW90O1t0cnVlfGZhbHNlXSZxdW90OzwvZW50cnk+ICAgICAgIDxlbnRyeT7jgq/jg6njgrnjga7liYrpmaTjgavjgojjgaPjgabpmaTljrvjgZXjgozjgZ/orablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXByaW9yaXR5ICZsdDtsZXZlbCZndDs8L2VudHJ5PiAgICAgPGVudHJ5PnByaW9yaXR5PSZxdW90OyZsdDtsZXZlbCZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgIDxlbnRyeT7mjIflrprjgZfjgZ/lhKrlhYjluqbku6XkuIrjga7lhKrlhYjluqbjgpLjgoLjgaTorablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWNsYXNzICZsdDtwYXR0ZXJuJmd0OzwvZW50cnk+ICAgICAgPGVudHJ5PmNsYXNzPSZxdW90OyZsdDtjbGFzcyZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgICAgIDxlbnRyeT7mjIflrprjgZfjgZ/jg5Hjgr/jg7zjg7PjgavkuIDoh7TjgZnjgovkuLvjgq/jg6njgrnjgpLjgoLjgaTorablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWJ1Z1BhdHRlcm4gJmx0O3BhdHRlcm4mZ3Q7PC9lbnRyeT4gPGVudHJ5PmJ1Z1BhdHRlcm49JnF1b3Q7Jmx0O3BhdHRlcm4mZ3Q7JnF1b3Q7PC9lbnRyeT4gICAgIDxlbnRyeT7mjIflrprjgZfjgZ/jg5Hjgr/jg7zjg7PjgavkuIDoh7TjgZnjgovjg5DjgrDnqK7liKXjgpLjgoLjgaTorablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWNhdGVnb3J5ICZsdDtjYXRlZ29yeSZndDs8L2VudHJ5PiAgPGVudHJ5PmNhdGVnb3J5PSZxdW90OyZsdDtjYXRlZ29yeSZndDsmcXVvdDs8L2VudHJ5PiAgICAgIDxlbnRyeT7mjIflrprjgZfjgZ/mloflrZfliJfjgaflp4vjgb7jgovjgqvjg4bjgrTjg6rjg7zjga7orablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LWRlc2lnbmF0aW9uICZsdDtkZXNpZ25hdGlvbiZndDs8L2VudHJ5PiA8ZW50cnk+ZGVzaWduYXRpb249JnF1b3Q7Jmx0O2Rlc2lnbmF0aW9uJmd0OyZxdW90OzwvZW50cnk+IDxlbnRyeT7mjIflrprjgZfjgZ/jg5DjgrDliIbpoZ7mjIflrprjgpLjgoLjgaTorablkYrjga7jgb/lh7rlipvjgZXjgozjgb7jgZnjgIIgKOS+i+OAgSAtZGVzaWduYXRpb24gU0hPVUxEX0ZJWCk8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXdpdGhNZXNzYWdlc1s6dHJ1dGhdIDwvZW50cnk+ICAgICAgPGVudHJ5PndpdGhNZXNzYWdlcz0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PiAgICAgIDxlbnRyeT7jg4bjgq3jgrnjg4jjg6Hjg4Pjgrvjg7zjgrjjgpLlkKvjgpPjgaAgWE1MIOOBjOeUn+aIkOOBleOCjOOBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgPC90Ym9keT4KLSAgICAgICAgICAgIDwvdGdyb3VwPgotICAgICAgICA8L3RhYmxlPgotCi0gICAgICAgIDwvc2VjdDI+Ci0KLSAgICAgICAgPHNlY3QyIGlkPSJtaW5lQnVnSGlzdG9yeSI+Ci0gICAgICAgICAgICA8dGl0bGU+bWluZUJ1Z0hpc3Rvcnk8L3RpdGxlPgotPHBhcmE+44GT44Gu44Kz44Oe44Oz44OJ44KS5L2/55So44GZ44KL44GT44Go44Gn44CB6KSH5pWw44OQ44O844K444On44Oz44OQ44Kw44OH44O844K/44OZ44O844K544Gu5ZCE44OQ44O844K444On44Oz5q+O44Gu6K2m5ZGK5pWw44KS5LiA6Kan44Gr44GX44Gf6KGo44KS5L2c5oiQ44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotCi0KLTxwYXJhPuOBk+OBruapn+iDveOBr+OAgSBhbnQg44GL44KJ44KC5L2/55So44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CC44G+44Ga5qyh44Gr56S644GZ44KI44GG44Gr44CB44OT44Or44OJ44OV44Kh44Kk44Or44GrIDxjb21tYW5kPm1pbmVCdWdIaXN0b3J5PC9jb21tYW5kPiDjgpIgdGFza2RlZiDjgaflrprnvqnjgZfjgb7jgZkgOjwvcGFyYT4KLQotPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi08dGFza2RlZiBuYW1lPSJtaW5lQnVnSGlzdG9yeSIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suTWluZUJ1Z0hpc3RvcnlUYXNrIj4KLSAgICA8Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8+Ci08L3Rhc2tkZWY+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci0KLTxwYXJhPuOBk+OBriBhbnQg44K/44K544Kv44Gr5oyH5a6a44Gn44GN44KL5bGe5oCn44KS44CB5LiL6KGo44Gr5LiA6Kan44Gn56S644GX44G+44GZ44CC5YWl5Yqb44OV44Kh44Kk44Or44KS5oyH5a6a44GZ44KL44Gr44Gv44CBIDxsaXRlcmFsPmlucHV0PC9saXRlcmFsPiAg5bGe5oCn44KS5L2/55So44GZ44KL44GL44CBIDxsaXRlcmFsPiZsdDtkYXRhZmlsZSZndDs8L2xpdGVyYWw+IOimgee0oOOCkuWFpeOCjOWtkOOBq+OBl+OBpuWFpeOCjOOBpuOBj+OBoOOBleOBhOOAguasoeOBq+OAgeS+i+OCkuekuuOBl+OBvuOBmTo8L3BhcmE+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotPG1pbmVCdWdIaXN0b3J5IGhvbWU9IiR7ZmluZGJ1Z3MuaG9tZX0iIC4uLj4KLSAgICA8ZGF0YWZpbGUgbmFtZT0iYW5hbHl6ZS54bWwiLz4KLTwvbWluZUJ1Z0hpc3Rvcnk+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci0KLSAgICAgICAgPHRhYmxlIGlkPSJtaW5lQnVnSGlzdG9yeU9wdGlvbnNUYWJsZSI+Ci0gICAgICAgICAgICA8dGl0bGU+bWluZUJ1Z0hpc3Rvcnkg44Kz44Oe44Oz44OJ44Gu44Kq44OX44K344On44Oz5LiA6KanPC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMyIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+44Kz44Oe44Oz44OJ44Op44Kk44Oz44Kq44OX44K344On44OzPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PkFudCDlsZ7mgKc8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+55uu55qEPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPC9yb3c+Ci0gICAgICAgICAgICAgICAgICA8L3RoZWFkPgotICAgICAgICAgICAgICAgICAgPHRib2R5PgotPHJvdz48ZW50cnkvPiAgICAgICAgICAgICAgIDxlbnRyeT5pbnB1dD0mcXVvdDsmbHQ7ZmlsZSZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgICAgICA8ZW50cnk+5YWl5Yqb44OV44Kh44Kk44Or44KS5oyH5a6a44GX44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Lz4gICAgICAgICAgICAgICA8ZW50cnk+b3V0cHV0PSZxdW90OyZsdDtmaWxlJmd0OyZxdW90OzwvZW50cnk+ICAgICAgICAgICAgPGVudHJ5PuWHuuWKm+ODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tZm9ybWF0RGF0ZXM8L2VudHJ5PiAgIDxlbnRyeT5mb3JtYXREYXRlcz0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PiAgICAgICA8ZW50cnk+44OH44O844K/44GM44OG44Kt44K544OI5b2i5byP44Gn5o+P55S744GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Pi1ub1RhYnM8L2VudHJ5PiAgICAgICAgPGVudHJ5Pm5vVGFicz0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PiAgICAgICAgICAgIDxlbnRyeT7jgr/jg5bjga7ku6Pjgo/jgorjgavopIfmlbDjgrnjg5rjg7zjgrnjgafjgqvjg6njg6DjgYzljLrliIfjgonjgozjgb7jgZkgKOS4i+iomOWPgueFpynjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnk+LXN1bW1hcnk8L2VudHJ5PiAgICAgICA8ZW50cnk+c3VtbWFyeT0mcXVvdDtbdHJ1ZXxmYWxzZV0mcXVvdDs8L2VudHJ5PiAgICAgICAgICAgPGVudHJ5PuacgOaWsCAxMCDku7bjga7lpInmm7Tjga7opoHntITjgYzlh7rlipvjgZXjgozjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICA8L3Rncm91cD4KLSAgICAgICAgPC90YWJsZT4KLQotICAgICAgICA8cGFyYT48b3B0aW9uPi1ub1RhYnM8L29wdGlvbj4g5Ye65Yqb44KS5L2/44GG44GT44Go44Gn44CB5Zu65a6a5bmF44OV44Kp44Oz44OI44Gu44K344Kn44Or44Gn6Kqt44G/5piT44GP44Gq44KK44G+44GZ44CC5pWw5YCk44Kr44Op44Og44Gv5Y+z5a+E44Gb44GV44KM44KL44Gu44Gn44CB44K544Oa44O844K544GM44Kr44Op44Og5YCk44Gu5YmN44Gr5oy/5YWl44GV44KM44G+44GZ44CC44G+44Gf44CB44GT44Gu44Kq44OX44K344On44Oz44KS5L2/55So44GX44Gf5aC05ZCI44CBIDxvcHRpb24+LWZvcm1hdERhdGVzPC9vcHRpb24+IOOCkuaMh+WumuOBl+OBn+OBqOOBjeOBq+imgee0hOOBruaXpeS7mOOCkuaPj+eUu+OBmeOCi+OBruOBq+epuueZveOBjOWfi+OCgei+vOOBvuOCjOOBquOBj+OBquOCiuOBvuOBmeOAgjwvcGFyYT4KLQotICAgICAgICA8cGFyYT7lh7rlipvjgZXjgozjgovooajjga/jgIEgKDxvcHRpb24+LW5vVGFiczwvb3B0aW9uPiDjgYznhKHjgZHjgozjgbApIOOCv+ODluWMuuWIh+OCiuOBp+asoeOBq+ekuuOBmeOCq+ODqeODoOOBi+OCieaIkOOCiuOBvuOBmSA6PC9wYXJhPgotCi0gICAgICAgIDx0YWJsZSBpZD0ibWluZUJ1Z0hpc3RvcnlDb2x1bW5zIj4KLSAgICAgICAgICAgIDx0aXRsZT5taW5lQnVnSGlzdG9yeSDlh7rlipvjga7jgqvjg6njg6DkuIDopqc8L3RpdGxlPgotICAgICAgICAgICAgPHRncm91cCBjb2xzPSIyIiBhbGlnbj0ibGVmdCI+Ci0gICAgICAgICAgICAgICAgICA8dGhlYWQ+Ci0gICAgICAgICAgICAgICAgICAgIDxyb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT7ooajpoYw8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+55uu55qEPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KLSAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5zZXE8L2VudHJ5PjxlbnRyeT7jgrfjg7zjgrHjg7Pjgrnnlarlj7cgKDAg5aeL44G+44KK44Gu6YCj57aa44GX44Gf5pW05pWw5YCkKTwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+dmVyc2lvbjwvZW50cnk+PGVudHJ5PuODkOODvOOCuOODp+ODs+WQjTwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+dGltZTwvZW50cnk+PGVudHJ5PuODquODquODvOOCueOBleOCjOOBn+aXpeaZgjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+Y2xhc3NlczwvZW50cnk+PGVudHJ5PuWIhuaekOOBleOCjOOBn+OCr+ODqeOCueaVsDwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+TkNTUzwvZW50cnk+PGVudHJ5PuOCs+ODoeODs+ODiOaWh+OCkumZpOOBhOOBn+WRveS7pOaVsCAoTm9uIENvbW1lbnRpbmcgU291cmNlIFN0YXRlbWVudHMpPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5hZGRlZDwvZW50cnk+PGVudHJ5PuWJjeWbnuOBruODkOODvOOCuOODp+ODs+OBq+WtmOWcqOOBl+OBn+OCr+ODqeOCueOBq+OBiuOBkeOCi+aWsOimj+itpuWRiuaVsDwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+bmV3Q29kZTwvZW50cnk+PGVudHJ5PuWJjeWbnuOBruODkOODvOOCuOODp+ODs+OBq+WtmOWcqOOBl+OBquOBi+OBo+OBn+OCr+ODqeOCueOBq+OBiuOBkeOCi+aWsOimj+itpuWRiuaVsDwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+Zml4ZWQ8L2VudHJ5PjxlbnRyeT7nj77lnKjjga7jg5Djg7zjgrjjg6fjg7PjgavlrZjlnKjjgZnjgovjgq/jg6njgrnjgavjgYrjgZHjgovpmaTljrvjgZXjgozjgZ/orablkYrmlbA8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PnJlbW92ZWQ8L2VudHJ5PjxlbnRyeT7nj77lnKjjga7jg5Djg7zjgrjjg6fjg7PjgavlrZjlnKjjgZfjgarjgYTjgq/jg6njgrnjga7liY3lm57jga7jg5Djg7zjgrjjg6fjg7PjgavjgYrjgZHjgovorablkYrmlbA8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PnJldGFpbmVkPC9lbnRyeT48ZW50cnk+54++5Zyo44Gu44OQ44O844K444On44Oz44Go5YmN5Zue44Gu44OQ44O844K444On44Oz44Gu5Lih5pa544Gr5a2Y5Zyo44GZ44KL6K2m5ZGK44Gu5pWwPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5kZWFkPC9lbnRyeT48ZW50cnk+5Lul5YmN44Gu44OQ44O844K444On44Oz44Gr5a2Y5Zyo44GX44Gf44GM54++5Zyo44Gu44OQ44O844K444On44Oz44Gr44KC55u05YmN44Gu44OQ44O844K444On44Oz44Gr44KC5a2Y5Zyo44GX44Gq44GE6K2m5ZGK44Gu5pWwPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5hY3RpdmU8L2VudHJ5PjxlbnRyeT7nj77lnKjjga7jg5Djg7zjgrjjg6fjg7PjgavlrZjlnKjjgZnjgovorablkYrnt4/mlbA8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICAgICAgPC90Z3JvdXA+Ci0gICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDwvc2VjdDI+Ci0KLSAgICAgICAgPHNlY3QyIGlkPSJkZWZlY3REZW5zaXR5Ij4KLSAgICAgICAgICAgIDx0aXRsZT5kZWZlY3REZW5zaXR5PC90aXRsZT4KLTxwYXJhPuOBk+OBruOCs+ODnuODs+ODieOCkuS9v+eUqOOBmeOCi+OBk+OBqOOBp+OAgeODl+ODreOCuOOCp+OCr+ODiOWFqOS9k+OBiuOCiOOBs+OCr+ODqeOCueavjuODu+ODkeODg+OCseODvOOCuOavjuOBruS4jeiJr+WvhuW6piAoMTAwMCBOQ1NTIOavjuOBruitpuWRiuaVsCkg44Gr6Zai44GZ44KL5oOF5aCx44KS5LiA6Kan6KGo56S644Gn44GN44G+44GZ44CC5qiZ5rqW5YWl5Yqb44GL44KJ6Kqt44G/6L6844KA5aC05ZCI44Gv44OV44Kh44Kk44Or5oyH5a6a44Gq44GX44Gn44CB44Gd44GG44Gn44Gq44GR44KM44Gw44CB44Kz44Oe44Oz44OJ44Op44Kk44Oz44Gn44OV44Kh44Kk44Or44KS5oyH5a6a44GX44Gm44CB44GT44Gu44Kz44Oe44Oz44OJ44KS5a6f6KGM44GX44G+44GZ44CCPC9wYXJhPgotPHBhcmE+5Ye65Yqb44GV44KM44KL6KGo44Gv44CB5qyh44Gr56S644GZ44Kr44Op44Og44GL44KJ5oiQ44KK44G+44GZ44CC44G+44Gf44CB44OX44Ot44K444Kn44Kv44OI5YWo5L2T5oOF5aCx44Gu6KGM44CB44GK44KI44Gz44CBNCDlgIvku6XkuIrjga7orablkYrjgpLlkKvjgpPjgafjgYTjgovlkITjg5Hjg4PjgrHjg7zjgrjmg4XloLHjgb7jgZ/jga/lkITjgq/jg6njgrnmg4XloLHjga7ooYzjgoLlh7rlipvjgZXjgozjgb7jgZnjgII8L3BhcmE+Ci0gICAgICAgIDx0YWJsZSBpZD0iZGVmZWN0RGVuc2l0eUNvbHVtbnMiPgotICAgICAgICAgICAgPHRpdGxlPmRlZmVjdERlbnNpdHkg5Ye65Yqb44Gu44Kr44Op44Og5LiA6KanPC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMiIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+6KGo6aGMPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PuebrueahDwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+Ci0gICAgICAgICAgICAgICAgICA8dGJvZHk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+a2luZDwvZW50cnk+PGVudHJ5PuODl+ODreOCuOOCp+OCr+ODiCAocHJvamVjdCnjgIHjg5Hjg4PjgrHjg7zjgrggKHBhY2thZ2UpIOOBvuOBn+OBr+OCr+ODqeOCuSAoY2xhc3MpPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5uYW1lPC9lbnRyeT48ZW50cnk+44OX44Ot44K444Kn44Kv44OI44CB44OR44OD44Kx44O844K444G+44Gf44Gv44Kv44Op44K544Gu5ZCN5YmNPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5kZW5zaXR5PC9lbnRyeT48ZW50cnk+IDEwMDAgTkNTUyDmr47jga7orablkYrmlbA8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PmJ1Z3M8L2VudHJ5PjxlbnRyeT7orablkYrmlbA8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pk5DU1M8L2VudHJ5PjxlbnRyeT7jgrPjg6Hjg7Pjg4jmlofjgpLpmaTjgYTjgZ/lkb3ku6TmlbAgKE5vbiBDb21tZW50aW5nIFNvdXJjZSBTdGF0ZW1lbnRzKSA8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICAgICAgPC90Z3JvdXA+Ci0gICAgICAgICAgICA8L3RhYmxlPgotICAgICAgICA8L3NlY3QyPgotCi0gICAgICAgIDxzZWN0MiBpZD0iY29udmVydFhtbFRvVGV4dCI+Ci0gICAgICAgICAgICA8dGl0bGU+Y29udmVydFhtbFRvVGV4dDwvdGl0bGU+Ci0KLSAgICAgICAgICAgIDxwYXJhPuOBk+OBruOCs+ODnuODs+ODieOCkuS9v+eUqOOBmeOCi+OBk+OBqOOBp+OAgVhNTCDlvaLlvI/jga7jg5DjgrDorablkYrjgpLjgIEgMSDooYwgMSDjg5DjgrDjga7jg4bjgq3jgrnjg4jlvaLlvI/jgIHjgb7jgZ/jga/jgIFIVE1M5b2i5byP44Gr5aSJ5o+b44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wYXJhPgotCi08cGFyYT7jgZPjga7mqZ/og73jga/jgIEgYW50IOOBi+OCieOCguS9v+eUqOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOBvuOBmuasoeOBq+ekuuOBmeOCiOOBhuOBq+OAgeODk+ODq+ODieODleOCoeOCpOODq+OBqyA8Y29tbWFuZD5jb252ZXJ0WG1sVG9UZXh0PC9jb21tYW5kPiDjgpIgdGFza2RlZiDjgaflrprnvqnjgZfjgb7jgZkgOjwvcGFyYT4KLQotPHByb2dyYW1saXN0aW5nPgotPCFbQ0RBVEFbCi08dGFza2RlZiBuYW1lPSJjb252ZXJ0WG1sVG9UZXh0IiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5Db252ZXJ0WG1sVG9UZXh0VGFzayI+Ci0gICAgPGNsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvPgotPC90YXNrZGVmPgotXV0+Ci08L3Byb2dyYW1saXN0aW5nPgotCi08cGFyYT7jgZPjga4gYW50IOOCv+OCueOCr+OBq+aMh+WumuOBp+OBjeOCi+WxnuaAp+OCkuOAgeS4i+ihqOOBq+S4gOimp+OBp+ekuuOBl+OBvuOBmeOAgjwvcGFyYT4KLQotICAgICAgICAgICAgPHRhYmxlIGlkPSJjb252ZXJ0WG1sVG9UZXh0VGFibGUiPgotICAgICAgICAgICAgPHRpdGxlPmNvbnZlcnRYbWxUb1RleHQg44Kz44Oe44Oz44OJ44Gu44Kq44OX44K344On44Oz5LiA6KanPC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMyIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+44Kz44Oe44Oz44OJ44Op44Kk44Oz44Kq44OX44K344On44OzPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PkFudCDlsZ7mgKc8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+55uu55qEPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KLSAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLTxyb3c+PGVudHJ5Lz4gICAgICAgICAgICAgICAgICAgPGVudHJ5PmlucHV0PSZxdW90OyZsdDtmaWxlbmFtZSZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgIDxlbnRyeT7lhaXlipvjg5XjgqHjgqTjg6vjgpLmjIflrprjgZfjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotPHJvdz48ZW50cnkvPiAgICAgICAgICAgICAgICAgICA8ZW50cnk+b3V0cHV0PSZxdW90OyZsdDtmaWxlbmFtZSZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgPGVudHJ5PuWHuuWKm+ODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4tbG9uZ0J1Z0NvZGVzPC9lbnRyeT4gICAgICA8ZW50cnk+bG9uZ0J1Z0NvZGVzPSZxdW90O1t0cnVlfGZhbHNlXSZxdW90OzwvZW50cnk+ICAgICAgPGVudHJ5PjIg5paH5a2X44Gu44OQ44Kw55Wl56ew44Gu5Luj44KP44KK44Gr44CB55yB55Wl44Gq44GX44Gu44OQ44Kw44OR44K/44O844Oz44Kz44O844OJ44KS5L2/55So44GX44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLTxyb3c+PGVudHJ5Lz4gICAgICAgICAgICAgICAgICAgPGVudHJ5PmZvcm1hdD0mcXVvdDt0ZXh0JnF1b3Q7PC9lbnRyeT4gICAgICAgICAgICAgICAgICAgIDxlbnRyeT7jg5fjg6zjg7zjg7Pjg4bjgq3jgrnjg4jjga7lh7rlipvjgYzkvZzmiJDjgZXjgozjgb7jgZnjgIIxIOihjOOBq+OBpOOBjSAxIOOBpOOBruODkOOCsOOBjOWHuuWKm+OBleOCjOOBvuOBmeOAguOCs+ODnuODs+ODieODqeOCpOODs+aZguOBruODh+ODleOCqeODq+ODiOOBp+OBmeOAgjwvZW50cnk+PC9yb3c+Ci08cm93PjxlbnRyeT4taHRtbFs6c3R5bGVzaGVldF08L2VudHJ5PiA8ZW50cnk+Zm9ybWF0PSZxdW90O2h0bWw6Jmx0O3N0eWxlc2hlZXQmZ3Q7JnF1b3Q7PC9lbnRyeT4gPGVudHJ5PuaMh+WumuOBleOCjOOBn+OCueOCv+OCpOODq+OCt+ODvOODiOOCkuS9v+eUqOOBl+OBpuWHuuWKm+OBjOS9nOaIkOOBleOCjOOBvuOBmSAo5LiL6KiY5Y+C54WnKSDjgILnnIHnlaXjgZfjgZ/loLTlkIjjga/jgIEgZGVmYXVsdC54c2wg44GM5L2/55So44GV44KM44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgPC90Z3JvdXA+Ci0gICAgICAgICAgICA8L3RhYmxlPgotCi0gICAgICAgICAgICA8cGFyYT4taHRtbC9mb3JtYXQg44Kq44OX44K344On44Oz44Gr44Gv44CBcGxhaW4ueHNsIOOAgSBkZWZhdWx0LnhzbCDjgIEgZmFuY3kueHNsIOOAgSBmYW5jeS1oaXN0LnhzbCDjgb7jgZ/jga8g44Om44O844K26Ieq6Lqr44GM5L2c5oiQ44GX44GfIFhTTCDjgrnjgr/jgqTjg6vjgrfjg7zjg4jjga7jgYTjgZrjgozjgYvjgpLmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgILjgqrjg5fjgrfjg6fjg7PlkI3jgpLjgojjgZ3jgavjgIEgaHRtbCDku6XlpJbjga7lvaLlvI/jgpLlh7rlipvjgZnjgovjgrnjgr/jgqTjg6vjgrfjg7zjg4jjgpLmjIflrprjgZnjgovjgZPjgajjgoLjgafjgY3jgb7jgZnjgIJGaW5kQnVncyDjgavlkKvjgb7jgozjgabjgYTjgovjgrnjgr/jgqTjg6vjgrfjg7zjg4go5LiK6L+wKeS7peWkluOBruOCueOCv+OCpOODq+OCt+ODvOODiOOCkuS9v+eUqOOBmeOCi+WgtOWQiOOBr+OAgeOCquODl+OCt+ODp+ODsyAtaHRtbC9mb3JtYXQg44Gn5b2T6Kmy44K544K/44Kk44Or44K344O844OI44G444Gu44OR44K544G+44Gf44GvIFVSTCDjgpLmjIflrprjgZfjgabjgY/jgaDjgZXjgYTjgII8L3BhcmE+Ci0gICAgICAgIDwvc2VjdDI+Ci0KLSAgICAgICAgPHNlY3QyIGlkPSJzZXRCdWdEYXRhYmFzZUluZm8iPgotICAgICAgICAgICAgPHRpdGxlPnNldEJ1Z0RhdGFiYXNlSW5mbzwvdGl0bGU+Ci0KLSAgICAgICAgICAgIDxwYXJhPuOBk+OBruOCs+ODnuODs+ODieOCkuS9v+eUqOOBmeOCi+OBk+OBqOOBp+OAgeaMh+WumuOBl+OBn+ODkOOCsOitpuWRiuOBq+ODoeOCv+aDheWgseOCkuioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOBk+OBruOCs+ODnuODs+ODieOBq+OBr+asoeOBq+ekuuOBmeOCquODl+OCt+ODp+ODs+OBjOOBguOCiuOBvuOBmTo8L3BhcmE+Ci0KLTxwYXJhPuOBk+OBruapn+iDveOBr+OAgSBhbnQg44GL44KJ44KC5L2/55So44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CC44G+44Ga5qyh44Gr56S644GZ44KI44GG44Gr44CB44OT44Or44OJ44OV44Kh44Kk44Or44GrIDxjb21tYW5kPnNldEJ1Z0RhdGFiYXNlSW5mbzwvY29tbWFuZD4g44KSIHRhc2tkZWYg44Gn5a6a576p44GX44G+44GZIDo8L3BhcmE+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotPHRhc2tkZWYgbmFtZT0ic2V0QnVnRGF0YWJhc2VJbmZvIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5TZXRCdWdEYXRhYmFzZUluZm9UYXNrIj4KLSAgICA8Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8+Ci08L3Rhc2tkZWY+Ci1dXT4KLTwvcHJvZ3JhbWxpc3Rpbmc+Ci0KLTxwYXJhPuOBk+OBriBhbnQg44K/44K544Kv44Gr5oyH5a6a44Gn44GN44KL5bGe5oCn44KS44CB5LiL6KGo44Gr5LiA6Kan44Gn56S644GX44G+44GZ44CC5YWl5Yqb44OV44Kh44Kk44Or44KS5oyH5a6a44GZ44KL44Gr44Gv44CBIDxsaXRlcmFsPmlucHV0PC9saXRlcmFsPiAg5bGe5oCn44KS5L2/55So44GZ44KL44GL44CBIDxsaXRlcmFsPiZsdDtkYXRhZmlsZSZndDs8L2xpdGVyYWw+IOimgee0oOOCkuWFpeOCjOWtkOOBq+OBl+OBpuWFpeOCjOOBpuOBj+OBoOOBleOBhOOAguasoeOBq+OAgeS+i+OCkuekuuOBl+OBvuOBmTo8L3BhcmE+Ci0KLTxwcm9ncmFtbGlzdGluZz4KLTwhW0NEQVRBWwotPHNldEJ1Z0RhdGFiYXNlSW5mbyBob21lPSIke2ZpbmRidWdzLmhvbWV9IiAuLi4+Ci0gICAgPGRhdGFmaWxlIG5hbWU9ImFuYWx5emUueG1sIi8+Ci08L3NldEJ1Z0RhdGFiYXNlSW5mbz4KLV1dPgotPC9wcm9ncmFtbGlzdGluZz4KLQotICAgICAgICA8dGFibGUgaWQ9InNldEJ1Z0RhdGFiYXNlSW5mb09wdGlvbnMiPgotICAgICAgICAgICAgPHRpdGxlPnNldEJ1Z0RhdGFiYXNlSW5mbyDjgqrjg5fjgrfjg6fjg7PkuIDopqc8L3RpdGxlPgotICAgICAgICAgICAgPHRncm91cCBjb2xzPSIzIiBhbGlnbj0ibGVmdCI+Ci0gICAgICAgICAgICAgICAgICA8dGhlYWQ+Ci0gICAgICAgICAgICAgICAgICAgIDxyb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT7jgrPjg57jg7Pjg4njg6njgqTjg7Pjgqrjg5fjgrfjg6fjg7M8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+QW50IOWxnuaApzwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT7nm67nmoQ8L2VudHJ5PgotICAgICAgICAgICAgICAgICAgICA8L3Jvdz4KLSAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+Ci0gICAgICAgICAgICAgICAgICA8dGJvZHk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnkvPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5pbnB1dD0mcXVvdDsmbHQ7ZmlsZSZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgICAgPGVudHJ5PuWFpeWKm+ODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnkvPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeT5vdXRwdXQ9JnF1b3Q7Jmx0O2ZpbGUmZ3Q7JnF1b3Q7PC9lbnRyeT4gICAgICAgICAgPGVudHJ5PuWHuuWKm+ODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+LW5hbWUgJmx0O25hbWUmZ3Q7PC9lbnRyeT4gICAgICAgICAgICA8ZW50cnk+bmFtZT0mcXVvdDsmbHQ7bmFtZSZndDsmcXVvdDs8L2VudHJ5PiAgICAgICAgICAgIDxlbnRyeT7mnIDmlrDjg6rjg5Pjgrjjg6fjg7Pjga7lkI3liY3jgpLoqK3lrprjgZfjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pi10aW1lc3RhbXAgJmx0O3doZW4mZ3Q7PC9lbnRyeT4gICAgICAgPGVudHJ5PnRpbWVzdGFtcD0mcXVvdDsmbHQ7d2hlbiZndDsmcXVvdDs8L2VudHJ5PiAgICAgICA8ZW50cnk+5pyA5paw44Oq44OT44K444On44Oz44Gu44K/44Kk44Og44O744K544K/44Oz44OX44KS6Kit5a6a44GX44G+44GZ44CCPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT4tc291cmNlICZsdDtkaXJlY3RvcnkmZ3Q7PC9lbnRyeT4gICAgIDxlbnRyeT5zb3VyY2U9JnF1b3Q7Jmx0O2RpcmVjdG9yeSZndDsmcXVvdDs8L2VudHJ5PiAgICAgPGVudHJ5PuOCveODvOOCueOCkuaknOe0ouOBmeOCi+ODh+OCo+ODrOOCr+ODiOODquODvOOCkui/veWKoOaMh+WumuOBl+OBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+LWZpbmRTb3VyY2UgJmx0O2RpcmVjdG9yeSZndDs8L2VudHJ5PiA8ZW50cnk+ZmluZFNvdXJjZT0mcXVvdDsmbHQ7ZGlyZWN0b3J5Jmd0OyZxdW90OzwvZW50cnk+IDxlbnRyeT7mjIflrprjgZfjgZ/jg4fjgqPjg6zjgq/jg4jjg6rjg7zlhoXjgpLmpJzntKLjgZfjgabplqLpgKPjgZnjgovjgr3jg7zjgrnjga7loLTmiYDjgpLov73liqDjgZfjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pi1zdXBwcmVzcyAmbHQ7ZmlsdGVyIGZpbGUmZ3Q7PC9lbnRyeT4gPGVudHJ5PnN1cHByZXNzPSZxdW90OyZsdDtmaWx0ZXIgZmlsZSZndDsmcXVvdDs8L2VudHJ5PiA8ZW50cnk+5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44Gr5LiA6Ie044GZ44KL6K2m5ZGK44KS5oqR5q2i44GX44G+44GZICjku6XliY3jgavmjIflrprjgZfjgZ/mipHmraLoqK3lrprjga/nva7jgY3mj5vjgYjjgonjgozjgb7jgZkp44CCPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT4td2l0aE1lc3NhZ2VzPC9lbnRyeT4gICAgICAgICAgICAgICAgIDxlbnRyeT53aXRoTWVzc2FnZXM9JnF1b3Q7W3RydWV8ZmFsc2VdJnF1b3Q7PC9lbnRyeT4gICAgPGVudHJ5PlhNTOOBq+ODhuOCreOCueODiOODoeODg+OCu+ODvOOCuOOCkui/veWKoOOBl+OBvuOBmeOAgjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+LXJlc2V0U291cmNlPC9lbnRyeT4gICAgICAgICAgICAgICAgICA8ZW50cnk+cmVzZXRTb3VyY2U9JnF1b3Q7W3RydWV8ZmFsc2VdJnF1b3Q7PC9lbnRyeT4gICAgIDxlbnRyeT7jgr3jg7zjgrnmpJzntKLjg5HjgrnjgpLjgZnjgbnjgabliYrpmaTjgZfjgb7jgZnjgII8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgICAgIDwvdGdyb3VwPgotICAgICAgICAgICAgPC90YWJsZT4KLSAgICAgICAgPC9zZWN0Mj4KLQotICAgICAgICA8c2VjdDIgaWQ9Imxpc3RCdWdEYXRhYmFzZUluZm8iPgotICAgICAgICAgICAgPHRpdGxlPmxpc3RCdWdEYXRhYmFzZUluZm88L3RpdGxlPgotCi0gICAgICAgICAgICA8cGFyYT7jgZPjga7jgrPjg57jg7Pjg4njga7lrp/ooYzjgavjgYrjgYTjgabjga/jgIHjgrPjg57jg7Pjg4njg6njgqTjg7PjgacgMCDlgIvku6XkuIrjga4geG1sIOODkOOCsOODh+ODvOOCv+ODmeODvOOCueODleOCoeOCpOODq+WQjeOCkuaMh+WumuOBl+OBvuOBmeOAguODleOCoeOCpOODq+WQjeOCkjHjgaTjgoLmjIflrprjgZfjgarjgZHjgozjgbDjgIHmqJnmupblh7rlipvjgYvjgonoqq3jgb/ovrzjgb/jgpLooYzjgYTjg4bjg7zjg5bjg6vjga7jg5jjg4Pjg4Djg7zjga/nlJ/miJDjgZXjgozjgb7jgZvjgpPjgII8L3BhcmE+Ci0KLTxwYXJhPuOBk+OBruOCs+ODnuODs+ODieOBq+OBryAxIOOBpOOBoOOBkeOCquODl+OCt+ODp+ODs+OBjOOBguOCiuOBvuOBmSA6IDxvcHRpb24+LWZvcm1hdERhdGVzPC9vcHRpb24+IOOCkuaMh+WumuOBmeOCi+OBqOODhuOCreOCueODiOW9ouW8j+OBp+ODh+ODvOOCv+OBjOaPj+eUu+OBleOCjOOBvuOBmeOAgjwvcGFyYT4KLQotPHBhcmE+5Ye65Yqb44GV44KM44KL6KGo44Gv44CB5ZCE44OQ44Kw44OH44O844K/44OZ44O844K544GU44Go44Gr6KGM44KS5oyB44Gh44CB5qyh44Gr56S644GZ44Kr44Op44Og44GL44KJ5oiQ44KK44G+44GZIDo8L3BhcmE+Ci0gICAgICAgIDx0YWJsZSBpZD0ibGlzdEJ1Z0RhdGFiYXNlSW5mb0NvbHVtbnMiPgotICAgICAgICAgICAgPHRpdGxlPmxpc3RCdWdEYXRhYmFzZUluZm8g44Kr44Op44Og5LiA6KanPC90aXRsZT4KLSAgICAgICAgICAgIDx0Z3JvdXAgY29scz0iMiIgYWxpZ249ImxlZnQiPgotICAgICAgICAgICAgICAgICAgPHRoZWFkPgotICAgICAgICAgICAgICAgICAgICA8cm93PgotICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnk+44Kr44Op44OgPC9lbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5PuebrueahDwvZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDwvcm93PgotICAgICAgICAgICAgICAgICAgPC90aGVhZD4KLSAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT52ZXJzaW9uPC9lbnRyeT48ZW50cnk+44OQ44O844K444On44Oz5ZCNPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT50aW1lPC9lbnRyeT48ZW50cnk+44Oq44Oq44O844K544GV44KM44Gf5pel5pmCPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5jbGFzc2VzPC9lbnRyeT48ZW50cnk+5YiG5p6Q44GV44KM44Gf44Kv44Op44K55pWwPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5OQ1NTPC9lbnRyeT48ZW50cnk+44Kz44Oh44Oz44OI5paH44KS6Zmk44GE44Gf5ZG95Luk5pWwIChOb24gQ29tbWVudGluZyBTb3VyY2UgU3RhdGVtZW50cyk8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PnRvdGFsPC9lbnRyeT48ZW50cnk+5YWo6K2m5ZGK5pWwPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5oaWdoPC9lbnRyeT48ZW50cnk+5YSq5YWI5bqmKOmrmCnjga7orablkYrjga7nt4/mlbA8L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5Pm1lZGl1bTwvZW50cnk+PGVudHJ5PuWEquWFiOW6pijkuK0p44Gu6K2m5ZGK44Gu57eP5pWwPC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT5sb3c8L2VudHJ5PjxlbnRyeT7lhKrlhYjluqYo5L2OKeOBruitpuWRiuOBrue3j+aVsDwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+ZmlsZW5hbWU8L2VudHJ5PjxlbnRyeT7jg4fjg7zjgr/jg5njg7zjgrnjga7jg5XjgqHjgqTjg6vlkI08L2VudHJ5Pjwvcm93PgotPCEtLQotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PjwvZW50cnk+PGVudHJ5PjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48ZW50cnk+PC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT48L2VudHJ5PjxlbnRyeT48L2VudHJ5Pjwvcm93PgotICAgICAgICAgICAgICAgICAgICAgIDxyb3c+PGVudHJ5PjwvZW50cnk+PGVudHJ5PjwvZW50cnk+PC9yb3c+Ci0gICAgICAgICAgICAgICAgICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48ZW50cnk+PC9lbnRyeT48L3Jvdz4KLSAgICAgICAgICAgICAgICAgICAgICA8cm93PjxlbnRyeT48L2VudHJ5PjxlbnRyeT48L2VudHJ5Pjwvcm93PgotLS0+Ci0gICAgICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICAgICAgPC90Z3JvdXA+Ci0gICAgICAgICAgICA8L3RhYmxlPgotCi0gICAgICAgIDwvc2VjdDI+Ci0KLSAgICA8L3NlY3QxPgotCi0gICAgPHNlY3QxIGlkPSJleGFtcGxlcyI+Ci0gICAgICAgIDx0aXRsZT7kvos8L3RpdGxlPgotPHNlY3QyIGlkPSJ1bml4c2NyaXB0c2V4YW1wbGVzIj4KLSAgIDx0aXRsZT7mj5DkvpvjgZXjgozjgZ/jgrfjgqfjg6vjg7vjgrnjgq/jg6rjg5fjg4jjgpLkvb/nlKjjgZfjgabjga7lsaXmrbTjg57jgqTjg4vjg7PjgrA8L3RpdGxlPgotPHBhcmE+5Lul5LiL44Gv44GZ44G544Gm44CBIGpkazEuNi4wLWIxMiwgamRrMS42LjAtYjEzLCAuLi4sIGpkazEuNi4wLWI2MCDjga7jg4fjgqPjg6zjgq/jg4jjg6rjgavlr77jgZfjgabjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgabjgYTjgb7jgZnjgII8L3BhcmE+Ci0KLTxwYXJhPuS7peS4i+OBruOCs+ODnuODs+ODieOCkuWun+ihjOOBl+OBpuOBv+OBvuOBmSA6PC9wYXJhPgotPHNjcmVlbj4KLWNvbXB1dGVCdWdIaXN0b3J5IGpkazEuNi4wLWIqIHwgZmlsdGVyQnVncyAtYnVnUGF0dGVybiBJTF8gfCBtaW5lQnVnSGlzdG9yeSAtZm9ybWF0RGF0ZXMKLTwvc2NyZWVuPgotPHBhcmE+44GZ44KL44Go44CB5qyh44Gu44KI44GG44Gq5Ye65Yqb44GM6KGM44KP44KM44G+44GZIDo8L3BhcmE+Ci0KLTxzY3JlZW4+Ci1zZXEJdmVyc2lvbgl0aW1lCWNsYXNzZXMJTkNTUwlhZGRlZAluZXdDb2RlCWZpeGVkCXJlbW92ZWQJcmV0YWluZWQJZGVhZAlhY3RpdmUKLTAJamRrMS42LjAtYjEyCSZxdW90O1RodSBOb3YgMTEgMDk6MDc6MjAgRVNUIDIwMDQmcXVvdDsJMTMxMjgJODExNTY5CTAJNAkwCTAJMAkwCTQKLTEJamRrMS42LjAtYjEzCSZxdW90O1RodSBOb3YgMTggMDY6MDI6MDYgRVNUIDIwMDQmcXVvdDsJMTMxMjgJODExNTcwCTAJMAkwCTAJNAkwCTQKLTIJamRrMS42LjAtYjE0CSZxdW90O1RodSBEZWMgMDIgMDY6MTI6MjYgRVNUIDIwMDQmcXVvdDsJMTMxNDUJODExNzg2CTAJMAkyCTAJMgkwCTIKLTMJamRrMS42LjAtYjE1CSZxdW90O1RodSBEZWMgMDkgMDY6MDc6MDQgRVNUIDIwMDQmcXVvdDsJMTMxNzQJODExNjkzCTAJMAkxCTAJMQkyCTEKLTQJamRrMS42LjAtYjE2CSZxdW90O1RodSBEZWMgMTYgMDY6MjE6MjggRVNUIDIwMDQmcXVvdDsJMTMxNzUJODExNzE1CTAJMAkwCTAJMQkzCTEKLTUJamRrMS42LjAtYjE3CSZxdW90O1RodSBEZWMgMjMgMDY6Mjc6MjIgRVNUIDIwMDQmcXVvdDsJMTMxNzYJODExOTc0CTAJMAkwCTAJMQkzCTEKLTYJamRrMS42LjAtYjE5CSZxdW90O1RodSBKYW4gMTMgMDY6NDE6MTYgRVNUIDIwMDUmcXVvdDsJMTMxNzYJODEyMDExCTAJMAkwCTAJMQkzCTEKLTcJamRrMS42LjAtYjIxCSZxdW90O1RodSBKYW4gMjcgMDU6NTc6NTIgRVNUIDIwMDUmcXVvdDsJMTMxNzcJODEyMTczCTAJMAkwCTAJMQkzCTEKLTgJamRrMS42LjAtYjIzCSZxdW90O1RodSBGZWIgMTAgMDU6NDQ6MzYgRVNUIDIwMDUmcXVvdDsJMTMxNzkJODEyMTg4CTAJMAkwCTAJMQkzCTEKLTkJamRrMS42LjAtYjI2CSZxdW90O1RodSBNYXIgMDMgMDY6MDQ6MDIgRVNUIDIwMDUmcXVvdDsJMTMxOTkJODExNzcwCTAJMAkwCTAJMQkzCTEKLTEwCWpkazEuNi4wLWIyNwkmcXVvdDtUaHUgTWFyIDEwIDA0OjQ4OjM4IEVTVCAyMDA1JnF1b3Q7CTEzMTg5CTgxMjQ0MAkwCTAJMAkwCTEJMwkxCi0xMQlqZGsxLjYuMC1iMjgJJnF1b3Q7VGh1IE1hciAxNyAwMjo1NDoyMiBFU1QgMjAwNSZxdW90OwkxMzE4NQk4MTIwNTYJMAkwCTAJMAkxCTMJMQotMTIJamRrMS42LjAtYjI5CSZxdW90O1RodSBNYXIgMjQgMDM6MDk6MjAgRVNUIDIwMDUmcXVvdDsJMTMxMTcJODA5NDY4CTAJMAkwCTAJMQkzCTEKLTEzCWpkazEuNi4wLWIzMAkmcXVvdDtUaHUgTWFyIDMxIDAyOjUzOjMyIEVTVCAyMDA1JnF1b3Q7CTEzMTE4CTgwOTUwMQkwCTAJMAkwCTEJMwkxCi0xNAlqZGsxLjYuMC1iMzEJJnF1b3Q7VGh1IEFwciAwNyAwMzowMDoxNCBFRFQgMjAwNSZxdW90OwkxMzExNwk4MDk1NzIJMAkwCTAJMAkxCTMJMQotMTUJamRrMS42LjAtYjMyCSZxdW90O1RodSBBcHIgMTQgMDI6NTY6NTYgRURUIDIwMDUmcXVvdDsJMTMxNjkJODExMDk2CTAJMAkwCTAJMQkzCTEKLTE2CWpkazEuNi4wLWIzMwkmcXVvdDtUaHUgQXByIDIxIDAyOjQ2OjIyIEVEVCAyMDA1JnF1b3Q7CTEzMTg3CTgxMTk0MgkwCTAJMAkwCTEJMwkxCi0xNwlqZGsxLjYuMC1iMzQJJnF1b3Q7VGh1IEFwciAyOCAwMjo0OTowMCBFRFQgMjAwNSZxdW90OwkxMzE5NQk4MTM0ODgJMAkxCTAJMAkxCTMJMgotMTgJamRrMS42LjAtYjM1CSZxdW90O1RodSBNYXkgMDUgMDI6NDk6MDQgRURUIDIwMDUmcXVvdDsJMTM0NTcJODI5ODM3CTAJMAkwCTAJMgkzCTIKLTE5CWpkazEuNi4wLWIzNgkmcXVvdDtUaHUgTWF5IDEyIDAyOjU5OjQ2IEVEVCAyMDA1JnF1b3Q7CTEzNDYyCTgzMTI3OAkwCTAJMAkwCTIJMwkyCi0yMAlqZGsxLjYuMC1iMzcJJnF1b3Q7VGh1IE1heSAxOSAwMjo1NTowOCBFRFQgMjAwNSZxdW90OwkxMzQ2NAk4MzE5NzEJMAkwCTAJMAkyCTMJMgotMjEJamRrMS42LjAtYjM4CSZxdW90O1RodSBNYXkgMjYgMDM6MDg6MTYgRURUIDIwMDUmcXVvdDsJMTM1NjQJODM2NTY1CTAJMAkwCTAJMgkzCTIKLTIyCWpkazEuNi4wLWIzOQkmcXVvdDtGcmkgSnVuIDAzIDAzOjEwOjQ4IEVEVCAyMDA1JnF1b3Q7CTEzODU2CTg0OTk5MgkwCTEJMAkwCTIJMwkzCi0yMwlqZGsxLjYuMC1iNDAJJnF1b3Q7VGh1IEp1biAwOSAwMzozMDoyOCBFRFQgMjAwNSZxdW90OwkxNTk3Mgk5NTk2MTkJMAkyCTAJMAkzCTMJNQotMjQJamRrMS42LjAtYjQxCSZxdW90O1RodSBKdW4gMTYgMDM6MTk6MjIgRURUIDIwMDUmcXVvdDsJMTU5NzIJOTU5NjE5CTAJMAkwCTAJNQkzCTUKLTI1CWpkazEuNi4wLWI0MgkmcXVvdDtGcmkgSnVuIDI0IDAzOjM4OjU0IEVEVCAyMDA1JnF1b3Q7CTE1OTY2CTk1ODU4MQkwCTAJMAkwCTUJMwk1Ci0yNglqZGsxLjYuMC1iNDMJJnF1b3Q7VGh1IEp1bCAxNCAwMzowOTozNCBFRFQgMjAwNSZxdW90OwkxNjA0MQk5NjA1NDQJMAkwCTAJMAk1CTMJNQotMjcJamRrMS42LjAtYjQ0CSZxdW90O1RodSBKdWwgMjEgMDM6MDU6NTQgRURUIDIwMDUmcXVvdDsJMTYwNDEJOTYwNTQ3CTAJMAkwCTAJNQkzCTUKLTI4CWpkazEuNi4wLWI0NQkmcXVvdDtUaHUgSnVsIDI4IDAzOjI2OjEwIEVEVCAyMDA1JnF1b3Q7CTE2MDM3CTk2MDYwNgkwCTAJMQkwCTQJMwk0Ci0yOQlqZGsxLjYuMC1iNDYJJnF1b3Q7VGh1IEF1ZyAwNCAwMzowMjo0OCBFRFQgMjAwNSZxdW90OwkxNTkzNgk5NTEzNTUJMAkwCTAJMAk0CTQJNAotMzAJamRrMS42LjAtYjQ3CSZxdW90O1RodSBBdWcgMTEgMDM6MTg6NTYgRURUIDIwMDUmcXVvdDsJMTU5NjQJOTUyMzg3CTAJMAkxCTAJMwk0CTMKLTMxCWpkazEuNi4wLWI0OAkmcXVvdDtUaHUgQXVnIDE4IDA4OjEwOjQwIEVEVCAyMDA1JnF1b3Q7CTE1OTcwCTk1MzQyMQkwCTAJMAkwCTMJNQkzCi0zMglqZGsxLjYuMC1iNDkJJnF1b3Q7VGh1IEF1ZyAyNSAwMzoyNDozOCBFRFQgMjAwNSZxdW90OwkxNjA0OAk5NTg5NDAJMAkwCTAJMAkzCTUJMwotMzMJamRrMS42LjAtYjUwCSZxdW90O1RodSBTZXAgMDEgMDE6NTI6NDAgRURUIDIwMDUmcXVvdDsJMTYyODcJOTc0OTM3CTEJMAkwCTAJMwk1CTQKLTM0CWpkazEuNi4wLWI1MQkmcXVvdDtUaHUgU2VwIDA4IDAxOjU1OjM2IEVEVCAyMDA1JnF1b3Q7CTE2MzYyCTk3OTM3NwkwCTAJMAkwCTQJNQk0Ci0zNQlqZGsxLjYuMC1iNTIJJnF1b3Q7VGh1IFNlcCAxNSAwMjowNDowOCBFRFQgMjAwNSZxdW90OwkxNjQ3Nwk5NzkzOTkJMAkwCTAJMAk0CTUJNAotMzYJamRrMS42LjAtYjUzCSZxdW90O1RodSBTZXAgMjIgMDI6MDA6MjggRURUIDIwMDUmcXVvdDsJMTYwMTkJOTU3OTAwCTAJMAkxCTAJMwk1CTMKLTM3CWpkazEuNi4wLWI1NAkmcXVvdDtUaHUgU2VwIDI5IDAxOjU0OjM0IEVEVCAyMDA1JnF1b3Q7CTE2MDE5CTk1NzkwMAkwCTAJMAkwCTMJNgkzCi0zOAlqZGsxLjYuMC1iNTUJJnF1b3Q7VGh1IE9jdCAwNiAwMTo1NDoxNCBFRFQgMjAwNSZxdW90OwkxNjA1MQk5NTkwMTQJMAkwCTAJMAkzCTYJMwotMzkJamRrMS42LjAtYjU2CSZxdW90O1RodSBPY3QgMTMgMDE6NTQ6MTIgRURUIDIwMDUmcXVvdDsJMTYyMTEJOTcwODM1CTAJMAkwCTAJMwk2CTMKLTQwCWpkazEuNi4wLWI1NwkmcXVvdDtUaHUgT2N0IDIwIDAxOjU1OjI2IEVEVCAyMDA1JnF1b3Q7CTE2Mjc5CTk3MTYyNwkwCTAJMAkwCTMJNgkzCi00MQlqZGsxLjYuMC1iNTgJJnF1b3Q7VGh1IE9jdCAyNyAwMTo1NjozMCBFRFQgMjAwNSZxdW90OwkxNjI4Mwk5NzE5NDUJMAkwCTAJMAkzCTYJMwotNDIJamRrMS42LjAtYjU5CSZxdW90O1RodSBOb3YgMDMgMDE6NTY6NTggRVNUIDIwMDUmcXVvdDsJMTYyMzIJOTcyMTkzCTAJMAkwCTAJMwk2CTMKLTQzCWpkazEuNi4wLWI2MAkmcXVvdDtUaHUgTm92IDEwIDAxOjU0OjE4IEVTVCAyMDA1JnF1b3Q7CTE2MjM1CTk3MjM0NgkwCTAJMAkwCTMJNgkzCi08L3NjcmVlbj4KLQotPHBhcmE+5qyh44Gr56S644GZ44Kz44Oe44Oz44OJ44KS5a6f6KGM44GZ44KL44Go44CBZGIueG1sIOS4remWk+ODleOCoeOCpOODq+OCkueUn+aIkOOBmeOCi+OBk+OBqOOBquOBj+ebtOaOpeWQjOOBmOaDheWgseOCkuS9nOaIkOOBp+OBjeOBvuOBmeOAgjwvcGFyYT4KLQotPHNjcmVlbj4KLWNvbXB1dGVCdWdIaXN0b3J5ICBqZGsxLjYuMC1iKi9qcmUvbGliL3J0LnhtbCB8IGZpbHRlckJ1Z3MgLWJ1Z1BhdHRlcm4gSUxfIGRiLnhtbCB8IG1pbmVCdWdIaXN0b3J5IC1mb3JtYXREYXRlcwotPC9zY3JlZW4+Ci0KLTxwYXJhPuOBk+OBruaDheWgseOCkuS9v+OBo+OBpuOAgSBTdW4gSkRLMS42LjAg44Gu5ZCE44OT44Or44OJ44Gr44GK44GE44GmIEZpbmRCdWdzIOOBq+OCiOOBo+OBpueZuuimi+OBleOCjOOBn+eEoemZkOWGjei1t+ODq+ODvOODl+OBruaVsOOCkuihqOOBmeOCsOODqeODleOCkuihqOekuuOBl+OBvuOBmeOAgumdkuiJsuOBrumgmOWfn+OBr+OAgeW9k+ipsuODk+ODq+ODieOBq+OBiuOBkeOCi+eEoemZkOWGjei1t+ODq+ODvOODl+OBruaVsOOCkuihqOOBl+OBpuOBhOOBvuOBmeOAguOBneOBruS4iuOBq+aPj+OBi+OCjOOBpuOBhOOCi+i1pOiJsuOBrumgmOWfn+OBr+OAgeS7peWJjeOBruODkOODvOOCuOODp+ODs+OBq+OBr+WtmOWcqOOBl+OBn+OBjOW9k+ipsuODkOODvOOCuOODp+ODs+OBp+OBr+mZpOWOu+OBleOCjOOBn+eEoemZkOWGjei1t+ODq+ODvOODl+OBruaVsOOCkuihqOOBl+OBpuOBhOOBvuOBmeOAgiAo44GX44Gf44GM44Gj44Gm44CB6LWk6Imy44Gu6aCY5Z+f44Go6Z2S6Imy44Gu6aCY5Z+f44KS6Laz44GX5ZCI44KP44Gb44Gf6auY44GV44Gv5rG644GX44Gm5rib5bCR44GX44Gq44GE44GT44Go44GM5L+d6Ki844GV44KM44Gm44GE44G+44GZ44CC44Gd44GX44Gm44CB5paw44Gf44Gr54Sh6ZmQ5YaN6LW344Or44O844OX44Gu44OQ44Kw44GM5oyB44Gh6L6844G+44KM44Gf5pmC54K544Gn5aKX5Yqg44GX44G+44GZKSDjgILotaToibLjga7poJjln5/jga7pq5jjgZXjga/jgIHlvZPoqbLjg5Djg7zjgrjjg6fjg7PjgavjgYrjgYTjgabkv67mraPjgb7jgZ/jga/liYrpmaTjgZXjgozjgZ/jg5DjgrDmlbDjga7lkIjoqIjjgafnrpflh7rjgZXjgozjgb7jgZnjgILjg5Djg7zjgrjjg6fjg7MgMTMg44GK44KI44GzIDE0IOOBq+OBiuOBhOOBpuimi+OCieOCjOOCi+a4m+WwkeOBr+OAgSBGaW5kQnVncyDjgpLkvb/nlKjjgZfjgabopovjgaTjgYvjgaPjgZ8gSkRLIOOBruODkOOCsOOBruWgseWRiuOCkiBTdW4g44GM5Y+X44GR5Y+W44Gj44Gf44GT44Go44Gr44KI44KL44KC44Gu44Gn44GZ44CCPC9wYXJhPgotPG1lZGlhb2JqZWN0PgotPGltYWdlb2JqZWN0PgotPGltYWdlZGF0YSBmaWxlcmVmPSJpbmZpbml0ZVJlY3Vyc2l2ZUxvb3BzLnBuZyIvPgotPC9pbWFnZW9iamVjdD4KLTwvbWVkaWFvYmplY3Q+Ci0KLTxwYXJhPmRiLnhtbCDjg5XjgqHjgqTjg6vjga/jgIEgamRrMS42LjAg44Gu44GZ44G544Gm44Gu44OT44Or44OJ44Gr5a++44GZ44KL5qSc57Si57WQ5p6c44KS5L+d5oyB44GX44Gm44GE44G+44GZ44CC44GX44Gf44GM44Gj44Gm44CB5qyh44Gr56S644GZ44Kz44Oe44Oz44OJ44KS5a6f6KGM44GZ44KL44GT44Go44Gn44CB5YSq5YWI5bqmKOmrmCnjgb7jgZ/jga/lhKrlhYjluqYo5L2OKeOBruato+eiuuaAp+OBq+mWouOBmeOCi+itpuWRiuOBruWxpeattOOBjOihqOekuuOBleOCjOOBvuOBmSA6PC9wYXJhPgotCi08c2NyZWVuPgotZmlsdGVyQnVncyAtcHJpb3JpdHkgTSAtY2F0ZWdvcnkgQyBkYi54bWwgfCBtaW5lQnVnSGlzdG9yeSAtZm9ybWF0RGF0ZXMKLTwvc2NyZWVuPgotCi08cGFyYT7kvZzmiJDjgZXjgozjgovooajjga7kvosgOjwvcGFyYT4KLQotPHNjcmVlbj4KLXNlcQl2ZXJzaW9uCXRpbWUJY2xhc3NlcwlOQ1NTCWFkZGVkCW5ld0NvZGUJZml4ZWQJcmVtb3ZlZAlyZXRhaW5lZAlkZWFkCWFjdGl2ZQotMAlqZGsxLjYuMC1iMTIJJnF1b3Q7VGh1IE5vdiAxMSAwOTowNzoyMCBFU1QgMjAwNCZxdW90OwkxMzEyOAk4MTE1NjkJMAkxMDc1CTAJMAkwCTAJMTA3NQotMQlqZGsxLjYuMC1iMTMJJnF1b3Q7VGh1IE5vdiAxOCAwNjowMjowNiBFU1QgMjAwNCZxdW90OwkxMzEyOAk4MTE1NzAJMAkwCTAJMAkxMDc1CTAJMTA3NQotMglqZGsxLjYuMC1iMTQJJnF1b3Q7VGh1IERlYyAwMiAwNjoxMjoyNiBFU1QgMjAwNCZxdW90OwkxMzE0NQk4MTE3ODYJMwkwCTYJMAkxMDY5CTAJMTA3MgotMwlqZGsxLjYuMC1iMTUJJnF1b3Q7VGh1IERlYyAwOSAwNjowNzowNCBFU1QgMjAwNCZxdW90OwkxMzE3NAk4MTE2OTMJMgkxCTMJMAkxMDY5CTYJMTA3MgotNAlqZGsxLjYuMC1iMTYJJnF1b3Q7VGh1IERlYyAxNiAwNjoyMToyOCBFU1QgMjAwNCZxdW90OwkxMzE3NQk4MTE3MTUJMAkwCTEJMAkxMDcxCTkJMTA3MQotNQlqZGsxLjYuMC1iMTcJJnF1b3Q7VGh1IERlYyAyMyAwNjoyNzoyMiBFU1QgMjAwNCZxdW90OwkxMzE3Ngk4MTE5NzQJMAkwCTEJMAkxMDcwCTEwCTEwNzAKLTYJamRrMS42LjAtYjE5CSZxdW90O1RodSBKYW4gMTMgMDY6NDE6MTYgRVNUIDIwMDUmcXVvdDsJMTMxNzYJODEyMDExCTAJMAkwCTAJMTA3MAkxMQkxMDcwCi03CWpkazEuNi4wLWIyMQkmcXVvdDtUaHUgSmFuIDI3IDA1OjU3OjUyIEVTVCAyMDA1JnF1b3Q7CTEzMTc3CTgxMjE3MwkwCTAJMQkwCTEwNjkJMTEJMTA2OQotOAlqZGsxLjYuMC1iMjMJJnF1b3Q7VGh1IEZlYiAxMCAwNTo0NDozNiBFU1QgMjAwNSZxdW90OwkxMzE3OQk4MTIxODgJMAkwCTAJMAkxMDY5CTEyCTEwNjkKLTkJamRrMS42LjAtYjI2CSZxdW90O1RodSBNYXIgMDMgMDY6MDQ6MDIgRVNUIDIwMDUmcXVvdDsJMTMxOTkJODExNzcwCTAJMAkyCTEJMTA2NgkxMgkxMDY2Ci0xMAlqZGsxLjYuMC1iMjcJJnF1b3Q7VGh1IE1hciAxMCAwNDo0ODozOCBFU1QgMjAwNSZxdW90OwkxMzE4OQk4MTI0NDAJMQkwCTEJMQkxMDY0CTE1CTEwNjUKLTExCWpkazEuNi4wLWIyOAkmcXVvdDtUaHUgTWFyIDE3IDAyOjU0OjIyIEVTVCAyMDA1JnF1b3Q7CTEzMTg1CTgxMjA1NgkwCTAJMAkwCTEwNjUJMTcJMTA2NQotMTIJamRrMS42LjAtYjI5CSZxdW90O1RodSBNYXIgMjQgMDM6MDk6MjAgRVNUIDIwMDUmcXVvdDsJMTMxMTcJODA5NDY4CTMJMAk4CTI2CTEwMzEJMTcJMTAzNAotMTMJamRrMS42LjAtYjMwCSZxdW90O1RodSBNYXIgMzEgMDI6NTM6MzIgRVNUIDIwMDUmcXVvdDsJMTMxMTgJODA5NTAxCTAJMAkwCTAJMTAzNAk1MQkxMDM0Ci0xNAlqZGsxLjYuMC1iMzEJJnF1b3Q7VGh1IEFwciAwNyAwMzowMDoxNCBFRFQgMjAwNSZxdW90OwkxMzExNwk4MDk1NzIJMAkwCTAJMAkxMDM0CTUxCTEwMzQKLTE1CWpkazEuNi4wLWIzMgkmcXVvdDtUaHUgQXByIDE0IDAyOjU2OjU2IEVEVCAyMDA1JnF1b3Q7CTEzMTY5CTgxMTA5NgkxCTEJMAkxCTEwMzMJNTEJMTAzNQotMTYJamRrMS42LjAtYjMzCSZxdW90O1RodSBBcHIgMjEgMDI6NDY6MjIgRURUIDIwMDUmcXVvdDsJMTMxODcJODExOTQyCTMJMAkyCTEJMTAzMgk1MgkxMDM1Ci0xNwlqZGsxLjYuMC1iMzQJJnF1b3Q7VGh1IEFwciAyOCAwMjo0OTowMCBFRFQgMjAwNSZxdW90OwkxMzE5NQk4MTM0ODgJMAkxCTAJMAkxMDM1CTU1CTEwMzYKLTE4CWpkazEuNi4wLWIzNQkmcXVvdDtUaHUgTWF5IDA1IDAyOjQ5OjA0IEVEVCAyMDA1JnF1b3Q7CTEzNDU3CTgyOTgzNwkwCTM2CTIJMAkxMDM0CTU1CTEwNzAKLTE5CWpkazEuNi4wLWIzNgkmcXVvdDtUaHUgTWF5IDEyIDAyOjU5OjQ2IEVEVCAyMDA1JnF1b3Q7CTEzNDYyCTgzMTI3OAkwCTAJMAkwCTEwNzAJNTcJMTA3MAotMjAJamRrMS42LjAtYjM3CSZxdW90O1RodSBNYXkgMTkgMDI6NTU6MDggRURUIDIwMDUmcXVvdDsJMTM0NjQJODMxOTcxCTAJMQkxCTAJMTA2OQk1NwkxMDcwCi0yMQlqZGsxLjYuMC1iMzgJJnF1b3Q7VGh1IE1heSAyNiAwMzowODoxNiBFRFQgMjAwNSZxdW90OwkxMzU2NAk4MzY1NjUJMQk3CTIJNgkxMDYyCTU4CTEwNzAKLTIyCWpkazEuNi4wLWIzOQkmcXVvdDtGcmkgSnVuIDAzIDAzOjEwOjQ4IEVEVCAyMDA1JnF1b3Q7CTEzODU2CTg0OTk5Mgk2CTM5CTUJMAkxMDY1CTY2CTExMTAKLTIzCWpkazEuNi4wLWI0MAkmcXVvdDtUaHUgSnVuIDA5IDAzOjMwOjI4IEVEVCAyMDA1JnF1b3Q7CTE1OTcyCTk1OTYxOQk3CTE0NwkxMQkwCTEwOTkJNzEJMTI1MwotMjQJamRrMS42LjAtYjQxCSZxdW90O1RodSBKdW4gMTYgMDM6MTk6MjIgRURUIDIwMDUmcXVvdDsJMTU5NzIJOTU5NjE5CTAJMAkwCTAJMTI1Mwk4MgkxMjUzCi0yNQlqZGsxLjYuMC1iNDIJJnF1b3Q7RnJpIEp1biAyNCAwMzozODo1NCBFRFQgMjAwNSZxdW90OwkxNTk2Ngk5NTg1ODEJMwkwCTEJMgkxMjUwCTgyCTEyNTMKLTI2CWpkazEuNi4wLWI0MwkmcXVvdDtUaHUgSnVsIDE0IDAzOjA5OjM0IEVEVCAyMDA1JnF1b3Q7CTE2MDQxCTk2MDU0NAk1CTExCTE1CTgJMTIzMAk4NQkxMjQ2Ci0yNwlqZGsxLjYuMC1iNDQJJnF1b3Q7VGh1IEp1bCAyMSAwMzowNTo1NCBFRFQgMjAwNSZxdW90OwkxNjA0MQk5NjA1NDcJMAkwCTAJMAkxMjQ2CTEwOAkxMjQ2Ci0yOAlqZGsxLjYuMC1iNDUJJnF1b3Q7VGh1IEp1bCAyOCAwMzoyNjoxMCBFRFQgMjAwNSZxdW90OwkxNjAzNwk5NjA2MDYJMTkJMAkyCTAJMTI0NAkxMDgJMTI2MwotMjkJamRrMS42LjAtYjQ2CSZxdW90O1RodSBBdWcgMDQgMDM6MDI6NDggRURUIDIwMDUmcXVvdDsJMTU5MzYJOTUxMzU1CTEzCTEJMQkzMgkxMjMwCTExMAkxMjQ0Ci0zMAlqZGsxLjYuMC1iNDcJJnF1b3Q7VGh1IEF1ZyAxMSAwMzoxODo1NiBFRFQgMjAwNSZxdW90OwkxNTk2NAk5NTIzODcJMTYzCTgJNwkyMAkxMjE3CTE0MwkxMzg4Ci0zMQlqZGsxLjYuMC1iNDgJJnF1b3Q7VGh1IEF1ZyAxOCAwODoxMDo0MCBFRFQgMjAwNSZxdW90OwkxNTk3MAk5NTM0MjEJMAkwCTAJMAkxMzg4CTE3MAkxMzg4Ci0zMglqZGsxLjYuMC1iNDkJJnF1b3Q7VGh1IEF1ZyAyNSAwMzoyNDozOCBFRFQgMjAwNSZxdW90OwkxNjA0OAk5NTg5NDAJMQkxMQkxCTAJMTM4NwkxNzAJMTM5OQotMzMJamRrMS42LjAtYjUwCSZxdW90O1RodSBTZXAgMDEgMDE6NTI6NDAgRURUIDIwMDUmcXVvdDsJMTYyODcJOTc0OTM3CTE5CTI3CTE2CTcJMTM3NgkxNzEJMTQyMgotMzQJamRrMS42LjAtYjUxCSZxdW90O1RodSBTZXAgMDggMDE6NTU6MzYgRURUIDIwMDUmcXVvdDsJMTYzNjIJOTc5Mzc3CTEJMTUJMwkwCTE0MTkJMTk0CTE0MzUKLTM1CWpkazEuNi4wLWI1MgkmcXVvdDtUaHUgU2VwIDE1IDAyOjA0OjA4IEVEVCAyMDA1JnF1b3Q7CTE2NDc3CTk3OTM5OQkwCTAJMQkxCTE0MzMJMTk3CTE0MzMKLTM2CWpkazEuNi4wLWI1MwkmcXVvdDtUaHUgU2VwIDIyIDAyOjAwOjI4IEVEVCAyMDA1JnF1b3Q7CTE2MDE5CTk1NzkwMAkxMwkxMgkxNgkyMAkxMzk3CTE5OQkxNDIyCi0zNwlqZGsxLjYuMC1iNTQJJnF1b3Q7VGh1IFNlcCAyOSAwMTo1NDozNCBFRFQgMjAwNSZxdW90OwkxNjAxOQk5NTc5MDAJMAkwCTAJMAkxNDIyCTIzNQkxNDIyCi0zOAlqZGsxLjYuMC1iNTUJJnF1b3Q7VGh1IE9jdCAwNiAwMTo1NDoxNCBFRFQgMjAwNSZxdW90OwkxNjA1MQk5NTkwMTQJMQk0CTcJMAkxNDE1CTIzNQkxNDIwCi0zOQlqZGsxLjYuMC1iNTYJJnF1b3Q7VGh1IE9jdCAxMyAwMTo1NDoxMiBFRFQgMjAwNSZxdW90OwkxNjIxMQk5NzA4MzUJNgk4CTM3CTAJMTM4MwkyNDIJMTM5NwotNDAJamRrMS42LjAtYjU3CSZxdW90O1RodSBPY3QgMjAgMDE6NTU6MjYgRURUIDIwMDUmcXVvdDsJMTYyNzkJOTcxNjI3CTAJMAkwCTAJMTM5NwkyNzkJMTM5NwotNDEJamRrMS42LjAtYjU4CSZxdW90O1RodSBPY3QgMjcgMDE6NTY6MzAgRURUIDIwMDUmcXVvdDsJMTYyODMJOTcxOTQ1CTAJMQkxCTAJMTM5NgkyNzkJMTM5NwotNDIJamRrMS42LjAtYjU5CSZxdW90O1RodSBOb3YgMDMgMDE6NTY6NTggRVNUIDIwMDUmcXVvdDsJMTYyMzIJOTcyMTkzCTYJMAk1CTAJMTM5MgkyODAJMTM5OAotNDMJamRrMS42LjAtYjYwCSZxdW90O1RodSBOb3YgMTAgMDE6NTQ6MTggRVNUIDIwMDUmcXVvdDsJMTYyMzUJOTcyMzQ2CTAJMAkwCTAJMTM5OAkyODUJMTM5OAotNDQJamRrMS42LjAtYjYxCSZxdW90O1RodSBOb3YgMTcgMDE6NTg6NDIgRVNUIDIwMDUmcXVvdDsJMTYyMDIJOTcxMTM0CTIJMAk0CTAJMTM5NAkyODUJMTM5NgotPC9zY3JlZW4+Ci08L3NlY3QyPgotCi08c2VjdDIgaWQ9ImluY3JlbWVudGFsaGlzdG9yeSI+Ci0gICAgPHRpdGxlPuWil+WIhuWxpeattOODoeODs+ODhuODiuODs+OCuTwvdGl0bGU+Ci0KLTxwYXJhPuS7ruOBq+OAgSBkYi54bWwg44GM44OT44Or44OJIGIxMiAtIGI2MCDjgavlr77jgZnjgosgZmluZGJ1Z3Mg5a6f6KGM57WQ5p6c44KS5L+d5oyB44GX44Gm44GE44KL5aC05ZCI44CB5qyh44Gr56S644GZ44Kz44Oe44Oz44OJ44KS5a6f6KGM44GZ44KL44GT44Go44Gn44CBIGRiLnhtbCDjgasgYjYxIOOBq+WvvuOBmeOCi+Wun+ihjOe1kOaenOOCkui/veWKoOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmSA6PC9wYXJhPgotPHNjcmVlbj4KLWNvbXB1dGVCdWdIaXN0b3J5IC1vdXRwdXQgZGIueG1sIGRiLnhtbCBqZGsxLjYuMC1iNjEvanJlL2xpYi9ydC54bWwKLTwvc2NyZWVuPgotPC9zZWN0Mj4KLQotICAgICAgICAgICAgPC9zZWN0MT4KLQotICAgICAgICAgPHNlY3QxIGlkPSJhbnRleGFtcGxlIj4KLSAgICAgICAgICAgIDx0aXRsZT5BbnQg44Gu5L6LPC90aXRsZT4KLTxwYXJhPmZpbmRidWdzIOOBruWun+ihjOOBqOOBneOBruW+jOOBruODh+ODvOOCv+ODu+ODnuOCpOODi+ODs+OCsOODhOODvOODq+OBrua0u+eUqOOBruS4oeaWueOCkuWun+ihjOOBl+OBpuOBhOOCiyBhbnQg44K544Kv44Oq44OX44OI44Gu5a6M5YWo44Gq5L6L44KS5Lul5LiL44Gr56S644GX44G+44GZIDo8L3BhcmE+Ci08c2NyZWVuPgotPCFbQ0RBVEFbCi08cHJvamVjdCBuYW1lPSJhbmFseXplX2FzbV91dGlsIiBkZWZhdWx0PSJmaW5kYnVncyI+Ci0gICA8IS0tIGZpbmRidWdzIOOCv+OCueOCr+Wumue+qSAtLT4KLSAgIDxwcm9wZXJ0eSBuYW1lPSJmaW5kYnVncy5ob21lIiB2YWx1ZT0iL1VzZXJzL2Jlbi9Eb2N1bWVudHMvd29ya3NwYWNlL2ZpbmRidWdzL2ZpbmRidWdzIiAvPgotICAgPHByb3BlcnR5IG5hbWU9Imp2bWFyZ3MiIHZhbHVlPSItc2VydmVyIC1Yc3MxbSAtWG14ODAwbSAtRHVzZXIubGFuZ3VhZ2U9ZW4gLUR1c2VyLnJlZ2lvbj1FTiAtRGZpbmRidWdzLmhvbWU9JHtmaW5kYnVncy5ob21lfSIgLz4KLQotICAgIDxwYXRoIGlkPSJmaW5kYnVncy5saWIiPgotICAgICAgPGZpbGVzZXQgZGlyPSIke2ZpbmRidWdzLmhvbWV9L2xpYiI+Ci0gICAgICAgICA8aW5jbHVkZSBuYW1lPSJmaW5kYnVncy1hbnQuamFyIi8+Ci0gICAgICA8L2ZpbGVzZXQ+Ci0gICA8L3BhdGg+Ci0KLSAgIDx0YXNrZGVmIG5hbWU9ImZpbmRidWdzIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5GaW5kQnVnc1Rhc2siPgotICAgICAgPGNsYXNzcGF0aCByZWZpZD0iZmluZGJ1Z3MubGliIiAvPgotICAgPC90YXNrZGVmPgotCi0gICA8dGFza2RlZiBuYW1lPSJjb21wdXRlQnVnSGlzdG9yeSIgY2xhc3NuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmFudHRhc2suQ29tcHV0ZUJ1Z0hpc3RvcnlUYXNrIj4KLSAgICAgIDxjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLz4KLSAgIDwvdGFza2RlZj4KLQotICAgPHRhc2tkZWYgbmFtZT0ic2V0QnVnRGF0YWJhc2VJbmZvIiBjbGFzc25hbWU9ImVkdS51bWQuY3MuZmluZGJ1Z3MuYW50dGFzay5TZXRCdWdEYXRhYmFzZUluZm9UYXNrIj4KLSAgICAgIDxjbGFzc3BhdGggcmVmaWQ9ImZpbmRidWdzLmxpYiIgLz4KLSAgIDwvdGFza2RlZj4KLQotICAgPHRhc2tkZWYgbmFtZT0ibWluZUJ1Z0hpc3RvcnkiIGNsYXNzbmFtZT0iZWR1LnVtZC5jcy5maW5kYnVncy5hbnR0YXNrLk1pbmVCdWdIaXN0b3J5VGFzayI+Ci0gICAgICA8Y2xhc3NwYXRoIHJlZmlkPSJmaW5kYnVncy5saWIiIC8+Ci0gICA8L3Rhc2tkZWY+Ci0KLSAgIDwhLS0gZmluZGJ1Z3Mg44K/44K544Kv5a6a576pIC0tPgotICAgPHRhcmdldCBuYW1lPSJmaW5kYnVncyI+Ci0gICAgICA8YW50Y2FsbCB0YXJnZXQ9ImFuYWx5emUiIC8+Ci0gICAgICA8YW50Y2FsbCB0YXJnZXQ9Im1pbmUiIC8+Ci0gICA8L3RhcmdldD4KLQotICAgPCEtLSDliIbmnpDjgpLooYzjgYbjgr/jgrnjgq8tLT4KLSAgIDx0YXJnZXQgbmFtZT0iYW5hbHl6ZSI+Ci0gICAgICA8IS0tIGFzbS11dGlsIOOBq+WvvuOBl+OBpiBmaW5kYnVncyDjgpLlrp/ooYzjgZnjgosgLS0+Ci0gICAgICA8ZmluZGJ1Z3MgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgICBvdXRwdXQ9InhtbDp3aXRoTWVzc2FnZXMiCi0gICAgICAgICAgICAgICAgdGltZW91dD0iOTAwMDAwMDAiCi0gICAgICAgICAgICAgICAgcmVwb3J0TGV2ZWw9ImV4cGVyaW1lbnRhbCIKLSAgICAgICAgICAgICAgICB3b3JrSGFyZD0idHJ1ZSIKLSAgICAgICAgICAgICAgICBlZmZvcnQ9Im1heCIKLSAgICAgICAgICAgICAgICBhZGp1c3RFeHBlcmltZW50YWw9InRydWUiCi0gICAgICAgICAgICAgICAganZtYXJncz0iJHtqdm1hcmdzfSIKLSAgICAgICAgICAgICAgICBmYWlsT25FcnJvcj0idHJ1ZSIKLSAgICAgICAgICAgICAgICBvdXRwdXRGaWxlPSJvdXQueG1sIgotICAgICAgICAgICAgICAgIHByb2plY3ROYW1lPSJGaW5kYnVncyIKLSAgICAgICAgICAgICAgICBkZWJ1Zz0iZmFsc2UiPgotICAgICAgICAgPGNsYXNzIGxvY2F0aW9uPSJhc20tdXRpbC0zLjAuamFyIiAvPgotICAgICAgPC9maW5kYnVncz4KLSAgIDwvdGFyZ2V0PgotCi0gICA8dGFyZ2V0IG5hbWU9Im1pbmUiPgotCi0gICAgICA8IS0tIOacgOaWsOOBruWIhuaekOe1kOaenOOBq+aDheWgseOCkuioreWumuOBmeOCiyAtLT4KLSAgICAgIDxzZXRCdWdEYXRhYmFzZUluZm8gaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoTWVzc2FnZXM9InRydWUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iYXNtLXV0aWwtMy4wLmphciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dD0ib3V0LnhtbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQ9Im91dC1yZWwueG1sIi8+Ci0KLSAgICAgIDwhLS0g5bGl5q2044OV44Kh44Kk44OrIChvdXQtaGlzdC54bWwpIOOBjOaXouOBq+WtmOWcqOOBmeOCi+OBi+OBqeOBhuOBi+OCkueiuuiqjeOBmeOCiyAtLT4KLSAgICAgIDxjb25kaXRpb24gcHJvcGVydHk9Im1pbmluZy5oaXN0b3J5ZmlsZS5hdmFpbGFibGUiPgotICAgICAgICAgPGF2YWlsYWJsZSBmaWxlPSJvdXQtaGlzdC54bWwiLz4KLSAgICAgIDwvY29uZGl0aW9uPgotICAgICAgPGNvbmRpdGlvbiBwcm9wZXJ0eT0ibWluaW5nLmhpc3RvcnlmaWxlLm5vdGF2YWlsYWJsZSI+Ci0gICAgICAgICA8bm90PgotICAgICAgICAgICAgPGF2YWlsYWJsZSBmaWxlPSJvdXQtaGlzdC54bWwiLz4KLSAgICAgICAgIDwvbm90PgotICAgICAgPC9jb25kaXRpb24+Ci0KLSAgICAgIDwhLS0g44GT44Gu44K/44O844Ky44OD44OI44Gv44CB5bGl5q2044OV44Kh44Kk44Or44GM5a2Y5Zyo44GX44Gq44GE44Go44GNICjliJ3lm54pIOOBoOOBkeWun+ihjOOBleOCjOOBvuOBmSAtLT4KLSAgICAgIDxhbnRjYWxsIHRhcmdldD0iaGlzdG9yeS1pbml0Ij4KLSAgICAgICAgPHBhcmFtIG5hbWU9ImRhdGEuZmlsZSIgdmFsdWU9Im91dC1yZWwueG1sIiAvPgotICAgICAgICA8cGFyYW0gbmFtZT0iaGlzdC5maWxlIiB2YWx1ZT0ib3V0LWhpc3QueG1sIiAvPgotICAgICAgPC9hbnRjYWxsPgotICAgICAgPCEtLSDkuIroqJjku6XlpJbjga7loLTlkIjjgavlrp/ooYzjgZXjgozjgb7jgZkgLS0+Ci0gICAgICA8YW50Y2FsbCB0YXJnZXQ9Imhpc3RvcnkiPgotICAgICAgICA8cGFyYW0gbmFtZT0iZGF0YS5maWxlIiAgICAgICAgIHZhbHVlPSJvdXQtcmVsLnhtbCIgLz4KLSAgICAgICAgPHBhcmFtIG5hbWU9Imhpc3QuZmlsZSIgICAgICAgICB2YWx1ZT0ib3V0LWhpc3QueG1sIiAvPgotICAgICAgICA8cGFyYW0gbmFtZT0iaGlzdC5zdW1tYXJ5LmZpbGUiIHZhbHVlPSJvdXQtaGlzdC50eHQiIC8+Ci0gICAgICA8L2FudGNhbGw+Ci0gICA8L3RhcmdldD4KLQotICAgPCEtLSDlsaXmrbTjg5XjgqHjgqTjg6vjgpLliJ3mnJ/ljJbjgZfjgb7jgZkgLS0+Ci0gICA8dGFyZ2V0IG5hbWU9Imhpc3RvcnktaW5pdCIgaWY9Im1pbmluZy5oaXN0b3J5ZmlsZS5ub3RhdmFpbGFibGUiPgotICAgICAgPGNvcHkgZmlsZT0iJHtkYXRhLmZpbGV9IiB0b2ZpbGU9IiR7aGlzdC5maWxlfSIgLz4KLSAgIDwvdGFyZ2V0PgotCi0gICA8IS0tIOODkOOCsOWxpeattOOCkueul+WHuuOBl+OBvuOBmSAtLT4KLSAgIDx0YXJnZXQgbmFtZT0iaGlzdG9yeSIgaWY9Im1pbmluZy5oaXN0b3J5ZmlsZS5hdmFpbGFibGUiPgotICAgICAgPCEtLSAke2RhdGEuZmlsZX0g44KSICR7aGlzdC5maWxlfSDjgavjg57jg7zjgrjjgZfjgb7jgZkgLS0+Ci0gICAgICA8Y29tcHV0ZUJ1Z0hpc3RvcnkgaG9tZT0iJHtmaW5kYnVncy5ob21lfSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhNZXNzYWdlcz0idHJ1ZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dD0iJHtoaXN0LmZpbGV9Ij4KLSAgICAgICAgICAgIDxkYXRhRmlsZSBuYW1lPSIke2hpc3QuZmlsZX0iLz4KLSAgICAgICAgICAgIDxkYXRhRmlsZSBuYW1lPSIke2RhdGEuZmlsZX0iLz4KLSAgICAgIDwvY29tcHV0ZUJ1Z0hpc3Rvcnk+Ci0KLSAgICAgIDwhLS0g5bGl5q2044KS566X5Ye644GX44GmICR7aGlzdC5zdW1tYXJ5LmZpbGV9IOOBq+WHuuWKm+OBl+OBvuOBmSAtLT4KLSAgICAgIDxtaW5lQnVnSGlzdG9yeSBob21lPSIke2ZpbmRidWdzLmhvbWV9IgotICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0RGF0ZXM9InRydWUiCi0gICAgICAgICAgICAgICAgICAgICAgbm9UYWJzPSJ0cnVlIgotICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ9IiR7aGlzdC5maWxlfSIKLSAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dD0iJHtoaXN0LnN1bW1hcnkuZmlsZX0iLz4KLSAgIDwvdGFyZ2V0PgotCi08L3Byb2plY3Q+Ci1dXT4KLTwvc2NyZWVuPgotICAgICAgICAgPC9zZWN0MT4KLTwvY2hhcHRlcj4KLQotCi08IS0tCi0gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAgTGljZW5zZQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS0tPgotCi08Y2hhcHRlciBpZD0ibGljZW5zZSI+Ci08dGl0bGU+44Op44Kk44K744Oz44K5PC90aXRsZT4KLQotPHBhcmE+5ZCN56ew44CMRmluZEJ1Z3PjgI3jgYrjgojjgbMgRmluZEJ1Z3Mg44Gu44Ot44K044Gv44CB44Oh44Oq44O844Op44Oz44OJ5aSn5a2m44Gu55m76Yyy5ZWG5qiZ44Gn44GZ44CCRmluZEJ1Z3Mg44Gv44OV44Oq44O844K944OV44OI44Km44Kn44Ki44Gn44GC44KK44CBIDx1bGluayB1cmw9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9sZ3BsLmh0bWwiPkxlc3NlciBHTlUgUHVibGljIExpY2Vuc2U8L3VsaW5rPiDjga7mnaHku7bjgafphY3luIPjgZXjgozjgabjgYTjgb7jgZnjgILkvb/nlKjmib/oq77mm7jjgpLlhaXmiYvjgZfjgZ/jgYTloLTlkIjjga/jgIEgJkZpbmRCdWdzOyDphY3luIPnianjgavlkKvjgb7jgozjgosgPGZpbGVuYW1lPkxJQ0VOU0UudHh0PC9maWxlbmFtZT4g44OV44Kh44Kk44Or44KS5Y+C54Wn44GX44Gm44GP44Gg44GV44GE44CCPC9wYXJhPgotCi08cGFyYT7mnIDmlrDjg5Djg7zjgrjjg6fjg7Pjga4gRmluZEJ1Z3Mg44GK44KI44GzIOOBneOBruOCveODvOOCueOCs+ODvOODieOBryA8dWxpbmsgdXJsPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0Ij5GaW5kQnVncyB3ZWIg44Oa44O844K4PC91bGluaz4g44Gn5YWl5omL44Gn44GN44G+44GZ44CCPC9wYXJhPgotCi08L2NoYXB0ZXI+Ci0KLQotPCEtLQotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgIEFja25vd2xlZGdtZW50cwotICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS0tPgotPGNoYXB0ZXIgaWQ9ImFja25vd2xlZGdtZW50cyI+Ci08dGl0bGU+6Kyd6L6ePC90aXRsZT4KLQotPHNlY3QxPgotPHRpdGxlPuiyoueMruiAhTwvdGl0bGU+Ci0KLTxwYXJhPiZGaW5kQnVnczsgd2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBieSBCaWxsIFB1Z2ggKDxlbWFpbD5wdWdoQGNzLnVtZC5lZHU8L2VtYWlsPikuCi1EYXZpZCBIb3ZlbWV5ZXIgKDxlbWFpbD5kYXZlaG9AY3MudW1kLmVkdTwvZW1haWw+KSBpbXBsZW1lbnRlZCBzb21lIG9mIHRoZQotZGV0ZWN0b3JzLCBhZGRlZCB0aGUgU3dpbmcgR1VJLCBhbmQgaXMgYSBjby1tYWludGFpbmVyLjwvcGFyYT4KLQotPHBhcmE+TWlrZSBGYWdhbiAoPGVtYWlsPm1mYWdhbkB0ZGUuY29tPC9lbWFpbD4pIGNvbnRyaWJ1dGVkIHRoZSAmQW50OyBidWlsZCBzY3JpcHQsCi10aGUgJkFudDsgdGFzaywgYW5kIHNldmVyYWwgZW5oYW5jZW1lbnRzIGFuZCBidWcgZml4ZXMgdG8gdGhlIEdVSS48L3BhcmE+Ci0KLTxwYXJhPkdlcm1hbm8gTGVpY2hzZW5yaW5nIGNvbnRyaWJ1dGVkIEphcGFuZXNlIHRyYW5zbGF0aW9ucyBvZiB0aGUgYnVnCi1zdW1tYXJpZXMuPC9wYXJhPgotCi08cGFyYT5EYXZpZCBMaSBjb250cmlidXRlZCB0aGUgRW1hY3MgYnVnIHJlcG9ydCBmb3JtYXQuPC9wYXJhPgotCi08cGFyYT5QZXRlciBELiBTdG91dCBjb250cmlidXRlZCByZWN1cnNpdmUgZGV0ZWN0aW9uIG9mIENsYXNzLVBhdGgKLWF0dHJpYnV0ZXMgaW4gYW5hbHl6ZWQgSmFyIGZpbGVzLCBHZXJtYW4gdHJhbnNsYXRpb25zIG9mCi10ZXh0IHVzZWQgaW4gdGhlIFN3aW5nIEdVSSwgYW5kIG90aGVyIGZpeGVzLjwvcGFyYT4KLQotPHBhcmE+UGV0ZXIgRnJpZXNlIHdyb3RlIHRoZSAmRmluZEJ1Z3M7IEVjbGlwc2UgcGx1Z2luLjwvcGFyYT4KLQotPHBhcmE+Um9oYW4gTGxveWQgY29udHJpYnV0ZWQgc2V2ZXJhbCBNYWMgT1MgWCBlbmhhbmNlbWVudHMsCi1idWcgZGV0ZWN0b3IgaW1wcm92ZW1lbnRzLAotYW5kIG1haW50YWlucyB0aGUgRmluayBwYWNrYWdlIGZvciAmRmluZEJ1Z3M7LjwvcGFyYT4KLQotPHBhcmE+SGlyb3NoaSBPa3VnYXdhIHRyYW5zbGF0ZWQgdGhlICZGaW5kQnVnczsgbWFudWFsIGFuZAotbW9yZSBvZiB0aGUgYnVnIHN1bW1hcmllcyBpbnRvIEphcGFuZXNlLjwvcGFyYT4KLQotPHBhcmE+UGhpbCBDcm9zYnkgZW5oYW5jZWQgdGhlIEVjbGlwc2UgcGx1Z2luIHRvIGFkZCBhIHZpZXcKLXRvIGRpc3BsYXkgdGhlIGJ1ZyBkZXRhaWxzLjwvcGFyYT4KLQotPHBhcmE+RGF2ZSBCcm9zaXVzIGZpeGVkIGEgbnVtYmVyIG9mIGJ1Z3MsIGFkZGVkIHVzZXIgcHJlZmVyZW5jZXMKLXRvIHRoZSBTd2luZyBHVUksIGltcHJvdmVkIHNldmVyYWwgYnVnIGRldGVjdG9ycywgYW5kCi1jb250cmlidXRlZCB0aGUgc3RyaW5nIGNvbmNhdGVuYXRpb24gZGV0ZWN0b3IuPC9wYXJhPgotCi08cGFyYT5UaG9tYXMgS2xhZWdlciBjb250cmlidXRlZCBhIG51bWJlciBvZiBidWcgZml4ZXMgYW5kCi1idWcgZGV0ZWN0b3IgaW1wcm92ZW1lbnRzLjwvcGFyYT4KLQotPHBhcmE+QW5kcmVpIExvc2t1dG92IG1hZGUgYSBudW1iZXIgb2YgaW1wcm92ZW1lbnRzIHRvIHRoZQotRWNsaXBzZSBwbHVnaW4uPC9wYXJhPgotCi08cGFyYT5CcmlhbiBHb2V0eiBjb250cmlidXRlZCBhIG1ham9yIHJlZmFjdG9yaW5nIG9mIHRoZQotdmlzaXRvciBjbGFzc2VzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIHVuZGVyc3RhbmRhYmlsaXR5LjwvcGFyYT4KLQotPHBhcmE+IFBldGUgQW5nc3RhZHQgZml4ZWQgc2V2ZXJhbCBwcm9ibGVtcyBpbiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+RnJhbmNpcyBMYWxvbmRlIHByb3ZpZGVkIGEgdGFzayByZXNvdXJjZSBmaWxlIGZvciB0aGUKLUZpbmRCdWdzIEFudCB0YXNrLjwvcGFyYT4KLQotPHBhcmE+R2FydmluIExlQ2xhaXJlIGNvbnRyaWJ1dGVkIHN1cHBvcnQgZm9yIG91dHB1dCBpbgotWGRvY3MgZm9ybWF0LCBmb3IgdXNlIGJ5IE1hdmVuLjwvcGFyYT4KLQotPHBhcmE+SG9sZ2VyIFN0ZW56aG9ybiBjb250cmlidXRlZCBpbXByb3ZlZCBHZXJtYW4gdHJhbnNsYXRpb25zIG9mIGl0ZW1zCi1pbiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+SnVoYSBLbnV1dGlsYSBjb250cmlidXRlZCBGaW5uaXNoIHRyYW5zbGF0aW9ucyBvZiBpdGVtcwotaW4gdGhlIFN3aW5nIEdVSS48L3BhcmE+Ci0KLTxwYXJhPlRhbmVsIExlYmVkZXYgY29udHJpYnV0ZWQgRXN0b25pYW4gdHJhbnNsYXRpb25zIG9mIGl0ZW1zCi1pbiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+SGFuYWkgU2hpc2VpIChydWltbykgY29udHJpYnV0ZWQgZnVsbCBKYXBhbmVzZSB0cmFuc2xhdGlvbnMgb2YKLWJ1ZyBtZXNzYWdlcywgYW5kIHRleHQgdXNlZCBpbiB0aGUgU3dpbmcgR1VJLjwvcGFyYT4KLQotPHBhcmE+RGF2aWQgQ290dG9uIGNvbnRyaWJ1dGVkIEZyZXNoIHRyYW5zbGF0aW9ucyBmb3IgYnVnCi1tZXNzYWdlcyBhbmQgZm9yIHRoZSBTd2luZyBHVUkuPC9wYXJhPgotCi08cGFyYT5NaWNoYWVsIFRhbW0gY29udHJpYnV0ZWQgc3VwcG9ydCBmb3IgdGhlICZxdW90O2Vycm9yUHJvcGVydHkmcXVvdDsgYXR0cmlidXRlCi1pbiB0aGUgQW50IHRhc2suPC9wYXJhPgotCi08cGFyYT5UaG9tYXMgS3VlaG5lIGltcHJvdmVkIHRoZSBHZXJtYW4gdHJhbnNsYXRpb24gb2YgdGhlIFN3aW5nIEdVSS48L3BhcmE+Ci0KLTxwYXJhPkxlbiBUcmlnZyBpbXByb3ZlZCBzb3VyY2UgZmlsZSBzdXBwb3J0IGZvciB0aGUgRW1hY3Mgb3V0cHV0IG1vZGUuPC9wYXJhPgotCi08cGFyYT5HcmVnIEJlbnR6IHByb3ZpZGVkIGEgZml4IGZvciB0aGUgaGFzaGNvZGUvZXF1YWxzIGRldGVjdG9yLjwvcGFyYT4KLQotPHBhcmE+Sy4gSGFzaGltb3RvIGNvbnRyaWJ1dGVkIGludGVybmF0aW9uYWxpemF0aW9uIGZpeGVzIGFuZCBzZXZlcmFsIG90aGVyCi0gICAgYnVnIGZpeGVzLjwvcGFyYT4KLQotPHBhcmE+Ci0gICAgR2xlbm4gQm95c2tvIGNvbnRyaWJ1dGVkIHN1cHBvcnQgZm9yIGlnbm9yaW5nIHNwZWNpZmllZCBsb2NhbAotICAgIHZhcmlhYmxlcyBpbiB0aGUgZGVhZCBsb2NhbCBzdG9yZSBkZXRlY3Rvci4KLTwvcGFyYT4KLQotPHBhcmE+Ci0gICAgSmF5IER1bm5pbmcgY29udHJpYnV0ZWQgYSBkZXRlY3RvciB0byBmaW5kIGVxdWFsaXR5IGNvbXBhcmlzb25zCi0gICAgb2YgZmxvYXRpbmctcG9pbnQgdmFsdWVzLCBhbmQgb3ZlcmhhdWxlZCB0aGUgYW5hbHlzaXMgc3VtbWFyeQotICAgIHJlcG9ydCBhbmQgaXRzIHJlcHJlc2VudGF0aW9uIGluIHRoZSBzYXZlZCBYTUwgZm9ybWF0LgotPC9wYXJhPgotCi08cGFyYT4KLSAgICBPbGl2aWVyIFBhcmVudCBjb250cmlidXRlZCB1cGRhdGVkIEZyZW5jaCB0cmFuc2xhdGlvbnMgZm9yIGJ1ZyBkZXNjcmlwdGlvbnMgYW5kCi0gICAgU3dpbmcgR1VJLgotPC9wYXJhPgotCi08cGFyYT4KLSAgICBDaHJpcyBOYXBwaW4gY29udHJpYnV0ZWQgdGhlIDxmaWxlbmFtZT5wbGFpbi54c2w8L2ZpbGVuYW1lPgotICAgIHN0eWxlc2hlZXQuCi08L3BhcmE+Ci0KLTxwYXJhPgotICAgIEV0aWVubmUgR2lyYXVkeSBjb250cmlidXRlZCB0aGUgPGZpbGVuYW1lPmZhbmN5LnhzbDwvZmlsZW5hbWU+IGFuZCAgPGZpbGVuYW1lPmZhbmN5LWhpc3QueHNsPC9maWxlbmFtZT4KLSAgICBzdHlsZXNoZWV0cywgYW5kIG1hZGUgaW1wcm92ZW1lbnRzIHRvIHRoZSA8Y29tbWFuZD4teG1sOndpdGhNZXNzYWdlczwvY29tbWFuZD4KLSAgICBvcHRpb24uCi08L3BhcmE+Ci0KLTxwYXJhPgotICAgIFRha2FzaGkgT2thbW90byBmaXhlZCBidWdzIGluIHRoZSBwcm9qZWN0IHByZWZlcmVuY2VzIGRpYWxvZwotICAgIGluIHRoZSBFY2xpcHNlIHBsdWdpbiwgYW5kIGNvbnRyaWJ1dGVkIHRvIGl0cyBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgbG9jYWxpemF0aW9uLgotPC9wYXJhPgotCi08cGFyYT5UaG9tYXMgRWlud2FsbGVyIGZpeGVkIGJ1Z3MgaW4gdGhlIHByb2plY3QgcHJlZmVyZW5jZXMgZGlhbG9nIGluIHRoZSBFY2xpcHNlIHBsdWdpbi48L3BhcmE+Ci0KLTxwYXJhPkplZmYgS25veCBjb250cmlidXRlZCBzdXBwb3J0IGZvciB0aGUgd2FybmluZ3NQcm9wZXJ0eSBhdHRyaWJ1dGUKLWluIHRoZSBBbnQgdGFzay48L3BhcmE+Ci0KLTxwYXJhPlBldGVyIEhlbmRyaWtzIGV4dGVuZGVkIHRoZSBFY2xpcHNlIHBsdWdpbiBwcmVmZXJlbmNlcywKLWFuZCBmaXhlZCBhIGJ1ZyByZWxhdGVkIHRvIHJlbmFtaW5nIHRoZSBFY2xpcHNlIHBsdWdpbiBJRC48L3BhcmE+Ci0KLTxwYXJhPk1hcmsgTWNLYXkgY29udHJpYnV0ZWQgYW4gQW50IHRhc2sgdG8gbGF1bmNoIHRoZSBmaW5kYnVncyBmcmFtZS48L3BhcmE+Ci0KLTxwYXJhPkRpZXRlciB2b24gSG9sdGVuIChkdmhvbHRlbikgY29udHJpYnV0ZWQKLXNvbWUgR2VybWFuIGltcHJvdmVtZW50cyB0byBmaW5kYnVnc19kZS5wcm9wZXJ0aWVzLjwvcGFyYT4KLQotCi08cGFyYT5JZiB5b3UgaGF2ZSBjb250cmlidXRlZCB0byAmRmluZEJ1Z3M7LCBidXQgYXJlbid0IG1lbnRpb25lZCBhYm92ZSwKLXBsZWFzZSBzZW5kIGVtYWlsIHRvIDxlbWFpbD5maW5kYnVnc0Bjcy51bWQuZWR1PC9lbWFpbD4gKGFuZCBhbHNvIGFjY2VwdAotb3VyIGh1bWJsZSBhcG9sb2dpZXMpLjwvcGFyYT4KLQotPC9zZWN0MT4KLQotPHNlY3QxPgotPHRpdGxlPuS9v+eUqOOBl+OBpuOBhOOCi+OCveODleODiOOCpuOCp+OCojwvdGl0bGU+Ci0KLTxwYXJhPiZGaW5kQnVnczsg44Gv44CB44GE44GP44Gk44GL44Gu44Kq44O844OX44Oz44K944O844K544K944OV44OI44Km44Kn44Ki44OR44OD44Kx44O844K444KS5L2/55So44GX44Gm44GE44G+44GZ44CC44GT44KM44KJ44GM44Gq44GR44KM44Gw44CBICZGaW5kQnVnczsg44Gu6ZaL55m644Gv44CB44KI44KK5LiA5bGk5Zuw6Zuj44Gq44KC44Gu44Gr44Gq44Gj44Gf44GT44Go44Gn44GX44KH44GG44CCPC9wYXJhPgotCi08c2VjdDI+Ci08dGl0bGU+QkNFTDwvdGl0bGU+Ci08cGFyYT4mRmluZEJ1Z3M7IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24KLSg8dWxpbmsgdXJsPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvPC91bGluaz4pLgotU3BlY2lmaWNhbGx5LCBpdCB1c2VzIHRoZSA8dWxpbmsgdXJsPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnL2JjZWwvIj5CeXRlIENvZGUKLUVuZ2luZWVyaW5nIExpYnJhcnk8L3VsaW5rPi48L3BhcmE+Ci08L3NlY3QyPgotCi08c2VjdDI+Ci08dGl0bGU+QVNNPC90aXRsZT4KLTxwYXJhPiZGaW5kQnVnczsgdXNlcyB0aGUgPHVsaW5rIHVybD0iaHR0cDovL2FzbS5vYmplY3R3ZWIub3JnLyI+QVNNPC91bGluaz4KLWJ5dGVjb2RlIGZyYW1ld29yaywgd2hpY2ggaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBsaWNlbnNlOjwvcGFyYT4KLQotPGJsb2NrcXVvdGU+Ci08cGFyYT4KLUNvcHlyaWdodCAoYykgMjAwMC0yMDA1IElOUklBLCBGcmFuY2UgVGVsZWNvbQotQWxsIHJpZ2h0cyByZXNlcnZlZC4KLTwvcGFyYT4KLQotPHBhcmE+Ci1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotYXJlIG1ldDoKLTwvcGFyYT4KLQotPG9yZGVyZWRsaXN0IG51bWVyYXRpb249ImFyYWJpYyI+Ci0gICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgIDxsaXN0aXRlbT48cGFyYT4KLSAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgIDxsaXN0aXRlbT48cGFyYT4KLSAgIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXJzIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci08L29yZGVyZWRsaXN0PgotCi08cGFyYT4KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgJnF1b3Q7QVMgSVMmcXVvdDsKLUFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLUlNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi1BUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUKLUxJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLUNPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi1TVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLUlOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi1DT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotPC9wYXJhPgotPC9ibG9ja3F1b3RlPgotPC9zZWN0Mj4KLQotPHNlY3QyPgotPHRpdGxlPkRPTTRKPC90aXRsZT4KLTxwYXJhPiZGaW5kQnVnczsgdXNlcyA8dWxpbmsgdXJsPSJodHRwOi8vZG9tNGoub3JnIj5ET000SjwvdWxpbms+LCB3aGljaCBpcwotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBsaWNlbnNlOjwvcGFyYT4KLQotPGJsb2NrcXVvdGU+Ci08cGFyYT4KLUNvcHlyaWdodCAyMDAxIChDKSBNZXRhU3R1ZmYsIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLTwvcGFyYT4KLQotPHBhcmE+Ci1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbgotKCZxdW90O1NvZnR3YXJlJnF1b3Q7KSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0Ci10aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLTwvcGFyYT4KLQotPG9yZGVyZWRsaXN0IG51bWVyYXRpb249ImFyYWJpYyI+Ci0gICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gY29weXJpZ2h0IHN0YXRlbWVudHMgYW5kCi0gICBub3RpY2VzLiBSZWRpc3RyaWJ1dGlvbnMgbXVzdCBhbHNvIGNvbnRhaW4gYSBjb3B5IG9mIHRoaXMgZG9jdW1lbnQuCi0gIDwvcGFyYT48L2xpc3RpdGVtPgotICAgPGxpc3RpdGVtPjxwYXJhPgotICAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gIDwvcGFyYT48L2xpc3RpdGVtPgotICAgPGxpc3RpdGVtPjxwYXJhPgotICAgVGhlIG5hbWUgJnF1b3Q7RE9NNEomcXVvdDsgbXVzdCBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKLSAgIGRlcml2ZWQgZnJvbSB0aGlzIFNvZnR3YXJlIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uCi0gICBvZiBNZXRhU3R1ZmYsIEx0ZC4gRm9yIHdyaXR0ZW4gcGVybWlzc2lvbiwgcGxlYXNlIGNvbnRhY3QKLSAgIDxlbWFpbD5kb200ai1pbmZvQG1ldGFzdHVmZi5jb208L2VtYWlsPi4KLSAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICBQcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBTb2Z0d2FyZSBtYXkgbm90IGJlIGNhbGxlZCAmcXVvdDtET000SiZxdW90OyBub3IgbWF5Ci0gICAmcXVvdDtET000SiZxdW90OyBhcHBlYXIgaW4gdGhlaXIgbmFtZXMgd2l0aG91dCBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24gb2YKLSAgIE1ldGFTdHVmZiwgTHRkLiBET000SiBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrIG9mIE1ldGFTdHVmZiwgTHRkLgotICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgIDxsaXN0aXRlbT48cGFyYT4KLSAgIER1ZSBjcmVkaXQgc2hvdWxkIGJlIGdpdmVuIHRvIHRoZSBET000SiBQcm9qZWN0ICg8dWxpbmsgdXJsPSJodHRwOi8vZG9tNGoub3JnLyI+aHR0cDovL2RvbTRqLm9yZy88L3VsaW5rPikuCi0gIDwvcGFyYT48L2xpc3RpdGVtPgotPC9vcmRlcmVkbGlzdD4KLQotPHBhcmE+Ci1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIE1FVEFTVFVGRiwgTFRELiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLVRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLVBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIE1FVEFTVFVGRiwgTFRELiBPUiBJVFMKLUNPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi1QUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCi1MSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORwotTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi1TT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLTwvcGFyYT4KLTwvYmxvY2txdW90ZT4KLQotPC9zZWN0Mj4KLQotPC9zZWN0MT4KLQotPC9jaGFwdGVyPgotCi0KLTwvYm9vaz4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9wZXJmb3JtYW5jZS5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL3BlcmZvcm1hbmNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyNzE4ZjAuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3BlcmZvcm1hbmNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5GaW5kQnVncyBQZXJmb3JtYW5jZSBJbXByb3ZlbWVudHMgYW5kIFJlZ3Jlc3Npb25zPC90aXRsZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImZpbmRidWdzLmNzcyI+Ci0KLTwvaGVhZD4KLTxib2R5PgotCi0gICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KLSAgICAgICAgPHRyPgotCi0gICAgICAgICAgICAKLTx0ZCBiZ2NvbG9yPSIjYjliOWZlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIHdpZHRoPSIyMCUiPiAKLTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+IAotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVtZEZpbmRidWdzLnBuZyIgYWx0PSJGaW5kQnVncyI+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRvY3MgYW5kIEluZm88L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmaW5kYnVnczIuaHRtbCI+RmluZEJ1Z3MgMi4wPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRlbW8uaHRtbCI+RGVtbyBhbmQgZGF0YTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ1c2Vycy5odG1sIj5Vc2VycyBhbmQgc3VwcG9ydGVyczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuYmxvZ3Nwb3QuY29tLyI+RmluZEJ1Z3MgYmxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmYWN0U2hlZXQuaHRtbCI+RmFjdCBzaGVldDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYW51YWwvaW5kZXguaHRtbCI+TWFudWFsPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImphL21hbnVhbC9pbmRleC5odG1sIj5NYW51YWwoamEvJiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7KTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5CdWcgZGVzY3JpcHRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWxpbmdMaXN0cy5odG1sIj5NYWlsaW5nIGxpc3RzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InB1YmxpY2F0aW9ucy5odG1sIj5Eb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJsaW5rcy5odG1sIj5MaW5rczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRvd25sb2Fkcy5odG1sIj48Yj5Eb3dubG9hZHM8L2I+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vd3d3LmNhZmVzaG9wcy5jb20vZmluZGJ1Z3MiPjxiPkZpbmRCdWdzIFN3YWc8L2I+PC9hPjwvdGQ+PC90cj4KLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RGV2ZWxvcG1lbnQ8L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTk2NDA1Ij5PcGVuIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5SZXBvcnRpbmcgYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJjb250cmlidXRpbmcuaHRtbCI+Q29udHJpYnV0aW5nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InRlYW0uaHRtbCI+RGV2IHRlYW08L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiPkFQSTwvYT4gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPltubyBmcmFtZXNdPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzIj5TRiBwcm9qZWN0IHBhZ2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvIj5Ccm93c2Ugc291cmNlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvbGlzdCI+TGF0ZXN0IGNvZGUgY2hhbmdlczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTwvdGFibGU+IAotPC90ZD4KLQotICAgICAgICAgICAgPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Ci0KLSAgICAgICAgICAgICAgICA8aDE+RmluZEJ1Z3MgUGVyZm9ybWFuY2UgSW1wcm92ZW1lbnRzIGFuZCBSZWdyZXNzaW9uczwvaDE+IEkgZGlkIGEgcGVyZm9ybWFuY2UgY2hlY2sgYWdhaW5zdCAxNzkKLSAgICAgICAgICAgICAgICBiZW5jaG1hcmtzIGFwcGxpY2F0aW9ucyBJIHJlZ3VsYXJseSB0ZXN0IGFnYWluc3QuIE92ZXJhbGwgKHRvdGFsIHRoZSB0b3RhbCB0aW1lIHRvIGFuYWx5emUgYWxsIDE3OQotICAgICAgICAgICAgICAgIGJlbmNobWFya3MpLCBGaW5kQnVncyAyLjAgZ2l2ZXMgYSA5JSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBvdmVyIDEuMy45LiAxNTQgb2YgdGhlIDE3OSBiZW5jaG1hcmtzIHNhdwotICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50czsgMjQgc2F3IHJlZ3Jlc3Npb25zLiBBbGwgb2YgdGhlIGJlbmNobWFya3MgdGhhdCBzYXcgcmVncmVzc2lvbnMgb2YgbW9yZSB0aGFuCi0gICAgICAgICAgICAgICAgMTAlIHdlcmUgc21hbGwgYmVuY2htYXJrcyAoYW5hbHl6ZWQgaW4gbGVzcyB0aGFuIDYwIHNlY29uZHMpLCB3aGljaCBtYWtlcyBjb25zaXN0ZW50IGJlbmNobWFya2luZwotICAgICAgICAgICAgICAgIHBhcnRpY3VsYXJseSBkaWZmaWN1bHQuIEknbSB3b3JraW5nIHRvIHJlcGVhdCB0aGUgYmVuY2htYXJrcywgc2VlIGlmIHRoZSByZXN1bHRzIGFyZSBjb25zaXN0ZW50LiBJIHRvb2sKLSAgICAgICAgICAgICAgICBhIGxvb2ssIGFuZCBjb3VsZG4ndCBmaW5kIGFueXRoaW5nIHRoYXQgc3Rvb2Qgb3V0IGFzIGJlaW5nIGEgcGVyZm9ybWFuY2UgZ2xpdGNoIGluIEZpbmRCdWdzLiBJIGhhdmVuJ3QKLSAgICAgICAgICAgICAgICB5ZXQgZG9uZSBiZW5jaG1hcmtpbmcgd2l0aCBjb25zdHJhaW5lZCBtZW1vcnkuIEl0IGlzIHBvc3NpYmxlIHRoYXQgeW91IG1heSBuZWVkIHRvIGluY3JlYXNlIHRoZSBoZWFwCi0gICAgICAgICAgICAgICAgc2l6ZSBmb3IgRmluZEJ1Z3MgMi4wLgotCi0gICAgICAgICAgICAgICAgPGgyPkltcG9ydGFudCBSZXF1ZXN0PC9oMj4KLSAgICAgICAgICAgICAgICA8cD4gSWYgeW91IGFyZSBzZWVpbmcgYW55IHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb25zIGluIEZpbmRCdWdzIDIuMCwKLSAgICAgICAgICAgICAgICBJIHZlcnkgbXVjaCBuZWVkIHlvdXIgaGVscC4gUGxlYXNlIGVpdGhlciBlbWFpbCA8YSBocmVmPSJtYWlsdG86ZmluZGJ1Z3NAY3MudW1kLmVkdSI+ZmluZGJ1Z3NAY3MudW1kLmVkdTwvYT4KLSAgICAgICAgICAgICAgICBvciBmaWxlIDxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/YXRpZD02MTQ2OTMmYW1wO2dyb3VwX2lkPTk2NDA1JmFtcDtmdW5jPWJyb3dzZSI+YQotICAgICAgICAgICAgICAgICAgICBidWcgcmVwb3J0PC9hPi4mbmJzcDt3aXRoIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gZnJvbSB0aGUgeG1sIGZpbGUgZm9yIHlvdXIgcHJvamVjdCAoZnJvbSBib3RoIHRoZQotICAgICAgICAgICAgICAgIDEuMy45IGFuZCAyLjAuMCB2ZXJzaW9uIGlmIHBvc3NpYmxlKS4gU2VuZGluZyBtZSB5b3VyIGNvZGUgb3IgcG9pbnRpbmcgbWUgdG8gYSBvcGVuIHNvdXJjZSByZXBvc2l0b3J5Ci0gICAgICAgICAgICAgICAgd291bGQgYmUgZ3JlYXQsIGJ1dCBJIGtub3cgdGhhdCBpc24ndCBmZWFzaWJsZSBmb3IgYSBsb3Qgb2YgcHJvamVjdHMuIFRoZSBpbmZvcm1hdGlvbiBJJ20gcmVxdWVzdGluZwotICAgICAgICAgICAgICAgIGRvZXNuJ3QgaW5jbHVkZSBhbnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvZGUgYmVpbmcgYW5hbHl6ZWQgb3RoZXIgdGhhbiB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgY29kZQotICAgICAgICAgICAgICAgIGJlaW5nIGFuYWx5emVkIGFuZCB0aGUgdG90YWwgbnVtYmVyIG9mIGlzc3VlcyBmb3VuZCBhdCB0aGUgZGlmZmVyZW50IGNvbmZpZGVuY2UgbGV2ZWxzLiBUaGUKLSAgICAgICAgICAgICAgICAmbHQ7RmluZEJ1Z3NTdW1tYXJ5IC4uLiAmZ3Q7IHN0YXJ0IHRhZy4gRm9yIGV4YW1wbGU6IDxxdW90ZT4gPHByZT4KLSAgICZsdDtGaW5kQnVnc1N1bW1hcnkgdGltZXN0YW1wPSJUdWUsIDMwIERlYyAyMDA4IDIxOjI5OjUyIC0wNTAwIiAKLSAgICAgIHRvdGFsX2NsYXNzZXM9IjIwNiIgcmVmZXJlbmNlZF9jbGFzc2VzPSIzMjUiIHRvdGFsX2J1Z3M9IjcyIiB0b3RhbF9zaXplPSI3NjU0IiBudW1fcGFja2FnZXM9IjIxIiAKLSAgICAgIHZtX3ZlcnNpb249IjIwLjQtYjAyLTQwMiIgY3B1X3NlY29uZHM9IjYyLjUyIiBjbG9ja19zZWNvbmRzPSIyMi4wMSIgCi0gICAgICBwZWFrX21ieXRlcz0iMTEyLjIxIiBhbGxvY19tYnl0ZXM9IjE2ODMuMzgiIGdjX3NlY29uZHM9IjEuMTkiIAotICAgICAgcHJpb3JpdHlfMz0iNTYiIHByaW9yaXR5XzI9IjE0IiBwcmlvcml0eV8xPSIyIiZndDsKLTwvcHJlPiA8L3F1b3RlPiBUaGUgJmx0O0ZpbmRCdWdzUHJvZmlsZSZndDsuLi4mbHQ7L0ZpbmRCdWdzUHJvZmlsZSZndDsgZWxlbWVudC4gRm9yIGV4YW1wbGU6IDxxdW90ZT4KLSAgICAgICAgICAgICAgICA8cHJlPgotICAgJmx0O0ZpbmRCdWdzUHJvZmlsZSZndDsKLSAgICAgICZsdDtDbGFzc1Byb2ZpbGUgbmFtZT0iZWR1LnVtZC5jcy5maW5kYnVncy5kZXRlY3QuSW5jb21wYXRNYXNrIiB0b3RhbE1pbGxpc2Vjb25kcz0iMTEiIAotICAgICAgICBpbnZvY2F0aW9ucz0iMjA2IiBhdmdNaWNyb3NlY29uZHNQZXJJbnZvY2F0aW9uPSI1NSIgbWF4TWljcm9zZWNvbmRzUGVySW52b2NhdGlvbj0iNDc1IiAKLSAgICAgICAgc3RhbmRhcmREZXZpYXRpb25NaXJjb3NlY29uZHNQZXJJbnZvY2F0aW9uPSI3NSIvJmd0OwotICAgICAgJmx0O0NsYXNzUHJvZmlsZSBuYW1lPSJlZHUudW1kLmNzLmZpbmRidWdzLmRldGVjdC5GaW5kRmluYWxpemVJbnZvY2F0aW9ucyIgdG90YWxNaWxsaXNlY29uZHM9IjExIiAKLSAgICAgICAgaW52b2NhdGlvbnM9IjIwNiIgYXZnTWljcm9zZWNvbmRzUGVySW52b2NhdGlvbj0iNTUiIG1heE1pY3Jvc2Vjb25kc1Blckludm9jYXRpb249IjQwMiIgCi0gICAgICAgIHN0YW5kYXJkRGV2aWF0aW9uTWlyY29zZWNvbmRzUGVySW52b2NhdGlvbj0iNjkiLyZndDsKLSAgICAgICZsdDtDbGFzc1Byb2ZpbGUgbmFtZT0iZWR1LnVtZC5jcy5maW5kYnVncy5jbGFzc2ZpbGUuZW5naW5lLmJjZWwuTG9ja0RhdGFmbG93RmFjdG9yeSIgdG90YWxNaWxsaXNlY29uZHM9IjExIiAKLSAgICAgICAgaW52b2NhdGlvbnM9IjIzIiBhdmdNaWNyb3NlY29uZHNQZXJJbnZvY2F0aW9uPSI1MTUiIG1heE1pY3Jvc2Vjb25kc1Blckludm9jYXRpb249IjI2MzciIAotICAgICAgICBzdGFuZGFyZERldmlhdGlvbk1pcmNvc2Vjb25kc1Blckludm9jYXRpb249IjYzOSIvJmd0OwotICAgLi4uCi0gJmx0Oy9GaW5kQnVnc1Byb2ZpbGUmZ3Q7Ci08L3ByZT4gPC9xdW90ZT4gCi08aHI+IDxwPiAKLTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+IAotPCEtLS0vL2hpZGUgc2NyaXB0IGZyb20gb2xkIGJyb3dzZXJzIAotZG9jdW1lbnQud3JpdGUoICJMYXN0IHVwZGF0ZWQgIisgZG9jdW1lbnQubGFzdE1vZGlmaWVkICsgIi4iICk7IAotLy9lbmQgaGlkaW5nIGNvbnRlbnRzIC0tLT4gCi08L3NjcmlwdD4gCi08cD4gU2VuZCBjb21tZW50cyB0byA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+IAotPHA+IAotPEEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldCI+PElNRyBzcmM9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvc2Zsb2dvLnBocD9ncm91cF9pZD05NjQwNSZhbXA7dHlwZT01IiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjYyIiBib3JkZXI9IjAiIGFsdD0iU291cmNlRm9yZ2UubmV0IExvZ28iIC8+PC9BPgotCi0gICAgICAgICAgICA8L3RkPgotCi0gICAgICAgIDwvdHI+Ci0gICAgPC90YWJsZT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3BlcmZvcm1pbmdBUmVsZWFzZS50eHQgYi90b29scy9maW5kYnVncy9kb2MvcGVyZm9ybWluZ0FSZWxlYXNlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NlMzUwZS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvcGVyZm9ybWluZ0FSZWxlYXNlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUNyZWF0ZSBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIGV4YWN0bHkgYWxsIHRoZSBmaWxlcyB0byB1cGxvYWQuIEZvciBleGFtcGxlOgotICBlY2xpcHNlUGx1Z2luLTEuMy42LjIwMDgxMTA0LXNvdXJjZS56aXAgICAgICAgICAgICAgICAgZmluZGJ1Z3MtMS4zLjYtcmMzLXNvdXJjZS56aXAgIGZpbmRidWdzLTEuMy42LXJjMy56aXAKLSAgZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW4uZWNsaXBzZV8xLjMuNi4yMDA4MTEwNC56aXAgIGZpbmRidWdzLTEuMy42LXJjMy50YXIuZ3oKLQotY2QgdG8gdGhhdCBkaXJlY3RvcnkKLXNmdHAgdXNlcm5hbWUsZmluZGJ1Z3NAZnJzLnNvdXJjZWZvcmdlLm5ldAotc2Z0cD4gY2QgL2hvbWUvZnJzL3Byb2plY3QvZi9maS9maW5kYnVncy9maW5kYnVncy9SRUxFQVNFCi1zZnRwPiBtcHV0IGZpbmRidWdzLSoKLXNmdHA+IGNkICIuLi8uLi9maW5kYnVncyBlY2xpcHNlIHBsdWdpbi9SRUxFQVNFCi1mc3RwPiBtcHV0IGVkdS4qIGVjbGlwc2VQbHVnaW4qCi1mc3RwPiBxdWl0Ci0KLUFkZCByZWxlYXNlcyB2aWE6Ci0JaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9hZG1pbi9lZGl0cGFja2FnZXMucGhwP2dyb3VwX2lkPTk2NDA1CQotCi0KLXJlbGVhc2UgZGFpbHkvY2FuZGlkYXRlL2ZpbmFsIGVjbGlwc2UgcGx1Z2lucwotCi1Gcm9tIGZpbmRidWdzIGRpcmVjdG9yeSwgZG86Ci0JcnN5bmMgLWF2eiB3ZWIvIHVzZXJuYW1lLGZpbmRidWdzQHdlYi5zb3VyY2Vmb3JnZS5uZXQ6aHRkb2NzLwotCi1Gb3IgYSBmdWxsIHJlbGVhc2UsIG1ha2UgYSBicmFuY2ggaW4gdGhlIHN2biByZXBvc2l0b3J5OgotCi0KLXN2biBjb3B5ICJodHRwczovL2ZpbmRidWdzLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuayIgImh0dHBzOi8vZmluZGJ1Z3MuZ29vZ2xlY29kZS5jb20vc3ZuL2JyYW5jaGVzLzEuWC5YIiAKLQotRm9yIGEgcmVsZWFzZSBjYW5kaWRhdGUsIHNlbmQgZW1haWwgdG8gZmluZGJ1Z3MtZGlzY3VzcyBhbmQgZmluZGJ1Z3MtY29yZS4gRm9yIGEgZnVsbCByZWxlYXNlLCBzZW5kIGVtYWlsIHRvIGZpbmRidWdzLWFubm91bmNlLgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3BsdWdpblN0cnVjdHVyZS50eHQgYi90b29scy9maW5kYnVncy9kb2MvcGx1Z2luU3RydWN0dXJlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjYxZTk4My4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvcGx1Z2luU3RydWN0dXJlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLQotV2UgaGF2ZSBhIGxpc3Qgb2YgcGx1Z2lucy4KLQotSW4gYW55IHBhcnRpY3VsYXIgY29udGV4dCwgc29tZSBwbHVnaW5zIGFyZSBlbmFibGVkLgotCi1EZXRlY3RvckZhY3RvcnlDb2xsZWN0aW9uOgotCUNvcmUgcGx1Z2luCi0JQ29sbGVjdGlvbiBvZiBwbHVnaW5zCi0JQ29sbGVjdGlvbiBvZiBEZXRlY3RvckZhY3RvcmllcwotCUFkanVzdG1lbnQgcmFua2VyCi0KLUkxOE4KLQlSZXNvdXJjZUJ1bmRsZXMKLQlidWdQYXR0ZXJuTWFwCi0JYnVnQ29kZU1hcAotCWNhdGVnb3J5RGVzY3JpcHRpb25NYXAKLQotUGx1Z2luCi0JY29sbGVjdGlvbiBvZiBEZXRlY3RvckZhY3RvcnkKLQlidWcgcGF0dGVybnMsIGNvZGVzLCBldGMuIAotCWNvbXBvbmVudCBwbHVnaW5zCi0JYnVnIHJhbmtlcgotCWVuYWJsZWQKLQlwbHVnaW4gbG9hZGVyCi0KLUNsb3VkRmFjdG9yeQotCXJlZ2lzdGVyZWRDbG91ZHMKLQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3BsdWdpbnMudHh0IGIvdG9vbHMvZmluZGJ1Z3MvZG9jL3BsdWdpbnMudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzA3YjE0Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9wbHVnaW5zLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotCi1QbHVnaW5zIGNhbiBiZSBzcGVjaWZpZWQgaW4gdGhyZWUgZGlmZmVyZW50IHdheXM6Ci0qIEZvciBhIHN0YW5kYXJkIEZpbmRCdWdkIGRpc3RybywgdGhleSBjYW4gYmUgcHV0IGludG8gdGhlIHBsdWdpbnMgZGlyZWN0b3J5Ci0qIEZvciBhIEpBV1MgZGlzdHJvLCB0aGUgZmlsZSBwbHVnaW5saXN0LnByb3BlcnRpZXMgY29udGFpbnMKLSAgYSBsaXN0IG9mIFVSTHMgdG8gcGx1Z2lucy4gVGhlc2UgVVJMcyBjYW4gYmUgcmVsYXRpdmUgb3IgYWJzb2x1dGUuIElmIHRoZXkKLSAgYXJlIGFic29sdXRlLCB0aGV5IGFyZSByZWxhdGl2ZSB0byBqYXIgZmlsZSB0aGF0IGNvbnRhaW5lZCB0aGUgcGx1Z2lubGlzdC5wcm9wZXJ0aWVzCi0gIGZpbGUuCi0qIFlvdSBjYW4gZGVmaW5lIHByb3BlcnRpZXMgZmluZGJ1Z3MucGx1Z2luLiouIEVhY2ggc3VjaCBwcm9wZXJ0eSBkZWZpbmVzIGEgVVJMCi0gIGZvciBhIHBsdWdpbgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3ByZXNzUmVsZWFzZS5wZGYgYi90b29scy9maW5kYnVncy9kb2MvcHJlc3NSZWxlYXNlLnBkZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdlZTM3YS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvcHJlc3NSZWxlYXNlLnBkZgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy9wdWJsaWNhdGlvbnMuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9wdWJsaWNhdGlvbnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmEwNmExOS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvcHVibGljYXRpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5GaW5kQnVncyBEb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJmaW5kYnVncy5jc3MiPgotCi08L2hlYWQ+Ci08Ym9keT4KLQotPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Ci0KLQotPHRkIGJnY29sb3I9IiNiOWI5ZmUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgd2lkdGg9IjIwJSI+IAotPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4gCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idW1kRmluZGJ1Z3MucG5nIiBhbHQ9IkZpbmRCdWdzIj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RG9jcyBhbmQgSW5mbzwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZpbmRidWdzMi5odG1sIj5GaW5kQnVncyAyLjA8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZGVtby5odG1sIj5EZW1vIGFuZCBkYXRhPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InVzZXJzLmh0bWwiPlVzZXJzIGFuZCBzdXBwb3J0ZXJzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5ibG9nc3BvdC5jb20vIj5GaW5kQnVncyBibG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZhY3RTaGVldC5odG1sIj5GYWN0IHNoZWV0PC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5NYW51YWw8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iamEvbWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbChqYS8mIzI2MDg1OyYjMjY0MTI7JiMzNTQ4NjspPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYnVnRGVzY3JpcHRpb25zLmh0bWwiPkJ1ZyBkZXNjcmlwdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbGluZ0xpc3RzLmh0bWwiPk1haWxpbmcgbGlzdHM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icHVibGljYXRpb25zLmh0bWwiPkRvY3VtZW50cyBhbmQgUHVibGljYXRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImxpbmtzLmh0bWwiPkxpbmtzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZG93bmxvYWRzLmh0bWwiPjxiPkRvd25sb2FkczwvYj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly93d3cuY2FmZXNob3BzLmNvbS9maW5kYnVncyI+PGI+RmluZEJ1Z3MgU3dhZzwvYj48L2E+PC90ZD48L3RyPgotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5EZXZlbG9wbWVudDwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9OTY0MDUiPk9wZW4gYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJyZXBvcnRpbmdCdWdzLmh0bWwiPlJlcG9ydGluZyBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImNvbnRyaWJ1dGluZy5odG1sIj5Db250cmlidXRpbmc8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idGVhbS5odG1sIj5EZXYgdGVhbTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvaW5kZXguaHRtbCI+QVBJPC9hPiA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+W25vIGZyYW1lc108L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iQ2hhbmdlcy5odG1sIj5DaGFuZ2UgbG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZmluZGJ1Z3MiPlNGIHByb2plY3QgcGFnZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2Jyb3dzZS8iPkJyb3dzZSBzb3VyY2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9saXN0Ij5MYXRlc3QgY29kZSBjaGFuZ2VzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPC90YWJsZT4gCi08L3RkPgotCi08dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KLQotPGgxPkZpbmRCdWdzIERvY3VtZW50cyBhbmQgUHVibGljYXRpb25zPC9oMT4KLQotPHA+IFRoaXMgcGFnZSBsaXN0cyBkb2N1bWVudHMsIHB1YmxpY2F0aW9ucywgYW5kIG90aGVyIHNvdXJjZXMKLW9mIGluZm9ybWF0aW9uIGFib3V0IEZpbmRCdWdzLgotCi08aDI+R2VuZXJhbCBJbmZvcm1hdGlvbjwvaDI+Ci0KLTx1bD4KLTxsaT4gVGhlIDxhIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5GaW5kQnVncyBtYW51YWw8L2E+IGRlc2NyaWJlcyBob3cgdG8KLWluc3RhbGwgYW5kIHVzZSBGaW5kQnVncy4KLTxsaT4gQSA8YSBocmVmPSJodHRwOi8vd3d3LnNpbWVqaS5jb20vZmluZGJ1Z3MvZG9jL21hbnVhbF9qYS9pbmRleC5odG1sIj5KYXBhbmVzZSB0cmFuc2xhdGlvbjwvYT4KLW9mIHRoZSBGaW5kQnVncyBtYW51YWwgY29udHJpYnV0ZWQgYnkgSGlyb3NoaSBPa3VnYXdhLgotPGxpPiBBIDxhIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5saXN0IG9mIGJ1ZyBwYXR0ZXJucyByZXBvcnRlZCBieSBGaW5kQnVnczwvYT4uCi08bGk+IFRoZSA8YSBocmVmPSJGQVEuaHRtbCI+RmluZEJ1Z3MgRkFRPC9hPiBjb250YWlucyBhbnN3ZXJzIHRvIGZyZXF1ZW50bHkgYXNrZWQKLXF1ZXN0aW9ucyBhYm91dCBGaW5kQnVncy4KLTwvdWw+Ci0KLTxoMj5QdWJsaWNhdGlvbnM8L2gyPgotCi08dWw+Ci08bGk+IDxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvZG9jcy9vb3BzbGEyMDA0LnBkZiI+RmluZGluZyBCdWdzIGlzIEVhc3k8L2E+LCBhCi1wYXBlciB0aGF0IGFwcGVhcmVkIGluIHRoZSBEZWNlbWJlciAyMDA0IGlzc3VlIG9mIFNJR1BMQU4gTm90aWNlcy4mbmJzcDsKLUFuIGV4dGVuZGVkIGFic3RyYWN0IG9mIHRoZSBwYXBlciBhcHBlYXJlZCBpbiB0aGUgT09QU0xBIDIwMDQgQ29tcGFuaW9uLAotYXMgcGFydCBvZiB0aGUgT253YXJkISB0cmFjayBvZiB0aGUgY29uZmVyZW5jZS4mbmJzcDsKLQotPCEtLQotVGhlIHJhdyBkYXRhCi13ZSB1c2VkIGluIHRoZSBlbXBpcmljYWwgZXZhbHVhdGlvbiBzZWN0aW9uIGlzIGF2YWlsYWJsZToKLSA8dWw+Ci0gPGxpPiA8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2RhdGEvY2xhc3NwYXRoLTAuMDgueG1sIj5jbGFzc3BhdGgtMC4wOC54bWw8L2E+Ci0gPGxpPiA8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2RhdGEvZHJqYXZhLXN0YWJsZS0yMDA0MDMyNi54bWwiPmRyamF2YS1zdGFibGUtMjAwNDAzMjYueG1sPC9hPgotIDxsaT4gPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9kYXRhL2VjbGlwc2UtMy4wLnhtbCI+ZWNsaXBzZS0zLjAueG1sPC9hPgotIDxsaT4gPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9kYXRhL2pib3NzLTQuMC4wUkMxLnhtbCI+amJvc3MtNC4wLjBSQzEueG1sPC9hPgotIDxsaT4gPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9kYXRhL2plZGl0LTQuMnByZTE1LnhtbCI+amVkaXQtNC4ycHJlMTUueG1sPC9hPgotIDxsaT4gPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9kYXRhL3J0LTEuNS01OS54bWwiPnJ0LTEuNS01OS54bWw8L2E+Ci0gPC91bD4KLS0tPgotPGxpPiA8YSBocmVmPSJodHRwOi8vd3d3LmNzLnVtZC5lZHUvfmpmb3N0ZXIvcGFwZXJzL2lzc3JlMDQucGRmIj5BIENvbXBhcmlzb24gb2YgQnVnIEZpbmRpbmcgVG9vbHMgZm9yIEphdmE8L2E+LCBieSBOaWNrIFJ1dGFyLCBDaHJpc3RpYW4gQWxtYXphbiwgYW5kIEplZmYgRm9zdGVyLAotY29tcGFyZXMgc2V2ZXJhbCBidWcgY2hlY2tlcnMgZm9yIEphdmEsIGluY2x1ZGluZyBGaW5kQnVncy4KLTxsaT4gQ2hyaXMgR3JpbmRzdGFmZiBoYXMgd3JpdHRlbiBhIHR3by1wYXJ0IGFydGljbGUgYWJvdXQgRmluZEJ1Z3MKLSg8YSBocmVmPSJodHRwOi8vd3d3LTEwNi5pYm0uY29tL2RldmVsb3BlcndvcmtzL2phdmEvbGlicmFyeS9qLWZpbmRidWcxLyI+UGFydCAxPC9hPiwKLTxhIGhyZWY9Imh0dHA6Ly93d3ctMTA2LmlibS5jb20vZGV2ZWxvcGVyd29ya3MvamF2YS9saWJyYXJ5L2otZmluZGJ1ZzIvIj5QYXJ0IDI8L2E+KQotZm9yIElCTSBkZXZlbG9wZXJXb3Jrcy4KLTwvdWw+Ci0KLTwhLS0KLTxoMj5QcmVzZW50YXRpb25zPC9oMj4KLTx1bD4KLTxsaT4gPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9kb2NzL29vcHNsYTIwMDQtc2xpZGVzLnBkZiI+UHJlc2VudGF0aW9uIHNsaWRlczwvYT4KLSAgICAgZnJvbSBhIHRhbGsgZ2l2ZW4gYnkgRGF2aWQgSG92ZW1leWVyIGF0IE9PUFNMQSAyMDA0LgotPGxpPiA8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2RvY3MvRmluZEJ1Z3NUYWxrMi5wZGYiPlByZXNlbnRhdGlvbiBzbGlkZXM8L2E+Ci0gICAgIGZyb20gYSB0YWxrIGdpdmVuIGJ5IEJpbGwgUHVnaCBhdCB0aGUKLSAgICAgPGEgaHJlZj0iaHR0cDovL2ZjLW1kLnVtZC5lZHUvZmNtZC9pbmRleC5odG1sIgotICAgICA+RnJhdW5ob2ZlciBDZW50ZXIgZm9yIEV4cGVyaW1lbnRhbCBTb2Z0d2FyZSBFbmdpbmVlcmluZzwvYT4sCi0gICAgIEp1bHkgMjAwNAotPGxpPiA8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0L2RvY3MvRmluZEJ1Z3NKYXZhT25lLnBkZiI+RmluZGluZyBCdWdzIGlzIEVhc3k8L2E+LAotICAgICBhIHByZXNlbnRhdGlvbiBnaXZlbiBieSBEYXZpZCBIb3ZlbWV5ZXIgYW5kIEJpbGwgUHVnaAotICAgICBhdCA8YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL2phdmFvbmUvIj5KYXZhT25lIDIwMDQ8L2E+LAotICAgICBKdW5lIDIwMDQKLTxsaT4gPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldC9kb2NzL0ZpbmRCdWdzSktlbGxlci5wZGYiPlByZXNlbnRhdGlvbiBzbGlkZXM8L2E+Ci0gICAgIGZyb20gSi4gS2VsbGVyJ3MgcHJlc2VudGF0aW9uIGF0IHRoZSBGaW5kQnVncyBKYXZhT25lIEJPRiwKLSAgICAgSnVuZSAyMDA0Ci08L3VsPgotLS0+Ci0KLQotPGhyPiA8cD4gCi08c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiAKLTwhLS0tLy9oaWRlIHNjcmlwdCBmcm9tIG9sZCBicm93c2VycyAKLWRvY3VtZW50LndyaXRlKCAiTGFzdCB1cGRhdGVkICIrIGRvY3VtZW50Lmxhc3RNb2RpZmllZCArICIuIiApOyAKLS8vZW5kIGhpZGluZyBjb250ZW50cyAtLS0+IAotPC9zY3JpcHQ+IAotPHA+IFNlbmQgY29tbWVudHMgdG8gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWx0bzpmaW5kYnVnc0Bjcy51bWQuZWR1Ij5maW5kYnVnc0Bjcy51bWQuZWR1PC9hPiAKLTxwPiAKLTxBIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQiPjxJTUcgc3JjPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3NmbG9nby5waHA/Z3JvdXBfaWQ9OTY0MDUmYW1wO3R5cGU9NSIgd2lkdGg9IjIxMCIgaGVpZ2h0PSI2MiIgYm9yZGVyPSIwIiBhbHQ9IlNvdXJjZUZvcmdlLm5ldCBMb2dvIiAvPjwvQT4KLQotPC90ZD4KLQotPC90cj48L3RhYmxlPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvcmVwb3J0aW5nQnVncy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL3JlcG9ydGluZ0J1Z3MuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzJiZDcwYi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2MvcmVwb3J0aW5nQnVncy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+UmVwb3J0aW5nIEJ1Z3MgaW4gRmluZEJ1Z3M8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iZmluZGJ1Z3MuY3NzIj4KLQotPC9oZWFkPgotPGJvZHk+Ci0KLTx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyPgotCi0KLTx0ZCBiZ2NvbG9yPSIjYjliOWZlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIHdpZHRoPSIyMCUiPiAKLTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+IAotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVtZEZpbmRidWdzLnBuZyIgYWx0PSJGaW5kQnVncyI+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRvY3MgYW5kIEluZm88L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmaW5kYnVnczIuaHRtbCI+RmluZEJ1Z3MgMi4wPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRlbW8uaHRtbCI+RGVtbyBhbmQgZGF0YTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ1c2Vycy5odG1sIj5Vc2VycyBhbmQgc3VwcG9ydGVyczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuYmxvZ3Nwb3QuY29tLyI+RmluZEJ1Z3MgYmxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmYWN0U2hlZXQuaHRtbCI+RmFjdCBzaGVldDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYW51YWwvaW5kZXguaHRtbCI+TWFudWFsPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImphL21hbnVhbC9pbmRleC5odG1sIj5NYW51YWwoamEvJiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7KTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5CdWcgZGVzY3JpcHRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWxpbmdMaXN0cy5odG1sIj5NYWlsaW5nIGxpc3RzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InB1YmxpY2F0aW9ucy5odG1sIj5Eb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJsaW5rcy5odG1sIj5MaW5rczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRvd25sb2Fkcy5odG1sIj48Yj5Eb3dubG9hZHM8L2I+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vd3d3LmNhZmVzaG9wcy5jb20vZmluZGJ1Z3MiPjxiPkZpbmRCdWdzIFN3YWc8L2I+PC9hPjwvdGQ+PC90cj4KLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RGV2ZWxvcG1lbnQ8L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTk2NDA1Ij5PcGVuIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5SZXBvcnRpbmcgYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJjb250cmlidXRpbmcuaHRtbCI+Q29udHJpYnV0aW5nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InRlYW0uaHRtbCI+RGV2IHRlYW08L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiPkFQSTwvYT4gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPltubyBmcmFtZXNdPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzIj5TRiBwcm9qZWN0IHBhZ2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvIj5Ccm93c2Ugc291cmNlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvbGlzdCI+TGF0ZXN0IGNvZGUgY2hhbmdlczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTwvdGFibGU+IAotPC90ZD4KLQotPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Ci0KLTxoMT5SZXBvcnRpbmcgQnVncyBpbiBGaW5kQnVnczwvaDE+Ci0KLTxwPgotRmlyc3Qgb2YgYWxsLCBpZiB5b3UgZmluZCBhIGJ1ZyBpbiBGaW5kQnVncywgYW5kIGhhdmUgdGhlCi1za2lsbHMgdG8gZml4IGl0LCB3ZSBlbmNvdXJhZ2UgeW91IHRvIHVubGVhc2ggdGhlIHBvd2VyIG9mIG9wZW4gc291cmNlIGFuZAotPGEgaHJlZj0iY29udHJpYnV0aW5nLmh0bWwiPnNlbmQgdXMgYSBwYXRjaDwvYT4uJm5ic3A7IFdlIHdpbGwgZ2xhZGx5Ci1jcmVkaXQgeW91IG9uIG91ciB3ZWJzaXRlIGFuZCBpbiB0aGUgbWFudWFsLgotPC9wPgotCi08cD4KLVBsZWFzZSByZXBvcnQgYnVncyB1c2luZyB0aGUKLTxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/YXRpZD02MTQ2OTMmZ3JvdXBfaWQ9OTY0MDUmZnVuYz1icm93c2UiPlNvdXJjZWZvcmdlCi1idWdzIHRyYWNrZXI8L2E+LiZuYnNwOyBOb3RlIHRoYXQgeW91IG5lZWQgdG8gYmUgbG9nZ2VkIGluIHRvIHNvdXJjZWZvcmdlIHRvCi11c2UgdGhlIGJ1ZyB0cmFja2VyLgotPC9wPgotCi08cD4KLUlmIHlvdSBjYW5ub3QgdXNlIHRoZSBTb3VyY2Vmb3JnZSB0cmFja2VyLCB5b3UgY2FuIHRyeSBzZW5kaW5nIAotZW1haWwgdG8gdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuY3MudW1kLmVkdS9tYWlsbWFuL2xpc3RpbmZvL2ZpbmRidWdzLWRpc2N1c3MiCi0+ZmluZGJ1Z3MtZGlzY3VzcyBtYWlsaW5nIGxpc3Q8L2E+LiZuYnNwOyBZb3UgbXVzdCBiZSBzdWJzY3JpYmVkCi10byB0aGUgbGlzdCB0byBwb3N0IGEgbWVzc2FnZS4KLTwvcD4KLQotPHA+Ci1GaW5hbGx5LCBhcyBhIGxhc3QgcmVzb3J0LCB5b3UgY2FuIGVtYWlsIDxhIGhyZWY9Im1haWx0bzpmaW5kYnVnc0Bjcy51bWQuZWR1Ij5maW5kYnVnc0Bjcy51bWQuZWR1PC9hPi4mbmJzcDsKLUhvd2V2ZXIsIHN1Y2ggZW1haWxzIGFyZSBtdWNoIGxlc3MgbGlrZWx5IHRvIGJlIGhhbmRsZWQgaW4gYSB0aW1lbHkgbWFubmVyIHRoYW4KLXBvc3RzIHRvIHRoZSB0cmFja2VyIG9yIG1haWxpbmcgbGlzdC4KLTwvcD4KLQkKLTxoMj5GYWxzZSBhbmQgSW5hY2N1cmF0ZSBXYXJuaW5nczwvaDI+Ci0JCi08cD4KLQlMaWtlIG1vc3QgYnVnLWRldGVjdGlvbiB0b29scyBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMsIEZpbmRCdWdzCi0JaXNzdWVzIHNvbWUgd2FybmluZ3MgdGhhdCBkbyBub3QgY29ycmVzcG9uZCB0byByZWFsIGJ1Z3MuJm5ic3A7Ci0JV2hpbGUgaW4gZ2VuZXJhbCB3ZSB3b3VsZCBsaWtlIHRvIG1ha2UgdGhlIHBlcmNlbnRhZ2Ugb2Ygc3VjaCB3YXJuaW5ncwotCXNtYWxsLCB3ZSBjYW4gbmV2ZXIgZnVsbHkgZWxpbWluYXRlIHRoZW0uCi08L3A+Ci0KLTxoMj5JbmZvcm1hdGlvbiB0byBpbmNsdWRlPC9oMj4KLQotPHA+Ci1XaGVuIHJlcG9ydGluZyBhIGJ1ZywgcGxlYXNlIGluY2x1ZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjoKLTwvcD4KLTx1bD4KLTxsaT5Db21wbGV0ZSBsaXN0IG9mIHN0ZXBzIHRvIHJlcHJvZHVjZSB0aGUgcHJvYmxlbTwvbGk+Ci08bGk+SWYgdGhlIGVycm9yIG9jY3VycyBkdXJpbmcgYW5hbHlzaXMsIGEgamFyIGZpbGUsIGNsYXNzIGZpbGUsCi0gICAgb3Igc2VsZi1jb250YWluZWQgSmF2YSBjbGFzcyB0aGF0IGRlbW9uc3RyYXRlcyB0aGUgcHJvYmxlbTwvbGk+Ci08bGk+RmluZEJ1Z3MgdmVyc2lvbjwvbGk+Ci08bGk+SkRLL0pSRSB2ZXJzaW9uPC9saT4KLTxsaT5Ib3N0IG9wZXJhdGluZyBzeXN0ZW08L2xpPgotPGxpPkFueSBleGNlcHRpb24gdHJhY2VzLCBFY2xpcHNlIGVycm9yIGxvZyBlbnRyaWVzLCBldGMuIHRoYXQgbWlnaHQKLSAgICBiZSByZWxldmFudDwvbGk+Ci08L3VsPgotCi0KLTxocj4gPHA+IAotPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gCi08IS0tLS8vaGlkZSBzY3JpcHQgZnJvbSBvbGQgYnJvd3NlcnMgCi1kb2N1bWVudC53cml0ZSggIkxhc3QgdXBkYXRlZCAiKyBkb2N1bWVudC5sYXN0TW9kaWZpZWQgKyAiLiIgKTsgCi0vL2VuZCBoaWRpbmcgY29udGVudHMgLS0tPiAKLTwvc2NyaXB0PiAKLTxwPiBTZW5kIGNvbW1lbnRzIHRvIDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsdG86ZmluZGJ1Z3NAY3MudW1kLmVkdSI+ZmluZGJ1Z3NAY3MudW1kLmVkdTwvYT4gCi08cD4gCi08QSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0Ij48SU1HIHNyYz0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9zZmxvZ28ucGhwP2dyb3VwX2lkPTk2NDA1JmFtcDt0eXBlPTUiIHdpZHRoPSIyMTAiIGhlaWdodD0iNjIiIGJvcmRlcj0iMCIgYWx0PSJTb3VyY2VGb3JnZS5uZXQgTG9nbyIgLz48L0E+Ci0KLTwvdGQ+Ci0KLTwvdHI+PC90YWJsZT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3NvdXJjZUluZm8uaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy9zb3VyY2VJbmZvLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiODQ3ZDAuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3NvdXJjZUluZm8uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkZpbmRCdWdzIHNvdXJjZUluZm8gZmlsZTwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJmaW5kYnVncy5jc3MiPgotPC9oZWFkPgotPGJvZHk+Ci0KLTx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyPgotCi0KLTx0ZCBiZ2NvbG9yPSIjYjliOWZlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIHdpZHRoPSIyMCUiPiAKLTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+IAotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVtZEZpbmRidWdzLnBuZyIgYWx0PSJGaW5kQnVncyI+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRvY3MgYW5kIEluZm88L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmaW5kYnVnczIuaHRtbCI+RmluZEJ1Z3MgMi4wPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRlbW8uaHRtbCI+RGVtbyBhbmQgZGF0YTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ1c2Vycy5odG1sIj5Vc2VycyBhbmQgc3VwcG9ydGVyczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuYmxvZ3Nwb3QuY29tLyI+RmluZEJ1Z3MgYmxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmYWN0U2hlZXQuaHRtbCI+RmFjdCBzaGVldDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYW51YWwvaW5kZXguaHRtbCI+TWFudWFsPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImphL21hbnVhbC9pbmRleC5odG1sIj5NYW51YWwoamEvJiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7KTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5CdWcgZGVzY3JpcHRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWxpbmdMaXN0cy5odG1sIj5NYWlsaW5nIGxpc3RzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InB1YmxpY2F0aW9ucy5odG1sIj5Eb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJsaW5rcy5odG1sIj5MaW5rczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRvd25sb2Fkcy5odG1sIj48Yj5Eb3dubG9hZHM8L2I+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vd3d3LmNhZmVzaG9wcy5jb20vZmluZGJ1Z3MiPjxiPkZpbmRCdWdzIFN3YWc8L2I+PC9hPjwvdGQ+PC90cj4KLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RGV2ZWxvcG1lbnQ8L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTk2NDA1Ij5PcGVuIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5SZXBvcnRpbmcgYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJjb250cmlidXRpbmcuaHRtbCI+Q29udHJpYnV0aW5nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InRlYW0uaHRtbCI+RGV2IHRlYW08L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiPkFQSTwvYT4gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPltubyBmcmFtZXNdPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzIj5TRiBwcm9qZWN0IHBhZ2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvIj5Ccm93c2Ugc291cmNlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvbGlzdCI+TGF0ZXN0IGNvZGUgY2hhbmdlczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTwvdGFibGU+IAotPC90ZD4KLQotPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Ci0KLTxoMT5GaW5kQnVncyBzb3VyY2VJbmZvIGZpbGU8L2gxPgotCi08cD5UaGUgRmluZEJ1Z3MgYW5hbHlzaXMgZW5naW5lIGNhbiBiZSBpbnZva2VkIHdpdGggYW4gb3B0aW9uYWwgc291cmNlSW5mbwotZmlsZS4gVGhpcyBmaWxlIGdpdmVzIGxpbmUgbnVtYmVyIHJhbmdlcyBmb3IgY2xhc3NlcywgZmlsZXMgYW5kIG1ldGhvZHMuIFRoaXMKLWluZm9ybWF0aW9uIGlzIGFuIGFsdGVybmF0aXZlIHRvIGdldHRpbmcgbGluZSBudW1iZXIgaW5mb3JtYXRpb24gCi1mcm9tIHRoZSBjbGFzc2ZpbGVzIGZvciBtZXRob2RzLiBTaW5jZSBjbGFzc2ZpbGVzIG9ubHkgY29udGFpbiBsaW5lIG51bWJlciAKLWluZm9ybWF0aW9uIAotZm9yIG1ldGhvZHMsIHdpdGhvdXQgYSBzb3VyY2VJbmZvIGZpbGUgd2UgY2FuJ3QgcHJvdmlkZSBsaW5lIG51bWJlcnMgZm9yIGZpZWxkcywKLWFuZCBmb3IgY2xhc3NlcyB3ZSBqdXN0IHVzZSB0aGUgbGluZSBudW1iZXJzIG9mIHRoZSBtZXRob2RzIGluIHRoZSBjbGFzcy4KLQotPHA+VGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUgc2hvdWxkIGJlCi08cHJlPgotc291cmNlSW5mbyB2ZXJzaW9uIDEuMAotPC9wcmU+Ci0KLTxwPkZvbGxvd2luZyB0aGF0IGFyZSBhIHNlcmllcyBvZiBsaW5lcywgZWFjaCBkZXNjcmliaW5nIGEgY2xhc3MsIGZpZWxkLCBvciBtZXRob2QuICBGb3IgZWFjaCwgYSBzdGFydGluZyBhbmQgZW5kaW5nIGxpbmUgbnVtYmVyIGlzIHByb3ZpZGVkLiBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBzb3VyY2VJbmZvIGZpbGU6Ci08cHJlPgotc291cmNlSW5mbyB2ZXJzaW9uIDEuMAotYS5DLDMsOAotYS5DLHgsNCw0Ci1hLkMseSw0LDQKLWEuQyw8aW5pdD4oKVYsOCw4Ci1hLkMsZihJKUksNSw1Ci1hLkMsZyhMamF2YS9sYW5nL09iamVjdDspSSw2LDcKLTwvcHJlPgotcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2xhc3MgYS5DOgotPHVsPgotPGxpPiBmaWVsZHMgeCBhbmQgeSBhcmUgYm90aCBkZWNsYXJlZCBvbiBsaW5lIDQuCi08bGk+IHRoZSBtZXRob2QgPGNvZGU+aW50IGYoaW50KTwvY29kZT4gaXMgZGVmaW5lZCBvbiBsaW5lIDUuCi08bGk+IHRoZSBtZXRob2QgPGNvZGU+aW50IGcoT2JqZWN0KTwvY29kZT4gaXMgZGVmaW5lZCBvbiBsaW5lcyA2LTcuCi08bGk+IHRoZSB2b2lkIGNvbnN0cnVjdG9yIGZvciBhLkMgaXMgZGVmaW5lZCBvbiBsaW5lIDguCi08L3VsPgotVGhlIGNsYXNzbmFtZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGZvcm1hdCBhcyB1c2VkIGJ5IENsYXNzLmdldE5hbWUoKTogCi1wYWNrYWdlcyBhcmUgc2VwYXJhdGVkIGJ5IC4sIGlubmVyIGNsYXNzIG5hbWVzIGFyZSBzZXBhcmF0ZWQgYnkgJC4KLVRodXMsIGlmIHRoZSBjbGFzcyBhLkMgaGFkIGFuIGlubmVyIGNsYXNzIFggYW5kIGl0IHdhcyBvbmIgbGluZXMgMTAtMTUgb2YgdGhlIGZpbGUsIHRoZSBzb3VyY2VJbmZvIGZpbGUgbWlnaHQgY29udGFpbjoKLQotPHByZT4KLWEuQyRYLDEwLDE1Ci08L3ByZT4KLQotCi08L3RhYmxlPgotCi0KLTxocj4gPHA+IAotPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gCi08IS0tLS8vaGlkZSBzY3JpcHQgZnJvbSBvbGQgYnJvd3NlcnMgCi1kb2N1bWVudC53cml0ZSggIkxhc3QgdXBkYXRlZCAiKyBkb2N1bWVudC5sYXN0TW9kaWZpZWQgKyAiLiIgKTsgCi0vL2VuZCBoaWRpbmcgY29udGVudHMgLS0tPiAKLTwvc2NyaXB0PiAKLTxwPiBTZW5kIGNvbW1lbnRzIHRvIDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsdG86ZmluZGJ1Z3NAY3MudW1kLmVkdSI+ZmluZGJ1Z3NAY3MudW1kLmVkdTwvYT4gCi08cD4gCi08QSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0Ij48SU1HIHNyYz0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9zZmxvZ28ucGhwP2dyb3VwX2lkPTk2NDA1JmFtcDt0eXBlPTUiIHdpZHRoPSIyMTAiIGhlaWdodD0iNjIiIGJvcmRlcj0iMCIgYWx0PSJTb3VyY2VGb3JnZS5uZXQgTG9nbyIgLz48L0E+Ci0KLTwvdGQ+Ci0KLTwvdHI+PC90YWJsZT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3N5c3Byb3BzLmh0bWwgYi90b29scy9maW5kYnVncy9kb2Mvc3lzcHJvcHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ1NTYyMi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9kb2Mvc3lzcHJvcHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkZpbmRCdWdzIE9wdGlvbmFsIFN5c3RlbSBQcm9wZXJ0aWVzPC90aXRsZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImZpbmRidWdzLmNzcyI+Ci08L2hlYWQ+Ci08Ym9keT4KLQotPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Ci0KLQotPHRkIGJnY29sb3I9IiNiOWI5ZmUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgd2lkdGg9IjIwJSI+IAotPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4gCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idW1kRmluZGJ1Z3MucG5nIiBhbHQ9IkZpbmRCdWdzIj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RG9jcyBhbmQgSW5mbzwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZpbmRidWdzMi5odG1sIj5GaW5kQnVncyAyLjA8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZGVtby5odG1sIj5EZW1vIGFuZCBkYXRhPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InVzZXJzLmh0bWwiPlVzZXJzIGFuZCBzdXBwb3J0ZXJzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5ibG9nc3BvdC5jb20vIj5GaW5kQnVncyBibG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZhY3RTaGVldC5odG1sIj5GYWN0IHNoZWV0PC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5NYW51YWw8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iamEvbWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbChqYS8mIzI2MDg1OyYjMjY0MTI7JiMzNTQ4NjspPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYnVnRGVzY3JpcHRpb25zLmh0bWwiPkJ1ZyBkZXNjcmlwdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbGluZ0xpc3RzLmh0bWwiPk1haWxpbmcgbGlzdHM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icHVibGljYXRpb25zLmh0bWwiPkRvY3VtZW50cyBhbmQgUHVibGljYXRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImxpbmtzLmh0bWwiPkxpbmtzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZG93bmxvYWRzLmh0bWwiPjxiPkRvd25sb2FkczwvYj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly93d3cuY2FmZXNob3BzLmNvbS9maW5kYnVncyI+PGI+RmluZEJ1Z3MgU3dhZzwvYj48L2E+PC90ZD48L3RyPgotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5EZXZlbG9wbWVudDwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9OTY0MDUiPk9wZW4gYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJyZXBvcnRpbmdCdWdzLmh0bWwiPlJlcG9ydGluZyBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImNvbnRyaWJ1dGluZy5odG1sIj5Db250cmlidXRpbmc8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idGVhbS5odG1sIj5EZXYgdGVhbTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvaW5kZXguaHRtbCI+QVBJPC9hPiA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+W25vIGZyYW1lc108L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iQ2hhbmdlcy5odG1sIj5DaGFuZ2UgbG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZmluZGJ1Z3MiPlNGIHByb2plY3QgcGFnZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2Jyb3dzZS8iPkJyb3dzZSBzb3VyY2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9saXN0Ij5MYXRlc3QgY29kZSBjaGFuZ2VzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPC90YWJsZT4gCi08L3RkPgotCi08dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KLQotPGgxPkZpbmRCdWdzIE9wdGlvbmFsIFN5c3RlbSBQcm9wZXJ0aWVzPC9oMT4KLQotPHA+IFRoZXNlIHN5c3RlbSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byB0aGUgY29tbWFuZCBsaW5lIHRvIGFsdGVyIHRoZSB3YXkKLWZpbmRidWdzIHdvcmtzLiBUaGVzZSBvcHRpb25zIHNob3VsZCBiZSBjb25zaWRlcmVkIGV4cGVyaW1lbnRhbC4gVGhlIGRlc2NyaXB0aW9uCi1naXZlcyBpbmZvcm1hdGlvbiBpZiB0aGUgZmllbGQgaXMgc2V0IHRvIHRydWUuCi08L3A+Ci0KLTx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIxIj4KLQk8dHIgYmdDb2xvcj0iI0YwRjBGMCI+PHRoPlN5c3RlbSBQcm9wZXJ0eTwvdGg+PHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPgotCQotCTx0cj4KLQkJPHRkPmZpbmRidWdzLmFzc2VydGlvbm1ldGhvZHM8L3RkPgotCQk8dGQ+bWV0aG9kcyBzdXBwbGllZCBieSB1c2VyIHRoYXQgaGF2ZSBhc3NlcnRpb25zPC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmZpbmRidWdzLmNoZWNrcmV0dXJuLmxvYWR0cmFpbmluZwotCQkJPGJyLz5maW5kYnVncy5jaGVja3JldHVybi5zYXZldHJhaW5pbmc8L3RkPgotCQk8dGQ+ZmlsZSBuYW1lIHRvIHJlYWQvd3JpdGUgbGlzdCBvZiBtZXRob2RzIHdob3NlIHJldHVybiB2YWx1ZXMgbXVzdCBiZSBjaGVja2VkPC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmZpbmRidWdzLmRlLmNvbW1lbnQ8L3RkPgotCQk8dGQ+RG9uJ3QgcmVwb3J0IGVtcHR5IGNhdGNoIGJsb2NrcyBpZiBhIHNvdXJjZSBjb21tZW50IGlzIGZvdW5kIGluIHRoZSBibG9jay48L3RkPgotCTwvdHI+Ci0JPHRyPgotCQk8dGQ+ZmluZGJ1Z3MuZGxzLmV4Y2x1c2lvbnM8L3RkPgotCQk8dGQ+bG9jYWwgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSBleGNsdWRlZCBmcm9tIERlYWQgTG9jYWwgU3RvcmU8L3RkPgotCTwvdHI+Ci0JPHRyPgotCQk8dGQ+ZmluZGJ1Z3MuZmlzLnVuc3luY0ZhY3RvcjwvdGQ+Ci0JCTx0ZD5EZWZhdWx0IHZhbHVlIGlzIDIuMCwgd2hpY2ggbWVhbnMgdGhhdCB3ZSByZXBvcnQgYSBidWcgaWYgbW9yZSB0aGFuIDEvMyBvZiBhY2Nlc3NlcyBhcmUgdW5zeW5jaHJvbml6ZWQuPC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmZpbmRidWdzLmZpcy53cml0ZUJpYXM8L3RkPgotCQk8dGQ+RGVmYXVsdCB2YWx1ZSBpcyAyLjAuIFRoZSBpZGVhIGlzIHRoYXQgdGhpcyBzaG91bGQgYmUgYWJvdmUgMS4wLCBiZWNhdXNlIHVuc3luY2hyb25pemVkIHdyaXRlcyBhcmUgbW9yZSBkYW5nZXJvdXMgdGhhbiB1bnN5bmNocm9uaXplZCByZWFkcy48L3RkPgotCTwvdHI+Ci0JPHRyPgotCQk8dGQ+ZnVuZGJ1Z3MuZ3VpLmJ1Z0NvdW50PC90ZD4KLQkJPHRkPj88L3RkPgotCTwvdHI+Ci0JPHRyPgotCQk8dGQ+ZmluZGJ1Z3MubWFza2VkZmllbGRzLmxvY2FsczwvdGQ+Ci0JCTx0ZD5SZXBvcnQgb24gbG9jYWwgdmFyaWFibGVzIHRoYXQgbWFzayBmaWVsZHMuPC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmZpbmRidWdzLm51bGxkZXJlZi5hc3N1bWVuc3A8L3RkPgotCQk8dGQ+c2V0cyB2YWx1ZSBmb3IgSXNOdWxsVmFsdWVBbmFseXNpc0ZlYXR1cmVzLlVOS05PV05fVkFMVUVTX0FSRV9OU1AsIGJ1dCBpcyBub3QgdXNlZCBieSBGaW5kQnVnczwvdGQ+Ci0JPC90cj4KLQk8dHI+Ci0JCTx0ZD5maW5kYnVncy5yZWZjb21wLnJlcG9ydEFsbDwvdGQ+Ci0JCTx0ZD4/PC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmZpbmRidWdzLnJlcG9ydC5TdW1tYXJ5SFRNTDwvdGQ+Ci0JCTx0ZD5lbWl0IFN1bW1hcnlIVE1MIGVsZW1lbnQ8L3RkPgotCTwvdHI+Ci0JPHRyPgotCQk8dGQ+ZmluZGJ1Z3Muc2YuY29tbWVudDwvdGQ+Ci0JCTx0ZD5JZ25vcmUgc3dpdGNoIGZhbGwgdGhydSBidWdzIGlmIGEgY29tbWVudCBpcyBmb3VuZCB3aXRoICdmYWxsJyBvciAnbm9icmVhaycKLQk8L3RyPgotCTx0cj4KLQkJPHRkPmJhLmNoZWNrQXNzZXJ0aW9uczwvdGQ+Ci0JCTx0ZD50aHJvdyBleGNwdGlvbnMgb24gY2VydGFpbiBpbGxlZ2FsIGNsYXNzIHR5cGUgc2lnbmF0dXJlczwvdGQ+Ci0JPC90cj4KLQk8dHI+Ci0JCTx0ZD5iYS52ZXJpZnlJbnRlZ3JpdHk8L3RkPgotCQk8dGQ+ZW5hYmxlIGRhdGEgc3RydWN0dXJlIGludGVncml0eSBjaGVja3M8L3RkPgotCTwvdHI+Ci0JPHRyPgotCQk8dGQ+QkNQTWV0aG9kUmV0dXJuQ2hlY2suamF2YTwvdGQ+Ci0JCTx0ZD5BZGQgbWV0aG9kcyB0byB0aGUgbGlzdCByZXF1aXJpbmcgYSBjaGVjay4gKGZvcm1hdDogImNsYXNzOm1ldGhvZDpzaWd8Li4uIik8L3RkPgotCTwvdHI+Ci0JPHRyPgotCQk8dGQ+ZGF0YWZsb3cuc3RhY2tvbmx5PC90ZD4KLQkJPHRkPj88L3RkPgotCTwvdHI+Ci0JPHRyPgotCQk8dGQ+ZmlzLmV2YWw8L3RkPgotCQk8dGQ+PzwvdGQ+Ci0JPC90cj4KLQk8dHI+Ci0JCTx0ZD5maXMubm9BZGp1c3RTdWJjbGFzczwvdGQ+Ci0JCTx0ZD5BZGp1c3QgZmllbGQgc28gaXRzIGNsYXNzIG5hbWUgaXMgdGhlIHNhbWUgYXMgdGhlIHR5cGUgb2YgcmVmZXJlbmNlIGl0IGlzIGFjY2Vzc2VkIHRocm91Z2guPC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmZvcy5hbGxvd1dVUzwvdGQ+Ci0JCTx0ZD5JZ25vcmUgd3JhcHBpbmcgc3RyZWFtcyB0aGF0IGFyZSB3cmFwcGluZyB1bmludGVyZXN0aW5nIHN0cmVhbXMgKGxpa2UgaW4gbWVtb3J5IHN0cmVhbXMpLjwvdGQ+Ci0JPC90cj4KLQk8dHI+Ci0JCTx0ZD5pYy5jcmVhdGVJbnN0YW5jZTwvdGQ+Ci0JCTx0ZD4/PC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmludmEubmNwRXh0cmFCcmFuY2g8L3RkPgotCQk8dGQ+PzwvdGQ+Ci0JPC90cj4KLQk8dHI+Ci0JCTx0ZD5pbnZhLm5vQXNzZXJ0SGFjazwvdGQ+Ci0JCTx0ZD4/PC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmludmEubm9TcGxpdERvd25ncmFkZU5TUDwvdGQ+Ci0JCTx0ZD4/PC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPmludmEubm9Td2l0Y2hEZWZhdWx0QXNFeGNlcHRpb248L3RkPgotCQk8dGQ+RG9uJ3QgY29uc2lkZXIgc3dpdGNoIGRlZmF1bHQgY2FzZXMgYXMgZXhjZXB0aW9uIHBhdGhzLjwvdGQ+Ci0JPC90cj4KLQk8dHI+Ci0JCTx0ZD5saW5lTnVtYmVyQnVnPC90ZD4KLQkJPHRkPkRpc2FibGUgdGhlIHdvcmthcm91bmQgZm9yIHRoZSBidWcgaW4gQkNFTCA1LjAncyBMaW5lTnVtYmVyVGFibGUgY2xhc3MuPC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPm1hLnVnbHk8L3RkPgotCQk8dGQ+UmVwb3J0IG1ldGhvZCBzaWduYXR1cmUgd2l0aCBtZXRob2QgY2xhc3MgYW5kIG5hbWUuPC90ZD4KLQk8L3RyPgotCTx0cj4KLQkJPHRkPm1yYy5jaGVja2FsbDwvdGQ+Ci0JCTx0ZD5DaGVjayBmb3IgMS41LXNwZWNpZmljIG1ldGhvZCByZXR1cm4gdmFsdWVzIGJlaW5nIGlnbm9yZWQgZXZlbiBpZiBydW50aW1lIEphdmEgcHJlZGF0ZXMgMS41LjwvdGQ+Ci0JPC90cj4KLQk8dHI+Ci0JCTx0ZD50YS5hY2N1cmF0ZUV4Y2VwdGlvbnM8L3RkPgotCQk8dGQ+PzwvdGQ+Ci0JPC90cj4KLQk8dHI+Ci0JCTx0ZD52bmEubm9STEU8L3RkPgotCQk8dGQ+UGVyZm9ybSByZWR1bmRhbnQgbG9hZCBlbGltaW5hdGlvbiBhbmQgZm9yd2FyZCBzdWJzdGl0dXRpb24gKGJ1dCBub3QgaW4gYSBjb3JyZWN0bmVzcy1wcmVzZXJ2aW5nIHdheSkuPC90ZD4KLQk8L3RyPgotCi08L3RhYmxlPgotCi0KLTxocj4gPHA+IAotPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gCi08IS0tLS8vaGlkZSBzY3JpcHQgZnJvbSBvbGQgYnJvd3NlcnMgCi1kb2N1bWVudC53cml0ZSggIkxhc3QgdXBkYXRlZCAiKyBkb2N1bWVudC5sYXN0TW9kaWZpZWQgKyAiLiIgKTsgCi0vL2VuZCBoaWRpbmcgY29udGVudHMgLS0tPiAKLTwvc2NyaXB0PiAKLTxwPiBTZW5kIGNvbW1lbnRzIHRvIDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsdG86ZmluZGJ1Z3NAY3MudW1kLmVkdSI+ZmluZGJ1Z3NAY3MudW1kLmVkdTwvYT4gCi08cD4gCi08QSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0Ij48SU1HIHNyYz0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9zZmxvZ28ucGhwP2dyb3VwX2lkPTk2NDA1JmFtcDt0eXBlPTUiIHdpZHRoPSIyMTAiIGhlaWdodD0iNjIiIGJvcmRlcj0iMCIgYWx0PSJTb3VyY2VGb3JnZS5uZXQgTG9nbyIgLz48L0E+Ci0KLTwvdGQ+Ci0KLTwvdHI+PC90YWJsZT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3RlYW0uaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy90ZWFtLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5N2Y0NmMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3RlYW0uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RmluZEJ1Z3MgRGV2ZWxvcG1lbnQgVGVhbTwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJmaW5kYnVncy5jc3MiPgotCi08L2hlYWQ+Ci08Ym9keT4KLQotPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Ci0KLQotPHRkIGJnY29sb3I9IiNiOWI5ZmUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCIgd2lkdGg9IjIwJSI+IAotPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4gCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idW1kRmluZGJ1Z3MucG5nIiBhbHQ9IkZpbmRCdWdzIj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RG9jcyBhbmQgSW5mbzwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZpbmRidWdzMi5odG1sIj5GaW5kQnVncyAyLjA8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZGVtby5odG1sIj5EZW1vIGFuZCBkYXRhPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InVzZXJzLmh0bWwiPlVzZXJzIGFuZCBzdXBwb3J0ZXJzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5ibG9nc3BvdC5jb20vIj5GaW5kQnVncyBibG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImZhY3RTaGVldC5odG1sIj5GYWN0IHNoZWV0PC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1hbnVhbC9pbmRleC5odG1sIj5NYW51YWw8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iamEvbWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbChqYS8mIzI2MDg1OyYjMjY0MTI7JiMzNTQ4NjspPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYnVnRGVzY3JpcHRpb25zLmh0bWwiPkJ1ZyBkZXNjcmlwdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbGluZ0xpc3RzLmh0bWwiPk1haWxpbmcgbGlzdHM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icHVibGljYXRpb25zLmh0bWwiPkRvY3VtZW50cyBhbmQgUHVibGljYXRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImxpbmtzLmh0bWwiPkxpbmtzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZG93bmxvYWRzLmh0bWwiPjxiPkRvd25sb2FkczwvYj48L2E+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly93d3cuY2FmZXNob3BzLmNvbS9maW5kYnVncyI+PGI+RmluZEJ1Z3MgU3dhZzwvYj48L2E+PC90ZD48L3RyPgotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5EZXZlbG9wbWVudDwvYj48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9OTY0MDUiPk9wZW4gYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJyZXBvcnRpbmdCdWdzLmh0bWwiPlJlcG9ydGluZyBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImNvbnRyaWJ1dGluZy5odG1sIj5Db250cmlidXRpbmc8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idGVhbS5odG1sIj5EZXYgdGVhbTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvaW5kZXguaHRtbCI+QVBJPC9hPiA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+W25vIGZyYW1lc108L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iQ2hhbmdlcy5odG1sIj5DaGFuZ2UgbG9nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZmluZGJ1Z3MiPlNGIHByb2plY3QgcGFnZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2Jyb3dzZS8iPkJyb3dzZSBzb3VyY2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9saXN0Ij5MYXRlc3QgY29kZSBjaGFuZ2VzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPC90YWJsZT4gCi08L3RkPgotCi08dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KLQotPGgxPkZpbmRCdWdzIERldmVsb3BtZW50IFRlYW08L2gxPgotCi08cD4gVGhlc2UgYXJlIHRoZSBjdXJyZW50IGFjdGl2ZSBtZW1iZXJzIG9mIHRoZSBGaW5kQnVncyBkZXZlbG9wbWVudCB0ZWFtOgotCi08dWw+Ci08bGk+IDxhIGhyZWY9Imh0dHA6Ly93d3cuY3MudW1kLmVkdS9+cHVnaCI+QmlsbCBQdWdoPC9hPiAocHJvamVjdCBsZWFkIGFuZCBwcmltYXJ5IGRldmVsb3BlcikKLTxsaT4gPGEgaHJlZj0iaHR0cDovL2FuZHJlaS5nbXhob21lLmRlL3ByaXZhdC5odG1sIj5BbmRyZXkgTG9za3V0b3Y8L2E+KEVjbGlwc2UgcGx1Z2luKQotPGxpPiA8YSBocmVmPSJodHRwOi8va2VpdGhsZWEuY29tIj5LZWl0aCBMZWE8L2E+ICh3ZWIgY2xvdWQpCi08L2xpPgotPC91bD4KLQotPHA+UHJldmlvdXMgYW5kL29yIGluYWN0aXZlIG1lbWJlcnMgb2YgdGhlIEZpbmRCdWdzIGRldmVsb3BtZW50IHRlYW0gaW5jbHVkZQotPHVsPgotPGxpPiA8YSBocmVmPSJodHRwOi8vZ29vc2UueWNwLmVkdS9+ZGhvdmVtZXkvIj5EYXZpZCBIb3ZlbWV5ZXI8L2E+IChwcm9qZWN0IGZvdW5kZXIpLCAKLSAgICAgICAgICAgIGRpZCBQaC5ELiB0aGVzaXMgb24gRmluZEJ1Z3MKLTxsaT4gTmF5IEF5ZXdhaAotPGxpPiBCZW4gTGFuZ21lYWQKLTxsaT4gVG9tYXMgUG9sbGFrIChFY2xpcHNlIHBsdWdpbiB0ZXN0cykKLTxsaT4gUGhpbCBDcm9zYnkKLTxsaT4gUGV0ZXIgRnJpZXNlIChFY2xpcHNlIHBsdWdpbikKLTxsaT4gRGF2ZSBCcm9zaXVzCi08bGk+IEJyaWFuIEdvZXR6Ci08bGk+IFJvaGFuIExsb3lkCi08L3VsPgotCi0KLTxocj4gPHA+IAotPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gCi08IS0tLS8vaGlkZSBzY3JpcHQgZnJvbSBvbGQgYnJvd3NlcnMgCi1kb2N1bWVudC53cml0ZSggIkxhc3QgdXBkYXRlZCAiKyBkb2N1bWVudC5sYXN0TW9kaWZpZWQgKyAiLiIgKTsgCi0vL2VuZCBoaWRpbmcgY29udGVudHMgLS0tPiAKLTwvc2NyaXB0PiAKLTxwPiBTZW5kIGNvbW1lbnRzIHRvIDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsdG86ZmluZGJ1Z3NAY3MudW1kLmVkdSI+ZmluZGJ1Z3NAY3MudW1kLmVkdTwvYT4gCi08cD4gCi08QSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0Ij48SU1HIHNyYz0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9zZmxvZ28ucGhwP2dyb3VwX2lkPTk2NDA1JmFtcDt0eXBlPTUiIHdpZHRoPSIyMTAiIGhlaWdodD0iNjIiIGJvcmRlcj0iMCIgYWx0PSJTb3VyY2VGb3JnZS5uZXQgTG9nbyIgLz48L0E+Ci0KLTwvdGQ+Ci0KLTwvdHI+PC90YWJsZT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3VtZEZpbmRidWdzLnBuZyBiL3Rvb2xzL2ZpbmRidWdzL2RvYy91bWRGaW5kYnVncy5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0MjZiYzYuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3VtZEZpbmRidWdzLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2RvYy91cGRhdGVDaGVja2luZy5odG1sIGIvdG9vbHMvZmluZGJ1Z3MvZG9jL3VwZGF0ZUNoZWNraW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1Mzg0YzMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvZG9jL3VwZGF0ZUNoZWNraW5nLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5VcGRhdGUgY2hlY2tpbmcgaW4gRmluZEJ1Z3M8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iZmluZGJ1Z3MuY3NzIiAvPgotCi08L2hlYWQ+Ci0KLTxib2R5PgotCi0JPHRhYmxlIHdpZHRoPSIxMDAlIj4KLQkJPHRyPgotCi0JCQkKLTx0ZCBiZ2NvbG9yPSIjYjliOWZlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiIHdpZHRoPSIyMCUiPiAKLTx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCI+IAotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVtZEZpbmRidWdzLnBuZyIgYWx0PSJGaW5kQnVncyI+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRvY3MgYW5kIEluZm88L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmaW5kYnVnczIuaHRtbCI+RmluZEJ1Z3MgMi4wPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRlbW8uaHRtbCI+RGVtbyBhbmQgZGF0YTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ1c2Vycy5odG1sIj5Vc2VycyBhbmQgc3VwcG9ydGVyczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vZmluZGJ1Z3MuYmxvZ3Nwb3QuY29tLyI+RmluZEJ1Z3MgYmxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJmYWN0U2hlZXQuaHRtbCI+RmFjdCBzaGVldDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYW51YWwvaW5kZXguaHRtbCI+TWFudWFsPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImphL21hbnVhbC9pbmRleC5odG1sIj5NYW51YWwoamEvJiMyNjA4NTsmIzI2NDEyOyYjMzU0ODY7KTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImJ1Z0Rlc2NyaXB0aW9ucy5odG1sIj5CdWcgZGVzY3JpcHRpb25zPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Im1haWxpbmdMaXN0cy5odG1sIj5NYWlsaW5nIGxpc3RzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InB1YmxpY2F0aW9ucy5odG1sIj5Eb2N1bWVudHMgYW5kIFB1YmxpY2F0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJsaW5rcy5odG1sIj5MaW5rczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImRvd25sb2Fkcy5odG1sIj48Yj5Eb3dubG9hZHM8L2I+PC9hPjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vd3d3LmNhZmVzaG9wcy5jb20vZmluZGJ1Z3MiPjxiPkZpbmRCdWdzIFN3YWc8L2I+PC9hPjwvdGQ+PC90cj4KLQotPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Ci0KLTx0cj48dGQ+PGI+RGV2ZWxvcG1lbnQ8L2I+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTk2NDA1Ij5PcGVuIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0icmVwb3J0aW5nQnVncy5odG1sIj5SZXBvcnRpbmcgYnVnczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJjb250cmlidXRpbmcuaHRtbCI+Q29udHJpYnV0aW5nPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InRlYW0uaHRtbCI+RGV2IHRlYW08L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiPkFQSTwvYT4gPGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPltubyBmcmFtZXNdPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9IkNoYW5nZXMuaHRtbCI+Q2hhbmdlIGxvZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZpbmRidWdzIj5TRiBwcm9qZWN0IHBhZ2U8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZpbmRidWdzL3NvdXJjZS9icm93c2UvIj5Ccm93c2Ugc291cmNlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvbGlzdCI+TGF0ZXN0IGNvZGUgY2hhbmdlczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTwvdGFibGU+IAotPC90ZD4KLQotCQkJPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgICAgICA8aDE+VXBkYXRlIGNoZWNraW5nIGluIEZpbmRCdWdzPC9oMT4KLSAgICAgICAgICAgIAotICAgICAgICAgICAgPHA+V2hlbiBGaW5kQnVncyBpcyBydW4sIGl0IG5vdyBjaGVja3MgZm9yIHVwZGF0ZWQgdmVyc2lvbnMgb2YgRmluZEJ1Z3Mgb3IgcGx1Z2lucy4gQXMgYSBzaWRlIGVmZmVjdAotICAgICAgICAgICAgb2YgdGhpcywgb3VyIHNlcnZlciBzZWVzIGEgcmVxdWVzdCBmb3Igd2hldGhlciB0aGVyZSBhcmUgYW55IHVwZGF0ZWQgdmVyc2lvbiBvZiBGaW5kQnVncyBhdmFpbGFibGUuCi0gICAgICAgICAgICBUaGlyZCBwYXJ0eSBwbHVnaW5zIGNhbiBpbmRlcGVuZGVudGx5IHJlY2VpdmUgdGhpcyBzYW1lIGluZm9ybWF0aW9uLiAgV2UgYXJlIHJlY29yZGluZwotICAgICAgICAgICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9wZXJhdGluZyBzeXN0ZW0sIEphdmEgdmVyc2lvbiwgbG9jYWxlLCBhbmQgRmluZGJ1Z3MgZW50cnkgcG9pbnQgKGFudCwgY29tbWFuZCBsaW5lLAotICAgICAgICAgICAgR1VJLCBldGMpLCBpbiBvcmRlciB0byBiZXR0ZXIgdW5kZXJzdGFuZCBvdXIgdXNlcnMuIAotICAgICAgICAgICAgCi0gICAgICAgICAgICA8cD5Gb3IgZXhhbXBsZSwgaGVyZSBpcyBhbiBleGFtcGxlIG9mIHRoZSBpbmZvcm1hdGlvbiB0aGF0IHdvdWxkIGJlIHNlbnQgdG8gdGhlIHNlcnZlcjoKLSAgICAgICAgICAgIDxwcmU+Ci0mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotCi0mbHQ7ZmluZGJ1Z3MtaW52b2NhdGlvbiB2ZXJzaW9uPSIyLjAuMC1yYzEiIGFwcC1uYW1lPSJVcGRhdGVDaGVja2VyIiBhcHAtdmVyc2lvbj0iIiBlbnRyeS1wb2ludD0iVXBkYXRlQ2hlY2tlciIgb3M9Ik1hYyBPUyBYIiAKLSAgICAgamF2YS12ZXJzaW9uPSIxLjYiIGxhbmd1YWdlPSJlbiIgY291bnRyeT0iVVMiIHV1aWQ9Ii00YmNmOGY0OGJhMjg0MmQyIiZndDsKLSAgJmx0O3BsdWdpbiBpZD0iZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW5zLmNvcmUiIG5hbWU9IkNvcmUgRmluZEJ1Z3MgcGx1Z2luIiB2ZXJzaW9uPSIyLjAuMC1yYzEiLyZndDsKLSAgJmx0O3BsdWdpbiBpZD0iZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW5zLmFwcGVuZ2luZSIgbmFtZT0iRmluZEJ1Z3MgQ2xvdWQgUGx1Z2luIiB2ZXJzaW9uPSIiLyZndDsKLSAgJmx0O3BsdWdpbiBpZD0iZWR1LnVtZC5jcy5maW5kYnVncy5wbHVnaW5zLnBvd2VydXNlciIgbmFtZT0iUG93ZXIgdXNlciBjb21tbmFuZCBsaW5lIHRvb2xzIiB2ZXJzaW9uPSIiLyZndDsKLSZsdDsvZmluZGJ1Z3MtaW52b2NhdGlvbiZndDsKLTwvcHJlPgotCi08cD5Zb3UgY2FuIHJ1biB0aGUgbWFpbiBtZXRob2Qgb2YgZWR1LnVtZC5jcy5maW5kYnVncy51cGRhdGVzLlVwZGF0ZUNoZWNrZXIgdG8gc2VlIHdoYXQgd291bGQgYmUgcmVwb3J0ZWQKLWZvciB5b3UsIGFuZCB3aGV0aGVyIHVwZGF0ZSBjaGVja2luZyBpcyBkaXNhYmxlZCBhbmQvb3IgcmVkaXJlY3RlZCAoZS5nLiwgcnVuCi08cHJlPiBqYXZhIC1jbGFzc3BhdGggfi9maW5kYnVncy9saWIvZmluZGJ1Z3MuamFyICBlZHUudW1kLmNzLmZpbmRidWdzLnVwZGF0ZXMuVXBkYXRlQ2hlY2tlcjwvcHJlPgotCi08cD5UaGVyZSBpcyBvbmUgZWxlbWVudCBvZiB0aGUgaW5mb3JtYXRpb24gc2VudCB0aGF0IG5lZWRzIGV4cGxhbmF0aW9uOiB0aGUgdXVpZC4gU2luY2Ugd2UgZG9uJ3QgcmVwb3J0IGFueXRoaW5nIGxpa2UgdXNlcm5hbWUsCi13aGVuIHdlIHJlY2VpdmUgYSBidW5jaCBvZiB1cGRhdGUgY2hlY2tzIGZyb20gYSBwYXJ0aWN1bGFyIGlwIGFkZHJlc3MsIHdlIGRvbid0IGtub3cgaWYgdGhhdCBpcyBvbmUgcGVyc29uIHJ1bm5pbmcgRmluZEJ1Z3MgbWFueSB0aW1lcwotb24gYSBzaW5nbGUgbWFjaGluZSwgb3IgbWFueSB1c2VycyBydW5uaW5nIEZpbmRCdWdzIG9uIG1hbnkgZGlmZmVyZW50IG1hY2hpbmVzICBTbyB3ZSBnZW5lcmF0ZSBhIHJhbmRvbSA2NCBiaXQgaW50ZWdlciwgCi1zdG9yZSBpdCBpbiB0aGUgSmF2YSB1c2VyIHByZWZlcmVuY2VzLCBhbmQgcmVwb3J0IHRoYXQgb24gZWFjaCB1c2UuCi0KLTxoMj5EaXNhYmxpbmcgb3IgcmVkaXJlY3RpbmcgdXBkYXRlIGNoZWNrczwvaDI+Ci08cD5Tb21lIG9yZ2FuaXphdGlvbnMgb3IgaW5kaXZpZHVhbHMgbWF5IGhhdmUgcG9saWNpZXMgb3IgcHJlZmVyZW5jZXMgdG8gbm90IGxldCB1cyBrbm93IGFueSBpbmZvcm1hdGlvbiBhYm91dCAKLXRoZWlyIHJ1bm5pbmcgb2YgRmluZEJ1Z3MuIE5vdGUgdGhhdCB3ZSBkbyBub3QgY29sbGVjdCBhbnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvZGUgYmVpbmcgYW5hbHV6ZWQuIAotRXZlbiBzbywgd2UgdW5kZXJzdGFuZCB0aGF0IGlzIHZlcnkgaW1wb3J0YW50IGZvciBhIGZldyBvZiBvdXIgdXNlcnMsCi0gYW5kIHByb3ZpZGUgc2V2ZXJhbCB3YXlzIGZvciB5b3UgdG8gZGlzYWJsZSBvciByZWRpcmVjdCBGaW5kQnVncyB1cGRhdGUgY2hlY2tzLgotPHVsPgotPGxpPlRoZXJlIGlzIGEgRmluZEJ1Z3MgcGx1Z2luLCBub1VwZGF0ZUNoZWNrcy5qYXIsIHdoaWNoIGlzIGluIGZpbmRidWdzL29wdGlvbmFsUGx1Z2luIGluIHRoZSBzdGFuZGFyZCBkaXN0cmlidXRpb24uCi1JZiB0aGlzIHBsdWdpbiBlbmFibGVkLCBhbGwgdXBkYXRlIGNoZWNrcyBhcmUgZGlzYWJsZWQuIFlvdSBjYW4gbW92ZSB0aGF0IHBsdWdpbiBmcm9tIGZpbmRidWdzL29wdGlvbmFsUGx1Z2luIHRvIGZpbmRidWdzL3BsdWdpbiwKLXRvIGRpc2FibGUgaXQgZm9yIGFsbCB1c2VycyBvZiB0aGF0IGRpc3RyaWJ1dGlvbi4gWW91IGNhbiBhbHNvIGNvcHkgaXQgdG8gPHByZT5+Ly5maW5kYnVncy9wbHVnaW48L3ByZT4sCi13aGljaCB3aWxsIGRpc2FibGUgaXQgZm9yIHlvdXIgYWNjb3VudCBmb3IgYW55IGRpc3RyaWJ1dGlvbiBvZiBGaW5kQnVncyB5b3UgaW52b2tlIChOT1RFOiBkb3VibGUgY2hlY2sgbG9jYXRpb24KLW9mIHBlcnNvbmFsIEZpbmRCdWdzIHBsdWdpbiBpbnN0YWxsYXRpb24gZm9yIFdpbmRvd3MgVXNlcikuCi08bGk+VGhlcmUgYXJlIG5vVXBkYXRlQ2hlY2tzIGRpc3RyaWJ1dGlvbnMgb2YgRmluZEJ1Z3MgYXZhaWxhYmxlIGZyb20gU291cmNlRm9yZ2UuIFRoaXMgY29tZSB3aXRoIHRoZSBub1VwZGF0ZUNoZWNrcyBwbHVnaW4KLWFscmVhZHkgbW92ZWQgdG8gZmluZGJ1Z3MvcGx1Z2luLCBhbmQgdGhlIHdlYkNsb3VkQ2xpZW50LmphciBwbHVnIGluIHRoZSBvcHRpb25hbCBwbHVnaW4gZGlyZWN0b3J5ICh3aGVyZSBpdCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0KS4KLQotPGxpPllvdSBjYW4gYWxzbyByZWRpcmVjdCBhbGwgdXBkYXRlIGNoZWNrcyB0byBhIGxvY2FsIHNlcnZlci4gVGhpcyBhbGxvd3MgeW91IHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgd2hvIGlzIHVzaW5nCi13aGF0IHZlcnNpb25zIG9mIEZpbmRCdWdzIGluIHlvdXIgb3JnYW5pemF0aW9uLCBhbmQga2VlcCBhbGwgb2YgdGhhdCBpbmZvcm1hdGlvbiBwcml2YXRlLgotPGxpPkFsbCBvZiB0aGUgcGx1Z2lucyBmcm9tIHRoZSBGaW5kQnVncyBwcm9qZWN0IHVzZSA8cHJlPmh0dHA6Ly91cGRhdGUuZmluZGJ1Z3Mub3JnL3VwZGF0ZS1jaGVjazwvcHJlPiBhcyB0aGUgCi1ob3N0IHdlIHVzZSBmb3IgdXBkYXRlIGNoZWNrcy4gSWYgeW91IHdpc2ggdG8gZW5zdXJlIHRoYXQgbm8gb25lIGZyb20geW91ciBvcmdhbml6YXRpb24gYWNjaWRlbnRseSByZXBvcnRzIGFueSB1c2FnZQotaW5mb3JtYXRpb24gdG8gdGhlIEZpbmRCdWdzIHByb2plY3QsIHlvdSBjYW4gYmxhY2tsaXN0IHRoYXQgVVJMIGluIHlvdXIgZmlyZXdhbGwgCi08dWw+Ci08bGk+WW91IGNhbiBhbHNvIGJsb2NrIDxwcmU+aHR0cDovL2ZpbmRidWdzLWNsb3VkLmFwcHNwb3QuY29tPC9wcmU+LCB0aGUgaG9zdCB3ZSB1c2UgZm9yIG91ciBwdWJsaWNseSBob3N0ZWQKLXJlcG9zaXRvcnkgb2YgYnVnIGV2YWx1YXRpb25zIChlLmcuLCBldmFsdWF0aW9ucyBpbiBvcGVuIHNvdXJjZSBwcm9qZWN0cyBzdWNoIGFzIHRoZSBKREssIEVjbGlwc2UgYW5kIEdsYXNzRmlzaCkuCi1XaGlsZSBwZW9wbGUgaGF2ZSB0byBleHBsaWNpdGx5IHJlcXVlc3QgdGhhdCB0aGVpciBldmFsdWF0aW9ucyBiZSBzdG9yZWQgaW50byB0aGUgRmluZEJ1Z3MgY2xvdWQsIHlvdSAKLWNhbiBibG9jayBpdCB0byBlbnN1cmUgdGhhdCBubyBvbmUgYWNjaWRlbnRseSBzaGFyZXMgZXZhbHVhdGlvbnMgb2YgeW91ciBvd24gY29kZSB0byB0aGUgRmluZEJ1Z3MgY2xvdWQuIFlvdSBjYW4gYWxzbwotcmVtb3ZlIHRoZSBXZWJDbG91ZENsaWVudCAKLQotPC91bD4KLTwvbGk+Ci08L3VsPgotCi0JCQkKLQkJPC90cj4KLQk8L3RhYmxlPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9kb2MvdXNlcnMuaHRtbCBiL3Rvb2xzL2ZpbmRidWdzL2RvYy91c2Vycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2VmZTE1Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2RvYy91c2Vycy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTk5ICswLDAgQEAKLTxodG1sPgotCTxoZWFkPgotCQk8dGl0bGU+RmluZEJ1Z3MmdHJhZGU7IFVzZXJzIGFuZCBTdXBwb3J0ZXJzPC90aXRsZT4KLQkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iZmluZGJ1Z3MuY3NzIiAvPgotCQkKLQk8L2hlYWQ+Ci0KLQk8Ym9keT4KLQotCQk8dGFibGUgd2lkdGg9IjEwMCUiPgotCQkJPHRyPgotCi0JCQkJCi08dGQgYmdjb2xvcj0iI2I5YjlmZSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiB3aWR0aD0iMjAlIj4gCi08dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiPiAKLTx0cj48dGQ+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1bWRGaW5kYnVncy5wbmciIGFsdD0iRmluZEJ1Z3MiPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48Yj5Eb2NzIGFuZCBJbmZvPC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmluZGJ1Z3MyLmh0bWwiPkZpbmRCdWdzIDIuMDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkZW1vLmh0bWwiPkRlbW8gYW5kIGRhdGE8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0idXNlcnMuaHRtbCI+VXNlcnMgYW5kIHN1cHBvcnRlcnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL2ZpbmRidWdzLmJsb2dzcG90LmNvbS8iPkZpbmRCdWdzIGJsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iZmFjdFNoZWV0Lmh0bWwiPkZhY3Qgc2hlZXQ8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFudWFsL2luZGV4Lmh0bWwiPk1hbnVhbDwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJqYS9tYW51YWwvaW5kZXguaHRtbCI+TWFudWFsKGphLyYjMjYwODU7JiMyNjQxMjsmIzM1NDg2Oyk8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iRkFRLmh0bWwiPkZBUTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJidWdEZXNjcmlwdGlvbnMuaHRtbCI+QnVnIGRlc2NyaXB0aW9uczwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJtYWlsaW5nTGlzdHMuaHRtbCI+TWFpbGluZyBsaXN0czwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJwdWJsaWNhdGlvbnMuaHRtbCI+RG9jdW1lbnRzIGFuZCBQdWJsaWNhdGlvbnM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibGlua3MuaHRtbCI+TGlua3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJkb3dubG9hZHMuaHRtbCI+PGI+RG93bmxvYWRzPC9iPjwvYT48L3RkPjwvdHI+IAotCi08dHI+PHRkPiZuYnNwOzwvdGQ+PC90cj4KLQotPHRyPjx0ZD48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3d3dy5jYWZlc2hvcHMuY29tL2ZpbmRidWdzIj48Yj5GaW5kQnVncyBTd2FnPC9iPjwvYT48L3RkPjwvdHI+Ci0KLTx0cj48dGQ+Jm5ic3A7PC90ZD48L3RyPgotCi08dHI+PHRkPjxiPkRldmVsb3BtZW50PC9iPjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD05NjQwNSI+T3BlbiBidWdzPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9InJlcG9ydGluZ0J1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3M8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iY29udHJpYnV0aW5nLmh0bWwiPkNvbnRyaWJ1dGluZzwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJ0ZWFtLmh0bWwiPkRldiB0ZWFtPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9ImFwaS9pbmRleC5odG1sIj5BUEk8L2E+IDxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJhcGkvb3ZlcnZpZXctc3VtbWFyeS5odG1sIj5bbm8gZnJhbWVzXTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJDaGFuZ2VzLmh0bWwiPkNoYW5nZSBsb2c8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08dHI+PHRkPjxmb250IHNpemU9Ii0xIj48YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9maW5kYnVncyI+U0YgcHJvamVjdCBwYWdlPC9hPjwvZm9udD48L3RkPjwvdHI+IAotPHRyPjx0ZD48Zm9udCBzaXplPSItMSI+PGEgY2xhc3M9InNpZGViYXIiIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9maW5kYnVncy9zb3VyY2UvYnJvd3NlLyI+QnJvd3NlIHNvdXJjZTwvYT48L2ZvbnQ+PC90ZD48L3RyPiAKLTx0cj48dGQ+PGZvbnQgc2l6ZT0iLTEiPjxhIGNsYXNzPSJzaWRlYmFyIiBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmluZGJ1Z3Mvc291cmNlL2xpc3QiPkxhdGVzdCBjb2RlIGNoYW5nZXM8L2E+PC9mb250PjwvdGQ+PC90cj4gCi08L3RhYmxlPiAKLTwvdGQ+Ci0KLQkJCQk8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KLQotCQkJCQk8IS0tICAKLTxwPgotCTxhIGhyZWY9Imh0dHA6Ly9maW5kYnVncy5zb3VyY2Vmb3JnZS5uZXQvIj48aW1nIHNyYz0iYnVnZ3ktc20ucG5nIiBhbHQ9IkZpbmRCdWdzIGxvZ28iIGJvcmRlcj0iMCIgLz48L2E+Ci0JPGEgaHJlZj0iaHR0cDovL3d3dy51bWQuZWR1LyI+PGltZyBzcmM9ImluZm9ybWFsLnBuZyIgYWx0PSJVTUQgbG9nbyIgYm9yZGVyPSIwIiAvPjwvYT4KLTwvcD4KLS0tPgotCi0JCQkJCTxoMT4KLQkJCQkJCUZpbmRCdWdzIFVzZXJzCi0JCQkJCTwvaDE+Ci0KLQkJCQkJPHA+Ci0JCQkJCQlUaGVyZSBhcmUgYQotCQkJCQkJPGVtPmxvdDwvZW0+IG9mIEZpbmRCdWdzIHVzZXJzOyBhcyBvZiBTZXB0ZW1iZXIgMjAwNiwgd2UndmUgaGFkCi0JCQkJCQltb3JlIHRoYW4gMjcwLDAwMCBkb3dubG9hZHMuCi0KLQkJCQkJPC9wPgotCQkJCQk8cD4KLQkJCQkJCUZpbmRCdWdzIGlzIHVzZWQgaW4gbWFueSBjb21wYW5pZXMgYW5kIG9yZ2FuaXphdGlvbnMuIFdlIGRvbid0Ci0JCQkJCQloYXZlIGEgbGlzdCBvZiBhbGwgdGhlIHVzZXJzIG9mIEZpbmRCdWdzLCBhbmQgd2UgZG9uJ3QgaGF2ZQotCQkJCQkJcGVybWlzc2lvbiB0byBpZGVudGlmeSBtYW55IG9mIHRoZSBjb21wYW5pZXMgd2hlcmUgd2Uga25vdwotCQkJCQkJRmluZEJ1Z3MgaXMgYmVpbmcgdXNlZCAoZ2V0dGluZyB0aGlzIHBlcm1pc3Npb24gb2Z0ZW4gaW52b2x2ZXMgcmVkCi0JCQkJCQl0YXBlIGFuZCBsYXd5ZXJzKS4gQnV0IGhlcmUgYXJlIHNvbWUgc3RhdGljcyBmcm9tIEdvb2dsZSBBbmFseXRpY3MKLQkJCQkJCXNob3dpbmcgdW5pcXVlIHZpc2l0b3JzIHRvIHRoZSBGaW5kQnVncyB3ZWIgcGFnZXMgZm9yIHRoZSBtb250aHMKLQkJCQkJCW9mIEp1bmUgdGhyb3VnaCBBdWd1c3QsIDIwMDYuCi0KLQkJCQkJPC9wPgotCQkJCQk8cCBhbGlnbj0iY2VudGVyIj4KLQkJCQkJCTxpbWcgc3JjPSJjdXN0b21lcnMvZ2VvTG9jYXRpb24ucG5nIiBhbHQ9IkRvd25sb2FkcyBieSBjb3VudHJ5Ij4KLQkJCQkJPC9wPgotCQkJCQk8cCBhbGlnbj0iY2VudGVyIj4KLQkJCQkJCTxpbWcgc3JjPSJjdXN0b21lcnMvZ2VvTWFwLnBuZyIgYWx0PSJDaXRpZXMgd2l0aCB0aGUgbW9zdCBkb3dubG9hZHMiPgotCi0JCQkJCTwvcD4KLQkJCQkJPGgyPgotCQkJCQkJRmluZEJ1Z3MgVXNlcnMKLQkJCQkJPC9oMj4KLQkJCQkJPHA+Ci0JCQkJCQlUaGUgZm9sbG93aW5nIGNvbXBhbmllcywgcHJvamVjdHMgYW5kIG9yZ2FuaXphdGlvbnMgaGF2ZSBnaXZlbiB1cwotCQkJCQkJcGVybWlzc2lvbiB0byBpZGVudGlmeSB0aGVtIGFzIEZpbmRCdWdzIHVzZXJzIGFuZC9vciBoYXZlCi0JCQkJCQlwdWJsaWNhbGx5IHN0YXRlZCB0aGF0IHRoZXkgdXNlIEZpbmRCdWdzLiBTZW5kIGVtYWlsIHRvCi0JCQkJCQk8YSBocmVmPSJtYWlsdG86ZmluZGJ1Z3NAY3MudW1kLmVkdSI+ZmluZGJ1Z3NAY3MudW1kLmVkdTwvYT4gaWYKLQkJCQkJCXlvdSdkIGxpa2UgdG8gYmUgbGlzdGVkIGhlcmUuCi0JCQkJCTwvcD4KLQotCQkJCQk8dGFibGUgY2VsbHBhZGRpbmc9IjEwcHQiIGFsaWduPSJjZW50ZXIiPgotCQkJCQkJPHRyPgotCQkJCQkJCTx0ZCBhbGlnbj0iY2VudGVyIj4KLQkJCQkJCQkJPGEgaHJlZj0iaHR0cDovL2l0YXNvZnR3YXJlLmNvbS8iPjxpbWcKLQkJCQkJCQkJCQlzcmM9ImN1c3RvbWVycy9JVEFzb2Z0d2FyZS5wbmciIGFsdD0iSVRBIFNvZnR3YXJlIj4KLQkJCQkJCQkJPC9hPgotCQkJCQkJCTwvdGQ+Ci0JCQkJCQkJPHRkIGFsaWduPSJjZW50ZXIiPgotCQkJCQkJCQk8YSBocmVmPSJodHRwczovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvIj48aW1nCi0JCQkJCQkJCQkJc3JjPSJjdXN0b21lcnMvZ2xhc3NmaXNoLnBuZyIgYWx0PSJHbGFzc2Zpc2giPgotCQkJCQkJCQk8L2E+Ci0JCQkJCQkJPC90ZD4KLQkJCQkJCTwvdHI+Ci0JCQkJCQk8dHI+Ci0JCQkJCQkJPHRkIGFsaWduPSJjZW50ZXIiPgotCQkJCQkJCQk8YSBocmVmPSJodHRwczovL2phdmFzZXJ2ZXJmYWNlcy5kZXYuamF2YS5uZXQvIj5KYXZhIFNlcnZlcgotCQkJCQkJCQkJRmFjZXM8L2E+Ci0JCQkJCQkJPC90ZD4KLQkJCQkJCQk8dGQgYWxpZ249ImNlbnRlciI+Ci0JCQkJCQkJCTxhIGhyZWY9Imh0dHA6Ly93d3cub2JqZWN0bGFiLmNvLnVrLyI+PGltZwotCQkJCQkJCQkJCXNyYz0iaHR0cDovL3d3dy5vYmplY3RsYWIuY28udWsvaW1hZ2VzL29iamVjdGxhYi13ZWItbm9ibHVlLmdpZiIKLQkJCQkJCQkJCQlhbHQ9Ik9iamVjdExhYiI+Ci0JCQkJCQkJCTwvYT4KLQkJCQkJCQk8L3RkPgotCQkJCQkJPC90cj4KLQkJCQkJCTx0cj4KLQkJCQkJCQk8dGQgYWxpZ249ImNlbnRlciI+Ci0JCQkJCQkJCTxhIGhyZWY9Imh0dHA6Ly93d3cuc2F0NGoub3JnLyI+PGltZwotCQkJCQkJCQkJCXNyYz0iY3VzdG9tZXJzL3NhdDRqLnBuZyIgYWx0PSJTQVQgNGoiPgotCQkJCQkJCQk8L2E+Ci0JCQkJCQkJPC90ZD4KLQkJCQkJCQk8dGQgYWxpZ249ImNlbnRlciI+Ci0JCQkJCQkJCTxhIGhyZWY9Imh0dHA6Ly93d3cuc2xlZXB5Y2F0LmNvbS8iPjxpbWcKLQkJCQkJCQkJCQlzcmM9ImN1c3RvbWVycy9zbGVlcHljYXQucG5nIiBhbHQ9IlNsZWVweUNhdCI+Ci0JCQkJCQkJCTwvYT4KLQkJCQkJCQk8L3RkPgotCQkJCQkJPC90cj4KLQkJCQkJPC90YWJsZT4KLQkJCQkJPGgyPgotCQkJCQkJRmluZEJ1Z3MgU3VwcG9ydGVycwotCQkJCQk8L2gyPgotCQkJCQk8cD4KLQkJCQkJCVRoZSBmb2xsb3dpbmcgY29tcGFuaWVzLCBvcmdhbml6YXRpb25zIGFuZCBpbnN0aXR1dGlvbnMgcHJvdmlkZQotCQkJCQkJZmluYW5jaWFsIHN1cHBvcnQgZm9yIEZpbmRCdWdzLiBUYXggZGVkdWN0YWJsZSBkb25hdGlvbnMgdG8KLQkJCQkJCXN1cHBvcnQgRmluZEJ1Z3MgY2FuIGJlIG1hZGUgdG8gdGhlIFVuaXZlcnNpdHkgb2YgTWFyeWxhbmQuCi0KLQkJCQkJPC9wPgotCi0JCQkJCTx0YWJsZSBjZWxscGFkZGluZz0iMTBwdCIgYWxpZ249ImNlbnRlciI+Ci0JCQkJCQkKLQkJCQkJCTx0cj4KLQkJCQkJCQk8dGQgYWxpZ249ImNlbnRlciI+Ci0JCQkJCQkJCTxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbSI+PGltZwotCQkJCQkJCQkJCXNyYz0iY3VzdG9tZXJzL2dvb2dsZS5wbmciIGFsdD0iR29vZ2xlIj4KLQkJCQkJCQkJPC9hPgotCQkJCQkJCTwvdGQ+Ci0JCQkJCQk8L3RyPgotCQkJCQkJPHRyPgotCQkJCQkJCTx0ZCBhbGlnbj0iY2VudGVyIj4KLQkJCQkJCQkJPGEgaHJlZj0iaHR0cDovL3d3dy5zdW4uY29tIj48aW1nIHNyYz0iY3VzdG9tZXJzL3N1bi5wbmciCi0JCQkJCQkJCQkJYWx0PSJTdW4gTWljcm9zeXN0ZW1zIj4KLQkJCQkJCQkJPC9hPgotCQkJCQkJCTwvdGQ+Ci0JCQkJCQkJPHRkIGFsaWduPSJjZW50ZXIiPgotCQkJCQkJCQk8YSBocmVmPSJodHRwOi8vd3d3Lm5zZi5nb3YvIj48aW1nIHNyYz0iY3VzdG9tZXJzL25zZi5wbmciCi0JCQkJCQkJCQkJYWx0PSJOYXRpb25hbCBTY2llbmNlIEZvdW5kYXRpb24iPgotCQkJCQkJCQk8L2E+Ci0JCQkJCQkJPC90ZD4KLQkJCQkJCTwvdHI+Ci0JCQkJCQk8dHI+Ci0JCQkJCQkJPHRkIGFsaWduPSJjZW50ZXIiPgotCQkJCQkJCQk8YSBocmVmPSJodHRwOi8vd3d3LmNzLnVtZC5lZHUvIj48aW1nCi0JCQkJCQkJCQkJc3JjPSJjdXN0b21lcnMvbG9nb191bWQucG5nIiBhbHQ9IlVuaXYuIG9mIE1hcnlsYW5kIj4KLQkJCQkJCQkJPC9hPgotCQkJCQkJCTwvdGQ+Ci0JCQkJCQk8L3RyPgotCQkJCQk8L3RhYmxlPgotCi0KLQkJCQkJCi08aHI+IDxwPiAKLTxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+IAotPCEtLS0vL2hpZGUgc2NyaXB0IGZyb20gb2xkIGJyb3dzZXJzIAotZG9jdW1lbnQud3JpdGUoICJMYXN0IHVwZGF0ZWQgIisgZG9jdW1lbnQubGFzdE1vZGlmaWVkICsgIi4iICk7IAotLy9lbmQgaGlkaW5nIGNvbnRlbnRzIC0tLT4gCi08L3NjcmlwdD4gCi08cD4gU2VuZCBjb21tZW50cyB0byA8YSBjbGFzcz0ic2lkZWJhciIgaHJlZj0ibWFpbHRvOmZpbmRidWdzQGNzLnVtZC5lZHUiPmZpbmRidWdzQGNzLnVtZC5lZHU8L2E+IAotPHA+IAotPEEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldCI+PElNRyBzcmM9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvc2Zsb2dvLnBocD9ncm91cF9pZD05NjQwNSZhbXA7dHlwZT01IiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjYyIiBib3JkZXI9IjAiIGFsdD0iU291cmNlRm9yZ2UubmV0IExvZ28iIC8+PC9BPgotCi0JCQkJPC90ZCBhbGlnbj0iY2VudGVyIj4KLQkJCTwvdHI+Ci0JCTwvdGFibGU+Ci0KLQk8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9saWIvYW5ub3RhdGlvbnMuamFyIGIvdG9vbHMvZmluZGJ1Z3MvbGliL2Fubm90YXRpb25zLmphcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY0MWFkNi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9saWIvYW5ub3RhdGlvbnMuamFyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGliL2FudC5qYXIgYi90b29scy9maW5kYnVncy9saWIvYW50LmphcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjY4YzljZi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9saWIvYW50LmphcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9hc20tMy4zLmphciBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9hc20tMy4zLmphcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzYzOGFlMC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9saWIvYXNtLTMuMy5qYXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9saWIvYXNtLWFuYWx5c2lzLTMuMy5qYXIgYi90b29scy9maW5kYnVncy9saWIvYXNtLWFuYWx5c2lzLTMuMy5qYXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1MmQ5ODEuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGliL2FzbS1hbmFseXNpcy0zLjMuamFyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGliL2FzbS1jb21tb25zLTMuMy5qYXIgYi90b29scy9maW5kYnVncy9saWIvYXNtLWNvbW1vbnMtMy4zLmphcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY5ZDQwZi4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9saWIvYXNtLWNvbW1vbnMtMy4zLmphcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9hc20tdHJlZS0zLjMuamFyIGIvdG9vbHMvZmluZGJ1Z3MvbGliL2FzbS10cmVlLTMuMy5qYXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhNWRhYTYuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGliL2FzbS10cmVlLTMuMy5qYXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9saWIvYXNtLXV0aWwtMy4zLmphciBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9hc20tdXRpbC0zLjMuamFyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTViY2M3Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9hc20tdXRpbC0zLjMuamFyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGliL2FzbS14bWwtMy4zLmphciBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9hc20teG1sLTMuMy5qYXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZDZhOGMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGliL2FzbS14bWwtMy4zLmphcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9iY2VsLmphciBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9iY2VsLmphcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmVmMjZiMS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9saWIvYmNlbC5qYXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9saWIvYnVnZ3kuaWNucyBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9idWdneS5pY25zCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMWY0NjYwLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9idWdneS5pY25zCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGliL2NvbW1vbnMtbGFuZy0yLjYuamFyIGIvdG9vbHMvZmluZGJ1Z3MvbGliL2NvbW1vbnMtbGFuZy0yLjYuamFyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ODQ2N2QzLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9jb21tb25zLWxhbmctMi42LmphcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9kb200ai0xLjYuMS5qYXIgYi90b29scy9maW5kYnVncy9saWIvZG9tNGotMS42LjEuamFyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGM0ZGJiLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9kb200ai0xLjYuMS5qYXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9saWIvZmluZGJ1Z3MtYW50LmphciBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9maW5kYnVncy1hbnQuamFyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzlhYWViLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9maW5kYnVncy1hbnQuamFyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGliL2ZpbmRidWdzLmphciBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9maW5kYnVncy5qYXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MzRiZDQuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGliL2ZpbmRidWdzLmphcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9qRm9ybWF0U3RyaW5nLmphciBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9qRm9ybWF0U3RyaW5nLmphcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRjYjg0Ni4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9saWIvakZvcm1hdFN0cmluZy5qYXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9saWIvamF4ZW4tMS4xLjYuamFyIGIvdG9vbHMvZmluZGJ1Z3MvbGliL2pheGVuLTEuMS42LmphcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJmNDdhNC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9saWIvamF4ZW4tMS4xLjYuamFyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGliL2pjaXAtYW5ub3RhdGlvbnMuamFyIGIvdG9vbHMvZmluZGJ1Z3MvbGliL2pjaXAtYW5ub3RhdGlvbnMuamFyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjA3YzBjLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9qY2lwLWFubm90YXRpb25zLmphcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9qZGVwZW5kLTIuOS5qYXIgYi90b29scy9maW5kYnVncy9saWIvamRlcGVuZC0yLjkuamFyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODM4YmJiLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9qZGVwZW5kLTIuOS5qYXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9saWIvanNyMzA1LmphciBiL3Rvb2xzL2ZpbmRidWdzL2xpYi9qc3IzMDUuamFyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzM5YjczLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi9qc3IzMDUuamFyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGliL3lqcC1jb250cm9sbGVyLWFwaS1yZWRpc3QuamFyIGIvdG9vbHMvZmluZGJ1Z3MvbGliL3lqcC1jb250cm9sbGVyLWFwaS1yZWRpc3QuamFyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjE0NDY5Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpYi95anAtY29udHJvbGxlci1hcGktcmVkaXN0LmphcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtQVNNLnR4dCBiL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtQVNNLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzVhZDA4NS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9saWNlbnNlcy9MSUNFTlNFLUFTTS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Db3B5cmlnaHQgKGMpIDIwMDAtMjAwNSBJTlJJQSwgRnJhbmNlIFRlbGVjb20KLUFsbCByaWdodHMgcmVzZXJ2ZWQuCi0KLVJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi1hcmUgbWV0OgotCi0xLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotCi0yLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLQotMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlcnMgbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotCi1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKLUFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLUlNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi1BUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUKLUxJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLUNPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi1TVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLUlOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi1DT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1BcHBsZUphdmFFeHRlbnNpb25zLnR4dCBiL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtQXBwbGVKYXZhRXh0ZW5zaW9ucy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiNzIzYjQuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1BcHBsZUphdmFFeHRlbnNpb25zLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUFwcGxlSmF2YUV4dGVuc2lvbnMKLXYgMS4yCi0KLVRoaXMgaXMgYSBwbHVnZ2FibGUgamFyIG9mIHN0dWIgY2xhc3NlcyByZXByZXNlbnRpbmcgdGhlIG5ldyBBcHBsZSBlQVdUIGFuZCBlSU8gQVBJcyBmb3IgSmF2YSAxLjQgb24gTWFjIE9TIFguICBUaGUgcHVycG9zZSBvZiB0aGVzZSBzdHVicyBpcyB0byBhbGxvdyBmb3IgY29tcGlsYXRpb24gb2YgZUFXVC0gb3IgZUlPLXJlZmVyZW5jaW5nIGNvZGUgb24gcGxhdGZvcm1zIG90aGVyIHRoYW4gTWFjIE9TIFguICBUaGUgamFyIGZpbGUgaXMgZW5jbG9zZWQgaW4gYSB6aXAgYXJjaGl2ZSBmb3IgZWFzeSBleHBhbnNpb24gb24gb3RoZXIgcGxhdGZvcm1zLiAgCi0KLVRoZXNlIHN0dWJzIGFyZSBub3QgaW50ZW5kZWQgZm9yIHRoZSBydW50aW1lIGNsYXNzcGF0aCBvbiBub24tTWFjIHBsYXRmb3Jtcy4gIFBsZWFzZSBzZWUgdGhlIE9TWEFkYXB0ZXIgc2FtcGxlIGZvciBob3cgdG8gd3JpdGUgY3Jvc3MtcGxhdGZvcm0gY29kZSB0aGF0IHVzZXMgZUFXVC4KLQotRGlzY2xhaW1lcjogSU1QT1JUQU5UOiAgVGhpcyBBcHBsZSBzb2Z0d2FyZSBpcyBzdXBwbGllZCB0byB5b3UgYnkgQXBwbGUKLUNvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBpbiBjb25zaWRlcmF0aW9uIG9mIHlvdXIgYWdyZWVtZW50IHRvIHRoZQotZm9sbG93aW5nIHRlcm1zLCBhbmQgeW91ciB1c2UsIGluc3RhbGxhdGlvbiwgbW9kaWZpY2F0aW9uIG9yCi1yZWRpc3RyaWJ1dGlvbiBvZiB0aGlzIEFwcGxlIHNvZnR3YXJlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlc2UKLXRlcm1zLiAgSWYgeW91IGRvIG5vdCBhZ3JlZSB3aXRoIHRoZXNlIHRlcm1zLCBwbGVhc2UgZG8gbm90IHVzZSwKLWluc3RhbGwsIG1vZGlmeSBvciByZWRpc3RyaWJ1dGUgdGhpcyBBcHBsZSBzb2Z0d2FyZS4KLQotSW4gY29uc2lkZXJhdGlvbiBvZiB5b3VyIGFncmVlbWVudCB0byBhYmlkZSBieSB0aGUgZm9sbG93aW5nIHRlcm1zLCBhbmQKLXN1YmplY3QgdG8gdGhlc2UgdGVybXMsIEFwcGxlIGdyYW50cyB5b3UgYSBwZXJzb25hbCwgbm9uLWV4Y2x1c2l2ZQotbGljZW5zZSwgdW5kZXIgQXBwbGUncyBjb3B5cmlnaHRzIGluIHRoaXMgb3JpZ2luYWwgQXBwbGUgc29mdHdhcmUgKHRoZQotIkFwcGxlIFNvZnR3YXJlIiksIHRvIHVzZSwgcmVwcm9kdWNlLCBtb2RpZnkgYW5kIHJlZGlzdHJpYnV0ZSB0aGUgQXBwbGUKLVNvZnR3YXJlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgaW4gc291cmNlIGFuZC9vciBiaW5hcnkgZm9ybXM7Ci1wcm92aWRlZCB0aGF0IGlmIHlvdSByZWRpc3RyaWJ1dGUgdGhlIEFwcGxlIFNvZnR3YXJlIGluIGl0cyBlbnRpcmV0eSBhbmQKLXdpdGhvdXQgbW9kaWZpY2F0aW9ucywgeW91IG11c3QgcmV0YWluIHRoaXMgbm90aWNlIGFuZCB0aGUgZm9sbG93aW5nCi10ZXh0IGFuZCBkaXNjbGFpbWVycyBpbiBhbGwgc3VjaCByZWRpc3RyaWJ1dGlvbnMgb2YgdGhlIEFwcGxlIFNvZnR3YXJlLiAKLU5laXRoZXIgdGhlIG5hbWUsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3Mgb3IgbG9nb3Mgb2YgQXBwbGUgQ29tcHV0ZXIsCi1JbmMuIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhlIEFwcGxlCi1Tb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbiBmcm9tIEFwcGxlLiAgRXhjZXB0Ci1hcyBleHByZXNzbHkgc3RhdGVkIGluIHRoaXMgbm90aWNlLCBubyBvdGhlciByaWdodHMgb3IgbGljZW5zZXMsIGV4cHJlc3MKLW9yIGltcGxpZWQsIGFyZSBncmFudGVkIGJ5IEFwcGxlIGhlcmVpbiwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotYW55IHBhdGVudCByaWdodHMgdGhhdCBtYXkgYmUgaW5mcmluZ2VkIGJ5IHlvdXIgZGVyaXZhdGl2ZSB3b3JrcyBvciBieQotb3RoZXIgd29ya3MgaW4gd2hpY2ggdGhlIEFwcGxlIFNvZnR3YXJlIG1heSBiZSBpbmNvcnBvcmF0ZWQuCi0KLVRoZSBBcHBsZSBTb2Z0d2FyZSBpcyBwcm92aWRlZCBieSBBcHBsZSBvbiBhbiAiQVMgSVMiIGJhc2lzLiAgQVBQTEUKLU1BS0VTIE5PIFdBUlJBTlRJRVMsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTgotVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLUZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgUkVHQVJESU5HIFRIRSBBUFBMRSBTT0ZUV0FSRSBPUiBJVFMgVVNFIEFORAotT1BFUkFUSU9OIEFMT05FIE9SIElOIENPTUJJTkFUSU9OIFdJVEggWU9VUiBQUk9EVUNUUy4KLQotSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwKLU9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi1TVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLUlOVEVSUlVQVElPTikgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFLCBSRVBST0RVQ1RJT04sCi1NT0RJRklDQVRJT04gQU5EL09SIERJU1RSSUJVVElPTiBPRiBUSEUgQVBQTEUgU09GVFdBUkUsIEhPV0VWRVIgQ0FVU0VECi1BTkQgV0hFVEhFUiBVTkRFUiBUSEVPUlkgT0YgQ09OVFJBQ1QsIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFKSwKLVNUUklDVCBMSUFCSUxJVFkgT1IgT1RIRVJXSVNFLCBFVkVOIElGIEFQUExFIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFCi1QT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotQ29weXJpZ2h0IKkgMjAwMy0yMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuLCBBbGwgUmlnaHRzIFJlc2VydmVkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1iY2VsLnR4dCBiL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtYmNlbC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjNTcyZTMuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1iY2VsLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIwNCArMCwwIEBACi0vKgotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQotICogICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0Ci0gKiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy8KLSAqCi0gKiAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJVVElPTgotICoKLSAqICAgMS4gRGVmaW5pdGlvbnMuCi0gKgotICogICAgICAiTGljZW5zZSIgc2hhbGwgbWVhbiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLAotICogICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KLSAqCi0gKiAgICAgICJMaWNlbnNvciIgc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGVudGl0eSBhdXRob3JpemVkIGJ5Ci0gKiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KLSAqCi0gKiAgICAgICJMZWdhbCBFbnRpdHkiIHNoYWxsIG1lYW4gdGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwKLSAqICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbgotICogICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAotICogICAgICAiY29udHJvbCIgbWVhbnMgKGkpIHRoZSBwb3dlciwgZGlyZWN0IG9yIGluZGlyZWN0LCB0byBjYXVzZSB0aGUKLSAqICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3IKLSAqICAgICAgb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCi0gKiAgICAgIG91dHN0YW5kaW5nIHNoYXJlcywgb3IgKGlpaSkgYmVuZWZpY2lhbCBvd25lcnNoaXAgb2Ygc3VjaCBlbnRpdHkuCi0gKgotICogICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5Ci0gKiAgICAgIGV4ZXJjaXNpbmcgcGVybWlzc2lvbnMgZ3JhbnRlZCBieSB0aGlzIExpY2Vuc2UuCi0gKgotICogICAgICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKLSAqICAgICAgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBzb2Z0d2FyZSBzb3VyY2UgY29kZSwgZG9jdW1lbnRhdGlvbgotICogICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLgotICoKLSAqICAgICAgIk9iamVjdCIgZm9ybSBzaGFsbCBtZWFuIGFueSBmb3JtIHJlc3VsdGluZyBmcm9tIG1lY2hhbmljYWwKLSAqICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dAotICogICAgICBub3QgbGltaXRlZCB0byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24sCi0gKiAgICAgIGFuZCBjb252ZXJzaW9ucyB0byBvdGhlciBtZWRpYSB0eXBlcy4KLSAqCi0gKiAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCi0gKiAgICAgIE9iamVjdCBmb3JtLCBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgTGljZW5zZSwgYXMgaW5kaWNhdGVkIGJ5IGEKLSAqICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrCi0gKiAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdykuCi0gKgotICogICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0Ci0gKiAgICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhlIFdvcmsgYW5kIGZvciB3aGljaCB0aGUKLSAqICAgICAgZWRpdG9yaWFsIHJldmlzaW9ucywgYW5ub3RhdGlvbnMsIGVsYWJvcmF0aW9ucywgb3Igb3RoZXIgbW9kaWZpY2F0aW9ucwotICogICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3NlcwotICogICAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KLSAqICAgICAgc2VwYXJhYmxlIGZyb20sIG9yIG1lcmVseSBsaW5rIChvciBiaW5kIGJ5IG5hbWUpIHRvIHRoZSBpbnRlcmZhY2VzIG9mLAotICogICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLgotICoKLSAqICAgICAgIkNvbnRyaWJ1dGlvbiIgc2hhbGwgbWVhbiBhbnkgd29yayBvZiBhdXRob3JzaGlwLCBpbmNsdWRpbmcKLSAqICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucwotICogICAgICB0byB0aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCB0aGF0IGlzIGludGVudGlvbmFsbHkKLSAqICAgICAgc3VibWl0dGVkIHRvIExpY2Vuc29yIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsgYnkgdGhlIGNvcHlyaWdodCBvd25lcgotICogICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YKLSAqICAgICAgdGhlIGNvcHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJzdWJtaXR0ZWQiCi0gKiAgICAgIG1lYW5zIGFueSBmb3JtIG9mIGVsZWN0cm9uaWMsIHZlcmJhbCwgb3Igd3JpdHRlbiBjb21tdW5pY2F0aW9uIHNlbnQKLSAqICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KLSAqICAgICAgY29tbXVuaWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlzdHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wgc3lzdGVtcywKLSAqICAgICAgYW5kIGlzc3VlIHRyYWNraW5nIHN5c3RlbXMgdGhhdCBhcmUgbWFuYWdlZCBieSwgb3Igb24gYmVoYWxmIG9mLCB0aGUKLSAqICAgICAgTGljZW5zb3IgZm9yIHRoZSBwdXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0Ci0gKiAgICAgIGV4Y2x1ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3BpY3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3aXNlCi0gKiAgICAgIGRlc2lnbmF0ZWQgaW4gd3JpdGluZyBieSB0aGUgY29weXJpZ2h0IG93bmVyIGFzICJOb3QgYSBDb250cmlidXRpb24uIgotICoKLSAqICAgICAgIkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKLSAqICAgICAgb24gYmVoYWxmIG9mIHdob20gYSBDb250cmlidXRpb24gaGFzIGJlZW4gcmVjZWl2ZWQgYnkgTGljZW5zb3IgYW5kCi0gKiAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLgotICoKLSAqICAgMi4gR3JhbnQgb2YgQ29weXJpZ2h0IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCi0gKiAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKLSAqICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKLSAqICAgICAgY29weXJpZ2h0IGxpY2Vuc2UgdG8gcmVwcm9kdWNlLCBwcmVwYXJlIERlcml2YXRpdmUgV29ya3Mgb2YsCi0gKiAgICAgIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIHN1YmxpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHRoZQotICogICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgotICoKLSAqICAgMy4gR3JhbnQgb2YgUGF0ZW50IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCi0gKiAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKLSAqICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKLSAqICAgICAgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBwYXRlbnQgbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsCi0gKiAgICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLAotICogICAgICB3aGVyZSBzdWNoIGxpY2Vuc2UgYXBwbGllcyBvbmx5IHRvIHRob3NlIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZQotICogICAgICBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSB0aGVpcgotICogICAgICBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCi0gKiAgICAgIHdpdGggdGhlIFdvcmsgdG8gd2hpY2ggc3VjaCBDb250cmlidXRpb24ocykgd2FzIHN1Ym1pdHRlZC4gSWYgWW91Ci0gKiAgICAgIGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhCi0gKiAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsKLSAqICAgICAgb3IgYSBDb250cmlidXRpb24gaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yayBjb25zdGl0dXRlcyBkaXJlY3QKLSAqICAgICAgb3IgY29udHJpYnV0b3J5IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcwotICogICAgICBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUKLSAqICAgICAgYXMgb2YgdGhlIGRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLgotICoKLSAqICAgNC4gUmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNlIGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUKLSAqICAgICAgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YgaW4gYW55IG1lZGl1bSwgd2l0aCBvciB3aXRob3V0Ci0gKiAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91Ci0gKiAgICAgIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgotICoKLSAqICAgICAgKGEpIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3IKLSAqICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCi0gKgotICogICAgICAoYikgWW91IG11c3QgY2F1c2UgYW55IG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCi0gKiAgICAgICAgICBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKLSAqCi0gKiAgICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcwotICogICAgICAgICAgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZAotICogICAgICAgICAgYXR0cmlidXRpb24gbm90aWNlcyBmcm9tIHRoZSBTb3VyY2UgZm9ybSBvZiB0aGUgV29yaywKLSAqICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YKLSAqICAgICAgICAgIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKLSAqCi0gKiAgICAgIChkKSBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cwotICogICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVzdAotICogICAgICAgICAgaW5jbHVkZSBhIHJlYWRhYmxlIGNvcHkgb2YgdGhlIGF0dHJpYnV0aW9uIG5vdGljZXMgY29udGFpbmVkCi0gKiAgICAgICAgICB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QKLSAqICAgICAgICAgIHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQotICogICAgICAgICAgb2YgdGhlIGZvbGxvd2luZyBwbGFjZXM6IHdpdGhpbiBhIE5PVElDRSB0ZXh0IGZpbGUgZGlzdHJpYnV0ZWQKLSAqICAgICAgICAgIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3IKLSAqICAgICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAotICogICAgICAgICAgd2l0aGluIGEgZGlzcGxheSBnZW5lcmF0ZWQgYnkgdGhlIERlcml2YXRpdmUgV29ya3MsIGlmIGFuZAotICogICAgICAgICAgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzCi0gKiAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCi0gKiAgICAgICAgICBkbyBub3QgbW9kaWZ5IHRoZSBMaWNlbnNlLiBZb3UgbWF5IGFkZCBZb3VyIG93biBhdHRyaWJ1dGlvbgotICogICAgICAgICAgbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUKLSAqICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAotICogICAgICAgICAgdGhhdCBzdWNoIGFkZGl0aW9uYWwgYXR0cmlidXRpb24gbm90aWNlcyBjYW5ub3QgYmUgY29uc3RydWVkCi0gKiAgICAgICAgICBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCi0gKgotICogICAgICBZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmlnaHQgc3RhdGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQKLSAqICAgICAgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucwotICogICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yCi0gKiAgICAgIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGFzIGEgd2hvbGUsIHByb3ZpZGVkIFlvdXIgdXNlLAotICogICAgICByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGgKLSAqICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KLSAqCi0gKiAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwKLSAqICAgICAgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCi0gKiAgICAgIGJ5IFlvdSB0byB0aGUgTGljZW5zb3Igc2hhbGwgYmUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCi0gKiAgICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLgotICogICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5Ci0gKiAgICAgIHRoZSB0ZXJtcyBvZiBhbnkgc2VwYXJhdGUgbGljZW5zZSBhZ3JlZW1lbnQgeW91IG1heSBoYXZlIGV4ZWN1dGVkCi0gKiAgICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KLSAqCi0gKiAgIDYuIFRyYWRlbWFya3MuIFRoaXMgTGljZW5zZSBkb2VzIG5vdCBncmFudCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgdHJhZGUKLSAqICAgICAgbmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhlIExpY2Vuc29yLAotICogICAgICBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKLSAqICAgICAgb3JpZ2luIG9mIHRoZSBXb3JrIGFuZCByZXByb2R1Y2luZyB0aGUgY29udGVudCBvZiB0aGUgTk9USUNFIGZpbGUuCi0gKgotICogICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKLSAqICAgICAgYWdyZWVkIHRvIGluIHdyaXRpbmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaAotICogICAgICBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCi0gKiAgICAgIGltcGxpZWQsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBhbnkgd2FycmFudGllcyBvciBjb25kaXRpb25zCi0gKiAgICAgIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFksIG9yIEZJVE5FU1MgRk9SIEEKLSAqICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCi0gKiAgICAgIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBvciByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBhbmQgYXNzdW1lIGFueQotICogICAgICByaXNrcyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZiBwZXJtaXNzaW9ucyB1bmRlciB0aGlzIExpY2Vuc2UuCi0gKgotICogICA4LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4gSW4gbm8gZXZlbnQgYW5kIHVuZGVyIG5vIGxlZ2FsIHRoZW9yeSwKLSAqICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsCi0gKiAgICAgIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5Ci0gKiAgICAgIG5lZ2xpZ2VudCBhY3RzKSBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc2hhbGwgYW55IENvbnRyaWJ1dG9yIGJlCi0gKiAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwKLSAqICAgICAgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhCi0gKiAgICAgIHJlc3VsdCBvZiB0aGlzIExpY2Vuc2Ugb3Igb3V0IG9mIHRoZSB1c2Ugb3IgaW5hYmlsaXR5IHRvIHVzZSB0aGUKLSAqICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLAotICogICAgICB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAotICogICAgICBvdGhlciBjb21tZXJjaWFsIGRhbWFnZXMgb3IgbG9zc2VzKSwgZXZlbiBpZiBzdWNoIENvbnRyaWJ1dG9yCi0gKiAgICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KLSAqCi0gKiAgIDkuIEFjY2VwdGluZyBXYXJyYW50eSBvciBBZGRpdGlvbmFsIExpYWJpbGl0eS4gV2hpbGUgcmVkaXN0cmlidXRpbmcKLSAqICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZb3UgbWF5IGNob29zZSB0byBvZmZlciwKLSAqICAgICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFuY2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0eSwKLSAqICAgICAgb3Igb3RoZXIgbGlhYmlsaXR5IG9ibGlnYXRpb25zIGFuZC9vciByaWdodHMgY29uc2lzdGVudCB3aXRoIHRoaXMKLSAqICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlvdSBtYXkgYWN0IG9ubHkKLSAqICAgICAgb24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKLSAqICAgICAgb2YgYW55IG90aGVyIENvbnRyaWJ1dG9yLCBhbmQgb25seSBpZiBZb3UgYWdyZWUgdG8gaW5kZW1uaWZ5LAotICogICAgICBkZWZlbmQsIGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkKLSAqICAgICAgaW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgotICogICAgICBvZiB5b3VyIGFjY2VwdGluZyBhbnkgc3VjaCB3YXJyYW50eSBvciBhZGRpdGlvbmFsIGxpYWJpbGl0eS4KLSAqCi0gKiAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwotICoKLSAqICAgQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLgotICoKLSAqICAgICAgVG8gYXBwbHkgdGhlIEFwYWNoZSBMaWNlbnNlIHRvIHlvdXIgd29yaywgYXR0YWNoIHRoZSBmb2xsb3dpbmcKLSAqICAgICAgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIgotICogICAgICByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9uJ3QgaW5jbHVkZQotICogICAgICB0aGUgYnJhY2tldHMhKSAgVGhlIHRleHQgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHRoZSBhcHByb3ByaWF0ZQotICogICAgICBjb21tZW50IHN5bnRheCBmb3IgdGhlIGZpbGUgZm9ybWF0LiBXZSBhbHNvIHJlY29tbWVuZCB0aGF0IGEKLSAqICAgICAgZmlsZSBvciBjbGFzcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwdXJwb3NlIGJlIGluY2x1ZGVkIG9uIHRoZQotICogICAgICBzYW1lICJwcmludGVkIHBhZ2UiIGFzIHRoZSBjb3B5cmlnaHQgbm90aWNlIGZvciBlYXNpZXIKLSAqICAgICAgaWRlbnRpZmljYXRpb24gd2l0aGluIHRoaXJkLXBhcnR5IGFyY2hpdmVzLgotICoKLSAqICAgQ29weXJpZ2h0IFt5eXl5XSBbbmFtZSBvZiBjb3B5cmlnaHQgb3duZXJdCi0gKgotICogICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqCi0gKiAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1jb21tb25zLWxhbmcudHh0IGIvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1jb21tb25zLWxhbmcudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjQ1Njk1Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtY29tbW9ucy1sYW5nLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIwMiArMCwwIEBACi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwYWNoZSBMaWNlbnNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0Ci0gICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvCi0KLSAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJVVElPTgotCi0gICAxLiBEZWZpbml0aW9ucy4KLQotICAgICAgIkxpY2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwKLSAgICAgIGFuZCBkaXN0cmlidXRpb24gYXMgZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgotCi0gICAgICAiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieQotICAgICAgdGhlIGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgotCi0gICAgICAiTGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsCi0gICAgICBvdGhlciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCi0gICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAotICAgICAgImNvbnRyb2wiIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlCi0gICAgICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgotICAgICAgb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCi0gICAgICBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgotCi0gICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5Ci0gICAgICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgotCi0gICAgICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKLSAgICAgIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24KLSAgICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCi0KLSAgICAgICJPYmplY3QiIGZvcm0gc2hhbGwgbWVhbiBhbnkgZm9ybSByZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsCi0gICAgICB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0Ci0gICAgICBub3QgbGltaXRlZCB0byBjb21waWxlZCBvYmplY3QgY29kZSwgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24sCi0gICAgICBhbmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEgdHlwZXMuCi0KLSAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCi0gICAgICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsIGFzIGluZGljYXRlZCBieSBhCi0gICAgICBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsKLSAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdykuCi0KLSAgICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QKLSAgICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhlIFdvcmsgYW5kIGZvciB3aGljaCB0aGUKLSAgICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlvbnMKLSAgICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzCi0gICAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KLSAgICAgIHNlcGFyYWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKLSAgICAgIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCi0KLSAgICAgICJDb250cmlidXRpb24iIHNoYWxsIG1lYW4gYW55IHdvcmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nCi0gICAgICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zCi0gICAgICB0byB0aGF0IFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCB0aGF0IGlzIGludGVudGlvbmFsbHkKLSAgICAgIHN1Ym1pdHRlZCB0byBMaWNlbnNvciBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIKLSAgICAgIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZgotICAgICAgdGhlIGNvcHlyaWdodCBvd25lci4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJzdWJtaXR0ZWQiCi0gICAgICBtZWFucyBhbnkgZm9ybSBvZiBlbGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdyaXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50Ci0gICAgICB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwotICAgICAgY29tbXVuaWNhdGlvbiBvbiBlbGVjdHJvbmljIG1haWxpbmcgbGlzdHMsIHNvdXJjZSBjb2RlIGNvbnRyb2wgc3lzdGVtcywKLSAgICAgIGFuZCBpc3N1ZSB0cmFja2luZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFnZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlCi0gICAgICBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQKLSAgICAgIGV4Y2x1ZGluZyBjb21tdW5pY2F0aW9uIHRoYXQgaXMgY29uc3BpY3VvdXNseSBtYXJrZWQgb3Igb3RoZXJ3aXNlCi0gICAgICBkZXNpZ25hdGVkIGluIHdyaXRpbmcgYnkgdGhlIGNvcHlyaWdodCBvd25lciBhcyAiTm90IGEgQ29udHJpYnV0aW9uLiIKLQotICAgICAgIkNvbnRyaWJ1dG9yIiBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKLSAgICAgIG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZAotICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCi0KLSAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAotICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKLSAgICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAotICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCi0gICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgotCi0gICAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKLSAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKLSAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCi0gICAgICAoZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKLSAgICAgIHVzZSwgb2ZmZXIgdG8gc2VsbCwgc2VsbCwgaW1wb3J0LCBhbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBXb3JrLAotICAgICAgd2hlcmUgc3VjaCBsaWNlbnNlIGFwcGxpZXMgb25seSB0byB0aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vuc2FibGUKLSAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyCi0gICAgICBDb250cmlidXRpb24ocykgYWxvbmUgb3IgYnkgY29tYmluYXRpb24gb2YgdGhlaXIgQ29udHJpYnV0aW9uKHMpCi0gICAgICB3aXRoIHRoZSBXb3JrIHRvIHdoaWNoIHN1Y2ggQ29udHJpYnV0aW9uKHMpIHdhcyBzdWJtaXR0ZWQuIElmIFlvdQotICAgICAgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEKLSAgICAgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFdvcmsKLSAgICAgIG9yIGEgQ29udHJpYnV0aW9uIGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsgY29uc3RpdHV0ZXMgZGlyZWN0Ci0gICAgICBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzCi0gICAgICBncmFudGVkIHRvIFlvdSB1bmRlciB0aGlzIExpY2Vuc2UgZm9yIHRoYXQgV29yayBzaGFsbCB0ZXJtaW5hdGUKLSAgICAgIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4KLQotICAgNC4gUmVkaXN0cmlidXRpb24uIFlvdSBtYXkgcmVwcm9kdWNlIGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUKLSAgICAgIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dAotICAgICAgbW9kaWZpY2F0aW9ucywgYW5kIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UKLSAgICAgIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgotCi0gICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgotICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCi0KLSAgICAgIChiKSBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKLSAgICAgICAgICBzdGF0aW5nIHRoYXQgWW91IGNoYW5nZWQgdGhlIGZpbGVzOyBhbmQKLQotICAgICAgKGMpIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzCi0gICAgICAgICAgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZAotICAgICAgICAgIGF0dHJpYnV0aW9uIG5vdGljZXMgZnJvbSB0aGUgU291cmNlIGZvcm0gb2YgdGhlIFdvcmssCi0gICAgICAgICAgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZgotICAgICAgICAgIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKLQotICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCi0gICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVzdAotICAgICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAotICAgICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAotICAgICAgICAgIHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQotICAgICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkCi0gICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgotICAgICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAotICAgICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKLSAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKLSAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCi0gICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KLSAgICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQotICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAotICAgICAgICAgIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAotICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KLQotICAgICAgWW91IG1heSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVudCB0byBZb3VyIG1vZGlmaWNhdGlvbnMgYW5kCi0gICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zCi0gICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yCi0gICAgICBmb3IgYW55IHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRlZCBZb3VyIHVzZSwKLSAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAotICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KLQotICAgNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLAotICAgICAgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrCi0gICAgICBieSBZb3UgdG8gdGhlIExpY2Vuc29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgotICAgICAgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuCi0gICAgICBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5Ci0gICAgICB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlIGxpY2Vuc2UgYWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZAotICAgICAgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgotCi0gICA2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCi0gICAgICBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCi0gICAgICBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKLSAgICAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgotCi0gICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKLSAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2gKLSAgICAgIENvbnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCi0gICAgICBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucwotICAgICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQotICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCi0gICAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkKLSAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KLQotICAgOC4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdhbCB0aGVvcnksCi0gICAgICB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lzZSwKLSAgICAgIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5Ci0gICAgICBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueSBDb250cmlidXRvciBiZQotICAgICAgbGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAotICAgICAgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhCi0gICAgICByZXN1bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlCi0gICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGwsCi0gICAgICB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbAotICAgICAgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBDb250cmlidXRvcgotICAgICAgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgotCi0gICA5LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nCi0gICAgICB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLAotICAgICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2VwdGFuY2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0eSwKLSAgICAgIG9yIG90aGVyIGxpYWJpbGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzCi0gICAgICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seQotICAgICAgb24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKLSAgICAgIG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVtbmlmeSwKLSAgICAgIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQotICAgICAgaW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgotICAgICAgb2YgeW91ciBhY2NlcHRpbmcgYW55IHN1Y2ggd2FycmFudHkgb3IgYWRkaXRpb25hbCBsaWFiaWxpdHkuCi0KLSAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwotCi0gICBBUFBFTkRJWDogSG93IHRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmsuCi0KLSAgICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmssIGF0dGFjaCB0aGUgZm9sbG93aW5nCi0gICAgICBib2lsZXJwbGF0ZSBub3RpY2UsIHdpdGggdGhlIGZpZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAiW10iCi0gICAgICByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9uJ3QgaW5jbHVkZQotICAgICAgdGhlIGJyYWNrZXRzISkgIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUKLSAgICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmlsZSBmb3JtYXQuIFdlIGFsc28gcmVjb21tZW5kIHRoYXQgYQotICAgICAgZmlsZSBvciBjbGFzcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwdXJwb3NlIGJlIGluY2x1ZGVkIG9uIHRoZQotICAgICAgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCi0gICAgICBpZGVudGlmaWNhdGlvbiB3aXRoaW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCi0KLSAgIENvcHlyaWdodCBbeXl5eV0gW25hbWUgb2YgY29weXJpZ2h0IG93bmVyXQotCi0gICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotCi0gICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0KLSAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1kb2Nib29rLnR4dCBiL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtZG9jYm9vay50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiYTJlZDEuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1kb2Nib29rLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTwhLS0gQ29weXJpZ2h0IDE5OTItMjAwMiBIYUwgQ29tcHV0ZXIgU3lzdGVtcywgSW5jLiwKLSAgICAgTydSZWlsbHkgJiBBc3NvY2lhdGVzLCBJbmMuLCBBcmJvclRleHQsIEluYy4sIEZ1aml0c3UgU29mdHdhcmUKLSAgICAgQ29ycG9yYXRpb24sIE5vcm1hbiBXYWxzaCwgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiwgYW5kIHRoZQotICAgICBPcmdhbml6YXRpb24gZm9yIHRoZSBBZHZhbmNlbWVudCBvZiBTdHJ1Y3R1cmVkIEluZm9ybWF0aW9uCi0gICAgIFN0YW5kYXJkcyAoT0FTSVMpLgotCi0gICAgICRJZDogTElDRU5TRS1kb2Nib29rLnR4dCx2IDEuMSAyMDA1LzExLzI4IDIxOjM2OjQ3IGRhdmVobyBFeHAgJAotCi0gICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnkgYW5kIGRpc3RyaWJ1dGUgdGhlIERvY0Jvb2sgWE1MIERURAotICAgICBhbmQgaXRzIGFjY29tcGFueWluZyBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBhbmQgd2l0aG91dCBmZWUKLSAgICAgaXMgaGVyZWJ5IGdyYW50ZWQgaW4gcGVycGV0dWl0eSwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICAgIG5vdGljZSBhbmQgdGhpcyBwYXJhZ3JhcGggYXBwZWFyIGluIGFsbCBjb3BpZXMuICBUaGUgY29weXJpZ2h0Ci0gICAgIGhvbGRlcnMgbWFrZSBubyByZXByZXNlbnRhdGlvbiBhYm91dCB0aGUgc3VpdGFiaWxpdHkgb2YgdGhlIERURCBmb3IKLSAgICAgYW55IHB1cnBvc2UuICBJdCBpcyBwcm92aWRlZCAiYXMgaXMiIHdpdGhvdXQgZXhwcmVzc2VkIG9yIGltcGxpZWQKLSAgICAgd2FycmFudHkuCi0KLSAgICAgSWYgeW91IG1vZGlmeSB0aGUgRG9jQm9vayBEVEQgaW4gYW55IHdheSwgZXhjZXB0IGZvciBkZWNsYXJpbmcgYW5kCi0gICAgIHJlZmVyZW5jaW5nIGFkZGl0aW9uYWwgc2V0cyBvZiBnZW5lcmFsIGVudGl0aWVzIGFuZCBkZWNsYXJpbmcKLSAgICAgYWRkaXRpb25hbCBub3RhdGlvbnMsIGxhYmVsIHlvdXIgRFREIGFzIGEgdmFyaWFudCBvZiBEb2NCb29rLiAgU2VlCi0gICAgIHRoZSBtYWludGVuYW5jZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgotCi0gICAgIFBsZWFzZSBkaXJlY3QgYWxsIHF1ZXN0aW9ucywgYnVnIHJlcG9ydHMsIG9yIHN1Z2dlc3Rpb25zIGZvcgotICAgICBjaGFuZ2VzIHRvIHRoZSBkb2Nib29rQGxpc3RzLm9hc2lzLW9wZW4ub3JnIG1haWxpbmcgbGlzdC4gRm9yIG1vcmUKLSAgICAgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2svLgotLS0+CmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9saWNlbnNlcy9MSUNFTlNFLWRvbTRqLnR4dCBiL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtZG9tNGoudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjBjODNiLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtZG9tNGoudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotQlNEIHN0eWxlIGxpY2Vuc2UKLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KLSgiU29mdHdhcmUiKSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0Ci10aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLQotICAgICAgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiBjb3B5cmlnaHQgc3RhdGVtZW50cwotICAgICAgIGFuZCBub3RpY2VzLiBSZWRpc3RyaWJ1dGlvbnMgbXVzdCBhbHNvIGNvbnRhaW4gYSBjb3B5IG9mIHRoaXMKLSAgICAgICBkb2N1bWVudC4KLQotICAgICAgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotICAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAotICAgICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLQotICAgICAgIDMuIFRoZSBuYW1lICJET000SiIgbXVzdCBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKLSAgICAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4KLSAgICAgICBwZXJtaXNzaW9uIG9mIE1ldGFTdHVmZiwgTHRkLiBGb3Igd3JpdHRlbiBwZXJtaXNzaW9uLCBwbGVhc2UKLSAgICAgICBjb250YWN0IGRvbTRqLWluZm9AbWV0YXN0dWZmLmNvbS4KLQotICAgICAgIDQuIFByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIFNvZnR3YXJlIG1heSBub3QgYmUgY2FsbGVkICJET000SiIKLSAgICAgICBub3IgbWF5ICJET000SiIgYXBwZWFyIGluIHRoZWlyIG5hbWVzIHdpdGhvdXQgcHJpb3Igd3JpdHRlbgotICAgICAgIHBlcm1pc3Npb24gb2YgTWV0YVN0dWZmLCBMdGQuIERPTTRKIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YKLSAgICAgICBNZXRhU3R1ZmYsIEx0ZC4KLQotICAgICAgIDUuIER1ZSBjcmVkaXQgc2hvdWxkIGJlIGdpdmVuIHRvIHRoZSBET000SiBQcm9qZWN0Ci0gICAgICAgKGh0dHA6Ly9kb200ai5vcmcvKS4KLQotVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBNRVRBU1RVRkYsIExURC4gQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLUFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi1USEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi1QVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBNRVRBU1RVRkYsIExURC4gT1IgSVRTCi1DT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLUVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLVBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgotTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKLU5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLUNvcHlyaWdodCAyMDAxIChDKSBNZXRhU3R1ZmYsIEx0ZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtakZvcm1hdFN0cmluZy50eHQgYi90b29scy9maW5kYnVncy9saWNlbnNlcy9MSUNFTlNFLWpGb3JtYXRTdHJpbmcudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWFiNThjLi4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtakZvcm1hdFN0cmluZy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzNDcgKzAsMCBAQAotVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpCi0KLVZlcnNpb24gMiwgSnVuZSAxOTkxCi0KLUNvcHlyaWdodCAoQykgMTk4OSwgMTk5MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLTU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCi0KLUV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGlzIGxpY2Vuc2UKLWRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCi0KLVByZWFtYmxlCi0KLVRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIgZnJlZWRvbSB0byBzaGFyZQotYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgaW50ZW5kZWQgdG8KLWd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBmcmVlIHNvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlCi1zb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiAgVGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8KLW1vc3Qgb2YgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3RoZXIgcHJvZ3JhbSB3aG9zZQotYXV0aG9ycyBjb21taXQgdG8gdXNpbmcgaXQuICAoU29tZSBvdGhlciBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gc29mdHdhcmUgaXMKLWNvdmVyZWQgYnkgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW5zdGVhZC4pIFlvdSBjYW4gYXBwbHkgaXQgdG8KLXlvdXIgcHJvZ3JhbXMsIHRvby4KLQotV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20sIG5vdCBwcmljZS4gIE91cgotR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdSBoYXZlIHRoZSBmcmVlZG9tIHRvCi1kaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvciB0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLAotdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdSB3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlCi10aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdCBpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGtub3cgeW91Ci1jYW4gZG8gdGhlc2UgdGhpbmdzLgotCi1UbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkIGFueW9uZSB0byBkZW55Ci15b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVzZSByZXN0cmljdGlvbnMKLXRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlCi1zb2Z0d2FyZSwgb3IgaWYgeW91IG1vZGlmeSBpdC4KLQotRm9yIGV4YW1wbGUsIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiBzdWNoIGEgcHJvZ3JhbSwgd2hldGhlciBncmF0aXMgb3IgZm9yCi1hIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0IHlvdSBoYXZlLiAgWW91IG11c3QKLW1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZSBzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdAotc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpciByaWdodHMuCi0KLVdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0d28gc3RlcHM6ICgxKSBjb3B5cmlnaHQgdGhlIHNvZnR3YXJlLCBhbmQgKDIpCi1vZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUKLWFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgotCi1BbHNvLCBmb3IgZWFjaCBhdXRob3IncyBwcm90ZWN0aW9uIGFuZCBvdXJzLCB3ZSB3YW50IHRvIG1ha2UgY2VydGFpbiB0aGF0Ci1ldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUgc29mdHdhcmUuICBJZiB0aGUKLXNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZSB3YW50IGl0cyByZWNpcGllbnRzIHRvCi1rbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28gdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZAotYnkgb3RoZXJzIHdpbGwgbm90IHJlZmxlY3Qgb24gdGhlIG9yaWdpbmFsIGF1dGhvcnMnIHJlcHV0YXRpb25zLgotCi1GaW5hbGx5LCBhbnkgZnJlZSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZSBwYXRlbnRzLiAgV2UKLXdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZSBwcm9ncmFtIHdpbGwKLWluZGl2aWR1YWxseSBvYnRhaW4gcGF0ZW50IGxpY2Vuc2VzLCBpbiBlZmZlY3QgbWFraW5nIHRoZSBwcm9ncmFtIHByb3ByaWV0YXJ5LgotVG8gcHJldmVudCB0aGlzLCB3ZSBoYXZlIG1hZGUgaXQgY2xlYXIgdGhhdCBhbnkgcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yCi1ldmVyeW9uZSdzIGZyZWUgdXNlIG9yIG5vdCBsaWNlbnNlZCBhdCBhbGwuCi0KLVRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbgotZm9sbG93LgotCi1URVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KLQotMC4gVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IHByb2dyYW0gb3Igb3RoZXIgd29yayB3aGljaCBjb250YWlucyBhIG5vdGljZQotcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mCi10aGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBUaGUgIlByb2dyYW0iLCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0KLW9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIiBtZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55Ci1kZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzogdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZQotUHJvZ3JhbSBvciBhIHBvcnRpb24gb2YgaXQsIGVpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yCi10cmFuc2xhdGVkIGludG8gYW5vdGhlciBsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQKLXdpdGhvdXQgbGltaXRhdGlvbiBpbiB0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzCi0ieW91Ii4KLQotQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QgY292ZXJlZCBieQotdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YgcnVubmluZyB0aGUgUHJvZ3JhbSBpcwotbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0gaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cwotY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkKLXJ1bm5pbmcgdGhlIFByb2dyYW0pLiAgV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQcm9ncmFtIGRvZXMuCi0KLTEuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIFByb2dyYW0ncyBzb3VyY2UgY29kZSBhcwoteW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kCi1hcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kCi1kaXNjbGFpbWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdCBhbGwgdGhlIG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UKLWFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7IGFuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZQotUHJvZ3JhbSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggdGhlIFByb2dyYW0uCi0KLVlvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZCB5b3UgbWF5Ci1hdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KLQotMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdCwgdGh1cwotZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZCBkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucwotb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxIGFib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mCi10aGVzZSBjb25kaXRpb25zOgotCi0gICAgYSkgWW91IG11c3QgY2F1c2UgdGhlIG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzIHN0YXRpbmcKLSAgICB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KLQotICAgIGIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1dGUgb3IgcHVibGlzaCwgdGhhdCBpbiB3aG9sZSBvcgotICAgIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueSBwYXJ0IHRoZXJlb2YsIHRvIGJlCi0gICAgbGljZW5zZWQgYXMgYSB3aG9sZSBhdCBubyBjaGFyZ2UgdG8gYWxsIHRoaXJkIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mCi0gICAgdGhpcyBMaWNlbnNlLgotCi0gICAgYykgSWYgdGhlIG1vZGlmaWVkIHByb2dyYW0gbm9ybWFsbHkgcmVhZHMgY29tbWFuZHMgaW50ZXJhY3RpdmVseSB3aGVuIHJ1biwKLSAgICB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2ggaW50ZXJhY3RpdmUgdXNlIGluIHRoZQotICAgIG1vc3Qgb3JkaW5hcnkgd2F5LCB0byBwcmludCBvciBkaXNwbGF5IGFuIGFubm91bmNlbWVudCBpbmNsdWRpbmcgYW4KLSAgICBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCBhIG5vdGljZSB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IChvcgotICAgIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUKLSAgICB0aGUgcHJvZ3JhbSB1bmRlciB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gdmlldyBhIGNvcHkKLSAgICBvZiB0aGlzIExpY2Vuc2UuICAoRXhjZXB0aW9uOiBpZiB0aGUgUHJvZ3JhbSBpdHNlbGYgaXMgaW50ZXJhY3RpdmUgYnV0IGRvZXMKLSAgICBub3Qgbm9ybWFsbHkgcHJpbnQgc3VjaCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSBpcwotICAgIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQotCi1UaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmIGlkZW50aWZpYWJsZQotc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtLCBhbmQgY2FuIGJlIHJlYXNvbmFibHkKLWNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluIHRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQKLWl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlIHNlY3Rpb25zIHdoZW4geW91IGRpc3RyaWJ1dGUgdGhlbSBhcyBzZXBhcmF0ZQotd29ya3MuICBCdXQgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYQotd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMKLW9mIHRoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRlbmQgdG8gdGhlIGVudGlyZQotd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCi0KLVRodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdCB5b3VyCi1yaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvIGV4ZXJjaXNlIHRoZQotcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IgY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbgotdGhlIFByb2dyYW0uCi0KLUluIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0gd2l0aCB0aGUKLVByb2dyYW0gKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtKSBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IKLWRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIgdGhlIHNjb3BlIG9mIHRoaXMKLUxpY2Vuc2UuCi0KLTMuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LCB1bmRlcgotU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kCi0yIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6Ci0KLSAgICBhKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlIHNvdXJjZQotICAgIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUKLSAgICBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCi0KLSAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycywgdG8KLSAgICBnaXZlIGFueSB0aGlyZCBwYXJ0eSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUgdGhhbiB5b3VyIGNvc3Qgb2YgcGh5c2ljYWxseQotICAgIHBlcmZvcm1pbmcgc291cmNlIGRpc3RyaWJ1dGlvbiwgYSBjb21wbGV0ZSBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlCi0gICAgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEKLSAgICBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCi0KLSAgICBjKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgaW5mb3JtYXRpb24geW91IHJlY2VpdmVkIGFzIHRvIHRoZSBvZmZlciB0bwotICAgIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzIGFsbG93ZWQgb25seQotICAgIGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4KLSAgICBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aAotICAgIFN1YnNlY3Rpb24gYiBhYm92ZS4pCi0KLVRoZSBzb3VyY2UgY29kZSBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IgbWFraW5nCi1tb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlIGNvZGUgbWVhbnMgYWxsCi10aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueSBhc3NvY2lhdGVkIGludGVyZmFjZQotZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvIGNvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlvbgotb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUKLWRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyCi1zb3VyY2Ugb3IgYmluYXJ5IGZvcm0pIHdpdGggdGhlIG1ham9yIGNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikKLW9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAotaXRzZWxmIGFjY29tcGFuaWVzIHRoZSBleGVjdXRhYmxlLgotCi1JZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5Ci1mcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZSBzb3VyY2UKLWNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBjb3VudHMgYXMgZGlzdHJpYnV0aW9uIG9mIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2gKLXRoaXJkIHBhcnRpZXMgYXJlIG5vdCBjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgotCi00LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gZXhjZXB0IGFzCi1leHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwKLXN1YmxpY2Vuc2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZQoteW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yCi1yaWdodHMsIGZyb20geW91IHVuZGVyIHRoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28KLWxvbmcgYXMgc3VjaCBwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCi0KLTUuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdCBzaWduZWQgaXQuCi1Ib3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCi1vciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlIHByb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QKLWFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5IG1vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gKG9yCi1hbnkgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvCi1kbyBzbywgYW5kIGFsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKLXRoZSBQcm9ncmFtIG9yIHdvcmtzIGJhc2VkIG9uIGl0LgotCi02LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pLAotdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvciB0bwotY29weSwgZGlzdHJpYnV0ZSBvciBtb2RpZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0byB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4KLVlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlciByZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZQotcmlnaHRzIGdyYW50ZWQgaGVyZWluLiAgWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5Ci10aGlyZCBwYXJ0aWVzIHRvIHRoaXMgTGljZW5zZS4KLQotNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAotaW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwgY29uZGl0aW9ucwotYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3Igb3RoZXJ3aXNlKSB0aGF0Ci1jb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QgZXhjdXNlIHlvdSBmcm9tIHRoZQotY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGRpc3RyaWJ1dGUgc28gYXMgdG8gc2F0aXNmeQotc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzIExpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQKLW9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBhbGwuCi1Gb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQgbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbgotb2YgdGhlIFByb2dyYW0gYnkgYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2gKLXlvdSwgdGhlbiB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCi1yZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgotCi1JZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIgYW55Ci1wYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gYXBwbHkgYW5kCi10aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyIGNpcmN1bXN0YW5jZXMuCi0KLUl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkgcGF0ZW50cyBvcgotb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55IHN1Y2ggY2xhaW1zOyB0aGlzCi1zZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlIGludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZQotZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMgaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueQotcGVvcGxlIGhhdmUgbWFkZSBnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJlCi1kaXN0cmlidXRlZCB0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdAotc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZyB0bwotZGlzdHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fubm90IGltcG9zZSB0aGF0Ci1jaG9pY2UuCi0KLVRoaXMgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBtYWtlIHRob3JvdWdobHkgY2xlYXIgd2hhdCBpcyBiZWxpZXZlZCB0byBiZSBhCi1jb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCi0KLTguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3JhbSBpcyByZXN0cmljdGVkIGluIGNlcnRhaW4KLWNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUgb3JpZ2luYWwKLWNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UgbWF5IGFkZCBhbiBleHBsaWNpdAotZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZyB0aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQKLWRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZyBjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuICBJbgotc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzIHRoZSBsaW1pdGF0aW9uIGFzIGlmIHdyaXR0ZW4gaW4gdGhlIGJvZHkKLW9mIHRoaXMgTGljZW5zZS4KLQotOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YgdGhlCi1HZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbCBiZSBzaW1pbGFyIGluCi1zcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zCi1vciBjb25jZXJucy4KLQotRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQotc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkgbGF0ZXIKLXZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mCi10aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi1JZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlLCB5b3UgbWF5Ci1jaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLQotMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBQcm9ncmFtIGludG8gb3RoZXIgZnJlZSBwcm9ncmFtcwotd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGRpZmZlcmVudCwgd3JpdGUgdG8gdGhlIGF1dGhvciB0byBhc2sgZm9yCi1wZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCi13cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMgbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLgotT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMgb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YKLWFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQgb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZgotc29mdHdhcmUgZ2VuZXJhbGx5LgotCi1OTyBXQVJSQU5UWQotCi0xMS4gQkVDQVVTRSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8gV0FSUkFOVFkgRk9SCi1USEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTiBPVEhFUldJU0UKLVNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRQotUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwKLUlOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQKLUZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORAotUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0gSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFIFBST0dSQU0gUFJPVkUgREVGRUNUSVZFLAotWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uCi0KLTEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcgV0lMTAotQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1PRElGWSBBTkQvT1IgUkVESVNUUklCVVRFIFRIRQotUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkKLUdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT1IKLUlOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEKLUJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBCi1GQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSCi1PUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCi0KLUVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwotCi1Ib3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKLQotSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdCBwb3NzaWJsZQotdXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBpdCBmcmVlIHNvZnR3YXJlCi13aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCi0KLVRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0IHRvIGF0dGFjaAotdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5IGNvbnZleSB0aGUgZXhjbHVzaW9uCi1vZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCB0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYQotcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCi0KLSAgICBPbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4KLQotICAgIENvcHlyaWdodCAoQykgPHllYXI+IDxuYW1lIG9mIGF1dGhvcj4KLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Ci0gICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKLSAgICBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCi0gICAgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKLSAgICBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKLSAgICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCi0gICAgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKLSAgICB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OQotICAgIFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCi0KLUFsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLgotCi1JZiB0aGUgcHJvZ3JhbSBpcyBpbnRlcmFjdGl2ZSwgbWFrZSBpdCBvdXRwdXQgYSBzaG9ydCBub3RpY2UgbGlrZSB0aGlzIHdoZW4gaXQKLXN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgotCi0gICAgR25vbW92aXNpb24gdmVyc2lvbiA2OSwgQ29weXJpZ2h0IChDKSB5ZWFyIG5hbWUgb2YgYXV0aG9yIEdub21vdmlzaW9uIGNvbWVzCi0gICAgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyB0eXBlICdzaG93IHcnLiAgVGhpcyBpcyBmcmVlCi0gICAgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0IHVuZGVyIGNlcnRhaW4gY29uZGl0aW9uczsKLSAgICB0eXBlICdzaG93IGMnIGZvciBkZXRhaWxzLgotCi1UaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzICdzaG93IHcnIGFuZCAnc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKLXBhcnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUgY29tbWFuZHMgeW91IHVzZSBtYXkgYmUKLWNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiAnc2hvdyB3JyBhbmQgJ3Nob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQotbW91c2UtY2xpY2tzIG9yIG1lbnUgaXRlbXMtLXdoYXRldmVyIHN1aXRzIHlvdXIgcHJvZ3JhbS4KLQotWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIgc2Nob29sLAotaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4gIEhlcmUKLWlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6Ci0KLSAgICBZb3lvZHluZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBwcm9ncmFtCi0gICAgJ0dub21vdmlzaW9uJyAod2hpY2ggbWFrZXMgcGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCi0KLSAgICBzaWduYXR1cmUgb2YgVHkgQ29vbiwgMSBBcHJpbCAxOTg5Ci0KLSAgICBUeSBDb29uLCBQcmVzaWRlbnQgb2YgVmljZQotCi1UaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtIGludG8KLXByb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91ciBwcm9ncmFtIGlzIGEgc3Vicm91dGluZSBsaWJyYXJ5LCB5b3UgbWF5Ci1jb25zaWRlciBpdCBtb3JlIHVzZWZ1bCB0byBwZXJtaXQgbGlua2luZyBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMgd2l0aCB0aGUKLWxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLUxpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCi0KLQotIkNMQVNTUEFUSCIgRVhDRVBUSU9OIFRPIFRIRSBHUEwKLQotQ2VydGFpbiBzb3VyY2UgZmlsZXMgZGlzdHJpYnV0ZWQgYnkgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiAgYXJlIHN1YmplY3QgdG8KLXRoZSBmb2xsb3dpbmcgY2xhcmlmaWNhdGlvbiBhbmQgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgYnV0IG9ubHkgd2hlcmUKLVN1biBoYXMgZXhwcmVzc2x5IGluY2x1ZGVkIGluIHRoZSBwYXJ0aWN1bGFyIHNvdXJjZSBmaWxlJ3MgaGVhZGVyIHRoZSB3b3JkcwotIlN1biBkZXNpZ25hdGVzIHRoaXMgcGFydGljdWxhciBmaWxlIGFzIHN1YmplY3QgdG8gdGhlICJDbGFzc3BhdGgiIGV4Y2VwdGlvbgotYXMgcHJvdmlkZWQgYnkgU3VuIGluIHRoZSBMSUNFTlNFIGZpbGUgdGhhdCBhY2NvbXBhbmllZCB0aGlzIGNvZGUuIgotCi0gICAgTGlua2luZyB0aGlzIGxpYnJhcnkgc3RhdGljYWxseSBvciBkeW5hbWljYWxseSB3aXRoIG90aGVyIG1vZHVsZXMgaXMgbWFraW5nCi0gICAgYSBjb21iaW5lZCB3b3JrIGJhc2VkIG9uIHRoaXMgbGlicmFyeS4gIFRodXMsIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgotICAgIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBjb3ZlciB0aGUgd2hvbGUgY29tYmluYXRpb24uCi0KLSAgICBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCB0aGUgY29weXJpZ2h0IGhvbGRlcnMgb2YgdGhpcyBsaWJyYXJ5IGdpdmUgeW91Ci0gICAgcGVybWlzc2lvbiB0byBsaW5rIHRoaXMgbGlicmFyeSB3aXRoIGluZGVwZW5kZW50IG1vZHVsZXMgdG8gcHJvZHVjZSBhbgotICAgIGV4ZWN1dGFibGUsIHJlZ2FyZGxlc3Mgb2YgdGhlIGxpY2Vuc2UgdGVybXMgb2YgdGhlc2UgaW5kZXBlbmRlbnQgbW9kdWxlcywKLSAgICBhbmQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgcmVzdWx0aW5nIGV4ZWN1dGFibGUgdW5kZXIgdGVybXMgb2YgeW91cgotICAgIGNob2ljZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0LCBmb3IgZWFjaCBsaW5rZWQgaW5kZXBlbmRlbnQgbW9kdWxlLAotICAgIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgbGljZW5zZSBvZiB0aGF0IG1vZHVsZS4gIEFuIGluZGVwZW5kZW50Ci0gICAgbW9kdWxlIGlzIGEgbW9kdWxlIHdoaWNoIGlzIG5vdCBkZXJpdmVkIGZyb20gb3IgYmFzZWQgb24gdGhpcyBsaWJyYXJ5LiAgSWYKLSAgICB5b3UgbW9kaWZ5IHRoaXMgbGlicmFyeSwgeW91IG1heSBleHRlbmQgdGhpcyBleGNlcHRpb24gdG8geW91ciB2ZXJzaW9uIG9mCi0gICAgdGhlIGxpYnJhcnksIGJ1dCB5b3UgYXJlIG5vdCBvYmxpZ2F0ZWQgdG8gZG8gc28uICBJZiB5b3UgZG8gbm90IHdpc2ggdG8gZG8KLSAgICBzbywgZGVsZXRlIHRoaXMgZXhjZXB0aW9uIHN0YXRlbWVudCBmcm9tIHlvdXIgdmVyc2lvbi4KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtamF4ZW4udHh0IGIvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1qYXhlbi50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhMzFlZDkuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1qYXhlbi50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKgotICRJZDogTElDRU5TRS1qYXhlbi50eHQsdiAxLjEgMjAwOC8wNi8xOCAxODo1NDoyMyB3cHVnaCBFeHAgJAotCi0gQ29weXJpZ2h0IDIwMDMtMjAwNiBUaGUgV2Vya2VuIENvbXBhbnkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gCi0gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotIG1ldDoKLQotICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotCi0gICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLQotICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEpheGVuIFByb2plY3Qgbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgCi0gICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotCi1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUwotSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECi1UTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEKLVBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUgotT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi1FWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi1QUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLVBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKLUxJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCi1ORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLVNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0gKi8KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtamNpcC50eHQgYi90b29scy9maW5kYnVncy9saWNlbnNlcy9MSUNFTlNFLWpjaXAudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTY5NzU4Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtamNpcC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRoZSBKYXZhIGNvZGUgaW4gdGhlIHBhY2thZ2UgbmV0LmpjaXAuYW5ub3RhdGlvbnMgCi1pcyBjb3B5cmlnaHQgKGMpIDIwMDUgQnJpYW4gR29ldHoKLWFuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbiBMaWNlbnNlCi0oaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMi41KQotT2ZmaWNpYWwgaG9tZTogaHR0cDovL3d3dy5qY2lwLm5ldApkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1qZGVwZW5kLnR4dCBiL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtamRlcGVuZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3Y2M4ZWYuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1qZGVwZW5kLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVRoZSBqZGVwZW5kIGxpYnJhcnkgKGxpYi9qZGVwZW5kLTIuOS5qYXIpIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQlNEIGxpY2Vuc2U6DQotaHR0cDovL3d3dy5jbGFya3dhcmUuY29tL3NvZnR3YXJlL0pEZXBlbmQuaHRtbCNsaWNlbnNlDQotaHR0cDovL3d3dy5jbGFya3dhcmUuY29tL3NvZnR3YXJlL2xpY2Vuc2UudHh0DQotDQotQ29weXJpZ2h0IChDKSAyMDAxIENsYXJrd2FyZSBDb25zdWx0aW5nLCBJbmMuDQotQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCi0NCi1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgDQotbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIA0KLWFyZSBtZXQ6DQotDQotICAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCi0gICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQotDQotICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgDQotICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSANCi0gICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KLQ0KLSAgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgQ2xhcmt3YXJlIENvbnN1bHRpbmcsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgDQotICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIA0KLSAgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gRm9yIHdyaXR0ZW4gDQotICAgICAgcGVybWlzc2lvbiwgcGxlYXNlIGNvbnRhY3QgY2xhcmt3YXJlQGNsYXJrd2FyZS5jb20uDQotDQotVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVTLA0KLUlOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQNCi1GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMDQotQ0xBUktXQVJFIENPTlNVTFRJTkcgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCANCi1JTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIA0KLUxJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCANCi1PUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIA0KLUxJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIA0KLU5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOICBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIA0KLUVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1qc3IzMDUudHh0IGIvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS1qc3IzMDUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWZhZTc4Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UtanNyMzA1LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotVGhlIEpTUi0zMDUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIChsaWIvanNyMzA1LmphcikgaXMKLWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTmV3IEJTRCBsaWNlbnNlOgotCi0gIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwCi0gIAotU2VlIHRoZSBKU1ItMzA1IGhvbWUgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbjoKLQotICBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvanNyLTMwNS8KZGlmZiAtLWdpdCBhL3Rvb2xzL2ZpbmRidWdzL2xpY2Vuc2VzL0xJQ0VOU0UudHh0IGIvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxZTNmNWEuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3MvbGljZW5zZXMvTElDRU5TRS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1MDQgKzAsMCBAQAotCQkgIEdOVSBMRVNTRVIgR0VORVJBTCBQVUJMSUMgTElDRU5TRQotCQkgICAgICAgVmVyc2lvbiAyLjEsIEZlYnJ1YXJ5IDE5OTkKLQotIENvcHlyaWdodCAoQykgMTk5MSwgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSAgICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQotIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcwotIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgotCi1bVGhpcyBpcyB0aGUgZmlyc3QgcmVsZWFzZWQgdmVyc2lvbiBvZiB0aGUgTGVzc2VyIEdQTC4gIEl0IGFsc28gY291bnRzCi0gYXMgdGhlIHN1Y2Nlc3NvciBvZiB0aGUgR05VIExpYnJhcnkgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwgaGVuY2UKLSB0aGUgdmVyc2lvbiBudW1iZXIgMi4xLl0KLQotCQkJICAgIFByZWFtYmxlCi0KLSAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91cgotZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKLUxpY2Vuc2VzIGFyZSBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UKLWZyZWUgc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4KLQotICBUaGlzIGxpY2Vuc2UsIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYXBwbGllcyB0byBzb21lCi1zcGVjaWFsbHkgZGVzaWduYXRlZCBzb2Z0d2FyZSBwYWNrYWdlcy0tdHlwaWNhbGx5IGxpYnJhcmllcy0tb2YgdGhlCi1GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gYW5kIG90aGVyIGF1dGhvcnMgd2hvIGRlY2lkZSB0byB1c2UgaXQuICBZb3UKLWNhbiB1c2UgaXQgdG9vLCBidXQgd2Ugc3VnZ2VzdCB5b3UgZmlyc3QgdGhpbmsgY2FyZWZ1bGx5IGFib3V0IHdoZXRoZXIKLXRoaXMgbGljZW5zZSBvciB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyB0aGUgYmV0dGVyCi1zdHJhdGVneSB0byB1c2UgaW4gYW55IHBhcnRpY3VsYXIgY2FzZSwgYmFzZWQgb24gdGhlIGV4cGxhbmF0aW9ucyBiZWxvdy4KLQotICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSBvZiB1c2UsCi1ub3QgcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0Ci15b3UgaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlCi1mb3IgdGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKTsgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0Ci1pdCBpZiB5b3Ugd2FudCBpdDsgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgYW5kIHVzZSBwaWVjZXMgb2YKLWl0IGluIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3UgYXJlIGluZm9ybWVkIHRoYXQgeW91IGNhbiBkbwotdGhlc2UgdGhpbmdzLgotCi0gIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKLWRpc3RyaWJ1dG9ycyB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlc2UKLXJpZ2h0cy4gIFRoZXNlIHJlc3RyaWN0aW9ucyB0cmFuc2xhdGUgdG8gY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIGZvcgoteW91IGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgbGlicmFyeSBvciBpZiB5b3UgbW9kaWZ5IGl0LgotCi0gIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnksIHdoZXRoZXIgZ3JhdGlzCi1vciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdCB3ZSBnYXZlCi15b3UuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUgc291cmNlCi1jb2RlLiAgSWYgeW91IGxpbmsgb3RoZXIgY29kZSB3aXRoIHRoZSBsaWJyYXJ5LCB5b3UgbXVzdCBwcm92aWRlCi1jb21wbGV0ZSBvYmplY3QgZmlsZXMgdG8gdGhlIHJlY2lwaWVudHMsIHNvIHRoYXQgdGhleSBjYW4gcmVsaW5rIHRoZW0KLXdpdGggdGhlIGxpYnJhcnkgYWZ0ZXIgbWFraW5nIGNoYW5nZXMgdG8gdGhlIGxpYnJhcnkgYW5kIHJlY29tcGlsaW5nCi1pdC4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyIHJpZ2h0cy4KLQotICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggYSB0d28tc3RlcCBtZXRob2Q6ICgxKSB3ZSBjb3B5cmlnaHQgdGhlCi1saWJyYXJ5LCBhbmQgKDIpIHdlIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2UsIHdoaWNoIGdpdmVzIHlvdSBsZWdhbAotcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIGxpYnJhcnkuCi0KLSAgVG8gcHJvdGVjdCBlYWNoIGRpc3RyaWJ1dG9yLCB3ZSB3YW50IHRvIG1ha2UgaXQgdmVyeSBjbGVhciB0aGF0Ci10aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIGZyZWUgbGlicmFyeS4gIEFsc28sIGlmIHRoZSBsaWJyYXJ5IGlzCi1tb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgdGhlIHJlY2lwaWVudHMgc2hvdWxkIGtub3cKLXRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCB2ZXJzaW9uLCBzbyB0aGF0IHRoZSBvcmlnaW5hbAotYXV0aG9yJ3MgcmVwdXRhdGlvbiB3aWxsIG5vdCBiZSBhZmZlY3RlZCBieSBwcm9ibGVtcyB0aGF0IG1pZ2h0IGJlCi1pbnRyb2R1Y2VkIGJ5IG90aGVycy4KLQwKLSAgRmluYWxseSwgc29mdHdhcmUgcGF0ZW50cyBwb3NlIGEgY29uc3RhbnQgdGhyZWF0IHRvIHRoZSBleGlzdGVuY2Ugb2YKLWFueSBmcmVlIHByb2dyYW0uICBXZSB3aXNoIHRvIG1ha2Ugc3VyZSB0aGF0IGEgY29tcGFueSBjYW5ub3QKLWVmZmVjdGl2ZWx5IHJlc3RyaWN0IHRoZSB1c2VycyBvZiBhIGZyZWUgcHJvZ3JhbSBieSBvYnRhaW5pbmcgYQotcmVzdHJpY3RpdmUgbGljZW5zZSBmcm9tIGEgcGF0ZW50IGhvbGRlci4gIFRoZXJlZm9yZSwgd2UgaW5zaXN0IHRoYXQKLWFueSBwYXRlbnQgbGljZW5zZSBvYnRhaW5lZCBmb3IgYSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5IG11c3QgYmUKLWNvbnNpc3RlbnQgd2l0aCB0aGUgZnVsbCBmcmVlZG9tIG9mIHVzZSBzcGVjaWZpZWQgaW4gdGhpcyBsaWNlbnNlLgotCi0gIE1vc3QgR05VIHNvZnR3YXJlLCBpbmNsdWRpbmcgc29tZSBsaWJyYXJpZXMsIGlzIGNvdmVyZWQgYnkgdGhlCi1vcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoaXMgbGljZW5zZSwgdGhlIEdOVSBMZXNzZXIKLUdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gY2VydGFpbiBkZXNpZ25hdGVkIGxpYnJhcmllcywgYW5kCi1pcyBxdWl0ZSBkaWZmZXJlbnQgZnJvbSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFdlIHVzZQotdGhpcyBsaWNlbnNlIGZvciBjZXJ0YWluIGxpYnJhcmllcyBpbiBvcmRlciB0byBwZXJtaXQgbGlua2luZyB0aG9zZQotbGlicmFyaWVzIGludG8gbm9uLWZyZWUgcHJvZ3JhbXMuCi0KLSAgV2hlbiBhIHByb2dyYW0gaXMgbGlua2VkIHdpdGggYSBsaWJyYXJ5LCB3aGV0aGVyIHN0YXRpY2FsbHkgb3IgdXNpbmcKLWEgc2hhcmVkIGxpYnJhcnksIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgdHdvIGlzIGxlZ2FsbHkgc3BlYWtpbmcgYQotY29tYmluZWQgd29yaywgYSBkZXJpdmF0aXZlIG9mIHRoZSBvcmlnaW5hbCBsaWJyYXJ5LiAgVGhlIG9yZGluYXJ5Ci1HZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHRoZXJlZm9yZSBwZXJtaXRzIHN1Y2ggbGlua2luZyBvbmx5IGlmIHRoZQotZW50aXJlIGNvbWJpbmF0aW9uIGZpdHMgaXRzIGNyaXRlcmlhIG9mIGZyZWVkb20uICBUaGUgTGVzc2VyIEdlbmVyYWwKLVB1YmxpYyBMaWNlbnNlIHBlcm1pdHMgbW9yZSBsYXggY3JpdGVyaWEgZm9yIGxpbmtpbmcgb3RoZXIgY29kZSB3aXRoCi10aGUgbGlicmFyeS4KLQotICBXZSBjYWxsIHRoaXMgbGljZW5zZSB0aGUgIkxlc3NlciIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBiZWNhdXNlIGl0Ci1kb2VzIExlc3MgdG8gcHJvdGVjdCB0aGUgdXNlcidzIGZyZWVkb20gdGhhbiB0aGUgb3JkaW5hcnkgR2VuZXJhbAotUHVibGljIExpY2Vuc2UuICBJdCBhbHNvIHByb3ZpZGVzIG90aGVyIGZyZWUgc29mdHdhcmUgZGV2ZWxvcGVycyBMZXNzCi1vZiBhbiBhZHZhbnRhZ2Ugb3ZlciBjb21wZXRpbmcgbm9uLWZyZWUgcHJvZ3JhbXMuICBUaGVzZSBkaXNhZHZhbnRhZ2VzCi1hcmUgdGhlIHJlYXNvbiB3ZSB1c2UgdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1hbnkKLWxpYnJhcmllcy4gIEhvd2V2ZXIsIHRoZSBMZXNzZXIgbGljZW5zZSBwcm92aWRlcyBhZHZhbnRhZ2VzIGluIGNlcnRhaW4KLXNwZWNpYWwgY2lyY3Vtc3RhbmNlcy4KLQotICBGb3IgZXhhbXBsZSwgb24gcmFyZSBvY2Nhc2lvbnMsIHRoZXJlIG1heSBiZSBhIHNwZWNpYWwgbmVlZCB0bwotZW5jb3VyYWdlIHRoZSB3aWRlc3QgcG9zc2libGUgdXNlIG9mIGEgY2VydGFpbiBsaWJyYXJ5LCBzbyB0aGF0IGl0IGJlY29tZXMKLWEgZGUtZmFjdG8gc3RhbmRhcmQuICBUbyBhY2hpZXZlIHRoaXMsIG5vbi1mcmVlIHByb2dyYW1zIG11c3QgYmUKLWFsbG93ZWQgdG8gdXNlIHRoZSBsaWJyYXJ5LiAgQSBtb3JlIGZyZXF1ZW50IGNhc2UgaXMgdGhhdCBhIGZyZWUKLWxpYnJhcnkgZG9lcyB0aGUgc2FtZSBqb2IgYXMgd2lkZWx5IHVzZWQgbm9uLWZyZWUgbGlicmFyaWVzLiAgSW4gdGhpcwotY2FzZSwgdGhlcmUgaXMgbGl0dGxlIHRvIGdhaW4gYnkgbGltaXRpbmcgdGhlIGZyZWUgbGlicmFyeSB0byBmcmVlCi1zb2Z0d2FyZSBvbmx5LCBzbyB3ZSB1c2UgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgotCi0gIEluIG90aGVyIGNhc2VzLCBwZXJtaXNzaW9uIHRvIHVzZSBhIHBhcnRpY3VsYXIgbGlicmFyeSBpbiBub24tZnJlZQotcHJvZ3JhbXMgZW5hYmxlcyBhIGdyZWF0ZXIgbnVtYmVyIG9mIHBlb3BsZSB0byB1c2UgYSBsYXJnZSBib2R5IG9mCi1mcmVlIHNvZnR3YXJlLiAgRm9yIGV4YW1wbGUsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBHTlUgQyBMaWJyYXJ5IGluCi1ub24tZnJlZSBwcm9ncmFtcyBlbmFibGVzIG1hbnkgbW9yZSBwZW9wbGUgdG8gdXNlIHRoZSB3aG9sZSBHTlUKLW9wZXJhdGluZyBzeXN0ZW0sIGFzIHdlbGwgYXMgaXRzIHZhcmlhbnQsIHRoZSBHTlUvTGludXggb3BlcmF0aW5nCi1zeXN0ZW0uCi0KLSAgQWx0aG91Z2ggdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIExlc3MgcHJvdGVjdGl2ZSBvZiB0aGUKLXVzZXJzJyBmcmVlZG9tLCBpdCBkb2VzIGVuc3VyZSB0aGF0IHRoZSB1c2VyIG9mIGEgcHJvZ3JhbSB0aGF0IGlzCi1saW5rZWQgd2l0aCB0aGUgTGlicmFyeSBoYXMgdGhlIGZyZWVkb20gYW5kIHRoZSB3aGVyZXdpdGhhbCB0byBydW4KLXRoYXQgcHJvZ3JhbSB1c2luZyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIExpYnJhcnkuCi0KLSAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKLW1vZGlmaWNhdGlvbiBmb2xsb3cuICBQYXkgY2xvc2UgYXR0ZW50aW9uIHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYQotIndvcmsgYmFzZWQgb24gdGhlIGxpYnJhcnkiIGFuZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgbGlicmFyeSIuICBUaGUKLWZvcm1lciBjb250YWlucyBjb2RlIGRlcml2ZWQgZnJvbSB0aGUgbGlicmFyeSwgd2hlcmVhcyB0aGUgbGF0dGVyIG11c3QKLWJlIGNvbWJpbmVkIHdpdGggdGhlIGxpYnJhcnkgaW4gb3JkZXIgdG8gcnVuLgotDAotCQkgIEdOVSBMRVNTRVIgR0VORVJBTCBQVUJMSUMgTElDRU5TRQotICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCi0KLSAgMC4gVGhpcyBMaWNlbnNlIEFncmVlbWVudCBhcHBsaWVzIHRvIGFueSBzb2Z0d2FyZSBsaWJyYXJ5IG9yIG90aGVyCi1wcm9ncmFtIHdoaWNoIGNvbnRhaW5zIGEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBvcgotb3RoZXIgYXV0aG9yaXplZCBwYXJ0eSBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZgotdGhpcyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoYWxzbyBjYWxsZWQgInRoaXMgTGljZW5zZSIpLgotRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuCi0KLSAgQSAibGlicmFyeSIgbWVhbnMgYSBjb2xsZWN0aW9uIG9mIHNvZnR3YXJlIGZ1bmN0aW9ucyBhbmQvb3IgZGF0YQotcHJlcGFyZWQgc28gYXMgdG8gYmUgY29udmVuaWVudGx5IGxpbmtlZCB3aXRoIGFwcGxpY2F0aW9uIHByb2dyYW1zCi0od2hpY2ggdXNlIHNvbWUgb2YgdGhvc2UgZnVuY3Rpb25zIGFuZCBkYXRhKSB0byBmb3JtIGV4ZWN1dGFibGVzLgotCi0gIFRoZSAiTGlicmFyeSIsIGJlbG93LCByZWZlcnMgdG8gYW55IHN1Y2ggc29mdHdhcmUgbGlicmFyeSBvciB3b3JrCi13aGljaCBoYXMgYmVlbiBkaXN0cmlidXRlZCB1bmRlciB0aGVzZSB0ZXJtcy4gIEEgIndvcmsgYmFzZWQgb24gdGhlCi1MaWJyYXJ5IiBtZWFucyBlaXRoZXIgdGhlIExpYnJhcnkgb3IgYW55IGRlcml2YXRpdmUgd29yayB1bmRlcgotY29weXJpZ2h0IGxhdzogdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBMaWJyYXJ5IG9yIGEKLXBvcnRpb24gb2YgaXQsIGVpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQKLXN0cmFpZ2h0Zm9yd2FyZGx5IGludG8gYW5vdGhlciBsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMKLWluY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbiB0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pCi0KLSAgIlNvdXJjZSBjb2RlIiBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKLW1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGEgbGlicmFyeSwgY29tcGxldGUgc291cmNlIGNvZGUgbWVhbnMKLWFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueSBhc3NvY2lhdGVkCi1pbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvIGNvbnRyb2wgY29tcGlsYXRpb24KLWFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGxpYnJhcnkuCi0KLSAgQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKLWNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKLXJ1bm5pbmcgYSBwcm9ncmFtIHVzaW5nIHRoZSBMaWJyYXJ5IGlzIG5vdCByZXN0cmljdGVkLCBhbmQgb3V0cHV0IGZyb20KLXN1Y2ggYSBwcm9ncmFtIGlzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQKLW9uIHRoZSBMaWJyYXJ5IChpbmRlcGVuZGVudCBvZiB0aGUgdXNlIG9mIHRoZSBMaWJyYXJ5IGluIGEgdG9vbCBmb3IKLXdyaXRpbmcgaXQpLiAgV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBMaWJyYXJ5IGRvZXMKLWFuZCB3aGF0IHRoZSBwcm9ncmFtIHRoYXQgdXNlcyB0aGUgTGlicmFyeSBkb2VzLgotICAKLSAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgTGlicmFyeSdzCi1jb21wbGV0ZSBzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdAoteW91IGNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4KLWFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0Ci1hbGwgdGhlIG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueQotd2FycmFudHk7IGFuZCBkaXN0cmlidXRlIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUKLUxpYnJhcnkuCi0KLSAgWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwKLWFuZCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEKLWZlZS4KLQwKLSAgMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgTGlicmFyeSBvciBhbnkgcG9ydGlvbgotb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnksIGFuZCBjb3B5IGFuZAotZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCi1hYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgotCi0gICAgYSkgVGhlIG1vZGlmaWVkIHdvcmsgbXVzdCBpdHNlbGYgYmUgYSBzb2Z0d2FyZSBsaWJyYXJ5LgotCi0gICAgYikgWW91IG11c3QgY2F1c2UgdGhlIGZpbGVzIG1vZGlmaWVkIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCi0gICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KLQotICAgIGMpIFlvdSBtdXN0IGNhdXNlIHRoZSB3aG9sZSBvZiB0aGUgd29yayB0byBiZSBsaWNlbnNlZCBhdCBubwotICAgIGNoYXJnZSB0byBhbGwgdGhpcmQgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgotCi0gICAgZCkgSWYgYSBmYWNpbGl0eSBpbiB0aGUgbW9kaWZpZWQgTGlicmFyeSByZWZlcnMgdG8gYSBmdW5jdGlvbiBvciBhCi0gICAgdGFibGUgb2YgZGF0YSB0byBiZSBzdXBwbGllZCBieSBhbiBhcHBsaWNhdGlvbiBwcm9ncmFtIHRoYXQgdXNlcwotICAgIHRoZSBmYWNpbGl0eSwgb3RoZXIgdGhhbiBhcyBhbiBhcmd1bWVudCBwYXNzZWQgd2hlbiB0aGUgZmFjaWxpdHkKLSAgICBpcyBpbnZva2VkLCB0aGVuIHlvdSBtdXN0IG1ha2UgYSBnb29kIGZhaXRoIGVmZm9ydCB0byBlbnN1cmUgdGhhdCwKLSAgICBpbiB0aGUgZXZlbnQgYW4gYXBwbGljYXRpb24gZG9lcyBub3Qgc3VwcGx5IHN1Y2ggZnVuY3Rpb24gb3IKLSAgICB0YWJsZSwgdGhlIGZhY2lsaXR5IHN0aWxsIG9wZXJhdGVzLCBhbmQgcGVyZm9ybXMgd2hhdGV2ZXIgcGFydCBvZgotICAgIGl0cyBwdXJwb3NlIHJlbWFpbnMgbWVhbmluZ2Z1bC4KLQotICAgIChGb3IgZXhhbXBsZSwgYSBmdW5jdGlvbiBpbiBhIGxpYnJhcnkgdG8gY29tcHV0ZSBzcXVhcmUgcm9vdHMgaGFzCi0gICAgYSBwdXJwb3NlIHRoYXQgaXMgZW50aXJlbHkgd2VsbC1kZWZpbmVkIGluZGVwZW5kZW50IG9mIHRoZQotICAgIGFwcGxpY2F0aW9uLiAgVGhlcmVmb3JlLCBTdWJzZWN0aW9uIDJkIHJlcXVpcmVzIHRoYXQgYW55Ci0gICAgYXBwbGljYXRpb24tc3VwcGxpZWQgZnVuY3Rpb24gb3IgdGFibGUgdXNlZCBieSB0aGlzIGZ1bmN0aW9uIG11c3QKLSAgICBiZSBvcHRpb25hbDogaWYgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHN1cHBseSBpdCwgdGhlIHNxdWFyZQotICAgIHJvb3QgZnVuY3Rpb24gbXVzdCBzdGlsbCBjb21wdXRlIHNxdWFyZSByb290cy4pCi0KLVRoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKLWlkZW50aWZpYWJsZSBzZWN0aW9ucyBvZiB0aGF0IHdvcmsgYXJlIG5vdCBkZXJpdmVkIGZyb20gdGhlIExpYnJhcnksCi1hbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KLXRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKLXNlY3Rpb25zIHdoZW4geW91IGRpc3RyaWJ1dGUgdGhlbSBhcyBzZXBhcmF0ZSB3b3Jrcy4gIEJ1dCB3aGVuIHlvdQotZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCi1vbiB0aGUgTGlicmFyeSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YKLXRoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRlbmQgdG8gdGhlCi1lbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUKLWl0LgotCi1UaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKLXlvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0bwotZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCi1jb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LgotCi1JbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBMaWJyYXJ5Ci13aXRoIHRoZSBMaWJyYXJ5IChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSkgb24gYSB2b2x1bWUgb2YKLWEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyCi10aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgotCi0gIDMuIFlvdSBtYXkgb3B0IHRvIGFwcGx5IHRoZSB0ZXJtcyBvZiB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljCi1MaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlIHRvIGEgZ2l2ZW4gY29weSBvZiB0aGUgTGlicmFyeS4gIFRvIGRvCi10aGlzLCB5b3UgbXVzdCBhbHRlciBhbGwgdGhlIG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UsIHNvCi10aGF0IHRoZXkgcmVmZXIgdG8gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsCi1pbnN0ZWFkIG9mIHRvIHRoaXMgTGljZW5zZS4gIChJZiBhIG5ld2VyIHZlcnNpb24gdGhhbiB2ZXJzaW9uIDIgb2YgdGhlCi1vcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBoYXMgYXBwZWFyZWQsIHRoZW4geW91IGNhbiBzcGVjaWZ5Ci10aGF0IHZlcnNpb24gaW5zdGVhZCBpZiB5b3Ugd2lzaC4pICBEbyBub3QgbWFrZSBhbnkgb3RoZXIgY2hhbmdlIGluCi10aGVzZSBub3RpY2VzLgotDAotICBPbmNlIHRoaXMgY2hhbmdlIGlzIG1hZGUgaW4gYSBnaXZlbiBjb3B5LCBpdCBpcyBpcnJldmVyc2libGUgZm9yCi10aGF0IGNvcHksIHNvIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcHBsaWVzIHRvIGFsbAotc3Vic2VxdWVudCBjb3BpZXMgYW5kIGRlcml2YXRpdmUgd29ya3MgbWFkZSBmcm9tIHRoYXQgY29weS4KLQotICBUaGlzIG9wdGlvbiBpcyB1c2VmdWwgd2hlbiB5b3Ugd2lzaCB0byBjb3B5IHBhcnQgb2YgdGhlIGNvZGUgb2YKLXRoZSBMaWJyYXJ5IGludG8gYSBwcm9ncmFtIHRoYXQgaXMgbm90IGEgbGlicmFyeS4KLQotICA0LiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgKG9yIGEgcG9ydGlvbiBvcgotZGVyaXZhdGl2ZSBvZiBpdCwgdW5kZXIgU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0KLXVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFjY29tcGFueQotaXQgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlIHNvdXJjZSBjb2RlLCB3aGljaAotbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhCi1tZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UuCi0KLSAgSWYgZGlzdHJpYnV0aW9uIG9mIG9iamVjdCBjb2RlIGlzIG1hZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIHRvIGNvcHkKLWZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlCi1zb3VyY2UgY29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIHNhdGlzZmllcyB0aGUgcmVxdWlyZW1lbnQgdG8KLWRpc3RyaWJ1dGUgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKLWNvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCi0KLSAgNS4gQSBwcm9ncmFtIHRoYXQgY29udGFpbnMgbm8gZGVyaXZhdGl2ZSBvZiBhbnkgcG9ydGlvbiBvZiB0aGUKLUxpYnJhcnksIGJ1dCBpcyBkZXNpZ25lZCB0byB3b3JrIHdpdGggdGhlIExpYnJhcnkgYnkgYmVpbmcgY29tcGlsZWQgb3IKLWxpbmtlZCB3aXRoIGl0LCBpcyBjYWxsZWQgYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiLiAgU3VjaCBhCi13b3JrLCBpbiBpc29sYXRpb24sIGlzIG5vdCBhIGRlcml2YXRpdmUgd29yayBvZiB0aGUgTGlicmFyeSwgYW5kCi10aGVyZWZvcmUgZmFsbHMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgotCi0gIEhvd2V2ZXIsIGxpbmtpbmcgYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHdpdGggdGhlIExpYnJhcnkKLWNyZWF0ZXMgYW4gZXhlY3V0YWJsZSB0aGF0IGlzIGEgZGVyaXZhdGl2ZSBvZiB0aGUgTGlicmFyeSAoYmVjYXVzZSBpdAotY29udGFpbnMgcG9ydGlvbnMgb2YgdGhlIExpYnJhcnkpLCByYXRoZXIgdGhhbiBhICJ3b3JrIHRoYXQgdXNlcyB0aGUKLWxpYnJhcnkiLiAgVGhlIGV4ZWN1dGFibGUgaXMgdGhlcmVmb3JlIGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLgotU2VjdGlvbiA2IHN0YXRlcyB0ZXJtcyBmb3IgZGlzdHJpYnV0aW9uIG9mIHN1Y2ggZXhlY3V0YWJsZXMuCi0KLSAgV2hlbiBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgdXNlcyBtYXRlcmlhbCBmcm9tIGEgaGVhZGVyIGZpbGUKLXRoYXQgaXMgcGFydCBvZiB0aGUgTGlicmFyeSwgdGhlIG9iamVjdCBjb2RlIGZvciB0aGUgd29yayBtYXkgYmUgYQotZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBMaWJyYXJ5IGV2ZW4gdGhvdWdoIHRoZSBzb3VyY2UgY29kZSBpcyBub3QuCi1XaGV0aGVyIHRoaXMgaXMgdHJ1ZSBpcyBlc3BlY2lhbGx5IHNpZ25pZmljYW50IGlmIHRoZSB3b3JrIGNhbiBiZQotbGlua2VkIHdpdGhvdXQgdGhlIExpYnJhcnksIG9yIGlmIHRoZSB3b3JrIGlzIGl0c2VsZiBhIGxpYnJhcnkuICBUaGUKLXRocmVzaG9sZCBmb3IgdGhpcyB0byBiZSB0cnVlIGlzIG5vdCBwcmVjaXNlbHkgZGVmaW5lZCBieSBsYXcuCi0KLSAgSWYgc3VjaCBhbiBvYmplY3QgZmlsZSB1c2VzIG9ubHkgbnVtZXJpY2FsIHBhcmFtZXRlcnMsIGRhdGEKLXN0cnVjdHVyZSBsYXlvdXRzIGFuZCBhY2Nlc3NvcnMsIGFuZCBzbWFsbCBtYWNyb3MgYW5kIHNtYWxsIGlubGluZQotZnVuY3Rpb25zICh0ZW4gbGluZXMgb3IgbGVzcyBpbiBsZW5ndGgpLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG9iamVjdAotZmlsZSBpcyB1bnJlc3RyaWN0ZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBsZWdhbGx5IGEgZGVyaXZhdGl2ZQotd29yay4gIChFeGVjdXRhYmxlcyBjb250YWluaW5nIHRoaXMgb2JqZWN0IGNvZGUgcGx1cyBwb3J0aW9ucyBvZiB0aGUKLUxpYnJhcnkgd2lsbCBzdGlsbCBmYWxsIHVuZGVyIFNlY3Rpb24gNi4pCi0KLSAgT3RoZXJ3aXNlLCBpZiB0aGUgd29yayBpcyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnksIHlvdSBtYXkKLWRpc3RyaWJ1dGUgdGhlIG9iamVjdCBjb2RlIGZvciB0aGUgd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiA2LgotQW55IGV4ZWN1dGFibGVzIGNvbnRhaW5pbmcgdGhhdCB3b3JrIGFsc28gZmFsbCB1bmRlciBTZWN0aW9uIDYsCi13aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBsaW5rZWQgZGlyZWN0bHkgd2l0aCB0aGUgTGlicmFyeSBpdHNlbGYuCi0MCi0gIDYuIEFzIGFuIGV4Y2VwdGlvbiB0byB0aGUgU2VjdGlvbnMgYWJvdmUsIHlvdSBtYXkgYWxzbyBjb21iaW5lIG9yCi1saW5rIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5IHRvIHByb2R1Y2UgYQotd29yayBjb250YWluaW5nIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5LCBhbmQgZGlzdHJpYnV0ZSB0aGF0IHdvcmsKLXVuZGVyIHRlcm1zIG9mIHlvdXIgY2hvaWNlLCBwcm92aWRlZCB0aGF0IHRoZSB0ZXJtcyBwZXJtaXQKLW1vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBmb3IgdGhlIGN1c3RvbWVyJ3Mgb3duIHVzZSBhbmQgcmV2ZXJzZQotZW5naW5lZXJpbmcgZm9yIGRlYnVnZ2luZyBzdWNoIG1vZGlmaWNhdGlvbnMuCi0KLSAgWW91IG11c3QgZ2l2ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggZWFjaCBjb3B5IG9mIHRoZSB3b3JrIHRoYXQgdGhlCi1MaWJyYXJ5IGlzIHVzZWQgaW4gaXQgYW5kIHRoYXQgdGhlIExpYnJhcnkgYW5kIGl0cyB1c2UgYXJlIGNvdmVyZWQgYnkKLXRoaXMgTGljZW5zZS4gIFlvdSBtdXN0IHN1cHBseSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgSWYgdGhlIHdvcmsKLWR1cmluZyBleGVjdXRpb24gZGlzcGxheXMgY29weXJpZ2h0IG5vdGljZXMsIHlvdSBtdXN0IGluY2x1ZGUgdGhlCi1jb3B5cmlnaHQgbm90aWNlIGZvciB0aGUgTGlicmFyeSBhbW9uZyB0aGVtLCBhcyB3ZWxsIGFzIGEgcmVmZXJlbmNlCi1kaXJlY3RpbmcgdGhlIHVzZXIgdG8gdGhlIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgQWxzbywgeW91IG11c3QgZG8gb25lCi1vZiB0aGVzZSB0aGluZ3M6Ci0KLSAgICBhKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZwotICAgIG1hY2hpbmUtcmVhZGFibGUgc291cmNlIGNvZGUgZm9yIHRoZSBMaWJyYXJ5IGluY2x1ZGluZyB3aGF0ZXZlcgotICAgIGNoYW5nZXMgd2VyZSB1c2VkIGluIHRoZSB3b3JrICh3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyCi0gICAgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSk7IGFuZCwgaWYgdGhlIHdvcmsgaXMgYW4gZXhlY3V0YWJsZSBsaW5rZWQKLSAgICB3aXRoIHRoZSBMaWJyYXJ5LCB3aXRoIHRoZSBjb21wbGV0ZSBtYWNoaW5lLXJlYWRhYmxlICJ3b3JrIHRoYXQKLSAgICB1c2VzIHRoZSBMaWJyYXJ5IiwgYXMgb2JqZWN0IGNvZGUgYW5kL29yIHNvdXJjZSBjb2RlLCBzbyB0aGF0IHRoZQotICAgIHVzZXIgY2FuIG1vZGlmeSB0aGUgTGlicmFyeSBhbmQgdGhlbiByZWxpbmsgdG8gcHJvZHVjZSBhIG1vZGlmaWVkCi0gICAgZXhlY3V0YWJsZSBjb250YWluaW5nIHRoZSBtb2RpZmllZCBMaWJyYXJ5LiAgKEl0IGlzIHVuZGVyc3Rvb2QKLSAgICB0aGF0IHRoZSB1c2VyIHdobyBjaGFuZ2VzIHRoZSBjb250ZW50cyBvZiBkZWZpbml0aW9ucyBmaWxlcyBpbiB0aGUKLSAgICBMaWJyYXJ5IHdpbGwgbm90IG5lY2Vzc2FyaWx5IGJlIGFibGUgdG8gcmVjb21waWxlIHRoZSBhcHBsaWNhdGlvbgotICAgIHRvIHVzZSB0aGUgbW9kaWZpZWQgZGVmaW5pdGlvbnMuKQotCi0gICAgYikgVXNlIGEgc3VpdGFibGUgc2hhcmVkIGxpYnJhcnkgbWVjaGFuaXNtIGZvciBsaW5raW5nIHdpdGggdGhlCi0gICAgTGlicmFyeS4gIEEgc3VpdGFibGUgbWVjaGFuaXNtIGlzIG9uZSB0aGF0ICgxKSB1c2VzIGF0IHJ1biB0aW1lIGEKLSAgICBjb3B5IG9mIHRoZSBsaWJyYXJ5IGFscmVhZHkgcHJlc2VudCBvbiB0aGUgdXNlcidzIGNvbXB1dGVyIHN5c3RlbSwKLSAgICByYXRoZXIgdGhhbiBjb3B5aW5nIGxpYnJhcnkgZnVuY3Rpb25zIGludG8gdGhlIGV4ZWN1dGFibGUsIGFuZCAoMikKLSAgICB3aWxsIG9wZXJhdGUgcHJvcGVybHkgd2l0aCBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIGlmCi0gICAgdGhlIHVzZXIgaW5zdGFsbHMgb25lLCBhcyBsb25nIGFzIHRoZSBtb2RpZmllZCB2ZXJzaW9uIGlzCi0gICAgaW50ZXJmYWNlLWNvbXBhdGlibGUgd2l0aCB0aGUgdmVyc2lvbiB0aGF0IHRoZSB3b3JrIHdhcyBtYWRlIHdpdGguCi0KLSAgICBjKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdAotICAgIGxlYXN0IHRocmVlIHllYXJzLCB0byBnaXZlIHRoZSBzYW1lIHVzZXIgdGhlIG1hdGVyaWFscwotICAgIHNwZWNpZmllZCBpbiBTdWJzZWN0aW9uIDZhLCBhYm92ZSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUKLSAgICB0aGFuIHRoZSBjb3N0IG9mIHBlcmZvcm1pbmcgdGhpcyBkaXN0cmlidXRpb24uCi0KLSAgICBkKSBJZiBkaXN0cmlidXRpb24gb2YgdGhlIHdvcmsgaXMgbWFkZSBieSBvZmZlcmluZyBhY2Nlc3MgdG8gY29weQotICAgIGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZSBhYm92ZQotICAgIHNwZWNpZmllZCBtYXRlcmlhbHMgZnJvbSB0aGUgc2FtZSBwbGFjZS4KLQotICAgIGUpIFZlcmlmeSB0aGF0IHRoZSB1c2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIGEgY29weSBvZiB0aGVzZQotICAgIG1hdGVyaWFscyBvciB0aGF0IHlvdSBoYXZlIGFscmVhZHkgc2VudCB0aGlzIHVzZXIgYSBjb3B5LgotCi0gIEZvciBhbiBleGVjdXRhYmxlLCB0aGUgcmVxdWlyZWQgZm9ybSBvZiB0aGUgIndvcmsgdGhhdCB1c2VzIHRoZQotTGlicmFyeSIgbXVzdCBpbmNsdWRlIGFueSBkYXRhIGFuZCB1dGlsaXR5IHByb2dyYW1zIG5lZWRlZCBmb3IKLXJlcHJvZHVjaW5nIHRoZSBleGVjdXRhYmxlIGZyb20gaXQuICBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uLAotdGhlIG1hdGVyaWFscyB0byBiZSBkaXN0cmlidXRlZCBuZWVkIG5vdCBpbmNsdWRlIGFueXRoaW5nIHRoYXQgaXMKLW5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeSBmb3JtKSB3aXRoIHRoZSBtYWpvcgotY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbgotd2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRoYXQgY29tcG9uZW50IGl0c2VsZiBhY2NvbXBhbmllcwotdGhlIGV4ZWN1dGFibGUuCi0KLSAgSXQgbWF5IGhhcHBlbiB0aGF0IHRoaXMgcmVxdWlyZW1lbnQgY29udHJhZGljdHMgdGhlIGxpY2Vuc2UKLXJlc3RyaWN0aW9ucyBvZiBvdGhlciBwcm9wcmlldGFyeSBsaWJyYXJpZXMgdGhhdCBkbyBub3Qgbm9ybWFsbHkKLWFjY29tcGFueSB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gIFN1Y2ggYSBjb250cmFkaWN0aW9uIG1lYW5zIHlvdSBjYW5ub3QKLXVzZSBib3RoIHRoZW0gYW5kIHRoZSBMaWJyYXJ5IHRvZ2V0aGVyIGluIGFuIGV4ZWN1dGFibGUgdGhhdCB5b3UKLWRpc3RyaWJ1dGUuCi0MCi0gIDcuIFlvdSBtYXkgcGxhY2UgbGlicmFyeSBmYWNpbGl0aWVzIHRoYXQgYXJlIGEgd29yayBiYXNlZCBvbiB0aGUKLUxpYnJhcnkgc2lkZS1ieS1zaWRlIGluIGEgc2luZ2xlIGxpYnJhcnkgdG9nZXRoZXIgd2l0aCBvdGhlciBsaWJyYXJ5Ci1mYWNpbGl0aWVzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgc3VjaCBhIGNvbWJpbmVkCi1saWJyYXJ5LCBwcm92aWRlZCB0aGF0IHRoZSBzZXBhcmF0ZSBkaXN0cmlidXRpb24gb2YgdGhlIHdvcmsgYmFzZWQgb24KLXRoZSBMaWJyYXJ5IGFuZCBvZiB0aGUgb3RoZXIgbGlicmFyeSBmYWNpbGl0aWVzIGlzIG90aGVyd2lzZQotcGVybWl0dGVkLCBhbmQgcHJvdmlkZWQgdGhhdCB5b3UgZG8gdGhlc2UgdHdvIHRoaW5nczoKLQotICAgIGEpIEFjY29tcGFueSB0aGUgY29tYmluZWQgbGlicmFyeSB3aXRoIGEgY29weSBvZiB0aGUgc2FtZSB3b3JrCi0gICAgYmFzZWQgb24gdGhlIExpYnJhcnksIHVuY29tYmluZWQgd2l0aCBhbnkgb3RoZXIgbGlicmFyeQotICAgIGZhY2lsaXRpZXMuICBUaGlzIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQotICAgIFNlY3Rpb25zIGFib3ZlLgotCi0gICAgYikgR2l2ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggdGhlIGNvbWJpbmVkIGxpYnJhcnkgb2YgdGhlIGZhY3QKLSAgICB0aGF0IHBhcnQgb2YgaXQgaXMgYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCBhbmQgZXhwbGFpbmluZwotICAgIHdoZXJlIHRvIGZpbmQgdGhlIGFjY29tcGFueWluZyB1bmNvbWJpbmVkIGZvcm0gb2YgdGhlIHNhbWUgd29yay4KLQotICA4LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIGxpbmsgd2l0aCwgb3IgZGlzdHJpYnV0ZQotdGhlIExpYnJhcnkgZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkKLWF0dGVtcHQgb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgbGluayB3aXRoLCBvcgotZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyCi1yaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsCi1vciByaWdodHMsIGZyb20geW91IHVuZGVyIHRoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzCi10ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaCBwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCi0KLSAgOS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90Ci1zaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgotZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCi1wcm9oaWJpdGVkIGJ5IGxhdyBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5Ci1tb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBMaWJyYXJ5IChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKLUxpYnJhcnkpLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCi1hbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nCi10aGUgTGlicmFyeSBvciB3b3JrcyBiYXNlZCBvbiBpdC4KLQotICAxMC4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQotTGlicmFyeSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKLW9yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUsIGxpbmsgd2l0aCBvciBtb2RpZnkgdGhlIExpYnJhcnkKLXN1YmplY3QgdG8gdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIKLXJlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4KLVlvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGgKLXRoaXMgTGljZW5zZS4KLQwKLSAgMTEuIElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQKLWluZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCi1jb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCi1vdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90Ci1leGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdAotZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwotTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQotbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBhdGVudAotbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgTGlicmFyeSBieQotYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuCi10aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCi1yZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBMaWJyYXJ5LgotCi1JZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIgYW55Ci1wYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gYXBwbHksCi1hbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlciBjaXJjdW1zdGFuY2VzLgotCi1JdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55Ci1wYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQotc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQotaW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0gd2hpY2ggaXMKLWltcGxlbWVudGVkIGJ5IHB1YmxpYyBsaWNlbnNlIHByYWN0aWNlcy4gIE1hbnkgcGVvcGxlIGhhdmUgbWFkZQotZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAotdGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKLXN5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcKLXRvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAotaW1wb3NlIHRoYXQgY2hvaWNlLgotCi1UaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KLWJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgotCi0gIDEyLiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIExpYnJhcnkgaXMgcmVzdHJpY3RlZCBpbgotY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCi1vcmlnaW5hbCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIExpYnJhcnkgdW5kZXIgdGhpcyBMaWNlbnNlIG1heSBhZGQKLWFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcgdGhvc2UgY291bnRyaWVzLAotc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcgY291bnRyaWVzIG5vdCB0aHVzCi1leGNsdWRlZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcyB0aGUgbGltaXRhdGlvbiBhcyBpZgotd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCi0KLSAgMTMuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3Ci12ZXJzaW9ucyBvZiB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuCi1TdWNoIG5ldyB2ZXJzaW9ucyB3aWxsIGJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sCi1idXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8gYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCi0KLUVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIExpYnJhcnkKLXNwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZAotImFueSBsYXRlciB2ZXJzaW9uIiwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZAotY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBMaWJyYXJ5IGRvZXMgbm90IHNwZWNpZnkgYQotbGljZW5zZSB2ZXJzaW9uIG51bWJlciwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0MCi0gIDE0LiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgTGlicmFyeSBpbnRvIG90aGVyIGZyZWUKLXByb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBpbmNvbXBhdGlibGUgd2l0aCB0aGVzZSwKLXdyaXRlIHRvIHRoZSBhdXRob3IgdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzCi1jb3B5cmlnaHRlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZQotU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzIG1ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91cgotZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscyBvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cwotb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZCBvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcKLWFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCi0KLQkJCSAgICBOTyBXQVJSQU5UWQotCi0gIDE1LiBCRUNBVVNFIFRIRSBMSUJSQVJZIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTwotV0FSUkFOVFkgRk9SIFRIRSBMSUJSQVJZLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4KLUVYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SCi1PVEhFUiBQQVJUSUVTIFBST1ZJREUgVEhFIExJQlJBUlkgIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQotS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi1JTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLVBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRQotTElCUkFSWSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgTElCUkFSWSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUKLVRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KLQotICAxNi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTgotV1JJVElORyBXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkKLUFORC9PUiBSRURJU1RSSUJVVEUgVEhFIExJQlJBUlkgQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VCi1GT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SCi1DT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRQotTElCUkFSWSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORwotUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEKLUZBSUxVUkUgT0YgVEhFIExJQlJBUlkgVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUiBTT0ZUV0FSRSksIEVWRU4gSUYKLVNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKLURBTUFHRVMuCi0KLQkJICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKLQwKLSAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IExpYnJhcmllcwotCi0gIElmIHlvdSBkZXZlbG9wIGEgbmV3IGxpYnJhcnksIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKLXBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB3ZSByZWNvbW1lbmQgbWFraW5nIGl0IGZyZWUgc29mdHdhcmUgdGhhdAotZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlLiAgWW91IGNhbiBkbyBzbyBieSBwZXJtaXR0aW5nCi1yZWRpc3RyaWJ1dGlvbiB1bmRlciB0aGVzZSB0ZXJtcyAob3IsIGFsdGVybmF0aXZlbHksIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKLW9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UpLgotCi0gIFRvIGFwcGx5IHRoZXNlIHRlcm1zLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBsaWJyYXJ5LiAgSXQgaXMKLXNhZmVzdCB0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5Ci1jb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCB0aGUKLSJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCi0KLSAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgbGlicmFyeSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgotICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+Ci0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKLQotQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCi0KLVlvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCi1zY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBsaWJyYXJ5LCBpZgotbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgotCi0gIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlCi0gIGxpYnJhcnkgYEZyb2InIChhIGxpYnJhcnkgZm9yIHR3ZWFraW5nIGtub2JzKSB3cml0dGVuIGJ5IEphbWVzIFJhbmRvbSBIYWNrZXIuCi0KLSAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTkwCi0gIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCi0KLVRoYXQncyBhbGwgdGhlcmUgaXMgdG8gaXQhCi0KLQpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3Mvc3JjL3hzbC9kZWZhdWx0LnhzbCBiL3Rvb2xzL2ZpbmRidWdzL3NyYy94c2wvZGVmYXVsdC54c2wKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4ZjMwZDQuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3Mvc3JjL3hzbC9kZWZhdWx0LnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDM3NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotCi08IS0tCi0gIEZpbmRCdWdzIC0gRmluZCBidWdzIGluIEphdmEgcHJvZ3JhbXMKLSAgQ29weXJpZ2h0IChDKSAyMDA0LDIwMDUgVW5pdmVyc2l0eSBvZiBNYXJ5bGFuZAotICBDb3B5cmlnaHQgKEMpIDIwMDUsIENocmlzIE5hcHBpbgotICAKLSAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAgCi0gIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICAKLSAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKLS0tPgotCi08IS0tCi0gIEEgc2ltcGxlIFhTTFQgc3R5bGVzaGVldCB0byB0cmFuc2Zvcm0gRmluZEJ1Z3MgWE1MIHJlc3VsdHMKLSAgYW5ub3RhdGVkIHdpdGggbWVzc2FnZXMgaW50byBIVE1MLgotCi0gIElmIHlvdSB3YW50IHRvIGV4cGVyaW1lbnQgd2l0aCBtb2RpZnlpbmcgdGhpcyBzdHlsZXNoZWV0LAotICBvciB3cml0ZSB5b3VyIG93biwgeW91IG5lZWQgdG8gZ2VuZXJhdGUgWE1MIG91dHB1dCBmcm9tIEZpbmRCdWdzCi0gIHVzaW5nIGEgc3BlY2lhbCBvcHRpb24gd2hpY2ggbGV0cyBpdCBrbm93IHRvIGluY2x1ZGUKLSAgaHVtYW4tcmVhZGFibGUgbWVzc2FnZXMgaW4gdGhlIFhNTC4gIEludm9rZSB0aGUgZmluZGJ1Z3Mgc2NyaXB0Ci0gIGFzIGZvbGxvd3M6Ci0KLSAgICBmaW5kYnVncyAtdGV4dHVpIC14bWw6d2l0aE1lc3NhZ2VzIC1wcm9qZWN0IG15UHJvamVjdC5mYiA+IHJlc3VsdHMueG1sCi0KLSAgVGhlbiB5b3UgY2FuIHVzZSB5b3VyIGZhdm9yaXRlIFhTTFQgaW1wbGVtZW50YXRpb24gdG8gdHJhbnNmb3JtCi0gIHRoZSBYTUwgb3V0cHV0IGludG8gSFRNTC4gKEJ1dCBkb24ndCB1c2UgeHNsdHByb2MuIEl0IGdlbmVyYXRlcyB3ZWxsLW5pZ2gKLSAgdW5yZWFkYWJsZSBvdXRwdXQsIGFuZCBnZW5lcmF0ZXMgaW5jb3JyZWN0IG91dHB1dCBmb3IgdGhlCi0gIDxzY3JpcHQ+IGVsZW1lbnQuKQotCi0gIEF1dGhvcnM6Ci0gIERhdmlkIEhvdmVtZXllcgotICBDaHJpcyBOYXBwaW4gKHN1bW1hcnkgdGFibGUpCi0tLT4KLQotPHhzbDpzdHlsZXNoZWV0Ci0JdmVyc2lvbj0iMS4wIgotCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIgotCXhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIj4KLQotPHhzbDpvdXRwdXQKLQltZXRob2Q9InhtbCIKLQlpbmRlbnQ9InllcyIKLQlvbWl0LXhtbC1kZWNsYXJhdGlvbj0ieWVzIgotCXN0YW5kYWxvbmU9InllcyIKLSAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCIKLQlkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCi0JZW5jb2Rpbmc9IlVURi04Ii8+Ci0KLTx4c2w6dmFyaWFibGUgbmFtZT0ibGl0ZXJhbE5ic3AiPiZhbXA7bmJzcDs8L3hzbDp2YXJpYWJsZT4KLQotPCEtLXhzbDprZXkgbmFtZT0iYnVnLWNhdGVnb3J5LWtleSIgbWF0Y2g9Ii9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlIiB1c2U9IkBjYXRlZ29yeSIvLS0+Ci0KLTx4c2w6dmFyaWFibGUgbmFtZT0iYnVnVGFibGVIZWFkZXIiPgotCTx0ciBjbGFzcz0idGFibGVoZWFkZXIiPgotCQk8dGggYWxpZ249ImxlZnQiPkNvZGU8L3RoPgotCQk8dGggYWxpZ249ImxlZnQiPldhcm5pbmc8L3RoPgotCTwvdHI+Ci08L3hzbDp2YXJpYWJsZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+Ci0JPGh0bWw+Ci0JPGhlYWQ+Ci0JCTx0aXRsZT5GaW5kQnVncyBSZXBvcnQ8L3RpdGxlPgotCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotCQkudGFibGVyb3cwIHsKLQkJCWJhY2tncm91bmQ6ICNFRUVFRUU7Ci0JCX0KLQotCQkudGFibGVyb3cxIHsKLQkJCWJhY2tncm91bmQ6IHdoaXRlOwotCQl9Ci0KLQkJLmRldGFpbHJvdzAgewotCQkJYmFja2dyb3VuZDogI0VFRUVFRTsKLQkJfQotCi0JCS5kZXRhaWxyb3cxIHsKLQkJCWJhY2tncm91bmQ6IHdoaXRlOwotCQl9Ci0KLQkJLnRhYmxlaGVhZGVyIHsKLQkJCWJhY2tncm91bmQ6ICNiOWI5ZmU7Ci0JCQlmb250LXNpemU6IGxhcmdlcjsKLQkJfQotCi0JCS50YWJsZXJvdzA6aG92ZXIsIC50YWJsZXJvdzE6aG92ZXIgewotCQkJYmFja2dyb3VuZDogI2FhZmZhYTsKLQkJfQotCi0JCS5wcmlvcml0eS0xIHsKLQkJICAgIGNvbG9yOiByZWQ7Ci0JCSAgICBmb250LXdlaWdodDogYm9sZDsKLQkJfQotCQkucHJpb3JpdHktMiB7Ci0JCSAgICBjb2xvcjogb3JhbmdlOwotCQkgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci0JCX0KLQkJLnByaW9yaXR5LTMgewotCQkgICAgY29sb3I6IGdyZWVuOwotCQkgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci0JCX0KLQkJLnByaW9yaXR5LTQgewotCQkgICAgY29sb3I6IGJsdWU7Ci0JCSAgICBmb250LXdlaWdodDogYm9sZDsKLQkJfQotCQk8L3N0eWxlPgotCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0JCQlmdW5jdGlvbiB0b2dnbGVSb3coZWxpZCkgewotCQkJCWlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCkgewotCQkJCQllbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxpZCk7Ci0JCQkJCWlmIChlbGVtZW50KSB7Ci0JCQkJCQlpZiAoZWxlbWVudC5zdHlsZS5kaXNwbGF5ID09ICdub25lJykgewotCQkJCQkJCWVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7Ci0JCQkJCQkJLy93aW5kb3cuc3RhdHVzID0gJ1RvZ2dsZSBvbiEnOwotCQkJCQkJfSBlbHNlIHsKLQkJCQkJCQllbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Ci0JCQkJCQkJLy93aW5kb3cuc3RhdHVzID0gJ1RvZ2dsZSBvZmYhJzsKLQkJCQkJCX0KLQkJCQkJfQotCQkJCX0KLQkJCX0KLQkJPC9zY3JpcHQ+Ci0JPC9oZWFkPgotCi0JPHhzbDp2YXJpYWJsZSBuYW1lPSJ1bmlxdWUtY2F0a2V5IiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0NhdGVnb3J5L0BjYXRlZ29yeSIvPgotCTwhLS14c2w6dmFyaWFibGUgbmFtZT0idW5pcXVlLWNhdGtleSIgc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZVtnZW5lcmF0ZS1pZCgpID0gZ2VuZXJhdGUtaWQoa2V5KCdidWctY2F0ZWdvcnkta2V5JyxAY2F0ZWdvcnkpKV0vQGNhdGVnb3J5Ii8tLT4KLQotCTxib2R5PgotCi0JCTxoMT48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0Ij5GaW5kQnVnczwvYT4gUmVwb3J0PC9oMT4KLQotCTxoMj5Qcm9qZWN0IEluZm9ybWF0aW9uPC9oMj4JCi0JPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9Qcm9qZWN0Ii8+Ci0KLQk8aDI+TWV0cmljczwvaDI+Ci0JPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkiLz4KLQotCTxoMj5Db250ZW50czwvaDI+Ci0JPHVsPgotCQk8eHNsOmZvci1lYWNoIHNlbGVjdD0iJHVuaXF1ZS1jYXRrZXkiPgotCQkJPHhzbDpzb3J0IHNlbGVjdD0iLiIgb3JkZXI9ImFzY2VuZGluZyIvPgotCQkJPHhzbDp2YXJpYWJsZSBuYW1lPSJjYXRrZXkiIHNlbGVjdD0iLiIvPgotCQkJPHhzbDp2YXJpYWJsZSBuYW1lPSJjYXRkZXNjIiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0NhdGVnb3J5W0BjYXRlZ29yeT0kY2F0a2V5XS9EZXNjcmlwdGlvbiIvPgotCQkJCi0JCQk8bGk+PGEgaHJlZj0iI1dhcm5pbmdzX3skY2F0a2V5fSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjYXRkZXNjIi8+IFdhcm5pbmdzPC9hPjwvbGk+Ci0JCTwveHNsOmZvci1lYWNoPgotCi0JCTxsaT48YSBocmVmPSIjRGV0YWlscyI+RGV0YWlsczwvYT48L2xpPgotCTwvdWw+Ci0KLQk8aDE+U3VtbWFyeTwvaDE+Ci0JPHRhYmxlIHdpZHRoPSI1MDAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiI+Ci0JICAgIDx0ciBjbGFzcz0idGFibGVoZWFkZXIiPgotCQkJPHRoIGFsaWduPSJsZWZ0Ij5XYXJuaW5nIFR5cGU8L3RoPgotCQkJPHRoIGFsaWduPSJyaWdodCI+TnVtYmVyPC90aD4KLQkJPC90cj4KLQotCQk8eHNsOmZvci1lYWNoIHNlbGVjdD0iJHVuaXF1ZS1jYXRrZXkiPgotCQkJPHhzbDpzb3J0IHNlbGVjdD0iLiIgb3JkZXI9ImFzY2VuZGluZyIvPgotCQkJPHhzbDp2YXJpYWJsZSBuYW1lPSJjYXRrZXkiIHNlbGVjdD0iLiIvPgotCQkJPHhzbDp2YXJpYWJsZSBuYW1lPSJjYXRkZXNjIiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0NhdGVnb3J5W0BjYXRlZ29yeT0kY2F0a2V5XS9EZXNjcmlwdGlvbiIvPgotCQkJPHhzbDp2YXJpYWJsZSBuYW1lPSJzdHlsZWNsYXNzIj4KLQkJCQk8eHNsOmNob29zZT48eHNsOndoZW4gdGVzdD0icG9zaXRpb24oKSBtb2QgMiA9IDEiPnRhYmxlcm93MDwveHNsOndoZW4+Ci0JCQkJCTx4c2w6b3RoZXJ3aXNlPnRhYmxlcm93MTwveHNsOm90aGVyd2lzZT4KLQkJCQk8L3hzbDpjaG9vc2U+Ci0JCQk8L3hzbDp2YXJpYWJsZT4KLQkJCQotCQk8dHIgY2xhc3M9Inskc3R5bGVjbGFzc30iPgotCQkJPHRkPjxhIGhyZWY9IiNXYXJuaW5nc197JGNhdGtleX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZGVzYyIvPiBXYXJuaW5nczwvYT48L3RkPgotCQkJPHRkIGFsaWduPSJyaWdodCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlWyhAY2F0ZWdvcnk9JGNhdGtleSkgYW5kIG5vdChAbGFzdCldKSIvPjwvdGQ+Ci0JCTwvdHI+Ci0JCTwveHNsOmZvci1lYWNoPgotCi0JCTx4c2w6dmFyaWFibGUgbmFtZT0ic3R5bGVjbGFzcyI+Ci0JCQk8eHNsOmNob29zZT48eHNsOndoZW4gdGVzdD0iY291bnQoJHVuaXF1ZS1jYXRrZXkpIG1vZCAyID0gMCI+dGFibGVyb3cwPC94c2w6d2hlbj4KLQkJCQk8eHNsOm90aGVyd2lzZT50YWJsZXJvdzE8L3hzbDpvdGhlcndpc2U+Ci0JCQk8L3hzbDpjaG9vc2U+Ci0JCTwveHNsOnZhcmlhYmxlPgotCQk8dHIgY2xhc3M9Inskc3R5bGVjbGFzc30iPgotCQkgICAgPHRkPjxiPlRvdGFsPC9iPjwvdGQ+Ci0JCSAgICA8dGQgYWxpZ249InJpZ2h0Ij48Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iY291bnQoL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2Vbbm90KEBsYXN0KV0pIi8+PC9iPjwvdGQ+Ci0JCTwvdHI+Ci0JPC90YWJsZT4KLQotCTxoMT5XYXJuaW5nczwvaDE+Ci0KLQk8cD5DbGljayBvbiBhIHdhcm5pbmcgcm93IHRvIHNlZSBmdWxsIGNvbnRleHQgaW5mb3JtYXRpb24uPC9wPgotCi0JPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IiR1bmlxdWUtY2F0a2V5Ij4KLQkJPHhzbDpzb3J0IHNlbGVjdD0iLiIgb3JkZXI9ImFzY2VuZGluZyIvPgotCQk8eHNsOnZhcmlhYmxlIG5hbWU9ImNhdGtleSIgc2VsZWN0PSIuIi8+Ci0JCTx4c2w6dmFyaWFibGUgbmFtZT0iY2F0ZGVzYyIgc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9CdWdDYXRlZ29yeVtAY2F0ZWdvcnk9JGNhdGtleV0vRGVzY3JpcHRpb24iLz4KLQkJCQotCQk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZ2VuZXJhdGVXYXJuaW5nVGFibGUiPgotCQkJPHhzbDp3aXRoLXBhcmFtIG5hbWU9Indhcm5pbmdTZXQiIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2VbKEBjYXRlZ29yeT0kY2F0a2V5KSBhbmQgbm90KEBsYXN0KV0iLz4KLQkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJzZWN0aW9uVGl0bGUiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZGVzYyIvPiBXYXJuaW5nczwveHNsOndpdGgtcGFyYW0+Ci0JCQk8eHNsOndpdGgtcGFyYW0gbmFtZT0ic2VjdGlvbklkIj5XYXJuaW5nc188eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNhdGtleSIvPjwveHNsOndpdGgtcGFyYW0+Ci0JCTwveHNsOmNhbGwtdGVtcGxhdGU+Ci0JPC94c2w6Zm9yLWVhY2g+Ci0KLQk8aDE+PGEgbmFtZT0iRGV0YWlscyI+RGV0YWlsczwvYT48L2gxPgotCi0JPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9CdWdQYXR0ZXJuIj4KLQkJPHhzbDpzb3J0IHNlbGVjdD0iQGFiYnJldiIvPgotCQk8eHNsOnNvcnQgc2VsZWN0PSJTaG9ydERlc2NyaXB0aW9uIi8+Ci0JPC94c2w6YXBwbHktdGVtcGxhdGVzPgotCi0JPC9ib2R5PgotCTwvaHRtbD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJQcm9qZWN0Ij4KLQk8cD5Qcm9qZWN0OiAKLQkJPHhzbDpjaG9vc2U+Ci0JCQk8eHNsOndoZW4gdGVzdD0nc3RyaW5nLWxlbmd0aCgvQnVnQ29sbGVjdGlvbi9Qcm9qZWN0L0Bwcm9qZWN0TmFtZSk+MCc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL1Byb2plY3QvQHByb2plY3ROYW1lIiAvPjwveHNsOndoZW4+Ci0JCQk8eHNsOm90aGVyd2lzZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AZmlsZW5hbWUiIC8+PC94c2w6b3RoZXJ3aXNlPgotCQk8L3hzbDpjaG9vc2U+Ci0JPC9wPgotCTxwPkZpbmRCdWdzIHZlcnNpb246IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9AdmVyc2lvbiIvPjwvcD4KLQkKLQk8cD5Db2RlIGFuYWx5emVkOjwvcD4KLQk8dWw+Ci0JCTx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIuL0phciI+Ci0JCQk8bGk+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRleHQoKSIvPjwvbGk+Ci0JCTwveHNsOmZvci1lYWNoPgotCTwvdWw+Ci0JPHA+PGJyLz48YnIvPjwvcD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJCdWdJbnN0YW5jZVtub3QoQGxhc3QpXSI+Ci0JPHhzbDp2YXJpYWJsZSBuYW1lPSJ3YXJuaW5nSWQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJnZW5lcmF0ZS1pZCgpIi8+PC94c2w6dmFyaWFibGU+Ci0KLQk8dHIgY2xhc3M9InRhYmxlcm93e3Bvc2l0aW9uKCkgbW9kIDJ9IiBvbmNsaWNrPSJ0b2dnbGVSb3coJ3skd2FybmluZ0lkfScpOyI+Ci0KLQk8dGQ+Ci0JICAgIDxzcGFuPjx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj5wcmlvcml0eS08eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5Ii8+PC94c2w6YXR0cmlidXRlPgotCSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBhYmJyZXYiLz4KLSAgICAgICAgPC9zcGFuPgotCTwvdGQ+Ci0KLQk8dGQ+Ci0JPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkxvbmdNZXNzYWdlIi8+Ci0JPC90ZD4KLQotCTwvdHI+Ci0KLQk8IS0tIEFkZCBidWcgYW5ub3RhdGlvbiBlbGVtZW50czogQ2xhc3MsIE1ldGhvZCwgRmllbGQsIFNvdXJjZUxpbmUsIEZpZWxkIC0tPgotCTx0ciBjbGFzcz0iZGV0YWlscm93e3Bvc2l0aW9uKCkgbW9kIDJ9Ij4KLQkJPHRkLz4KLQkJPHRkPgotCQkJPHAgaWQ9Inskd2FybmluZ0lkfSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KLQkJCQk8YSBocmVmPSIje0B0eXBlfSI+QnVnIHR5cGUgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB0eXBlIi8+IChjbGljayBmb3IgZGV0YWlscyk8L2E+Ci0JCQkJPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vKi9NZXNzYWdlIj4KLQkJCQkJPGJyLz48eHNsOnZhbHVlLW9mIHNlbGVjdD0idGV4dCgpIiBkaXNhYmxlLW91dHB1dC1lc2NhcGluZz0ibm8iLz4KLQkJCQk8L3hzbDpmb3ItZWFjaD4KLQkJCTwvcD4KLQkJPC90ZD4KLQk8L3RyPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkJ1Z1BhdHRlcm4iPgotCTxoMj48YSBuYW1lPSJ7QHR5cGV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHR5cGUiLz46IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTaG9ydERlc2NyaXB0aW9uIi8+PC9hPjwvaDI+Ci0JPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkRldGFpbHMiIGRpc2FibGUtb3V0cHV0LWVzY2FwaW5nPSJ5ZXMiLz4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG5hbWU9ImdlbmVyYXRlV2FybmluZ1RhYmxlIj4KLQk8eHNsOnBhcmFtIG5hbWU9Indhcm5pbmdTZXQiLz4KLQk8eHNsOnBhcmFtIG5hbWU9InNlY3Rpb25UaXRsZSIvPgotCTx4c2w6cGFyYW0gbmFtZT0ic2VjdGlvbklkIi8+Ci0KLQk8aDI+PGEgbmFtZT0ieyRzZWN0aW9uSWR9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHNlY3Rpb25UaXRsZSIvPjwvYT48L2gyPgotCTx0YWJsZSBjbGFzcz0id2FybmluZ3RhYmxlIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiPgotCQk8eHNsOmNvcHktb2Ygc2VsZWN0PSIkYnVnVGFibGVIZWFkZXIiLz4KLQkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIkd2FybmluZ1NldCI+Ci0JCQk8eHNsOnNvcnQgc2VsZWN0PSJAYWJicmV2Ii8+Ci0JCQk8eHNsOnNvcnQgc2VsZWN0PSJDbGFzcy9AY2xhc3NuYW1lIi8+Ci0JCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KLQk8L3RhYmxlPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IkZpbmRCdWdzU3VtbWFyeSI+Ci0gICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJrbG9jIiBzZWxlY3Q9IkB0b3RhbF9zaXplIGRpdiAxMDAwLjAiLz4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZvcm1hdCIgc2VsZWN0PSInIyMjIyMjIzAuMDAnIi8+Ci0KLQk8cD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHRvdGFsX3NpemUiLz4gbGluZXMgb2YgY29kZSBhbmFseXplZCwKLQlpbiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHRvdGFsX2NsYXNzZXMiLz4gY2xhc3NlcywgCi0JaW4gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBudW1fcGFja2FnZXMiLz4gcGFja2FnZXMuPC9wPgotCTx0YWJsZSB3aWR0aD0iNTAwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiPgotCSAgICA8dHIgY2xhc3M9InRhYmxlaGVhZGVyIj4KLQkJCTx0aCBhbGlnbj0ibGVmdCI+TWV0cmljPC90aD4KLQkJCTx0aCBhbGlnbj0icmlnaHQiPlRvdGFsPC90aD4KLQkJCTx0aCBhbGlnbj0icmlnaHQiPkRlbnNpdHkqPC90aD4KLQkJPC90cj4KLQkJPHRyIGNsYXNzPSJ0YWJsZXJvdzAiPgotCQkJPHRkPkhpZ2ggUHJpb3JpdHkgV2FybmluZ3M8L3RkPgotCQkJPHRkIGFsaWduPSJyaWdodCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV8xIi8+PC90ZD4KLQkJCTx0ZCBhbGlnbj0icmlnaHQiPgotCQkJICAgIDx4c2w6Y2hvb3NlPgotICAgICAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0gIm51bWJlcigka2xvYykgJmd0OyAwLjAgYW5kIG51bWJlcihAcHJpb3JpdHlfMSkgJmd0OyAwLjAiPgotICAgICAgICAJCQkgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoQHByaW9yaXR5XzEgZGl2ICRrbG9jLCAkZm9ybWF0KSIvPgotICAgICAgICAgICAgICAgICAgICA8L3hzbDp3aGVuPgotICAgICAgICAgICAgICAgICAgICA8eHNsOm90aGVyd2lzZT4KLSAgICAgICAgCQkJICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKDAuMCwgJGZvcm1hdCkiLz4KLSAgICAgICAgICAgICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotCQkJICAgIDwveHNsOmNob29zZT4KLQkJCTwvdGQ+Ci0JCTwvdHI+Ci0JCTx0ciBjbGFzcz0idGFibGVyb3cxIj4KLQkJCTx0ZD5NZWRpdW0gUHJpb3JpdHkgV2FybmluZ3M8L3RkPgotCQkJPHRkIGFsaWduPSJyaWdodCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV8yIi8+PC90ZD4KLQkJCTx0ZCBhbGlnbj0icmlnaHQiPgotCQkJICAgIDx4c2w6Y2hvb3NlPgotICAgICAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0gIm51bWJlcigka2xvYykgJmd0OyAwLjAgYW5kIG51bWJlcihAcHJpb3JpdHlfMikgJmd0OyAwLjAiPgotICAgICAgICAJCQkgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoQHByaW9yaXR5XzIgZGl2ICRrbG9jLCAkZm9ybWF0KSIvPgotICAgICAgICAgICAgICAgICAgICA8L3hzbDp3aGVuPgotICAgICAgICAgICAgICAgICAgICA8eHNsOm90aGVyd2lzZT4KLSAgICAgICAgCQkJICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKDAuMCwgJGZvcm1hdCkiLz4KLSAgICAgICAgICAgICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotCQkJICAgIDwveHNsOmNob29zZT4KLQkJCTwvdGQ+Ci0JCTwvdHI+Ci0KLSAgICA8eHNsOmNob29zZT4KLQkJPHhzbDp3aGVuIHRlc3Q9IkBwcmlvcml0eV8zIj4KLQkJCTx0ciBjbGFzcz0idGFibGVyb3cxIj4KLQkJCQk8dGQ+TG93IFByaW9yaXR5IFdhcm5pbmdzPC90ZD4KLQkJCQk8dGQgYWxpZ249InJpZ2h0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5XzMiLz48L3RkPgotCQkJCTx0ZCBhbGlnbj0icmlnaHQiPgotICAgICAgICAgICAgICAgICAgICA8eHNsOmNob29zZT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSAibnVtYmVyKCRrbG9jKSAmZ3Q7IDAuMCBhbmQgbnVtYmVyKEBwcmlvcml0eV8zKSAmZ3Q7IDAuMCI+Ci0gICAgICAgIAkJCSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoQHByaW9yaXR5XzMgZGl2ICRrbG9jLCAkZm9ybWF0KSIvPgotICAgICAgICAgICAgICAgICAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgICAJCSAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKDAuMCwgJGZvcm1hdCkiLz4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwveHNsOm90aGVyd2lzZT4KLQkJCSAgICAgICAgPC94c2w6Y2hvb3NlPgotCQkJCTwvdGQ+Ci0JCQk8L3RyPgotCQkJPHhzbDp2YXJpYWJsZSBuYW1lPSJ0b3RhbENsYXNzIiBzZWxlY3Q9InRhYmxlcm93MCIvPgotCQk8L3hzbDp3aGVuPgotCQk8eHNsOm90aGVyd2lzZT4KLQkJICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idG90YWxDbGFzcyIgc2VsZWN0PSJ0YWJsZXJvdzEiLz4KLQkJPC94c2w6b3RoZXJ3aXNlPgotCTwveHNsOmNob29zZT4KLQotCQk8dHIgY2xhc3M9IiR0b3RhbENsYXNzIj4KLQkJCTx0ZD48Yj5Ub3RhbCBXYXJuaW5nczwvYj48L3RkPgotCQkJPHRkIGFsaWduPSJyaWdodCI+PGI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB0b3RhbF9idWdzIi8+PC9iPjwvdGQ+Ci0gICAgICAgICAgICA8eHNsOmNob29zZT4KLSAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0ibnVtYmVyKCRrbG9jKSAmZ3Q7IDAuMCI+Ci0gIAkJCQkJPHRkIGFsaWduPSJyaWdodCI+PGI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoQHRvdGFsX2J1Z3MgZGl2ICRrbG9jLCAkZm9ybWF0KSIvPjwvYj48L3RkPgotICAgICAgICAgICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0JCQkJCTx0ZCBhbGlnbj0icmlnaHQiPjxiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKDAuMCwgJGZvcm1hdCkiLz48L2I+PC90ZD4KLSAgICAgICAgICAgICAgICA8L3hzbDpvdGhlcndpc2U+Ci0JICAgICAgICA8L3hzbDpjaG9vc2U+Ci0JCTwvdHI+Ci0JPC90YWJsZT4KLQk8cD48aT4oKiBEZWZlY3RzIHBlciBUaG91c2FuZCBsaW5lcyBvZiBub24tY29tbWVudGluZyBzb3VyY2Ugc3RhdGVtZW50cyk8L2k+PC9wPgotCTxwPjxici8+PGJyLz48L3A+Ci0KLTwveHNsOnRlbXBsYXRlPgotCi08L3hzbDpzdHlsZXNoZWV0PgotCi08IS0tIHZpbTpzZXQgdHM9NDogLS0+CmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9zcmMveHNsL2ZhbmN5LWhpc3QueHNsIGIvdG9vbHMvZmluZGJ1Z3Mvc3JjL3hzbC9mYW5jeS1oaXN0LnhzbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmFhMWI4MS4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9zcmMveHNsL2ZhbmN5LWhpc3QueHNsCisrKyAvZGV2L251bGwKQEAgLTEsMTE5NyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgPz4NCi08IS0tDQotICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgRXRpZW5uZSBHaXJhdWR5LCBJblN0cmFuZXQgSW5jDQotICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDcgRXRpZW5uZSBHaXJhdWR5DQotDQotICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yDQotICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQotICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXINCi0gIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KLQ0KLSAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQotICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KLSAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUNCi0gIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQotDQotICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQotICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQotICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBDQotLS0+DQotDQotPHhzbDp0cmFuc2Zvcm0geG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCIgPg0KLSAgIDx4c2w6b3V0cHV0DQotICAgICAgICAgbWV0aG9kPSJ4bWwiIGluZGVudD0ieWVzIg0KLSAgICAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIg0KLSAgICAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiINCi0gICAgICAgICBlbmNvZGluZz0iVVRGLTgiLz4NCi0NCi0gICA8eHNsOnZhcmlhYmxlIG5hbWU9ImFwb3MiIHNlbGVjdD0iJnF1b3Q7JyZxdW90OyIvPg0KLSAgIDx4c2w6a2V5IG5hbWU9ImxiYy1jb2RlLWtleSIgICAgICAgIG1hdGNoPSIvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZSIgdXNlPSJjb25jYXQoQGNhdGVnb3J5LEBhYmJyZXYpIiAvPg0KLSAgIDx4c2w6a2V5IG5hbWU9ImxiYy1idWcta2V5IiAgICAgICAgIG1hdGNoPSIvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZSIgdXNlPSJjb25jYXQoQGNhdGVnb3J5LEBhYmJyZXYsQHR5cGUpIiAvPg0KLSAgIDx4c2w6a2V5IG5hbWU9ImxicC1jbGFzcy1iLXQiICBtYXRjaD0iL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2UiIHVzZT0iY29uY2F0KENsYXNzL0BjbGFzc25hbWUsQHR5cGUpIiAvPg0KLQ0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iID4NCi0NCi08aHRtbD4NCi0gICA8aGVhZD4NCi0gICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPg0KLSAgICAgIDx0aXRsZT4NCi0gICAgICAgICBGaW5kQnVncyAoPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0B2ZXJzaW9uIiAvPikgDQotICAgICAgICAgQW5hbHlzaXMgZm9yIA0KLSAgICAgICAgIDx4c2w6Y2hvb3NlPg0KLSAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSdzdHJpbmctbGVuZ3RoKC9CdWdDb2xsZWN0aW9uL1Byb2plY3QvQHByb2plY3ROYW1lKT4wJz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AcHJvamVjdE5hbWUiIC8+PC94c2w6d2hlbj4NCi0gICAgICAgICAgICA8eHNsOm90aGVyd2lzZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AZmlsZW5hbWUiIC8+PC94c2w6b3RoZXJ3aXNlPg0KLSAgICAgICAgIDwveHNsOmNob29zZT4NCi0gICAgICA8L3RpdGxlPg0KLSAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQotICAgICAgICAgaHRtbCwgYm9keSwgZGl2LCBmb3JtIHsNCi0gICAgICAgICAgICBtYXJnaW46MHB4Ow0KLSAgICAgICAgICAgIHBhZGRpbmc6MHB4Ow0KLSAgICAgICAgIH0NCi0gICAgICAgICBib2R5IHsNCi0gICAgICAgICAgICBwYWRkaW5nOjNweDsNCi0gICAgICAgICB9DQotICAgICAgICAgYSwgYTpsaW5rICwgYTphY3RpdmUsIGE6dmlzaXRlZCwgYTpob3ZlciB7DQotICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogYmxhY2s7DQotICAgICAgICAgfQ0KLSAgICAgICAgICNuYXZsaXN0IHsNCi0gICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwOw0KLSAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7DQotICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzc3ODsNCi0gICAgICAgICAgICAgICAgIGZvbnQ6IGJvbGQgMTJweCBWZXJkYW5hLCBzYW5zLXNlcmlmOw0KLSAgICAgICAgIH0NCi0gICAgICAgICAjbmF2bGlzdCBsaSB7DQotICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOw0KLSAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOw0KLSAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lOw0KLSAgICAgICAgIH0NCi0gICAgICAgICAjbmF2bGlzdCBsaSBhIHsNCi0gICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwLjVlbTsNCi0gICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7DQotICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc4Ow0KLSAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsNCi0gICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNEREU7DQotICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQotICAgICAgICAgfQ0KLSAgICAgICAgICNuYXZsaXN0IGxpIGE6bGluayB7IGNvbG9yOiAjNDQ4OyB9DQotICAgICAgICAgI25hdmxpc3QgbGkgYTp2aXNpdGVkIHsgY29sb3I6ICM2Njc7IH0NCi0gICAgICAgICAjbmF2bGlzdCBsaSBhOmhvdmVyIHsNCi0gICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwOw0KLSAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0FBRTsNCi0gICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzIyNzsNCi0gICAgICAgICB9DQotICAgICAgICAgI25hdmxpc3QgbGkgYS5jdXJyZW50IHsNCi0gICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOw0KLSAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlOw0KLSAgICAgICAgIH0NCi0gICAgICAgICAjZmlsdGVyV3JhcHBlciB7DQotICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTo1cHg7DQotICAgICAgICAgfQ0KLSAgICAgICAgICNkaXNwbGF5V3JhcHBlciB7DQotICAgICAgICAgICAgbWFyZ2luLXRvcDo1cHg7DQotICAgICAgICAgfQ0KLSAgICAgICAgIC5tZXNzYWdlIHsNCi0gICAgICAgICAgICBiYWNrZ3JvdW5kOiNCQkJCQkI7DQotICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc4Ow0KLSAgICAgICAgIH0NCi0gICAgICAgICAuZGlzcGxheUNvbnRhaW5lciB7DQotICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjNTU1NTU1Ow0KLSAgICAgICAgICAgIG1hcmdpbi10b3A6M3B4Ow0KLSAgICAgICAgICAgIHBhZGRpbmc6IDNweDsNCi0gICAgICAgICAgICBkaXNwbGF5Om5vbmU7DQotICAgICAgICAgfQ0KLSAgICAgICAgICNzdW1tYXJ5Q29udGFpbmVyIHRhYmxlLA0KLSAgICAgICAgICNoaXN0b3J5Q29udGFpbmVyIHRhYmxlIHsNCi0gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIGJsYWNrOw0KLSAgICAgICAgIH0NCi0gICAgICAgICAjc3VtbWFyeUNvbnRhaW5lciB0aCwNCi0gICAgICAgICAjaGlzdG9yeUNvbnRhaW5lciB0aCB7DQotICAgICAgICAgICAgYmFja2dyb3VuZDogI2FhYWFhYTsNCi0gICAgICAgICAgICBjb2xvcjogd2hpdGU7DQotICAgICAgICAgfQ0KLSAgICAgICAgICNzdW1tYXJ5Q29udGFpbmVyIHRoLCAjc3VtbWFyeUNvbnRhaW5lciB0ZCwNCi0gICAgICAgICAjaGlzdG9yeUNvbnRhaW5lciB0aCwgI2hpc3RvcnlDb250YWluZXIgdGQgew0KLSAgICAgICAgICAgIHBhZGRpbmc6IDJweCA0cHggMnB4IDRweDsNCi0gICAgICAgICB9DQotICAgICAgICAgLnN1bW1hcnktbmFtZSB7DQotICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZWVlZTsNCi0gICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7DQotICAgICAgICAgfQ0KLSAgICAgICAgIC5zdW1tYXJ5LXNpemUgew0KLSAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7DQotICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7DQotICAgICAgICAgfQ0KLSAgICAgICAgIC5zdW1tYXJ5LXByaW9yaXR5LWFsbCB7DQotICAgICAgICAgICAgYmFja2dyb3VuZDogI2RkZGRkZDsNCi0gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsNCi0gICAgICAgICB9DQotICAgICAgICAgLnN1bW1hcnktcHJpb3JpdHktMSB7DQotICAgICAgICAgICAgYmFja2dyb3VuZDogcmVkOw0KLSAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyOw0KLSAgICAgICAgIH0NCi0gICAgICAgICAuc3VtbWFyeS1wcmlvcml0eS0yIHsNCi0gICAgICAgICAgICBiYWNrZ3JvdW5kOiBvcmFuZ2U7DQotICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7DQotICAgICAgICAgfQ0KLSAgICAgICAgIC5zdW1tYXJ5LXByaW9yaXR5LTMgew0KLSAgICAgICAgICAgIGJhY2tncm91bmQ6IGdyZWVuOw0KLSAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyOw0KLSAgICAgICAgIH0NCi0gICAgICAgICAuc3VtbWFyeS1wcmlvcml0eS00IHsNCi0gICAgICAgICAgICBiYWNrZ3JvdW5kOiBibHVlOw0KLSAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAuYnVnTGlzdC1sZXZlbDEgew0KLSAgICAgICAgICAgIG1hcmdpbi1ib3R0b206NXB4Ow0KLSAgICAgICAgIH0NCi0gICAgICAgICAuYnVnTGlzdC1sZXZlbDEsIC5idWdMaXN0LWxldmVsMiwgLmJ1Z0xpc3QtbGV2ZWwzLCAuYnVnTGlzdC1sZXZlbDQgew0KLSAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQotICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MTVweDsNCi0gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MTBweDsNCi0gICAgICAgICB9DQotICAgICAgICAgLmJ1Z0xpc3QtbGV2ZWwxLWxhYmVsLCAuYnVnTGlzdC1sZXZlbDItbGFiZWwsIC5idWdMaXN0LWxldmVsMy1sYWJlbCwgLmJ1Z0xpc3QtbGV2ZWw0LWxhYmVsIHsNCi0gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiOw0KLSAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOw0KLSAgICAgICAgICAgIHBhZGRpbmc6IDFweCAzcHggMXB4IDNweDs7DQotICAgICAgICAgfQ0KLSAgICAgICAgIC5idWdMaXN0LWxldmVsMi1sYWJlbCwgLmJ1Z0xpc3QtbGV2ZWwzLWxhYmVsLCAuYnVnTGlzdC1sZXZlbDQtbGFiZWwgew0KLSAgICAgICAgICAgIGJvcmRlci13aWR0aDogMHB4IDFweCAxcHggMXB4Ow0KLSAgICAgICAgIH0NCi0gICAgICAgICAuYnVnTGlzdC1sZXZlbDQtbGFiZWwgew0KLSAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQotICAgICAgICAgICAgYm9yZGVyOiAwcHggMHB4IDFweCAwcHg7DQotICAgICAgICAgfQ0KLSAgICAgICAgIC5idWdMaXN0LWxldmVsNCB7DQotICAgICAgICAgICAgYm9yZGVyOiAwcHggMXB4IDFweCAxcHg7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIC5idWdMaXN0LWxldmVsNC1pbm5lciB7DQotICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCi0gICAgICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrOw0KLSAgICAgICAgICAgIGJvcmRlci13aWR0aDogMHB4IDFweCAxcHggMXB4Ow0KLSAgICAgICAgIH0NCi0gICAgICAgICAuYi1yIHsNCi0gICAgICAgICAgICBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBib2xkOyBwYWRkaW5nOiAwIDAgMCA2MHB4Ow0KLSAgICAgICAgIH0NCi0gICAgICAgICAuYi1kIHsNCi0gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyBiYWNrZ3JvdW5kOiAjY2NjY2MwOw0KLSAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgNXB4OyBtYXJnaW46IDBweDsNCi0gICAgICAgICB9DQotICAgICAgICAgLmItMSB7DQotICAgICAgICAgICAgYmFja2dyb3VuZDogcmVkOyBoZWlnaHQ6IDAuNWVtOyB3aWR0aDogMWVtOw0KLSAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07DQotICAgICAgICAgfQ0KLSAgICAgICAgIC5iLTIgew0KLSAgICAgICAgICAgIGJhY2tncm91bmQ6IG9yYW5nZTsgaGVpZ2h0OiAwLjVlbTsgd2lkdGg6IDFlbTsNCi0gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOw0KLSAgICAgICAgIH0NCi0gICAgICAgICAuYi0zIHsNCi0gICAgICAgICAgICBiYWNrZ3JvdW5kOiBncmVlbjsgaGVpZ2h0OiAwLjVlbTsgd2lkdGg6IDFlbTsNCi0gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOw0KLSAgICAgICAgIH0NCi0gICAgICAgICAuYi00IHsNCi0gICAgICAgICAgICBiYWNrZ3JvdW5kOiBibHVlOyBoZWlnaHQ6IDAuNWVtOyB3aWR0aDogMWVtOw0KLSAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07DQotICAgICAgICAgfQ0KLQ0KLSAgICAgIDwvc3R5bGU+DQotICAgICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPjx4c2w6dGV4dCBkaXNhYmxlLW91dHB1dC1lc2NhcGluZz0neWVzJz48IVtDREFUQVsNCi0gICAgICAgICB2YXIgbWVudXMgICAgICAgICAgICA9IG5ldyBBcnJheSgnc3VtbWFyeScsJ2luZm8nLCdoaXN0b3J5JywnbGlzdEJ5Q2F0ZWdvcmllcycsJ2xpc3RCeVBhY2thZ2VzJyk7DQotICAgICAgICAgdmFyIHNlbGVjdGVkTWVudUlkICAgPSAic3VtbWFyeSI7DQotICAgICAgICAgdmFyIHNlbGVjdGVkVmVyc2lvbiAgPSAtMTsNCi0gICAgICAgICB2YXIgc2VsZWN0ZWRQcmlvcml0eSA9IDQ7DQotICAgICAgICAgdmFyIGxhc3RWZXJzaW9uICAgICAgPSAwOw0KLSAgICAgICAgIHZhciBpbmNsdWRlRml4ZWRJbnRyb2R1Y2VkQnVnczsNCi0NCi0gICAgICAgICB2YXIgYlBhY2thZ2VOYW1lc1BvcHVsYXRlZCA9IGZhbHNlOw0KLQ0KLSAgICAgICAgIHZhciBmaWx0ZXJDb250YWluZXJJZCAgICAgICAgICAgICAgPSAiZmlsdGVyV3JhcHBlciI7DQotICAgICAgICAgdmFyIGhpc3RvcnlDb250cm9sQ29udGFpbmVySWQgICAgICA9ICJoaXN0b3J5Q29udHJvbFdyYXBwZXIiOw0KLSAgICAgICAgIHZhciBtZXNzYWdlQ29udGFpbmVySWQgICAgICAgICAgICAgPSAibWVzc2FnZUNvbnRhaW5lciI7DQotICAgICAgICAgdmFyIHN1bW1hcnlDb250YWluZXJJZCAgICAgICAgICAgICA9ICJzdW1tYXJ5Q29udGFpbmVyIjsNCi0gICAgICAgICB2YXIgaW5mb0NvbnRhaW5lcklkICAgICAgICAgICAgICAgID0gImluZm9Db250YWluZXIiOw0KLSAgICAgICAgIHZhciBoaXN0b3J5Q29udGFpbmVySWQgICAgICAgICAgICAgPSAiaGlzdG9yeUNvbnRhaW5lciI7DQotICAgICAgICAgdmFyIGxpc3RCeUNhdGVnb3JpZXNDb250YWluZXJJZCAgICA9ICJsaXN0QnlDYXRlZ29yaWVzQ29udGFpbmVyIjsNCi0gICAgICAgICB2YXIgbGlzdEJ5UGFja2FnZXNDb250YWluZXJJZCAgICAgID0gImxpc3RCeVBhY2thZ2VzQ29udGFpbmVyIjsNCi0NCi0gICAgICAgICB2YXIgaWR4Q2F0S2V5ID0gMDsgdmFyIGlkeENhdERlc2NyID0gMTsgdmFyIGlkeEJ1Z0NhdCA9IDE7DQotICAgICAgICAgdmFyIGlkeENvZGVLZXkgPSAwOyB2YXIgaWR4Q29kZURlc2NyID0gMTsgdmFyIGlkeEJ1Z0NvZGUgPSAyOw0KLSAgICAgICAgIHZhciBpZHhQYXR0ZXJuS2V5ID0gMjsgdmFyIGlkeFBhdHRlcm5EZXNjciA9IDM7IHZhciBpZHhCdWdQYXR0ZXJuID0gMzsNCi0gICAgICAgICB2YXIgaWR4QnVnS2V5ID0gMDsgdmFyIGlkeEJ1Z0Rlc2NyID0gNjsNCi0gICAgICAgICB2YXIgaWR4QnVnQ2xhc3MgPSA2LCBpZHhCdWdQYWNrYWdlID0gNzsNCi0NCi0gICAgICAgICAvLyBtYWluIGluaXQgZnVuY3Rpb24NCi0gICAgICAgICBmdW5jdGlvbiBpbml0KCkgew0KLSAgICAgICAgICAgIGxvYWRGaWx0ZXIoKTsNCi0gICAgICAgICAgICBzZWxlY3RNZW51KHNlbGVjdGVkTWVudUlkKTsNCi0gICAgICAgICAgICBsYXN0VmVyc2lvbiA9IHZlcnNpb25zLmxlbmd0aCAtIDE7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIC8vIG1lbnUgY2FsbGJhY2sgZnVuY3Rpb24NCi0gICAgICAgICBmdW5jdGlvbiBzZWxlY3RNZW51KG1lbnVJZCkgew0KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlbGVjdGVkTWVudUlkKS5jbGFzc05hbWU9Im5vbmUiOw0KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1lbnVJZCkuY2xhc3NOYW1lPSJjdXJyZW50IjsNCi0gICAgICAgICAgICBpZiAobWVudUlkIT1zZWxlY3RlZE1lbnVJZCkgew0KLSAgICAgICAgICAgICAgIGhpZGVNZW51KHNlbGVjdGVkTWVudUlkKTsNCi0gICAgICAgICAgICAgICBzZWxlY3RlZE1lbnVJZCA9IG1lbnVJZDsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgaWYgKG1lbnVJZD09InN1bW1hcnkiKSAgICAgICAgICAgZGlzcGxheVN1bW1hcnkoKTsNCi0gICAgICAgICAgICBpZiAobWVudUlkPT0iaW5mbyIpICAgICAgICAgICAgICBkaXNwbGF5SW5mbygpOw0KLSAgICAgICAgICAgIGlmIChtZW51SWQ9PSJoaXN0b3J5IikgICAgICAgICAgIGRpc3BsYXlIaXN0b3J5KCk7DQotICAgICAgICAgICAgaWYgKG1lbnVJZD09Imxpc3RCeUNhdGVnb3JpZXMiKSAgZGlzcGxheUxpc3RCeUNhdGVnb3JpZXMoKTsNCi0gICAgICAgICAgICBpZiAobWVudUlkPT0ibGlzdEJ5UGFja2FnZXMiKSAgICBkaXNwbGF5TGlzdEJ5UGFja2FnZXMoKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgLy8gZGlzcGxheSBmaWx0ZXINCi0gICAgICAgICBmdW5jdGlvbiBsb2FkRmlsdGVyKCkgew0KLSAgICAgICAgICAgIHZhciB2ZXJzaW9uc0JveCA9IGRvY3VtZW50LmZpbmRidWdzRm9ybS52ZXJzaW9ucy5vcHRpb25zOw0KLSAgICAgICAgICAgIHZlcnNpb25zQm94WzBdID0gbmV3IE9wdGlvbigiIC0tIEFsbCBWZXJzaW9ucyAtLSAiLCItMSIpOw0KLSAgICAgICAgICAgIHZlcnNpb25zQm94LnNlbGVjdGVkSW5kZXggPSAwOw0KLSAgICAgICAgICAgIGlmICh2ZXJzaW9ucy5sZW5ndGg+PTEpIHsNCi0gICAgICAgICAgICAgICBmb3IgKHg9MDsgdmVyc2lvbnMubGVuZ3RoPjEgJiYgeDx2ZXJzaW9ucy5sZW5ndGg7IHgrKykgew0KLSAgICAgICAgICAgICAgICAgIHZlcnNpb25zQm94W3grMV0gPSBuZXcgT3B0aW9uKCIgQnVncyBhdCByZWxlYXNlOiAiK3ZlcnNpb25zW3ZlcnNpb25zLmxlbmd0aC14LTFdWzFdLCB2ZXJzaW9uc1t2ZXJzaW9ucy5sZW5ndGgteC0xXVswXSk7DQotICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgICB2YXIgcHJpb3JpdGllc0JveCA9IGRvY3VtZW50LmZpbmRidWdzRm9ybS5wcmlvcml0aWVzLm9wdGlvbnM7DQotICAgICAgICAgICAgcHJpb3JpdGllc0JveFswXSA9IG5ldyBPcHRpb24oIiAtLSBBbGwgcHJpb3JpdGllcyAtLSAiLCAiNCIpOw0KLSAgICAgICAgICAgIHByaW9yaXRpZXNCb3hbMV0gPSBuZXcgT3B0aW9uKCIgUDEgYnVncyAiLCAiMSIpOw0KLSAgICAgICAgICAgIHByaW9yaXRpZXNCb3hbMl0gPSBuZXcgT3B0aW9uKCIgUDEgYW5kIFAyIGJ1Z3MgIiwgIjIiKTsNCi0gICAgICAgICAgICBwcmlvcml0aWVzQm94WzNdID0gbmV3IE9wdGlvbigiIFAxLCBQMiBhbmQgUDMgYnVncyAiLCAiMyIpOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBkaXNwbGF5IGEgbWVzc2FnZQ0KLSAgICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlNZXNzYWdlKG1zZykgew0KLSAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtZXNzYWdlQ29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAiPGRpdiBjbGFzcz0nbWVzc2FnZSc+Iittc2crIjwvZGl2PiI7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIC8vIHJlc2V0IGRpc3BsYXllZCBtZXNzYWdlDQotICAgICAgICAgZnVuY3Rpb24gcmVzZXRNZXNzYWdlKCkgew0KLSAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtZXNzYWdlQ29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAiIjsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgZnVuY3Rpb24gaGlkZU1lbnUobWVudUlkKSB7DQotICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IG1lbnVJZCsiQ29udGFpbmVyIjsNCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBmaWx0ZXIgY2FsbGJhY2sgZnVuY3Rpb24NCi0gICAgICAgICBmdW5jdGlvbiBmaWx0ZXIoKSB7DQotICAgICAgICAgICAgdmFyIHZlcnNpb25zQm94ID0gZG9jdW1lbnQuZmluZGJ1Z3NGb3JtLnZlcnNpb25zLm9wdGlvbnM7DQotICAgICAgICAgICAgc2VsZWN0ZWRWZXJzaW9uID0gdmVyc2lvbnNCb3hbdmVyc2lvbnNCb3guc2VsZWN0ZWRJbmRleF0udmFsdWU7DQotDQotICAgICAgICAgICAgdmFyIHByaW9yaXRpZXNCb3ggPSBkb2N1bWVudC5maW5kYnVnc0Zvcm0ucHJpb3JpdGllcy5vcHRpb25zOw0KLSAgICAgICAgICAgIHNlbGVjdGVkUHJpb3JpdHkgPSBwcmlvcml0aWVzQm94W3ByaW9yaXRpZXNCb3guc2VsZWN0ZWRJbmRleF0udmFsdWU7DQotDQotICAgICAgICAgICAgc2VsZWN0TWVudShzZWxlY3RlZE1lbnVJZCk7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIC8vIGluY2x1ZGVGaXhlZEJ1Z3MgY2FsbGJhY2sgZnVuY3Rpb24NCi0gICAgICAgICBmdW5jdGlvbiBpbmNsdWRlRml4ZWRJbnRyb2R1Y2VkQnVnc0luSGlzdG9yeSgpIHsNCi0gICAgICAgICAgICBpbmNsdWRlRml4ZWRJbnRyb2R1Y2VkQnVncyA9DQotICAgICAgICAgICAgICBkb2N1bWVudC5maW5kYnVnc0hpc3RvcnlDb250cm9sRm9ybS5pbmNsdWRlRml4ZWRJbnRyb2R1Y2VkQnVncy5jaGVja2VkOw0KLQ0KLSAgICAgICAgICAgIHNlbGVjdE1lbnUoc2VsZWN0ZWRNZW51SWQpOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBkaXNwbGF5IHN1bW1hcnkgdGFiDQotICAgICAgICAgZnVuY3Rpb24gZGlzcGxheVN1bW1hcnkoKSB7DQotICAgICAgICAgICAgcmVzZXRNZXNzYWdlKCk7DQotICAgICAgICAgICAgaGlkZShmaWx0ZXJDb250YWluZXJJZCk7DQotICAgICAgICAgICAgaGlkZShoaXN0b3J5Q29udHJvbENvbnRhaW5lcklkKTsNCi0gICAgICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3VtbWFyeUNvbnRhaW5lcklkKTsNCi0gICAgICAgICAgICBjb250YWluZXIuc3R5bGUuZGlzcGxheT0iYmxvY2siOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBkaXNwbGF5IGluZm8gdGFiDQotICAgICAgICAgZnVuY3Rpb24gZGlzcGxheUluZm8oKSB7DQotICAgICAgICAgICAgcmVzZXRNZXNzYWdlKCk7DQotICAgICAgICAgICAgaGlkZShmaWx0ZXJDb250YWluZXJJZCk7DQotICAgICAgICAgICAgaGlkZShoaXN0b3J5Q29udHJvbENvbnRhaW5lcklkKTsNCi0gICAgICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5mb0NvbnRhaW5lcklkKTsNCi0gICAgICAgICAgICBjb250YWluZXIuc3R5bGUuZGlzcGxheT0iYmxvY2siOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBkaXNwbGF5IGhpc3RvcnkgdGFiDQotICAgICAgICAgZnVuY3Rpb24gZGlzcGxheUhpc3RvcnkoKSB7DQotICAgICAgICAgICAgZGlzcGxheU1lc3NhZ2UoIkxvYWRpbmcgaGlzdG9yeS4uLiIpOw0KLSAgICAgICAgICAgIGhpZGUoZmlsdGVyQ29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIHNob3coaGlzdG9yeUNvbnRyb2xDb250YWluZXJJZCk7DQotICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGhpc3RvcnlDb250YWluZXJJZCk7DQotICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSAiIjsNCi0gICAgICAgICAgICB2YXIgaT0wOw0KLSAgICAgICAgICAgIHZhciBwID0gWzAsMCwwLDAsMF07DQotICAgICAgICAgICAgdmFyIGYgPSBbMCwwLDAsMCwwXTsNCi0NCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8dGFibGU+PHRyPjx0aD5SZWxlYXNlPC90aD48dGg+QnVnczwvdGg+PHRoPkJ1Z3MgcDE8L3RoPjx0aD5CdWdzIHAyPC90aD48dGg+QnVncyBwMzwvdGg+PHRoPkJ1Z3MgRXhwLjwvdGg+PC90cj4iOw0KLQ0KLSAgICAgICAgICAgIHZhciBhU3BhbiAgID0gIjxzcGFuIHRpdGxlPSdCdWdzIGludHJvZHVjZWQgaW4gdGhpcyByZWxlYXNlIHRoYXQgaGF2ZSBub3QgYmVlbiBmaXhlZC4nPiI7DQotICAgICAgICAgICAgdmFyIGZTcGFuICAgPSAiPHNwYW4gdGl0bGU9J0J1Z3MgZml4ZWQgaW4gdGhpcyByZWxlYXNlLic+IjsNCi0gICAgICAgICAgICB2YXIgZmlTcGFuICA9ICI8c3BhbiB0aXRsZT0nQnVncyBpbnRyb2R1Y2VkIGluIHRoaXMgcmVsZWFzZSB0aGF0IHdlcmUgZml4ZWQgaW4gbGF0ZXIgcmVsZWFzZXMuJz4iOw0KLSAgICAgICAgICAgIHZhciBhZmlTcGFuID0gIjxzcGFuIHRpdGxlPSdUb3RhbCBudW1iZXIgb2YgYnVncyBpbnRyb2R1Y2VkIGluIHRoaXMgcmVsZWFzZS4nPiI7DQotICAgICAgICAgICAgdmFyIGVTcGFuICAgPSAiPC9zcGFuPiI7DQotDQotICAgICAgICAgICAgaWYoaW5jbHVkZUZpeGVkSW50cm9kdWNlZEJ1Z3MpIHsNCi0gICAgICAgICAgICAgICAgZm9yIChpPSh2ZXJzaW9ucy5sZW5ndGgtMSk7IGk+MDsgaS0tKSB7DQotICAgICAgICAgICAgICAgICAgICB2ID0gY291bnRCdWdzVmVyc2lvbihpLCA0KTsNCi0gICAgICAgICAgICAgICAgICAgIHQgPSBjb3VudFRvdGFsQnVnc1ZlcnNpb24oaSk7DQotICAgICAgICAgICAgICAgICAgICBvID0gY291bnRGaXhlZEJ1dEFjdGl2ZUJ1Z3NWZXJzaW9uKGkpOw0KLSAgICAgICAgICAgICAgICAgICAgZiA9IGNvdW50Rml4ZWRCdWdzSW5WZXJzaW9uKGkpOw0KLSAgICAgICAgICAgICAgICAgICAgZmkgPSBjb3VudEZpeGVkQnVnc0ludHJvZHVjZWRJblZlcnNpb24oaSk7DQotICAgICAgICAgICAgICAgICAgICBjb250ZW50ICs9ICI8dHI+IjsNCi0gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0ZCBjbGFzcz0nc3VtbWFyeS1uYW1lJz4iICsgdmVyc2lvbnNbaV1bMV0gKyAiPC90ZD4iOw0KLSAgICAgICAgICAgICAgICAgICAgY29udGVudCArPSAiPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LWFsbCc+ICIgKyAodFswXSArIG9bMF0pICsgIiAoKyIgKyBhZmlTcGFuICsgKHZbMF0gKyBmaVswXSkgKyBlU3BhbiArDQotICAgICAgICAgICAgICAgICAgICAgICIgWyIgKyBhU3BhbiArIHZbMF0gKyBlU3BhbiArICIgLyAiICsgZmlTcGFuICsgZmlbMF0gKyBlU3BhbiArICJdICIgKyBlU3BhbiArICIgLyAtIiArIGZTcGFuICsgZlswXSArIGVTcGFuICsgIikgPC90ZD4iOw0KLSAgICAgICAgICAgICAgICAgICAgY29udGVudCArPSAiPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LTEnPiAiICsgKHRbMV0gKyBvWzFdKSArICIgKCsiICsgYWZpU3BhbiArICh2WzFdICsgZmlbMV0pICsgZVNwYW4gKw0KLSAgICAgICAgICAgICAgICAgICAgICAiIFsiICsgYVNwYW4gKyB2WzFdICsgZVNwYW4gKyAiIC8gIiArIGZpU3BhbiArIGZpWzFdICsgZVNwYW4gKyAiXSAiICsgZVNwYW4gKyAiIC8gLSIgKyBmU3BhbiArIGZbMV0gKyBlU3BhbiArICIpIDwvdGQ+IjsNCi0gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS0yJz4gIiArICh0WzJdICsgb1syXSkgKyAiICgrIiArIGFmaVNwYW4gKyAodlsyXSArIGZpWzJdKSArIGVTcGFuICsNCi0gICAgICAgICAgICAgICAgICAgICAgIiBbIiArIGFTcGFuICsgdlsyXSArIGVTcGFuICsgIiAvICIgKyBmaVNwYW4gKyBmaVsyXSArIGVTcGFuICsgIl0gIiArIGVTcGFuICsgIiAvIC0iICsgZlNwYW4gKyBmWzJdICsgZVNwYW4gKyAiKSA8L3RkPiI7DQotICAgICAgICAgICAgICAgICAgICBjb250ZW50ICs9ICI8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMyc+ICIgKyAodFszXSArIG9bM10pICsgIiAoKyIgKyBhZmlTcGFuICsgKHZbM10gKyBmaVszXSkgKyBlU3BhbiArDQotICAgICAgICAgICAgICAgICAgICAgICIgWyIgKyBhU3BhbiArIHZbM10gKyBlU3BhbiArICIgLyAiICsgZmlTcGFuICsgZmlbM10gKyBlU3BhbiArICJdICIgKyBlU3BhbiArICIgLyAtIiArIGZTcGFuICsgZlszXSArIGVTcGFuICsgIikgPC90ZD4iOw0KLSAgICAgICAgICAgICAgICAgICAgY29udGVudCArPSAiPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LTQnPiAiICsgKHRbNF0gKyBvWzRdKSArICIgKCsiICsgYWZpU3BhbiArICh2WzRdICsgZmlbNF0pICsgZVNwYW4gKw0KLSAgICAgICAgICAgICAgICAgICAgICAiIFsiICsgYVNwYW4gKyB2WzRdICsgZVNwYW4gKyAiIC8gIiArIGZpU3BhbiArIGZpWzRdICsgZVNwYW4gKyAiXSAiICsgZVNwYW4gKyAiIC8gLSIgKyBmU3BhbiArIGZbNF0gKyBlU3BhbiArICIpIDwvdGQ+IjsNCi0gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIjwvdHI+IjsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgICAgIGZvciAoaT0odmVyc2lvbnMubGVuZ3RoLTEpOyBpPjA7IGktLSkgew0KLSAgICAgICAgICAgICAgICAgICAgdiA9IGNvdW50QnVnc1ZlcnNpb24oaSwgNCk7DQotICAgICAgICAgICAgICAgICAgICB0ID0gY291bnRUb3RhbEJ1Z3NWZXJzaW9uKGkpOw0KLSAgICAgICAgICAgICAgICAgICAgbyA9IGNvdW50Rml4ZWRCdXRBY3RpdmVCdWdzVmVyc2lvbihpKTsNCi0gICAgICAgICAgICAgICAgICAgIGYgPSBjb3VudEZpeGVkQnVnc0luVmVyc2lvbihpKTsNCi0gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0cj4iOw0KLSAgICAgICAgICAgICAgICAgICAgY29udGVudCArPSAiPHRkIGNsYXNzPSdzdW1tYXJ5LW5hbWUnPiIgKyB2ZXJzaW9uc1tpXVsxXSArICI8L3RkPiI7DQotICAgICAgICAgICAgICAgICAgICBjb250ZW50ICs9ICI8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktYWxsJz4gIiArICh0WzBdICsgb1swXSkgKyAiICgrIiArIGFTcGFuICsgdlswXSArIGVTcGFuICsgIiAvIC0iICsgZlNwYW4gKyBmWzBdICsgZVNwYW4gKyAiKSA8L3RkPiI7DQotICAgICAgICAgICAgICAgICAgICBjb250ZW50ICs9ICI8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMScgID4gIiArICh0WzFdICsgb1sxXSkgKyAiICgrIiArIGFTcGFuICsgdlsxXSArIGVTcGFuICsgIiAvIC0iICsgZlNwYW4gKyBmWzFdICsgZVNwYW4gKyAiKSA8L3RkPiI7DQotICAgICAgICAgICAgICAgICAgICBjb250ZW50ICs9ICI8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMicgID4gIiArICh0WzJdICsgb1syXSkgKyAiICgrIiArIGFTcGFuICsgdlsyXSArIGVTcGFuICsgIiAvIC0iICsgZlNwYW4gKyBmWzJdICsgZVNwYW4gKyAiKSA8L3RkPiI7DQotICAgICAgICAgICAgICAgICAgICBjb250ZW50ICs9ICI8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMycgID4gIiArICh0WzNdICsgb1szXSkgKyAiICgrIiArIGFTcGFuICsgdlszXSArIGVTcGFuICsgIiAvIC0iICsgZlNwYW4gKyBmWzNdICsgZVNwYW4gKyAiKSA8L3RkPiI7DQotICAgICAgICAgICAgICAgICAgICBjb250ZW50ICs9ICI8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktNCcgID4gIiArICh0WzRdICsgb1s0XSkgKyAiICgrIiArIGFTcGFuICsgdls0XSArIGVTcGFuICsgIiAvIC0iICsgZlNwYW4gKyBmWzRdICsgZVNwYW4gKyAiKSA8L3RkPiI7DQotICAgICAgICAgICAgICAgICAgICBjb250ZW50ICs9ICI8L3RyPiI7DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB9DQotDQotICAgICAgICAgICAgdCA9IGNvdW50VG90YWxCdWdzVmVyc2lvbigwKTsNCi0gICAgICAgICAgICBvID0gY291bnRGaXhlZEJ1dEFjdGl2ZUJ1Z3NWZXJzaW9uKDApOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0cj4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0ZCBjbGFzcz0nc3VtbWFyeS1uYW1lJz4iICsgdmVyc2lvbnNbMF1bMV0gKyAiPC90ZD4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS1hbGwnPiAiICsgKHRbMF0gKyBvWzBdKSArICIgPC90ZD4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS0xJyAgPiAiICsgKHRbMV0gKyBvWzFdKSArICIgPC90ZD4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS0yJyAgPiAiICsgKHRbMl0gKyBvWzJdKSArICIgPC90ZD4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS0zJyAgPiAiICsgKHRbM10gKyBvWzNdKSArICIgPC90ZD4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS00JyAgPiAiICsgKHRbNF0gKyBvWzRdKSArICIgPC90ZD4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjwvdHI+IjsNCi0NCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8L3RhYmxlPiI7DQotICAgICAgICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IGNvbnRlbnQ7DQotICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjsNCi0gICAgICAgICAgICByZXNldE1lc3NhZ2UoKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgLy8gZGlzcGxheSBsaXN0IGJ5IGNhdCB0YWINCi0gICAgICAgICBmdW5jdGlvbiBkaXNwbGF5TGlzdEJ5Q2F0ZWdvcmllcygpIHsNCi0gICAgICAgICAgICBoaWRlKGhpc3RvcnlDb250cm9sQ29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIHNob3coZmlsdGVyQ29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChsaXN0QnlDYXRlZ29yaWVzQ29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAiIjsNCi0gICAgICAgICAgICBjb250YWluZXIuc3R5bGUuZGlzcGxheT0iYmxvY2siOw0KLSAgICAgICAgICAgIGRpc3BsYXlNZXNzYWdlKCJMb2FkaW5nIHN0YXRzIChjYXRlZ29yaWVzKS4uLiIpOw0KLSAgICAgICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSBkaXNwbGF5TGV2ZWwxKCJsYmMiLCAiU3RhdHMgYnkgQnVnIENhdGVnb3JpZXMiKTsNCi0gICAgICAgICAgICByZXNldE1lc3NhZ2UoKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgLy8gZGlzcGxheSBsaXN0IGJ5IHBhY2thZ2UgdGFiDQotICAgICAgICAgZnVuY3Rpb24gZGlzcGxheUxpc3RCeVBhY2thZ2VzKCkgew0KLSAgICAgICAgICAgIGhpZGUoaGlzdG9yeUNvbnRyb2xDb250YWluZXJJZCk7DQotICAgICAgICAgICAgc2hvdyhmaWx0ZXJDb250YWluZXJJZCk7DQotICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGxpc3RCeVBhY2thZ2VzQ29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIGNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQotICAgICAgICAgICAgaWYgKCFiUGFja2FnZU5hbWVzUG9wdWxhdGVkKSB7DQotICAgICAgICAgICAgICAgZGlzcGxheU1lc3NhZ2UoIkluaXRpYWxpemluZy4uLiIpOw0KLSAgICAgICAgICAgICAgIHBvcHVsYXRlUGFja2FnZU5hbWVzKCk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGRpc3BsYXlNZXNzYWdlKCJMb2FkaW5nIHN0YXRzIChwYWNrYWdlcykuLi4iKTsNCi0gICAgICAgICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gZGlzcGxheUxldmVsMSgibGJwIiwgIlN0YXRzIGJ5IEJ1ZyBQYWNrYWdlIik7DQotICAgICAgICAgICAgcmVzZXRNZXNzYWdlKCk7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIC8vIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBsaXN0IGl0ZW0gY2xpY2sNCi0gICAgICAgICBmdW5jdGlvbiB0b2dnbGVMaXN0KGxpc3RUeXBlLCBjb250YWluZXJJZCwgaWQxLCBpZDIsIGlkMykgew0KLSAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCk7DQotICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PT0iYmxvY2siKSB7DQotICAgICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmRpc3BsYXk9Im5vbmUiOw0KLSAgICAgICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgICAgaWYgKGxpc3RUeXBlPT0ibGJjIikgew0KLSAgICAgICAgICAgICAgICAgIGlmIChpZDEubGVuZ3RoPjAgJiYgaWQyLmxlbmd0aD09MCAmJiBpZDMubGVuZ3RoPT0wKSB7DQotICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUNhdGVnb3JpZXNDb2Rlcyhjb250YWluZXJJZCwgaWQxKTsNCi0gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlkMS5sZW5ndGg+MCAmJiBpZDIubGVuZ3RoPjAgJiYgaWQzLmxlbmd0aD09MCkgew0KLSAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlDYXRlZ29yaWVzQ29kZXNQYXR0ZXJucyhjb250YWluZXJJZCwgaWQxLCBpZDIpOw0KLSAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaWQxLmxlbmd0aD4wICYmIGlkMi5sZW5ndGg+MCAmJiBpZDMubGVuZ3RoPjApIHsNCi0gICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q2F0ZWdvcmllc0NvZGVzUGF0dGVybnNCdWdzKGNvbnRhaW5lcklkLCBpZDEsIGlkMiwgaWQzKTsNCi0gICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgICAgICAgICAgICAgIC8vID8/Pw0KLSAgICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxpc3RUeXBlPT0ibGJwIikgew0KLSAgICAgICAgICAgICAgICAgIGlmIChpZDEubGVuZ3RoPjAgJiYgaWQyLmxlbmd0aD09MCAmJiBpZDMubGVuZ3RoPT0wKSB7DQotICAgICAgICAgICAgICAgICAgICAgZGlzcGxheVBhY2thZ2VDb2Rlcyhjb250YWluZXJJZCwgaWQxKTsNCi0gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlkMS5sZW5ndGg+MCAmJiBpZDIubGVuZ3RoPjAgJiYgaWQzLmxlbmd0aD09MCkgew0KLSAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlQYWNrYWdlQ2xhc3NQYXR0ZXJucyhjb250YWluZXJJZCwgaWQxLCBpZDIpOw0KLSAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaWQxLmxlbmd0aD4wICYmIGlkMi5sZW5ndGg+MCAmJiBpZDMubGVuZ3RoPjApIHsNCi0gICAgICAgICAgICAgICAgICAgICBkaXNwbGF5UGFja2FnZUNsYXNzUGF0dGVybnNCdWdzKGNvbnRhaW5lcklkLCBpZDEsIGlkMiwgaWQzKTsNCi0gICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgICAgICAgICAgICAgIC8vID8/Pw0KLSAgICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgICAgICAgICAgIC8vID8/Pz8NCi0gICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBsaXN0IGJ5IGNhdGVnb3JpZXMsIGRpc3BsYXkgYnVnIGNhdD5jb2Rlcw0KLSAgICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlDYXRlZ29yaWVzQ29kZXMoY29udGFpbmVySWQsIGNhdElkKSB7DQotICAgICAgICAgICAgZGlzcGxheU1lc3NhZ2UoIkxvYWRpbmcgc3RhdHMgKGNvZGVzKS4uLiIpOw0KLSAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCk7DQotICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjsNCi0gICAgICAgICAgICBpZiAoY29udGFpbmVyLmlubmVySFRNTD09IkxvYWRpbmcuLi4iIHx8IGNvbnRhaW5lci5pbm5lckhUTUw9PSIiKSB7DQotICAgICAgICAgICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IGRpc3BsYXlMZXZlbDIoImxiYyIsIGNhdElkKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgcmVzZXRNZXNzYWdlKCk7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIC8vIGxpc3QgYnkgY2F0ZWdvcmllcywgZGlzcGxheSBidWcgcGFja2FnZT5jb2Rlcw0KLSAgICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlQYWNrYWdlQ29kZXMoY29udGFpbmVySWQsIHBhY2thZ2VJZCkgew0KLSAgICAgICAgICAgIGRpc3BsYXlNZXNzYWdlKCJMb2FkaW5nIHN0YXRzIChjb2RlcykuLi4iKTsNCi0gICAgICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIGNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQotICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5pbm5lckhUTUw9PSJMb2FkaW5nLi4uIiB8fCBjb250YWluZXIuaW5uZXJIVE1MPT0iIikgew0KLSAgICAgICAgICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSBkaXNwbGF5TGV2ZWwyKCJsYnAiLCBwYWNrYWdlSWQpOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICByZXNldE1lc3NhZ2UoKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgLy8gbGlzdCBieSBjYXRlZ29yaWVzLCBkaXNwbGF5IGJ1ZyBjYXQ+Y29kZXM+cGF0dGVybnMNCi0gICAgICAgICBmdW5jdGlvbiBkaXNwbGF5Q2F0ZWdvcmllc0NvZGVzUGF0dGVybnMoY29udGFpbmVySWQsIGNhdElkLCBjb2RlSWQpIHsNCi0gICAgICAgICAgICBkaXNwbGF5TWVzc2FnZSgiTG9hZGluZyBzdGF0cyAocGF0dGVybnMpLi4uIik7DQotICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRhaW5lcklkKTsNCi0gICAgICAgICAgICBjb250YWluZXIuc3R5bGUuZGlzcGxheT0iYmxvY2siOw0KLSAgICAgICAgICAgIGlmIChjb250YWluZXIuaW5uZXJIVE1MPT0iTG9hZGluZy4uLiIgfHwgY29udGFpbmVyLmlubmVySFRNTD09IiIpDQotICAgICAgICAgICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IGRpc3BsYXlMZXZlbDMoImxiYyIsIGNhdElkLCBjb2RlSWQpOw0KLSAgICAgICAgICAgIHJlc2V0TWVzc2FnZSgpOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBsaXN0IGJ5IHBhY2thZ2UsIGRpc3BsYXkgYnVnIHBhY2thZ2U+Y2xhc3M+cGF0dGVybnMNCi0gICAgICAgICBmdW5jdGlvbiBkaXNwbGF5UGFja2FnZUNsYXNzUGF0dGVybnMoY29udGFpbmVySWQsIHBhY2thZ2VJZCwgY2xhc3NJZCkgew0KLSAgICAgICAgICAgIGRpc3BsYXlNZXNzYWdlKCJMb2FkaW5nIHN0YXRzIChwYXR0ZXJucykuLi4iKTsNCi0gICAgICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpOw0KLSAgICAgICAgICAgIGNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQotICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5pbm5lckhUTUw9PSJMb2FkaW5nLi4uIiB8fCBjb250YWluZXIuaW5uZXJIVE1MPT0iIikNCi0gICAgICAgICAgICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gZGlzcGxheUxldmVsMygibGJwIiwgcGFja2FnZUlkLCBjbGFzc0lkKTsNCi0gICAgICAgICAgICByZXNldE1lc3NhZ2UoKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgLy8gbGlzdCBieSBjYXRlZ29yaWVzLCBkaXNwbGF5IGJ1ZyBjYXQ+Y29kZXM+cGF0dGVybnM+YnVncw0KLSAgICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlDYXRlZ29yaWVzQ29kZXNQYXR0ZXJuc0J1Z3MoY29udGFpbmVySWQsIGNhdElkLCBjb2RlSWQsIHBhdHRlcm5JZCkgew0KLSAgICAgICAgICAgIGRpc3BsYXlNZXNzYWdlKCJMb2FkaW5nIHN0YXRzIChidWdzKS4uLiIpOw0KLSAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCk7DQotICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjsNCi0gICAgICAgICAgICBpZiAoY29udGFpbmVyLmlubmVySFRNTD09IkxvYWRpbmcuLi4iIHx8IGNvbnRhaW5lci5pbm5lckhUTUw9PSIiKQ0KLSAgICAgICAgICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSBkaXNwbGF5TGV2ZWw0KCJsYmMiLCBjYXRJZCwgY29kZUlkLCBwYXR0ZXJuSWQpOw0KLSAgICAgICAgICAgIHJlc2V0TWVzc2FnZSgpOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBsaXN0IGJ5IHBhY2thZ2UsIGRpc3BsYXkgYnVnIHBhY2thZ2U+Y2xhc3M+cGF0dGVybnM+YnVncw0KLSAgICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlQYWNrYWdlQ2xhc3NQYXR0ZXJuc0J1Z3MoY29udGFpbmVySWQsIHBhY2thZ2VJZCwgY2xhc3NJZCwgcGF0dGVybklkKSB7DQotICAgICAgICAgICAgZGlzcGxheU1lc3NhZ2UoIkxvYWRpbmcgc3RhdHMgKGJ1Z3MpLi4uIik7DQotICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRhaW5lcklkKTsNCi0gICAgICAgICAgICBjb250YWluZXIuc3R5bGUuZGlzcGxheT0iYmxvY2siOw0KLSAgICAgICAgICAgIGlmIChjb250YWluZXIuaW5uZXJIVE1MPT0iTG9hZGluZy4uLiIgfHwgY29udGFpbmVyLmlubmVySFRNTD09IiIpDQotICAgICAgICAgICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IGRpc3BsYXlMZXZlbDQoImxicCIsICBwYWNrYWdlSWQsIGNsYXNzSWQsIHBhdHRlcm5JZCk7DQotICAgICAgICAgICAgcmVzZXRNZXNzYWdlKCk7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIC8vIGdlbmVyYXRlIGxldmVsIDEgbGlzdA0KLSAgICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlMZXZlbDEobGlzdCwgdGl0bGUpIHsNCi0gICAgICAgICAgICB2YXIgY29udGVudCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBjb250ZW50MiA9ICIiOw0KLQ0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxoMz4iK3RpdGxlKyI8L2gzPiI7DQotICAgICAgICAgICAgY29udGVudCArPSBnZXRQcmlvcml0eUxlZ2VuZCgpOw0KLSAgICAgICAgICAgIGNvbnRlbnQyICs9ICI8ZGl2IGNsYXNzPSdidWdMaXN0Jz4iOw0KLQ0KLSAgICAgICAgICAgIHZhciBpZCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBjb250YWluZXJJZCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBzdWJDb250YWluZXJJZCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBwcmVmaXhTdWIgPSAiIjsNCi0gICAgICAgICAgICB2YXIgcHJlZml4SWQgPSAiIjsNCi0gICAgICAgICAgICB2YXIgcCA9IFswLDAsMCwwLDBdOw0KLSAgICAgICAgICAgIHZhciBudW1iZXJPZkJ1Z3MgPSAwOw0KLSAgICAgICAgICAgIHZhciBsYWJlbCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBtYXggPSAwOw0KLSAgICAgICAgICAgIGlmIChsaXN0PT0ibGJjIikgew0KLSAgICAgICAgICAgICAgIG1heCA9IGNhdGVnb3JpZXMubGVuZ3RoOw0KLSAgICAgICAgICAgIH0gZWxzZSBpZiAobGlzdD09ImxicCIpIHsNCi0gICAgICAgICAgICAgICBtYXggPSBwYWNrYWdlU3RhdHMubGVuZ3RoOw0KLSAgICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgICBmb3IgKHZhciB4PTA7IHg8bWF4IC0xOyB4KyspIHsNCi0gICAgICAgICAgICAgICBpZiAobGlzdD09ImxicCIgJiYgcGFja2FnZVN0YXRzW3hdWzFdPT0iMCIpIGNvbnRpbnVlOw0KLQ0KLSAgICAgICAgICAgICAgIGlmIChsaXN0PT0ibGJjIikgew0KLSAgICAgICAgICAgICAgICAgIGlkID0gY2F0ZWdvcmllc1t4XVtpZHhDYXRLZXldOw0KLSAgICAgICAgICAgICAgICAgIGxhYmVsID0gY2F0ZWdvcmllc1t4XVtpZHhDYXREZXNjcl07DQotICAgICAgICAgICAgICAgICAgY29udGFpbmVySWQgPSAiY2F0ZWdvcmllcy0iICsgaWQ7DQotICAgICAgICAgICAgICAgICAgc3ViQ29udGFpbmVySWQgPSAiY2F0LSIraWQ7DQotICAgICAgICAgICAgICAgICAgcCA9IGNvdW50QnVnc0NhdChzZWxlY3RlZFZlcnNpb24sIHNlbGVjdGVkUHJpb3JpdHksIGlkLCBpZHhCdWdDYXQpOw0KLSAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICBpZiAobGlzdD09ImxicCIpIHsNCi0gICAgICAgICAgICAgICAgICBpZCA9IHBhY2thZ2VTdGF0c1t4XVswXTsNCi0gICAgICAgICAgICAgICAgICBsYWJlbCA9IHBhY2thZ2VTdGF0c1t4XVswXTsNCi0gICAgICAgICAgICAgICAgICBjb250YWluZXJJZCA9ICJwYWNrYWdlcy0iICsgaWQ7DQotICAgICAgICAgICAgICAgICAgc3ViQ29udGFpbmVySWQgPSAicGFja2FnZS0iK2lkOw0KLSAgICAgICAgICAgICAgICAgIHAgPSBjb3VudEJ1Z3NQYWNrYWdlKHNlbGVjdGVkVmVyc2lvbiwgc2VsZWN0ZWRQcmlvcml0eSwgaWQsIGlkeEJ1Z1BhY2thZ2UpOw0KLSAgICAgICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgICAgICBzdWJDb250YWluZXJJZCA9IHByZWZpeFN1YitpZDsNCi0NCi0gICAgICAgICAgICAgICB2YXIgdG90YWwgPSBwWzFdK3BbMl0rcFszXStwWzRdOw0KLSAgICAgICAgICAgICAgIGlmICh0b3RhbCA+IDApIHsNCi0gICAgICAgICAgICAgICAgICBjb250ZW50MiArPSBhZGRMaXN0SXRlbSggMSwgY29udGFpbmVySWQsIGxhYmVsLCB0b3RhbCwgcCwgc3ViQ29udGFpbmVySWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvZ2dsZUxpc3QoJyIgKyBsaXN0ICsgIicsICciICsgc3ViQ29udGFpbmVySWQgKyAiJywgJyIrIGlkICsgIicsICcnLCAnJykiDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgbnVtYmVyT2ZCdWdzICs9IHRvdGFsOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBjb250ZW50MiArPSAiPC9kaXY+IjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8aDQ+VG90YWwgbnVtYmVyIG9mIGJ1Z3MiOw0KLSAgICAgICAgICAgIGlmIChzZWxlY3RlZFZlcnNpb24hPS0xKSB7DQotICAgICAgICAgICAgICAgY29udGVudCArPSAiIChpbnRyb2R1Y2VkIGluIHJlbGVhc2UgIiArIHZlcnNpb25zW3NlbGVjdGVkVmVyc2lvbl1bMV0gKyIpIjsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgY29udGVudCArPSAiOiAiK251bWJlck9mQnVncysiPC9oND4iOw0KLSAgICAgICAgICAgIHJldHVybiBjb250ZW50K2NvbnRlbnQyOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBnZW5lcmF0ZSBsZXZlbCAyIGxpc3QNCi0gICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlMZXZlbDIobGlzdCwgaWQxKSB7DQotICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSAiIjsNCi0gICAgICAgICAgICB2YXIgY29kZSA9ICIiOw0KLSAgICAgICAgICAgIHZhciBjb250YWluZXJJZCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBzdWJDb250YWluZXJJZCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBwID0gWzAsMCwwLDAsMF07DQotICAgICAgICAgICAgdmFyIG1heCA9IDA7DQotICAgICAgICAgICAgdmFyIGlkMiA9ICIiOw0KLSAgICAgICAgICAgIGlmIChsaXN0PT0ibGJjIikgew0KLSAgICAgICAgICAgICAgIG1heCA9IGNvZGVzLmxlbmd0aDsNCi0gICAgICAgICAgICB9IGVsc2UgaWYgKGxpc3Q9PSJsYnAiKSB7DQotICAgICAgICAgICAgICAgbWF4ID0gY2xhc3NTdGF0cy5sZW5ndGg7DQotICAgICAgICAgICAgfQ0KLQ0KLSAgICAgICAgICAgIGZvciAodmFyIHg9MDsgeDxtYXggLTE7IHgrKykgew0KLSAgICAgICAgICAgICAgIGlmIChsaXN0PT0ibGJwIiAmJiBjbGFzc1N0YXRzW3hdWzNdPT0iMCIpIGNvbnRpbnVlOw0KLQ0KLSAgICAgICAgICAgICAgIGlmIChsaXN0PT0ibGJjIikgew0KLSAgICAgICAgICAgICAgICAgIGlkMiA9IGNvZGVzW3hdW2lkeENvZGVLZXldOw0KLSAgICAgICAgICAgICAgICAgIGxhYmVsID0gY29kZXNbeF1baWR4Q29kZURlc2NyXTsNCi0gICAgICAgICAgICAgICAgICBjb250YWluZXJJZCA9ICJjb2Rlcy0iK2lkMTsNCi0gICAgICAgICAgICAgICAgICBzdWJDb250YWluZXJJZCA9ICJjYXQtIiArIGlkMSArICItY29kZS0iICsgaWQyOw0KLSAgICAgICAgICAgICAgICAgIHAgPSBjb3VudEJ1Z3NDb2RlKHNlbGVjdGVkVmVyc2lvbiwgc2VsZWN0ZWRQcmlvcml0eSwgaWQxLCBpZHhCdWdDYXQsIGlkMiwgaWR4QnVnQ29kZSk7DQotICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgIGlmIChsaXN0PT0ibGJwIikgew0KLSAgICAgICAgICAgICAgICAgIGlkMiA9IGNsYXNzU3RhdHNbeF1bMF07DQotICAgICAgICAgICAgICAgICAgbGFiZWwgPSBjbGFzc1N0YXRzW3hdWzBdOw0KLSAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcklkID0gInBhY2thZ2VzLSIraWQxOw0KLSAgICAgICAgICAgICAgICAgIHN1YkNvbnRhaW5lcklkID0gInBhY2thZ2UtIiArIGlkMSArICItY2xhc3MtIiArIGlkMjsNCi0gICAgICAgICAgICAgICAgICBwID0gY291bnRCdWdzQ2xhc3Moc2VsZWN0ZWRWZXJzaW9uLCBzZWxlY3RlZFByaW9yaXR5LCBpZDEsIGlkeEJ1Z1BhY2thZ2UsIGlkMiwgaWR4QnVnQ2xhc3MpOw0KLSAgICAgICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgICAgICB2YXIgdG90YWwgPSBwWzFdK3BbMl0rcFszXStwWzRdOw0KLSAgICAgICAgICAgICAgIGlmICh0b3RhbCA+IDApIHsNCi0gICAgICAgICAgICAgICAgICBjb250ZW50ICs9IGFkZExpc3RJdGVtKCAyLCBjb250YWluZXJJZCwgbGFiZWwsIHRvdGFsLCBwLCBzdWJDb250YWluZXJJZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9nZ2xlTGlzdCgnIisgbGlzdCArICInLCAnIiArIHN1YkNvbnRhaW5lcklkICsgIicsICciKyBpZDEgKyAiJywgJyIrIGlkMiArICInLCAnJykiDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIHJldHVybiBjb250ZW50Ow0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBnZW5lcmF0ZSBsZXZlbCAzIGxpc3QNCi0gICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlMZXZlbDMobGlzdCwgaWQxLCBpZDIpIHsNCi0gICAgICAgICAgICB2YXIgY29udGVudCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBjb250YWluZXJJZCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBzdWJDb250YWluZXJJZCA9ICIiOw0KLSAgICAgICAgICAgIHZhciBwID0gWzAsMCwwLDAsMF07DQotICAgICAgICAgICAgdmFyIG1heCA9IDA7DQotICAgICAgICAgICAgdmFyIGxhYmVsID0gIiI7DQotICAgICAgICAgICAgdmFyIGlkMyA9ICIiOw0KLQ0KLSAgICAgICAgICAgIGlmIChsaXN0PT0ibGJjIikgew0KLSAgICAgICAgICAgICAgIG1heCA9IHBhdHRlcm5zLmxlbmd0aDsNCi0gICAgICAgICAgICB9IGVsc2UgaWYgKGxpc3Q9PSJsYnAiKSB7DQotICAgICAgICAgICAgICAgbWF4ID0gcGF0dGVybnMubGVuZ3RoOw0KLSAgICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgICBmb3IgKHZhciB4PTA7IHg8bWF4IC0xOyB4KyspIHsNCi0gICAgICAgICAgICAgICAvL2lmIChsaXN0PT0ibGJwIiAmJiAocGF0dGVybnNbeF1bMF0hPWlkMSB8fCBwYXR0ZXJuc1t4XVsxXSE9aWQyKSkgY29udGludWU7DQotICAgICAgICAgICAgICAgLy9pZiAobGlzdD09ImxicCIgJiYgY2xhc3NTdGF0c1t4XVszXT09IjAiKSBjb250aW51ZTsNCi0NCi0gICAgICAgICAgICAgICBpZiAobGlzdD09ImxiYyIpIHsNCi0gICAgICAgICAgICAgICAgICBpZDMgPSBwYXR0ZXJuc1t4XVtpZHhQYXR0ZXJuS2V5XTs7DQotICAgICAgICAgICAgICAgICAgbGFiZWwgPSBwYXR0ZXJuc1t4XVtpZHhQYXR0ZXJuRGVzY3JdOw0KLSAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcklkID0gInBhdHRlcm5zLSIraWQxOw0KLSAgICAgICAgICAgICAgICAgIHN1YkNvbnRhaW5lcklkID0gImNhdC0iICsgaWQxICsgIi1jb2RlLSIgKyBpZDIgKyAiLXBhdHRlcm4tIiArIGlkMzsNCi0gICAgICAgICAgICAgICAgICBwID0gY291bnRCdWdzUGF0dGVybihzZWxlY3RlZFZlcnNpb24sIHNlbGVjdGVkUHJpb3JpdHksIGlkMSwgaWR4QnVnQ2F0LCBpZDIsIGlkeEJ1Z0NvZGUsIGlkMywgaWR4QnVnUGF0dGVybik7DQotICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgIGlmIChsaXN0PT0ibGJwIikgew0KLSAgICAgICAgICAgICAgICAgIGlkMyA9IHBhdHRlcm5zW3hdW2lkeFBhdHRlcm5LZXldOzsNCi0gICAgICAgICAgICAgICAgICBsYWJlbCA9IHBhdHRlcm5zW3hdW2lkeFBhdHRlcm5EZXNjcl07DQotICAgICAgICAgICAgICAgICAgY29udGFpbmVySWQgPSAiY2xhc3NwYXR0ZXJucy0iK2lkMTsNCi0gICAgICAgICAgICAgICAgICBzdWJDb250YWluZXJJZCA9ICJwYWNrYWdlLSIgKyBpZDEgKyAiLWNsYXNzLSIgKyBpZDIgKyAiLXBhdHRlcm4tIiArIGlkMzsNCi0gICAgICAgICAgICAgICAgICBwID0gY291bnRCdWdzQ2xhc3NQYXR0ZXJuKHNlbGVjdGVkVmVyc2lvbiwgc2VsZWN0ZWRQcmlvcml0eSwgaWQyLCBpZHhCdWdDbGFzcywgaWQzLCBpZHhCdWdQYXR0ZXJuKTsNCi0gICAgICAgICAgICAgICB9DQotDQotICAgICAgICAgICAgICAgdmFyIHRvdGFsID0gcFsxXStwWzJdK3BbM10rcFs0XTsNCi0gICAgICAgICAgICAgICBpZiAodG90YWwgPiAwKSB7DQotICAgICAgICAgICAgICAgICAgY29udGVudCArPSBhZGRMaXN0SXRlbSggMywgY29udGFpbmVySWQsIGxhYmVsLCB0b3RhbCwgcCwgc3ViQ29udGFpbmVySWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvZ2dsZUxpc3QoJyIgKyBsaXN0ICsgIicsICciICsgc3ViQ29udGFpbmVySWQgKyAiJywgJyIrIGlkMSArICInLCAnIisgaWQyICsgIicsICciKyBpZDMgKyAiJykiDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIHJldHVybiBjb250ZW50Ow0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICAvLyBnZW5lcmF0ZSBsZXZlbCA0IGxpc3QNCi0gICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlMZXZlbDQobGlzdCwgaWQxLCBpZDIsIGlkMykgew0KLSAgICAgICAgICAgIHZhciBjb250ZW50ID0gIiI7DQotICAgICAgICAgICAgdmFyIGJ1ZyA9ICIiOw0KLSAgICAgICAgICAgIHZhciBidWdQID0gMDsNCi0gICAgICAgICAgICB2YXIgY29udGFpbmVySWQgPSAiIjsNCi0gICAgICAgICAgICB2YXIgc3ViQ29udGFpbmVySWQgPSAiIjsNCi0gICAgICAgICAgICB2YXIgYnVnSWQgPSAiIjsNCi0gICAgICAgICAgICB2YXIgbGFiZWwgPSAiIjsNCi0gICAgICAgICAgICB2YXIgcCA9IFswLDAsMCwwLDBdOw0KLSAgICAgICAgICAgIGZvciAodmFyIHg9MDsgeDxidWdzLmxlbmd0aCAtMTsgeCsrKSB7DQotICAgICAgICAgICAgICAgYnVnID0gYnVnc1t4XTsNCi0gICAgICAgICAgICAgICBpZiAobGlzdD09ImxiYyIpIHsNCi0gICAgICAgICAgICAgICAgICBpZiAoIGJ1Z1sxXSE9aWQxIHx8IGJ1Z1syXSE9aWQyIHx8IGJ1Z1szXSE9aWQzICkgY29udGludWU7DQotICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZFZlcnNpb24hPS0xDQotICAgICAgICAgICAgICAgICAgICAgJiYgc2VsZWN0ZWRWZXJzaW9uIT1idWdbNV0pIGNvbnRpbnVlOw0KLSAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRQcmlvcml0eSE9NA0KLSAgICAgICAgICAgICAgICAgICAgICYmIHNlbGVjdGVkUHJpb3JpdHk8YnVnWzRdKSBjb250aW51ZTsNCi0NCi0gICAgICAgICAgICAgICAgICBzdWJDb250YWluZXJJZCA9ICJjYXQtIiArIGlkMSArICItY29kZS0iICsgaWQyICsgIi1wYXR0ZXJuLSIgKyBpZDMgKyAiLWJ1Zy0iICsgYnVnWzBdOw0KLSAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICBpZiAobGlzdD09ImxicCIpIHsNCi0gICAgICAgICAgICAgICAgICBpZiAoIGJ1Z1s3XSE9aWQxIHx8IGJ1Z1s2XSE9aWQyIHx8IGJ1Z1szXSE9aWQzICkgY29udGludWU7DQotICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZFZlcnNpb24hPS0xDQotICAgICAgICAgICAgICAgICAgICAgJiYgc2VsZWN0ZWRWZXJzaW9uIT1idWdbNV0pIGNvbnRpbnVlOw0KLSAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRQcmlvcml0eSE9NA0KLSAgICAgICAgICAgICAgICAgICAgICYmIHNlbGVjdGVkUHJpb3JpdHk8YnVnWzRdKSBjb250aW51ZTsNCi0NCi0gICAgICAgICAgICAgICAgICBzdWJDb250YWluZXJJZCA9ICJwYWNrYWdlLSIgKyBpZDEgKyAiLWNsYXNzLSIgKyBpZDIgKyAiLXBhdHRlcm4tIiArIGlkMyArICItYnVnLSIgKyBidWdbMF07DQotICAgICAgICAgICAgICAgfQ0KLQ0KLSAgICAgICAgICAgICAgIGJ1Z0lkID0gImItdWlkLSIgKyBidWdbMF07DQotICAgICAgICAgICAgICAgbGFiZWwgPSBidWdbaWR4QnVnRGVzY3JdOw0KLSAgICAgICAgICAgICAgIGNvbnRhaW5lcklkID0gImJ1Z3MtIitidWdJZDsNCi0gICAgICAgICAgICAgICBidWdQID0gYnVnWzRdOw0KLSAgICAgICAgICAgICAgIHBbYnVnUF0rKzsNCi0gICAgICAgICAgICAgICB2YXIgdG90YWwgPSBwWzFdK3BbMl0rcFszXStwWzRdOw0KLSAgICAgICAgICAgICAgIGlmICh0b3RhbCA+IDApIHsNCi0gICAgICAgICAgICAgICAgICBjb250ZW50ICs9IGFkZEJ1ZyggICA0LCBjb250YWluZXJJZCwgbGFiZWwsIGJ1Z1AsIGJ1Z1s1XSwgc3ViQ29udGFpbmVySWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3didWcoJyIgKyBidWdJZCArICInLCAnIiArIHN1YkNvbnRhaW5lcklkICsgIicsICciK2lkMysiJykiKTsNCi0gICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIHJldHVybiBjb250ZW50Ow0KLSAgICAgICAgIH0NCi0NCi0NCi0gICAgICAgICBmdW5jdGlvbiBhZGRMaXN0SXRlbShsZXZlbCwgaWQsIGxhYmVsLCB0b3RhbCwgcCwgc3ViSWQsIG9uY2xpY2spIHsNCi0gICAgICAgICAgICB2YXIgY29udGVudCA9ICIiOw0KLQ0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxkaXYgY2xhc3M9J2J1Z0xpc3QtbGV2ZWwiK2xldmVsKyInID4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxkaXYgY2xhc3M9J2J1Z0xpc3QtbGV2ZWwiK2xldmVsKyItbGFiZWwnIGlkPSciK2lkKyInID4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxhIGhyZWY9Jycgb25jbGljaz1cIiIgKyBvbmNsaWNrICsgIjtyZXR1cm4gZmFsc2U7XCIgIjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI+IjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8c3Ryb25nPiIrbGFiZWwrIjwvc3Ryb25nPiI7DQotICAgICAgICAgICAgY29udGVudCArPSAiICIrdG90YWwrIiBidWdzIjsNCi0gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQcmlvcml0eT4xKQ0KLSAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIiA8ZW0+KCIrcFsxXTsNCi0gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQcmlvcml0eT49MikNCi0gICAgICAgICAgICAgICBjb250ZW50ICs9ICIvIitwWzJdOw0KLSAgICAgICAgICAgIGlmIChzZWxlY3RlZFByaW9yaXR5Pj0zKQ0KLSAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIi8iK3BbM107DQotICAgICAgICAgICAgaWYgKHNlbGVjdGVkUHJpb3JpdHk+PTQpDQotICAgICAgICAgICAgICAgY29udGVudCArPSAiLyIrcFs0XTsNCi0gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQcmlvcml0eT4xKQ0KLSAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIik8L2VtPiI7DQotICAgICAgICAgICAgY29udGVudCArPSAiPC9hPiI7DQotICAgICAgICAgICAgY29udGVudCArPSAiPC9kaXY+IjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8ZGl2IGNsYXNzPSdidWdMaXN0LWxldmVsIitsZXZlbCsiLWlubmVyJyBpZD0nIitzdWJJZCsiJyBzdHlsZT0nZGlzcGxheTpub25lOyc+TG9hZGluZy4uLjwvZGl2PiI7DQotICAgICAgICAgICAgY29udGVudCArPSAiPC9kaXY+IjsNCi0gICAgICAgICAgICByZXR1cm4gY29udGVudDsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgZnVuY3Rpb24gYWRkQnVnKCBsZXZlbCwgaWQsIGxhYmVsLCBwLCB2ZXJzaW9uLCBzdWJJZCwgb25jbGljaykgew0KLSAgICAgICAgICAgIHZhciBjb250ZW50ID0gIiI7DQotDQotICAgICAgICAgICAgY29udGVudCArPSAiPGRpdiBjbGFzcz0nYnVnTGlzdC1sZXZlbCIgKyBsZXZlbCArICInIGlkPSciICsgaWQgKyAiJz4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxkaXYgY2xhc3M9J2J1Z0xpc3QtbGV2ZWwiICsgbGV2ZWwgKyAiLWxhYmVsJyBpZD0nIiArIGlkICsgIic+IjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8c3BhbiBjbGFzcz0nYi0iICsgcCArICInPiZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxhIGhyZWY9Jycgb25jbGljaz1cIiIgKyBvbmNsaWNrICsgIjtyZXR1cm4gZmFsc2U7XCI+IjsNCi0gICAgICAgICAgICBpZiAodmVyc2lvbj09bGFzdFZlcnNpb24pIHsNCi0gICAgICAgICAgICAgICBjb250ZW50ICs9ICI8c3BhbiBzdHlsZT0nY29sb3I6cmVkO2ZvbnQtd2VpZ2h0OmJvbGQ7Jz5ORVchPC9zcGFuPiAiOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8c3Ryb25nPiIgKyBsYWJlbCArICI8L3N0cm9uZz4iOw0KLSAgICAgICAgICAgIGlmICh2ZXJzaW9uPT0wKSB7DQotICAgICAgICAgICAgICAgY29udGVudCArPSAiIDxlbT5zaW5jZSByZWxlYXNlIGZpcnN0IGhpc3Rvcml6ZWQgcmVsZWFzZTwvZW0+IjsNCi0gICAgICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIiA8ZW0+c2luY2UgcmVsZWFzZSAiICsgdmVyc2lvbnNbdmVyc2lvbl1bMV0gKyAiPC9lbT4iOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8L2E+IjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8L2Rpdj4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxkaXYgY2xhc3M9J2J1Z0xpc3QtbGV2ZWwiICsgbGV2ZWwgKyAiLWlubmVyJyBpZD0nIiArIHN1YklkICsgIicgc3R5bGU9J2Rpc3BsYXk6bm9uZTsnPkxvYWRpbmcuLi48L2Rpdj4iOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjwvZGl2PiI7DQotICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIGZ1bmN0aW9uIGNvdW50QnVnc1ZlcnNpb24odmVyc2lvbiwgcHJpb3JpdHkpIHsNCi0gICAgICAgICAgICByZXR1cm4gY291bnRCdWdzKHZlcnNpb24sIHByaW9yaXR5LCAiIiwgLTEsICIiLCAtMSwgIiIsIC0xLCAiIiwgLTEsICIiLCAtMSk7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIGZ1bmN0aW9uIGNvdW50QnVnc0NhdCh2ZXJzaW9uLCBwcmlvcml0eSwgY2F0LCBpZHhDYXQpIHsNCi0gICAgICAgICAgICByZXR1cm4gY291bnRCdWdzKHZlcnNpb24sIHByaW9yaXR5LCBjYXQsIGlkeENhdCwgIiIsIC0xLCAiIiwgLTEsICIiLCAtMSwgIiIsIC0xKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgZnVuY3Rpb24gY291bnRCdWdzUGFja2FnZSh2ZXJzaW9uLCBwcmlvcml0eSwgcGFja2FnZUlkLCBpZHhQYWNrYWdlKSB7DQotICAgICAgICAgICAgcmV0dXJuIGNvdW50QnVncyh2ZXJzaW9uLCBwcmlvcml0eSwgIiIsIC0xLCAiIiwgLTEsICIiLCAtMSwgcGFja2FnZUlkLCBpZHhQYWNrYWdlLCAiIiwgLTEpOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICBmdW5jdGlvbiBjb3VudEJ1Z3NDb2RlKHZlcnNpb24sIHByaW9yaXR5LCBjYXQsIGlkeENhdCwgY29kZSwgaWR4Q29kZSkgew0KLSAgICAgICAgICAgIHJldHVybiBjb3VudEJ1Z3ModmVyc2lvbiwgcHJpb3JpdHksIGNhdCwgaWR4Q2F0LCBjb2RlLCBpZHhDb2RlLCAiIiwgLTEsICIiLCAtMSwgIiIsIC0xKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgZnVuY3Rpb24gY291bnRCdWdzUGF0dGVybih2ZXJzaW9uLCBwcmlvcml0eSwgY2F0LCBpZHhDYXQsIGNvZGUsIGlkeENvZGUsIHBhY2thZ2VJZCwgaWR4UGF0dGVybikgew0KLSAgICAgICAgICAgIHJldHVybiBjb3VudEJ1Z3ModmVyc2lvbiwgcHJpb3JpdHksIGNhdCwgaWR4Q2F0LCBjb2RlLCBpZHhDb2RlLCBwYWNrYWdlSWQsIGlkeFBhdHRlcm4sICIiLCAtMSwgIiIsIC0xKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgZnVuY3Rpb24gY291bnRCdWdzQ2xhc3ModmVyc2lvbiwgcHJpb3JpdHksIGlkMSwgaWR4QnVnUGFja2FnZSwgaWQyLCBpZHhCdWdDbGFzcykgew0KLSAgICAgICAgICAgIHJldHVybiBjb3VudEJ1Z3ModmVyc2lvbiwgcHJpb3JpdHksICIiLCAtMSwgIiIsIC0xLCAiIiwgLTEsIGlkMSwgaWR4QnVnUGFja2FnZSwgaWQyLCBpZHhCdWdDbGFzcyk7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIGZ1bmN0aW9uIGNvdW50QnVnc0NsYXNzUGF0dGVybih2ZXJzaW9uLCBwcmlvcml0eSwgaWQyLCBpZHhCdWdDbGFzcywgaWQzLCBpZHhCdWdQYXR0ZXJuKSB7DQotICAgICAgICAgICAgcmV0dXJuIGNvdW50QnVncyh2ZXJzaW9uLCBwcmlvcml0eSwgIiIsIC0xLCAiIiwgLTEsIGlkMywgaWR4QnVnUGF0dGVybiwgIiIsIC0xLCBpZDIsIGlkeEJ1Z0NsYXNzKTsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgZnVuY3Rpb24gY291bnRCdWdzKHZlcnNpb24sIHByaW9yaXR5LCBjYXQsIGlkeENhdCwgY29kZSwgaWR4Q29kZSwgcGF0dGVybiwgaWR4UGF0dGVybiwgcGFja2FnZUlkLCBpZHhQYWNrYWdlLCBjbGFzc0lkLCBpZHhDbGFzcykgew0KLSAgICAgICAgICAgIHZhciBjb3VudCA9IFswLDAsMCwwLDBdOw0KLSAgICAgICAgICAgIHZhciBsYXN0PTEwMDAwMDA7DQotICAgICAgICAgICAgZm9yICh2YXIgeD0wOyB4PGJ1Z3MubGVuZ3RoLTE7IHgrKykgew0KLSAgICAgICAgICAgICAgIHZhciBidWcgPSBidWdzW3hdOw0KLQ0KLSAgICAgICAgICAgICAgIHZhciBidWdDYXQgPSBidWdbaWR4Q2F0XTsNCi0gICAgICAgICAgICAgICB2YXIgYnVnUCA9IGJ1Z1s0XTsNCi0gICAgICAgICAgICAgICB2YXIgYnVnQ29kZSA9IGJ1Z1tpZHhDb2RlXTsNCi0gICAgICAgICAgICAgICB2YXIgYnVnUGF0dGVybiA9IGJ1Z1tpZHhQYXR0ZXJuXTsNCi0NCi0gICAgICAgICAgICAgICBpZiAoICAgICAodmVyc2lvbj09LTEgICAgfHwgdmVyc2lvbj09YnVnWzVdKQ0KLSAgICAgICAgICAgICAgICAgICAgICYmIChwcmlvcml0eT09NCAgICB8fCBwcmlvcml0eT49YnVnWzRdKQ0KLSAgICAgICAgICAgICAgICAgICAgICYmIChpZHhDYXQ9PS0xICAgICB8fCBidWdbaWR4Q2F0XT09Y2F0KQ0KLSAgICAgICAgICAgICAgICAgICAgICYmIChpZHhDb2RlPT0tMSAgICB8fCBidWdbaWR4Q29kZV09PWNvZGUpDQotICAgICAgICAgICAgICAgICAgICAgJiYgKGlkeFBhdHRlcm49PS0xIHx8IGJ1Z1tpZHhQYXR0ZXJuXT09cGF0dGVybikNCi0gICAgICAgICAgICAgICAgICAgICAmJiAoaWR4UGFja2FnZT09LTEgfHwgYnVnW2lkeFBhY2thZ2VdPT1wYWNrYWdlSWQpDQotICAgICAgICAgICAgICAgICAgICAgJiYgKGlkeENsYXNzPT0tMSAgIHx8IGJ1Z1tpZHhDbGFzc109PWNsYXNzSWQpDQotICAgICAgICAgICAgICAgICAgICAgKSB7DQotICAgICAgICAgICAgICAgICAgY291bnRbYnVnWzRdXSsrOw0KLSAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgY291bnRbMF0gPSBjb3VudFsxXSArIGNvdW50WzJdICsgY291bnRbM10gKyBjb3VudFs0XTsNCi0gICAgICAgICAgICByZXR1cm4gY291bnQ7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIGZ1bmN0aW9uIGNvdW50Rml4ZWRCdWdzSW5WZXJzaW9uKHZlcnNpb24pIHsNCi0gICAgICAgICAgICB2YXIgY291bnQgPSBbMCwwLDAsMCwwXTsNCi0gICAgICAgICAgICB2YXIgbGFzdD0xMDAwMDAwOw0KLSAgICAgICAgICAgIGZvciAodmFyIHg9MDsgeDxmaXhlZEJ1Z3MubGVuZ3RoLTE7IHgrKykgew0KLSAgICAgICAgICAgICAgIHZhciBidWcgPSBmaXhlZEJ1Z3NbeF07DQotDQotICAgICAgICAgICAgICAgdmFyIGJ1Z1AgPSBidWdbNF07DQotDQotICAgICAgICAgICAgICAgaWYgKCB2ZXJzaW9uPT0tMSB8fCB2ZXJzaW9uPT0oYnVnWzZdKzEpKSB7DQotICAgICAgICAgICAgICAgICAgY291bnRbYnVnWzRdXSsrOw0KLSAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgY291bnRbMF0gPSBjb3VudFsxXSArIGNvdW50WzJdICsgY291bnRbM10gKyBjb3VudFs0XTsNCi0gICAgICAgICAgICByZXR1cm4gY291bnQ7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIGZ1bmN0aW9uIGNvdW50Rml4ZWRCdWdzSW50cm9kdWNlZEluVmVyc2lvbih2ZXJzaW9uKSB7DQotICAgICAgICAgICAgdmFyIGNvdW50ID0gWzAsMCwwLDAsMF07DQotICAgICAgICAgICAgdmFyIGxhc3Q9MTAwMDAwMDsNCi0gICAgICAgICAgICBmb3IgKHZhciB4PTA7IHg8Zml4ZWRCdWdzLmxlbmd0aC0xOyB4KyspIHsNCi0gICAgICAgICAgICAgICB2YXIgYnVnID0gZml4ZWRCdWdzW3hdOw0KLQ0KLSAgICAgICAgICAgICAgIHZhciBidWdQID0gYnVnWzRdOw0KLQ0KLSAgICAgICAgICAgICAgIGlmICggdmVyc2lvbj09LTEgfHwgdmVyc2lvbj09KGJ1Z1s1XSkpIHsNCi0gICAgICAgICAgICAgICAgICBjb3VudFtidWdbNF1dKys7DQotICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBjb3VudFswXSA9IGNvdW50WzFdICsgY291bnRbMl0gKyBjb3VudFszXSArIGNvdW50WzRdOw0KLSAgICAgICAgICAgIHJldHVybiBjb3VudDsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgZnVuY3Rpb24gY291bnRGaXhlZEJ1dEFjdGl2ZUJ1Z3NWZXJzaW9uKHZlcnNpb24pIHsNCi0gICAgICAgICAgICB2YXIgY291bnQgPSBbMCwwLDAsMCwwXTsNCi0gICAgICAgICAgICB2YXIgbGFzdD0xMDAwMDAwOw0KLSAgICAgICAgICAgIGZvciAodmFyIHg9MDsgeDxmaXhlZEJ1Z3MubGVuZ3RoLTE7IHgrKykgew0KLSAgICAgICAgICAgICAgIHZhciBidWcgPSBmaXhlZEJ1Z3NbeF07DQotDQotICAgICAgICAgICAgICAgdmFyIGJ1Z1AgPSBidWdbNF07DQotDQotICAgICAgICAgICAgICAgaWYgKCB2ZXJzaW9uPT0tMSB8fCAodmVyc2lvbiA+PWJ1Z1s1XSAmJiB2ZXJzaW9uPD1idWdbNl0pICkgew0KLSAgICAgICAgICAgICAgICAgIGNvdW50W2J1Z1s0XV0rKzsNCi0gICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGNvdW50WzBdID0gY291bnRbMV0gKyBjb3VudFsyXSArIGNvdW50WzNdICsgY291bnRbNF07DQotICAgICAgICAgICAgcmV0dXJuIGNvdW50Ow0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICBmdW5jdGlvbiBjb3VudFRvdGFsQnVnc1ZlcnNpb24odmVyc2lvbikgew0KLSAgICAgICAgICAgIHZhciBjb3VudCA9IFswLDAsMCwwLDBdOw0KLSAgICAgICAgICAgIHZhciBsYXN0PTEwMDAwMDA7DQotICAgICAgICAgICAgZm9yICh2YXIgeD0wOyB4PGJ1Z3MubGVuZ3RoLTE7IHgrKykgew0KLSAgICAgICAgICAgICAgIHZhciBidWcgPSBidWdzW3hdOw0KLQ0KLSAgICAgICAgICAgICAgIHZhciBidWdQID0gYnVnWzRdOw0KLQ0KLSAgICAgICAgICAgICAgIGlmICh2ZXJzaW9uPT0tMSB8fCB2ZXJzaW9uPj1idWdbNV0pIHsNCi0gICAgICAgICAgICAgICAgICBjb3VudFtidWdbNF1dKys7DQotICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBjb3VudFswXSA9IGNvdW50WzFdICsgY291bnRbMl0gKyBjb3VudFszXSArIGNvdW50WzRdOw0KLSAgICAgICAgICAgIHJldHVybiBjb3VudDsNCi0gICAgICAgICB9DQotDQotICAgICAgICAgZnVuY3Rpb24gZ2V0UHJpb3JpdHlMZWdlbmQoKSB7DQotICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSAiIjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8aDU+PHNwYW4gY2xhc3M9J2ItMSc+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9zcGFuPiBQMSAiOw0KLSAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxzcGFuIGNsYXNzPSdiLTInPiZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj4gUDIgIjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8c3BhbiBjbGFzcz0nYi0zJz4mbmJzcDsmbmJzcDsmbmJzcDs8L3NwYW4+IFAzICI7DQotICAgICAgICAgICAgY29udGVudCArPSAiPHNwYW4gY2xhc3M9J2ItNCc+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9zcGFuPiBFeHAgIjsNCi0gICAgICAgICAgICBjb250ZW50ICs9ICI8L2g1PiI7DQotICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7DQotICAgICAgICAgfQ0KLQ0KLSAgICAgICAgIGZ1bmN0aW9uIHBvcHVsYXRlUGFja2FnZU5hbWVzKCkgew0KLSAgICAgICAgICAgIGZvciAodmFyIGk9MDsgaTxidWdzLmxlbmd0aDsgaSsrKSB7DQotICAgICAgICAgICAgICAgdmFyIGNsYXNzSWQgPSBidWdzW2ldWzZdOw0KLSAgICAgICAgICAgICAgIHZhciBpZHggPSBjbGFzc0lkLmxhc3RJbmRleE9mKCcuJyk7DQotICAgICAgICAgICAgICAgdmFyIHBhY2thZ2VJZCA9ICIiOw0KLQ0KLSAgICAgICAgICAgICAgIGlmIChpZHg+MCkgew0KLSAgICAgICAgICAgICAgICAgIHBhY2thZ2VJZCA9IGNsYXNzSWQuc3Vic3RyaW5nKDAsIGlkeCk7DQotICAgICAgICAgICAgICAgfQ0KLQ0KLSAgICAgICAgICAgICAgIGJ1Z3NbaV1bN10gPSBwYWNrYWdlSWQ7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICBmdW5jdGlvbiBzaG93YnVnKGJ1Z0lkLCBjb250YWluZXJJZCwgcGF0dGVybklkKSB7DQotICAgICAgICAgICAgdmFyIGJ1Z3BsYWNlaG9sZGVyICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCk7DQotICAgICAgICAgICAgdmFyIGJ1ZyAgICAgICAgICAgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChidWdJZCk7DQotDQotICAgICAgICAgICAgaWYgKCBidWdwbGFjZWhvbGRlcj09bnVsbCkgew0KLSAgICAgICAgICAgICAgIGFsZXJ0KGJ1Z3VpZCsnLXBoLScrbGlzdCsnIC0gJytidWd1aWQrJyAtIGJ1Z3BsYWNlaG9sZGVyPT1udWxsJyk7DQotICAgICAgICAgICAgICAgcmV0dXJuOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBpZiAoIGJ1Zz09bnVsbCkgew0KLSAgICAgICAgICAgICAgIGFsZXJ0KGJ1Z3VpZCsnLXBoLScrbGlzdCsnIC0gJytidWd1aWQrJyAtIGJ1Zz09bnVsbCcpOw0KLSAgICAgICAgICAgICAgIHJldHVybjsNCi0gICAgICAgICAgICB9DQotDQotICAgICAgICAgICAgdmFyIG5ld0J1ZyA9IGJ1Zy5pbm5lckhUTUw7DQotICAgICAgICAgICAgdmFyIHBhdHRlcm4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGlwLScrcGF0dGVybklkKS5pbm5lckhUTUw7DQotICAgICAgICAgICAgdG9nZ2xlKGNvbnRhaW5lcklkKTsNCi0gICAgICAgICAgICBidWdwbGFjZWhvbGRlci5pbm5lckhUTUwgPSBuZXdCdWcgKyBwYXR0ZXJuOw0KLSAgICAgICAgIH0NCi0gICAgICAgICBmdW5jdGlvbiB0b2dnbGUoZm9vKSB7DQotICAgICAgICAgICAgaWYoIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZvbykuc3R5bGUuZGlzcGxheSA9PSAibm9uZSIpIHsNCi0gICAgICAgICAgICAgICBzaG93KGZvbyk7DQotICAgICAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICAgICBpZiggZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZm9vKS5zdHlsZS5kaXNwbGF5ID09ICJibG9jayIpIHsNCi0gICAgICAgICAgICAgICAgICBoaWRlKGZvbyk7DQotICAgICAgICAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICAgICAgICBzaG93KGZvbyk7DQotICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICB9DQotICAgICAgICAgZnVuY3Rpb24gc2hvdyhmb28pIHsNCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb28pLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjsNCi0gICAgICAgICB9DQotICAgICAgICAgZnVuY3Rpb24gaGlkZShmb28pIHsNCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb28pLnN0eWxlLmRpc3BsYXk9Im5vbmUiOw0KLSAgICAgICAgIH0NCi0NCi0gICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKXsNCi0gICAgICAgICAgICBpbml0KCk7DQotICAgICAgICAgfTsNCi0gICAgICBdXT48L3hzbDp0ZXh0Pjwvc2NyaXB0Pg0KLSAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4NCi0gICAgICAgICAvLyB2ZXJzaW9ucyBmaWVsZHM6IHJlbGVhc2UgaWQsIHJlbGVhc2UgbGFiZWwNCi0gICAgICAgICB2YXIgdmVyc2lvbnMgPSBuZXcgQXJyYXkoDQotICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0hpc3RvcnkvQXBwVmVyc2lvbiI+DQotICAgICAgICAgICAgICAgWyAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBzZXF1ZW5jZSIgLz4iLCAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkByZWxlYXNlIiAvPiIgXSwNCi0gICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4NCi0gICAgICAgICAgICAgICBbICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQHNlcXVlbmNlIiAvPiIsICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQHJlbGVhc2UiIC8+IiBdDQotICAgICAgICAgICAgKTsNCi0NCi0gICAgICAgICAvLyBjYXRlZ29yaWVzIGZpZWxkczogY2F0ZWdvcnkgaWQsIGNhdGVnb3J5IGxhYmVsDQotICAgICAgICAgdmFyIGNhdGVnb3JpZXMgPSBuZXcgQXJyYXkoDQotICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0NhdGVnb3J5Ij4NCi0gICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAY2F0ZWdvcnkiIG9yZGVyPSJhc2NlbmRpbmciIC8+DQotICAgICAgICAgICAgICAgWyAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBjYXRlZ29yeSIgLz4iLCAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkRlc2NyaXB0aW9uIiAvPiIgXSwNCi0gICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4NCi0gICAgICAgICAgICAgICBbICIiLCAiIiBdDQotICAgICAgICAgICAgKTsNCi0NCi0gICAgICAgICAvLyBjb2RlcyBmaWVsZHM6IGNvZGUgaWQsIGNvZGUgbGFiZWwNCi0gICAgICAgICB2YXIgY29kZXMgPSBuZXcgQXJyYXkoDQotICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0NvZGUiPg0KLSAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBhYmJyZXYiIG9yZGVyPSJhc2NlbmRpbmciIC8+DQotICAgICAgICAgICAgICAgWyAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBhYmJyZXYiIC8+IiwgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJEZXNjcmlwdGlvbiIgLz4iIF0sDQotICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+DQotICAgICAgICAgICAgICAgWyAiIiwgIiIgXQ0KLSAgICAgICAgICAgICk7DQotDQotICAgICAgICAgLy8gcGF0dGVybnMgZmllbGRzOiBjYXRlZ29yeSBpZCwgY29kZSBpZCwgcGF0dGVybiBpZCwgcGF0dGVybiBsYWJlbA0KLSAgICAgICAgIHZhciBwYXR0ZXJucyA9IG5ldyBBcnJheSgNCi0gICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnUGF0dGVybiI+DQotICAgICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQHR5cGUiIG9yZGVyPSJhc2NlbmRpbmciIC8+DQotICAgICAgICAgICAgICAgWyAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBjYXRlZ29yeSIgLz4iLCAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBhYmJyZXYiIC8+IiwgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlwZSIgLz4iLCAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRyYW5zbGF0ZShTaG9ydERlc2NyaXB0aW9uLCAnJnF1b3Q7JywgJGFwb3MpIiAvPiIgXSwNCi0NCi0gICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4NCi0gICAgICAgICAgICAgICBbICIiLCAiIiwgIiIsICIiIF0NCi0gICAgICAgICAgICApOw0KLQ0KLSAgICAgICAgIC8vIGNsYXNzIHN0YXRzIGZpZWxkczogY2xhc3MgbmFtZSwgcGFja2FnZSBuYW1lLCBpc0ludGVyZmFjZSwgdG90YWwgYnVncywgYnVncyBwMSwgYnVncyBwMiwgYnVncyBwMywgYnVncyBwNA0KLSAgICAgICAgIHZhciBjbGFzc1N0YXRzID0gbmV3IEFycmF5KA0KLSAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzL0NsYXNzU3RhdHMiPg0KLSAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBjbGFzcyIgb3JkZXI9ImFzY2VuZGluZyIgLz4NCi0gICAgICAgICAgICAgICBbICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGNsYXNzIiAvPiIsICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vQHBhY2thZ2UiIC8+IiwgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaW50ZXJmYWNlIiAvPiIsICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGJ1Z3MiIC8+IiwgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcHJpb3JpdHlfMSIgLz4iLCAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV8yIiAvPiIsICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5XzMiIC8+IiwgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcHJpb3JpdHlfNCIgLz4iIF0sDQotICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+DQotICAgICAgICAgICAgICAgWyAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIgXQ0KLSAgICAgICAgICAgICk7DQotDQotICAgICAgICAgLy8gcGFja2FnZSBzdGF0cyBmaWVsZHM6IHBhY2thZ2UgbmFtZSwgdG90YWwgYnVncywgYnVncyBwMSwgYnVncyBwMiwgYnVncyBwMywgYnVncyBwNA0KLSAgICAgICAgIHZhciBwYWNrYWdlU3RhdHMgPSBuZXcgQXJyYXkoDQotICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHMiPg0KLSAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBwYWNrYWdlIiBvcmRlcj0iYXNjZW5kaW5nIiAvPg0KLSAgICAgICAgICAgICAgIFsgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcGFja2FnZSIgLz4iLCAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB0b3RhbF9idWdzIiAvPiIsICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5XzEiIC8+IiwgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcHJpb3JpdHlfMiIgLz4iLCAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV8zIiAvPiIsICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5XzQiIC8+IiBdLA0KLSAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPg0KLSAgICAgICAgICAgICAgIFsgIiIsICIiLCAiIiwgIiIsICIiLCAiIiBdDQotICAgICAgICAgICAgKTsNCi0NCi0NCi0gICAgICAgICAvLyBidWdzIGZpZWxkczogYnVnIGlkLCBjYXRlZ29yeSBpZCwgY29kZSBpZCwgcGF0dGVybiBpZCwgcHJpb3JpdHksIHJlbGVhc2UgaWQsIGNsYXNzIG5hbWUsIHBhY2thZ2VuYW1lIChwb3B1bGF0ZWQgYnkgamF2YXNjcmlwdCkNCi0gICAgICAgICB2YXIgYnVncyA9IG5ldyBBcnJheSgNCi0gICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2Vbc3RyaW5nLWxlbmd0aChAbGFzdCk9MF0iPg0KLQ0KLSAgICAgICAgICAgICAgIFsgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaW5zdGFuY2VIYXNoIiAvPi08eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGluc3RhbmNlT2NjdXJyZW5jZU51bSIgLz4iLA0KLSAgICAgICAgICAgICAgICAgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAY2F0ZWdvcnkiIC8+IiwNCi0gICAgICAgICAgICAgICAgICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGFiYnJldiIgLz4iLA0KLSAgICAgICAgICAgICAgICAgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlwZSIgLz4iLA0KLSAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eSIgLz4sDQotICAgICAgICAgICAgICAgICA8eHNsOmNob29zZT48eHNsOndoZW4gdGVzdD0nc3RyaW5nLWxlbmd0aChAZmlyc3QpPTAnPjA8L3hzbDp3aGVuPjx4c2w6b3RoZXJ3aXNlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAZmlyc3QiIC8+PC94c2w6b3RoZXJ3aXNlPjwveHNsOmNob29zZT4sDQotICAgICAgICAgICAgICAgICAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkNsYXNzL0BjbGFzc25hbWUiIC8+IiwNCi0gICAgICAgICAgICAgICAgICIiXSwNCi0gICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4NCi0gICAgICAgICAgICAgICBbICIiLCAiIiwgIiIsICIiLCAwLCAwLCAiIiwgIiIgXQ0KLSAgICAgICAgICAgICk7DQotDQotICAgICAgICAgLy8gYnVncyBmaWVsZHM6IGJ1ZyBpZCwgY2F0ZWdvcnkgaWQsIGNvZGUgaWQsIHBhdHRlcm4gaWQsIHByaW9yaXR5LCBmaXJzdCByZWxlYXNlIGlkLCBmaXhlZCByZWxlYXNlIGlkLCBjbGFzcyBuYW1lDQotICAgICAgICAgdmFyIGZpeGVkQnVncyA9IG5ldyBBcnJheSgNCi0gICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2Vbc3RyaW5nLWxlbmd0aChAbGFzdCk+MF0iPg0KLQ0KLSAgICAgICAgICAgICAgIFsgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaW5zdGFuY2VIYXNoIiAvPi08eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGluc3RhbmNlT2NjdXJyZW5jZU51bSIgLz4iLA0KLSAgICAgICAgICAgICAgICAgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAY2F0ZWdvcnkiIC8+IiwNCi0gICAgICAgICAgICAgICAgICI8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGFiYnJldiIgLz4iLA0KLSAgICAgICAgICAgICAgICAgIjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlwZSIgLz4iLA0KLSAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eSIgLz4sDQotICAgICAgICAgICAgICAgICA8eHNsOmNob29zZT48eHNsOndoZW4gdGVzdD0nc3RyaW5nLWxlbmd0aChAZmlyc3QpPTAnPjA8L3hzbDp3aGVuPjx4c2w6b3RoZXJ3aXNlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAZmlyc3QiIC8+PC94c2w6b3RoZXJ3aXNlPjwveHNsOmNob29zZT4sDQotICAgICAgICAgICAgICAgICA8eHNsOmNob29zZT48eHNsOndoZW4gdGVzdD0nc3RyaW5nLWxlbmd0aChAbGFzdCk+MCc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBsYXN0IiAvPjwveHNsOndoZW4+PHhzbDpvdGhlcndpc2U+LTQyPC94c2w6b3RoZXJ3aXNlPjwveHNsOmNob29zZT4sDQotICAgICAgICAgICAgICAgICAiPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkNsYXNzL0BjbGFzc25hbWUiIC8+IiBdLA0KLSAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPg0KLSAgICAgICAgICAgICAgIFsgIiIsICIiLCAiIiwgIiIsIDAsIDAsIDAsICIiIF0NCi0gICAgICAgICAgICApOw0KLQ0KLSAgICAgIDwvc2NyaXB0Pg0KLSAgIDwvaGVhZD4NCi0gICA8Ym9keT4NCi0gICAgICA8aDM+DQotICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2ZpbmRidWdzLnNvdXJjZWZvcmdlLm5ldCI+RmluZEJ1Z3M8L2E+ICg8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQHZlcnNpb24iIC8+KSANCi0gICAgICAgICBBbmFseXNpcyBmb3IgDQotICAgICAgICAgPHhzbDpjaG9vc2U+DQotICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9J3N0cmluZy1sZW5ndGgoL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AcHJvamVjdE5hbWUpPjAnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9Qcm9qZWN0L0Bwcm9qZWN0TmFtZSIgLz48L3hzbDp3aGVuPg0KLSAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9Qcm9qZWN0L0BmaWxlbmFtZSIgLz48L3hzbDpvdGhlcndpc2U+DQotICAgICAgICAgPC94c2w6Y2hvb3NlPg0KLSAgICAgIDwvaDM+DQotDQotICAgICAgPGRpdiBpZD0nbWVudVdyYXBwZXInIHN0eWxlPScnPg0KLSAgICAgICAgIDxkaXYgaWQ9Im5hdmNvbnRhaW5lciI+DQotICAgICAgICAgICAgPHVsIGlkPSJuYXZsaXN0Ij4NCi0gICAgICAgICAgICAgICA8bGk+PGEgaWQ9J3N1bW1hcnknICAgICAgICAgICBjbGFzcz0iY3VycmVudCIgaHJlZj0iIyIgb25jbGljaz0ic2VsZWN0TWVudSgnc3VtbWFyeScpOyByZXR1cm4gZmFsc2U7IiAgICAgICAgID5TdW1tYXJ5PC9hPjwvbGk+DQotICAgICAgICAgICAgICAgPGxpPjxhIGlkPSdoaXN0b3J5JyAgICAgICAgICAgY2xhc3M9Im5vbmUiICAgIGhyZWY9IiMiIG9uY2xpY2s9InNlbGVjdE1lbnUoJ2hpc3RvcnknKTsgcmV0dXJuIGZhbHNlOyIgICAgICAgICA+SGlzdG9yeTwvYT48L2xpPg0KLSAgICAgICAgICAgICAgIDxsaT48YSBpZD0nbGlzdEJ5Q2F0ZWdvcmllcycgIGNsYXNzPSJub25lIiAgICBocmVmPSIjIiBvbmNsaWNrPSJzZWxlY3RNZW51KCdsaXN0QnlDYXRlZ29yaWVzJyk7IHJldHVybiBmYWxzZTsiPkJyb3dzZSBCeSBDYXRlZ29yaWVzPC9hPjwvbGk+DQotICAgICAgICAgICAgICAgPGxpPjxhIGlkPSdsaXN0QnlQYWNrYWdlcycgICAgY2xhc3M9Im5vbmUiICAgIGhyZWY9IiMiIG9uY2xpY2s9InNlbGVjdE1lbnUoJ2xpc3RCeVBhY2thZ2VzJyk7IHJldHVybiBmYWxzZTsiICA+QnJvd3NlIGJ5IFBhY2thZ2VzPC9hPjwvbGk+DQotICAgICAgICAgICAgICAgPGxpPjxhIGlkPSdpbmZvJyAgICAgICAgICAgICAgY2xhc3M9Im5vbmUiICAgIGhyZWY9IiMiIG9uY2xpY2s9InNlbGVjdE1lbnUoJ2luZm8nKTsgcmV0dXJuIGZhbHNlOyIgICAgICAgICAgICA+SW5mbzwvYT48L2xpPg0KLSAgICAgICAgICAgIDwvdWw+DQotICAgICAgICAgPC9kaXY+DQotICAgICAgPC9kaXY+DQotDQotICAgICAgPGRpdiBpZD0nZGlzcGxheVdyYXBwZXInPg0KLQ0KLSAgICAgIDxkaXYgc3R5bGU9J2hlaWdodDoyNXB4Oyc+DQotICAgICAgICAgPGRpdiBpZD0nbWVzc2FnZUNvbnRhaW5lcicgc3R5bGU9J2Zsb2F0OnJpZ2h0Oyc+DQotICAgICAgICAgICAgQ29tcHV0aW5nIGRhdGEuLi4NCi0gICAgICAgICA8L2Rpdj4NCi0gICAgICAgICA8ZGl2IGlkPSdmaWx0ZXJXcmFwcGVyJyBzdHlsZT0nZGlzcGxheTpub25lOyc+DQotICAgICAgICAgICAgPGZvcm0gbmFtZT0nZmluZGJ1Z3NGb3JtJz4NCi0gICAgICAgICAgICAgICA8ZGl2IGlkPSdmaWx0ZXJDb250YWluZXInID4NCi0gICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9J3ZlcnNpb25zJyBvbmNoYW5nZT0nZmlsdGVyKCknPg0KLSAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImxvYWRpbmciPkxvYWRpbmcgZmlsdGVyLi4uPC9vcHRpb24+DQotICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQotICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSdwcmlvcml0aWVzJyBvbmNoYW5nZT0nZmlsdGVyKCknPg0KLSAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImxvYWRpbmciPkxvYWRpbmcgZmlsdGVyLi4uPC9vcHRpb24+DQotICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQotICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgPC9mb3JtPg0KLSAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgIDxkaXYgaWQ9J2hpc3RvcnlDb250cm9sV3JhcHBlcicgc3R5bGU9J2Rpc3BsYXk6bm9uZTsnPg0KLSAgICAgICAgICAgPGZvcm0gbmFtZT0iZmluZGJ1Z3NIaXN0b3J5Q29udHJvbEZvcm0iPg0KLSAgICAgICAgICAgICA8ZGl2IGlkPSdoaXN0b3J5Q29udHJvbENvbnRhaW5lcic+DQotICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdpbmNsdWRlRml4ZWRJbnRyb2R1Y2VkQnVncycNCi0gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9J2NoZWNrZWQnIGFsdD0nSW5jbHVkZSBmaXhlZCBpbnRyb2R1Y2VkIGJ1Z3MuJw0KLSAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSdpbmNsdWRlRml4ZWRJbnRyb2R1Y2VkQnVnc0luSGlzdG9yeSgpJyAvPg0KLSAgICAgICAgICAgICAgIEluY2x1ZGUgY291bnRzIG9mIGludHJvZHVjZWQgYnVncyB0aGF0IHdlcmUgZml4ZWQgaW4gbGF0ZXIgcmVsZWFzZXMuDQotICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgICAgPC9mb3JtPg0KLSAgICAgICAgIDwvZGl2Pg0KLSAgICAgIDwvZGl2Pg0KLSAgICAgICAgIDxkaXYgaWQ9J3N1bW1hcnlDb250YWluZXInICAgICAgICAgIGNsYXNzPSdkaXNwbGF5Q29udGFpbmVyJz4NCi0gICAgICAgICAgICA8aDM+UGFja2FnZSBTdW1tYXJ5PC9oMz4NCi0gICAgICAgICAgICA8dGFibGU+DQotICAgICAgICAgICAgICAgPHRyPg0KLSAgICAgICAgICAgICAgICAgIDx0aD5QYWNrYWdlPC90aD4NCi0gICAgICAgICAgICAgICAgICA8dGg+Q29kZSBTaXplPC90aD4NCi0gICAgICAgICAgICAgICAgICA8dGg+QnVnczwvdGg+DQotICAgICAgICAgICAgICAgICAgPHRoPkJ1Z3MgcDE8L3RoPg0KLSAgICAgICAgICAgICAgICAgIDx0aD5CdWdzIHAyPC90aD4NCi0gICAgICAgICAgICAgICAgICA8dGg+QnVncyBwMzwvdGg+DQotICAgICAgICAgICAgICAgICAgPHRoPkJ1Z3MgRXhwLjwvdGg+DQotICAgICAgICAgICAgICAgPC90cj4NCi0gICAgICAgICAgICAgICA8dHI+DQotICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LW5hbWUnPg0KLSAgICAgICAgICAgICAgICAgICAgIE92ZXJhbGwNCi0gICAgICAgICAgICAgICAgICAgICAoPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AbnVtX3BhY2thZ2VzIiAvPiBwYWNrYWdlcyksDQotICAgICAgICAgICAgICAgICAgICAgKDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvQHRvdGFsX2NsYXNzZXMiIC8+IGNsYXNzZXMpDQotICAgICAgICAgICAgICAgICAgPC90ZD4NCi0gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktc2l6ZSc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AdG90YWxfc2l6ZSIgLz48L3RkPg0KLSAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS1hbGwnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvQHRvdGFsX2J1Z3MiIC8+PC90ZD4NCi0gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMSc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AcHJpb3JpdHlfMSIgLz48L3RkPg0KLSAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS0yJz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L0Bwcmlvcml0eV8yIiAvPjwvdGQ+DQotICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LTMnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvQHByaW9yaXR5XzMiIC8+PC90ZD4NCi0gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktNCc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AcHJpb3JpdHlfNCIgLz48L3RkPg0KLSAgICAgICAgICAgICAgIDwvdHI+DQotICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHMiPg0KLSAgICAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBwYWNrYWdlIiBvcmRlcj0iYXNjZW5kaW5nIiAvPg0KLSAgICAgICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iQHRvdGFsX2J1Z3MhPScwJyIgPg0KLSAgICAgICAgICAgICAgICAgICAgIDx0cj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktbmFtZSc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwYWNrYWdlIiAvPjwvdGQ+DQotICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LXNpemUnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdG90YWxfc2l6ZSIgLz48L3RkPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS1hbGwnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdG90YWxfYnVncyIgLz48L3RkPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS0xJz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5XzEiIC8+PC90ZD4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMic+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV8yIiAvPjwvdGQ+DQotICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LTMnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcHJpb3JpdHlfMyIgLz48L3RkPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS00Jz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5XzQiIC8+PC90ZD4NCi0gICAgICAgICAgICAgICAgICAgICA8L3RyPg0KLSAgICAgICAgICAgICAgICAgIDwveHNsOmlmPg0KLSAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPg0KLSAgICAgICAgICAgIDwvdGFibGU+DQotICAgICAgICAgPC9kaXY+DQotDQotICAgICAgICAgPGRpdiBpZD0naW5mb0NvbnRhaW5lcicgICAgICAgICAgICAgY2xhc3M9J2Rpc3BsYXlDb250YWluZXInPg0KLSAgICAgICAgICAgIDxkaXYgaWQ9J2FuYWx5emVkLWZpbGVzJz4NCi0gICAgICAgICAgICAgICA8aDM+QW5hbHl6ZWQgRmlsZXM6PC9oMz4NCi0gICAgICAgICAgICAgICA8dWw+DQotICAgICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL1Byb2plY3QvSmFyIj4NCi0gICAgICAgICAgICAgICAgICAgICA8bGk+PHhzbDphcHBseS10ZW1wbGF0ZXMgLz48L2xpPg0KLSAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPg0KLSAgICAgICAgICAgICAgIDwvdWw+DQotICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgPGRpdiBpZD0ndXNlZC1saWJyYXJpZXMnPg0KLSAgICAgICAgICAgICAgIDxoMz5Vc2VkIExpYnJhcmllczo8L2gzPg0KLSAgICAgICAgICAgICAgIDx1bD4NCi0gICAgICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9BdXhDbGFzc3BhdGhFbnRyeSI+DQotICAgICAgICAgICAgICAgICAgICAgPGxpPjx4c2w6YXBwbHktdGVtcGxhdGVzIC8+PC9saT4NCi0gICAgICAgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4NCi0gICAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL1Byb2plY3QvQXV4Q2xhc3NwYXRoRW50cnkpPTAiID4NCi0gICAgICAgICAgICAgICAgICAgICA8bGk+Tm9uZTwvbGk+DQotICAgICAgICAgICAgICAgICAgPC94c2w6aWY+DQotICAgICAgICAgICAgICAgPC91bD4NCi0gICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICA8ZGl2IGlkPSdhbmFseXNpcy1lcnJvcic+DQotICAgICAgICAgICAgICAgPGgzPkFuYWx5c2lzIEVycm9yczo8L2gzPg0KLSAgICAgICAgICAgICAgIDx1bD4NCi0gICAgICAgICAgICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImVycm9yLWNvdW50Ig0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0PSJjb3VudCgvQnVnQ29sbGVjdGlvbi9FcnJvcnMvTWlzc2luZ0NsYXNzKSIgLz4NCi0gICAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IiRlcnJvci1jb3VudD0wIiA+DQotICAgICAgICAgICAgICAgICAgICAgPGxpPk5vbmU8L2xpPg0KLSAgICAgICAgICAgICAgICAgIDwveHNsOmlmPg0KLSAgICAgICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iJGVycm9yLWNvdW50PjAiID4NCi0gICAgICAgICAgICAgICAgICAgICA8bGk+TWlzc2luZyByZWYgY2xhc3NlcyBmb3IgYW5hbHlzaXM6DQotICAgICAgICAgICAgICAgICAgICAgICAgPHVsPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9FcnJvcnMvTWlzc2luZ0NsYXNzIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHhzbDphcHBseS10ZW1wbGF0ZXMgLz48L2xpPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQotICAgICAgICAgICAgICAgICAgICAgPC9saT4NCi0gICAgICAgICAgICAgICAgICA8L3hzbDppZj4NCi0gICAgICAgICAgICAgICA8L3VsPg0KLSAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgIDxkaXYgaWQ9J2hpc3RvcnlDb250YWluZXInICAgICAgICAgIGNsYXNzPSdkaXNwbGF5Q29udGFpbmVyJz5Mb2FkaW5nLi4uPC9kaXY+DQotICAgICAgICAgPGRpdiBpZD0nbGlzdEJ5Q2F0ZWdvcmllc0NvbnRhaW5lcicgY2xhc3M9J2Rpc3BsYXlDb250YWluZXInPkxvYWRpbmcuLi48L2Rpdj4NCi0gICAgICAgICA8ZGl2IGlkPSdsaXN0QnlQYWNrYWdlc0NvbnRhaW5lcicgICBjbGFzcz0nZGlzcGxheUNvbnRhaW5lcic+TG9hZGluZy4uLjwvZGl2Pg0KLSAgICAgIDwvZGl2Pg0KLQ0KLSAgICAgIDxkaXYgaWQ9J2J1Zy1jb2xsZWN0aW9uJyBzdHlsZT0nZGlzcGxheTpub25lOyc+DQotICAgICAgPCEtLSBhZHZhbmNlZCB0b29sdGlwcyAtLT4NCi0gICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnUGF0dGVybiI+DQotICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJiLXQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlwZSIgLz48L3hzbDp2YXJpYWJsZT4NCi0gICAgICAgICA8ZGl2Pg0KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImlkIj50aXAtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRiLXQiIC8+PC94c2w6YXR0cmlidXRlPg0KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj50aXA8L3hzbDphdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z1BhdHRlcm5bQHR5cGU9JGItdF0vRGV0YWlscyIgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyIgLz4NCi0gICAgICAgICA8L2Rpdj4NCi0gICAgICA8L3hzbDpmb3ItZWFjaD4NCi0NCi0gICAgICA8IS0tIGJ1ZyBkZXNjcmlwdGlvbnMgLSBoaWRkZW4gLS0+DQotICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW25vdChAbGFzdCldIj4NCi0gICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmU7IiBjbGFzcz0nYnVnJz4NCi0gICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJpZCI+Yi11aWQtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpbnN0YW5jZUhhc2giIC8+LTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaW5zdGFuY2VPY2N1cnJlbmNlTnVtIiAvPjwveHNsOmF0dHJpYnV0ZT4NCi0gICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iKi9NZXNzYWdlIj4NCi0gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiLXIiPjx4c2w6YXBwbHktdGVtcGxhdGVzIC8+PC9kaXY+DQotICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+DQotICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYi1kIj4NCi0gICAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iTG9uZ01lc3NhZ2UiIGRpc2FibGUtb3V0cHV0LWVzY2FwaW5nPSJubyIgLz4NCi0gICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICA8L2Rpdj4NCi0gICAgICA8L3hzbDpmb3ItZWFjaD4NCi0gICAgICA8L2Rpdj4NCi0gICA8L2JvZHk+DQotPC9odG1sPg0KLTwveHNsOnRlbXBsYXRlPg0KLQ0KLQ0KLTwveHNsOnRyYW5zZm9ybT4NCi0NCmRpZmYgLS1naXQgYS90b29scy9maW5kYnVncy9zcmMveHNsL2ZhbmN5LnhzbCBiL3Rvb2xzL2ZpbmRidWdzL3NyYy94c2wvZmFuY3kueHNsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmY0M2M1Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL2ZpbmRidWdzL3NyYy94c2wvZmFuY3kueHNsCisrKyAvZGV2L251bGwKQEAgLTEsODQ4ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiA/PgotPCEtLQotICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgRXRpZW5uZSBHaXJhdWR5LCBJblN0cmFuZXQgSW5jCi0KLSAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQotLS0+Ci0KLTx4c2w6dHJhbnNmb3JtIHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiID4KLSAgIDx4c2w6b3V0cHV0Ci0gICAgICAgICBtZXRob2Q9InhtbCIgaW5kZW50PSJ5ZXMiCi0gICAgICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCIKLSAgICAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKLSAgICAgICAgIGVuY29kaW5nPSJVVEYtOCIvPgotCi0gICAgPCEtLQotICAgICAgICBQYXJhbWV0ZXIgZm9yIHNwZWNpZnlpbmcgSFRNTGl6ZWQgc291cmNlcyBsb2NhdGlvbjsgaWYgY3VycmVudCBkaXIsIHVzZSAiLi8iCi0gICAgICAgIElmIG5vdCBwYXNzZWQsIG5vIGxpbmtzIHRvIHNvdXJjZXMgYXJlIGdlbmVyYXRlZC4KLSAgICAgICAgYmVjYXVzZSBvZiBiYWNrLWNvbXBhdGliaWxpdHkgcmVhc29ucy4KLSAgICAgICAgVGhlIHNvdXJjZSBmaWxlbmFtZSBzaG91bGQgYmUgcGFja2FnZS5jbGFzcy5qYXZhLmh0bWwKLSAgICAgICAgVGhlIHNvdXJjZSBjYW4gaGF2ZSBsaW5lIG5vIGFuY2hvcnMgbGlrZSAjMTEgLS0+Ci0gICAgPHhzbDpwYXJhbSBuYW1lPSJodG1sc3JjcGF0aCI+PC94c2w6cGFyYW0+Ci0KLSAgIDwhLS14c2w6a2V5IG5hbWU9ImxiYy1jYXRlZ29yeS1rZXkiICAgIG1hdGNoPSIvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZSIgdXNlPSJAY2F0ZWdvcnkiIC8tLT4KLSAgIDx4c2w6a2V5IG5hbWU9ImxiYy1jb2RlLWtleSIgICAgICAgIG1hdGNoPSIvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZSIgdXNlPSJjb25jYXQoQGNhdGVnb3J5LEBhYmJyZXYpIiAvPgotICAgPHhzbDprZXkgbmFtZT0ibGJjLWJ1Zy1rZXkiICAgICAgICAgbWF0Y2g9Ii9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlIiB1c2U9ImNvbmNhdChAY2F0ZWdvcnksQGFiYnJldixAdHlwZSkiIC8+Ci0gICA8eHNsOmtleSBuYW1lPSJsYnAtY2xhc3MtYi10IiAgbWF0Y2g9Ii9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlIiB1c2U9ImNvbmNhdChDbGFzcy9AY2xhc3NuYW1lLEB0eXBlKSIgLz4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyIgPgotCi08aHRtbD4KLSAgIDxoZWFkPgotICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KLSAgICAgIDx0aXRsZT4KLSAgICAgICAgRmluZEJ1Z3MgKDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9AdmVyc2lvbiIgLz4pCi0gICAgICAgICBBbmFseXNpcyBmb3IKLSAgICAgICAgIDx4c2w6Y2hvb3NlPgotICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9J3N0cmluZy1sZW5ndGgoL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AcHJvamVjdE5hbWUpPjAnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9Qcm9qZWN0L0Bwcm9qZWN0TmFtZSIgLz48L3hzbDp3aGVuPgotICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL1Byb2plY3QvQGZpbGVuYW1lIiAvPjwveHNsOm90aGVyd2lzZT4KLSAgICAgICAgIDwveHNsOmNob29zZT4KLSAgICAgIDwvdGl0bGU+Ci0gICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgICBmdW5jdGlvbiBzaG93KGZvbykgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZm9vKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7Ci0gICAgICAgICB9Ci0gICAgICAgICBmdW5jdGlvbiBoaWRlKGZvbykgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZm9vKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKLSAgICAgICAgIH0KLSAgICAgICAgIGZ1bmN0aW9uIHRvZ2dsZShmb28pIHsKLSAgICAgICAgICAgIGlmKCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb28pLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiKSB7Ci0gICAgICAgICAgICAgICBzaG93KGZvbyk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgaWYoIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZvbykuc3R5bGUuZGlzcGxheSA9PSAiYmxvY2siKSB7Ci0gICAgICAgICAgICAgICAgICBoaWRlKGZvbyk7Ci0gICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgc2hvdyhmb28pOwotICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgfQotCi0gICAgICAgICBmdW5jdGlvbiBzaG93bWVudShmb28pIHsKLSAgICAgICAgICAgIGlmKCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb28pLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiKSB7Ci0gICAgICAgICAgICAgICBoaWRlKCJidWctc3VtbWFyeSIpOwotICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1Zy1zdW1tYXJ5LXRhYiIpLmNsYXNzTmFtZT0ibWVudS10YWIiOwotICAgICAgICAgICAgICAgaGlkZSgiYW5hbHlzaXMtZGF0YSIpOwotICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuYWx5c2lzLWRhdGEtdGFiIikuY2xhc3NOYW1lPSJtZW51LXRhYiI7Ci0gICAgICAgICAgICAgICAvL2hpZGUoImxpc3QtYnktYi10Iik7Ci0gICAgICAgICAgICAgICAvL2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaXN0LWJ5LWItdC10YWIiKS5jbGFzc05hbWU9Im1lbnUtdGFiIjsKLSAgICAgICAgICAgICAgIGhpZGUoImxpc3QtYnktcGFja2FnZSIpOwotICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpc3QtYnktcGFja2FnZS10YWIiKS5jbGFzc05hbWU9Im1lbnUtdGFiIjsKLSAgICAgICAgICAgICAgIGhpZGUoImxpc3QtYnktY2F0ZWdvcnkiKTsKLSAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaXN0LWJ5LWNhdGVnb3J5LXRhYiIpLmNsYXNzTmFtZT0ibWVudS10YWIiOwotICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZm9vKyItdGFiIikuY2xhc3NOYW1lPSJtZW51LXRhYi1zZWxlY3RlZCI7Ci0gICAgICAgICAgICAgICBzaG93KGZvbyk7Ci0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8vIGVsc2UgbWVudSBhbHJlYWR5IHNlbGVjdGVkIQotICAgICAgICAgfQotICAgICAgICAgZnVuY3Rpb24gc2hvd2J1ZyhidWd1aWQsIGxpc3QpIHsKLSAgICAgICAgICAgIHZhciBidWdwbGFjZWhvbGRlciAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYnVndWlkKyctcGgtJytsaXN0KTsKLSAgICAgICAgICAgIHZhciBidWcgICAgICAgICAgICAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYnVndWlkKTsKLQotICAgICAgICAgICAgaWYgKCBidWdwbGFjZWhvbGRlcj09bnVsbCkgewotICAgICAgICAgICAgICAgYWxlcnQoYnVndWlkKyctcGgtJytsaXN0KycgLSAnK2J1Z3VpZCsnIC0gYnVncGxhY2Vob2xkZXI9PW51bGwnKTsKLSAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICggYnVnPT1udWxsKSB7Ci0gICAgICAgICAgICAgICBhbGVydChidWd1aWQrJy1waC0nK2xpc3QrJyAtICcrYnVndWlkKycgLSBidWc9PW51bGwnKTsKLSAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdmFyIG9sZEJ1ZyA9IGJ1Z3BsYWNlaG9sZGVyLmlubmVySFRNTDsKLSAgICAgICAgICAgIHZhciBuZXdCdWcgPSBidWcuaW5uZXJIVE1MOwotICAgICAgICAgICAgLy9hbGVydChvbGRCdWcpOwotICAgICAgICAgICAgLy9hbGVydChuZXdCdWcpOwotICAgICAgICAgICAgdG9nZ2xlKGJ1Z3VpZCsnLXBoLScrbGlzdCk7Ci0gICAgICAgICAgICBidWdwbGFjZWhvbGRlci5pbm5lckhUTUwgPSBuZXdCdWc7Ci0gICAgICAgICB9Ci0gICAgICA8L3NjcmlwdD4KLSAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz48eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9J3llcyc+Ci0gICAgIC8qIDwhW0NEQVRBWyAqLwotICAgICAgICAgLy8gRXh0ZW5kZWQgVG9vbHRpcCBKYXZhc2NyaXB0Ci0gICAgICAgICAvLyBjb3B5cmlnaHQgOXRoIEF1Z3VzdCAyMDAyLCAzcmQgSnVseSAyMDA1Ci0gICAgICAgICAvLyBieSBTdGVwaGVuIENoYXBtYW4sIEZlbGdhbGwgUHR5IEx0ZAotCi0gICAgICAgICAvLyBwZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gdXNlIHRoaXMgamF2YXNjcmlwdCBwcm92aWRlZCB0aGF0IHRoZSBiZWxvdyBjb2RlIGlzIG5vdCBhbHRlcmVkCi0gICAgICAgICB2YXIgREggPSAwO3ZhciBhbiA9IDA7dmFyIGFsID0gMDt2YXIgYWkgPSAwO2lmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCkge2FpID0gMTsgREggPSAxO31lbHNlIHtpZiAoZG9jdW1lbnQuYWxsKSB7YWwgPSAxOyBESCA9IDE7fSBlbHNlIHsgYnJvd3NlclZlcnNpb24gPSBwYXJzZUludChuYXZpZ2F0b3IuYXBwVmVyc2lvbik7IGlmIChuYXZpZ2F0b3IuYXBwTmFtZS5pbmRleE9mKCdOZXRzY2FwZScpICE9IC0xKSBpZiAoYnJvd3NlclZlcnNpb24gPT0gNCkge2FuID0gMTsgREggPSAxO319fQotICAgICAgICAgZnVuY3Rpb24gZmQob2ksIHdTKSB7aWYgKGFpKSByZXR1cm4gd1MgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvaSkuc3R5bGU6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob2kpOyBpZiAoYWwpIHJldHVybiB3UyA/IGRvY3VtZW50LmFsbFtvaV0uc3R5bGU6IGRvY3VtZW50LmFsbFtvaV07IGlmIChhbikgcmV0dXJuIGRvY3VtZW50LmxheWVyc1tvaV07fQotICAgICAgICAgZnVuY3Rpb24gcHcoKSB7cmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoICE9IG51bGw/IHdpbmRvdy5pbm5lcldpZHRoOiBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoICE9IG51bGw/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg6bnVsbDt9Ci0gICAgICAgICBmdW5jdGlvbiBtb3VzZVgoZXZ0KSB7aWYgKGV2dC5wYWdlWCkgcmV0dXJuIGV2dC5wYWdlWDsgZWxzZSBpZiAoZXZ0LmNsaWVudFgpcmV0dXJuIGV2dC5jbGllbnRYICsgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0ID8gIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IDogZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KTsgZWxzZSByZXR1cm4gbnVsbDt9Ci0gICAgICAgICBmdW5jdGlvbiBtb3VzZVkoZXZ0KSB7aWYgKGV2dC5wYWdlWSkgcmV0dXJuIGV2dC5wYWdlWTsgZWxzZSBpZiAoZXZ0LmNsaWVudFkpcmV0dXJuIGV2dC5jbGllbnRZICsgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApOyBlbHNlIHJldHVybiBudWxsO30KLSAgICAgICAgIGZ1bmN0aW9uIHBvcFVwKGV2dCxvaSkge2lmIChESCkge3ZhciB3cCA9IHB3KCk7IGRzID0gZmQob2ksMSk7IGRtID0gZmQob2ksMCk7IHN0ID0gZHMudmlzaWJpbGl0eTsgaWYgKGRtLm9mZnNldFdpZHRoKSBldyA9IGRtLm9mZnNldFdpZHRoOyBlbHNlIGlmIChkbS5jbGlwLndpZHRoKSBldyA9IGRtLmNsaXAud2lkdGg7IGlmIChzdCA9PSAidmlzaWJsZSIgfHwgc3QgPT0gInNob3ciKSB7IGRzLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsgfSBlbHNlIHt0diA9IG1vdXNlWShldnQpICsgMjA7IGx2ID0gbW91c2VYKGV2dCkgLSAoZXcvNCk7IGlmIChsdiA8IDIpIGx2ID0gMjsgZWxzZSBpZiAobHYgKyBldyA+IHdwKSBsdiAtPSBldy8yOyBpZiAoIWFuKSB7bHYgKz0gJ3B4Jzt0diArPSAncHgnO30gZHMubGVmdCA9IGx2OyBkcy50b3AgPSB0djsgZHMudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjt9fX0KLSAgLyogXV0+ICovCi08L3hzbDp0ZXh0Pjwvc2NyaXB0PgotICAgICAgPHN0eWxlIHR5cGU9J3RleHQvY3NzJz4KLSAgICAgICAgIGh0bWwsIGJvZHkgewotICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKLSAgICAgICAgIH0KLSAgICAgICAgIGEsIGE6bGluayAsIGE6YWN0aXZlLCBhOnZpc2l0ZWQsIGE6aG92ZXIgewotICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogYmxhY2s7Ci0gICAgICAgICB9Ci0gICAgICAgICAuYi1yIGEgewotICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IGNvbG9yOiBibHVlOwotICAgICAgICAgfQotICAgICAgICAgZGl2LCBzcGFuIHsKLSAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Ci0gICAgICAgICB9Ci0gICAgICAgICBwIHsKLSAgICAgICAgICAgIG1hcmdpbjogMHB4OwotICAgICAgICAgfQotICAgICAgICAgaDEgewotICAgICAgICAgICAgLypmb250LXNpemU6IDE0cHQ7Ki8KLSAgICAgICAgICAgIGNvbG9yOiByZWQ7Ci0gICAgICAgICB9Ci0gICAgICAgICAjbWVudSB7Ci0gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwotICAgICAgICAgfQotICAgICAgICAgI21lbnUgdWwgewotICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7Ci0gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ci0gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7Ci0gICAgICAgICB9Ci0gICAgICAgICAjbWVudSB1bCBsaSB7Ci0gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsKLSAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7Ci0gICAgICAgICAgICBwYWRkaW5nOiAycHggMTVweCA1cHg7Ci0gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOwotICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsKLSAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsKLSAgICAgICAgIH0KLSAgICAgICAgICNtZW51IHVsIGxpLmhlcmUgewotICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmM7Ci0gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOwotICAgICAgICAgICAgZGlzcGxheTogaW5saW5lOwotICAgICAgICAgfQotICAgICAgICAgLm1lbnUtdGFiIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwotICAgICAgICAgfQotICAgICAgICAgLm1lbnUtdGFiOmhvdmVyIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6IGdyZXk7Ci0gICAgICAgICB9Ci0gICAgICAgICAubWVudS10YWItc2VsZWN0ZWQgewotICAgICAgICAgICAgYmFja2dyb3VuZDogI2FhYWFhYTsKLSAgICAgICAgIH0KLSAgICAgICAgICNhbmFseXNpcy1kYXRhIHVsIHsKLSAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OwotICAgICAgICAgfQotICAgICAgICAgI2FuYWx5emVkLWZpbGVzLCAjdXNlZC1saWJyYXJpZXMsICNhbmFseXNpcy1lcnJvciB7Ci0gICAgICAgICAgIG1hcmdpbjogMnB4OwotICAgICAgICAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDsKLSAgICAgICAgICAgcGFkZGluZzogMnB4OwotICAgICAgICAgICBmbG9hdDogbGVmdDsKLSAgICAgICAgICAgb3ZlcmZsb3c6YXV0bzsKLSAgICAgICAgIH0KLSAgICAgICAgICNhbmFseXplZC1maWxlcyB7Ci0gICAgICAgICAgIHdpZHRoOiAyNSU7Ci0gICAgICAgICB9Ci0gICAgICAgICAjdXNlZC1saWJyYXJpZXMgewotICAgICAgICAgICB3aWR0aDogMjUlOwotICAgICAgICAgfQotICAgICAgICAgI2FuYWx5c2lzLWVycm9yIHsKLSAgICAgICAgICAgd2lkdGg6IDQwJTsKLSAgICAgICAgIH0KLSAgICAgICAgIGRpdi5zdW1tYXJ5IHsKLSAgICAgICAgICAgIHdpZHRoOjEwMCU7Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7Ci0gICAgICAgICB9Ci0gICAgICAgICAuc3VtbWFyeSB0YWJsZSB7Ci0gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIGJsYWNrOwotICAgICAgICAgfQotICAgICAgICAgLnN1bW1hcnkgdGggewotICAgICAgICAgICAgYmFja2dyb3VuZDogI2FhYWFhYTsKLSAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKLSAgICAgICAgIH0KLSAgICAgICAgIC5zdW1tYXJ5IHRoLCAuc3VtbWFyeSB0ZCB7Ci0gICAgICAgICAgICBwYWRkaW5nOiAycHggNHB4IDJweCA0cHg7Ci0gICAgICAgICB9Ci0gICAgICAgICAuc3VtbWFyeS1uYW1lIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7Ci0gICAgICAgICB9Ci0gICAgICAgICAuc3VtbWFyeS1zaXplIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKLSAgICAgICAgIH0KLSAgICAgICAgIC5zdW1tYXJ5LXJhdGlvIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKLSAgICAgICAgIH0KLSAgICAgICAgIC5zdW1tYXJ5LXByaW9yaXR5LWFsbCB7Ci0gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZGRkZGRkOwotICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7Ci0gICAgICAgICB9Ci0gICAgICAgICAuc3VtbWFyeS1wcmlvcml0eS0xIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKLSAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyOwotICAgICAgICAgfQotICAgICAgICAgLnN1bW1hcnktcHJpb3JpdHktMiB7Ci0gICAgICAgICAgICBiYWNrZ3JvdW5kOiBvcmFuZ2U7Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKLSAgICAgICAgIH0KLSAgICAgICAgIC5zdW1tYXJ5LXByaW9yaXR5LTMgewotICAgICAgICAgICAgYmFja2dyb3VuZDogZ3JlZW47Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKLSAgICAgICAgIH0KLSAgICAgICAgIC5zdW1tYXJ5LXByaW9yaXR5LTQgewotICAgICAgICAgICAgYmFja2dyb3VuZDogYmx1ZTsKLSAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyOwotICAgICAgICAgfQotICAgICAgICAgLm9iIHsKLSAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwotICAgICAgICAgICAgbWFyZ2luOiAxMHB4OwotICAgICAgICAgfQotICAgICAgICAgLm9iLXQgewotICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IGZvbnQtc2l6ZTogMTJwdDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ci0gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjY2NjOyBtYXJnaW46IDA7IHBhZGRpbmc6IDAgNXB4IDAgNXB4OwotICAgICAgICAgfQotICAgICAgICAgLnQtaCB7Ci0gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwotICAgICAgICAgfQotICAgICAgICAgLmliLTEsIC5pYi0yIHsKLSAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDsKLSAgICAgICAgIH0KLSAgICAgICAgIC5pYi0xLXQsIC5pYi0yLXQgewotICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDAwMDsKLSAgICAgICAgICAgIG1hcmdpbjogMDsgcGFkZGluZzogMCA1cHggMCA1cHg7Ci0gICAgICAgICAgICBmb250LXNpemU6IDEycHQ7IGZvbnQtd2VpZ2h0OiBib2xkOyBiYWNrZ3JvdW5kOiAjY2NjY2NjOwotICAgICAgICAgfQotICAgICAgICAgLmJiIHsKLSAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwOyBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDAwMDA7Ci0gICAgICAgICB9Ci0gICAgICAgICAuYi0xIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6IHJlZDsgaGVpZ2h0OiAwLjVlbTsgd2lkdGg6IDFlbTsKLSAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07Ci0gICAgICAgICB9Ci0gICAgICAgICAuYi0yIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6IG9yYW5nZTsgaGVpZ2h0OiAwLjVlbTsgd2lkdGg6IDFlbTsKLSAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07Ci0gICAgICAgICB9Ci0gICAgICAgICAuYi0zIHsKLSAgICAgICAgICAgIGJhY2tncm91bmQ6IGdyZWVuOyBoZWlnaHQ6IDAuNWVtOyB3aWR0aDogMWVtOwotICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsKLSAgICAgICAgIH0KLSAgICAgICAgIC5iLTQgewotICAgICAgICAgICAgYmFja2dyb3VuZDogYmx1ZTsgaGVpZ2h0OiAwLjVlbTsgd2lkdGg6IDFlbTsKLSAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07Ci0gICAgICAgICB9Ci0gICAgICAgICAuYi10IHsKLSAgICAgICAgIH0KLSAgICAgICAgIC5iLXIgewotICAgICAgICAgICAgZm9udC1zaXplOiAxMHB0OyBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMCAwIDAgNjBweDsKLSAgICAgICAgIH0KLSAgICAgICAgIC5iLWQgewotICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgYmFja2dyb3VuZDogI2VlZWVlMDsKLSAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgNXB4OyBtYXJnaW46IDBweDsKLSAgICAgICAgIH0KLSAgICAgICAgIC5idWctcGxhY2Vob2xkZXIgewotICAgICAgICAgICAgdG9wOjE0MHB4OwotICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBibGFjazsKLSAgICAgICAgICAgIGRpc3BsYXk6bm9uZTsKLSAgICAgICAgIH0KLSAgICAgICAgIC50aXAgewotICAgICAgICAgICAgYm9yZGVyOnNvbGlkIDFweCAjNjY2NjY2OwotICAgICAgICAgICAgd2lkdGg6NjAwcHg7Ci0gICAgICAgICAgICBwYWRkaW5nOjNweDsKLSAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwotICAgICAgICAgICAgei1pbmRleDoxMDA7Ci0gICAgICAgICAgICB2aXNpYmlsaXR5OmhpZGRlbjsKLSAgICAgICAgICAgIGNvbG9yOiMzMzMzMzM7Ci0gICAgICAgICAgICB0b3A6MjBweDsKLSAgICAgICAgICAgIGxlZnQ6OTBweDsKLSAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZmZjYzsKLSAgICAgICAgICAgIGxheWVyLWJhY2tncm91bmQtY29sb3I6I2ZmZmZjYzsKLSAgICAgICAgIH0KLQotCi0gICAgICA8L3N0eWxlPgotICAgPC9oZWFkPgotICAgPGJvZHk+Ci0gICA8ZGl2IGlkPSdjb250ZW50Jz4KLSAgICAgIDxoMT4KLSAgICAgICAgIEZpbmRCdWdzICg8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQHZlcnNpb24iIC8+KQotICAgICAgICAgQW5hbHlzaXMgZm9yCi0gICAgICAgICA8eHNsOmNob29zZT4KLSAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSdzdHJpbmctbGVuZ3RoKC9CdWdDb2xsZWN0aW9uL1Byb2plY3QvQHByb2plY3ROYW1lKT4wJz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AcHJvamVjdE5hbWUiIC8+PC94c2w6d2hlbj4KLSAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9Qcm9qZWN0L0BmaWxlbmFtZSIgLz48L3hzbDpvdGhlcndpc2U+Ci0gICAgICAgICA8L3hzbDpjaG9vc2U+Ci0gICAgICA8L2gxPgotICAgICAgPGRpdiBpZD0ibWVudSI+Ci0gICAgICAgICA8dWw+Ci0gICAgICAgICAgICA8bGkgaWQ9J2J1Zy1zdW1tYXJ5LXRhYicgY2xhc3M9J21lbnUtdGFiLXNlbGVjdGVkJz4KLSAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im9uY2xpY2siPnNob3dtZW51KCdidWctc3VtbWFyeScpO3JldHVybiBmYWxzZTs8L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICAgICA8YSBocmVmPScnIG9uY2xpY2s9J3JldHVybiBmYWxzZTsnPkJ1ZyBTdW1tYXJ5PC9hPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgIDxsaSBpZD0nYW5hbHlzaXMtZGF0YS10YWInIGNsYXNzPSdtZW51LXRhYic+Ci0gICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJvbmNsaWNrIj5zaG93bWVudSgnYW5hbHlzaXMtZGF0YScpO3JldHVybiBmYWxzZTs8L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICAgICA8YSBocmVmPScnIG9uY2xpY2s9J3JldHVybiBmYWxzZTsnPkFuYWx5c2lzIEluZm9ybWF0aW9uPC9hPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgIDxsaSBpZD0nbGlzdC1ieS1jYXRlZ29yeS10YWInIGNsYXNzPSdtZW51LXRhYic+Ci0gICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJvbmNsaWNrIj5zaG93bWVudSgnbGlzdC1ieS1jYXRlZ29yeScpO3JldHVybiBmYWxzZTs8L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICAgICA8YSBocmVmPScnIG9uY2xpY2s9J3JldHVybiBmYWxzZTsnPkxpc3QgYnVncyBieSBidWcgY2F0ZWdvcnk8L2E+Ci0gICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgPGxpIGlkPSdsaXN0LWJ5LXBhY2thZ2UtdGFiJyBjbGFzcz0nbWVudS10YWInPgotICAgICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ib25jbGljayI+c2hvd21lbnUoJ2xpc3QtYnktcGFja2FnZScpO3JldHVybiBmYWxzZTs8L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICAgICA8YSBocmVmPScnIG9uY2xpY2s9J3JldHVybiBmYWxzZTsnPkxpc3QgYnVncyBieSBwYWNrYWdlPC9hPgotICAgICAgICAgICAgPC9saT4KLSAgICAgICAgIDwvdWw+Ci0gICAgICA8L2Rpdj4KLSAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJnZW5lcmF0ZVN1bW1hcnkiIC8+Ci0gICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYW5hbHlzaXMtZGF0YSIgLz4KLSAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJsaXN0LWJ5LWNhdGVnb3J5IiAvPgotICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9Imxpc3QtYnktcGFja2FnZSIgLz4KLQotCi0gICAgICA8IS0tIGFkdmFuY2VkIHRvb2x0aXBzIC0tPgotICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z1BhdHRlcm4iPgotICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJiLXQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlwZSIgLz48L3hzbDp2YXJpYWJsZT4KLSAgICAgICAgIDxkaXY+Ci0gICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJpZCI+dGlwLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkYi10IiAvPjwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj50aXA8L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICA8Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGFiYnJldiIgLz4gLyA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHR5cGUiIC8+PC9iPjxici8+Ci0gICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnUGF0dGVybltAdHlwZT0kYi10XS9EZXRhaWxzIiBkaXNhYmxlLW91dHB1dC1lc2NhcGluZz0ieWVzIiAvPgotICAgICAgICAgPC9kaXY+Ci0gICAgICA8L3hzbDpmb3ItZWFjaD4KLQotICAgICAgPCEtLSBidWcgZGVzY3JpcHRpb25zIC0gaGlkZGVuIC0tPgotICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW25vdChAbGFzdCldIj4KLSAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgotICAgICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaWQiPmItdWlkLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaW5zdGFuY2VIYXNoIiAvPi08eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGluc3RhbmNlT2NjdXJyZW5jZU51bSIgLz48L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iKi9NZXNzYWdlIj4KLSAgICAgICAgICAgICAgICAgICA8eHNsOmNob29zZT4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9InBhcmVudDo6U291cmNlTGluZSBhbmQgJGh0bWxzcmNwYXRoICE9ICcnICI+Ci0gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYi1yIj48YT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkaHRtbHNyY3BhdGgiLz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vQHNvdXJjZXBhdGgiIC8+Lmh0bWwjPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4uL0BzdGFydCIgLz48L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyAvPgotICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYi1yIj48eHNsOmFwcGx5LXRlbXBsYXRlcyAvPjwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8L3hzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICAgICAgICAgPC94c2w6Y2hvb3NlPgotICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiLWQiPgotICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkxvbmdNZXNzYWdlIiBkaXNhYmxlLW91dHB1dC1lc2NhcGluZz0ibm8iIC8+Ci0gICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICA8L2Rpdj4KLSAgIDxkaXYgaWQ9J2ZpeGVkYm94Jz4KLSAgICAgIDxkaXYgaWQ9J2J1Zy1wbGFjZWhvbGRlcic+PC9kaXY+Ci0gICA8L2Rpdj4KLSAgIDwvYm9keT4KLTwvaHRtbD4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+IC0tPgotPCEtLSBnZW5lcmF0ZSBzdW1tYXJ5IHJlcG9ydCBmcm9tIHN0YXRzIC0tPgotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJnZW5lcmF0ZVN1bW1hcnkiID4KLTxkaXYgY2xhc3M9J3N1bW1hcnknIGlkPSdidWctc3VtbWFyeSc+Ci0gICA8aDI+RmluZEJ1Z3MgQW5hbHlzaXMgZ2VuZXJhdGVkIGF0OiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L0B0aW1lc3RhbXAiIC8+PC9oMj4KLSAgIDx0YWJsZT4KLSAgICAgIDx0cj4KLSAgICAgICAgIDx0aD5QYWNrYWdlPC90aD4KLSAgICAgICAgIDx0aD5Db2RlIFNpemU8L3RoPgotICAgICAgICAgPHRoPkJ1Z3M8L3RoPgotICAgICAgICAgPHRoPkhpZ2ggUHJpbyBCdWdzPC90aD4KLSAgICAgICAgIDx0aD5NZWRpdW0gUHJpbyBCdWdzPC90aD4KLSAgICAgICAgIDx0aD5Mb3cgUHJpbyBCdWdzPC90aD4KLSAgICAgICAgIDx0aD5FeHAuIEJ1Z3M8L3RoPgotICAgICAgICAgPHRoPlJhdGlvPC90aD4KLSAgICAgIDwvdHI+Ci0gICAgICA8dHI+Ci0gICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktbmFtZSc+Ci0gICAgICAgICAgICBPdmVyYWxsCi0gICAgICAgICAgICAoPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AbnVtX3BhY2thZ2VzIiAvPiBwYWNrYWdlcyksCi0gICAgICAgICAgICAoPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AdG90YWxfY2xhc3NlcyIgLz4gY2xhc3NlcykKLSAgICAgICAgIDwvdGQ+Ci0gICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktc2l6ZSc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AdG90YWxfc2l6ZSIgLz48L3RkPgotICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LWFsbCc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AdG90YWxfYnVncyIgLz48L3RkPgotICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LTEnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvQHByaW9yaXR5XzEiIC8+PC90ZD4KLSAgICAgICAgIDx0ZCBjbGFzcz0nc3VtbWFyeS1wcmlvcml0eS0yJz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L0Bwcmlvcml0eV8yIiAvPjwvdGQ+Ci0gICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMyc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9AcHJpb3JpdHlfMyIgLz48L3RkPgotICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LTQnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvQHByaW9yaXR5XzQiIC8+PC90ZD4KLSAgICAgICAgIDx0ZCBjbGFzcz0nc3VtbWFyeS1yYXRpbyc+PC90ZD4KLSAgICAgIDwvdHI+Ci0gICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0cyI+Ci0gICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAcGFja2FnZSIgLz4KLSAgICAgICAgIDx4c2w6aWYgdGVzdD0iQHRvdGFsX2J1Z3MhPScwJyIgPgotICAgICAgICAgICAgPHRyPgotICAgICAgICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LW5hbWUnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcGFja2FnZSIgLz48L3RkPgotICAgICAgICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LXNpemUnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdG90YWxfc2l6ZSIgLz48L3RkPgotICAgICAgICAgICAgICAgPHRkIGNsYXNzPSdzdW1tYXJ5LXByaW9yaXR5LWFsbCc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB0b3RhbF9idWdzIiAvPjwvdGQ+Ci0gICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMSc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV8xIiAvPjwvdGQ+Ci0gICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMic+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV8yIiAvPjwvdGQ+Ci0gICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktMyc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV8zIiAvPjwvdGQ+Ci0gICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcHJpb3JpdHktNCc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eV80IiAvPjwvdGQ+Ci0gICAgICAgICAgICAgICA8dGQgY2xhc3M9J3N1bW1hcnktcmF0aW8nPjwvdGQ+Ci08IS0tCi0gICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iQ2xhc3NTdGF0cyI+Ci0gICAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBidWdzIT0nMCciID4KLSAgICAgICAgICAgICAgICAgIDxsaT4KLSAgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAY2xhc3MiIC8+IC0gdG90YWw6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAYnVncyIgLz4KLSAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotLS0+Ci0gICAgICAgICAgICA8L3RyPgotICAgICAgICAgPC94c2w6aWY+Ci0gICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgIDwvdGFibGU+Ci08L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08IS0tIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+IC0tPgotPCEtLSBkaXNwbGF5IGFuYWx5c2lzIGluZm8gLS0+Ci08eHNsOnRlbXBsYXRlIG5hbWU9ImFuYWx5c2lzLWRhdGEiPgotICAgICAgPGRpdiBpZD0nYW5hbHlzaXMtZGF0YScgc3R5bGU9J2Rpc3BsYXk6bm9uZTsnPgotICAgICAgICAgPGRpdiBpZD0nYW5hbHl6ZWQtZmlsZXMnPgotICAgICAgICAgICAgPGgzPkFuYWx5emVkIEZpbGVzOjwvaDM+Ci0gICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9KYXIiPgotICAgICAgICAgICAgICAgICAgPGxpPjx4c2w6YXBwbHktdGVtcGxhdGVzIC8+PC9saT4KLSAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAgICAgICAgPC91bD4KLSAgICAgICAgIDwvZGl2PgotICAgICAgICAgPGRpdiBpZD0ndXNlZC1saWJyYXJpZXMnPgotICAgICAgICAgICAgPGgzPlVzZWQgTGlicmFyaWVzOjwvaDM+Ci0gICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9BdXhDbGFzc3BhdGhFbnRyeSI+Ci0gICAgICAgICAgICAgICAgICA8bGk+PHhzbDphcHBseS10ZW1wbGF0ZXMgLz48L2xpPgotICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL1Byb2plY3QvQXV4Q2xhc3NwYXRoRW50cnkpPTAiID4KLSAgICAgICAgICAgICAgICAgIDxsaT5Ob25lPC9saT4KLSAgICAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgPC91bD4KLSAgICAgICAgIDwvZGl2PgotICAgICAgICAgPGRpdiBpZD0nYW5hbHlzaXMtZXJyb3InPgotICAgICAgICAgICAgPGgzPkFuYWx5c2lzIEVycm9yczo8L2gzPgotICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJlcnJvci1jb3VudCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0PSJjb3VudCgvQnVnQ29sbGVjdGlvbi9FcnJvcnMvTWlzc2luZ0NsYXNzKSIgLz4KLSAgICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iJGVycm9yLWNvdW50PTAiID4KLSAgICAgICAgICAgICAgICAgIDxsaT5Ob25lPC9saT4KLSAgICAgICAgICAgICAgIDwveHNsOmlmPgotICAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSIkZXJyb3ItY291bnQ+MCIgPgotICAgICAgICAgICAgICAgICAgPGxpPk1pc3NpbmcgcmVmIGNsYXNzZXMgZm9yIGFuYWx5c2lzOgotICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0Vycm9ycy9NaXNzaW5nQ2xhc3MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjx4c2w6YXBwbHktdGVtcGxhdGVzIC8+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICA8L3hzbDppZj4KLSAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICA8L2Rpdj4KLSAgICAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS0gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4gLS0+Ci08IS0tIHNob3cgcHJpb3JpdGllcyBoZWxwZXIgLS0+Ci08eHNsOnRlbXBsYXRlIG5hbWU9ImhlbHBQcmlvcml0aWVzIj4KLSAgIDxzcGFuPgotICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPmItMTwveHNsOmF0dHJpYnV0ZT4KLSAgICAgIDx4c2w6dGV4dCBkaXNhYmxlLW91dHB1dC1lc2NhcGluZz0ieWVzIj4mYW1wO25ic3A7JmFtcDtuYnNwOzwveHNsOnRleHQ+Ci0gICA8L3NwYW4+IEhpZ2ggUHJpbwotICAgPHNwYW4+Ci0gICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+Yi0yPC94c2w6YXR0cmlidXRlPgotICAgICAgPHhzbDp0ZXh0IGRpc2FibGUtb3V0cHV0LWVzY2FwaW5nPSJ5ZXMiPiZhbXA7bmJzcDsmYW1wO25ic3A7PC94c2w6dGV4dD4KLSAgIDwvc3Bhbj4gTWVkaXVtIFByaW8KLSAgIDxzcGFuPgotICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPmItMzwveHNsOmF0dHJpYnV0ZT4KLSAgICAgIDx4c2w6dGV4dCBkaXNhYmxlLW91dHB1dC1lc2NhcGluZz0ieWVzIj4mYW1wO25ic3A7JmFtcDtuYnNwOzwveHNsOnRleHQ+Ci0gICA8L3NwYW4+IExvdyBQcmlvCi0gICA8c3Bhbj4KLSAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj5iLTQ8L3hzbDphdHRyaWJ1dGU+Ci0gICAgICA8eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDs8L3hzbDp0ZXh0PgotICAgPC9zcGFuPiBFeHAuCi08L3hzbDp0ZW1wbGF0ZT4KLQotPCEtLSB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fiAtLT4KLTwhLS0gZGlzcGxheSB0aGUgZGV0YWlscyBvZiBhIGJ1ZyAtLT4KLTx4c2w6dGVtcGxhdGUgbmFtZT0iZGlzcGxheS1idWciID4KLSAgIDx4c2w6cGFyYW0gbmFtZT0iYi10IiAgICBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDpwYXJhbSBuYW1lPSJidWctaWQiICAgICAgc2VsZWN0PSInJyIgLz4KLSAgIDx4c2w6cGFyYW0gbmFtZT0id2hpY2gtbGlzdCIgIHNlbGVjdD0iJyciIC8+Ci0gICA8ZGl2IGNsYXNzPSJiYiI+Ci0gICAgICA8YT4KLSAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPjwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im9uY2xpY2siPnNob3didWcoJ2ItdWlkLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaW5zdGFuY2VIYXNoIiAvPi08eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGluc3RhbmNlT2NjdXJyZW5jZU51bSIgLz4nLCc8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHdoaWNoLWxpc3QiIC8+Jyk7cmV0dXJuIGZhbHNlOzwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgIDxzcGFuPgotICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPmItPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwcmlvcml0eSIvPjwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgICAgIDx4c2w6dGV4dCBkaXNhYmxlLW91dHB1dC1lc2NhcGluZz0ieWVzIj4mYW1wO25ic3A7JmFtcDtuYnNwOzwveHNsOnRleHQ+Ci0gICAgICAgICA8L3NwYW4+Ci0gICAgICAgICA8c3BhbiBjbGFzcz0iYi10Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGFiYnJldiIgLz46IDwvc3Bhbj4gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkNsYXNzL01lc3NhZ2UiIC8+Ci0gICAgICA8L2E+Ci0gICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KLSAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImlkIj5iLXVpZC08eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGluc3RhbmNlSGFzaCIgLz4tPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpbnN0YW5jZU9jY3VycmVuY2VOdW0iIC8+LXBoLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkd2hpY2gtbGlzdCIgLz48L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICBsb2FkaW5nLi4uCi0gICAgICA8L2Rpdj4KLSAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS0gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4gLS0+Ci08IS0tIG1haW4gdGVtcGxhdGUgZm9yIHRoZSBsaXN0IGJ5IGNhdGVnb3J5IC0tPgotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJsaXN0LWJ5LWNhdGVnb3J5IiA+Ci0gICA8ZGl2IGlkPSdsaXN0LWJ5LWNhdGVnb3J5JyBjbGFzcz0nZGF0YS1ib3gnIHN0eWxlPSdkaXNwbGF5Om5vbmU7Jz4KLSAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJoZWxwUHJpb3JpdGllcyIgLz4KLSAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idW5pcXVlLWNhdGVnb3J5IiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0NhdGVnb3J5L0BjYXRlZ29yeSIvPgotICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IiR1bmlxdWUtY2F0ZWdvcnkiPgotICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iLiIgb3JkZXI9ImFzY2VuZGluZyIgLz4KLSAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjYXRlZ29yaWVzIj4KLSAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJjYXRlZ29yeSIgc2VsZWN0PSIuIiAvPgotICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KLSAgICAgIDwveHNsOmZvci1lYWNoPgotICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJjYXRlZ29yaWVzIiA+Ci0gICA8eHNsOnBhcmFtIG5hbWU9ImNhdGVnb3J5IiBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJjYXRlZ29yeS1jb3VudCIKLSAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0PSJjb3VudCgvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZVtAY2F0ZWdvcnk9JGNhdGVnb3J5IGFuZCBub3QoQGxhc3QpXSkiIC8+Ci0gICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNhdGVnb3J5LWNvdW50LXAxIgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBwcmlvcml0eT0nMScgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iY2F0ZWdvcnktY291bnQtcDIiCi0gICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdD0iY291bnQoL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2VbQGNhdGVnb3J5PSRjYXRlZ29yeSBhbmQgQHByaW9yaXR5PScyJyBhbmQgbm90KEBsYXN0KV0pIiAvPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJjYXRlZ29yeS1jb3VudC1wMyIKLSAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0PSJjb3VudCgvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZVtAY2F0ZWdvcnk9JGNhdGVnb3J5IGFuZCBAcHJpb3JpdHk9JzMnIGFuZCBub3QoQGxhc3QpXSkiIC8+Ci0gICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNhdGVnb3J5LWNvdW50LXA0IgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBwcmlvcml0eT0nNCcgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDxkaXYgY2xhc3M9J29iJz4KLSAgICAgIDxkaXYgY2xhc3M9J29iLXQnPgotICAgICAgICAgPGE+Ci0gICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj48L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJvbmNsaWNrIj50b2dnbGUoJ2NhdGVnb3J5LTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZWdvcnkiIC8+Jyk7cmV0dXJuIGZhbHNlOzwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9CdWdDYXRlZ29yeVtAY2F0ZWdvcnk9JGNhdGVnb3J5XS9EZXNjcmlwdGlvbiIgLz4KLSAgICAgICAgICAgICg8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNhdGVnb3J5LWNvdW50IiAvPjoKLSAgICAgICAgICAgIDxzcGFuIGNsYXNzPSd0LWgnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZWdvcnktY291bnQtcDEiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZWdvcnktY291bnQtcDIiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZWdvcnktY291bnQtcDMiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZWdvcnktY291bnQtcDQiIC8+PC9zcGFuPikKLSAgICAgICAgIDwvYT4KLSAgICAgIDwvZGl2PgotICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lOyI+Ci0gICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJpZCI+Y2F0ZWdvcnktPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjYXRlZ29yeSIgLz48L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ibGlzdC1ieS1jYXRlZ29yeS1hbmQtY29kZSI+Ci0gICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iY2F0ZWdvcnkiIHNlbGVjdD0iJGNhdGVnb3J5IiAvPgotICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KLSAgICAgIDwvZGl2PgotICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJsaXN0LWJ5LWNhdGVnb3J5LWFuZC1jb2RlIiA+Ci0gICA8eHNsOnBhcmFtIG5hbWU9ImNhdGVnb3J5IiBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ1bmlxdWUtY29kZSIgc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZVtAY2F0ZWdvcnk9JGNhdGVnb3J5IGFuZCBub3QoQGxhc3QpIGFuZCBnZW5lcmF0ZS1pZCgpPSBnZW5lcmF0ZS1pZChrZXkoJ2xiYy1jb2RlLWtleScsY29uY2F0KEBjYXRlZ29yeSxAYWJicmV2KSkpXS9AYWJicmV2IiAvPgotICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IiR1bmlxdWUtY29kZSI+Ci0gICAgICA8eHNsOnNvcnQgc2VsZWN0PSIuIiBvcmRlcj0iYXNjZW5kaW5nIiAvPgotICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNvZGVzIj4KLSAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJjYXRlZ29yeSIgc2VsZWN0PSIkY2F0ZWdvcnkiIC8+Ci0gICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iY29kZSIgc2VsZWN0PSIuIiAvPgotICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KLSAgIDwveHNsOmZvci1lYWNoPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbmFtZT0iY29kZXMiID4KLSAgIDx4c2w6cGFyYW0gbmFtZT0iY2F0ZWdvcnkiIHNlbGVjdD0iJyciIC8+Ci0gICA8eHNsOnBhcmFtIG5hbWU9ImNvZGUiICAgICBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJjb2RlLWNvdW50IgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBhYmJyZXY9JGNvZGUgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iY29kZS1jb3VudC1wMSIKLSAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0PSJjb3VudCgvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZVtAY2F0ZWdvcnk9JGNhdGVnb3J5IGFuZCBAYWJicmV2PSRjb2RlIGFuZCBAcHJpb3JpdHk9JzEnIGFuZCBub3QoQGxhc3QpXSkiIC8+Ci0gICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNvZGUtY291bnQtcDIiCi0gICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdD0iY291bnQoL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2VbQGNhdGVnb3J5PSRjYXRlZ29yeSBhbmQgQGFiYnJldj0kY29kZSBhbmQgQHByaW9yaXR5PScyJyBhbmQgbm90KEBsYXN0KV0pIiAvPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJjb2RlLWNvdW50LXAzIgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBhYmJyZXY9JGNvZGUgYW5kIEBwcmlvcml0eT0nMycgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iY29kZS1jb3VudC1wNCIKLSAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0PSJjb3VudCgvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZVtAY2F0ZWdvcnk9JGNhdGVnb3J5IGFuZCBAYWJicmV2PSRjb2RlIGFuZCBAcHJpb3JpdHk9JzQnIGFuZCBub3QoQGxhc3QpXSkiIC8+Ci0gICA8ZGl2IGNsYXNzPSdpYi0xJz4KLSAgICAgIDxkaXYgY2xhc3M9ImliLTEtdCI+Ci0gICAgICAgICA8YT4KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPjwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im9uY2xpY2siPnRvZ2dsZSgnY2F0ZWdvcnktPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjYXRlZ29yeSIgLz4tYW5kLWNvZGUtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjb2RlIiAvPicpO3JldHVybiBmYWxzZTs8L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNvZGUiIC8+OiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnQ29kZVtAYWJicmV2PSRjb2RlXS9EZXNjcmlwdGlvbiIgLz4KLSAgICAgICAgICAgICg8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNvZGUtY291bnQiIC8+OgotICAgICAgICAgICAgPHNwYW4gY2xhc3M9J3QtaCc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjb2RlLWNvdW50LXAxIiAvPi88eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNvZGUtY291bnQtcDIiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY29kZS1jb3VudC1wMyIgLz4vPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjb2RlLWNvdW50LXA0IiAvPjwvc3Bhbj4pCi0gICAgICAgICA8L2E+Ci0gICAgICA8L2Rpdj4KLSAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgotICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaWQiPmNhdGVnb3J5LTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZWdvcnkiIC8+LWFuZC1jb2RlLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY29kZSIgLz48L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ibGlzdC1ieS1jYXRlZ29yeS1hbmQtY29kZS1hbmQtYnVnIj4KLSAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJjYXRlZ29yeSIgc2VsZWN0PSIkY2F0ZWdvcnkiIC8+Ci0gICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iY29kZSIgc2VsZWN0PSIkY29kZSIgLz4KLSAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+Ci0gICAgICA8L2Rpdj4KLSAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbmFtZT0ibGlzdC1ieS1jYXRlZ29yeS1hbmQtY29kZS1hbmQtYnVnIiA+Ci0gICA8eHNsOnBhcmFtIG5hbWU9ImNhdGVnb3J5IiBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDpwYXJhbSBuYW1lPSJjb2RlIiBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ1bmlxdWUtYnVnIiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIG5vdChAbGFzdCkgYW5kIEBhYmJyZXY9JGNvZGUgYW5kIGdlbmVyYXRlLWlkKCk9IGdlbmVyYXRlLWlkKGtleSgnbGJjLWJ1Zy1rZXknLGNvbmNhdChAY2F0ZWdvcnksQGFiYnJldixAdHlwZSkpKV0vQHR5cGUiIC8+Ci0gICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iJHVuaXF1ZS1idWciPgotICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iLiIgb3JkZXI9ImFzY2VuZGluZyIgLz4KLSAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJidWdzIj4KLSAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJjYXRlZ29yeSIgc2VsZWN0PSIkY2F0ZWdvcnkiIC8+Ci0gICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iY29kZSIgc2VsZWN0PSIkY29kZSIgLz4KLSAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJidWciIHNlbGVjdD0iLiIgLz4KLSAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+Ci0gICA8L3hzbDpmb3ItZWFjaD4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG5hbWU9ImJ1Z3MiID4KLSAgIDx4c2w6cGFyYW0gbmFtZT0iY2F0ZWdvcnkiIHNlbGVjdD0iJyciIC8+Ci0gICA8eHNsOnBhcmFtIG5hbWU9ImNvZGUiICAgICBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDpwYXJhbSBuYW1lPSJidWciICAgICAgc2VsZWN0PSInJyIgLz4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYnVnLWNvdW50IgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBhYmJyZXY9JGNvZGUgYW5kIEB0eXBlPSRidWcgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYnVnLWNvdW50LXAxIgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBhYmJyZXY9JGNvZGUgYW5kIEB0eXBlPSRidWcgYW5kIEBwcmlvcml0eT0nMScgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYnVnLWNvdW50LXAyIgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBhYmJyZXY9JGNvZGUgYW5kIEB0eXBlPSRidWcgYW5kIEBwcmlvcml0eT0nMicgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYnVnLWNvdW50LXAzIgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBhYmJyZXY9JGNvZGUgYW5kIEB0eXBlPSRidWcgYW5kIEBwcmlvcml0eT0nMycgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYnVnLWNvdW50LXA0IgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9ImNvdW50KC9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW0BjYXRlZ29yeT0kY2F0ZWdvcnkgYW5kIEBhYmJyZXY9JGNvZGUgYW5kIEB0eXBlPSRidWcgYW5kIEBwcmlvcml0eT0nNCcgYW5kIG5vdChAbGFzdCldKSIgLz4KLSAgIDxkaXYgY2xhc3M9J2liLTInPgotICAgICAgPGRpdiBjbGFzcz0naWItMi10Jz4KLSAgICAgICAgIDxhPgotICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PC94c2w6YXR0cmlidXRlPgotICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ib25jbGljayI+dG9nZ2xlKCdjYXRlZ29yeS08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNhdGVnb3J5IiAvPi1hbmQtY29kZS08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNvZGUiIC8+LWFuZC1idWctPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRidWciIC8+Jyk7cmV0dXJuIGZhbHNlOzwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im9ubW91c2VvdXQiPnBvcFVwKGV2ZW50LCd0aXAtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRidWciIC8+Jyk7PC94c2w6YXR0cmlidXRlPgotICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ib25tb3VzZW92ZXIiPnBvcFVwKGV2ZW50LCd0aXAtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRidWciIC8+Jyk7PC94c2w6YXR0cmlidXRlPgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z1BhdHRlcm5bQGNhdGVnb3J5PSRjYXRlZ29yeSBhbmQgQGFiYnJldj0kY29kZSBhbmQgQHR5cGU9JGJ1Z10vU2hvcnREZXNjcmlwdGlvbiIgLz48eHNsOnRleHQgZGlzYWJsZS1vdXRwdXQtZXNjYXBpbmc9InllcyI+JmFtcDtuYnNwOyZhbXA7bmJzcDs8L3hzbDp0ZXh0PgotICAgICAgICAgICAgKDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkYnVnLWNvdW50IiAvPjoKLSAgICAgICAgICAgIDxzcGFuIGNsYXNzPSd0LWgnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkYnVnLWNvdW50LXAxIiAvPi88eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGJ1Zy1jb3VudC1wMiIgLz4vPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRidWctY291bnQtcDMiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkYnVnLWNvdW50LXA0IiAvPjwvc3Bhbj4pCi0gICAgICAgICA8L2E+Ci0gICAgICA8L2Rpdj4KLSAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgotICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaWQiPmNhdGVnb3J5LTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZWdvcnkiIC8+LWFuZC1jb2RlLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY29kZSIgLz4tYW5kLWJ1Zy08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGJ1ZyIgLz48L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNhdC1jb2RlLXR5cGUiPmNhdGVnb3J5LTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0ZWdvcnkiIC8+LWFuZC1jb2RlLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY29kZSIgLz4tYW5kLWJ1Zy08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGJ1ZyIgLz48L3hzbDp2YXJpYWJsZT4KLSAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYnVnLWlkIj5iLXVpZC08eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGluc3RhbmNlSGFzaCIgLz4tPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpbnN0YW5jZU9jY3VycmVuY2VOdW0iIC8+PC94c2w6dmFyaWFibGU+Ci0gICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2VbQGNhdGVnb3J5PSRjYXRlZ29yeSBhbmQgQGFiYnJldj0kY29kZSBhbmQgQHR5cGU9JGJ1ZyBhbmQgbm90KEBsYXN0KV0iPgotICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktYnVnIj4KLSAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJiLXQiICAgICBzZWxlY3Q9IkB0eXBlIiAvPgotICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9ImJ1Zy1pZCIgICAgICAgc2VsZWN0PSIkYnVnLWlkIiAvPgotICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IndoaWNoLWxpc3QiICAgc2VsZWN0PSInYyciIC8+Ci0gICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgotICAgICAgICAgPC94c2w6Zm9yLWVhY2g+Ci0gICAgICA8L2Rpdj4KLSAgIDwvZGl2PgotPC94c2w6dGVtcGxhdGU+Ci0KLTwhLS0gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4gLS0+Ci08IS0tIG1haW4gdGVtcGxhdGUgZm9yIHRoZSBsaXN0IGJ5IHBhY2thZ2UgLS0+Ci08eHNsOnRlbXBsYXRlIG5hbWU9Imxpc3QtYnktcGFja2FnZSIgPgotICAgPGRpdiBpZD0nbGlzdC1ieS1wYWNrYWdlJyBjbGFzcz0nZGF0YS1ib3gnIHN0eWxlPSdkaXNwbGF5Om5vbmU7Jz4KLSAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJoZWxwUHJpb3JpdGllcyIgLz4KLSAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0B0b3RhbF9idWdzICE9ICcwJ10vQHBhY2thZ2UiPgotICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iLiIgb3JkZXI9ImFzY2VuZGluZyIgLz4KLSAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWNrYWdlcyI+Ci0gICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZSIgc2VsZWN0PSIuIiAvPgotICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KLSAgICAgIDwveHNsOmZvci1lYWNoPgotICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJwYWNrYWdlcyIgPgotICAgPHhzbDpwYXJhbSBuYW1lPSJwYWNrYWdlIiBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLWNvdW50LXAxIj4KLSAgICAgIDx4c2w6aWYgdGVzdD0ibm90KC9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0Bwcmlvcml0eV8xICE9ICcnKSI+MDwveHNsOmlmPgotICAgICAgPHhzbDppZiB0ZXN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9AcHJpb3JpdHlfMSAhPSAnJyI+Ci0gICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0c1tAcGFja2FnZT0kcGFja2FnZV0vQHByaW9yaXR5XzEiIC8+Ci0gICAgICA8L3hzbDppZj4KLSAgIDwveHNsOnZhcmlhYmxlPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLWNvdW50LXAyIj4KLSAgICAgIDx4c2w6aWYgdGVzdD0ibm90KC9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0Bwcmlvcml0eV8yICE9ICcnKSI+MDwveHNsOmlmPgotICAgICAgPHhzbDppZiB0ZXN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9AcHJpb3JpdHlfMiAhPSAnJyI+Ci0gICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0c1tAcGFja2FnZT0kcGFja2FnZV0vQHByaW9yaXR5XzIiIC8+Ci0gICAgICA8L3hzbDppZj4KLSAgIDwveHNsOnZhcmlhYmxlPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLWNvdW50LXAzIj4KLSAgICAgIDx4c2w6aWYgdGVzdD0ibm90KC9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0Bwcmlvcml0eV8zICE9ICcnKSI+MDwveHNsOmlmPgotICAgICAgPHhzbDppZiB0ZXN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9AcHJpb3JpdHlfMyAhPSAnJyI+Ci0gICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0c1tAcGFja2FnZT0kcGFja2FnZV0vQHByaW9yaXR5XzMiIC8+Ci0gICAgICA8L3hzbDppZj4KLSAgIDwveHNsOnZhcmlhYmxlPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLWNvdW50LXA0Ij4KLSAgICAgIDx4c2w6aWYgdGVzdD0ibm90KC9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0Bwcmlvcml0eV80ICE9ICcnKSI+MDwveHNsOmlmPgotICAgICAgPHhzbDppZiB0ZXN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9AcHJpb3JpdHlfNCAhPSAnJyI+Ci0gICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0c1tAcGFja2FnZT0kcGFja2FnZV0vQHByaW9yaXR5XzQiIC8+Ci0gICAgICA8L3hzbDppZj4KLSAgIDwveHNsOnZhcmlhYmxlPgotCi0gICA8ZGl2IGNsYXNzPSdvYic+Ci0gICAgICA8ZGl2IGNsYXNzPSdvYi10Jz4KLSAgICAgICAgIDxhPgotICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PC94c2w6YXR0cmlidXRlPgotICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ib25jbGljayI+dG9nZ2xlKCdwYWNrYWdlLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkcGFja2FnZSIgLz4nKTtyZXR1cm4gZmFsc2U7PC94c2w6YXR0cmlidXRlPgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRwYWNrYWdlIiAvPgotICAgICAgICAgICAgKDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9AdG90YWxfYnVncyIgLz46Ci0gICAgICAgICAgICA8c3BhbiBjbGFzcz0ndC1oJz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHBhY2thZ2UtY291bnQtcDEiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkcGFja2FnZS1jb3VudC1wMiIgLz4vPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRwYWNrYWdlLWNvdW50LXAzIiAvPi88eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHBhY2thZ2UtY291bnQtcDQiIC8+PC9zcGFuPikKLSAgICAgICAgIDwvYT4KLSAgICAgIDwvZGl2PgotICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lOyI+Ci0gICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJpZCI+cGFja2FnZS08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHBhY2thZ2UiIC8+PC94c2w6YXR0cmlidXRlPgotICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9Imxpc3QtYnktcGFja2FnZS1hbmQtY2xhc3MiPgotICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UiIHNlbGVjdD0iJHBhY2thZ2UiIC8+Ci0gICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgotICAgICAgPC9kaXY+Ci0gICA8L2Rpdj4KLTwveHNsOnRlbXBsYXRlPgotCi08eHNsOnRlbXBsYXRlIG5hbWU9Imxpc3QtYnktcGFja2FnZS1hbmQtY2xhc3MiID4KLSAgIDx4c2w6cGFyYW0gbmFtZT0icGFja2FnZSIgc2VsZWN0PSInJyIgLz4KLSAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9DbGFzc1N0YXRzW0BidWdzICE9ICcwJ10vQGNsYXNzIj4KLSAgICAgIDx4c2w6c29ydCBzZWxlY3Q9Ii4iIG9yZGVyPSJhc2NlbmRpbmciIC8+Ci0gICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY2xhc3NlcyI+Ci0gICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZSIgc2VsZWN0PSIkcGFja2FnZSIgLz4KLSAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJjbGFzcyIgc2VsZWN0PSIuIiAvPgotICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KLSAgIDwveHNsOmZvci1lYWNoPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbmFtZT0iY2xhc3NlcyIgPgotICAgPHhzbDpwYXJhbSBuYW1lPSJwYWNrYWdlIiBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDpwYXJhbSBuYW1lPSJjbGFzcyIgICAgIHNlbGVjdD0iJyciIC8+Ci0gICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNsYXNzLWNvdW50IgotICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0NsYXNzU3RhdHNbQGNsYXNzPSRjbGFzcyBhbmQgQGJ1Z3MgIT0gJzAnXS9AYnVncyIgLz4KLQotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJjbGFzcy1jb3VudC1wMSI+Ci0gICAgICA8eHNsOmlmIHRlc3Q9Im5vdCgvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9DbGFzc1N0YXRzW0BjbGFzcz0kY2xhc3MgYW5kIEBidWdzICE9ICcwJ10vQHByaW9yaXR5XzEgIT0gJycpIj4wPC94c2w6aWY+Ci0gICAgICA8eHNsOmlmIHRlc3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0NsYXNzU3RhdHNbQGNsYXNzPSRjbGFzcyBhbmQgQGJ1Z3MgIT0gJzAnXS9AcHJpb3JpdHlfMSAhPSAnJyI+Ci0gICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0c1tAcGFja2FnZT0kcGFja2FnZV0vQ2xhc3NTdGF0c1tAY2xhc3M9JGNsYXNzIGFuZCBAYnVncyAhPSAnMCddL0Bwcmlvcml0eV8xIiAvPgotICAgICAgPC94c2w6aWY+Ci0gICA8L3hzbDp2YXJpYWJsZT4KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0iY2xhc3MtY291bnQtcDIiPgotICAgICAgPHhzbDppZiB0ZXN0PSJub3QoL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0c1tAcGFja2FnZT0kcGFja2FnZV0vQ2xhc3NTdGF0c1tAY2xhc3M9JGNsYXNzIGFuZCBAYnVncyAhPSAnMCddL0Bwcmlvcml0eV8yICE9ICcnKSI+MDwveHNsOmlmPgotICAgICAgPHhzbDppZiB0ZXN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9DbGFzc1N0YXRzW0BjbGFzcz0kY2xhc3MgYW5kIEBidWdzICE9ICcwJ10vQHByaW9yaXR5XzIgIT0gJyciPgotICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0NsYXNzU3RhdHNbQGNsYXNzPSRjbGFzcyBhbmQgQGJ1Z3MgIT0gJzAnXS9AcHJpb3JpdHlfMiIgLz4KLSAgICAgIDwveHNsOmlmPgotICAgPC94c2w6dmFyaWFibGU+Ci0gICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNsYXNzLWNvdW50LXAzIj4KLSAgICAgIDx4c2w6aWYgdGVzdD0ibm90KC9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0NsYXNzU3RhdHNbQGNsYXNzPSRjbGFzcyBhbmQgQGJ1Z3MgIT0gJzAnXS9AcHJpb3JpdHlfMyAhPSAnJykiPjA8L3hzbDppZj4KLSAgICAgIDx4c2w6aWYgdGVzdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0c1tAcGFja2FnZT0kcGFja2FnZV0vQ2xhc3NTdGF0c1tAY2xhc3M9JGNsYXNzIGFuZCBAYnVncyAhPSAnMCddL0Bwcmlvcml0eV8zICE9ICcnIj4KLSAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9DbGFzc1N0YXRzW0BjbGFzcz0kY2xhc3MgYW5kIEBidWdzICE9ICcwJ10vQHByaW9yaXR5XzMiIC8+Ci0gICAgICA8L3hzbDppZj4KLSAgIDwveHNsOnZhcmlhYmxlPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJjbGFzcy1jb3VudC1wNCI+Ci0gICAgICA8eHNsOmlmIHRlc3Q9Im5vdCgvQnVnQ29sbGVjdGlvbi9GaW5kQnVnc1N1bW1hcnkvUGFja2FnZVN0YXRzW0BwYWNrYWdlPSRwYWNrYWdlXS9DbGFzc1N0YXRzW0BjbGFzcz0kY2xhc3MgYW5kIEBidWdzICE9ICcwJ10vQHByaW9yaXR5XzQgIT0gJycpIj4wPC94c2w6aWY+Ci0gICAgICA8eHNsOmlmIHRlc3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHNbQHBhY2thZ2U9JHBhY2thZ2VdL0NsYXNzU3RhdHNbQGNsYXNzPSRjbGFzcyBhbmQgQGJ1Z3MgIT0gJzAnXS9AcHJpb3JpdHlfNCAhPSAnJyI+Ci0gICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vRmluZEJ1Z3NTdW1tYXJ5L1BhY2thZ2VTdGF0c1tAcGFja2FnZT0kcGFja2FnZV0vQ2xhc3NTdGF0c1tAY2xhc3M9JGNsYXNzIGFuZCBAYnVncyAhPSAnMCddL0Bwcmlvcml0eV80IiAvPgotICAgICAgPC94c2w6aWY+Ci0gICA8L3hzbDp2YXJpYWJsZT4KLQotICAgPGRpdiBjbGFzcz0naWItMSc+Ci0gICAgICA8ZGl2IGNsYXNzPSJpYi0xLXQiPgotICAgICAgICAgPGE+Ci0gICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj48L3hzbDphdHRyaWJ1dGU+Ci0gICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJvbmNsaWNrIj50b2dnbGUoJ3BhY2thZ2UtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRwYWNrYWdlIiAvPi1hbmQtY2xhc3MtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjbGFzcyIgLz4nKTtyZXR1cm4gZmFsc2U7PC94c2w6YXR0cmlidXRlPgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjbGFzcyIgLz4gICg8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNsYXNzLWNvdW50IiAvPjoKLSAgICAgICAgICAgIDxzcGFuIGNsYXNzPSd0LWgnPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MtY291bnQtcDEiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MtY291bnQtcDIiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MtY291bnQtcDMiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MtY291bnQtcDQiIC8+PC9zcGFuPikKLSAgICAgICAgIDwvYT4KLSAgICAgIDwvZGl2PgotICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lOyI+Ci0gICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJpZCI+cGFja2FnZS08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHBhY2thZ2UiIC8+LWFuZC1jbGFzcy08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNsYXNzIiAvPjwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJsaXN0LWJ5LXBhY2thZ2UtYW5kLWNsYXNzLWFuZC1idWciPgotICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UiIHNlbGVjdD0iJHBhY2thZ2UiIC8+Ci0gICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iY2xhc3MiIHNlbGVjdD0iJGNsYXNzIiAvPgotICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KLSAgICAgIDwvZGl2PgotICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJsaXN0LWJ5LXBhY2thZ2UtYW5kLWNsYXNzLWFuZC1idWciID4KLSAgIDx4c2w6cGFyYW0gbmFtZT0icGFja2FnZSIgc2VsZWN0PSInJyIgLz4KLSAgIDx4c2w6cGFyYW0gbmFtZT0iY2xhc3MiIHNlbGVjdD0iJyciIC8+Ci0gICA8eHNsOnZhcmlhYmxlIG5hbWU9InVuaXF1ZS1jbGFzcy1idWdzIiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0luc3RhbmNlW25vdChAbGFzdCkgYW5kIENsYXNzW3Bvc2l0aW9uKCk9MSBhbmQgQGNsYXNzbmFtZT0kY2xhc3NdIGFuZCBnZW5lcmF0ZS1pZCgpID0gZ2VuZXJhdGUtaWQoa2V5KCdsYnAtY2xhc3MtYi10Jyxjb25jYXQoQ2xhc3MvQGNsYXNzbmFtZSxAdHlwZSkpKV0vQHR5cGUiIC8+Ci0KLSAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIkdW5pcXVlLWNsYXNzLWJ1Z3MiPgotICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iLiIgb3JkZXI9ImFzY2VuZGluZyIgLz4KLSAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjbGFzcy1idWdzIj4KLSAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlIiBzZWxlY3Q9IiRwYWNrYWdlIiAvPgotICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9ImNsYXNzIiBzZWxlY3Q9IiRjbGFzcyIgLz4KLSAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0eXBlIiBzZWxlY3Q9Ii4iIC8+Ci0gICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgotICAgPC94c2w6Zm9yLWVhY2g+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJjbGFzcy1idWdzIiA+Ci0gICA8eHNsOnBhcmFtIG5hbWU9InBhY2thZ2UiIHNlbGVjdD0iJyciIC8+Ci0gICA8eHNsOnBhcmFtIG5hbWU9ImNsYXNzIiAgICAgc2VsZWN0PSInJyIgLz4KLSAgIDx4c2w6cGFyYW0gbmFtZT0idHlwZSIgICAgICBzZWxlY3Q9IicnIiAvPgotICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJidWctY291bnQiCi0gICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdD0iY291bnQoL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2VbQHR5cGU9JHR5cGUgYW5kIG5vdChAbGFzdCkgYW5kIENsYXNzW3Bvc2l0aW9uKCk9MSBhbmQgQGNsYXNzbmFtZT0kY2xhc3NdXSkiIC8+Ci0gICA8ZGl2IGNsYXNzPSdpYi0yJz4KLSAgICAgIDxkaXYgY2xhc3M9J2liLTItdCc+Ci0gICAgICAgICA8YT4KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPjwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im9uY2xpY2siPnRvZ2dsZSgncGFja2FnZS08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHBhY2thZ2UiIC8+LWFuZC1jbGFzcy08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNsYXNzIiAvPi1hbmQtdHlwZS08eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHR5cGUiIC8+Jyk7cmV0dXJuIGZhbHNlOzwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im9ubW91c2VvdXQiPnBvcFVwKGV2ZW50LCd0aXAtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0eXBlIiAvPicpPC94c2w6YXR0cmlidXRlPgotICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ib25tb3VzZW92ZXIiPnBvcFVwKGV2ZW50LCd0aXAtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0eXBlIiAvPicpPC94c2w6YXR0cmlidXRlPgotICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z1BhdHRlcm5bQHR5cGU9JHR5cGVdL1Nob3J0RGVzY3JpcHRpb24iIC8+PHhzbDp0ZXh0IGRpc2FibGUtb3V0cHV0LWVzY2FwaW5nPSJ5ZXMiPiZhbXA7bmJzcDsmYW1wO25ic3A7PC94c2w6dGV4dD4KLSAgICAgICAgICAgICg8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGJ1Zy1jb3VudCIgLz4pCi0gICAgICAgICA8L2E+Ci0gICAgICA8L2Rpdj4KLSAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgotICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaWQiPnBhY2thZ2UtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRwYWNrYWdlIiAvPi1hbmQtY2xhc3MtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjbGFzcyIgLz4tYW5kLXR5cGUtPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0eXBlIiAvPjwveHNsOmF0dHJpYnV0ZT4KLSAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icGFja2FnZS1jbGFzcy10eXBlIj5wYWNrYWdlLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkcGFja2FnZSIgLz4tYW5kLWNsYXNzLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MiIC8+LWFuZC10eXBlLTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdHlwZSIgLz48L3hzbDp2YXJpYWJsZT4KLSAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYnVnLWlkIj5iLXVpZC08eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGluc3RhbmNlSGFzaCIgLz4tPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpbnN0YW5jZU9jY3VycmVuY2VOdW0iIC8+PC94c2w6dmFyaWFibGU+Ci0gICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2VbQHR5cGU9JHR5cGUgYW5kIG5vdChAbGFzdCkgYW5kIENsYXNzW3Bvc2l0aW9uKCk9MSBhbmQgQGNsYXNzbmFtZT0kY2xhc3NdXSI+Ci0gICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS1idWciPgotICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9ImItdCIgICAgIHNlbGVjdD0iQHR5cGUiIC8+Ci0gICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iYnVnLWlkIiAgICAgICBzZWxlY3Q9IiRidWctaWQiIC8+Ci0gICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0id2hpY2gtbGlzdCIgICBzZWxlY3Q9IidwJyIgLz4KLSAgICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+Ci0gICAgICAgICA8L3hzbDpmb3ItZWFjaD4KLSAgICAgIDwvZGl2PgotICAgPC9kaXY+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPC94c2w6dHJhbnNmb3JtPgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3Mvc3JjL3hzbC9wbGFpbi54c2wgYi90b29scy9maW5kYnVncy9zcmMveHNsL3BsYWluLnhzbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBmZmY4ZC4uMDAwMDAwMAotLS0gYS90b29scy9maW5kYnVncy9zcmMveHNsL3BsYWluLnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDMwNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCEtLQotICBGaW5kQnVncyAtIEZpbmQgYnVncyBpbiBKYXZhIHByb2dyYW1zCi0gIENvcHlyaWdodCAoQykgMjAwNCwyMDA1IFVuaXZlcnNpdHkgb2YgTWFyeWxhbmQKLSAgQ29weXJpZ2h0IChDKSAyMDA1LCBDaHJpcyBOYXBwaW4KLSAgCi0gIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gIAotICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAgCi0gIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0tLT4KLTx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAiCi0JeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCi0JeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iPgotCi08eHNsOm91dHB1dAotCW1ldGhvZD0ieG1sIgotCW9taXQteG1sLWRlY2xhcmF0aW9uPSJ5ZXMiCi0Jc3RhbmRhbG9uZT0ieWVzIgotICAgICAgICAgZG9jdHlwZS1zeXN0ZW09Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiCi0gICAgICAgICBkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCi0JaW5kZW50PSJ5ZXMiCi0JZW5jb2Rpbmc9IlVURi04Ii8+Ci0KLTx4c2w6dmFyaWFibGUgbmFtZT0iYnVnVGFibGVIZWFkZXIiPgotCTx0ciBjbGFzcz0idGFibGVoZWFkZXIiPgotCQk8dGggYWxpZ249ImxlZnQiPldhcm5pbmc8L3RoPgotCQk8dGggYWxpZ249ImxlZnQiPlByaW9yaXR5PC90aD4KLQkJPHRoIGFsaWduPSJsZWZ0Ij5EZXRhaWxzPC90aD4KLQk8L3RyPgotPC94c2w6dmFyaWFibGU+Ci0KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgotCTxodG1sPgotCTxoZWFkPgotCQk8dGl0bGU+RmluZEJ1Z3MgUmVwb3J0PC90aXRsZT4KLQkJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLQkJLnRhYmxlcm93MCB7Ci0JCQliYWNrZ3JvdW5kOiAjRUVFRUVFOwotCQl9Ci0KLQkJLnRhYmxlcm93MSB7Ci0JCQliYWNrZ3JvdW5kOiB3aGl0ZTsKLQkJfQotCi0JCS5kZXRhaWxyb3cwIHsKLQkJCWJhY2tncm91bmQ6ICNFRUVFRUU7Ci0JCX0KLQotCQkuZGV0YWlscm93MSB7Ci0JCQliYWNrZ3JvdW5kOiB3aGl0ZTsKLQkJfQotCi0JCS50YWJsZWhlYWRlciB7Ci0JCQliYWNrZ3JvdW5kOiAjYjliOWZlOwotCQkJZm9udC1zaXplOiBsYXJnZXI7Ci0JCX0KLQkJPC9zdHlsZT4KLQk8L2hlYWQ+Ci0KLQk8eHNsOnZhcmlhYmxlIG5hbWU9InVuaXF1ZS1jYXRrZXkiIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnQ2F0ZWdvcnkvQGNhdGVnb3J5Ii8+Ci0KLQk8Ym9keT4KLQotCTxoMT5GaW5kQnVncyBSZXBvcnQ8L2gxPgotCQk8cD5Qcm9kdWNlZCB1c2luZyA8YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0Ij5GaW5kQnVnczwvYT4gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0B2ZXJzaW9uIi8+LjwvcD4KLQkJPHA+UHJvamVjdDogCi0JCQk8eHNsOmNob29zZT4KLQkJCQk8eHNsOndoZW4gdGVzdD0nc3RyaW5nLWxlbmd0aCgvQnVnQ29sbGVjdGlvbi9Qcm9qZWN0L0Bwcm9qZWN0TmFtZSk+MCc+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL1Byb2plY3QvQHByb2plY3ROYW1lIiAvPjwveHNsOndoZW4+Ci0JCQkJPHhzbDpvdGhlcndpc2U+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL1Byb2plY3QvQGZpbGVuYW1lIiAvPjwveHNsOm90aGVyd2lzZT4KLQkJCTwveHNsOmNob29zZT4KLQkJPC9wPgotCTxoMj5NZXRyaWNzPC9oMj4KLQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0ZpbmRCdWdzU3VtbWFyeSIvPgotCi0JPGgyPlN1bW1hcnk8L2gyPgotCTx0YWJsZSB3aWR0aD0iNTAwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiPgotCSAgICA8dHIgY2xhc3M9InRhYmxlaGVhZGVyIj4KLQkJCTx0aCBhbGlnbj0ibGVmdCI+V2FybmluZyBUeXBlPC90aD4KLQkJCTx0aCBhbGlnbj0icmlnaHQiPk51bWJlcjwvdGg+Ci0JCTwvdHI+Ci0KLQk8eHNsOmZvci1lYWNoIHNlbGVjdD0iJHVuaXF1ZS1jYXRrZXkiPgotCQk8eHNsOnNvcnQgc2VsZWN0PSIuIiBvcmRlcj0iYXNjZW5kaW5nIi8+Ci0JCTx4c2w6dmFyaWFibGUgbmFtZT0iY2F0a2V5IiBzZWxlY3Q9Ii4iLz4KLQkJPHhzbDp2YXJpYWJsZSBuYW1lPSJjYXRkZXNjIiBzZWxlY3Q9Ii9CdWdDb2xsZWN0aW9uL0J1Z0NhdGVnb3J5W0BjYXRlZ29yeT0kY2F0a2V5XS9EZXNjcmlwdGlvbiIvPgotCQk8eHNsOnZhcmlhYmxlIG5hbWU9InN0eWxlY2xhc3MiPgotCQkJPHhzbDpjaG9vc2U+PHhzbDp3aGVuIHRlc3Q9InBvc2l0aW9uKCkgbW9kIDIgPSAxIj50YWJsZXJvdzA8L3hzbDp3aGVuPgotCQkJCTx4c2w6b3RoZXJ3aXNlPnRhYmxlcm93MTwveHNsOm90aGVyd2lzZT4KLQkJCTwveHNsOmNob29zZT4KLQkJPC94c2w6dmFyaWFibGU+Ci0KLQkJPHRyIGNsYXNzPSJ7JHN0eWxlY2xhc3N9Ij4KLQkJCTx0ZD48YSBocmVmPSIjV2FybmluZ3NfeyRjYXRrZXl9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNhdGRlc2MiLz4gV2FybmluZ3M8L2E+PC90ZD4KLQkJCTx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb3VudCgvQnVnQ29sbGVjdGlvbi9CdWdJbnN0YW5jZVsoQGNhdGVnb3J5PSRjYXRrZXkpIGFuZCAobm90KEBsYXN0KSldKSIvPjwvdGQ+Ci0JCTwvdHI+Ci0JPC94c2w6Zm9yLWVhY2g+Ci0KLQk8eHNsOnZhcmlhYmxlIG5hbWU9InN0eWxlY2xhc3MiPgotCQk8eHNsOmNob29zZT48eHNsOndoZW4gdGVzdD0iY291bnQoJHVuaXF1ZS1jYXRrZXkpIG1vZCAyID0gMCI+dGFibGVyb3cwPC94c2w6d2hlbj4KLQkJCTx4c2w6b3RoZXJ3aXNlPnRhYmxlcm93MTwveHNsOm90aGVyd2lzZT4KLQkJPC94c2w6Y2hvb3NlPgotCTwveHNsOnZhcmlhYmxlPgotCQk8dHIgY2xhc3M9Inskc3R5bGVjbGFzc30iPgotCQkgICAgPHRkPjxiPlRvdGFsPC9iPjwvdGQ+Ci0JCSAgICA8dGQgYWxpZ249InJpZ2h0Ij48Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iY291bnQoL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2Vbbm90KEBsYXN0KV0pIi8+PC9iPjwvdGQ+Ci0JCTwvdHI+Ci0JPC90YWJsZT4KLQk8cD48YnIvPjxici8+PC9wPgotCQotCTxoMT5XYXJuaW5nczwvaDE+Ci0KLQk8cD5DbGljayBvbiBlYWNoIHdhcm5pbmcgbGluayB0byBzZWUgYSBmdWxsIGRlc2NyaXB0aW9uIG9mIHRoZSBpc3N1ZSwgYW5kCi0JICAgIGRldGFpbHMgb2YgaG93IHRvIHJlc29sdmUgaXQuPC9wPgotCi0JPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IiR1bmlxdWUtY2F0a2V5Ij4KLQkJPHhzbDpzb3J0IHNlbGVjdD0iLiIgb3JkZXI9ImFzY2VuZGluZyIvPgotCQk8eHNsOnZhcmlhYmxlIG5hbWU9ImNhdGtleSIgc2VsZWN0PSIuIi8+Ci0JCTx4c2w6dmFyaWFibGUgbmFtZT0iY2F0ZGVzYyIgc2VsZWN0PSIvQnVnQ29sbGVjdGlvbi9CdWdDYXRlZ29yeVtAY2F0ZWdvcnk9JGNhdGtleV0vRGVzY3JpcHRpb24iLz4KLQotCQk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZ2VuZXJhdGVXYXJuaW5nVGFibGUiPgotCQkJPHhzbDp3aXRoLXBhcmFtIG5hbWU9Indhcm5pbmdTZXQiIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnSW5zdGFuY2VbKEBjYXRlZ29yeT0kY2F0a2V5KSBhbmQgKG5vdChAbGFzdCkpXSIvPgotCQkJPHhzbDp3aXRoLXBhcmFtIG5hbWU9InNlY3Rpb25UaXRsZSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjYXRkZXNjIi8+IFdhcm5pbmdzPC94c2w6d2l0aC1wYXJhbT4KLQkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJzZWN0aW9uSWQiPldhcm5pbmdzXzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2F0a2V5Ii8+PC94c2w6d2l0aC1wYXJhbT4KLQkJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KLQk8L3hzbDpmb3ItZWFjaD4KLQotICAgIDxwPjxici8+PGJyLz48L3A+Ci0JPGgxPjxhIG5hbWU9IkRldGFpbHMiPldhcm5pbmcgVHlwZXM8L2E+PC9oMT4KLQotCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vQnVnUGF0dGVybiI+Ci0JCTx4c2w6c29ydCBzZWxlY3Q9IkBhYmJyZXYiLz4KLQkJPHhzbDpzb3J0IHNlbGVjdD0iU2hvcnREZXNjcmlwdGlvbiIvPgotCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KLQotCTwvYm9keT4KLQk8L2h0bWw+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQnVnSW5zdGFuY2Vbbm90KEBsYXN0KV0iPgotCTx4c2w6dmFyaWFibGUgbmFtZT0id2FybmluZ0lkIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iZ2VuZXJhdGUtaWQoKSIvPjwveHNsOnZhcmlhYmxlPgotCi0JPHRyIGNsYXNzPSJ0YWJsZXJvd3twb3NpdGlvbigpIG1vZCAyfSI+Ci0JCTx0ZCB3aWR0aD0iMjAlIiB2YWxpZ249InRvcCI+Ci0JCQk8YSBocmVmPSIje0B0eXBlfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlNob3J0TWVzc2FnZSIvPjwvYT4KLQkJPC90ZD4KLQkJPHRkIHdpZHRoPSIxMCUiIHZhbGlnbj0idG9wIj4KLQkJCTx4c2w6Y2hvb3NlPgotCQkJCTx4c2w6d2hlbiB0ZXN0PSJAcHJpb3JpdHkgPSAxIj5IaWdoPC94c2w6d2hlbj4KLQkJCQk8eHNsOndoZW4gdGVzdD0iQHByaW9yaXR5ID0gMiI+TWVkaXVtPC94c2w6d2hlbj4KLQkJCQk8eHNsOndoZW4gdGVzdD0iQHByaW9yaXR5ID0gMyI+TG93PC94c2w6d2hlbj4KLQkJCQk8eHNsOm90aGVyd2lzZT5Vbmtub3duPC94c2w6b3RoZXJ3aXNlPgotCQkJPC94c2w6Y2hvb3NlPgotCQk8L3RkPgotCQk8dGQgd2lkdGg9IjcwJSI+Ci0JCSAgICA8cD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iTG9uZ01lc3NhZ2UiLz48YnIvPjxici8+Ci0JCSAgICAKLQkJICAgIAk8IS0tICBhZGQgc291cmNlIGZpbGVuYW1lIGFuZCBsaW5lIG51bWJlcihzKSwgaWYgYW55IC0tPgotCQkJCTx4c2w6aWYgdGVzdD0iU291cmNlTGluZSI+Ci0JCQkJCTxici8+SW4gZmlsZSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iU291cmNlTGluZS9Ac291cmNlZmlsZSIvPiwKLQkJCQkJPHhzbDpjaG9vc2U+Ci0JCQkJCQk8eHNsOndoZW4gdGVzdD0iU291cmNlTGluZS9Ac3RhcnQgPSBTb3VyY2VMaW5lL0BlbmQiPgotCQkJCQkJbGluZSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iU291cmNlTGluZS9Ac3RhcnQiLz4KLQkJCQkJCTwveHNsOndoZW4+Ci0JCQkJCQk8eHNsOm90aGVyd2lzZT4KLQkJCQkJCWxpbmVzIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTb3VyY2VMaW5lL0BzdGFydCIvPgotCQkJCQkJICAgIHRvIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTb3VyY2VMaW5lL0BlbmQiLz4KLQkJCQkJCTwveHNsOm90aGVyd2lzZT4KLQkJCQkJPC94c2w6Y2hvb3NlPgotCQkJCTwveHNsOmlmPgotCQkJCQotCQkJCTx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIuLyovTWVzc2FnZSI+Ci0JCQkJCTxici8+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRleHQoKSIvPgotCQkJCTwveHNsOmZvci1lYWNoPgotCQkgICAgPC9wPgotCQk8L3RkPgotCTwvdHI+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQnVnUGF0dGVybiI+Ci0JPGgyPjxhIG5hbWU9IntAdHlwZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTaG9ydERlc2NyaXB0aW9uIi8+PC9hPjwvaDI+Ci0JPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkRldGFpbHMiIGRpc2FibGUtb3V0cHV0LWVzY2FwaW5nPSJ5ZXMiLz4KLQk8cD48YnIvPjxici8+PC9wPgotPC94c2w6dGVtcGxhdGU+Ci0KLTx4c2w6dGVtcGxhdGUgbmFtZT0iZ2VuZXJhdGVXYXJuaW5nVGFibGUiPgotCTx4c2w6cGFyYW0gbmFtZT0id2FybmluZ1NldCIvPgotCTx4c2w6cGFyYW0gbmFtZT0ic2VjdGlvblRpdGxlIi8+Ci0JPHhzbDpwYXJhbSBuYW1lPSJzZWN0aW9uSWQiLz4KLQotCTxoMj48YSBuYW1lPSJ7JHNlY3Rpb25JZH0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkc2VjdGlvblRpdGxlIi8+PC9hPjwvaDI+Ci0JPHRhYmxlIGNsYXNzPSJ3YXJuaW5ndGFibGUiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMiIgY2VsbHBhZGRpbmc9IjUiPgotCQk8eHNsOmNvcHktb2Ygc2VsZWN0PSIkYnVnVGFibGVIZWFkZXIiLz4KLQkJPHhzbDpjaG9vc2U+Ci0JCSAgICA8eHNsOndoZW4gdGVzdD0iY291bnQoJHdhcm5pbmdTZXQpICZndDsgMCI+Ci0JCQkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIkd2FybmluZ1NldCI+Ci0JCQkJCTx4c2w6c29ydCBzZWxlY3Q9IkBwcmlvcml0eSIvPgotCQkJCQk8eHNsOnNvcnQgc2VsZWN0PSJAYWJicmV2Ii8+Ci0JCQkJCTx4c2w6c29ydCBzZWxlY3Q9IkNsYXNzL0BjbGFzc25hbWUiLz4KLQkJCQk8L3hzbDphcHBseS10ZW1wbGF0ZXM+Ci0JCSAgICA8L3hzbDp3aGVuPgotCQkgICAgPHhzbDpvdGhlcndpc2U+Ci0JCSAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48cD48aT5Ob25lPC9pPjwvcD48L3RkPjwvdHI+Ci0JCSAgICA8L3hzbDpvdGhlcndpc2U+Ci0JCTwveHNsOmNob29zZT4KLQk8L3RhYmxlPgotCTxwPjxici8+PGJyLz48L3A+Ci08L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRmluZEJ1Z3NTdW1tYXJ5Ij4KLSAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Imtsb2MiIHNlbGVjdD0iQHRvdGFsX3NpemUgZGl2IDEwMDAuMCIvPgotICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZm9ybWF0IiBzZWxlY3Q9IicjIyMjIyMjMC4wMCciLz4KLQotCTxwPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdG90YWxfc2l6ZSIvPiBsaW5lcyBvZiBjb2RlIGFuYWx5emVkLAotCWluIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdG90YWxfY2xhc3NlcyIvPiBjbGFzc2VzLCAKLQlpbiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG51bV9wYWNrYWdlcyIvPiBwYWNrYWdlcy48L3A+Ci0JPHRhYmxlIHdpZHRoPSI1MDAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiI+Ci0JICAgIDx0ciBjbGFzcz0idGFibGVoZWFkZXIiPgotCQkJPHRoIGFsaWduPSJsZWZ0Ij5NZXRyaWM8L3RoPgotCQkJPHRoIGFsaWduPSJyaWdodCI+VG90YWw8L3RoPgotCQkJPHRoIGFsaWduPSJyaWdodCI+RGVuc2l0eSo8L3RoPgotCQk8L3RyPgotCQk8dHIgY2xhc3M9InRhYmxlcm93MCI+Ci0JCQk8dGQ+SGlnaCBQcmlvcml0eSBXYXJuaW5nczwvdGQ+Ci0JCQk8dGQgYWxpZ249InJpZ2h0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5XzEiLz48L3RkPgotCQkJPHRkIGFsaWduPSJyaWdodCI+Ci0gICAgICAgICAgICAgICAgPHhzbDpjaG9vc2U+Ci0gICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSAibnVtYmVyKCRrbG9jKSAmZ3Q7IDAuMCI+Ci0gICAgICAgCQkJICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iZm9ybWF0LW51bWJlcihAcHJpb3JpdHlfMSBkaXYgJGtsb2MsICRmb3JtYXQpIi8+Ci0gICAgICAgICAgICAgICAgICAgIDwveHNsOndoZW4+Ci0gICAgICAgICAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotICAgICAgCQkgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iZm9ybWF0LW51bWJlcigwLjAsICRmb3JtYXQpIi8+Ci0gICAgICAgICAgICAgICAgICAgIDwveHNsOm90aGVyd2lzZT4KLQkJICAgICAgICA8L3hzbDpjaG9vc2U+Ci0JCQk8L3RkPgotCQk8L3RyPgotCQk8dHIgY2xhc3M9InRhYmxlcm93MSI+Ci0JCQk8dGQ+TWVkaXVtIFByaW9yaXR5IFdhcm5pbmdzPC90ZD4KLQkJCTx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcHJpb3JpdHlfMiIvPjwvdGQ+Ci0JCQk8dGQgYWxpZ249InJpZ2h0Ij4KLSAgICAgICAgICAgICAgICA8eHNsOmNob29zZT4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ICJudW1iZXIoJGtsb2MpICZndDsgMC4wIj4KLSAgICAgICAJCQkgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKEBwcmlvcml0eV8yIGRpdiAka2xvYywgJGZvcm1hdCkiLz4KLSAgICAgICAgICAgICAgICAgICAgPC94c2w6d2hlbj4KLSAgICAgICAgICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAJCSAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKDAuMCwgJGZvcm1hdCkiLz4KLSAgICAgICAgICAgICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotCQkgICAgICAgIDwveHNsOmNob29zZT4KLQkJCTwvdGQ+Ci0JCTwvdHI+Ci0KLSAgICA8eHNsOmNob29zZT4KLQkJPHhzbDp3aGVuIHRlc3Q9IkBwcmlvcml0eV8zIj4KLQkJCTx0ciBjbGFzcz0idGFibGVyb3cxIj4KLQkJCQk8dGQ+TG93IFByaW9yaXR5IFdhcm5pbmdzPC90ZD4KLQkJCQk8dGQgYWxpZ249InJpZ2h0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHByaW9yaXR5XzMiLz48L3RkPgotCQkJCTx0ZCBhbGlnbj0icmlnaHQiPgotCSAgICAgICAgICAgICAgICA8eHNsOmNob29zZT4KLQkgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSAibnVtYmVyKCRrbG9jKSAmZ3Q7IDAuMCI+Ci0JICAgICAgIAkJCSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoQHByaW9yaXR5XzMgZGl2ICRrbG9jLCAkZm9ybWF0KSIvPgotCSAgICAgICAgICAgICAgICAgICAgPC94c2w6d2hlbj4KLQkgICAgICAgICAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgotCSAgICAgIAkJICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoMC4wLCAkZm9ybWF0KSIvPgotCSAgICAgICAgICAgICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgotCQkJICAgICAgICA8L3hzbDpjaG9vc2U+Ci0JCQkJPC90ZD4KLQkJCTwvdHI+Ci0JCQk8eHNsOnZhcmlhYmxlIG5hbWU9InRvdGFsQ2xhc3MiIHNlbGVjdD0idGFibGVyb3cwIi8+Ci0JCTwveHNsOndoZW4+Ci0JCTx4c2w6b3RoZXJ3aXNlPgotCQkgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0b3RhbENsYXNzIiBzZWxlY3Q9InRhYmxlcm93MSIvPgotCQk8L3hzbDpvdGhlcndpc2U+Ci0JPC94c2w6Y2hvb3NlPgotCi0JCTx0ciBjbGFzcz0iJHRvdGFsQ2xhc3MiPgotCQkJPHRkPjxiPlRvdGFsIFdhcm5pbmdzPC9iPjwvdGQ+Ci0JCQk8dGQgYWxpZ249InJpZ2h0Ij48Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHRvdGFsX2J1Z3MiLz48L2I+PC90ZD4KLQkJCTx0ZCBhbGlnbj0icmlnaHQiPgotCQkJCTxiPgotICAgICAgICAgICAgICAgIDx4c2w6Y2hvb3NlPgotICAgICAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0gIm51bWJlcigka2xvYykgJmd0OyAwLjAiPgotICAgICAgIAkJCSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoQHRvdGFsX2J1Z3MgZGl2ICRrbG9jLCAkZm9ybWF0KSIvPgotICAgICAgICAgICAgICAgICAgICA8L3hzbDp3aGVuPgotICAgICAgICAgICAgICAgICAgICA8eHNsOm90aGVyd2lzZT4KLSAgICAgIAkJICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoMC4wLCAkZm9ybWF0KSIvPgotICAgICAgICAgICAgICAgICAgICA8L3hzbDpvdGhlcndpc2U+Ci0JCSAgICAgICAgPC94c2w6Y2hvb3NlPgotCQkJCTwvYj4KLQkJCTwvdGQ+Ci0JCTwvdHI+Ci0JPC90YWJsZT4KLQk8cD48aT4oKiBEZWZlY3RzIHBlciBUaG91c2FuZCBsaW5lcyBvZiBub24tY29tbWVudGluZyBzb3VyY2Ugc3RhdGVtZW50cyk8L2k+PC9wPgotCTxwPjxici8+PGJyLz48L3A+Ci0KLTwveHNsOnRlbXBsYXRlPgotCi08L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmluZGJ1Z3Mvc3JjL3hzbC9zdW1tYXJ5LnhzbCBiL3Rvb2xzL2ZpbmRidWdzL3NyYy94c2wvc3VtbWFyeS54c2wKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhZjAxMzEuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZmluZGJ1Z3Mvc3JjL3hzbC9zdW1tYXJ5LnhzbAorKysgL2Rldi9udWxsCkBAIC0xLDI1MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCIgPg0KLQ0KLTx4c2w6b3V0cHV0DQotICAgICAgICAgbWV0aG9kPSJ4bWwiIGluZGVudD0ieWVzIg0KLSAgICAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIg0KLSAgICAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiINCi0gCQllbmNvZGluZz0iVVRGLTgiLz4NCi0NCi08eHNsOnBhcmFtIG5hbWU9IlBBR0UuVElUTEUiIHNlbGVjdD0iJ0ZpbmRidWdzIFN1bW1hcnkgU3RhdGlzdGljcyciIC8+DQotPHhzbDpwYXJhbSBuYW1lPSJQQUdFLkZPTlQiIHNlbGVjdD0iJ0FyaWFsJyIgLz4NCi08eHNsOnBhcmFtIG5hbWU9IlNVTU1BUlkuSEVBREVSIiBzZWxlY3Q9IidGaW5kYnVncyBTdW1tYXJ5IFJlcG9ydCciIC8+DQotPHhzbDpwYXJhbSBuYW1lPSJTVU1NQVJZLkxBQkVMIiBzZWxlY3Q9IidTdW1tYXJ5IEFuYWx5c2lzIEdlbmVyYXRlZCBhdDogJyIgLz4NCi08eHNsOnBhcmFtIG5hbWU9IlBBQ0tBR0UuSEVBREVSIiBzZWxlY3Q9IidCdWdzIEJ5IFBhY2thZ2UnIiAvPg0KLTx4c2w6cGFyYW0gbmFtZT0iUEFDS0FHRS5TT1JULkxBQkVMIiBzZWxlY3Q9IidTb3J0ZWQgYnkgVG90YWwgQnVncyciIC8+DQotPHhzbDpwYXJhbSBuYW1lPSJQQUNLQUdFLkxBQkVMIiBzZWxlY3Q9IidBbmFseXNpcyBvZiBQYWNrYWdlOiAnIiAvPg0KLTx4c2w6cGFyYW0gbmFtZT0iREVGQVVMVC5QQUNLQUdFLk5BTUUiIHNlbGVjdD0iJ2RlZmF1bHQgcGFja2FnZSciIC8+DQotPHhzbDpwYXJhbSBuYW1lPSJQQUNLQUdFLkJVR0NMQVNTLkxBQkVMIiBzZWxlY3Q9IidNb3N0IEJ1Z2d5IENsYXNzIGluIFBhY2thZ2Ugd2l0aCAjMSAkMTonIiAvPg0KLTx4c2w6cGFyYW0gbmFtZT0iVE9UQUwuUEFDS0FHRVMuTEFCRUwiIHNlbGVjdD0iJyMxICQxIEFuYWx5emVkJyIgLz4NCi0NCi08eHNsOnBhcmFtIG5hbWU9IkJVR1MuU0lOR0xFLkxBQkVMIiBzZWxlY3Q9IidCdWcnIiAvPg0KLTx4c2w6cGFyYW0gbmFtZT0iQlVHUy5QVUxVUkFMLkxBQkVMIiBzZWxlY3Q9IidCdWdzJyIgLz4NCi08eHNsOnBhcmFtIG5hbWU9IlBBQ0tBR0UuU0lOR0xFLkxBQkVMIiBzZWxlY3Q9IidQYWNrYWdlJyIgLz4NCi08eHNsOnBhcmFtIG5hbWU9IlBBQ0tBR0UuUFVMVVJBTC5MQUJFTCIgc2VsZWN0PSInUGFja2FnZXMnIiAvPg0KLQ0KLQ0KLTx4c2w6cGFyYW0gbmFtZT0iVEFCTEUuSEVBRElORy5UWVBFIiBzZWxlY3Q9IidUeXBlIENoZWNrZWQnIiAvPg0KLTx4c2w6cGFyYW0gbmFtZT0iVEFCTEUuSEVBRElORy5DT1VOVCIgc2VsZWN0PSInQ291bnQnIiAvPg0KLTx4c2w6cGFyYW0gbmFtZT0iVEFCTEUuSEVBRElORy5CVUdTIiBzZWxlY3Q9IidCdWdzJyIgLz4NCi08eHNsOnBhcmFtIG5hbWU9IlRBQkxFLkhFQURJTkcuUEVSQ0VOVCIgc2VsZWN0PSInUGVyY2VudGFnZSciIC8+DQotPHhzbDpwYXJhbSBuYW1lPSJUQUJMRS5ST1cuT1VURVIiIHNlbGVjdD0iJ091dGVyIENsYXNzZXMnIiAvPg0KLTx4c2w6cGFyYW0gbmFtZT0iVEFCTEUuUk9XLklOTkVSIiBzZWxlY3Q9IidJbm5lciBDbGFzc2VzJyIgLz4NCi08eHNsOnBhcmFtIG5hbWU9IlRBQkxFLlJPVy5JTlRFUkZBQ0UiIHNlbGVjdD0iJ0ludGVyZmFjZXMnIiAvPg0KLTx4c2w6cGFyYW0gbmFtZT0iVEFCTEUuUk9XLlRPVEFMIiBzZWxlY3Q9IidUb3RhbCciIC8+DQotPHhzbDpwYXJhbSBuYW1lPSJUQUJMRS5XSURUSCIgc2VsZWN0PSInOTAlJyIgLz4NCi0NCi08eHNsOnBhcmFtIG5hbWU9IlBFUkNFTlRBR0UuRk9STUFUIiBzZWxlY3Q9IicjMC4wMCUnIiAvPg0KLQ0KLTwhLS0gVGhpcyB0ZW1wbGF0ZSBkcml2ZXMgdGhlIHJlc3Qgb2YgdGhlIG91dHB1dCAtLT4NCi08eHNsOnRlbXBsYXRlIG1hdGNoPSIvIiA+DQotICA8aHRtbD4NCi0gICA8IS0tIEpFZGl0b3JQYW5lIGdldHMgcmVhbGx5IGFuZ3J5IGlmIGl0IHNlZXMgdGhpcw0KLQlXV1A6IFNvcnJ5LCB0aGlzIG5lZWRzIHRvIGJlIGV4cGxhaW5lZCBiZXR0ZXIuIE5vdCBhIHZhbGlkIEhUTUwgZG9jdW1lbnQgd2l0aG91dCBhIGhlYWQuDQotCSAtLT4NCi0gICA8aGVhZD48dGl0bGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRQQUdFLlRJVExFIiAvPjwvdGl0bGU+PC9oZWFkPg0KLSAgPGJvZHk+DQotICAgIDxoMSBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vZmluZGJ1Z3Muc291cmNlZm9yZ2UubmV0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJFNVTU1BUlkuSEVBREVSIiAvPjwvYT48L2gxPg0KLSAgICA8aDIgYWxpZ249ImNlbnRlciI+IEFuYWx5c2lzIGZvciANCi0gICAgPHhzbDpjaG9vc2U+DQotICAgICAgPHhzbDp3aGVuIHRlc3Q9J3N0cmluZy1sZW5ndGgoL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AcHJvamVjdE5hbWUpPjAnPg0KLSAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AcHJvamVjdE5hbWUiIC8+PC94c2w6d2hlbj4NCi0gICAgICA8eHNsOm90aGVyd2lzZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iL0J1Z0NvbGxlY3Rpb24vUHJvamVjdC9AZmlsZW5hbWUiIC8+PC94c2w6b3RoZXJ3aXNlPg0KLSAgICA8L3hzbDpjaG9vc2U+DQotICAgICAgPC9oMj4NCi0gIDxoMiBhbGlnbj0iY2VudGVyIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJFNVTU1BUlkuTEFCRUwiIC8+IA0KLSAgICAgIDxpPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvL0ZpbmRCdWdzU3VtbWFyeS9AdGltZXN0YW1wIiAvPjwvaT48L2gyPg0KLSAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIvL0ZpbmRCdWdzU3VtbWFyeSIgLz4NCi0gIDxici8+DQotICA8cCBhbGlnbj0iY2VudGVyIj4NCi0gIDxmb250IGZhY2U9InskUEFHRS5GT05UfSIgc2l6ZT0iNiI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRQQUNLQUdFLkhFQURFUiIgLz48L2ZvbnQ+DQotICAgIDxici8+PGZvbnQgZmFjZT0ieyRQQUdFLkZPTlR9IiBzaXplPSI0Ij48aT4oPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRQQUNLQUdFLlNPUlQuTEFCRUwiLz4pPC9pPjwvZm9udD4NCi0gIDwvcD4NCi0gIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvL0ZpbmRCdWdzU3VtbWFyeS9QYWNrYWdlU3RhdHMiPg0KLSAgPHhzbDpzb3J0IHNlbGVjdD0iQHRvdGFsX2J1Z3MiIGRhdGEtdHlwZT0ibnVtYmVyIiBvcmRlcj0iZGVzY2VuZGluZyIgLz4NCi0gIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgLz4NCi0gIDwveHNsOmZvci1lYWNoPg0KLSAgPC9ib2R5Pg0KLSAgPC9odG1sPg0KLTwveHNsOnRlbXBsYXRlPg0KLQ0KLTx4c2w6dGVtcGxhdGUgbmFtZT0ic3RhdHVzX3RhYmxlX3JvdyIgPg0KLSAgPHhzbDpwYXJhbSBuYW1lPSJMQUJFTCIgc2VsZWN0PSInJyIgLz4NCi0gIDx4c2w6cGFyYW0gbmFtZT0iQ09VTlQiIHNlbGVjdD0iMSIgLz4NCi0gIDx4c2w6cGFyYW0gbmFtZT0iQlVHUyIgc2VsZWN0PSIwIiAvPg0KLSAgPHhzbDpwYXJhbSBuYW1lPSJGT05UX1NJWkUiIHNlbGVjdD0iNCIgLz4NCi0gIDx0cj4NCi0gICA8dGQgYWxpZ249ImxlZnQiPjxmb250IGZhY2U9InskUEFHRS5GT05UfSIgc2l6ZT0ieyRGT05UX1NJWkV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJExBQkVMIiAvPjwvZm9udD48L3RkPg0KLSAgIDx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJ7JFBBR0UuRk9OVH0iIGNvbG9yPSJncmVlbiIgc2l6ZT0ieyRGT05UX1NJWkV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJENPVU5UIiAvPjwvZm9udD48L3RkPg0KLSAgIDx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJ7JFBBR0UuRk9OVH0iIGNvbG9yPSJyZWQiIHNpemU9InskRk9OVF9TSVpFfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRCVUdTIiAvPjwvZm9udD48L3RkPg0KLSAgIDx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJ7JFBBR0UuRk9OVH0iIGNvbG9yPSJibHVlIiBzaXplPSJ7JEZPTlRfU0laRX0iPg0KLSAgICAgIDx4c2w6Y2hvb3NlPg0KLSAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkQ09VTlQgJmd0OyAwIj4NCi0gICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIobnVtYmVyKCRCVUdTIGRpdiAkQ09VTlQpLCAkUEVSQ0VOVEFHRS5GT1JNQVQpIi8+DQotICAgICAgPC94c2w6d2hlbj4NCi0gICAgICA8eHNsOm90aGVyd2lzZT4NCi0gICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoMCwgJFBFUkNFTlRBR0UuRk9STUFUKSIvPg0KLSAgICAgIDwveHNsOm90aGVyd2lzZT4NCi0gICAgICA8L3hzbDpjaG9vc2U+DQotICAgICA8L2ZvbnQ+DQotICAgPC90ZD4NCi0gIDwvdHI+DQotPC94c2w6dGVtcGxhdGU+DQotDQotPHhzbDp0ZW1wbGF0ZSBuYW1lPSJ0YWJsZV9oZWFkZXIiID4NCi0gIDx0cj4NCi0gIDx0aD48Zm9udCBmYWNlPSJ7JFBBR0UuRk9OVH0iIHNpemU9IjQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkVEFCTEUuSEVBRElORy5UWVBFIi8+PC9mb250PjwvdGg+DQotICA8dGg+PGZvbnQgZmFjZT0ieyRQQUdFLkZPTlR9IiBzaXplPSI0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJFRBQkxFLkhFQURJTkcuQ09VTlQiLz48L2ZvbnQ+PC90aD4NCi0gIDx0aD48Zm9udCBmYWNlPSJ7JFBBR0UuRk9OVH0iIHNpemU9IjQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkVEFCTEUuSEVBRElORy5CVUdTIi8+PC9mb250PjwvdGg+DQotICA8dGg+PGZvbnQgZmFjZT0ieyRQQUdFLkZPTlR9IiBzaXplPSI0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJFRBQkxFLkhFQURJTkcuUEVSQ0VOVCIvPjwvZm9udD48L3RoPg0KLSAgPC90cj4NCi08L3hzbDp0ZW1wbGF0ZT4NCi0NCi08eHNsOnRlbXBsYXRlIG1hdGNoPSJGaW5kQnVnc1N1bW1hcnkiID4NCi0gIDx0YWJsZSB3aWR0aD0ieyRUQUJMRS5XSURUSH0iIGJvcmRlcj0iMSIgYWxpZ249ImNlbnRlciI+DQotICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRhYmxlX2hlYWRlciIgLz4NCi0NCi0gICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3RhdHVzX3RhYmxlX3JvdyI+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iTEFCRUwiIHNlbGVjdD0iJFRBQkxFLlJPVy5PVVRFUiIgLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJDT1VOVCIgc2VsZWN0PSJjb3VudChQYWNrYWdlU3RhdHMvQ2xhc3NTdGF0c1tAaW50ZXJmYWNlPSdmYWxzZScgYW5kIHN1YnN0cmluZy1hZnRlcihAY2xhc3MsJyQnKT0nJ10pIiAvPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkJVR1MiIHNlbGVjdD0ic3VtKFBhY2thZ2VTdGF0cy9DbGFzc1N0YXRzW0BpbnRlcmZhY2U9J2ZhbHNlJyBhbmQgc3Vic3RyaW5nLWFmdGVyKEBjbGFzcywnJCcpPScnXS9AYnVncykiIC8+DQotICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4NCi0NCi0gICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3RhdHVzX3RhYmxlX3JvdyI+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iTEFCRUwiIHNlbGVjdD0iJFRBQkxFLlJPVy5JTk5FUiIgLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJDT1VOVCIgc2VsZWN0PSJjb3VudChQYWNrYWdlU3RhdHMvQ2xhc3NTdGF0c1tAaW50ZXJmYWNlPSdmYWxzZScgYW5kIHN1YnN0cmluZy1hZnRlcihAY2xhc3MsJyQnKSE9JyddKSIgLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJCVUdTIiBzZWxlY3Q9InN1bShQYWNrYWdlU3RhdHMvQ2xhc3NTdGF0c1tAaW50ZXJmYWNlPSdmYWxzZScgYW5kIHN1YnN0cmluZy1hZnRlcihAY2xhc3MsJyQnKSE9JyddL0BidWdzKSIgLz4NCi0gICA8L3hzbDpjYWxsLXRlbXBsYXRlPg0KLQ0KLSAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdGF0dXNfdGFibGVfcm93Ij4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJMQUJFTCIgc2VsZWN0PSIkVEFCTEUuUk9XLklOVEVSRkFDRSIgLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJDT1VOVCIgc2VsZWN0PSJjb3VudChQYWNrYWdlU3RhdHMvQ2xhc3NTdGF0c1tAaW50ZXJmYWNlPSd0cnVlJ10pIiAvPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkJVR1MiIHNlbGVjdD0ic3VtKFBhY2thZ2VTdGF0cy9DbGFzc1N0YXRzW0BpbnRlcmZhY2U9J3RydWUnXS9AYnVncykiIC8+DQotICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4NCi0NCi0gICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3RhdHVzX3RhYmxlX3JvdyI+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iTEFCRUwiIHNlbGVjdD0iJFRBQkxFLlJPVy5UT1RBTCIgLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJDT1VOVCIgc2VsZWN0PSJAdG90YWxfY2xhc3NlcyIgLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJCVUdTIiBzZWxlY3Q9IkB0b3RhbF9idWdzIi8+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iRk9OVF9TSVpFIiBzZWxlY3Q9IjUiLz4NCi0gICA8L3hzbDpjYWxsLXRlbXBsYXRlPg0KLSAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibnVtX3BhY2thZ2VzIiBzZWxlY3Q9ImNvdW50KFBhY2thZ2VTdGF0cykiIC8+DQotICAgPHRyPjx0ZCBhbGlnbj0iY2VudGVyIiBjb2xzcGFuPSI0Ij48Zm9udCBmYWNlPSJ7JFBBR0UuRk9OVH0iIHNpemU9IjQiPg0KLSAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9J3N0cmluZ19mb3JtYXQnPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkNPVU5UIiBzZWxlY3Q9IiRudW1fcGFja2FnZXMiLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJTVFJJTkciIHNlbGVjdD0iJFRPVEFMLlBBQ0tBR0VTLkxBQkVMIi8+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iU0lOR0xFIiBzZWxlY3Q9IiRQQUNLQUdFLlNJTkdMRS5MQUJFTCIvPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IlBVTFVSQUwiIHNlbGVjdD0iJFBBQ0tBR0UuUFVMVVJBTC5MQUJFTCIvPg0KLSAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4NCi0gICAgIDwvZm9udD48L3RkPg0KLSAgIDwvdHI+DQotICA8L3RhYmxlPg0KLTwveHNsOnRlbXBsYXRlPg0KLQ0KLQ0KLTx4c2w6dGVtcGxhdGUgbmFtZT0nc3RyaW5nX2Zvcm1hdCc+DQotICA8eHNsOnBhcmFtIG5hbWU9IkNPVU5UIiBzZWxlY3Q9IjEiLz4NCi0gIDx4c2w6cGFyYW0gbmFtZT0iU1RSSU5HIiBzZWxlY3Q9IicnIi8+DQotICA8eHNsOnBhcmFtIG5hbWU9IlNJTkdMRSIgc2VsZWN0PSInJyIvPg0KLSAgPHhzbDpwYXJhbSBuYW1lPSJQVUxVUkFMIiBzZWxlY3Q9IicnIi8+DQotICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNvdW50X3N0ciIgc2VsZWN0PSJjb25jYXQoc3Vic3RyaW5nLWJlZm9yZSgkU1RSSU5HLCcjMScpLCAkQ09VTlQsIHN1YnN0cmluZy1hZnRlcigkU1RSSU5HLCcjMScpKSIgLz4NCi0NCi0gIDx4c2w6Y2hvb3NlPg0KLSAgICA8eHNsOndoZW4gdGVzdD0iJENPVU5UICZndDsgMSI+DQotICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChzdWJzdHJpbmctYmVmb3JlKCRjb3VudF9zdHIsJyQxJyksICRQVUxVUkFMLCBzdWJzdHJpbmctYWZ0ZXIoJGNvdW50X3N0ciwnJDEnKSkiIC8+DQotICAgIDwveHNsOndoZW4+DQotICAgIDx4c2w6b3RoZXJ3aXNlPg0KLSAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KHN1YnN0cmluZy1iZWZvcmUoJGNvdW50X3N0ciwnJDEnKSwgJFNJTkdMRSwgc3Vic3RyaW5nLWFmdGVyKCRjb3VudF9zdHIsJyQxJykpIiAvPg0KLSAgICA8L3hzbDpvdGhlcndpc2U+DQotICA8L3hzbDpjaG9vc2U+DQotPC94c2w6dGVtcGxhdGU+DQotDQotDQotPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iUGFja2FnZVN0YXRzIiA+DQotICA8eHNsOnZhcmlhYmxlIG5hbWU9InBhY2thZ2UtbmFtZSI+DQotICAgIDx4c2w6Y2hvb3NlPg0KLSAgICAgIDx4c2w6d2hlbiB0ZXN0PSJAcGFja2FnZSA9ICcnIj4NCi0gICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkREVGQVVMVC5QQUNLQUdFLk5BTUUiLz4NCi0gICAgICA8L3hzbDp3aGVuPg0KLSAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KLSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwYWNrYWdlIi8+DQotICAgICAgPC94c2w6b3RoZXJ3aXNlPg0KLSAgICA8L3hzbDpjaG9vc2U+DQotICA8L3hzbDp2YXJpYWJsZT4NCi0gIDx4c2w6dmFyaWFibGUgbmFtZT0icGFja2FnZS1wcmVmaXgiPg0KLSAgICA8eHNsOmNob29zZT4NCi0gICAgICA8eHNsOndoZW4gdGVzdD0iQHBhY2thZ2UgPSAnJyI+DQotICAgICAgICA8eHNsOnRleHQ+PC94c2w6dGV4dD4NCi0gICAgICA8L3hzbDp3aGVuPg0KLSAgICAgIDx4c2w6b3RoZXJ3aXNlPg0KLSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAcGFja2FnZSwnLicpIi8+DQotICAgICAgPC94c2w6b3RoZXJ3aXNlPg0KLSAgICA8L3hzbDpjaG9vc2U+DQotICA8L3hzbDp2YXJpYWJsZT4NCi0gIDxoMiBhbGlnbj0iY2VudGVyIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJFBBQ0tBR0UuTEFCRUwiLz48aT48Zm9udCBjb2xvcj0nZ3JlZW4nPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkcGFja2FnZS1uYW1lIiAvPjwvZm9udD48L2k+PC9oMj4NCi0gICA8dGFibGUgd2lkdGg9InskVEFCTEUuV0lEVEh9IiBib3JkZXI9IjEiIGFsaWduPSJjZW50ZXIiPg0KLSAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0YWJsZV9oZWFkZXIiIC8+DQotDQotICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0YXR1c190YWJsZV9yb3ciPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkxBQkVMIiBzZWxlY3Q9IiRUQUJMRS5ST1cuT1VURVIiIC8+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iQ09VTlQiIHNlbGVjdD0iY291bnQoQ2xhc3NTdGF0c1tAaW50ZXJmYWNlPSdmYWxzZScgYW5kIHN1YnN0cmluZy1hZnRlcihAY2xhc3MsJyQnKT0nJ10pIiAvPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkJVR1MiIHNlbGVjdD0ic3VtKENsYXNzU3RhdHNbQGludGVyZmFjZT0nZmFsc2UnIGFuZCBzdWJzdHJpbmctYWZ0ZXIoQGNsYXNzLCckJyk9JyddL0BidWdzKSIgLz4NCi0gICA8L3hzbDpjYWxsLXRlbXBsYXRlPg0KLQ0KLSAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdGF0dXNfdGFibGVfcm93Ij4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJMQUJFTCIgc2VsZWN0PSIkVEFCTEUuUk9XLklOTkVSIiAvPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkNPVU5UIiBzZWxlY3Q9ImNvdW50KENsYXNzU3RhdHNbQGludGVyZmFjZT0nZmFsc2UnIGFuZCBzdWJzdHJpbmctYWZ0ZXIoQGNsYXNzLCckJykhPScnXSkiIC8+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iQlVHUyIgc2VsZWN0PSJzdW0oQ2xhc3NTdGF0c1tAaW50ZXJmYWNlPSdmYWxzZScgYW5kIHN1YnN0cmluZy1hZnRlcihAY2xhc3MsJyQnKSE9JyddL0BidWdzKSIgLz4NCi0gICA8L3hzbDpjYWxsLXRlbXBsYXRlPg0KLQ0KLSAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdGF0dXNfdGFibGVfcm93Ij4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJMQUJFTCIgc2VsZWN0PSIkVEFCTEUuUk9XLklOVEVSRkFDRSIgLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJDT1VOVCIgc2VsZWN0PSJjb3VudChDbGFzc1N0YXRzW0BpbnRlcmZhY2U9J3RydWUnXSkiIC8+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iQlVHUyIgc2VsZWN0PSJzdW0oQ2xhc3NTdGF0c1tAaW50ZXJmYWNlPSd0cnVlJ10vQGJ1Z3MpIiAvPg0KLSAgIDwveHNsOmNhbGwtdGVtcGxhdGU+DQotDQotICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0YXR1c190YWJsZV9yb3ciPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkxBQkVMIiBzZWxlY3Q9IiRUQUJMRS5ST1cuVE9UQUwiIC8+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iQ09VTlQiIHNlbGVjdD0iQHRvdGFsX3R5cGVzIiAvPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkJVR1MiIHNlbGVjdD0iQHRvdGFsX2J1Z3MiIC8+DQotICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iRk9OVF9TSVpFIiBzZWxlY3Q9IjUiLz4NCi0gICA8L3hzbDpjYWxsLXRlbXBsYXRlPg0KLQ0KLSAgPC90YWJsZT4NCi0gIDx4c2w6aWYgdGVzdD0iQHRvdGFsX2J1Z3MgJmd0OyAwIj4NCi0gIDx0YWJsZSB3aWR0aD0ieyRUQUJMRS5XSURUSH0iIGJvcmRlcj0iMCIgYWxpZ249ImNlbnRlciI+DQotICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im1heF9idWdzIj4NCi0gICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkNsYXNzU3RhdHMiPg0KLSAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBidWdzIiBkYXRhLXR5cGU9Im51bWJlciIgb3JkZXI9ImRlc2NlbmRpbmciLz4NCi0gICAgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCk9MSI+DQotICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGJ1Z3MiLz4NCi0gICAgICAgICA8L3hzbDppZj4NCi0gICAgICAgPC94c2w6Zm9yLWVhY2g+DQotICAgICA8L3hzbDp2YXJpYWJsZT4NCi0NCi0gICAgIDx0cj4NCi0gICAgICAgPHRkIGFsaWduPSJsZWZ0IiBjb2xzcGFuPSIyIj4NCi0gICAgICAgICA8Zm9udCBmYWNlPSJ7JFBBR0UuRk9OVH0iIHNpemU9IjQiPg0KLSAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9J3N0cmluZ19mb3JtYXQnPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IkNPVU5UIiBzZWxlY3Q9IiRtYXhfYnVncyIvPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IlNUUklORyIgc2VsZWN0PSIkUEFDS0FHRS5CVUdDTEFTUy5MQUJFTCIvPg0KLSAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IlNJTkdMRSIgc2VsZWN0PSIkQlVHUy5TSU5HTEUuTEFCRUwiLz4NCi0gICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJQVUxVUkFMIiBzZWxlY3Q9IiRCVUdTLlBVTFVSQUwuTEFCRUwiLz4NCi0gICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+DQotICAgICAgICAgPC9mb250Pg0KLSAgICAgICA8L3RkPg0KLSAgICAgPC90cj4NCi0NCi0gICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJDbGFzc1N0YXRzIj4NCi0gICAgICAgPHhzbDppZiB0ZXN0PSJAYnVncyA9ICRtYXhfYnVncyI+DQotICAgICAgIDx0cj4NCi0gICAgICAgICAgPHRkPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOzwvdGQ+DQotICAgICAgICAgIDx0ZCBhbGlnbj0ibGVmdCI+PGZvbnQgZmFjZT0ieyRQQUdFLkZPTlR9IiBjb2xvcj0icmVkIiBzaXplPSI0Ij48aT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHBhY2thZ2UtcHJlZml4Ii8+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBjbGFzcyIgLz48L2k+PC9mb250PjwvdGQ+DQotICAgICAgIDwvdHI+DQotICAgICAgIDwveHNsOmlmPg0KLSAgICAgPC94c2w6Zm9yLWVhY2g+DQotDQotICAgPC90YWJsZT4NCi0gIDwveHNsOmlmPg0KLSAgPGJyLz4NCi08L3hzbDp0ZW1wbGF0ZT4NCi0NCi08L3hzbDpzdHlsZXNoZWV0Pg0KZGlmZiAtLWdpdCBhL3Rvb2xzL2dvb2dsZWNvZGVfdXBsb2FkLnB5IGIvdG9vbHMvZ29vZ2xlY29kZV91cGxvYWQucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDE2OTEyMzYuLjAwMDAwMDAKLS0tIGEvdG9vbHMvZ29vZ2xlY29kZV91cGxvYWQucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyNTYgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jCi0jIENvcHlyaWdodCAyMDA2LCAyMDA3IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0jIEF1dGhvcjogZGFuZGVyc29uQGdvb2dsZS5jb20gKERhdmlkIEFuZGVyc29uKQotIwotIyBTY3JpcHQgZm9yIHVwbG9hZGluZyBmaWxlcyB0byBhIEdvb2dsZSBDb2RlIHByb2plY3QuCi0jCi0jIFRoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYm90aCBhIHVzZWZ1bCBzY3JpcHQgZm9yIHBlb3BsZSB3aG8gd2FudCB0bwotIyBzdHJlYW1saW5lIHByb2plY3QgdXBsb2FkcyBhbmQgYSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gZm9yCi0jIHVwbG9hZGluZyBmaWxlcyB0byBHb29nbGUgQ29kZSBwcm9qZWN0cy4KLSMKLSMgVG8gdXBsb2FkIGEgZmlsZSB0byBHb29nbGUgQ29kZSwgeW91IG5lZWQgdG8gcHJvdmlkZSBhIHBhdGggdG8gdGhlCi0jIGZpbGUgb24geW91ciBsb2NhbCBtYWNoaW5lLCBhIHNtYWxsIHN1bW1hcnkgb2Ygd2hhdCB0aGUgZmlsZSBpcywgYQotIyBwcm9qZWN0IG5hbWUsIGFuZCBhIHZhbGlkIGFjY291bnQgdGhhdCBpcyBhIG1lbWJlciBvciBvd25lciBvZiB0aGF0Ci0jIHByb2plY3QuICBZb3UgY2FuIG9wdGlvbmFsbHkgcHJvdmlkZSBhIGxpc3Qgb2YgbGFiZWxzIHRoYXQgYXBwbHkgdG8KLSMgdGhlIGZpbGUuICBUaGUgZmlsZSB3aWxsIGJlIHVwbG9hZGVkIHVuZGVyIHRoZSBzYW1lIG5hbWUgdGhhdCBpdCBoYXMKLSMgaW4geW91ciBsb2NhbCBmaWxlc3lzdGVtICh0aGF0IGlzLCB0aGUgImJhc2VuYW1lIiBvciBsYXN0IHBhdGgKLSMgY29tcG9uZW50KS4gIFJ1biB0aGUgc2NyaXB0IHdpdGggJy0taGVscCcgdG8gZ2V0IHRoZSBleGFjdCBzeW50YXgKLSMgYW5kIGF2YWlsYWJsZSBvcHRpb25zLgotIwotIyBOb3RlIHRoYXQgdGhlIHVwbG9hZCBzY3JpcHQgcmVxdWVzdHMgdGhhdCB5b3UgZW50ZXIgeW91cgotIyBnb29nbGVjb2RlLmNvbSBwYXNzd29yZC4gIFRoaXMgaXMgTk9UIHlvdXIgR21haWwgYWNjb3VudCBwYXNzd29yZCEKLSMgVGhpcyBpcyB0aGUgcGFzc3dvcmQgeW91IHVzZSBvbiBnb29nbGVjb2RlLmNvbSBmb3IgY29tbWl0dGluZyB0bwotIyBTdWJ2ZXJzaW9uIGFuZCB1cGxvYWRpbmcgZmlsZXMuICBZb3UgY2FuIGZpbmQgeW91ciBwYXNzd29yZCBieSBnb2luZwotIyB0byBodHRwOi8vY29kZS5nb29nbGUuY29tL2hvc3Rpbmcvc2V0dGluZ3Mgd2hlbiBsb2dnZWQgaW4gd2l0aCB5b3VyCi0jIEdtYWlsIGFjY291bnQuIElmIHlvdSBoYXZlIGFscmVhZHkgY29tbWl0dGVkIHRvIHlvdXIgcHJvamVjdCdzCi0jIFN1YnZlcnNpb24gcmVwb3NpdG9yeSwgdGhlIHNjcmlwdCB3aWxsIGF1dG9tYXRpY2FsbHkgcmV0cmlldmUgeW91cgotIyBjcmVkZW50aWFscyBmcm9tIHRoZXJlICh1bmxlc3MgZGlzYWJsZWQsIHNlZSB0aGUgb3V0cHV0IG9mICctLWhlbHAnCi0jIGZvciBkZXRhaWxzKS4KLSMKLSMgSWYgeW91IGFyZSBsb29raW5nIGF0IHRoaXMgc2NyaXB0IGFzIGEgcmVmZXJlbmNlIGZvciBpbXBsZW1lbnRpbmcKLSMgeW91ciBvd24gR29vZ2xlIENvZGUgZmlsZSB1cGxvYWRlciwgdGhlbiB5b3Ugc2hvdWxkIHRha2UgYSBsb29rIGF0Ci0jIHRoZSB1cGxvYWQoKSBmdW5jdGlvbiwgd2hpY2ggaXMgdGhlIG1lYXQgb2YgdGhlIHVwbG9hZGVyLiAgWW91Ci0jIGJhc2ljYWxseSBuZWVkIHRvIGJ1aWxkIGEgbXVsdGlwYXJ0L2Zvcm0tZGF0YSBQT1NUIHJlcXVlc3Qgd2l0aCB0aGUKLSMgcmlnaHQgZmllbGRzIGFuZCBzZW5kIGl0IHRvIGh0dHBzOi8vUFJPSkVDVC5nb29nbGVjb2RlLmNvbS9maWxlcyAuCi0jIEF1dGhlbnRpY2F0ZSB0aGUgcmVxdWVzdCB1c2luZyBIVFRQIEJhc2ljIGF1dGhlbnRpY2F0aW9uLCBhcyBpcwotIyBzaG93biBiZWxvdy4KLSMKLSMgTGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBBcGFjaGUgU29mdHdhcmUgTGljZW5zZSAyLjA6Ci0jICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSMKLSMgUXVlc3Rpb25zLCBjb21tZW50cywgZmVhdHVyZSByZXF1ZXN0cyBhbmQgcGF0Y2hlcyBhcmUgbW9zdCB3ZWxjb21lLgotIyBQbGVhc2UgZGlyZWN0IGFsbCBvZiB0aGVzZSB0byB0aGUgR29vZ2xlIENvZGUgdXNlcnMgZ3JvdXA6Ci0jICBodHRwOi8vZ3JvdXBzLmdvb2dsZS5jb20vZ3JvdXAvZ29vZ2xlLWNvZGUtaG9zdGluZwotCi0iIiJHb29nbGUgQ29kZSBmaWxlIHVwbG9hZGVyIHNjcmlwdC4KLSIiIgotCi1fX2F1dGhvcl9fID0gJ2RhbmRlcnNvbkBnb29nbGUuY29tIChEYXZpZCBBbmRlcnNvbiknCi0KLWltcG9ydCBodHRwbGliCi1pbXBvcnQgb3MucGF0aAotaW1wb3J0IG9wdHBhcnNlCi1pbXBvcnQgZ2V0cGFzcwotaW1wb3J0IGJhc2U2NAotaW1wb3J0IHN5cwotCi0KLWRlZiB1cGxvYWQoZmlsZSwgcHJvamVjdF9uYW1lLCB1c2VyX25hbWUsIHBhc3N3b3JkLCBzdW1tYXJ5LCBsYWJlbHM9Tm9uZSk6Ci0gICIiIlVwbG9hZCBhIGZpbGUgdG8gYSBHb29nbGUgQ29kZSBwcm9qZWN0J3MgZmlsZSBzZXJ2ZXIuCi0KLSAgQXJnczoKLSAgICBmaWxlOiBUaGUgbG9jYWwgcGF0aCB0byB0aGUgZmlsZS4KLSAgICBwcm9qZWN0X25hbWU6IFRoZSBuYW1lIG9mIHlvdXIgcHJvamVjdCBvbiBHb29nbGUgQ29kZS4KLSAgICB1c2VyX25hbWU6IFlvdXIgR29vZ2xlIGFjY291bnQgbmFtZS4KLSAgICBwYXNzd29yZDogVGhlIGdvb2dsZWNvZGUuY29tIHBhc3N3b3JkIGZvciB5b3VyIGFjY291bnQuCi0gICAgICAgICAgICAgIE5vdGUgdGhhdCB0aGlzIGlzIE5PVCB5b3VyIGdsb2JhbCBHb29nbGUgQWNjb3VudCBwYXNzd29yZCEKLSAgICBzdW1tYXJ5OiBBIHNtYWxsIGRlc2NyaXB0aW9uIGZvciB0aGUgZmlsZS4KLSAgICBsYWJlbHM6IGFuIG9wdGlvbmFsIGxpc3Qgb2YgbGFiZWwgc3RyaW5ncyB3aXRoIHdoaWNoIHRvIHRhZyB0aGUgZmlsZS4KLQotICBSZXR1cm5zOiBhIHR1cGxlOgotICAgIGh0dHBfc3RhdHVzOiAyMDEgaWYgdGhlIHVwbG9hZCBzdWNjZWVkZWQsIHNvbWV0aGluZyBlbHNlIGlmIGFuCi0gICAgICAgICAgICAgICAgIGVycm9yIG9jY3VyZWQuCi0gICAgaHR0cF9yZWFzb246IFRoZSBodW1hbi1yZWFkYWJsZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIGh0dHBfc3RhdHVzCi0gICAgZmlsZV91cmw6IElmIHRoZSB1cGxvYWQgc3VjY2VlZGVkLCB0aGUgVVJMIG9mIHRoZSBmaWxlIG9uIEdvb2dsZQotICAgICAgICAgICAgICBDb2RlLCBOb25lIG90aGVyd2lzZS4KLSAgIiIiCi0gICMgVGhlIGxvZ2luIGlzIHRoZSB1c2VyIHBhcnQgb2YgdXNlckBnbWFpbC5jb20uIElmIHRoZSBsb2dpbiBwcm92aWRlZAotICAjIGlzIGluIHRoZSBmdWxsIHVzZXJAZG9tYWluIGZvcm0sIHN0cmlwIGl0IGRvd24uCi0gIGlmIHVzZXJfbmFtZS5lbmRzd2l0aCgnQGdtYWlsLmNvbScpOgotICAgIHVzZXJfbmFtZSA9IHVzZXJfbmFtZVs6dXNlcl9uYW1lLmluZGV4KCdAZ21haWwuY29tJyldCi0KLSAgZm9ybV9maWVsZHMgPSBbKCdzdW1tYXJ5Jywgc3VtbWFyeSldCi0gIGlmIGxhYmVscyBpcyBub3QgTm9uZToKLSAgICBmb3JtX2ZpZWxkcy5leHRlbmQoWygnbGFiZWwnLCBsLnN0cmlwKCkpIGZvciBsIGluIGxhYmVsc10pCi0KLSAgY29udGVudF90eXBlLCBib2R5ID0gZW5jb2RlX3VwbG9hZF9yZXF1ZXN0KGZvcm1fZmllbGRzLCBmaWxlKQotCi0gIHVwbG9hZF9ob3N0ID0gJyVzLmdvb2dsZWNvZGUuY29tJyAlIHByb2plY3RfbmFtZQotICB1cGxvYWRfdXJpID0gJy9maWxlcycKLSAgYXV0aF90b2tlbiA9IGJhc2U2NC5iNjRlbmNvZGUoJyVzOiVzJyUgKHVzZXJfbmFtZSwgcGFzc3dvcmQpKQotICBoZWFkZXJzID0gewotICAgICdBdXRob3JpemF0aW9uJzogJ0Jhc2ljICVzJyAlIGF1dGhfdG9rZW4sCi0gICAgJ1VzZXItQWdlbnQnOiAnR29vZ2xlY29kZS5jb20gdXBsb2FkZXIgdjAuOS40JywKLSAgICAnQ29udGVudC1UeXBlJzogY29udGVudF90eXBlLAotICAgIH0KLQotICBzZXJ2ZXIgPSBodHRwbGliLkhUVFBTQ29ubmVjdGlvbih1cGxvYWRfaG9zdCkKLSAgc2VydmVyLnJlcXVlc3QoJ1BPU1QnLCB1cGxvYWRfdXJpLCBib2R5LCBoZWFkZXJzKQotICByZXNwID0gc2VydmVyLmdldHJlc3BvbnNlKCkKLSAgc2VydmVyLmNsb3NlKCkKLQotICBpZiByZXNwLnN0YXR1cyA9PSAyMDE6Ci0gICAgbG9jYXRpb24gPSByZXNwLmdldGhlYWRlcignTG9jYXRpb24nLCBOb25lKQotICBlbHNlOgotICAgIGxvY2F0aW9uID0gTm9uZQotICByZXR1cm4gcmVzcC5zdGF0dXMsIHJlc3AucmVhc29uLCBsb2NhdGlvbgotCi0KLWRlZiBlbmNvZGVfdXBsb2FkX3JlcXVlc3QoZmllbGRzLCBmaWxlX3BhdGgpOgotICAiIiJFbmNvZGUgdGhlIGdpdmVuIGZpZWxkcyBhbmQgZmlsZSBpbnRvIGEgbXVsdGlwYXJ0IGZvcm0gYm9keS4KLQotICBmaWVsZHMgaXMgYSBzZXF1ZW5jZSBvZiAobmFtZSwgdmFsdWUpIHBhaXJzLiBmaWxlIGlzIHRoZSBwYXRoIG9mCi0gIHRoZSBmaWxlIHRvIHVwbG9hZC4gVGhlIGZpbGUgd2lsbCBiZSB1cGxvYWRlZCB0byBHb29nbGUgQ29kZSB3aXRoCi0gIHRoZSBzYW1lIGZpbGUgbmFtZS4KLQotICBSZXR1cm5zOiAoY29udGVudF90eXBlLCBib2R5KSByZWFkeSBmb3IgaHR0cGxpYi5IVFRQIGluc3RhbmNlCi0gICIiIgotICBCT1VOREFSWSA9ICctLS0tLS0tLS0tR29vZ2xlY29kZV9ib3VuZGFyeV9yZWluZGVlcl9mbG90aWxsYScKLSAgQ1JMRiA9ICdcclxuJwotCi0gIGJvZHkgPSBbXQotCi0gICMgQWRkIHRoZSBtZXRhZGF0YSBhYm91dCB0aGUgdXBsb2FkIGZpcnN0Ci0gIGZvciBrZXksIHZhbHVlIGluIGZpZWxkczoKLSAgICBib2R5LmV4dGVuZCgKLSAgICAgIFsnLS0nICsgQk9VTkRBUlksCi0gICAgICAgJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJXMiJyAlIGtleSwKLSAgICAgICAnJywKLSAgICAgICB2YWx1ZSwKLSAgICAgICBdKQotCi0gICMgTm93IGFkZCB0aGUgZmlsZSBpdHNlbGYKLSAgZmlsZV9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShmaWxlX3BhdGgpCi0gIGYgPSBvcGVuKGZpbGVfcGF0aCwgJ3JiJykKLSAgZmlsZV9jb250ZW50ID0gZi5yZWFkKCkKLSAgZi5jbG9zZSgpCi0KLSAgYm9keS5leHRlbmQoCi0gICAgWyctLScgKyBCT1VOREFSWSwKLSAgICAgJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iZmlsZW5hbWUiOyBmaWxlbmFtZT0iJXMiJwotICAgICAlIGZpbGVfbmFtZSwKLSAgICAgIyBUaGUgdXBsb2FkIHNlcnZlciBkZXRlcm1pbmVzIHRoZSBtaW1lLXR5cGUsIG5vIG5lZWQgdG8gc2V0IGl0LgotICAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAotICAgICAnJywKLSAgICAgZmlsZV9jb250ZW50LAotICAgICBdKQotCi0gICMgRmluYWxpemUgdGhlIGZvcm0gYm9keQotICBib2R5LmV4dGVuZChbJy0tJyArIEJPVU5EQVJZICsgJy0tJywgJyddKQotCi0gIHJldHVybiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9JXMnICUgQk9VTkRBUlksIENSTEYuam9pbihib2R5KQotCi0KLWRlZiB1cGxvYWRfZmluZF9hdXRoKGZpbGVfcGF0aCwgcHJvamVjdF9uYW1lLCBzdW1tYXJ5LCBsYWJlbHM9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgIHVzZXJfbmFtZT1Ob25lLCBwYXNzd29yZD1Ob25lLCB0cmllcz0zKToKLSAgIiIiRmluZCBjcmVkZW50aWFscyBhbmQgdXBsb2FkIGEgZmlsZSB0byBhIEdvb2dsZSBDb2RlIHByb2plY3QncyBmaWxlIHNlcnZlci4KLQotICBmaWxlX3BhdGgsIHByb2plY3RfbmFtZSwgc3VtbWFyeSwgYW5kIGxhYmVscyBhcmUgcGFzc2VkIGFzLWlzIHRvIHVwbG9hZC4KLQotICBBcmdzOgotICAgIGZpbGVfcGF0aDogVGhlIGxvY2FsIHBhdGggdG8gdGhlIGZpbGUuCi0gICAgcHJvamVjdF9uYW1lOiBUaGUgbmFtZSBvZiB5b3VyIHByb2plY3Qgb24gR29vZ2xlIENvZGUuCi0gICAgc3VtbWFyeTogQSBzbWFsbCBkZXNjcmlwdGlvbiBmb3IgdGhlIGZpbGUuCi0gICAgbGFiZWxzOiBhbiBvcHRpb25hbCBsaXN0IG9mIGxhYmVsIHN0cmluZ3Mgd2l0aCB3aGljaCB0byB0YWcgdGhlIGZpbGUuCi0gICAgY29uZmlnX2RpcjogUGF0aCB0byBTdWJ2ZXJzaW9uIGNvbmZpZ3VyYXRpb24gZGlyZWN0b3J5LCAnbm9uZScsIG9yIE5vbmUuCi0gICAgdXNlcl9uYW1lOiBZb3VyIEdvb2dsZSBhY2NvdW50IG5hbWUuCi0gICAgdHJpZXM6IEhvdyBtYW55IGF0dGVtcHRzIHRvIG1ha2UuCi0gICIiIgotICBpZiB1c2VyX25hbWUgaXMgTm9uZSBvciBwYXNzd29yZCBpcyBOb25lOgotICAgIGZyb20gbmV0cmMgaW1wb3J0IG5ldHJjCi0gICAgYXV0aGVudGljYXRvcnMgPSBuZXRyYygpLmF1dGhlbnRpY2F0b3JzKCJjb2RlLmdvb2dsZS5jb20iKQotICAgIGlmIGF1dGhlbnRpY2F0b3JzOgotICAgICAgaWYgdXNlcl9uYW1lIGlzIE5vbmU6Ci0gICAgICAgIHVzZXJfbmFtZSA9IGF1dGhlbnRpY2F0b3JzWzBdCi0gICAgICBpZiBwYXNzd29yZCBpcyBOb25lOgotICAgICAgICBwYXNzd29yZCA9IGF1dGhlbnRpY2F0b3JzWzJdCi0KLSAgd2hpbGUgdHJpZXMgPiAwOgotICAgIGlmIHVzZXJfbmFtZSBpcyBOb25lOgotICAgICAgIyBSZWFkIHVzZXJuYW1lIGlmIG5vdCBzcGVjaWZpZWQgb3IgbG9hZGVkIGZyb20gc3ZuIGNvbmZpZywgb3Igb24KLSAgICAgICMgc3Vic2VxdWVudCB0cmllcy4KLSAgICAgIHN5cy5zdGRvdXQud3JpdGUoJ1BsZWFzZSBlbnRlciB5b3VyIGdvb2dsZWNvZGUuY29tIHVzZXJuYW1lOiAnKQotICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0gICAgICB1c2VyX25hbWUgPSBzeXMuc3RkaW4ucmVhZGxpbmUoKS5yc3RyaXAoKQotICAgIGlmIHBhc3N3b3JkIGlzIE5vbmU6Ci0gICAgICAjIFJlYWQgcGFzc3dvcmQgaWYgbm90IGxvYWRlZCBmcm9tIHN2biBjb25maWcsIG9yIG9uIHN1YnNlcXVlbnQgdHJpZXMuCi0gICAgICBwcmludCAnUGxlYXNlIGVudGVyIHlvdXIgZ29vZ2xlY29kZS5jb20gcGFzc3dvcmQuJwotICAgICAgcHJpbnQgJyoqIE5vdGUgdGhhdCB0aGlzIGlzIE5PVCB5b3VyIEdtYWlsIGFjY291bnQgcGFzc3dvcmQhICoqJwotICAgICAgcHJpbnQgJ0l0IGlzIHRoZSBwYXNzd29yZCB5b3UgdXNlIHRvIGFjY2VzcyBTdWJ2ZXJzaW9uIHJlcG9zaXRvcmllcywnCi0gICAgICBwcmludCAnYW5kIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwOi8vY29kZS5nb29nbGUuY29tL2hvc3Rpbmcvc2V0dGluZ3MnCi0gICAgICBwYXNzd29yZCA9IGdldHBhc3MuZ2V0cGFzcygpCi0KLSAgICBzdGF0dXMsIHJlYXNvbiwgdXJsID0gdXBsb2FkKGZpbGVfcGF0aCwgcHJvamVjdF9uYW1lLCB1c2VyX25hbWUsIHBhc3N3b3JkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeSwgbGFiZWxzKQotICAgICMgUmV0dXJucyA0MDMgRm9yYmlkZGVuIGluc3RlYWQgb2YgNDAxIFVuYXV0aG9yaXplZCBmb3IgYmFkCi0gICAgIyBjcmVkZW50aWFscyBhcyBvZiAyMDA3LTA3LTE3LgotICAgIGlmIHN0YXR1cyBpbiBbaHR0cGxpYi5GT1JCSURERU4sIGh0dHBsaWIuVU5BVVRIT1JJWkVEXToKLSAgICAgICMgUmVzdCBmb3IgYW5vdGhlciB0cnkuCi0gICAgICB1c2VyX25hbWUgPSBwYXNzd29yZCA9IE5vbmUKLSAgICAgIHRyaWVzID0gdHJpZXMgLSAxCi0gICAgZWxzZToKLSAgICAgICMgV2UncmUgZG9uZS4KLSAgICAgIGJyZWFrCi0KLSAgcmV0dXJuIHN0YXR1cywgcmVhc29uLCB1cmwKLQotCi1kZWYgbWFpbigpOgotICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J2dvb2dsZWNvZGUtdXBsb2FkLnB5IC1zIFNVTU1BUlkgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1wIFBST0pFQ1QgW29wdGlvbnNdIEZJTEUnKQotICBwYXJzZXIuYWRkX29wdGlvbignLXMnLCAnLS1zdW1tYXJ5JywgZGVzdD0nc3VtbWFyeScsCi0gICAgICAgICAgICAgICAgICAgIGhlbHA9J1Nob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBmaWxlJykKLSAgcGFyc2VyLmFkZF9vcHRpb24oJy1wJywgJy0tcHJvamVjdCcsIGRlc3Q9J3Byb2plY3QnLAotICAgICAgICAgICAgICAgICAgICBoZWxwPSdHb29nbGUgQ29kZSBwcm9qZWN0IG5hbWUnKQotICBwYXJzZXIuYWRkX29wdGlvbignLXUnLCAnLS11c2VyJywgZGVzdD0ndXNlcicsCi0gICAgICAgICAgICAgICAgICAgIGhlbHA9J1lvdXIgR29vZ2xlIENvZGUgdXNlcm5hbWUnKQotICBwYXJzZXIuYWRkX29wdGlvbignLXcnLCAnLS1wYXNzd29yZCcsIGRlc3Q9J3Bhc3N3b3JkJywKLSAgICAgICAgICAgICAgICAgICAgaGVscD0nWW91ciBHb29nbGUgQ29kZSBwYXNzd29yZCcpCi0gIHBhcnNlci5hZGRfb3B0aW9uKCctbCcsICctLWxhYmVscycsIGRlc3Q9J2xhYmVscycsCi0gICAgICAgICAgICAgICAgICAgIGhlbHA9J0FuIG9wdGlvbmFsIGxpc3Qgb2YgY29tbWEtc2VwYXJhdGVkIGxhYmVscyB0byBhdHRhY2ggJwotICAgICAgICAgICAgICAgICAgICAndG8gdGhlIGZpbGUnKQotCi0gIG9wdGlvbnMsIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCi0KLSAgaWYgbm90IG9wdGlvbnMuc3VtbWFyeToKLSAgICBwYXJzZXIuZXJyb3IoJ0ZpbGUgc3VtbWFyeSBpcyBtaXNzaW5nLicpCi0gIGVsaWYgbm90IG9wdGlvbnMucHJvamVjdDoKLSAgICBwYXJzZXIuZXJyb3IoJ1Byb2plY3QgbmFtZSBpcyBtaXNzaW5nLicpCi0gIGVsaWYgbGVuKGFyZ3MpIDwgMToKLSAgICBwYXJzZXIuZXJyb3IoJ0ZpbGUgdG8gdXBsb2FkIG5vdCBwcm92aWRlZC4nKQotICBlbGlmIGxlbihhcmdzKSA+IDE6Ci0gICAgcGFyc2VyLmVycm9yKCdPbmx5IG9uZSBmaWxlIG1heSBiZSBzcGVjaWZpZWQuJykKLQotICBmaWxlX3BhdGggPSBhcmdzWzBdCi0KLSAgaWYgb3B0aW9ucy5sYWJlbHM6Ci0gICAgbGFiZWxzID0gb3B0aW9ucy5sYWJlbHMuc3BsaXQoJywnKQotICBlbHNlOgotICAgIGxhYmVscyA9IE5vbmUKLQotICBzdGF0dXMsIHJlYXNvbiwgdXJsID0gdXBsb2FkX2ZpbmRfYXV0aChmaWxlX3BhdGgsIG9wdGlvbnMucHJvamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5zdW1tYXJ5LCBsYWJlbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudXNlciwgb3B0aW9ucy5wYXNzd29yZCkKLSAgaWYgdXJsOgotICAgIHByaW50ICdUaGUgZmlsZSB3YXMgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5LicKLSAgICBwcmludCAnVVJMOiAlcycgJSB1cmwKLSAgICByZXR1cm4gMAotICBlbHNlOgotICAgIHByaW50ICdBbiBlcnJvciBvY2N1cnJlZC4gWW91ciBmaWxlIHdhcyBub3QgdXBsb2FkZWQuJwotICAgIHByaW50ICdHb29nbGUgQ29kZSB1cGxvYWQgc2VydmVyIHNhaWQ6ICVzICglcyknICUgKHJlYXNvbiwgc3RhdHVzKQotICAgIHJldHVybiAxCi0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgc3lzLmV4aXQobWFpbigpKQpkaWZmIC0tZ2l0IGEvdG9vbHMvc3RhZ2VfdG9fbWF2ZW5fY2VudHJhbC5zaCBiL3Rvb2xzL3N0YWdlX3RvX21hdmVuX2NlbnRyYWwuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGYwMWFkOTkuLjAwMDAwMDAKLS0tIGEvdG9vbHMvc3RhZ2VfdG9fbWF2ZW5fY2VudHJhbC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0KLWZ1bmN0aW9uIHJlcXVpcmVMb2NhbFJlcG9VcFRvRGF0ZSgpIHsKLSAgbG9jYWwgTE9DQUxfQ0hBTkdFUz0iJChzdm4gc3RhdHVzIC11IHwgZWdyZXAgLXYgJ15TdGF0dXMgYWdhaW5zdCByZXZpc2lvbjonKSIKLSAgIyAtdSBjYXVzZXMgc3RhdHVzIGRpZmZlcmVuY2VzIGZyb20gaGVhZCB0byBiZSByZXBvcnRlZC4KLSAgaWYgW1sgLW4gIiRMT0NBTF9DSEFOR0VTIiBdXTsgdGhlbgotICAgICAgZWNobyAiUmVwbyBpcyBub3QgdXAtdG8tZGF0ZSBvciBub3QgY29tbWl0dGVkLiIKLSAgICAgIGVjaG8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgICAgZWNobyAiJExPQ0FMX0NIQU5HRVMiCi0gICAgICBlY2hvID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotICAgICAgZWNobyAiQWJvcnRpbmcuIgotICAgICAgZWNobwotICAgICAgZXhpdCAtMQotICBmaQotfQotCi1yZXF1aXJlTG9jYWxSZXBvVXBUb0RhdGUKLQotUFJPSkVDVF9ESVI9IiQocHVzaGQgIiQoZGlybmFtZSAiJDAiKS8uLi8uLiIgPiYgL2Rldi9udWxsOyBwd2QgLVA7IHBvcGQgPiYgL2Rldi9udWxsKSIKLQotVkVSU0lPTj0iJDEiCi0KLVBBU1NQSFJBU0U9IiQyIgotCi1LRVlOQU1FPTQxNDQ5ODAyCi0KLWZ1bmN0aW9uIHVzYWdlQW5kRXhpdCgpIHsKLSAgZWNobyAiVXNhZ2U6ICQwIDx2ZXJzaW9uPiA8cGFzc3BocmFzZT4iCi0gIGVjaG8KLSAgZWNobyAiU3RhZ2VzIGEgcmVsZWFzZSBmb3IgZGVwbG95bWVudCBpbnRvIE1hdmVuIGNlbnRyYWwiCi0gIGVjaG8KLSAgZWNobyAiPHZlcnNpb24+IGlzIHRoZSBjdXJyZW50IFNWTiByZXZpc2lvbiBudW1iZXIuIgotICBlY2hvICJzdm4gaW5mbyBnaXZlcyBtb3JlIGluZm8gYWJvdXQgdGhlIHN0YXRlIG9mIHRydW5rLiIKLSAgZWNobwotICBlY2hvICI8cGFzc3BocmFzZT4gaXMgdGhlIHBhc3NwaHJhc2UgZm9yIHRoZSBHUEcga2V5ICRLRVlOQU1FLiIKLSAgZWNobyAiZ3BnIC0tbGlzdC1rZXlzIGZvciBtb3JlIGRldGFpbHMgb24gdGhlIGtleS4iCi0gIGVjaG8KLSAgZWNobyAiRm9yIGV4YW1wbGU6ICQwIHIxMjMgRUxJREVEIgotICBleGl0IC0xCi19Ci0KLWlmICEgWyAtZCAiJFBST0pFQ1RfRElSL21hdmVuIiBdOyB0aGVuCi0gIGVjaG8gIkNhbm5vdCBkZXRlcm1pbmUgc2NyaXB0IGRpcmVjdG9yeS4gICRQUk9KRUNUX0RJUiIKLSAgdXNhZ2VBbmRFeGl0Ci1maQotCi1pZiAhIFtbICIkVkVSU0lPTiIgPX4gclswLTldKyBdXTsgdGhlbgotICBlY2hvICJCYWQgdmVyc2lvbiAkVkVSU0lPTiIKLSAgZWNobwotICB1c2FnZUFuZEV4aXQKLWZpCi0KLWlmIFsgLXogIiRQQVNTUEhSQVNFIiBdOyB0aGVuCi0gIGVjaG8gIk1pc3NpbmcgcGFzc3BocmFzZSIKLSAgZWNobwotICB1c2FnZUFuZEV4aXQKLWZpCi0KLVBPTUZJTEU9IiRQUk9KRUNUX0RJUi9tYXZlbi9vd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyL293YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXIvJFZFUlNJT04vb3dhc3AtamF2YS1odG1sLXNhbml0aXplci0kVkVSU0lPTi5wb20iCi0KLUpBUl9OT19FWFQ9IiRQUk9KRUNUX0RJUi9tYXZlbi9vd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyL293YXNwLWphdmEtaHRtbC1zYW5pdGl6ZXIvJFZFUlNJT04vb3dhc3AtamF2YS1odG1sLXNhbml0aXplci0kVkVSU0lPTiIKLQotZnVuY3Rpb24gcmVxdWlyZUZpbGUoKSB7Ci0gIGxvY2FsIEZJTEU9IiQxIgotICBpZiAhIFsgLWUgIiRGSUxFIiBdOyB0aGVuCi0gICAgICBlY2hvICJNaXNzaW5nIGZpbGUgOiAkRklMRSIKLSAgICAgIGVjaG8KLSAgICAgIHVzYWdlQW5kRXhpdAotICBmaQotfQotCi1yZXF1aXJlRmlsZSAiJFBPTUZJTEUiCi1yZXF1aXJlRmlsZSAiJEpBUl9OT19FWFQiLmphcgotcmVxdWlyZUZpbGUgIiRKQVJfTk9fRVhUIi1zb3VyY2VzLmphcgotcmVxdWlyZUZpbGUgIiRKQVJfTk9fRVhUIi1qYXZhZG9jLmphcgotCi1tdm4gLVggLWUgXAotICBncGc6c2lnbi1hbmQtZGVwbG95LWZpbGUgXAotICAtRGdwZy5rZXluYW1lPSIkS0VZTkFNRSIgXAotICAtRGdwZy5wYXNzcGhyYXNlPSIkUEFTU1BIUkFTRSIgXAotICAtRGdlbmVyYXRlUG9tPWZhbHNlIFwKLSAgLURwb21GaWxlPSIkUE9NRklMRSIgXAotICAtRGZpbGU9IiRKQVJfTk9fRVhUIi5qYXIgXAotICAtRGZpbGVzPSIkSkFSX05PX0VYVCItc291cmNlcy5qYXIsIiRKQVJfTk9fRVhUIi1qYXZhZG9jLmphciBcCi0gIC1EdHlwZXM9amFyLGphciBcCi0gIC1EY2xhc3NpZmllcnM9c291cmNlcyxqYXZhZG9jIFwKLSAgLUR1cmw9aHR0cHM6Ly9vc3Muc29uYXR5cGUub3JnL3NlcnZpY2UvbG9jYWwvc3RhZ2luZy9kZXBsb3kvbWF2ZW4yLyBcCi0gIC1EcmVwb3NpdG9yeUlkPXNvbmF0eXBlLW5leHVzLXN0YWdpbmcgXAotJiYgXAotZWNobyAiRm9sbG93IGluc3RydWN0aW9ucyBhdCBodHRwczovL2RvY3Muc29uYXR5cGUub3JnL2Rpc3BsYXkvUmVwb3NpdG9yeS9Tb25hdHlwZStPU1MrTWF2ZW4rUmVwb3NpdG9yeStVc2FnZStHdWlkZSNTb25hdHlwZU9TU01hdmVuUmVwb3NpdG9yeVVzYWdlR3VpZGUtOGEuUmVsZWFzZUl0IgpkaWZmIC0tZ2l0IGEvdG9vbHMvdXBkYXRlX3RyZWVfaW5fc3ZuLnB5IGIvdG9vbHMvdXBkYXRlX3RyZWVfaW5fc3ZuLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA4NTVlZDA0Li4wMDAwMDAwCi0tLSBhL3Rvb2xzL3VwZGF0ZV90cmVlX2luX3N2bi5weQorKysgL2Rldi9udWxsCkBAIC0xLDEzMCArMCwwIEBACi0jIS91c3IvYmluL3B5dGhvbgotCi0iIiIKLUFmdGVyIGJ1aWxkaW5nIGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgZG9jdW1lbnRhdGlvbiwKLWFuZCBqYXJzIHdpdGggdGhlIG5ld2x5IGJ1aWx0IHZlcnNpb25zIGluIFNWTi4KLSIiIgotCi1pbXBvcnQgZmlsZWNtcAotaW1wb3J0IG9zCi1pbXBvcnQgcGlwZXMKLWltcG9ydCBzeXMKLQotRklMRSA9ICdmJwotRElSID0gJ2QnCi1OT19FWElTVCA9ICduJwotCi1NSU1FX1RZUEVTX0JZX0VYVEVOU0lPTiA9IHsKLSAgJ2h0bWwnOiAndGV4dC9odG1sO2NoYXJzZXQ9VVRGLTgnLAotICAndHh0JzogJ3RleHQvcGxhaW47Y2hhcnNldD1VVEYtOCcsCi0gICdjc3MnOiAndGV4dC9jc3M7Y2hhcnNldD1VVEYtOCcsCi0gICdqcyc6ICd0ZXh0L2phdmFzY3JpcHQ7Y2hhcnNldD1VVEYtOCcsCi0gICdqYXInOiAnYXBwbGljYXRpb24veC1qYXZhLWFyY2hpdmUnLAotICAneHNsJzogJ3RleHQveG1sO2NoYXJzZXQ9VVRGLTgnLAotICAnZ2lmJzogJ2ltYWdlL2dpZicsCi0gICdwbmcnOiAnaW1hZ2UvcG5nJwotICB9Ci0KLWRlZiBzeW5jKHNyY190b19kZXN0KToKLSAgIiIiCi0gIFN5bmNyaG9uaXplIHRoZSBkZXN0aW5hdGlvbiBmaWxlIHRyZWUgd2l0aCB0aGUgc291cmNlIGZpbGUgdHJlZQotICBpbiBib3RoIHRoZSBjdXJyZW50IGNsaWVudCBhbmQgaW4gc3VidmVyc2lvbi4KLSAgIiIiCi0KLSAgZGVmIGNsYXNzaWZ5KHBhdGgpOgotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYXRoKTogcmV0dXJuIE5PX0VYSVNUCi0gICAgaWYgb3MucGF0aC5pc2RpcihwYXRoKTogcmV0dXJuIERJUgotICAgIHJldHVybiBGSUxFCi0KLSAgIyBJZiB3ZSBzZWUgYSBjYXNlIHdoZXJlIChjb25mbGljdCkgaXMgcHJlc2VudCwgdGhlbiB3ZSBuZWVkIHRvIGJlCi0gICMgc3VyZSB0byBkbyBzdm4gZGVsZXRlcyBpbiBhIHNlcGFyYXRlIGNvbW1pdCBiZWZvcmUgc3ZuIGFkZHMuCi0gIGNvbmZsaWN0ID0gRmFsc2UKLSAgIyBLZWVwIHRyYWNrIG9mIGNoYW5nZXMgdG8gbWFrZSBpbiBzdWJ2ZXJzaW9uCi0gIHN2bl9hZGRzID0gW10KLSAgc3ZuX2RlbGV0ZXMgPSBbXQotICBzdm5fcHJvcHNldHMgPSB7fQotCi0gICMgQSBidW5jaCBvZiBhY3Rpb25zIHRoYXQgY2FuIGJlIHRha2VuIHRvIHN5bmNocm9uaXplIG9uZSBhc3BlY3QKLSAgIyBvZiBhIHNvdXJjZSBmaWxlIGFuZCBhIGRlc3RpbmF0aW9uIGZpbGUKLSAgZGVmIHJ1bihhcmd2KToKLSAgICAiIiIKLSAgICBQcmludHMgb3V0IGEgY29tbWFuZCBsaW5lIHRoYXQgbmVlZHMgdG8gYmUgcnVuLgotICAgICIiIgotICAgIHByaW50ICcgJy5qb2luKFtwaXBlcy5xdW90ZShhcmcpIGZvciBhcmcgaW4gYXJndl0pCi0KLSAgZGVmIHN2bih2ZXJiX2FuZF9mbGFncywgYXJncyk6Ci0gICAgY21kID0gWydzdm4nXQotICAgIGNtZC5leHRlbmQodmVyYl9hbmRfZmxhZ3MpCi0gICAgY21kLmV4dGVuZChhcmdzKQotICAgIHJ1bihjbWQpCi0KLSAgZGVmIHJlbW92ZShzcmMsIGRzdCk6IHJ1bihbJ3JtJywgZHN0XSkKLQotICBkZWYgc3ZuX2RlbGV0ZShzcmMsIGRzdCk6IHN2bl9kZWxldGVzLmFwcGVuZChkc3QpCi0KLSAgZGVmIHJlY3Vyc2Uoc3JjLCBkc3QpOgotICAgIGNoaWxkcmVuID0gc2V0KCkKLSAgICBpZiBvcy5wYXRoLmlzZGlyKHNyYyk6IGNoaWxkcmVuLnVwZGF0ZShvcy5saXN0ZGlyKHNyYykpCi0gICAgaWYgb3MucGF0aC5pc2Rpcihkc3QpOgotICAgICAgY2hpbGRyZW4udXBkYXRlKG9zLmxpc3RkaXIoZHN0KSkKLSAgICBjaGlsZHJlbi5kaXNjYXJkKCcuc3ZuJykKLSAgICBmb3IgY2hpbGQgaW4gY2hpbGRyZW46Ci0gICAgICBoYW5kbGUob3MucGF0aC5qb2luKHNyYywgY2hpbGQpLCBvcy5wYXRoLmpvaW4oZHN0LCBjaGlsZCkpCi0KLSAgZGVmIGNvcHkoc3JjLCBkc3QpOiBydW4oWydjcCcsICctZicsIHNyYywgZHN0XSkKLQotICBkZWYgY29weV9pZl9kaWZmZXJlbnQoc3JjLCBkc3QpOgotICAgIGlmIG5vdCBmaWxlY21wLmNtcChzcmMsIGRzdCwgc2hhbGxvdz0wKTogY29weShzcmMsIGRzdCkKLQotICBkZWYgc3ZuX2FkZChzcmMsIGRzdCk6Ci0gICAgc3ZuX2FkZHMuYXBwZW5kKGRzdCkKLSAgICBkb3QgPSBkc3QucmZpbmQoJy4nKQotICAgIGlmIGRvdCA+PSAwOgotICAgICAgbWltZV90eXBlID0gTUlNRV9UWVBFU19CWV9FWFRFTlNJT04uZ2V0KGRzdFtkb3QrMTpdKQotICAgICAgaWYgbWltZV90eXBlIGlzIG5vdCBOb25lOgotICAgICAgICBrZXkgPSAoJ3N2bjptaW1lLXR5cGUnLCBtaW1lX3R5cGUpCi0gICAgICAgIGlmIGtleSBub3QgaW4gc3ZuX3Byb3BzZXRzOgotICAgICAgICAgIHN2bl9wcm9wc2V0c1trZXldID0gW10KLSAgICAgICAgc3ZuX3Byb3BzZXRzW2tleV0uYXBwZW5kKGRzdCkgCi0KLSAgZGVmIGNuZihzcmMsIGRzdCk6IGNvbmZsaWN0ID0gVHJ1ZQotCi0gIGRlZiBta2RpcihzcmMsIGRzdCk6IHJ1bihbJ21rZGlyJywgZHN0XSkKLQotICAjIFRoZSBiZWxvdyB0YWJsZSBjb250YWlucyB0aGUgYWN0aW9ucyB0byB0YWtlIGZvciBlYWNoIHBvc3NpYmxlCi0gICMgc2NlbmFyaW8uCi0gIGFjdGlvbnMgPSB7Ci0gICMgc3JjICAgICAgICBkc3QgICAgICAgIGFjdGlvbnMKLSAgICAoTk9fRVhJU1QsIE5PX0VYSVNUKTogKCksCi0gICAgKE5PX0VYSVNULCBGSUxFKSAgICA6IChyZW1vdmUsIHN2bl9kZWxldGUsKSwKLSAgICAoTk9fRVhJU1QsIERJUikgICAgIDogKHJlY3Vyc2UsIHJlbW92ZSwgc3ZuX2RlbGV0ZSwpLAotICAgIChGSUxFLCAgICAgTk9fRVhJU1QpOiAoY29weSwgc3ZuX2FkZCwpLAotICAgIChGSUxFLCAgICAgRklMRSkgICAgOiAoY29weV9pZl9kaWZmZXJlbnQsKSwKLSAgICAoRklMRSwgICAgIERJUikgICAgIDogKHJlY3Vyc2UsIHJlbW92ZSwgc3ZuX2RlbGV0ZSwgY29weSwgc3ZuX2FkZCwgY25mKSwKLSAgICAoRElSLCAgICAgIE5PX0VYSVNUKTogKG1rZGlyLCBzdm5fYWRkLCByZWN1cnNlLCksCi0gICAgKERJUiwgICAgICBGSUxFKSAgICA6IChyZW1vdmUsIHN2bl9kZWxldGUsIG1rZGlyLCBzdm5fYWRkLCByZWN1cnNlLCBjbmYpLAotICAgIChESVIsICAgICAgRElSKSAgICAgOiAocmVjdXJzZSwpLAotICAgIH0KLQotICAjIFdhbGsgdGhlIGZpbGUgdHJlZSAoc2VlIHJlY3Vyc2UgYWN0aW9uIGFib3ZlKSBhbmQgc3luY2hyb25pemUgaXQgYXQKLSAgIyBlYWNoIHN0ZXAuCi0gIGRlZiBoYW5kbGUoc3JjLCBkc3QpOgotICAgIHNyY190ID0gY2xhc3NpZnkoc3JjKQotICAgIGRzdF90ID0gY2xhc3NpZnkoZHN0KQotICAgIGZvciBhY3Rpb24gaW4gYWN0aW9uc1soc3JjX3QsIGRzdF90KV06IGFjdGlvbihzcmMsIGRzdCkKLQotICBmb3IgKHNyYywgZHN0KSBpbiBzcmNfdG9fZGVzdDoKLSAgICBoYW5kbGUoc3JjLCBkc3QpCi0KLSAgaWYgbGVuKHN2bl9kZWxldGVzKToKLSAgICBzdm4oWydkZWxldGUnXSwgc3ZuX2RlbGV0ZXMpCi0gICAgaWYgY29uZmxpY3Q6IAotICAgICAgc3ZuKFsnY29tbWl0JywgJy1tJywgJ3JlbW92ZSBvYnNvbGV0ZSBmaWxlcyBmcm9tIHRoZSBzbmFwc2hvdCB0cmVlJ10sCi0gICAgICAgICAgY29tbWl0X2FyZ3MpCi0gIGlmIGxlbihzdm5fYWRkcyk6Ci0gICAgc3ZuKFsnYWRkJywgJy0tZGVwdGg9ZW1wdHknXSwgc3ZuX2FkZHMpCi0gIGZvciAoKHByb3BuYW1lLCBwcm9wdmFsdWUpLCBmaWxlcykgaW4gc3ZuX3Byb3BzZXRzLml0ZW1zKCk6Ci0gICAgc3ZuKFsncHJvcHNldCcsIHByb3BuYW1lLCBwcm9wdmFsdWVdLCBmaWxlcykKLQotaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKLSAgc3luYyhbKHN5cy5hcmd2WzFdLCBzeXMuYXJndlsyXSldKQpkaWZmIC0tZ2l0IGEvdG9vbHMvdXBsb2FkX2phcnNfdG9fZ29vZ2xlY29kZV9kb3dubG9hZHMuc2ggYi90b29scy91cGxvYWRfamFyc190b19nb29nbGVjb2RlX2Rvd25sb2Fkcy5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYmMxYTRmOC4uMDAwMDAwMAotLS0gYS90b29scy91cGxvYWRfamFyc190b19nb29nbGVjb2RlX2Rvd25sb2Fkcy5zaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0KLWZ1bmN0aW9uIGhlbHBfYW5kX2V4aXQoKSB7Ci0gICAgZWNobyAiVXNhZ2U6ICQwIFstZ29dIFstdmVyYm9zZV0gWy1mb3JjZV0iCi0gICAgZWNobwotICAgIGVjaG8gIk1vdmVzIG1pbmlmaWVkIENTUyBhbmQgSlMgdG8gZGlzdHJpYnV0aW9uIGRpcmVjdG9yaWVzIGFuZCIKLSAgICBlY2hvICJjcmVhdGVzIGEgYnJhbmNoIGluIFNWTi4iCi0gICAgZWNobwotICAgIGVjaG8gIiAgLWdvOiAgICAgICBSdW4gY29tbWFuZHMgaW5zdGVhZCBvZiBqdXN0IGVjaG9pbmcgdGhlbS4iCi0gICAgZWNobyAiICAtdmVyYm9zZTogIE1vcmUgdmVyYm9zZSBsb2dnaW5nLiIKLSAgICBlY2hvICIgIC1mb3JjZTogICAgSWdub3JlIHNhbml0eSBjaGVja3MgZm9yIHRlc3RpbmcuIgotICAgIGVjaG8gIiAgICAgICAgICAgICBJbmNvbXBhdGlibGUgd2l0aCAtZ28uIgotICAgIGVjaG8gIiAgLW5vYnJhbmNoOiBEb24ndCBjcmVhdGUgYSBuZXcgcmVsZWFzZSBicmFuY2guIgotICAgIGV4aXQgIiQxIgotfQotCi0jIDEgZm9yIHZlcmJvc2UgbG9nZ2luZwotZXhwb3J0IFZFUkJPU0U9IjAiCi0jIDEgaWYgY29tbWFuZHMgdGhhdCBoYXZlIHNpZGUtZWZmZWN0cyBzaG91bGQgYWN0dWFsbHkgYmUgcnVuIGluc3RlYWQgb2YgbG9nZ2VkCi1leHBvcnQgRUZGRUNUPSIwIgotCi1mb3IgdmFyIGluICIkQCI7IGRvCi0gIGNhc2UgIiR2YXIiIGluCi0gICAgICAtdmVyYm9zZSkKLSAgICAgICAgICBWRVJCT1NFPSIxIgotICAgICAgICAgIDs7Ci0gICAgICAtZ28pCi0gICAgICAgICAgRUZGRUNUPSIxIgotICAgICAgICAgIDs7Ci0gICAgICAtaCkKLSAgICAgICAgICBoZWxwX2FuZF9leGl0IDAKLSAgICAgICAgICA7OwotICAgICAgKikKLSAgICAgICAgICBlY2hvICJVbnJlY29nbml6ZWQgYXJndW1lbnQgJHZhciIKLSAgICAgICAgICBoZWxwX2FuZF9leGl0IC0xCi0gICAgICAgICAgOzsKLSAgZXNhYwotZG9uZQotCi0KLWZ1bmN0aW9uIHBhbmljKCkgewotICAgIGVjaG8gIlBBTklDOiAkKiIKLQotICAgIGlmICEgKCggJE5PX1BBTklDICkpOyB0aGVuCi0gICAgICAgIGV4aXQgLTEKLSAgICBmaQotfQotCi1mdW5jdGlvbiBjb21tYW5kKCkgewotICAgIGlmICgoICRWRVJCT1NFICkpIHx8ICEgKCggJEVGRkVDVCApKTsgdGhlbgotICAgICAgICBlY2hvICckJyAiJCoiCi0gICAgZmkKLSAgICBpZiAoKCAkRUZGRUNUICkpOyB0aGVuCi0gICAgICAgICIkQCIgfHwgcGFuaWMgImNvbW1hbmQgZmFpbGVkOiAkQCIKLSAgICBmaQotfQotCi1leHBvcnQgVkVSU0lPTl9CQVNFPSIkKAotICBwdXNoZCAiJChkaXJuYW1lICIkMCIpLy4uLy4uIiA+IC9kZXYvbnVsbDsgcHdkOyBwb3BkID4gL2Rldi9udWxsKSIKLQotaWYgISBbIC1kICIkVkVSU0lPTl9CQVNFL3RydW5rL3Rvb2xzIiBdOyB0aGVuCi0gICAgcGFuaWMgIm1pc3NpbmcgdHJ1bmsvdG9vbHMgaW4gJFZFUlNJT05fQkFTRSIKLWZpCi0KLVZFUlNJT049IiQoc3ZuIGluZm8gfCBwZXJsIC1uZSAncHJpbnQgJDEgaWYgbS9eUmV2aXNpb246IChcZCspJC8nKSIKLQotRE9XTkxPQURTX1pJUD0iJFZFUlNJT05fQkFTRS90cnVuay9vdXQvb3dhc3AtamF2YS1odG1sLXNhbml0aXplci56aXAiCi1WRVJTSU9ORURfWklQPSIkVkVSU0lPTl9CQVNFL3RydW5rL291dC9vd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyLXIkVkVSU0lPTi56aXAiCi0KLXB1c2hkICIkVkVSU0lPTl9CQVNFL3RydW5rIiA+IC9kZXYvbnVsbAotY29tbWFuZCBtYWtlIGRvd25sb2FkCi1wb3BkID4gL2Rldi9udWxsCi0KLWlmICEgWyAtZiAiJERPV05MT0FEU19aSVAiIF07IHRoZW4KLSAgICBwYW5pYyAiJERPV05MT0FEU19aSVAgaXMgbm90IHVwLXRvLWRhdGUiCi1maQotCi1jb21tYW5kIGNwICIkRE9XTkxPQURTX1pJUCIgIiRWRVJTSU9ORURfWklQIgotCi1jb21tYW5kICIkVkVSU0lPTl9CQVNFL3RydW5rL3Rvb2xzL2dvb2dsZWNvZGVfdXBsb2FkLnB5IiBcCi0gICAgLS1zdW1tYXJ5PSJKQVJzLCBzb3VyY2UgSkFSLCBhbmQgZG9jdW1lbnRhdGlvbiBmb3IgdmVyc2lvbiAkVkVSU0lPTi4iIFwKLSAgICAtcCBvd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyIC11IG1pa2VzYW11ZWwgXAotICAgIC0tbGFiZWxzPSdUeXBlLUFyY2hpdmUsT3BTeXMtQWxsLEZlYXR1cmVkJyBcCi0gICAgIiRWRVJTSU9ORURfWklQIgotCi1pZiAoKCAkRUZGRUNUICkpOyB0aGVuCi0gICAgZWNobyAiRG9uJ3QgZm9yZ2V0IHRvIG1hcmsgYW55IG9sZCBvbmVzIGRlcHJlY2F0ZWQgYXQiCi0gICAgZWNobyAiaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9vd2FzcC1qYXZhLWh0bWwtc2FuaXRpemVyL2Rvd25sb2Fkcy9saXN0IgotZWxzZQotICAgIGVjaG8KLSAgICBlY2hvICJSZXJ1biB3aXRoIC1nbyB0byBhY3R1YWxseSBydW4gdGhlc2UgY29tbWFuZHMuIgotZmkK