gASVAgABAAAAAACMDmRvY3V0aWxzLm5vZGVzlIwIZG9jdW1lbnSUk5QpgZR9lCiMCXJhd3NvdXJjZZSMAJSMCGNoaWxkcmVulF2UKGgAjAZ0YXJnZXSUk5QpgZR9lChoBWgGaAddlIwKYXR0cmlidXRlc5R9lCiMA2lkc5RdlIwkbW9kdWxlLWV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnN0YXRllGGMB2NsYXNzZXOUXZSMBW5hbWVzlF2UjAhkdXBuYW1lc5RdlIwIYmFja3JlZnOUXZSMBWlzbW9klIh1jAd0YWduYW1llGgJjAZzb3VyY2WUjGUvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3N0YXRlL2luZGV4LnJzdJSMBGxpbmWUSwGMBnBhcmVudJRoA4wJX2RvY3VtZW50lGgDdWKMD3NwaGlueC5hZGRub2Rlc5SMBWluZGV4lJOUKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAdlbnRyaWVzlF2UKIwEcGFpcpSMJW1vZHVsZTsgZXRoZXJldW0uY29uc3RhbnRpbm9wbGUuc3RhdGWUaBJoBk50lGF1aBxoI2gdaB5oH0sCaCBoA2ghaAN1YmgAjAdzZWN0aW9ulJOUKYGUfZQoaAVoBmgHXZQoaACMBXRpdGxllJOUKYGUfZQoaAWMBVN0YXRllGgHXZRoAIwEVGV4dJSTlIwFU3RhdGWUhZSBlH2UKGgFaAZoIGg6aCFoA2gdjFwvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzLy50b3gvZG9jcy9zdGFnZTBfb3V0L2F1dG9hcGkvID0+IGRvYy9kaWZmc5RoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGg4aB1oHmgfSwRoIGg1aCFoA3ViaACMBXRvcGljlJOUKYGUfZQoaAVoBmgHXZQoaDkpgZR9lChoBYwRVGFibGUgb2YgQ29udGVudHOUaAddlGg/jBFUYWJsZSBvZiBDb250ZW50c5SFlIGUfZQoaAVoBmggaFBoIWgDaB1o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YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUaicFAAB1aBxqYAUAAGgdal4FAABoH05oIGpABQAAdWJlaA59lChoEF2UaL9haBNdlGgVXZSMB2NsYXNzZXOUYWgXXZRoGV2UdWgcaDNoHWgeaB9LG2ggai8FAABoIWgDdWJoNCmBlH2UKGgFaAZoB12UKGg5KYGUfZQoaAWMCUZ1bmN0aW9uc5RoB12UaD+MCUZ1bmN0aW9uc5SFlIGUfZQoaAVoBmggagwGAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9LJGggagkGAABoIWgDdWJqUgUAACmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwEc3BlY5RqXQUAAHVoHGpRBQAAaB2Mdi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vY29uc3RhbnRpbm9wbGUvc3RhdGUvaW5kZXgucnN0OjY4OjxhdXRvc3VtbWFyeT6UaB9LAGggagkGAABoIWgDdWJqYQUAACmBlH2UKGgFWIoGAAAKCgoKY2xvc2Vfc3RhdGUKCkZyZWUgcmVzb3VyY2VzIGhlbGQgYnkgdGhlIHN0YXRlLiBVc2VkIGJ5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgdG8KCmJlZ2luX3RyYW5zYWN0aW9uCgpTdGFydCBhIHN0YXRlIHRyYW5zYWN0aW9uLgoKY29tbWl0X3RyYW5zYWN0aW9uCgpDb21taXQgYSBzdGF0ZSB0cmFuc2FjdGlvbi4KCnJvbGxiYWNrX3RyYW5zYWN0aW9uCgpSb2xsYmFjayBhIHN0YXRlIHRyYW5zYWN0aW9uLCByZXNldHRpbmcgdGhlIHN0YXRlIHRvIHRoZSBwb2ludCB3aGVuIHRoZQoKZ2V0X2FjY291bnQKCkdldCB0aGUgQWNjb3VudCBvYmplY3QgYXQgYW4gYWRkcmVzcy4gUmV0dXJucyBFTVBUWV9BQ0NPVU5UIGlmIHRoZXJlCgpnZXRfYWNjb3VudF9vcHRpb25hbAoKR2V0IHRoZSBBY2NvdW50IG9iamVjdCBhdCBhbiBhZGRyZXNzLiBSZXR1cm5zIE5vbmUgKHJhdGhlciB0aGFuCgpzZXRfYWNjb3VudAoKU2V0IHRoZSBBY2NvdW50IG9iamVjdCBhdCBhbiBhZGRyZXNzLiBTZXR0aW5nIHRvIE5vbmUgZGVsZXRlcwoKZGVzdHJveV9hY2NvdW50CgpDb21wbGV0ZWx5IHJlbW92ZSB0aGUgYWNjb3VudCBhdCBhZGRyZXNzIGFuZCBhbGwgb2YgaXRzIHN0b3JhZ2UuCgpkZXN0cm95X3N0b3JhZ2UKCkNvbXBsZXRlbHkgcmVtb3ZlIHRoZSBzdG9yYWdlIGF0IGFkZHJlc3MuCgpnZXRfc3RvcmFnZQoKR2V0IGEgdmFsdWUgYXQgYSBzdG9yYWdlIGtleSBvbiBhbiBhY2NvdW50LiBSZXR1cm5zIFUyNTYoMCkgaWYgdGhlCgpzZXRfc3RvcmFnZQoKU2V0IGEgdmFsdWUgYXQgYSBzdG9yYWdlIGtleSBvbiBhbiBhY2NvdW50LiBTZXR0aW5nIHRvIFUyNTYoMCkgZGVsZXRlcwoKc3RvcmFnZV9yb290CgpDYWxjdWxhdGUgdGhlIHN0b3JhZ2Ugcm9vdCBvZiBhbiBhY2NvdW50LgoKc3RhdGVfcm9vdAoKQ2FsY3VsYXRlIHRoZSBzdGF0ZSByb290LgoKYWNjb3VudF9leGlzdHMKCkNoZWNrcyBpZiBhbiBhY2NvdW50IGV4aXN0cyBpbiB0aGUgc3RhdGUgdHJpZQoKYWNjb3VudF9oYXNfY29kZV9vcl9ub25jZQoKQ2hlY2tzIGlmIGFuIGFjY291bnQgaGFzIG5vbiB6ZXJvIG5vbmNlIG9yIG5vbiBlbXB0eSBjb2RlCgppc19hY2NvdW50X2VtcHR5CgpDaGVja3MgaWYgYW4gYWNjb3VudCBoYXMgemVybyBub25jZSwgZW1wdHkgY29kZSBhbmQgemVybyBiYWxhbmNlLgoKYWNjb3VudF9leGlzdHNfYW5kX2lzX2VtcHR5CgpDaGVja3MgaWYgYW4gYWNjb3VudCBleGlzdHMgYW5kIGhhcyB6ZXJvIG5vbmNlLCBlbXB0eSBjb2RlIGFuZCB6ZXJvCgppc19hY2NvdW50X2FsaXZlCgpDaGVjayB3aGV0aGVyIGlzIGFuIGFjY291bnQgaXMgYm90aCBpbiB0aGUgc3RhdGUgYW5kIG5vbiBlbXB0eS4KCm1vZGlmeV9zdGF0ZQoKTW9kaWZ5IGFuIEFjY291bnQgaW4gdGhlIFN0YXRlLgoKbW92ZV9ldGhlcgoKTW92ZSBmdW5kcyBiZXR3ZWVuIGFjY291bnRzLgoKc2V0X2FjY291bnRfYmFsYW5jZQoKU2V0cyB0aGUgYmFsYW5jZSBvZiBhbiBhY2NvdW50LgoKdG91Y2hfYWNjb3VudAoKSW5pdGlhbGl6ZXMgYW4gYWNjb3VudCB0byBzdGF0ZS4KCmluY3JlbWVudF9ub25jZQoKSW5jcmVtZW50cyB0aGUgbm9uY2Ugb2YgYW4gYWNjb3VudC4KCnNldF9jb2RlCgpTZXRzIEFjY291bnQgY29kZS4KCmNyZWF0ZV9ldGhlcgoKQWRkIG5ld2x5IGNyZWF0ZWQgZXRoZXIgdG8gYW4gYWNjb3VudC6UaAddlGpnBQAAKYGUfZQoaAVoBmgHXZRqbAUAACmBlH2UKGgFaAZoB12UKGpxBQAAKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhjb2x3aWR0aJRLCnVoHGpwBQAAaB1oRGgfSwBoIGosBgAAaCFoA3VianEFAAApgZR9lChoBWgGaAddlGgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCGNvbHdpZHRolEtadWgcanAFAABoHWhEaB9LAGggaiwGAABoIWgDdWJqhwUAACmBlH2UKGgFaAZoB12UKGqMBQAAKYGUfZQoaAVoBmgHXZQoapEFAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMPjpvYmo6YGNsb3NlX3N0YXRlIDxldGhlcmV1bS5jb25zdGFudGlub3BsZS5zdGF0ZS5jbG9zZV9zdGF0ZT5glGgHXZRobimBlH2UKGgFaAZoB12Uap0FAAApgZR9lChoBWpOBgAAaAddlGg/jAtjbG9zZV9zdGF0ZZSFlIGUfZQoaAVoBmggalMGAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UKGqpBQAAjAJweZSMBnB5LW9iapRlaBVdlGgXXZRoGV2UdWgcapwFAABoHU5oH05oIGpQBgAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwIaW50ZXJuYWyUiIwFcmVmaWSUjClldGhlcmV1bS5jb25zdGFudGlub3BsZS5zdGF0ZS5jbG9zZV9zdGF0ZZSMCHJlZnRpdGxllIwpZXRoZXJldW0uY29uc3RhbnRpbm9wbGUuc3RhdGUuY2xvc2Vfc3RhdGWUdWgcaG1oHU5oH05oIGpMBgAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2Mdi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vY29uc3RhbnRpbm9wbGUvc3RhdGUvaW5kZXgucnN0OjY4OjxhdXRvc3VtbWFyeT6UaB9LAWggakkGAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcapAFAABoHU5oH05oIGpGBgAAdWJqkQUAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYxGRnJlZSByZXNvdXJjZXMgaGVsZCBieSB0aGUgc3RhdGUuIFVzZWQgYnkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyB0b5RoB12UaD+MRkZyZWUgcmVzb3VyY2VzIGhlbGQgYnkgdGhlIHN0YXRlLiBVc2VkIGJ5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgdG+UhZSBlH2UKGgFaAZoIGp9BgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2Mdi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vY29uc3RhbnRpbm9wbGUvc3RhdGUvaW5kZXgucnN0OjY4OjxhdXRvc3VtbWFyeT6UaB9LAWgganoGAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcapAFAABoHU5oH05oIGpGBgAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGqLBQAAaB1oRGgfSwBoIGpDBgAAaCFoA3ViaowFAAApgZR9lChoBWgGaAddlChqkQUAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYxKOm9iajpgYmVnaW5fdHJhbnNhY3Rpb24gPGV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnN0YXRlLmJlZ2luX3RyYW5zYWN0aW9uPmCUaAddlGhuKYGUfZQoaAVoBmgHXZRqnQUAACmBlH2UKGgFaqAGAABoB12UaD+MEWJlZ2luX3RyYW5zYWN0aW9ulIWUgZR9lChoBWgGaCBqpQYAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoaqkFAACMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxqnAUAAGgdTmgfTmggaqIGAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSML2V0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnN0YXRlLmJlZ2luX3RyYW5zYWN0aW9ulIwIcmVmdGl0bGWUjC9ldGhlcmV1bS5jb25zdGFudGlub3BsZS5zdGF0ZS5iZWdpbl90cmFuc2FjdGlvbpR1aBxobWgdTmgfTmggap4GAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHYx2L2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9jb25zdGFudGlub3BsZS9zdGF0ZS9pbmRleC5yc3Q6Njg6PGF1dG9zdW1tYXJ5PpRoH0sBaCBqmwYAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqkAUAAGgdTmgfTmggapgGAAB1YmqRBQAAKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjBpTdGFydCBhIHN0YXRlIHRyYW5zYWN0aW9uLpRoB12UaD+MGlN0YXJ0IGEgc3RhdGUgdHJhbnNhY3Rpb24ulIWUgZR9lChoBWgGaCBqzwYAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHYvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3N0YXRlL2luZGV4LnJzdDo2ODo8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lGgXXZRoGV2UdWgcaGhoHYx2L2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9jb25zdGFudGlub3BsZS9zdGF0ZS9pbmRleC5yc3Q6Njg6PGF1dG9zdW1tYXJ5PpRoH0sBaCBqwgcAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqkAUAAGgdTmgfTmggao4HAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaosFAABoHWhEaB9LAGggakMGAABoIWgDdWJqjAUAACmBlH2UKGgFaAZoB12UKGqRBQAAKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjFA6b2JqOmBnZXRfYWNjb3VudF9vcHRpb25hbCA8ZXRoZXJldW0uY29uc3RhbnRpbm9wbGUuc3RhdGUuZ2V0X2FjY291bnRfb3B0aW9uYWw+YJRoB12UaG4pgZR9lChoBWgGaAddlGqdBQAAKYGUfZQoaAVqDAgAAGgHXZRoP4wUZ2V0X2FjY291bnRfb3B0aW9uYWyUhZSBlH2UKGgFaAZoIGoRCAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlChqqQUAAIwCcHmUjAZweS1vYmqUZWgVXZRoF12UaBldlHVoHGqcBQAAaB1OaB9OaCBqDggAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCGludGVybmFslIiMBXJlZmlklIwyZXRoZXJldW0uY29uc3RhbnRpbm9wbGUuc3RhdGUuZ2V0X2FjY291bnRfb3B0aW9uYWyUjAhyZWZ0aXRsZZSMMmV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnN0YXRlLmdldF9hY2NvdW50X29wdGlvbmFslHVoHGhtaB1OaB9OaCBqCggAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHYvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3N0YXRlL2luZGV4LnJzdDo2ODo8YXV0b3N1bW1hcnk+lGgfSwFoIGoH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lChoBWp+CwAAaAddlGg/jBlhY2NvdW50X2hhc19jb2RlX29yX25vbmNllIWUgZR9lChoBWgGaCBqgwsAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoaqkFAACMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxqnAUAAGgdTmgfTmggaoALAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMN2V0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnN0YXRlLmFjY291bnRfaGFzX2NvZGVfb3Jfbm9uY2WUjAhyZWZ0aXRsZZSMN2V0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnN0YXRlLmFjY291bnRfaGFzX2NvZGVfb3Jfbm9uY2WUdWgcaG1oHU5oH05oIGp8CwAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2Mdi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vY29uc3RhbnRpbm9wbGUvc3RhdGUvaW5kZXgucnN0OjY4OjxhdXRvc3VtbWFyeT6UaB9LAWggankLAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcapAFAABoHU5oH05oIGp2CwAAdWJqkQUAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYw5Q2hlY2tzIGlmIGFuIGFjY291bnQgaGFzIG5vbiB6ZXJvIG5vbmNlIG9yIG5vbiBlbXB0eSBjb2RllGgHXZRoP4w5Q2hlY2tzIGlmIGFuIGFjY291bnQgaGFzIG5vbiB6ZXJvIG5vbmNlIG9yIG5vbiBlbXB0eSBjb2RllIWUgZR9lChoBWgGaCBqrQsAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHYvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3N0YXRlL2luZGV4LnJzdDo2ODo8YXV0b3N1bW1hcnk+lGgfSwFo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aAWMQjpvYmo6YHRvdWNoX2FjY291bnQgPGV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnN0YXRlLnRvdWNoX2FjY291bnQ+YJRoB12UaG4pgZR9lChoBWgGaAddlGqdBQAAKYGUfZQoaAVq4A0AAGgHXZRoP4wNdG91Y2hfYWNjb3VudJSFlIGUfZQoaAVoBmggauUNAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UKGqpBQAAjAJweZSMBnB5LW9iapRlaBVdlGgXXZRoGV2UdWgcapwFAABoHU5oH05oIGriDQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwIaW50ZXJuYWyUiIwFcmVmaWSUjCtldGhlcmV1bS5jb25zdGFudGlub3BsZS5zdGF0ZS50b3VjaF9hY2NvdW50lIwIcmVmdGl0bGWUjCtldGhlcmV1bS5jb25zdGFudGlub3BsZS5zdGF0ZS50b3VjaF9hY2NvdW50lHVoHGhtaB1OaB9OaCBq3g0AAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjHYvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3N0YXRlL2luZGV4LnJzdDo2ODo8YXV0b3N1bW1hcnk+lGgfSwFoIGrbDQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGqQBQAAaB1OaB9OaCBq2A0AAHViapEFAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMIEluaXRpYWxpemVzIGFuIGFjY291bnQgdG8gc3RhdGUulGgHXZRoP4wgSW5pdGlhbGl6ZXMgYW4gYWNjb3VudCB0byBzdGF0ZS6UhZSBlH2UKGgFaAZoIGoPDgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2Mdi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vY29uc3RhbnRpbm9wbGUvc3RhdGUvaW5kZXgucnN0OjY4OjxhdXRv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aD+M+zpMaXN0W1R1cGxlW2V0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnRyaWUuVHJpZVtldGhlcmV1bS5jb25zdGFudGlub3BsZS5ldGhfdHlwZXMuQWRkcmVzcywgT3B0aW9uYWxbZXRoZXJldW0uY29uc3RhbnRpbm9wbGUuZXRoX3R5cGVzLkFjY291bnRdXSwgRGljdFtldGhlcmV1bS5jb25zdGFudGlub3BsZS5ldGhfdHlwZXMuQWRkcmVzcywgZXRoZXJldW0uY29uc3RhbnRpbm9wbGUudHJpZS5UcmllW2V0aGVyZXVtLmJhc2VfdHlwZXMuQnl0ZXMslIWUgZR9lChoBWgGaCBqKREAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZSMD2NoYW5nZS1yZXBsYWNlZJRhaBVdlGgXXZRoGV2UdWgcakkQAABoIGohEQAAaCFoA2gdaERoH0sAdWJqShAAACmBlH2UKGgFaAZoB12UaD+M3TpMaXN0W1R1cGxlW2V0aGVyZXVtLmlzdGFuYnVsLnRyaWUuVHJpZVtldGhlcmV1bS5pc3RhbmJ1bC5ldGhfdHlwZXMuQWRkcmVzcywgT3B0aW9uYWxbZXRoZXJldW0uaXN0YW5idWwuZXRoX3R5cGVzLkFjY291bnRdXSwgRGljdFtldGhlcmV1bS5pc3RhbmJ1bC5ldGhfdHlwZXMuQWRkcmVzcywgZXRoZXJldW0uaXN0YW5idWwudHJpZS5UcmllW2V0aGVyZXVtLmJhc2VfdHlwZXMuQnl0ZXMslIWUgZR9lChoBWgGaCBqNxEAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZSMEmNoYW5nZS1yZXBsYWNlbWVudJRhaBVdlGgXXZRoGV2UdWgcakkQAABoIGohEQAAaCFoA2gdaERoH0sAdWJoP4wdIGV0aGVyZXVtLmJhc2VfdHlwZXMuVTI1Nl1dXV2UhZSBlH2UKGgFaAZoIGohEQAAaCFoA2gdaERoH0sAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwJeG1sOnNwYWNllGonBQAAdWgcauUPAABoHWgeaB9LAGggag8RAABoIWgDdWJlaA59lChoEF2UagoRAABhaBNdlChqDRAAAGoOEAAAjAJweZRqEBAAAGoREAAA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PiBBY2NvdW50OgogICAgYWNjb3VudCA9IGdldF9hY2NvdW50X29wdGlvbmFsKHN0YXRlLCBhZGRyZXNzKQogICAgaWYgaXNpbnN0YW5jZShhY2NvdW50LCBBY2NvdW50KToKICAgICAgICByZXR1cm4gYWNjb3VudAogICAgZWxzZToKICAgICAgICByZXR1cm4gRU1QVFlfQUNDT1VOVAqUaAddlGg/jNJkZWYgZ2V0X2FjY291bnQoc3RhdGU6IFN0YXRlLCBhZGRyZXNzOiBBZGRyZXNzKSAtPiBBY2NvdW50OgogICAgYWNjb3VudCA9IGdldF9hY2NvdW50X29wdGlvbmFsKHN0YXRlLCBhZGRyZXNzKQogICAgaWYgaXNpbnN0YW5jZShhY2NvdW50LCBBY2NvdW50KToKICAgICAgICByZXR1cm4gYWNjb3VudAogICAgZWxzZToKICAgICAgICByZXR1cm4gRU1QVFlfQUNDT1VOVAqUhZSBlH2UKGgFaAZoIGp8FwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllIxWL2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9zcmMvZXRoZXJldW0vY29uc3RhbnRpbm9wbGUvc3RhdGUucHmUjAl4bWw6c3BhY2WUaicFAACMBWZvcmNllImMCGxhbmd1YWdllIwGcHl0aG9ulIwOaGlnaGxpZ2h0X2FyZ3OUfZRqJhIAAEsBc4wHbGluZW5vc5SJdWgcag4SAABoHWgeaB9LzmgganAVAAB1YmVoDn2UKGgQXZRq2AEAAGFoE12UaBVdlIwLZ2V0X2FjY291bnSUYWgXXZRoGV2UdWgcaDNoHWgeaB9Lt2ggapsPAABoIWgDdWJoNCmBlH2UKGgFaAZoB12UKGg5KYGUfZQoaAWMFGdldF9hY2NvdW50X29wdGlvbmFslGgHXZRoP4wUZ2V0X2FjY291bnRfb3B0aW9uYWyUhZSBlH2UKGgFaAZoIGqdFwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGg4aB1oHmgfS9NoIGqaFwAAdWJoJCmBlH2UKGgFaAZoB12UaA59lCho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BYzvZGVmIHN0YXRlX3Jvb3Qoc3RhdGU6IFN0YXRlKSAtPiBSb290OgogICAgYXNzZXJ0IHN0YXRlLl9zbmFwc2hvdHMgPT0gW10KCiAgICBkZWYgZ2V0X3N0b3JhZ2Vfcm9vdChhZGRyZXNzOiBBZGRyZXNzKSAtPiBSb290OgogICAgICAgIHJldHVybiBzdG9yYWdlX3Jvb3Qoc3RhdGUsIGFkZHJlc3MpCgogICAgcmV0dXJuIHJvb3Qoc3RhdGUuX21haW5fdHJpZSwgZ2V0X3N0b3JhZ2Vfcm9vdD1nZXRfc3RvcmFnZV9yb290KQqUaAddlGg/jO9kZWYgc3RhdGVfcm9vdChzdGF0ZTogU3RhdGUpIC0+IFJvb3Q6CiAgICBhc3NlcnQgc3RhdGUuX3NuYXBzaG90cyA9PSBbXQoKICAgIGRlZiBnZXRfc3RvcmFnZV9yb290KGFkZHJlc3M6IEFkZHJlc3MpIC0+IFJvb3Q6CiAgICAgICAgcmV0dXJuIHN0b3JhZ2Vfcm9vdChzdGF0ZSwgYWRkcmVzcykKCiAgICByZXR1cm4gcm9vdChzdGF0ZS5fbWFpbl90cmllLCBnZXRfc3RvcmFnZV9yb290PWdldF9zdG9yYWdlX3Jvb3QpCpSFlIGUfZQoaAVoBmggatAlAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFYvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9jb25zdGFudGlub3BsZS9zdGF0ZS5weZSMCXhtbDpzcGFjZZRqJwUAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGomEgAASwFzjAdsaW5lbm9zlIl1aBxqDhIAAGgdaB5oH02NAWggapIkAAB1YmVoDn2UKGgQXZRq6AIAAGFoE12UaBVdlIwKc3RhdGVfcm9vdJRhaBddlGgZXZR1aBxoM2gdaB5oH019AWggapsPAABoIWgDdWJoNCmBlH2UKGgFaAZoB12UKGg5KYGUfZQoaAWMDmFjY291bnRfZXhpc3RzlGgHXZRoP4wOYWNjb3VudF9leGlzdHOUhZSB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lGgXXZRoGV2UdWgcaq4SAABoHU5oH05oIGoUKAAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGoZEAAAaB1oHmgfTmggargnAAB1YmVoDn2UKGgQXZRoE12UKGoNKAAAjAhmdW5jdGlvbpRlaBVdlGgXXZRoGV2UjAZkb21haW6Uag0oAACMB29ianR5cGWUaiQpAACMCGRlc2N0eXBllGokKQAAjAdub2luZGV4lIl1aBxq2g8AAGgdTmgfTmggapwnAAB1YmoPEgAAKYGUfZQoaAWMrGRlZiBhY2NvdW50X2hhc19jb2RlX29yX25vbmNlKHN0YXRlOiBTdGF0ZSwgYWRkcmVzczogQWRkcmVzcykgLT4gYm9vbDoKICAgIGFjY291bnQgPSBnZXRfYWNjb3VudChzdGF0ZSwgYWRkcmVzcykKICAgIHJldHVybiBhY2NvdW50Lm5vbmNlICE9IFVpbnQoMCkgb3IgYWNjb3VudC5jb2RlICE9IGIiIgqUaAddlGg/jKxkZWYgYWNjb3VudF9oYXNfY29kZV9vcl9ub25jZShzdGF0ZTogU3RhdGUsIGFkZHJlc3M6IEFkZHJlc3MpIC0+IGJvb2w6CiAgICBhY2NvdW50ID0gZ2V0X2FjY291bnQoc3RhdGUsIGFkZHJlc3MpCiAgICByZXR1cm4gYWNjb3VudC5ub25jZSAhPSBVaW50KDApIG9yIGFjY291bnQuY29kZSAhPSBiIiIKlIWUgZR9lChoBWgGaCBqLCkAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZSMVi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3Mvc3JjL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3N0YXRlLnB5lIwJeG1sOnNwYWNllGonBQAAjAVmb3JjZZSJjAhsYW5ndWFnZZSMBnB5dGhvbpSMDmhpZ2hsaWdodF9hcmdzlH2UaiYSAABLAXOMB2xpbmVub3OUiXVoHGoOEgAAaB1oHmgfTboBaCBqnCcAAHViZWgOfZQoaBBdlGosAwAAYWgTXZRoFV2UjBlhY2NvdW50X2hhc19jb2RlX29yX25vbmNllGFoF12UaBld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TmggaqYsAAB1YmoPEgAAKYGUfZQoaAVYNQEAAGRlZiBpc19hY2NvdW50X2FsaXZlKHN0YXRlOiBTdGF0ZSwgYWRkcmVzczogQWRkcmVzcykgLT4gYm9vbDoKICAgIGFjY291bnQgPSBnZXRfYWNjb3VudF9vcHRpb25hbChzdGF0ZSwgYWRkcmVzcykKICAgIGlmIGFjY291bnQgaXMgTm9uZToKICAgICAgICByZXR1cm4gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuIG5vdCAoCiAgICAgICAgICAgIGFjY291bnQubm9uY2UgPT0gVWludCgwKQogICAgICAgICAgICBhbmQgYWNjb3VudC5jb2RlID09IGIiIgogICAgICAgICAgICBhbmQgYWNjb3VudC5iYWxhbmNlID09IDAKICAgICAgICApCpRoB12UaD9YNQEAAGRlZiBpc19hY2NvdW50X2FsaXZlKHN0YXRlOiBTdGF0ZSwgYWRkcmVzczogQWRkcmVzcykgLT4gYm9vbDoKICAgIGFjY291bnQgPSBnZXRfYWNjb3VudF9vcHRpb25hbChzdGF0ZSwgYWRkcmVzcykKICAgIGlmIGFjY291bnQgaXMgTm9uZToKICAgICAgICByZXR1cm4gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuIG5vdCAoCiAgICAgICAgICAgIGFjY291bnQubm9uY2UgPT0gVWludCgwKQogICAgICAgICAgICBhbmQgYWNjb3VudC5jb2RlID09IGIiIgogICAgICAgICAgICBhbmQgYWNjb3VudC5iYWxhbmNlID09IDAKICAgICAgICApCpSFlIGUfZQoaAVoBmggajYuAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFYvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9jb25zdGFudGlub3BsZS9zdGF0ZS5weZSMCXhtbDpzcGFjZZRqJwUAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGomEgAASwFzjAdsaW5lbm9zlIl1aBxqDhIAAGgdaB5oH03/AWggaqYsAAB1YmVoDn2UKGgQXZRqkgMAAGFoE12UaBVdlIwQaXNfYWNjb3VudF9hbGl2ZZRhaBddlGgZXZR1aBxoM2gdaB5oH03uAWggapsPAABoIWgDdWJoNCmBlH2UKGgFaAZoB12UKGg5KYGUfZQoaAWMDG1vZGlmeV9zdGF0ZZRoB12UaD+MDG1vZGlmeV9zdGF0ZZSFlIGUfZQoaAVoBmggalcuAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9NBAJoIGpULgAAdWJoJCmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwHZW50cmllc5RdlHVoHGgjaB1oHmgfTmggalQuAAB1YmrbDwAAKYGUfZQoaAVoBmgHXZQoauAPAAApgZR9lChoBYwfbW9kaWZ5X3N0YXRlKHN0YXRlLCBhZGRyZXNzLCBmKZRoB12UKGr3DwAAKYGUfZQoaAWMDG1vZGlmeV9zdGF0ZZRoB12UaD+MDG1vZGlmeV9zdGF0ZZSFlIGUfZQoaAVoBmggancuAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UKGoCEAAAagMQAABqBBAAAGoFEAAAZWgVXZRoF12UaBldlIwJeG1sOnNwYWNllGonBQAAdWgcavYPAABoHWgeaB9OaCBqcy4AAHViaroRAAApgZR9lChoBYwRc3RhdGUsIGFkZHJlc3MsIGaUaAddlChqwBEAACmBlH2UKGgFjAVzdGF0ZZRoB12UakoQAAApgZR9lChoBWgGaAddlGg/jAVzdGF0ZZSFlIGUfZQoaAVoBmggao4uAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12Uas8RAABhaBVdlGgXXZRoGV2UdWgcakkQAABoHU5oH05oIGqKLgAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwJeG1sOnNwYWNllGonBQAAdWgcar8RAABoHU5oH05oIGqGLgAAdWJqwBEAACmBlH2UKGgFjAdhZGRyZXNzlGgHXZRqShAAACmBlH2UKGgFaAZoB12UaD+MB2FkZHJlc3OUhZSBlH2UKGgFaAZoIGqmLgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGrPEQAAYWgVXZRoF12UaBldlHVoHGpJEAAAaB1OaB9OaCBqoi4AAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqJwUAAHVoHGq/EQAAaB1OaB9OaCBqhi4AAHViasARAAApgZR9lChoBYwBZpRoB12UakoQAAApgZR9lChoBWgGaAddlGg/jAFmlIWUgZR9lChoBWgGaCBqvi4AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRqzxEAAGFoFV2UaBddlGgZXZR1aBxqSRAAAGgdTmgfTmggarouAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUaicFAAB1aBxqvxEAAGgdTmgfTmggaoYuAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUaicFAAB1aBxquREAAGgdaB5oH05oIGpzLgAAdWJlaA59lChoEF2UjCpldGhlcmV1bS5jb25zdGFudGlub3BsZS5zdGF0ZS5tb2RpZnlfc3RhdGWUYWgTXZQoag0QAABqDhAAAIwCcHmUahAQAABqERAAAGVoFV2UaBddlGgZXZSMBm1vZHVsZZRqFhAAAIwFY2xhc3OUaAaMCGZ1bGxuYW1llGp5LgAAdWgcat8PAABoHWgeaB9NBwJoIGpwLgAAdWJqGhAAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYwjTW9kaWZ5IGFuIGBBY2NvdW50YCBpbiB0aGUgYFN0YXRlYC6UaAddlChoP4wKTW9kaWZ5IGFuIJSFlIGUfZQoaAVoBmggaucuAABoIWgDaB1oRGgfSwB1YmoCBQAAKYGUfZQoaAWMCWBBY2NvdW50YJRoB12UaD+MB0FjY291bnSUhZSBlH2UKGgFaAZoIGrvLgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGoBBQAAaB1OaB9OaCBq5y4AAHViaD+MCCBpbiB0aGUglIWUgZR9lChoBWgGaCBq5y4AAGghaANoHWhEaB9LAHViagIFAAApgZR9lChoBYwHYFN0YXRlYJRoB12UaD+MBVN0YXRllIWUgZR9lChoBWgGaCBqAS8AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqAQUAAGgdTmgfTmggaucuAAB1Ymg/jAEulIWUgZR9lChoBWgGaCBq5y4AAGghaANoHWhEaB9LAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdaB5oH00KAmggauQuAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcahkQAABoHWgeaB9OaCBqcC4AAHViZWgOfZQoaBBdlGgTXZQoat0uAACMCGZ1bmN0aW9ulGVoFV2UaBddlGgZXZSMBmRvbWFpbpRq3S4AAIwHb2JqdHlwZZRqIi8AAIwIZGVzY3R5cGWUaiIvAACMB25vaW5kZXiUiXVoHGraDwAAaB1oHmgfTmggalQuAAB1YmoPEgAAKYGUfZQoaAWMpmRlZiBtb2RpZnlfc3RhdGUoCiAgICBzdGF0ZTogU3RhdGUsIGFkZHJlc3M6IEFkZHJlc3MsIGY6IENhbGxhYmxlW1tBY2NvdW50XSwgTm9uZV0KKSAtPiBOb25lOgogICAgc2V0X2FjY291bnQoc3RhdGUsIGFkZHJlc3MsIG1vZGlmeShnZXRfYWNjb3VudChzdGF0ZSwgYWRkcmVzcyksIGYpKQqUaAddlGg/jKZkZWYgbW9kaWZ5X3N0YXRlKAogICAgc3RhdGU6IFN0YXRlLCBhZGRyZXNzOiBBZGRyZXNzLCBmOiBDYWxsYWJsZVtbQWNjb3VudF0sIE5vbmVdCikgLT4gTm9uZToKICAgIHNldF9hY2NvdW50KHN0YXRlLCBhZGRyZXNzLCBtb2RpZnkoZ2V0X2FjY291bnQoc3RhdGUsIGFkZHJlc3MpLCBmKSkKlIWUgZR9lChoBWgGaCBqKi8AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZSMVi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3Mvc3JjL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3N0YXRlLnB5lIwJeG1sOnNwYWNllGonBQAAjAVmb3JjZZSJjAhsYW5ndWFnZZSMBnB5dGhvbpSMDmhpZ2hsaWdodF9hcmdzlH2UaiYSAABLAXOMB2xpbmVub3OUiXVoHGoOEgAAaB1oHmgfTQ8CaCBqVC4AAHViZWgOfZQoaBBdlGq0AwAAYWgTXZRoFV2UjAxtb2RpZnlfc3RhdGWUYWgXXZRoGV2UdWgcaDNoHWgeaB9NBAJoIGqbDwAAaCFoA3ViaDQpgZR9lChoBWgGaAddlChoOSmBlH2UKGgFjAptb3ZlX2V0aGVylGgHXZRoP4wKbW92ZV9ldGhlcpSFlIGUfZQoaAVoBmggaksvAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9NFAJoIGpILwAAdWJoJCmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwHZW50cmllc5RdlHVoHGgjaB1oHmgfTmggakgvAAB1YmrbDwAAKYGUfZQoaAVoBmgHXZQoauAPAAApgZR9lChoBYw8bW92ZV9ldGhlcihzdGF0ZSwgc2VuZGVyX2FkZHJlc3MsIHJlY2lwaWVudF9hZGRyZXNzLCBhbW91bnQplGgHXZQoavcPAAApgZR9lChoBYwKbW92ZV9ldGhlcpRoB12UaD+MCm1vdmVfZXRoZXKUhZSBlH2UKGgFaAZoIGprLwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlChqAhAAAGoDEAAAagQQAABqBRAAAGVoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqJwUAAHVoHGr2DwAAaB1oHmgfTmggamcvAAB1Ymq6EQAAKYGUfZQoaAWMMHN0YXRlLCBzZW5kZXJfYWRkcmVzcywgcmVjaXBpZW50X2FkZHJlc3MsIGFtb3VudJRoB12UKGrAEQAAKYGUfZQoaAWMBXN0YXRllGgHXZRqShAAACmBlH2UKGgFaAZoB12UaD+MBXN0YXRllIWUgZR9lChoBWgGaCBqgi8AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRqzxEAAGFoFV2UaBddlGgZXZR1aBxqSRAAAGgdTmgfTmggan4vAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUaicFAAB1aBxqvxEAAGgdTmgfTmgganovAAB1YmrAEQAAKYGUfZQoaAWMDnNlbmRlcl9hZGRyZXNzlGgHXZRqShAAACmBlH2UKGgFaAZoB12UaD+MDnNlbmRlcl9hZGRyZXNzlIWUgZR9lChoBWgGaCBqmi8AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRqzxEAAGFoFV2UaBddlGgZXZR1aBxqSRAAAGgdTmgfTmggapYvAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUaicFAAB1aBxqvxEAAGgdTmgfTmgganovAAB1YmrAEQAAKYGUfZQoaAWMEXJlY2lwaWVudF9hZGRyZXNzlGgHXZRqShAAACmBlH2UKGgFaAZoB12UaD+MEXJlY2lwaWVudF9hZGRyZXNzlIWUgZR9lChoBWgGaCBqsi8AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRqzxEAAGFoFV2UaBddlGgZXZR1aBxqSRAAAGgdTmgfTmggaq4vAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUaicFAAB1aBxqvxEAAGgdTmgfTmgganovAAB1YmrAEQAAKYGUfZQoaAWMBmFtb3VudJRoB12UakoQAAApgZR9lChoBWgGaAddlGg/jAZhbW91bnSUhZSBlH2UKGgFaAZoIGrKLwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGrPEQAAYWgVXZRoF12UaBldlHVoHGpJEAAAaB1OaB9OaCBqxi8AAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqJwUAAHVoHGq/EQAAaB1OaB9OaCBqei8AAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqJwUAAHVoHGq5EQAAaB1oHmgfTmggamcvAAB1YmVoDn2UKGgQXZSMKGV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnN0YXRlLm1vdmVfZXRoZXKUYWgTXZQoag0QAABqDhAAAIwCcHmUahAQAABqERAAAGVoFV2UaBddlGgZXZSMBm1vZHVsZZRqFhAAAIwFY2xhc3OUaAaMCGZ1bGxuYW1llGptLwAAdWgcat8PAABoHWgeaB9NFwJoIGpkLwAAdWJqGhAAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYwcTW92ZSBmdW5kcyBiZXR3ZWVuIGFjY291bnRzLpRoB12UaD+MHE1vdmUgZnVuZHMgYmV0d2VlbiBhY2NvdW50cy6UhZSBlH2UKGgFaAZoIGrzLwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1oHmgfTRoCaCBq8C8AAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqGRAAAGgdaB5oH05oIGpkLwAAdWJlaA59lChoEF2UaBNdlChq6S8AAIwIZnVuY3Rpb26UZWgVXZRoF12UaBldlIwGZG9tYWlulGrpLwAAjAdvYmp0eXBllGoKMAAAjAhkZXNjdHlwZZRqCjAAAIwHbm9pbmRleJSJdWgcatoPAABoHWgeaB9OaCBqSC8AAHViag8SAAApgZR9lChoBVj7AQAAZGVmIG1vdmVfZXRoZXIoCiAgICBzdGF0ZTogU3RhdGUsCiAgICBzZW5kZXJfYWRkcmVzczogQWRkcmVzcywKICAgIHJlY2lwaWVudF9hZGRyZXNzOiBBZGRyZXNzLAogICAgYW1vdW50OiBVMjU2LAopIC0+IE5vbmU6CgogICAgZGVmIHJlZHVjZV9zZW5kZXJfYmFsYW5jZShzZW5kZXI6IEFjY291bnQpIC0+IE5vbmU6CiAgICAgICAgZW5zdXJlKHNlbmRlci5iYWxhbmNlID49IGFtb3VudCwgQXNzZXJ0aW9uRXJyb3IpCiAgICAgICAgc2VuZGVyLmJhbGFuY2UgLT0gYW1vdW50CgogICAgZGVmIGluY3JlYXNlX3JlY2lwaWVudF9iYWxhbmNlKHJlY2lwaWVudDogQWNjb3VudCkgLT4gTm9uZToKICAgICAgICByZWNpcGllbnQuYmFsYW5jZSArPSBhbW91bnQKCiAgICBtb2RpZnlfc3RhdGUoc3RhdGUsIHNlbmRlcl9hZGRyZXNzLCByZWR1Y2Vfc2VuZGVyX2JhbGFuY2UpCiAgICBtb2RpZnlfc3RhdGUoc3RhdGUsIHJlY2lwaWVudF9hZGRyZXNzLCBpbmNyZWFzZV9yZWNpcGllbnRfYmFsYW5jZSkKlGgHXZRoP1j7AQAAZGVmIG1vdmVfZXRoZXIoCiAgICBzdGF0ZTogU3RhdGUsCiAgICBzZW5kZXJfYWRkcmVzczogQWRkcmVzcywKICAgIHJlY2lwaWVudF9hZGRyZXNzOiBBZGRyZXNzLAogICAgYW1vdW50OiBVMjU2LAopIC0+IE5vbmU6CgogICAgZGVmIHJlZHVjZV9zZW5kZXJfYmFsYW5jZShzZW5kZXI6IEFjY291bnQpIC0+IE5vbmU6CiAgICAgICAgZW5zdXJlKHNlbmRlci5iYWxhbmNlID49IGFtb3VudCwgQXNzZXJ0aW9uRXJyb3IpCiAgICAgICAgc2VuZGVyLmJhbGFuY2UgLT0gYW1vdW50CgogICAgZGVmIGluY3JlYXNlX3JlY2lwaWVudF9iYWxhbmNlKHJlY2lwaWVudDogQWNjb3VudCkgLT4gTm9uZToKICAgICAgICByZWNpcGllbnQuYmFsYW5jZSArPSBhbW91bnQKCiAgICBtb2RpZnlfc3RhdGUoc3RhdGUsIHNlbmRlcl9hZGRyZXNzLCByZWR1Y2Vfc2VuZGVyX2JhbGFuY2UpCiAgICBtb2RpZnlfc3RhdGUoc3RhdGUsIHJlY2lwaWVudF9hZGRyZXNzLCBpbmNyZWFzZV9yZWNpcGllbnRfYmFsYW5jZSkKlIWUgZR9lChoBWgGaCBqEjAAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZSMVi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3Mvc3JjL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3N0YXRlLnB5lIwJeG1sOnNwYWNllGonBQAAjAVmb3JjZZSJjAhsYW5ndWFnZZSMBnB5dGhvbpSMDmhpZ2hsaWdodF9hcmdzlH2UaiYSAABLAXOMB2xpbmVub3OUiXVoHGoOEgAAaB1oHmgfTR8CaCBqSC8AAHViZWgOfZQoaBBdlGrWAwAAYWgTXZRoFV2UjAptb3ZlX2V0aGVylGFoF12UaBldlHVoHGgzaB1oHmgfTRQCaCBqmw8AAGghaAN1Ymg0KYGUfZQoaAVoBmgHXZQoaDkpgZR9lChoBYwTc2V0X2FjY291bnRfYmFsYW5jZZRoB12UaD+ME3NldF9hY2NvdW50X2JhbGFuY2WUhZSBlH2UKGgFaAZoIGozMAAAaCFo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cmlnaW5hbF92YWx1ZQqUaAddlGg/WIgBAABkZWYgZ2V0X3N0b3JhZ2Vfb3JpZ2luYWwoc3RhdGU6IFN0YXRlLCBhZGRyZXNzOiBBZGRyZXNzLCBrZXk6IEJ5dGVzKSAtPiBVMjU2OgogICAgXywgb3JpZ2luYWxfdHJpZSA9IHN0YXRlLl9zbmFwc2hvdHNbMF0KICAgIG9yaWdpbmFsX2FjY291bnRfdHJpZSA9IG9yaWdpbmFsX3RyaWUuZ2V0KGFkZHJlc3MpCgogICAgaWYgb3JpZ2luYWxfYWNjb3VudF90cmllIGlzIE5vbmU6CiAgICAgICAgb3JpZ2luYWxfdmFsdWUgPSBVMjU2KDApCiAgICBlbHNlOgogICAgICAgIG9yaWdpbmFsX3ZhbHVlID0gdHJpZV9nZXQob3JpZ2luYWxfYWNjb3VudF90cmllLCBrZXkpCgogICAgYXNzZXJ0IGlzaW5zdGFuY2Uob3JpZ2luYWxfdmFsdWUsIFUyNTYpCgogICAgcmV0dXJuIG9yaWdpbmFsX3ZhbHVlCpSFlIGUfZQoaAVoBmgganQ4AABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFAvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9pc3RhbmJ1bC9zdGF0ZS5weZSMCXhtbDpzcGFjZZRqJwUAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lIwLbGluZW5vc3RhcnSUSwFzjAdsaW5lbm9zlIl1aBxqDhIAAGgdaiM3AABoH02YAmggahI3AAB1YmVoDn2UKGgQXZRqogQAAGFoE12UjAxjaGFuZ2UtYWRkZWSUYWgVXZSMFGdldF9zdG9yYWdlX29yaWdpbmFslGFoF12UaBldlHVoHGgzaB1qIzcAAGgfTYcCaCBqmw8AAGghaAN1YmVoDn2UKGgQXZRqDwEAAGFoE12UaBVdlIwObW9kdWxlIGRldGFpbHOUYWgXXZRoGV2UdWgcaDNoHWgeaB9LRmggaDVoIWgDdWJlaA59lChoEF2UjAVzdGF0ZZRhaBNdlGgVXZRoF12UaoURAABhaBldlHVoHGgzaB1oHmgfSwRoIGgDaCFoA3ViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZRoRHVoHGgBjA5jdXJyZW50X3NvdXJjZZRoRIwMY3VycmVudF9saW5llEsAjAhzZXR0aW5nc5SMEWRvY3V0aWxzLmZyb250ZW5klIwGVmFsdWVzlJOUKYGUfZQojAxyZXBvcnRfbGV2ZWyUSwKMCmhhbHRfbGV2ZWyUSwSMEWV4aXRfc3RhdHVzX2xldmVslEsFjAVkZWJ1Z5ROjA53YXJuaW5nX3N0cmVhbZROjAl0cmFjZWJhY2uUTowPb3V0cHV0X2VuY29kaW5nlIwFdXRmLTiUjB1vdXRwdXRfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMEXhtbGNoYXJyZWZyZXBsYWNllIwOZXJyb3JfZW5jb2RpbmeUjAV1dGYtOJSMHGVycm9yX2VuY29kaW5nX2Vycm9yX2hhbmRsZXKUjBBiYWNrc2xhc2hyZXBsYWNllIwTcmVjb3JkX2RlcGVuZGVuY2llc5SMDmRvY3V0aWxzLnV0aWxzlIwORGVwZW5kZW5jeUxpc3SUk5QpgZR9lCiMBGxpc3SUXZSMBGZpbGWUTnVijAZjb25maWeUTowNZHVtcF9zZXR0aW5nc5ROjA5kdW1wX2ludGVybmFsc5ROjA9kdW1wX3RyYW5zZm9ybXOUTowPZHVtcF9wc2V1ZG9feG1slE6MEGV4cG9zZV9pbnRlcm5hbHOUTowOc3RyaWN0X3Zpc2l0b3KUTowPX2Rpc2FibGVfY29uZmlnlE6MB19zb3VyY2WUTowMX2Rlc3RpbmF0aW9ulIw2ZG9jL2RpZmZzL2NvbnN0YW50aW5vcGxlX2lzdGFuYnVsL3N0YXRlL2luZGV4LnBpY2tsZTY0lIwNX2NvbmZpZ19maWxlc5RdlIwRbGluZV9sZW5ndGhfbGltaXSUTRAnjAl0YWJfd2lkdGiUSwiMEHN5bnRheF9oaWdobGlnaHSUjARsb25nlIwMc21hcnRfcXVvdGVzlImME3NtYXJ0cXVvdGVzX2xvY2FsZXOUTowdY2hhcmFjdGVyX2xldmVsX2lubGluZV9tYXJrdXCUiYwGd3JpdGVylIwDeG1slIwZY29tcGFyZV9zZWN0aW9uc19ieV9uYW1lc5RLAYwMZHVtcF9yc3RkaWZmlE6MBV9ib3RolH2UKGg4TowJZ2VuZXJhdG9ylE6MCWRhdGVzdGFtcJROjAtzb3VyY2VfbGlua5ROjApzb3VyY2VfdXJslE6MDXRvY19iYWNrbGlua3OUapAFAACMEmZvb3Rub3RlX2JhY2tsaW5rc5RLAYwNc2VjdG51bV94Zm9ybZRLAYwOZG9jdGl0bGVfeGZvcm2USwGMDWRvY2luZm9feGZvcm2USwGMEnNlY3RzdWJ0aXRsZV94Zm9ybZRLAIwOc3RyaXBfY29tbWVudHOUTowOaW5wdXRfZW5jb2RpbmeUTowcaW5wdXRfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMBnN0cmljdJSMDWxhbmd1YWdlX2NvZGWUjAJlbpSMDnBlcF9yZWZlcmVuY2VzlE6MDHBlcF9iYXNlX3VybJSMH2h0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy+UjBVwZXBfZmlsZV91cmxfdGVtcGxhdGWUjAhwZXAtJTA0ZJSMDnJmY19yZWZlcmVuY2VzlE6MDHJmY19iYXNlX3VybJSMG2h0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL5SMHXRyaW1fZm9vdG5vdGVfcmVmZXJlbmNlX3NwYWNllE6MFmZpbGVfaW5zZXJ0aW9uX2VuYWJsZWSUSwGMC3Jhd19lbmFibGVklEsBjA5hdXRvX2lkX3ByZWZpeJSMAmlklIwJaWRfcHJlZml4lGgGjBtzdHJpcF9lbGVtZW50c193aXRoX2NsYXNzZXOUTowNc3RyaXBfY2xhc3Nlc5ROdYwEYm90aJR9lIwKX29wdGlvbnNUb5SMBV9ib3RolIwLX29sZF9zb3VyY2WUjE8vaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzLy50b3gvZG9jcy9zdGFnZTBfb3V0L2F1dG9hcGkvlIwLX25ld19zb3VyY2WUjAlkb2MvZGlmZnOUavA4AABq8TgAAIwWaWdub3JlX2luX3NlY3Rpb25fbmFtZZRdlCiMDmNvbnN0YW50aW5vcGxllIwIaXN0YW5idWyUZXVijAhyZXBvcnRlcpROjBBpbmRpcmVjdF90YXJnZXRzlF2UjBFzdWJzdGl0dXRpb25fZGVmc5R9lIwSc3Vic3RpdHV0aW9uX25hbWVzlH2UjAhyZWZuYW1lc5R9lIwGcmVmaWRzlH2UjAduYW1laWRzlH2UjAluYW1ldHlwZXOUfZRoEH2UjA1mb290bm90ZV9yZWZzlH2UjA1jaXRhdGlvbl9yZWZzlH2UjA1hdXRvZm9vdG5vdGVzlF2UjBFhdXRvZm9vdG5vdGVfcmVmc5RdlIwQc3ltYm9sX2Zvb3Rub3Rlc5RdlIwUc3ltYm9sX2Zvb3Rub3RlX3JlZnOUXZSMCWZvb3Rub3Rlc5RdlIwJY2l0YXRpb25zlF2UjBJhdXRvZm9vdG5vdGVfc3RhcnSUSwGMFXN5bWJvbF9mb290bm90ZV9zdGFydJRLAIwKaWRfY291bnRlcpSMC2NvbGxlY3Rpb25zlIwHQ291bnRlcpSTlH2UhZRSlIwOcGFyc2VfbWVzc2FnZXOUXZSMEnRyYW5zZm9ybV9tZXNzYWdlc5RdlIwLdHJhbnNmb3JtZXKUTowLaW5jbHVkZV9sb2eUXZSMCmRlY29yYXRpb26UTmghaAN1Yi4=