ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGI0NDc5YTYuLmRmNjZhNzcgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtOCw2ICs4LDcgQEAKIENNYWtlQ2FjaGUudHh0CiBDUGFja0NvbmZpZy5jbWFrZQogQ1BhY2tTb3VyY2VDb25maWcuY21ha2UKKyouY21ha2UKIE1ha2VmaWxlCiAqLmJpbgogKi5kdW1wCmRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CmluZGV4IGJmNWRkYzQuLmUxMDU5MGMgMTAwNjQ0Ci0tLSBhL0NNYWtlTGlzdHMudHh0CisrKyBiL0NNYWtlTGlzdHMudHh0CkBAIC0xLDcgKzEsMTEgQEAKIGNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAzLjEwKQogaW5jbHVkZShGZXRjaENvbnRlbnQpCitpbmNsdWRlKEdvb2dsZVRlc3QpCiBwcm9qZWN0KENQRVJQYXJzZSkKIAorIyBHb29nbGVUZXN0IHJlcXVpcmVzIGF0IGxlYXN0IEMrKzE0Lgorc2V0KENNQUtFX0NYWF9TVEFOREFSRCAxNCkKKwogIyBPdXRwdXQgaW50byBzdWJkaXJlY3RvcmllcyAvbGliIGFuZCAvYmluLgogc2V0KEVYRUNVVEFCTEVfT1VUUFVUX1BBVEggJHtDTUFLRV9CSU5BUllfRElSfS9iaW4pCiBzZXQoQ01BS0VfQVJDSElWRV9PVVRQVVRfRElSRUNUT1JZICR7Q01BS0VfQklOQVJZX0RJUn0vbGliKQpAQCAtMjEsNyArMjUsMTQgQEAKICAgR0lUX1JFUE9TSVRPUlkgaHR0cHM6Ly9naXRodWIuY29tL2p3ZXJsZS9iNjQuYy5naXQKICAgR0lUX1RBRyAgICAgICAgYzMzMTg4Y2Q1NDFmMTliMDcyZWU0OTg4ZDgyMjRlYTZjOTY0YmVkMSAjIDkvMi8yMDIxCiApCi1GZXRjaENvbnRlbnRfTWFrZUF2YWlsYWJsZShqc29uLWMgYjY0LWMpCisKKyMgRmV0Y2ggR29vZ2xlVGVzdCBmcm9tIGdpdCByZXBvc2l0b3J5LgorRmV0Y2hDb250ZW50X0RlY2xhcmUoCisgIGdvb2dsZXRlc3QKKyAgR0lUX1JFUE9TSVRPUlkgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9nb29nbGV0ZXN0LmdpdAorICBHSVRfVEFHIHJlbGVhc2UtMS4xMi4xCispCitGZXRjaENvbnRlbnRfTWFrZUF2YWlsYWJsZShqc29uLWMgYjY0LWMgZ29vZ2xldGVzdCkKIAogIyBBZGQgbGlicmFyeSBhbmQgdGVzdCBleGVjdXRhYmxlLgogZmlsZShHTE9CIFNlY3Rpb25Tb3VyY2VzIHNlY3Rpb25zLyouYykKQEAgLTI5LDEzICs0MCwzMSBAQAogZmlsZShHTE9CIEdlbmVyYXRvclNlY3Rpb25Tb3VyY2VzIGdlbmVyYXRvci9zZWN0aW9ucy8qLmMpCiBhZGRfbGlicmFyeShjcGVyLXBhcnNlIFNUQVRJQyBjcGVyLXBhcnNlLmMgaXItcGFyc2UuYyBjcGVyLXV0aWxzLmMganNvbi1zY2hlbWEuYyBqc29uLXNjaGVtYS5oICR7U2VjdGlvblNvdXJjZXN9ICR7RURLU291cmNlc30pCiBhZGRfZXhlY3V0YWJsZShjcGVyLWNvbnZlcnQgY2xpLWFwcC9jcGVyLWNvbnZlcnQuYykKLWFkZF9leGVjdXRhYmxlKGNwZXItZ2VuZXJhdGUgZ2VuZXJhdG9yL2NwZXItZ2VuZXJhdGUuYyBnZW5lcmF0b3IvZ2VuLXV0aWxzLmMgJHtHZW5lcmF0b3JTZWN0aW9uU291cmNlc30gJHtFREtTb3VyY2VzfSkKK2FkZF9leGVjdXRhYmxlKGNwZXItZ2VuZXJhdGUgCisgIGdlbmVyYXRvci9jcGVyLWdlbmVyYXRlLWNsaS5jCisgIGdlbmVyYXRvci9jcGVyLWdlbmVyYXRlLmMgCisgIGdlbmVyYXRvci9nZW4tdXRpbHMuYyAKKyAgJHtHZW5lcmF0b3JTZWN0aW9uU291cmNlc30gCisgICR7RURLU291cmNlc30KKykKK2FkZF9leGVjdXRhYmxlKGNwZXItdGVzdHMgCisgIHRlc3RzL2lyLXRlc3RzLmNwcCAKKyAgdGVzdHMvdGVzdC11dGlscy5jcHAKKyAgZ2VuZXJhdG9yL2NwZXItZ2VuZXJhdGUuYworICBnZW5lcmF0b3IvZ2VuLXV0aWxzLmMgCisgICR7R2VuZXJhdG9yU2VjdGlvblNvdXJjZXN9IAorICAke0VES1NvdXJjZXN9CispCiAKICMgTGluayBsaWJyYXJ5LgordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNwZXItdGVzdHMgY3Blci1wYXJzZSBqc29uLWMgR1Rlc3Q6Omd0ZXN0X21haW4pCiB0YXJnZXRfbGlua19saWJyYXJpZXMoY3Blci1wYXJzZSBqc29uLWMgYjY0YykKIHRhcmdldF9saW5rX2xpYnJhcmllcyhjcGVyLWNvbnZlcnQgY3Blci1wYXJzZSkKIHRhcmdldF9jb21waWxlX29wdGlvbnMoY3Blci1wYXJzZSBQUklWQVRFIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyKQogCiAjIENvcHkgcmVxdWlyZWQgc3BlY2lmaWNhdGlvbiBKU09OIGZvciBjb21tYW5kIGxpbmUgYXBwbGljYXRpb24uCiBhZGRfY3VzdG9tX2NvbW1hbmQoVEFSR0VUIGNwZXItY29udmVydCBQT1NUX0JVSUxEIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBtYWtlX2RpcmVjdG9yeSBiaW4vc3BlY2lmaWNhdGlvbikKLWFkZF9jdXN0b21fY29tbWFuZChUQVJHRVQgY3Blci1jb252ZXJ0IFBPU1RfQlVJTEQgQ09NTUFORCBjcCAtciBzcGVjaWZpY2F0aW9uL2pzb24vKiBiaW4vc3BlY2lmaWNhdGlvbikKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithZGRfY3VzdG9tX2NvbW1hbmQoVEFSR0VUIGNwZXItY29udmVydCBQT1NUX0JVSUxEIENPTU1BTkQgY3AgLXIgc3BlY2lmaWNhdGlvbi9qc29uLyogYmluL3NwZWNpZmljYXRpb24pCisKKyMgQWRkIHRlc3RzIHRvIEdvb2dsZVRlc3QuCisjZ3Rlc3RfZGlzY292ZXJfdGVzdHMoY3Blci10ZXN0cyBXT1JLSU5HX0RJUkVDVE9SWSBiaW4vKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2NsaS1hcHAvY3Blci1jb252ZXJ0LmMgYi9jbGktYXBwL2NwZXItY29udmVydC5jCmluZGV4IGJhMTkwOGQuLjQ4OGI2YzkgMTAwNjQ0Ci0tLSBhL2NsaS1hcHAvY3Blci1jb252ZXJ0LmMKKysrIGIvY2xpLWFwcC9jcGVyLWNvbnZlcnQuYwpAQCAtMTExLDE3ICsxMTEsMTIgQEAKIAogICAgIC8vQXJlIHdlIHNraXBwaW5nIHZhbGlkYXRpb24/CiAgICAgaW50IGRvX3ZhbGlkYXRlID0gMTsKLSAgICBpZiAoYXJnYyA9PSA2KQorICAgIGlmIChhcmdjID49IDYgJiYgYXJnYyA8IDgpCiAgICAgewogICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbNV0sICItLW5vLXZhbGlkYXRlIikgPT0gMCkKICAgICAgICAgewogICAgICAgICAgICAgZG9fdmFsaWRhdGUgPSAwOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgewotICAgICAgICAgICAgcHJpbnRmKCJJbnZhbGlkIGFyZ3VtZW50ICclcycgZm9yIGNvbW1hbmQgJ3RvLWNwZXInLiBTZWUgJ2NwZXItY29udmVydCAtLWhlbHAnIGZvciBjb21tYW5kIGluZm9ybWF0aW9uLlxuIiwgYXJndls1XSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KICAgICB9CiAKICAgICAvL1ZhbGlkYXRlIHRoZSBKU09OIGFnYWluc3Qgc3BlY2lmaWNhdGlvbiwgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuCkBAIC0xMjksMTkgKzEyNCwxMiBAQAogICAgIHsKICAgICAgICAgY2hhciogc3BlY2lmaWNhdGlvbl9wYXRoID0gTlVMTDsKIAotICAgICAgICAvL0lmIHRoZXJlIGlzIGFub3RoZXIgYXJndW1lbnQgcGFpciwgaXQgbXVzdCBiZSBhIHZhbGlkYXRpb24gc3BlY2lmaWNhdGlvbiBmaWxlIHBhdGguCi0gICAgICAgIGlmIChhcmdjID09IDcpCisgICAgICAgIC8vSXMgdGhlcmUgYSBzcGVjaWZpY2F0aW9uIGZpbGUgcGF0aD8KKyAgICAgICAgaWYgKGFyZ2MgPj0gNyAmJiBzdHJjbXAoYXJndlthcmdjIC0gMl0sICItLXNwZWNpZmljYXRpb24iKSA9PSAwKQogICAgICAgICB7Ci0gICAgICAgICAgICAvL0Vuc3VyZSB2YWxpZCBhcmd1bWVudCBuYW1pbmcuCi0gICAgICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbNV0sICItLXNwZWNpZmljYXRpb24iKSAhPSAwKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHByaW50ZigiSW52YWxpZCBhcmd1bWVudCAnJXMnIGZvciBjb21tYW5kICd0by1jcGVyJy4gU2VlICdjcGVyLWNvbnZlcnQgLS1oZWxwJyBmb3IgY29tbWFuZCBpbmZvcm1hdGlvbi5cbiIsIGFyZ3ZbNV0pOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgc3BlY2lmaWNhdGlvbl9wYXRoID0gYXJndls2XTsKKyAgICAgICAgICAgIHNwZWNpZmljYXRpb25fcGF0aCA9IGFyZ3ZbYXJnYyAtIDFdOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKGFyZ2MgPT0gNSkKKyAgICAgICAgZWxzZQogICAgICAgICB7CiAgICAgICAgICAgICAvL01ha2UgdGhlIHNwZWNpZmljYXRpb24gcGF0aCB0aGUgYXNzdW1lZCBkZWZhdWx0IChhcHBsaWNhdGlvbiBkaXJlY3RvcnkgKyBzcGVjaWZpY2F0aW9uL2NwZXItanNvbi5qc29uKS4KICAgICAgICAgICAgIHNwZWNpZmljYXRpb25fcGF0aCA9IG1hbGxvYyhQQVRIX01BWCk7CkBAIC0xNDksMTEgKzEzNywxNiBAQAogICAgICAgICAgICAgc3RyY3B5KHNwZWNpZmljYXRpb25fcGF0aCwgZGlyKTsKICAgICAgICAgICAgIHN0cmNhdChzcGVjaWZpY2F0aW9uX3BhdGgsICIvc3BlY2lmaWNhdGlvbi9jcGVyLWpzb24uanNvbiIpOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UKKworICAgICAgICAvL0VuYWJsZSBkZWJ1ZyBtb2RlIGlmIGluZGljYXRlZC4KKyAgICAgICAgZm9yIChpbnQgaT01OyBpPGFyZ2M7IGkrKykgCiAgICAgICAgIHsKLSAgICAgICAgICAgIC8vSW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzLgotICAgICAgICAgICAgcHJpbnRmKCJJbnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGNvbW1hbmQgJ3RvLWNwZXInLiBTZWUgJ2NwZXItY29udmVydCAtLWhlbHAnIGZvciBjb21tYW5kIGluZm9ybWF0aW9uLlxuIik7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbaV0sICItLWRlYnVnIikgPT0gMCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YWxpZGF0ZV9zY2hlbWFfZGVidWdfZW5hYmxlKCk7CisgICAgICAgICAgICAgICAgcHJpbnRmKCJkZWJ1ZyBlbmFibGVkLlxuIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICAvL0F0dGVtcHQgdG8gdmVyaWZ5IHdpdGggdGhlIHRoZSBzcGVjaWZpY2F0aW9uLgpAQCAtMTk0LDcgKzE4Nyw3IEBACiAgICAgcHJpbnRmKCI6OiB0by1qc29uIGNwZXIuZmlsZSBbLS1vdXQgZmlsZS5uYW1lXVxuIik7CiAgICAgcHJpbnRmKCJcdENvbnZlcnRzIHRoZSBwcm92aWRlZCBDUEVSIGxvZyBmaWxlIGludG8gSlNPTiwgYnkgZGVmYXVsdCBvdXRwdXR0aW5nIHRvIGNvbnNvbGUuIElmICctLW91dCcgaXMgc3BlY2lmaWVkLFxuIik7CiAgICAgcHJpbnRmKCJcdFRoZSBvdXRwdXR0ZWQgSlNPTiB3aWxsIGJlIHdyaXR0ZW4gdG8gdGhlIHByb3ZpZGVkIGZpbGUgbmFtZSBpbnN0ZWFkLlxuIik7Ci0gICAgcHJpbnRmKCJcbjo6IHRvLWNwZXIgY3Blci5qc29uIC0tb3V0IGZpbGUubmFtZSBbLS1uby12YWxpZGF0ZV0gWy0tc3BlY2lmaWNhdGlvbiBzb21lL3NwZWMvcGF0aC5qc29uXVxuIik7CisgICAgcHJpbnRmKCJcbjo6IHRvLWNwZXIgY3Blci5qc29uIC0tb3V0IGZpbGUubmFtZSBbLS1uby12YWxpZGF0ZV0gWy0tZGVidWddIFstLXNwZWNpZmljYXRpb24gc29tZS9zcGVjL3BhdGguanNvbl1cbiIpOwogICAgIHByaW50ZigiXHRDb252ZXJ0cyB0aGUgcHJvdmlkZWQgQ1BFUi1KU09OIEpTT04gZmlsZSBpbnRvIENQRVIgYmluYXJ5LiBBbiBvdXRwdXQgZmlsZSBtdXN0IGJlIHNwZWNpZmllZCB3aXRoICctLW91dCcuXG4iKTsKICAgICBwcmludGYoIlx0QnkgZGVmYXVsdCwgdGhlIHByb3ZpZGVkIEpTT04gd2lsbCB0cnkgdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QgYSBzcGVjaWZpY2F0aW9uLiBJZiBubyBzcGVjaWZpY2F0aW9uIGZpbGUgcGF0aFxuIik7CiAgICAgcHJpbnRmKCJcdGlzIHByb3ZpZGVkIHdpdGggJy0tc3BlY2lmaWNhdGlvbicsIHRoZW4gaXQgd2lsbCBkZWZhdWx0IHRvICdhcmd2WzBdICsgL3NwZWNpZmljYXRpb24vY3Blci1qc29uLmpzb24nLlxuIik7CmRpZmYgLS1naXQgYS9jcGVyLmdlbmVyYXRlZC5qc29uIGIvY3Blci5nZW5lcmF0ZWQuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjNiY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvY3Blci5nZW5lcmF0ZWQuanNvbgpAQCAtMCwwICsxLDIyMiBAQAoreworICAiaGVhZGVyIjp7CisgICAgInJldmlzaW9uIjp7CisgICAgICAibWFqb3IiOjAsCisgICAgICAibWlub3IiOjAKKyAgICB9LAorICAgICJzZWN0aW9uQ291bnQiOjEsCisgICAgInNldmVyaXR5Ijp7CisgICAgICAiY29kZSI6MiwKKyAgICAgICJuYW1lIjoiQ29ycmVjdGVkIgorICAgIH0sCisgICAgInZhbGlkYXRpb25CaXRzIjp7CisgICAgICAicGxhdGZvcm1JRFZhbGlkIjp0cnVlLAorICAgICAgInRpbWVzdGFtcFZhbGlkIjpmYWxzZSwKKyAgICAgICJwYXJ0aXRpb25JRFZhbGlkIjpmYWxzZQorICAgIH0sCisgICAgInJlY29yZExlbmd0aCI6NzE2LAorICAgICJwbGF0Zm9ybUlEIjoiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMDAwMDAiLAorICAgICJjcmVhdG9ySUQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwMDAwMCIsCisgICAgIm5vdGlmaWNhdGlvblR5cGUiOnsKKyAgICAgICJndWlkIjoiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMDAwMDAiLAorICAgICAgInR5cGUiOiJVbmtub3duIgorICAgIH0sCisgICAgInJlY29yZElEIjoxNzgzODA0MzY3LAorICAgICJmbGFncyI6eworICAgICAgInZhbHVlIjo0LAorICAgICAgIm5hbWUiOiJIV19FUlJPUl9GTEFHU19TSU1VTEFURUQiCisgICAgfSwKKyAgICAicGVyc2lzdGVuY2VJbmZvIjowCisgIH0sCisgICJzZWN0aW9uRGVzY3JpcHRvcnMiOlsKKyAgICB7CisgICAgICAic2VjdGlvbk9mZnNldCI6MjAwLAorICAgICAgInNlY3Rpb25MZW5ndGgiOjUxNiwKKyAgICAgICJyZXZpc2lvbiI6eworICAgICAgICAibWFqb3IiOjQxLAorICAgICAgICAibWlub3IiOjczCisgICAgICB9LAorICAgICAgInZhbGlkYXRpb25CaXRzIjp7CisgICAgICAgICJmcnVJRFZhbGlkIjpmYWxzZSwKKyAgICAgICAgImZydVN0cmluZ1ZhbGlkIjp0cnVlCisgICAgICB9LAorICAgICAgImZsYWdzIjp7CisgICAgICAgICJwcmltYXJ5IjpmYWxzZSwKKyAgICAgICAgImNvbnRhaW5tZW50V2FybmluZyI6ZmFsc2UsCisgICAgICAgICJyZXNldCI6ZmFsc2UsCisgICAgICAgICJlcnJvclRocmVzaG9sZEV4Y2VlZGVkIjpmYWxzZSwKKyAgICAgICAgInJlc291cmNlTm90QWNjZXNzaWJsZSI6ZmFsc2UsCisgICAgICAgICJsYXRlbnRFcnJvciI6dHJ1ZSwKKyAgICAgICAgInByb3BhZ2F0ZWQiOnRydWUsCisgICAgICAgICJvdmVyZmxvdyI6ZmFsc2UKKyAgICAgIH0sCisgICAgICAic2VjdGlvblR5cGUiOnsKKyAgICAgICAgImRhdGEiOiJkYzNlYTBiMC1hMTQ0LTQ3OTctYjk1YjUzZmEyNDJiNmUxZCIsCisgICAgICAgICJ0eXBlIjoiSUEzMlwvWDY0IgorICAgICAgfSwKKyAgICAgICJmcnVUZXh0IjoiXHJn5lxyd6DcXHUwMDEwXHUwMDBmnST/qPP+tEvuXHTNdnRZXSd/IiwKKyAgICAgICJzZXZlcml0eSI6eworICAgICAgICAiY29kZSI6MywKKyAgICAgICAgIm5hbWUiOiJJbmZvcm1hdGlvbmFsIgorICAgICAgfQorICAgIH0KKyAgXSwKKyAgInNlY3Rpb25zIjpbCisgICAgeworICAgICAgInZhbGlkYXRpb25CaXRzIjp7CisgICAgICAgICJsb2NhbEFQSUNJRFZhbGlkIjp0cnVlLAorICAgICAgICAiY3B1SURJbmZvVmFsaWQiOmZhbHNlLAorICAgICAgICAicHJvY2Vzc29yRXJyb3JJbmZvTnVtIjozLAorICAgICAgICAicHJvY2Vzc29yQ29udGV4dEluZm9OdW0iOjEKKyAgICAgIH0sCisgICAgICAibG9jYWxBUElDSUQiOjExOTczODI0NjE0ODQ4NDE1ODA5LAorICAgICAgImNwdWlkSW5mbyI6eworICAgICAgICAiZWF4IjoxMzM2ODUyNDAwMDczNjcyOTAzMCwKKyAgICAgICAgImVieCI6MTY4ODYzMjg5NjUxNTg5NTUyMDksCisgICAgICAgICJlY3giOjMzMDUwNjM3MDA2NjUwNjc3OTYsCisgICAgICAgICJlZHgiOjE0MzU2NDAzNjA4NDI4Njk1NjEKKyAgICAgIH0sCisgICAgICAicHJvY2Vzc29yRXJyb3JJbmZvIjpbCisgICAgICAgIHsKKyAgICAgICAgICAidHlwZSI6ImE1NTcwMWY1LWUzZWYtNDNkZS1hYzcyMjQ5YjU3M2ZhZDJjIiwKKyAgICAgICAgICAidmFsaWRhdGlvbkJpdHMiOnsKKyAgICAgICAgICAgICJjaGVja0luZm9WYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAidGFyZ2V0QWRkcmVzc0lEVmFsaWQiOnRydWUsCisgICAgICAgICAgICAicmVxdWVzdG9ySURWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAicmVzcG9uZGVySURWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAiaW5zdHJ1Y3Rpb25Qb2ludGVyVmFsaWQiOmZhbHNlCisgICAgICAgICAgfSwKKyAgICAgICAgICAiY2hlY2tJbmZvIjp7CisgICAgICAgICAgICAidmFsaWRhdGlvbkJpdHMiOnsKKyAgICAgICAgICAgICAgInRyYW5zYWN0aW9uVHlwZVZhbGlkIjpmYWxzZSwKKyAgICAgICAgICAgICAgIm9wZXJhdGlvblZhbGlkIjp0cnVlLAorICAgICAgICAgICAgICAibGV2ZWxWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAgICJwcm9jZXNzb3JDb250ZXh0Q29ycnVwdFZhbGlkIjp0cnVlLAorICAgICAgICAgICAgICAidW5jb3JyZWN0ZWRWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAgICJwcmVjaXNlSVBWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAgICJyZXN0YXJ0YWJsZUlQVmFsaWQiOmZhbHNlLAorICAgICAgICAgICAgICAib3ZlcmZsb3dWYWxpZCI6dHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJ0cmFuc2FjdGlvblR5cGUiOnsKKyAgICAgICAgICAgICAgInZhbHVlIjoxLAorICAgICAgICAgICAgICAibmFtZSI6IkRhdGEgQWNjZXNzIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJvcGVyYXRpb24iOnsKKyAgICAgICAgICAgICAgInZhbHVlIjo2LAorICAgICAgICAgICAgICAibmFtZSI6IkV2aWN0aW9uIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJsZXZlbCI6NCwKKyAgICAgICAgICAgICJwcm9jZXNzb3JDb250ZXh0Q29ycnVwdCI6ZmFsc2UsCisgICAgICAgICAgICAidW5jb3JyZWN0ZWQiOnRydWUsCisgICAgICAgICAgICAicHJlY2lzZUlQIjp0cnVlLAorICAgICAgICAgICAgInJlc3RhcnRhYmxlSVAiOmZhbHNlLAorICAgICAgICAgICAgIm92ZXJmbG93Ijp0cnVlCisgICAgICAgICAgfSwKKyAgICAgICAgICAidGFyZ2V0QWRkcmVzc0lEIjowLAorICAgICAgICAgICJyZXF1ZXN0b3JJRCI6MCwKKyAgICAgICAgICAicmVzcG9uZGVySUQiOjAsCisgICAgICAgICAgImluc3RydWN0aW9uUG9pbnRlciI6MAorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgInR5cGUiOiIxY2YzZjhiMy1jNWIxLTQ5YTItYWE1OTVlZWY5MmZmYTYzYyIsCisgICAgICAgICAgInZhbGlkYXRpb25CaXRzIjp7CisgICAgICAgICAgICAiY2hlY2tJbmZvVmFsaWQiOmZhbHNlLAorICAgICAgICAgICAgInRhcmdldEFkZHJlc3NJRFZhbGlkIjpmYWxzZSwKKyAgICAgICAgICAgICJyZXF1ZXN0b3JJRFZhbGlkIjpmYWxzZSwKKyAgICAgICAgICAgICJyZXNwb25kZXJJRFZhbGlkIjpmYWxzZSwKKyAgICAgICAgICAgICJpbnN0cnVjdGlvblBvaW50ZXJWYWxpZCI6dHJ1ZQorICAgICAgICAgIH0sCisgICAgICAgICAgImNoZWNrSW5mbyI6eworICAgICAgICAgICAgInZhbGlkYXRpb25CaXRzIjp7CisgICAgICAgICAgICAgICJ0cmFuc2FjdGlvblR5cGVWYWxpZCI6dHJ1ZSwKKyAgICAgICAgICAgICAgIm9wZXJhdGlvblZhbGlkIjp0cnVlLAorICAgICAgICAgICAgICAibGV2ZWxWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAgICJwcm9jZXNzb3JDb250ZXh0Q29ycnVwdFZhbGlkIjp0cnVlLAorICAgICAgICAgICAgICAidW5jb3JyZWN0ZWRWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAgICJwcmVjaXNlSVBWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAgICJyZXN0YXJ0YWJsZUlQVmFsaWQiOnRydWUsCisgICAgICAgICAgICAgICJvdmVyZmxvd1ZhbGlkIjp0cnVlLAorICAgICAgICAgICAgICAicGFydGljaXBhdGlvblR5cGVWYWxpZCI6dHJ1ZSwKKyAgICAgICAgICAgICAgInRpbWVkT3V0VmFsaWQiOmZhbHNlLAorICAgICAgICAgICAgICAiYWRkcmVzc1NwYWNlVmFsaWQiOmZhbHNlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInRyYW5zYWN0aW9uVHlwZSI6eworICAgICAgICAgICAgICAidmFsdWUiOjMsCisgICAgICAgICAgICAgICJuYW1lIjoiVW5rbm93biAoUmVzZXJ2ZWQpIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJvcGVyYXRpb24iOnsKKyAgICAgICAgICAgICAgInZhbHVlIjozLAorICAgICAgICAgICAgICAibmFtZSI6IkRhdGEgV3JpdGUiCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgImxldmVsIjo2LAorICAgICAgICAgICAgInByb2Nlc3NvckNvbnRleHRDb3JydXB0Ijp0cnVlLAorICAgICAgICAgICAgInVuY29ycmVjdGVkIjpmYWxzZSwKKyAgICAgICAgICAgICJwcmVjaXNlSVAiOmZhbHNlLAorICAgICAgICAgICAgInJlc3RhcnRhYmxlSVAiOnRydWUsCisgICAgICAgICAgICAib3ZlcmZsb3ciOmZhbHNlLAorICAgICAgICAgICAgInRpbWVkT3V0IjpmYWxzZSwKKyAgICAgICAgICAgICJwYXJ0aWNpcGF0aW9uVHlwZSI6eworICAgICAgICAgICAgICAidmFsdWUiOjMsCisgICAgICAgICAgICAgICJuYW1lIjoiR2VuZXJpYyIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAiYWRkcmVzc1NwYWNlIjp7CisgICAgICAgICAgICAgICJ2YWx1ZSI6MiwKKyAgICAgICAgICAgICAgIm5hbWUiOiJJXC9PIgorICAgICAgICAgICAgfQorICAgICAgICAgIH0sCisgICAgICAgICAgInRhcmdldEFkZHJlc3NJRCI6Njg2ODg3OSwKKyAgICAgICAgICAicmVxdWVzdG9ySUQiOjAsCisgICAgICAgICAgInJlc3BvbmRlcklEIjowLAorICAgICAgICAgICJpbnN0cnVjdGlvblBvaW50ZXIiOjAKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICJ0eXBlIjoiNDhhYjdmNTctZGMzNC00ZjZjLWE3ZDNiMGI1YjBhNzQzMTQiLAorICAgICAgICAgICJ2YWxpZGF0aW9uQml0cyI6eworICAgICAgICAgICAgImNoZWNrSW5mb1ZhbGlkIjp0cnVlLAorICAgICAgICAgICAgInRhcmdldEFkZHJlc3NJRFZhbGlkIjp0cnVlLAorICAgICAgICAgICAgInJlcXVlc3RvcklEVmFsaWQiOnRydWUsCisgICAgICAgICAgICAicmVzcG9uZGVySURWYWxpZCI6dHJ1ZSwKKyAgICAgICAgICAgICJpbnN0cnVjdGlvblBvaW50ZXJWYWxpZCI6dHJ1ZQorICAgICAgICAgIH0sCisgICAgICAgICAgImNoZWNrSW5mbyI6eworICAgICAgICAgICAgInZhbGlkYXRpb25CaXRzIjp7CisgICAgICAgICAgICAgICJlcnJvclR5cGVWYWxpZCI6ZmFsc2UsCisgICAgICAgICAgICAgICJwcm9jZXNzb3JDb250ZXh0Q29ycnVwdFZhbGlkIjpmYWxzZSwKKyAgICAgICAgICAgICAgInVuY29ycmVjdGVkVmFsaWQiOmZhbHNlLAorICAgICAgICAgICAgICAicHJlY2lzZUlQVmFsaWQiOmZhbHNlLAorICAgICAgICAgICAgICAicmVzdGFydGFibGVJUFZhbGlkIjpmYWxzZSwKKyAgICAgICAgICAgICAgIm92ZXJmbG93VmFsaWQiOmZhbHNlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgImVycm9yVHlwZSI6eworICAgICAgICAgICAgICAidmFsdWUiOjAsCisgICAgICAgICAgICAgICJuYW1lIjoiTm8gRXJyb3IiCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInByb2Nlc3NvckNvbnRleHRDb3JydXB0IjpmYWxzZSwKKyAgICAgICAgICAgICJ1bmNvcnJlY3RlZCI6ZmFsc2UsCisgICAgICAgICAgICAicHJlY2lzZUlQIjpmYWxzZSwKKyAgICAgICAgICAgICJyZXN0YXJ0YWJsZUlQIjpmYWxzZSwKKyAgICAgICAgICAgICJvdmVyZmxvdyI6ZmFsc2UKKyAgICAgICAgICB9LAorICAgICAgICAgICJ0YXJnZXRBZGRyZXNzSUQiOjAsCisgICAgICAgICAgInJlcXVlc3RvcklEIjowLAorICAgICAgICAgICJyZXNwb25kZXJJRCI6MCwKKyAgICAgICAgICAiaW5zdHJ1Y3Rpb25Qb2ludGVyIjozODgzNzkxNzI4NjUzNjMxNDg4CisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAicHJvY2Vzc29yQ29udGV4dEluZm8iOlsKKyAgICAgICAgeworICAgICAgICAgICJyZWdpc3RlckNvbnRleHRUeXBlIjp7CisgICAgICAgICAgICAidmFsdWUiOjU5NTE5LAorICAgICAgICAgICAgIm5hbWUiOiJVbmtub3duIChSZXNlcnZlZCkiCisgICAgICAgICAgfSwKKyAgICAgICAgICAicmVnaXN0ZXJBcnJheVNpemUiOjIxMTIzLAorICAgICAgICAgICJtc3JBZGRyZXNzIjozNDY4NDU3NzMsCisgICAgICAgICAgIm1tUmVnaXN0ZXJBZGRyZXNzIjoxNDQ5OTIzODcxMTU5MTYzNzE2LAorICAgICAgICAgICJyZWdpc3RlckFycmF5Ijp7CisgICAgICAgICAgICAiZGF0YSI6InJPdVM3SXQxZ2hkVVZNU0xoZndUQk9XV1ZqSUpBa1pOSFJONU1qMllSdW1EMmRVT1RsY21vcXZxTFREbVFEVEwxNHY5NEkxRUxhdFhwdDJWUGlOK3dmeFUwRXFyOXV4WDRCbUh4bHE4a2pGSGp4SFUwejVcL0srVmN3Q09BUHVWOGtyWEhQcXV6bFl2TkhGRW4yT05ZSDNOcDlFYW5jM0dNMERHd1VIQ1Z6QUpLazBEMVI5V0FGUExSTzhxMWsrb29cL041dW8xSGdNQ0VSNEhHQmRUNkV2OUhFdEJpYU5DeU1CV2RXdXZwQTR2WWVVWnB3QUFBQUFFRUFBQUFBQUFBQUJBQUFBQUVBQUFDTmUzRmRKMzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0JPYUJkdlZRQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFCQUFBQUFFQUFBQUNGQm9GMjlWQUFBWVQyZ1hiMVVBQUtCT2FCZHZWUUFBTkg1eFhTZFwvQUFCQkZuSmRKMzhBQUswV2NsMG5md0FBa1FJQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQldhQmR2VlFBQUFBQUFBQUFBQUFEZ1ZXZ1hiMVVBQVBoUWFCZHZWUUFBQ0ZCb0YyOVZBQUJRdjJnWGIxVUFBQUFBQUFBQUFBQUE4RnBvRjI5VkFBQUFBQUFBQUFBQUFQaFFhQmR2VlFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQVZXZ1hiMVVBQUFBQUFBQUFBQUFBTUZGb0YyOVZBQUR3VG1nWGIxVUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFFXbWdYYjFVQUFBQUFBQUFBQUFBQVFGWm9GMjlWQUFBWVQyZ1hiMVVBQVBCT2FCZHZWUUFBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQVFBQUFBQkFBQUFqWHR4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQndVV2dYYjFVQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBUUFBQUFCQUFBQUpCVGFCZHZWUUFBdUZOb0YyOVZBQUN3VVdnWGIxVUFBRFIrY1YwbmZ3QUFRUlp5WFNkXC9BQUN0Rm5KZEozOEFBSkVDQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTRGUm9GMjlWQUFBQUFBQUFBQUFBQUtCVWFCZHZWUUFBYUZOb0YyOVZBQUNRVTJnWGIxVUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBVldnWGIxVUFBQUFBQUFBQUFBQUFBRlZvRjI5VkFBQzRVMmdYYjFVQUFLQlNhQmR2VlFBQWdGUm9GMjlWQUFBQUFBQUFBQUFBQUVCVWFCZHZWUUFBb0ZKb0YyOVZBQUFBQUFBQUFBQUFBS0JWYUJkdlZRQUFBQUFBQUFBQUFBQmdWV2dYYjFVQUFBQUFBQUFBQUFBQWFGTm9GMjlWQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQUJBQUFBQVFBQUFMV0NjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFiRzlqWVd4QlVFbERTVVJXWVd4cFpBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQkFBQUFBUUFBQUxXQ2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQVkzQjFTVVJKYm1adlZtRnNhV1FBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFEQUFBQUFRQUFBTHVFY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREFBQUFBQUFBQUNFQUFBQUFBQUFBY0hKdlkyVnpjMjl5UlhKeWIzSkpibVp2VG5WdEFBQUFRUUFBQUFBQUFBQURBQUFBQVFBQUFMdUVjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQ0VBQUFBQUFBQUFjSEp2WTJWemMyOXlRMjl1ZEdWNGRFbHVabTlPZFcwQUlRQUFBQUFBQUFCMllXeHBaR0YwYVc5dVFtbDBjd0FBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQU1BQUFBQkFBQUF1NFJ4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFFRkkzaElNa2l1bUlRQUFBQUFBQUFCc2IyTmhiRUZRU1VOSlJBQUFBQUFBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQVFBQUFBQkFBQUFqWHR4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FWbWdYYjFVQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBUUFBQUFCQUFBQUloWGFCZHZWUUFBc0Zkb0YyOVZBQURBVm1nWGIxVUFBRFIrY1YwbmZ3QUFRUlp5WFNkXC9BQUN0Rm5KZEozOEFBSkVDQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQmFhQmR2VlFBQUFBQUFBQUFBQUFBUVdtZ1hiMVVBQUxCWGFCZHZWUUFBQUZob0YyOVZBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUVdXZ1hiMVVBQUFBQUFBQUFBQUFBVUZsb0YyOVZBQUFBV0dnWGIxVUFBQUFBQUFBQUFBQUFzRnBvRjI5VkFBQUFBQUFBQUFBQUFIQmFhQmR2VlFBQUFBQUFBQUFBQUFEb1ZtZ1hiMVVBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3V1dnWGIxVUFBQUFBQUFBQUFBQUFzRmxvRjI5VkFBRG9WbWdYYjFVQUFJaFhhQmR2VlFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQURBQUFBQVFBQUFMdUVjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQURHVnpMTHY0bUd1U0VBQUFBQUFBQUFaV0Y0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBREFBQUFBUUFBQUx1RWNWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBREphTERvdVVwWTZpRUFBQUFBQUFBQVpXSjRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFEQUFBQUFRQUFBTHVFY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBVTZTMis3UEhkTFNFQUFBQUFBQUFBWldONEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQURBQUFBQVFBQUFMdUVjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUE1dTBCRlRXdnNFeUVBQUFBQUFBQUFaV1I0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFCamNIVnBaRWx1Wm04QUFBQUFBQUFBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQVVBQUFBQkFBQUFBNTF4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdXMmdYYjFVQUFBQUFBQUFBQUFBQU1RQUFBQUFBQUFCZ1cyZ1hiMVVBQUFNQUFBQUFBQUFBSUFBQUFBQUFBQUQ5bm5GZEozOEFBQUFBQUFBQUFBQUFFUUVBQUFBQUFBQndYR2dYYjFVQUFFQjZhQmR2VlFBQW9LWm9GMjlWQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQVFBQUFBQkFBQUFqWHR4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ3dYR2dYYjFVQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBUUFBQUFCd0FBQUdoZGFCZHZWUUFBR0Yxb0YyOVZBQUR3WEdnWGIxVUFBRFIrY1YwbmZ3QUFRUlp5WFNkXC9BQUN0Rm5KZEozOEFBSkVDQUFBQUFBQUFZSGxvRjI5VkFBQUFBQUFBQUFBQUFDQjVhQmR2VlFBQWdGNW9GMjlWQUFBZ1gyZ1hiMVVBQUNCNmFCZHZWUUFBQUFBQUFBQUFBQURnZVdnWGIxVUFBQUFBQUFBQUFBQUFnRjVvRjI5VkFBQ2dlR2dYYjFVQUFBQUFBQUFBQUFBQUVHVm9GMjlWQUFBZ1gyZ1hiMVVBQUZoZWFCZHZWUUFBNEY5b0YyOVZBQUFBQUFBQUFBQUFBSUJmYUJkdlZRQUFXRjVvRjI5VkFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQThHUm9GMjlWQUFBQUFBQUFBQUFBQUFCZ2FCZHZWUUFBUUYxb0YyOVZBQUJvWFdnWGIxVUFBTUI1YUJkdlZRQUFBQUFBQUFBQUFBQ0FlV2dYYjFVQUFCaGRhQmR2VlFBQThGeG9GMjlWQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFlV2dYYjFVQUFBQUFBQUFBQUFBQXdIaG9GMjlWQUFEd1hHZ1hiMVVBQUVCZGFCZHZWUUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFZUUFBQUFBQUFBQUdBQUFBQVFBQUFJdVljVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSXdBQUFBQUFBQUJoTlRVM01ERm1OUzFsTTJWbUxUUXpaR1V0WVdNM01qSTBPV0kxTnpObVlXUXlZd0FBQUFBQUlRQUFBQUFBQUFCMGVYQmxBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQVFBQUFBQkFBQUFqWHR4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFZR2dYYjFVQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBUUFBQUFCUUFBQUVoaGFCZHZWUUFBbUdGb0YyOVZBQUNBWUdnWGIxVUFBRFIrY1YwbmZ3QUFRUlp5WFNkXC9BQUN0Rm5KZEozOEFBSkVDQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlFZMmdYYjFVQUFBQUFBQUFBQUFBQUVHTm9GMjlWQUFEQVlXZ1hiMVVBQUFBQUFBQUFBQUFBY0dSb0YyOVZBQUFBQUFBQUFBQUFBREJrYUJkdlZRQUFtR0ZvRjI5VkFBQVFZbWdYYjFVQUFOQmthQmR2VlFBQUFBQUFBQUFBQUFDUVpHZ1hiMVVBQUFBQUFBQUFBQUFBY0dGb0YyOVZBQUN3WTJnWGIxVUFBQUFBQUFBQUFBQUFjR05vRjI5VkFBQVFZbWdYYjFVQUFFaGhhQmR2VlFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJCa2FCZHZWUUFBQUFBQUFBQUFBQURRWTJnWGIxVUFBSEJoYUJkdlZRQUF3R0ZvRjI5VkFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQkFBQUFBUUFBQUxXQ2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQVkyaGxZMnRKYm1adlZtRnNhV1FBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFCQUFBQUFRQUFBTFdDY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBZEdGeVoyVjBRV1JrY21WemMwbEVWbUZzYVdRQUFBQUFRUUFBQUFBQUFBQUJBQUFBQVFBQUFMV0NjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFjbVZ4ZFdWemRHOXlTVVJXWVd4cFpBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQkFBQUFBUUFBQUxXQ2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQWNtVnpjRzl1WkdWeVNVUldZV3hwWkFBQUFBQUFBQUFBUVFBQUFBQUFBQUFCQUFBQUFRQUFBTFdDY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBYVc1emRISjFZM1JwYjI1UWIybHVkR1Z5Vm1Gc2FXUUFJUUFBQUFBQUFBQjJZV3hwWkdGMGFXOXVRbWwwY3dBQUFBQUFBQUFBQUFCQkFBQUFBQUFBQUFRQUFBQUJBQUFBalh0eFhTZFwvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJRWldnWGIxVUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQVFBQUFBQ1FBQUFQaG1hQmR2VlFBQTRHVm9GMjlWQUFDUVpXZ1hiMVVBQURSK2NWMG5md0FBUVJaeVhTZFwvQUFDdEZuSmRKMzhBQUpFQ0FBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FlR2dYYjFVQUFBQUFBQUFBQUFBQVFIaG9GMjlWQUFBQUFBQUFBQUFBQUhCbmFCZHZWUUFBUUhab0YyOVZBQUFBQUFBQUFBQUFBR0J5YUJkdlZRQUF3R2RvRjI5VkFBQ0FabWdYYjFVQUFBQjNhQmR2VlFBQUFBQUFBQUFBQUFEQWRtZ1hiMVVBQUZobWFCZHZWUUFBd0dkb0YyOVZBQUJnZDJnWGIxVUFBQUFBQUFBQUFBQUFJSGRvRjI5VkFBRFFabWdYYjFVQUFEQm1hQmR2VlFBQVFISm9GMjlWQUFBQUFBQUFBQUFBQUdCdWFCZHZWUUFBQ0dab0YyOVZBQUQ0Wm1nWGIxVUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREFkMmdYYjFVQUFBQUFBQUFBQUFBQWdIZG9GMjlWQUFCd1oyZ1hiMVVBQUZobWFCZHZWUUFBUUc1b0YyOVZBQUFBQUFBQUFBQUFBQ0JvYUJkdlZRQUFnR1pvRjI5VkFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUhob0YyOVZBQUFBQUFBQUFBQUFBT0IzYUJkdlZRQUE0R1ZvRjI5VkFBRFFabWdYYjFVQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ2RtZ1hiMVVBQUFBQUFBQUFBQUFBWUhab0YyOVZBQUF3Wm1nWGIxVUFBQWhtYUJkdlZRQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBRUFBQUFBUUFBQUkxN2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFZR2hvRjI5VkFBQUFBQUFBQUFBQUFFRUFBQUFBQUFBQUVBQUFBQWdBQUFCWWFtZ1hiMVVBQUtocWFCZHZWUUFBb0dob0YyOVZBQUEwZm5GZEozOEFBRUVXY2wwbmZ3QUFyUlp5WFNkXC9BQUNSQWdBQUFBQUFBR0J0YUJkdlZRQUFBQUFBQUFBQUFBQWdiV2dYYjFVQUFJQnFhQmR2VlFBQWtHbG9GMjlWQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCdGFCZHZWUUFBQUFBQUFBQUFBQURBYkdnWGIxVUFBS0JvYUJkdlZRQUE0R2xvRjI5VkFBQXdiR2dYYjFVQUFBQUFBQUFBQUFBQThHdG9GMjlWQUFEZ2FXZ1hiMVVBQVBocWFCZHZWUUFBa0d4b0YyOVZBQUFBQUFBQUFBQUFBRkJzYUJkdlZRQUFrR2xvRjI5VkFBQzRhV2dYYjFVQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBY0d0b0YyOVZBQUFBQUFBQUFBQUFBREJyYUJkdlZRQUErR3BvRjI5VkFBQUFBQUFBQUFBQUFNQnRhQmR2VlFBQUFBQUFBQUFBQUFDQWJXZ1hiMVVBQUtocWFCZHZWUUFBb0dob0YyOVZBQUFnYm1nWGIxVUFBQUFBQUFBQUFBQUE0RzFvRjI5VkFBQUFBQUFBQUFBQUFJQnFhQmR2VlFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU5CcmFCZHZWUUFBQUFBQUFBQUFBQUNRYTJnWGIxVUFBTGhwYUJkdlZRQUFXR3BvRjI5VkFBQUFBQUFBQUFBQUFFRUFBQUFBQUFBQUFRQUFBQUVBQUFDMWduRmRKMzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFIUnlZVzV6WVdOMGFXOXVWSGx3WlZaaGJHbGtBQUFBQUVFQUFBQUFBQUFBQVFBQUFBRUFBQUMxZ25GZEozOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQUc5d1pYSmhkR2x2YmxaaGJHbGtBQUFBQUFBQUFBQUFBRUVBQUFBQUFBQUFBUUFBQUFFQUFBQzFnbkZkSjM4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBR3hsZG1Wc1ZtRnNhV1FBQUFBQUFBQUFBQUFBQUFBQUFFRUFBQUFBQUFBQUFRQUFBQUVBQUFDMWduRmRKMzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQXhBQUFBQUFBQUFIQnliMk5sYzNOdmNrTnZiblJsZUhSRGIzSnlkWEIwVm1Gc2FXUUFBQUFBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQUVBQUFBQkFBQUF0WUp4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFCMWJtTnZjbkpsWTNSbFpGWmhiR2xrQUFBQUFBQUFBQUJCQUFBQUFBQUFBQUVBQUFBQkFBQUF0WUp4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFCd2NtVmphWE5sU1ZCV1lXeHBaQUFBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQUVBQUFBQkFBQUF0WUp4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFCeVpYTjBZWEowWVdKc1pVbFFWbUZzYVdRQUFBQUFBQUJCQUFBQUFBQUFBQUVBQUFBQkFBQUF0WUp4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFCdmRtVnlabXh2ZDFaaGJHbGtBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBSFpoYkdsa1lYUnBiMjVDYVhSekFBQUFBQUFBQUFBQUFFRUFBQUFBQUFBQUJBQUFBQUVBQUFDTmUzRmRKMzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBS0J1YUJkdlZRQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFCQUFBQUFDQUFBQVNIQm9GMjlWQUFBSWIyZ1hiMVVBQU9CdWFCZHZWUUFBTkg1eFhTZFwvQUFCQkZuSmRKMzhBQUswV2NsMG5md0FBa1FJQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJSEpvRjI5VkFBQUFBQUFBQUFBQUFOQnhhQmR2VlFBQUFBQUFBQUFBQUFCSWNHZ1hiMVVBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ3djV2dYYjFVQUFBQUFBQUFBQUFBQWNIRm9GMjlWQUFBSWIyZ1hiMVVBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBTUFBQUFCQUFBQXU0UnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFBQUFBQUFBSVFBQUFBQUFBQUIyWVd4MVpRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlJBQUFBQUFBQUFBWUFBQUFCQUFBQWk1aHhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTEFBQUFBQUFBQUVSaGRHRWdRV05qWlhOekFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFibUZ0WlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFCMGNtRnVjMkZqZEdsdmJsUjVjR1VBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQVFBQUFBQkFBQUFqWHR4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2djbWdYYjFVQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBUUFBQUFBZ0FBQUVoMGFCZHZWUUFBQ0hOb0YyOVZBQURnY21nWGIxVUFBRFIrY1YwbmZ3QUFRUlp5WFNkXC9BQUN0Rm5KZEozOEFBSkVDQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQjJhQmR2VlFBQUFBQUFBQUFBQUFEUWRXZ1hiMVVBQUFBQUFBQUFBQUFBU0hSb0YyOVZBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXNIVm9GMjlWQUFBQUFBQUFBQUFBQUhCMWFCZHZWUUFBQ0hOb0YyOVZBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBREFBQUFBUUFBQUx1RWNWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUdBQUFBQUFBQUFDRUFBQUFBQUFBQWRtRnNkV1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVVFBQUFBQUFBQUFHQUFBQUFRQUFBSXVZY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFCRmRtbGpkR2x2YmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBRzVoYldVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQWIzQmxjbUYwYVc5dUFBQUFBQUFBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFEQUFBQUFRQUFBTHVFY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBRUFBQUFBQUFBQUNFQUFBQUFBQUFBYkdWMlpXd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQUJBQUFBQVFBQUFMV0NjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFjSEp2WTJWemMyOXlRMjl1ZEdWNGRFTnZjbkoxY0hRQVFRQUFBQUFBQUFBQkFBQUFBUUFBQUxXQ2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQWRXNWpiM0p5WldOMFpXUUFBQUFBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFCQUFBQUFRQUFBTFdDY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBY0hKbFkybHpaVWxRQUFBQUFBQUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQUJBQUFBQVFBQUFMV0NjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFjbVZ6ZEdGeWRHRmliR1ZKVUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQkFBQUFBUUFBQUxXQ2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQWIzWmxjbVpzYjNjQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJqYUdWamEwbHVabThBQUFBQUFBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBTUFBQUFCQUFBQXU0UnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUIwWVhKblpYUkJaR1J5WlhOelNVUUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBTUFBQUFCQUFBQXU0UnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJ5WlhGMVpYTjBiM0pKUkFBQUFBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBTUFBQUFCQUFBQXU0UnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJ5WlhOd2IyNWtaWEpKUkFBQUFBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBTUFBQUFCQUFBQXU0UnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJwYm5OMGNuVmpkR2x2YmxCdmFXNTBaWElBQUFBQUFBQkJBQUFBQUFBQUFBUUFBQUFCQUFBQWpYdHhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQWVtZ1hiMVVBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFRQUFBQUJ3QUFBRGg3YUJkdlZRQUE2SHBvRjI5VkFBREFlbWdYYjFVQUFEUitjVjBuZndBQVFSWnlYU2RcL0FBQ3RGbkpkSjM4QUFKRUNBQUFBQUFBQXdLVm9GMjlWQUFBQUFBQUFBQUFBQUlDbGFCZHZWUUFBVUh4b0YyOVZBQUR3ZkdnWGIxVUFBSUNtYUJkdlZRQUFBQUFBQUFBQUFBQkFwbWdYYjFVQUFBQUFBQUFBQUFBQVVIeG9GMjlWQUFCQXBXZ1hiMVVBQUFBQUFBQUFBQUFBNElKb0YyOVZBQUR3ZkdnWGIxVUFBQ2g4YUJkdlZRQUFzSDFvRjI5VkFBQUFBQUFBQUFBQUFGQjlhQmR2VlFBQUtIeG9GMjlWQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0lKb0YyOVZBQUFBQUFBQUFBQUFBTkI5YUJkdlZRQUFFSHRvRjI5VkFBQTRlMmdYYjFVQUFDQ21hQmR2VlFBQUFBQUFBQUFBQUFEZ3BXZ1hiMVVBQU9oNmFCZHZWUUFBd0hwb0YyOVZBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ3BXZ1hiMVVBQUFBQUFBQUFBQUFBOEo5b0YyOVZBQURBZW1nWGIxVUFBQkI3YUJkdlZRQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlRQUFBQUFBQUFBR0FBQUFBUUFBQUl1WWNWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJd0FBQUFBQUFBQXhZMll6WmpoaU15MWpOV0l4TFRRNVlUSXRZV0UxT1RWbFpXWTVNbVptWVRZell3QUFBQUFBSVFBQUFBQUFBQUIwZVhCbEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBUUFBQUFCQUFBQWpYdHhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUWZtZ1hiMVVBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFRQUFBQUJRQUFBQmhcL2FCZHZWUUFBYUg5b0YyOVZBQUJRZm1nWGIxVUFBRFIrY1YwbmZ3QUFRUlp5WFNkXC9BQUN0Rm5KZEozOEFBSkVDQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdnV2dYYjFVQUFBQUFBQUFBQUFBQTRJQm9GMjlWQUFDUWYyZ1hiMVVBQUFBQUFBQUFBQUFBUUlKb0YyOVZBQUFBQUFBQUFBQUFBQUNDYUJkdlZRQUFhSDlvRjI5VkFBRGdmMmdYYjFVQUFLQ0NhQmR2VlFBQUFBQUFBQUFBQUFCZ2dtZ1hiMVVBQUFBQUFBQUFBQUFBUUg5b0YyOVZBQUNBZ1dnWGIxVUFBQUFBQUFBQUFBQUFRSUZvRjI5VkFBRGdmMmdYYjFVQUFCaFwvYUJkdlZRQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQ0JhQmR2VlFBQUFBQUFBQUFBQUFDZ2dXZ1hiMVVBQUVCXC9hQmR2VlFBQWtIOW9GMjlWQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFCQUFBQUFRQUFBTFdDY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBWTJobFkydEpibVp2Vm1Gc2FXUUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQUJBQUFBQVFBQUFMV0NjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFkR0Z5WjJWMFFXUmtjbVZ6YzBsRVZtRnNhV1FBQUFBQVFRQUFBQUFBQUFBQkFBQUFBUUFBQUxXQ2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQWNtVnhkV1Z6ZEc5eVNVUldZV3hwWkFBQUFBQUFBQUFBUVFBQUFBQUFBQUFCQUFBQUFRQUFBTFdDY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBY21WemNHOXVaR1Z5U1VSV1lXeHBaQUFBQUFBQUFBQUFRUUFBQUFBQUFBQUJBQUFBQVFBQUFMV0NjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFhVzV6ZEhKMVkzUnBiMjVRYjJsdWRHVnlWbUZzYVdRQUlRQUFBQUFBQUFCMllXeHBaR0YwYVc5dVFtbDBjd0FBQUFBQUFBQUFBQUJCQUFBQUFBQUFBQVFBQUFBQkFBQUFqWHR4WFNkXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdnMmdYYjFVQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBZ0FBQUFEQUFBQUppaGFCZHZWUUFBaUtKb0YyOVZBQUF3b0dnWGIxVUFBRFIrY1YwbmZ3QUFRUlp5WFNkXC9BQUN0Rm5KZEozOEFBSkVDQUFBQUFBQUFBQUFBQUFBQUFBQVFBR2dYYjFVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3bDJnWGIxVUFBQUFBQUFBQUFBQUFNSmRvRjI5VkFBQm9oV2dYYjFVQUFFQ0ZhQmR2VlFBQU1KVm9GMjlWQUFBQUFBQUFBQUFBQUZDUmFCZHZWUUFBa0lWb0YyOVZBQUJRaEdnWGIxVUFBUENWYUJkdlZRQUFBQUFBQUFBQUFBQ3dsV2dYYjFVQUFDaUVhQmR2VlFBQWtJVm9GMjlWQUFCUWxtZ1hiMVVBQUFBQUFBQUFBQUFBRUpab0YyOVZBQUNnaEdnWGIxVUFBQUNFYUJkdlZRQUFNSkZvRjI5VkFBQUFBQUFBQUFBQUFGQ05hQmR2VlFBQTJJTm9GMjlWQUFESWhHZ1hiMVVBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUN3bG1nWGIxVUFBQUFBQUFBQUFBQUFjSlpvRjI5VkFBQkFoV2dYYjFVQUFDaUVhQmR2VlFBQU1JMW9GMjlWQUFBQUFBQUFBQUFBQVBDRmFCZHZWUUFBVUlSb0YyOVZBQUFBQUFBQUFBQUFBTkNiYUJkdlZRQUFBQUFBQUFBQUFBRHdsMmdYYjFVQUFBQUFBQUFBQUFBQWFJVm9GMjlWQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUpkb0YyOVZBQUFBQUFBQUFBQUFBTkNXYUJkdlZRQUFzSU5vRjI5VkFBQ2doR2dYYjFVQUFOQ1hhQmR2VlFBQUFBQUFBQUFBQUFDUWwyZ1hiMVVBQVBDRWFCZHZWUUFBc0lOb0YyOVZBQUNRbFdnWGIxVUFBQUFBQUFBQUFBQUFVSlZvRjI5VkFBQUFoR2dYYjFVQUFOaURhQmR2VlFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFFQUFBQUFRQUFBSTE3Y1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU1JWm9GMjlWQUFBQUFBQUFBQUFBQUVFQUFBQUFBQUFBRUFBQUFBc0FBQUFvaUdnWGIxVUFBSmlHYUJkdlZRQUFjSVpvRjI5VkFBQTBmbkZkSjM4QUFFRVdjbDBuZndBQXJSWnlYU2RcL0FBQ1JBZ0FBQUFBQUFEQ0xhQmR2VlFBQUFBQUFBQUFBQUFEd2ltZ1hiMVVBQUZDSWFCZHZWUUFBWUlkb0YyOVZBQUFRaldnWGIxVUFBQUFBQUFBQUFBQUEwSXhvRjI5VkFBQUFBQUFBQUFBQUFEaUhhQmR2VlFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZDTWFCZHZWUUFBQUFBQUFBQUFBQUFRakdnWGIxVUFBRGlIYUJkdlZRQUFlSWhvRjI5VkFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXNJeG9GMjlWQUFBQUFBQUFBQUFBQUhDTWFCZHZWUUFBbUlab0YyOVZBQURvaG1nWGIxVUFBTkNLYUJkdlZRQUFBQUFBQUFBQUFBQ1FpbWdYYjFVQUFIQ0dhQmR2VlFBQXNJZG9GMjlWQUFBQWltZ1hiMVVBQUFBQUFBQUFBQUFBd0lsb0YyOVZBQUN3aDJnWGIxVUFBTWlJYUJkdlZRQUFZSXBvRjI5VkFBQUFBQUFBQUFBQUFDQ0thQmR2VlFBQVlJZG9GMjlWQUFDSWgyZ1hiMVVBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRSWxvRjI5VkFBQUFBQUFBQUFBQUFBQ0phQmR2VlFBQXlJaG9GMjlWQUFBQUFBQUFBQUFBQUpDTGFCZHZWUUFBQUFBQUFBQUFBQUJRaTJnWGIxVUFBSGlJYUJkdlZRQUFjSVpvRjI5VkFBRHdpMmdYYjFVQUFBQUFBQUFBQUFBQXNJdG9GMjlWQUFEb2htZ1hiMVVBQUZDSWFCZHZWUUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBS0NKYUJkdlZRQUFBQUFBQUFBQUFBQmdpV2dYYjFVQUFJaUhhQmR2VlFBQUtJaG9GMjlWQUFBQUFBQUFBQUFBQUVFQUFBQUFBQUFBQVFBQUFBRUFBQUMxZ25GZEozOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQUhSeVlXNXpZV04wYVc5dVZIbHdaVlpoYkdsa0FBQUFBRUVBQUFBQUFBQUFBUUFBQUFFQUFBQzFnbkZkSjM4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBRzl3WlhKaGRHbHZibFpoYkdsa0FBQUFBQUFBQUFBQUFFRUFBQUFBQUFBQUFRQUFBQUVBQUFDMWduRmRKMzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFHeGxkbVZzVm1Gc2FXUUFBQUFBQUFBQUFBQUFBQUFBQUVFQUFBQUFBQUFBQVFBQUFBRUFBQUMxZ25GZEozOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBeEFBQUFBQUFBQUhCeWIyTmxjM052Y2tOdmJuUmxlSFJEYjNKeWRYQjBWbUZzYVdRQUFBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBRUFBQUFCQUFBQXRZSnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUIxYm1OdmNuSmxZM1JsWkZaaGJHbGtBQUFBQUFBQUFBQkJBQUFBQUFBQUFBRUFBQUFCQUFBQXRZSnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJ3Y21WamFYTmxTVkJXWVd4cFpBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBRUFBQUFCQUFBQXRZSnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJ5WlhOMFlYSjBZV0pzWlVsUVZtRnNhV1FBQUFBQUFBQkJBQUFBQUFBQUFBRUFBQUFCQUFBQXRZSnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJ2ZG1WeVpteHZkMVpoYkdsa0FBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBRUFBQUFCQUFBQXRZSnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJ3WVhKMGFXTnBjR0YwYVc5dVZIbHdaVlpoYkdsa0FBQkJBQUFBQUFBQUFBRUFBQUFCQUFBQXRZSnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUIwYVcxbFpFOTFkRlpoYkdsa0FBQUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBRUFBQUFCQUFBQXRZSnhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJoWkdSeVpYTnpVM0JoWTJWV1lXeHBaQUFBQUFBQUFBQWhBQUFBQUFBQUFIWmhiR2xrWVhScGIyNUNhWFJ6QUFBQUFBQUFBQUFBQUVFQUFBQUFBQUFBQkFBQUFBRUFBQUNOZTNGZEozOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKQ05hQmR2VlFBQUFBQUFBQUFBQUFCQkFBQUFBQUFBQUJBQUFBQUNBQUFBT0k5b0YyOVZBQUQ0aldnWGIxVUFBTkNOYUJkdlZRQUFOSDV4WFNkXC9BQUJCRm5KZEozOEFBSzBXY2wwbmZ3QUFrUUlBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVKRm9GMjlWQUFBQUFBQUFBQUFBQU1DUWFCZHZWUUFBQUFBQUFBQUFBQUE0ajJnWGIxVUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ2tHZ1hiMVVBQUFBQUFBQUFBQUFBWUpCb0YyOVZBQUQ0aldnWGIxVUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQkFBQUFBQUFBQUFNQUFBQUJBQUFBdTRSeFhTZFwvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQU1BQUFBQUFBQUFJUUFBQUFBQUFBQjJZV3gxWlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUkFBQUFBQUFBQUFZQUFBQUJBQUFBaTVoeFhTZFwvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQUFBQUFBQUFBRlZ1YTI1dmQyNGdLRkpsYzJWeWRtVmtLUUFBQUFBQUFDRUFBQUFBQUFBQWJtRnRaUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUIwY21GdWMyRmpkR2x2YmxSNWNHVUFBQUFBQUFBQUFBQkJBQUFBQUFBQUFBUUFBQUFCQUFBQWpYdHhYU2RcL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUWtXZ1hiMVVBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFRQUFBQUFnQUFBRGlUYUJkdlZRQUErSkZvRjI5VkFBRFFrV2dYYjFVQUFEUitjVjBuZndBQVFSWnlYU2RcL0FBQ3RGbkpkSjM4QUFKRUNBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJDVmFCZHZWUUFBQUFBQUFBQUFBQURBbEdnWGIxVUFBQUFBQUFBQUFBQUFPSk5vRjI5VkFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBb0pSb0YyOVZBQUFBQUFBQUFBQUFBR0NVYUJkdlZRQUErSkZvRjI5VkFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFEQUFBQUFRQUFBTHVFY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBREFBQUFBQUFBQUNFQUFBQUFBQUFBZG1Gc2RXVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVUUFBQUFBQUFBQUdBQUFBQVFBQUFJdVljVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2dBQUFBQUFBQUJFWVhSaElGZHlhWFJsQUFBQUFBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFHNWhiV1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBYjNCbGNtRjBhVzl1QUFBQUFBQUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQURBQUFBQVFBQUFMdUVjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFHQUFBQUFBQUFBQ0VBQUFBQUFBQUFiR1YyWld3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQkFBQUFBUUFBQUxXQ2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQWNISnZZMlZ6YzI5eVEyOXVkR1Y0ZEVOdmNuSjFjSFFBUVFBQUFBQUFBQUFCQUFBQUFRQUFBTFdDY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBZFc1amIzSnlaV04wWldRQUFBQUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQUJBQUFBQVFBQUFMV0NjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFjSEpsWTJselpVbFFBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQkFBQUFBUUFBQUxXQ2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQWNtVnpkR0Z5ZEdGaWJHVkpVQUFBQUFBQUFBQUFBQUFBUVFBQUFBQUFBQUFCQUFBQUFRQUFBTFdDY1YwbmZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBYjNabGNtWnNiM2NBQUFBQUFBQUFBQUFBQUFBQUFBQUFRUUFBQUFBQUFBQUJBQUFBQVFBQUFMV0NjVjBuZndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUFkR2x0WldSUGRYUUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBRUFBQUFBUUFBQUkxN2NWMG5md0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNSmhvRjI5VkFBQUFBQUFBQUFBQUFFRUFBQUFBQUFBQUVBQUFBQUlBQUFEWW1XZ1hiMVVBQUppWWFCZHZWUUFBY0pob0YyOVZBQUEwZm5GZEozOEFBRUVXY2wwbmZ3QUFyUlp5WFNkXC9BQUNSQWdBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ3dtMmdYYjFVQUFBQUFBQUFBQUFBQVlKdG9GMjlWQUFBQUFBQUFBQUFBQU5pWmFCZHZWUUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQ2JhQmR2VlFBQUFBQUFBQUFBQUFBQW0yZ1hiMVVBQUppWWFCZHZWUUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFRUFBQUFBQUFBQUF3QUFBQUVBQUFDN2hIRmRKMzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBd0FBQUFBQUFBQWhBQUFBQUFBQUFIWmhiSFZsQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZFQUFBQUFBQUFBQmdBQUFBRUFBQUNMbUhGZEozOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBY0FBQUFBQUFBQVIyVnVaWEpwWXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJ1WVcxbEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFIQmhjblJwWTJsd1lYUnBiMjVVZVhCbEFBQUFBQUFBQUVFQUFBQUFBQUFBQkFBQUFBRUFBQUNOZTNGZEozOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQ2NhQmR2VlFBQUFBQUFBQUFBQUFCQkFBQUFBQUFBQUJBQUFBQUNBQUFBMkoxb0YyOVZBQUNZbkdnWGIxVUFBSENjYUJkdlZRQUFOSDV4WFNkXC9BQUJCRm5KZEozOEFBSzBXY2wwbmZ3QUFrUUlBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXNKOW9GMjlWQUFBQUFBQUFBQUFBQUdDZmFCZHZWUUFBQUFBQUFBQUFBQURZbldnWGIxVUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBcL1wvXC9cL1wvXC9cL1wvXC9cL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURcL1wvXC9cL1wvXC9cL1wvXC9cL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQW4yZ1hiMVVBQUFBQUFBQUFBQUFBQUo5b0YyOVZBQUNZbkdnWGIxVUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQXC9cL1wvXC9cL1wvXC9cL1wvXC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEXC9cL1wvXC9cL1wvXC9cL1wvXC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFwvXC9cL1wvXC9cL1wvXC9cL1wvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFwvXC9cL1wvXC9cL1wvXC9cL1wvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQkFBQUFBQUFBQUFNQUFBQUJBQUFBdTRSeFhTZFwvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFBQUFJUUFBQUFBQUFBQjJZV3gxWlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUkFBQUFBQUFBQUFZQUFBQUJBQUFBaTVoeFhTZFwvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBRWt2VHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQWJtRnRaUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUJoWkdSeVpYTnpVM0JoWTJVQUFBQUFBQUFBIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgXQorICAgIH0KKyAgXQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2dlbmVyYXRvci9jcGVyLWdlbmVyYXRlLWNsaS5jIGIvZ2VuZXJhdG9yL2NwZXItZ2VuZXJhdGUtY2xpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIxN2VmZQotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRvci9jcGVyLWdlbmVyYXRlLWNsaS5jCkBAIC0wLDAgKzEsNzAgQEAKKy8qKgorICogQSB1c2VyLXNwYWNlIGFwcGxpY2F0aW9uIGZvciBnZW5lcmF0aW5nIHBzdWVkby1yYW5kb20gc3BlY2lmaWNhdGlvbiBjb21wbGlhbnQgQ1BFUiByZWNvcmRzLiAKKyAqIAorICogQXV0aG9yOiBMYXdyZW5jZS5UYW5nQGFybS5jb20KKyAqKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAiLi4vZWRrL0NwZXIuaCIKKyNpbmNsdWRlICJjcGVyLWdlbmVyYXRlLmgiCisKK3ZvaWQgcHJpbnRfaGVscCgpOworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQoreworICAgIC8vSWYgaGVscCByZXF1ZXN0ZWQsIHByaW50IGhlbHAuCisgICAgaWYgKGFyZ2MgPT0gMiAmJiBzdHJjbXAoYXJndlsxXSwgIi0taGVscCIpID09IDApCisgICAgeworICAgICAgICBwcmludF9oZWxwKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8vRW5zdXJlIHRoZSBtaW5pbXVtIG51bWJlciBvZiBhcmd1bWVudHMuCisgICAgaWYgKGFyZ2MgPCA1KQorICAgIHsKKyAgICAgICAgcHJpbnRmKCJJbnN1ZmZpY2llbnQgbnVtYmVyIG9mIGFyZ3VtZW50cy4gU2VlICdjcGVyLWdlbmVyYXRlIC0taGVscCcgZm9yIGNvbW1hbmQgaW5mb3JtYXRpb24uXG4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIC8vT3BlbiBhIGZpbGUgaGFuZGxlIHRvIHdyaXRlIG91dHB1dC4KKyAgICBGSUxFKiBjcGVyX2ZpbGUgPSBmb3Blbihhcmd2WzJdLCAidyIpOworICAgIGlmIChjcGVyX2ZpbGUgPT0gTlVMTCkgCisgICAgeworICAgICAgICBwcmludGYoIkNvdWxkIG5vdCBnZXQgYSBoYW5kbGUgZm9yIG91dHB1dCBmaWxlICclcycsIGZpbGUgaGFuZGxlIHJldHVybmVkIG51bGwuXG4iLCBhcmd2WzJdKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIC8vR2VuZXJhdGUgdGhlIHJlY29yZC4gVHlwZSBuYW1lcyBzdGFydCBmcm9tIGFyZ3ZbNF0uCisgICAgVUlOVDE2IG51bV9zZWN0aW9ucyA9IGFyZ2MgLSA0OworICAgIGdlbmVyYXRlX2NwZXJfcmVjb3JkKGFyZ3YgKyA0LCBudW1fc2VjdGlvbnMsIGNwZXJfZmlsZSk7CisgICAgZmNsb3NlKGNwZXJfZmlsZSk7Cit9CisKKworLy9QcmludHMgY29tbWFuZCBoZWxwIGZvciB0aGlzIENQRVIgZ2VuZXJhdG9yLgordm9pZCBwcmludF9oZWxwKCkKK3sKKyAgICBwcmludGYoIjo6IC0tb3V0IGNwZXIuZmlsZSAtLXNlY3Rpb25zIHNlY3Rpb24xIFtzZWN0aW9uMiBzZWN0aW9uMyAuLi5dXG4iKTsKKyAgICBwcmludGYoIlx0R2VuZXJhdGVzIGEgcHN1ZWRvLXJhbmRvbSBDUEVSIGZpbGUgd2l0aCB0aGUgcHJvdmlkZWQgc2VjdGlvbiB0eXBlcyBhbmQgb3V0cHV0cyB0byB0aGUgZ2l2ZW4gZmlsZSBuYW1lLlxuIik7CisgICAgcHJpbnRmKCJcdFZhbGlkIHNlY3Rpb24gdHlwZSBuYW1lcyBhcmUgdGhlIGZvbGxvd2luZzpcbiIpOworICAgIHByaW50ZigiXHRcdC0gZ2VuZXJpY1xuIik7CisgICAgcHJpbnRmKCJcdFx0LSBpYTMyeDY0XG4iKTsKKyAgICBwcmludGYoIlx0XHQtIGlwZlxuIik7CisgICAgcHJpbnRmKCJcdFx0LSBhcm1cbiIpOworICAgIHByaW50ZigiXHRcdC0gbWVtb3J5XG4iKTsKKyAgICBwcmludGYoIlx0XHQtIG1lbW9yeTJcbiIpOworICAgIHByaW50ZigiXHRcdC0gcGNpZVxuIik7CisgICAgcHJpbnRmKCJcdFx0LSBmaXJtd2FyZVxuIik7CisgICAgcHJpbnRmKCJcdFx0LSBwY2lidXNcbiIpOworICAgIHByaW50ZigiXHRcdC0gcGNpZGV2XG4iKTsKKyAgICBwcmludGYoIlx0XHQtIGRtYXJnZW5lcmljXG4iKTsKKyAgICBwcmludGYoIlx0XHQtIGRtYXJ2dGRcbiIpOworICAgIHByaW50ZigiXHRcdC0gZG1hcmlvbW11XG4iKTsKKyAgICBwcmludGYoIlx0XHQtIGNjaXhwZXJcbiIpOworICAgIHByaW50ZigiXHRcdC0gY3hscHJvdG9jb2xcbiIpOworICAgIHByaW50ZigiXHRcdC0gY3hsY29tcG9uZW50XG4iKTsKKyAgICBwcmludGYoIlx0XHQtIHVua25vd25cbiIpOworICAgIHByaW50ZigiXG46OiAtLWhlbHBcbiIpOworICAgIHByaW50ZigiXHREaXNwbGF5cyBoZWxwIGluZm9ybWF0aW9uIHRvIHRoZSBjb25zb2xlLlxuIik7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yL2NwZXItZ2VuZXJhdGUuYyBiL2dlbmVyYXRvci9jcGVyLWdlbmVyYXRlLmMKaW5kZXggMjNmYWQxZC4uOTNkZjRmZSAxMDA2NDQKLS0tIGEvZ2VuZXJhdG9yL2NwZXItZ2VuZXJhdGUuYworKysgYi9nZW5lcmF0b3IvY3Blci1nZW5lcmF0ZS5jCkBAIC0xLDUgKzEsNSBAQAogLyoqCi0gKiBBIHVzZXItc3BhY2UgYXBwbGljYXRpb24gZm9yIGdlbmVyYXRpbmcgcHN1ZWRvLXJhbmRvbSBzcGVjaWZpY2F0aW9uIGNvbXBsaWFudCBDUEVSIHJlY29yZHMuIAorICogRGVzY3JpYmVzIGZ1bmN0aW9ucyBmb3IgZ2VuZXJhdGluZyBwc3VlZG8tcmFuZG9tIHNwZWNpZmljYXRpb24gY29tcGxpYW50IENQRVIgcmVjb3Jkcy4gCiAgKiAKICAqIEF1dGhvcjogTGF3cmVuY2UuVGFuZ0Bhcm0uY29tCiAgKiovCkBAIC0xMCw0MSArMTAsMjggQEAKICNpbmNsdWRlICIuLi9lZGsvQ3Blci5oIgogI2luY2x1ZGUgImdlbi11dGlscy5oIgogI2luY2x1ZGUgInNlY3Rpb25zL2dlbi1zZWN0aW9ucy5oIgorI2luY2x1ZGUgImNwZXItZ2VuZXJhdGUuaCIKIAogRUZJX0VSUk9SX1NFQ1RJT05fREVTQ1JJUFRPUiogZ2VuZXJhdGVfc2VjdGlvbl9kZXNjcmlwdG9yKGNoYXIqIHR5cGUsIHNpemVfdCogbGVuZ3RocywgaW50IGluZGV4LCBpbnQgbnVtX3NlY3Rpb25zKTsKIHNpemVfdCBnZW5lcmF0ZV9zZWN0aW9uKHZvaWQqKiBsb2NhdGlvbiwgY2hhciogdHlwZSk7Ci12b2lkIHByaW50X2hlbHAoKTsKIAotaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKKy8vR2VuZXJhdGVzIGEgQ1BFUiByZWNvcmQgd2l0aCB0aGUgZ2l2ZW4gc2VjdGlvbiB0eXBlcywgb3V0cHV0dGluZyB0byB0aGUgZ2l2ZW4gc3RyZWFtLgordm9pZCBnZW5lcmF0ZV9jcGVyX3JlY29yZChjaGFyKiogdHlwZXMsIFVJTlQxNiBudW1fc2VjdGlvbnMsIEZJTEUqIG91dCkKIHsKLSAgICAvL0lmIGhlbHAgcmVxdWVzdGVkLCBwcmludCBoZWxwLgotICAgIGlmIChhcmdjID09IDIgJiYgc3RyY21wKGFyZ3ZbMV0sICItLWhlbHAiKSA9PSAwKQotICAgIHsKLSAgICAgICAgcHJpbnRfaGVscCgpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvL0Vuc3VyZSB0aGUgbWluaW11bSBudW1iZXIgb2YgYXJndW1lbnRzLgotICAgIGlmIChhcmdjIDwgNSkKLSAgICB7Ci0gICAgICAgIHByaW50ZigiSW5zdWZmaWNpZW50IG51bWJlciBvZiBhcmd1bWVudHMuIFNlZSAnY3Blci1nZW5lcmF0ZSAtLWhlbHAnIGZvciBjb21tYW5kIGluZm9ybWF0aW9uLlxuIik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KICAgICAvL0luaXRpYWxpc2UgcmFuZG9taXNlci4KICAgICBpbml0X3JhbmRvbSgpOwogCi0gICAgLy9HZW5lcmF0ZSB0aGUgc2VjdGlvbnMuIFR5cGUgbmFtZXMgc3RhcnQgZnJvbSBhcmd2WzRdLgotICAgIFVJTlQxNiBudW1fc2VjdGlvbnMgPSBhcmdjIC0gNDsKKyAgICAvL0dlbmVyYXRlIHRoZSBzZWN0aW9ucy4KICAgICB2b2lkKiBzZWN0aW9uc1tudW1fc2VjdGlvbnNdOwogICAgIHNpemVfdCBzZWN0aW9uX2xlbmd0aHNbbnVtX3NlY3Rpb25zXTsKICAgICBmb3IgKGludCBpPTA7IGk8bnVtX3NlY3Rpb25zOyBpKyspIAogICAgIHsKLSAgICAgICAgc2VjdGlvbl9sZW5ndGhzW2ldID0gZ2VuZXJhdGVfc2VjdGlvbihzZWN0aW9ucyArIGksIGFyZ3ZbNCArIGldKTsKKyAgICAgICAgc2VjdGlvbl9sZW5ndGhzW2ldID0gZ2VuZXJhdGVfc2VjdGlvbihzZWN0aW9ucyArIGksIHR5cGVzW2ldKTsKICAgICAgICAgaWYgKHNlY3Rpb25fbGVuZ3Roc1tpXSA9PSAwKQogICAgICAgICB7CiAgICAgICAgICAgICAvL0Vycm9yIGVuY291bnRlcmVkLCBleGl0LgotICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgcHJpbnRmKCJFcnJvciBlbmNvdW50ZXJlZCBnZW5lcmF0aW5nIHNlY3Rpb24gJWQgb2YgdHlwZSAnJXMnLCBsZW5ndGggcmV0dXJuZWQgemVyby5cbiIsIGkrMSwgdHlwZXNbaV0pOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQogCkBAIC02Myw3ICs1MCw3IEBACiAgICAgLy9HZW5lcmF0ZSB0aGUgc2VjdGlvbiBkZXNjcmlwdG9ycyBnaXZlbiB0aGUgbnVtYmVyIG9mIHNlY3Rpb25zLgogICAgIEVGSV9FUlJPUl9TRUNUSU9OX0RFU0NSSVBUT1IqIHNlY3Rpb25fZGVzY3JpcHRvcnNbbnVtX3NlY3Rpb25zXTsKICAgICBmb3IgKGludCBpPTA7IGk8bnVtX3NlY3Rpb25zOyBpKyspCi0gICAgICAgIHNlY3Rpb25fZGVzY3JpcHRvcnNbaV0gPSBnZW5lcmF0ZV9zZWN0aW9uX2Rlc2NyaXB0b3IoYXJndls0ICsgaV0sIHNlY3Rpb25fbGVuZ3RocywgaSwgbnVtX3NlY3Rpb25zKTsKKyAgICAgICAgc2VjdGlvbl9kZXNjcmlwdG9yc1tpXSA9IGdlbmVyYXRlX3NlY3Rpb25fZGVzY3JpcHRvcih0eXBlc1tpXSwgc2VjdGlvbl9sZW5ndGhzLCBpLCBudW1fc2VjdGlvbnMpOwogCiAgICAgLy9DYWxjdWxhdGUgdG90YWwgbGVuZ3RoIG9mIHN0cnVjdHVyZSwgc2V0IGluIGhlYWRlci4KICAgICBzaXplX3QgdG90YWxfbGVuID0gc2l6ZW9mKEVGSV9DT01NT05fRVJST1JfUkVDT1JEX0hFQURFUik7CkBAIC03MiwzMSArNTksMjIgQEAKICAgICB0b3RhbF9sZW4gKz0gbnVtX3NlY3Rpb25zICogc2l6ZW9mKEVGSV9FUlJPUl9TRUNUSU9OX0RFU0NSSVBUT1IpOwogICAgIGhlYWRlci0+UmVjb3JkTGVuZ3RoID0gKFVJTlQzMil0b3RhbF9sZW47CiAKLSAgICAvL09wZW4gYSBmaWxlIGhhbmRsZSB0byB3cml0ZSBvdXRwdXQuCi0gICAgRklMRSogY3Blcl9maWxlID0gZm9wZW4oYXJndlsyXSwgInciKTsKLSAgICBpZiAoY3Blcl9maWxlID09IE5VTEwpIAotICAgIHsKLSAgICAgICAgcHJpbnRmKCJDb3VsZCBub3QgZ2V0IGEgaGFuZGxlIGZvciBvdXRwdXQgZmlsZSAnJXMnLCBmaWxlIGhhbmRsZSByZXR1cm5lZCBudWxsLlxuIiwgYXJndlsyXSk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgICAvL1dyaXRlIHRvIGZpbGUgaW4gb3JkZXIsIGZyZWUgYWxsIHJlc291cmNlcy4KLSAgICBmd3JpdGUoaGVhZGVyLCBzaXplb2YoRUZJX0NPTU1PTl9FUlJPUl9SRUNPUkRfSEVBREVSKSwgMSwgY3Blcl9maWxlKTsKLSAgICBmZmx1c2goY3Blcl9maWxlKTsKKyAgICAvL1dyaXRlIHRvIHN0cmVhbSBpbiBvcmRlciwgZnJlZSBhbGwgcmVzb3VyY2VzLgorICAgIGZ3cml0ZShoZWFkZXIsIHNpemVvZihFRklfQ09NTU9OX0VSUk9SX1JFQ09SRF9IRUFERVIpLCAxLCBvdXQpOworICAgIGZmbHVzaChvdXQpOwogICAgIGZyZWUoaGVhZGVyKTsKICAgICBmb3IgKGludCBpPTA7IGk8bnVtX3NlY3Rpb25zOyBpKyspCiAgICAgewotICAgICAgICBmd3JpdGUoc2VjdGlvbl9kZXNjcmlwdG9yc1tpXSwgc2l6ZW9mKEVGSV9FUlJPUl9TRUNUSU9OX0RFU0NSSVBUT1IpLCAxLCBjcGVyX2ZpbGUpOwotICAgICAgICBmZmx1c2goY3Blcl9maWxlKTsKKyAgICAgICAgZndyaXRlKHNlY3Rpb25fZGVzY3JpcHRvcnNbaV0sIHNpemVvZihFRklfRVJST1JfU0VDVElPTl9ERVNDUklQVE9SKSwgMSwgb3V0KTsKKyAgICAgICAgZmZsdXNoKG91dCk7CiAgICAgICAgIGZyZWUoc2VjdGlvbl9kZXNjcmlwdG9yc1tpXSk7CiAgICAgfQogICAgIGZvciAoaW50IGk9MDsgaTxudW1fc2VjdGlvbnM7IGkrKykgCiAgICAgewotICAgICAgICBmd3JpdGUoc2VjdGlvbnNbaV0sIHNlY3Rpb25fbGVuZ3Roc1tpXSwgMSwgY3Blcl9maWxlKTsKLSAgICAgICAgZmZsdXNoKGNwZXJfZmlsZSk7CisgICAgICAgIGZ3cml0ZShzZWN0aW9uc1tpXSwgc2VjdGlvbl9sZW5ndGhzW2ldLCAxLCBvdXQpOworICAgICAgICBmZmx1c2gob3V0KTsKICAgICAgICAgZnJlZShzZWN0aW9uc1tpXSk7CiAgICAgfQotICAgIGZjbG9zZShjcGVyX2ZpbGUpOwogfQogCiAvL0dlbmVyYXRlcyBhIHNpbmdsZSBzZWN0aW9uIGRlc2NyaXB0b3IgZm9yIGEgc2VjdGlvbiB3aXRoIHRoZSBnaXZlbiBwcm9wZXJ0aWVzLgpAQCAtMTEwLDYgKzg4LDkgQEAKICAgICBkZXNjcmlwdG9yLT5SZXN2MSA9IDA7CiAgICAgZGVzY3JpcHRvci0+U2VjdGlvbkZsYWdzICY9IDB4RkY7CiAKKyAgICAvL1NldCBzZXZlcml0eS4KKyAgICBkZXNjcmlwdG9yLT5TZXZlcml0eSA9IHJhbmQoKSAlIDQ7CisKICAgICAvL1NldCBsZW5ndGgsIG9mZnNldCBmcm9tIGJhc2UgcmVjb3JkLgogICAgIGRlc2NyaXB0b3ItPlNlY3Rpb25MZW5ndGggPSAoVUlOVDMyKWxlbmd0aHNbaW5kZXhdOwogICAgIGRlc2NyaXB0b3ItPlNlY3Rpb25PZmZzZXQgPSBzaXplb2YoRUZJX0NPTU1PTl9FUlJPUl9SRUNPUkRfSEVBREVSKQpAQCAtMjMwLDMxICsyMTEsNCBAQAogICAgIH0KIAogICAgIHJldHVybiBsZW5ndGg7Ci19Ci0KLS8vUHJpbnRzIGNvbW1hbmQgaGVscCBmb3IgdGhpcyBDUEVSIGdlbmVyYXRvci4KLXZvaWQgcHJpbnRfaGVscCgpCi17Ci0gICAgcHJpbnRmKCI6OiAtLW91dCBjcGVyLmZpbGUgLS1zZWN0aW9ucyBzZWN0aW9uMSBbc2VjdGlvbjIgc2VjdGlvbjMgLi4uXVxuIik7Ci0gICAgcHJpbnRmKCJcdEdlbmVyYXRlcyBhIHBzdWVkby1yYW5kb20gQ1BFUiBmaWxlIHdpdGggdGhlIHByb3ZpZGVkIHNlY3Rpb24gdHlwZXMgYW5kIG91dHB1dHMgdG8gdGhlIGdpdmVuIGZpbGUgbmFtZS5cbiIpOwotICAgIHByaW50ZigiXHRWYWxpZCBzZWN0aW9uIHR5cGUgbmFtZXMgYXJlIHRoZSBmb2xsb3dpbmc6XG4iKTsKLSAgICBwcmludGYoIlx0XHQtIGdlbmVyaWNcbiIpOwotICAgIHByaW50ZigiXHRcdC0gaWEzMng2NFxuIik7Ci0gICAgcHJpbnRmKCJcdFx0LSBpcGZcbiIpOwotICAgIHByaW50ZigiXHRcdC0gYXJtXG4iKTsKLSAgICBwcmludGYoIlx0XHQtIG1lbW9yeVxuIik7Ci0gICAgcHJpbnRmKCJcdFx0LSBtZW1vcnkyXG4iKTsKLSAgICBwcmludGYoIlx0XHQtIHBjaWVcbiIpOwotICAgIHByaW50ZigiXHRcdC0gZmlybXdhcmVcbiIpOwotICAgIHByaW50ZigiXHRcdC0gcGNpYnVzXG4iKTsKLSAgICBwcmludGYoIlx0XHQtIHBjaWRldlxuIik7Ci0gICAgcHJpbnRmKCJcdFx0LSBkbWFyZ2VuZXJpY1xuIik7Ci0gICAgcHJpbnRmKCJcdFx0LSBkbWFydnRkXG4iKTsKLSAgICBwcmludGYoIlx0XHQtIGRtYXJpb21tdVxuIik7Ci0gICAgcHJpbnRmKCJcdFx0LSBjY2l4cGVyXG4iKTsKLSAgICBwcmludGYoIlx0XHQtIGN4bHByb3RvY29sXG4iKTsKLSAgICBwcmludGYoIlx0XHQtIGN4bGNvbXBvbmVudFxuIik7Ci0gICAgcHJpbnRmKCJcdFx0LSB1bmtub3duXG4iKTsKLSAgICBwcmludGYoIlxuOjogLS1oZWxwXG4iKTsKLSAgICBwcmludGYoIlx0RGlzcGxheXMgaGVscCBpbmZvcm1hdGlvbiB0byB0aGUgY29uc29sZS5cbiIpOwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2dlbmVyYXRvci9jcGVyLWdlbmVyYXRlLmggYi9nZW5lcmF0b3IvY3Blci1nZW5lcmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxM2NmOGMKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0b3IvY3Blci1nZW5lcmF0ZS5oCkBAIC0wLDAgKzEsOSBAQAorI2lmbmRlZiBDUEVSX0dFTkVSQVRFX0gKKyNkZWZpbmUgQ1BFUl9HRU5FUkFURV9ICisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgIi4uL2Vkay9CYXNlVHlwZXMuaCIKKwordm9pZCBnZW5lcmF0ZV9jcGVyX3JlY29yZChjaGFyKiogdHlwZXMsIFVJTlQxNiBudW1fc2VjdGlvbnMsIEZJTEUqIGNwZXJfZmlsZSk7CisKKyNlbmRpZgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2dlbmVyYXRvci9zZWN0aW9ucy9nZW4tc2VjdGlvbi1jY2l4LXBlci5jIGIvZ2VuZXJhdG9yL3NlY3Rpb25zL2dlbi1zZWN0aW9uLWNjaXgtcGVyLmMKaW5kZXggYTYxOTgzYi4uMDc0ZmQwZCAxMDA2NDQKLS0tIGEvZ2VuZXJhdG9yL3NlY3Rpb25zL2dlbi1zZWN0aW9uLWNjaXgtcGVyLmMKKysrIGIvZ2VuZXJhdG9yL3NlY3Rpb25zL2dlbi1zZWN0aW9uLWNjaXgtcGVyLmMKQEAgLTI4LDYgKzI4LDEwIEBACiAgICAgVUlOVDE2KiByZXNlcnZlZCA9IChVSU5UMTYqKShieXRlcyArIDE0KTsKICAgICAqcmVzZXJ2ZWQgPSAwOyAvL1Jlc2VydmVkIGJ5dGVzIDE0LTE1LgogCisgICAgLy9TZXQgZXhwZWN0ZWQgdmFsdWVzLgorICAgIFVJTlQzMiogbGVuZ3RoID0gKFVJTlQzMiopYnl0ZXM7CisgICAgKmxlbmd0aCA9IHNpemU7CisKICAgICAvL1NldCByZXR1cm4gdmFsdWVzLCBleGl0LgogICAgICpsb2NhdGlvbiA9IGJ5dGVzOwogICAgIHJldHVybiBzaXplOwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yL3NlY3Rpb25zL2dlbi1zZWN0aW9uLWlhMzJ4NjQuYyBiL2dlbmVyYXRvci9zZWN0aW9ucy9nZW4tc2VjdGlvbi1pYTMyeDY0LmMKaW5kZXggNzQxMmNhMy4uYTliNDFlNCAxMDA2NDQKLS0tIGEvZ2VuZXJhdG9yL3NlY3Rpb25zL2dlbi1zZWN0aW9uLWlhMzJ4NjQuYworKysgYi9nZW5lcmF0b3Ivc2VjdGlvbnMvZ2VuLXNlY3Rpb24taWEzMng2NC5jCkBAIC03NSwyNSArNzUsMjUgQEAKICAgICB7CiAgICAgICAgIC8vQ2FjaGUKICAgICAgICAgY2FzZSAwOgotICAgICAgICAgICAgbWVtY3B5KGd1aWQsICZnRWZpSWEzMng2NEVycm9yVHlwZUNhY2hlQ2hlY2tHdWlkLCBzaXplb2YoZ3VpZCkpOworICAgICAgICAgICAgbWVtY3B5KGd1aWQsICZnRWZpSWEzMng2NEVycm9yVHlwZUNhY2hlQ2hlY2tHdWlkLCBzaXplb2YoRUZJX0dVSUQpKTsKICAgICAgICAgICAgIG1lbXNldChlcnJvcl9zdHJ1Y3R1cmUgKyAzMCwgMCwgMzQpOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgLy9UTEIKICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgbWVtY3B5KGd1aWQsICZnRWZpSWEzMng2NEVycm9yVHlwZVRsYkNoZWNrR3VpZCwgc2l6ZW9mKGd1aWQpKTsKKyAgICAgICAgICAgIG1lbWNweShndWlkLCAmZ0VmaUlhMzJ4NjRFcnJvclR5cGVUbGJDaGVja0d1aWQsIHNpemVvZihFRklfR1VJRCkpOwogICAgICAgICAgICAgbWVtc2V0KGVycm9yX3N0cnVjdHVyZSArIDMwLCAwLCAzNCk7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAvL0J1cwogICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBtZW1jcHkoZ3VpZCwgJmdFZmlJYTMyeDY0RXJyb3JUeXBlQnVzQ2hlY2tHdWlkLCBzaXplb2YoZ3VpZCkpOworICAgICAgICAgICAgbWVtY3B5KGd1aWQsICZnRWZpSWEzMng2NEVycm9yVHlwZUJ1c0NoZWNrR3VpZCwgc2l6ZW9mKEVGSV9HVUlEKSk7CiAgICAgICAgICAgICBtZW1zZXQoZXJyb3Jfc3RydWN0dXJlICsgMzUsIDAsIDI5KTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIC8vTVMKICAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgbWVtY3B5KGd1aWQsICZnRWZpSWEzMng2NEVycm9yVHlwZU1zQ2hlY2tHdWlkLCBzaXplb2YoZ3VpZCkpOworICAgICAgICAgICAgbWVtY3B5KGd1aWQsICZnRWZpSWEzMng2NEVycm9yVHlwZU1zQ2hlY2tHdWlkLCBzaXplb2YoRUZJX0dVSUQpKTsKICAgICAgICAgICAgIG1lbXNldChlcnJvcl9zdHJ1Y3R1cmUgKyAyNCwgMCwgMzgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yL3NlY3Rpb25zL2dlbi1zZWN0aW9uLXBjaS1kZXYuYyBiL2dlbmVyYXRvci9zZWN0aW9ucy9nZW4tc2VjdGlvbi1wY2ktZGV2LmMKaW5kZXggMTg4MmQ2Yy4uZjZhOGJjYyAxMDA2NDQKLS0tIGEvZ2VuZXJhdG9yL3NlY3Rpb25zL2dlbi1zZWN0aW9uLXBjaS1kZXYuYworKysgYi9nZW5lcmF0b3Ivc2VjdGlvbnMvZ2VuLXNlY3Rpb24tcGNpLWRldi5jCkBAIC0yNyw2ICsyNywxMiBAQAogICAgICp2YWxpZGF0aW9uICY9IDBiMTExMTE7IC8vVmFsaWRhdGlvbiA1LTYzCiAgICAgZm9yIChpbnQgaT0wOyBpPDU7IGkrKykKICAgICAgICAgKihieXRlcyArIDI3ICsgaSkgPSAwOyAvL0J5dGVzIDExLTE1IG9mIElEIGluZm8uCisgICAgICAgIAorICAgIC8vU2V0IGV4cGVjdGVkIHZhbHVlcy4KKyAgICBVSU5UMzIqIG1lbW9yeV9udW1iZXJfZmllbGQgPSAoVUlOVDMyKikoYnl0ZXMgKyAzMik7CisgICAgVUlOVDMyKiBpb19udW1iZXJfZmllbGQgPSAoVUlOVDMyKikoYnl0ZXMgKyAzNik7CisgICAgKm1lbW9yeV9udW1iZXJfZmllbGQgPSBudW1fbWVtb3J5X3BhaXJzOworICAgICppb19udW1iZXJfZmllbGQgPSBudW1faW9fcGFpcnM7CiAKICAgICAvL0ZpeCBlcnJvciBzdGF0dXMuCiAgICAgY3JlYXRlX3ZhbGlkX2Vycm9yX3NlY3Rpb24oYnl0ZXMgKyA4KTsKZGlmZiAtLWdpdCBhL2pzb24tc2NoZW1hLmMgYi9qc29uLXNjaGVtYS5jCmluZGV4IGJiM2I3ZmUuLjQ3NjJkZmYgMTAwNjQ0Ci0tLSBhL2pzb24tc2NoZW1hLmMKKysrIGIvanNvbi1zY2hlbWEuYwpAQCAtODYsNiArODYsOCBAQAogICAgIGNoZGlyKG9yaWdpbmFsX2N3ZCk7CiAgICAgZnJlZShvcmlnaW5hbF9jd2QpOwogCisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgbG9nX3ZhbGlkYXRvcl9kZWJ1ZygiU3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZCB0aGUgcHJvdmlkZWQgb2JqZWN0IGFnYWluc3Qgc2NoZW1hLiIpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL3NlY3Rpb25zL2NwZXItc2VjdGlvbi1nZW5lcmljLmggYi9zZWN0aW9ucy9jcGVyLXNlY3Rpb24tZ2VuZXJpYy5oCmluZGV4IDRhNjA3OTEuLmYxZTE4MGUgMTAwNjQ0Ci0tLSBhL3NlY3Rpb25zL2NwZXItc2VjdGlvbi1nZW5lcmljLmgKKysrIGIvc2VjdGlvbnMvY3Blci1zZWN0aW9uLWdlbmVyaWMuaApAQCAtMTEsNyArMTEsNyBAQAogI2RlZmluZSBHRU5FUklDX0VSUk9SX1RZUEVTX0tFWVMgKGludCBbXSl7MCwgMSwgMiwgNCwgOH0KICNkZWZpbmUgR0VORVJJQ19FUlJPUl9UWVBFU19WQUxVRVMgKGNvbnN0IGNoYXIqW10peyJVbmtub3duIiwgIkNhY2hlIEVycm9yIiwgIlRMQiBFcnJvciIsICJCdXMgRXJyb3IiLCAiTWljcm8tQXJjaGl0ZWN0dXJhbCBFcnJvciJ9CiAjZGVmaW5lIEdFTkVSSUNfT1BFUkFUSU9OX1RZUEVTX0tFWVMgKGludCBbXSl7MCwgMSwgMiwgM30KLSNkZWZpbmUgR0VORVJJQ19PUEVSQVRJT05fVFlQRVNfVkFMVUVTIChjb25zdCBjaGFyKltdKXsiVW5rbm93biBvciBnZW5lcmljIiwgIkRhdGEgUmVhZCIsICJEYXRhIFdyaXRlIiwgIkluc3RydWN0aW9uIEV4ZWN1dGlvbiJ9CisjZGVmaW5lIEdFTkVSSUNfT1BFUkFUSU9OX1RZUEVTX1ZBTFVFUyAoY29uc3QgY2hhcipbXSl7IlVua25vd24gb3IgR2VuZXJpYyIsICJEYXRhIFJlYWQiLCAiRGF0YSBXcml0ZSIsICJJbnN0cnVjdGlvbiBFeGVjdXRpb24ifQogI2RlZmluZSBHRU5FUklDX1ZBTElEQVRJT05fQklURklFTERfTkFNRVMgKGNvbnN0IGNoYXIqW10pIFwKICAgICB7InByb2Nlc3NvclR5cGVWYWxpZCIsICJwcm9jZXNzb3JJU0FWYWxpZCIsICJwcm9jZXNzb3JFcnJvclR5cGVWYWxpZCIsICJvcGVyYXRpb25WYWxpZCIsICJmbGFnc1ZhbGlkIiwgXAogICAgICJsZXZlbFZhbGlkIiwgImNwdVZlcnNpb25WYWxpZCIsICJjcHVCcmFuZEluZm9WYWxpZCIsICJjcHVJRFZhbGlkIiwgInRhcmdldEFkZHJlc3NWYWxpZCIsICJyZXF1ZXN0b3JJRFZhbGlkIiwgXApkaWZmIC0tZ2l0IGEvc2VjdGlvbnMvY3Blci1zZWN0aW9uLWlhMzJ4NjQuYyBiL3NlY3Rpb25zL2NwZXItc2VjdGlvbi1pYTMyeDY0LmMKaW5kZXggNzg0YTI1Yy4uOGMzOWVhOCAxMDA2NDQKLS0tIGEvc2VjdGlvbnMvY3Blci1zZWN0aW9uLWlhMzJ4NjQuYworKysgYi9zZWN0aW9ucy9jcGVyLXNlY3Rpb24taWEzMng2NC5jCkBAIC05OSwxNyArOTksMjYgQEAKIAogICAgIC8vQWRkIHRoZSBjaGVjayBpbmZvcm1hdGlvbiBvbiBhIHBlci1zdHJ1Y3R1cmUgYmFzaXMuCiAgICAgLy9DYWNoZSBhbmQgVExCIGNoZWNrIGluZm9ybWF0aW9uIGFyZSBpZGVudGljYWwsIHNvIGNhbiBiZSBlcXVhdGVkLgotICAgIGpzb25fb2JqZWN0KiBjaGVja0luZm9ybWF0aW9uID0gTlVMTDsKKyAgICBqc29uX29iamVjdCogY2hlY2tfaW5mb3JtYXRpb24gPSBOVUxMOwogICAgIGlmIChndWlkX2VxdWFsKCZlcnJvcl9pbmZvLT5FcnJvclR5cGUsICZnRWZpSWEzMng2NEVycm9yVHlwZUNhY2hlQ2hlY2tHdWlkKQogICAgICAgICB8fCBndWlkX2VxdWFsKCZlcnJvcl9pbmZvLT5FcnJvclR5cGUsICZnRWZpSWEzMng2NEVycm9yVHlwZVRsYkNoZWNrR3VpZCkpCiAgICAgewotICAgICAgICBjaGVja0luZm9ybWF0aW9uID0gY3Blcl9pYTMyeDY0X2NhY2hlX3RsYl9jaGVja190b19pcigoRUZJX0lBMzJfWDY0X0NBQ0hFX0NIRUNLX0lORk8qKSZlcnJvcl9pbmZvLT5DaGVja0luZm8pOworICAgICAgICBjaGVja19pbmZvcm1hdGlvbiA9IGNwZXJfaWEzMng2NF9jYWNoZV90bGJfY2hlY2tfdG9faXIoKEVGSV9JQTMyX1g2NF9DQUNIRV9DSEVDS19JTkZPKikmZXJyb3JfaW5mby0+Q2hlY2tJbmZvKTsKICAgICB9CiAgICAgZWxzZSBpZiAoZ3VpZF9lcXVhbCgmZXJyb3JfaW5mby0+RXJyb3JUeXBlLCAmZ0VmaUlhMzJ4NjRFcnJvclR5cGVCdXNDaGVja0d1aWQpKQotICAgICAgICBjaGVja0luZm9ybWF0aW9uID0gY3Blcl9pYTMyeDY0X2J1c19jaGVja190b19pcigoRUZJX0lBMzJfWDY0X0JVU19DSEVDS19JTkZPKikmZXJyb3JfaW5mby0+Q2hlY2tJbmZvKTsKKyAgICB7CisgICAgICAgIGNoZWNrX2luZm9ybWF0aW9uID0gY3Blcl9pYTMyeDY0X2J1c19jaGVja190b19pcigoRUZJX0lBMzJfWDY0X0JVU19DSEVDS19JTkZPKikmZXJyb3JfaW5mby0+Q2hlY2tJbmZvKTsKKyAgICB9CiAgICAgZWxzZSBpZiAoZ3VpZF9lcXVhbCgmZXJyb3JfaW5mby0+RXJyb3JUeXBlLCAmZ0VmaUlhMzJ4NjRFcnJvclR5cGVNc0NoZWNrR3VpZCkpCi0gICAgICAgIGNoZWNrSW5mb3JtYXRpb24gPSBjcGVyX2lhMzJ4NjRfbXNfY2hlY2tfdG9faXIoKEVGSV9JQTMyX1g2NF9NU19DSEVDS19JTkZPKikmZXJyb3JfaW5mby0+Q2hlY2tJbmZvKTsKLSAgICBqc29uX29iamVjdF9vYmplY3RfYWRkKGVycm9yX2luZm9faXIsICJjaGVja0luZm8iLCBjaGVja0luZm9ybWF0aW9uKTsKKyAgICB7CisgICAgICAgIGNoZWNrX2luZm9ybWF0aW9uID0gY3Blcl9pYTMyeDY0X21zX2NoZWNrX3RvX2lyKChFRklfSUEzMl9YNjRfTVNfQ0hFQ0tfSU5GTyopJmVycm9yX2luZm8tPkNoZWNrSW5mbyk7CisgICAgfQorICAgIGVsc2UgCisgICAgeworICAgICAgICAvL1Vua25vd24gY2hlY2sgaW5mb3JtYXRpb24uCisgICAgICAgIHByaW50ZigiV0FSTjogSW52YWxpZC91bmtub3duIGNoZWNrIGluZm9ybWF0aW9uIEdVSUQgZm91bmQgaW4gSUEzMi94NjQgQ1BFUiBzZWN0aW9uLiBJZ25vcmluZy5cbiIpOworICAgIH0KKyAgICBqc29uX29iamVjdF9vYmplY3RfYWRkKGVycm9yX2luZm9faXIsICJjaGVja0luZm8iLCBjaGVja19pbmZvcm1hdGlvbik7CiAKICAgICAvL1RhcmdldCwgcmVxdWVzdG9yLCBhbmQgcmVzcG9uZGVyIGlkZW50aWZpZXJzLgogICAgIGpzb25fb2JqZWN0X29iamVjdF9hZGQoZXJyb3JfaW5mb19pciwgInRhcmdldEFkZHJlc3NJRCIsIGpzb25fb2JqZWN0X25ld191aW50NjQoZXJyb3JfaW5mby0+VGFyZ2V0SWQpKTsKQEAgLTI2OSw3ICsyNzgsNyBAQAogICAgICAgICAvL05vIHBhcnNlYWJsZSBkYXRhLCBqdXN0IGR1bXAgYXMgYmFzZTY0IGFuZCBzaGlmdCB0aGUgaGVhZCB0byB0aGUgbmV4dCBpdGVtLgogICAgICAgICAqY3VyX3BvcyA9ICh2b2lkKikoY29udGV4dF9pbmZvICsgMSk7CiAKLSAgICAgICAgY2hhciogZW5jb2RlZCA9IGI2NF9lbmNvZGUoKHVuc2lnbmVkIGNoYXIqKWN1cl9wb3MsIGNvbnRleHRfaW5mby0+QXJyYXlTaXplKTsKKyAgICAgICAgY2hhciogZW5jb2RlZCA9IGI2NF9lbmNvZGUoKHVuc2lnbmVkIGNoYXIqKSpjdXJfcG9zLCBjb250ZXh0X2luZm8tPkFycmF5U2l6ZSk7CiAgICAgICAgIHJlZ2lzdGVyX2FycmF5ID0ganNvbl9vYmplY3RfbmV3X29iamVjdCgpOwogICAgICAgICBqc29uX29iamVjdF9vYmplY3RfYWRkKHJlZ2lzdGVyX2FycmF5LCAiZGF0YSIsIGpzb25fb2JqZWN0X25ld19zdHJpbmcoZW5jb2RlZCkpOwogICAgICAgICBmcmVlKGVuY29kZWQpOwpkaWZmIC0tZ2l0IGEvc2VjdGlvbnMvY3Blci1zZWN0aW9uLWlhMzJ4NjQuaCBiL3NlY3Rpb25zL2NwZXItc2VjdGlvbi1pYTMyeDY0LmgKaW5kZXggZDhjNjgyNS4uYTE4ZTc1MSAxMDA2NDQKLS0tIGEvc2VjdGlvbnMvY3Blci1zZWN0aW9uLWlhMzJ4NjQuaAorKysgYi9zZWN0aW9ucy9jcGVyLXNlY3Rpb24taWEzMng2NC5oCkBAIC04LDggKzgsOCBAQAogICAgIHsiY2hlY2tJbmZvVmFsaWQiLCAidGFyZ2V0QWRkcmVzc0lEVmFsaWQiLCAicmVxdWVzdG9ySURWYWxpZCIsICJyZXNwb25kZXJJRFZhbGlkIiwgXAogICAgICJpbnN0cnVjdGlvblBvaW50ZXJWYWxpZCJ9CiAjZGVmaW5lIElBMzJYNjRfQ0hFQ0tfSU5GT19WQUxJRF9CSVRGSUVMRF9OQU1FUyAoY29uc3QgY2hhcipbXSkgXAotICAgIHsidHJhbnNhY3Rpb25UeXBlVmFsaWQiLCAib3BlcmF0aW9uVmFsaWQiLCAibGV2ZWxWYWxpZCIsICJwcm9jZXNzb3JDb250ZXh0Q29ycnVwdFZhbGlkIiwgInVuY29ycmVjdGVkVmFsaWQiIFwKLSAgICAicHJlY2lzZUlQVmFsaWQiLCAicmVzdGFydGFibGVJUFZhbGlkIiwgIm92ZXJmbG93VmFsaWQiLCAicGFydGljaXBhdGlvblR5cGVWYWxpZCIsICJ0aW1lZE91dFZhbGlkIiBcCisgICAgeyJ0cmFuc2FjdGlvblR5cGVWYWxpZCIsICJvcGVyYXRpb25WYWxpZCIsICJsZXZlbFZhbGlkIiwgInByb2Nlc3NvckNvbnRleHRDb3JydXB0VmFsaWQiLCAidW5jb3JyZWN0ZWRWYWxpZCIsIFwKKyAgICAicHJlY2lzZUlQVmFsaWQiLCAicmVzdGFydGFibGVJUFZhbGlkIiwgIm92ZXJmbG93VmFsaWQiLCAicGFydGljaXBhdGlvblR5cGVWYWxpZCIsICJ0aW1lZE91dFZhbGlkIiwgXAogICAgICJhZGRyZXNzU3BhY2VWYWxpZCJ9CiAjZGVmaW5lIElBMzJYNjRfQ0hFQ0tfSU5GT19NU19DSEVDS19WQUxJRF9CSVRGSUVMRF9OQU1FUyAoY29uc3QgY2hhcipbXSkgXAogICAgIHsiZXJyb3JUeXBlVmFsaWQiLCAicHJvY2Vzc29yQ29udGV4dENvcnJ1cHRWYWxpZCIsICJ1bmNvcnJlY3RlZFZhbGlkIiwgInByZWNpc2VJUFZhbGlkIiwgInJlc3RhcnRhYmxlSVBWYWxpZCIsIFwKZGlmZiAtLWdpdCBhL3NwZWNpZmljYXRpb24vZG9jdW1lbnQvY3Blci1qc29uLXNwZWNpZmljYXRpb24udGV4IGIvc3BlY2lmaWNhdGlvbi9kb2N1bWVudC9jcGVyLWpzb24tc3BlY2lmaWNhdGlvbi50ZXgKaW5kZXggM2IyNjFhNS4uZWI3MWQ0NSAxMDA2NDQKLS0tIGEvc3BlY2lmaWNhdGlvbi9kb2N1bWVudC9jcGVyLWpzb24tc3BlY2lmaWNhdGlvbi50ZXgKKysrIGIvc3BlY2lmaWNhdGlvbi9kb2N1bWVudC9jcGVyLWpzb24tc3BlY2lmaWNhdGlvbi50ZXgKQEAgLTI4NSw3ICsyODUsNyBAQAogXGhsaW5lCiBwcm9jZXNzb3JJU0FWYWxpZCAmIGJvb2xlYW4gJiBXaGV0aGVyIHRoZSAicHJvY2Vzc29ySVNBIiBmaWVsZCBvZiB0aGUgR2VuZXJpYyBQcm9jZXNzb3IgRXJyb3Igc2VjdGlvbiAoXHJlZntzZWN0aW9uOmdlbmVyaWNwcm9jZXNzb3JlcnJvcnNlY3Rpb259KSBpcyB2YWxpZC5cXAogXGhsaW5lCi1lcnJvclR5cGVWYWxpZCAmIGJvb2xlYW4gJiBXaGV0aGVyIHRoZSAiZXJyb3JUeXBlIiBmaWVsZCBvZiB0aGUgR2VuZXJpYyBQcm9jZXNzb3IgRXJyb3Igc2VjdGlvbiAoXHJlZntzZWN0aW9uOmdlbmVyaWNwcm9jZXNzb3JlcnJvcnNlY3Rpb259KSBpcyB2YWxpZC5cXAorcHJvY2Vzc29yRXJyb3JUeXBlVmFsaWQgJiBib29sZWFuICYgV2hldGhlciB0aGUgImVycm9yVHlwZSIgZmllbGQgb2YgdGhlIEdlbmVyaWMgUHJvY2Vzc29yIEVycm9yIHNlY3Rpb24gKFxyZWZ7c2VjdGlvbjpnZW5lcmljcHJvY2Vzc29yZXJyb3JzZWN0aW9ufSkgaXMgdmFsaWQuXFwKIFxobGluZQogb3BlcmF0aW9uVmFsaWQgJiBib29sZWFuICYgV2hldGhlciB0aGUgIm9wZXJhdGlvbiIgZmllbGQgb2YgdGhlIEdlbmVyaWMgUHJvY2Vzc29yIEVycm9yIHNlY3Rpb24gKFxyZWZ7c2VjdGlvbjpnZW5lcmljcHJvY2Vzc29yZXJyb3JzZWN0aW9ufSkgaXMgdmFsaWQuXFwKIFxobGluZQpAQCAtNTExLDYgKzUxMSw4IEBACiBwYXJ0aWNpcGF0aW9uVHlwZVZhbGlkICYgYm9vbGVhbiAoXHRleHRiZntvcHRpb25hbH0pICYgV2hldGhlciB0aGUgInBhcnRpY2lwYXRpb25UeXBlIiBmaWVsZCBpbiB0aGUgUHJvY2Vzc29yIEVycm9yIENoZWNrIEluZm8gKEJ1cyBFcnJvcikgc3RydWN0dXJlIChccmVme3N1YnNlY3Rpb246aWEzMng2NHByb2Nlc3NvcmVycm9yY2hlY2tpbmZvYnVzc3RydWN0dXJlfSkgaXMgdmFsaWQuIFx0ZXh0YmZ7VGhpcyBmaWVsZCBpcyBvbmx5IHByZXNlbnQgb24gYnVzIHJlbGF0ZWQgY2hlY2sgaW5mbyBzdHJ1Y3R1cmVzLn1cXAogXGhsaW5lCiB0aW1lZE91dFZhbGlkICYgYm9vbGVhbiAoXHRleHRiZntvcHRpb25hbH0pICYgV2hldGhlciB0aGUgInRpbWVPdXQiIGZpZWxkIGluIHRoZSBQcm9jZXNzb3IgRXJyb3IgQ2hlY2sgSW5mbyAoQnVzIEVycm9yKSBzdHJ1Y3R1cmUgKFxyZWZ7c3Vic2VjdGlvbjppYTMyeDY0cHJvY2Vzc29yZXJyb3JjaGVja2luZm9idXNzdHJ1Y3R1cmV9KSBpcyB2YWxpZC4gXHRleHRiZntUaGlzIGZpZWxkIGlzIG9ubHkgcHJlc2VudCBvbiBidXMgcmVsYXRlZCBjaGVjayBpbmZvIHN0cnVjdHVyZXMufVxcCitcaGxpbmUKK2FkZHJlc3NTcGFjZVZhbGlkICYgYm9vbGVhbiAoXHRleHRiZntvcHRpb25hbH0pICYgV2hldGhlciB0aGUgImFkZHJlc3NTcGFjZSIgZmllbGQgaW4gdGhlIFByb2Nlc3NvciBFcnJvciBDaGVjayBJbmZvIChCdXMgRXJyb3IpIHN0cnVjdHVyZSAoXHJlZntzdWJzZWN0aW9uOmlhMzJ4NjRwcm9jZXNzb3JlcnJvcmNoZWNraW5mb2J1c3N0cnVjdHVyZX0pIGlzIHZhbGlkLiBcdGV4dGJme1RoaXMgZmllbGQgaXMgb25seSBwcmVzZW50IG9uIGJ1cyByZWxhdGVkIGNoZWNrIGluZm8gc3RydWN0dXJlcy59XFwKIFxqc29udGFibGVlbmR7SUEzMi94NjQgUHJvY2Vzc29yIEVycm9yIENoZWNrIEluZm8gKENhY2hlL1RMQi9CdXMpIHZhbGlkYXRpb24gc3RydWN0dXJlIGZpZWxkIHRhYmxlLn0KIAogJSBJQTMyL3g2NCBQcm9jZXNzb3IgRXJyb3IgQ2hlY2sgSW5mbyAoTVMgQ2hlY2spIFZhbGlkYXRpb24gc3RydWN0dXJlLgpkaWZmIC0tZ2l0IGEvc3BlY2lmaWNhdGlvbi9qc29uL3NlY3Rpb25zL2NwZXItZ2VuZXJpYy1wcm9jZXNzb3IuanNvbiBiL3NwZWNpZmljYXRpb24vanNvbi9zZWN0aW9ucy9jcGVyLWdlbmVyaWMtcHJvY2Vzc29yLmpzb24KaW5kZXggZDMwNzE5Yy4uMGE1ZDUyYiAxMDA2NDQKLS0tIGEvc3BlY2lmaWNhdGlvbi9qc29uL3NlY3Rpb25zL2NwZXItZ2VuZXJpYy1wcm9jZXNzb3IuanNvbgorKysgYi9zcGVjaWZpY2F0aW9uL2pzb24vc2VjdGlvbnMvY3Blci1nZW5lcmljLXByb2Nlc3Nvci5qc29uCkBAIC03LDcgKzcsNyBAQAogICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAidmFsaWRhdGlvbkJpdHMiOiB7CiAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgInJlcXVpcmVkIjogWyJwcm9jZXNzb3JUeXBlVmFsaWQiLCAicHJvY2Vzc29ySVNBVmFsaWQiLCAiZXJyb3JUeXBlVmFsaWQiLCAib3BlcmF0aW9uVmFsaWQiLCAiZmxhZ3NWYWxpZCIsICJsZXZlbFZhbGlkIiwgImNwdVZlcnNpb25WYWxpZCIsICJjcHVCcmFuZEluZm9WYWxpZCIsICJjcHVJRFZhbGlkIiwgInRhcmdldEFkZHJlc3NWYWxpZCIsICJyZXF1ZXN0b3JJRFZhbGlkIiwgInJlc3BvbmRlcklEVmFsaWQiLCAiaW5zdHJ1Y3Rpb25JUFZhbGlkIl0sCisgICAgICAgICAgICAicmVxdWlyZWQiOiBbInByb2Nlc3NvclR5cGVWYWxpZCIsICJwcm9jZXNzb3JJU0FWYWxpZCIsICJwcm9jZXNzb3JFcnJvclR5cGVWYWxpZCIsICJvcGVyYXRpb25WYWxpZCIsICJmbGFnc1ZhbGlkIiwgImxldmVsVmFsaWQiLCAiY3B1VmVyc2lvblZhbGlkIiwgImNwdUJyYW5kSW5mb1ZhbGlkIiwgImNwdUlEVmFsaWQiLCAidGFyZ2V0QWRkcmVzc1ZhbGlkIiwgInJlcXVlc3RvcklEVmFsaWQiLCAicmVzcG9uZGVySURWYWxpZCIsICJpbnN0cnVjdGlvbklQVmFsaWQiXSwKICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJwcm9jZXNzb3JUeXBlVmFsaWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAgICAgICAgICAgInByb2Nlc3NvcklTQVZhbGlkIjogewogICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIgogICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgImVycm9yVHlwZVZhbGlkIjogeworICAgICAgICAgICAgICAgICJwcm9jZXNzb3JFcnJvclR5cGVWYWxpZCI6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICJvcGVyYXRpb25WYWxpZCI6IHsKQEAgLTY4LDkgKzY4LDkgQEAKICAgICAgICAgfSwKICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKLSAgICAgICAgICAgICJyZXF1aXJlZCI6IFsicmVzdGFydGFibGVJUCIsICJwcmVjaXNlSVAiLCAib3ZlcmZsb3ciLCAiY29ycmVjdGVkIl0sCisgICAgICAgICAgICAicmVxdWlyZWQiOiBbInJlc3RhcnRhYmxlIiwgInByZWNpc2VJUCIsICJvdmVyZmxvdyIsICJjb3JyZWN0ZWQiXSwKICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewotICAgICAgICAgICAgICAgICJyZXN0YXJ0YWJsZUlQIjogeworICAgICAgICAgICAgICAgICJyZXN0YXJ0YWJsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICJwcmVjaXNlSVAiOiB7CmRpZmYgLS1naXQgYS9zcGVjaWZpY2F0aW9uL2pzb24vc2VjdGlvbnMvY3Blci1pYTMyeDY0LXByb2Nlc3Nvci5qc29uIGIvc3BlY2lmaWNhdGlvbi9qc29uL3NlY3Rpb25zL2NwZXItaWEzMng2NC1wcm9jZXNzb3IuanNvbgppbmRleCAzM2U2NTExLi4xMWFhODE5IDEwMDY0NAotLS0gYS9zcGVjaWZpY2F0aW9uL2pzb24vc2VjdGlvbnMvY3Blci1pYTMyeDY0LXByb2Nlc3Nvci5qc29uCisrKyBiL3NwZWNpZmljYXRpb24vanNvbi9zZWN0aW9ucy9jcGVyLWlhMzJ4NjQtcHJvY2Vzc29yLmpzb24KQEAgLTE1Miw3ICsxNTIsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWxpZGF0aW9uQml0cyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IFsidHJhbnNhY3Rpb25UeXBlVmFsaWQiLCAib3BlcmF0aW9uVmFsaWQiLCAibGV2ZWxWYWxpZCIsICJwcm9jZXNzb3JDb250ZXh0Q29ycnVwdFZhbGlkIiwgInVuY29ycmVjdGVkVmFsaWQiLCAicHJlY2lzZUlQVmFsaWQiLCAicmVzdGFydGFibGVJUFZhbGlkIiwgIm92ZXJmbG93VmFsaWQiLCAicGFydGljaXBhdGlvblR5cGVWYWxpZCIsICJ0aW1lZE91dFZhbGlkIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJ0cmFuc2FjdGlvblR5cGVWYWxpZCIsICJvcGVyYXRpb25WYWxpZCIsICJsZXZlbFZhbGlkIiwgInByb2Nlc3NvckNvbnRleHRDb3JydXB0VmFsaWQiLCAidW5jb3JyZWN0ZWRWYWxpZCIsICJwcmVjaXNlSVBWYWxpZCIsICJyZXN0YXJ0YWJsZUlQVmFsaWQiLCAib3ZlcmZsb3dWYWxpZCIsICJwYXJ0aWNpcGF0aW9uVHlwZVZhbGlkIiwgInRpbWVkT3V0VmFsaWQiLCAiYWRkcmVzc1NwYWNlVmFsaWQiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRyYW5zYWN0aW9uVHlwZVZhbGlkIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIKQEAgLTE4Myw2ICsxODMsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZWRPdXRWYWxpZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhZGRyZXNzU3BhY2VWYWxpZCI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvdGVzdHMvaXItdGVzdHMuY3BwIGIvdGVzdHMvaXItdGVzdHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNDQzNzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9pci10ZXN0cy5jcHAKQEAgLTAsMCArMSw5NyBAQAorLyoqCisgKiBEZWZpbmVzIHRlc3RzIGZvciB2YWxpZGF0aW5nIENQRVItSlNPTiBJUiBvdXRwdXQgZnJvbSB0aGUgY3Blci1wYXJzZSBsaWJyYXJ5LgorICogCisgKiBBdXRob3I6IExhd3JlbmNlLlRhbmdAYXJtLmNvbQorICoqLworCisjaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QuaCIKKyNpbmNsdWRlICJ0ZXN0LXV0aWxzLmhwcCIKK2V4dGVybiAiQyIgeworI2luY2x1ZGUgImpzb24uaCIKKyNpbmNsdWRlICIuLi9jcGVyLXBhcnNlLmgiCisjaW5jbHVkZSAiLi4vanNvbi1zY2hlbWEuaCIKKyNpbmNsdWRlICIuLi9nZW5lcmF0b3IvY3Blci1nZW5lcmF0ZS5oIgorfQorCisvKgorKiBUZXN0IHRlbXBsYXRlcy4KKyovCit2b2lkIHNpbmdsZV9zZWN0aW9uX2lyX3Rlc3QoY29uc3QgY2hhciogc2VjdGlvbl9uYW1lKQoreworICAgIC8vR2VuZXJhdGUgQ1BFUiByZWNvcmQgZm9yIGdlbmVyaWMgcHJvY2Vzc29yLgorICAgIGNoYXIqIGJ1ZjsKKyAgICBzaXplX3Qgc2l6ZTsKKyAgICBGSUxFKiByZWNvcmQgPSBnZW5lcmF0ZV9yZWNvcmRfbWVtc3RyZWFtKCZzZWN0aW9uX25hbWUsIDEsICZidWYsICZzaXplKTsKKworICAgIC8vQ29udmVydCB0byBJUiwgZnJlZSByZXNvdXJjZXMuCisgICAganNvbl9vYmplY3QqIGlyID0gY3Blcl90b19pcihyZWNvcmQpOworICAgIGZjbG9zZShyZWNvcmQpOworICAgIGZyZWUoYnVmKTsKKworICAgIC8vVmFsaWRhdGUgYWdhaW5zdCBzY2hlbWEuCisgICAgY2hhciBlcnJvcl9tZXNzYWdlW0pTT05fRVJST1JfTVNHX01BWF9MRU5dID0gezB9OworICAgIGludCB2YWxpZCA9IHZhbGlkYXRlX3NjaGVtYV9mcm9tX2ZpbGUoIi4vc3BlY2lmaWNhdGlvbi9jcGVyLWpzb24uanNvbiIsIGlyLCBlcnJvcl9tZXNzYWdlKTsKKyAgICBBU1NFUlRfVFJVRSh2YWxpZCkgPDwgZXJyb3JfbWVzc2FnZTsKK30KKworLyoKKyogU2luZ2xlIHNlY3Rpb24gdGVzdHMuCisqLworVEVTVChHZW5lcmljUHJvY2Vzc29yVGVzdHMsIElSVmFsaWQpIHsKKyAgICBzaW5nbGVfc2VjdGlvbl9pcl90ZXN0KCJnZW5lcmljIik7Cit9CitURVNUKElBMzJ4NjRUZXN0cywgSVJWYWxpZCkgeworICAgIHNpbmdsZV9zZWN0aW9uX2lyX3Rlc3QoImlhMzJ4NjQiKTsKK30KKy8vIFRFU1QoSVBGVGVzdHMsIElSVmFsaWQpIHsKKy8vICAgICBzaW5nbGVfc2VjdGlvbl9pcl90ZXN0KCJpcGYiKTsKKy8vIH0KK1RFU1QoQXJtVGVzdHMsIElSVmFsaWQpIHsKKyAgICBzaW5nbGVfc2VjdGlvbl9pcl90ZXN0KCJhcm0iKTsKK30KK1RFU1QoTWVtb3J5VGVzdHMsIElSVmFsaWQpIHsKKyAgICBzaW5nbGVfc2VjdGlvbl9pcl90ZXN0KCJtZW1vcnkiKTsKK30KK1RFU1QoTWVtb3J5MlRlc3RzLCBJUlZhbGlkKSB7CisgICAgc2luZ2xlX3NlY3Rpb25faXJfdGVzdCgibWVtb3J5MiIpOworfQorVEVTVChQQ0llVGVzdHMsIElSVmFsaWQpIHsKKyAgICBzaW5nbGVfc2VjdGlvbl9pcl90ZXN0KCJwY2llIik7Cit9CitURVNUKEZpcm13YXJlVGVzdHMsIElSVmFsaWQpIHsKKyAgICBzaW5nbGVfc2VjdGlvbl9pcl90ZXN0KCJmaXJtd2FyZSIpOworfQorVEVTVChQQ0lCdXNUZXN0cywgSVJWYWxpZCkgeworICAgIHNpbmdsZV9zZWN0aW9uX2lyX3Rlc3QoInBjaWJ1cyIpOworfQorVEVTVChQQ0lEZXZUZXN0cywgSVJWYWxpZCkgeworICAgIHNpbmdsZV9zZWN0aW9uX2lyX3Rlc3QoInBjaWRldiIpOworfQorVEVTVChETUFyR2VuZXJpY1Rlc3RzLCBJUlZhbGlkKSB7CisgICAgc2luZ2xlX3NlY3Rpb25faXJfdGVzdCgiZG1hcmdlbmVyaWMiKTsKK30KK1RFU1QoRE1BclZ0ZFRlc3RzLCBJUlZhbGlkKSB7CisgICAgc2luZ2xlX3NlY3Rpb25faXJfdGVzdCgiZG1hcnZ0ZCIpOworfQorVEVTVChETUFySU9NTVVUZXN0cywgSVJWYWxpZCkgeworICAgIHNpbmdsZV9zZWN0aW9uX2lyX3Rlc3QoImRtYXJpb21tdSIpOworfQorVEVTVChDQ0lYUEVSVGVzdHMsIElSVmFsaWQpIHsKKyAgICBzaW5nbGVfc2VjdGlvbl9pcl90ZXN0KCJjY2l4cGVyIik7Cit9CitURVNUKENYTFByb3RvY29sVGVzdHMsIElSVmFsaWQpIHsKKyAgICBzaW5nbGVfc2VjdGlvbl9pcl90ZXN0KCJjeGxwcm90b2NvbCIpOworfQorVEVTVChDWExDb21wb25lbnRUZXN0cywgSVJWYWxpZCkgeworICAgIHNpbmdsZV9zZWN0aW9uX2lyX3Rlc3QoImN4bGNvbXBvbmVudCIpOworfQorVEVTVChVbmtub3duU2VjdGlvblRlc3RzLCBJUlZhbGlkKSB7CisgICAgc2luZ2xlX3NlY3Rpb25faXJfdGVzdCgidW5rbm93biIpOworfQorCisvL0VudHJ5cG9pbnQgZm9yIHRoZSB0ZXN0aW5nIHByb2dyYW0uCitpbnQgbWFpbigpCit7CisgICAgdGVzdGluZzo6SW5pdEdvb2dsZVRlc3QoKTsKKyAgICByZXR1cm4gUlVOX0FMTF9URVNUUygpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtdXRpbHMuY3BwIGIvdGVzdHMvdGVzdC11dGlscy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ0Y2FiZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3Rlc3QtdXRpbHMuY3BwCkBAIC0wLDAgKzEsMjcgQEAKKy8qKgorICogRGVmaW5lcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgdGVzdGluZyBDUEVSLUpTT04gSVIgb3V0cHV0IGZyb20gdGhlIGNwZXItcGFyc2UgbGlicmFyeS4KKyAqIAorICogQXV0aG9yOiBMYXdyZW5jZS5UYW5nQGFybS5jb20KKyAqKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSAidGVzdC11dGlscy5ocHAiCitleHRlcm4gIkMiIHsKKyNpbmNsdWRlICIuLi9lZGsvQmFzZVR5cGVzLmgiCisjaW5jbHVkZSAiLi4vZ2VuZXJhdG9yL2NwZXItZ2VuZXJhdGUuaCIKK30KKworLy9SZXR1cm5zIGEgcmVhZHktZm9yLXVzZSBtZW1vcnkgc3RyZWFtIGNvbnRhaW5pbmcgYSBDUEVSIHJlY29yZCB3aXRoIHRoZSBnaXZlbiBzZWN0aW9ucyBpbnNpZGUuCitGSUxFKiBnZW5lcmF0ZV9yZWNvcmRfbWVtc3RyZWFtKGNvbnN0IGNoYXIqKiB0eXBlcywgVUlOVDE2IG51bV90eXBlcywgY2hhcioqIGJ1Ziwgc2l6ZV90KiBidWZfc2l6ZSkKK3sKKyAgICAvL09wZW4gYSBtZW1vcnkgc3RyZWFtLgorICAgIEZJTEUqIHN0cmVhbSA9IG9wZW5fbWVtc3RyZWFtKGJ1ZiwgYnVmX3NpemUpOworCisgICAgLy9HZW5lcmF0ZSBhIHNlY3Rpb24gdG8gdGhlIHN0cmVhbSwgY2xvc2UgJiByZXR1cm4uCisgICAgZ2VuZXJhdGVfY3Blcl9yZWNvcmQoKGNoYXIqKil0eXBlcywgbnVtX3R5cGVzLCBzdHJlYW0pOworICAgIGZjbG9zZShzdHJlYW0pOworCisgICAgLy9SZXR1cm4gZm1lbW9wZW4oKSBidWZmZXIgZm9yIHJlYWRpbmcuCisgICAgcmV0dXJuIGZtZW1vcGVuKCpidWYsICpidWZfc2l6ZSwgInIiKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXV0aWxzLmhwcCBiL3Rlc3RzL3Rlc3QtdXRpbHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxM2Y1ZjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90ZXN0LXV0aWxzLmhwcApAQCAtMCwwICsxLDEwIEBACisjaWZuZGVmIENQRVJfSVJfVEVTVF9VVElMU19ICisjZGVmaW5lIENQRVJfSVJfVEVTVF9VVElMU19ICisKK2V4dGVybiAiQyIgeworI2luY2x1ZGUgIi4uL2Vkay9CYXNlVHlwZXMuaCIKK30KKworRklMRSogZ2VuZXJhdGVfcmVjb3JkX21lbXN0cmVhbShjb25zdCBjaGFyKiogdHlwZXMsIFVJTlQxNiBudW1fdHlwZXMsIGNoYXIqKiBidWYsIHNpemVfdCogYnVmX3NpemUpOworCisjZW5kaWYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==