gASV8u0AAAAAAACMDmRvY3V0aWxzLm5vZGVzlIwIZG9jdW1lbnSUk5QpgZR9lCiMCXJhd3NvdXJjZZSMAJSMCGNoaWxkcmVulF2UKGgAjAZ0YXJnZXSUk5QpgZR9lChoBWgGaAddlIwKYXR0cmlidXRlc5R9lCiMA2lkc5RdlIwtbW9kdWxlLWV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnZtLmludGVycHJldGVylGGMB2NsYXNzZXOUXZSMBW5hbWVzlF2UjAhkdXBuYW1lc5RdlIwIYmFja3JlZnOUXZSMBWlzbW9klIh1jAd0YWduYW1llGgJjAZzb3VyY2WUjG4vaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2NvbnN0YW50aW5vcGxlL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdJSMBGxpbmWUSwGMBnBhcmVudJRoA4wJX2RvY3VtZW50lGgDdWKMD3NwaGlueC5hZGRub2Rlc5SMBWluZGV4lJOUKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAdlbnRyaWVzlF2UKIwEcGFpcpSMLm1vZHVsZTsgZXRoZXJldW0uY29uc3RhbnRpbm9wbGUudm0uaW50ZXJwcmV0ZXKUaBJoBk50lGF1aBxoI2gdaB5oH0sCaCBoA2ghaAN1YmgAjAdzZWN0aW9ulJOUKYGUfZQoaAVoBmgHXZQoaACMBXRpdGxllJOUKYGUfZQoaAWMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpRoB12UaACMBFRleHSUk5SMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpSFlIGUfZQoaAVoBmggaDpoIWgDaB2MXC9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS8gPT4gZG9jL2RpZmZzlGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9LBGggaDVoIWgDdWJoAIwFdG9waWOUk5QpgZR9lChoBWgGaAddlChoOSmBlH2UKGgFjBFUYWJsZSBvZiBDb250ZW50c5RoB12UaD+MEVRhYmxlIG9mIENvbnRlbnRzlIWUgZR9lChoBWgGaCBoUGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoOGgdaB5oH0sIaCBoTXViaACMC2J1bGxldF9saXN0lJOUKYGUfZQoaAVoBmgHXZQoaACMCWxpc3RfaXRlbZSTlCmBlH2UKGgFaAZoB12UaACMCXBhcmFncmFwaJSTlCmBlH2UKGgFaAZoB12UaACMCXJlZmVyZW5jZZSTlCmBlH2UKGgFaAZoB12UaD+MDEludHJvZHVjdGlvbpSFlIGUfZQoaAVoBmggaG9oIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZSMA2lkMZRhaBNdlGgVXZRoF12UaBldlIwFcmVmaWSUjAxpbnRyb2R1Y3Rpb26UdWgcaG1oHU5oH05oIGhqdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBoZXViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggaGB1YmhkKYGUfZQoaAVoBmgHXZQoaGkpgZR9lChoBWgGaAddlGhuKYGUfZQoaAVoBmgHXZRoP4wPTW9kdWxlIENvbnRlbnRzlIWUgZR9lChoBWgGaCBokWghaANoHWhEaB9LAHViYWgOfZQoaBBdlIwDaWQylGFoE12UaBVdlGgXXZRoGV2UjAVyZWZpZJSMD21vZHVsZS1jb250ZW50c5R1aBxobWgdTmgfTmggaI51YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHU5oH05oIGiLdWJoXymBlH2UKGgFaAZoB12UKGhkKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFaAZoB12UaG4pgZR9lChoBWgGaAddlGg/jAdDbGFzc2VzlIWUgZR9lChoBWgGaCBosGghaANoHWhEaB9LAHViYWgOfZQoaBBdlIwDaWQzlGFoE12UaBVdlGgXXZRoGV2UjAVyZWZpZJSMB2NsYXNzZXOUdWgcaG1oHU5oH05oIGitdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBoqnViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggaKd1YmhkKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFaAZoB12UaG4pgZR9lChoBWgGaAddlGg/jAlGdW5jdGlvbnOUhZSBlH2UKGgFaAZoIGjSaCFoA2gdaERoH0sAdWJhaA59lChoEF2UjANpZDSUYWgTXZRoFV2UaBddlGgZXZSMBXJlZmlklIwJZnVuY3Rpb25zlHVoHGhtaB1OaB9OaCBoz3ViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggaMx1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGNoHU5oH05oIGindWJoZCmBlH2UKGgFaAZoB12UaGkpgZR9lChoBWgGaAddlGhuKYGUfZQoaAVoBmgHXZRoP4wKQXR0cmlidXRlc5SFlIGUfZQoaAVoBmggaPRoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZSMA2lkNZRhaBNdlGgVXZRoF12UaBldlIwFcmVmaWSUjAphdHRyaWJ1dGVzlHVoHGhtaB1OaB9OaCBo8XViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggaO51YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGNoHU5oH05oIGindWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGheaB1OaB9OaCBoi3ViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggaGB1YmhkKYGUfZQoaAVoBmgHXZQoaGkpgZR9lChoBWgGaAddlGhuKYGUfZQoaAVoBmgHXZRoP4wOTW9kdWxlIERldGFpbHOUhZSBlH2UKGgFaAZoIGoiAQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UjANpZDaUYWgTXZRoFV2UaBddlGgZXZSMBXJlZmlklIwObW9kdWxlLWRldGFpbHOUdWgcaG1oHU5oH05oIGofAQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBqHAEAAHViaF8pgZR9lChoBWgGaAddlChoZCmBlH2UKGgFaAZoB12UaGkpgZR9lChoBWgGaAddlGhuKYGUfZQoaAVoBmgHXZRoP4wRU1RBQ0tfREVQVEhfTElNSVSUhZSBlH2UKGgFaAZoIGpBAQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UjANpZDeUYWgTXZRoFV2UaBddlGgZXZSMBXJlZmlklIwRc3RhY2stZGVwdGgtbGltaXSUdWgcaG1oHU5oH05oIGo+AQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBqOwEAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggajgBAAB1YmhkKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFaAZoB12UaG4pgZR9lChoBWgGaAddlGg/jA1NQVhfQ09ERV9TSVpFlIWUgZR9lChoBWgGaCBqYwEAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlIwDaWQ4lGFoE12UaBVdlGgXXZRoGV2UjAVyZWZpZJSMDW1heC1jb2RlLXNpemWUdWgcaG1oHU5oH05oIGpgAQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBqXQEAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggajgBAAB1YmhkKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFaAZoB12UaG4pgZR9lChoBWgGaAddlGg/jBFNZXNzYWdlQ2FsbE91dHB1dJSFlIGUfZQoaAVoBmggaoUBAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZSMA2lkOZRhaBNdlGgVXZRoF12UaBldlIwFcmVmaWSUjBFtZXNzYWdlY2FsbG91dHB1dJR1aBxobWgdTmgfTmggaoIBAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHU5oH05oIGp/AQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhjaB1OaB9OaCBqOAEAAHViaGQpgZR9lChoBWgGaAddlGhpKYGUfZQoaAVoBmgHXZRobimBlH2UKGgFaAZoB12UaD+MFHByb2Nlc3NfbWVzc2FnZV9jYWxslIWUgZR9lChoBWgGaCBqpwEAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlIwEaWQxMJRhaBNdlGgVXZRoF12UaBldlIwFcmVmaWSUjBRwcm9jZXNzLW1lc3NhZ2UtY2FsbJR1aBxobWgdTmgfTmggaqQBAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHU5oH05oIGqhAQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhjaB1OaB9OaCBqOAEAAHViaGQpgZR9lChoBWgGaAddlGhpKYGUfZQoaAVoBmgHXZRobimBlH2UKGgFaAZoB12UaD+MFnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUhZSBlH2UKGgFaAZoIGrJAQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UjARpZDExlGFoE12UaBVdlGgXXZRoGV2UjAVyZWZpZJSMFnByb2Nlc3MtY3JlYXRlLW1lc3NhZ2WUdWgcaG1oHU5oH05oIGrGAQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBqwwEAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggajgBAAB1YmhkKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFaAZoB12UaG4pgZR9lChoBWgGaAddlGg/jA9wcm9jZXNzX21lc3NhZ2WUhZSBlH2UKGgFaAZoIGrrAQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UjARpZDEylGFoE12UaBVdlGgXXZRoGV2UjAVyZWZpZJSMD3Byb2Nlc3MtbWVzc2FnZZR1aBxobWgdTmgfTmggaugBAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHU5oH05oIGrlAQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhjaB1OaB9OaCBqOAEAAHViaGQpgZR9lChoBWgGaAddlGhpKYGUfZQoaAVoBmgHXZRobimBlH2UKGgFaAZoB12UaD+MDGV4ZWN1dGVfY29kZZSFlIGUfZQoaAVoBmggag0CAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZSMBGlkMTOUYWgTXZRoFV2UaBddlGgZXZSMBXJlZmlklIwMZXhlY3V0ZS1jb2RllHVoHGhtaB1OaB9OaCBqCgIAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggagcCAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGNoHU5oH05oIGo4AQAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGheaB1OaB9OaCBqHAEAAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggaGB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaF5oHU5oH05oIGhNdWJlaA59lChoEF2UjBF0YWJsZS1vZi1jb250ZW50c5RhaBNdlCiMCGNvbnRlbnRzlIwFbG9jYWyUZWgVXZSMEXRhYmxlIG9mIGNvbnRlbnRzlGFoF12UaBldlHVoHGhLaB1oHmgfSwhoIGg1aCFoA3ViaDQpgZR9lChoBWgGaAddlChoOSmBlH2UKGgFjAxJbnRyb2R1Y3Rpb26UaAddlGg/jAxJbnRyb2R1Y3Rpb26UhZSBlH2UKGgFaAZoIGpIAgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGg4aB1oHmgfSwtoIGpFAgAAdWJoaSmBlH2UKGgFjDVBIHN0cmFpZ2h0Zm9yd2FyZCBpbnRlcnByZXRlciB0aGF0IGV4ZWN1dGVzIEVWTSBjb2RlLpRoB12UaD+MNUEgc3RyYWlnaHRmb3J3YXJkIGludGVycHJldGVyIHRoYXQgZXhlY3V0ZXMgRVZNIGNvZGUulIWUgZR9lChoBWgGaCBqVgIAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdaB5oH0sNaCBqRQIAAHViaACMB2NvbW1lbnSUk5QpgZR9lChoBWgGaAddlGgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZSMCHByZXNlcnZllHVoHGpkAgAAaB1OaB9OaCBqRQIAAHViZWgOfZQoaBBdlGh+YWgTXZRoFV2UjAxpbnRyb2R1Y3Rpb26UYWgXXZRoGV2UdWgcaDNoHWgeaB9LC2ggaDVoIWgDdWJoNCmBlH2UKGgFaAZoB12UKGg5KYGUfZQoaAWMD01vZHVsZSBDb250ZW50c5RoB12UaD+MD01vZHVsZSBDb250ZW50c5SFlIGUfZQoaAVoBmggansCAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9LE2ggangCAAB1Ymg0KYGUfZQoaAVoBmgHXZQoaDkpgZR9lChoBYwHQ2xhc3Nlc5RoB12UaD+MB0NsYXNzZXOUhZSBlH2UKGgFaAZoIGqMAgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGg4aB1oHmgfSxZoIGqJAgAAdWJoIowQdGFidWxhcl9jb2xfc3BlY5STlCmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwEc3BlY5SMEFxYezF9ezJ9XFh7MX17Mn2UdWgcapoCAABoHYx/L2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9jb25zdGFudGlub3BsZS92bS9pbnRlcnByZXRlci9pbmRleC5yc3Q6Mjk6PGF1dG9zdW1tYXJ5PpRoH05oIGqJAgAAdWKMFnNwaGlueC5leHQuYXV0b3N1bW1hcnmUjBFhdXRvc3VtbWFyeV90YWJsZZSTlCmBlH2UKGgFjDoKCgoKTWVzc2FnZUNhbGxPdXRwdXQKCk91dHB1dCBvZiBhIHBhcnRpY3VsYXIgbWVzc2FnZSBjYWxslGgHXZRoAIwFdGFibGWUk5QpgZR9lChoBWgGaAddlGgAjAZ0Z3JvdXCUk5QpgZR9lChoBWgGaAddlChoAIwHY29sc3BlY5STlCmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwIY29sd2lkdGiUSwp1aBxquQIAAGgdTmgfTmggarYCAAB1Ymq6AgAAKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhjb2x3aWR0aJRLWnVoHGq5AgAAaB1OaB9OaCBqtgIAAHViaACMBXRib2R5lJOUKYGUfZQoaAVoBmgHXZRoAIwDcm93lJOUKYGUfZQoaAVoBmgHXZQoaACMBWVudHJ5lJOUKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjFQ6b2JqOmBNZXNzYWdlQ2FsbE91dHB1dCA8ZXRoZXJldW0uY29uc3RhbnRpbm9wbGUudm0uaW50ZXJwcmV0ZXIuTWVzc2FnZUNhbGxPdXRwdXQ+YFyUaAddlChobimBlH2UKGgFaAZoB12UaACMB2xpdGVyYWyUk5QpgZR9lChoBYxTOm9iajpgTWVzc2FnZUNhbGxPdXRwdXQgPGV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnZtLmludGVycHJldGVyLk1lc3NhZ2VDYWxsT3V0cHV0PmCUaAddlGg/jBFNZXNzYWdlQ2FsbE91dHB1dJSFlIGUfZQoaAVoBmggaucCAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UKIwEeHJlZpSMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxq5QIAAGgdTmgfTmggauICAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMOGV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnZtLmludGVycHJldGVyLk1lc3NhZ2VDYWxsT3V0cHV0lIwIcmVmdGl0bGWUjDhldGhlcmV1bS5jb25zdGFudGlub3BsZS52bS5pbnRlcnByZXRlci5NZXNzYWdlQ2FsbE91dHB1dJR1aBxobWgdTmgfTmggat4CAAB1Ymg/aAaFlIGUfZQoaAVoBmggat4CAABoIWgDaB1oRGgfSwB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHYx/L2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9jb25zdGFudGlub3BsZS92bS9pbnRlcnByZXRlci9pbmRleC5yc3Q6Mjk6PGF1dG9zdW1tYXJ5PpRoH0sBaCBq2wIAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxq2QIAAGgdTmgfTmggatYCAAB1YmraAgAAKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjCNPdXRwdXQgb2YgYSBwYXJ0aWN1bGFyIG1lc3NhZ2UgY2FsbJRoB12UaD+MI091dHB1dCBvZiBhIHBhcnRpY3VsYXIgbWVzc2FnZSBjYWxslIWUgZR9lChoBWgGaCBqFgMAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdaqcCAABoH0sBaCBqEwMAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxq2QIAAGgdTmgfTmggatYCAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcatQCAABoHU5oH05oIGrRAgAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGrPAgAAaB1OaB9OaCBqtgIAAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBGNvbHOUSwJ1aBxqtAIAAGgdTmgfTmggarECAAB1YmFoDn2UKGgQXZRoE12UjAlsb25ndGFibGWUYWgVXZRoF12UaBldlHVoHGqvAgAAaB1OaB9OaCBqqwIAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqcAIAAHVoHGqpAgAAaB1qpwIAAGgfTmggaokCAAB1YmVoDn2UKGgQXZRov2FoE12UaBVdlIwHY2xhc3Nlc5RhaBddlGgZXZR1aBxoM2gdaB5oH0sWaCBqeAIAAHViaDQpgZR9lChoBWgGaAddlChoOSmBlH2UKGgFjAlGdW5jdGlvbnOUaAddlGg/jAlGdW5jdGlvbnOUhZSBlH2UKGgFaAZoIGpVAwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGg4aB1oHmgfSx9oIGpSAwAAdWJqmwIAACmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwEc3BlY5RqpgIAAHVoHGqaAgAAaB2Mfy9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vY29uc3RhbnRpbm9wbGUvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQyOjxhdXRvc3VtbWFyeT6UaB9OaCBqUgMAAHViaqoCAAApgZR9lChoBVgSAQAACgoKCnByb2Nlc3NfbWVzc2FnZV9jYWxsCgpJZiBtZXNzYWdlLmN1cnJlbnQgaXMgZW1wdHkgdGhlbiBpdCBjcmVhdGVzIGEgc21hcnQgY29udHJhY3QKCnByb2Nlc3NfY3JlYXRlX21lc3NhZ2UKCkV4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC4KCnByb2Nlc3NfbWVzc2FnZQoKRXhlY3V0ZXMgYSBjYWxsIHRvIGNyZWF0ZSBhIHNtYXJ0IGNvbnRyYWN0LgoKZXhlY3V0ZV9jb2RlCgpFeGVjdXRlcyBieXRlY29kZSBwcmVzZW50IGluIHRoZSBtZXNzYWdlLpRoB12UarACAAApgZR9lChoBWgGaAddlGq1AgAAKYGUfZQoaAVoBmgHXZQoaroCAAApgZR9lChoBWgGaAddlGgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCGNvbHdpZHRolEsKdWgcarkCAABoHU5oH05oIGp1AwAAdWJqugIAACmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwIY29sd2lkdGiUS1p1aBxquQIAAGgdTmgfTmgganUDAAB1YmrQAgAAKYGUfZQoaAVoBmgHXZQoatUCAAApgZR9lChoBWgGaAddlChq2gIAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYxZOm9iajpgcHJvY2Vzc19tZXNzYWdlX2NhbGwgPGV0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnZtLmludGVycHJldGVyLnByb2Nlc3NfbWVzc2FnZV9jYWxsPmCUaAddlGhuKYGUfZQoaAVoBmgHXZRq5gIAACmBlH2UKGgFapcDAABoB12UaD+MFHByb2Nlc3NfbWVzc2FnZV9jYWxslIWUgZR9lChoBWgGaCBqnAMAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoavICAACMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxq5QIAAGgdTmgfTmggapkDAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMO2V0aGVyZXVtLmNvbnN0YW50aW5vcGxlLnZtLmludGVycHJldGVyLnByb2Nlc3NfbWVzc2FnZV9jYWxslIwIcmVmdGl0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ICBsb2dzOiBUdXBsZVtMb2csIC4uLl0gPSAoKQogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZSA9IHNldCgpCiAgICAgICAgdG91Y2hlZF9hY2NvdW50cyA9IHNldCgpCiAgICAgICAgcmVmdW5kX2NvdW50ZXIgPSBVMjU2KDApCiAgICBlbHNlOgogICAgICAgIGxvZ3MgPSBldm0ubG9ncwogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZSA9IGV2bS5hY2NvdW50c190b19kZWxldGUKICAgICAgICB0b3VjaGVkX2FjY291bnRzID0gZXZtLnRvdWNoZWRfYWNjb3VudHMKICAgICAgICByZWZ1bmRfY291bnRlciA9IGV2bS5yZWZ1bmRfY291bnRlciArIFJFRlVORF9TRUxGX0RFU1RSVUNUICogbGVuKAogICAgICAgICAgICBldm0uYWNjb3VudHNfdG9fZGVsZXRlCiAgICAgICAgKQoKICAgIHJldHVybiBNZXNzYWdlQ2FsbE91dHB1dCgKICAgICAgICBnYXNfbGVmdD1ldm0uZ2FzX2xlZnQsCiAgICAgICAgcmVmdW5kX2NvdW50ZXI9cmVmdW5kX2NvdW50ZXIsCiAgICAgICAgbG9ncz1sb2dzLAogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZT1hY2NvdW50c190b19kZWxldGUsCiAgICAgICAgdG91Y2hlZF9hY2NvdW50cz10b3VjaGVkX2FjY291bnRzLAogICAgICAgIGhhc19lcnJlZD1ldm0uaGFzX2VycmVkLAogICAgKQqUaAddlChoP1i3AwAAZGVmIHByb2Nlc3NfbWVzc2FnZV9jYWxsKAogICAgbWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudAopIC0+IE1lc3NhZ2VDYWxsT3V0cHV0OgogICAgaWYgbWVzc2FnZS50YXJnZXQgPT0gQnl0ZXMwKGIiIik6CiAgICAgICAgaXNfY29sbGlzaW9uID0gYWNjb3VudF9oYXNfY29kZV9vcl9ub25jZSgKICAgICAgICAgICAgZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0CiAgICAgICAgKQogICAgICAgIGlmIGlzX2NvbGxpc2lvbjoKICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VDYWxsT3V0cHV0KAogICAgICAgICAgICAgICAgVTI1NigwKSwgVTI1NigwKSwgdHVwbGUoKSwgc2V0KCksIHNldCgpLCBUcnVlCiAgICAgICAgICAgICkKICAgICAgICBlbHNlOgogICAgICAgICAgICBldm0gPSBwcm9jZXNzX2NyZWF0ZV9tZXNzYWdlKG1lc3NhZ2UsIGVudikKICAgIGVsc2U6CiAgICAgICAgZXZtID0gcHJvY2Vzc19tZXNzYWdlKG1lc3NhZ2UsIGVudikKICAgICAgICBpZiBhY2NvdW50X2V4aXN0c19hbmRfaXNfZW1wdHkoZW52LnN0YXRlLCBBZGRyZXNzKG1lc3NhZ2UudGFyZ2V0KSk6CiAgICAgICAgICAgIGV2bS50b3VjaGVkX2FjY291bnRzLmFkZChBZGRyZXNzKG1lc3NhZ2UudGFyZ2V0KSkKCiAgICBpZiBldm0uaGFzX2VycmVkOgogICAgICAgIGxvZ3M6IFR1cGxlW0xvZywgLi4uXSA9ICgpCiAgICAgICAgYWNjb3VudHNfdG9fZGVsZXRlID0gc2V0KCkKICAgICAgICB0b3VjaGVkX2FjY291bnRzID0gc2V0KCkKICAgICAgICByZWZ1bmRfY291bnRlciA9IFUyNTYoMCkKICAgIGVsc2U6CiAgICAgICAgbG9ncyA9IGV2bS5sb2dzCiAgICAgICAgYWNjb3VudHNfdG9fZGVsZXRlID0gZXZtLmFjY291bnRzX3RvX2RlbGV0ZQogICAgICAgIHRvdWNoZWRfYWNjb3VudHMgPSBldm0udG91Y2hlZF9hY2NvdW50cwogICAgICAgIHJlZnVuZF9jb3VudGVyID0glIWUgZR9lChoBWgGaCBq0QwAAGghaANoHWhEaB9LAHVianAJAAApgZR9lChoBWgGaAddlGg/jBJldm0ucmVmdW5kX2NvdW50ZXKUhZSBlH2UKGgFaAZoIGrZDAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlIwPY2hhbmdlLXJlcGxhY2VklGFoFV2UaBddlGgZXZR1aBxqbwkAAGggatEMAABoIWgDaB1oRGgfSwB1YmpwCQAAKYGUfZQoaAVoBmgHXZRoP4wYVTI1Nihldm0ucmVmdW5kX2NvdW50ZXIplIWUgZR9lChoBWgGaCBq5wwAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZSMEmNoYW5nZS1yZXBsYWNlbWVudJRhaBVdlGgXXZRoGV2UdWgcam8JAABoIGrRDAAAaCFoA2gdaERoH0sAdWJoP1hFAQAAICsgUkVGVU5EX1NFTEZfREVTVFJVQ1QgKiBsZW4oCiAgICAgICAgICAgIGV2bS5hY2NvdW50c190b19kZWxldGUKICAgICAgICApCgogICAgcmV0dXJuIE1lc3NhZ2VDYWxsT3V0cHV0KAogICAgICAgIGdhc19sZWZ0PWV2bS5nYXNfbGVmdCwKICAgICAgICByZWZ1bmRfY291bnRlcj1yZWZ1bmRfY291bnRlciwKICAgICAgICBsb2dzPWxvZ3MsCiAgICAgICAgYWNjb3VudHNfdG9fZGVsZXRlPWFjY291bnRzX3RvX2RlbGV0ZSwKICAgICAgICB0b3VjaGVkX2FjY291bnRzPXRvdWNoZWRfYWNjb3VudHMsCiAgICAgICAgaGFzX2VycmVkPWV2bS5oYXNfZXJyZWQsCiAgICApCpSFlIGUfZQoaAVoBmggatEMAABoIWgDaB1oRGgfSwB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjF8vaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9jb25zdGFudGlub3BsZS92bS9pbnRlcnByZXRlci5weZSMCXhtbDpzcGFjZZRqcAIAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGqvBgAASwFzjAdsaW5lbm9zlIl1aBxqlwYAAGgdaB5oH0ukaCBq+goAAGghaAN1YmVoDn2UKGgQXZRqtgEAAGFoE12UaBVdlIwUcHJvY2Vzc19tZXNzYWdlX2NhbGyUYWgXXZRoGV2UdWgcaDNoHWgeaB9LkmggaiIGAABoIWgDdWJoNCmBlH2UKGgFaAZoB12UKGg5KYGUfZQoaAWMFnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUaAddlGg/jBZwcm9jZXNzX2NyZWF0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ZXNzYWdlLCBlbnYpCiAgICBpZiBub3QgZXZtLmhhc19lcnJlZDoKICAgICAgICBjb250cmFjdF9jb2RlID0gZXZtLm91dHB1dAogICAgICAgIGNvbnRyYWN0X2NvZGVfZ2FzID0gbGVuKGNvbnRyYWN0X2NvZGUpICogR0FTX0NPREVfREVQT1NJVAogICAgICAgIHRyeToKICAgICAgICAgICAgY2hhcmdlX2dhcyhldm0sIGNvbnRyYWN0X2NvZGVfZ2FzKQogICAgICAgICAgICBlbnN1cmUobGVuKGNvbnRyYWN0X2NvZGUpIDw9IE1BWF9DT0RFX1NJWkUsIE91dE9mR2FzRXJyb3IpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbmFsSGFsdDoKICAgICAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgICAgICAgICBldm0uZ2FzX2xlZnQgPSBVMjU2KDApCiAgICAgICAgICAgIGV2bS5vdXRwdXQgPSBiIiIKICAgICAgICAgICAgZXZtLmhhc19lcnJlZCA9IFRydWUKICAgICAgICBlbHNlOgogICAgICAgICAgICBzZXRfY29kZShlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQsIGNvbnRyYWN0X2NvZGUpCiAgICAgICAgICAgIGNvbW1pdF90cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICBlbHNlOgogICAgICAgIHJvbGxiYWNrX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgIHJldHVybiBldm0KlGgHXZRoP1h1BAAAZGVmIHByb2Nlc3NfY3JlYXRlX21lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudCkgLT4gRXZtOgogICAgIyB0YWtlIHNuYXBzaG90IG9mIHN0YXRlIGJlZm9yZSBwcm9jZXNzaW5nIHRoZSBtZXNzYWdlCiAgICBiZWdpbl90cmFuc2FjdGlvbihlbnYuc3RhdGUpCgogICAgIyBJdCdzIGV4cGVjdGVkIHRoYXQgdGhlIGNyZWF0aW9uIG9wZXJhdGlvbiB3b3JrcyBvbiBlbXB0eSBzdG9yYWdlLiBIZW5jZQogICAgIyB3ZSBkZWxldGUgdGhlIHN0b3JhZ2UgYW5kIHJlc3RvcmUgdGhlIGFjY291bnQncyBzdGF0ZSBpZiB0aGVyZSBpcyBhbgogICAgIyBlcnJvciBpbiB0aGUgaW5pdGlhbGl6YXRpb24gY29kZSBleGVjdXRpb24uCiAgICBkZXN0cm95X3N0b3JhZ2UoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0KQoKICAgIGluY3JlbWVudF9ub25jZShlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQpCiAgICBldm0gPSBwcm9jZXNzX21lc3NhZ2UobWVzc2FnZSwgZW52KQogICAgaWYgbm90IGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgY29udHJhY3RfY29kZSA9IGV2bS5vdXRwdXQKICAgICAgICBjb250cmFjdF9jb2RlX2dhcyA9IGxlbihjb250cmFjdF9jb2RlKSAqIEdBU19DT0RFX0RFUE9TSVQKICAgICAgICB0cnk6CiAgICAgICAgICAgIGNoYXJnZV9nYXMoZXZtLCBjb250cmFjdF9jb2RlX2dhcykKICAgICAgICAgICAgZW5zdXJlKGxlbihjb250cmFjdF9jb2RlKSA8PSBNQVhfQ09ERV9TSVpFLCBPdXRPZkdhc0Vycm9yKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb25hbEhhbHQ6CiAgICAgICAgICAgIHJvbGxiYWNrX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgICAgICAgICAgZXZtLmdhc19sZWZ0ID0gVTI1NigwKQogICAgICAgICAgICBldm0ub3V0cHV0ID0gYiIiCiAgICAgICAgICAgIGV2bS5oYXNfZXJyZWQgPSBUcnVlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2V0X2NvZGUoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0LCBjb250cmFjdF9jb2RlKQogICAgICAgICAgICBjb21taXRfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgZWxzZToKICAgICAgICByb2xsYmFja190cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICByZXR1cm4gZXZtCpSFlIGUfZQoaAVo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dGhMaW1pdEVycm9yKCJTdGFjayBkZXB0aCBsaW1pdCByZWFjaGVkIikKCiAgICAjIHRha2Ugc25hcHNob3Qgb2Ygc3RhdGUgYmVmb3JlIHByb2Nlc3NpbmcgdGhlIG1lc3NhZ2UKICAgIGJlZ2luX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKCiAgICB0b3VjaF9hY2NvdW50KGVudi5zdGF0ZSwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCkKCiAgICBpZiBtZXNzYWdlLnNob3VsZF90cmFuc2Zlcl92YWx1ZSBhbmQgbWVzc2FnZS52YWx1ZSAhPSAwOgogICAgICAgIG1vdmVfZXRoZXIoCiAgICAgICAgICAgIGVudi5zdGF0ZSwgbWVzc2FnZS5jYWxsZXIsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQsIG1lc3NhZ2UudmFsdWUKICAgICAgICApCgogICAgZXZtID0gZXhlY3V0ZV9jb2RlKG1lc3NhZ2UsIGVudikKICAgIGlmIGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgIyByZXZlcnQgc3RhdGUgdG8gdGhlIGxhc3Qgc2F2ZWQgY2hlY2twb2ludAogICAgICAgICMgc2luY2UgdGhlIG1lc3NhZ2UgY2FsbCByZXN1bHRlZCBpbiBhbiBlcnJvcgogICAgICAgIHJvbGxiYWNrX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgIGVsc2U6CiAgICAgICAgY29tbWl0X3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgIHJldHVybiBldm0KlGgHXZRoP1jzAgAAZGVmIHByb2Nlc3NfbWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICBpZiBtZXNzYWdlLmRlcHRoID4gU1RBQ0tfREVQVEhfTElNSVQ6CiAgICAgICAgcmFpc2UgU3RhY2tEZXB0aExpbWl0RXJyb3IoIlN0YWNrIGRlcHRoIGxpbWl0IHJlYWNoZWQiKQoKICAgICMgdGFrZSBzbmFwc2hvdCBvZiBzdGF0ZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGUgbWVzc2FnZQogICAgYmVnaW5fdHJhbnNhY3Rpb24oZW52LnN0YXRlKQoKICAgIHRvdWNoX2FjY291bnQoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0KQoKICAgIGlmIG1lc3NhZ2Uuc2hvdWxkX3RyYW5zZmVyX3ZhbHVlIGFuZCBtZXNzYWdlLnZhbHVlICE9IDA6CiAgICAgICAgbW92ZV9ldGhlcigKICAgICAgICAgICAgZW52LnN0YXRlLCBtZXNzYWdlLmNhbGxlciwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCwgbWVzc2FnZS52YWx1ZQogICAgICAgICkKCiAgICBldm0gPSBleGVjdXRlX2NvZGUobWVzc2FnZSwgZW52KQogICAgaWYgZXZtLmhhc19lcnJlZDoKICAgICAgICAjIHJldmVydCBzdGF0ZSB0byB0aGUgbGFzdCBzYXZlZCBjaGVja3BvaW50CiAgICAgICAgIyBzaW5jZSB0aGUgbWVzc2FnZSBjYWxsIHJlc3VsdGVkIGluIGFuIGVycm9yCiAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgZWxzZToKICAgICAgICBjb21taXRfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgcmV0dXJuIGV2bQqUhZSBlH2UKGgFaAZoIGptEAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllIxfL2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9zcmMvZXRoZXJldW0vY29uc3RhbnRpbm9wbGUvdm0vaW50ZXJwcmV0ZXIucHmUjAl4bWw6c3BhY2WUanACAACMBWZvcmNllImMCGxhbmd1YWdllIwGcHl0aG9ulIwOaGlnaGxpZ2h0X2FyZ3OUfZRqrwYAAEsBc4wHbGluZW5vc5SJdWgcapcGAABoHWgeaB9L0Gggas0OAAB1YmVoDn2UKGgQXZRq+gEAAGFoE12UaBVdlIwPcHJvY2Vzc19tZXNzYWdllGFoF12UaBldlHVoHGgzaB1oHmgfS79oIGoiBgAAaCFoA3ViaDQpgZR9lChoBWgGaAddlChoOSmBlH2UKGgFjAxleGVjdXRlX2NvZGWUaAddlGg/jAxleGVj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IiwKICAgICAgICBlcnJvcj1Ob25lLAogICAgKQogICAgdHJ5OgoKICAgICAgICBpZiBldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3MgaW4gUFJFX0NPTVBJTEVEX0NPTlRSQUNUUzoKICAgICAgICAgICAgZXZtX3RyYWNlKGV2bSwgZXZtLm1lc3NhZ2UuY29kZV9hZGRyZXNzKQogICAgICAgICAgICBQUkVfQ09NUElMRURfQ09OVFJBQ1RTW2V2bS5tZXNzYWdlLmNvZGVfYWRkcmVzc10oZXZtKQogICAgICAgICAgICByZXR1cm4gZXZtCgogICAgICAgIHdoaWxlIGV2bS5ydW5uaW5nIGFuZCBldm0ucGMgPCBsZW4oZXZtLmNvZGUpOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBvcCA9IE9wcyhldm0uY29kZVtldm0ucGNdKQogICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgIHJhaXNlIEludmFsaWRPcGNvZGUoZXZtLmNvZGVbZXZtLnBjXSkKCiAgICAgICAgICAgIGV2bV90cmFjZShldm0sIG9wKQogICAgICAgICAgICBvcF9pbXBsZW1lbnRhdGlvbltvcF0oZXZtKQoKICAgIGV4Y2VwdCBFeGNlcHRpb25hbEhhbHQ6CiAgICAgICAgZXZtLmdhc19sZWZ0ID0gVTI1NigwKQogICAgICAgIGV2bS5vdXRwdXQgPSBiIiIKICAgICAgICBldm0uaGFzX2VycmVkID0gVHJ1ZQogICAgZXhjZXB0IFJldmVydCBhcyBlOgogICAgICAgIGV2bS5lcnJvciA9IGUKICAgICAgICBldm0uaGFzX2VycmVkID0gVHJ1ZQogICAgcmV0dXJuIGV2bQqUaAddlChoP1h6AQAAZGVmIGV4ZWN1dGVfY29kZShtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICBjb2RlID0gbWVzc2FnZS5jb2RlCiAgICB2YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucyA9IGdldF92YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucyhjb2RlKQogICAgZXZtID0gRXZtKAogICAg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aCFoA3ViZWgOfZQoaBBdlGoxAQAAYWgTXZRoFV2UjA5tb2R1bGUgZGV0YWlsc5RhaBddlGgZXZR1aBxoM2gdaB5oH0s1aCBoNWghaAN1YmVoDn2UKGgQXZSMKGV0aGVyZXVtLXZpcnR1YWwtbWFjaGluZS1ldm0taW50ZXJwcmV0ZXKUYWgTXZRoFV2UjCpldGhlcmV1bSB2aXJ0dWFsIG1hY2hpbmUgKGV2bSkgaW50ZXJwcmV0ZXKUYWgXXZRoGV2UdWgcaDNoHWgeaB9LBGggaANoIWgDdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllGhEdWgcaAGMDmN1cnJlbnRfc291cmNllGhEjAxjdXJyZW50X2xpbmWUSwCMCHNldHRpbmdzlIwRZG9jdXRpbHMuZnJvbnRlbmSUjAZWYWx1ZXOUk5QpgZR9lCiMDHJlcG9ydF9sZXZlbJRLAowKaGFsdF9sZXZlbJRLBIwRZXhpdF9zdGF0dXNfbGV2ZWyUSwWMBWRlYnVnlE6MDndhcm5pbmdfc3RyZWFtlE6MCXRyYWNlYmFja5ROjA9vdXRwdXRfZW5jb2RpbmeUjAV1dGYtOJSMHW91dHB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVylIwReG1sY2hhcnJlZnJlcGxhY2WUjA5lcnJvcl9lbmNvZGluZ5SMBXV0Zi04lIwcZXJyb3JfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMEGJhY2tzbGFzaHJlcGxhY2WUjBNyZWNvcmRfZGVwZW5kZW5jaWVzlIwOZG9jdXRpbHMudXRpbHOUjA5EZXBlbmRlbmN5TGlzdJSTlCmBlH2UKIwEbGlzdJRdlIwEZmlsZZROdWKMBmNvbmZpZ5ROjA1kdW1wX3NldHRpbmdzlE6MDmR1bXBfaW50ZXJuYWxzlE6MD2R1bXBfdHJhbnNmb3Jtc5ROjA9kdW1wX3BzZXVkb194bWyUTowQZXhwb3NlX2ludGVybmFsc5ROjA5zdHJpY3RfdmlzaXRvcpROjA9fZGlzYWJsZV9jb25maWeUTowHX3NvdXJjZZROjAxfZGVzdGluYXRpb26UjD9kb2MvZGlmZnMvY29uc3RhbnRpbm9wbGVfaXN0YW5idWwvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucGlja2xlNjSUjA1fY29uZmlnX2ZpbGVzlF2UjBFsaW5lX2xlbmd0aF9saW1pdJRNECeMCXRhYl93aWR0aJRLCIwQc3ludGF4X2hpZ2hsaWdodJSMBGxvbmeUjAxzbWFydF9xdW90ZXOUiYwTc21hcnRxdW90ZXNfbG9jYWxlc5ROjB1jaGFyYWN0ZXJfbGV2ZWxfaW5saW5lX21hcmt1cJSJjAZ3cml0ZXKUjAN4bWyUjBljb21wYXJlX3NlY3Rpb25zX2J5X25hbWVzlEsBjAxkdW1wX3JzdGRpZmaUTowFX2JvdGiUfZQoaDhOjAlnZW5lcmF0b3KUTowJZGF0ZXN0YW1wlE6MC3NvdXJjZV9saW5rlE6MCnNvdXJjZV91cmyUTowNdG9jX2JhY2tsaW5rc5Rq2QIAAIwSZm9vdG5vdGVfYmFja2xpbmtzlEsBjA1zZWN0bnVtX3hmb3JtlEsBjA5kb2N0aXRsZV94Zm9ybZRLAYwNZG9jaW5mb194Zm9ybZRLAYwSc2VjdHN1YnRpdGxlX3hmb3JtlEsAjA5zdHJpcF9jb21tZW50c5ROjA5pbnB1dF9lbmNvZGluZ5ROjBxpbnB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVylIwGc3RyaWN0lIwNbGFuZ3VhZ2VfY29kZZSMAmVulIwOcGVwX3JlZmVyZW5jZXOUTowMcGVwX2Jhc2VfdXJslIwfaHR0cDovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL5SMFXBlcF9maWxlX3VybF90ZW1wbGF0ZZSMCHBlcC0lMDRklIwOcmZjX3JlZmVyZW5jZXOUTowMcmZjX2Jhc2VfdXJslIwbaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvlIwddHJpbV9mb290bm90ZV9yZWZlcmVuY2Vfc3BhY2WUTowWZmlsZV9pbnNlcnRpb25fZW5hYmxlZJRLAYwLcmF3X2VuYWJsZWSUSwGMDmF1dG9faWRfcHJlZml4lIwCaWSUjAlpZF9wcmVmaXiUaAaMG3N0cmlwX2VsZW1lbnRzX3dpdGhfY2xhc3Nlc5ROjA1zdHJpcF9jbGFzc2VzlE51jARib3RolH2UjApfb3B0aW9uc1RvlIwFX2JvdGiUjAtfb2xkX3NvdXJjZZSMTy9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS+UjAtfbmV3X3NvdXJjZZSMCWRvYy9kaWZmc5RqyBIAAGrJEgAAjBZpZ25vcmVfaW5fc2VjdGlvbl9uYW1llF2UKIwOY29uc3RhbnRpbm9wbGWUjAhpc3RhbmJ1bJRldWKMCHJlcG9ydGVylE6MEGluZGlyZWN0X3RhcmdldHOUXZSMEXN1YnN0aXR1dGlvbl9kZWZzlH2UjBJzdWJzdGl0dXRpb25fbmFtZXOUfZSMCHJlZm5hbWVzlH2UjAZyZWZpZHOUfZSMB25hbWVpZHOUfZSMCW5hbWV0eXBlc5R9lGgQfZSMDWZvb3Rub3RlX3JlZnOUfZSMDWNpdGF0aW9uX3JlZnOUfZSMDWF1dG9mb290bm90ZXOUXZSMEWF1dG9mb290bm90ZV9yZWZzlF2UjBBzeW1ib2xfZm9vdG5vdGVzlF2UjBRzeW1ib2xfZm9vdG5vdGVfcmVmc5RdlIwJZm9vdG5vdGVzlF2UjAljaXRhdGlvbnOUXZSMEmF1dG9mb290bm90ZV9zdGFydJRLAYwVc3ltYm9sX2Zvb3Rub3RlX3N0YXJ0lEsAjAppZF9jb3VudGVylIwLY29sbGVjdGlvbnOUjAdDb3VudGVylJOUfZSFlFKUjA5wYXJzZV9tZXNzYWdlc5RdlIwSdHJhbnNmb3JtX21lc3NhZ2VzlF2UjAt0cmFuc2Zvcm1lcpROjAtpbmNsdWRlX2xvZ5RdlIwKZGVjb3JhdGlvbpROaCFoA3ViLg==